\" when Rows[i][j]'s cell links to another\nPitchBook profile, \"\" otherwise.",
"items": {
- "$ref": "#/definitions/fanduel.CasinoGame"
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
"type": "array"
},
- "limit": {
- "type": "integer"
- },
- "lobby": {
- "type": "string"
- },
- "offset": {
- "type": "integer"
- },
- "providers": {
+ "rows": {
"items": {
- "$ref": "#/definitions/fanduel.CasinoCount"
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
"type": "array"
},
- "region": {
- "type": "string"
- },
"total": {
"type": "integer"
}
},
"type": "object"
},
- "fanduel.CasinoCount": {
+ "es.PlaystationGameDatasetFacetItem": {
"properties": {
"count": {
"type": "integer"
@@ -71432,7537 +74919,9120 @@
},
"type": "object"
},
- "fanduel.CasinoGame": {
+ "es.PlaystationGameRecord": {
"properties": {
- "badge": {
- "type": "string"
+ "addon_count": {
+ "description": "Number of add-ons the game has on the PlayStation Store.",
+ "type": "integer"
},
- "game_url": {
- "type": "string"
+ "base_price_value": {
+ "description": "List price before any discount, in minor units of `currency` (for example cents).",
+ "type": "integer"
},
- "name": {
+ "classification": {
+ "description": "Classification is the storeDisplayClassification (FULL_GAME, PREMIUM_EDITION,\nGAME_BUNDLE, ADD_ON_PACK, VIRTUAL_CURRENCY, LEVEL, OTHER, ...).",
"type": "string"
},
- "position": {
- "type": "integer"
+ "coming_soon": {
+ "description": "Whether the product is not yet purchasable and is listed as coming soon.",
+ "type": "boolean"
},
- "provider": {
+ "concept_id": {
+ "description": "PlayStation Store id shared by all editions and add-ons of the same title.",
"type": "string"
},
- "site_wide_jackpot": {
- "type": "boolean"
+ "content_descriptors": {
+ "description": "Content notices shown with the rating, for example `Blood` or `In-Game Purchases`.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "slug": {
+ "content_rating_authority": {
+ "description": "Organization that issued the age rating, for example `ESRB`.",
"type": "string"
- }
- },
- "type": "object"
- },
- "fanduel.CasinoGameResponse": {
- "properties": {
- "badge": {
+ },
+ "content_rating_desc": {
+ "description": "Description text of the age rating.",
"type": "string"
},
- "bet_range": {
+ "content_rating_name": {
+ "description": "Name of the age rating.",
"type": "string"
},
- "category": {
+ "crawled_at": {
+ "description": "Time the product's data was fetched, in UTC (RFC 3339).",
+ "type": "string"
+ },
+ "currency": {
+ "description": "ISO currency code that the prices are in.",
"type": "string"
},
"description": {
+ "description": "Product description from the PlayStation Store.",
"type": "string"
},
- "features": {
+ "discount_end_time": {
+ "description": "Time the current discount ends, as the PlayStation Store reports it.",
+ "type": "string"
+ },
+ "discount_pct": {
+ "description": "Discount off the list price, as a percentage from 0 to 100.",
+ "type": "integer"
+ },
+ "discount_text": {
+ "description": "Discount label shown on the PlayStation Store.",
+ "type": "string"
+ },
+ "discounted_value": {
+ "description": "Current price after any discount, in minor units of `currency` (for example cents).",
+ "type": "integer"
+ },
+ "edition_count": {
+ "description": "Number of editions the title has on the PlayStation Store.",
+ "type": "integer"
+ },
+ "genres": {
+ "description": "List of genres the PlayStation Store shows for the title.",
"items": {
"type": "string"
},
"type": "array"
},
- "fetched_at": {
+ "header_image": {
+ "description": "URL of the header image shown on the store page.",
"type": "string"
},
- "game_id": {
- "type": "string"
+ "is_addon": {
+ "description": "Whether the product is an add-on such as DLC or in-game currency, rather than a game or edition.",
+ "type": "boolean"
},
- "max_bet": {
- "type": "number"
+ "is_free": {
+ "description": "Whether the product is free.",
+ "type": "boolean"
},
- "min_bet": {
- "type": "number"
+ "is_tied_to_subscription": {
+ "description": "Whether the product is included with a subscription such as PlayStation Plus.",
+ "type": "boolean"
},
"name": {
+ "description": "Product name as shown on the PlayStation Store.",
"type": "string"
},
- "players_now": {
- "type": "integer"
+ "np_title_id": {
+ "description": "PlayStation title id shared by all SKUs of the same title.",
+ "type": "string"
},
- "provider_name": {
+ "platforms": {
+ "description": "Consoles the product runs on, for example `PS4` or `PS5`.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "price_tier": {
+ "description": "Price band of the current price: `free`, `under_5`, `5_to_10`, `10_to_20`, `20_to_40`, `40_to_60` or `60_plus`.",
"type": "string"
},
- "provider_ref": {
+ "product_id": {
+ "description": "PlayStation Store product id of this edition or add-on.",
"type": "string"
},
- "region": {
+ "publisher": {
+ "description": "Name of the book's publisher.",
"type": "string"
},
- "slug": {
+ "quality_checked_at": {
+ "description": "Time the record was last repaired, in UTC (RFC 3339). Present only for repaired records.",
"type": "string"
},
- "studio": {
+ "quality_reason": {
+ "description": "Outcome of the last completeness check on the record.",
"type": "string"
},
- "summary_tag": {
+ "quality_state": {
+ "description": "Quality* records the terminal/backfill state without changing the last\nknown crawl snapshot. It is populated only for the targeted repair flow.",
"type": "string"
},
- "themes": {
+ "region": {
+ "description": "Region is the store country code the record was crawled from (selects currency).",
+ "type": "string"
+ },
+ "release_date": {
+ "description": "Release date as the PlayStation Store reports it.",
+ "type": "string"
+ },
+ "release_year": {
+ "description": "Year the title was released.",
+ "type": "integer"
+ },
+ "run_id": {
+ "description": "Identifier of the collection run that produced this record. Accepted as a `run_id` filter.",
+ "type": "string"
+ },
+ "schema_version": {
+ "description": "Version of the record layout.",
+ "type": "integer"
+ },
+ "seed_rank": {
+ "description": "Discovery priority of the title; lower values mean it was found earlier.",
+ "type": "integer"
+ },
+ "service_branding": {
+ "description": "Subscription service labels shown on the product.",
"items": {
"type": "string"
},
"type": "array"
},
- "trend": {
+ "source_url": {
+ "description": "URL the data was read from.",
"type": "string"
},
- "url": {
- "type": "string"
+ "star_rating_avg": {
+ "description": "Average user star rating of the title.",
+ "type": "number"
},
- "volatility": {
- "type": "string"
+ "star_rating_count": {
+ "description": "Number of user ratings behind the star rating.",
+ "type": "integer"
}
},
"type": "object"
},
- "fanduel.QuickPicksDailyEpisode": {
+ "es.PostSound": {
"properties": {
- "duration_seconds": {
- "type": "number"
- },
- "id": {
+ "author": {
+ "description": "Name of the account or artist credited for the sound.",
"type": "string"
},
- "image_url": {
+ "music_id": {
+ "description": "TikTok identifier of the sound.",
"type": "string"
},
- "in_rss_playlist": {
+ "original": {
+ "description": "Original marks TikTok-generated original audio. Titles cannot be used for this:\nTikTok localizes the label (`sonido original`, `оригинальный звук`, …), so a\ntitle match silently reclassifies original audio as a named track.",
"type": "boolean"
},
- "published_at": {
- "type": "string"
- },
- "summary": {
- "type": "string"
- },
"title": {
+ "description": "Title of the sound as TikTok shows it.",
"type": "string"
},
- "url": {
- "type": "string"
+ "uses": {
+ "description": "Number of the creator's sampled recent posts that used this sound.",
+ "type": "integer"
}
},
"type": "object"
},
- "fanduel.QuickPicksDailyResponse": {
+ "es.PostStatsAgg": {
"properties": {
- "episodes": {
- "items": {
- "$ref": "#/definitions/fanduel.QuickPicksDailyEpisode"
- },
- "type": "array"
- },
- "fetched_at": {
+ "analyzed_at": {
+ "description": "Time these post statistics were calculated, in UTC (RFC 3339).",
"type": "string"
},
- "next_cursor": {
- "type": "string"
+ "avg_comments": {
+ "description": "Average comment count per sampled post.",
+ "type": "integer"
},
- "page": {
+ "avg_likes": {
+ "description": "Average like count per sampled post.",
"type": "integer"
},
- "page_size": {
+ "avg_saves": {
+ "description": "Average save (bookmark) count per sampled post.",
"type": "integer"
},
- "podcast": {
- "type": "string"
+ "avg_shares": {
+ "description": "Average share count per sampled post.",
+ "type": "integer"
},
- "publisher": {
+ "avg_video_duration_sec": {
+ "description": "Average video length of sampled posts, in seconds.",
+ "type": "number"
+ },
+ "avg_views": {
+ "description": "Average view count per sampled post.",
+ "type": "integer"
+ },
+ "best_post_id": {
+ "description": "TikTok identifier of the most viewed sampled post.",
"type": "string"
},
- "show_url": {
+ "best_post_views": {
+ "description": "View count of the most viewed sampled post.",
+ "type": "integer"
+ },
+ "distinct_sounds": {
+ "description": "DistinctSounds is how many different sounds the sampled posts used. TopSounds\nkeeps only the five most-used, so without this a consumer cannot tell a\ncreator who reuses one sound across the sample from one who used a different\nsound every time — both surface five rows.",
+ "type": "integer"
+ },
+ "engagement_rate_by_follower": {
+ "description": "Average over sampled posts of likes, comments and shares divided by the creator's follower count, as a fraction.",
+ "type": "number"
+ },
+ "engagement_rate_by_view": {
+ "description": "Likes, comments, shares and saves divided by views across sampled posts, as a fraction (0.05 means 5%).",
+ "type": "number"
+ },
+ "first_post_at": {
+ "description": "Time of the oldest sampled post, in UTC (RFC 3339).",
"type": "string"
},
- "source_url": {
+ "last_post_at": {
+ "description": "Time of the most recent sampled post, in UTC (RFC 3339).",
"type": "string"
},
- "total_count": {
+ "median_likes": {
+ "description": "Median like count across sampled posts.",
"type": "integer"
- }
- },
- "type": "object"
- },
- "fanduel.RacingAveragePace": {
- "properties": {
- "early": {
- "type": "number"
},
- "finish": {
+ "median_views": {
+ "description": "Median view count across sampled posts.",
+ "type": "integer"
+ },
+ "original_sound_ratio": {
+ "description": "Share of sampled posts that use the creator's own original sound, as a fraction from 0 to 1.",
"type": "number"
},
- "middle": {
+ "posts_per_week": {
+ "description": "Average number of posts per week between the oldest and newest sampled post.",
"type": "number"
},
- "races": {
+ "sampled_posts": {
+ "description": "Number of the creator's recent posts included in these figures.",
"type": "integer"
+ },
+ "top_hashtags": {
+ "description": "Most used hashtags across sampled posts, lowercase and without the leading `#`, most used first.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "top_sounds": {
+ "description": "Most used sounds across sampled posts, most used first.",
+ "items": {
+ "$ref": "#/definitions/es.PostSound"
+ },
+ "type": "array"
+ },
+ "views_to_follower_ratio": {
+ "description": "Average views per sampled post divided by the creator's follower count.",
+ "type": "number"
}
},
"type": "object"
},
- "fanduel.RacingCarryoverPool": {
+ "es.ProductHuntLaunch": {
"properties": {
- "amount": {
- "type": "number"
+ "daily_rank": {
+ "description": "Rank on the Product Hunt daily leaderboard for the launch day.",
+ "type": "integer"
},
- "mtp": {
+ "date": {
+ "description": "Launch date, in YYYY-MM-DD format.",
+ "type": "string"
+ },
+ "launch_day_score": {
+ "description": "Score the launch had on its launch day.",
"type": "integer"
},
- "pool_type": {
+ "launch_number": {
+ "description": "Sequence number of this launch among the product's Product Hunt launches.",
+ "type": "integer"
+ },
+ "monthly_rank": {
+ "description": "Rank on the Product Hunt monthly leaderboard.",
+ "type": "integer"
+ },
+ "post_id": {
+ "description": "Product Hunt identifier of the launch post.",
"type": "string"
},
- "post_time": {
+ "post_slug": {
+ "description": "URL slug of the launch post on Product Hunt.",
"type": "string"
},
- "race_number": {
+ "score": {
+ "description": "Upvote count of the launch post.",
"type": "integer"
},
- "race_status": {
- "$ref": "#/definitions/fanduel.RacingCodeName"
+ "weekly_rank": {
+ "description": "Rank on the Product Hunt weekly leaderboard.",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "es.ProductHuntMaker": {
+ "properties": {
+ "avatar_url": {
+ "description": "URL of the maker's profile picture.",
+ "type": "string"
},
- "track_code": {
+ "headline": {
+ "description": "Short headline from the maker's Product Hunt profile.",
"type": "string"
},
- "track_name": {
+ "maker_id": {
+ "description": "Product Hunt identifier of the maker.",
"type": "string"
},
- "wager_type": {
- "$ref": "#/definitions/fanduel.RacingCodeName"
+ "name": {
+ "description": "Maker's display name.",
+ "type": "string"
+ },
+ "username": {
+ "description": "Maker's Product Hunt username. Use it with the maker item endpoint.",
+ "type": "string"
}
},
"type": "object"
},
- "fanduel.RacingCarryoverResponse": {
+ "es.ProductHuntMakerItem": {
"properties": {
- "fetched_at": {
+ "avatar_url": {
+ "description": "URL of the maker's profile picture.",
"type": "string"
},
- "limit": {
- "type": "integer"
+ "best_product": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/es.ProductHuntMakerProduct"
+ }
+ ],
+ "description": "The maker's product with the highest upvote count."
},
- "page": {
+ "first_launch_date": {
+ "description": "Date of the maker's earliest product launch, in YYYY-MM-DD format.",
+ "type": "string"
+ },
+ "followers_count": {
+ "description": "Number of Product Hunt users following the maker.",
"type": "integer"
},
- "pools": {
+ "headline": {
+ "description": "Short headline from the maker's Product Hunt profile.",
+ "type": "string"
+ },
+ "latest_launch_date": {
+ "description": "Date of the maker's most recent product launch, in YYYY-MM-DD format.",
+ "type": "string"
+ },
+ "made_products": {
+ "description": "Products the maker is credited with on Product Hunt.",
"items": {
- "$ref": "#/definitions/fanduel.RacingCarryoverPool"
+ "$ref": "#/definitions/es.ProductHuntMakerProduct"
},
"type": "array"
},
- "total": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "fanduel.RacingCodeName": {
- "properties": {
- "code": {
+ "maker_id": {
+ "description": "Product Hunt identifier of the maker.",
"type": "string"
},
"name": {
+ "description": "Maker's display name.",
+ "type": "string"
+ },
+ "product_count": {
+ "description": "Number of products the maker is credited with.",
+ "type": "integer"
+ },
+ "topics": {
+ "description": "Slugs of the topics the maker's products are filed under.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "total_votes": {
+ "description": "Total upvotes across the maker's products.",
+ "type": "integer"
+ },
+ "username": {
+ "description": "Maker's Product Hunt username. Use it with the maker item endpoint.",
"type": "string"
}
},
"type": "object"
},
- "fanduel.RacingCombo": {
+ "es.ProductHuntMakerProduct": {
"properties": {
- "payout": {
+ "latest_score": {
+ "description": "Current upvote count of the product.",
+ "type": "integer"
+ },
+ "name": {
+ "description": "Product name as shown on Product Hunt.",
"type": "string"
},
- "runner1": {
+ "product_id": {
+ "description": "Product Hunt identifier of the product.",
"type": "string"
},
- "runner2": {
+ "slug": {
+ "description": "URL slug of the product on Product Hunt.",
"type": "string"
}
},
"type": "object"
},
- "fanduel.RacingCount": {
+ "es.ProductHuntMakersFacetItem": {
"properties": {
- "code": {
- "type": "string"
- },
"count": {
"type": "integer"
},
- "name": {
+ "value": {
"type": "string"
}
},
"type": "object"
},
- "fanduel.RacingEntry": {
+ "es.ProductHuntProductItem": {
"properties": {
- "current_odds": {
- "$ref": "#/definitions/fanduel.RacingOdds"
+ "best_daily_rank": {
+ "description": "Best position the product reached on a Product Hunt daily leaderboard.",
+ "type": "integer"
},
- "favorite": {
- "type": "boolean"
+ "best_monthly_rank": {
+ "description": "Best position the product reached on a Product Hunt monthly leaderboard.",
+ "type": "integer"
},
- "morning_line": {
- "$ref": "#/definitions/fanduel.RacingOdds"
+ "best_weekly_rank": {
+ "description": "Best position the product reached on a Product Hunt weekly leaderboard.",
+ "type": "integer"
},
- "number": {
+ "comments_count": {
+ "description": "Number of comments on the product's Product Hunt page.",
"type": "integer"
},
- "number_color": {
+ "description": {
+ "description": "Product description as the maker wrote it on Product Hunt.",
"type": "string"
},
- "pool_grids": {
- "description": "include=pool_grids",
- "items": {
- "$ref": "#/definitions/fanduel.RacingPoolGrid"
- },
- "type": "array"
+ "first_launch_date": {
+ "description": "Date of the product's earliest launch, in YYYY-MM-DD format.",
+ "type": "string"
},
- "recent_odds": {
- "items": {
- "$ref": "#/definitions/fanduel.RacingRecentOdd"
- },
- "type": "array"
+ "followers_count": {
+ "description": "Number of Product Hunt users following the product.",
+ "type": "integer"
},
- "runners": {
- "items": {
- "$ref": "#/definitions/fanduel.RacingRunner"
- },
- "type": "array"
+ "is_no_longer_online": {
+ "description": "Whether Product Hunt marks the product as no longer online.",
+ "type": "boolean"
},
- "saddle_color": {
+ "is_top_product": {
+ "description": "Whether Product Hunt flags the product as a top product.",
+ "type": "boolean"
+ },
+ "latest_launch_date": {
+ "description": "Date of the product's most recent launch, in YYYY-MM-DD format.",
"type": "string"
- }
- },
- "type": "object"
- },
- "fanduel.RacingFavoriteRank": {
- "properties": {
- "current_odds": {
- "type": "integer"
},
- "high_speed": {
+ "latest_score": {
+ "description": "Current upvote count of the product.",
"type": "integer"
},
- "morning_line": {
+ "launch_count": {
+ "description": "Number of times the product has launched on Product Hunt.",
"type": "integer"
},
- "power_rating": {
+ "launch_year": {
+ "description": "Year of the product's first launch.",
"type": "integer"
- }
- },
- "type": "object"
- },
- "fanduel.RacingFiltersResponse": {
- "properties": {
- "classes": {
+ },
+ "launches": {
+ "description": "Each launch of the product on Product Hunt, with its date, ranks and score.",
"items": {
- "$ref": "#/definitions/fanduel.RacingCount"
+ "$ref": "#/definitions/es.ProductHuntLaunch"
},
"type": "array"
},
- "countries": {
+ "logo_uuid": {
+ "description": "Identifier of the product logo image on Product Hunt.",
+ "type": "string"
+ },
+ "makers": {
+ "description": "People credited as makers of the product.",
"items": {
- "$ref": "#/definitions/fanduel.RacingCount"
+ "$ref": "#/definitions/es.ProductHuntMaker"
},
"type": "array"
},
- "fetched_at": {
+ "name": {
+ "description": "Product name as shown on Product Hunt.",
"type": "string"
},
- "race_count": {
+ "pricing_type": {
+ "description": "Pricing model of the product, such as `free`, `paid` or `freemium`.",
+ "type": "string"
+ },
+ "primary_topic": {
+ "description": "Slug of the product's main topic.",
+ "type": "string"
+ },
+ "product_id": {
+ "description": "Product Hunt identifier of the product.",
+ "type": "string"
+ },
+ "product_state": {
+ "description": "Lifecycle state of the product as Product Hunt reports it.",
+ "type": "string"
+ },
+ "reviews_count": {
+ "description": "Number of reviews the product has on Product Hunt.",
"type": "integer"
},
- "race_date": {
+ "reviews_rating": {
+ "description": "Average review rating out of 5.",
+ "type": "number"
+ },
+ "slug": {
+ "description": "URL slug of the product on Product Hunt. Use it with the product item endpoint.",
"type": "string"
},
- "race_sorts": {
+ "tagline": {
+ "description": "One-line tagline of the product.",
+ "type": "string"
+ },
+ "topic_slugs": {
+ "description": "Slugs of all topics the product is filed under.",
"items": {
"type": "string"
},
"type": "array"
},
- "race_types": {
+ "topics": {
+ "description": "Topics the product is filed under.",
"items": {
- "$ref": "#/definitions/fanduel.RacingCount"
+ "$ref": "#/definitions/es.ProductHuntTopic"
},
"type": "array"
},
- "statuses": {
- "items": {
- "$ref": "#/definitions/fanduel.RacingCount"
- },
- "type": "array"
+ "twitter_url": {
+ "description": "URL of the product's X (Twitter) profile.",
+ "type": "string"
},
- "surfaces": {
- "items": {
- "$ref": "#/definitions/fanduel.RacingCount"
- },
- "type": "array"
+ "url": {
+ "description": "URL of the product's page on Product Hunt.",
+ "type": "string"
},
- "track_count": {
- "type": "integer"
+ "website": {
+ "description": "URL of the product's own website.",
+ "type": "string"
},
- "track_sorts": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "won_daily": {
+ "description": "Whether the product ranked first on a Product Hunt daily leaderboard.",
+ "type": "boolean"
}
},
"type": "object"
},
- "fanduel.RacingFinisher": {
+ "es.ProductHuntProductsFacetItem": {
"properties": {
- "entry": {
- "description": "Set only with include=timeform.",
+ "count": {
+ "description": "Number of products in this bucket.",
"type": "integer"
},
- "finish_status": {
+ "value": {
+ "description": "Bucket value, such as a topic slug, a four-digit launch year, a pricing type or a product state.",
"type": "string"
- },
- "number": {
+ }
+ },
+ "type": "object"
+ },
+ "es.ProductHuntTopic": {
+ "properties": {
+ "id": {
+ "description": "Product Hunt identifier of the topic.",
"type": "string"
},
- "place_payoff": {
- "type": "number"
- },
- "position": {
- "type": "integer"
- },
- "runner": {
+ "name": {
+ "description": "Topic name as Product Hunt shows it.",
"type": "string"
},
- "show_payoff": {
- "type": "number"
- },
- "silk_url": {
+ "slug": {
+ "description": "URL slug of the topic on Product Hunt.",
"type": "string"
- },
- "timeform": {
- "$ref": "#/definitions/fanduel.RacingFinisherTimeform"
- },
- "win_payoff": {
- "type": "number"
}
},
"type": "object"
},
- "fanduel.RacingFinisherTimeform": {
+ "es.ProductHuntTrendCell": {
"properties": {
- "beaten_lengths": {
+ "avg_rating": {
+ "description": "Average review rating out of 5 across the cell's launches. Omitted when too few launches have ratings.",
"type": "number"
},
- "beaten_text": {
- "type": "string"
+ "avg_votes": {
+ "description": "Average upvotes per launched product in the cell.",
+ "type": "number"
},
- "post_race_report": {
- "type": "string"
+ "launches": {
+ "description": "Number of product launches in the cell.",
+ "type": "integer"
},
- "starting_price": {
- "type": "number"
+ "period": {
+ "description": "\"2024-01\" | \"2024\" | \"\" for all-time",
+ "type": "string"
},
- "total_beaten_lengths": {
- "type": "number"
+ "top_product": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/es.ProductHuntTrendTopProduct"
+ }
+ ],
+ "description": "Product with the most upvotes in the cell."
},
- "total_beaten_text": {
+ "topic": {
+ "description": "Slug of the Product Hunt topic the cell covers.",
"type": "string"
+ },
+ "total_votes": {
+ "description": "Total upvotes across the launches in the cell.",
+ "type": "integer"
}
},
"type": "object"
},
- "fanduel.RacingFreePick": {
+ "es.ProductHuntTrendTopProduct": {
"properties": {
- "info": {
+ "name": {
+ "description": "Product name as shown on Product Hunt.",
"type": "string"
},
- "number": {
+ "slug": {
+ "description": "URL slug of the product on Product Hunt.",
+ "type": "string"
+ },
+ "votes": {
+ "description": "Upvote count of the product.",
"type": "integer"
}
},
"type": "object"
},
- "fanduel.RacingHandicapping": {
+ "es.ProductHuntTrendsFacetItem": {
"properties": {
- "average_pace": {
- "$ref": "#/definitions/fanduel.RacingAveragePace"
- },
- "free_pick": {
- "$ref": "#/definitions/fanduel.RacingFreePick"
- },
- "jockey_trainer": {
- "$ref": "#/definitions/fanduel.RacingJockeyTrainer"
- },
- "past_results": {
- "$ref": "#/definitions/fanduel.RacingPastResults"
- },
- "snapshot": {
- "$ref": "#/definitions/fanduel.RacingSnapshot"
+ "count": {
+ "description": "Number of products in this bucket.",
+ "type": "integer"
},
- "speed_and_class": {
- "$ref": "#/definitions/fanduel.RacingSpeedAndClass"
+ "value": {
+ "description": "Bucket value, either a topic slug or a four-digit launch year.",
+ "type": "string"
}
},
"type": "object"
},
- "fanduel.RacingHorseRace": {
+ "es.RedditTrendingEntry": {
"properties": {
- "claiming_price": {
- "type": "number"
- },
- "date": {
+ "author": {
"type": "string"
},
- "description": {
+ "crawled_at": {
"type": "string"
},
- "distance": {
- "$ref": "#/definitions/fanduel.RacingPastDistance"
+ "created_utc": {
+ "type": "integer"
},
- "id": {
+ "domain": {
"type": "string"
},
- "number": {
+ "permalink": {
"type": "string"
},
- "post_time": {
+ "post_id": {
"type": "string"
},
- "purse": {
- "type": "number"
- },
- "race_class": {
- "$ref": "#/definitions/fanduel.RacingCodeName"
- },
- "race_type": {
- "$ref": "#/definitions/fanduel.RacingCodeName"
- },
- "result": {
- "$ref": "#/definitions/fanduel.RacingFinisher"
+ "post_uid": {
+ "type": "string"
},
- "runner_count": {
+ "rank": {
"type": "integer"
},
- "surface": {
- "$ref": "#/definitions/fanduel.RacingCodeName"
- },
- "track_code": {
+ "snapshot_date": {
"type": "string"
},
- "track_condition": {
+ "subreddit": {
"type": "string"
},
- "track_name": {
+ "title": {
"type": "string"
},
- "winning_time": {
- "type": "number"
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "fanduel.RacingHorseResponse": {
+ "es.ScamTrackerReport": {
"properties": {
- "fetched_at": {
+ "business_name": {
"type": "string"
},
- "id": {
+ "country": {
"type": "string"
},
- "limit": {
- "type": "integer"
- },
- "page": {
- "type": "integer"
+ "crawled_at": {
+ "type": "string"
},
- "races": {
- "items": {
- "$ref": "#/definitions/fanduel.RacingHorseRace"
- },
- "type": "array"
+ "date_reported": {
+ "type": "string"
},
- "starts": {
- "type": "integer"
+ "description": {
+ "type": "string"
},
- "top3": {
- "type": "integer"
+ "discovery_source": {
+ "type": "string"
},
- "total": {
- "type": "integer"
+ "dollars_lost": {
+ "type": "string"
},
- "win_percentage": {
+ "loss_amount": {
"type": "number"
},
- "wins": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "fanduel.RacingJockeyTrainer": {
- "properties": {
- "jockey_entity_id": {
- "type": "integer"
- },
- "jockey_name": {
+ "report_id": {
"type": "string"
},
- "places": {
- "type": "integer"
- },
- "shows": {
- "type": "integer"
- },
- "starts": {
- "type": "integer"
+ "reported_at": {
+ "type": "string"
},
- "trainer_entity_id": {
- "type": "integer"
+ "scam_type": {
+ "type": "string"
},
- "trainer_name": {
+ "scammer_email": {
"type": "string"
},
- "wins": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "fanduel.RacingLastEvent": {
- "properties": {
- "date": {
+ "scammer_location": {
"type": "string"
},
- "race": {
- "type": "integer"
+ "scammer_phone": {
+ "type": "string"
},
- "track": {
+ "scammer_url": {
"type": "string"
- }
- },
- "type": "object"
- },
- "fanduel.RacingLegResult": {
- "properties": {
- "leg": {
- "type": "integer"
},
- "winning_entry": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "fanduel.RacingNextRace": {
- "properties": {
- "mtp": {
+ "schema_version": {
"type": "integer"
},
- "number": {
+ "source_url": {
"type": "string"
},
- "post_time": {
+ "state": {
"type": "string"
},
- "status": {
- "$ref": "#/definitions/fanduel.RacingCodeName"
+ "targeted_location": {
+ "type": "string"
}
},
"type": "object"
},
- "fanduel.RacingOdds": {
+ "es.ScamTrackerReportsFacetItem": {
"properties": {
- "decimal": {
- "type": "number"
+ "count": {
+ "type": "integer"
},
- "fractional": {
+ "value": {
"type": "string"
}
},
"type": "object"
},
- "fanduel.RacingPastDistance": {
+ "es.SecCompanyFacetItem": {
"properties": {
- "code": {
- "type": "string"
- },
- "unit": {
- "type": "string"
+ "count": {
+ "type": "integer"
},
"value": {
- "type": "number"
+ "type": "string"
}
},
"type": "object"
},
- "fanduel.RacingPastEntry": {
+ "es.SecCompanyRecord": {
"properties": {
- "favorite": {
- "type": "boolean"
- },
- "final_odds": {
- "$ref": "#/definitions/fanduel.RacingOdds"
+ "cik": {
+ "description": "SEC Central Index Key of the company. Use it with the company item endpoint.",
+ "type": "integer"
},
- "morning_line": {
- "$ref": "#/definitions/fanduel.RacingOdds"
+ "cik_padded": {
+ "description": "CIK zero-padded to 10 digits, usually with a `CIK` prefix, such as `CIK0000320193`.",
+ "type": "string"
},
- "number": {
- "type": "integer"
+ "crawled_at": {
+ "description": "Time the company record was last collected, in UTC (RFC 3339).",
+ "type": "string"
},
- "number_color": {
+ "entity_type": {
+ "description": "Entity type EDGAR reports for the filer, such as `operating`.",
"type": "string"
},
- "runners": {
+ "exchange": {
+ "description": "Stock exchanges the company is listed on, as EDGAR reports them, such as `Nasdaq` or `NYSE`.",
"items": {
- "$ref": "#/definitions/fanduel.RacingPastRunner"
+ "type": "string"
},
"type": "array"
},
- "saddle_color": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "fanduel.RacingPastRaceResponse": {
- "properties": {
- "claiming_price": {
- "type": "number"
+ "filing_count": {
+ "description": "Number of filings the company has on EDGAR.",
+ "type": "integer"
},
- "date": {
+ "financials_synced_at": {
+ "description": "Time the financial figures were last updated, in UTC (RFC 3339).",
"type": "string"
},
- "description": {
+ "fiscal_year_end": {
+ "description": "Last day of the company's fiscal year as month and day (MMDD), for example `0928`.",
"type": "string"
},
- "distance": {
- "$ref": "#/definitions/fanduel.RacingPastDistance"
+ "former_names": {
+ "description": "Names the company filed under previously.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "entries": {
+ "forms_filed": {
+ "description": "Distinct SEC form types the company has filed.",
"items": {
- "$ref": "#/definitions/fanduel.RacingPastEntry"
+ "type": "string"
},
"type": "array"
},
- "fetched_at": {
+ "insider_last_transaction_at": {
+ "description": "Date of the most recent insider transaction in the last 90 days.",
"type": "string"
},
- "has_replay": {
- "type": "boolean"
- },
- "id": {
- "type": "string"
+ "insider_net_shares_90d": {
+ "description": "Shares insiders acquired minus shares they disposed of over the last 90 days. Negative when more were sold.",
+ "type": "number"
},
- "number": {
- "type": "string"
+ "insider_txn_count_90d": {
+ "description": "Number of insider transactions reported over the last 90 days.",
+ "type": "integer"
},
- "post_time": {
- "type": "string"
+ "latest_annual_fiscal_year": {
+ "description": "Fiscal year of the latest annual financial figures.",
+ "type": "integer"
},
- "purse": {
+ "latest_annual_net_income": {
+ "description": "Net income for the latest fiscal year, in the filer's reporting currency.",
"type": "number"
},
- "race_class": {
- "$ref": "#/definitions/fanduel.RacingCodeName"
+ "latest_annual_net_income_usd": {
+ "description": "Net income for the latest fiscal year, converted to US dollars at a fixed reference rate.",
+ "type": "number"
},
- "race_type": {
- "$ref": "#/definitions/fanduel.RacingCodeName"
+ "latest_annual_revenue": {
+ "description": "Revenue for the latest fiscal year, in the filer's reporting currency.",
+ "type": "number"
},
- "results": {
- "$ref": "#/definitions/fanduel.RacingResults"
+ "latest_annual_revenue_usd": {
+ "description": "Revenue for the latest fiscal year, converted to US dollars at a fixed reference rate.",
+ "type": "number"
},
- "runner_count": {
- "type": "integer"
+ "latest_annual_total_assets": {
+ "description": "Total assets at the end of the latest fiscal year, in the filer's reporting currency.",
+ "type": "number"
},
- "surface": {
- "$ref": "#/definitions/fanduel.RacingCodeName"
+ "latest_annual_total_assets_usd": {
+ "description": "Total assets at the end of the latest fiscal year, converted to US dollars at a fixed reference rate.",
+ "type": "number"
},
- "track_code": {
+ "latest_filing_date": {
+ "description": "Date of the company's most recent filing, in YYYY-MM-DD format.",
"type": "string"
},
- "track_condition": {
- "type": "string"
+ "latest_quarterly_fiscal_year": {
+ "description": "Fiscal year of the latest quarterly financial figures.",
+ "type": "integer"
},
- "track_name": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "fanduel.RacingPastRaceSummary": {
- "properties": {
- "claiming_price": {
+ "latest_quarterly_revenue": {
+ "description": "Revenue for the latest reported quarter, in the filer's reporting currency.",
"type": "number"
},
- "date": {
+ "name": {
+ "description": "Company name as registered with the SEC.",
"type": "string"
},
- "description": {
+ "primary_ticker": {
+ "description": "Main stock ticker symbol of the company.",
"type": "string"
},
- "distance": {
- "$ref": "#/definitions/fanduel.RacingPastDistance"
- },
- "id": {
- "type": "string"
+ "recent_filings": {
+ "description": "Most recent filings of the company, newest first.",
+ "items": {
+ "$ref": "#/definitions/es.SecFilingSummary"
+ },
+ "type": "array"
},
- "number": {
+ "reporting_currency": {
+ "description": "Native-currency figures are exactly as the filer reported them (see\nReportingCurrency); the *USD fields are the same values converted at fixed\nreference rates so they can be sorted, banded and range-filtered ACROSS\ncurrencies. Screen on the USD fields; display the native value + currency.",
"type": "string"
},
- "post_time": {
+ "revenue_band": {
+ "description": "Size band of the latest annual revenue in US dollars: `under_1m`, `1m_10m`, `10m_100m`, `100m_1b`, `1b_10b`, `over_10b` or `unknown`.",
"type": "string"
},
- "purse": {
- "type": "number"
- },
- "race_class": {
- "$ref": "#/definitions/fanduel.RacingCodeName"
- },
- "race_type": {
- "$ref": "#/definitions/fanduel.RacingCodeName"
- },
- "runner_count": {
+ "schema_version": {
+ "description": "Version of the record format.",
"type": "integer"
},
- "surface": {
- "$ref": "#/definitions/fanduel.RacingCodeName"
+ "seed_source": {
+ "description": "Label of the SEC company list this record was first built from.",
+ "type": "string"
},
- "track_code": {
+ "sic": {
+ "description": "Standard Industrial Classification code of the company.",
"type": "string"
},
- "track_condition": {
+ "sic_description": {
+ "description": "Plain-text description of the company's SIC code.",
"type": "string"
},
- "track_name": {
+ "state_of_incorporation": {
+ "description": "Code of the state or country where the company is incorporated.",
+ "type": "string"
+ },
+ "submissions_synced_at": {
+ "description": "Time the filing history was last updated, in UTC (RFC 3339).",
"type": "string"
+ },
+ "tickers": {
+ "description": "All stock ticker symbols of the company.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "fanduel.RacingPastRacesResponse": {
+ "es.SecFilingSummary": {
"properties": {
- "date": {
+ "accession_number": {
+ "description": "SEC accession number that uniquely identifies the filing.",
"type": "string"
},
- "fetched_at": {
+ "filing_date": {
+ "description": "Date the filing was submitted to the SEC, in YYYY-MM-DD format.",
"type": "string"
},
- "limit": {
- "type": "integer"
- },
- "page": {
- "type": "integer"
- },
- "races": {
- "items": {
- "$ref": "#/definitions/fanduel.RacingPastRaceSummary"
- },
- "type": "array"
- },
- "total": {
- "type": "integer"
+ "form": {
+ "description": "SEC form type of the filing, such as `10-K`, `10-Q` or `8-K`.",
+ "type": "string"
},
- "track": {
+ "primary_doc_url": {
+ "description": "URL of the filing's main document on SEC.gov.",
"type": "string"
}
},
"type": "object"
},
- "fanduel.RacingPastResults": {
+ "es.SecFinancialsHistoryPoint": {
"properties": {
- "first": {
+ "cik": {
+ "description": "SEC Central Index Key of the company.",
"type": "integer"
},
- "second": {
- "type": "integer"
+ "currency": {
+ "description": "Currency the figures are reported in, such as `USD`.",
+ "type": "string"
},
- "starts": {
- "type": "integer"
+ "end_date": {
+ "description": "Last day of the reporting period, in YYYY-MM-DD format.",
+ "type": "string"
},
- "third": {
+ "fiscal_period": {
+ "description": "e.g. FY, Q1..Q4",
+ "type": "string"
+ },
+ "fiscal_year": {
+ "description": "Fiscal year the period belongs to.",
"type": "integer"
},
- "top3_percentage": {
- "type": "number"
+ "form": {
+ "description": "SEC form the figures were reported in, such as `10-K`.",
+ "type": "string"
},
- "top3_percentage_ranking": {
+ "lines": {
+ "additionalProperties": {
+ "format": "float64",
+ "type": "number"
+ },
+ "description": "Financial statement line items for the period, keyed by name such as `revenue` or `net_income`.",
+ "type": "object"
+ },
+ "period": {
+ "description": "annual | quarterly",
"type": "string"
},
- "win_percentage": {
- "type": "number"
+ "ratios": {
+ "additionalProperties": {
+ "format": "float64",
+ "type": "number"
+ },
+ "description": "Ratios calculated from the line items, keyed by name such as `gross_margin` or `net_margin`.",
+ "type": "object"
},
- "win_percentage_ranking": {
+ "statement": {
+ "description": "income | balance | cash_flow",
+ "type": "string"
+ },
+ "synced_at": {
+ "description": "Time this period was last updated, in UTC (RFC 3339).",
"type": "string"
}
},
"type": "object"
},
- "fanduel.RacingPastRunner": {
+ "es.SecInsiderTransactionRecord": {
"properties": {
- "age": {
- "type": "integer"
+ "accession_number": {
+ "type": "string"
},
- "birth_year": {
+ "acquired_or_disposed": {
+ "type": "string"
+ },
+ "cik": {
"type": "integer"
},
- "dam": {
+ "code": {
"type": "string"
},
- "dam_sire": {
+ "filing_date": {
"type": "string"
},
- "entity_id": {
+ "filing_url": {
"type": "string"
},
- "jockey": {
+ "form": {
"type": "string"
},
- "medication": {
- "type": "string"
+ "is_director": {
+ "type": "boolean"
},
- "name": {
- "type": "string"
+ "is_officer": {
+ "type": "boolean"
},
- "owner": {
+ "is_ten_percent_owner": {
+ "type": "boolean"
+ },
+ "owner_name": {
"type": "string"
},
- "runner_id": {
+ "owner_title": {
"type": "string"
},
- "scratched": {
- "type": "boolean"
+ "price_per_share": {
+ "type": "number"
},
- "sex": {
+ "security_title": {
"type": "string"
},
- "sire": {
- "type": "string"
+ "shares": {
+ "type": "number"
},
- "trainer": {
+ "shares_owned_after": {
+ "type": "number"
+ },
+ "synced_at": {
"type": "string"
},
- "weight": {
- "type": "integer"
+ "transaction_date": {
+ "type": "string"
}
},
"type": "object"
},
- "fanduel.RacingPastTrack": {
+ "es.SecInstitutionalPositionRecord": {
"properties": {
- "city": {
+ "accession_number": {
+ "description": "SEC accession number of the 13F filing that reported the position.",
"type": "string"
},
- "code": {
+ "cusip": {
+ "description": "CUSIP identifier of the held security.",
"type": "string"
},
- "country": {
+ "filing_date": {
+ "description": "Date the 13F filing was submitted, in YYYY-MM-DD format.",
"type": "string"
},
- "dates": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "dates_total": {
- "type": "integer"
- },
- "name": {
+ "investment_discretion": {
+ "description": "Investment discretion the manager reports for the position, such as `SOLE`.",
"type": "string"
},
- "race_types": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "issuer_name": {
+ "description": "Name of the company that issued the held security, as the manager reported it.",
+ "type": "string"
},
- "races_on_date": {
+ "manager_cik": {
+ "description": "SEC Central Index Key of the institutional manager that filed.",
"type": "integer"
},
- "state": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "fanduel.RacingPastTracksResponse": {
- "properties": {
- "date": {
+ "manager_name": {
+ "description": "Name of the institutional manager that filed.",
"type": "string"
},
- "fetched_at": {
+ "put_call": {
+ "description": "Whether the position is a `Put` or `Call` option. Empty for other positions.",
"type": "string"
},
- "limit": {
- "type": "integer"
+ "report_date": {
+ "description": "Quarter-end date the holdings are reported as of, in YYYY-MM-DD format.",
+ "type": "string"
},
- "page": {
- "type": "integer"
+ "share_type": {
+ "description": "Unit of the `shares` figure as reported, such as `SH` for shares.",
+ "type": "string"
},
- "total": {
- "type": "integer"
+ "shares": {
+ "description": "Quantity held, in the unit given by `share_type`.",
+ "type": "number"
},
- "track": {
+ "synced_at": {
+ "description": "Time this position was last updated, in UTC (RFC 3339).",
"type": "string"
},
- "tracks": {
- "items": {
- "$ref": "#/definitions/fanduel.RacingPastTrack"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "fanduel.RacingPayoff": {
- "properties": {
- "selections": {
- "items": {
- "$ref": "#/definitions/fanduel.RacingPayoffSelection"
- },
- "type": "array"
+ "title_of_class": {
+ "description": "Class of the held security as reported, such as `COM`.",
+ "type": "string"
},
- "wager_amount": {
+ "value": {
+ "description": "Value of the position as the manager reported it in the 13F filing, in US dollars.",
"type": "number"
- },
- "wager_type": {
- "$ref": "#/definitions/fanduel.RacingCodeName"
}
},
"type": "object"
},
- "fanduel.RacingPayoffSelection": {
+ "es.SecInstitutionalPositionsFacetItem": {
"properties": {
- "payout": {
- "type": "number"
- },
- "qualifier": {
- "type": "string"
+ "count": {
+ "type": "integer"
},
- "selection": {
+ "value": {
"type": "string"
}
},
"type": "object"
},
- "fanduel.RacingPool": {
+ "es.StarbucksStoreDatasetFacetItem": {
"properties": {
- "amount": {
- "type": "number"
+ "count": {
+ "type": "integer"
},
- "wager_type": {
- "$ref": "#/definitions/fanduel.RacingCodeName"
+ "key": {
+ "type": "string"
}
},
"type": "object"
},
- "fanduel.RacingPoolCell": {
+ "es.StarbucksStoreDatasetItem": {
"properties": {
- "amount": {
- "type": "number"
- },
- "status": {
+ "address": {
"type": "string"
},
- "target": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "fanduel.RacingPoolGrid": {
- "properties": {
- "cells": {
+ "amenities": {
"items": {
- "$ref": "#/definitions/fanduel.RacingPoolCell"
+ "type": "string"
},
"type": "array"
},
- "wager_type": {
- "$ref": "#/definitions/fanduel.RacingCodeName"
- }
- },
- "type": "object"
- },
- "fanduel.RacingProbable": {
- "properties": {
- "amount": {
- "type": "number"
- },
- "combos": {
+ "amenity_names": {
"items": {
- "$ref": "#/definitions/fanduel.RacingCombo"
+ "type": "string"
},
"type": "array"
},
- "min_wager": {
- "type": "number"
- },
- "pool_amount_total": {
- "type": "number"
+ "city": {
+ "type": "string"
},
- "wager_type": {
- "$ref": "#/definitions/fanduel.RacingCodeName"
- }
- },
- "type": "object"
- },
- "fanduel.RacingRaceResponse": {
- "properties": {
- "age_restriction": {
+ "country": {
"type": "string"
},
- "analyst_verdict": {
+ "crawled_at": {
"type": "string"
},
- "claiming_price": {
+ "distance_meters": {
"type": "number"
},
- "country": {
+ "first_seen_at": {
"type": "string"
},
- "description": {
+ "id": {
"type": "string"
},
- "distance": {
+ "last_seen_at": {
"type": "string"
},
- "entries": {
- "items": {
- "$ref": "#/definitions/fanduel.RacingEntry"
- },
- "type": "array"
+ "latitude": {
+ "type": "number"
},
- "fetched_at": {
- "type": "string"
+ "location": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/es.GeoPoint"
+ }
+ ],
+ "description": "Location is a geo_point ([lon, lat] order in the GeoPoint helper)."
},
- "has_replay": {
- "type": "boolean"
+ "longitude": {
+ "type": "number"
},
- "id": {
+ "market": {
+ "description": "Market is crawl provenance (us/ca), not geography -- see the type doc.",
"type": "string"
},
- "included": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "last_updated_ms": {
- "type": "integer"
- },
- "live_streaming": {
- "type": "boolean"
- },
- "mtp": {
- "type": "integer"
+ "mobile_ordering_availability": {
+ "type": "string"
},
- "number": {
+ "name": {
"type": "string"
},
- "pools": {
- "items": {
- "$ref": "#/definitions/fanduel.RacingPool"
- },
- "type": "array"
+ "ownership_type_code": {
+ "type": "string"
},
- "post_time": {
+ "phone": {
"type": "string"
},
- "probables": {
+ "pick_up_options": {
"items": {
- "$ref": "#/definitions/fanduel.RacingProbable"
+ "type": "string"
},
"type": "array"
},
- "purse": {
- "type": "number"
- },
- "race_class": {
- "$ref": "#/definitions/fanduel.RacingCodeName"
- },
- "race_date": {
+ "postal_code": {
"type": "string"
},
- "race_type": {
- "$ref": "#/definitions/fanduel.RacingCodeName"
- },
- "results": {
- "$ref": "#/definitions/fanduel.RacingResults"
+ "run_id": {
+ "type": "string"
},
- "runner_count": {
+ "schema_version": {
"type": "integer"
},
- "status": {
- "$ref": "#/definitions/fanduel.RacingCodeName"
- },
- "surface": {
- "$ref": "#/definitions/fanduel.RacingCodeName"
- },
- "track_code": {
+ "state": {
"type": "string"
},
- "track_condition": {
+ "store_id": {
"type": "string"
},
- "track_name": {
+ "store_number": {
"type": "string"
},
- "tvg_race_id": {
- "type": "integer"
- },
- "wagerable_runner_count": {
- "type": "integer"
+ "time_zone": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "es.StarbucksStoreRecord": {
+ "properties": {
+ "address": {
+ "type": "string"
},
- "wagers": {
+ "amenities": {
"items": {
- "$ref": "#/definitions/fanduel.RacingWager"
+ "type": "string"
},
"type": "array"
},
- "will_pays": {
+ "amenity_names": {
"items": {
- "$ref": "#/definitions/fanduel.RacingWillPay"
+ "type": "string"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "fanduel.RacingRaceSummary": {
- "properties": {
+ },
+ "city": {
+ "type": "string"
+ },
"country": {
"type": "string"
},
- "distance": {
+ "crawled_at": {
+ "type": "string"
+ },
+ "first_seen_at": {
"type": "string"
},
"id": {
"type": "string"
},
- "live_streaming": {
- "type": "boolean"
+ "last_seen_at": {
+ "type": "string"
},
- "mtp": {
- "type": "integer"
+ "latitude": {
+ "type": "number"
},
- "number": {
+ "location": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/es.GeoPoint"
+ }
+ ],
+ "description": "Location is a geo_point ([lon, lat] order in the GeoPoint helper)."
+ },
+ "longitude": {
+ "type": "number"
+ },
+ "market": {
+ "description": "Market is crawl provenance (us/ca), not geography -- see the type doc.",
"type": "string"
},
- "post_time": {
+ "mobile_ordering_availability": {
"type": "string"
},
- "purse": {
- "type": "number"
+ "name": {
+ "type": "string"
},
- "race_class": {
- "$ref": "#/definitions/fanduel.RacingCodeName"
+ "ownership_type_code": {
+ "type": "string"
},
- "race_date": {
+ "phone": {
"type": "string"
},
- "race_type": {
- "$ref": "#/definitions/fanduel.RacingCodeName"
+ "pick_up_options": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "runner_count": {
+ "postal_code": {
+ "type": "string"
+ },
+ "run_id": {
+ "type": "string"
+ },
+ "schema_version": {
"type": "integer"
},
- "status": {
- "$ref": "#/definitions/fanduel.RacingCodeName"
+ "state": {
+ "type": "string"
},
- "surface": {
- "$ref": "#/definitions/fanduel.RacingCodeName"
+ "store_id": {
+ "type": "string"
},
- "track_code": {
+ "store_number": {
"type": "string"
},
- "track_name": {
+ "time_zone": {
"type": "string"
}
},
"type": "object"
},
- "fanduel.RacingRacesResponse": {
+ "es.SteamAchievementRecord": {
"properties": {
- "fetched_at": {
- "type": "string"
- },
- "limit": {
+ "appid": {
"type": "integer"
},
- "page": {
- "type": "integer"
+ "crawled_at": {
+ "type": "string"
},
- "race_date": {
+ "name": {
"type": "string"
},
- "races": {
- "items": {
- "$ref": "#/definitions/fanduel.RacingRaceSummary"
- },
- "type": "array"
+ "percent": {
+ "type": "number"
},
- "total": {
+ "rank": {
+ "description": "0 = most-unlocked",
"type": "integer"
- }
- },
- "type": "object"
- },
- "fanduel.RacingRecentOdd": {
- "properties": {
- "odds": {
- "type": "string"
},
- "trending": {
- "type": "boolean"
+ "schema_version": {
+ "type": "integer"
}
},
"type": "object"
},
- "fanduel.RacingResultEntry": {
+ "es.SteamChartEntry": {
"properties": {
- "country": {
+ "app_id": {
"type": "string"
},
- "distance": {
+ "chart": {
"type": "string"
},
- "id": {
+ "chart_uid": {
"type": "string"
},
- "live_streaming": {
- "type": "boolean"
- },
- "mtp": {
+ "concurrent_in_game": {
"type": "integer"
},
- "number": {
+ "country": {
"type": "string"
},
- "post_time": {
+ "crawled_at": {
"type": "string"
},
- "purse": {
- "type": "number"
+ "final_price_cents": {
+ "type": "integer"
},
- "race_class": {
- "$ref": "#/definitions/fanduel.RacingCodeName"
+ "last_week_rank": {
+ "type": "integer"
},
- "race_date": {
+ "name": {
"type": "string"
},
- "race_type": {
- "$ref": "#/definitions/fanduel.RacingCodeName"
- },
- "results": {
- "$ref": "#/definitions/fanduel.RacingResults"
- },
- "runner_count": {
+ "peak_in_game": {
"type": "integer"
},
- "status": {
- "$ref": "#/definitions/fanduel.RacingCodeName"
- },
- "surface": {
- "$ref": "#/definitions/fanduel.RacingCodeName"
+ "rank": {
+ "type": "integer"
},
- "track_code": {
+ "review_summary": {
"type": "string"
},
- "track_name": {
+ "snapshot_date": {
"type": "string"
}
},
"type": "object"
},
- "fanduel.RacingResults": {
+ "es.SteamGameDatasetFacetItem": {
"properties": {
- "finishers": {
- "items": {
- "$ref": "#/definitions/fanduel.RacingFinisher"
- },
- "type": "array"
- },
- "payoffs": {
- "items": {
- "$ref": "#/definitions/fanduel.RacingPayoff"
- },
- "type": "array"
+ "count": {
+ "type": "integer"
},
- "winning_time": {
- "type": "number"
+ "value": {
+ "type": "string"
}
},
"type": "object"
},
- "fanduel.RacingResultsResponse": {
+ "es.SteamGameRecord": {
"properties": {
- "fetched_at": {
- "type": "string"
+ "achievements_count": {
+ "description": "Number of achievements the game has on Steam.",
+ "type": "integer"
},
- "limit": {
+ "appid": {
+ "description": "Steam application ID of the game.",
"type": "integer"
},
- "page": {
+ "available": {
+ "description": "Available is false when the storefront returned no appdetails on the most recent\ncrawl (delisted, region-locked, or a fetch miss). The record is kept regardless.",
+ "type": "boolean"
+ },
+ "average_2weeks_min": {
+ "description": "Average playtime per owner over the last two weeks, in minutes.",
"type": "integer"
},
- "race_date": {
+ "average_forever_min": {
+ "description": "Average total playtime per owner, in minutes.",
+ "type": "integer"
+ },
+ "background": {
+ "description": "URL of the background image on the game's store page.",
"type": "string"
},
- "results": {
+ "categories": {
+ "description": "Store categories the game is listed under, such as `Single-player`.",
"items": {
- "$ref": "#/definitions/fanduel.RacingResultEntry"
+ "type": "string"
},
"type": "array"
},
- "total": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "fanduel.RacingRunner": {
- "properties": {
- "age": {
+ "ccu": {
+ "description": "Peak number of concurrent players on the previous day.",
"type": "integer"
},
- "dam": {
- "type": "string"
- },
- "dam_sire": {
- "type": "string"
+ "coming_soon": {
+ "description": "Whether the game is not yet released.",
+ "type": "boolean"
},
- "favorite_rank": {
- "$ref": "#/definitions/fanduel.RacingFavoriteRank"
+ "content_descriptor_ids": {
+ "description": "Steam content descriptor IDs that flag mature content on the game.",
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
},
- "form_figures": {
+ "controller_support": {
+ "description": "Level of controller support Steam lists for the game.",
"type": "string"
},
- "handicapping": {
- "$ref": "#/definitions/fanduel.RacingHandicapping"
- },
- "jockey": {
+ "crawled_at": {
+ "description": "Time the record was last collected, in UTC (RFC 3339).",
"type": "string"
},
- "jockey_changed": {
- "type": "boolean"
- },
- "medication": {
+ "developer": {
+ "description": "Main developer of the game.",
"type": "string"
},
- "name": {
- "type": "string"
+ "developers": {
+ "description": "All developers credited on the store page.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "owner": {
- "type": "string"
+ "discount_pct": {
+ "description": "Current discount as a percentage, 0 when not on sale.",
+ "type": "integer"
},
- "rating_stars": {
+ "dlc_count": {
+ "description": "Number of DLC items listed for the game.",
"type": "integer"
},
- "runner_id": {
- "type": "string"
+ "genres": {
+ "description": "Genres the game is listed under, such as `Action` or `Indie`.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "scratched": {
+ "has_owner_estimate": {
+ "description": "HasOwnerEstimate is false for the floor bucket (\"0 .. 20,000\") / no SteamSpy\nestimate — i.e. the deep tail past the owner-differentiated head. Callers must\nnot treat floor-bucket owners as a real count.",
"type": "boolean"
},
- "sex": {
- "type": "string"
- },
- "sire": {
+ "header_image": {
+ "description": "URL of the header image on the game's store page.",
"type": "string"
},
- "timeform": {
- "allOf": [
- {
- "$ref": "#/definitions/fanduel.RacingRunnerTimeform"
- }
- ],
- "description": "Set only with include=timeform and include=handicapping."
+ "initial_price_cents": {
+ "description": "Price before any discount, in cents.",
+ "type": "integer"
},
- "trainer": {
- "type": "string"
+ "is_free": {
+ "description": "Whether the game is free to play or has a price of 0.",
+ "type": "boolean"
},
- "weight": {
+ "language_count": {
+ "description": "Number of languages the game supports.",
"type": "integer"
},
- "win_probability": {
- "type": "number"
- }
- },
- "type": "object"
- },
- "fanduel.RacingRunnerTimeform": {
- "properties": {
- "analyst_comment": {
- "type": "string"
- },
- "flags": {
+ "languages": {
+ "description": "Languages the game supports.",
"items": {
"type": "string"
},
"type": "array"
},
- "free_pick": {
- "$ref": "#/definitions/fanduel.RacingFreePick"
+ "median_2weeks_min": {
+ "description": "Median playtime per owner over the last two weeks, in minutes.",
+ "type": "integer"
},
- "production_comment": {
+ "median_forever_min": {
+ "description": "Median total playtime per owner, in minutes.",
+ "type": "integer"
+ },
+ "metacritic": {
+ "description": "Metacritic score of the game, from 0 to 100.",
+ "type": "integer"
+ },
+ "movie_count": {
+ "description": "Number of trailers and videos on the store page.",
+ "type": "integer"
+ },
+ "name": {
+ "description": "Game title as shown on Steam.",
"type": "string"
},
- "tissue_price": {
- "type": "number"
- }
- },
- "type": "object"
- },
- "fanduel.RacingSearchCounts": {
- "properties": {
- "jockey": {
+ "negative": {
+ "description": "Number of negative user reviews.",
"type": "integer"
},
- "owner": {
+ "owners_bucket": {
+ "description": "Estimated range of owners as a text label, such as `1,000,000 .. 2,000,000`.",
+ "type": "string"
+ },
+ "owners_max": {
+ "description": "Upper end of the estimated owner range.",
"type": "integer"
},
- "runner": {
+ "owners_midpoint": {
+ "description": "Middle of the estimated owner range.",
"type": "integer"
},
- "trainer": {
+ "owners_min": {
+ "description": "Lower end of the estimated owner range.",
"type": "integer"
- }
- },
- "type": "object"
- },
- "fanduel.RacingSearchItem": {
- "properties": {
- "birth_year": {
+ },
+ "package_count": {
+ "description": "Number of store packages the game is sold in.",
"type": "integer"
},
- "id": {
+ "platform_linux": {
+ "description": "Whether the game supports Linux.",
+ "type": "boolean"
+ },
+ "platform_mac": {
+ "description": "Whether the game supports macOS.",
+ "type": "boolean"
+ },
+ "platform_windows": {
+ "description": "Whether the game supports Windows.",
+ "type": "boolean"
+ },
+ "positive": {
+ "description": "Number of positive user reviews.",
"type": "integer"
},
- "last_event": {
- "$ref": "#/definitions/fanduel.RacingLastEvent"
+ "price_cents": {
+ "description": "Current price, in cents.",
+ "type": "integer"
},
- "name": {
+ "price_tier": {
+ "description": "Price band: `free`, `under5`, `5to15`, `15to30`, `30to60` or `over60`.",
"type": "string"
},
- "type": {
+ "primary_tag": {
+ "description": "Most heavily weighted community tag of the game.",
"type": "string"
- }
- },
- "type": "object"
- },
- "fanduel.RacingSearchResponse": {
- "properties": {
- "counts": {
- "$ref": "#/definitions/fanduel.RacingSearchCounts"
},
- "fetched_at": {
+ "publisher": {
+ "description": "Main publisher of the game.",
"type": "string"
},
- "items": {
+ "publishers": {
+ "description": "All publishers credited on the store page.",
"items": {
- "$ref": "#/definitions/fanduel.RacingSearchItem"
+ "type": "string"
},
"type": "array"
},
- "limit": {
+ "recommendations": {
+ "description": "Number of user recommendations Steam reports for the game.",
"type": "integer"
},
- "order": {
+ "release_date": {
+ "description": "Release date in YYYY-MM-DD format. Empty when Steam gives only a year or quarter.",
"type": "string"
},
- "page": {
+ "release_year": {
+ "description": "Year the game was or will be released.",
"type": "integer"
},
- "query": {
+ "required_age": {
+ "description": "Minimum age set on the store page.",
+ "type": "integer"
+ },
+ "review_score": {
+ "description": "Share of reviews that are positive, from 0 to 1.",
+ "type": "number"
+ },
+ "review_tier": {
+ "description": "Review band such as `very_positive`, `mixed` or `insufficient`, following Steam's rating labels.",
"type": "string"
},
- "sort": {
+ "run_id": {
+ "description": "Identifier of the collection run that produced this record.",
"type": "string"
},
- "total": {
+ "schema_version": {
+ "description": "Version of the record format.",
"type": "integer"
},
- "type": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "fanduel.RacingSnapshot": {
- "properties": {
- "days_off": {
+ "screenshot_count": {
+ "description": "Number of screenshots on the store page.",
"type": "integer"
},
- "horse_starts": {
+ "seed_rank": {
+ "description": "Popularity rank when the game was collected, where 0 is the most popular. Games outside the popularity list carry values of 1,000,000 or more.",
"type": "integer"
},
- "horse_wins": {
+ "short_description": {
+ "description": "v3 richer-record fields (expanded appFilters). Descriptions/creators/media\ncounts/languages/content flags from the full storefront appdetails set.",
+ "type": "string"
+ },
+ "tag_ids": {
+ "description": "Steam IDs of the community tags, in the same order as the tags.",
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "tag_schema_version": {
+ "description": "Version of the community-tag data on this record.",
"type": "integer"
},
- "normalised_power_rating": {
- "type": "number"
+ "tags": {
+ "description": "Tags is the weighted community-tag taxonomy (Roguelike/Metroidvania/Cozy...),\nordered most-weighted first — the crowd tags appdetails genres omit.\nPopulated by a separate tag-enrichment pass, not the main crawl. TagIDs\nis the parallel raw id list; PrimaryTag is Tags[0].",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "power_rating": {
- "type": "number"
+ "tags_enriched_at": {
+ "description": "Time the community tags were last added to this record.",
+ "type": "string"
},
- "power_rating_ranking": {
+ "total_reviews": {
+ "description": "Total number of user reviews, positive plus negative.",
+ "type": "integer"
+ },
+ "type": {
+ "description": "Store item type, such as `game`, `dlc` or `demo`.",
+ "type": "string"
+ },
+ "website": {
+ "description": "URL of the game's own website.",
"type": "string"
}
},
"type": "object"
},
- "fanduel.RacingSpeedAndClass": {
+ "es.SteamNewsRecord": {
"properties": {
- "avg_class_rating": {
- "type": "number"
- },
- "avg_distance": {
- "type": "number"
+ "appid": {
+ "type": "integer"
},
- "avg_speed": {
- "type": "number"
+ "author": {
+ "type": "string"
},
- "high_speed": {
- "type": "number"
+ "contents": {
+ "type": "string"
},
- "high_speed_ranking": {
+ "crawled_at": {
"type": "string"
},
- "last_class_rating": {
- "type": "number"
+ "date": {
+ "description": "upstream epoch seconds",
+ "type": "integer"
},
- "normalised_speed_rating": {
- "type": "number"
- }
- },
- "type": "object"
- },
- "fanduel.RacingTrack": {
- "properties": {
- "city": {
+ "feed_label": {
"type": "string"
},
- "code": {
+ "feed_name": {
"type": "string"
},
- "country": {
+ "gid": {
"type": "string"
},
- "current_race": {
- "$ref": "#/definitions/fanduel.RacingNextRace"
- },
- "featured": {
- "type": "boolean"
- },
- "is_finished": {
+ "is_external_url": {
"type": "boolean"
},
- "ivr_code": {
- "type": "integer"
- },
- "name": {
+ "published_at": {
+ "description": "ISO, derived from Date",
"type": "string"
},
- "number_of_races": {
+ "schema_version": {
"type": "integer"
},
- "race_types": {
+ "tags": {
"items": {
"type": "string"
},
"type": "array"
},
- "short_name": {
+ "title": {
"type": "string"
},
- "state": {
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "fanduel.RacingTrackResponse": {
+ "es.SteamPlayerCountRecord": {
"properties": {
- "city": {
- "type": "string"
- },
- "code": {
- "type": "string"
- },
- "country": {
- "type": "string"
- },
- "current_race": {
- "$ref": "#/definitions/fanduel.RacingNextRace"
- },
- "featured": {
- "type": "boolean"
+ "appid": {
+ "type": "integer"
},
- "fetched_at": {
+ "crawled_at": {
"type": "string"
},
- "is_finished": {
- "type": "boolean"
- },
- "ivr_code": {
- "type": "integer"
- },
"name": {
"type": "string"
},
- "number_of_races": {
+ "player_count": {
"type": "integer"
},
- "race_types": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "races": {
- "items": {
- "$ref": "#/definitions/fanduel.RacingRaceSummary"
- },
- "type": "array"
- },
- "short_name": {
- "type": "string"
+ "schema_version": {
+ "type": "integer"
},
- "state": {
+ "snapshot_date": {
"type": "string"
}
},
"type": "object"
},
- "fanduel.RacingTracksResponse": {
+ "es.SteamPriceRecord": {
"properties": {
- "fetched_at": {
+ "appid": {
+ "type": "integer"
+ },
+ "crawled_at": {
"type": "string"
},
- "limit": {
+ "currency": {
+ "type": "string"
+ },
+ "discount_pct": {
"type": "integer"
},
- "page": {
+ "initial_price_cents": {
"type": "integer"
},
- "race_date": {
+ "is_free": {
+ "type": "boolean"
+ },
+ "name": {
"type": "string"
},
- "total": {
+ "price_cents": {
"type": "integer"
},
- "tracks": {
- "items": {
- "$ref": "#/definitions/fanduel.RacingTrack"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "fanduel.RacingWager": {
- "properties": {
- "max_wager": {
- "type": "number"
- },
- "min_wager": {
- "type": "number"
+ "schema_version": {
+ "type": "integer"
},
- "wager_type": {
- "$ref": "#/definitions/fanduel.RacingCodeName"
+ "snapshot_date": {
+ "type": "string"
}
},
"type": "object"
},
- "fanduel.RacingWagerType": {
+ "es.SteamReviewRecord": {
"properties": {
- "code": {
- "type": "string"
+ "appid": {
+ "type": "integer"
},
- "column_count": {
+ "author_playtime_forever_min": {
"type": "integer"
},
- "column_type": {
+ "comment_count": {
+ "type": "integer"
+ },
+ "crawled_at": {
"type": "string"
},
- "description": {
+ "created_at": {
+ "description": "ISO, derived",
"type": "string"
},
- "group": {
- "$ref": "#/definitions/fanduel.RacingCodeName"
+ "language": {
+ "type": "string"
},
- "id": {
+ "playtime_at_review_min": {
"type": "integer"
},
- "is_box": {
+ "received_for_free": {
"type": "boolean"
},
- "is_key": {
- "type": "boolean"
+ "recommendation_id": {
+ "type": "string"
},
- "is_wheel": {
- "type": "boolean"
+ "review": {
+ "type": "string"
},
- "leg_count": {
+ "schema_version": {
"type": "integer"
},
- "max_wager": {
- "type": "number"
- },
- "min_wager": {
- "type": "number"
+ "steam_purchase": {
+ "type": "boolean"
},
- "name": {
- "type": "string"
+ "timestamp_created": {
+ "type": "integer"
},
- "pools_per_entry": {
+ "timestamp_updated": {
"type": "integer"
},
- "position_count": {
+ "voted_up": {
+ "type": "boolean"
+ },
+ "votes_funny": {
"type": "integer"
- }
- },
- "type": "object"
- },
- "fanduel.RacingWagerTypesResponse": {
- "properties": {
- "count": {
+ },
+ "votes_up": {
"type": "integer"
},
- "fetched_at": {
- "type": "string"
+ "weighted_vote_score": {
+ "type": "number"
},
- "wager_types": {
- "items": {
- "$ref": "#/definitions/fanduel.RacingWagerType"
- },
- "type": "array"
+ "written_during_early_access": {
+ "type": "boolean"
}
},
"type": "object"
},
- "fanduel.RacingWillPay": {
+ "es.SubstackDatasetFacetItem": {
"properties": {
- "leg_results": {
- "items": {
- "$ref": "#/definitions/fanduel.RacingLegResult"
- },
- "type": "array"
+ "count": {
+ "type": "integer"
},
- "payoff_type": {
+ "value": {
"type": "string"
- },
- "payouts": {
- "items": {
- "$ref": "#/definitions/fanduel.RacingWillPayment"
- },
- "type": "array"
- },
- "wager_amount": {
- "type": "number"
- },
- "wager_type": {
- "$ref": "#/definitions/fanduel.RacingCodeName"
}
},
"type": "object"
},
- "fanduel.RacingWillPayment": {
+ "es.TechstackDatasetFacetItem": {
"properties": {
- "entry": {
+ "count": {
+ "description": "Number of sites in this bucket.",
"type": "integer"
},
- "payout": {
- "type": "number"
- },
- "required": {
- "type": "number"
+ "value": {
+ "description": "Bucket value, such as a technology name, category, top-level domain or rendering tier.",
+ "type": "string"
}
},
"type": "object"
},
- "fanduel.ResearchArticleResponse": {
+ "es.TechstackRecord": {
"properties": {
- "author": {
- "$ref": "#/definitions/fanduel.ResearchAuthorRef"
- },
- "blocks": {
+ "analytics": {
+ "description": "Analytics, tag manager and tracking pixel technologies detected on the site.",
"items": {
- "$ref": "#/definitions/fanduel.ResearchBlock"
+ "type": "string"
},
"type": "array"
},
- "description": {
- "type": "string"
- },
- "fetched_at": {
- "type": "string"
- },
- "hero_type": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "keywords": {
+ "block_matched": {
+ "description": "block/challenge marker strings that matched, when FailureReason is a block/challenge classification",
"items": {
"type": "string"
},
"type": "array"
},
- "omitted_blocks": {
- "additionalProperties": {
- "type": "integer"
+ "categories": {
+ "description": "distinct, sorted; category facets",
+ "items": {
+ "type": "string"
},
- "type": "object"
+ "type": "array"
},
- "published_at": {
+ "category": {
+ "description": "optional seed category (usually empty)",
"type": "string"
},
- "slug": {
+ "cdn": {
+ "description": "Main CDN, hosting or platform provider detected on the site.",
"type": "string"
},
- "sport": {
- "$ref": "#/definitions/fanduel.ResearchSportRef"
+ "cms": {
+ "description": "single-value rollups (denormalized from Technologies for cheap facets/filters)",
+ "type": "string"
},
- "sub_heading": {
+ "detector_version": {
+ "description": "Version of the technology detection rules used for this record.",
"type": "string"
},
- "tags": {
- "items": {
- "$ref": "#/definitions/fanduel.ResearchTag"
- },
- "type": "array"
+ "domain": {
+ "description": "identity",
+ "type": "string"
},
- "text": {
+ "ecommerce": {
+ "description": "Ecommerce platform detected on the site.",
"type": "string"
},
- "thumbnail_url": {
+ "failure_reason": {
+ "description": "failure diagnostics: populated whenever a probe attempt didn't fully\npass, even if the site still counts as reachable (e.g. a blocked page\nreturning a non-5xx status). Unset for a fully passing site.",
"type": "string"
},
- "title": {
+ "final_url": {
+ "description": "URL that produced the adopted body (after www. fallback / redirects)",
"type": "string"
},
- "updated_at": {
+ "has_captcha": {
+ "description": "Whether a CAPTCHA technology was detected on the site.",
+ "type": "boolean"
+ },
+ "is_infrastructure": {
+ "description": "IsInfrastructure flags a backend CDN/DNS/cloud-vendor/registry hostname\n(e.g. cloudfront.net, gtld-servers.net) rather than a real,\nhuman-navigable website. Best-effort heuristic: a false negative\n(unflagged) is not proof a domain is a real site.",
+ "type": "boolean"
+ },
+ "method_version": {
+ "description": "Version of the scan procedure used to collect this record.",
"type": "string"
},
- "url": {
+ "probe_error": {
+ "description": "raw transport error's first line (e.g. \"context deadline exceeded\", \"no such host\"), when there was one",
"type": "string"
- }
- },
- "type": "object"
- },
- "fanduel.ResearchArticleSummary": {
- "properties": {
- "author": {
- "$ref": "#/definitions/fanduel.ResearchAuthorRef"
},
- "description": {
+ "probed_at": {
+ "description": "RFC3339 — when last probed",
"type": "string"
},
- "hero_type": {
+ "rank": {
+ "description": "Tranco rank when seeded from the top-1M list",
+ "type": "integer"
+ },
+ "reachable": {
+ "description": "Whether the site answered the probe.",
+ "type": "boolean"
+ },
+ "render_tier": {
+ "description": "provenance / reproducibility",
"type": "string"
},
- "id": {
+ "run_date": {
+ "description": "Time the scan run started, in UTC (RFC 3339).",
"type": "string"
},
- "published_at": {
+ "run_id": {
+ "description": "Identifier of the scan run that produced this record.",
"type": "string"
},
- "slug": {
+ "scan_method": {
+ "description": "Method used to scan the site, for example `http_scan`.",
"type": "string"
},
- "sport": {
- "$ref": "#/definitions/fanduel.ResearchSportRef"
+ "schema_version": {
+ "description": "Version of the record format.",
+ "type": "integer"
},
- "sub_heading": {
+ "scheme": {
+ "description": "URL scheme the site was reached with, `https` or `http`.",
"type": "string"
},
- "tags": {
+ "secondary_only_technology_names": {
+ "description": "technology names detected ONLY via a fetched secondary page, not the homepage alone; a subset of TechnologyNames",
"items": {
- "$ref": "#/definitions/fanduel.ResearchTag"
+ "type": "string"
},
"type": "array"
},
- "thumbnail_url": {
- "type": "string"
- },
- "title": {
- "type": "string"
- },
- "updated_at": {
- "type": "string"
+ "secondary_page_categories": {
+ "description": "which categories were successfully fetched and contributed content, sorted (careers|login|blog|status|signup|docs|contact|trust|cart)",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "fanduel.ResearchArticlesResponse": {
- "properties": {
- "articles": {
+ "secondary_pages": {
+ "description": "full audit trail: every discovered candidate, fetched or not; detail view, stored not indexed",
"items": {
- "$ref": "#/definitions/fanduel.ResearchArticleSummary"
+ "$ref": "#/definitions/es.TechstackSecondaryPage"
},
"type": "array"
},
- "fetched_at": {
- "type": "string"
+ "secondary_pages_discovered": {
+ "description": "secondary-page telemetry: populated when the crawl looked for extra\nnon-homepage pages (opt-in per run) and discovered at least one on the\nhomepage nav for this domain. \"Discovered\" and \"fetched\" are\ndeliberately distinct: a candidate can be found on the homepage nav\nbut still fail to fetch (e.g. blocked or timed out) — that failure is\nrecorded in SecondaryPages (Fetched=false), not silently dropped.",
+ "type": "integer"
},
- "has_more": {
- "type": "boolean"
+ "secondary_pages_fetched": {
+ "description": "count that were ACTUALLY fetched successfully and contributed content; <= SecondaryPagesDiscovered",
+ "type": "integer"
},
- "next_cursor": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "fanduel.ResearchAuthor": {
- "properties": {
- "bio": {
+ "seed_source": {
+ "description": "tranco | internal-harvest",
"type": "string"
},
- "id": {
+ "server_language": {
+ "description": "Server-side language or web framework detected on the site.",
"type": "string"
},
- "name": {
+ "source_url": {
+ "description": "the exact seed URL probed",
"type": "string"
},
- "profile_image_url": {
- "type": "string"
+ "status": {
+ "description": "HTTP status code of the last probe attempt.",
+ "type": "integer"
},
- "slug": {
- "type": "string"
+ "tech_count": {
+ "description": "Number of distinct technologies detected on the site.",
+ "type": "integer"
},
- "social": {
+ "technologies": {
+ "description": "detections (the payload)",
"items": {
- "$ref": "#/definitions/fanduel.ResearchSocial"
+ "$ref": "#/definitions/es.TechstackTechnology"
},
"type": "array"
},
- "sports": {
+ "technology_names": {
+ "description": "flattened for AND/NOT term filters + facets",
"items": {
"type": "string"
},
"type": "array"
},
- "sub_categories": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "tld": {
+ "description": "Top-level domain of the site, such as `com`.",
+ "type": "string"
},
- "thumbnail_url": {
+ "web_server": {
+ "description": "Web server software detected on the site.",
"type": "string"
}
},
"type": "object"
},
- "fanduel.ResearchAuthorRef": {
+ "es.TechstackSecondaryPage": {
"properties": {
- "id": {
+ "category": {
+ "description": "Kind of page found on the homepage navigation: `careers`, `login`, `blog`, `status`, `signup`, `docs`, `contact`, `trust` or `cart`.",
"type": "string"
},
- "name": {
- "type": "string"
+ "fetched": {
+ "description": "Whether the page was loaded successfully. False when it was blocked or timed out.",
+ "type": "boolean"
},
- "slug": {
+ "url": {
+ "description": "Address of the page found on the homepage navigation.",
"type": "string"
}
},
"type": "object"
},
- "fanduel.ResearchAuthorResponse": {
+ "es.TechstackTechnology": {
"properties": {
- "bio": {
- "type": "string"
+ "categories": {
+ "description": "Categories the technology belongs to, such as `CDN` or `Analytics`.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "fetched_at": {
+ "confidence": {
+ "description": "How sure the detection is: `high`, `medium` or `low`.",
"type": "string"
},
- "id": {
+ "evidence": {
+ "description": "Signal the technology was recognised from, such as `header: cf-ray`.",
"type": "string"
},
"name": {
+ "description": "Technology name, such as `Shopify` or `Cloudflare`.",
"type": "string"
},
- "profile_image_url": {
- "type": "string"
- },
- "slug": {
- "type": "string"
- },
- "social": {
- "items": {
- "$ref": "#/definitions/fanduel.ResearchSocial"
- },
- "type": "array"
- },
- "sports": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "sub_categories": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "thumbnail_url": {
+ "version": {
+ "description": "Version of the technology, when the site exposes it.",
"type": "string"
}
},
"type": "object"
},
- "fanduel.ResearchAuthorsResponse": {
+ "es.TrustmrrDatasetFacetItem": {
"properties": {
- "authors": {
- "items": {
- "$ref": "#/definitions/fanduel.ResearchAuthor"
- },
- "type": "array"
- },
- "fetched_at": {
- "type": "string"
- },
- "has_more": {
- "type": "boolean"
+ "count": {
+ "description": "Number of startups in this bucket.",
+ "type": "integer"
},
- "next_cursor": {
+ "value": {
+ "description": "Bucket value for the requested facet, such as a category name, country or payment provider.",
"type": "string"
}
},
"type": "object"
},
- "fanduel.ResearchBetLine": {
+ "es.TrustmrrHistoryPoint": {
"properties": {
- "market_id": {
- "type": "string"
+ "asking_price": {
+ "type": "number"
},
- "odds": {
+ "date": {
+ "description": "YYYY-MM-DD in UTC",
"type": "string"
},
- "selection_id": {
- "type": "string"
+ "deal_score": {
+ "type": "number"
},
- "url": {
- "type": "string"
+ "growth_30d": {
+ "type": "number"
},
- "value": {
+ "mrr": {
+ "type": "number"
+ },
+ "multiple": {
+ "type": "number"
+ },
+ "offer_count": {
+ "type": "integer"
+ },
+ "on_sale": {
+ "type": "boolean"
+ },
+ "revenue_30d": {
+ "type": "number"
+ },
+ "slug": {
"type": "string"
+ },
+ "total_revenue": {
+ "type": "number"
+ },
+ "traffic_12mo": {
+ "type": "number"
+ },
+ "traffic_30d": {
+ "type": "number"
}
},
"type": "object"
},
- "fanduel.ResearchBlock": {
+ "es.TrustmrrStartupRecord": {
"properties": {
- "event_id": {
+ "active_subscriptions": {
+ "description": "Number of active subscriptions the startup has.",
"type": "integer"
},
- "event_name": {
+ "ahrefs_domain_rating": {
+ "description": "Ahrefs Domain Rating of the startup's website.",
+ "type": "integer"
+ },
+ "asking_price": {
+ "description": "Price the seller is asking for the startup, in US dollars. Omitted when TrustMRR shows none.",
+ "type": "number"
+ },
+ "business_type": {
+ "description": "Business type of the startup, such as `B2C`.",
"type": "string"
},
- "headers": {
+ "category": {
+ "description": "TrustMRR category of the startup, such as `Mobile App`.",
+ "type": "string"
+ },
+ "category_slug": {
+ "description": "URL slug of the TrustMRR category.",
+ "type": "string"
+ },
+ "channels": {
+ "description": "Slugs of the marketing channels detected for the startup, such as `meta-ads`.",
"items": {
"type": "string"
},
"type": "array"
},
- "league": {
+ "country": {
+ "description": "Country code of the startup, such as `PL`.",
"type": "string"
},
- "level": {
+ "customers": {
+ "description": "Number of customers the startup has.",
"type": "integer"
},
- "market_id": {
- "type": "string"
+ "deal_score": {
+ "description": "TrustMRR's recency-aware score for how attractive the startup is as an acquisition.",
+ "type": "number"
},
- "market_name": {
+ "description": {
+ "description": "Description of the startup as listed on TrustMRR.",
"type": "string"
},
- "rows": {
- "items": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "type": "array"
+ "estimated_user_count": {
+ "description": "Estimated number of users of the startup's product.",
+ "type": "integer"
},
- "selection_ids": {
- "items": {
- "type": "integer"
- },
- "type": "array"
+ "first_listed_for_sale_at": {
+ "description": "Time the startup was first listed for sale (RFC 3339).",
+ "type": "string"
},
- "text": {
+ "first_seen": {
+ "description": "Time the startup first appeared in this dataset (RFC 3339).",
"type": "string"
},
- "title": {
+ "founded_date": {
+ "description": "Date the startup was founded.",
"type": "string"
},
- "type": {
+ "funding_status": {
+ "description": "Funding status of the startup.",
"type": "string"
- }
- },
- "type": "object"
- },
- "fanduel.ResearchClosingLines": {
- "properties": {
- "spread": {
+ },
+ "growth_30d": {
+ "description": "Revenue growth over the last 30 days, as a percentage.",
"type": "number"
},
- "total": {
+ "growth_mrr_30d": {
+ "description": "Growth in monthly recurring revenue over the last 30 days.",
"type": "number"
- }
- },
- "type": "object"
- },
- "fanduel.ResearchFeaturedArticlesResponse": {
- "properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/fanduel.ResearchArticleSummary"
- },
- "type": "array"
},
- "count": {
- "type": "integer"
+ "has_dofollow_backlink": {
+ "description": "Whether the startup's site links back to TrustMRR with a dofollow link.",
+ "type": "boolean"
},
- "fetched_at": {
- "type": "string"
+ "has_google_analytics": {
+ "description": "Whether the startup has verified Google Analytics.",
+ "type": "boolean"
},
- "sport": {
- "$ref": "#/definitions/fanduel.ResearchSportRef"
- }
- },
- "type": "object"
- },
- "fanduel.ResearchFixture": {
- "properties": {
- "event_url": {
- "type": "string"
+ "has_insight_overrides": {
+ "description": "Whether the seller has replaced TrustMRR's AI-written business summary with their own.",
+ "type": "boolean"
},
- "game_clock": {
- "type": "string"
+ "has_search_console": {
+ "description": "Whether the startup has verified Google Search Console.",
+ "type": "boolean"
},
- "head_to_head_slug": {
+ "icon": {
+ "description": "URL of the startup's icon.",
"type": "string"
},
- "id": {
+ "is_merchant_of_record": {
+ "description": "Whether the startup acts as merchant of record for its payments.",
+ "type": "boolean"
+ },
+ "is_sponsored": {
+ "description": "Whether the startup is a sponsored listing on TrustMRR.",
+ "type": "boolean"
+ },
+ "last_crawled_at": {
+ "description": "Time the startup's data was last refreshed (RFC 3339).",
"type": "string"
},
- "network": {
+ "last_seen": {
+ "description": "Time the startup was last seen on TrustMRR (RFC 3339).",
"type": "string"
},
- "scheduled_end": {
+ "listing_tier": {
+ "description": "Tier of the for-sale listing, such as `pro`.",
"type": "string"
},
- "scheduled_start": {
+ "looking_for_cofounder": {
+ "description": "Whether the founder is looking for a cofounder.",
+ "type": "boolean"
+ },
+ "merchant_category_code": {
+ "description": "Merchant category code (MCC) of the startup's payment processor, such as `7372`.",
"type": "string"
},
- "sport": {
- "$ref": "#/definitions/fanduel.ResearchSportRef"
+ "mrr": {
+ "description": "Verified monthly recurring revenue, in US dollars.",
+ "type": "number"
},
- "status": {
+ "mrr_last_synced_at": {
+ "description": "Time the monthly recurring revenue figure was last synced (RFC 3339).",
"type": "string"
},
- "teams": {
- "items": {
- "$ref": "#/definitions/fanduel.ResearchFixtureTeam"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "fanduel.ResearchFixtureLine": {
- "properties": {
- "market_id": {
+ "multiple": {
+ "description": "Asking price as a multiple of the startup's revenue.",
+ "type": "number"
+ },
+ "name": {
+ "description": "Startup name as listed on TrustMRR.",
"type": "string"
},
- "odds": {
+ "offer_count": {
+ "description": "Number of offers the for-sale listing has received.",
"type": "integer"
},
- "points": {
- "type": "number"
+ "on_sale": {
+ "description": "Whether the startup is currently listed for sale.",
+ "type": "boolean"
},
- "selection_id": {
+ "payment_provider": {
+ "description": "Payment provider the revenue is verified through, such as `revenuecat`.",
"type": "string"
},
- "side": {
+ "pricing_model": {
+ "description": "Pricing model of the startup's product, as summarised by TrustMRR.",
"type": "string"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "fanduel.ResearchFixtureTeam": {
- "properties": {
- "abbreviation": {
+ "problem_solved": {
+ "description": "Problem the startup's product solves, as summarised by TrustMRR.",
"type": "string"
},
- "id": {
- "type": "string"
+ "profit_margin_30d": {
+ "description": "Profit margin over the last 30 days.",
+ "type": "number"
},
- "money_line": {
- "$ref": "#/definitions/fanduel.ResearchFixtureLine"
+ "revenue_30d": {
+ "description": "Verified revenue over the last 30 days, in US dollars.",
+ "type": "number"
},
- "name": {
+ "revenue_last_synced_at": {
+ "description": "Time the revenue figures were last synced (RFC 3339).",
"type": "string"
},
- "number_fire_id": {
- "type": "integer"
+ "revenue_per_visitor_30d": {
+ "description": "Revenue per site visitor over the last 30 days.",
+ "type": "number"
},
- "score": {
+ "schema_version": {
+ "description": "Version of the record format.",
"type": "integer"
},
- "side": {
+ "secondary_payment_provider": {
+ "description": "Second payment provider the revenue is verified through, when there is one.",
"type": "string"
},
- "spread": {
- "$ref": "#/definitions/fanduel.ResearchFixtureLine"
+ "seller_message": {
+ "description": "Message the seller wrote on the for-sale listing.",
+ "type": "string"
},
- "total": {
- "$ref": "#/definitions/fanduel.ResearchFixtureLine"
+ "slug": {
+ "description": "URL slug of the startup on TrustMRR. Use it with the item endpoint.",
+ "type": "string"
},
- "win_probability": {
- "type": "number"
- }
- },
- "type": "object"
- },
- "fanduel.ResearchFixturesResponse": {
- "properties": {
- "count": {
- "type": "integer"
+ "status": {
+ "description": "Listing status of the startup: `active` or `removed`.",
+ "type": "string"
},
- "fetched_at": {
+ "stealth_mode": {
+ "description": "Whether the startup is listed in stealth mode.",
+ "type": "boolean"
+ },
+ "tags": {
+ "description": "Tags describing the startup's business, as summarised by TrustMRR.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "target_audience": {
+ "description": "Audience the startup sells to, such as `B2C`.",
"type": "string"
},
- "fixtures": {
+ "target_persona": {
+ "description": "Typical customer persona of the startup, as summarised by TrustMRR.",
+ "type": "string"
+ },
+ "tech": {
+ "description": "Slugs of the technologies detected in the startup's stack, such as `reactnative`.",
"items": {
- "$ref": "#/definitions/fanduel.ResearchFixture"
+ "type": "string"
},
"type": "array"
},
- "sport": {
+ "total_revenue": {
+ "description": "Verified all-time revenue, in US dollars.",
+ "type": "number"
+ },
+ "traffic_12mo": {
+ "description": "Website traffic over the last 12 months.",
+ "type": "number"
+ },
+ "traffic_24h": {
+ "description": "Website traffic over the last 24 hours.",
+ "type": "number"
+ },
+ "traffic_30d": {
+ "description": "Website traffic over the last 30 days, in visits.",
+ "type": "number"
+ },
+ "traffic_7d": {
+ "description": "Website traffic over the last 7 days.",
+ "type": "number"
+ },
+ "url": {
+ "description": "URL of the startup's page on TrustMRR.",
"type": "string"
- }
- },
- "type": "object"
- },
- "fanduel.ResearchItem": {
- "properties": {
- "guid": {
+ },
+ "user_category": {
+ "description": "Category the seller chose for the startup, such as `Mobile Apps`.",
"type": "string"
},
- "image_url": {
+ "user_category_slug": {
+ "description": "URL slug of the seller-chosen category.",
"type": "string"
},
- "published_at": {
+ "value_proposition": {
+ "description": "What the startup offers customers, as summarised by TrustMRR.",
"type": "string"
},
- "summary": {
+ "website": {
+ "description": "URL of the startup's own website.",
"type": "string"
},
- "title": {
+ "x_follower_count": {
+ "description": "Number of followers the founder has on X (Twitter).",
+ "type": "integer"
+ },
+ "x_founder_name": {
+ "description": "Founder's display name on X (Twitter).",
"type": "string"
},
- "url": {
+ "x_handle": {
+ "description": "Founder's X (Twitter) handle.",
+ "type": "string"
+ },
+ "x_profile_picture": {
+ "description": "URL of the founder's X (Twitter) profile picture.",
"type": "string"
}
},
"type": "object"
},
- "fanduel.ResearchNewsType": {
+ "es.VehicleListingDatasetFacetItem": {
"properties": {
- "code": {
- "type": "string"
+ "count": {
+ "type": "integer"
},
- "name": {
+ "value": {
"type": "string"
}
},
"type": "object"
},
- "fanduel.ResearchNflGame": {
+ "es.VehicleListingRecord": {
"properties": {
- "away_team": {
- "$ref": "#/definitions/fanduel.ResearchNflTeam"
+ "accident_count": {
+ "description": "AccidentCount/OwnerCount come from a source's vehicle-history detail\n(CarMax's own /vehicle/{stock_number} History block as of 2026-08-20;\nreserved for other sources with an equivalent field). Pointers, not\nplain ints: 0 is a real, safety-relevant claim (\"confirmed zero\naccidents\") distinct from \"we haven't enriched this listing yet\".\nPopulated only for a bounded number of newly-discovered listings per\ncrawl pass, not backfilled for the whole catalog at once.",
+ "type": "integer"
},
- "clock": {
+ "body_style": {
"type": "string"
},
- "closing_lines": {
- "$ref": "#/definitions/fanduel.ResearchClosingLines"
- },
- "head_to_head_slug": {
+ "city": {
"type": "string"
},
- "home_team": {
- "$ref": "#/definitions/fanduel.ResearchNflTeam"
- },
- "id": {
+ "crawled_at": {
"type": "string"
},
- "network": {
+ "drive_type": {
"type": "string"
},
- "number_fire_id": {
- "type": "integer"
+ "engine": {
+ "type": "string"
},
- "odds": {
- "$ref": "#/definitions/fanduel.ResearchNflOdds"
+ "exterior_color": {
+ "type": "string"
},
- "quarter": {
+ "first_seen_at": {
+ "description": "FirstSeenAt/LastSeenAt are our own crawl-observed dates, not upstream\nfields -- see the type doc comment. Both are RFC3339.",
"type": "string"
},
- "scheduled_time": {
+ "fuel_type": {
"type": "string"
},
- "season_type": {
+ "id": {
"type": "string"
},
- "status": {
+ "image_url": {
"type": "string"
},
- "venue": {
+ "interior_color": {
"type": "string"
},
- "venue_type": {
+ "is_price_reduced": {
+ "type": "boolean"
+ },
+ "last_seen_at": {
"type": "string"
},
- "weather": {
- "$ref": "#/definitions/fanduel.ResearchWeather"
+ "latitude": {
+ "type": "number"
},
- "week": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "fanduel.ResearchNflGameStats": {
- "properties": {
- "fumbles_forced": {
- "type": "integer"
+ "longitude": {
+ "type": "number"
},
- "interceptions_thrown": {
- "type": "integer"
+ "make": {
+ "type": "string"
},
- "passing_yards": {
+ "mileage": {
"type": "integer"
},
- "points": {
- "type": "integer"
+ "model": {
+ "type": "string"
},
- "rushing_yards": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "fanduel.ResearchNflLeader": {
- "properties": {
- "attempts": {
+ "owner_count": {
"type": "integer"
},
- "carries": {
- "type": "integer"
+ "previous_price": {
+ "type": "number"
},
- "completions": {
+ "price": {
+ "type": "number"
+ },
+ "run_id": {
+ "type": "string"
+ },
+ "schema_version": {
"type": "integer"
},
- "name": {
+ "seller_name": {
"type": "string"
},
- "position": {
+ "seller_type": {
+ "description": "SellerType is \"retailer\" for CarMax (its own inventory, not a dealer\nnetwork) and reserved \"dealer\"/\"private\" values for future sources\nthat aggregate third-party sellers (Autotrader, Cars.com).",
"type": "string"
},
- "receptions": {
- "type": "integer"
+ "source": {
+ "type": "string"
},
- "targets": {
- "type": "integer"
+ "source_listing_id": {
+ "type": "string"
},
- "touchdowns": {
- "type": "integer"
+ "state": {
+ "type": "string"
},
- "yards": {
+ "transmission": {
+ "type": "string"
+ },
+ "trim": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "vin": {
+ "type": "string"
+ },
+ "year": {
"type": "integer"
}
},
"type": "object"
},
- "fanduel.ResearchNflLeaders": {
+ "es.VehiclePriceHistoryRecord": {
"properties": {
- "passing": {
- "$ref": "#/definitions/fanduel.ResearchNflLeader"
+ "crawled_at": {
+ "type": "string"
},
- "receiving": {
- "$ref": "#/definitions/fanduel.ResearchNflLeader"
+ "id": {
+ "type": "string"
},
- "rushing": {
- "$ref": "#/definitions/fanduel.ResearchNflLeader"
- }
- },
- "type": "object"
- },
- "fanduel.ResearchNflOdds": {
- "properties": {
- "away": {
- "$ref": "#/definitions/fanduel.ResearchNflSideOdds"
+ "price": {
+ "type": "number"
},
- "event_id": {
+ "schema_version": {
"type": "integer"
},
- "home": {
- "$ref": "#/definitions/fanduel.ResearchNflSideOdds"
+ "snapshot_date": {
+ "description": "SnapshotDate is the crawl date (YYYY-MM-DD) this price was observed on\n-- part of the doc id, so re-crawling the same listing twice in one\nday at a changed price overwrites that day's entry rather than\ncreating a second one for the same date.",
+ "type": "string"
},
- "scheduled_time": {
+ "source": {
"type": "string"
},
- "url": {
+ "source_listing_id": {
"type": "string"
}
},
"type": "object"
},
- "fanduel.ResearchNflRanks": {
+ "es.WebsiteStatus": {
"properties": {
- "defense": {
- "type": "integer"
+ "checked_at": {
+ "description": "Time the website was checked, in UTC (RFC 3339).",
+ "type": "string"
},
- "offense": {
- "type": "integer"
+ "dns_resolvable": {
+ "description": "Whether the website's domain name resolved.",
+ "type": "boolean"
},
- "passing_yards_per_game": {
- "type": "integer"
+ "error": {
+ "description": "Error message from the check. Omitted when the check raised no error.",
+ "type": "string"
},
- "rushing_yards_per_game": {
+ "http_reachable": {
+ "description": "Whether the website answered an HTTP request.",
+ "type": "boolean"
+ },
+ "status_code": {
+ "description": "HTTP status code the website returned.",
"type": "integer"
+ },
+ "url": {
+ "description": "Website address that was checked.",
+ "type": "string"
}
},
"type": "object"
},
- "fanduel.ResearchNflRecord": {
+ "es.XUserDatasetFacetItem": {
"properties": {
- "losses": {
- "type": "integer"
- },
- "ties": {
+ "count": {
+ "description": "Number of X users in this bucket.",
"type": "integer"
},
- "wins": {
- "type": "integer"
+ "value": {
+ "description": "Bucket value for the requested facet, such as `true` or `false` for yes/no facets.",
+ "type": "string"
}
},
"type": "object"
},
- "fanduel.ResearchNflScheduleResponse": {
+ "es.XUserDatasetItem": {
"properties": {
- "count": {
- "type": "integer"
+ "avatar_url": {
+ "type": "string"
},
- "fetched_at": {
+ "banner_url": {
"type": "string"
},
- "games": {
+ "bio": {
+ "type": "string"
+ },
+ "bio_url_host": {
"items": {
- "$ref": "#/definitions/fanduel.ResearchNflGame"
+ "type": "string"
},
"type": "array"
},
- "season_type": {
+ "bio_urls": {
+ "description": "BioURLs are links written in the bio text, expanded from t.co. Distinct\nfrom ExternalURL (the single profile-header link).",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "crawled_at": {
"type": "string"
},
- "week": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "fanduel.ResearchNflSideOdds": {
- "properties": {
- "money_line": {
- "$ref": "#/definitions/fanduel.ResearchBetLine"
+ "created_at": {
+ "type": "string"
},
- "spread": {
- "$ref": "#/definitions/fanduel.ResearchBetLine"
+ "email": {
+ "description": "Email is an address the account self-published in its own bio. Extracted\nverbatim, never inferred or de-obfuscated. HasEmail is the faceting flag\n(an exists query on a keyword is fine, but a bool keeps parity with the\nother has_* fields and is cheaper to aggregate).",
+ "type": "string"
},
- "team_code": {
+ "external_url": {
"type": "string"
},
- "total": {
- "$ref": "#/definitions/fanduel.ResearchBetLine"
- }
- },
- "type": "object"
- },
- "fanduel.ResearchNflTeam": {
- "properties": {
- "average_passing_yards_per_game": {
+ "follower_following_ratio": {
"type": "number"
},
- "average_rushing_yards_per_game": {
- "type": "number"
+ "followers": {
+ "type": "integer"
},
- "code": {
- "type": "string"
+ "following": {
+ "type": "integer"
},
- "conference": {
- "type": "string"
+ "has_bio": {
+ "type": "boolean"
},
- "division": {
- "type": "string"
+ "has_bio_url": {
+ "type": "boolean"
},
- "game_stats": {
- "$ref": "#/definitions/fanduel.ResearchNflGameStats"
+ "has_email": {
+ "type": "boolean"
},
- "leaders": {
- "$ref": "#/definitions/fanduel.ResearchNflLeaders"
+ "has_external_url": {
+ "type": "boolean"
},
- "logo_url": {
+ "id": {
"type": "string"
},
- "name": {
- "type": "string"
+ "is_blue_verified": {
+ "type": "boolean"
},
- "number_fire_id": {
+ "is_default_profile_image": {
+ "description": "IsDefaultProfileImage marks never-customized shells.",
+ "type": "boolean"
+ },
+ "likes": {
"type": "integer"
},
- "primary_color": {
- "type": "string"
+ "listed": {
+ "description": "Listed is how many curated lists include the account -- the best\nauthority proxy available. Media/Likes are activity signals.",
+ "type": "integer"
},
- "ranks": {
- "$ref": "#/definitions/fanduel.ResearchNflRanks"
+ "location_raw": {
+ "type": "string"
},
- "record": {
- "$ref": "#/definitions/fanduel.ResearchNflRecord"
+ "media": {
+ "type": "integer"
},
- "secondary_color": {
+ "name": {
"type": "string"
},
- "short_name": {
- "type": "string"
+ "posts": {
+ "type": "integer"
},
- "slug": {
+ "schema_version": {
+ "type": "integer"
+ },
+ "source_tier": {
"type": "string"
},
- "sportsbook_link": {
+ "username": {
"type": "string"
},
- "win_probability": {
- "type": "number"
+ "verified_type": {
+ "description": "VerifiedType is the verification flavour (\"Business\", \"Government\", ...);\nempty for ordinary/blue accounts.",
+ "type": "string"
}
},
"type": "object"
},
- "fanduel.ResearchPlayerNewsItem": {
+ "es.XUserRecord": {
"properties": {
- "analysis": {
+ "avatar_url": {
"type": "string"
},
- "attribution": {
+ "banner_url": {
"type": "string"
},
- "author": {
- "$ref": "#/definitions/fanduel.ResearchAuthorRef"
- },
- "fact": {
+ "bio": {
"type": "string"
},
- "id": {
- "type": "string"
+ "bio_url_host": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "news_type": {
- "$ref": "#/definitions/fanduel.ResearchNewsType"
+ "bio_urls": {
+ "description": "BioURLs are links written in the bio text, expanded from t.co. Distinct\nfrom ExternalURL (the single profile-header link).",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "published_at": {
+ "crawled_at": {
"type": "string"
},
- "quant": {
+ "created_at": {
"type": "string"
},
- "slug": {
+ "email": {
+ "description": "Email is an address the account self-published in its own bio. Extracted\nverbatim, never inferred or de-obfuscated. HasEmail is the faceting flag\n(an exists query on a keyword is fine, but a bool keeps parity with the\nother has_* fields and is cheaper to aggregate).",
"type": "string"
},
- "sport": {
- "$ref": "#/definitions/fanduel.ResearchSportRef"
+ "external_url": {
+ "type": "string"
},
- "subject": {
- "$ref": "#/definitions/fanduel.ResearchSubject"
+ "follower_following_ratio": {
+ "type": "number"
},
- "title": {
- "type": "string"
+ "followers": {
+ "type": "integer"
},
- "updated_at": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "fanduel.ResearchPlayerNewsResponse": {
- "properties": {
- "fetched_at": {
- "type": "string"
+ "following": {
+ "type": "integer"
},
- "has_more": {
+ "has_bio": {
"type": "boolean"
},
- "items": {
- "items": {
- "$ref": "#/definitions/fanduel.ResearchPlayerNewsItem"
- },
- "type": "array"
+ "has_bio_url": {
+ "type": "boolean"
},
- "next_cursor": {
+ "has_email": {
+ "type": "boolean"
+ },
+ "has_external_url": {
+ "type": "boolean"
+ },
+ "id": {
"type": "string"
- }
- },
- "type": "object"
- },
- "fanduel.ResearchPlayerTeam": {
- "properties": {
- "abbreviation": {
+ },
+ "is_blue_verified": {
+ "type": "boolean"
+ },
+ "is_default_profile_image": {
+ "description": "IsDefaultProfileImage marks never-customized shells.",
+ "type": "boolean"
+ },
+ "likes": {
+ "type": "integer"
+ },
+ "listed": {
+ "description": "Listed is how many curated lists include the account -- the best\nauthority proxy available. Media/Likes are activity signals.",
+ "type": "integer"
+ },
+ "location_raw": {
"type": "string"
},
+ "media": {
+ "type": "integer"
+ },
"name": {
"type": "string"
},
- "number_fire_id": {
+ "posts": {
"type": "integer"
- }
- },
- "type": "object"
- },
- "fanduel.ResearchProjectionEvent": {
- "properties": {
- "id": {
- "type": "string"
},
- "name": {
+ "schema_version": {
+ "type": "integer"
+ },
+ "source_tier": {
"type": "string"
- }
- },
- "type": "object"
- },
- "fanduel.ResearchProjectionGame": {
- "properties": {
- "away_team": {
- "$ref": "#/definitions/fanduel.ResearchProjectionTeam"
},
- "game_time": {
+ "username": {
"type": "string"
},
- "home_team": {
- "$ref": "#/definitions/fanduel.ResearchProjectionTeam"
+ "verified_type": {
+ "description": "VerifiedType is the verification flavour (\"Business\", \"Government\", ...);\nempty for ordinary/blue accounts.",
+ "type": "string"
}
},
"type": "object"
},
- "fanduel.ResearchProjectionPlayer": {
+ "es.YoutubeChannelCandidate": {
"properties": {
- "handedness": {
+ "bio": {
"type": "string"
},
- "id": {
- "type": "integer"
+ "channel_id": {
+ "type": "string"
},
- "image_url": {
+ "channel_name": {
"type": "string"
},
- "name": {
+ "channel_url": {
"type": "string"
},
- "page_url": {
+ "discovered_at": {
"type": "string"
},
- "position": {
+ "discovery_source": {
"type": "string"
- }
- },
- "type": "object"
- },
- "fanduel.ResearchProjectionPosition": {
- "properties": {
- "default": {
+ },
+ "followers_count": {
+ "type": "integer"
+ },
+ "followers_count_available": {
"type": "boolean"
},
- "label": {
+ "hydrated_at": {
"type": "string"
},
- "matches": {
+ "joined_date": {
+ "type": "string"
+ },
+ "links": {
"items": {
"type": "string"
},
"type": "array"
},
- "player_kind": {
+ "profile_pic": {
"type": "string"
},
- "slug": {
+ "region": {
"type": "string"
- }
- },
- "type": "object"
- },
- "fanduel.ResearchProjectionRow": {
- "properties": {
- "game": {
- "$ref": "#/definitions/fanduel.ResearchProjectionGame"
},
- "player": {
- "$ref": "#/definitions/fanduel.ResearchProjectionPlayer"
+ "status": {
+ "type": "string"
},
- "salary": {
- "description": "Salary is the FanDuel DFS salary in dollars; Value is points per $1,000 of salary.",
+ "videos_count": {
"type": "integer"
},
- "stats": {
- "additionalProperties": {},
- "type": "object"
+ "videos_count_available": {
+ "type": "boolean"
},
- "team": {
- "$ref": "#/definitions/fanduel.ResearchProjectionTeam"
+ "views_count": {
+ "type": "integer"
},
- "value": {
- "type": "number"
+ "views_count_available": {
+ "type": "boolean"
}
},
"type": "object"
},
- "fanduel.ResearchProjectionSlate": {
+ "es.YoutubeCreatorDatasetFacetItem": {
"properties": {
- "id": {
- "type": "string"
+ "count": {
+ "type": "integer"
},
- "name": {
+ "value": {
"type": "string"
}
},
"type": "object"
},
- "fanduel.ResearchProjectionSlatesResponse": {
+ "es.YoutubeCreatorDatasetItem": {
"properties": {
- "count": {
- "type": "integer"
- },
- "date": {
+ "bio": {
"type": "string"
},
- "events": {
- "items": {
- "$ref": "#/definitions/fanduel.ResearchProjectionEvent"
- },
- "type": "array"
+ "channel_id": {
+ "type": "string"
},
- "fetched_at": {
+ "channel_name": {
"type": "string"
},
- "season": {
- "type": "integer"
+ "channel_url": {
+ "type": "string"
},
- "slates": {
- "items": {
- "$ref": "#/definitions/fanduel.ResearchProjectionSlate"
- },
- "type": "array"
+ "discovered_at": {
+ "type": "string"
},
- "sport": {
+ "discovery_source": {
"type": "string"
},
- "week": {
+ "followers_count": {
"type": "integer"
- }
- },
- "type": "object"
- },
- "fanduel.ResearchProjectionTable": {
- "properties": {
- "name": {
- "type": "string"
},
- "needs_event": {
+ "followers_count_available": {
"type": "boolean"
},
- "needs_slate": {
- "type": "boolean"
+ "hydrated_at": {
+ "type": "string"
},
- "positions": {
- "items": {
- "$ref": "#/definitions/fanduel.ResearchProjectionPosition"
- },
- "type": "array"
+ "joined_date": {
+ "type": "string"
},
- "scopes": {
+ "links": {
"items": {
"type": "string"
},
"type": "array"
},
- "sport": {
- "type": "string"
- },
- "table": {
+ "profile_pic": {
"type": "string"
},
- "type": {
+ "region": {
"type": "string"
- }
- },
- "type": "object"
- },
- "fanduel.ResearchProjectionTablesResponse": {
- "properties": {
- "count": {
- "type": "integer"
},
- "fetched_at": {
+ "status": {
"type": "string"
},
- "sports": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "tables": {
- "items": {
- "$ref": "#/definitions/fanduel.ResearchProjectionTable"
- },
- "type": "array"
+ "videos_count": {
+ "type": "integer"
},
- "types": {
- "items": {
- "type": "string"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "fanduel.ResearchProjectionTeam": {
- "properties": {
- "abbreviation": {
- "type": "string"
+ "videos_count_available": {
+ "type": "boolean"
},
- "id": {
+ "views_count": {
"type": "integer"
},
- "image_url": {
- "type": "string"
- },
- "name": {
- "type": "string"
+ "views_count_available": {
+ "type": "boolean"
}
},
"type": "object"
},
- "fanduel.ResearchProjectionsResponse": {
+ "espn.Athlete": {
"properties": {
- "event_id": {
- "type": "string"
- },
- "event_name": {
- "type": "string"
- },
- "fetched_at": {
- "type": "string"
- },
- "limit": {
- "type": "integer"
- },
- "page": {
+ "age": {
"type": "integer"
},
- "position": {
+ "display_height": {
"type": "string"
},
- "position_label": {
+ "display_name": {
"type": "string"
},
- "rows": {
- "items": {
- "$ref": "#/definitions/fanduel.ResearchProjectionRow"
- },
- "type": "array"
- },
- "scope": {
+ "display_weight": {
"type": "string"
},
- "slate_id": {
+ "full_name": {
"type": "string"
},
- "slate_name": {
+ "headshot": {
"type": "string"
},
- "sport": {
+ "id": {
"type": "string"
},
- "table": {
+ "jersey": {
"type": "string"
},
- "table_name": {
+ "position": {
"type": "string"
},
- "total": {
- "type": "integer"
- },
- "type": {
- "type": "string"
+ "team": {
+ "$ref": "#/definitions/espn.TeamRef"
}
},
"type": "object"
},
- "fanduel.ResearchResponse": {
+ "espn.AthleteResponse": {
"properties": {
- "copyright": {
- "type": "string"
- },
- "description": {
- "type": "string"
+ "athlete": {
+ "$ref": "#/definitions/espn.Athlete"
},
"fetched_at": {
"type": "string"
},
- "items": {
- "items": {
- "$ref": "#/definitions/fanduel.ResearchItem"
- },
- "type": "array"
- },
- "language": {
- "type": "string"
- },
- "last_build_date": {
- "type": "string"
- },
- "site_url": {
+ "league": {
"type": "string"
},
"source_url": {
"type": "string"
},
- "title": {
+ "sport": {
"type": "string"
}
},
"type": "object"
},
- "fanduel.ResearchSocial": {
+ "espn.BoxscoreTeam": {
"properties": {
- "account": {
+ "home_away": {
+ "description": "Whether the team is the `home` or `away` side.",
"type": "string"
},
- "type": {
- "type": "string"
+ "stats": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Team stat totals keyed by stat label, with each value as ESPN displays it.",
+ "type": "object"
},
- "url": {
- "type": "string"
+ "team": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/espn.TeamRef"
+ }
+ ],
+ "description": "Team these stat totals belong to."
}
},
"type": "object"
},
- "fanduel.ResearchSport": {
+ "espn.Competitor": {
"properties": {
- "content_sport": {
+ "home_away": {
+ "description": "Whether the team is the `home` or `away` side.",
+ "example": "home",
"type": "string"
},
- "has_live_scoring": {
- "type": "boolean"
- },
- "has_player_updates": {
- "type": "boolean"
+ "record": {
+ "description": "Team's win-loss record, for example `10-2`.",
+ "example": "10-2",
+ "type": "string"
},
- "name": {
+ "score": {
+ "description": "Team's score in the game, as a string.",
+ "example": "27",
"type": "string"
},
- "player_news_types": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "team": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/espn.TeamRef"
+ }
+ ],
+ "description": "Team playing in this game."
},
- "positions": {
+ "winner": {
+ "description": "Whether this team won the game.",
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "espn.Game": {
+ "properties": {
+ "competitors": {
+ "description": "Both sides of the game, each with team, home or away role and score.",
"items": {
- "type": "string"
+ "$ref": "#/definitions/espn.Competitor"
},
"type": "array"
},
- "show_authors": {
- "type": "boolean"
+ "date": {
+ "description": "Scheduled start time of the game in ISO 8601, for example `2026-09-10T20:00Z`.",
+ "type": "string"
},
- "slug": {
+ "id": {
+ "description": "ESPN event id of the game, for example `401816033`. Use it with the game summary endpoint.",
+ "example": "401816033",
"type": "string"
},
- "team_count": {
- "type": "integer"
+ "name": {
+ "description": "Full matchup title of the game, as ESPN shows it.",
+ "type": "string"
},
- "teams": {
+ "odds": {
+ "description": "Betting lines for the game, one entry per odds provider.",
"items": {
- "$ref": "#/definitions/fanduel.ResearchTeam"
+ "$ref": "#/definitions/espn.GameOdds"
},
"type": "array"
+ },
+ "short_name": {
+ "description": "Short matchup title of the game, as ESPN shows it.",
+ "type": "string"
+ },
+ "status": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/espn.GameStatus"
+ }
+ ],
+ "description": "Current state of the game, such as scheduled, in progress or final."
+ },
+ "venue": {
+ "description": "Name of the stadium or arena where the game is played.",
+ "type": "string"
}
},
"type": "object"
},
- "fanduel.ResearchSportRef": {
+ "espn.GameOdds": {
"properties": {
- "name": {
+ "details": {
+ "description": "Betting line summary text as the provider shows it, for example `ATL -1.5`.",
"type": "string"
},
- "slug": {
+ "over_under": {
+ "description": "Total points line for the game, as the provider lists it.",
+ "type": "number"
+ },
+ "provider": {
+ "description": "Name of the odds provider that published the line.",
"type": "string"
+ },
+ "spread": {
+ "description": "Point spread for the game, as the provider lists it.",
+ "type": "number"
}
},
"type": "object"
},
- "fanduel.ResearchSportsResponse": {
+ "espn.GameStatus": {
"properties": {
- "count": {
+ "clock": {
+ "description": "Game clock text as ESPN displays it. Omitted when ESPN gives none.",
+ "type": "string"
+ },
+ "completed": {
+ "description": "Whether the game has finished.",
+ "example": true,
+ "type": "boolean"
+ },
+ "detail": {
+ "description": "Full status text ESPN shows for the game, for example `Final`.",
+ "example": "Final",
+ "type": "string"
+ },
+ "period": {
+ "description": "Current period of the game, such as the quarter, inning or half. Omitted when ESPN gives none.",
"type": "integer"
},
- "fetched_at": {
+ "short_detail": {
+ "description": "Short status text ESPN shows for the game, for example `Final`.",
+ "example": "Final",
"type": "string"
},
- "sports": {
- "items": {
- "$ref": "#/definitions/fanduel.ResearchSport"
- },
- "type": "array"
+ "state": {
+ "description": "Game state code as ESPN gives it, for example `pre` before the game or `post` after it.",
+ "example": "post",
+ "type": "string"
}
},
"type": "object"
},
- "fanduel.ResearchSubCategoriesResponse": {
+ "espn.GameSummaryResponse": {
"properties": {
- "count": {
- "type": "integer"
+ "boxscore_teams": {
+ "description": "Team stat totals for the game, one entry per team. Omitted when none are available.",
+ "items": {
+ "$ref": "#/definitions/espn.BoxscoreTeam"
+ },
+ "type": "array"
+ },
+ "event": {
+ "description": "ESPN event id that was requested.",
+ "type": "string"
},
"fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
"type": "string"
},
- "sub_categories": {
+ "game": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/espn.Game"
+ }
+ ],
+ "description": "Matchup details for the game: teams, scores and status."
+ },
+ "league": {
+ "description": "League key that was requested, for example `nfl`.",
+ "type": "string"
+ },
+ "odds": {
+ "description": "Betting lines for the game, one entry per odds provider. Omitted when none are available.",
"items": {
- "$ref": "#/definitions/fanduel.ResearchSubCategory"
+ "$ref": "#/definitions/espn.GameOdds"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "fanduel.ResearchSubCategory": {
- "properties": {
- "slug": {
+ },
+ "source_url": {
+ "description": "URL the data was read from.",
"type": "string"
},
"sport": {
- "$ref": "#/definitions/fanduel.ResearchSportRef"
- },
- "title": {
+ "description": "Sport key that was requested, for example `football`.",
"type": "string"
}
},
"type": "object"
},
- "fanduel.ResearchSubject": {
+ "espn.NewsArticle": {
"properties": {
- "abbreviation": {
+ "byline": {
+ "description": "Name of the article's author.",
"type": "string"
},
- "name": {
+ "description": {
+ "description": "Short summary of the article.",
"type": "string"
},
- "number": {
- "type": "integer"
- },
- "number_fire_id": {
- "type": "integer"
- },
- "page_url": {
+ "headline": {
+ "description": "Article headline as shown on ESPN.",
"type": "string"
},
- "position": {
+ "link": {
+ "description": "URL of the article on ESPN.",
"type": "string"
},
- "slug": {
+ "published": {
+ "description": "Time the article was published, in ISO 8601.",
"type": "string"
},
- "team": {
- "$ref": "#/definitions/fanduel.ResearchPlayerTeam"
- },
"type": {
+ "description": "Article type as ESPN labels it.",
"type": "string"
}
},
"type": "object"
},
- "fanduel.ResearchTag": {
+ "espn.NewsResponse": {
"properties": {
- "name": {
+ "articles": {
+ "description": "Recent news articles for the league, one entry per article.",
+ "items": {
+ "$ref": "#/definitions/espn.NewsArticle"
+ },
+ "type": "array"
+ },
+ "count": {
+ "description": "Number of articles returned.",
+ "type": "integer"
+ },
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
"type": "string"
},
- "type": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "fanduel.ResearchTeam": {
- "properties": {
- "abbreviation": {
+ "league": {
+ "description": "League key that was requested, for example `nfl`.",
"type": "string"
},
- "identifier": {
+ "source_url": {
+ "description": "URL the data was read from.",
"type": "string"
},
- "name": {
+ "sport": {
+ "description": "Sport key that was requested, for example `football`.",
"type": "string"
- },
- "number_fire_id": {
- "type": "integer"
}
},
"type": "object"
},
- "fanduel.ResearchWeather": {
+ "espn.RankEntry": {
"properties": {
- "condition": {
- "type": "string"
- },
- "humidity_pct": {
+ "current": {
+ "description": "Team's rank in this poll.",
"type": "integer"
},
- "temp_f": {
+ "points": {
+ "description": "Total poll points the team received. Omitted when ESPN gives none.",
+ "type": "number"
+ },
+ "previous": {
+ "description": "Team's rank in the previous poll. Omitted when ESPN gives none.",
"type": "integer"
},
- "wind_direction": {
+ "record": {
+ "description": "Team's win-loss record, for example `16-0`.",
"type": "string"
},
- "wind_mph": {
- "type": "integer"
+ "team": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/espn.TeamRef"
+ }
+ ],
+ "description": "Team holding this rank."
+ },
+ "trend": {
+ "description": "Change in rank since the previous poll, as ESPN shows it.",
+ "type": "string"
}
},
"type": "object"
},
- "fanduel.SportsbookAutocompleteResponse": {
+ "espn.RankingPoll": {
"properties": {
- "fetched_at": {
- "type": "string"
- },
- "query": {
+ "name": {
+ "description": "Full poll name, for example `AP Top 25`.",
"type": "string"
},
- "suggestions": {
+ "ranks": {
+ "description": "Ranked teams in the poll, one entry per rank.",
"items": {
- "$ref": "#/definitions/fanduel.SportsbookSuggestion"
+ "$ref": "#/definitions/espn.RankEntry"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "fanduel.SportsbookBetRecords": {
- "properties": {
- "against_spread": {
- "$ref": "#/definitions/fanduel.SportsbookWinLoss"
},
- "money_line": {
- "$ref": "#/definitions/fanduel.SportsbookWinLoss"
- },
- "over_under": {
- "$ref": "#/definitions/fanduel.SportsbookWinLoss"
+ "short_name": {
+ "description": "Short poll name as ESPN shows it.",
+ "type": "string"
}
},
"type": "object"
},
- "fanduel.SportsbookBoxScoreColumn": {
+ "espn.RankingsResponse": {
"properties": {
- "key": {
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
"type": "string"
},
- "label": {
+ "league": {
+ "description": "League key that was requested, for example `college-football`.",
"type": "string"
- }
- },
- "type": "object"
- },
- "fanduel.SportsbookBoxScoreGroup": {
- "properties": {
- "columns": {
+ },
+ "polls": {
+ "description": "Ranking polls published for the league, one entry per poll.",
"items": {
- "$ref": "#/definitions/fanduel.SportsbookBoxScoreColumn"
+ "$ref": "#/definitions/espn.RankingPoll"
},
"type": "array"
},
- "key": {
- "type": "string"
+ "season": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/espn.Season"
+ }
+ ],
+ "description": "Season the rankings belong to."
},
- "label": {
+ "source_url": {
+ "description": "URL the data was read from.",
"type": "string"
},
- "rows": {
- "items": {
- "$ref": "#/definitions/fanduel.SportsbookBoxScoreRow"
- },
- "type": "array"
+ "sport": {
+ "description": "Sport key that was requested, for example `football`.",
+ "type": "string"
}
},
"type": "object"
},
- "fanduel.SportsbookBoxScoreResponse": {
+ "espn.RosterAthlete": {
"properties": {
- "available": {
- "type": "boolean"
+ "age": {
+ "description": "Player's age in years.",
+ "type": "integer"
},
- "event_id": {
+ "display_height": {
+ "description": "Player's height as ESPN displays it.",
+ "type": "string"
+ },
+ "display_weight": {
+ "description": "Player's weight as ESPN displays it.",
+ "type": "string"
+ },
+ "experience_years": {
+ "description": "Number of years of experience the player has.",
"type": "integer"
},
- "fetched_at": {
+ "full_name": {
+ "description": "Player's full name.",
"type": "string"
},
- "groups": {
- "items": {
- "$ref": "#/definitions/fanduel.SportsbookBoxScoreGroup"
- },
- "type": "array"
+ "id": {
+ "description": "ESPN athlete id of the player.",
+ "type": "string"
},
- "score": {
- "$ref": "#/definitions/fanduel.SportsbookScore"
+ "jersey": {
+ "description": "Player's jersey number, as a string.",
+ "type": "string"
},
- "status": {
+ "position": {
+ "description": "Player's position on the team.",
"type": "string"
}
},
"type": "object"
},
- "fanduel.SportsbookBoxScoreRow": {
+ "espn.RosterResponse": {
"properties": {
- "id": {
+ "athletes": {
+ "description": "Players on the team roster, one entry per player.",
+ "items": {
+ "$ref": "#/definitions/espn.RosterAthlete"
+ },
+ "type": "array"
+ },
+ "coach": {
+ "description": "Name of the team's head coach. Omitted when ESPN lists none.",
"type": "string"
},
- "name": {
+ "count": {
+ "description": "Number of athletes returned.",
+ "type": "integer"
+ },
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
"type": "string"
},
- "player_id": {
+ "league": {
+ "description": "League key that was requested, for example `nfl`.",
"type": "string"
},
- "position": {
+ "source_url": {
+ "description": "URL the data was read from.",
"type": "string"
},
- "stats": {
- "additionalProperties": {
- "type": "string"
- },
- "type": "object"
+ "sport": {
+ "description": "Sport key that was requested, for example `football`.",
+ "type": "string"
},
"team": {
- "type": "string"
+ "allOf": [
+ {
+ "$ref": "#/definitions/espn.TeamRef"
+ }
+ ],
+ "description": "Team the roster belongs to."
}
},
"type": "object"
},
- "fanduel.SportsbookBuilderCard": {
+ "espn.ScoreboardResponse": {
"properties": {
- "available_options": {
- "additionalProperties": {},
- "type": "object"
+ "count": {
+ "example": 14,
+ "type": "integer"
},
- "description_template": {
+ "day": {
"type": "string"
},
- "id": {
+ "fetched_at": {
"type": "string"
},
- "legs": {
+ "games": {
"items": {
- "additionalProperties": {},
- "type": "object"
+ "$ref": "#/definitions/espn.Game"
},
"type": "array"
},
- "prop_key": {
+ "league": {
+ "example": "nfl",
"type": "string"
},
- "props": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "league_name": {
+ "example": "National Football League",
+ "type": "string"
},
- "selected_options": {
- "additionalProperties": {},
- "type": "object"
+ "season": {
+ "$ref": "#/definitions/espn.Season"
},
- "title": {
+ "source_url": {
"type": "string"
},
- "type": {
+ "sport": {
+ "example": "football",
"type": "string"
}
},
"type": "object"
},
- "fanduel.SportsbookBuilderChoice": {
+ "espn.Season": {
"properties": {
- "choice_id": {
- "type": "string"
- },
- "description": {
+ "name": {
+ "description": "Season type name as ESPN shows it.",
"type": "string"
},
- "status": {
- "type": "string"
+ "type": {
+ "description": "Season type code: 1 preseason, 2 regular season, 3 postseason, 4 offseason.",
+ "example": 2,
+ "type": "integer"
},
- "template_id": {
- "type": "string"
+ "year": {
+ "description": "Season year, for example `2024`.",
+ "example": 2024,
+ "type": "integer"
}
},
"type": "object"
},
- "fanduel.SportsbookBuilderCompetition": {
+ "espn.StandingsEntry": {
"properties": {
- "competition_id": {
- "type": "integer"
+ "note": {
+ "type": "string"
},
- "event_ids": {
- "items": {
- "type": "integer"
+ "stats": {
+ "additionalProperties": {
+ "type": "string"
},
- "type": "array"
- },
- "first_event_id": {
- "type": "integer"
- },
- "logo_url": {
- "type": "string"
+ "type": "object"
},
- "name": {
- "type": "string"
+ "team": {
+ "$ref": "#/definitions/espn.TeamRef"
}
},
"type": "object"
},
- "fanduel.SportsbookBuilderEvent": {
+ "espn.StandingsGroup": {
"properties": {
"abbreviation": {
"type": "string"
},
- "away_logo_url": {
- "type": "string"
- },
- "competition": {
- "type": "string"
- },
- "competition_id": {
- "type": "integer"
- },
- "event_id": {
- "type": "integer"
- },
- "home_logo_url": {
- "type": "string"
+ "entries": {
+ "items": {
+ "$ref": "#/definitions/espn.StandingsEntry"
+ },
+ "type": "array"
},
"name": {
"type": "string"
- },
- "start_time": {
- "type": "string"
}
},
"type": "object"
},
- "fanduel.SportsbookBuilderEventsResponse": {
+ "espn.StandingsResponse": {
"properties": {
- "competitions": {
- "items": {
- "$ref": "#/definitions/fanduel.SportsbookBuilderCompetition"
- },
- "type": "array"
+ "fetched_at": {
+ "type": "string"
},
- "events": {
+ "groups": {
"items": {
- "$ref": "#/definitions/fanduel.SportsbookBuilderEvent"
+ "$ref": "#/definitions/espn.StandingsGroup"
},
"type": "array"
},
- "experience": {
+ "league": {
"type": "string"
},
- "fetched_at": {
+ "league_name": {
"type": "string"
},
- "first_event_id": {
- "type": "integer"
+ "season": {
+ "$ref": "#/definitions/espn.Season"
},
- "state": {
+ "source_url": {
+ "type": "string"
+ },
+ "sport": {
"type": "string"
}
},
"type": "object"
},
- "fanduel.SportsbookBuilderGroup": {
+ "espn.TeamDetail": {
"properties": {
- "card_ids": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "abbreviation": {
+ "description": "Short team code, for example `KC`.",
+ "example": "KC",
+ "type": "string"
},
- "id": {
+ "alternate_color": {
+ "description": "Team's secondary colour code, as ESPN gives it.",
"type": "string"
},
- "layout_type": {
+ "color": {
+ "description": "Team's primary colour code, as ESPN gives it.",
"type": "string"
},
- "title": {
+ "display_name": {
+ "description": "Full team name, for example `Kansas City Chiefs`.",
+ "example": "Kansas City Chiefs",
"type": "string"
},
- "type": {
+ "id": {
+ "description": "ESPN team id, for example `12`. Use it as the `team` parameter of the team and roster endpoints.",
+ "example": "12",
"type": "string"
- }
- },
- "type": "object"
- },
- "fanduel.SportsbookBuilderPlayer": {
- "properties": {
- "headshot_url": {
+ },
+ "location": {
+ "description": "Team's city or region, for example `Kansas City`.",
+ "example": "Kansas City",
"type": "string"
},
- "id": {
+ "logo": {
+ "description": "URL of the team logo image.",
"type": "string"
},
"name": {
+ "description": "Team nickname without the location, for example `Chiefs`.",
+ "example": "Chiefs",
"type": "string"
},
- "short_name": {
+ "record": {
+ "description": "Team's overall win-loss record, for example `10-2`.",
"type": "string"
},
- "team_id": {
+ "short_display_name": {
+ "description": "Shortened team name, for example `Chiefs`.",
+ "example": "Chiefs",
+ "type": "string"
+ },
+ "standing_summary": {
+ "description": "Short text describing the team's place in its division or conference standings.",
+ "type": "string"
+ },
+ "uid": {
+ "description": "ESPN's unique identifier string for the team.",
"type": "string"
}
},
"type": "object"
},
- "fanduel.SportsbookBuilderResponse": {
+ "espn.TeamRef": {
"properties": {
- "cards": {
- "items": {
- "$ref": "#/definitions/fanduel.SportsbookBuilderCard"
- },
- "type": "array"
- },
- "choices": {
- "items": {
- "$ref": "#/definitions/fanduel.SportsbookBuilderChoice"
- },
- "type": "array"
- },
- "competition": {
+ "abbreviation": {
+ "description": "Short team code, for example `KC`.",
+ "example": "KC",
"type": "string"
},
- "competition_id": {
- "type": "integer"
- },
- "event_id": {
- "type": "integer"
- },
- "event_name": {
+ "alternate_color": {
+ "description": "Team's secondary colour code, as ESPN gives it.",
"type": "string"
},
- "experience": {
+ "color": {
+ "description": "Team's primary colour code, as ESPN gives it.",
"type": "string"
},
- "fetched_at": {
+ "display_name": {
+ "description": "Full team name, for example `Kansas City Chiefs`.",
+ "example": "Kansas City Chiefs",
"type": "string"
},
- "game_status": {
+ "id": {
+ "description": "ESPN team id, for example `12`. Use it as the `team` parameter of the team and roster endpoints.",
+ "example": "12",
"type": "string"
},
- "groups": {
- "items": {
- "$ref": "#/definitions/fanduel.SportsbookBuilderGroup"
- },
- "type": "array"
- },
- "layout": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "periods": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "players": {
- "items": {
- "$ref": "#/definitions/fanduel.SportsbookBuilderPlayer"
- },
- "type": "array"
- },
- "ramp_event_id": {
- "type": "integer"
+ "location": {
+ "description": "Team's city or region, for example `Kansas City`.",
+ "example": "Kansas City",
+ "type": "string"
},
- "start_time": {
+ "logo": {
+ "description": "URL of the team logo image.",
"type": "string"
},
- "state": {
+ "name": {
+ "description": "Team nickname without the location, for example `Chiefs`.",
+ "example": "Chiefs",
"type": "string"
},
- "status": {
+ "short_display_name": {
+ "description": "Shortened team name, for example `Chiefs`.",
+ "example": "Chiefs",
"type": "string"
},
- "teams": {
- "items": {
- "$ref": "#/definitions/fanduel.SportsbookBuilderTeam"
- },
- "type": "array"
+ "uid": {
+ "description": "ESPN's unique identifier string for the team.",
+ "type": "string"
}
},
"type": "object"
},
- "fanduel.SportsbookBuilderTeam": {
+ "espn.TeamResponse": {
"properties": {
- "abbr": {
- "type": "string"
- },
- "id": {
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
"type": "string"
},
- "logo_url": {
+ "league": {
+ "description": "League key that was requested, for example `nfl`.",
"type": "string"
},
- "name": {
+ "source_url": {
+ "description": "URL the data was read from.",
"type": "string"
},
- "side": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "fanduel.SportsbookChoiceFailure": {
- "properties": {
- "choice_id": {
+ "sport": {
+ "description": "Sport key that was requested, for example `football`.",
"type": "string"
},
- "code": {
- "type": "string"
+ "team": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/espn.TeamDetail"
+ }
+ ],
+ "description": "Details for the requested team, including record and standing."
}
},
"type": "object"
},
- "fanduel.SportsbookChoiceQuote": {
+ "espn.TeamsResponse": {
"properties": {
- "american_odds": {
+ "count": {
+ "description": "Number of teams returned.",
+ "example": 32,
"type": "integer"
},
- "bet_type": {
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
"type": "string"
},
- "choice_id": {
+ "league": {
+ "description": "League key that was requested, for example `nfl`.",
"type": "string"
},
- "decimal_odds": {
- "type": "number"
+ "source_url": {
+ "description": "URL the data was read from.",
+ "type": "string"
},
- "display_decimal_odds": {
- "type": "number"
+ "sport": {
+ "description": "Sport key that was requested, for example `football`.",
+ "type": "string"
},
- "features": {
+ "teams": {
+ "description": "Teams in the league, one entry per team.",
"items": {
- "type": "string"
+ "$ref": "#/definitions/espn.TeamRef"
},
"type": "array"
- },
- "fractional_odds": {
- "type": "string"
- },
- "same_game_multi": {
- "type": "boolean"
}
},
"type": "object"
},
- "fanduel.SportsbookChoiceQuotesResponse": {
+ "espn.athleteResponseDoc": {
"properties": {
- "failures": {
- "items": {
- "$ref": "#/definitions/fanduel.SportsbookChoiceFailure"
- },
- "type": "array"
- },
- "fetched_at": {
- "type": "string"
- },
- "quotes": {
- "items": {
- "$ref": "#/definitions/fanduel.SportsbookChoiceQuote"
- },
- "type": "array"
- },
- "ramp_event_id": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "state": {
+ "data": {
+ "$ref": "#/definitions/espn.AthleteResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "fanduel.SportsbookCompetition": {
+ "espn.gameSummaryResponseDoc": {
"properties": {
- "competition_id": {
- "type": "integer"
- },
- "event_type_id": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "name": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/espn.GameSummaryResponse"
},
- "region": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "fanduel.SportsbookDepthChartPlayer": {
+ "espn.newsResponseDoc": {
"properties": {
- "age": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "college": {
- "type": "string"
- },
- "draft_pick": {
- "type": "string"
- },
- "draft_round": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/espn.NewsResponse"
},
- "draft_year": {
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "espn.rankingsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "name": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/espn.RankingsResponse"
},
- "position": {
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "espn.rosterResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "rank": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/espn.RosterResponse"
},
- "slug": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "fanduel.SportsbookDepthChartResponse": {
+ "espn.scoreboardResponseDoc": {
"properties": {
- "fetched_at": {
- "type": "string"
- },
- "league": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "players": {
- "items": {
- "$ref": "#/definitions/fanduel.SportsbookDepthChartPlayer"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/espn.ScoreboardResponse"
},
- "team": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "team_leaders": {
- "additionalProperties": {},
- "type": "object"
}
},
"type": "object"
},
- "fanduel.SportsbookDirectoryPlayer": {
+ "espn.standingsResponseDoc": {
"properties": {
- "name": {
- "type": "string"
- },
- "player_id": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "slug": {
+ "data": {
+ "$ref": "#/definitions/espn.StandingsResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "fanduel.SportsbookEvent": {
+ "espn.teamResponseDoc": {
"properties": {
- "competition_id": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "event_id": {
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/espn.TeamResponse"
},
- "event_type_id": {
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "espn.teamsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "in_play": {
- "type": "boolean"
- },
- "markets": {
- "items": {
- "$ref": "#/definitions/fanduel.SportsbookMarket"
- },
- "type": "array"
- },
- "name": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/espn.TeamsResponse"
},
- "open_date": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "video_available": {
- "type": "boolean"
}
},
"type": "object"
},
- "fanduel.SportsbookEventPlayersResponse": {
+ "etsy.MobileListing": {
"properties": {
- "away_team": {
- "$ref": "#/definitions/fanduel.SportsbookTeam"
- },
- "competition": {
+ "category_name": {
"type": "string"
},
- "event_id": {
+ "create_date": {
"type": "integer"
},
- "event_name": {
+ "currency": {
+ "example": "USD",
"type": "string"
},
- "fetched_at": {
+ "description": {
"type": "string"
},
- "home_team": {
- "$ref": "#/definitions/fanduel.SportsbookTeam"
+ "favorites": {
+ "type": "integer"
},
- "players": {
+ "images": {
"items": {
- "$ref": "#/definitions/fanduel.SportsbookPlayer"
+ "type": "string"
},
"type": "array"
},
- "scheduled_at": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "fanduel.SportsbookEventResponse": {
- "properties": {
- "competition": {
- "$ref": "#/definitions/fanduel.SportsbookCompetition"
+ "is_customizable": {
+ "type": "boolean"
},
- "default_tab": {
- "type": "string"
+ "is_digital": {
+ "type": "boolean"
},
- "event": {
- "$ref": "#/definitions/fanduel.SportsbookEvent"
+ "is_sold_out": {
+ "type": "boolean"
},
- "fetched_at": {
+ "listing_id": {
+ "example": "1044347578",
"type": "string"
},
- "market_types": {
- "items": {
- "$ref": "#/definitions/fanduel.SportsbookMarketTypeCount"
- },
- "type": "array"
- },
- "notes": {
+ "materials": {
"items": {
"type": "string"
},
"type": "array"
},
- "selected_tab": {
+ "price": {
+ "example": "$29.99",
"type": "string"
},
- "state": {
- "type": "string"
+ "price_int": {
+ "example": 2999,
+ "type": "integer"
},
- "tabs": {
- "items": {
- "$ref": "#/definitions/fanduel.SportsbookTab"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "fanduel.SportsbookEventScoreResponse": {
- "properties": {
- "event_id": {
+ "quantity": {
"type": "integer"
},
- "fetched_at": {
+ "ships_from_country": {
"type": "string"
},
- "live": {
- "$ref": "#/definitions/fanduel.SportsbookLiveStatus"
+ "shop_id": {
+ "type": "string"
},
- "media_types": {
+ "shop_name": {
+ "type": "string"
+ },
+ "state": {
+ "example": "active",
+ "type": "string"
+ },
+ "tags": {
"items": {
"type": "string"
},
"type": "array"
},
- "score": {
- "$ref": "#/definitions/fanduel.SportsbookScore"
- }
- },
- "type": "object"
- },
- "fanduel.SportsbookEventStats": {
- "properties": {
- "competition": {
+ "title": {
"type": "string"
},
- "competition_id": {
- "type": "integer"
- },
- "event_id": {
+ "update_date": {
"type": "integer"
},
- "last_five_games": {
- "items": {
- "$ref": "#/definitions/fanduel.SportsbookFormLine"
- },
- "type": "array"
- },
- "other_widgets": {
- "additionalProperties": {},
- "type": "object"
- },
- "spread_bets_percent": {
- "items": {
- "$ref": "#/definitions/fanduel.SportsbookSplit"
- },
- "type": "array"
+ "url": {
+ "type": "string"
},
- "spread_money_percent": {
- "items": {
- "$ref": "#/definitions/fanduel.SportsbookSplit"
- },
- "type": "array"
+ "views": {
+ "type": "integer"
},
- "teams": {
- "items": {
- "$ref": "#/definitions/fanduel.SportsbookStatsTeam"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "fanduel.SportsbookEventStatsResponse": {
- "properties": {
- "fetched_at": {
+ "when_made": {
"type": "string"
- },
- "stats": {
- "$ref": "#/definitions/fanduel.SportsbookEventStats"
}
},
"type": "object"
},
- "fanduel.SportsbookEventStatus": {
+ "etsy.MobileListingCard": {
"properties": {
- "event_id": {
- "type": "integer"
- },
- "game_phase": {
+ "currency": {
"type": "string"
},
- "price_clock": {
+ "image": {
"type": "string"
},
- "status": {
+ "is_sold_out": {
+ "type": "boolean"
+ },
+ "listing_id": {
+ "example": "1044347578",
"type": "string"
},
- "status_clock": {
+ "price": {
+ "example": "$29.99",
"type": "string"
},
- "structure_clock": {
+ "price_int": {
+ "type": "integer"
+ },
+ "quantity": {
+ "type": "integer"
+ },
+ "shop_id": {
"type": "string"
- }
- },
- "type": "object"
- },
- "fanduel.SportsbookEventsStatusResponse": {
- "properties": {
- "events": {
- "items": {
- "$ref": "#/definitions/fanduel.SportsbookEventStatus"
- },
- "type": "array"
},
- "fetched_at": {
+ "shop_name": {
"type": "string"
},
- "not_found": {
- "items": {
- "type": "integer"
- },
- "type": "array"
+ "shop_rating": {
+ "type": "number"
},
- "state": {
+ "title": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "fanduel.SportsbookFormLine": {
+ "etsy.MobileListingReviews": {
"properties": {
- "name": {
+ "avg_rating": {
+ "example": 4.9,
+ "type": "number"
+ },
+ "count": {
+ "example": 123,
+ "type": "integer"
+ },
+ "listing_id": {
+ "example": "1044347578",
"type": "string"
},
- "results": {
+ "offset": {
+ "example": 0,
+ "type": "integer"
+ },
+ "reviews": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/etsy.MobileReview"
},
"type": "array"
},
- "selection_id": {
+ "total_rating_count": {
"type": "integer"
}
},
"type": "object"
},
- "fanduel.SportsbookFutureOdd": {
+ "etsy.MobileReview": {
"properties": {
- "description": {
+ "buyer_avatar": {
"type": "string"
},
- "market_type": {
+ "buyer_login": {
"type": "string"
},
- "odds": {
+ "buyer_name": {
"type": "string"
},
- "team": {
+ "buyer_user_id": {
"type": "string"
},
- "team_slug": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "fanduel.SportsbookGameLine": {
- "properties": {
- "odds": {
- "type": "string"
+ "date": {
+ "type": "integer"
},
- "value": {
+ "language": {
"type": "string"
- }
- },
- "type": "object"
- },
- "fanduel.SportsbookGameSummary": {
- "properties": {
- "away_score": {
- "type": "integer"
},
- "away_slug": {
+ "listing_id": {
"type": "string"
},
- "away_team": {
+ "listing_image": {
"type": "string"
},
- "date": {
+ "listing_title": {
"type": "string"
},
- "home_score": {
+ "rating": {
+ "example": 5,
"type": "integer"
},
- "home_slug": {
- "type": "string"
- },
- "home_team": {
+ "receipt_id": {
"type": "string"
},
- "title": {
- "type": "string"
+ "seller_replied": {
+ "type": "boolean"
},
- "venue": {
+ "text": {
"type": "string"
}
},
"type": "object"
},
- "fanduel.SportsbookLeagueGame": {
+ "etsy.MobileSearchResponse": {
"properties": {
- "away_code": {
- "type": "string"
+ "count": {
+ "example": 112886,
+ "type": "integer"
},
- "away_score": {
+ "offset": {
+ "example": 0,
"type": "integer"
},
- "away_slug": {
+ "query": {
+ "example": "handmade mug",
"type": "string"
},
- "away_team": {
- "type": "string"
+ "results": {
+ "items": {
+ "$ref": "#/definitions/etsy.MobileListingCard"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "etsy.MobileShop": {
+ "properties": {
+ "average_rating": {
+ "example": 4.9,
+ "type": "number"
},
- "broadcast": {
+ "headline": {
"type": "string"
},
- "bye_week": {
- "type": "boolean"
+ "icon": {
+ "type": "string"
},
- "conference_game": {
+ "is_star_seller": {
"type": "boolean"
},
- "home_code": {
- "type": "string"
- },
- "home_score": {
+ "open_date": {
"type": "integer"
},
- "home_slug": {
- "type": "string"
+ "reviews_count": {
+ "example": 363,
+ "type": "integer"
},
- "home_team": {
+ "seller_avatar": {
"type": "string"
},
- "scheduled_time": {
+ "seller_login": {
"type": "string"
},
- "status": {
+ "seller_name": {
"type": "string"
},
- "title": {
+ "shop_id": {
+ "example": "12345678",
"type": "string"
},
- "venue": {
+ "shop_name": {
"type": "string"
},
- "week": {
+ "sold_count": {
"type": "integer"
}
},
"type": "object"
},
- "fanduel.SportsbookLeagueScheduleResponse": {
+ "etsy.MobileShopCard": {
"properties": {
- "date": {
- "type": "string"
+ "active_listing_count": {
+ "type": "integer"
},
- "end_date": {
- "type": "string"
+ "is_vacation": {
+ "type": "boolean"
},
- "fetched_at": {
+ "location": {
"type": "string"
},
- "game_count": {
+ "open_date": {
"type": "integer"
},
- "groups": {
- "items": {
- "$ref": "#/definitions/fanduel.SportsbookScheduleGroup"
- },
- "type": "array"
- },
- "league": {
+ "seller_avatar": {
"type": "string"
},
- "week": {
- "$ref": "#/definitions/fanduel.SportsbookScheduleWeek"
- },
- "weeks": {
- "items": {
- "$ref": "#/definitions/fanduel.SportsbookScheduleWeek"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "fanduel.SportsbookLiveCountResponse": {
- "properties": {
- "fetched_at": {
+ "shop_id": {
+ "example": "12345678",
"type": "string"
},
- "live_events": {
- "type": "integer"
- },
- "state": {
+ "shop_name": {
"type": "string"
}
},
"type": "object"
},
- "fanduel.SportsbookLiveDataResponse": {
+ "etsy.MobileShopListings": {
"properties": {
- "events": {
+ "listings": {
"items": {
- "$ref": "#/definitions/fanduel.SportsbookLiveEvent"
+ "$ref": "#/definitions/etsy.MobileListingCard"
},
"type": "array"
},
- "fetched_at": {
+ "offset": {
+ "example": 0,
+ "type": "integer"
+ },
+ "query": {
"type": "string"
},
- "missing": {
- "items": {
- "type": "integer"
- },
- "type": "array"
+ "shop_id": {
+ "example": "12345678",
+ "type": "string"
+ },
+ "shop_name": {
+ "type": "string"
}
},
"type": "object"
},
- "fanduel.SportsbookLiveEvent": {
+ "etsy.MobileShopReviews": {
"properties": {
- "away_score": {
- "type": "integer"
- },
- "details": {
- "additionalProperties": {},
- "type": "object"
+ "avg_rating": {
+ "example": 4.9,
+ "type": "number"
},
- "event_id": {
+ "count": {
"type": "integer"
},
- "home_score": {
+ "offset": {
+ "example": 0,
"type": "integer"
},
- "live": {
- "type": "boolean"
- },
- "media_types": {
+ "reviews": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/etsy.MobileReview"
},
"type": "array"
},
- "player_progress": {
- "additionalProperties": {},
- "type": "object"
- },
- "player_stats": {
- "additionalProperties": {},
- "type": "object"
- },
- "provider": {
+ "shop_id": {
+ "example": "12345678",
"type": "string"
},
- "sport": {
+ "shop_name": {
"type": "string"
+ },
+ "total_rating_count": {
+ "type": "integer"
}
},
"type": "object"
},
- "fanduel.SportsbookLiveScore": {
+ "etsy.MobileShopSearchResponse": {
"properties": {
- "away_score": {
- "type": "integer"
- },
- "current_period": {
- "type": "integer"
- },
- "details": {
- "additionalProperties": {},
- "type": "object"
- },
- "event_id": {
- "type": "integer"
- },
- "home_score": {
- "type": "integer"
+ "query": {
+ "example": "ceramic",
+ "type": "string"
},
- "media_types": {
+ "shops": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/etsy.MobileShopCard"
},
"type": "array"
- },
- "model_type": {
- "type": "string"
- },
- "period": {
- "type": "string"
- },
- "period_remaining_milliseconds": {
+ }
+ },
+ "type": "object"
+ },
+ "etsy.listingResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "provider": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/etsy.MobileListing"
},
- "sport": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "fanduel.SportsbookLiveScoresResponse": {
+ "etsy.listingReviewsResponseDoc": {
"properties": {
- "events": {
- "items": {
- "$ref": "#/definitions/fanduel.SportsbookLiveScore"
- },
- "type": "array"
- },
- "fetched_at": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "not_found": {
- "items": {
- "type": "integer"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/etsy.MobileListingReviews"
},
- "state": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "fanduel.SportsbookLiveStatus": {
+ "etsy.searchResponseDoc": {
"properties": {
- "box_score_available": {
- "type": "boolean"
- },
- "competition": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "play_by_play_available": {
- "type": "boolean"
+ "data": {
+ "$ref": "#/definitions/etsy.MobileSearchResponse"
},
- "provider": {
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "etsy.shopListingsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "quick_bets_available": {
- "type": "boolean"
- },
- "score_available": {
- "type": "boolean"
+ "data": {
+ "$ref": "#/definitions/etsy.MobileShopListings"
},
- "status": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "fanduel.SportsbookMarket": {
+ "etsy.shopResponseDoc": {
"properties": {
- "betting_type": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "in_play": {
- "type": "boolean"
+ "data": {
+ "$ref": "#/definitions/etsy.MobileShop"
},
- "market_id": {
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "etsy.shopReviewsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "market_time": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/etsy.MobileShopReviews"
},
- "name": {
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "etsy.shopSearchResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "runners": {
- "items": {
- "$ref": "#/definitions/fanduel.SportsbookRunner"
- },
- "type": "array"
- },
- "same_game_parlay_eligible": {
- "type": "boolean"
- },
- "status": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/etsy.MobileShopSearchResponse"
},
- "type": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "fanduel.SportsbookMarketPrice": {
+ "euronews.AuthorResponse": {
"properties": {
- "bet_delay_seconds": {
- "type": "integer"
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/newsplatform.HeadlineItem"
+ },
+ "type": "array"
},
- "betting_type": {
+ "job_title": {
+ "description": "JobTitle is read directly from the page's own Person structured data.\nEuronews currently sends the same value (\"Journaliste\") for every\nprofile checked, regardless of the author's actual role -- it is\nreproduced as-is rather than translated or normalized.",
"type": "string"
},
- "in_play": {
- "type": "boolean"
- },
- "market_id": {
+ "name": {
"type": "string"
},
- "runners": {
+ "social_links": {
+ "description": "SocialLinks lists whatever external profile link(s) the page's own\nstructured data provides (typically a single X/Twitter profile URL).\nNot every author has one.",
"items": {
- "$ref": "#/definitions/fanduel.SportsbookPriceRunner"
+ "type": "string"
},
"type": "array"
},
- "same_game_parlay_eligible": {
- "type": "boolean"
+ "team": {
+ "description": "Team is the editorial/language-desk label from the page's own Person\nstructured data (e.g. \"Equipe de langue anglaise\"), reproduced as-is.",
+ "type": "string"
},
- "status": {
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "fanduel.SportsbookMarketPricesResponse": {
+ "ew.AuthorResponse": {
"properties": {
- "fetched_at": {
- "type": "string"
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/ew.HeadlineItem"
+ },
+ "type": "array"
},
- "markets": {
+ "biography": {
"items": {
- "$ref": "#/definitions/fanduel.SportsbookMarketPrice"
+ "type": "string"
},
"type": "array"
},
- "missing": {
+ "highlights": {
"items": {
"type": "string"
},
"type": "array"
},
- "state": {
+ "job_title": {
"type": "string"
- }
- },
- "type": "object"
- },
- "fanduel.SportsbookMarketTypeCount": {
- "properties": {
- "count": {
- "type": "integer"
},
- "type": {
+ "name": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "fanduel.SportsbookNavLink": {
+ "ew.HeadlineItem": {
"properties": {
- "custom_page_id": {
+ "author": {
"type": "string"
},
- "display_order": {
- "type": "integer"
- },
- "icon": {
+ "image_url": {
"type": "string"
},
- "id": {
- "type": "integer"
+ "published_at": {
+ "type": "string"
},
- "kind": {
+ "summary": {
"type": "string"
},
"title": {
"type": "string"
},
+ "type": {
+ "type": "string"
+ },
"url": {
"type": "string"
}
},
"type": "object"
},
- "fanduel.SportsbookPageResponse": {
+ "expedia.ActivityListing": {
"properties": {
- "competition_id": {
- "type": "integer"
+ "duration": {
+ "type": "string"
},
- "competitions": {
- "items": {
- "$ref": "#/definitions/fanduel.SportsbookCompetition"
- },
- "type": "array"
+ "free_cancellation": {
+ "type": "boolean"
},
- "custom_page_id": {
+ "id": {
"type": "string"
},
- "default_tab": {
+ "name": {
"type": "string"
},
- "description": {
+ "price": {
"type": "string"
},
- "event_type_id": {
+ "review_count": {
"type": "integer"
},
- "events": {
- "items": {
- "$ref": "#/definitions/fanduel.SportsbookEvent"
- },
- "type": "array"
- },
- "fetched_at": {
- "type": "string"
- },
- "market_types": {
- "items": {
- "$ref": "#/definitions/fanduel.SportsbookMarketTypeCount"
- },
- "type": "array"
- },
- "page_type": {
- "type": "string"
- },
- "selected_tab": {
+ "review_label": {
"type": "string"
},
- "state": {
+ "review_score": {
"type": "string"
},
- "tabs": {
- "items": {
- "$ref": "#/definitions/fanduel.SportsbookTab"
- },
- "type": "array"
- },
- "title": {
+ "thumbnail_url": {
"type": "string"
}
},
"type": "object"
},
- "fanduel.SportsbookParlay": {
+ "expedia.ActivitySearchOption": {
"properties": {
- "american_odds": {
- "type": "integer"
- },
- "away_team": {
- "type": "string"
- },
- "competition_id": {
- "type": "integer"
- },
- "competition_name": {
- "type": "string"
- },
- "decimal_odds": {
- "type": "number"
- },
- "event_id": {
- "type": "integer"
- },
- "event_name": {
+ "currency": {
+ "example": "USD",
"type": "string"
},
- "featured_by": {
+ "destination": {
+ "example": "Miami",
"type": "string"
},
- "home_team": {
+ "end_date": {
+ "example": "2026-08-17",
"type": "string"
},
- "id": {
+ "locale": {
+ "example": "en_US",
"type": "string"
},
- "is_editable": {
- "type": "boolean"
+ "page": {
+ "example": 1,
+ "type": "integer"
},
- "is_manually_created": {
- "type": "boolean"
+ "page_size": {
+ "example": 20,
+ "type": "integer"
},
- "legs": {
+ "start_date": {
+ "example": "2026-08-04",
+ "type": "string"
+ }
+ },
+ "required": [
+ "destination",
+ "end_date",
+ "start_date"
+ ],
+ "type": "object"
+ },
+ "expedia.ActivitySearchResponse": {
+ "properties": {
+ "activities": {
"items": {
- "$ref": "#/definitions/fanduel.SportsbookParlayLeg"
+ "$ref": "#/definitions/expedia.ActivityListing"
},
"type": "array"
},
- "narrative": {
+ "destination": {
"type": "string"
},
- "total_bets": {
+ "page": {
"type": "integer"
},
- "type": {
+ "region_id": {
"type": "string"
+ },
+ "total_count": {
+ "type": "integer"
}
},
"type": "object"
},
- "fanduel.SportsbookParlayEventGroup": {
+ "expedia.FlightOffer": {
"properties": {
- "away_team": {
+ "airline": {
"type": "string"
},
- "event_id": {
- "type": "integer"
- },
- "event_name": {
+ "arrival_time": {
"type": "string"
},
- "home_team": {
+ "departure_time": {
"type": "string"
},
- "open_date": {
+ "duration_summary": {
"type": "string"
},
- "parlay_ids": {
- "items": {
- "type": "string"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "fanduel.SportsbookParlayFilter": {
- "properties": {
- "competition_ids": {
- "items": {
- "type": "integer"
- },
- "type": "array"
+ "price": {
+ "type": "string"
},
- "id": {
+ "price_note": {
"type": "string"
},
- "text": {
+ "route": {
"type": "string"
+ },
+ "stops": {
+ "type": "integer"
}
},
"type": "object"
},
- "fanduel.SportsbookParlayLeg": {
+ "expedia.FlightsSearchOption": {
"properties": {
- "competition_id": {
+ "adults": {
+ "example": 1,
"type": "integer"
},
- "event_id": {
- "type": "integer"
+ "cabin_class": {
+ "example": "COACH",
+ "type": "string"
},
- "event_name": {
+ "currency": {
+ "example": "USD",
"type": "string"
},
- "market": {
+ "departure_date": {
+ "example": "2026-08-17",
"type": "string"
},
- "market_id": {
+ "destination": {
+ "example": "LAX",
"type": "string"
},
- "market_type": {
+ "locale": {
+ "example": "en_US",
"type": "string"
},
- "selection": {
+ "origin": {
+ "example": "JFK",
"type": "string"
},
- "selection_id": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "fanduel.SportsbookParlayTypeCount": {
- "properties": {
- "count": {
- "type": "integer"
+ "return_date": {
+ "example": "2026-08-18",
+ "type": "string"
},
- "type": {
+ "trip_type": {
+ "example": "round_trip",
"type": "string"
}
},
+ "required": [
+ "departure_date",
+ "destination",
+ "origin"
+ ],
"type": "object"
},
- "fanduel.SportsbookParlaysResponse": {
+ "expedia.FlightsSearchResponse": {
"properties": {
- "card_cap": {
- "type": "integer"
- },
- "event_groups": {
- "items": {
- "$ref": "#/definitions/fanduel.SportsbookParlayEventGroup"
- },
- "type": "array"
- },
- "event_id": {
- "type": "integer"
- },
- "fetched_at": {
+ "departure_date": {
"type": "string"
},
- "filters": {
- "items": {
- "$ref": "#/definitions/fanduel.SportsbookParlayFilter"
- },
- "type": "array"
+ "destination": {
+ "type": "string"
},
- "parlays": {
+ "offers": {
"items": {
- "$ref": "#/definitions/fanduel.SportsbookParlay"
+ "$ref": "#/definitions/expedia.FlightOffer"
},
"type": "array"
},
- "state": {
+ "origin": {
"type": "string"
},
- "truncated": {
- "type": "boolean"
- },
- "types": {
- "items": {
- "$ref": "#/definitions/fanduel.SportsbookParlayTypeCount"
- },
- "type": "array"
- },
- "view": {
+ "return_date": {
"type": "string"
}
},
"type": "object"
},
- "fanduel.SportsbookPeriodScore": {
+ "expedia.LocationSearchOption": {
"properties": {
- "away": {
- "type": "integer"
+ "currency": {
+ "example": "USD",
+ "type": "string"
},
- "home": {
- "type": "integer"
+ "locale": {
+ "example": "en_US",
+ "type": "string"
},
- "period": {
+ "term": {
+ "example": "Miami",
"type": "string"
}
},
+ "required": [
+ "term"
+ ],
"type": "object"
},
- "fanduel.SportsbookPlacement": {
+ "expedia.LocationSearchResponse": {
"properties": {
- "placement": {
- "type": "string"
- },
- "promo_codes": {
+ "items": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/expedia.LocationSuggestion"
},
"type": "array"
+ },
+ "term": {
+ "type": "string"
}
},
"type": "object"
},
- "fanduel.SportsbookPlayByPlayResponse": {
+ "expedia.LocationSuggestion": {
"properties": {
- "available": {
- "type": "boolean"
+ "airport_code": {
+ "type": "string"
},
- "current": {
- "type": "boolean"
+ "geo_type": {
+ "type": "string"
},
- "event_id": {
- "type": "integer"
+ "latitude": {
+ "type": "number"
},
- "feed": {
- "additionalProperties": {},
- "type": "object"
+ "location_full_name": {
+ "type": "string"
},
- "fetched_at": {
+ "longitude": {
+ "type": "number"
+ },
+ "primary_text": {
"type": "string"
},
- "status": {
+ "property_id": {
+ "type": "string"
+ },
+ "region_id": {
+ "type": "string"
+ },
+ "secondary_text": {
+ "type": "string"
+ },
+ "type": {
"type": "string"
}
},
"type": "object"
},
- "fanduel.SportsbookPlayer": {
+ "expedia.PropertyDetailOption": {
"properties": {
- "abbreviated_name": {
- "type": "string"
+ "adults": {
+ "example": 2,
+ "type": "integer"
},
- "name": {
+ "check_in": {
+ "example": "2026-08-04",
"type": "string"
},
- "number": {
+ "check_out": {
+ "example": "2026-08-05",
"type": "string"
},
- "player_id": {
+ "currency": {
+ "example": "USD",
"type": "string"
},
- "position": {
+ "locale": {
+ "example": "en_US",
"type": "string"
},
- "team": {
+ "property_id": {
+ "example": "111893452",
"type": "string"
}
},
+ "required": [
+ "check_in",
+ "check_out",
+ "property_id"
+ ],
"type": "object"
},
- "fanduel.SportsbookPlayerNewsResponse": {
+ "expedia.PropertyDetailResponse": {
"properties": {
- "articles": {
+ "address": {
+ "type": "string"
+ },
+ "amenities": {
"items": {
- "$ref": "#/definitions/fanduel.SportsbookTeamArticle"
+ "type": "string"
},
"type": "array"
},
- "fetched_at": {
+ "city": {
"type": "string"
},
- "has_more": {
- "type": "boolean"
- },
- "league": {
+ "country_code": {
"type": "string"
},
+ "latitude": {
+ "type": "number"
+ },
+ "longitude": {
+ "type": "number"
+ },
"name": {
"type": "string"
},
- "next_cursor": {
+ "property_id": {
"type": "string"
},
- "player": {
+ "province": {
"type": "string"
},
- "player_updates": {
- "items": {
- "additionalProperties": {},
- "type": "object"
- },
- "type": "array"
+ "star_rating": {
+ "type": "number"
+ },
+ "vip_message": {
+ "type": "string"
}
},
"type": "object"
},
- "fanduel.SportsbookPlayerPropEvent": {
+ "expedia.PropertyFilterField": {
"properties": {
- "date": {
- "type": "string"
- },
- "event_id": {
- "type": "integer"
- },
- "event_name": {
+ "label": {
"type": "string"
},
- "markets": {
+ "options": {
"items": {
- "$ref": "#/definitions/fanduel.SportsbookPlayerPropMarket"
+ "$ref": "#/definitions/expedia.PropertyFilterOption"
},
"type": "array"
+ },
+ "range_max": {
+ "type": "number"
+ },
+ "range_min": {
+ "type": "number"
+ },
+ "type": {
+ "type": "string"
}
},
"type": "object"
},
- "fanduel.SportsbookPlayerPropMarket": {
+ "expedia.PropertyFilterOption": {
"properties": {
- "market_id": {
+ "filter_id": {
"type": "string"
},
- "market_type": {
+ "label": {
"type": "string"
},
- "name": {
- "type": "string"
+ "selected": {
+ "type": "boolean"
},
- "selections": {
+ "value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "expedia.PropertyFilterSection": {
+ "properties": {
+ "fields": {
"items": {
- "$ref": "#/definitions/fanduel.SportsbookPlayerPropSelection"
+ "$ref": "#/definitions/expedia.PropertyFilterField"
},
"type": "array"
+ },
+ "title": {
+ "type": "string"
}
},
"type": "object"
},
- "fanduel.SportsbookPlayerPropSelection": {
+ "expedia.PropertyFiltersOption": {
"properties": {
- "handicap": {
- "type": "number"
+ "adults": {
+ "example": 2,
+ "type": "integer"
},
- "odds": {
+ "check_in": {
+ "example": "2026-08-04",
"type": "string"
},
- "runner": {
+ "check_out": {
+ "example": "2026-08-05",
"type": "string"
},
- "selection_id": {
+ "currency": {
+ "example": "USD",
+ "type": "string"
+ },
+ "destination": {
+ "example": "Miami",
+ "type": "string"
+ },
+ "locale": {
+ "example": "en_US",
+ "type": "string"
+ },
+ "rooms": {
+ "example": 1,
"type": "integer"
}
},
+ "required": [
+ "check_in",
+ "check_out",
+ "destination"
+ ],
"type": "object"
},
- "fanduel.SportsbookPlayerProps": {
+ "expedia.PropertyFiltersResponse": {
"properties": {
- "events": {
+ "destination": {
+ "type": "string"
+ },
+ "region_id": {
+ "type": "string"
+ },
+ "sections": {
"items": {
- "$ref": "#/definitions/fanduel.SportsbookPlayerPropEvent"
+ "$ref": "#/definitions/expedia.PropertyFilterSection"
},
"type": "array"
},
- "player": {
- "type": "string"
- },
- "slug": {
- "type": "string"
+ "sort_options": {
+ "items": {
+ "$ref": "#/definitions/expedia.PropertyFilterOption"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "fanduel.SportsbookPlayerPropsResponse": {
+ "expedia.PropertyListing": {
"properties": {
- "content_text": {
- "type": "string"
- },
- "events": {
+ "amenities": {
"items": {
- "$ref": "#/definitions/fanduel.SportsbookPlayerPropEvent"
+ "type": "string"
},
"type": "array"
},
- "fetched_at": {
- "type": "string"
+ "badges": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "league": {
+ "id": {
"type": "string"
},
"name": {
"type": "string"
},
- "player": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "fanduel.SportsbookPlayerResponse": {
- "properties": {
- "fetched_at": {
+ "nightly_price": {
"type": "string"
},
- "game_log": {},
- "league": {
+ "price": {
"type": "string"
},
- "name": {
- "type": "string"
+ "review_count": {
+ "type": "integer"
},
- "news": {
- "items": {
- "$ref": "#/definitions/fanduel.SportsbookTeamArticle"
- },
- "type": "array"
+ "review_score": {
+ "type": "number"
},
- "player": {
+ "review_title": {
"type": "string"
},
- "player_updates": {
- "items": {
- "additionalProperties": {},
- "type": "object"
- },
- "type": "array"
+ "strikeout_price": {
+ "type": "string"
},
- "position": {
+ "thumbnail_url": {
"type": "string"
},
- "projections": {},
- "season": {
- "additionalProperties": {},
- "type": "object"
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "expedia.PropertyReview": {
+ "properties": {
+ "date": {
+ "type": "string"
},
- "season_totals": {},
- "stats": {
- "additionalProperties": {},
- "type": "object"
+ "message": {
+ "type": "string"
},
- "team": {
+ "rating_label": {
"type": "string"
},
- "team_slug": {
+ "reviewer_name": {
"type": "string"
+ },
+ "verified": {
+ "type": "boolean"
}
},
"type": "object"
},
- "fanduel.SportsbookPlayerStatsResponse": {
+ "expedia.PropertyReviewsOption": {
"properties": {
- "fetched_at": {
- "type": "string"
+ "adults": {
+ "example": 2,
+ "type": "integer"
},
- "league": {
+ "check_in": {
+ "example": "2026-08-04",
"type": "string"
},
- "name": {
+ "check_out": {
+ "example": "2026-08-05",
"type": "string"
},
- "player": {
+ "currency": {
+ "example": "USD",
"type": "string"
},
- "position": {
+ "locale": {
+ "example": "en_US",
"type": "string"
},
- "stats": {
- "additionalProperties": {},
- "type": "object"
+ "property_id": {
+ "example": "111893452",
+ "type": "string"
}
},
+ "required": [
+ "check_in",
+ "check_out",
+ "property_id"
+ ],
"type": "object"
},
- "fanduel.SportsbookPlayersResponse": {
+ "expedia.PropertyReviewsResponse": {
"properties": {
- "fetched_at": {
+ "overall_rating": {
"type": "string"
},
- "league": {
+ "property_id": {
"type": "string"
},
- "limit": {
- "type": "integer"
- },
- "offset": {
- "type": "integer"
- },
- "players": {
+ "reviews": {
"items": {
- "$ref": "#/definitions/fanduel.SportsbookDirectoryPlayer"
+ "$ref": "#/definitions/expedia.PropertyReview"
},
"type": "array"
- },
- "total": {
- "type": "integer"
}
},
"type": "object"
},
- "fanduel.SportsbookPriceRunner": {
+ "expedia.PropertySearchOption": {
"properties": {
- "american_odds": {
+ "adults": {
+ "example": 2,
"type": "integer"
},
- "decimal_odds": {
- "type": "number"
+ "check_in": {
+ "example": "2026-08-04",
+ "type": "string"
},
- "fractional_odds": {
+ "check_out": {
+ "example": "2026-08-05",
"type": "string"
},
- "handicap": {
- "type": "number"
+ "currency": {
+ "example": "USD",
+ "type": "string"
},
- "previous_american_odds": {
- "description": "PreviousAmericanOdds and PreviousDecimalOdds are the price immediately\nbefore the current one, present once the price has moved.",
- "type": "integer"
+ "destination": {
+ "example": "Miami",
+ "type": "string"
},
- "previous_decimal_odds": {
- "type": "number"
+ "locale": {
+ "example": "en_US",
+ "type": "string"
},
- "selection_id": {
+ "page": {
+ "example": 1,
"type": "integer"
},
- "status": {
- "type": "string"
+ "page_size": {
+ "example": 20,
+ "type": "integer"
+ },
+ "rooms": {
+ "example": 1,
+ "type": "integer"
}
},
+ "required": [
+ "check_in",
+ "check_out",
+ "destination"
+ ],
"type": "object"
},
- "fanduel.SportsbookPromotion": {
+ "expedia.PropertySearchResponse": {
"properties": {
- "button_text": {
- "type": "string"
- },
- "button_url": {
+ "check_in": {
"type": "string"
},
- "ends_at": {
+ "check_out": {
"type": "string"
},
- "image_url": {
+ "destination": {
"type": "string"
},
- "name": {
- "type": "string"
+ "page": {
+ "type": "integer"
},
- "products": {
+ "properties": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/expedia.PropertyListing"
},
"type": "array"
},
- "promo_code": {
+ "region_id": {
"type": "string"
},
- "tags": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "title": {
+ "results_label": {
"type": "string"
}
},
"type": "object"
},
- "fanduel.SportsbookPromotionsResponse": {
+ "expedia.expediaActivitySearchResponseDoc": {
"properties": {
- "context": {
- "type": "string"
- },
- "custom_page_id": {
- "type": "string"
- },
- "event_type_id": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "fetched_at": {
- "type": "string"
- },
- "placements": {
- "items": {
- "$ref": "#/definitions/fanduel.SportsbookPlacement"
- },
- "type": "array"
- },
- "promotions": {
- "items": {
- "$ref": "#/definitions/fanduel.SportsbookPromotion"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/expedia.ActivitySearchResponse"
},
- "state": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "tags": {
- "items": {
- "$ref": "#/definitions/fanduel.SportsbookTagCount"
- },
- "type": "array"
}
},
"type": "object"
},
- "fanduel.SportsbookRosterPlayer": {
+ "expedia.expediaFlightsSearchResponseDoc": {
"properties": {
- "college": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "experience": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/expedia.FlightsSearchResponse"
},
- "height": {
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "expedia.expediaLocationSearchResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "injury_status": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/expedia.LocationSearchResponse"
},
- "name": {
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "expedia.expediaPropertyDetailResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "number": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/expedia.PropertyDetailResponse"
},
- "photo_url": {
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "expedia.expediaPropertyFiltersResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "position": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/expedia.PropertyFiltersResponse"
},
- "slug": {
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "expedia.expediaPropertyReviewsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "status": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/expedia.PropertyReviewsResponse"
},
- "weight": {
- "type": "integer"
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "fanduel.SportsbookRosterResponse": {
+ "expedia.expediaPropertySearchResponseDoc": {
"properties": {
- "fetched_at": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "injury_statuses": {
- "items": {
- "$ref": "#/definitions/fanduel.SportsbookValueCount"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/expedia.PropertySearchResponse"
},
- "league": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "players": {
+ }
+ },
+ "type": "object"
+ },
+ "expresstribune.AuthorResponse": {
+ "properties": {
+ "articles": {
"items": {
- "$ref": "#/definitions/fanduel.SportsbookRosterPlayer"
+ "$ref": "#/definitions/newsplatform.HeadlineItem"
},
"type": "array"
},
- "positions": {
- "items": {
- "$ref": "#/definitions/fanduel.SportsbookValueCount"
- },
- "type": "array"
+ "has_next_page": {
+ "type": "boolean"
},
- "statuses": {
- "items": {
- "$ref": "#/definitions/fanduel.SportsbookValueCount"
- },
- "type": "array"
+ "name": {
+ "type": "string"
},
- "team": {
+ "page": {
+ "type": "integer"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "fanduel.SportsbookRunner": {
+ "extract.Option": {
"properties": {
- "abbreviation": {
+ "instructions": {
+ "example": "Extract the product name and current price.",
"type": "string"
},
- "american_odds": {
- "type": "integer"
- },
- "decimal_odds": {
- "type": "number"
- },
- "fractional_odds": {
+ "render": {
+ "enum": [
+ "auto",
+ "http",
+ "browser"
+ ],
+ "example": "auto",
"type": "string"
},
- "handicap": {
- "type": "number"
- },
- "is_player": {
- "type": "boolean"
+ "schema": {
+ "additionalProperties": {},
+ "type": "object"
},
- "jersey_number": {
+ "url": {
+ "example": "https://example.com/product",
+ "type": "string"
+ }
+ },
+ "required": [
+ "schema",
+ "url"
+ ],
+ "type": "object"
+ },
+ "extract.Result": {
+ "properties": {
+ "data": {},
+ "final_url": {
"type": "string"
},
- "logo_url": {
+ "model": {
"type": "string"
},
- "name": {
+ "truncated": {
+ "description": "Truncated is true when the page was longer than the extraction input\nlimit, so only its first part was considered.",
+ "example": false,
+ "type": "boolean"
+ },
+ "url": {
"type": "string"
},
- "previous_american_odds": {
- "description": "PreviousAmericanOdds and PreviousDecimalOdds are the price immediately\nbefore the current one, present once the price has moved. The Sportsbook\nkeeps a single previous price, not a series.",
+ "usage": {
+ "$ref": "#/definitions/extract.Usage"
+ }
+ },
+ "type": "object"
+ },
+ "extract.Usage": {
+ "properties": {
+ "input_tokens": {
"type": "integer"
},
- "previous_decimal_odds": {
- "type": "number"
+ "output_tokens": {
+ "type": "integer"
},
- "selection_id": {
+ "total_tokens": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "extract.responseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "side": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/extract.Result"
},
- "status": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "fanduel.SportsbookScheduleGame": {
+ "facebook.MarketplaceListing": {
"properties": {
- "bye_week": {
- "type": "boolean"
- },
- "cancelled": {
- "type": "boolean"
+ "city": {
+ "example": "Austin",
+ "type": "string"
},
- "date": {
+ "id": {
+ "example": "1548909030206114",
"type": "string"
},
- "location": {
+ "image": {
+ "example": "https://scontent.fsgn12-1.fna.fbcdn.net/v/t39.84726-6/763156366_1318061980540811_5053765390157515593_n.jpg",
"type": "string"
},
- "opponent": {
- "$ref": "#/definitions/fanduel.SportsbookTeamRef"
+ "price": {
+ "$ref": "#/definitions/facebook.MarketplacePrice"
},
- "opponent_record": {
+ "state": {
+ "example": "TX",
"type": "string"
},
- "opponent_score": {
- "type": "integer"
+ "title": {
+ "example": "Electric bike",
+ "type": "string"
},
- "postponed": {
- "type": "boolean"
+ "url": {
+ "example": "https://www.facebook.com/marketplace/item/1548909030206114/",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "facebook.MarketplacePrice": {
+ "properties": {
+ "amount": {
+ "example": "4500.00",
+ "type": "string"
},
- "team_score": {
- "type": "integer"
+ "currency": {
+ "example": "USD",
+ "type": "string"
},
- "venue": {
+ "formatted": {
+ "description": "Formatted is Facebook's own display string, e.g. \"$4,500\" or \"FREE\".",
+ "example": "$4,500",
"type": "string"
},
- "week": {
- "type": "integer"
+ "isFree": {
+ "description": "IsFree is true when the listing has no price (Formatted == \"FREE\").",
+ "example": false,
+ "type": "boolean"
}
},
"type": "object"
},
- "fanduel.SportsbookScheduleGroup": {
+ "facebook.MarketplaceSearchResult": {
"properties": {
- "games": {
+ "category": {
+ "example": "vehicles",
+ "type": "string"
+ },
+ "hasMore": {
+ "example": true,
+ "type": "boolean"
+ },
+ "listings": {
"items": {
- "$ref": "#/definitions/fanduel.SportsbookLeagueGame"
+ "$ref": "#/definitions/facebook.MarketplaceListing"
},
"type": "array"
},
- "season_type": {
+ "location": {
+ "example": "austin",
"type": "string"
},
- "title": {
+ "query": {
+ "example": "bike",
+ "type": "string"
+ },
+ "sourceUrl": {
+ "example": "https://www.facebook.com/marketplace/austin/search/?query=bike",
"type": "string"
}
},
"type": "object"
},
- "fanduel.SportsbookScheduleResponse": {
+ "facebook.Page": {
"properties": {
- "fetched_at": {
+ "address": {
+ "example": "9985 Arthur Hills CT, Sacramento, CA, United States, California",
"type": "string"
},
- "league": {
+ "category": {
+ "example": "Marketing Agency",
"type": "string"
},
- "next_game": {
- "$ref": "#/definitions/fanduel.SportsbookGameSummary"
+ "company": {
+ "example": "Seo Marketing Wiz",
+ "type": "string"
},
- "previous_game": {
- "$ref": "#/definitions/fanduel.SportsbookGameSummary"
+ "email": {
+ "example": "contact@seomarketingwiz.com",
+ "type": "string"
},
- "seasons": {
+ "emails": {
+ "description": "Fields populated by the Go-native browser-rendered extractor (parse.go).",
+ "example": [
+ "[\"contact@seomarketingwiz.com\"]"
+ ],
"items": {
- "$ref": "#/definitions/fanduel.SportsbookScheduleSeason"
+ "type": "string"
},
"type": "array"
},
- "team": {
+ "hours": {
+ "description": "Hours is the About panel's business-hours summary text (e.g. \"Open now\",\n\"Closes at 9 PM\", \"Opening soon\"), when the Page publishes one. Not a\nstructured weekly schedule.",
+ "example": "Open now",
"type": "string"
- }
- },
- "type": "object"
- },
- "fanduel.SportsbookScheduleSeason": {
- "properties": {
- "games": {
+ },
+ "intro": {
+ "example": "Marketing professionals with 20 years of experience wanting to provide digital marketing services to",
+ "type": "string"
+ },
+ "latestPostAt": {
+ "example": "2020-11-26T00:00:00.000Z",
+ "type": "string"
+ },
+ "og": {
+ "properties": {
+ "description": {
+ "example": "SEO Marketing Wiz, Sacramento, California. 521 likes. Marketing professionals with 20 years of experience wanting to provide digital marketing services to",
+ "type": "string"
+ },
+ "image": {
+ "example": "https://scontent-dfw5-2.xx.fbcdn.net/v/t39.30808-1/279690292_375554114584870_8657447943866659854_n.png?cstp=mx200x200&ctp=s200x200&_nc_cat=100&ccb=1-7&_nc_sid=3ab345&_nc_ohc=cJ5c41eGYbkQ7kNvwFpyUu7&_nc_oc=AdmE_uznxjhjbFVzL_VatcILSjMcv56Yft-_-icARncJRyR5i3CLrlh-9ZnkTHvyQWg&_nc_zt=24&_nc_ht=scontent-dfw5-2.xx&_nc_gid=JfTmimRDWsc3S1tfuZSW1A&oh=00_AfIjr4QtVdPoXb42NKwayq1Ud-aqW3G8YNoQ8Q9d2eDFEQ&oe=6827F32E",
+ "type": "string"
+ },
+ "title": {
+ "example": "SEO Marketing Wiz | Sacramento CA",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "pageId": {
+ "description": "PageID is Facebook's stable numeric Page identifier -- unlike the vanity\nname/handle, it never changes even if the Page is renamed.",
+ "example": "100063763354867",
+ "type": "string"
+ },
+ "phones": {
+ "example": [
+ "[\"+1 555 123 4567\"]"
+ ],
"items": {
- "$ref": "#/definitions/fanduel.SportsbookScheduleGame"
+ "type": "string"
},
"type": "array"
},
- "season_type": {
+ "priceRange": {
+ "description": "PriceRange is the About panel's price-tier text (e.g. \"Price range · $$\"),\nwhen the Page publishes one.",
+ "example": "Price range · $$",
"type": "string"
},
- "title": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "fanduel.SportsbookScheduleWeek": {
- "properties": {
- "current_week": {
- "type": "boolean"
+ "reviewCount": {
+ "example": 0,
+ "type": "integer"
},
- "end_date": {
+ "sourceUrl": {
+ "example": "https://www.facebook.com/nike/about",
"type": "string"
},
- "id": {
+ "stats": {
+ "properties": {
+ "followers": {
+ "example": 526,
+ "type": "integer"
+ },
+ "likes": {
+ "example": 521,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "talking": {
+ "example": 12,
"type": "integer"
},
- "label": {
+ "title": {
+ "example": "SEO Marketing Wiz",
"type": "string"
},
- "season_type": {
+ "website": {
+ "example": "http://www.seomarketingwiz.com/",
"type": "string"
},
- "start_date": {
+ "wereHere": {
+ "example": 3,
+ "type": "integer"
+ },
+ "whatsapp": {
+ "description": "WhatsApp is the Page's configured WhatsApp Business \"Message us\" number,\nwhen set up. See ParsePage's field_type extraction.",
+ "example": "+1 800-242-8478",
"type": "string"
}
},
"type": "object"
},
- "fanduel.SportsbookScore": {
+ "facebook.marketplaceSearchResponseDoc": {
"properties": {
- "away": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "clock": {
- "type": "string"
- },
- "home": {
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/facebook.MarketplaceSearchResult"
},
- "period_scores": {
- "items": {
- "$ref": "#/definitions/fanduel.SportsbookPeriodScore"
- },
- "type": "array"
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "fanduel.SportsbookSearchAncestor": {
+ "facebook.pageResponseDoc": {
"properties": {
- "id": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "name": {
+ "data": {
+ "$ref": "#/definitions/facebook.Page"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "fanduel.SportsbookSearchCompetition": {
+ "faceit.Ban": {
"properties": {
- "competition_id": {
- "type": "integer"
+ "avatar": {
+ "type": "string"
},
- "event_type_id": {
+ "country": {
+ "example": "pl",
+ "type": "string"
+ },
+ "duration_in_millis": {
+ "example": 2592000000,
"type": "integer"
},
- "event_type_name": {
+ "ends_at": {
+ "example": "2026-12-09T10:31:00Z",
"type": "string"
},
- "match_count": {
- "type": "integer"
+ "id": {
+ "example": "6af1a0f50e490c15f7d4b702",
+ "type": "string"
},
- "name": {
+ "nickname": {
+ "example": "Sveg_3",
+ "type": "string"
+ },
+ "reason": {
+ "example": "toxicity",
+ "type": "string"
+ },
+ "starts_at": {
+ "example": "2026-11-09T10:31:00Z",
+ "type": "string"
+ },
+ "user_id": {
+ "example": "f7c7415f-8d32-463e-8aa4-25a6de2c9c02",
"type": "string"
}
},
"type": "object"
},
- "fanduel.SportsbookSearchEvent": {
+ "faceit.BanReasonsResponse": {
"properties": {
- "competition_id": {
- "type": "integer"
- },
- "competition_name": {
- "type": "string"
- },
- "event_id": {
- "type": "integer"
- },
- "event_type_id": {
+ "count": {
+ "example": 2,
"type": "integer"
},
- "event_type_name": {
+ "fetched_at": {
+ "example": "2026-11-09T11:30:00Z",
"type": "string"
},
- "in_play": {
- "type": "boolean"
+ "reasons": {
+ "example": [
+ "toxicity"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "name": {
+ "source_url": {
+ "example": "https://api.faceit.com/ranking/v1/globalranking/cs2/EU?limit=20",
"type": "string"
},
- "open_date": {
+ "verified_at": {
+ "example": "2026-11-09",
"type": "string"
}
},
"type": "object"
},
- "fanduel.SportsbookSearchHit": {
+ "faceit.BanlistResponse": {
"properties": {
- "ancestry": {
+ "bans": {
"items": {
- "$ref": "#/definitions/fanduel.SportsbookSearchAncestor"
+ "$ref": "#/definitions/faceit.Ban"
},
"type": "array"
},
- "competition": {
- "type": "string"
- },
- "competition_id": {
- "type": "string"
- },
- "event_category": {
- "type": "integer"
- },
- "exchange_id": {
+ "count": {
+ "example": 2,
"type": "integer"
},
- "result_id": {
- "type": "string"
- },
- "sport": {
- "type": "string"
- },
- "sport_id": {
- "type": "string"
- },
- "start_date": {
+ "cursor": {
"type": "string"
},
- "subtype": {
+ "fetched_at": {
+ "example": "2026-11-09T11:30:00Z",
"type": "string"
},
- "title": {
- "type": "string"
+ "size": {
+ "example": 25,
+ "type": "integer"
},
- "type": {
+ "source_url": {
+ "example": "https://api.faceit.com/ranking/v1/globalranking/cs2/EU?limit=20",
"type": "string"
}
},
"type": "object"
},
- "fanduel.SportsbookSearchPill": {
+ "faceit.BanlistStatsResponse": {
"properties": {
- "id": {
+ "count": {
+ "example": 2,
"type": "integer"
},
- "title": {
+ "fetched_at": {
+ "example": "2026-11-09T11:30:00Z",
+ "type": "string"
+ },
+ "last_12_months": {
+ "example": 283717,
+ "type": "integer"
+ },
+ "last_30_days": {
+ "example": 27701,
+ "type": "integer"
+ },
+ "source_url": {
+ "example": "https://api.faceit.com/ranking/v1/globalranking/cs2/EU?limit=20",
"type": "string"
}
},
"type": "object"
},
- "fanduel.SportsbookSearchResponse": {
+ "faceit.BestClipsResponse": {
"properties": {
- "competitions": {
+ "clips": {
"items": {
- "$ref": "#/definitions/fanduel.SportsbookSearchCompetition"
+ "$ref": "#/definitions/faceit.Clip"
},
"type": "array"
},
- "events": {
- "items": {
- "$ref": "#/definitions/fanduel.SportsbookSearchEvent"
- },
- "type": "array"
+ "count": {
+ "example": 2,
+ "type": "integer"
},
"fetched_at": {
+ "example": "2026-11-09T11:30:00Z",
"type": "string"
},
- "query": {
+ "from": {
+ "example": "2026-01-01T00:00:00Z",
"type": "string"
},
- "state": {
+ "game": {
+ "example": "cs2",
"type": "string"
},
- "type": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "fanduel.SportsbookSearchTab": {
- "properties": {
- "id": {
+ "limit": {
+ "example": 10,
+ "type": "integer"
+ },
+ "source_url": {
+ "example": "https://api.faceit.com/ranking/v1/globalranking/cs2/EU?limit=20",
"type": "string"
},
- "title": {
+ "to": {
+ "example": "2026-11-10T00:00:00Z",
"type": "string"
}
},
"type": "object"
},
- "fanduel.SportsbookSearchTabsResponse": {
+ "faceit.Championship": {
"properties": {
- "fetched_at": {
- "type": "string"
+ "ac_required": {
+ "type": "boolean"
},
- "found": {
+ "admin_tool_enabled": {
+ "type": "boolean"
+ },
+ "archived": {
+ "type": "boolean"
+ },
+ "calculate_elo": {
+ "type": "boolean"
+ },
+ "championship_start": {
"type": "integer"
},
- "next_start_index": {
+ "checkin_clear": {
"type": "integer"
},
- "page_size": {
+ "checkin_enabled": {
+ "type": "boolean"
+ },
+ "checkin_start": {
"type": "integer"
},
- "pill": {
+ "current_subscriptions": {
+ "type": "integer"
+ },
+ "featured": {
+ "type": "boolean"
+ },
+ "full": {
+ "type": "boolean"
+ },
+ "game": {
"type": "string"
},
- "pills": {
- "items": {
- "$ref": "#/definitions/fanduel.SportsbookSearchPill"
+ "group_seeding_strategy": {
+ "type": "string"
+ },
+ "groups": {
+ "additionalProperties": {
+ "$ref": "#/definitions/faceit.ChampionshipGroup"
},
- "type": "array"
+ "type": "object"
},
- "query": {
+ "id": {
"type": "string"
},
- "results": {
- "items": {
- "$ref": "#/definitions/fanduel.SportsbookSearchHit"
+ "join_checks": {
+ "$ref": "#/definitions/faceit.ChampionshipJoinChecks"
+ },
+ "leaderboard_points": {
+ "additionalProperties": {
+ "type": "integer"
},
- "type": "array"
+ "type": "object"
},
- "start_index": {
- "type": "integer"
+ "match_configuration": {
+ "$ref": "#/definitions/faceit.ChampionshipMatchConfiguration"
},
- "state": {
+ "name": {
"type": "string"
},
- "tab": {
+ "organizer": {
+ "$ref": "#/definitions/faceit.ChampionshipOrganizer"
+ },
+ "organizer_id": {
"type": "string"
},
- "tabs": {
+ "participants": {
+ "$ref": "#/definitions/faceit.ChampionshipParticipants"
+ },
+ "published": {
+ "type": "boolean"
+ },
+ "ranking_type": {
+ "type": "string"
+ },
+ "region": {
+ "type": "string"
+ },
+ "roles": {
"items": {
- "$ref": "#/definitions/fanduel.SportsbookSearchTab"
+ "$ref": "#/definitions/faceit.ChampionshipRole"
},
"type": "array"
},
- "total_results": {
+ "round_seeding_strategy": {
+ "type": "string"
+ },
+ "schedule": {
+ "additionalProperties": {
+ "$ref": "#/definitions/faceit.ChampionshipSchedule"
+ },
+ "type": "object"
+ },
+ "slots": {
+ "type": "integer"
+ },
+ "status": {
+ "type": "string"
+ },
+ "subscription_end": {
+ "type": "integer"
+ },
+ "subscription_start": {
+ "type": "integer"
+ },
+ "subscriptions_locked": {
+ "type": "boolean"
+ },
+ "substitution": {
+ "$ref": "#/definitions/faceit.ChampionshipSubstitution"
+ },
+ "total_groups": {
+ "type": "integer"
+ },
+ "total_rounds": {
"type": "integer"
+ },
+ "type": {
+ "type": "string"
}
},
"type": "object"
},
- "fanduel.SportsbookSplit": {
+ "faceit.ChampionshipBracketGroup": {
"properties": {
- "name": {
+ "championship_id": {
"type": "string"
},
- "percent": {
+ "delimiter": {
"type": "integer"
},
- "selection_id": {
+ "group": {
+ "type": "integer"
+ },
+ "matches": {
+ "items": {
+ "$ref": "#/definitions/faceit.ChampionshipBracketMatch"
+ },
+ "type": "array"
+ },
+ "number": {
"type": "integer"
+ },
+ "status": {
+ "type": "string"
}
},
"type": "object"
},
- "fanduel.SportsbookSport": {
+ "faceit.ChampionshipBracketMatch": {
"properties": {
- "event_type_id": {
+ "bracket_placement": {
"type": "integer"
},
- "name": {
+ "factions": {
+ "items": {
+ "$ref": "#/definitions/faceit.ChampionshipFaction"
+ },
+ "type": "array"
+ },
+ "status": {
"type": "string"
+ },
+ "total_factions": {
+ "type": "integer"
}
},
"type": "object"
},
- "fanduel.SportsbookSportsResponse": {
+ "faceit.ChampionshipBracketResponse": {
"properties": {
+ "count": {
+ "example": 2,
+ "type": "integer"
+ },
+ "end": {
+ "example": 1,
+ "type": "integer"
+ },
"fetched_at": {
+ "example": "2026-11-09T11:30:00Z",
"type": "string"
},
- "popular_links": {
+ "items": {
"items": {
- "$ref": "#/definitions/fanduel.SportsbookNavLink"
+ "$ref": "#/definitions/faceit.ChampionshipBracketGroup"
},
"type": "array"
},
- "quick_links": {
- "items": {
- "$ref": "#/definitions/fanduel.SportsbookNavLink"
- },
- "type": "array"
+ "source_url": {
+ "example": "https://api.faceit.com/ranking/v1/globalranking/cs2/EU?limit=20",
+ "type": "string"
},
- "sports": {
- "items": {
- "$ref": "#/definitions/fanduel.SportsbookSport"
- },
- "type": "array"
+ "start": {
+ "example": 0,
+ "type": "integer"
},
- "state": {
+ "total": {
+ "example": 1,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "faceit.ChampionshipFaction": {
+ "properties": {
+ "id": {
"type": "string"
},
- "states": {
+ "number": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "faceit.ChampionshipGroup": {
+ "properties": {
+ "capacity": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "faceit.ChampionshipJoinChecks": {
+ "properties": {
+ "allowed_team_types": {
+ "example": [
+ "user"
+ ],
"items": {
- "$ref": "#/definitions/fanduel.SportsbookState"
+ "type": "string"
},
"type": "array"
},
- "teaser_competitions": {
+ "blacklist_geo_countries": {
"items": {
- "$ref": "#/definitions/fanduel.SportsbookTeaserCompetition"
+ "type": "string"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "fanduel.SportsbookStandingsResponse": {
- "properties": {
- "fetched_at": {
- "type": "string"
},
- "league": {
+ "join_policy": {
+ "example": "public",
"type": "string"
},
- "team_count": {
+ "max_skill_level": {
+ "example": 10,
"type": "integer"
},
- "teams": {
+ "min_skill_level": {
+ "example": 1,
+ "type": "integer"
+ },
+ "whitelist_geo_countries": {
"items": {
- "$ref": "#/definitions/fanduel.SportsbookStandingsTeam"
+ "type": "string"
},
"type": "array"
}
},
"type": "object"
},
- "fanduel.SportsbookStandingsTeam": {
+ "faceit.ChampionshipMatchConfiguration": {
"properties": {
- "code": {
+ "best_of": {
+ "type": "integer"
+ },
+ "elo_type": {
"type": "string"
},
- "conference": {
+ "game": {
"type": "string"
},
- "division": {
+ "game_type": {
"type": "string"
},
- "logo_url": {
+ "id": {
"type": "string"
},
- "name": {
+ "label_en": {
"type": "string"
},
- "short_name": {
+ "max_players": {
+ "type": "integer"
+ },
+ "name": {
"type": "string"
},
- "slug": {
+ "region": {
"type": "string"
},
- "standing": {
- "additionalProperties": {},
- "type": "object"
+ "team_size": {
+ "type": "integer"
}
},
"type": "object"
},
- "fanduel.SportsbookState": {
+ "faceit.ChampionshipMember": {
"properties": {
- "code": {
+ "championship": {
+ "$ref": "#/definitions/faceit.ChampionshipMemberEvent"
+ },
+ "championship_status": {
"type": "string"
},
- "name": {
+ "id": {
"type": "string"
+ },
+ "roles": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "user": {
+ "$ref": "#/definitions/faceit.ChampionshipMemberUser"
}
},
"type": "object"
},
- "fanduel.SportsbookStatsListResponse": {
+ "faceit.ChampionshipMemberEvent": {
"properties": {
- "events": {
- "items": {
- "$ref": "#/definitions/fanduel.SportsbookEventStats"
- },
- "type": "array"
+ "game": {
+ "type": "string"
},
- "fetched_at": {
+ "id": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "organizer_id": {
"type": "string"
}
},
"type": "object"
},
- "fanduel.SportsbookStatsTeam": {
+ "faceit.ChampionshipMemberUser": {
"properties": {
- "name": {
+ "avatar_url": {
"type": "string"
},
- "primary_color": {
+ "country": {
"type": "string"
},
- "secondary_color": {
- "type": "string"
+ "games": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "selection_id": {
- "type": "integer"
+ "id": {
+ "type": "string"
},
- "side": {
+ "nickname": {
"type": "string"
}
},
"type": "object"
},
- "fanduel.SportsbookSuggestion": {
+ "faceit.ChampionshipOrganizer": {
"properties": {
- "highlighted": {
- "type": "string"
+ "features": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "text": {
+ "name": {
+ "example": "Extreme Competitions",
"type": "string"
}
},
"type": "object"
},
- "fanduel.SportsbookTab": {
+ "faceit.ChampionshipParticipants": {
"properties": {
- "event_count": {
+ "total": {
"type": "integer"
},
- "id": {
+ "with_reserved_slot": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "faceit.ChampionshipParticipantsResponse": {
+ "properties": {
+ "count": {
+ "example": 2,
+ "type": "integer"
+ },
+ "end": {
+ "example": 20,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "example": "2026-11-09T11:30:00Z",
"type": "string"
},
- "live_count": {
+ "items": {
+ "items": {
+ "$ref": "#/definitions/faceit.ChampionshipMember"
+ },
+ "type": "array"
+ },
+ "limit": {
+ "example": 20,
"type": "integer"
},
- "market_count": {
+ "offset": {
+ "example": 0,
"type": "integer"
},
- "slug": {
+ "source_url": {
+ "example": "https://api.faceit.com/ranking/v1/globalranking/cs2/EU?limit=20",
"type": "string"
},
- "title": {
- "type": "string"
+ "start": {
+ "example": 0,
+ "type": "integer"
}
},
"type": "object"
},
- "fanduel.SportsbookTagCount": {
+ "faceit.ChampionshipResponse": {
"properties": {
+ "championship": {
+ "$ref": "#/definitions/faceit.Championship"
+ },
"count": {
+ "example": 2,
"type": "integer"
},
- "tag": {
+ "fetched_at": {
+ "example": "2026-11-09T11:30:00Z",
+ "type": "string"
+ },
+ "source_url": {
+ "example": "https://api.faceit.com/ranking/v1/globalranking/cs2/EU?limit=20",
"type": "string"
}
},
"type": "object"
},
- "fanduel.SportsbookTeam": {
+ "faceit.ChampionshipRole": {
"properties": {
- "abbreviation": {
- "type": "string"
- },
- "color": {
- "type": "string"
- },
- "conference": {
- "type": "string"
- },
- "logo_url": {
+ "id": {
"type": "string"
},
"name": {
"type": "string"
- },
- "short_name": {
- "type": "string"
}
},
"type": "object"
},
- "fanduel.SportsbookTeamArticle": {
+ "faceit.ChampionshipSchedule": {
"properties": {
- "author": {
- "type": "string"
+ "date": {
+ "type": "integer"
},
- "id": {
+ "status": {
"type": "string"
},
- "published_at": {
+ "type": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "faceit.ChampionshipSearchResponse": {
+ "properties": {
+ "count": {
+ "example": 2,
+ "type": "integer"
},
- "source": {
+ "fetched_at": {
+ "example": "2026-11-09T11:30:00Z",
"type": "string"
},
- "summary": {
- "type": "string"
+ "items": {
+ "items": {
+ "$ref": "#/definitions/faceit.Leaderboard"
+ },
+ "type": "array"
},
- "thumbnail_url": {
- "type": "string"
+ "limit": {
+ "example": 20,
+ "type": "integer"
},
- "title": {
- "type": "string"
+ "offset": {
+ "example": 0,
+ "type": "integer"
},
- "url": {
+ "source_url": {
+ "example": "https://api.faceit.com/ranking/v1/globalranking/cs2/EU?limit=20",
"type": "string"
}
},
"type": "object"
},
- "fanduel.SportsbookTeamGameOdds": {
+ "faceit.ChampionshipSubstitution": {
"properties": {
- "money_line": {
- "$ref": "#/definitions/fanduel.SportsbookGameLine"
+ "max_substitutes": {
+ "type": "integer"
},
- "spread": {
- "$ref": "#/definitions/fanduel.SportsbookGameLine"
+ "max_substitutions": {
+ "type": "integer"
},
- "total": {
- "$ref": "#/definitions/fanduel.SportsbookGameLine"
+ "substitution_time": {
+ "type": "integer"
+ },
+ "substitutions_per_round_enabled": {
+ "type": "boolean"
}
},
"type": "object"
},
- "fanduel.SportsbookTeamGameRef": {
+ "faceit.Clip": {
"properties": {
- "event_url": {
+ "created_at": {
+ "example": "2026-07-15T19:57:51.637Z",
"type": "string"
},
- "home_game": {
- "type": "boolean"
+ "demo": {
+ "example": "1-bef84e57-4ce3-41aa-b5e5-2918228c1c28-1-1.dem.zst",
+ "type": "string"
},
- "opponent": {
+ "faceit_round": {
+ "example": 1,
+ "type": "integer"
+ },
+ "id": {
+ "example": "6a57e63f8d9a5a0549f503c8",
"type": "string"
},
- "scheduled_time": {
+ "map": {
+ "example": "Dust 2",
"type": "string"
},
+ "match_id": {
+ "example": "1-bef84e57-4ce3-41aa-b5e5-2918228c1c28",
+ "type": "string"
+ },
+ "match_instance_id": {
+ "example": "1-bef84e57-4ce3-41aa-b5e5-2918228c1c28-1-1",
+ "type": "string"
+ },
+ "reason": {
+ "example": "premium",
+ "type": "string"
+ },
+ "round": {
+ "example": 15,
+ "type": "integer"
+ },
"status": {
+ "example": "CLIP_STATUS_PROCESSED",
+ "type": "string"
+ },
+ "thumbnail_url": {
+ "type": "string"
+ },
+ "title": {
+ "example": "Dust 2 AK-47 1V5 Clutch",
+ "type": "string"
+ },
+ "updated_at": {
+ "example": "2026-07-15T20:00:48.827Z",
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "user_id": {
+ "example": "74df0e6b-5b41-42d7-93b4-05dc78b9a699",
+ "type": "string"
+ },
+ "views": {
+ "example": "893",
"type": "string"
}
},
"type": "object"
},
- "fanduel.SportsbookTeamGroup": {
+ "faceit.ClipResponse": {
"properties": {
- "teams": {
- "items": {
- "$ref": "#/definitions/fanduel.SportsbookTeamSummary"
- },
- "type": "array"
+ "clip": {
+ "$ref": "#/definitions/faceit.Clip"
},
- "title": {
+ "count": {
+ "example": 2,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "example": "2026-11-09T11:30:00Z",
+ "type": "string"
+ },
+ "source_url": {
+ "example": "https://api.faceit.com/ranking/v1/globalranking/cs2/EU?limit=20",
"type": "string"
}
},
"type": "object"
},
- "fanduel.SportsbookTeamNewsResponse": {
+ "faceit.ClipsResponse": {
"properties": {
- "articles": {
+ "clips": {
"items": {
- "$ref": "#/definitions/fanduel.SportsbookTeamArticle"
+ "$ref": "#/definitions/faceit.Clip"
},
"type": "array"
},
+ "count": {
+ "example": 2,
+ "type": "integer"
+ },
"fetched_at": {
+ "example": "2026-11-09T11:30:00Z",
"type": "string"
},
"has_more": {
+ "example": true,
"type": "boolean"
},
- "league": {
+ "limit": {
+ "example": 10,
+ "type": "integer"
+ },
+ "offset": {
+ "example": 0,
+ "type": "integer"
+ },
+ "source_url": {
+ "example": "https://api.faceit.com/ranking/v1/globalranking/cs2/EU?limit=20",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "faceit.CompetitionMatchesResponse": {
+ "properties": {
+ "count": {
+ "example": 2,
+ "type": "integer"
},
- "next_cursor": {
+ "fetched_at": {
+ "example": "2026-11-09T11:30:00Z",
"type": "string"
},
- "player_updates": {
- "items": {
- "additionalProperties": {},
- "type": "object"
- },
+ "matches": {
+ "items": {},
"type": "array"
},
- "team": {
+ "page": {
+ "example": 0,
+ "type": "integer"
+ },
+ "size": {
+ "example": 20,
+ "type": "integer"
+ },
+ "source_url": {
+ "example": "https://api.faceit.com/ranking/v1/globalranking/cs2/EU?limit=20",
"type": "string"
}
},
"type": "object"
},
- "fanduel.SportsbookTeamOddsResponse": {
+ "faceit.FPLCircuit": {
"properties": {
- "championship": {
+ "default": {
+ "example": false,
+ "type": "boolean"
+ },
+ "game": {
+ "example": "cs2",
"type": "string"
},
- "championship_tab": {
+ "id": {
+ "example": "67444abee4404b6b2c55f15e",
"type": "string"
},
- "fetched_at": {
+ "name": {
+ "example": "FPL Middle East",
"type": "string"
},
- "future_odds": {
- "items": {
- "$ref": "#/definitions/fanduel.SportsbookFutureOdd"
- },
- "type": "array"
+ "ranking_source": {
+ "$ref": "#/definitions/faceit.FPLRankingSource"
},
- "league": {
+ "region": {
+ "example": "EU",
"type": "string"
},
- "next_games": {
- "items": {
- "$ref": "#/definitions/fanduel.SportsbookUpcomingGame"
- },
- "type": "array"
- },
- "player_props": {
+ "seasons": {
"items": {
- "$ref": "#/definitions/fanduel.SportsbookPlayerProps"
+ "$ref": "#/definitions/faceit.FPLSeason"
},
"type": "array"
- },
- "team": {
- "$ref": "#/definitions/fanduel.SportsbookTeamRef"
}
},
"type": "object"
},
- "fanduel.SportsbookTeamRef": {
+ "faceit.FPLRankingSource": {
"properties": {
- "code": {
+ "source": {
+ "example": "fpl",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "faceit.FPLResponse": {
+ "properties": {
+ "circuits": {
+ "items": {
+ "$ref": "#/definitions/faceit.FPLCircuit"
+ },
+ "type": "array"
},
- "logo_url": {
- "type": "string"
+ "count": {
+ "example": 2,
+ "type": "integer"
},
- "name": {
+ "fetched_at": {
+ "example": "2026-11-09T11:30:00Z",
"type": "string"
},
- "short_name": {
- "type": "string"
+ "has_more": {
+ "example": false,
+ "type": "boolean"
},
- "slug": {
+ "limit": {
+ "example": 20,
+ "type": "integer"
+ },
+ "offset": {
+ "example": 0,
+ "type": "integer"
+ },
+ "source_url": {
+ "example": "https://api.faceit.com/ranking/v1/globalranking/cs2/EU?limit=20",
"type": "string"
}
},
"type": "object"
},
- "fanduel.SportsbookTeamStatsResponse": {
+ "faceit.FPLSeason": {
"properties": {
- "fetched_at": {
- "type": "string"
- },
- "league": {
+ "ended_at": {
"type": "string"
},
- "stats": {
- "additionalProperties": {},
- "type": "object"
+ "number": {
+ "example": 7,
+ "type": "integer"
},
- "team": {
+ "started_at": {
+ "example": "2025-12-12T16:51:35.196Z",
"type": "string"
}
},
"type": "object"
},
- "fanduel.SportsbookTeamSummary": {
+ "faceit.Game": {
"properties": {
- "bet_records": {
- "$ref": "#/definitions/fanduel.SportsbookBetRecords"
+ "clips": {
+ "example": true,
+ "type": "boolean"
},
- "code": {
- "type": "string"
+ "leaderboard_verified": {
+ "example": true,
+ "type": "boolean"
},
- "conference": {
+ "map_configuration": {
+ "example": true,
+ "type": "boolean"
+ },
+ "slug": {
+ "example": "cs2",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "faceit.GameMap": {
+ "properties": {
+ "class_name": {
+ "example": "de_dust2",
"type": "string"
},
- "division": {
+ "game_map_id": {
+ "example": "de_dust2",
"type": "string"
},
- "head_coach": {
+ "guid": {
+ "example": "de_dust2",
"type": "string"
},
- "logo_url": {
+ "image_lg": {
"type": "string"
},
- "market": {
+ "image_sm": {
"type": "string"
},
"name": {
+ "example": "Dust2",
"type": "string"
- },
- "next_game": {
- "$ref": "#/definitions/fanduel.SportsbookTeamGameRef"
- },
- "primary_color": {
+ }
+ },
+ "type": "object"
+ },
+ "faceit.GameMode": {
+ "properties": {
+ "group_id": {
+ "example": "ad8f1821-bfbf-42c4-b351-6fbde91dba46",
"type": "string"
},
- "secondary_color": {
+ "id": {
+ "example": "8bf954ec-30ce-4483-8694-7a2d305f9071",
"type": "string"
},
- "short_name": {
- "type": "string"
+ "label": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
},
- "slug": {
- "type": "string"
+ "spectators": {
+ "example": false,
+ "type": "boolean"
},
- "sub_division": {
- "type": "string"
+ "team_size": {
+ "example": 2,
+ "type": "integer"
}
},
"type": "object"
},
- "fanduel.SportsbookTeamsResponse": {
+ "faceit.GameModesResponse": {
"properties": {
+ "count": {
+ "example": 2,
+ "type": "integer"
+ },
"fetched_at": {
+ "example": "2026-11-09T11:30:00Z",
"type": "string"
},
- "groups": {
- "items": {
- "$ref": "#/definitions/fanduel.SportsbookTeamGroup"
- },
- "type": "array"
- },
- "league": {
+ "game": {
+ "example": "cs2",
"type": "string"
},
- "sections": {
+ "modes": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/faceit.GameMode"
},
"type": "array"
},
- "team_count": {
- "type": "integer"
+ "region": {
+ "example": "EU",
+ "type": "string"
+ },
+ "source_url": {
+ "example": "https://api.faceit.com/ranking/v1/globalranking/cs2/EU?limit=20",
+ "type": "string"
}
},
"type": "object"
},
- "fanduel.SportsbookTeaserCompetition": {
+ "faceit.GameSkill": {
"properties": {
- "competition_id": {
+ "latest_delta": {
+ "example": 31,
"type": "integer"
},
- "icon": {
- "type": "string"
+ "level": {
+ "example": 10,
+ "type": "integer"
},
- "name": {
- "type": "string"
+ "ranked_match_count": {
+ "example": 5081,
+ "type": "integer"
},
- "starting_spread": {
- "type": "number"
+ "value": {
+ "example": 5342,
+ "type": "integer"
+ },
+ "win_streak": {
+ "example": 1,
+ "type": "integer"
}
},
"type": "object"
},
- "fanduel.SportsbookTrendingItem": {
+ "faceit.GamesResponse": {
"properties": {
- "competition": {
- "type": "string"
- },
- "display_name": {
- "type": "string"
+ "complete": {
+ "example": false,
+ "type": "boolean"
},
- "event_id": {
+ "count": {
+ "example": 2,
"type": "integer"
},
- "event_name": {
- "type": "string"
- },
- "expires_at": {
+ "fetched_at": {
+ "example": "2026-11-09T11:30:00Z",
"type": "string"
},
- "metadata": {
- "additionalProperties": {},
- "type": "object"
+ "games": {
+ "items": {
+ "$ref": "#/definitions/faceit.Game"
+ },
+ "type": "array"
},
- "term": {
+ "source_url": {
+ "example": "https://api.faceit.com/ranking/v1/globalranking/cs2/EU?limit=20",
"type": "string"
},
- "type": {
+ "verified_at": {
+ "example": "2026-11-09",
"type": "string"
}
},
"type": "object"
},
- "fanduel.SportsbookTrendingResponse": {
+ "faceit.Hub": {
"properties": {
- "enriched": {
+ "admin_tool_enabled": {
"type": "boolean"
},
- "fetched_at": {
+ "application_configuration": {
+ "$ref": "#/definitions/faceit.HubApplicationSettings"
+ },
+ "archived": {
+ "type": "boolean"
+ },
+ "avatar": {
"type": "string"
},
- "results": {
+ "category": {
+ "type": "string"
+ },
+ "chat_settings": {
+ "$ref": "#/definitions/faceit.HubChatSettings"
+ },
+ "check_game": {
+ "type": "boolean"
+ },
+ "check_geo_location": {
+ "type": "boolean"
+ },
+ "check_region": {
+ "type": "boolean"
+ },
+ "child_ids": {
"items": {
- "$ref": "#/definitions/fanduel.SportsbookTrendingItem"
+ "type": "string"
},
"type": "array"
},
- "terms": {
+ "children": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/faceit.HubChild"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "fanduel.SportsbookUpcomingGame": {
- "properties": {
- "away_odds": {
- "$ref": "#/definitions/fanduel.SportsbookTeamGameOdds"
},
- "event_url": {
- "type": "string"
+ "clash_slots_available": {
+ "type": "boolean"
},
- "home_game": {
+ "club": {
"type": "boolean"
},
- "home_odds": {
- "$ref": "#/definitions/fanduel.SportsbookTeamGameOdds"
+ "cover_image": {
+ "type": "string"
},
- "opponent": {
+ "created_at": {
"type": "string"
},
- "opponent_team": {
- "$ref": "#/definitions/fanduel.SportsbookTeamRef"
+ "current_players_joined": {
+ "type": "integer"
},
- "scheduled_time": {
+ "custom_prizes_count": {
+ "type": "integer"
+ },
+ "description": {
"type": "string"
},
- "status": {
+ "faceit_points_equivalent_total": {
+ "type": "integer"
+ },
+ "faceit_points_total": {
+ "type": "integer"
+ },
+ "featured": {
+ "type": "boolean"
+ },
+ "game": {
"type": "string"
},
- "venue": {
+ "guid": {
"type": "string"
},
- "venue_type": {
+ "join_permissions": {
"type": "string"
},
- "week": {
+ "max_skill_level": {
"type": "integer"
- }
- },
- "type": "object"
- },
- "fanduel.SportsbookValueCount": {
- "properties": {
- "count": {
+ },
+ "min_skill_level": {
"type": "integer"
},
- "value": {
+ "name": {
"type": "string"
- }
- },
- "type": "object"
- },
- "fanduel.SportsbookWinLoss": {
- "properties": {
- "losses": {
- "type": "integer"
},
- "ties": {
- "type": "integer"
+ "organizer_guid": {
+ "type": "string"
},
- "wins": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "fanduel.casinoCategoriesResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "organizer_name": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/fanduel.CasinoCategoriesResponse"
+ "published": {
+ "type": "boolean"
},
- "msg": {
- "example": "OK",
+ "region": {
"type": "string"
- }
- },
- "type": "object"
- },
- "fanduel.casinoCategoryResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/fanduel.CasinoCategoryResponse"
+ "relationship_type": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "roles": {
+ "items": {
+ "$ref": "#/definitions/faceit.HubRole"
+ },
+ "type": "array"
+ },
+ "rules_guid": {
"type": "string"
- }
- },
- "type": "object"
- },
- "fanduel.casinoGameResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/fanduel.CasinoGameResponse"
+ "selection_settings": {
+ "$ref": "#/definitions/faceit.HubSelectionSettings"
},
- "msg": {
- "example": "OK",
+ "sensitive": {
+ "type": "boolean"
+ },
+ "slots": {
+ "type": "integer"
+ },
+ "supporter_badge_image": {
"type": "string"
}
},
"type": "object"
},
- "fanduel.quickPicksDailyResponseDoc": {
+ "faceit.HubApplicationSettings": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/fanduel.QuickPicksDailyResponse"
+ "applicant_input_required": {
+ "type": "boolean"
},
- "msg": {
- "example": "OK",
- "type": "string"
+ "applications_enabled": {
+ "type": "boolean"
}
},
"type": "object"
},
- "fanduel.racingCarryoverResponseDoc": {
+ "faceit.HubCategoriesResponse": {
"properties": {
- "code": {
- "example": 200,
+ "categories": {
+ "example": [
+ "community"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "count": {
+ "example": 2,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/fanduel.RacingCarryoverResponse"
+ "fetched_at": {
+ "example": "2026-11-09T11:30:00Z",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "source_url": {
+ "example": "https://api.faceit.com/ranking/v1/globalranking/cs2/EU?limit=20",
+ "type": "string"
+ },
+ "verified_at": {
+ "example": "2026-11-09",
"type": "string"
}
},
"type": "object"
},
- "fanduel.racingFiltersResponseDoc": {
+ "faceit.HubChatSettings": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/fanduel.RacingFiltersResponse"
+ "join_announcements": {
+ "type": "boolean"
},
- "msg": {
- "example": "OK",
+ "subscription_announcements": {
"type": "string"
}
},
"type": "object"
},
- "fanduel.racingHorseResponseDoc": {
+ "faceit.HubChild": {
"properties": {
- "code": {
- "example": 200,
+ "category": {
+ "type": "string"
+ },
+ "current_players_joined": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/fanduel.RacingHorseResponse"
+ "game": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "guid": {
"type": "string"
- }
- },
- "type": "object"
- },
- "fanduel.racingPastRaceResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/fanduel.RacingPastRaceResponse"
+ "name": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "parent_id": {
"type": "string"
- }
- },
- "type": "object"
- },
- "fanduel.racingPastRacesResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/fanduel.RacingPastRacesResponse"
+ "published": {
+ "type": "boolean"
},
- "msg": {
- "example": "OK",
+ "region": {
+ "type": "string"
+ },
+ "relationship_type": {
"type": "string"
}
},
"type": "object"
},
- "fanduel.racingPastTracksResponseDoc": {
+ "faceit.HubCompetition": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "announcement": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/fanduel.RacingPastTracksResponse"
+ "avatar": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "category": {
"type": "string"
- }
- },
- "type": "object"
- },
- "fanduel.racingRaceResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ },
+ "child_ids": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "current_players_joined": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/fanduel.RacingRaceResponse"
+ "custom_prizes_count": {
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "game": {
"type": "string"
- }
- },
- "type": "object"
- },
- "fanduel.racingRacesResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/fanduel.RacingRacesResponse"
+ "guid": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "join_permissions": {
"type": "string"
- }
- },
- "type": "object"
- },
- "fanduel.racingResultsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ },
+ "max_skill_level": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/fanduel.RacingResultsResponse"
+ "min_skill_level": {
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "name": {
"type": "string"
+ },
+ "organizer_name": {
+ "type": "string"
+ },
+ "published": {
+ "type": "boolean"
+ },
+ "whitelist_geo_countries": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "fanduel.racingSearchResponseDoc": {
+ "faceit.HubDetailed": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "admin_tool_enabled": {
+ "type": "boolean"
},
- "data": {
- "$ref": "#/definitions/fanduel.RacingSearchResponse"
+ "application_configuration": {
+ "$ref": "#/definitions/faceit.HubApplicationSettings"
},
- "msg": {
- "example": "OK",
+ "archived": {
+ "type": "boolean"
+ },
+ "avatar": {
"type": "string"
- }
- },
- "type": "object"
- },
- "fanduel.racingTrackResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/fanduel.RacingTrackResponse"
+ "category": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "chat_settings": {
+ "$ref": "#/definitions/faceit.HubChatSettings"
+ },
+ "check_game": {
+ "type": "boolean"
+ },
+ "check_geo_location": {
+ "type": "boolean"
+ },
+ "check_region": {
+ "type": "boolean"
+ },
+ "child_ids": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "clash_slots_available": {
+ "type": "boolean"
+ },
+ "club": {
+ "type": "boolean"
+ },
+ "cover_image": {
"type": "string"
- }
- },
- "type": "object"
- },
- "fanduel.racingTracksResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ },
+ "created_at": {
+ "type": "string"
+ },
+ "current_players_joined": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/fanduel.RacingTracksResponse"
+ "custom_prizes_count": {
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "description": {
"type": "string"
- }
- },
- "type": "object"
- },
- "fanduel.racingWagerTypesResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ },
+ "faceit_points_equivalent_total": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/fanduel.RacingWagerTypesResponse"
+ "faceit_points_total": {
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "featured": {
+ "type": "boolean"
+ },
+ "game": {
"type": "string"
- }
- },
- "type": "object"
- },
- "fanduel.researchArticleResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/fanduel.ResearchArticleResponse"
+ "guid": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "join_permissions": {
"type": "string"
- }
- },
- "type": "object"
- },
- "fanduel.researchArticlesResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ },
+ "max_skill_level": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/fanduel.ResearchArticlesResponse"
+ "min_skill_level": {
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "name": {
"type": "string"
- }
- },
- "type": "object"
- },
- "fanduel.researchAuthorResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/fanduel.ResearchAuthorResponse"
+ "organizer_guid": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "owner": {
+ "$ref": "#/definitions/faceit.HubOwner"
+ },
+ "published": {
+ "type": "boolean"
+ },
+ "region": {
"type": "string"
- }
- },
- "type": "object"
- },
- "fanduel.researchAuthorsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/fanduel.ResearchAuthorsResponse"
+ "relationship_type": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "roles": {
+ "items": {
+ "$ref": "#/definitions/faceit.HubRole"
+ },
+ "type": "array"
+ },
+ "rules_guid": {
"type": "string"
- }
- },
- "type": "object"
- },
- "fanduel.researchFeaturedArticlesResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/fanduel.ResearchFeaturedArticlesResponse"
+ "selection_settings": {
+ "$ref": "#/definitions/faceit.HubSelectionSettings"
},
- "msg": {
- "example": "OK",
+ "sensitive": {
+ "type": "boolean"
+ },
+ "slots": {
+ "type": "integer"
+ },
+ "supporter_badge_image": {
"type": "string"
}
},
"type": "object"
},
- "fanduel.researchFixturesResponseDoc": {
+ "faceit.HubMemberUser": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "avatar_url": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/fanduel.ResearchFixturesResponse"
+ "guid": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "nickname": {
"type": "string"
}
},
"type": "object"
},
- "fanduel.researchNflScheduleResponseDoc": {
+ "faceit.HubMembership": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "competition": {
+ "$ref": "#/definitions/faceit.HubCompetition"
},
- "data": {
- "$ref": "#/definitions/fanduel.ResearchNflScheduleResponse"
+ "created_at": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "highest_role_ranking": {
+ "type": "integer"
+ },
+ "membership_id": {
"type": "string"
+ },
+ "roles": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "user": {
+ "$ref": "#/definitions/faceit.HubMemberUser"
}
},
"type": "object"
},
- "fanduel.researchPlayerNewsResponseDoc": {
+ "faceit.HubMembershipsResponse": {
"properties": {
- "code": {
- "example": 200,
+ "count": {
+ "example": 2,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/fanduel.ResearchPlayerNewsResponse"
+ "end": {
+ "example": 20,
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "fetched_at": {
+ "example": "2026-11-09T11:30:00Z",
"type": "string"
- }
- },
- "type": "object"
- },
- "fanduel.researchProjectionSlatesResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ },
+ "items": {
+ "items": {
+ "$ref": "#/definitions/faceit.HubMembership"
+ },
+ "type": "array"
+ },
+ "limit": {
+ "example": 20,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/fanduel.ResearchProjectionSlatesResponse"
+ "offset": {
+ "example": 0,
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "source_url": {
+ "example": "https://api.faceit.com/ranking/v1/globalranking/cs2/EU?limit=20",
"type": "string"
+ },
+ "start": {
+ "example": 0,
+ "type": "integer"
}
},
"type": "object"
},
- "fanduel.researchProjectionTablesResponseDoc": {
+ "faceit.HubOwner": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "avatar_url": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/fanduel.ResearchProjectionTablesResponse"
+ "guid": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "nickname": {
+ "example": "Stark",
"type": "string"
}
},
"type": "object"
},
- "fanduel.researchProjectionsResponseDoc": {
+ "faceit.HubResponse": {
"properties": {
- "code": {
- "example": 200,
+ "count": {
+ "example": 2,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/fanduel.ResearchProjectionsResponse"
+ "fetched_at": {
+ "example": "2026-11-09T11:30:00Z",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "hub": {
+ "$ref": "#/definitions/faceit.Hub"
+ },
+ "source_url": {
+ "example": "https://api.faceit.com/ranking/v1/globalranking/cs2/EU?limit=20",
"type": "string"
}
},
"type": "object"
},
- "fanduel.researchResponseDoc": {
+ "faceit.HubRole": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "color": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/fanduel.ResearchResponse"
+ "guid": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "name": {
"type": "string"
- }
- },
- "type": "object"
- },
- "fanduel.researchSportsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/fanduel.ResearchSportsResponse"
+ "ranking": {
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "type": {
"type": "string"
}
},
"type": "object"
},
- "fanduel.researchSubCategoriesResponseDoc": {
+ "faceit.HubSelectionSettings": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/fanduel.ResearchSubCategoriesResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "enabled": {
+ "type": "boolean"
}
},
"type": "object"
},
- "fanduel.sportsbookAutocompleteResponseDoc": {
+ "faceit.HubSummary": {
"properties": {
- "code": {
- "example": 200,
+ "avatar": {
+ "type": "string"
+ },
+ "category": {
+ "type": "string"
+ },
+ "child_ids": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "club": {
+ "type": "boolean"
+ },
+ "current_players_joined": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/fanduel.SportsbookAutocompleteResponse"
+ "game": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "guid": {
"type": "string"
- }
- },
- "type": "object"
- },
- "fanduel.sportsbookBoxScoreResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/fanduel.SportsbookBoxScoreResponse"
+ "name": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "organizer_guid": {
"type": "string"
- }
- },
- "type": "object"
- },
- "fanduel.sportsbookBuilderEventsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ },
+ "organizer_tier": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/fanduel.SportsbookBuilderEventsResponse"
+ "published": {
+ "type": "boolean"
},
- "msg": {
- "example": "OK",
+ "region": {
+ "type": "string"
+ },
+ "relationship_type": {
"type": "string"
}
},
"type": "object"
},
- "fanduel.sportsbookBuilderResponseDoc": {
+ "faceit.HubsDetailedResponse": {
"properties": {
- "code": {
- "example": 200,
+ "count": {
+ "example": 2,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/fanduel.SportsbookBuilderResponse"
+ "fetched_at": {
+ "example": "2026-11-09T11:30:00Z",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "items": {
+ "items": {
+ "$ref": "#/definitions/faceit.HubDetailed"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "example": "https://api.faceit.com/ranking/v1/globalranking/cs2/EU?limit=20",
"type": "string"
}
},
"type": "object"
},
- "fanduel.sportsbookChoiceQuotesResponseDoc": {
+ "faceit.HubsResponse": {
"properties": {
- "code": {
- "example": 200,
+ "count": {
+ "example": 2,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/fanduel.SportsbookChoiceQuotesResponse"
+ "fetched_at": {
+ "example": "2026-11-09T11:30:00Z",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "items": {
+ "items": {
+ "$ref": "#/definitions/faceit.HubSummary"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "example": "https://api.faceit.com/ranking/v1/globalranking/cs2/EU?limit=20",
"type": "string"
}
},
"type": "object"
},
- "fanduel.sportsbookDepthChartResponseDoc": {
+ "faceit.Leaderboard": {
"properties": {
- "code": {
- "example": 200,
+ "bracket_placement": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/fanduel.SportsbookDepthChartResponse"
+ "bye_team_result_action": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "conclusion_criteria": {
"type": "string"
- }
- },
- "type": "object"
- },
- "fanduel.sportsbookEventPlayersResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ },
+ "country_restriction": {
+ "type": "string"
+ },
+ "delimiter": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/fanduel.SportsbookEventPlayersResponse"
+ "drops_information": {},
+ "end_date": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "entity_id": {
+ "type": "string"
+ },
+ "entity_type": {
+ "type": "string"
+ },
+ "ffa_points": {
+ "additionalProperties": {
+ "type": "integer"
+ },
+ "type": "object"
+ },
+ "game": {
+ "type": "string"
+ },
+ "group": {
+ "type": "integer"
+ },
+ "hidden": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "leaderboard_mode": {
+ "type": "string"
+ },
+ "leaderboard_name": {
+ "type": "string"
+ },
+ "leaderboard_type": {
+ "type": "string"
+ },
+ "min_matches": {
+ "type": "integer"
+ },
+ "organizer_id": {
+ "type": "string"
+ },
+ "points_per_draw": {
+ "type": "integer"
+ },
+ "points_per_loss": {
+ "type": "integer"
+ },
+ "points_per_win": {
+ "type": "integer"
+ },
+ "points_type": {
+ "type": "string"
+ },
+ "prize_pool": {},
+ "prizes": {},
+ "ranking_type": {
+ "type": "string"
+ },
+ "region": {
+ "type": "string"
+ },
+ "round": {
+ "type": "integer"
+ },
+ "rules": {},
+ "schedule": {
+ "type": "string"
+ },
+ "season": {
+ "type": "integer"
+ },
+ "start_date": {
+ "type": "string"
+ },
+ "starting_points": {
+ "type": "integer"
+ },
+ "status": {
+ "type": "string"
+ },
+ "technical_name": {
"type": "string"
}
},
"type": "object"
},
- "fanduel.sportsbookEventResponseDoc": {
+ "faceit.LeaderboardDetail": {
"properties": {
- "code": {
- "example": 200,
+ "balanced_scoring": {},
+ "bracket_placement": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/fanduel.SportsbookEventResponse"
+ "bye_team_result_action": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "conclusion_criteria": {
+ "type": "string"
+ },
+ "country_restriction": {
+ "type": "string"
+ },
+ "created_at": {
+ "type": "string"
+ },
+ "delimiter": {
+ "type": "integer"
+ },
+ "drops_information": {},
+ "end_date": {
+ "type": "string"
+ },
+ "entities": {
+ "items": {
+ "$ref": "#/definitions/faceit.LeaderboardEntityRef"
+ },
+ "type": "array"
+ },
+ "entity_id": {
+ "type": "string"
+ },
+ "entity_type": {
+ "type": "string"
+ },
+ "ffa_points": {
+ "additionalProperties": {
+ "type": "integer"
+ },
+ "type": "object"
+ },
+ "game": {
+ "type": "string"
+ },
+ "group": {
+ "type": "integer"
+ },
+ "hidden": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "last_modified": {
+ "type": "string"
+ },
+ "leaderboard_mode": {
+ "type": "string"
+ },
+ "leaderboard_name": {
+ "type": "string"
+ },
+ "leaderboard_type": {
+ "type": "string"
+ },
+ "membership_requirement": {},
+ "metadata": {},
+ "min_matches": {
+ "type": "integer"
+ },
+ "notify_points_updates": {
+ "type": "boolean"
+ },
+ "organizer_id": {
+ "type": "string"
+ },
+ "penalty": {},
+ "points_per": {},
+ "points_per_draw": {
+ "type": "integer"
+ },
+ "points_per_loss": {
+ "type": "integer"
+ },
+ "points_per_win": {
+ "type": "integer"
+ },
+ "points_type": {
+ "type": "string"
+ },
+ "prize_pool": {},
+ "prizes": {},
+ "promotion_target": {},
+ "ranking_boost": {
+ "type": "integer"
+ },
+ "ranking_fields": {},
+ "ranking_type": {
+ "type": "string"
+ },
+ "region": {
+ "type": "string"
+ },
+ "relegation_target": {},
+ "requirement": {},
+ "round": {
+ "type": "integer"
+ },
+ "rules": {},
+ "schedule": {
+ "type": "string"
+ },
+ "season": {
+ "type": "integer"
+ },
+ "start_date": {
+ "type": "string"
+ },
+ "starting_points": {
+ "type": "integer"
+ },
+ "status": {
+ "type": "string"
+ },
+ "subtype": {},
+ "tag_requirement": {},
+ "technical_name": {
"type": "string"
+ },
+ "version": {
+ "example": 1,
+ "type": "integer"
}
},
"type": "object"
},
- "fanduel.sportsbookEventScoreResponseDoc": {
+ "faceit.LeaderboardDetailResponse": {
"properties": {
- "code": {
- "example": 200,
+ "count": {
+ "example": 2,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/fanduel.SportsbookEventScoreResponse"
+ "fetched_at": {
+ "example": "2026-11-09T11:30:00Z",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "leaderboard": {
+ "$ref": "#/definitions/faceit.LeaderboardDetail"
+ },
+ "source_url": {
+ "example": "https://api.faceit.com/ranking/v1/globalranking/cs2/EU?limit=20",
"type": "string"
}
},
"type": "object"
},
- "fanduel.sportsbookEventStatsResponseDoc": {
+ "faceit.LeaderboardEntityRef": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/fanduel.SportsbookEventStatsResponse"
+ "id": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "type": {
+ "example": "championship",
"type": "string"
}
},
"type": "object"
},
- "fanduel.sportsbookEventsStatusResponseDoc": {
+ "faceit.LeaderboardResponse": {
"properties": {
- "code": {
- "example": 200,
+ "count": {
+ "example": 2,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/fanduel.SportsbookEventsStatusResponse"
+ "entries": {
+ "items": {
+ "$ref": "#/definitions/faceit.RankingEntry"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "fetched_at": {
+ "example": "2026-11-09T11:30:00Z",
+ "type": "string"
+ },
+ "game": {
+ "example": "cs2",
+ "type": "string"
+ },
+ "limit": {
+ "example": 20,
+ "type": "integer"
+ },
+ "offset": {
+ "example": 0,
+ "type": "integer"
+ },
+ "region": {
+ "example": "EU",
+ "type": "string"
+ },
+ "season": {
+ "example": 10,
+ "type": "integer"
+ },
+ "season_history": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "example": "https://api.faceit.com/ranking/v1/globalranking/cs2/EU?limit=20",
"type": "string"
}
},
"type": "object"
},
- "fanduel.sportsbookLeagueScheduleResponseDoc": {
+ "faceit.LeaderboardStatusesResponse": {
"properties": {
- "code": {
- "example": 200,
+ "count": {
+ "example": 2,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/fanduel.SportsbookLeagueScheduleResponse"
+ "entity_types": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "fetched_at": {
+ "example": "2026-11-09T11:30:00Z",
+ "type": "string"
+ },
+ "source_url": {
+ "example": "https://api.faceit.com/ranking/v1/globalranking/cs2/EU?limit=20",
+ "type": "string"
+ },
+ "statuses": {
+ "example": [
+ "ONGOING"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "types": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "verified_at": {
+ "example": "2026-11-09",
"type": "string"
}
},
"type": "object"
},
- "fanduel.sportsbookLiveCountResponseDoc": {
+ "faceit.MapsResponse": {
"properties": {
- "code": {
- "example": 200,
+ "count": {
+ "example": 2,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/fanduel.SportsbookLiveCountResponse"
+ "fetched_at": {
+ "example": "2026-11-09T11:30:00Z",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "game": {
+ "example": "cs2",
+ "type": "string"
+ },
+ "maps": {
+ "items": {
+ "$ref": "#/definitions/faceit.GameMap"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "example": "https://api.faceit.com/ranking/v1/globalranking/cs2/EU?limit=20",
"type": "string"
}
},
"type": "object"
},
- "fanduel.sportsbookLiveDataResponseDoc": {
+ "faceit.MatchClipsResponse": {
"properties": {
- "code": {
- "example": 200,
+ "clips": {
+ "items": {
+ "$ref": "#/definitions/faceit.Clip"
+ },
+ "type": "array"
+ },
+ "count": {
+ "example": 2,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/fanduel.SportsbookLiveDataResponse"
+ "fetched_at": {
+ "example": "2026-11-09T11:30:00Z",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "has_more": {
+ "example": true,
+ "type": "boolean"
+ },
+ "limit": {
+ "example": 10,
+ "type": "integer"
+ },
+ "offset": {
+ "example": 0,
+ "type": "integer"
+ },
+ "source_url": {
+ "example": "https://api.faceit.com/ranking/v1/globalranking/cs2/EU?limit=20",
"type": "string"
}
},
"type": "object"
},
- "fanduel.sportsbookLiveScoresResponseDoc": {
+ "faceit.Organizer": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "admin_list_public": {
+ "type": "boolean"
},
- "data": {
- "$ref": "#/definitions/fanduel.SportsbookLiveScoresResponse"
+ "admins": {
+ "items": {
+ "$ref": "#/definitions/faceit.OrganizerAdmin"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "avatar": {
+ "type": "string"
+ },
+ "countries": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "cover": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "donations_enabled": {
+ "type": "boolean"
+ },
+ "facebook": {
+ "type": "string"
+ },
+ "featured": {
+ "type": "boolean"
+ },
+ "features": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "featuring_countries": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "freemium_hub_enabled": {
+ "type": "boolean"
+ },
+ "games": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "geo_regions": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "guid": {
+ "type": "string"
+ },
+ "live_streaming_enabled": {
+ "type": "boolean"
+ },
+ "name": {
+ "example": "Extreme Competitions",
+ "type": "string"
+ },
+ "published": {
+ "type": "boolean"
+ },
+ "sponsors": {
+ "items": {
+ "$ref": "#/definitions/faceit.OrganizerSponsor"
+ },
+ "type": "array"
+ },
+ "tier": {
+ "$ref": "#/definitions/faceit.OrganizerTier"
+ },
+ "twitch": {
+ "type": "string"
+ },
+ "twitter": {
+ "type": "string"
+ },
+ "type": {
+ "example": "organization",
+ "type": "string"
+ },
+ "website": {
"type": "string"
}
},
"type": "object"
},
- "fanduel.sportsbookMarketPricesResponseDoc": {
+ "faceit.OrganizerAdmin": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "avatar_url": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/fanduel.SportsbookMarketPricesResponse"
+ "nickname": {
+ "example": "Sabin_3",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "role": {
+ "example": "owner",
"type": "string"
}
},
"type": "object"
},
- "fanduel.sportsbookPageResponseDoc": {
+ "faceit.OrganizerResponse": {
"properties": {
- "code": {
- "example": 200,
+ "count": {
+ "example": 2,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/fanduel.SportsbookPageResponse"
+ "fetched_at": {
+ "example": "2026-11-09T11:30:00Z",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "organizer": {
+ "$ref": "#/definitions/faceit.Organizer"
+ },
+ "source_url": {
+ "example": "https://api.faceit.com/ranking/v1/globalranking/cs2/EU?limit=20",
"type": "string"
}
},
"type": "object"
},
- "fanduel.sportsbookParlaysResponseDoc": {
+ "faceit.OrganizerSponsor": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "guid": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/fanduel.SportsbookParlaysResponse"
+ "image": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "name": {
+ "example": "SPONSOR",
+ "type": "string"
+ },
+ "priority": {
+ "type": "integer"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "fanduel.sportsbookPlayByPlayResponseDoc": {
+ "faceit.OrganizerTier": {
"properties": {
- "code": {
- "example": 200,
+ "allowed_concurrent_competitions": {
+ "example": 10,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/fanduel.SportsbookPlayByPlayResponse"
+ "allowed_concurrent_hubs": {
+ "example": 15,
+ "type": "integer"
},
- "msg": {
- "example": "OK",
- "type": "string"
+ "custom_prizes_enabled": {
+ "type": "boolean"
+ },
+ "faceit_points_prizes_enabled": {
+ "type": "boolean"
+ },
+ "level": {
+ "example": 80,
+ "type": "integer"
+ },
+ "max_competition_slots": {
+ "example": 128,
+ "type": "integer"
+ },
+ "max_rules": {
+ "example": 40,
+ "type": "integer"
+ },
+ "min_competition_slots": {
+ "example": 2,
+ "type": "integer"
+ },
+ "prize_money_settings_enabled": {
+ "type": "boolean"
}
},
"type": "object"
},
- "fanduel.sportsbookPlayerNewsResponseDoc": {
+ "faceit.Player": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "activated_at": {
+ "example": "2018-12-11T13:16:39.327Z",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/fanduel.SportsbookPlayerNewsResponse"
+ "active_team_id": {
+ "example": "dff3a43b-a069-4a8c-a23a-a32bb0624730",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "avatar": {
+ "example": "https://distribution.faceit-cdn.net/images/af16c75c-407e-4b43-96e6-badf2646c806.jpeg",
+ "type": "string"
+ },
+ "country": {
+ "example": "is",
+ "type": "string"
+ },
+ "cover_image_url": {
+ "example": "https://distribution.faceit-cdn.net/images/2af7644d-e74d-4022-aab9-709e54cf918f.jpeg",
+ "type": "string"
+ },
+ "created_at": {
+ "example": "2018-12-11T13:16:39.327Z",
+ "type": "string"
+ },
+ "flag": {
+ "example": "cs2",
+ "type": "string"
+ },
+ "games": {
+ "additionalProperties": {
+ "$ref": "#/definitions/faceit.PlayerGame"
+ },
+ "type": "object"
+ },
+ "id": {
+ "example": "74df0e6b-5b41-42d7-93b4-05dc78b9a699",
+ "type": "string"
+ },
+ "matching_sound": {
+ "example": "default",
+ "type": "string"
+ },
+ "memberships": {
+ "example": [
+ "free"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "nickname": {
+ "example": "dem0nnnnnnnn",
+ "type": "string"
+ },
+ "registration_status": {
+ "example": "active",
+ "type": "string"
+ },
+ "registration_status_v2": {
+ "example": "ACTIVE",
+ "type": "string"
+ },
+ "tags": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "timezone": {
+ "example": "Atlantic/Reykjavik",
+ "type": "string"
+ },
+ "user_type": {
+ "example": "normal",
"type": "string"
+ },
+ "verified": {
+ "example": true,
+ "type": "boolean"
}
},
"type": "object"
},
- "fanduel.sportsbookPlayerPropsResponseDoc": {
+ "faceit.PlayerGame": {
"properties": {
- "code": {
- "example": 200,
+ "elo_refreshed_by_user_at": {
+ "example": "2026-11-08T09:00:00.000Z",
+ "type": "string"
+ },
+ "faceit_elo": {
+ "example": 5342,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/fanduel.SportsbookPlayerPropsResponse"
+ "game_id": {
+ "example": "cs2",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "game_name": {
+ "example": "Counter-Strike 2",
+ "type": "string"
+ },
+ "region": {
+ "example": "EU",
+ "type": "string"
+ },
+ "region_updated_at": {
+ "example": "2026-11-08T09:00:00.000Z",
+ "type": "string"
+ },
+ "region_updated_at_v2": {
+ "example": "2026-11-08T09:00:00.000Z",
+ "type": "string"
+ },
+ "skill_level": {
+ "example": 10,
+ "type": "integer"
+ },
+ "skill_level_label": {
+ "example": "Level 10",
"type": "string"
+ },
+ "tags": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "fanduel.sportsbookPlayerResponseDoc": {
+ "faceit.PlayerRankResponse": {
"properties": {
- "code": {
- "example": 200,
+ "count": {
+ "example": 2,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/fanduel.SportsbookPlayerResponse"
+ "fetched_at": {
+ "example": "2026-11-09T11:30:00Z",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "game": {
+ "example": "cs2",
+ "type": "string"
+ },
+ "position": {
+ "example": 1,
+ "type": "integer"
+ },
+ "region": {
+ "example": "EU",
+ "type": "string"
+ },
+ "season": {
+ "example": 10,
+ "type": "integer"
+ },
+ "season_history": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "example": "https://api.faceit.com/ranking/v1/globalranking/cs2/EU?limit=20",
+ "type": "string"
+ },
+ "user_id": {
+ "example": "74df0e6b-5b41-42d7-93b4-05dc78b9a699",
"type": "string"
}
},
"type": "object"
},
- "fanduel.sportsbookPlayerStatsResponseDoc": {
+ "faceit.PlayerResponse": {
"properties": {
- "code": {
- "example": 200,
+ "count": {
+ "example": 2,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/fanduel.SportsbookPlayerStatsResponse"
+ "fetched_at": {
+ "example": "2026-11-09T11:30:00Z",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "player": {
+ "$ref": "#/definitions/faceit.Player"
+ },
+ "source_url": {
+ "example": "https://api.faceit.com/ranking/v1/globalranking/cs2/EU?limit=20",
"type": "string"
}
},
"type": "object"
},
- "fanduel.sportsbookPlayersResponseDoc": {
+ "faceit.RankingEntry": {
"properties": {
- "code": {
- "example": 200,
+ "elo": {
+ "example": 5342,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/fanduel.SportsbookPlayersResponse"
+ "global_position": {
+ "example": 1,
+ "type": "integer"
},
- "msg": {
- "example": "OK",
- "type": "string"
+ "position": {
+ "example": 1,
+ "type": "integer"
+ },
+ "skill_level": {
+ "example": 10,
+ "type": "integer"
+ },
+ "user": {
+ "$ref": "#/definitions/faceit.RankingUser"
+ },
+ "verification_level": {
+ "example": 0,
+ "type": "integer"
}
},
"type": "object"
},
- "fanduel.sportsbookPromotionsResponseDoc": {
+ "faceit.RankingUser": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "country": {
+ "example": "is",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/fanduel.SportsbookPromotionsResponse"
+ "id": {
+ "example": "74df0e6b-5b41-42d7-93b4-05dc78b9a699",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "nickname": {
+ "example": "dem0nnnnnnnn",
"type": "string"
}
},
"type": "object"
},
- "fanduel.sportsbookRosterResponseDoc": {
+ "faceit.Region": {
"properties": {
"code": {
- "example": 200,
- "type": "integer"
+ "example": "EU",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/fanduel.SportsbookRosterResponse"
+ "excluded": {
+ "example": false,
+ "type": "boolean"
},
- "msg": {
- "example": "OK",
+ "source": {
+ "example": "client_geo_region",
"type": "string"
}
},
"type": "object"
},
- "fanduel.sportsbookScheduleResponseDoc": {
+ "faceit.RegionsResponse": {
"properties": {
- "code": {
- "example": 200,
+ "closed": {
+ "example": false,
+ "type": "boolean"
+ },
+ "count": {
+ "example": 2,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/fanduel.SportsbookScheduleResponse"
+ "fetched_at": {
+ "example": "2026-11-09T11:30:00Z",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "regions": {
+ "items": {
+ "$ref": "#/definitions/faceit.Region"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "example": "https://api.faceit.com/ranking/v1/globalranking/cs2/EU?limit=20",
+ "type": "string"
+ },
+ "verified_at": {
+ "example": "2026-11-09",
"type": "string"
}
},
"type": "object"
},
- "fanduel.sportsbookSearchResponseDoc": {
+ "faceit.Rule": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "body": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/fanduel.SportsbookSearchResponse"
+ "created_at": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "game": {
+ "example": "cs2",
+ "type": "string"
+ },
+ "guid": {
+ "type": "string"
+ },
+ "name": {
+ "example": "November 2026 — Neon Rider Duo",
+ "type": "string"
+ },
+ "organizer": {
+ "type": "string"
+ },
+ "updated_at": {
"type": "string"
}
},
"type": "object"
},
- "fanduel.sportsbookSearchTabsResponseDoc": {
+ "faceit.RuleResponse": {
"properties": {
- "code": {
- "example": 200,
+ "count": {
+ "example": 2,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/fanduel.SportsbookSearchTabsResponse"
+ "fetched_at": {
+ "example": "2026-11-09T11:30:00Z",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "rule": {
+ "$ref": "#/definitions/faceit.Rule"
+ },
+ "source_url": {
+ "example": "https://api.faceit.com/ranking/v1/globalranking/cs2/EU?limit=20",
"type": "string"
}
},
"type": "object"
},
- "fanduel.sportsbookSportsResponseDoc": {
+ "faceit.RulesResponse": {
"properties": {
- "code": {
- "example": 200,
+ "count": {
+ "example": 2,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/fanduel.SportsbookSportsResponse"
+ "fetched_at": {
+ "example": "2026-11-09T11:30:00Z",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "limit": {
+ "example": 20,
+ "type": "integer"
+ },
+ "offset": {
+ "example": 0,
+ "type": "integer"
+ },
+ "rules": {
+ "items": {
+ "$ref": "#/definitions/faceit.Rule"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "example": "https://api.faceit.com/ranking/v1/globalranking/cs2/EU?limit=20",
"type": "string"
}
},
"type": "object"
},
- "fanduel.sportsbookStandingsResponseDoc": {
+ "faceit.SkillLevel": {
"properties": {
- "code": {
- "example": 200,
+ "max": {
+ "example": 500,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/fanduel.SportsbookStandingsResponse"
+ "min": {
+ "example": 100,
+ "type": "integer"
},
- "msg": {
- "example": "OK",
- "type": "string"
+ "skill_level": {
+ "example": 1,
+ "type": "integer"
}
},
"type": "object"
},
- "fanduel.sportsbookStatsListResponseDoc": {
+ "faceit.SkillLevelsResponse": {
"properties": {
- "code": {
- "example": 200,
+ "count": {
+ "example": 2,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/fanduel.SportsbookStatsListResponse"
+ "fetched_at": {
+ "example": "2026-11-09T11:30:00Z",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "game": {
+ "example": "cs2",
+ "type": "string"
+ },
+ "levels": {
+ "items": {
+ "$ref": "#/definitions/faceit.SkillLevel"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "example": "https://api.faceit.com/ranking/v1/globalranking/cs2/EU?limit=20",
"type": "string"
}
},
"type": "object"
},
- "fanduel.sportsbookTeamNewsResponseDoc": {
+ "faceit.StandingsEntry": {
"properties": {
- "code": {
- "example": 200,
+ "leaderboard": {
+ "$ref": "#/definitions/faceit.StandingsLeaderboard"
+ },
+ "rankings": {
+ "items": {
+ "$ref": "#/definitions/faceit.StandingsRanking"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "faceit.StandingsLeaderboard": {
+ "properties": {
+ "bracket_placement": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/fanduel.SportsbookTeamNewsResponse"
+ "delimiter": {
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "entity_id": {
+ "type": "string"
+ },
+ "entity_type": {
+ "type": "string"
+ },
+ "group": {
+ "type": "integer"
+ },
+ "id": {
"type": "string"
+ },
+ "round": {
+ "type": "integer"
}
},
"type": "object"
},
- "fanduel.sportsbookTeamOddsResponseDoc": {
+ "faceit.StandingsPlacement": {
"properties": {
- "code": {
- "example": 200,
+ "entity_avatar": {
+ "type": "string"
+ },
+ "entity_country": {
+ "example": "gb",
+ "type": "string"
+ },
+ "entity_id": {
+ "type": "string"
+ },
+ "entity_memberships": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "entity_name": {
+ "example": "SabinSabin",
+ "type": "string"
+ },
+ "entity_skill_level": {
+ "example": 2,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/fanduel.SportsbookTeamOddsResponse"
+ "entity_verified": {
+ "type": "boolean"
},
- "msg": {
- "example": "OK",
+ "entity_verified_level": {
+ "type": "string"
+ },
+ "roster_ids": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "roster_memberships": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "type": {
+ "example": "solo",
"type": "string"
}
},
"type": "object"
},
- "fanduel.sportsbookTeamStatsResponseDoc": {
+ "faceit.StandingsRanking": {
"properties": {
- "code": {
- "example": 200,
+ "placement": {
+ "$ref": "#/definitions/faceit.StandingsPlacement"
+ },
+ "played": {
+ "example": 0,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/fanduel.SportsbookTeamStatsResponse"
+ "points": {
+ "example": 0,
+ "type": "integer"
},
- "msg": {
- "example": "OK",
- "type": "string"
+ "position": {
+ "example": 1,
+ "type": "integer"
}
},
"type": "object"
},
- "fanduel.sportsbookTeamsResponseDoc": {
+ "faceit.StandingsResponse": {
"properties": {
- "code": {
- "example": 200,
+ "count": {
+ "example": 2,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/fanduel.SportsbookTeamsResponse"
+ "entries": {
+ "items": {
+ "$ref": "#/definitions/faceit.StandingsEntry"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "fetched_at": {
+ "example": "2026-11-09T11:30:00Z",
+ "type": "string"
+ },
+ "group": {
+ "example": 1,
+ "type": "integer"
+ },
+ "round": {
+ "example": "1",
+ "type": "string"
+ },
+ "source_url": {
+ "example": "https://api.faceit.com/ranking/v1/globalranking/cs2/EU?limit=20",
"type": "string"
}
},
"type": "object"
},
- "fanduel.sportsbookTrendingResponseDoc": {
+ "faceit.Team": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "avatar": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/fanduel.SportsbookTrendingResponse"
+ "country": {
+ "example": "de",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "cover": {
+ "type": "string"
+ },
+ "created_at": {
+ "example": "Fri Sep 29 09:25:59 UTC 2023",
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "entity_type": {
+ "example": "team",
+ "type": "string"
+ },
+ "facebook": {
+ "type": "string"
+ },
+ "game": {
+ "example": "cs2",
+ "type": "string"
+ },
+ "guid": {
+ "type": "string"
+ },
+ "leader": {
+ "example": "2c207775-bdac-493a-a80e-f556c5e58a76",
+ "type": "string"
+ },
+ "members": {
+ "items": {
+ "$ref": "#/definitions/faceit.TeamMember"
+ },
+ "type": "array"
+ },
+ "members_ids": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "name": {
+ "example": "teamKR eSport Club",
+ "type": "string"
+ },
+ "nickname": {
+ "example": "TKR-",
+ "type": "string"
+ },
+ "pending_members_ids": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "status": {
+ "example": "PERMANENT",
+ "type": "string"
+ },
+ "team_type": {
+ "example": "premade",
+ "type": "string"
+ },
+ "twitter": {
+ "type": "string"
+ },
+ "updated_at": {
+ "type": "string"
+ },
+ "website": {
+ "type": "string"
+ },
+ "youtube": {
"type": "string"
}
},
"type": "object"
},
- "farfetch.CategoriesResponse": {
+ "faceit.TeamMember": {
"properties": {
- "genders": {
+ "avatar": {
+ "type": "string"
+ },
+ "country": {
+ "example": "de",
+ "type": "string"
+ },
+ "games": {
"items": {
- "$ref": "#/definitions/farfetch.GenderCategories"
+ "type": "string"
},
"type": "array"
+ },
+ "guid": {
+ "example": "b0963d5e-1c81-4f04-91c4-5b4f3922cfab",
+ "type": "string"
+ },
+ "nickname": {
+ "example": "ShaZ1337",
+ "type": "string"
}
},
"type": "object"
},
- "farfetch.Category": {
+ "faceit.TeamResponse": {
"properties": {
- "name": {
- "type": "string"
+ "count": {
+ "example": 2,
+ "type": "integer"
},
- "slug": {
+ "fetched_at": {
+ "example": "2026-11-09T11:30:00Z",
"type": "string"
},
- "url": {
+ "source_url": {
+ "example": "https://api.faceit.com/ranking/v1/globalranking/cs2/EU?limit=20",
"type": "string"
+ },
+ "team": {
+ "$ref": "#/definitions/faceit.Team"
}
},
"type": "object"
},
- "farfetch.Designer": {
+ "faceit.TournamentsPastResponse": {
"properties": {
- "name": {
+ "count": {
+ "example": 2,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "example": "2026-11-09T11:30:00Z",
"type": "string"
},
- "slug": {
+ "limit": {
+ "example": 20,
+ "type": "integer"
+ },
+ "offset": {
+ "example": 0,
+ "type": "integer"
+ },
+ "result": {
+ "example": "ok",
"type": "string"
},
- "url": {
+ "size": {
+ "example": 0,
+ "type": "integer"
+ },
+ "source_url": {
+ "example": "https://api.faceit.com/ranking/v1/globalranking/cs2/EU?limit=20",
"type": "string"
+ },
+ "tournaments": {
+ "items": {},
+ "type": "array"
}
},
"type": "object"
},
- "farfetch.DesignersResponse": {
+ "faceit.UserSkill": {
+ "properties": {
+ "expiration": {
+ "example": "2026-11-17T01:55:45.017480113Z",
+ "type": "string"
+ },
+ "game_skill": {
+ "$ref": "#/definitions/faceit.GameSkill"
+ },
+ "is_professional_player": {
+ "example": true,
+ "type": "boolean"
+ },
+ "user_id": {
+ "example": "74df0e6b-5b41-42d7-93b4-05dc78b9a699",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "faceit.UserSkillsResponse": {
"properties": {
"count": {
+ "example": 2,
"type": "integer"
},
- "designers": {
+ "fetched_at": {
+ "example": "2026-11-09T11:30:00Z",
+ "type": "string"
+ },
+ "game": {
+ "example": "cs2",
+ "type": "string"
+ },
+ "skills": {
"items": {
- "$ref": "#/definitions/farfetch.Designer"
+ "$ref": "#/definitions/faceit.UserSkill"
},
"type": "array"
},
- "gender": {
+ "source_url": {
+ "example": "https://api.faceit.com/ranking/v1/globalranking/cs2/EU?limit=20",
"type": "string"
}
},
"type": "object"
},
- "farfetch.GenderCategories": {
+ "fanatics.CategoriesResponse": {
"properties": {
- "categories": {
+ "fetched_at": {
+ "type": "string"
+ },
+ "leagues": {
"items": {
- "$ref": "#/definitions/farfetch.Category"
+ "$ref": "#/definitions/fanatics.League"
},
"type": "array"
},
- "gender": {
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "farfetch.ProductDetailResponse": {
+ "fanatics.League": {
"properties": {
- "brand": {
+ "name": {
+ "example": "NFL",
"type": "string"
},
- "category_path": {
+ "teams": {
"items": {
- "$ref": "#/definitions/farfetch.Category"
+ "$ref": "#/definitions/fanatics.Team"
},
"type": "array"
},
- "color": {
+ "url": {
+ "example": "/nfl/o-3572+z-953036859-1253393850",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "fanatics.ListingItem": {
+ "properties": {
+ "availability": {
+ "example": "InStock",
"type": "string"
},
- "description": {
+ "brand": {
"type": "string"
},
- "fetched_at": {
+ "category": {
"type": "string"
},
- "gender": {
+ "currency_code": {
+ "example": "USD",
"type": "string"
},
- "id": {
+ "image": {
"type": "string"
},
- "images": {
+ "name": {
+ "type": "string"
+ },
+ "price": {
+ "type": "number"
+ },
+ "product_id": {
+ "example": "204125114",
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "fanatics.ListingResponse": {
+ "properties": {
+ "fetched_at": {
+ "type": "string"
+ },
+ "has_next_page": {
+ "type": "boolean"
+ },
+ "items": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/fanatics.ListingItem"
},
"type": "array"
},
- "name": {
+ "page_number": {
+ "example": 1,
+ "type": "integer"
+ },
+ "page_size": {
+ "example": 24,
+ "type": "integer"
+ },
+ "query": {
+ "example": "colts jersey",
+ "type": "string"
+ },
+ "sort_option": {
+ "example": "TopSellers",
"type": "string"
},
"source_url": {
"type": "string"
},
- "variants": {
- "items": {
- "$ref": "#/definitions/farfetch.ProductVariant"
- },
- "type": "array"
+ "total_items": {
+ "example": 318,
+ "type": "integer"
}
},
"type": "object"
},
- "farfetch.ProductSummary": {
+ "fanatics.Product": {
"properties": {
+ "availability": {
+ "example": "InStock",
+ "type": "string"
+ },
"brand": {
+ "example": "Fanatics",
"type": "string"
},
- "currency": {
+ "category": {
+ "example": "Shorts",
"type": "string"
},
- "id": {
+ "comparable_products": {
+ "items": {
+ "$ref": "#/definitions/fanatics.RelatedProduct"
+ },
+ "type": "array"
+ },
+ "condition": {
+ "example": "NewCondition",
"type": "string"
},
- "image_url": {
+ "currency_code": {
+ "example": "USD",
"type": "string"
},
- "in_stock": {
- "type": "boolean"
+ "description": {
+ "type": "string"
+ },
+ "images": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "media": {
+ "items": {
+ "$ref": "#/definitions/fanatics.ProductMedia"
+ },
+ "type": "array"
},
"name": {
+ "example": "Indianapolis Colts Fanatics Slice Shorts - Royal",
"type": "string"
},
"price": {
+ "example": 49.99,
+ "type": "number"
+ },
+ "product_id": {
+ "example": "5227968",
+ "type": "string"
+ },
+ "rating": {
"type": "number"
},
+ "review_count": {
+ "type": "integer"
+ },
+ "reviews": {
+ "$ref": "#/definitions/fanatics.ReviewsSummary"
+ },
+ "sizes": {
+ "items": {
+ "$ref": "#/definitions/fanatics.ProductSize"
+ },
+ "type": "array"
+ },
"url": {
"type": "string"
}
},
"type": "object"
},
- "farfetch.ProductVariant": {
+ "fanatics.ProductMedia": {
"properties": {
- "currency": {
+ "thumbnail": {
"type": "string"
},
- "in_stock": {
- "type": "boolean"
- },
- "price": {
- "type": "number"
- },
- "size": {
+ "type": {
+ "example": "Image",
"type": "string"
},
- "sku": {
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "farfetch.SearchResponse": {
+ "fanatics.ProductResponse": {
"properties": {
- "category": {
+ "fetched_at": {
"type": "string"
},
- "count": {
- "type": "integer"
+ "product": {
+ "$ref": "#/definitions/fanatics.Product"
},
- "designer": {
+ "source_url": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "fanatics.ProductSize": {
+ "properties": {
+ "available": {
+ "example": true,
+ "type": "boolean"
},
- "fetched_at": {
+ "label": {
+ "example": "L",
"type": "string"
},
- "gender": {
+ "price": {
+ "example": 149.99,
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "fanatics.RatingBreakdown": {
+ "properties": {
+ "count": {
+ "example": 10411,
+ "type": "integer"
+ },
+ "label": {
+ "example": "True to Size",
"type": "string"
},
- "page": {
+ "rating": {
+ "example": 5,
"type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "fanatics.RatingSummary": {
+ "properties": {
+ "average_rating": {
+ "example": 4.4,
+ "type": "number"
},
- "products": {
+ "breakdown": {
"items": {
- "$ref": "#/definitions/farfetch.ProductSummary"
+ "$ref": "#/definitions/fanatics.RatingBreakdown"
},
"type": "array"
},
- "source_url": {
+ "rating_count": {
+ "example": 13728,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "fanatics.RelatedProduct": {
+ "properties": {
+ "currency_code": {
+ "example": "USD",
"type": "string"
},
- "total_pages": {
+ "description": {
+ "example": "Limited",
+ "type": "string"
+ },
+ "image": {
+ "type": "string"
+ },
+ "price": {
+ "example": 199.99,
+ "type": "number"
+ },
+ "product_id": {
+ "example": "46226601215300",
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "fanatics.ReviewsSummary": {
+ "properties": {
+ "fit": {
+ "$ref": "#/definitions/fanatics.RatingSummary"
+ },
+ "has_reviews": {
+ "type": "boolean"
+ },
+ "overall": {
+ "$ref": "#/definitions/fanatics.RatingSummary"
+ },
+ "quality": {
+ "$ref": "#/definitions/fanatics.RatingSummary"
+ },
+ "review_count": {
+ "example": 3248,
"type": "integer"
+ },
+ "value": {
+ "$ref": "#/definitions/fanatics.RatingSummary"
}
},
"type": "object"
},
- "farfetch.categoriesResponseDoc": {
+ "fanatics.Team": {
+ "properties": {
+ "name": {
+ "example": "Indianapolis Colts",
+ "type": "string"
+ },
+ "product_count": {
+ "example": 6138,
+ "type": "integer"
+ },
+ "url": {
+ "example": "/nfl/indianapolis-colts/o-2483+t-03378189+z-90650-4056854214",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "fanatics.categoriesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/farfetch.CategoriesResponse"
+ "$ref": "#/definitions/fanatics.CategoriesResponse"
},
"msg": {
"example": "OK",
@@ -78971,14 +84041,14 @@
},
"type": "object"
},
- "farfetch.designersResponseDoc": {
+ "fanatics.categoryResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/farfetch.DesignersResponse"
+ "$ref": "#/definitions/fanatics.ListingResponse"
},
"msg": {
"example": "OK",
@@ -78987,14 +84057,14 @@
},
"type": "object"
},
- "farfetch.productResponseDoc": {
+ "fanatics.productResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/farfetch.ProductDetailResponse"
+ "$ref": "#/definitions/fanatics.ProductResponse"
},
"msg": {
"example": "OK",
@@ -79003,14 +84073,14 @@
},
"type": "object"
},
- "farfetch.searchResponseDoc": {
+ "fanatics.searchResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/farfetch.SearchResponse"
+ "$ref": "#/definitions/fanatics.ListingResponse"
},
"msg": {
"example": "OK",
@@ -79019,1144 +84089,1028 @@
},
"type": "object"
},
- "fastcompany.AuthorResponse": {
+ "fanaticscollect.Auction": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/fastcompany.HeadlineItem"
- },
- "type": "array"
+ "auction_integer_id": {
+ "type": "integer"
},
- "biography": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "ends_at": {
+ "type": "string"
},
- "name": {
+ "id": {
"type": "string"
},
- "url": {
+ "integer_id": {
+ "type": "integer"
+ },
+ "marketplace": {
+ "example": "WEEKLY",
"type": "string"
- }
- },
- "type": "object"
- },
- "fastcompany.HeadlineItem": {
- "properties": {
- "author": {
+ },
+ "name": {
+ "example": "2022 Weekly Auction #1",
"type": "string"
},
- "image_url": {
+ "payout_date": {
"type": "string"
},
- "published_at": {
+ "short_name": {
+ "example": "WA1",
"type": "string"
},
- "summary": {
+ "starts_at": {
"type": "string"
},
- "title": {
+ "status": {
+ "example": "CLOSED",
"type": "string"
},
+ "timer": {
+ "$ref": "#/definitions/fanaticscollect.AuctionTimer"
+ },
"type": {
+ "example": "CollectWeeklyAuction",
"type": "string"
},
- "url": {
+ "urn": {
+ "example": "WEEKLY:8d27de96-6f1d-11ed-ab20-0a58a9feac02",
"type": "string"
}
},
"type": "object"
},
- "finance.About": {
+ "fanaticscollect.AuctionTimer": {
"properties": {
- "about": {
- "description": "Information about the company.",
- "example": "SAP SE is a European multinational software company based in Walldorf, Baden-Württemberg, Germany...",
+ "auction_ends_at": {
+ "example": "2022-01-24T03:00:00Z",
"type": "string"
},
- "ceo": {
- "description": "The CEO of the company.",
- "example": "Christian Klein",
+ "auction_starts_at": {
+ "example": "2022-01-14T03:00:00Z",
"type": "string"
},
- "employees": {
- "description": "The number of employees.",
- "example": 107583,
+ "window_duration_seconds": {
"type": "integer"
},
- "founded": {
- "description": "The founding date of the company.",
- "example": "1972-04-01T00:00:00Z",
- "type": "string"
- },
- "headquarters": {
- "description": "The headquarters of the company.",
- "example": "Walldorf, Baden-Württemberg, Germany",
+ "window_ends_at": {
"type": "string"
},
- "website": {
- "description": "The company's website.",
- "example": "https://www.sap.com/",
- "type": "string"
+ "window_ordinal": {
+ "type": "integer"
}
},
"type": "object"
},
- "finance.BalanceSheet": {
+ "fanaticscollect.AuctionsResponse": {
"properties": {
- "cash_and_short_term_change_yy": {
- "description": "Year-over-year change in cash and short-term investments (%)",
- "example": 5.87,
- "type": "number"
- },
- "cash_and_short_term_investments": {
- "description": "Cash and short-term investments in USD",
- "example": 65170000000,
- "type": "number"
+ "auctions": {
+ "items": {
+ "$ref": "#/definitions/fanaticscollect.Auction"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "fanaticscollect.CardLadderEstimate": {
+ "properties": {
+ "estimated_max": {
+ "$ref": "#/definitions/fanaticscollect.Money"
},
- "price_to_book": {
- "description": "Price to book ratio",
- "example": 67.71,
- "type": "number"
+ "estimated_min": {
+ "$ref": "#/definitions/fanaticscollect.Money"
},
- "quarter": {
- "description": "The fiscal quarter",
- "example": 4,
- "type": "integer"
+ "estimated_value": {
+ "$ref": "#/definitions/fanaticscollect.Money"
+ }
+ },
+ "type": "object"
+ },
+ "fanaticscollect.Categories": {
+ "properties": {
+ "category_parents": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "return_on_assets": {
- "description": "Return on assets (%)",
- "example": 21.24,
- "type": "number"
+ "eye_appeal_grades": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "return_on_capital": {
- "description": "Return on capital (%)",
- "example": 43.01,
- "type": "number"
+ "grading_services": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "shares_outstanding": {
- "description": "Shares outstanding",
- "example": 15120000000,
- "type": "number"
+ "marketplaces": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "total_assets": {
- "description": "Total assets in USD",
- "example": 364980000000,
- "type": "number"
+ "sold_item_categories": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "total_assets_change_yy": {
- "description": "Year-over-year change in total assets (%)",
- "example": 3.52,
- "type": "number"
+ "sold_item_grading_services": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "total_equity": {
- "description": "Total equity in USD",
- "example": 56950000000,
- "type": "number"
+ "sold_item_sort_options": {
+ "items": {
+ "$ref": "#/definitions/fanaticscollect.SortOption"
+ },
+ "type": "array"
},
- "total_liabilities": {
- "description": "Total liabilities in USD",
- "example": 308030000000,
- "type": "number"
+ "sort_options": {
+ "items": {
+ "$ref": "#/definitions/fanaticscollect.SortOption"
+ },
+ "type": "array"
},
- "total_liabilities_change_yy": {
- "description": "Year-over-year change in total liabilities (%)",
- "example": 6.06,
- "type": "number"
+ "statuses": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "year": {
- "description": "The fiscal year",
- "example": 2024,
- "type": "integer"
+ "sub_categories": {
+ "items": {
+ "$ref": "#/definitions/fanaticscollect.SubCategory"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "finance.CashFlow": {
+ "fanaticscollect.Images": {
"properties": {
- "cash_from_financing": {
- "description": "Cash from financing in USD",
- "example": -24950000000,
- "type": "number"
+ "large": {
+ "type": "string"
},
- "cash_from_financing_change_yy": {
- "description": "Year-over-year change in cash from financing (%)",
- "example": -7.75,
- "type": "number"
+ "medium": {
+ "type": "string"
},
- "cash_from_investing": {
- "description": "Cash from investing in USD",
- "example": 1450000000,
- "type": "number"
+ "small": {
+ "type": "string"
},
- "cash_from_investing_change_yy": {
- "description": "Year-over-year change in cash from investing (%)",
- "example": -39.64,
- "type": "number"
+ "thumbnail": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "fanaticscollect.InstantPackRelease": {
+ "properties": {
+ "cards_per_pack": {
+ "type": "integer"
},
- "cash_from_operations": {
- "description": "Cash from operations in USD",
- "example": 26810000000,
- "type": "number"
+ "checklist_id": {
+ "type": "string"
},
- "cash_from_operations_change_yy": {
- "description": "Year-over-year change in cash from operations (%)",
- "example": 24.14,
- "type": "number"
+ "checklist_url": {
+ "type": "string"
},
- "free_cash_flow": {
- "description": "Free cash flow in USD",
- "example": 34540000000,
- "type": "number"
+ "id": {
+ "type": "string"
},
- "free_cash_flow_change_yy": {
- "description": "Year-over-year change in free cash flow (%)",
- "example": 180.6,
- "type": "number"
+ "launch_at": {
+ "type": "string"
},
- "net_change_in_cash": {
- "description": "Net change in cash in USD",
- "example": 3310000000,
- "type": "number"
+ "listing_id": {
+ "type": "string"
},
- "net_change_in_cash_change_yy": {
- "description": "Year-over-year change in net change in cash (%)",
- "example": 294.28,
- "type": "number"
+ "odds": {
+ "items": {
+ "$ref": "#/definitions/fanaticscollect.InstantPackTreatment"
+ },
+ "type": "array"
},
- "net_income": {
- "description": "Net income in USD",
- "example": 14740000000,
- "type": "number"
+ "price_amount_in_cents": {
+ "type": "integer"
},
- "net_income_change_yy": {
- "description": "Year-over-year change in net income (%)",
- "example": -35.81,
- "type": "number"
+ "released_at": {
+ "type": "string"
},
- "quarter": {
- "description": "The fiscal quarter",
- "example": 4,
- "type": "integer"
+ "status": {
+ "type": "string"
},
- "year": {
- "description": "The fiscal year",
- "example": 2024,
- "type": "integer"
+ "subtitle": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
}
},
"type": "object"
},
- "finance.CategoryNewsResponse": {
+ "fanaticscollect.InstantPackReleaseRef": {
"properties": {
- "category": {
- "description": "Google Finance category id that was requested.",
- "example": "18",
+ "checklist_id": {
"type": "string"
},
- "items": {
- "description": "News articles listed for the category.",
- "items": {
- "$ref": "#/definitions/finance.FinanceArticle"
- },
- "type": "array"
+ "id": {
+ "type": "string"
},
- "offset": {
- "description": "Number of articles skipped before this page.",
- "example": 0,
- "type": "integer"
+ "launch_at": {
+ "type": "string"
+ },
+ "listing_id": {
+ "type": "string"
}
},
"type": "object"
},
- "finance.CategoryStocksResponse": {
+ "fanaticscollect.InstantPackReleasesResponse": {
"properties": {
- "category": {
- "description": "Google Finance category id that was requested.",
- "example": "18",
- "type": "string"
- },
- "items": {
- "description": "Instruments listed for the category.",
+ "releases": {
"items": {
- "$ref": "#/definitions/finance.Instrument"
+ "$ref": "#/definitions/fanaticscollect.InstantPackReleaseRef"
},
"type": "array"
- },
- "offset": {
- "description": "Number of instruments skipped before this page.",
- "example": 0,
- "type": "integer"
}
},
"type": "object"
},
- "finance.ChartResponse": {
+ "fanaticscollect.InstantPackTreatment": {
"properties": {
- "instrument": {
- "allOf": [
- {
- "$ref": "#/definitions/finance.Instrument"
- }
- ],
- "description": "Instrument the chart is for."
- },
- "points": {
- "description": "Chart data points in time order, each with a time, a price and a volume.",
- "items": {
- "$ref": "#/definitions/finance.Ticker"
- },
- "type": "array"
- },
- "previous_close": {
- "description": "Closing price of the previous trading day.",
- "example": 236.35,
+ "cards_per_pack": {
"type": "number"
},
- "window": {
- "description": "Chart window that was returned: `1d`, `5d`, `1m`, `6m`, `ytd`, `1y`, `5y` or `max`.",
- "example": "1m",
+ "name": {
+ "type": "string"
+ },
+ "odds_display": {
"type": "string"
+ },
+ "reveal_order": {
+ "type": "integer"
}
},
"type": "object"
},
- "finance.ClassificationResponse": {
+ "fanaticscollect.InstantRipsCategoriesResponse": {
"properties": {
"categories": {
- "description": "Sector or category labels Google Finance assigns to the instrument, for example `Technology`.",
"items": {
- "type": "string"
+ "$ref": "#/definitions/fanaticscollect.InstantRipsCategory"
},
"type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "fanaticscollect.InstantRipsCategory": {
+ "properties": {
+ "id": {
+ "description": "ID is the pack-tile listing id the category tile currently links to\n-- a real FIXED/BO listing id, fetchable via GetListing (type=FIXED)\nfor that entry point's own full detail (see listing_type.go's doc\ncomment on how Instant Rips packs resolve as FIXED/BO listings).\nInstant Rips categories have no separate id space of their own in\nthe server-rendered page -- this is simply which specific pack tile\nthe category tile currently links to, confirmed live 2026-09-16.",
+ "example": "92c2820e-3248-4b02-a4cc-6e32ee0e7660",
+ "type": "string"
},
- "instrument": {
+ "max_price": {
+ "$ref": "#/definitions/fanaticscollect.Money"
+ },
+ "min_price": {
"allOf": [
{
- "$ref": "#/definitions/finance.Instrument"
+ "$ref": "#/definitions/fanaticscollect.Money"
}
],
- "description": "Instrument the labels belong to."
+ "description": "MinPrice/MaxPrice are the category's advertised price range, e.g.\n$10.00-$100.00 for \"Collector Packs\". Either may be absent if the\npage's price-range text for a tile doesn't parse as two dollar\namounts (not observed live, but not assumed impossible)."
+ },
+ "name": {
+ "description": "Name is the category's display label, e.g. \"Collector Packs\".",
+ "example": "Collector Packs",
+ "type": "string"
+ },
+ "url": {
+ "description": "URL is the category tile's own link -- an Instant Rips pack detail\npage (an alias for the same FIXED/BO listing ID resolves to).",
+ "type": "string"
}
},
"type": "object"
},
- "finance.CompanyInfo": {
+ "fanaticscollect.InstantRipsOddsTier": {
"properties": {
- "ceo": {
- "description": "Name of the company's chief executive.",
- "example": "Tim Cook",
- "type": "string"
+ "count": {
+ "type": "integer"
},
- "description": {
- "description": "Company description shown on Google Finance.",
+ "hit_rate_percentage": {
+ "type": "number"
+ },
+ "type": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "fanaticscollect.InstantRipsPack": {
+ "properties": {
+ "badge": {
"type": "string"
},
- "employees": {
- "description": "Number of employees.",
- "example": 166000,
+ "cards_per_pack": {
"type": "integer"
},
- "fifty_two_week_high": {
- "description": "Highest price over the last 52 weeks.",
- "example": 288.61,
- "type": "number"
- },
- "fifty_two_week_low": {
- "description": "Lowest price over the last 52 weeks.",
- "example": 169.21,
- "type": "number"
+ "checklist_id": {
+ "type": "string"
},
- "headquarters": {
- "description": "Location of the company's headquarters, for example `Cupertino, CA, US`.",
- "example": "Cupertino, CA, US",
+ "image_url": {
"type": "string"
},
- "high": {
- "description": "Highest price of the trading day.",
- "example": 272.4,
- "type": "number"
+ "listing_id": {
+ "type": "string"
},
- "low": {
- "description": "Lowest price of the trading day.",
- "example": 269.1,
- "type": "number"
+ "odds": {
+ "items": {
+ "$ref": "#/definitions/fanaticscollect.InstantRipsOddsTier"
+ },
+ "type": "array"
},
- "market_cap": {
- "description": "Market capitalisation of the company, as a plain number.",
- "example": 4010000000000,
- "type": "number"
+ "price": {
+ "$ref": "#/definitions/fanaticscollect.Money"
},
- "open": {
- "description": "Opening price of the trading day.",
- "example": 270.9,
- "type": "number"
+ "status": {
+ "type": "string"
},
- "pe_ratio": {
- "description": "Price-to-earnings ratio of the stock.",
- "example": 34.56,
- "type": "number"
+ "tier": {
+ "type": "integer"
},
- "sector": {
- "description": "Sector the company belongs to, for example `Technology`.",
- "example": "Technology",
+ "title": {
"type": "string"
},
- "volume": {
- "description": "Number of shares traded, as Google Finance shows it.",
- "example": 41339643,
- "type": "integer"
+ "variant": {
+ "type": "string"
}
},
"type": "object"
},
- "finance.ContextResponse": {
+ "fanaticscollect.InstantRipsPackCategoriesResponse": {
"properties": {
- "items": {
+ "categories": {
"items": {
- "$ref": "#/definitions/finance.Instrument"
+ "$ref": "#/definitions/fanaticscollect.InstantRipsPackCategory"
},
"type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "fanaticscollect.InstantRipsPackCategory": {
+ "properties": {
+ "default_listing_id": {
+ "type": "string"
},
- "query": {
- "example": "apple",
+ "id": {
+ "type": "string"
+ },
+ "name": {
"type": "string"
}
},
"type": "object"
},
- "finance.EarningsCalendarResponse": {
+ "fanaticscollect.InstantRipsPacksResponse": {
"properties": {
- "items": {
- "description": "Upcoming earnings events from the Google Finance earnings calendar.",
+ "category_id": {
+ "type": "string"
+ },
+ "packs": {
"items": {
- "$ref": "#/definitions/finance.EarningsEvent"
+ "$ref": "#/definitions/fanaticscollect.InstantRipsPack"
},
"type": "array"
}
},
"type": "object"
},
- "finance.EarningsEvent": {
+ "fanaticscollect.Listing": {
"properties": {
- "company_name": {
- "description": "Name of the company reporting earnings.",
- "type": "string"
+ "asking_price": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/fanaticscollect.Money"
+ }
+ ],
+ "description": "AskingPrice is set only for FIXED listings (the \"buy now\" price);\nWEEKLY/PREMIER auction lots price through StartingPrice/CurrentBid/\nSoldFor instead."
},
- "conference_phone": {
- "description": "Phone number for the earnings call.",
+ "auction": {
+ "$ref": "#/definitions/fanaticscollect.Auction"
+ },
+ "bid_count": {
+ "type": "integer"
+ },
+ "card_ladder": {
+ "$ref": "#/definitions/fanaticscollect.CardLadderEstimate"
+ },
+ "certified_seller": {
+ "example": "Fanatics Collect",
"type": "string"
},
- "conference_url": {
- "description": "URL of the earnings call.",
+ "current_bid": {
+ "$ref": "#/definitions/fanaticscollect.Money"
+ },
+ "default_item_description": {
"type": "string"
},
- "event_time": {
- "description": "Time of the earnings event, in UTC (RFC 3339).",
+ "description": {
"type": "string"
},
- "event_unix": {
- "description": "Time of the earnings event, in Unix seconds.",
+ "favorited_count": {
"type": "integer"
},
- "fiscal_period": {
- "description": "Fiscal period the earnings report covers.",
+ "id": {
"type": "string"
},
- "instrument": {
- "allOf": [
- {
- "$ref": "#/definitions/finance.Instrument"
- }
- ],
- "description": "Instrument of the company reporting earnings."
- }
- },
- "type": "object"
- },
- "finance.FinanceArticle": {
- "properties": {
- "published_at": {
- "description": "Time the article was published, in UTC (RFC 3339).",
+ "images": {
+ "items": {
+ "$ref": "#/definitions/fanaticscollect.Images"
+ },
+ "type": "array"
+ },
+ "inserted_at": {
"type": "string"
},
- "published_unix": {
- "description": "Time the article was published, in Unix seconds.",
- "example": 1777077000,
+ "integer_id": {
"type": "integer"
},
- "related": {
- "description": "Instruments mentioned in the article.",
+ "is_closed": {
+ "type": "boolean"
+ },
+ "is_fanatics_authentic": {
+ "type": "boolean"
+ },
+ "is_flash": {
+ "type": "boolean"
+ },
+ "listing_type": {
+ "example": "WEEKLY",
+ "type": "string"
+ },
+ "lot_string": {
+ "example": "WA1 Lot: 1417",
+ "type": "string"
+ },
+ "marketplace_eye_appeal": {
+ "type": "string"
+ },
+ "sale_history": {
"items": {
- "$ref": "#/definitions/finance.Instrument"
+ "$ref": "#/definitions/fanaticscollect.Sale"
},
"type": "array"
},
- "source": {
- "description": "Name of the publisher of the article.",
- "example": "Reuters",
+ "slug": {
"type": "string"
},
- "thumbnail_url": {
- "description": "URL of the article thumbnail image.",
+ "sold_date": {
+ "type": "string"
+ },
+ "sold_for": {
+ "$ref": "#/definitions/fanaticscollect.Money"
+ },
+ "starting_price": {
+ "$ref": "#/definitions/fanaticscollect.Money"
+ },
+ "status": {
+ "example": "STATUS_SOLD",
+ "type": "string"
+ },
+ "subtitle": {
"type": "string"
},
"title": {
- "description": "Headline of the article.",
- "example": "Apple announces an update",
+ "type": "string"
+ },
+ "updated_at": {
"type": "string"
},
"url": {
- "description": "URL of the article on the publisher's site.",
- "example": "https://example.com/news",
"type": "string"
+ },
+ "vault_item": {
+ "$ref": "#/definitions/fanaticscollect.VaultItem"
}
},
"type": "object"
},
- "finance.FinancialPeriod": {
+ "fanaticscollect.Money": {
"properties": {
- "capital_expenditure": {
- "description": "Capital expenditure for the period.",
- "type": "number"
- },
- "ebitda": {
- "description": "Earnings before interest, taxes, depreciation and amortisation for the period.",
+ "amount": {
+ "example": 13.2,
"type": "number"
},
- "eps": {
- "description": "Earnings per share for the period.",
- "type": "number"
+ "currency": {
+ "example": "USD",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "fanaticscollect.NewsroomFilter": {
+ "properties": {
+ "id": {
+ "type": "integer"
},
- "eps_diluted": {
- "description": "Diluted earnings per share for the period.",
- "type": "number"
+ "name": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "fanaticscollect.NewsroomFiltersResponse": {
+ "properties": {
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/fanaticscollect.NewsroomFilter"
+ },
+ "type": "array"
},
- "free_cash_flow": {
- "description": "Free cash flow for the period.",
- "type": "number"
+ "sorts": {
+ "items": {
+ "$ref": "#/definitions/fanaticscollect.NewsroomSort"
+ },
+ "type": "array"
},
- "net_income": {
- "description": "Net income for the period, in the response currency.",
- "type": "number"
- },
- "operating_cash_flow": {
- "description": "Cash flow from operations for the period.",
- "type": "number"
- },
- "operating_income": {
- "description": "Operating income for the period.",
- "type": "number"
- },
- "operating_margin": {
- "description": "Operating margin for the period.",
- "type": "number"
+ "tags": {
+ "items": {
+ "$ref": "#/definitions/fanaticscollect.NewsroomFilter"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "fanaticscollect.NewsroomPost": {
+ "properties": {
+ "category": {
+ "type": "string"
},
- "pe_ratio": {
- "description": "Price-to-earnings ratio for the period.",
- "type": "number"
+ "id": {
+ "type": "integer"
},
- "period": {
- "description": "Period label: `annual` when the period ends in December, otherwise `quarterly`.",
- "example": "annual",
+ "image_url": {
"type": "string"
},
- "period_end": {
- "description": "End date of the reporting period, in UTC (RFC 3339).",
+ "published_at": {
"type": "string"
},
- "profit_margin": {
- "description": "Profit margin for the period.",
- "type": "number"
- },
- "revenue": {
- "description": "Total revenue for the period, in the response currency.",
- "type": "number"
- },
- "revenue_growth_yoy": {
- "description": "Revenue growth compared with the same period a year earlier.",
- "type": "number"
- },
- "shares_outstanding": {
- "description": "Number of shares outstanding for the period.",
- "type": "number"
+ "thumbnail_url": {
+ "type": "string"
},
- "total_assets": {
- "description": "Total assets at the end of the period.",
- "type": "number"
+ "title": {
+ "type": "string"
},
- "total_equity": {
- "description": "Total shareholder equity at the end of the period.",
- "type": "number"
+ "type": {
+ "type": "string"
},
- "total_liabilities": {
- "description": "Total liabilities at the end of the period.",
- "type": "number"
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "finance.FinancialsResponse": {
+ "fanaticscollect.NewsroomResponse": {
"properties": {
- "annual": {
- "description": "Annual financial statement rows.",
- "items": {
- "$ref": "#/definitions/finance.FinancialPeriod"
- },
- "type": "array"
+ "page": {
+ "type": "integer"
},
- "currency": {
- "description": "Currency code the amounts are reported in, for example `USD`.",
- "example": "USD",
- "type": "string"
+ "per_page": {
+ "type": "integer"
},
- "quarterly": {
- "description": "Quarterly financial statement rows.",
+ "posts": {
"items": {
- "$ref": "#/definitions/finance.FinancialPeriod"
+ "$ref": "#/definitions/fanaticscollect.NewsroomPost"
},
"type": "array"
+ },
+ "total": {
+ "type": "integer"
+ },
+ "total_pages": {
+ "type": "integer"
}
},
"type": "object"
},
- "finance.HeadlineResponse": {
+ "fanaticscollect.NewsroomSort": {
"properties": {
- "article": {
- "$ref": "#/definitions/finance.FinanceArticle"
+ "key": {
+ "enum": [
+ "newest",
+ "oldest"
+ ],
+ "type": "string"
+ },
+ "label": {
+ "type": "string"
}
},
"type": "object"
},
- "finance.IncomeStatement": {
+ "fanaticscollect.PackChecklistCard": {
"properties": {
- "earnings_per_share": {
- "description": "Earnings per share in USD",
- "example": 1.64,
- "type": "number"
- },
- "earnings_per_share_change_yy": {
- "description": "Year-over-year change in earnings per share (%)",
- "example": 12.33,
- "type": "number"
- },
- "ebitda": {
- "description": "EBITDA (Earnings Before Interest, Taxes, Depreciation, and Amortization) in USD",
- "example": 32502000000,
- "type": "number"
- },
- "ebitda_change_yy": {
- "description": "Year-over-year change in EBITDA (%)",
- "example": 9.72,
- "type": "number"
- },
- "effective_tax_rate": {
- "description": "Effective tax rate (%)",
- "example": 50.23,
- "type": "number"
+ "brand": {
+ "type": "string"
},
- "net_income": {
- "description": "Net income in USD",
- "example": 14740000000,
- "type": "number"
+ "card_number": {
+ "type": "string"
},
- "net_income_change_yy": {
- "description": "Year-over-year change in net income (%)",
- "example": -35.81,
+ "grade": {
"type": "number"
},
- "net_profit_margin": {
- "description": "Net profit margin (%)",
- "example": 15.52,
- "type": "number"
+ "grader": {
+ "type": "string"
},
- "net_profit_margin_change_yy": {
- "description": "Year-over-year change in net profit margin (%)",
- "example": -39.49,
- "type": "number"
+ "id": {
+ "type": "string"
},
- "operating_expense": {
- "description": "Total operating expense in USD",
- "example": 14736000000,
- "type": "number"
+ "population": {
+ "type": "integer"
},
- "operating_expense_change_yy": {
- "description": "Year-over-year change in operating expense (%)",
- "example": 6.17,
- "type": "number"
+ "set": {
+ "type": "string"
},
- "quarter": {
- "description": "The fiscal quarter",
- "example": 4,
- "type": "integer"
+ "subject": {
+ "type": "string"
},
- "revenue": {
- "description": "Total revenue in USD",
- "example": 94930000000,
- "type": "number"
+ "tier": {
+ "type": "string"
},
- "revenue_change_yy": {
- "description": "Year-over-year change in revenue (%)",
- "example": 6.07,
- "type": "number"
+ "title": {
+ "type": "string"
},
"year": {
- "description": "The fiscal year",
- "example": 2024,
- "type": "integer"
+ "type": "string"
}
},
"type": "object"
},
- "finance.Instrument": {
+ "fanaticscollect.PackChecklistResponse": {
"properties": {
- "after_hours": {
- "allOf": [
- {
- "$ref": "#/definitions/finance.PriceChange"
- }
- ],
- "description": "Price and change in after-hours trading."
- },
- "change": {
- "description": "Price change shown by Google Finance, in the same unit as `price`.",
- "example": -3.37,
- "type": "number"
- },
- "change_percent": {
- "description": "Price change as a percentage, as Google Finance shows it.",
- "example": -1.3,
- "type": "number"
+ "cards": {
+ "items": {
+ "$ref": "#/definitions/fanaticscollect.PackChecklistCard"
+ },
+ "type": "array"
},
- "country": {
- "description": "Country code of the instrument, for example `US`.",
- "example": "US",
+ "checklist_id": {
"type": "string"
},
- "currency": {
- "description": "Currency code the instrument is priced in, for example `USD`.",
- "example": "USD",
- "type": "string"
+ "has_next": {
+ "type": "boolean"
},
- "exchange": {
- "description": "Exchange the instrument trades on, for example `NASDAQ`.",
- "example": "NASDAQ",
+ "next_cursor": {
"type": "string"
},
- "google_id": {
- "description": "Google's id for the instrument, for example `/m/07zmbvf`.",
- "example": "/m/07zmbvf",
+ "tier": {
"type": "string"
- },
- "identifier": {
- "description": "Instrument identifier in `TICKER:EXCHANGE` form, for example `AAPL:NASDAQ`. Use it as the `quote` path parameter.",
- "example": "AAPL:NASDAQ",
+ }
+ },
+ "type": "object"
+ },
+ "fanaticscollect.RecentlyRip": {
+ "properties": {
+ "card_image_url": {
"type": "string"
},
- "last_update_unix": {
- "description": "Time of the latest price update, in Unix seconds.",
- "example": 1777077000,
- "type": "integer"
- },
- "name": {
- "description": "Instrument name, for example `Apple Inc`.",
- "example": "Apple Inc",
+ "card_title": {
"type": "string"
},
- "previous_close": {
- "description": "Closing price of the previous trading day.",
- "example": 236.35,
- "type": "number"
- },
- "price": {
- "description": "Latest price of the instrument.",
- "example": 255.65,
- "type": "number"
+ "item_type": {
+ "type": "string"
},
- "ticker": {
- "description": "Ticker symbol of the instrument.",
- "example": "AAPL",
+ "pack_image_url": {
"type": "string"
},
- "timezone": {
- "description": "IANA time zone of the instrument's market, for example `America/New_York`.",
- "example": "America/New_York",
+ "pack_name": {
"type": "string"
},
- "type": {
- "description": "Kind of instrument: `stock`, `index`, `crypto`, `etf` or `other`.",
- "example": "stock",
+ "revealed_at": {
"type": "string"
}
},
"type": "object"
},
- "finance.Investment": {
+ "fanaticscollect.RecentlyRippedResponse": {
"properties": {
- "balance_sheet": {
- "description": "The balance sheet data.",
- "items": {
- "$ref": "#/definitions/finance.BalanceSheet"
- },
- "type": "array"
+ "checklist_id": {
+ "type": "string"
},
- "cash_flow": {
- "description": "The cash flow data.",
+ "items": {
"items": {
- "$ref": "#/definitions/finance.CashFlow"
+ "$ref": "#/definitions/fanaticscollect.RecentlyRip"
},
"type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "fanaticscollect.Sale": {
+ "properties": {
+ "sold_date": {
+ "type": "string"
},
- "income_statement": {
- "description": "The income statement data.",
+ "sold_for": {
+ "$ref": "#/definitions/fanaticscollect.Money"
+ }
+ },
+ "type": "object"
+ },
+ "fanaticscollect.SearchResponse": {
+ "properties": {
+ "page": {
+ "type": "integer"
+ },
+ "per_page": {
+ "type": "integer"
+ },
+ "query": {
+ "type": "string"
+ },
+ "results": {
"items": {
- "$ref": "#/definitions/finance.IncomeStatement"
+ "$ref": "#/definitions/fanaticscollect.SearchResult"
},
"type": "array"
+ },
+ "total": {
+ "type": "integer"
+ },
+ "total_pages": {
+ "type": "integer"
}
},
"type": "object"
},
- "finance.KeyStats": {
+ "fanaticscollect.SearchResult": {
"properties": {
- "avg_volume": {
- "description": "The average trading volume.",
- "example": 1510000,
- "type": "integer"
+ "allow_offers": {
+ "type": "boolean"
},
- "climate_change_score": {
- "description": "The climate change score of the company.",
- "example": "B",
+ "asking_price": {
+ "$ref": "#/definitions/fanaticscollect.Money"
+ },
+ "auction_name": {
"type": "string"
},
- "currency": {
- "description": "The currency of the stock price.",
- "example": "EUR",
+ "auction_urn": {
"type": "string"
},
- "day_range": {
- "allOf": [
- {
- "$ref": "#/definitions/finance.Range"
- }
- ],
- "description": "The day's price range."
+ "brand": {
+ "type": "string"
},
- "dividend_yield": {
- "description": "The dividend yield percentage.",
- "example": 0.0092,
- "type": "number"
+ "card_number": {
+ "type": "string"
},
- "market_cap": {
- "description": "The market capitalization of the company.",
- "example": 291570000000,
+ "category_parent": {
+ "type": "string"
+ },
+ "certified_seller": {
+ "type": "string"
+ },
+ "current_price": {
+ "$ref": "#/definitions/fanaticscollect.Money"
+ },
+ "fanatics_authentic": {
+ "type": "boolean"
+ },
+ "favorited_count": {
"type": "integer"
},
- "pe_ratio": {
- "description": "The price-to-earnings ratio.",
- "example": 99.95,
+ "grade": {
"type": "number"
},
- "previous_close": {
- "description": "The previous closing price of the stock.",
- "example": 236.35,
- "type": "number"
+ "grading_service": {
+ "type": "string"
},
- "primary_exchange": {
- "description": "The primary exchange where the stock is listed.",
- "example": "ETR",
+ "great_price": {
+ "type": "boolean"
+ },
+ "has_offers": {
+ "type": "boolean"
+ },
+ "id": {
"type": "string"
},
- "tags": {
- "description": "Tags describing the stock.",
- "example": [
- "[\"Stock\"",
- " \"DE listed security\"",
- " \"DE headquartered\"]"
- ],
+ "image_primary": {
+ "type": "string"
+ },
+ "image_secondary": {
+ "type": "string"
+ },
+ "lot_number": {
+ "type": "string"
+ },
+ "marketplace": {
+ "type": "string"
+ },
+ "seller_id": {
+ "type": "string"
+ },
+ "serial": {
+ "type": "string"
+ },
+ "status": {
+ "type": "string"
+ },
+ "sub_categories": {
"items": {
"type": "string"
},
"type": "array"
},
- "year_range": {
- "allOf": [
- {
- "$ref": "#/definitions/finance.Range"
- }
- ],
- "description": "The year's price range."
- }
- },
- "type": "object"
- },
- "finance.MarketMoversResponse": {
- "properties": {
- "categories": {
- "description": "Numeric category ids the movers were filtered by.",
+ "subtitle": {
+ "type": "string"
+ },
+ "teams": {
"items": {
- "type": "integer"
+ "type": "string"
},
"type": "array"
},
- "count": {
- "description": "Number of instruments requested.",
- "example": 20,
- "type": "integer"
+ "title": {
+ "type": "string"
},
- "items": {
- "description": "Market mover instruments.",
- "items": {
- "$ref": "#/definitions/finance.Instrument"
- },
- "type": "array"
+ "url": {
+ "type": "string"
},
- "offset": {
- "description": "Number of instruments skipped before this page.",
- "example": 0,
+ "year": {
"type": "integer"
}
},
"type": "object"
},
- "finance.News": {
+ "fanaticscollect.SoldItem": {
"properties": {
- "source": {
- "description": "The source of the news.",
- "example": "Reuters",
+ "category": {
"type": "string"
},
- "time": {
- "description": "The publication time of the news.",
- "example": "2024-12-27T09:03:00Z",
+ "eye_appeal_grade": {
"type": "string"
},
- "title": {
- "description": "The title of the news article.",
- "example": "SAP Announces Q3 Earnings",
+ "grade": {
+ "type": "number"
+ },
+ "grading_service": {
"type": "string"
},
- "url": {
- "description": "The URL to the news article.",
- "example": "https://www.reuters.com/article/sap-q3",
+ "id": {
"type": "string"
- }
- },
- "type": "object"
- },
- "finance.PriceChange": {
- "properties": {
- "change": {
- "description": "Price change, in the same unit as `price`.",
- "example": -3.37,
- "type": "number"
},
- "change_percent": {
- "description": "Price change as a percentage.",
- "example": -1.3,
- "type": "number"
+ "image_medium": {
+ "type": "string"
},
- "price": {
- "description": "Price in after-hours trading.",
- "example": 255.65,
- "type": "number"
- }
- },
- "type": "object"
- },
- "finance.QuoteResp": {
- "properties": {
- "about": {
- "allOf": [
- {
- "$ref": "#/definitions/finance.About"
- }
- ],
- "description": "Information about the company."
+ "image_thumbnail": {
+ "type": "string"
},
- "investment": {
- "allOf": [
- {
- "$ref": "#/definitions/finance.Investment"
- }
- ],
- "description": "The investment-related data."
+ "listing_id": {
+ "type": "string"
},
- "key_stats": {
- "allOf": [
- {
- "$ref": "#/definitions/finance.KeyStats"
- }
- ],
- "description": "The key statistics about the stock."
+ "marketplace": {
+ "example": "FIXED",
+ "type": "string"
},
- "news": {
- "description": "The news related to the stock/company.",
- "items": {
- "$ref": "#/definitions/finance.News"
- },
- "type": "array"
+ "purchase_price": {
+ "$ref": "#/definitions/fanaticscollect.Money"
},
- "tickers": {
- "description": "Historical ticker data.",
- "items": {
- "$ref": "#/definitions/finance.Ticker"
- },
- "type": "array"
+ "serial": {
+ "type": "string"
+ },
+ "sold_date": {
+ "type": "string"
+ },
+ "subtitle": {
+ "type": "string"
},
"title": {
- "description": "The title or name of the stock/company.",
- "example": "SAP SE",
"type": "string"
- }
- },
- "type": "object"
- },
- "finance.Range": {
- "properties": {
- "from": {
- "description": "The lower bound of the range.",
- "example": 237.95,
- "type": "number"
},
- "to": {
- "description": "The upper bound of the range.",
- "example": 241.4,
- "type": "number"
+ "url": {
+ "type": "string"
+ },
+ "year": {
+ "type": "integer"
}
},
"type": "object"
},
- "finance.RelatedResponse": {
+ "fanaticscollect.SoldItemsResponse": {
"properties": {
- "instrument": {
- "allOf": [
- {
- "$ref": "#/definitions/finance.Instrument"
- }
- ],
- "description": "Instrument the related list is for."
+ "page": {
+ "type": "integer"
},
- "items": {
- "description": "Instruments Google Finance lists as related.",
+ "per_page": {
+ "type": "integer"
+ },
+ "results": {
"items": {
- "$ref": "#/definitions/finance.Instrument"
+ "$ref": "#/definitions/fanaticscollect.SoldItem"
},
"type": "array"
+ },
+ "total": {
+ "type": "integer"
+ },
+ "total_pages": {
+ "type": "integer"
}
},
"type": "object"
},
- "finance.StockData": {
+ "fanaticscollect.SortOption": {
"properties": {
- "change": {
- "description": "The absolute change in the stock price compared to the previous close.",
- "example": -3.369995,
- "type": "number"
- },
- "company_name": {
- "description": "The name of the company associated with the stock ticker.",
- "example": "Apple Inc",
- "type": "string"
- },
- "currency": {
- "description": "The currency in which the stock price is denominated.",
- "example": "USD",
- "type": "string"
- },
- "exchange": {
- "description": "The stock exchange where the stock is listed.",
- "example": "NASDAQ",
+ "display_name": {
+ "example": "Best Value",
"type": "string"
},
- "percentage": {
- "description": "The percentage change in the stock price compared to the previous close.",
- "example": -1.301056,
- "type": "number"
- },
- "price": {
- "description": "The current price of the stock.",
- "example": 255.65,
- "type": "number"
- },
- "ticker": {
- "description": "The stock ticker symbol.",
- "example": "AAPL",
+ "value": {
+ "example": "best_value",
"type": "string"
}
},
"type": "object"
},
- "finance.Ticker": {
+ "fanaticscollect.SubCategory": {
"properties": {
- "price": {
- "description": "The price at the given time.",
- "example": 239.5,
- "type": "number"
+ "category_parent": {
+ "example": "Sports Cards",
+ "type": "string"
},
- "time": {
- "description": "The time of the ticker record.",
- "example": "2024-12-27T09:03:00Z",
+ "name": {
+ "example": "Baseball",
"type": "string"
},
- "volume": {
- "description": "The trading volume at the given time.",
- "example": 131032,
- "type": "integer"
+ "path": {
+ "example": "Sports Cards > Baseball",
+ "type": "string"
}
},
"type": "object"
},
- "finance.TopStocksResponse": {
+ "fanaticscollect.TrendingSearchesResponse": {
"properties": {
- "items": {
- "description": "Top instruments for the selected metric.",
+ "terms": {
"items": {
- "$ref": "#/definitions/finance.Instrument"
+ "type": "string"
},
"type": "array"
- },
- "metric": {
- "description": "Google Finance metric id that was applied.",
- "example": 6,
- "type": "integer"
- },
- "page": {
- "description": "Page number returned.",
- "example": 1,
- "type": "integer"
}
},
"type": "object"
},
- "finance.articlesResponseDoc": {
+ "fanaticscollect.VaultItem": {
"properties": {
- "code": {
- "example": 200,
+ "grading_service_url": {
+ "example": "https://www.psacard.com/cert/43185259/psa",
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "integer_id": {
"type": "integer"
},
- "data": {
+ "origin_label": {
+ "type": "string"
+ },
+ "origin_type": {
+ "type": "string"
+ },
+ "safe_market_value": {
+ "$ref": "#/definitions/fanaticscollect.Money"
+ },
+ "similar_item_transactions": {
"items": {
- "$ref": "#/definitions/finance.FinanceArticle"
+ "$ref": "#/definitions/fanaticscollect.Sale"
},
"type": "array"
},
- "msg": {
- "example": "OK",
+ "suggested_asking_price": {
+ "$ref": "#/definitions/fanaticscollect.Money"
+ },
+ "video_url": {
"type": "string"
}
},
"type": "object"
},
- "finance.categoryNewsResponseDoc": {
+ "fanaticscollect.auctionsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/finance.CategoryNewsResponse"
+ "$ref": "#/definitions/fanaticscollect.AuctionsResponse"
},
"msg": {
"example": "OK",
@@ -80165,14 +85119,14 @@
},
"type": "object"
},
- "finance.categoryStocksResponseDoc": {
+ "fanaticscollect.categoriesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/finance.CategoryStocksResponse"
+ "$ref": "#/definitions/fanaticscollect.Categories"
},
"msg": {
"example": "OK",
@@ -80181,14 +85135,14 @@
},
"type": "object"
},
- "finance.chartResponseDoc": {
+ "fanaticscollect.instantRipsCategoriesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/finance.ChartResponse"
+ "$ref": "#/definitions/fanaticscollect.InstantRipsCategoriesResponse"
},
"msg": {
"example": "OK",
@@ -80197,14 +85151,14 @@
},
"type": "object"
},
- "finance.classificationResponseDoc": {
+ "fanaticscollect.listingResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/finance.ClassificationResponse"
+ "$ref": "#/definitions/fanaticscollect.Listing"
},
"msg": {
"example": "OK",
@@ -80213,14 +85167,14 @@
},
"type": "object"
},
- "finance.companyResponseDoc": {
+ "fanaticscollect.searchResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/finance.CompanyInfo"
+ "$ref": "#/definitions/fanaticscollect.SearchResponse"
},
"msg": {
"example": "OK",
@@ -80229,14 +85183,14 @@
},
"type": "object"
},
- "finance.contextResponseDoc": {
+ "fanaticscollect.soldItemsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/finance.ContextResponse"
+ "$ref": "#/definitions/fanaticscollect.SoldItemsResponse"
},
"msg": {
"example": "OK",
@@ -80245,14 +85199,14 @@
},
"type": "object"
},
- "finance.earningsResponseDoc": {
+ "fanaticscollect.trendingSearchesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/finance.EarningsCalendarResponse"
+ "$ref": "#/definitions/fanaticscollect.TrendingSearchesResponse"
},
"msg": {
"example": "OK",
@@ -80261,378 +85215,655 @@
},
"type": "object"
},
- "finance.financialsResponseDoc": {
+ "fanaticslive.BreakSpotsCounts": {
"properties": {
- "code": {
- "example": 200,
+ "available": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/finance.FinancialsResponse"
+ "claimed": {
+ "type": "integer"
},
- "msg": {
- "example": "OK",
- "type": "string"
+ "total": {
+ "type": "integer"
}
},
"type": "object"
},
- "finance.headlineResponseDoc": {
+ "fanaticslive.BreakSummary": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "id": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/finance.HeadlineResponse"
+ "minimum_bid": {
+ "$ref": "#/definitions/fanaticslive.Money"
},
- "msg": {
- "example": "OK",
+ "pricing_type": {
+ "enum": [
+ "SET_PRICE"
+ ],
+ "example": "SET_PRICE",
+ "type": "string"
+ },
+ "status": {
+ "enum": [
+ "READY",
+ "RIPPING",
+ "COMPLETE"
+ ],
+ "example": "READY",
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "PERSONAL",
+ "GROUP"
+ ],
+ "example": "PERSONAL",
"type": "string"
}
},
"type": "object"
},
- "finance.instrumentsResponseDoc": {
+ "fanaticslive.BrowseResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "league": {
+ "type": "string"
},
- "data": {
+ "shows": {
"items": {
- "$ref": "#/definitions/finance.Instrument"
+ "$ref": "#/definitions/fanaticslive.LiveShow"
},
"type": "array"
- },
- "msg": {
- "example": "OK",
- "type": "string"
}
},
"type": "object"
},
- "finance.marketMoversResponseDoc": {
+ "fanaticslive.ChannelResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "id": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/finance.MarketMoversResponse"
+ "live_shows": {
+ "description": "LiveShows and ReplayShows are each capped to the first page (see\nGET /fanaticslive/shop/{slug}/shows for cursor-paginated access to a\nchannel's full show history via its parent shop).",
+ "items": {
+ "$ref": "#/definitions/fanaticslive.LiveShow"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "logo_url": {
+ "type": "string"
+ },
+ "name": {
"type": "string"
+ },
+ "replay_shows": {
+ "items": {
+ "$ref": "#/definitions/fanaticslive.LiveShow"
+ },
+ "type": "array"
+ },
+ "shop": {
+ "$ref": "#/definitions/fanaticslive.ChannelShopSummary"
}
},
"type": "object"
},
- "finance.quoteResponseDoc": {
+ "fanaticslive.ChannelShopSummary": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "id": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/finance.QuoteResp"
+ "name": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "slug": {
"type": "string"
}
},
"type": "object"
},
- "finance.relatedResponseDoc": {
+ "fanaticslive.CurrentBreak": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "break_spots_counts": {
+ "$ref": "#/definitions/fanaticslive.BreakSpotsCounts"
},
- "data": {
- "$ref": "#/definitions/finance.RelatedResponse"
+ "id": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "minimum_bid": {
+ "$ref": "#/definitions/fanaticslive.Money"
+ },
+ "pricing_type": {
+ "description": "PricingType: SET_PRICE was observed live; Fanatics Live's own bid/\nbidV2 mutations and currentBreakSpotAuction field strongly imply an\nauction-priced value also exists but it was not observed live.",
+ "enum": [
+ "SET_PRICE"
+ ],
+ "example": "SET_PRICE",
+ "type": "string"
+ },
+ "status": {
+ "description": "Status: READY, RIPPING, and COMPLETE were observed live; other\ntransitional states almost certainly also exist but were not\nobserved.",
+ "enum": [
+ "READY",
+ "RIPPING",
+ "COMPLETE"
+ ],
+ "example": "READY",
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "type": {
+ "description": "Type: PERSONAL (single buyer) and GROUP (sold by the spot) were\nobserved live.",
+ "enum": [
+ "PERSONAL",
+ "GROUP"
+ ],
+ "example": "PERSONAL",
"type": "string"
}
},
"type": "object"
},
- "finance.searchResponseDoc": {
+ "fanaticslive.CurrentInstantRipBreakSpot": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "digital_rip_status": {
+ "type": "string"
},
- "data": {
+ "id": {
+ "type": "string"
+ },
+ "items": {
"items": {
- "$ref": "#/definitions/finance.StockData"
+ "$ref": "#/definitions/fanaticslive.InstantRipItem"
},
"type": "array"
},
- "msg": {
- "example": "OK",
+ "user": {
+ "$ref": "#/definitions/fanaticslive.InstantRipUser"
+ }
+ },
+ "type": "object"
+ },
+ "fanaticslive.InstantRipBreakProduct": {
+ "properties": {
+ "is_digital": {
+ "type": "boolean"
+ },
+ "product_id": {
"type": "string"
}
},
"type": "object"
},
- "finance.tickerResponseDoc": {
+ "fanaticslive.InstantRipBreakSpot": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "digital_rip_status": {
+ "type": "string"
},
- "data": {
+ "id": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "fanaticslive.InstantRipItem": {
+ "properties": {
+ "grading_service": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "image_urls": {
"items": {
- "$ref": "#/definitions/finance.Ticker"
+ "type": "string"
},
"type": "array"
},
- "msg": {
- "example": "OK",
+ "item_type": {
+ "description": "ItemType and RevealState value spaces are unconfirmed -- see the\nInstantRipBreakSpot doc comment; no live instant rip was in progress\nduring research to observe real values.",
+ "type": "string"
+ },
+ "reveal_state": {
+ "type": "string"
+ },
+ "title": {
"type": "string"
}
},
"type": "object"
},
- "finance.topStocksResponseDoc": {
+ "fanaticslive.InstantRipUser": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "avatar_url": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/finance.TopStocksResponse"
+ "id": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "username": {
"type": "string"
}
},
"type": "object"
},
- "firstdibs.CategoriesResponse": {
+ "fanaticslive.InstantRipsBreak": {
"properties": {
- "categories": {
- "items": {
- "$ref": "#/definitions/firstdibs.Category"
- },
- "type": "array"
+ "current_instant_rip_break_spot": {
+ "$ref": "#/definitions/fanaticslive.CurrentInstantRipBreakSpot"
},
- "filter_values": {
- "additionalProperties": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "type": "object"
+ "id": {
+ "type": "string"
},
- "price_presets": {
+ "products": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/fanaticslive.InstantRipBreakProduct"
},
"type": "array"
},
- "sorts": {
+ "spots": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/fanaticslive.InstantRipBreakSpot"
},
"type": "array"
+ },
+ "status": {
+ "enum": [
+ "READY",
+ "RIPPING",
+ "COMPLETE"
+ ],
+ "example": "READY",
+ "type": "string"
}
},
"type": "object"
},
- "firstdibs.Category": {
+ "fanaticslive.InstantRipsResponse": {
"properties": {
- "name": {
+ "channel_name": {
"type": "string"
},
- "slug": {
+ "current_break": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/fanaticslive.InstantRipsBreak"
+ }
+ ],
+ "description": "CurrentBreak is nil when the show has no active break at request\ntime (confirmed live: mirrors Show.CurrentBreak's nullability)."
+ },
+ "shop_name": {
"type": "string"
},
- "url": {
+ "show_id": {
"type": "string"
}
},
"type": "object"
},
- "firstdibs.Designer": {
+ "fanaticslive.League": {
"properties": {
- "name": {
+ "id": {
"type": "string"
},
- "slug": {
+ "logo_url": {
"type": "string"
},
- "url": {
+ "name": {
+ "type": "string"
+ },
+ "type": {
"type": "string"
}
},
"type": "object"
},
- "firstdibs.DesignersResponse": {
+ "fanaticslive.LeaguesResponse": {
"properties": {
- "count": {
- "type": "integer"
- },
- "designers": {
+ "leagues": {
"items": {
- "$ref": "#/definitions/firstdibs.Designer"
+ "$ref": "#/definitions/fanaticslive.League"
},
"type": "array"
}
},
"type": "object"
},
- "firstdibs.Detail": {
+ "fanaticslive.LiveShow": {
"properties": {
- "brand": {
- "type": "string"
- },
- "category": {
- "type": "string"
+ "channel": {
+ "$ref": "#/definitions/fanaticslive.LiveShowChannel"
},
- "currency": {
+ "cover_image_url": {
"type": "string"
},
"description": {
"type": "string"
},
"id": {
+ "description": "pass as the :id path param to /fanaticslive/show/{id}",
"type": "string"
},
- "images": {
+ "leagues": {
"items": {
"type": "string"
},
"type": "array"
},
- "in_stock": {
- "type": "boolean"
+ "name": {
+ "type": "string"
+ },
+ "starts_at": {
+ "type": "string"
+ },
+ "status": {
+ "description": "Status is the show's own lifecycle state: ACTIVE (currently live),\nPREPARING (scheduled, not yet started), or COMPLETE (ended -- confirmed\nlive 2026-09-16 via a shop's replay list; ended shows drop out of\nFanatics Live's own league/browse feeds essentially immediately, which\nis why COMPLETE only ever surfaces through a replay-scoped list like\nGET /fanaticslive/shop/{slug}/shows?status=replay, never from Browse).",
+ "enum": [
+ "ACTIVE",
+ "PREPARING",
+ "COMPLETE"
+ ],
+ "example": "ACTIVE",
+ "type": "string"
+ },
+ "viewers": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "fanaticslive.LiveShowChannel": {
+ "properties": {
+ "id": {
+ "type": "string"
},
"name": {
"type": "string"
},
- "price": {
+ "shop": {
+ "$ref": "#/definitions/fanaticslive.LiveShowShop"
+ }
+ },
+ "type": "object"
+ },
+ "fanaticslive.LiveShowShop": {
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "logo_url": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "slug": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "fanaticslive.Money": {
+ "properties": {
+ "amount": {
"type": "number"
},
- "url": {
+ "amount_display": {
+ "type": "string"
+ },
+ "currency": {
"type": "string"
}
},
"type": "object"
},
- "firstdibs.Facets": {
+ "fanaticslive.ShopChannel": {
"properties": {
- "categories": {
+ "id": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "fanaticslive.ShopLinks": {
+ "properties": {
+ "instagram": {
+ "type": "string"
+ },
+ "tiktok": {
+ "type": "string"
+ },
+ "web": {
+ "type": "string"
+ },
+ "x": {
+ "type": "string"
+ },
+ "youtube": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "fanaticslive.ShopResponse": {
+ "properties": {
+ "channels": {
"items": {
- "$ref": "#/definitions/firstdibs.Category"
+ "$ref": "#/definitions/fanaticslive.ShopChannel"
},
"type": "array"
},
- "designers": {
+ "country": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "follower_count": {
+ "type": "integer"
+ },
+ "id": {
+ "type": "string"
+ },
+ "links": {
+ "$ref": "#/definitions/fanaticslive.ShopLinks"
+ },
+ "logo_url": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "slug": {
+ "type": "string"
+ },
+ "staffers": {
"items": {
- "$ref": "#/definitions/firstdibs.Designer"
+ "$ref": "#/definitions/fanaticslive.ShopStaffer"
},
"type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "fanaticslive.ShopShowsResponse": {
+ "properties": {
+ "has_more": {
+ "type": "boolean"
},
- "price_presets": {
+ "next_cursor": {
+ "type": "string"
+ },
+ "shows": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/fanaticslive.LiveShow"
},
"type": "array"
},
- "sorts": {
+ "slug": {
+ "type": "string"
+ },
+ "status": {
+ "enum": [
+ "live",
+ "replay"
+ ],
+ "example": "live",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "fanaticslive.ShopStaffer": {
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "username": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "fanaticslive.ShopSummary": {
+ "properties": {
+ "follower_count": {
+ "type": "integer"
+ },
+ "id": {
+ "type": "string"
+ },
+ "logo_url": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "slug": {
+ "description": "pass as the :slug path param to /fanaticslive/shop/{slug}",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "fanaticslive.ShopsResponse": {
+ "properties": {
+ "shops": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/fanaticslive.ShopSummary"
},
"type": "array"
}
},
"type": "object"
},
- "firstdibs.Product": {
+ "fanaticslive.ShowChannel": {
"properties": {
- "brand": {
- "type": "string"
- },
- "category": {
+ "id": {
"type": "string"
},
- "currency": {
+ "name": {
"type": "string"
},
+ "shop": {
+ "$ref": "#/definitions/fanaticslive.ShowChannelShop"
+ }
+ },
+ "type": "object"
+ },
+ "fanaticslive.ShowChannelShop": {
+ "properties": {
"description": {
"type": "string"
},
+ "follower_count": {
+ "type": "integer"
+ },
"id": {
"type": "string"
},
- "image_url": {
+ "logo_url": {
"type": "string"
},
- "in_stock": {
- "type": "boolean"
- },
"name": {
"type": "string"
},
- "price": {
- "type": "number"
- },
- "url": {
+ "slug": {
"type": "string"
}
},
"type": "object"
},
- "firstdibs.SearchResponse": {
+ "fanaticslive.ShowResponse": {
"properties": {
- "category": {
+ "breaks": {
+ "items": {
+ "$ref": "#/definitions/fanaticslive.BreakSummary"
+ },
+ "type": "array"
+ },
+ "channel": {
+ "$ref": "#/definitions/fanaticslive.ShowChannel"
+ },
+ "country": {
"type": "string"
},
- "count": {
- "type": "integer"
+ "cover_image_url": {
+ "type": "string"
},
- "facets": {
- "$ref": "#/definitions/firstdibs.Facets"
+ "current_break": {
+ "$ref": "#/definitions/fanaticslive.CurrentBreak"
},
- "page": {
- "type": "integer"
+ "description": {
+ "type": "string"
},
- "per_page": {
- "type": "integer"
+ "id": {
+ "type": "string"
},
- "products": {
+ "leagues": {
"items": {
- "$ref": "#/definitions/firstdibs.Product"
+ "type": "string"
},
"type": "array"
},
- "query": {
+ "name": {
"type": "string"
},
- "source_url": {
+ "starts_at": {
"type": "string"
},
- "total": {
+ "status": {
+ "description": "Status: see LiveShow.Status for the full confirmed enum.",
+ "enum": [
+ "ACTIVE",
+ "PREPARING",
+ "COMPLETE"
+ ],
+ "example": "ACTIVE",
+ "type": "string"
+ },
+ "viewers": {
"type": "integer"
}
},
"type": "object"
},
- "firstdibs.categoriesDoc": {
+ "fanaticslive.browseResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/firstdibs.CategoriesResponse"
+ "$ref": "#/definitions/fanaticslive.BrowseResponse"
},
"msg": {
"example": "OK",
@@ -80641,14 +85872,14 @@
},
"type": "object"
},
- "firstdibs.designersDoc": {
+ "fanaticslive.channelResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/firstdibs.DesignersResponse"
+ "$ref": "#/definitions/fanaticslive.ChannelResponse"
},
"msg": {
"example": "OK",
@@ -80657,14 +85888,14 @@
},
"type": "object"
},
- "firstdibs.productDoc": {
+ "fanaticslive.instantRipsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/firstdibs.Detail"
+ "$ref": "#/definitions/fanaticslive.InstantRipsResponse"
},
"msg": {
"example": "OK",
@@ -80673,14 +85904,14 @@
},
"type": "object"
},
- "firstdibs.searchDoc": {
+ "fanaticslive.leaguesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/firstdibs.SearchResponse"
+ "$ref": "#/definitions/fanaticslive.LeaguesResponse"
},
"msg": {
"example": "OK",
@@ -80689,2010 +85920,2352 @@
},
"type": "object"
},
- "fiveguys.DayHours": {
+ "fanaticslive.shopResponseDoc": {
"properties": {
- "closed": {
- "example": false,
- "type": "boolean"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "open_intervals": {
- "items": {
- "$ref": "#/definitions/fiveguys.TimeInterval"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/fanaticslive.ShopResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "fiveguys.DirectoryChild": {
+ "fanaticslive.shopShowsResponseDoc": {
"properties": {
- "city": {
- "description": "City/Region are set only on a store-level child.",
- "example": "Chicago",
- "type": "string"
- },
- "geomodifier": {
- "description": "Geomodifier is the per-restaurant area/plaza label, set only on a\nstore-level child (e.g. \"Medical District\").",
- "example": "Medical District",
- "type": "string"
- },
- "is_location": {
- "description": "IsLocation marks a child that is a restaurant rather than another\ndirectory level -- call GET /fiveguys/store with its path.",
- "example": false,
- "type": "boolean"
- },
- "location_count": {
- "description": "LocationCount is how many restaurants sit under this branch, as Yext\nreports it. Absent at the deepest level, where children are\nrestaurants themselves.",
- "example": 38,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "name": {
- "description": "Name is the state or city name. Empty on a store-level child, whose\nname is always the generic brand name -- read Geomodifier there.",
- "example": "Illinois",
- "type": "string"
- },
- "path": {
- "example": "il",
- "type": "string"
- },
- "region": {
- "example": "IL",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/fanaticslive.ShopShowsResponse"
},
- "url": {
- "example": "https://restaurants.fiveguys.com/il",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "fiveguys.DirectoryCrumb": {
+ "fanaticslive.shopsResponseDoc": {
"properties": {
- "name": {
- "example": "Illinois",
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "path": {
- "description": "Path feeds GET /fiveguys/directory's path. Empty on the root crumb,\nwhich is that endpoint's own default (omit path for the root).",
- "example": "il",
+ "data": {
+ "$ref": "#/definitions/fanaticslive.ShopsResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "fiveguys.DirectoryResponse": {
+ "fanaticslive.showResponseDoc": {
"properties": {
- "children": {
- "items": {
- "$ref": "#/definitions/fiveguys.DirectoryChild"
- },
- "type": "array"
- },
- "count": {
- "example": 34,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "fetched_at": {
- "example": "2026-09-05T12:00:00Z",
- "type": "string"
- },
- "name": {
- "example": "Illinois",
- "type": "string"
- },
- "path": {
- "example": "il",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/fanaticslive.ShowResponse"
},
- "source_url": {
- "example": "https://restaurants.fiveguys.com/il",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "fiveguys.FAQCategoriesResponse": {
+ "fanduel.CasinoCategoriesResponse": {
"properties": {
"categories": {
"items": {
- "$ref": "#/definitions/fiveguys.FAQCategory"
+ "$ref": "#/definitions/fanduel.CasinoCategory"
},
"type": "array"
},
- "count": {
- "example": 17,
- "type": "integer"
- },
"fetched_at": {
"type": "string"
},
- "source_url": {
+ "lobby": {
+ "type": "string"
+ },
+ "region": {
"type": "string"
+ },
+ "regions": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "fiveguys.FAQCategory": {
+ "fanduel.CasinoCategory": {
"properties": {
- "entry_count": {
- "description": "EntryCount is how many published FAQ entries carry this category, as\nreported by WordPress's own term counter.",
- "example": 34,
- "type": "integer"
- },
- "id": {
- "example": 21,
- "type": "integer"
- },
- "name": {
- "example": "Menu",
+ "note": {
"type": "string"
},
"slug": {
- "example": "menu",
+ "type": "string"
+ },
+ "title": {
"type": "string"
}
},
"type": "object"
},
- "fiveguys.FAQEntry": {
+ "fanduel.CasinoCategoryResponse": {
"properties": {
- "answer": {
+ "badges": {
+ "items": {
+ "$ref": "#/definitions/fanduel.CasinoCount"
+ },
+ "type": "array"
+ },
+ "cached_at": {
"type": "string"
},
- "answer_html": {
+ "category": {
+ "$ref": "#/definitions/fanduel.CasinoCategory"
+ },
+ "category_total": {
+ "type": "integer"
+ },
+ "fetched_at": {
"type": "string"
},
- "categories": {
+ "games": {
"items": {
- "$ref": "#/definitions/fiveguys.TaxonomyRef"
+ "$ref": "#/definitions/fanduel.CasinoGame"
},
"type": "array"
},
- "id": {
- "example": 4817,
+ "limit": {
"type": "integer"
},
- "modified_at": {
- "example": "2026-06-30T20:29:34Z",
+ "lobby": {
"type": "string"
},
- "page_url": {
- "type": "string"
+ "offset": {
+ "type": "integer"
},
- "question": {
- "example": "I'm writing a story about Five Guys. Who should I contact?",
+ "providers": {
+ "items": {
+ "$ref": "#/definitions/fanduel.CasinoCount"
+ },
+ "type": "array"
+ },
+ "region": {
"type": "string"
},
- "slug": {
- "example": "im-writing-a-story-about-five-guys-who-should-i-contact",
+ "total": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "fanduel.CasinoCount": {
+ "properties": {
+ "count": {
+ "type": "integer"
+ },
+ "value": {
"type": "string"
}
},
"type": "object"
},
- "fiveguys.FAQResponse": {
+ "fanduel.CasinoGame": {
"properties": {
- "entries": {
- "items": {
- "$ref": "#/definitions/fiveguys.FAQEntry"
- },
- "type": "array"
+ "badge": {
+ "type": "string"
},
- "fetched_at": {
+ "game_url": {
"type": "string"
},
- "pagination": {
- "$ref": "#/definitions/fiveguys.pagination"
+ "name": {
+ "type": "string"
},
- "source_url": {
+ "position": {
+ "type": "integer"
+ },
+ "provider": {
+ "type": "string"
+ },
+ "site_wide_jackpot": {
+ "type": "boolean"
+ },
+ "slug": {
"type": "string"
}
},
"type": "object"
},
- "fiveguys.Location": {
+ "fanduel.CasinoGameResponse": {
"properties": {
- "address": {
- "$ref": "#/definitions/fiveguys.LocationAddress"
- },
- "delivery_hours": {
- "allOf": [
- {
- "$ref": "#/definitions/fiveguys.WeeklyHours"
- }
- ],
- "description": "DeliveryHours is this location's delivery-order cutoff schedule, kept\nseparate from Hours (in-store hours) because Yext publishes the two\nindependently and they can differ -- confirmed live 2026-09-05: a\nChicago location open in-store until midnight cuts delivery off at\n23:45. Nil when Yext has not published a delivery schedule for this\nlocation (e.g. it does not offer delivery)."
- },
- "delivery_url": {
+ "badge": {
"type": "string"
},
- "distance_kilometers": {
- "example": 0.74,
- "type": "number"
- },
- "distance_miles": {
- "description": "DistanceMiles/DistanceKilometers are measured from the resolved\nsearch center -- the coordinate GET /fiveguys/nearby was given, or\nthe location GET /fiveguys/search's `query` text resolved to.",
- "example": 0.46,
- "type": "number"
+ "bet_range": {
+ "type": "string"
},
- "geomodifier": {
- "description": "Geomodifier is Yext's short area/plaza descriptor for this location\n(e.g. \"Michigan Ave\", \"Medical District\") -- every location's Name is\nthe generic brand name \"Five Guys\", so Geomodifier is the field that\nactually distinguishes one result from another the way\nrestaurants.fiveguys.com's own location pages title themselves\n(\"Five Guys Medical District\"). Empty when Yext has not published one.",
- "example": "Michigan Ave",
+ "category": {
"type": "string"
},
- "google_place_id": {
- "description": "GooglePlaceID is this location's Google Places identifier, when Yext\nhas published one, matching this repo's other Yext-family locators.",
- "example": "ChIJHTEJ8EgtDogRepA4KPyvUCU",
+ "description": {
"type": "string"
},
- "hours": {
- "$ref": "#/definitions/fiveguys.WeeklyHours"
+ "features": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "id": {
- "description": "ID is Yext's internal entity id for this restaurant.",
- "example": "4020",
+ "fetched_at": {
"type": "string"
},
- "latitude": {
- "description": "Latitude/Longitude are Yext's display coordinate (rooftop-accurate\npin location), falling back to the raw geocoded coordinate when Yext\nhas not published a display override.",
- "example": 41.885572,
+ "game_id": {
+ "type": "string"
+ },
+ "max_bet": {
"type": "number"
},
- "longitude": {
- "example": -87.624864,
+ "min_bet": {
"type": "number"
},
- "menu_url": {
+ "name": {
"type": "string"
},
- "name": {
- "example": "Five Guys",
+ "players_now": {
+ "type": "integer"
+ },
+ "provider_name": {
"type": "string"
},
- "order_url": {
- "description": "OrderURL and DeliveryURL point at order.fiveguys.com, which this\nrepo cannot reach (confirmed hard wall -- see service.go); they are\nstill published here since Five Guys publishes them and a caller may\nwant to hand the URL to an end user.",
+ "provider_ref": {
"type": "string"
},
- "path": {
- "description": "Path is the restaurants.fiveguys.com slug for this location.",
- "example": "180-n-michigan-ave",
+ "region": {
"type": "string"
},
- "phone": {
- "example": "+13122919686",
+ "slug": {
"type": "string"
},
- "pickup_and_delivery_services": {
- "description": "PickupAndDeliveryServices are Five Guys' own fulfillment-channel\nlabels, e.g. \"In-Store Pickup\".",
- "items": {
- "type": "string"
- },
- "type": "array"
+ "studio": {
+ "type": "string"
},
- "price_range": {
- "example": "$",
+ "summary_tag": {
"type": "string"
},
- "services": {
- "description": "Services are Five Guys' own restaurant-amenity labels for this\nlocation, e.g. \"Takeout\", \"Dine In\", \"Curbside\", \"Mobile Ordering\".",
+ "themes": {
"items": {
"type": "string"
},
"type": "array"
},
- "timezone": {
- "example": "America/Chicago",
+ "trend": {
"type": "string"
},
- "website_url": {
- "example": "https://restaurants.fiveguys.com/180-n-michigan-ave",
+ "url": {
+ "type": "string"
+ },
+ "volatility": {
"type": "string"
}
},
"type": "object"
},
- "fiveguys.LocationAddress": {
+ "fanduel.QuickPicksDailyEpisode": {
"properties": {
- "city": {
- "example": "Chicago",
+ "duration_seconds": {
+ "type": "number"
+ },
+ "id": {
"type": "string"
},
- "country": {
- "example": "US",
+ "image_url": {
"type": "string"
},
- "line1": {
- "example": "180 N Michigan Ave",
+ "in_rss_playlist": {
+ "type": "boolean"
+ },
+ "published_at": {
"type": "string"
},
- "line2": {
+ "summary": {
"type": "string"
},
- "postal_code": {
- "example": "60601",
+ "title": {
"type": "string"
},
- "region": {
- "example": "IL",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "fiveguys.MenuCategory": {
+ "fanduel.QuickPicksDailyResponse": {
"properties": {
- "description": {
- "description": "Description is fiveguys.com's own short category blurb (e.g. \"Fresh,\nhand-formed patties hot off the grill with as many toppings as you'd\nlike.\"), distinct from Name (the page's long SEO title) and from any\none item's own Description.",
- "example": "Fresh, hand-formed patties hot off the grill with as many toppings as you'd like.",
+ "episodes": {
+ "items": {
+ "$ref": "#/definitions/fanduel.QuickPicksDailyEpisode"
+ },
+ "type": "array"
+ },
+ "fetched_at": {
"type": "string"
},
- "image_url": {
- "description": "ImageURL is this category's own hero/cover image, resolved from the\nsite's WordPress media library. Empty when the category has none set.",
+ "next_cursor": {
"type": "string"
},
- "items": {
- "items": {
- "$ref": "#/definitions/fiveguys.MenuItem"
- },
- "type": "array"
+ "page": {
+ "type": "integer"
},
- "modified_at": {
- "description": "ModifiedAt is fiveguys.com's own last-modified timestamp for this\ncategory's content (UTC, RFC3339), when published.",
- "example": "2026-04-16T18:10:38Z",
+ "page_size": {
+ "type": "integer"
+ },
+ "podcast": {
"type": "string"
},
- "name": {
- "example": "Burger Menu: Hamburgers, Cheeseburgers, and more",
+ "publisher": {
"type": "string"
},
- "slug": {
- "example": "burgers",
+ "show_url": {
"type": "string"
},
"source_url": {
- "description": "SourceURL is the live fiveguys.com page this category's content mirrors.",
- "example": "https://www.fiveguys.com/menu/burgers/",
"type": "string"
+ },
+ "total_count": {
+ "type": "integer"
}
},
"type": "object"
},
- "fiveguys.MenuItem": {
+ "fanduel.RacingAveragePace": {
"properties": {
- "calories": {
- "allOf": [
- {
- "$ref": "#/definitions/fiveguys.MenuItemCalories"
- }
- ],
- "description": "Calories is nil when fiveguys.com does not publish a figure for this\nitem -- genuinely absent for drink categories (Coca-Cola Freestyle,\nDr Pepper, Bottled Drinks) and a couple of build-your-own items (e.g.\n\"Burger Bowl\"), not parser drift."
- },
- "description": {
- "description": "Description is fiveguys.com's own marketing copy for the item, exactly\nas published (may mention e.g. \"Available at select locations.\").",
- "example": "Fresh, hand-formed patties hot off the grill and placed on a soft, toasted sesame seed bun. Add as many toppings as you want.",
- "type": "string"
+ "early": {
+ "type": "number"
},
- "image_url": {
- "type": "string"
+ "finish": {
+ "type": "number"
},
- "name": {
- "example": "Hamburger",
- "type": "string"
+ "middle": {
+ "type": "number"
},
- "slug": {
- "example": "hamburger",
- "type": "string"
+ "races": {
+ "type": "integer"
}
},
"type": "object"
},
- "fiveguys.MenuItemCalories": {
+ "fanduel.RacingCarryoverPool": {
"properties": {
- "max": {
- "example": 1100,
- "type": "integer"
+ "amount": {
+ "type": "number"
},
- "min": {
- "example": 530,
+ "mtp": {
"type": "integer"
},
- "text": {
- "example": "530-1100",
+ "pool_type": {
"type": "string"
- }
- },
- "type": "object"
- },
- "fiveguys.MenuResponse": {
- "properties": {
- "categories": {
- "items": {
- "$ref": "#/definitions/fiveguys.MenuCategory"
- },
- "type": "array"
},
- "count": {
- "description": "Count is the total item count across every returned category.",
- "example": 53,
+ "post_time": {
+ "type": "string"
+ },
+ "race_number": {
"type": "integer"
},
- "fetched_at": {
+ "race_status": {
+ "$ref": "#/definitions/fanduel.RacingCodeName"
+ },
+ "track_code": {
"type": "string"
},
- "source_url": {
+ "track_name": {
"type": "string"
+ },
+ "wager_type": {
+ "$ref": "#/definitions/fanduel.RacingCodeName"
}
},
"type": "object"
},
- "fiveguys.NearbyResponse": {
+ "fanduel.RacingCarryoverResponse": {
"properties": {
- "count": {
- "example": 10,
- "type": "integer"
- },
"fetched_at": {
"type": "string"
},
- "locations": {
- "items": {
- "$ref": "#/definitions/fiveguys.Location"
- },
- "type": "array"
+ "limit": {
+ "type": "integer"
},
- "radius": {
- "example": 25,
+ "page": {
"type": "integer"
},
- "source_url": {
- "type": "string"
+ "pools": {
+ "items": {
+ "$ref": "#/definitions/fanduel.RacingCarryoverPool"
+ },
+ "type": "array"
},
- "total_results": {
- "description": "TotalResults is how many restaurants fall inside the radius overall,\nusually more than one page. Use it with offset to page.",
- "example": 18,
+ "total": {
"type": "integer"
}
},
"type": "object"
},
- "fiveguys.NutritionGuideResponse": {
+ "fanduel.RacingCodeName": {
"properties": {
- "content_type": {
- "description": "ContentType, SizeBytes and LastModified are read from PDFURL's own\nresponse headers, best-effort -- a failure fetching them does not fail\nthe whole response, since PDFURL is the primary result.",
- "example": "application/pdf",
- "type": "string"
- },
- "fetched_at": {
- "type": "string"
- },
- "last_modified": {
- "example": "2026-09-02T14:06:41Z",
- "type": "string"
- },
- "link_text": {
- "description": "LinkText is the visible link text PDFURL was found under, when more\nthan one link on the page pointed at it.",
- "example": "Nutrition & Allergen PDF",
- "type": "string"
- },
- "page_url": {
- "description": "PageURL is the fiveguys.com page PDFURL was discovered on.",
- "example": "https://www.fiveguys.com/nutritional-allergy-information/",
+ "code": {
"type": "string"
},
- "pdf_url": {
- "description": "PDFURL is the current nutrition & allergen guide's direct download\nlink, resolved live -- its path changes when fiveguys.com republishes\nthe guide (observed monthly).",
- "example": "https://www.fiveguys.com/wp-content/uploads/2026/09/Five-Guys-US-Nutrition-Allergen-Guide-English-September-2026.pdf",
+ "name": {
"type": "string"
- },
- "size_bytes": {
- "example": 172740,
- "type": "integer"
}
},
"type": "object"
},
- "fiveguys.OrderingCalendar": {
+ "fanduel.RacingCombo": {
"properties": {
- "label": {
- "description": "Label is the platform's display label when it publishes one, e.g.\n\"Delivery\".",
- "example": "Delivery",
+ "payout": {
"type": "string"
},
- "ranges": {
- "items": {
- "$ref": "#/definitions/fiveguys.OrderingCalendarRange"
- },
- "type": "array"
+ "runner1": {
+ "type": "string"
},
- "type": {
- "description": "Type is the ordering platform's own calendar type, e.g. \"business\",\n\"dispatch\".",
- "example": "business",
+ "runner2": {
"type": "string"
}
},
"type": "object"
},
- "fiveguys.OrderingCalendarRange": {
+ "fanduel.RacingCount": {
"properties": {
- "end": {
- "example": "20260906 23:00",
+ "code": {
"type": "string"
},
- "start": {
- "description": "Start and End are published as \"YYYYMMDD HH:MM\" in the store's own\nlocal time, passed through unchanged rather than reinterpreted into\na timezone this API would have to guess.",
- "example": "20260906 10:00",
- "type": "string"
+ "count": {
+ "type": "integer"
},
- "weekday": {
- "example": "Sun",
+ "name": {
"type": "string"
}
},
"type": "object"
},
- "fiveguys.OrderingFulfillment": {
+ "fanduel.RacingEntry": {
"properties": {
- "calories_displayed": {
- "example": true,
- "type": "boolean"
+ "current_odds": {
+ "$ref": "#/definitions/fanduel.RacingOdds"
},
- "coupons": {
- "example": true,
+ "favorite": {
"type": "boolean"
},
- "curbside": {
- "example": false,
- "type": "boolean"
+ "morning_line": {
+ "$ref": "#/definitions/fanduel.RacingOdds"
},
- "delivery": {
- "example": false,
- "type": "boolean"
+ "number": {
+ "type": "integer"
},
- "dine_in": {
- "example": false,
- "type": "boolean"
+ "number_color": {
+ "type": "string"
},
- "dispatch": {
- "example": true,
- "type": "boolean"
+ "pool_grids": {
+ "description": "include=pool_grids",
+ "items": {
+ "$ref": "#/definitions/fanduel.RacingPoolGrid"
+ },
+ "type": "array"
},
- "drive_thru": {
- "example": false,
- "type": "boolean"
+ "recent_odds": {
+ "items": {
+ "$ref": "#/definitions/fanduel.RacingRecentOdd"
+ },
+ "type": "array"
},
- "group_orders": {
- "example": true,
- "type": "boolean"
+ "runners": {
+ "items": {
+ "$ref": "#/definitions/fanduel.RacingRunner"
+ },
+ "type": "array"
},
- "loyalty": {
- "example": false,
- "type": "boolean"
+ "saddle_color": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "fanduel.RacingFavoriteRank": {
+ "properties": {
+ "current_odds": {
+ "type": "integer"
},
- "pickup": {
- "example": true,
- "type": "boolean"
+ "high_speed": {
+ "type": "integer"
+ },
+ "morning_line": {
+ "type": "integer"
+ },
+ "power_rating": {
+ "type": "integer"
}
},
"type": "object"
},
- "fiveguys.OrderingLocation": {
+ "fanduel.RacingFiltersResponse": {
"properties": {
- "address": {
- "$ref": "#/definitions/fiveguys.LocationAddress"
+ "classes": {
+ "items": {
+ "$ref": "#/definitions/fanduel.RacingCount"
+ },
+ "type": "array"
},
- "advance_only": {
- "description": "AdvanceOnly marks a store that takes only scheduled orders, never ASAP.",
- "type": "boolean"
+ "countries": {
+ "items": {
+ "$ref": "#/definitions/fanduel.RacingCount"
+ },
+ "type": "array"
},
- "advance_order_days": {
- "description": "AdvanceOrderDays is how many days ahead an order may be scheduled.",
- "example": 7,
+ "fetched_at": {
+ "type": "string"
+ },
+ "race_count": {
"type": "integer"
},
- "availability_message": {
+ "race_date": {
"type": "string"
},
- "calendars": {
- "description": "Calendars are this store's dated operating windows, present only\nwhen include_hours was requested. Unlike the weekly recurring\nschedule GET /fiveguys/search and /fiveguys/nearby publish, these\nare concrete dated ranges, so they reflect holiday and special\nhours a recurring schedule cannot express.",
+ "race_sorts": {
"items": {
- "$ref": "#/definitions/fiveguys.OrderingCalendar"
+ "type": "string"
},
"type": "array"
},
- "customer_message": {
- "type": "string"
+ "race_types": {
+ "items": {
+ "$ref": "#/definitions/fanduel.RacingCount"
+ },
+ "type": "array"
},
- "delivery_fee": {
- "description": "Ordering economics, in the store's own currency. DeliveryFee and the\nminimums are published as 0 when the store sets none.",
- "example": 0,
- "type": "number"
+ "statuses": {
+ "items": {
+ "$ref": "#/definitions/fanduel.RacingCount"
+ },
+ "type": "array"
},
- "distance_miles": {
- "description": "DistanceMiles is measured from the requested coordinate.",
- "example": 0.4,
- "type": "number"
+ "surfaces": {
+ "items": {
+ "$ref": "#/definitions/fanduel.RacingCount"
+ },
+ "type": "array"
},
- "fulfillment": {
- "allOf": [
- {
- "$ref": "#/definitions/fiveguys.OrderingFulfillment"
- }
- ],
- "description": "Fulfillment is what the ordering platform will actually accept for\nthis store right now. This is a different thing from the locator's\namenity labels (GET /fiveguys/search's `services`), which describe\nwhat the restaurant offers in general -- these describe what an order\nplaced now could use."
+ "track_count": {
+ "type": "integer"
},
- "id": {
- "description": "ID is the ordering platform's restaurant id.",
- "example": "23841",
+ "track_sorts": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "fanduel.RacingFinisher": {
+ "properties": {
+ "entry": {
+ "description": "Set only with include=timeform.",
+ "type": "integer"
+ },
+ "finish_status": {
"type": "string"
},
- "is_available": {
- "description": "IsAvailable reports whether the ordering platform is currently\naccepting orders for this restaurant at all. AvailabilityMessage and\nCustomerMessage carry the store's own explanation when it publishes\none (e.g. a delivery caveat, a temporary notice).",
- "example": true,
- "type": "boolean"
+ "number": {
+ "type": "string"
},
- "latitude": {
- "description": "Latitude/Longitude come from the ordering platform's own record.",
- "example": 30.396,
+ "place_payoff": {
"type": "number"
},
- "longitude": {
- "example": -97.72,
+ "position": {
+ "type": "integer"
+ },
+ "runner": {
+ "type": "string"
+ },
+ "show_payoff": {
"type": "number"
},
- "minimum_delivery_order": {
- "example": 15,
- "type": "number"
- },
- "minimum_pickup_order": {
- "example": 0,
- "type": "number"
- },
- "name": {
- "description": "Name is the ordering platform's per-store label (\"Five Guys Fig @ 7th\nDowntown LA\"), unlike the locator's generic \"Five Guys\".",
- "example": "Five Guys Austin Arbor",
+ "silk_url": {
"type": "string"
},
- "order_url": {
- "description": "OrderURL is the ordering platform's own menu/order page for this\nstore. Note it is hosted on a domain this API cannot itself read (see\nthe endpoint description) -- it is published for handing to an end\nuser, not for further scraping.",
- "type": "string"
+ "timeform": {
+ "$ref": "#/definitions/fanduel.RacingFinisherTimeform"
},
- "phone": {
- "example": "(512) 719-3300",
- "type": "string"
+ "win_payoff": {
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "fanduel.RacingFinisherTimeform": {
+ "properties": {
+ "beaten_lengths": {
+ "type": "number"
},
- "slug": {
- "example": "five-guys-656",
+ "beaten_text": {
"type": "string"
},
- "store_number": {
- "description": "StoreNumber is Five Guys' own internal store number.",
- "example": "656",
+ "post_race_report": {
"type": "string"
},
- "supported_time_modes": {
- "description": "SupportedTimeModes are the ordering platform's own labels, e.g.\n\"asap\", \"advance\".",
- "items": {
- "type": "string"
- },
- "type": "array"
+ "starting_price": {
+ "type": "number"
},
- "utc_offset": {
- "description": "UTCOffset is the store's current offset in hours.",
- "example": -7,
+ "total_beaten_lengths": {
"type": "number"
+ },
+ "total_beaten_text": {
+ "type": "string"
}
},
"type": "object"
},
- "fiveguys.OrderingLocationsResponse": {
+ "fanduel.RacingFreePick": {
"properties": {
- "count": {
- "example": 3,
- "type": "integer"
- },
- "fetched_at": {
- "example": "2026-09-06T12:00:00Z",
+ "info": {
"type": "string"
},
- "locations": {
- "items": {
- "$ref": "#/definitions/fiveguys.OrderingLocation"
- },
- "type": "array"
- },
- "radius": {
- "example": 20,
+ "number": {
"type": "integer"
- },
- "source_url": {
- "type": "string"
}
},
"type": "object"
},
- "fiveguys.OrderingMenuCategory": {
+ "fanduel.RacingHandicapping": {
"properties": {
- "description": {
- "type": "string"
+ "average_pace": {
+ "$ref": "#/definitions/fanduel.RacingAveragePace"
},
- "id": {
- "example": "87071",
- "type": "string"
+ "free_pick": {
+ "$ref": "#/definitions/fanduel.RacingFreePick"
},
- "items": {
- "items": {
- "$ref": "#/definitions/fiveguys.OrderingMenuItem"
- },
- "type": "array"
+ "jockey_trainer": {
+ "$ref": "#/definitions/fanduel.RacingJockeyTrainer"
},
- "name": {
- "example": "Burgers",
- "type": "string"
+ "past_results": {
+ "$ref": "#/definitions/fanduel.RacingPastResults"
},
- "slug": {
- "example": "burgers",
- "type": "string"
+ "snapshot": {
+ "$ref": "#/definitions/fanduel.RacingSnapshot"
+ },
+ "speed_and_class": {
+ "$ref": "#/definitions/fanduel.RacingSpeedAndClass"
}
},
"type": "object"
},
- "fiveguys.OrderingMenuItem": {
+ "fanduel.RacingHorseRace": {
"properties": {
- "available_always": {
- "type": "boolean"
- },
- "available_now": {
- "description": "AvailableNow and AvailableAlways report the platform's own live\navailability for this item at this store, independent of the store's\nown open/closed state -- an item can be permanently 86'd\n(AvailableAlways false, AvailableNow false) or time-boxed to certain\nhours (AvailableAlways false, AvailableNow reflecting the current\ntime).",
- "type": "boolean"
- },
- "calories": {
- "$ref": "#/definitions/fiveguys.OrderingMenuItemCalories"
- },
- "cost": {
- "description": "Cost is the item's price in the store's own currency, exactly as\npublished -- this is the field every other Five Guys endpoint in this\nfamily cannot surface (see the package doc's pricing section).",
- "example": 11.79,
+ "claiming_price": {
"type": "number"
},
+ "date": {
+ "type": "string"
+ },
"description": {
"type": "string"
},
+ "distance": {
+ "$ref": "#/definitions/fanduel.RacingPastDistance"
+ },
"id": {
- "example": "1883259",
"type": "string"
},
- "image_url": {
+ "number": {
"type": "string"
},
- "name": {
- "example": "Hamburger",
+ "post_time": {
"type": "string"
},
- "short_description": {
+ "purse": {
+ "type": "number"
+ },
+ "race_class": {
+ "$ref": "#/definitions/fanduel.RacingCodeName"
+ },
+ "race_type": {
+ "$ref": "#/definitions/fanduel.RacingCodeName"
+ },
+ "result": {
+ "$ref": "#/definitions/fanduel.RacingFinisher"
+ },
+ "runner_count": {
+ "type": "integer"
+ },
+ "surface": {
+ "$ref": "#/definitions/fanduel.RacingCodeName"
+ },
+ "track_code": {
"type": "string"
},
- "slug": {
- "example": "hamburger",
+ "track_condition": {
+ "type": "string"
+ },
+ "track_name": {
"type": "string"
+ },
+ "winning_time": {
+ "type": "number"
}
},
"type": "object"
},
- "fiveguys.OrderingMenuItemCalories": {
+ "fanduel.RacingHorseResponse": {
"properties": {
- "max": {
- "example": 840,
+ "fetched_at": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "limit": {
"type": "integer"
},
- "min": {
- "example": 840,
+ "page": {
"type": "integer"
- }
- },
- "type": "object"
- },
- "fiveguys.OrderingMenuResponse": {
- "properties": {
- "categories": {
+ },
+ "races": {
"items": {
- "$ref": "#/definitions/fiveguys.OrderingMenuCategory"
+ "$ref": "#/definitions/fanduel.RacingHorseRace"
},
"type": "array"
},
- "count": {
- "description": "Count is the total item count across every returned category.",
- "example": 36,
+ "starts": {
"type": "integer"
},
- "fetched_at": {
- "example": "2026-09-06T12:00:00Z",
- "type": "string"
+ "top3": {
+ "type": "integer"
},
- "id": {
- "description": "ID echoes the requested ordering-platform restaurant id.",
- "example": "23841",
- "type": "string"
+ "total": {
+ "type": "integer"
},
- "source_url": {
- "type": "string"
+ "win_percentage": {
+ "type": "number"
+ },
+ "wins": {
+ "type": "integer"
}
},
"type": "object"
},
- "fiveguys.SearchResponse": {
+ "fanduel.RacingJockeyTrainer": {
"properties": {
- "count": {
- "example": 10,
+ "jockey_entity_id": {
"type": "integer"
},
- "fetched_at": {
+ "jockey_name": {
"type": "string"
},
- "locations": {
- "items": {
- "$ref": "#/definitions/fiveguys.Location"
- },
- "type": "array"
+ "places": {
+ "type": "integer"
},
- "query": {
- "example": "Chicago, IL",
- "type": "string"
+ "shows": {
+ "type": "integer"
},
- "source_url": {
+ "starts": {
+ "type": "integer"
+ },
+ "trainer_entity_id": {
+ "type": "integer"
+ },
+ "trainer_name": {
"type": "string"
},
- "total_results": {
- "description": "TotalResults is how many restaurants matched overall, usually more\nthan one page. Use it with offset to page.",
- "example": 18,
+ "wins": {
"type": "integer"
}
},
"type": "object"
},
- "fiveguys.StoreFAQEntry": {
+ "fanduel.RacingLastEvent": {
"properties": {
- "answer": {
+ "date": {
"type": "string"
},
- "question": {
- "example": "What are the operating hours of Five Guys in the Medical District?",
+ "race": {
+ "type": "integer"
+ },
+ "track": {
"type": "string"
}
},
"type": "object"
},
- "fiveguys.StorePhoto": {
+ "fanduel.RacingLegResult": {
"properties": {
- "alternate_text": {
- "description": "AlternateText is the image's accessibility text, when published.",
+ "leg": {
+ "type": "integer"
+ },
+ "winning_entry": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "fanduel.RacingNextRace": {
+ "properties": {
+ "mtp": {
+ "type": "integer"
+ },
+ "number": {
"type": "string"
},
- "description": {
- "description": "Description is Yext's caption for the image, when published.",
- "example": "A close-up view of regular order of Five Guys fries.",
+ "post_time": {
"type": "string"
},
- "height": {
- "example": 800,
- "type": "integer"
+ "status": {
+ "$ref": "#/definitions/fanduel.RacingCodeName"
+ }
+ },
+ "type": "object"
+ },
+ "fanduel.RacingOdds": {
+ "properties": {
+ "decimal": {
+ "type": "number"
},
- "url": {
- "example": "https://a.mktgcdn.com/p/example/1200x800.jpg",
+ "fractional": {
"type": "string"
- },
- "width": {
- "example": 1200,
- "type": "integer"
}
},
"type": "object"
},
- "fiveguys.StoreProfile": {
+ "fanduel.RacingPastDistance": {
"properties": {
- "directory_listing_url": {
- "description": "DirectoryListingURL is the location's page on Yext's public\nlocation.com directory.",
+ "code": {
"type": "string"
},
- "facebook_store_id": {
+ "unit": {
"type": "string"
},
- "facebook_vanity_url": {
- "description": "FacebookVanityURL is this location's own Facebook vanity handle (e.g.\n\"FiveGuysChicagoIL\"), distinct per location -- unlike the brand-wide\nfacebookPageUrl/instagramHandle/twitterHandle this family already\nchecked and excluded. Sparse: some locations publish none.",
+ "value": {
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "fanduel.RacingPastEntry": {
+ "properties": {
+ "favorite": {
+ "type": "boolean"
+ },
+ "final_odds": {
+ "$ref": "#/definitions/fanduel.RacingOdds"
+ },
+ "morning_line": {
+ "$ref": "#/definitions/fanduel.RacingOdds"
+ },
+ "number": {
+ "type": "integer"
+ },
+ "number_color": {
"type": "string"
},
- "faq": {
- "description": "FAQ is this restaurant's own auto-generated question set -- its\naddress, hours, reservation policy and services answered for this\nspecific store (\"What are the operating hours of Five Guys in the\nMedical District?\"). Confirmed distinct across every sampled\nlocation, unlike the brand-level FAQ corpus, which is national and\nalready served in full by GET /fiveguys/faq.",
+ "runners": {
"items": {
- "$ref": "#/definitions/fiveguys.StoreFAQEntry"
+ "$ref": "#/definitions/fanduel.RacingPastRunner"
},
"type": "array"
},
- "featured_message": {
- "description": "FeaturedMessage is the store's current promotional message, when it\npublishes one (e.g. \"Try our fan-favorite Patty Melt today!\").",
+ "saddle_color": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "fanduel.RacingPastRaceResponse": {
+ "properties": {
+ "claiming_price": {
+ "type": "number"
},
- "featured_message_url": {
+ "date": {
"type": "string"
},
- "franchisee_group": {
- "description": "FranchiseeGroup is the operator of this specific restaurant --\ncorporate-owned locations publish a short internal code (\"FGO\");\nfranchised locations publish the franchisee's own company name (e.g.\n\"Bighorn Five Guys Acquisitions\", \"Evergreen Burgers, Inc.\"). Not\nexposed anywhere else in this family. Confirmed genuinely\nper-location across a multi-state live sample, unlike most of this\nentity's other social/brand fields.",
+ "description": {
"type": "string"
},
- "google_attributes": {
- "additionalProperties": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "description": "GoogleAttributes are Yext's structured amenity flags as published to\nGoogle, e.g. \"has_takeout\", \"has_delivery\", \"wheelchair_accessible_\nentrance\". Richer and more machine-readable than the display labels\non Location.Services, and confirmed to differ between locations.",
- "type": "object"
- },
- "google_cid": {
- "description": "GoogleCID and FacebookStoreID are this location's ids on those\nplatforms -- useful for joining against external datasets. Both\nconfirmed distinct per location.",
- "type": "string"
+ "distance": {
+ "$ref": "#/definitions/fanduel.RacingPastDistance"
},
- "meals_served": {
- "description": "MealsServed are the dayparts this location serves, e.g. \"LUNCH\".",
+ "entries": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/fanduel.RacingPastEntry"
},
"type": "array"
},
- "payment_options": {
- "description": "PaymentOptions are accepted payment methods, e.g. \"APPLEPAY\", \"CASH\".",
- "items": {
- "type": "string"
- },
- "type": "array"
+ "fetched_at": {
+ "type": "string"
},
- "permanently_closed": {
- "description": "PermanentlyClosed reports Yext's own closed flag for this location.",
+ "has_replay": {
"type": "boolean"
},
- "review_invite_url": {
+ "id": {
"type": "string"
},
- "review_page_url": {
- "description": "ReviewPageURL and ReviewInviteURL are this restaurant's own\nfirst-party review pages, distinct per location.",
+ "number": {
"type": "string"
},
- "routable_latitude": {
- "description": "RoutableLatitude/RoutableLongitude are Yext's driving-destination\ncoordinate, which differs from the display pin (Location.Latitude)\n-- use it for routing, not for map placement.",
- "type": "number"
+ "post_time": {
+ "type": "string"
},
- "routable_longitude": {
+ "purse": {
"type": "number"
},
- "services": {
- "description": "Services are Yext's plain service labels (\"Dine-In\", \"Takeout\"),\npublished separately from Location.Services' amenity labels.",
- "items": {
- "type": "string"
- },
- "type": "array"
+ "race_class": {
+ "$ref": "#/definitions/fanduel.RacingCodeName"
+ },
+ "race_type": {
+ "$ref": "#/definitions/fanduel.RacingCodeName"
+ },
+ "results": {
+ "$ref": "#/definitions/fanduel.RacingResults"
+ },
+ "runner_count": {
+ "type": "integer"
+ },
+ "surface": {
+ "$ref": "#/definitions/fanduel.RacingCodeName"
+ },
+ "track_code": {
+ "type": "string"
+ },
+ "track_condition": {
+ "type": "string"
+ },
+ "track_name": {
+ "type": "string"
}
},
"type": "object"
},
- "fiveguys.StoreResponse": {
+ "fanduel.RacingPastRaceSummary": {
"properties": {
- "breadcrumbs": {
- "description": "Breadcrumbs is the directory trail from the root down to this\nrestaurant, outermost first. Each entry's Path feeds straight back\ninto GET /fiveguys/directory, so a caller landing on a store can\nnavigate back up without a second lookup. The Answers API publishes\na trail too, but with entity ids and no slugs -- only these page\ndocuments carry a usable path, which is why this is store-only.",
- "items": {
- "$ref": "#/definitions/fiveguys.DirectoryCrumb"
- },
- "type": "array"
+ "claiming_price": {
+ "type": "number"
},
- "description": {
- "description": "Description is this restaurant's own published blurb. It is\ntemplated but genuinely per-location (each interpolates its own\nstreet address and city -- confirmed distinct across every sampled\nlocation), unlike the nationally-identical FAQ text this family\ndeliberately does not surface.",
+ "date": {
"type": "string"
},
- "fetched_at": {
- "example": "2026-09-05T12:00:00Z",
+ "description": {
"type": "string"
},
- "location": {
- "$ref": "#/definitions/fiveguys.Location"
+ "distance": {
+ "$ref": "#/definitions/fanduel.RacingPastDistance"
},
- "photos": {
- "description": "Photos are this restaurant's own published gallery images. Sparse:\nmany locations publish none, in which case this is omitted.",
- "items": {
- "$ref": "#/definitions/fiveguys.StorePhoto"
- },
- "type": "array"
+ "id": {
+ "type": "string"
},
- "profile": {
- "allOf": [
- {
- "$ref": "#/definitions/fiveguys.StoreProfile"
- }
- ],
- "description": "Profile is extra per-restaurant detail from Yext's Content Delivery\nAPI -- structured Google amenity attributes, per-location review\nlinks, the store's current featured message, external platform ids,\nand a routing coordinate. Populated best-effort: when the lookup\nfails the rest of the response is still returned, since it is\nenrichment rather than core data."
+ "number": {
+ "type": "string"
},
- "source_url": {
- "example": "https://restaurants.fiveguys.com/703-s-seely-ave",
+ "post_time": {
"type": "string"
- }
- },
- "type": "object"
- },
- "fiveguys.TaxonomyRef": {
- "properties": {
- "id": {
- "example": 21,
+ },
+ "purse": {
+ "type": "number"
+ },
+ "race_class": {
+ "$ref": "#/definitions/fanduel.RacingCodeName"
+ },
+ "race_type": {
+ "$ref": "#/definitions/fanduel.RacingCodeName"
+ },
+ "runner_count": {
"type": "integer"
},
- "name": {
- "example": "Menu",
- "type": "string"
+ "surface": {
+ "$ref": "#/definitions/fanduel.RacingCodeName"
},
- "slug": {
- "example": "menu",
+ "track_code": {
"type": "string"
- }
- },
- "type": "object"
- },
- "fiveguys.TimeInterval": {
- "properties": {
- "end": {
- "example": "23:00",
+ },
+ "track_condition": {
"type": "string"
},
- "start": {
- "example": "10:00",
+ "track_name": {
"type": "string"
}
},
"type": "object"
},
- "fiveguys.WeeklyHours": {
+ "fanduel.RacingPastRacesResponse": {
"properties": {
- "friday": {
- "$ref": "#/definitions/fiveguys.DayHours"
+ "date": {
+ "type": "string"
},
- "monday": {
- "$ref": "#/definitions/fiveguys.DayHours"
+ "fetched_at": {
+ "type": "string"
},
- "saturday": {
- "$ref": "#/definitions/fiveguys.DayHours"
+ "limit": {
+ "type": "integer"
},
- "sunday": {
- "$ref": "#/definitions/fiveguys.DayHours"
+ "page": {
+ "type": "integer"
},
- "thursday": {
- "$ref": "#/definitions/fiveguys.DayHours"
+ "races": {
+ "items": {
+ "$ref": "#/definitions/fanduel.RacingPastRaceSummary"
+ },
+ "type": "array"
},
- "tuesday": {
- "$ref": "#/definitions/fiveguys.DayHours"
+ "total": {
+ "type": "integer"
},
- "wednesday": {
- "$ref": "#/definitions/fiveguys.DayHours"
+ "track": {
+ "type": "string"
}
},
"type": "object"
},
- "fiveguys.directoryResponseDoc": {
+ "fanduel.RacingPastResults": {
"properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "first": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/fiveguys.DirectoryResponse"
+ "second": {
+ "type": "integer"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
- }
- },
- "type": "object"
- },
- "fiveguys.faqCategoriesResponseDoc": {
- "properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "starts": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/fiveguys.FAQCategoriesResponse"
+ "third": {
+ "type": "integer"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "top3_percentage": {
+ "type": "number"
+ },
+ "top3_percentage_ranking": {
+ "type": "string"
+ },
+ "win_percentage": {
+ "type": "number"
+ },
+ "win_percentage_ranking": {
+ "type": "string"
}
},
"type": "object"
},
- "fiveguys.faqResponseDoc": {
+ "fanduel.RacingPastRunner": {
"properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "age": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/fiveguys.FAQResponse"
+ "birth_year": {
+ "type": "integer"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "dam": {
+ "type": "string"
+ },
+ "dam_sire": {
+ "type": "string"
+ },
+ "entity_id": {
+ "type": "string"
+ },
+ "jockey": {
+ "type": "string"
+ },
+ "medication": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "owner": {
+ "type": "string"
+ },
+ "runner_id": {
+ "type": "string"
+ },
+ "scratched": {
+ "type": "boolean"
+ },
+ "sex": {
+ "type": "string"
+ },
+ "sire": {
+ "type": "string"
+ },
+ "trainer": {
+ "type": "string"
+ },
+ "weight": {
+ "type": "integer"
}
},
"type": "object"
},
- "fiveguys.menuResponseDoc": {
+ "fanduel.RacingPastTrack": {
"properties": {
+ "city": {
+ "type": "string"
+ },
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "string"
+ },
+ "country": {
+ "type": "string"
+ },
+ "dates": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "dates_total": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/fiveguys.MenuResponse"
+ "name": {
+ "type": "string"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "race_types": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "races_on_date": {
+ "type": "integer"
+ },
+ "state": {
+ "type": "string"
}
},
"type": "object"
},
- "fiveguys.nearbyResponseDoc": {
+ "fanduel.RacingPastTracksResponse": {
"properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "date": {
+ "type": "string"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "limit": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/fiveguys.NearbyResponse"
+ "page": {
+ "type": "integer"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "total": {
+ "type": "integer"
+ },
+ "track": {
+ "type": "string"
+ },
+ "tracks": {
+ "items": {
+ "$ref": "#/definitions/fanduel.RacingPastTrack"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "fiveguys.nutritionResponseDoc": {
+ "fanduel.RacingPayoff": {
"properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
+ "selections": {
+ "items": {
+ "$ref": "#/definitions/fanduel.RacingPayoffSelection"
+ },
+ "type": "array"
},
- "data": {
- "$ref": "#/definitions/fiveguys.NutritionGuideResponse"
+ "wager_amount": {
+ "type": "number"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "wager_type": {
+ "$ref": "#/definitions/fanduel.RacingCodeName"
}
},
"type": "object"
},
- "fiveguys.orderingLocationsResponseDoc": {
+ "fanduel.RacingPayoffSelection": {
"properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
+ "payout": {
+ "type": "number"
},
- "data": {
- "$ref": "#/definitions/fiveguys.OrderingLocationsResponse"
+ "qualifier": {
+ "type": "string"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "selection": {
+ "type": "string"
}
},
"type": "object"
},
- "fiveguys.orderingMenuResponseDoc": {
+ "fanduel.RacingPool": {
"properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/fiveguys.OrderingMenuResponse"
+ "amount": {
+ "type": "number"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "wager_type": {
+ "$ref": "#/definitions/fanduel.RacingCodeName"
}
},
"type": "object"
},
- "fiveguys.pagination": {
+ "fanduel.RacingPoolCell": {
"properties": {
- "page": {
- "example": 1,
- "type": "integer"
- },
- "per_page": {
- "example": 20,
- "type": "integer"
+ "amount": {
+ "type": "number"
},
- "total": {
- "example": 142,
- "type": "integer"
+ "status": {
+ "type": "string"
},
- "total_pages": {
- "example": 8,
+ "target": {
"type": "integer"
}
},
"type": "object"
},
- "fiveguys.searchResponseDoc": {
+ "fanduel.RacingPoolGrid": {
"properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/fiveguys.SearchResponse"
+ "cells": {
+ "items": {
+ "$ref": "#/definitions/fanduel.RacingPoolCell"
+ },
+ "type": "array"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "wager_type": {
+ "$ref": "#/definitions/fanduel.RacingCodeName"
}
},
"type": "object"
},
- "fiveguys.storeResponseDoc": {
+ "fanduel.RacingProbable": {
"properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
+ "amount": {
+ "type": "number"
},
- "data": {
- "$ref": "#/definitions/fiveguys.StoreResponse"
+ "combos": {
+ "items": {
+ "$ref": "#/definitions/fanduel.RacingCombo"
+ },
+ "type": "array"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "min_wager": {
+ "type": "number"
+ },
+ "pool_amount_total": {
+ "type": "number"
+ },
+ "wager_type": {
+ "$ref": "#/definitions/fanduel.RacingCodeName"
}
},
"type": "object"
},
- "fiverr.GigPackage": {
+ "fanduel.RacingRaceResponse": {
"properties": {
- "delivery_days": {
- "description": "Delivery time of the package, in days.",
- "type": "integer"
+ "age_restriction": {
+ "type": "string"
},
- "description": {
- "description": "What the package includes, as written by the seller.",
+ "analyst_verdict": {
"type": "string"
},
- "price": {
- "description": "Package price in dollars.",
+ "claiming_price": {
"type": "number"
},
- "tier": {
- "description": "Name of the pricing tier, usually Basic, Standard or Premium.",
+ "country": {
"type": "string"
},
- "title": {
- "description": "Title of the package as Fiverr shows it.",
+ "description": {
"type": "string"
- }
- },
- "type": "object"
- },
- "fiverr.GigResponse": {
- "properties": {
- "category_name": {
- "description": "Name of the Fiverr category the gig is listed in.",
+ },
+ "distance": {
"type": "string"
},
- "description": {
- "description": "Gig description written by the seller.",
+ "entries": {
+ "items": {
+ "$ref": "#/definitions/fanduel.RacingEntry"
+ },
+ "type": "array"
+ },
+ "fetched_at": {
"type": "string"
},
+ "has_replay": {
+ "type": "boolean"
+ },
"id": {
- "description": "Fiverr gig id.",
"type": "string"
},
- "images": {
- "description": "URLs of the images in the gig gallery.",
+ "included": {
"items": {
"type": "string"
},
"type": "array"
},
- "is_pro": {
- "description": "Whether the gig is part of Fiverr Pro.",
+ "last_updated_ms": {
+ "type": "integer"
+ },
+ "live_streaming": {
"type": "boolean"
},
- "orders_in_queue": {
- "description": "Number of orders currently in the queue for the gig.",
+ "mtp": {
"type": "integer"
},
- "packages": {
- "description": "Pricing packages the gig offers, one per tier.",
+ "number": {
+ "type": "string"
+ },
+ "pools": {
"items": {
- "$ref": "#/definitions/fiverr.GigPackage"
+ "$ref": "#/definitions/fanduel.RacingPool"
},
"type": "array"
},
- "rating": {
- "description": "Average rating of the gig.",
+ "post_time": {
+ "type": "string"
+ },
+ "probables": {
+ "items": {
+ "$ref": "#/definitions/fanduel.RacingProbable"
+ },
+ "type": "array"
+ },
+ "purse": {
"type": "number"
},
- "review_count": {
- "description": "Number of reviews the gig has received.",
+ "race_class": {
+ "$ref": "#/definitions/fanduel.RacingCodeName"
+ },
+ "race_date": {
+ "type": "string"
+ },
+ "race_type": {
+ "$ref": "#/definitions/fanduel.RacingCodeName"
+ },
+ "results": {
+ "$ref": "#/definitions/fanduel.RacingResults"
+ },
+ "runner_count": {
"type": "integer"
},
- "seller": {
- "allOf": [
- {
- "$ref": "#/definitions/fiverr.GigSeller"
- }
- ],
- "description": "Seller who offers the gig."
+ "status": {
+ "$ref": "#/definitions/fanduel.RacingCodeName"
},
- "sub_category_name": {
- "description": "Name of the Fiverr subcategory the gig is listed in.",
+ "surface": {
+ "$ref": "#/definitions/fanduel.RacingCodeName"
+ },
+ "track_code": {
"type": "string"
},
- "tags": {
- "description": "Search tags attached to the gig.",
+ "track_condition": {
+ "type": "string"
+ },
+ "track_name": {
+ "type": "string"
+ },
+ "tvg_race_id": {
+ "type": "integer"
+ },
+ "wagerable_runner_count": {
+ "type": "integer"
+ },
+ "wagers": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/fanduel.RacingWager"
},
"type": "array"
},
- "title": {
- "description": "Gig title as shown on the gig page.",
- "type": "string"
- },
- "url": {
- "description": "URL of the gig page on Fiverr.",
- "type": "string"
+ "will_pays": {
+ "items": {
+ "$ref": "#/definitions/fanduel.RacingWillPay"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "fiverr.GigSeller": {
+ "fanduel.RacingRaceSummary": {
"properties": {
"country": {
- "description": "Seller's country code, such as `BD`.",
"type": "string"
},
- "description": {
- "description": "Seller's profile description.",
+ "distance": {
"type": "string"
},
- "display_name": {
- "description": "Seller's display name.",
+ "id": {
"type": "string"
},
- "languages": {
- "description": "Language codes the seller speaks, such as `en`.",
- "items": {
- "type": "string"
- },
- "type": "array"
+ "live_streaming": {
+ "type": "boolean"
},
- "level": {
- "description": "Seller level: `new_seller`, `level_one_seller`, `level_two_seller` or `top_rated_seller`.",
- "enum": [
- "new_seller",
- "level_one_seller",
- "level_two_seller",
- "top_rated_seller"
- ],
+ "mtp": {
+ "type": "integer"
+ },
+ "number": {
"type": "string"
},
- "profile_image": {
- "description": "URL of the seller's profile image.",
+ "post_time": {
"type": "string"
},
- "rating": {
- "description": "Seller's average rating.",
+ "purse": {
"type": "number"
},
- "response_time_hours": {
- "description": "Typical time the seller takes to respond, in hours.",
- "type": "integer"
+ "race_class": {
+ "$ref": "#/definitions/fanduel.RacingCodeName"
},
- "review_count": {
- "description": "Number of reviews the seller has received.",
+ "race_date": {
+ "type": "string"
+ },
+ "race_type": {
+ "$ref": "#/definitions/fanduel.RacingCodeName"
+ },
+ "runner_count": {
"type": "integer"
},
- "username": {
- "description": "Seller's Fiverr username.",
+ "status": {
+ "$ref": "#/definitions/fanduel.RacingCodeName"
+ },
+ "surface": {
+ "$ref": "#/definitions/fanduel.RacingCodeName"
+ },
+ "track_code": {
+ "type": "string"
+ },
+ "track_name": {
"type": "string"
}
},
"type": "object"
},
- "fiverr.GigSummary": {
+ "fanduel.RacingRacesResponse": {
"properties": {
- "category_id": {
+ "fetched_at": {
+ "type": "string"
+ },
+ "limit": {
"type": "integer"
},
- "id": {
- "type": "string"
+ "page": {
+ "type": "integer"
},
- "image": {
+ "race_date": {
"type": "string"
},
- "is_pro": {
- "type": "boolean"
- },
- "rating": {
- "type": "number"
+ "races": {
+ "items": {
+ "$ref": "#/definitions/fanduel.RacingRaceSummary"
+ },
+ "type": "array"
},
- "review_count": {
+ "total": {
"type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "fanduel.RacingRecentOdd": {
+ "properties": {
+ "odds": {
+ "type": "string"
},
- "seller_country": {
+ "trending": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "fanduel.RacingResultEntry": {
+ "properties": {
+ "country": {
"type": "string"
},
- "seller_image": {
+ "distance": {
"type": "string"
},
- "seller_level": {
- "enum": [
- "new_seller",
- "level_one_seller",
- "level_two_seller",
- "top_rated_seller"
- ],
+ "id": {
"type": "string"
},
- "seller_name": {
+ "live_streaming": {
+ "type": "boolean"
+ },
+ "mtp": {
+ "type": "integer"
+ },
+ "number": {
"type": "string"
},
- "seller_username": {
+ "post_time": {
"type": "string"
},
- "starting_price": {
+ "purse": {
"type": "number"
},
- "sub_category_id": {
+ "race_class": {
+ "$ref": "#/definitions/fanduel.RacingCodeName"
+ },
+ "race_date": {
+ "type": "string"
+ },
+ "race_type": {
+ "$ref": "#/definitions/fanduel.RacingCodeName"
+ },
+ "results": {
+ "$ref": "#/definitions/fanduel.RacingResults"
+ },
+ "runner_count": {
"type": "integer"
},
- "title": {
+ "status": {
+ "$ref": "#/definitions/fanduel.RacingCodeName"
+ },
+ "surface": {
+ "$ref": "#/definitions/fanduel.RacingCodeName"
+ },
+ "track_code": {
"type": "string"
},
- "url": {
+ "track_name": {
"type": "string"
}
},
"type": "object"
},
- "fiverr.SearchResponse": {
+ "fanduel.RacingResults": {
"properties": {
- "gigs": {
+ "finishers": {
"items": {
- "$ref": "#/definitions/fiverr.GigSummary"
+ "$ref": "#/definitions/fanduel.RacingFinisher"
+ },
+ "type": "array"
+ },
+ "payoffs": {
+ "items": {
+ "$ref": "#/definitions/fanduel.RacingPayoff"
},
"type": "array"
},
+ "winning_time": {
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "fanduel.RacingResultsResponse": {
+ "properties": {
+ "fetched_at": {
+ "type": "string"
+ },
+ "limit": {
+ "type": "integer"
+ },
"page": {
"type": "integer"
},
- "query": {
+ "race_date": {
"type": "string"
+ },
+ "results": {
+ "items": {
+ "$ref": "#/definitions/fanduel.RacingResultEntry"
+ },
+ "type": "array"
+ },
+ "total": {
+ "type": "integer"
}
},
"type": "object"
},
- "fiverr.SellerResponse": {
+ "fanduel.RacingRunner": {
"properties": {
- "approved_gigs_count": {
+ "age": {
"type": "integer"
},
- "country": {
+ "dam": {
"type": "string"
},
- "description": {
+ "dam_sire": {
"type": "string"
},
- "display_name": {
+ "favorite_rank": {
+ "$ref": "#/definitions/fanduel.RacingFavoriteRank"
+ },
+ "form_figures": {
"type": "string"
},
- "gig_ids": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "handicapping": {
+ "$ref": "#/definitions/fanduel.RacingHandicapping"
},
- "hourly_rate": {
- "type": "number"
+ "jockey": {
+ "type": "string"
},
- "is_pro": {
+ "jockey_changed": {
"type": "boolean"
},
- "is_verified": {
+ "medication": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "owner": {
+ "type": "string"
+ },
+ "rating_stars": {
+ "type": "integer"
+ },
+ "runner_id": {
+ "type": "string"
+ },
+ "scratched": {
"type": "boolean"
},
- "joined_at": {
+ "sex": {
"type": "string"
},
- "languages": {
+ "sire": {
+ "type": "string"
+ },
+ "timeform": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/fanduel.RacingRunnerTimeform"
+ }
+ ],
+ "description": "Set only with include=timeform and include=handicapping."
+ },
+ "trainer": {
+ "type": "string"
+ },
+ "weight": {
+ "type": "integer"
+ },
+ "win_probability": {
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "fanduel.RacingRunnerTimeform": {
+ "properties": {
+ "analyst_comment": {
+ "type": "string"
+ },
+ "flags": {
"items": {
"type": "string"
},
"type": "array"
},
- "level": {
- "enum": [
- "new_seller",
- "level_one_seller",
- "level_two_seller",
- "top_rated_seller"
- ],
- "type": "string"
+ "free_pick": {
+ "$ref": "#/definitions/fanduel.RacingFreePick"
},
- "one_liner_title": {
+ "production_comment": {
"type": "string"
},
- "profile_image": {
- "type": "string"
+ "tissue_price": {
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "fanduel.RacingSearchCounts": {
+ "properties": {
+ "jockey": {
+ "type": "integer"
},
- "url": {
+ "owner": {
+ "type": "integer"
+ },
+ "runner": {
+ "type": "integer"
+ },
+ "trainer": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "fanduel.RacingSearchItem": {
+ "properties": {
+ "birth_year": {
+ "type": "integer"
+ },
+ "id": {
+ "type": "integer"
+ },
+ "last_event": {
+ "$ref": "#/definitions/fanduel.RacingLastEvent"
+ },
+ "name": {
"type": "string"
},
- "username": {
+ "type": {
"type": "string"
}
},
"type": "object"
},
- "fiverr.gigResponseDoc": {
+ "fanduel.RacingSearchResponse": {
"properties": {
- "code": {
- "example": 200,
+ "counts": {
+ "$ref": "#/definitions/fanduel.RacingSearchCounts"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "items": {
+ "items": {
+ "$ref": "#/definitions/fanduel.RacingSearchItem"
+ },
+ "type": "array"
+ },
+ "limit": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/fiverr.GigResponse"
+ "order": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "page": {
+ "type": "integer"
+ },
+ "query": {
+ "type": "string"
+ },
+ "sort": {
+ "type": "string"
+ },
+ "total": {
+ "type": "integer"
+ },
+ "type": {
"type": "string"
}
},
"type": "object"
},
- "fiverr.searchResponseDoc": {
+ "fanduel.RacingSnapshot": {
"properties": {
- "code": {
- "example": 200,
+ "days_off": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/fiverr.SearchResponse"
+ "horse_starts": {
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "horse_wins": {
+ "type": "integer"
+ },
+ "normalised_power_rating": {
+ "type": "number"
+ },
+ "power_rating": {
+ "type": "number"
+ },
+ "power_rating_ranking": {
"type": "string"
}
},
"type": "object"
},
- "fiverr.sellerResponseDoc": {
+ "fanduel.RacingSpeedAndClass": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "avg_class_rating": {
+ "type": "number"
},
- "data": {
- "$ref": "#/definitions/fiverr.SellerResponse"
+ "avg_distance": {
+ "type": "number"
},
- "msg": {
- "example": "OK",
+ "avg_speed": {
+ "type": "number"
+ },
+ "high_speed": {
+ "type": "number"
+ },
+ "high_speed_ranking": {
"type": "string"
+ },
+ "last_class_rating": {
+ "type": "number"
+ },
+ "normalised_speed_rating": {
+ "type": "number"
}
},
"type": "object"
},
- "flashscore.ArchiveSeason": {
+ "fanduel.RacingTrack": {
"properties": {
- "end_year": {
+ "city": {
"type": "string"
},
- "is_current": {
+ "code": {
+ "type": "string"
+ },
+ "country": {
+ "type": "string"
+ },
+ "current_race": {
+ "$ref": "#/definitions/fanduel.RacingNextRace"
+ },
+ "featured": {
"type": "boolean"
},
- "is_requested": {
+ "is_finished": {
"type": "boolean"
},
- "season": {
+ "ivr_code": {
+ "type": "integer"
+ },
+ "name": {
"type": "string"
},
- "stage_ids": {
+ "number_of_races": {
+ "type": "integer"
+ },
+ "race_types": {
"items": {
"type": "string"
},
"type": "array"
},
- "start_year": {
+ "short_name": {
"type": "string"
},
- "tournament_id": {
- "description": "TournamentID is the season-level tournament id (the tournament_id of\nevent competition blocks), accepted by flashscore-tournament-outright-odds.",
+ "state": {
"type": "string"
- },
- "winners": {
- "items": {
- "$ref": "#/definitions/flashscore.ArchiveWinner"
- },
- "type": "array"
}
},
"type": "object"
},
- "flashscore.ArchiveStage": {
+ "fanduel.RacingTrackResponse": {
"properties": {
- "country": {
+ "city": {
"type": "string"
},
- "end_estimated": {
+ "code": {
"type": "string"
},
- "group": {
+ "country": {
"type": "string"
},
- "id": {
+ "current_race": {
+ "$ref": "#/definitions/fanduel.RacingNextRace"
+ },
+ "featured": {
+ "type": "boolean"
+ },
+ "fetched_at": {
"type": "string"
},
- "is_final": {
+ "is_finished": {
"type": "boolean"
},
+ "ivr_code": {
+ "type": "integer"
+ },
"name": {
"type": "string"
},
- "start_estimated": {
- "type": "string"
+ "number_of_races": {
+ "type": "integer"
},
- "tabs": {
+ "race_types": {
"items": {
- "$ref": "#/definitions/flashscore.ArchiveTab"
+ "type": "string"
},
"type": "array"
},
- "tournament": {
+ "races": {
+ "items": {
+ "$ref": "#/definitions/fanduel.RacingRaceSummary"
+ },
+ "type": "array"
+ },
+ "short_name": {
"type": "string"
},
- "type_id": {
- "type": "integer"
+ "state": {
+ "type": "string"
}
},
"type": "object"
},
- "flashscore.ArchiveTab": {
+ "fanduel.RacingTracksResponse": {
"properties": {
- "id": {
- "enum": [
- "SU",
- "OD",
- "TA",
- "RE",
- "FI",
- "DR",
- "NF"
- ],
+ "fetched_at": {
"type": "string"
},
- "name": {
+ "limit": {
+ "type": "integer"
+ },
+ "page": {
+ "type": "integer"
+ },
+ "race_date": {
"type": "string"
+ },
+ "total": {
+ "type": "integer"
+ },
+ "tracks": {
+ "items": {
+ "$ref": "#/definitions/fanduel.RacingTrack"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "flashscore.ArchiveWinner": {
+ "fanduel.RacingWager": {
"properties": {
- "id": {
- "type": "string"
+ "max_wager": {
+ "type": "number"
},
- "name": {
- "type": "string"
+ "min_wager": {
+ "type": "number"
},
- "slug": {
- "type": "string"
+ "wager_type": {
+ "$ref": "#/definitions/fanduel.RacingCodeName"
}
},
"type": "object"
},
- "flashscore.CareerCompetition": {
+ "fanduel.RacingWagerType": {
"properties": {
- "name": {
+ "code": {
"type": "string"
},
- "path": {
+ "column_count": {
+ "type": "integer"
+ },
+ "column_type": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "group": {
+ "$ref": "#/definitions/fanduel.RacingCodeName"
+ },
+ "id": {
+ "type": "integer"
+ },
+ "is_box": {
+ "type": "boolean"
+ },
+ "is_key": {
+ "type": "boolean"
+ },
+ "is_wheel": {
+ "type": "boolean"
+ },
+ "leg_count": {
+ "type": "integer"
+ },
+ "max_wager": {
+ "type": "number"
+ },
+ "min_wager": {
+ "type": "number"
+ },
+ "name": {
"type": "string"
+ },
+ "pools_per_entry": {
+ "type": "integer"
+ },
+ "position_count": {
+ "type": "integer"
}
},
"type": "object"
},
- "flashscore.CareerPart": {
+ "fanduel.RacingWagerTypesResponse": {
"properties": {
- "stage": {
+ "count": {
+ "type": "integer"
+ },
+ "fetched_at": {
"type": "string"
},
- "stats": {
- "additionalProperties": {},
- "type": "object"
+ "wager_types": {
+ "items": {
+ "$ref": "#/definitions/fanduel.RacingWagerType"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "flashscore.CareerRow": {
+ "fanduel.RacingWillPay": {
"properties": {
- "competition": {
- "$ref": "#/definitions/flashscore.CareerCompetition"
- },
- "parts": {
+ "leg_results": {
"items": {
- "$ref": "#/definitions/flashscore.CareerPart"
+ "$ref": "#/definitions/fanduel.RacingLegResult"
},
"type": "array"
},
- "season": {
+ "payoff_type": {
"type": "string"
},
- "stats": {
- "additionalProperties": {},
- "type": "object"
+ "payouts": {
+ "items": {
+ "$ref": "#/definitions/fanduel.RacingWillPayment"
+ },
+ "type": "array"
},
- "team": {
- "$ref": "#/definitions/flashscore.CareerTeam"
+ "wager_amount": {
+ "type": "number"
+ },
+ "wager_type": {
+ "$ref": "#/definitions/fanduel.RacingCodeName"
}
},
"type": "object"
},
- "flashscore.CareerTab": {
+ "fanduel.RacingWillPayment": {
"properties": {
- "columns": {
+ "entry": {
+ "type": "integer"
+ },
+ "payout": {
+ "type": "number"
+ },
+ "required": {
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "fanduel.ResearchArticleResponse": {
+ "properties": {
+ "author": {
+ "$ref": "#/definitions/fanduel.ResearchAuthorRef"
+ },
+ "blocks": {
"items": {
- "$ref": "#/definitions/flashscore.SquadColumn"
+ "$ref": "#/definitions/fanduel.ResearchBlock"
},
"type": "array"
},
- "key": {
+ "description": {
"type": "string"
},
- "name": {
+ "fetched_at": {
"type": "string"
},
- "rows": {
+ "hero_type": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "keywords": {
"items": {
- "$ref": "#/definitions/flashscore.CareerRow"
+ "type": "string"
},
"type": "array"
},
- "total": {
- "additionalProperties": {},
+ "omitted_blocks": {
+ "additionalProperties": {
+ "type": "integer"
+ },
"type": "object"
- }
- },
- "type": "object"
- },
- "flashscore.CareerTeam": {
- "properties": {
- "id": {
- "type": "string"
- },
- "name": {
- "type": "string"
},
- "path": {
+ "published_at": {
"type": "string"
},
"slug": {
"type": "string"
- }
- },
- "type": "object"
- },
- "flashscore.EntityNewsResponse": {
- "properties": {
- "article_count": {
- "type": "integer"
},
- "entity": {
- "$ref": "#/definitions/flashscore.EntityNewsTag"
+ "sport": {
+ "$ref": "#/definitions/fanduel.ResearchSportRef"
},
- "id": {
+ "sub_heading": {
"type": "string"
},
- "sections": {
+ "tags": {
"items": {
- "$ref": "#/definitions/flashscore.EntityNewsSection"
+ "$ref": "#/definitions/fanduel.ResearchTag"
},
"type": "array"
},
- "source_url": {
+ "text": {
+ "type": "string"
+ },
+ "thumbnail_url": {
"type": "string"
},
"title": {
"type": "string"
},
- "type": {
- "enum": [
- "team",
- "player",
- "tournament",
- "sport"
- ],
+ "updated_at": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "flashscore.EntityNewsSection": {
+ "fanduel.ResearchArticleSummary": {
"properties": {
- "article_count": {
- "type": "integer"
+ "author": {
+ "$ref": "#/definitions/fanduel.ResearchAuthorRef"
},
- "article_ids": {
+ "description": {
+ "type": "string"
+ },
+ "hero_type": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "published_at": {
+ "type": "string"
+ },
+ "slug": {
+ "type": "string"
+ },
+ "sport": {
+ "$ref": "#/definitions/fanduel.ResearchSportRef"
+ },
+ "sub_heading": {
+ "type": "string"
+ },
+ "tags": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/fanduel.ResearchTag"
},
"type": "array"
},
- "section_type": {
- "enum": [
- "MOST_RECENT",
- "TOPPED"
- ],
+ "thumbnail_url": {
"type": "string"
},
"title": {
"type": "string"
+ },
+ "updated_at": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "flashscore.EntityNewsTag": {
+ "fanduel.ResearchArticlesResponse": {
"properties": {
- "entity_id": {
- "type": "string"
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/fanduel.ResearchArticleSummary"
+ },
+ "type": "array"
},
- "entity_type": {
- "enum": [
- "PARTICIPANT",
- "TOURNAMENT_TEMPLATE",
- "SPORT"
- ],
+ "fetched_at": {
"type": "string"
},
- "label": {
- "type": "string"
+ "has_more": {
+ "type": "boolean"
},
- "slug": {
+ "next_cursor": {
"type": "string"
}
},
"type": "object"
},
- "flashscore.EventCompetition": {
+ "fanduel.ResearchAuthor": {
"properties": {
- "country": {
- "type": "string"
- },
- "full_name": {
+ "bio": {
"type": "string"
},
"id": {
- "description": "ID is the tournament template (competition) id.",
"type": "string"
},
"name": {
"type": "string"
},
- "path": {
+ "profile_image_url": {
"type": "string"
},
- "stage_id": {
- "description": "StageID is the legacy name of TournamentID and carries the same value.",
+ "slug": {
"type": "string"
},
- "tournament_id": {
- "description": "TournamentID is the season-level tournament id (feed key ZE), the input\nof flashscore-tournament-outright-odds.",
- "type": "string"
+ "social": {
+ "items": {
+ "$ref": "#/definitions/fanduel.ResearchSocial"
+ },
+ "type": "array"
},
- "tournament_stage_id": {
- "description": "TournamentStageID is the tournament stage id (feed key ZC), the input of\nflashscore-tournament-archive-seasons.",
+ "sports": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "sub_categories": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "thumbnail_url": {
"type": "string"
}
},
"type": "object"
},
- "flashscore.EventSide": {
+ "fanduel.ResearchAuthorRef": {
"properties": {
"id": {
"type": "string"
},
- "logo_url": {
- "type": "string"
- },
"name": {
"type": "string"
},
- "short_name": {
- "type": "string"
- },
"slug": {
"type": "string"
}
},
"type": "object"
},
- "flashscore.MostReadArticle": {
+ "fanduel.ResearchAuthorResponse": {
"properties": {
- "edited_at": {
- "type": "integer"
+ "bio": {
+ "type": "string"
},
- "id": {
+ "fetched_at": {
"type": "string"
},
- "image_alt": {
+ "id": {
"type": "string"
},
- "image_credit": {
+ "name": {
"type": "string"
},
- "image_url": {
+ "profile_image_url": {
"type": "string"
},
- "path": {
+ "slug": {
"type": "string"
},
- "published_at": {
- "type": "integer"
+ "social": {
+ "items": {
+ "$ref": "#/definitions/fanduel.ResearchSocial"
+ },
+ "type": "array"
},
- "published_at_iso": {
- "type": "string"
+ "sports": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "slug": {
+ "sub_categories": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "thumbnail_url": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "fanduel.ResearchAuthorsResponse": {
+ "properties": {
+ "authors": {
+ "items": {
+ "$ref": "#/definitions/fanduel.ResearchAuthor"
+ },
+ "type": "array"
},
- "title": {
+ "fetched_at": {
"type": "string"
},
- "type": {
+ "has_more": {
+ "type": "boolean"
+ },
+ "next_cursor": {
"type": "string"
}
},
"type": "object"
},
- "flashscore.NewsArticleBody": {
+ "fanduel.ResearchBetLine": {
"properties": {
- "author": {
+ "market_id": {
"type": "string"
},
- "block_count": {
- "type": "integer"
- },
- "blocks": {
- "items": {
- "$ref": "#/definitions/flashscore.NewsBodyBlock"
- },
- "type": "array"
+ "odds": {
+ "type": "string"
},
- "credit": {
+ "selection_id": {
"type": "string"
},
- "edited_at": {
- "type": "integer"
+ "url": {
+ "type": "string"
},
- "edited_at_iso": {
+ "value": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "fanduel.ResearchBlock": {
+ "properties": {
+ "event_id": {
+ "type": "integer"
},
- "id": {
+ "event_name": {
"type": "string"
},
- "image": {
- "$ref": "#/definitions/flashscore.NewsCoverImage"
+ "headers": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "perex": {
+ "league": {
"type": "string"
},
- "published_at": {
+ "level": {
"type": "integer"
},
- "published_at_iso": {
+ "market_id": {
"type": "string"
},
- "slug": {
+ "market_name": {
"type": "string"
},
- "tags": {
+ "rows": {
"items": {
- "$ref": "#/definitions/flashscore.NewsArticleTag"
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "type": "array"
+ },
+ "selection_ids": {
+ "items": {
+ "type": "integer"
},
"type": "array"
},
@@ -82704,129 +88277,94 @@
},
"type": {
"type": "string"
- },
- "url": {
- "type": "string"
}
},
"type": "object"
},
- "flashscore.NewsArticleBodyResponse": {
+ "fanduel.ResearchClosingLines": {
"properties": {
- "article": {
- "$ref": "#/definitions/flashscore.NewsArticleBody"
+ "spread": {
+ "type": "number"
},
- "source_url": {
- "type": "string"
+ "total": {
+ "type": "number"
}
},
"type": "object"
},
- "flashscore.NewsArticleTag": {
+ "fanduel.ResearchFeaturedArticlesResponse": {
"properties": {
- "entity_id": {
- "type": "string"
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/fanduel.ResearchArticleSummary"
+ },
+ "type": "array"
},
- "entity_type": {
- "enum": [
- "SPORT",
- "PARTICIPANT",
- "TOURNAMENT_TEMPLATE",
- "TAG"
- ],
- "type": "string"
+ "count": {
+ "type": "integer"
},
- "label": {
+ "fetched_at": {
"type": "string"
},
- "slug": {
- "type": "string"
+ "sport": {
+ "$ref": "#/definitions/fanduel.ResearchSportRef"
}
},
"type": "object"
},
- "flashscore.NewsBodyBlock": {
+ "fanduel.ResearchFixture": {
"properties": {
- "alt": {
+ "event_url": {
"type": "string"
},
- "credit": {
+ "game_clock": {
"type": "string"
},
- "height": {
- "type": "integer"
+ "head_to_head_slug": {
+ "type": "string"
},
"id": {
"type": "string"
},
- "level": {
- "type": "integer"
- },
- "links": {
- "items": {
- "$ref": "#/definitions/flashscore.NewsBodyLink"
- },
- "type": "array"
- },
- "provider": {
+ "network": {
"type": "string"
},
- "text": {
+ "scheduled_end": {
"type": "string"
},
- "type": {
- "enum": [
- "paragraph",
- "heading",
- "embed",
- "image",
- "infobox"
- ],
+ "scheduled_start": {
"type": "string"
},
- "url": {
+ "sport": {
+ "$ref": "#/definitions/fanduel.ResearchSportRef"
+ },
+ "status": {
"type": "string"
},
- "width": {
- "type": "integer"
+ "teams": {
+ "items": {
+ "$ref": "#/definitions/fanduel.ResearchFixtureTeam"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "flashscore.NewsBodyLink": {
+ "fanduel.ResearchFixtureLine": {
"properties": {
- "id": {
- "type": "string"
- },
- "kind": {
- "enum": [
- "link",
- "participant",
- "player",
- "event",
- "tournament",
- "article"
- ],
+ "market_id": {
"type": "string"
},
- "sport_id": {
+ "odds": {
"type": "integer"
},
- "text": {
- "type": "string"
+ "points": {
+ "type": "number"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "flashscore.NewsCoverImage": {
- "properties": {
- "alt_text": {
+ "selection_id": {
"type": "string"
},
- "credit": {
+ "side": {
"type": "string"
},
"url": {
@@ -82835,587 +88373,544 @@
},
"type": "object"
},
- "flashscore.NewsMostReadResponse": {
+ "fanduel.ResearchFixtureTeam": {
"properties": {
- "article_count": {
- "type": "integer"
- },
- "articles": {
- "items": {
- "$ref": "#/definitions/flashscore.MostReadArticle"
- },
- "type": "array"
- },
- "source_url": {
+ "abbreviation": {
"type": "string"
- }
- },
- "type": "object"
- },
- "flashscore.OddsBookmaker": {
- "properties": {
+ },
"id": {
- "type": "integer"
+ "type": "string"
+ },
+ "money_line": {
+ "$ref": "#/definitions/fanduel.ResearchFixtureLine"
},
"name": {
"type": "string"
- }
- },
- "type": "object"
- },
- "flashscore.OutrightOffer": {
- "properties": {
- "active": {
- "type": "boolean"
},
- "best": {
- "type": "boolean"
+ "number_fire_id": {
+ "type": "integer"
},
- "bookmaker_id": {
+ "score": {
"type": "integer"
},
- "change": {
- "enum": [
- "UP",
- "DOWN"
- ],
+ "side": {
"type": "string"
},
- "odds": {
+ "spread": {
+ "$ref": "#/definitions/fanduel.ResearchFixtureLine"
+ },
+ "total": {
+ "$ref": "#/definitions/fanduel.ResearchFixtureLine"
+ },
+ "win_probability": {
"type": "number"
}
},
"type": "object"
},
- "flashscore.OutrightParticipant": {
+ "fanduel.ResearchFixturesResponse": {
"properties": {
- "id": {
- "type": "string"
+ "count": {
+ "type": "integer"
},
- "name": {
+ "fetched_at": {
"type": "string"
},
- "offers": {
+ "fixtures": {
"items": {
- "$ref": "#/definitions/flashscore.OutrightOffer"
+ "$ref": "#/definitions/fanduel.ResearchFixture"
},
"type": "array"
+ },
+ "sport": {
+ "type": "string"
}
},
"type": "object"
},
- "flashscore.OutrightTournament": {
+ "fanduel.ResearchItem": {
"properties": {
- "id": {
+ "guid": {
"type": "string"
},
- "name": {
+ "image_url": {
"type": "string"
},
- "offers": {
- "items": {
- "$ref": "#/definitions/flashscore.OutrightOffer"
- },
- "type": "array"
+ "published_at": {
+ "type": "string"
+ },
+ "summary": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "flashscore.PlayerDetail": {
+ "fanduel.ResearchNewsType": {
"properties": {
- "label": {
+ "code": {
"type": "string"
},
- "value": {
+ "name": {
"type": "string"
}
},
"type": "object"
},
- "flashscore.PlayerEventsResponse": {
+ "fanduel.ResearchNflGame": {
"properties": {
- "event_count": {
- "type": "integer"
+ "away_team": {
+ "$ref": "#/definitions/fanduel.ResearchNflTeam"
},
- "events": {
- "items": {
- "$ref": "#/definitions/flashscore.TeamEvent"
- },
- "type": "array"
+ "clock": {
+ "type": "string"
},
- "page": {
- "type": "integer"
+ "closing_lines": {
+ "$ref": "#/definitions/fanduel.ResearchClosingLines"
},
- "player_id": {
+ "head_to_head_slug": {
"type": "string"
},
- "player_name": {
- "type": "string"
+ "home_team": {
+ "$ref": "#/definitions/fanduel.ResearchNflTeam"
},
- "section": {
+ "id": {
"type": "string"
},
- "source_url": {
+ "network": {
"type": "string"
- }
- },
- "type": "object"
- },
- "flashscore.PlayerInjuriesResponse": {
- "properties": {
- "injuries": {
- "items": {
- "$ref": "#/definitions/flashscore.PlayerInjury"
- },
- "type": "array"
},
- "injury_count": {
+ "number_fire_id": {
"type": "integer"
},
- "page_url": {
- "type": "string"
- },
- "player": {
- "$ref": "#/definitions/flashscore.PlayerProfile"
+ "odds": {
+ "$ref": "#/definitions/fanduel.ResearchNflOdds"
},
- "source_url": {
+ "quarter": {
"type": "string"
- }
- },
- "type": "object"
- },
- "flashscore.PlayerInjury": {
- "properties": {
- "from": {
+ },
+ "scheduled_time": {
"type": "string"
},
- "type": {
+ "season_type": {
"type": "string"
},
- "until": {
+ "status": {
"type": "string"
- }
- },
- "type": "object"
- },
- "flashscore.PlayerMatchLogAbsence": {
- "properties": {
- "category": {
+ },
+ "venue": {
"type": "string"
},
- "detail": {
+ "venue_type": {
"type": "string"
+ },
+ "weather": {
+ "$ref": "#/definitions/fanduel.ResearchWeather"
+ },
+ "week": {
+ "type": "integer"
}
},
"type": "object"
},
- "flashscore.PlayerMatchLogResponse": {
+ "fanduel.ResearchNflGameStats": {
"properties": {
- "has_more": {
- "type": "boolean"
- },
- "page": {
+ "fumbles_forced": {
"type": "integer"
},
- "player": {
- "$ref": "#/definitions/flashscore.PlayerProfile"
+ "interceptions_thrown": {
+ "type": "integer"
},
- "row_count": {
+ "passing_yards": {
"type": "integer"
},
- "rows": {
- "items": {
- "$ref": "#/definitions/flashscore.PlayerMatchLogRow"
- },
- "type": "array"
+ "points": {
+ "type": "integer"
},
- "source_url": {
- "type": "string"
+ "rushing_yards": {
+ "type": "integer"
}
},
"type": "object"
},
- "flashscore.PlayerMatchLogRow": {
+ "fanduel.ResearchNflLeader": {
"properties": {
- "absence": {
- "$ref": "#/definitions/flashscore.PlayerMatchLogAbsence"
+ "attempts": {
+ "type": "integer"
},
- "away": {
- "$ref": "#/definitions/flashscore.PlayerMatchLogSide"
+ "carries": {
+ "type": "integer"
},
- "date": {
- "type": "string"
+ "completions": {
+ "type": "integer"
},
- "date_text": {
+ "name": {
"type": "string"
},
- "event_id": {
+ "position": {
"type": "string"
},
- "home": {
- "$ref": "#/definitions/flashscore.PlayerMatchLogSide"
- },
- "rating": {
- "type": "number"
- },
- "rating_rank": {
+ "receptions": {
"type": "integer"
},
- "result": {
- "enum": [
- "win",
- "draw",
- "loss"
- ],
- "type": "string"
- },
- "stage": {
- "enum": [
- "finished",
- "finished_after_extra_time",
- "finished_after_penalties",
- "other"
- ],
- "type": "string"
+ "targets": {
+ "type": "integer"
},
- "stage_code": {
+ "touchdowns": {
"type": "integer"
},
- "stats": {
- "items": {
- "$ref": "#/definitions/flashscore.PlayerMatchLogStat"
- },
- "type": "array"
+ "yards": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "fanduel.ResearchNflLeaders": {
+ "properties": {
+ "passing": {
+ "$ref": "#/definitions/fanduel.ResearchNflLeader"
},
- "stats_available": {
- "type": "boolean"
+ "receiving": {
+ "$ref": "#/definitions/fanduel.ResearchNflLeader"
},
- "tournament": {
- "$ref": "#/definitions/flashscore.PlayerMatchLogTournament"
+ "rushing": {
+ "$ref": "#/definitions/fanduel.ResearchNflLeader"
}
},
"type": "object"
},
- "flashscore.PlayerMatchLogSide": {
+ "fanduel.ResearchNflOdds": {
"properties": {
- "full_time_score": {
+ "away": {
+ "$ref": "#/definitions/fanduel.ResearchNflSideOdds"
+ },
+ "event_id": {
"type": "integer"
},
- "id": {
- "type": "string"
+ "home": {
+ "$ref": "#/definitions/fanduel.ResearchNflSideOdds"
},
- "logo_url": {
+ "scheduled_time": {
"type": "string"
},
- "name": {
+ "url": {
"type": "string"
- },
- "penalties_score": {
+ }
+ },
+ "type": "object"
+ },
+ "fanduel.ResearchNflRanks": {
+ "properties": {
+ "defense": {
"type": "integer"
},
- "score": {
+ "offense": {
"type": "integer"
},
- "score_after_extra_time": {
+ "passing_yards_per_game": {
"type": "integer"
},
- "short_name": {
- "type": "string"
- },
- "slug": {
- "type": "string"
+ "rushing_yards_per_game": {
+ "type": "integer"
}
},
"type": "object"
},
- "flashscore.PlayerMatchLogStat": {
+ "fanduel.ResearchNflRecord": {
"properties": {
- "id": {
- "description": "ID is Flashscore's numeric statistic id.",
+ "losses": {
"type": "integer"
},
- "key": {
- "type": "string"
- },
- "label": {
- "type": "string"
+ "ties": {
+ "type": "integer"
},
- "value": {
- "description": "Value is the displayed value: \"90'\", \"29:21\", \"32-33\", \"97.00%\" or a number.",
- "type": "string"
+ "wins": {
+ "type": "integer"
}
},
"type": "object"
},
- "flashscore.PlayerMatchLogTournament": {
+ "fanduel.ResearchNflScheduleResponse": {
"properties": {
- "country": {
- "type": "string"
- },
- "country_id": {
+ "count": {
"type": "integer"
},
- "name": {
+ "fetched_at": {
"type": "string"
},
- "path": {
- "type": "string"
+ "games": {
+ "items": {
+ "$ref": "#/definitions/fanduel.ResearchNflGame"
+ },
+ "type": "array"
},
- "season": {
+ "season_type": {
"type": "string"
},
- "short_code": {
- "type": "string"
+ "week": {
+ "type": "integer"
}
},
"type": "object"
},
- "flashscore.PlayerNewsResponse": {
+ "fanduel.ResearchNflSideOdds": {
"properties": {
- "item_count": {
- "type": "integer"
- },
- "items": {
- "items": {
- "$ref": "#/definitions/flashscore.TeamNewsItem"
- },
- "type": "array"
+ "money_line": {
+ "$ref": "#/definitions/fanduel.ResearchBetLine"
},
- "player_id": {
- "type": "string"
+ "spread": {
+ "$ref": "#/definitions/fanduel.ResearchBetLine"
},
- "player_name": {
+ "team_code": {
"type": "string"
},
- "source_url": {
- "type": "string"
+ "total": {
+ "$ref": "#/definitions/fanduel.ResearchBetLine"
}
},
"type": "object"
},
- "flashscore.PlayerProfile": {
+ "fanduel.ResearchNflTeam": {
"properties": {
- "birth_date": {
- "type": "string"
+ "average_passing_yards_per_game": {
+ "type": "number"
},
- "country": {
+ "average_rushing_yards_per_game": {
+ "type": "number"
+ },
+ "code": {
"type": "string"
},
- "country_id": {
- "type": "integer"
+ "conference": {
+ "type": "string"
},
- "full_name": {
+ "division": {
"type": "string"
},
- "id": {
+ "game_stats": {
+ "$ref": "#/definitions/fanduel.ResearchNflGameStats"
+ },
+ "leaders": {
+ "$ref": "#/definitions/fanduel.ResearchNflLeaders"
+ },
+ "logo_url": {
"type": "string"
},
"name": {
"type": "string"
},
- "path": {
+ "number_fire_id": {
+ "type": "integer"
+ },
+ "primary_color": {
"type": "string"
},
- "photo_url": {
+ "ranks": {
+ "$ref": "#/definitions/fanduel.ResearchNflRanks"
+ },
+ "record": {
+ "$ref": "#/definitions/fanduel.ResearchNflRecord"
+ },
+ "secondary_color": {
"type": "string"
},
- "ranking": {
+ "short_name": {
"type": "string"
},
"slug": {
"type": "string"
},
- "sport": {
+ "sportsbook_link": {
"type": "string"
},
- "sport_id": {
- "type": "integer"
- },
- "team": {
- "$ref": "#/definitions/flashscore.PlayerTeam"
- },
- "url": {
- "type": "string"
+ "win_probability": {
+ "type": "number"
}
},
"type": "object"
},
- "flashscore.PlayerResponse": {
+ "fanduel.ResearchPlayerNewsItem": {
"properties": {
- "age": {
- "type": "integer"
- },
- "career": {
- "items": {
- "$ref": "#/definitions/flashscore.CareerTab"
- },
- "type": "array"
+ "analysis": {
+ "type": "string"
},
- "contract_expires": {
+ "attribution": {
"type": "string"
},
- "details": {
- "items": {
- "$ref": "#/definitions/flashscore.PlayerDetail"
- },
- "type": "array"
+ "author": {
+ "$ref": "#/definitions/fanduel.ResearchAuthorRef"
},
- "market_value": {
+ "fact": {
"type": "string"
},
- "page_url": {
+ "id": {
"type": "string"
},
- "player": {
- "$ref": "#/definitions/flashscore.PlayerProfile"
+ "news_type": {
+ "$ref": "#/definitions/fanduel.ResearchNewsType"
},
- "position": {
+ "published_at": {
"type": "string"
},
- "source_url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "flashscore.PlayerTeam": {
- "properties": {
- "id": {
+ "quant": {
"type": "string"
},
- "logo_url": {
+ "slug": {
"type": "string"
},
- "name": {
- "type": "string"
+ "sport": {
+ "$ref": "#/definitions/fanduel.ResearchSportRef"
},
- "path": {
+ "subject": {
+ "$ref": "#/definitions/fanduel.ResearchSubject"
+ },
+ "title": {
"type": "string"
},
- "slug": {
+ "updated_at": {
"type": "string"
}
},
"type": "object"
},
- "flashscore.PlayerTransfer": {
+ "fanduel.ResearchPlayerNewsResponse": {
"properties": {
- "date": {
- "type": "string"
- },
- "fee": {
+ "fetched_at": {
"type": "string"
},
- "from": {
- "allOf": [
- {
- "$ref": "#/definitions/flashscore.TransferTeam"
- }
- ],
- "description": "From and To are null when the page shows no club on that side."
+ "has_more": {
+ "type": "boolean"
},
- "to": {
- "$ref": "#/definitions/flashscore.TransferTeam"
+ "items": {
+ "items": {
+ "$ref": "#/definitions/fanduel.ResearchPlayerNewsItem"
+ },
+ "type": "array"
},
- "type": {
+ "next_cursor": {
"type": "string"
}
},
"type": "object"
},
- "flashscore.PlayerTransfersResponse": {
+ "fanduel.ResearchPlayerTeam": {
"properties": {
- "page_url": {
+ "abbreviation": {
"type": "string"
},
- "player": {
- "$ref": "#/definitions/flashscore.PlayerProfile"
- },
- "source_url": {
+ "name": {
"type": "string"
},
- "transfer_count": {
+ "number_fire_id": {
"type": "integer"
- },
- "transfers": {
- "items": {
- "$ref": "#/definitions/flashscore.PlayerTransfer"
- },
- "type": "array"
}
},
"type": "object"
},
- "flashscore.SquadColumn": {
+ "fanduel.ResearchProjectionEvent": {
"properties": {
- "key": {
+ "id": {
"type": "string"
},
- "label": {
+ "name": {
"type": "string"
}
},
"type": "object"
},
- "flashscore.SquadGroup": {
+ "fanduel.ResearchProjectionGame": {
"properties": {
- "columns": {
- "items": {
- "$ref": "#/definitions/flashscore.SquadColumn"
- },
- "type": "array"
+ "away_team": {
+ "$ref": "#/definitions/fanduel.ResearchProjectionTeam"
},
- "name": {
+ "game_time": {
"type": "string"
},
- "players": {
- "items": {
- "$ref": "#/definitions/flashscore.SquadPlayer"
- },
- "type": "array"
+ "home_team": {
+ "$ref": "#/definitions/fanduel.ResearchProjectionTeam"
}
},
"type": "object"
},
- "flashscore.SquadPlayer": {
+ "fanduel.ResearchProjectionPlayer": {
"properties": {
- "absence": {
+ "handedness": {
"type": "string"
},
- "age": {
+ "id": {
"type": "integer"
},
- "club": {
+ "image_url": {
"type": "string"
},
- "country": {
+ "name": {
"type": "string"
},
- "jersey_number": {
+ "page_url": {
"type": "string"
},
- "name": {
+ "position": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "fanduel.ResearchProjectionPosition": {
+ "properties": {
+ "default": {
+ "type": "boolean"
},
- "path": {
+ "label": {
"type": "string"
},
- "player_id": {
+ "matches": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "player_kind": {
"type": "string"
},
"slug": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "fanduel.ResearchProjectionRow": {
+ "properties": {
+ "game": {
+ "$ref": "#/definitions/fanduel.ResearchProjectionGame"
+ },
+ "player": {
+ "$ref": "#/definitions/fanduel.ResearchProjectionPlayer"
+ },
+ "salary": {
+ "description": "Salary is the FanDuel DFS salary in dollars; Value is points per $1,000 of salary.",
+ "type": "integer"
},
"stats": {
"additionalProperties": {},
"type": "object"
+ },
+ "team": {
+ "$ref": "#/definitions/fanduel.ResearchProjectionTeam"
+ },
+ "value": {
+ "type": "number"
}
},
"type": "object"
},
- "flashscore.SquadScope": {
+ "fanduel.ResearchProjectionSlate": {
"properties": {
- "key": {
+ "id": {
"type": "string"
},
"name": {
@@ -83424,285 +88919,355 @@
},
"type": "object"
},
- "flashscore.TeamCompetition": {
+ "fanduel.ResearchProjectionSlatesResponse": {
"properties": {
- "country": {
- "type": "string"
+ "count": {
+ "type": "integer"
},
- "full_name": {
+ "date": {
"type": "string"
},
- "name": {
+ "events": {
+ "items": {
+ "$ref": "#/definitions/fanduel.ResearchProjectionEvent"
+ },
+ "type": "array"
+ },
+ "fetched_at": {
"type": "string"
},
- "path": {
+ "season": {
+ "type": "integer"
+ },
+ "slates": {
+ "items": {
+ "$ref": "#/definitions/fanduel.ResearchProjectionSlate"
+ },
+ "type": "array"
+ },
+ "sport": {
"type": "string"
+ },
+ "week": {
+ "type": "integer"
}
},
"type": "object"
},
- "flashscore.TeamEvent": {
+ "fanduel.ResearchProjectionTable": {
"properties": {
- "away": {
- "$ref": "#/definitions/flashscore.EventSide"
+ "name": {
+ "type": "string"
},
- "away_score": {
- "type": "integer"
+ "needs_event": {
+ "type": "boolean"
},
- "competition": {
- "$ref": "#/definitions/flashscore.EventCompetition"
+ "needs_slate": {
+ "type": "boolean"
},
- "home": {
- "$ref": "#/definitions/flashscore.EventSide"
+ "positions": {
+ "items": {
+ "$ref": "#/definitions/fanduel.ResearchProjectionPosition"
+ },
+ "type": "array"
},
- "home_score": {
- "type": "integer"
+ "scopes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "id": {
+ "sport": {
"type": "string"
},
- "stage": {
+ "table": {
"type": "string"
},
- "stage_code": {
- "type": "integer"
- },
- "start_time": {
- "type": "integer"
- },
- "start_time_iso": {
+ "type": {
"type": "string"
- },
- "status_code": {
- "type": "integer"
}
},
"type": "object"
},
- "flashscore.TeamEventsResponse": {
+ "fanduel.ResearchProjectionTablesResponse": {
"properties": {
- "event_count": {
+ "count": {
"type": "integer"
},
- "events": {
+ "fetched_at": {
+ "type": "string"
+ },
+ "sports": {
"items": {
- "$ref": "#/definitions/flashscore.TeamEvent"
+ "type": "string"
},
"type": "array"
},
- "page": {
- "type": "integer"
+ "tables": {
+ "items": {
+ "$ref": "#/definitions/fanduel.ResearchProjectionTable"
+ },
+ "type": "array"
},
- "section": {
+ "types": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "fanduel.ResearchProjectionTeam": {
+ "properties": {
+ "abbreviation": {
"type": "string"
},
- "source_url": {
- "type": "string"
+ "id": {
+ "type": "integer"
},
- "team_id": {
+ "image_url": {
"type": "string"
},
- "team_name": {
+ "name": {
"type": "string"
}
},
"type": "object"
},
- "flashscore.TeamNewsItem": {
+ "fanduel.ResearchProjectionsResponse": {
"properties": {
- "id": {
+ "event_id": {
"type": "string"
},
- "image_url": {
+ "event_name": {
"type": "string"
},
- "link": {
+ "fetched_at": {
"type": "string"
},
- "published_at": {
+ "limit": {
"type": "integer"
},
- "published_at_iso": {
- "type": "string"
+ "page": {
+ "type": "integer"
},
- "publisher": {
+ "position": {
"type": "string"
},
- "title": {
+ "position_label": {
"type": "string"
- }
- },
- "type": "object"
- },
- "flashscore.TeamNewsResponse": {
- "properties": {
- "item_count": {
- "type": "integer"
},
- "items": {
+ "rows": {
"items": {
- "$ref": "#/definitions/flashscore.TeamNewsItem"
+ "$ref": "#/definitions/fanduel.ResearchProjectionRow"
},
"type": "array"
},
- "source_url": {
+ "scope": {
"type": "string"
},
- "team_id": {
+ "slate_id": {
"type": "string"
},
- "team_name": {
+ "slate_name": {
+ "type": "string"
+ },
+ "sport": {
+ "type": "string"
+ },
+ "table": {
+ "type": "string"
+ },
+ "table_name": {
+ "type": "string"
+ },
+ "total": {
+ "type": "integer"
+ },
+ "type": {
"type": "string"
}
},
"type": "object"
},
- "flashscore.TeamOutrightOddsResponse": {
+ "fanduel.ResearchResponse": {
"properties": {
- "bookmakers": {
+ "copyright": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "items": {
"items": {
- "$ref": "#/definitions/flashscore.OddsBookmaker"
+ "$ref": "#/definitions/fanduel.ResearchItem"
},
"type": "array"
},
- "geo": {
+ "language": {
"type": "string"
},
- "has_more": {
- "type": "boolean"
- },
- "source_url": {
+ "last_build_date": {
"type": "string"
},
- "subdivision": {
+ "site_url": {
"type": "string"
},
- "team_id": {
+ "source_url": {
"type": "string"
},
- "team_name": {
+ "title": {
"type": "string"
- },
- "tournaments": {
- "items": {
- "$ref": "#/definitions/flashscore.OutrightTournament"
- },
- "type": "array"
}
},
"type": "object"
},
- "flashscore.TeamProfile": {
+ "fanduel.ResearchSocial": {
"properties": {
- "country": {
+ "account": {
"type": "string"
},
- "country_id": {
- "type": "integer"
- },
- "full_name": {
+ "type": {
"type": "string"
},
- "id": {
+ "url": {
"type": "string"
- },
- "logo_url": {
+ }
+ },
+ "type": "object"
+ },
+ "fanduel.ResearchSport": {
+ "properties": {
+ "content_sport": {
"type": "string"
},
+ "has_live_scoring": {
+ "type": "boolean"
+ },
+ "has_player_updates": {
+ "type": "boolean"
+ },
"name": {
"type": "string"
},
- "path": {
- "type": "string"
+ "player_news_types": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "slug": {
- "type": "string"
+ "positions": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "sport": {
+ "show_authors": {
+ "type": "boolean"
+ },
+ "slug": {
"type": "string"
},
- "sport_id": {
+ "team_count": {
"type": "integer"
},
- "url": {
- "type": "string"
+ "teams": {
+ "items": {
+ "$ref": "#/definitions/fanduel.ResearchTeam"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "flashscore.TeamResponse": {
+ "fanduel.ResearchSportRef": {
"properties": {
- "competitions": {
- "items": {
- "$ref": "#/definitions/flashscore.TeamCompetition"
- },
- "type": "array"
- },
- "page_url": {
+ "name": {
"type": "string"
},
- "source_url": {
+ "slug": {
"type": "string"
- },
- "team": {
- "$ref": "#/definitions/flashscore.TeamProfile"
- },
- "venue": {
- "$ref": "#/definitions/flashscore.TeamVenue"
}
},
"type": "object"
},
- "flashscore.TeamSquadResponse": {
+ "fanduel.ResearchSportsResponse": {
"properties": {
- "groups": {
+ "count": {
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "sports": {
"items": {
- "$ref": "#/definitions/flashscore.SquadGroup"
+ "$ref": "#/definitions/fanduel.ResearchSport"
},
"type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "fanduel.ResearchSubCategoriesResponse": {
+ "properties": {
+ "count": {
+ "type": "integer"
},
- "scope": {
- "$ref": "#/definitions/flashscore.SquadScope"
+ "fetched_at": {
+ "type": "string"
},
- "scopes": {
+ "sub_categories": {
"items": {
- "$ref": "#/definitions/flashscore.SquadScope"
+ "$ref": "#/definitions/fanduel.ResearchSubCategory"
},
"type": "array"
- },
- "source_url": {
+ }
+ },
+ "type": "object"
+ },
+ "fanduel.ResearchSubCategory": {
+ "properties": {
+ "slug": {
"type": "string"
},
- "team": {
- "$ref": "#/definitions/flashscore.TeamProfile"
+ "sport": {
+ "$ref": "#/definitions/fanduel.ResearchSportRef"
+ },
+ "title": {
+ "type": "string"
}
},
"type": "object"
},
- "flashscore.TeamTransfer": {
+ "fanduel.ResearchSubject": {
"properties": {
- "date": {
+ "abbreviation": {
"type": "string"
},
- "direction": {
+ "name": {
"type": "string"
},
- "fee": {
+ "number": {
+ "type": "integer"
+ },
+ "number_fire_id": {
+ "type": "integer"
+ },
+ "page_url": {
"type": "string"
},
- "from": {
- "allOf": [
- {
- "$ref": "#/definitions/flashscore.TransferTeam"
- }
- ],
- "description": "From and To are null when the player had no club on that side (for\nexample a free agent released at the end of a contract)."
+ "position": {
+ "type": "string"
},
- "player": {
- "$ref": "#/definitions/flashscore.TransferPlayer"
+ "slug": {
+ "type": "string"
},
- "to": {
- "$ref": "#/definitions/flashscore.TransferTeam"
+ "team": {
+ "$ref": "#/definitions/fanduel.ResearchPlayerTeam"
},
"type": {
"type": "string"
@@ -83710,4122 +89275,3458 @@
},
"type": "object"
},
- "flashscore.TeamTransfersResponse": {
+ "fanduel.ResearchTag": {
"properties": {
- "page": {
- "type": "integer"
+ "name": {
+ "type": "string"
},
- "source_url": {
+ "type": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "fanduel.ResearchTeam": {
+ "properties": {
+ "abbreviation": {
"type": "string"
},
- "team_id": {
+ "identifier": {
"type": "string"
},
- "team_name": {
+ "name": {
"type": "string"
},
- "transfer_count": {
+ "number_fire_id": {
"type": "integer"
- },
- "transfers": {
- "items": {
- "$ref": "#/definitions/flashscore.TeamTransfer"
- },
- "type": "array"
- },
- "type": {
- "type": "string"
}
},
"type": "object"
},
- "flashscore.TeamVenue": {
+ "fanduel.ResearchWeather": {
"properties": {
- "capacity": {
+ "condition": {
+ "type": "string"
+ },
+ "humidity_pct": {
"type": "integer"
},
- "city": {
- "type": "string"
+ "temp_f": {
+ "type": "integer"
},
- "stadium": {
+ "wind_direction": {
"type": "string"
+ },
+ "wind_mph": {
+ "type": "integer"
}
},
"type": "object"
},
- "flashscore.TournamentArchiveSeasonsResponse": {
+ "fanduel.SportsbookAutocompleteResponse": {
"properties": {
- "league_key": {
+ "fetched_at": {
"type": "string"
},
- "season_count": {
- "type": "integer"
+ "query": {
+ "type": "string"
},
- "seasons": {
+ "suggestions": {
"items": {
- "$ref": "#/definitions/flashscore.ArchiveSeason"
+ "$ref": "#/definitions/fanduel.SportsbookSuggestion"
},
"type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "fanduel.SportsbookBetRecords": {
+ "properties": {
+ "against_spread": {
+ "$ref": "#/definitions/fanduel.SportsbookWinLoss"
},
- "source_url": {
- "type": "string"
- },
- "stage": {
- "$ref": "#/definitions/flashscore.ArchiveStage"
+ "money_line": {
+ "$ref": "#/definitions/fanduel.SportsbookWinLoss"
},
- "stage_id": {
+ "over_under": {
+ "$ref": "#/definitions/fanduel.SportsbookWinLoss"
+ }
+ },
+ "type": "object"
+ },
+ "fanduel.SportsbookBoxScoreColumn": {
+ "properties": {
+ "key": {
"type": "string"
},
- "tournament_template_id": {
+ "label": {
"type": "string"
}
},
"type": "object"
},
- "flashscore.TournamentOutrightOddsResponse": {
+ "fanduel.SportsbookBoxScoreGroup": {
"properties": {
- "bookmakers": {
+ "columns": {
"items": {
- "$ref": "#/definitions/flashscore.OddsBookmaker"
+ "$ref": "#/definitions/fanduel.SportsbookBoxScoreColumn"
},
"type": "array"
},
- "geo": {
+ "key": {
"type": "string"
},
- "has_more": {
- "type": "boolean"
+ "label": {
+ "type": "string"
},
- "participants": {
+ "rows": {
"items": {
- "$ref": "#/definitions/flashscore.OutrightParticipant"
+ "$ref": "#/definitions/fanduel.SportsbookBoxScoreRow"
},
"type": "array"
- },
- "source_url": {
- "type": "string"
- },
- "subdivision": {
- "type": "string"
- },
- "tournament_id": {
- "type": "string"
}
},
"type": "object"
},
- "flashscore.TransferPlayer": {
+ "fanduel.SportsbookBoxScoreResponse": {
"properties": {
- "country": {
- "type": "string"
+ "available": {
+ "type": "boolean"
},
- "id": {
- "type": "string"
+ "event_id": {
+ "type": "integer"
},
- "name": {
+ "fetched_at": {
"type": "string"
},
- "path": {
- "type": "string"
+ "groups": {
+ "items": {
+ "$ref": "#/definitions/fanduel.SportsbookBoxScoreGroup"
+ },
+ "type": "array"
},
- "slug": {
+ "score": {
+ "$ref": "#/definitions/fanduel.SportsbookScore"
+ },
+ "status": {
"type": "string"
}
},
"type": "object"
},
- "flashscore.TransferTeam": {
+ "fanduel.SportsbookBoxScoreRow": {
"properties": {
"id": {
"type": "string"
},
- "logo_url": {
+ "name": {
"type": "string"
},
- "name": {
+ "player_id": {
"type": "string"
},
- "path": {
+ "position": {
"type": "string"
},
- "slug": {
+ "stats": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "team": {
"type": "string"
}
},
"type": "object"
},
- "flashscore.broadcasterDoc": {
+ "fanduel.SportsbookBuilderCard": {
"properties": {
- "affiliate": {
- "description": "Affiliate marks entries the provider flags as affiliate links; their tracking URL is omitted.",
- "example": false,
- "type": "boolean"
- },
- "id": {
- "example": 680,
- "type": "integer"
+ "available_options": {
+ "additionalProperties": {},
+ "type": "object"
},
- "name": {
- "example": "Sky Sports Premier League (Gbr)",
+ "description_template": {
"type": "string"
},
- "url": {
- "example": "http://www.skysports.com/",
+ "id": {
"type": "string"
- }
- },
- "type": "object"
- },
- "flashscore.calendarCategoriesDataDoc": {
- "properties": {
- "categories": {
+ },
+ "legs": {
"items": {
- "$ref": "#/definitions/flashscore.calendarCategoryDoc"
+ "additionalProperties": {},
+ "type": "object"
},
"type": "array"
},
- "source_url": {
- "example": "https://www.flashscore.com/",
+ "prop_key": {
"type": "string"
- }
- },
- "type": "object"
- },
- "flashscore.calendarCategoriesResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/flashscore.calendarCategoriesDataDoc"
+ "props": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "selected_options": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "title": {
+ "type": "string"
+ },
+ "type": {
"type": "string"
}
},
"type": "object"
},
- "flashscore.calendarCategoryDoc": {
+ "fanduel.SportsbookBuilderChoice": {
"properties": {
- "key": {
- "example": "tennis-atp",
+ "choice_id": {
"type": "string"
},
- "name": {
- "example": "ATP Tour Calendar",
+ "description": {
"type": "string"
},
- "path": {
- "example": "/tennis/calendar/atp/",
+ "status": {
"type": "string"
},
- "sport": {
- "example": "tennis",
+ "template_id": {
"type": "string"
}
},
"type": "object"
},
- "flashscore.calendarDataDoc": {
+ "fanduel.SportsbookBuilderCompetition": {
"properties": {
- "category": {
- "$ref": "#/definitions/flashscore.calendarCategoryDoc"
+ "competition_id": {
+ "type": "integer"
},
- "events": {
+ "event_ids": {
"items": {
- "$ref": "#/definitions/flashscore.calendarEventDoc"
+ "type": "integer"
},
"type": "array"
},
- "source_url": {
- "example": "https://2.ds.lsapp.eu/pq_graphql?_hash=scs&projectId=2&sportId=2",
+ "first_event_id": {
+ "type": "integer"
+ },
+ "logo_url": {
"type": "string"
},
- "year": {
- "example": 2026,
- "type": "integer"
+ "name": {
+ "type": "string"
}
},
"type": "object"
},
- "flashscore.calendarEventDoc": {
+ "fanduel.SportsbookBuilderEvent": {
"properties": {
- "country": {
- "example": "France",
+ "abbreviation": {
"type": "string"
},
- "date": {
- "example": "24.05. - 07.06.",
+ "away_logo_url": {
"type": "string"
},
- "end_time": {
- "example": "2026-06-07T13:00:00Z",
+ "competition": {
"type": "string"
},
- "month": {
- "example": "May 2026",
+ "competition_id": {
+ "type": "integer"
+ },
+ "event_id": {
+ "type": "integer"
+ },
+ "home_logo_url": {
"type": "string"
},
"name": {
- "example": "French Open ATP, clay",
"type": "string"
},
- "path": {
- "example": "/tennis/atp-singles/french-open/",
+ "start_time": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "fanduel.SportsbookBuilderEventsResponse": {
+ "properties": {
+ "competitions": {
+ "items": {
+ "$ref": "#/definitions/fanduel.SportsbookBuilderCompetition"
+ },
+ "type": "array"
},
- "start_time": {
- "example": "2026-05-24T09:00:00Z",
+ "events": {
+ "items": {
+ "$ref": "#/definitions/fanduel.SportsbookBuilderEvent"
+ },
+ "type": "array"
+ },
+ "experience": {
"type": "string"
},
- "winner": {
- "example": "Zverev Alexander",
+ "fetched_at": {
"type": "string"
},
- "winner_path": {
- "example": "/player/zverev-alexander/dGbUhw9m/",
+ "first_event_id": {
+ "type": "integer"
+ },
+ "state": {
"type": "string"
}
},
"type": "object"
},
- "flashscore.calendarResponseDoc": {
+ "fanduel.SportsbookBuilderGroup": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "card_ids": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "data": {
- "$ref": "#/definitions/flashscore.calendarDataDoc"
+ "id": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "layout_type": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "type": {
"type": "string"
}
},
"type": "object"
},
- "flashscore.competitionDoc": {
+ "fanduel.SportsbookBuilderPlayer": {
"properties": {
- "event_count": {
- "example": 10,
- "type": "integer"
+ "headshot_url": {
+ "type": "string"
},
"id": {
- "example": "8bP2bXmH",
"type": "string"
},
"name": {
- "example": "AFRICA: Africa Cup of Nations - Qualification",
"type": "string"
},
- "path": {
- "example": "/football/africa/africa-cup-of-nations/",
+ "short_name": {
"type": "string"
},
- "region": {
- "example": "Africa",
+ "team_id": {
"type": "string"
}
},
"type": "object"
},
- "flashscore.competitionsDataDoc": {
+ "fanduel.SportsbookBuilderResponse": {
"properties": {
- "competitions": {
+ "cards": {
"items": {
- "$ref": "#/definitions/flashscore.competitionDoc"
+ "$ref": "#/definitions/fanduel.SportsbookBuilderCard"
},
"type": "array"
},
- "day_offset": {
- "example": 0,
- "type": "integer"
+ "choices": {
+ "items": {
+ "$ref": "#/definitions/fanduel.SportsbookBuilderChoice"
+ },
+ "type": "array"
},
- "source_url": {
- "example": "https://global.flashscore.ninja/2/x/feed/f_1_0_8_en_1",
+ "competition": {
"type": "string"
},
- "sport": {
- "example": "football",
- "type": "string"
- }
- },
- "type": "object"
- },
- "flashscore.competitionsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ "competition_id": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/flashscore.competitionsDataDoc"
- },
- "msg": {
- "example": "OK",
- "type": "string"
- }
- },
- "type": "object"
- },
- "flashscore.dartsLegDoc": {
- "properties": {
- "away_legs": {
- "example": 1,
+ "event_id": {
"type": "integer"
},
- "checkout": {
- "example": 84,
- "type": "integer"
+ "event_name": {
+ "type": "string"
},
- "home_legs": {
- "example": 0,
- "type": "integer"
+ "experience": {
+ "type": "string"
},
- "in_progress": {
- "description": "True only for the leg being played in a live match.",
- "example": true,
- "type": "boolean"
+ "fetched_at": {
+ "type": "string"
},
- "number": {
- "example": 1,
- "type": "integer"
+ "game_status": {
+ "type": "string"
},
- "set": {
- "description": "Only present for set-play matches: the set the leg belongs to.",
- "example": 1,
- "type": "integer"
+ "groups": {
+ "items": {
+ "$ref": "#/definitions/fanduel.SportsbookBuilderGroup"
+ },
+ "type": "array"
},
- "start_score": {
- "example": 501,
- "type": "integer"
+ "layout": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "starter": {
- "enum": [
- "home",
- "away"
- ],
- "example": "away",
- "type": "string"
+ "periods": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "visits": {
+ "players": {
"items": {
- "$ref": "#/definitions/flashscore.dartsVisitDoc"
+ "$ref": "#/definitions/fanduel.SportsbookBuilderPlayer"
},
"type": "array"
},
- "winner": {
- "description": "Empty while the leg is still being played.",
- "enum": [
- "home",
- "away"
- ],
- "example": "away",
- "type": "string"
- }
- },
- "type": "object"
- },
- "flashscore.dartsSetStatisticsDoc": {
- "properties": {
- "set": {
- "example": 1,
+ "ramp_event_id": {
"type": "integer"
},
- "statistics": {
+ "start_time": {
+ "type": "string"
+ },
+ "state": {
+ "type": "string"
+ },
+ "status": {
+ "type": "string"
+ },
+ "teams": {
"items": {
- "$ref": "#/definitions/flashscore.dartsStatisticDoc"
+ "$ref": "#/definitions/fanduel.SportsbookBuilderTeam"
},
"type": "array"
}
},
"type": "object"
},
- "flashscore.dartsStatisticDoc": {
+ "fanduel.SportsbookBuilderTeam": {
"properties": {
- "away": {
- "example": "97.05",
- "type": "string"
- },
- "home": {
- "example": "92.91",
+ "abbr": {
"type": "string"
},
"id": {
- "example": "55",
"type": "string"
},
- "key": {
- "enum": [
- "average_3_darts",
- "180_thrown",
- "140_plus_thrown",
- "100_plus_thrown",
- "checkouts",
- "checkouts_100_plus",
- "highest_checkout",
- "legs_won"
- ],
- "example": "average_3_darts",
+ "logo_url": {
"type": "string"
},
"name": {
- "example": "Average (3 darts)",
+ "type": "string"
+ },
+ "side": {
"type": "string"
}
},
"type": "object"
},
- "flashscore.dartsVisitDoc": {
+ "fanduel.SportsbookChoiceFailure": {
"properties": {
- "highlight": {
- "enum": [
- "180",
- "140_plus"
- ],
- "example": "180",
+ "choice_id": {
"type": "string"
},
- "number": {
- "example": 5,
- "type": "integer"
- },
- "remaining": {
- "example": 165,
- "type": "integer"
- },
- "scored": {
- "example": 180,
- "type": "integer"
- },
- "side": {
- "enum": [
- "home",
- "away"
- ],
- "example": "away",
+ "code": {
"type": "string"
}
},
"type": "object"
},
- "flashscore.formationLineDoc": {
+ "fanduel.SportsbookChoiceQuote": {
"properties": {
- "number": {
- "example": 1,
+ "american_odds": {
"type": "integer"
},
- "rows": {
+ "bet_type": {
+ "type": "string"
+ },
+ "choice_id": {
+ "type": "string"
+ },
+ "decimal_odds": {
+ "type": "number"
+ },
+ "display_decimal_odds": {
+ "type": "number"
+ },
+ "features": {
"items": {
- "$ref": "#/definitions/flashscore.formationRowDoc"
+ "type": "string"
},
"type": "array"
+ },
+ "fractional_odds": {
+ "type": "string"
+ },
+ "same_game_multi": {
+ "type": "boolean"
}
},
"type": "object"
},
- "flashscore.formationRowDoc": {
+ "fanduel.SportsbookChoiceQuotesResponse": {
"properties": {
- "player_ids": {
- "example": [
- "x2zyKcHK"
- ],
+ "failures": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/fanduel.SportsbookChoiceFailure"
},
"type": "array"
},
- "sort_key": {
- "example": 0,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "flashscore.lineupAggregatedStatsDoc": {
- "properties": {
- "average_age": {
- "example": 26.6,
- "type": "number"
+ "fetched_at": {
+ "type": "string"
},
- "average_height_cm": {
- "example": 181.1,
- "type": "number"
+ "quotes": {
+ "items": {
+ "$ref": "#/definitions/fanduel.SportsbookChoiceQuote"
+ },
+ "type": "array"
},
- "average_rating": {
- "example": 6.7,
- "type": "number"
+ "ramp_event_id": {
+ "type": "integer"
},
- "sum_market_value": {
- "example": 47598854,
- "type": "number"
+ "state": {
+ "type": "string"
}
},
"type": "object"
},
- "flashscore.lineupGroupDoc": {
+ "fanduel.SportsbookCompetition": {
"properties": {
+ "competition_id": {
+ "type": "integer"
+ },
+ "event_type_id": {
+ "type": "integer"
+ },
"name": {
- "example": "Predicted lineups",
"type": "string"
},
- "player_ids": {
- "example": [
- "x2zyKcHK"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "type": {
- "example": "PREDICTED_STARTERS",
+ "region": {
"type": "string"
}
},
"type": "object"
},
- "flashscore.lineupPlayerDoc": {
+ "fanduel.SportsbookDepthChartPlayer": {
"properties": {
"age": {
- "example": 35,
- "type": "number"
- },
- "average_rating": {
- "example": 7,
- "type": "number"
+ "type": "integer"
},
- "country": {
- "example": "Brazil",
+ "college": {
"type": "string"
},
- "height_cm": {
- "example": 189,
- "type": "number"
- },
- "id": {
- "example": "x2zyKcHK",
+ "draft_pick": {
"type": "string"
},
- "list_name": {
- "example": "Tiago Volpi",
+ "draft_round": {
"type": "string"
},
- "market_value": {
- "example": 880751,
- "type": "number"
+ "draft_year": {
+ "type": "string"
},
"name": {
- "example": "Tiago Volpi",
"type": "string"
},
- "number": {
- "example": "18",
+ "position": {
"type": "string"
},
- "roles": {
- "items": {
- "$ref": "#/definitions/flashscore.lineupRoleDoc"
- },
- "type": "array"
+ "rank": {
+ "type": "string"
},
"slug": {
- "example": "tiago-volpi",
"type": "string"
}
},
"type": "object"
},
- "flashscore.lineupRoleDoc": {
+ "fanduel.SportsbookDepthChartResponse": {
"properties": {
- "suffix": {
- "example": "(G)",
+ "fetched_at": {
"type": "string"
},
- "title": {
- "example": "Goalkeeper",
+ "league": {
+ "type": "string"
+ },
+ "players": {
+ "items": {
+ "$ref": "#/definitions/fanduel.SportsbookDepthChartPlayer"
+ },
+ "type": "array"
+ },
+ "team": {
"type": "string"
+ },
+ "team_leaders": {
+ "additionalProperties": {},
+ "type": "object"
}
},
"type": "object"
},
- "flashscore.matchBoxScoreColumnDoc": {
+ "fanduel.SportsbookDirectoryPlayer": {
"properties": {
- "format": {
- "enum": [
- "num",
- "time",
- "fg"
- ],
- "example": "num",
+ "name": {
"type": "string"
},
- "key": {
- "example": "PTS",
- "type": "string"
+ "player_id": {
+ "type": "integer"
},
- "label": {
- "example": "Points",
+ "slug": {
"type": "string"
}
},
"type": "object"
},
- "flashscore.matchBoxScoreDataDoc": {
+ "fanduel.SportsbookEvent": {
"properties": {
- "match_id": {
- "example": "KzoOQu6j",
- "type": "string"
+ "competition_id": {
+ "type": "integer"
},
- "source_url": {
- "example": "https://global.flashscore.ninja/2/x/feed/df_psn_1_KzoOQu6j",
- "type": "string"
+ "event_id": {
+ "type": "integer"
},
- "teams": {
+ "event_type_id": {
+ "type": "integer"
+ },
+ "in_play": {
+ "type": "boolean"
+ },
+ "markets": {
"items": {
- "$ref": "#/definitions/flashscore.matchBoxScoreTeamDoc"
+ "$ref": "#/definitions/fanduel.SportsbookMarket"
},
"type": "array"
+ },
+ "name": {
+ "type": "string"
+ },
+ "open_date": {
+ "type": "string"
+ },
+ "video_available": {
+ "type": "boolean"
}
},
"type": "object"
},
- "flashscore.matchBoxScorePlayerDoc": {
+ "fanduel.SportsbookEventPlayersResponse": {
"properties": {
- "country": {
- "example": "USA",
- "type": "string"
+ "away_team": {
+ "$ref": "#/definitions/fanduel.SportsbookTeam"
},
- "name": {
- "example": "Soares R.",
+ "competition": {
"type": "string"
},
- "player_id": {
- "example": "lGyAxL74",
+ "event_id": {
+ "type": "integer"
+ },
+ "event_name": {
"type": "string"
},
- "slug": {
- "example": "soares-rivaldo",
+ "fetched_at": {
"type": "string"
},
- "stats": {
- "additionalProperties": {
- "type": "string"
+ "home_team": {
+ "$ref": "#/definitions/fanduel.SportsbookTeam"
+ },
+ "players": {
+ "items": {
+ "$ref": "#/definitions/fanduel.SportsbookPlayer"
},
- "description": "Stats maps each column key to the displayed value; a dash from the provider is null.",
- "type": "object"
+ "type": "array"
},
- "status": {
+ "scheduled_at": {
"type": "string"
}
},
"type": "object"
},
- "flashscore.matchBoxScoreResponseDoc": {
+ "fanduel.SportsbookEventResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "competition": {
+ "$ref": "#/definitions/fanduel.SportsbookCompetition"
},
- "data": {
- "$ref": "#/definitions/flashscore.matchBoxScoreDataDoc"
+ "default_tab": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "event": {
+ "$ref": "#/definitions/fanduel.SportsbookEvent"
+ },
+ "fetched_at": {
"type": "string"
- }
- },
- "type": "object"
- },
- "flashscore.matchBoxScoreTableDoc": {
- "properties": {
- "columns": {
+ },
+ "market_types": {
"items": {
- "$ref": "#/definitions/flashscore.matchBoxScoreColumnDoc"
+ "$ref": "#/definitions/fanduel.SportsbookMarketTypeCount"
},
"type": "array"
},
- "player_label": {
- "example": "Player",
- "type": "string"
- },
- "players": {
+ "notes": {
"items": {
- "$ref": "#/definitions/flashscore.matchBoxScorePlayerDoc"
+ "type": "string"
},
"type": "array"
},
- "type": {
- "enum": [
- "player",
- "goalkeeper",
- "pitcher"
- ],
- "example": "player",
+ "selected_tab": {
"type": "string"
+ },
+ "state": {
+ "type": "string"
+ },
+ "tabs": {
+ "items": {
+ "$ref": "#/definitions/fanduel.SportsbookTab"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "flashscore.matchBoxScoreTeamDoc": {
+ "fanduel.SportsbookEventScoreResponse": {
"properties": {
- "name": {
- "example": "Hapoel Holon",
- "type": "string"
+ "event_id": {
+ "type": "integer"
},
- "side": {
- "enum": [
- "home",
- "away"
- ],
- "example": "home",
+ "fetched_at": {
"type": "string"
},
- "tables": {
+ "live": {
+ "$ref": "#/definitions/fanduel.SportsbookLiveStatus"
+ },
+ "media_types": {
"items": {
- "$ref": "#/definitions/flashscore.matchBoxScoreTableDoc"
+ "type": "string"
},
"type": "array"
+ },
+ "score": {
+ "$ref": "#/definitions/fanduel.SportsbookScore"
}
},
"type": "object"
},
- "flashscore.matchDartsDataDoc": {
+ "fanduel.SportsbookEventStats": {
"properties": {
- "legs": {
+ "competition": {
+ "type": "string"
+ },
+ "competition_id": {
+ "type": "integer"
+ },
+ "event_id": {
+ "type": "integer"
+ },
+ "last_five_games": {
"items": {
- "$ref": "#/definitions/flashscore.dartsLegDoc"
+ "$ref": "#/definitions/fanduel.SportsbookFormLine"
},
"type": "array"
},
- "match_id": {
- "example": "KMrRR6R1",
- "type": "string"
+ "other_widgets": {
+ "additionalProperties": {},
+ "type": "object"
},
- "set_statistics": {
- "description": "Only present for set-play matches: the statistics of each set.",
+ "spread_bets_percent": {
"items": {
- "$ref": "#/definitions/flashscore.dartsSetStatisticsDoc"
+ "$ref": "#/definitions/fanduel.SportsbookSplit"
},
"type": "array"
},
- "source_url": {
- "example": "https://global.flashscore.ninja/2/x/feed/df_mhn_1_KMrRR6R1",
- "type": "string"
- },
- "statistics": {
+ "spread_money_percent": {
"items": {
- "$ref": "#/definitions/flashscore.dartsStatisticDoc"
+ "$ref": "#/definitions/fanduel.SportsbookSplit"
},
"type": "array"
},
- "statistics_url": {
- "example": "https://global.flashscore.ninja/2/x/feed/df_stn_1_KMrRR6R1",
- "type": "string"
+ "teams": {
+ "items": {
+ "$ref": "#/definitions/fanduel.SportsbookStatsTeam"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "flashscore.matchDartsResponseDoc": {
+ "fanduel.SportsbookEventStatsResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/flashscore.matchDartsDataDoc"
- },
- "msg": {
- "example": "OK",
+ "fetched_at": {
"type": "string"
+ },
+ "stats": {
+ "$ref": "#/definitions/fanduel.SportsbookEventStats"
}
},
"type": "object"
},
- "flashscore.matchMissingPlayersDataDoc": {
+ "fanduel.SportsbookEventStatus": {
"properties": {
- "match_id": {
- "example": "f75igXFG",
+ "event_id": {
+ "type": "integer"
+ },
+ "game_phase": {
"type": "string"
},
- "source_url": {
- "example": "https://2.ds.lsapp.eu/pq_graphql?_hash=dmpe2&eventId=f75igXFG&projectId=2",
+ "price_clock": {
"type": "string"
},
- "teams": {
- "items": {
- "$ref": "#/definitions/flashscore.missingPlayersTeamDoc"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "flashscore.matchMissingPlayersResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "status": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/flashscore.matchMissingPlayersDataDoc"
+ "status_clock": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "structure_clock": {
"type": "string"
}
},
"type": "object"
},
- "flashscore.matchMomentumDataDoc": {
+ "fanduel.SportsbookEventsStatusResponse": {
"properties": {
- "event_types": {
- "items": {
- "$ref": "#/definitions/flashscore.momentumEventTypeDoc"
- },
- "type": "array"
- },
"events": {
"items": {
- "$ref": "#/definitions/flashscore.momentumEventDoc"
+ "$ref": "#/definitions/fanduel.SportsbookEventStatus"
},
"type": "array"
},
- "match_id": {
- "example": "j52jHsN8",
+ "fetched_at": {
"type": "string"
},
- "momentum": {
+ "not_found": {
"items": {
- "$ref": "#/definitions/flashscore.momentumFrameDoc"
+ "type": "integer"
},
"type": "array"
},
- "source_url": {
- "example": "https://2.ds.lsapp.eu/pq_graphql?_hash=mmts&eventId=j52jHsN8&providerId=7",
+ "state": {
"type": "string"
- },
- "teams": {
- "items": {
- "$ref": "#/definitions/flashscore.momentumTeamDoc"
- },
- "type": "array"
}
},
"type": "object"
},
- "flashscore.matchMomentumResponseDoc": {
+ "fanduel.SportsbookFormLine": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "name": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/flashscore.matchMomentumDataDoc"
+ "results": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
- "type": "string"
+ "selection_id": {
+ "type": "integer"
}
},
"type": "object"
},
- "flashscore.matchNewsArticleRefDoc": {
+ "fanduel.SportsbookFutureOdd": {
"properties": {
- "article": {
- "$ref": "#/definitions/flashscore.matchNewsArticleSortKeyDoc"
+ "description": {
+ "type": "string"
},
- "id": {
- "example": "GYDHQ2yR",
+ "market_type": {
+ "type": "string"
+ },
+ "odds": {
+ "type": "string"
+ },
+ "team": {
+ "type": "string"
+ },
+ "team_slug": {
"type": "string"
}
},
"type": "object"
},
- "flashscore.matchNewsArticleSortKeyDoc": {
+ "fanduel.SportsbookGameLine": {
"properties": {
- "sort_key": {
- "example": 1790163122,
- "type": "integer"
+ "odds": {
+ "type": "string"
+ },
+ "value": {
+ "type": "string"
}
},
"type": "object"
},
- "flashscore.matchNewsDataDoc": {
+ "fanduel.SportsbookGameSummary": {
"properties": {
- "layout_id": {
- "example": 80103,
+ "away_score": {
"type": "integer"
},
- "match_id": {
- "example": "xtmHKGT0",
+ "away_slug": {
"type": "string"
},
- "name": {
- "example": "Default EVENT layout",
+ "away_team": {
"type": "string"
},
- "sections": {
- "items": {
- "$ref": "#/definitions/flashscore.matchNewsSectionDoc"
- },
- "type": "array"
- },
- "source_url": {
- "example": "https://2.ds.lsapp.eu/pq_graphql?_hash=fsned&entityId=xtmHKGT0&layoutTypeId=2&projectId=2",
+ "date": {
"type": "string"
- }
- },
- "type": "object"
- },
- "flashscore.matchNewsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ },
+ "home_score": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/flashscore.matchNewsDataDoc"
+ "home_slug": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "home_team": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "venue": {
"type": "string"
}
},
"type": "object"
},
- "flashscore.matchNewsSectionDoc": {
+ "fanduel.SportsbookLeagueGame": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/flashscore.matchNewsArticleRefDoc"
- },
- "type": "array"
+ "away_code": {
+ "type": "string"
},
- "id": {
- "example": 1,
+ "away_score": {
"type": "integer"
},
- "name": {
- "example": "articlesOnParticipants",
+ "away_slug": {
"type": "string"
- }
- },
- "type": "object"
- },
- "flashscore.matchOddsDataDoc": {
- "properties": {
- "bookmakers": {
- "items": {
- "$ref": "#/definitions/flashscore.oddsBookmakerDoc"
- },
- "type": "array"
},
- "geo": {
- "example": "GB",
+ "away_team": {
"type": "string"
},
- "markets": {
- "items": {
- "$ref": "#/definitions/flashscore.oddsMarketDoc"
- },
- "type": "array"
+ "broadcast": {
+ "type": "string"
},
- "match_id": {
- "example": "p0aFxkkn",
+ "bye_week": {
+ "type": "boolean"
+ },
+ "conference_game": {
+ "type": "boolean"
+ },
+ "home_code": {
"type": "string"
},
- "participants": {
- "items": {
- "$ref": "#/definitions/flashscore.oddsParticipantDoc"
- },
- "type": "array"
+ "home_score": {
+ "type": "integer"
},
- "source_url": {
- "example": "https://global.ds.lsapp.eu/odds/pq_graphql?_hash=oce&eventId=p0aFxkkn&geoIpCode=GB&geoIpSubdivisionCode=&projectId=2",
+ "home_slug": {
"type": "string"
},
- "subdivision": {
- "example": "NJ",
+ "home_team": {
"type": "string"
- }
- },
- "type": "object"
- },
- "flashscore.matchOddsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/flashscore.matchOddsDataDoc"
+ "scheduled_time": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "status": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "venue": {
"type": "string"
+ },
+ "week": {
+ "type": "integer"
}
},
"type": "object"
},
- "flashscore.matchPlayerStatsDataDoc": {
+ "fanduel.SportsbookLeagueScheduleResponse": {
"properties": {
- "groups": {
- "items": {
- "$ref": "#/definitions/flashscore.playerStatGroupDoc"
- },
- "type": "array"
+ "date": {
+ "type": "string"
},
- "match_id": {
- "example": "j52jHsN8",
+ "end_date": {
"type": "string"
},
- "players": {
+ "fetched_at": {
+ "type": "string"
+ },
+ "game_count": {
+ "type": "integer"
+ },
+ "groups": {
"items": {
- "$ref": "#/definitions/flashscore.playerMatchStatsDoc"
+ "$ref": "#/definitions/fanduel.SportsbookScheduleGroup"
},
"type": "array"
},
- "source_url": {
- "example": "https://2.ds.lsapp.eu/pq_graphql?_hash=epmsd&eventId=j52jHsN8&providerId=7",
+ "league": {
"type": "string"
},
- "stat_types": {
- "items": {
- "$ref": "#/definitions/flashscore.playerStatTypeDoc"
- },
- "type": "array"
+ "week": {
+ "$ref": "#/definitions/fanduel.SportsbookScheduleWeek"
},
- "teams": {
+ "weeks": {
"items": {
- "$ref": "#/definitions/flashscore.playerStatTeamDoc"
+ "$ref": "#/definitions/fanduel.SportsbookScheduleWeek"
},
"type": "array"
}
},
"type": "object"
},
- "flashscore.matchPlayerStatsResponseDoc": {
+ "fanduel.SportsbookLiveCountResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "fetched_at": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/flashscore.matchPlayerStatsDataDoc"
+ "live_events": {
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "state": {
"type": "string"
}
},
"type": "object"
},
- "flashscore.matchPointByPointDataDoc": {
+ "fanduel.SportsbookLiveDataResponse": {
"properties": {
- "current_game": {
- "$ref": "#/definitions/flashscore.pointByPointCurrentGameDoc"
+ "events": {
+ "items": {
+ "$ref": "#/definitions/fanduel.SportsbookLiveEvent"
+ },
+ "type": "array"
},
- "match_id": {
- "example": "8v653Rz9",
+ "fetched_at": {
"type": "string"
},
- "periods": {
+ "missing": {
"items": {
- "$ref": "#/definitions/flashscore.pointByPointPeriodDoc"
+ "type": "integer"
},
"type": "array"
- },
- "source_url": {
- "example": "https://global.flashscore.ninja/2/x/feed/df_mh_1_8v653Rz9",
- "type": "string"
}
},
"type": "object"
},
- "flashscore.matchPointByPointResponseDoc": {
+ "fanduel.SportsbookLiveEvent": {
"properties": {
- "code": {
- "example": 200,
+ "away_score": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/flashscore.matchPointByPointDataDoc"
+ "details": {
+ "additionalProperties": {},
+ "type": "object"
},
- "msg": {
- "example": "OK",
- "type": "string"
- }
- },
- "type": "object"
- },
- "flashscore.matchPredictedLineupsDataDoc": {
- "properties": {
- "match_id": {
- "example": "f75igXFG",
+ "event_id": {
+ "type": "integer"
+ },
+ "home_score": {
+ "type": "integer"
+ },
+ "live": {
+ "type": "boolean"
+ },
+ "media_types": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "player_progress": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "player_stats": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "provider": {
"type": "string"
},
- "source_url": {
- "example": "https://2.ds.lsapp.eu/pq_graphql?_hash=dplie&eventId=f75igXFG&projectId=2",
+ "sport": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "fanduel.SportsbookLiveScore": {
+ "properties": {
+ "away_score": {
+ "type": "integer"
},
- "teams": {
+ "current_period": {
+ "type": "integer"
+ },
+ "details": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "event_id": {
+ "type": "integer"
+ },
+ "home_score": {
+ "type": "integer"
+ },
+ "media_types": {
"items": {
- "$ref": "#/definitions/flashscore.predictedLineupTeamDoc"
+ "type": "string"
},
"type": "array"
+ },
+ "model_type": {
+ "type": "string"
+ },
+ "period": {
+ "type": "string"
+ },
+ "period_remaining_milliseconds": {
+ "type": "integer"
+ },
+ "provider": {
+ "type": "string"
+ },
+ "sport": {
+ "type": "string"
}
},
"type": "object"
},
- "flashscore.matchPredictedLineupsResponseDoc": {
+ "fanduel.SportsbookLiveScoresResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "events": {
+ "items": {
+ "$ref": "#/definitions/fanduel.SportsbookLiveScore"
+ },
+ "type": "array"
},
- "data": {
- "$ref": "#/definitions/flashscore.matchPredictedLineupsDataDoc"
+ "fetched_at": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "not_found": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "state": {
"type": "string"
}
},
"type": "object"
},
- "flashscore.matchReportDataDoc": {
+ "fanduel.SportsbookLiveStatus": {
"properties": {
- "match_id": {
- "example": "j52jHsN8",
+ "box_score_available": {
+ "type": "boolean"
+ },
+ "competition": {
"type": "string"
},
- "report": {
- "$ref": "#/definitions/flashscore.matchReportDoc"
+ "play_by_play_available": {
+ "type": "boolean"
},
- "source_url": {
- "example": "https://global.flashscore.ninja/2/x/feed/df_rr_j52jHsN8/",
+ "provider": {
+ "type": "string"
+ },
+ "quick_bets_available": {
+ "type": "boolean"
+ },
+ "score_available": {
+ "type": "boolean"
+ },
+ "status": {
"type": "string"
}
},
"type": "object"
},
- "flashscore.matchReportDoc": {
+ "fanduel.SportsbookMarket": {
"properties": {
- "author": {
- "example": "Adam Clancy",
+ "betting_type": {
"type": "string"
},
- "content": {
- "items": {
- "$ref": "#/definitions/flashscore.reportBlockDoc"
- },
- "type": "array"
+ "in_play": {
+ "type": "boolean"
},
- "edited_at": {
- "example": "2026-09-19T15:55:26Z",
+ "market_id": {
"type": "string"
},
- "id": {
- "example": "ALRieYFJ",
+ "market_time": {
"type": "string"
},
- "images": {
+ "name": {
+ "type": "string"
+ },
+ "runners": {
"items": {
- "$ref": "#/definitions/flashscore.reportImageDoc"
+ "$ref": "#/definitions/fanduel.SportsbookRunner"
},
"type": "array"
},
- "published_at": {
- "example": "2026-09-19T15:55:23Z",
- "type": "string"
+ "same_game_parlay_eligible": {
+ "type": "boolean"
},
- "text": {
+ "status": {
"type": "string"
},
- "title": {
- "example": "Seagulls soar as Arsenal gunned down",
+ "type": {
"type": "string"
}
},
"type": "object"
},
- "flashscore.matchReportResponseDoc": {
+ "fanduel.SportsbookMarketPrice": {
"properties": {
- "code": {
- "example": 200,
+ "bet_delay_seconds": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/flashscore.matchReportDataDoc"
+ "betting_type": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "in_play": {
+ "type": "boolean"
+ },
+ "market_id": {
+ "type": "string"
+ },
+ "runners": {
+ "items": {
+ "$ref": "#/definitions/fanduel.SportsbookPriceRunner"
+ },
+ "type": "array"
+ },
+ "same_game_parlay_eligible": {
+ "type": "boolean"
+ },
+ "status": {
"type": "string"
}
},
"type": "object"
},
- "flashscore.matchTVDataDoc": {
+ "fanduel.SportsbookMarketPricesResponse": {
"properties": {
- "broadcasters": {
+ "fetched_at": {
+ "type": "string"
+ },
+ "markets": {
"items": {
- "$ref": "#/definitions/flashscore.broadcasterDoc"
+ "$ref": "#/definitions/fanduel.SportsbookMarketPrice"
},
"type": "array"
},
- "geo": {
- "example": "GB",
- "type": "string"
- },
- "match_id": {
- "example": "p0aFxkkn",
- "type": "string"
+ "missing": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "source_url": {
- "example": "https://global.flashscore.ninja/2/x/feed/df_dos_1_p0aFxkkn_",
+ "state": {
"type": "string"
}
},
"type": "object"
},
- "flashscore.matchTVResponseDoc": {
+ "fanduel.SportsbookMarketTypeCount": {
"properties": {
- "code": {
- "example": 200,
+ "count": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/flashscore.matchTVDataDoc"
- },
- "msg": {
- "example": "OK",
+ "type": {
"type": "string"
}
},
"type": "object"
},
- "flashscore.missingPlayerDoc": {
+ "fanduel.SportsbookNavLink": {
"properties": {
- "country": {
- "example": "Brazil",
+ "custom_page_id": {
"type": "string"
},
- "list_name": {
- "example": "Davi Gomes",
- "type": "string"
+ "display_order": {
+ "type": "integer"
},
- "name": {
- "example": "Davi Gomes",
+ "icon": {
"type": "string"
},
- "player_id": {
- "example": "E9BtZaJL",
+ "id": {
+ "type": "integer"
+ },
+ "kind": {
"type": "string"
},
- "reason": {
- "example": "Knee Injury",
+ "title": {
"type": "string"
},
- "slug": {
- "example": "davi-gomes",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "flashscore.missingPlayersTeamDoc": {
+ "fanduel.SportsbookPageResponse": {
"properties": {
- "doubtful": {
- "items": {
- "$ref": "#/definitions/flashscore.missingPlayerDoc"
- },
- "type": "array"
+ "competition_id": {
+ "type": "integer"
},
- "missing": {
+ "competitions": {
"items": {
- "$ref": "#/definitions/flashscore.missingPlayerDoc"
+ "$ref": "#/definitions/fanduel.SportsbookCompetition"
},
"type": "array"
},
- "participant_id": {
- "example": "2FbjCJan",
+ "custom_page_id": {
"type": "string"
},
- "side": {
- "enum": [
- "home",
- "away"
- ],
- "example": "home",
- "type": "string"
- }
- },
- "type": "object"
- },
- "flashscore.momentumEventDoc": {
- "properties": {
- "id": {
- "example": "jqIssqqn",
+ "default_tab": {
"type": "string"
},
- "label": {
- "example": "Goal",
+ "description": {
"type": "string"
},
- "minute": {
- "example": "31'",
- "type": "string"
+ "event_type_id": {
+ "type": "integer"
},
- "period": {
- "enum": [
- "first_half",
- "second_half",
- "extra_time",
- "first_extra_time",
- "second_extra_time",
- "unknown"
- ],
- "example": "first_half",
- "type": "string"
+ "events": {
+ "items": {
+ "$ref": "#/definitions/fanduel.SportsbookEvent"
+ },
+ "type": "array"
},
- "player_id": {
- "example": "trpxfbO3",
+ "fetched_at": {
"type": "string"
},
- "player_name": {
- "example": "Gross Pascal",
- "type": "string"
+ "market_types": {
+ "items": {
+ "$ref": "#/definitions/fanduel.SportsbookMarketTypeCount"
+ },
+ "type": "array"
},
- "side": {
- "enum": [
- "home",
- "away"
- ],
- "example": "home",
+ "page_type": {
"type": "string"
},
- "stage_id": {
- "example": 12,
- "type": "integer"
- },
- "team_id": {
- "example": "2XrRecc3",
+ "selected_tab": {
"type": "string"
},
- "type": {
- "enum": [
- "yellow_red_card",
- "red_card",
- "goal",
- "own_goal",
- "penalty_goal"
- ],
- "example": "goal",
- "type": "string"
- }
- },
- "type": "object"
- },
- "flashscore.momentumEventTypeDoc": {
- "properties": {
- "label": {
- "example": "Goal",
+ "state": {
"type": "string"
},
- "type": {
- "enum": [
- "yellow_red_card",
- "red_card",
- "goal",
- "own_goal",
- "penalty_goal"
- ],
- "example": "goal",
+ "tabs": {
+ "items": {
+ "$ref": "#/definitions/fanduel.SportsbookTab"
+ },
+ "type": "array"
+ },
+ "title": {
"type": "string"
}
},
"type": "object"
},
- "flashscore.momentumFrameDoc": {
+ "fanduel.SportsbookParlay": {
"properties": {
- "added_time": {
- "example": 1,
+ "american_odds": {
"type": "integer"
},
- "elapsed_minute": {
- "example": 45,
- "type": "integer"
+ "away_team": {
+ "type": "string"
},
- "elapsed_second": {
- "example": 59,
+ "competition_id": {
"type": "integer"
},
- "minute": {
- "example": "45+1'",
+ "competition_name": {
"type": "string"
},
- "period": {
- "enum": [
- "first_half",
- "second_half",
- "extra_time",
- "first_extra_time",
- "second_extra_time",
- "unknown"
- ],
- "example": "first_half",
- "type": "string"
+ "decimal_odds": {
+ "type": "number"
},
- "stage_id": {
- "example": 12,
+ "event_id": {
"type": "integer"
},
- "value": {
- "example": 0.29,
- "type": "number"
- }
- },
- "type": "object"
- },
- "flashscore.momentumTeamDoc": {
- "properties": {
- "code": {
- "example": "BHA",
+ "event_name": {
+ "type": "string"
+ },
+ "featured_by": {
+ "type": "string"
+ },
+ "home_team": {
"type": "string"
},
"id": {
- "example": "2XrRecc3",
"type": "string"
},
- "side": {
- "enum": [
- "home",
- "away"
- ],
- "example": "home",
+ "is_editable": {
+ "type": "boolean"
+ },
+ "is_manually_created": {
+ "type": "boolean"
+ },
+ "legs": {
+ "items": {
+ "$ref": "#/definitions/fanduel.SportsbookParlayLeg"
+ },
+ "type": "array"
+ },
+ "narrative": {
+ "type": "string"
+ },
+ "total_bets": {
+ "type": "integer"
+ },
+ "type": {
"type": "string"
}
},
"type": "object"
},
- "flashscore.navigationDataDoc": {
+ "fanduel.SportsbookParlayEventGroup": {
"properties": {
- "groups": {
- "items": {
- "$ref": "#/definitions/flashscore.navigationGroupDoc"
- },
- "type": "array"
+ "away_team": {
+ "type": "string"
},
- "path": {
- "example": "/basketball/usa/",
+ "event_id": {
+ "type": "integer"
+ },
+ "event_name": {
"type": "string"
},
- "source_url": {
- "example": "https://www.flashscore.com/basketball/usa/",
+ "home_team": {
"type": "string"
},
- "title": {
- "example": "Basketball USA - NBA, NCAA, live scores and livescore",
+ "open_date": {
"type": "string"
+ },
+ "parlay_ids": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "flashscore.navigationGroupDoc": {
+ "fanduel.SportsbookParlayFilter": {
"properties": {
- "items": {
+ "competition_ids": {
"items": {
- "$ref": "#/definitions/flashscore.navigationItemDoc"
+ "type": "integer"
},
"type": "array"
},
- "name": {
- "example": "USA",
+ "id": {
+ "type": "string"
+ },
+ "text": {
"type": "string"
}
},
"type": "object"
},
- "flashscore.navigationItemDoc": {
+ "fanduel.SportsbookParlayLeg": {
"properties": {
- "id": {
- "example": 1234,
+ "competition_id": {
"type": "integer"
},
- "name": {
- "example": "NBA",
+ "event_id": {
+ "type": "integer"
+ },
+ "event_name": {
"type": "string"
},
- "path": {
- "example": "/basketball/usa/nba/",
+ "market": {
"type": "string"
},
- "sport_id": {
- "example": 3,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "flashscore.navigationResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "market_id": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/flashscore.navigationDataDoc"
+ "market_type": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "selection": {
"type": "string"
+ },
+ "selection_id": {
+ "type": "integer"
}
},
"type": "object"
},
- "flashscore.newsArticleDataDoc": {
+ "fanduel.SportsbookParlayTypeCount": {
"properties": {
- "article": {
- "$ref": "#/definitions/flashscore.newsArticleDoc"
+ "count": {
+ "type": "integer"
},
- "source_url": {
- "example": "https://2.ds.lsapp.eu/pq_graphql?_hash=nah&articleId=GYDHQ2yR",
+ "type": {
"type": "string"
}
},
"type": "object"
},
- "flashscore.newsArticleDoc": {
+ "fanduel.SportsbookParlaysResponse": {
"properties": {
- "edited_at": {
+ "card_cap": {
"type": "integer"
},
- "id": {
- "example": "GYDHQ2yR",
- "type": "string"
- },
- "images": {
+ "event_groups": {
"items": {
- "$ref": "#/definitions/flashscore.newsImageDoc"
+ "$ref": "#/definitions/fanduel.SportsbookParlayEventGroup"
},
"type": "array"
},
- "published_at": {
- "example": 1790163122,
+ "event_id": {
"type": "integer"
},
- "slug": {
- "example": "premier-league-panel-admits-penalty-awarded-to-sunderland-vs-arsenal-was-wrong",
+ "fetched_at": {
"type": "string"
},
- "title": {
- "example": "Premier League panel admits penalty awarded to Sunderland vs Arsenal was wrong",
+ "filters": {
+ "items": {
+ "$ref": "#/definitions/fanduel.SportsbookParlayFilter"
+ },
+ "type": "array"
+ },
+ "parlays": {
+ "items": {
+ "$ref": "#/definitions/fanduel.SportsbookParlay"
+ },
+ "type": "array"
+ },
+ "state": {
"type": "string"
},
- "type": {
- "example": "STANDARD",
+ "truncated": {
+ "type": "boolean"
+ },
+ "types": {
+ "items": {
+ "$ref": "#/definitions/fanduel.SportsbookParlayTypeCount"
+ },
+ "type": "array"
+ },
+ "view": {
"type": "string"
}
},
"type": "object"
},
- "flashscore.newsArticleResponseDoc": {
+ "fanduel.SportsbookPeriodScore": {
"properties": {
- "code": {
- "example": 200,
+ "away": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/flashscore.newsArticleDataDoc"
+ "home": {
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "period": {
"type": "string"
}
},
"type": "object"
},
- "flashscore.newsCategoriesDataDoc": {
+ "fanduel.SportsbookPlacement": {
"properties": {
- "categories": {
+ "placement": {
+ "type": "string"
+ },
+ "promo_codes": {
"items": {
- "$ref": "#/definitions/flashscore.newsCategoryDoc"
+ "type": "string"
},
"type": "array"
- },
- "source_url": {
- "example": "https://www.flashscore.com/news/",
- "type": "string"
}
},
"type": "object"
},
- "flashscore.newsCategoriesResponseDoc": {
+ "fanduel.SportsbookPlayByPlayResponse": {
"properties": {
- "code": {
- "example": 200,
+ "available": {
+ "type": "boolean"
+ },
+ "current": {
+ "type": "boolean"
+ },
+ "event_id": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/flashscore.newsCategoriesDataDoc"
+ "feed": {
+ "additionalProperties": {},
+ "type": "object"
},
- "msg": {
- "example": "OK",
+ "fetched_at": {
+ "type": "string"
+ },
+ "status": {
"type": "string"
}
},
"type": "object"
},
- "flashscore.newsCategoryDoc": {
+ "fanduel.SportsbookPlayer": {
"properties": {
- "entity_id": {
- "description": "EntityID and EntityType are empty for the All section.",
- "example": "SW9D1eZo",
- "type": "string"
- },
- "entity_type": {
- "enum": [
- "SPORT",
- "TOURNAMENT_TEMPLATE",
- "TAG"
- ],
- "example": "SPORT",
- "type": "string"
- },
- "key": {
- "example": "football",
+ "abbreviated_name": {
"type": "string"
},
"name": {
- "example": "Football",
"type": "string"
},
- "path": {
- "example": "/news/football/",
- "type": "string"
- }
- },
- "type": "object"
- },
- "flashscore.newsImageDoc": {
- "properties": {
- "alt_text": {
- "example": "Arteta on the touchline",
+ "number": {
"type": "string"
},
- "credit": {
- "example": "REUTERS / Scott Heppell",
+ "player_id": {
"type": "string"
},
- "url": {
- "example": "https://livesport-ott-images.ssl.cdn.cra.cz/d9623cbc-957c-4955-bdc9-e82567576136",
+ "position": {
"type": "string"
},
- "variant_type_id": {
- "example": 1,
- "type": "integer"
+ "team": {
+ "type": "string"
}
},
"type": "object"
},
- "flashscore.newsListDataDoc": {
+ "fanduel.SportsbookPlayerNewsResponse": {
"properties": {
"articles": {
"items": {
- "$ref": "#/definitions/flashscore.newsPreviewDoc"
+ "$ref": "#/definitions/fanduel.SportsbookTeamArticle"
},
"type": "array"
},
- "category": {
- "$ref": "#/definitions/flashscore.newsCategoryDoc"
+ "fetched_at": {
+ "type": "string"
},
"has_more": {
- "example": true,
"type": "boolean"
},
- "page": {
- "example": 1,
- "type": "integer"
+ "league": {
+ "type": "string"
},
- "source_url": {
- "example": "https://www.flashscore.com/news/football/",
+ "name": {
+ "type": "string"
+ },
+ "next_cursor": {
+ "type": "string"
+ },
+ "player": {
"type": "string"
+ },
+ "player_updates": {
+ "items": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "flashscore.newsListResponseDoc": {
+ "fanduel.SportsbookPlayerPropEvent": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "date": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/flashscore.newsListDataDoc"
+ "event_id": {
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "event_name": {
"type": "string"
+ },
+ "markets": {
+ "items": {
+ "$ref": "#/definitions/fanduel.SportsbookPlayerPropMarket"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "flashscore.newsPreviewDoc": {
+ "fanduel.SportsbookPlayerPropMarket": {
"properties": {
- "date": {
- "example": "25.09.2026 18:20",
+ "market_id": {
"type": "string"
},
- "id": {
- "example": "Y9WFYvHj",
+ "market_type": {
"type": "string"
},
- "image_alt": {
- "example": "Erling Haaland celebrates",
+ "name": {
"type": "string"
},
- "image_url": {
- "example": "https://livesport-ott-images.ssl.cdn.cra.cz/r900xfq60/example.jpeg",
- "type": "string"
+ "selections": {
+ "items": {
+ "$ref": "#/definitions/fanduel.SportsbookPlayerPropSelection"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "fanduel.SportsbookPlayerPropSelection": {
+ "properties": {
+ "handicap": {
+ "type": "number"
},
- "path": {
- "example": "/news/haaland-brace-helps-norway-to-first-win-over-scandinavian-rivals-denmark-in-28-years/Y9WFYvHj/",
+ "odds": {
"type": "string"
},
- "title": {
- "example": "Haaland brace helps Norway to first win over Scandinavian rivals Denmark",
+ "runner": {
"type": "string"
+ },
+ "selection_id": {
+ "type": "integer"
}
},
"type": "object"
},
- "flashscore.oddsBookmakerDoc": {
+ "fanduel.SportsbookPlayerProps": {
"properties": {
- "id": {
- "example": 16,
- "type": "integer"
+ "events": {
+ "items": {
+ "$ref": "#/definitions/fanduel.SportsbookPlayerPropEvent"
+ },
+ "type": "array"
},
- "name": {
- "example": "bet365",
+ "player": {
+ "type": "string"
+ },
+ "slug": {
"type": "string"
}
},
"type": "object"
},
- "flashscore.oddsGeoDoc": {
+ "fanduel.SportsbookPlayerPropsResponse": {
"properties": {
- "code": {
- "example": "GB",
+ "content_text": {
"type": "string"
},
- "has_bookmakers": {
- "example": true,
- "type": "boolean"
+ "events": {
+ "items": {
+ "$ref": "#/definitions/fanduel.SportsbookPlayerPropEvent"
+ },
+ "type": "array"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "league": {
+ "type": "string"
},
"name": {
- "example": "United Kingdom",
+ "type": "string"
+ },
+ "player": {
"type": "string"
}
},
"type": "object"
},
- "flashscore.oddsGeosDataDoc": {
+ "fanduel.SportsbookPlayerResponse": {
"properties": {
- "betting_scopes": {
- "example": [
- "FULL_TIME"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "betting_types": {
- "example": [
- "HOME_DRAW_AWAY"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
+ "fetched_at": {
+ "type": "string"
},
- "default_geo": {
- "example": "GB",
+ "game_log": {},
+ "league": {
"type": "string"
},
- "geos": {
- "items": {
- "$ref": "#/definitions/flashscore.oddsGeoDoc"
- },
- "type": "array"
+ "name": {
+ "type": "string"
},
- "handicap_types": {
- "example": [
- "UNKNOWN"
- ],
+ "news": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/fanduel.SportsbookTeamArticle"
},
"type": "array"
},
- "subdivision_notes": {
- "example": "subdivision is accepted only with geo US or CA, where it changes which bookmakers are licensed.",
+ "player": {
"type": "string"
},
- "subdivisions": {
+ "player_updates": {
"items": {
- "$ref": "#/definitions/flashscore.oddsSubdivisionDoc"
+ "additionalProperties": {},
+ "type": "object"
},
"type": "array"
},
- "verified_on": {
- "example": "2026-10-07",
+ "position": {
"type": "string"
- }
- },
- "type": "object"
- },
- "flashscore.oddsGeosResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/flashscore.oddsGeosDataDoc"
+ "projections": {},
+ "season": {
+ "additionalProperties": {},
+ "type": "object"
},
- "msg": {
- "example": "OK",
+ "season_totals": {},
+ "stats": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "team": {
+ "type": "string"
+ },
+ "team_slug": {
"type": "string"
}
},
"type": "object"
},
- "flashscore.oddsMarketDoc": {
+ "fanduel.SportsbookPlayerStatsResponse": {
"properties": {
- "betting_type": {
- "enum": [
- "HOME_DRAW_AWAY",
- "HOME_AWAY",
- "DRAW_NO_BET",
- "DOUBLE_CHANCE",
- "ASIAN_HANDICAP",
- "EUROPEAN_HANDICAP",
- "OVER_UNDER",
- "BOTH_TEAMS_TO_SCORE",
- "CORRECT_SCORE",
- "HALF_FULL_TIME",
- "ODD_OR_EVEN",
- "TO_QUALIFY",
- "NEXT_GOAL",
- "TOP_POSITION_MERGED",
- "TO_WIN_AND_TOP_POSITION",
- "WIN_EACH_WAY"
- ],
- "example": "HOME_DRAW_AWAY",
+ "fetched_at": {
"type": "string"
},
- "offers": {
- "items": {
- "$ref": "#/definitions/flashscore.oddsOfferDoc"
- },
- "type": "array"
+ "league": {
+ "type": "string"
},
- "scope": {
- "enum": [
- "FULL_TIME",
- "FULL_TIME_OVER_TIME",
- "FIRST_HALF",
- "SECOND_HALF",
- "FIRST_PERIOD",
- "FIRST_QUARTER",
- "FIRST_SET",
- "SECOND_SET"
- ],
- "example": "FULL_TIME",
+ "name": {
+ "type": "string"
+ },
+ "player": {
+ "type": "string"
+ },
+ "position": {
"type": "string"
+ },
+ "stats": {
+ "additionalProperties": {},
+ "type": "object"
}
},
"type": "object"
},
- "flashscore.oddsOfferDoc": {
+ "fanduel.SportsbookPlayersResponse": {
"properties": {
- "bookmaker_id": {
- "example": 16,
+ "fetched_at": {
+ "type": "string"
+ },
+ "league": {
+ "type": "string"
+ },
+ "limit": {
"type": "integer"
},
- "outcomes": {
+ "offset": {
+ "type": "integer"
+ },
+ "players": {
"items": {
- "$ref": "#/definitions/flashscore.oddsOutcomeDoc"
+ "$ref": "#/definitions/fanduel.SportsbookDirectoryPlayer"
},
"type": "array"
+ },
+ "total": {
+ "type": "integer"
}
},
"type": "object"
},
- "flashscore.oddsOutcomeDoc": {
+ "fanduel.SportsbookPriceRunner": {
"properties": {
- "active": {
- "example": true,
- "type": "boolean"
- },
- "half_full_time": {
- "example": "1/1",
- "type": "string"
+ "american_odds": {
+ "type": "integer"
},
- "handicap": {
- "example": 2.5,
+ "decimal_odds": {
"type": "number"
},
- "handicap_type": {
- "enum": [
- "UNKNOWN",
- "GOALS",
- "GAMES",
- "SETS",
- "POINTS",
- "FRAMES",
- "LEGS",
- "RUNS"
- ],
- "example": "UNKNOWN",
+ "fractional_odds": {
"type": "string"
},
- "odds": {
- "example": 2.6,
- "type": "number"
- },
- "opening_odds": {
- "example": 3,
+ "handicap": {
"type": "number"
},
- "participant_id": {
- "example": "Gzrm3lW6",
- "type": "string"
+ "previous_american_odds": {
+ "description": "PreviousAmericanOdds and PreviousDecimalOdds are the price immediately\nbefore the current one, present once the price has moved.",
+ "type": "integer"
},
- "score": {
- "example": "2:1",
- "type": "string"
+ "previous_decimal_odds": {
+ "type": "number"
},
- "selection": {
- "example": "home",
- "type": "string"
+ "selection_id": {
+ "type": "integer"
},
- "side": {
- "enum": [
- "home",
- "away"
- ],
- "example": "home",
+ "status": {
"type": "string"
}
},
"type": "object"
},
- "flashscore.oddsParticipantDoc": {
+ "fanduel.SportsbookPromotion": {
"properties": {
- "id": {
- "example": "Gzrm3lW6",
+ "button_text": {
"type": "string"
},
- "side": {
- "enum": [
- "home",
- "away"
- ],
- "example": "home",
+ "button_url": {
"type": "string"
- }
- },
- "type": "object"
- },
- "flashscore.oddsSubdivisionDoc": {
- "properties": {
- "code": {
- "example": "NJ",
+ },
+ "ends_at": {
"type": "string"
},
- "geo": {
- "example": "US",
+ "image_url": {
"type": "string"
},
"name": {
- "example": "New Jersey",
"type": "string"
- }
- },
- "type": "object"
- },
- "flashscore.playerMatchStatsDoc": {
- "properties": {
- "highlights": {
- "example": [
- "goals",
- "assists"
- ],
+ },
+ "products": {
"items": {
"type": "string"
},
"type": "array"
},
- "id": {
- "example": "trpxfbO3",
+ "promo_code": {
"type": "string"
},
- "name": {
- "example": "Gross Pascal",
- "type": "string"
+ "tags": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "position": {
- "example": "Midfielder",
+ "title": {
"type": "string"
- },
- "rating": {
- "example": 8.3,
- "type": "number"
- },
- "short_name": {
- "example": "Gross P.",
+ }
+ },
+ "type": "object"
+ },
+ "fanduel.SportsbookPromotionsResponse": {
+ "properties": {
+ "context": {
"type": "string"
},
- "side": {
- "enum": [
- "home",
- "away"
- ],
- "example": "home",
+ "custom_page_id": {
"type": "string"
},
- "slug": {
- "example": "gross-pascal",
+ "event_type_id": {
+ "type": "integer"
+ },
+ "fetched_at": {
"type": "string"
},
- "starter": {
- "example": true,
- "type": "boolean"
+ "placements": {
+ "items": {
+ "$ref": "#/definitions/fanduel.SportsbookPlacement"
+ },
+ "type": "array"
},
- "stats": {
- "additionalProperties": {
- "$ref": "#/definitions/flashscore.playerStatValueDoc"
+ "promotions": {
+ "items": {
+ "$ref": "#/definitions/fanduel.SportsbookPromotion"
},
- "description": "Stats maps a statistic key from stat_types to this player's value.",
- "type": "object"
+ "type": "array"
},
- "team_id": {
- "example": "2XrRecc3",
+ "state": {
"type": "string"
},
- "top_rated": {
- "example": true,
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "flashscore.playerStatCombinedDoc": {
- "properties": {
- "stats": {
- "example": [
- "passes_accurate",
- "passes_total",
- "passes_accuracy"
- ],
+ "tags": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/fanduel.SportsbookTagCount"
},
"type": "array"
- },
- "template": {
- "example": "%s/%s (%s)",
- "type": "string"
}
},
"type": "object"
},
- "flashscore.playerStatGroupDoc": {
+ "fanduel.SportsbookRosterPlayer": {
"properties": {
- "goalkeeper_only": {
- "example": false,
- "type": "boolean"
+ "college": {
+ "type": "string"
},
- "key": {
- "enum": [
- "top_stats",
- "shots",
- "attack",
- "passes",
- "defense",
- "goalkeeping",
- "general"
- ],
- "example": "shots",
+ "experience": {
"type": "string"
},
- "label": {
- "example": "Shots",
+ "height": {
"type": "string"
},
- "stats": {
- "example": [
- "shots_total",
- "goals"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "flashscore.playerStatTeamDoc": {
- "properties": {
- "id": {
- "example": "2XrRecc3",
+ "injury_status": {
"type": "string"
},
"name": {
- "example": "Brighton",
"type": "string"
},
- "side": {
- "enum": [
- "home",
- "away"
- ],
- "example": "home",
+ "number": {
+ "type": "string"
+ },
+ "photo_url": {
+ "type": "string"
+ },
+ "position": {
+ "type": "string"
+ },
+ "slug": {
+ "type": "string"
+ },
+ "status": {
"type": "string"
+ },
+ "weight": {
+ "type": "integer"
}
},
"type": "object"
},
- "flashscore.playerStatTypeDoc": {
+ "fanduel.SportsbookRosterResponse": {
"properties": {
- "combined": {
- "$ref": "#/definitions/flashscore.playerStatCombinedDoc"
- },
- "format": {
- "enum": [
- "count",
- "percentage",
- "count_two_decimal_places"
- ],
- "example": "count",
+ "fetched_at": {
"type": "string"
},
- "groups": {
+ "injury_statuses": {
"items": {
- "enum": [
- "top_stats",
- "shots",
- "attack",
- "passes",
- "defense",
- "goalkeeping",
- "general"
- ],
- "type": "string"
+ "$ref": "#/definitions/fanduel.SportsbookValueCount"
},
"type": "array"
},
- "key": {
- "example": "shots_total",
+ "league": {
"type": "string"
},
- "label": {
- "example": "Total shots",
- "type": "string"
+ "players": {
+ "items": {
+ "$ref": "#/definitions/fanduel.SportsbookRosterPlayer"
+ },
+ "type": "array"
},
- "sentiment": {
- "enum": [
- "positive",
- "negative"
- ],
- "example": "positive",
+ "positions": {
+ "items": {
+ "$ref": "#/definitions/fanduel.SportsbookValueCount"
+ },
+ "type": "array"
+ },
+ "statuses": {
+ "items": {
+ "$ref": "#/definitions/fanduel.SportsbookValueCount"
+ },
+ "type": "array"
+ },
+ "team": {
"type": "string"
}
},
"type": "object"
},
- "flashscore.playerStatValueDoc": {
+ "fanduel.SportsbookRunner": {
"properties": {
- "rank": {
- "example": 9,
+ "abbreviation": {
+ "type": "string"
+ },
+ "american_odds": {
"type": "integer"
},
- "raw": {
- "example": 0.1074,
+ "decimal_odds": {
"type": "number"
},
- "value": {
- "example": "0.11",
+ "fractional_odds": {
"type": "string"
- }
- },
- "type": "object"
- },
- "flashscore.pointByPointCurrentGameDoc": {
- "properties": {
- "points": {
- "items": {
- "$ref": "#/definitions/flashscore.pointScoreDoc"
- },
- "type": "array"
},
- "server": {
- "enum": [
- "home",
- "away"
- ],
- "example": "away",
+ "handicap": {
+ "type": "number"
+ },
+ "is_player": {
+ "type": "boolean"
+ },
+ "jersey_number": {
"type": "string"
},
- "title": {
- "example": "Current game",
+ "logo_url": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "previous_american_odds": {
+ "description": "PreviousAmericanOdds and PreviousDecimalOdds are the price immediately\nbefore the current one, present once the price has moved. The Sportsbook\nkeeps a single previous price, not a series.",
+ "type": "integer"
+ },
+ "previous_decimal_odds": {
+ "type": "number"
+ },
+ "selection_id": {
+ "type": "integer"
+ },
+ "side": {
+ "type": "string"
+ },
+ "status": {
"type": "string"
}
},
"type": "object"
},
- "flashscore.pointByPointEntryDoc": {
+ "fanduel.SportsbookScheduleGame": {
"properties": {
- "away_score": {
- "example": 0,
- "type": "integer"
+ "bye_week": {
+ "type": "boolean"
},
- "away_tiebreak_score": {
- "example": 3,
- "type": "integer"
+ "cancelled": {
+ "type": "boolean"
},
- "home_score": {
- "example": 1,
- "type": "integer"
+ "date": {
+ "type": "string"
},
- "home_tiebreak_score": {
- "example": 7,
- "type": "integer"
+ "location": {
+ "type": "string"
},
- "lead": {
- "$ref": "#/definitions/flashscore.pointByPointLeadDoc"
+ "opponent": {
+ "$ref": "#/definitions/fanduel.SportsbookTeamRef"
},
- "markers": {
- "items": {
- "$ref": "#/definitions/flashscore.pointMarkerDoc"
- },
- "type": "array"
+ "opponent_record": {
+ "type": "string"
},
- "number": {
- "example": 1,
+ "opponent_score": {
"type": "integer"
},
- "points": {
- "items": {
- "$ref": "#/definitions/flashscore.pointScoreDoc"
- },
- "type": "array"
- },
- "server": {
- "enum": [
- "home",
- "away"
- ],
- "example": "home",
- "type": "string"
- },
- "server_lost": {
- "example": false,
+ "postponed": {
"type": "boolean"
},
- "winner": {
- "enum": [
- "home",
- "away"
- ],
- "example": "home",
+ "team_score": {
+ "type": "integer"
+ },
+ "venue": {
"type": "string"
+ },
+ "week": {
+ "type": "integer"
}
},
"type": "object"
},
- "flashscore.pointByPointLeadDoc": {
+ "fanduel.SportsbookScheduleGroup": {
"properties": {
- "margin": {
- "example": 4,
- "type": "integer"
+ "games": {
+ "items": {
+ "$ref": "#/definitions/fanduel.SportsbookLeagueGame"
+ },
+ "type": "array"
},
- "narrowed": {
- "example": true,
- "type": "boolean"
+ "season_type": {
+ "type": "string"
},
- "side": {
- "enum": [
- "home",
- "away"
- ],
- "example": "away",
+ "title": {
"type": "string"
}
},
"type": "object"
},
- "flashscore.pointByPointPeriodDoc": {
+ "fanduel.SportsbookScheduleResponse": {
"properties": {
- "sections": {
+ "fetched_at": {
+ "type": "string"
+ },
+ "league": {
+ "type": "string"
+ },
+ "next_game": {
+ "$ref": "#/definitions/fanduel.SportsbookGameSummary"
+ },
+ "previous_game": {
+ "$ref": "#/definitions/fanduel.SportsbookGameSummary"
+ },
+ "seasons": {
"items": {
- "$ref": "#/definitions/flashscore.pointByPointSectionDoc"
+ "$ref": "#/definitions/fanduel.SportsbookScheduleSeason"
},
"type": "array"
},
- "title": {
- "example": "Set 1",
+ "team": {
"type": "string"
}
},
"type": "object"
},
- "flashscore.pointByPointSectionDoc": {
+ "fanduel.SportsbookScheduleSeason": {
"properties": {
- "entries": {
+ "games": {
"items": {
- "$ref": "#/definitions/flashscore.pointByPointEntryDoc"
+ "$ref": "#/definitions/fanduel.SportsbookScheduleGame"
},
"type": "array"
},
+ "season_type": {
+ "type": "string"
+ },
"title": {
- "example": "Point by point - Set 1",
"type": "string"
}
},
"type": "object"
},
- "flashscore.pointMarkerDoc": {
+ "fanduel.SportsbookScheduleWeek": {
"properties": {
- "side": {
- "enum": [
- "home",
- "away"
- ],
- "example": "home",
+ "current_week": {
+ "type": "boolean"
+ },
+ "end_date": {
"type": "string"
},
- "type": {
- "enum": [
- "break_point",
- "set_point",
- "match_point"
- ],
- "example": "break_point",
+ "id": {
+ "type": "integer"
+ },
+ "label": {
+ "type": "string"
+ },
+ "season_type": {
+ "type": "string"
+ },
+ "start_date": {
"type": "string"
}
},
"type": "object"
},
- "flashscore.pointScoreDoc": {
+ "fanduel.SportsbookScore": {
"properties": {
"away": {
- "example": "30",
+ "type": "integer"
+ },
+ "clock": {
"type": "string"
},
"home": {
- "example": "40",
- "type": "string"
+ "type": "integer"
},
- "markers": {
+ "period_scores": {
"items": {
- "$ref": "#/definitions/flashscore.pointMarkerDoc"
+ "$ref": "#/definitions/fanduel.SportsbookPeriodScore"
},
"type": "array"
}
},
"type": "object"
},
- "flashscore.predictedFormationDoc": {
+ "fanduel.SportsbookSearchAncestor": {
"properties": {
- "lines": {
- "items": {
- "$ref": "#/definitions/flashscore.formationLineDoc"
- },
- "type": "array"
+ "id": {
+ "type": "string"
},
"name": {
- "example": "4-2-3-1",
"type": "string"
}
},
"type": "object"
},
- "flashscore.predictedLineupTeamDoc": {
+ "fanduel.SportsbookSearchCompetition": {
"properties": {
- "aggregated_stats": {
- "$ref": "#/definitions/flashscore.lineupAggregatedStatsDoc"
- },
- "coaches": {
- "items": {
- "$ref": "#/definitions/flashscore.lineupPlayerDoc"
- },
- "type": "array"
- },
- "formation": {
- "$ref": "#/definitions/flashscore.predictedFormationDoc"
- },
- "groups": {
- "items": {
- "$ref": "#/definitions/flashscore.lineupGroupDoc"
- },
- "type": "array"
+ "competition_id": {
+ "type": "integer"
},
- "name": {
- "example": "Bragantino",
- "type": "string"
+ "event_type_id": {
+ "type": "integer"
},
- "participant_id": {
- "example": "2FbjCJan",
+ "event_type_name": {
"type": "string"
},
- "players": {
- "items": {
- "$ref": "#/definitions/flashscore.lineupPlayerDoc"
- },
- "type": "array"
+ "match_count": {
+ "type": "integer"
},
- "side": {
- "enum": [
- "home",
- "away"
- ],
- "example": "home",
+ "name": {
"type": "string"
}
},
"type": "object"
},
- "flashscore.rankingCategoriesDataDoc": {
+ "fanduel.SportsbookSearchEvent": {
"properties": {
- "categories": {
- "items": {
- "$ref": "#/definitions/flashscore.rankingCategoryDoc"
- },
- "type": "array"
+ "competition_id": {
+ "type": "integer"
},
- "source_url": {
- "example": "https://www.flashscore.com/",
+ "competition_name": {
"type": "string"
- }
- },
- "type": "object"
- },
- "flashscore.rankingCategoriesResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ },
+ "event_id": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/flashscore.rankingCategoriesDataDoc"
+ "event_type_id": {
+ "type": "integer"
},
- "msg": {
- "example": "OK",
- "type": "string"
- }
- },
- "type": "object"
- },
- "flashscore.rankingCategoryDoc": {
- "properties": {
- "key": {
- "example": "tennis-atp",
+ "event_type_name": {
"type": "string"
},
- "live": {
- "example": false,
+ "in_play": {
"type": "boolean"
},
"name": {
- "example": "ATP Singles",
- "type": "string"
- },
- "path": {
- "example": "/tennis/rankings/atp/",
"type": "string"
},
- "sport": {
- "example": "tennis",
+ "open_date": {
"type": "string"
}
},
"type": "object"
},
- "flashscore.rankingDataDoc": {
+ "fanduel.SportsbookSearchHit": {
"properties": {
- "category": {
- "$ref": "#/definitions/flashscore.rankingCategoryDoc"
- },
- "pages": {
+ "ancestry": {
"items": {
- "$ref": "#/definitions/flashscore.rankingPageDoc"
+ "$ref": "#/definitions/fanduel.SportsbookSearchAncestor"
},
"type": "array"
},
- "source_url": {
- "example": "https://www.flashscore.com/tennis/rankings/atp/",
- "type": "string"
- }
- },
- "type": "object"
- },
- "flashscore.rankingPageDoc": {
- "properties": {
- "data": {
- "example": "TS÷ME¬TS÷TAB¬TE÷RW¬...",
+ "competition": {
"type": "string"
},
- "feed_url": {
- "example": "https://global.flashscore.ninja/2/x/feed/ran_dSJr14Y8_1",
+ "competition_id": {
"type": "string"
},
- "page": {
- "example": 1,
+ "event_category": {
"type": "integer"
},
- "rows": {
- "example": 100,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "flashscore.rankingResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ "exchange_id": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/flashscore.rankingDataDoc"
- },
- "msg": {
- "example": "OK",
- "type": "string"
- }
- },
- "type": "object"
- },
- "flashscore.reportBlockDoc": {
- "properties": {
- "alt": {
- "example": "Momentum",
+ "result_id": {
"type": "string"
},
- "bold": {
- "example": true,
- "type": "boolean"
+ "sport": {
+ "type": "string"
},
- "credit": {
- "example": "Flashscore",
+ "sport_id": {
"type": "string"
},
- "height": {
- "example": 2160,
- "type": "integer"
+ "start_date": {
+ "type": "string"
},
- "links": {
- "items": {
- "$ref": "#/definitions/flashscore.reportLinkDoc"
- },
- "type": "array"
+ "subtype": {
+ "type": "string"
},
- "text": {
+ "title": {
"type": "string"
},
"type": {
- "enum": [
- "paragraph",
- "image"
- ],
- "example": "paragraph",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "fanduel.SportsbookSearchPill": {
+ "properties": {
+ "id": {
+ "type": "integer"
},
- "url": {
+ "title": {
"type": "string"
- },
- "width": {
- "example": 3840,
- "type": "integer"
}
},
"type": "object"
},
- "flashscore.reportImageDoc": {
+ "fanduel.SportsbookSearchResponse": {
"properties": {
- "alt": {
+ "competitions": {
+ "items": {
+ "$ref": "#/definitions/fanduel.SportsbookSearchCompetition"
+ },
+ "type": "array"
+ },
+ "events": {
+ "items": {
+ "$ref": "#/definitions/fanduel.SportsbookSearchEvent"
+ },
+ "type": "array"
+ },
+ "fetched_at": {
"type": "string"
},
- "credit": {
- "example": "GLYN KIRK / AFP",
+ "query": {
"type": "string"
},
- "thumbnail_url": {
+ "state": {
"type": "string"
},
- "url": {
+ "type": {
"type": "string"
}
},
"type": "object"
},
- "flashscore.reportLinkDoc": {
+ "fanduel.SportsbookSearchTab": {
"properties": {
"id": {
- "example": "hA1Zm19f",
- "type": "string"
- },
- "text": {
- "example": "Arsenal",
- "type": "string"
- },
- "type": {
- "enum": [
- "team",
- "player",
- "competition",
- "page"
- ],
- "example": "team",
"type": "string"
},
- "url": {
- "example": "https://www.flashscore.com/team/arsenal/hA1Zm19f/",
+ "title": {
"type": "string"
}
},
"type": "object"
},
- "flashscore.responseDoc": {
+ "fanduel.SportsbookSearchTabsResponse": {
"properties": {
- "code": {
- "example": 200,
+ "fetched_at": {
+ "type": "string"
+ },
+ "found": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/flashscore.sourceDataDoc"
+ "next_start_index": {
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "page_size": {
+ "type": "integer"
+ },
+ "pill": {
"type": "string"
- }
- },
- "type": "object"
- },
- "flashscore.searchDataDoc": {
- "properties": {
+ },
+ "pills": {
+ "items": {
+ "$ref": "#/definitions/fanduel.SportsbookSearchPill"
+ },
+ "type": "array"
+ },
"query": {
- "example": "Arsenal",
"type": "string"
},
"results": {
"items": {
- "$ref": "#/definitions/flashscore.searchResultDoc"
+ "$ref": "#/definitions/fanduel.SportsbookSearchHit"
},
"type": "array"
},
- "source_url": {
- "example": "https://s.livesport.services/api/v2/search/?q=Arsenal",
+ "start_index": {
+ "type": "integer"
+ },
+ "state": {
+ "type": "string"
+ },
+ "tab": {
"type": "string"
+ },
+ "tabs": {
+ "items": {
+ "$ref": "#/definitions/fanduel.SportsbookSearchTab"
+ },
+ "type": "array"
+ },
+ "total_results": {
+ "type": "integer"
}
},
"type": "object"
},
- "flashscore.searchImageDoc": {
+ "fanduel.SportsbookSplit": {
"properties": {
- "path": {
- "example": "fwtiqyQt-vcNAdtF9.png",
+ "name": {
"type": "string"
},
- "usageId": {
- "example": 2,
+ "percent": {
"type": "integer"
},
- "variantTypeId": {
- "example": 2,
+ "selection_id": {
"type": "integer"
}
},
"type": "object"
},
- "flashscore.searchNamedIDDoc": {
+ "fanduel.SportsbookSport": {
"properties": {
- "id": {
- "example": 2,
+ "event_type_id": {
"type": "integer"
},
"name": {
- "example": "Team",
"type": "string"
}
},
"type": "object"
},
- "flashscore.searchResponseDoc": {
+ "fanduel.SportsbookSportsResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/flashscore.searchDataDoc"
- },
- "msg": {
- "example": "OK",
+ "fetched_at": {
"type": "string"
- }
- },
- "type": "object"
- },
- "flashscore.searchResultDoc": {
- "properties": {
- "defaultCountry": {
- "additionalProperties": true,
- "type": "object"
- },
- "defaultTournament": {
- "additionalProperties": true,
- "type": "object"
},
- "gender": {
- "$ref": "#/definitions/flashscore.searchNamedIDDoc"
+ "popular_links": {
+ "items": {
+ "$ref": "#/definitions/fanduel.SportsbookNavLink"
+ },
+ "type": "array"
},
- "id": {
- "example": "hA1Zm19f",
- "type": "string"
+ "quick_links": {
+ "items": {
+ "$ref": "#/definitions/fanduel.SportsbookNavLink"
+ },
+ "type": "array"
},
- "images": {
+ "sports": {
"items": {
- "$ref": "#/definitions/flashscore.searchImageDoc"
+ "$ref": "#/definitions/fanduel.SportsbookSport"
},
"type": "array"
},
- "name": {
- "example": "Arsenal",
+ "state": {
"type": "string"
},
- "participantTypes": {
+ "states": {
"items": {
- "$ref": "#/definitions/flashscore.searchNamedIDDoc"
+ "$ref": "#/definitions/fanduel.SportsbookState"
},
"type": "array"
},
- "sport": {
- "$ref": "#/definitions/flashscore.searchNamedIDDoc"
- },
- "superTemplate": {
- "additionalProperties": true,
- "type": "object"
- },
- "teams": {
+ "teaser_competitions": {
"items": {
- "additionalProperties": true,
- "type": "object"
+ "$ref": "#/definitions/fanduel.SportsbookTeaserCompetition"
},
"type": "array"
- },
- "type": {
- "$ref": "#/definitions/flashscore.searchNamedIDDoc"
- },
- "url": {
- "example": "arsenal",
- "type": "string"
}
},
"type": "object"
},
- "flashscore.sourceDataDoc": {
+ "fanduel.SportsbookStandingsResponse": {
"properties": {
- "data": {
- "example": "SE÷Match¬~SF÷Top stats¬~SD÷432¬SG÷Expected goals (xG)¬SH÷0.00¬SI÷0.00¬~",
+ "fetched_at": {
"type": "string"
},
- "source_url": {
- "example": "https://global.flashscore.ninja/2/x/feed/df_st_2_xtmHKGT0",
+ "league": {
"type": "string"
+ },
+ "team_count": {
+ "type": "integer"
+ },
+ "teams": {
+ "items": {
+ "$ref": "#/definitions/fanduel.SportsbookStandingsTeam"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "flashscore.sportItemDoc": {
+ "fanduel.SportsbookStandingsTeam": {
"properties": {
- "event_count": {
- "example": 159,
- "type": "integer"
+ "code": {
+ "type": "string"
},
- "id": {
- "example": 1,
- "type": "integer"
+ "conference": {
+ "type": "string"
},
- "key": {
- "example": "football",
+ "division": {
"type": "string"
},
- "league_count": {
- "example": 11,
- "type": "integer"
+ "logo_url": {
+ "type": "string"
},
"name": {
- "example": "Football",
"type": "string"
},
- "path": {
- "example": "/",
+ "short_name": {
"type": "string"
- }
- },
- "type": "object"
- },
- "flashscore.sportsDataDoc": {
- "properties": {
- "source_url": {
- "example": "https://global.flashscore.ninja/2/x/feed/mc_8",
+ },
+ "slug": {
"type": "string"
},
- "sports": {
- "items": {
- "$ref": "#/definitions/flashscore.sportItemDoc"
- },
- "type": "array"
+ "standing": {
+ "additionalProperties": {},
+ "type": "object"
}
},
"type": "object"
},
- "flashscore.sportsResponseDoc": {
+ "fanduel.SportsbookState": {
"properties": {
"code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/flashscore.sportsDataDoc"
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "name": {
"type": "string"
}
},
"type": "object"
},
- "flashscore.topSearchDataDoc": {
+ "fanduel.SportsbookStatsListResponse": {
"properties": {
- "results": {
+ "events": {
"items": {
- "$ref": "#/definitions/flashscore.searchResultDoc"
+ "$ref": "#/definitions/fanduel.SportsbookEventStats"
},
"type": "array"
},
- "source_url": {
- "example": "https://s.livesport.services/api/v2/top-search/?lang-id=1&limit=10&project-id=2&project-type-id=1&type-ids=1%2C2%2C3%2C4",
+ "fetched_at": {
"type": "string"
}
},
"type": "object"
},
- "flashscore.topSearchResponseDoc": {
+ "fanduel.SportsbookStatsTeam": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "name": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/flashscore.topSearchDataDoc"
+ "primary_color": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "secondary_color": {
+ "type": "string"
+ },
+ "selection_id": {
+ "type": "integer"
+ },
+ "side": {
"type": "string"
}
},
"type": "object"
},
- "flashscore.tournamentEventsDataDoc": {
+ "fanduel.SportsbookSuggestion": {
"properties": {
- "data": {
- "example": "SA÷1¬~ZA÷ENGLAND: Premier League¬ZEE÷dYlOSQOD¬ZB÷198¬~AA÷byL7b0nn¬AD÷1797692400¬",
+ "highlighted": {
"type": "string"
},
+ "text": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "fanduel.SportsbookTab": {
+ "properties": {
"event_count": {
- "example": 83,
"type": "integer"
},
- "page": {
- "example": 2,
+ "id": {
+ "type": "string"
+ },
+ "live_count": {
"type": "integer"
},
- "path": {
- "example": "/football/england/premier-league-2026-2027/fixtures/",
- "type": "string"
+ "market_count": {
+ "type": "integer"
},
- "section": {
- "example": "fixtures",
+ "slug": {
"type": "string"
},
- "source_url": {
- "example": "https://global.flashscore.ninja/2/x/feed/tf_1_198_dYlOSQOD_190_1_8_en_1",
+ "title": {
"type": "string"
- },
- "total_events": {
- "example": 330,
- "type": "integer"
}
},
"type": "object"
},
- "flashscore.tournamentEventsResponseDoc": {
+ "fanduel.SportsbookTagCount": {
"properties": {
- "code": {
- "example": 200,
+ "count": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/flashscore.tournamentEventsDataDoc"
- },
- "msg": {
- "example": "OK",
+ "tag": {
"type": "string"
}
},
"type": "object"
},
- "flashscore.tournamentSeasonDoc": {
+ "fanduel.SportsbookTeam": {
"properties": {
- "fixtures_path": {
- "example": "/football/europe/champions-league-2025-2026/fixtures/",
- "type": "string"
- },
- "name": {
- "example": "Champions League 2025/2026",
+ "abbreviation": {
"type": "string"
},
- "path": {
- "example": "/football/europe/champions-league-2025-2026/",
+ "color": {
"type": "string"
},
- "results_path": {
- "example": "/football/europe/champions-league-2025-2026/results/",
+ "conference": {
"type": "string"
},
- "season": {
- "example": "2025/2026",
+ "logo_url": {
"type": "string"
},
- "winner": {
- "description": "Winner joins every winner's name with \" / \"; WinnerPath is set only for a\nsingle winner.",
- "example": "PSG",
+ "name": {
"type": "string"
},
- "winner_path": {
- "example": "/team/psg/CjhkPw0k/",
+ "short_name": {
"type": "string"
- },
- "winners": {
- "items": {
- "$ref": "#/definitions/flashscore.tournamentSeasonWinnerDoc"
- },
- "type": "array"
}
},
"type": "object"
},
- "flashscore.tournamentSeasonWinnerDoc": {
+ "fanduel.SportsbookTeamArticle": {
"properties": {
- "name": {
- "example": "PSG",
+ "author": {
"type": "string"
},
- "path": {
- "example": "/team/psg/CjhkPw0k/",
+ "id": {
+ "type": "string"
+ },
+ "published_at": {
+ "type": "string"
+ },
+ "source": {
+ "type": "string"
+ },
+ "summary": {
+ "type": "string"
+ },
+ "thumbnail_url": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "flashscore.tournamentSeasonsDataDoc": {
+ "fanduel.SportsbookTeamGameOdds": {
"properties": {
- "path": {
- "example": "/football/europe/champions-league/archive/",
- "type": "string"
+ "money_line": {
+ "$ref": "#/definitions/fanduel.SportsbookGameLine"
},
- "seasons": {
- "items": {
- "$ref": "#/definitions/flashscore.tournamentSeasonDoc"
- },
- "type": "array"
+ "spread": {
+ "$ref": "#/definitions/fanduel.SportsbookGameLine"
},
- "source_url": {
- "example": "https://www.flashscore.com/football/europe/champions-league/archive/",
- "type": "string"
+ "total": {
+ "$ref": "#/definitions/fanduel.SportsbookGameLine"
}
},
"type": "object"
},
- "flashscore.tournamentSeasonsResponseDoc": {
+ "fanduel.SportsbookTeamGameRef": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/flashscore.tournamentSeasonsDataDoc"
- },
- "msg": {
- "example": "OK",
- "type": "string"
- }
- },
- "type": "object"
- },
- "flashscore.tournamentStandingsResponseDoc": {
- "properties": {
- "data": {
- "example": "TZ÷Standings¬TN÷Premier League¬~",
+ "event_url": {
"type": "string"
},
- "path": {
- "example": "/football/england/premier-league/",
+ "home_game": {
+ "type": "boolean"
+ },
+ "opponent": {
"type": "string"
},
- "source_url": {
- "example": "https://global.flashscore.ninja/2/x/feed/to_SY30SsKF_CfoA8Dmm_1",
+ "scheduled_time": {
"type": "string"
},
- "view": {
- "example": "overall",
+ "status": {
"type": "string"
}
},
"type": "object"
},
- "flashscore.tournamentStandingsViewsResponseDoc": {
+ "fanduel.SportsbookTeamGroup": {
"properties": {
- "path": {
- "example": "/football/england/premier-league/",
- "type": "string"
- },
- "source_url": {
- "example": "https://www.flashscore.com/football/england/premier-league/standings/",
- "type": "string"
- },
- "views": {
- "example": [
- "overall",
- "home",
- "away",
- "form_overall",
- "overunder_overall",
- "htft_overall",
- "top_scorers"
- ],
+ "teams": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/fanduel.SportsbookTeamSummary"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "foodpanda.Cuisine": {
- "properties": {
- "id": {
- "type": "integer"
},
- "name": {
+ "title": {
"type": "string"
}
},
"type": "object"
},
- "foodpanda.CuisineFilter": {
+ "fanduel.SportsbookTeamNewsResponse": {
"properties": {
- "count": {
- "type": "integer"
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/fanduel.SportsbookTeamArticle"
+ },
+ "type": "array"
},
- "id": {
- "type": "integer"
+ "fetched_at": {
+ "type": "string"
},
- "name": {
+ "has_more": {
+ "type": "boolean"
+ },
+ "league": {
"type": "string"
},
- "slug": {
+ "next_cursor": {
"type": "string"
- }
- },
- "type": "object"
- },
- "foodpanda.CuisinesResponse": {
- "properties": {
- "available_count": {
- "type": "integer"
},
- "cuisines": {
+ "player_updates": {
"items": {
- "$ref": "#/definitions/foodpanda.CuisineFilter"
+ "additionalProperties": {},
+ "type": "object"
},
"type": "array"
},
- "market": {
+ "team": {
"type": "string"
}
},
"type": "object"
},
- "foodpanda.Discount": {
+ "fanduel.SportsbookTeamOddsResponse": {
"properties": {
- "id": {
+ "championship": {
"type": "string"
},
- "value": {
- "type": "number"
- }
- },
- "type": "object"
- },
- "foodpanda.LegalInformation": {
- "properties": {
- "legal_name": {
+ "championship_tab": {
"type": "string"
},
- "trade_register_number": {
+ "fetched_at": {
+ "type": "string"
+ },
+ "future_odds": {
+ "items": {
+ "$ref": "#/definitions/fanduel.SportsbookFutureOdd"
+ },
+ "type": "array"
+ },
+ "league": {
"type": "string"
+ },
+ "next_games": {
+ "items": {
+ "$ref": "#/definitions/fanduel.SportsbookUpcomingGame"
+ },
+ "type": "array"
+ },
+ "player_props": {
+ "items": {
+ "$ref": "#/definitions/fanduel.SportsbookPlayerProps"
+ },
+ "type": "array"
+ },
+ "team": {
+ "$ref": "#/definitions/fanduel.SportsbookTeamRef"
}
},
"type": "object"
},
- "foodpanda.MenuCategory": {
+ "fanduel.SportsbookTeamRef": {
"properties": {
- "description": {
+ "code": {
"type": "string"
},
- "items": {
- "items": {
- "$ref": "#/definitions/foodpanda.MenuItem"
- },
- "type": "array"
+ "logo_url": {
+ "type": "string"
},
- "title": {
+ "name": {
+ "type": "string"
+ },
+ "short_name": {
+ "type": "string"
+ },
+ "slug": {
"type": "string"
}
},
"type": "object"
},
- "foodpanda.MenuItem": {
+ "fanduel.SportsbookTeamStatsResponse": {
"properties": {
- "description": {
+ "fetched_at": {
"type": "string"
},
- "discounted_price": {
- "type": "number"
- },
- "image_url": {
+ "league": {
"type": "string"
},
- "is_sold_out": {
- "type": "boolean"
- },
- "original_price": {
- "type": "number"
+ "stats": {
+ "additionalProperties": {},
+ "type": "object"
},
- "title": {
+ "team": {
"type": "string"
}
},
"type": "object"
},
- "foodpanda.MenuResponse": {
+ "fanduel.SportsbookTeamSummary": {
"properties": {
- "aggregate_rating": {
- "type": "number"
- },
- "categories": {
- "items": {
- "$ref": "#/definitions/foodpanda.MenuCategory"
- },
- "type": "array"
+ "bet_records": {
+ "$ref": "#/definitions/fanduel.SportsbookBetRecords"
},
"code": {
"type": "string"
},
- "item_count": {
- "type": "integer"
+ "conference": {
+ "type": "string"
+ },
+ "division": {
+ "type": "string"
+ },
+ "head_coach": {
+ "type": "string"
+ },
+ "logo_url": {
+ "type": "string"
},
"market": {
"type": "string"
},
- "opening_hours": {
- "items": {
- "$ref": "#/definitions/foodpanda.OpeningHours"
- },
- "type": "array"
+ "name": {
+ "type": "string"
},
- "price_range": {
+ "next_game": {
+ "$ref": "#/definitions/fanduel.SportsbookTeamGameRef"
+ },
+ "primary_color": {
"type": "string"
},
- "rating_count": {
- "type": "integer"
+ "secondary_color": {
+ "type": "string"
},
- "serves_cuisine": {
- "items": {
- "type": "string"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "foodpanda.OpeningHours": {
- "properties": {
- "closes": {
+ "short_name": {
"type": "string"
},
- "days": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "slug": {
+ "type": "string"
},
- "opens": {
+ "sub_division": {
"type": "string"
}
},
"type": "object"
},
- "foodpanda.Restaurant": {
+ "fanduel.SportsbookTeamsResponse": {
"properties": {
- "address": {
- "type": "string"
- },
- "budget": {
- "type": "integer"
- },
- "city": {
- "type": "string"
- },
- "code": {
+ "fetched_at": {
"type": "string"
},
- "cuisines": {
+ "groups": {
"items": {
- "$ref": "#/definitions/foodpanda.Cuisine"
+ "$ref": "#/definitions/fanduel.SportsbookTeamGroup"
},
"type": "array"
},
- "customer_phone": {
+ "league": {
"type": "string"
},
- "discounts": {
+ "sections": {
"items": {
- "$ref": "#/definitions/foodpanda.Discount"
+ "type": "string"
},
"type": "array"
},
- "distance_km": {
- "type": "number"
- },
- "has_discount": {
- "type": "boolean"
+ "team_count": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "fanduel.SportsbookTeaserCompetition": {
+ "properties": {
+ "competition_id": {
+ "type": "integer"
},
- "hero_image_url": {
+ "icon": {
"type": "string"
},
- "is_delivery_available": {
- "type": "boolean"
- },
- "is_pickup_available": {
- "type": "boolean"
- },
- "latitude": {
- "type": "number"
- },
- "legal_information": {
- "$ref": "#/definitions/foodpanda.LegalInformation"
- },
- "longitude": {
- "type": "number"
+ "name": {
+ "type": "string"
},
- "minimum_delivery_fee": {
+ "starting_spread": {
"type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "fanduel.SportsbookTrendingItem": {
+ "properties": {
+ "competition": {
+ "type": "string"
},
- "minimum_delivery_time_minutes": {
- "type": "number"
+ "display_name": {
+ "type": "string"
},
- "minimum_order_amount": {
- "type": "number"
+ "event_id": {
+ "type": "integer"
},
- "name": {
+ "event_name": {
"type": "string"
},
- "rating": {
- "type": "number"
- },
- "review_count": {
- "type": "integer"
+ "expires_at": {
+ "type": "string"
},
- "tags": {
- "items": {
- "$ref": "#/definitions/foodpanda.Tag"
- },
- "type": "array"
+ "metadata": {
+ "additionalProperties": {},
+ "type": "object"
},
- "timezone": {
+ "term": {
"type": "string"
},
- "web_path": {
+ "type": {
"type": "string"
}
},
"type": "object"
},
- "foodpanda.RestaurantResponse": {
+ "fanduel.SportsbookTrendingResponse": {
"properties": {
- "address": {
- "type": "string"
- },
- "budget": {
- "type": "integer"
- },
- "city": {
- "type": "string"
+ "enriched": {
+ "type": "boolean"
},
- "code": {
+ "fetched_at": {
"type": "string"
},
- "cuisines": {
+ "results": {
"items": {
- "$ref": "#/definitions/foodpanda.Cuisine"
+ "$ref": "#/definitions/fanduel.SportsbookTrendingItem"
},
"type": "array"
},
- "customer_phone": {
- "type": "string"
- },
- "discounts": {
+ "terms": {
"items": {
- "$ref": "#/definitions/foodpanda.Discount"
+ "type": "string"
},
"type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "fanduel.SportsbookUpcomingGame": {
+ "properties": {
+ "away_odds": {
+ "$ref": "#/definitions/fanduel.SportsbookTeamGameOdds"
},
- "distance_km": {
- "type": "number"
- },
- "has_discount": {
- "type": "boolean"
- },
- "hero_image_url": {
+ "event_url": {
"type": "string"
},
- "is_delivery_available": {
- "type": "boolean"
- },
- "is_pickup_available": {
+ "home_game": {
"type": "boolean"
},
- "latitude": {
- "type": "number"
- },
- "legal_information": {
- "$ref": "#/definitions/foodpanda.LegalInformation"
- },
- "longitude": {
- "type": "number"
+ "home_odds": {
+ "$ref": "#/definitions/fanduel.SportsbookTeamGameOdds"
},
- "market": {
+ "opponent": {
"type": "string"
},
- "minimum_delivery_fee": {
- "type": "number"
- },
- "minimum_delivery_time_minutes": {
- "type": "number"
- },
- "minimum_order_amount": {
- "type": "number"
+ "opponent_team": {
+ "$ref": "#/definitions/fanduel.SportsbookTeamRef"
},
- "name": {
+ "scheduled_time": {
"type": "string"
},
- "rating": {
- "type": "number"
- },
- "review_count": {
- "type": "integer"
- },
- "tags": {
- "items": {
- "$ref": "#/definitions/foodpanda.Tag"
- },
- "type": "array"
+ "status": {
+ "type": "string"
},
- "timezone": {
+ "venue": {
"type": "string"
},
- "web_path": {
+ "venue_type": {
"type": "string"
+ },
+ "week": {
+ "type": "integer"
}
},
"type": "object"
},
- "foodpanda.Review": {
+ "fanduel.SportsbookValueCount": {
"properties": {
- "author": {
- "type": "string"
- },
- "body": {
- "type": "string"
+ "count": {
+ "type": "integer"
},
- "date_published": {
+ "value": {
"type": "string"
- },
- "rating": {
- "type": "number"
}
},
"type": "object"
},
- "foodpanda.ReviewsResponse": {
+ "fanduel.SportsbookWinLoss": {
"properties": {
- "code": {
- "type": "string"
- },
- "market": {
- "type": "string"
+ "losses": {
+ "type": "integer"
},
- "review_count": {
+ "ties": {
"type": "integer"
},
- "reviews": {
- "items": {
- "$ref": "#/definitions/foodpanda.Review"
- },
- "type": "array"
+ "wins": {
+ "type": "integer"
}
},
"type": "object"
},
- "foodpanda.SearchResponse": {
+ "fanduel.casinoCategoriesResponseDoc": {
"properties": {
- "available_count": {
- "type": "integer"
- },
- "market": {
- "type": "string"
- },
- "offset": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "restaurants": {
- "items": {
- "$ref": "#/definitions/foodpanda.Restaurant"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/fanduel.CasinoCategoriesResponse"
},
- "returned_count": {
- "type": "integer"
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "foodpanda.Tag": {
+ "fanduel.casinoCategoryResponseDoc": {
"properties": {
"code": {
- "type": "string"
+ "example": 200,
+ "type": "integer"
},
- "text": {
+ "data": {
+ "$ref": "#/definitions/fanduel.CasinoCategoryResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "foodpanda.cuisinesResponseDoc": {
+ "fanduel.casinoGameResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/foodpanda.CuisinesResponse"
+ "$ref": "#/definitions/fanduel.CasinoGameResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "foodpanda.menuResponseDoc": {
+ "fanduel.quickPicksDailyResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/foodpanda.MenuResponse"
+ "$ref": "#/definitions/fanduel.QuickPicksDailyResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "foodpanda.restaurantResponseDoc": {
+ "fanduel.racingCarryoverResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/foodpanda.RestaurantResponse"
+ "$ref": "#/definitions/fanduel.RacingCarryoverResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "foodpanda.reviewsResponseDoc": {
+ "fanduel.racingFiltersResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/foodpanda.ReviewsResponse"
+ "$ref": "#/definitions/fanduel.RacingFiltersResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "foodpanda.searchResponseDoc": {
+ "fanduel.racingHorseResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/foodpanda.SearchResponse"
+ "$ref": "#/definitions/fanduel.RacingHorseResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "forbes.ArticleEmbed": {
+ "fanduel.racingPastRaceResponseDoc": {
"properties": {
- "data": {
- "additionalProperties": {},
- "type": "object"
- },
- "id": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "position": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/fanduel.RacingPastRaceResponse"
},
- "type": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "forbes.ArticleResponse": {
+ "fanduel.racingPastRacesResponseDoc": {
"properties": {
- "author": {
- "type": "string"
- },
- "body_html": {
- "type": "string"
- },
- "channel": {
- "type": "string"
- },
- "content_paywall": {
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "embeds": {
- "items": {
- "$ref": "#/definitions/forbes.ArticleEmbed"
- },
- "type": "array"
- },
- "headings": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "image_url": {
- "type": "string"
- },
- "paragraphs": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "published_at": {
- "type": "string"
- },
- "section": {
- "type": "string"
- },
- "template_type": {
- "type": "string"
- },
- "title": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "updated_at": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/fanduel.RacingPastRacesResponse"
},
- "url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "forbes.AuthorArticle": {
+ "fanduel.racingPastTracksResponseDoc": {
"properties": {
- "description": {
- "type": "string"
- },
- "image_url": {
- "type": "string"
- },
- "published_at": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "title": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/fanduel.RacingPastTracksResponse"
},
- "url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "forbes.AuthorResponse": {
+ "fanduel.racingRaceResponseDoc": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/forbes.AuthorArticle"
- },
- "type": "array"
- },
- "bio": {
- "type": "string"
- },
- "display_type": {
- "type": "string"
- },
- "image_url": {
- "type": "string"
- },
- "name": {
- "type": "string"
- },
- "short_bio": {
- "type": "string"
- },
- "slug": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "twitter_url": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/fanduel.RacingRaceResponse"
},
- "url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "forbes.Billionaire": {
+ "fanduel.racingRacesResponseDoc": {
"properties": {
- "age": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "bios": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "category": {
- "type": "string"
- },
- "country_of_citizenship": {
- "type": "string"
- },
- "final_worth": {
- "type": "number"
- },
- "first_name": {
- "type": "string"
- },
- "gender": {
- "type": "string"
- },
- "industries": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "last_name": {
- "type": "string"
- },
- "organization": {
- "type": "string"
- },
- "person": {
- "additionalProperties": {},
- "type": "object"
+ "data": {
+ "$ref": "#/definitions/fanduel.RacingRacesResponse"
},
- "person_name": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "qas": {},
- "rank": {
+ }
+ },
+ "type": "object"
+ },
+ "fanduel.racingResultsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "source": {
- "type": "string"
- },
- "square_image": {
- "type": "string"
- },
- "status": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/fanduel.RacingResultsResponse"
},
- "uri": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "forbes.BillionairesResponse": {
+ "fanduel.racingSearchResponseDoc": {
"properties": {
- "count": {
- "type": "integer"
- },
- "items": {
- "items": {
- "$ref": "#/definitions/forbes.Billionaire"
- },
- "type": "array"
- },
- "limit": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "start": {
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/fanduel.RacingSearchResponse"
},
- "year": {
- "type": "integer"
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "forbes.CategoriesResponse": {
+ "fanduel.racingTrackResponseDoc": {
"properties": {
- "sections": {
- "items": {
- "$ref": "#/definitions/forbes.Section"
- },
- "type": "array"
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/fanduel.RacingTrackResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "forbes.Education": {
+ "fanduel.racingTracksResponseDoc": {
"properties": {
- "degree": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "school": {
+ "data": {
+ "$ref": "#/definitions/fanduel.RacingTracksResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "forbes.HeadlineItem": {
+ "fanduel.racingWagerTypesResponseDoc": {
"properties": {
- "author": {
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "image_url": {
- "type": "string"
- },
- "published_at": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "title": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/fanduel.RacingWagerTypesResponse"
},
- "url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "forbes.HeadlinesResponse": {
+ "fanduel.researchArticleResponseDoc": {
"properties": {
- "items": {
- "items": {
- "$ref": "#/definitions/forbes.HeadlineItem"
- },
- "type": "array"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "section": {
+ "data": {
+ "$ref": "#/definitions/fanduel.ResearchArticleResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "forbes.PersonList": {
+ "fanduel.researchArticlesResponseDoc": {
"properties": {
- "list_uri": {
- "type": "string"
- },
- "name": {
- "type": "string"
- },
- "position": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "rank": {
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/fanduel.ResearchArticlesResponse"
},
- "year": {
- "type": "integer"
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "forbes.PersonProfile": {
+ "fanduel.researchAuthorResponseDoc": {
"properties": {
- "birth_date": {
- "type": "integer"
- },
- "city": {
- "type": "string"
- },
- "country_id": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "country_of_citizenship": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/fanduel.ResearchAuthorResponse"
},
- "country_of_residence": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "deceased": {
- "type": "boolean"
- },
- "educations": {
- "items": {
- "$ref": "#/definitions/forbes.Education"
- },
- "type": "array"
- },
- "final_worth": {
- "type": "number"
- },
- "final_worth_date": {
+ }
+ },
+ "type": "object"
+ },
+ "fanduel.researchAuthorsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "first_name": {
- "type": "string"
- },
- "gender": {
- "type": "string"
- },
- "image_exists": {
- "type": "boolean"
- },
- "industries": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "last_name": {
- "type": "string"
- },
- "list_images": {
- "items": {
- "additionalProperties": {},
- "type": "object"
- },
- "type": "array"
- },
- "marital_status": {
- "type": "string"
- },
- "name": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/fanduel.ResearchAuthorsResponse"
},
- "natural_id": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "number_of_children": {
+ }
+ },
+ "type": "object"
+ },
+ "fanduel.researchFeaturedArticlesResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "person_lists": {
- "items": {
- "$ref": "#/definitions/forbes.PersonList"
- },
- "type": "array"
- },
- "related_entities": {
- "items": {
- "additionalProperties": {},
- "type": "object"
- },
- "type": "array"
- },
- "self_made": {
- "type": "boolean"
- },
- "self_made_type": {
- "type": "string"
- },
- "short_uri": {
- "type": "string"
- },
- "source": {
- "type": "string"
- },
- "square_image": {
- "type": "string"
- },
- "status": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/fanduel.ResearchFeaturedArticlesResponse"
},
- "uri": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "uris": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "visible": {
- "type": "boolean"
}
},
"type": "object"
},
- "forbes.PersonResponse": {
+ "fanduel.researchFixturesResponseDoc": {
"properties": {
- "biography": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "did_you_know": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "editor_updated_at": {
- "type": "string"
- },
- "image_credit": {
- "type": "string"
- },
- "list_appearances": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "personal_stats": {
- "additionalProperties": {
- "type": "string"
- },
- "type": "object"
- },
- "profile": {
- "$ref": "#/definitions/forbes.PersonProfile"
- },
- "real_time_disclaimer": {
- "type": "string"
- },
- "real_time_net_worth": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/fanduel.ResearchFixturesResponse"
},
- "real_time_net_worth_as_of": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "real_time_rank": {
- "type": "integer"
- },
- "wealth_history": {
- "items": {
- "$ref": "#/definitions/forbes.WealthPoint"
- },
- "type": "array"
}
},
"type": "object"
},
- "forbes.Section": {
+ "fanduel.researchNflScheduleResponseDoc": {
"properties": {
- "name": {
- "type": "string"
- },
- "parent": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "path": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/fanduel.ResearchNflScheduleResponse"
},
- "url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "forbes.WealthPoint": {
+ "fanduel.researchPlayerNewsResponseDoc": {
"properties": {
- "date": {
- "type": "string"
- },
- "name": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "percent": {
- "type": "number"
+ "data": {
+ "$ref": "#/definitions/fanduel.ResearchPlayerNewsResponse"
},
- "worth": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "forbes.articleResponseDoc": {
+ "fanduel.researchProjectionSlatesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/forbes.ArticleResponse"
+ "$ref": "#/definitions/fanduel.ResearchProjectionSlatesResponse"
},
"msg": {
"example": "OK",
@@ -87834,14 +92735,14 @@
},
"type": "object"
},
- "forbes.authorResponseDoc": {
+ "fanduel.researchProjectionTablesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/forbes.AuthorResponse"
+ "$ref": "#/definitions/fanduel.ResearchProjectionTablesResponse"
},
"msg": {
"example": "OK",
@@ -87850,14 +92751,14 @@
},
"type": "object"
},
- "forbes.billionairesResponseDoc": {
+ "fanduel.researchProjectionsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/forbes.BillionairesResponse"
+ "$ref": "#/definitions/fanduel.ResearchProjectionsResponse"
},
"msg": {
"example": "OK",
@@ -87866,14 +92767,14 @@
},
"type": "object"
},
- "forbes.categoriesResponseDoc": {
+ "fanduel.researchResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/forbes.CategoriesResponse"
+ "$ref": "#/definitions/fanduel.ResearchResponse"
},
"msg": {
"example": "OK",
@@ -87882,14 +92783,14 @@
},
"type": "object"
},
- "forbes.headlinesResponseDoc": {
+ "fanduel.researchSportsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/forbes.HeadlinesResponse"
+ "$ref": "#/definitions/fanduel.ResearchSportsResponse"
},
"msg": {
"example": "OK",
@@ -87898,14 +92799,14 @@
},
"type": "object"
},
- "forbes.personResponseDoc": {
+ "fanduel.researchSubCategoriesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/forbes.PersonResponse"
+ "$ref": "#/definitions/fanduel.ResearchSubCategoriesResponse"
},
"msg": {
"example": "OK",
@@ -87914,180 +92815,142 @@
},
"type": "object"
},
- "foreignaffairs.ArticleResponse": {
+ "fanduel.sportsbookAutocompleteResponseDoc": {
"properties": {
- "authors": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "categories": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "description": {
- "type": "string"
- },
- "image_url": {
- "type": "string"
- },
- "is_gated": {
- "type": "boolean"
- },
- "paragraphs": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "published_at": {
- "type": "string"
- },
- "title": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "updated_at": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/fanduel.SportsbookAutocompleteResponse"
},
- "url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "foreignaffairs.AuthorArticle": {
+ "fanduel.sportsbookBoxScoreResponseDoc": {
"properties": {
- "dek": {
- "type": "string"
- },
- "issue_label": {
- "type": "string"
- },
- "issue_url": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "title": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/fanduel.SportsbookBoxScoreResponse"
},
- "url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "foreignaffairs.AuthorResponse": {
+ "fanduel.sportsbookBuilderEventsResponseDoc": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/foreignaffairs.AuthorArticle"
- },
- "type": "array"
- },
- "bio": {
- "type": "string"
- },
- "name": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "slug": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/fanduel.SportsbookBuilderEventsResponse"
},
- "url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "foreignaffairs.HeadlineItem": {
+ "fanduel.sportsbookBuilderResponseDoc": {
"properties": {
- "author": {
- "type": "string"
- },
- "categories": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "image_url": {
- "type": "string"
- },
- "published_at": {
- "type": "string"
- },
- "summary": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "title": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/fanduel.SportsbookBuilderResponse"
},
- "url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "foreignaffairs.HeadlinesResponse": {
+ "fanduel.sportsbookChoiceQuotesResponseDoc": {
"properties": {
- "items": {
- "items": {
- "$ref": "#/definitions/foreignaffairs.HeadlineItem"
- },
- "type": "array"
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/fanduel.SportsbookChoiceQuotesResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "foreignaffairs.Topic": {
+ "fanduel.sportsbookDepthChartResponseDoc": {
"properties": {
- "feed_url": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "name": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/fanduel.SportsbookDepthChartResponse"
},
- "slug": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "foreignaffairs.TopicResponse": {
+ "fanduel.sportsbookEventPlayersResponseDoc": {
"properties": {
- "items": {
- "items": {
- "$ref": "#/definitions/foreignaffairs.HeadlineItem"
- },
- "type": "array"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "topic": {
- "$ref": "#/definitions/foreignaffairs.Topic"
+ "data": {
+ "$ref": "#/definitions/fanduel.SportsbookEventPlayersResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "foreignaffairs.TopicsResponse": {
+ "fanduel.sportsbookEventResponseDoc": {
"properties": {
- "topics": {
- "items": {
- "$ref": "#/definitions/foreignaffairs.Topic"
- },
- "type": "array"
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/fanduel.SportsbookEventResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "foreignaffairs.articleResponseDoc": {
+ "fanduel.sportsbookEventScoreResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/foreignaffairs.ArticleResponse"
+ "$ref": "#/definitions/fanduel.SportsbookEventScoreResponse"
},
"msg": {
"example": "OK",
@@ -88096,14 +92959,14 @@
},
"type": "object"
},
- "foreignaffairs.authorResponseDoc": {
+ "fanduel.sportsbookEventStatsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/foreignaffairs.AuthorResponse"
+ "$ref": "#/definitions/fanduel.SportsbookEventStatsResponse"
},
"msg": {
"example": "OK",
@@ -88112,14 +92975,14 @@
},
"type": "object"
},
- "foreignaffairs.headlinesResponseDoc": {
+ "fanduel.sportsbookEventsStatusResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/foreignaffairs.HeadlinesResponse"
+ "$ref": "#/definitions/fanduel.SportsbookEventsStatusResponse"
},
"msg": {
"example": "OK",
@@ -88128,14 +92991,14 @@
},
"type": "object"
},
- "foreignaffairs.topicResponseDoc": {
+ "fanduel.sportsbookLeagueScheduleResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/foreignaffairs.TopicResponse"
+ "$ref": "#/definitions/fanduel.SportsbookLeagueScheduleResponse"
},
"msg": {
"example": "OK",
@@ -88144,14 +93007,14 @@
},
"type": "object"
},
- "foreignaffairs.topicsResponseDoc": {
+ "fanduel.sportsbookLiveCountResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/foreignaffairs.TopicsResponse"
+ "$ref": "#/definitions/fanduel.SportsbookLiveCountResponse"
},
"msg": {
"example": "OK",
@@ -88160,320 +93023,270 @@
},
"type": "object"
},
- "foreignpolicy.ArticleResponse": {
+ "fanduel.sportsbookLiveDataResponseDoc": {
"properties": {
- "authors": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "description": {
- "type": "string"
- },
- "image_url": {
- "type": "string"
- },
- "is_gated": {
- "type": "boolean"
- },
- "paragraphs": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "published_at": {
- "type": "string"
- },
- "section": {
- "type": "string"
- },
- "title": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "updated_at": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/fanduel.SportsbookLiveDataResponse"
},
- "url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "foreignpolicy.AuthorArticle": {
+ "fanduel.sportsbookLiveScoresResponseDoc": {
"properties": {
- "published_at": {
- "type": "string"
- },
- "section": {
- "type": "string"
- },
- "section_url": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "title": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/fanduel.SportsbookLiveScoresResponse"
},
- "url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "foreignpolicy.AuthorResponse": {
+ "fanduel.sportsbookMarketPricesResponseDoc": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/foreignpolicy.AuthorArticle"
- },
- "type": "array"
- },
- "bio": {
- "type": "string"
- },
- "name": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "slug": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/fanduel.SportsbookMarketPricesResponse"
},
- "url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "foreignpolicy.HeadlineItem": {
+ "fanduel.sportsbookPageResponseDoc": {
"properties": {
- "author": {
- "type": "string"
- },
- "categories": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "is_gated": {
- "type": "boolean"
- },
- "published_at": {
- "type": "string"
- },
- "summary": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "title": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/fanduel.SportsbookPageResponse"
},
- "url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "foreignpolicy.HeadlinesResponse": {
+ "fanduel.sportsbookParlaysResponseDoc": {
"properties": {
- "items": {
- "items": {
- "$ref": "#/definitions/foreignpolicy.HeadlineItem"
- },
- "type": "array"
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/fanduel.SportsbookParlaysResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "foreignpolicy.LiveDetailResponse": {
+ "fanduel.sportsbookPlayByPlayResponseDoc": {
"properties": {
- "date": {
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "highlights": {
- "items": {
- "$ref": "#/definitions/foreignpolicy.LiveHighlight"
- },
- "type": "array"
- },
- "slug": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "title": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/fanduel.SportsbookPlayByPlayResponse"
},
- "url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "foreignpolicy.LiveHighlight": {
+ "fanduel.sportsbookPlayerNewsResponseDoc": {
"properties": {
- "title": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "video_url": {
+ "data": {
+ "$ref": "#/definitions/fanduel.SportsbookPlayerNewsResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "foreignpolicy.LiveItem": {
+ "fanduel.sportsbookPlayerPropsResponseDoc": {
"properties": {
- "date": {
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "image_url": {
- "type": "string"
- },
- "slug": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "title": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/fanduel.SportsbookPlayerPropsResponse"
},
- "url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "foreignpolicy.LiveResponse": {
+ "fanduel.sportsbookPlayerResponseDoc": {
"properties": {
- "items": {
- "items": {
- "$ref": "#/definitions/foreignpolicy.LiveItem"
- },
- "type": "array"
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/fanduel.SportsbookPlayerResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "foreignpolicy.ProjectItem": {
+ "fanduel.sportsbookPlayerStatsResponseDoc": {
"properties": {
- "authors": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "section": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/fanduel.SportsbookPlayerStatsResponse"
},
- "summary": {
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "fanduel.sportsbookPlayersResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "title": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/fanduel.SportsbookPlayersResponse"
},
- "url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "foreignpolicy.ProjectResponse": {
+ "fanduel.sportsbookPromotionsResponseDoc": {
"properties": {
- "items": {
- "items": {
- "$ref": "#/definitions/foreignpolicy.ProjectItem"
- },
- "type": "array"
- },
- "name": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "slug": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/fanduel.SportsbookPromotionsResponse"
},
- "url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "foreignpolicy.ProjectSummary": {
+ "fanduel.sportsbookRosterResponseDoc": {
"properties": {
- "name": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "slug": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/fanduel.SportsbookRosterResponse"
},
- "url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "foreignpolicy.ProjectsResponse": {
+ "fanduel.sportsbookScheduleResponseDoc": {
"properties": {
- "items": {
- "items": {
- "$ref": "#/definitions/foreignpolicy.ProjectSummary"
- },
- "type": "array"
- },
- "next_page": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "page": {
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/fanduel.SportsbookScheduleResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "foreignpolicy.TopicItem": {
+ "fanduel.sportsbookSearchResponseDoc": {
"properties": {
- "published_at": {
- "type": "string"
- },
- "summary": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "title": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/fanduel.SportsbookSearchResponse"
},
- "url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "foreignpolicy.TopicResponse": {
+ "fanduel.sportsbookSearchTabsResponseDoc": {
"properties": {
- "items": {
- "items": {
- "$ref": "#/definitions/foreignpolicy.TopicItem"
- },
- "type": "array"
- },
- "page": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "topic": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/fanduel.SportsbookSearchTabsResponse"
},
- "type": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "foreignpolicy.articleResponseDoc": {
+ "fanduel.sportsbookSportsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/foreignpolicy.ArticleResponse"
+ "$ref": "#/definitions/fanduel.SportsbookSportsResponse"
},
"msg": {
"example": "OK",
@@ -88482,14 +93295,14 @@
},
"type": "object"
},
- "foreignpolicy.authorResponseDoc": {
+ "fanduel.sportsbookStandingsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/foreignpolicy.AuthorResponse"
+ "$ref": "#/definitions/fanduel.SportsbookStandingsResponse"
},
"msg": {
"example": "OK",
@@ -88498,14 +93311,14 @@
},
"type": "object"
},
- "foreignpolicy.headlinesResponseDoc": {
+ "fanduel.sportsbookStatsListResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/foreignpolicy.HeadlinesResponse"
+ "$ref": "#/definitions/fanduel.SportsbookStatsListResponse"
},
"msg": {
"example": "OK",
@@ -88514,14 +93327,14 @@
},
"type": "object"
},
- "foreignpolicy.liveDetailResponseDoc": {
+ "fanduel.sportsbookTeamNewsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/foreignpolicy.LiveDetailResponse"
+ "$ref": "#/definitions/fanduel.SportsbookTeamNewsResponse"
},
"msg": {
"example": "OK",
@@ -88530,14 +93343,14 @@
},
"type": "object"
},
- "foreignpolicy.liveResponseDoc": {
+ "fanduel.sportsbookTeamOddsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/foreignpolicy.LiveResponse"
+ "$ref": "#/definitions/fanduel.SportsbookTeamOddsResponse"
},
"msg": {
"example": "OK",
@@ -88546,14 +93359,14 @@
},
"type": "object"
},
- "foreignpolicy.projectResponseDoc": {
+ "fanduel.sportsbookTeamStatsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/foreignpolicy.ProjectResponse"
+ "$ref": "#/definitions/fanduel.SportsbookTeamStatsResponse"
},
"msg": {
"example": "OK",
@@ -88562,14 +93375,14 @@
},
"type": "object"
},
- "foreignpolicy.projectsResponseDoc": {
+ "fanduel.sportsbookTeamsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/foreignpolicy.ProjectsResponse"
+ "$ref": "#/definitions/fanduel.SportsbookTeamsResponse"
},
"msg": {
"example": "OK",
@@ -88578,14 +93391,14 @@
},
"type": "object"
},
- "foreignpolicy.topicResponseDoc": {
+ "fanduel.sportsbookTrendingResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/foreignpolicy.TopicResponse"
+ "$ref": "#/definitions/fanduel.SportsbookTrendingResponse"
},
"msg": {
"example": "OK",
@@ -88594,24 +93407,23 @@
},
"type": "object"
},
- "fortune.AuthorArticle": {
+ "farfetch.CategoriesResponse": {
"properties": {
- "authors": {
+ "genders": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/farfetch.GenderCategories"
},
"type": "array"
- },
- "published_at": {
- "type": "string"
- },
- "section": {
- "type": "string"
- },
- "section_url": {
+ }
+ },
+ "type": "object"
+ },
+ "farfetch.Category": {
+ "properties": {
+ "name": {
"type": "string"
},
- "title": {
+ "slug": {
"type": "string"
},
"url": {
@@ -88620,244 +93432,287 @@
},
"type": "object"
},
- "fortune.AuthorResponse": {
+ "farfetch.Designer": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/fortune.AuthorArticle"
- },
- "type": "array"
- },
- "bio": {
+ "name": {
"type": "string"
},
- "email": {
+ "slug": {
"type": "string"
},
- "name": {
+ "url": {
"type": "string"
- },
- "page": {
+ }
+ },
+ "type": "object"
+ },
+ "farfetch.DesignersResponse": {
+ "properties": {
+ "count": {
"type": "integer"
},
- "slug": {
- "type": "string"
- },
- "social_accounts": {
+ "designers": {
"items": {
- "$ref": "#/definitions/fortune.AuthorSocialAccount"
+ "$ref": "#/definitions/farfetch.Designer"
},
"type": "array"
},
- "total_pages": {
- "type": "integer"
- },
- "url": {
+ "gender": {
"type": "string"
}
},
"type": "object"
},
- "fortune.AuthorSocialAccount": {
+ "farfetch.GenderCategories": {
"properties": {
- "platform": {
- "type": "string"
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/farfetch.Category"
+ },
+ "type": "array"
},
- "url": {
+ "gender": {
"type": "string"
}
},
"type": "object"
},
- "fortune.CompaniesResponse": {
+ "farfetch.ProductDetailResponse": {
"properties": {
- "country": {
+ "brand": {
"type": "string"
},
- "has_more": {
- "type": "boolean"
+ "category_path": {
+ "items": {
+ "$ref": "#/definitions/farfetch.Category"
+ },
+ "type": "array"
},
- "industry": {
+ "color": {
"type": "string"
},
- "items": {
+ "description": {
+ "type": "string"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "gender": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "images": {
"items": {
- "$ref": "#/definitions/fortune.CompanyListItem"
+ "type": "string"
},
"type": "array"
},
- "page": {
- "type": "integer"
+ "name": {
+ "type": "string"
},
- "per_page": {
- "type": "integer"
+ "source_url": {
+ "type": "string"
},
- "ranking": {
+ "variants": {
+ "items": {
+ "$ref": "#/definitions/farfetch.ProductVariant"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "farfetch.ProductSummary": {
+ "properties": {
+ "brand": {
"type": "string"
},
- "search": {
+ "currency": {
"type": "string"
},
- "total": {
- "type": "integer"
+ "id": {
+ "type": "string"
},
- "total_pages": {
- "type": "integer"
+ "image_url": {
+ "type": "string"
+ },
+ "in_stock": {
+ "type": "boolean"
+ },
+ "name": {
+ "type": "string"
+ },
+ "price": {
+ "type": "number"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "fortune.CompanyBreadcrumb": {
+ "farfetch.ProductVariant": {
"properties": {
- "label": {
+ "currency": {
"type": "string"
},
- "link": {
+ "in_stock": {
+ "type": "boolean"
+ },
+ "price": {
+ "type": "number"
+ },
+ "size": {
+ "type": "string"
+ },
+ "sku": {
"type": "string"
}
},
"type": "object"
},
- "fortune.CompanyDataTable": {
+ "farfetch.SearchResponse": {
"properties": {
- "change_header": {
+ "category": {
"type": "string"
},
- "footnote": {
+ "count": {
+ "type": "integer"
+ },
+ "designer": {
"type": "string"
},
- "title": {
+ "fetched_at": {
"type": "string"
},
- "value_header": {
+ "gender": {
"type": "string"
},
- "values": {
+ "page": {
+ "type": "integer"
+ },
+ "products": {
"items": {
- "$ref": "#/definitions/fortune.CompanyDataTableRow"
+ "$ref": "#/definitions/farfetch.ProductSummary"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "fortune.CompanyDataTableRow": {
- "properties": {
- "change": {
- "type": "string"
},
- "title": {
+ "source_url": {
"type": "string"
},
- "value": {
- "type": "string"
+ "total_pages": {
+ "type": "integer"
}
},
"type": "object"
},
- "fortune.CompanyEarningReport": {
+ "farfetch.categoriesResponseDoc": {
"properties": {
- "slug": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "title": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/farfetch.CategoriesResponse"
},
- "url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "fortune.CompanyFilterOption": {
+ "farfetch.designersResponseDoc": {
"properties": {
- "slug": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "title": {
+ "data": {
+ "$ref": "#/definitions/farfetch.DesignersResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "fortune.CompanyFilterRange": {
+ "farfetch.productResponseDoc": {
"properties": {
- "max": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "min": {
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/farfetch.ProductDetailResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "fortune.CompanyFilterRanking": {
+ "farfetch.searchResponseDoc": {
"properties": {
- "slug": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "title": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/farfetch.SearchResponse"
},
- "years": {
- "items": {
- "type": "integer"
- },
- "type": "array"
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "fortune.CompanyFiltersResponse": {
+ "fastcompany.AuthorResponse": {
"properties": {
- "countries": {
+ "articles": {
"items": {
- "$ref": "#/definitions/fortune.CompanyFilterOption"
+ "$ref": "#/definitions/fastcompany.HeadlineItem"
},
"type": "array"
},
- "employee_range": {
- "$ref": "#/definitions/fortune.CompanyFilterRange"
- },
- "industries": {
+ "biography": {
"items": {
- "$ref": "#/definitions/fortune.CompanyFilterOption"
+ "type": "string"
},
"type": "array"
},
- "rankings": {
- "items": {
- "$ref": "#/definitions/fortune.CompanyFilterRanking"
- },
- "type": "array"
+ "name": {
+ "type": "string"
},
- "revenue_range": {
- "$ref": "#/definitions/fortune.CompanyFilterRange"
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "fortune.CompanyInfo": {
- "additionalProperties": {
- "type": "string"
- },
- "type": "object"
- },
- "fortune.CompanyListItem": {
+ "fastcompany.HeadlineItem": {
"properties": {
- "country": {
+ "author": {
"type": "string"
},
- "description": {
+ "image_url": {
"type": "string"
},
- "name": {
+ "published_at": {
"type": "string"
},
- "revenues": {
+ "summary": {
"type": "string"
},
- "slug": {
+ "title": {
+ "type": "string"
+ },
+ "type": {
"type": "string"
},
"url": {
@@ -88866,315 +93721,581 @@
},
"type": "object"
},
- "fortune.CompanyRankingEntry": {
+ "fever.CitiesResponse": {
"properties": {
- "description": {
- "type": "string"
- },
- "rank": {
- "type": "integer"
+ "groups": {
+ "items": {
+ "$ref": "#/definitions/fever.CityGroup"
+ },
+ "type": "array"
},
- "slug": {
- "type": "string"
+ "has_results": {
+ "description": "The upstream's own \"did anything match\" flag.",
+ "example": true,
+ "type": "boolean"
},
- "title": {
+ "locale": {
+ "example": "en-US",
"type": "string"
},
- "url": {
+ "query": {
+ "example": "new york",
"type": "string"
- },
- "year": {
- "type": "integer"
}
},
"type": "object"
},
- "fortune.CompanyResponse": {
+ "fever.City": {
"properties": {
- "accolades": {},
- "breadcrumbs": {
- "items": {
- "$ref": "#/definitions/fortune.CompanyBreadcrumb"
- },
- "type": "array"
+ "city_code": {
+ "example": "NYC",
+ "type": "string"
},
- "data_tables": {
- "items": {
- "$ref": "#/definitions/fortune.CompanyDataTable"
- },
- "type": "array"
+ "city_id": {
+ "example": 6,
+ "type": "integer"
},
- "description": {
+ "city_name": {
+ "example": "New York",
"type": "string"
},
- "earning_reports": {
- "items": {
- "$ref": "#/definitions/fortune.CompanyEarningReport"
- },
- "type": "array"
+ "country_code": {
+ "description": "ISO country code.",
+ "example": "US",
+ "type": "string"
},
- "executive_profiles": {},
- "info": {
- "$ref": "#/definitions/fortune.CompanyInfo"
+ "country_name": {
+ "description": "Country name as the record prints it.",
+ "example": "United States",
+ "type": "string"
},
- "rankings": {
- "items": {
- "$ref": "#/definitions/fortune.CompanyRankingEntry"
- },
- "type": "array"
+ "hidden": {
+ "description": "Fever's own hidden flag. Hidden cities are returned; they are still real\ncity codes.",
+ "type": "boolean"
},
- "slug": {
+ "is_top_city": {
+ "description": "True when the city is one of the fixed top-city rows.",
+ "example": true,
+ "type": "boolean"
+ },
+ "language": {
+ "description": "Content language for the city.",
+ "example": "en",
"type": "string"
},
- "social_accounts": {
- "items": {
- "$ref": "#/definitions/fortune.CompanySocialAccount"
- },
- "type": "array"
+ "latitude": {
+ "description": "City centre. This is the coordinate fever-plans defaults to.",
+ "example": 40.736009,
+ "type": "number"
},
- "title": {
+ "longitude": {
+ "example": -73.984188,
+ "type": "number"
+ },
+ "region_abbreviation": {
+ "description": "Region or state abbreviation when the record carries one.",
+ "example": "NY",
"type": "string"
},
- "url": {
+ "slug": {
+ "description": "URL slug used on feverup.com, e.g. new-york.",
+ "example": "new-york",
"type": "string"
- }
- },
- "type": "object"
- },
- "fortune.CompanySocialAccount": {
- "properties": {
- "account": {
+ },
+ "slug_language": {
+ "description": "Language part of the slug, e.g. en.",
+ "example": "en",
"type": "string"
},
- "platform": {
+ "thumbnail_url": {
+ "description": "City thumbnail image URL.",
"type": "string"
}
},
"type": "object"
},
- "fortune.RankingFiltersResponse": {
+ "fever.CityGroup": {
"properties": {
- "list": {
- "type": "string"
- },
- "search_fields": {
+ "cities": {
"items": {
- "$ref": "#/definitions/fortune.RankingSearchField"
+ "$ref": "#/definitions/fever.City"
},
"type": "array"
},
- "sortable_fields": {
- "items": {
- "$ref": "#/definitions/fortune.RankingSortableField"
+ "count": {
+ "description": "The group's own match count.",
+ "example": 4,
+ "type": "integer"
+ },
+ "name": {
+ "example": "Suggested cities",
+ "type": "string"
+ },
+ "type": {
+ "description": "The upstream's own group type, e.g. \"suggested_cities\".",
+ "example": "suggested_cities",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "fever.FeedPill": {
+ "properties": {
+ "id": {
+ "description": "Pill id to pass as pill_id.",
+ "example": "foodie",
+ "type": "string"
+ },
+ "label": {
+ "description": "Display label as the feed prints it.",
+ "example": "Foodie",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "fever.FeedResponse": {
+ "properties": {
+ "city_code": {
+ "description": "The city code the request asked for.",
+ "example": "NYC",
+ "type": "string"
+ },
+ "pill_id": {
+ "description": "The pill filter that was applied, empty when none was requested.",
+ "example": "foodie",
+ "type": "string"
+ },
+ "pills": {
+ "description": "The feed's complete pill enum. Always the unfiltered set: the upstream\nreturns all pills even when pill_id filters the rows.",
+ "items": {
+ "$ref": "#/definitions/fever.FeedPill"
},
"type": "array"
},
- "year": {
- "type": "string"
+ "row_count": {
+ "description": "Number of rows returned.",
+ "example": 22,
+ "type": "integer"
},
- "years": {
+ "rows": {
+ "description": "The curated rows, in the feed's own order. Each row is a carousel of plans,\nnot a plan list: the rows' items are reached through fever-plans with the\nrow's whatplanfilter_id.",
"items": {
- "type": "string"
+ "$ref": "#/definitions/fever.FeedRow"
},
"type": "array"
}
},
"type": "object"
},
- "fortune.RankingItem": {
+ "fever.FeedRow": {
"properties": {
- "data": {
- "additionalProperties": {
- "type": "string"
- },
- "type": "object"
- },
- "name": {
+ "carousel_type": {
+ "description": "The row's display layout, e.g. cards, top_x, multi_column_plans or\nupcoming_events.",
+ "example": "top_x",
"type": "string"
},
- "order": {
+ "index": {
+ "description": "The row's position in the feed's own order.",
+ "example": 0,
"type": "integer"
},
- "rank": {
- "type": "integer"
+ "is_multicity": {
+ "description": "True when the row covers several cities rather than just the requested\none. A display hint, not a coverage claim.",
+ "example": false,
+ "type": "boolean"
},
- "slug": {
+ "subtype": {
+ "description": "Row subtype, e.g. whatplanfilter, happening_soon or upcoming_events.",
+ "example": "whatplanfilter",
"type": "string"
},
- "url": {
+ "title": {
+ "description": "Row title as the feed prints it, e.g. \"Top 10 in New York\".",
+ "example": "Top 10 in New York",
+ "type": "string"
+ },
+ "whatplanfilter_id": {
+ "description": "The row's Fever category id, when it has one. Pass it to fever-plans as\nwhatplanfilter_id. These are the values fever-filters does not list: Fever\nruns two category id spaces.",
+ "example": "851",
"type": "string"
}
},
"type": "object"
},
- "fortune.RankingList": {
+ "fever.FilterValue": {
"properties": {
- "region": {
+ "category_url": {
+ "description": "Canonical city+category page, present on the what group only.",
"type": "string"
},
- "slug": {
+ "disallow_indexing": {
+ "description": "Fever's own signal that the category should not be indexed. Informational.",
+ "type": "boolean"
+ },
+ "id": {
+ "description": "The id to pass upstream. For the what group this is the value\nplans.whatplanfilter_id accepts.",
+ "example": "1040",
"type": "string"
},
- "title": {
+ "slug": {
+ "description": "URL slug, present on the what group only.",
+ "example": "music-events",
"type": "string"
},
- "url": {
+ "title": {
+ "description": "Display label as the site prints it.",
+ "example": "Music Events",
"type": "string"
}
},
"type": "object"
},
- "fortune.RankingListsResponse": {
+ "fever.FiltersResponse": {
"properties": {
- "lists": {
+ "city_code": {
+ "example": "NYC",
+ "type": "string"
+ },
+ "what": {
+ "description": "Categories. Pass a value's id to fever-plans as whatplanfilter_id.",
"items": {
- "$ref": "#/definitions/fortune.RankingList"
+ "$ref": "#/definitions/fever.FilterValue"
+ },
+ "type": "array"
+ },
+ "when": {
+ "description": "Date windows. The ids match the site's own date shortcuts; the search\nendpoint takes epoch-second bounds derived from them, not these ids.",
+ "items": {
+ "$ref": "#/definitions/fever.FilterValue"
+ },
+ "type": "array"
+ },
+ "where": {
+ "description": "Place filters. Measured empty for NYC; kept separate so a city that\npublishes them is passed through unchanged.",
+ "items": {
+ "$ref": "#/definitions/fever.FilterValue"
},
"type": "array"
}
},
"type": "object"
},
- "fortune.RankingResponse": {
+ "fever.Plan": {
"properties": {
- "filters": {
- "additionalProperties": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "type": "object"
+ "city_code": {
+ "description": "The plan's own city code. Compare it with requested_city_code: the search\nindex widens beyond the requested city on larger pages.",
+ "example": "NYC",
+ "type": "string"
},
- "items": {
- "items": {
- "$ref": "#/definitions/fortune.RankingItem"
- },
- "type": "array"
+ "city_name": {
+ "example": "New York",
+ "type": "string"
},
- "limit": {
+ "cover_image_url": {
+ "description": "Cover image URL.",
+ "type": "string"
+ },
+ "id": {
+ "example": 178922,
"type": "integer"
},
- "list": {
+ "location_name": {
+ "description": "Venue name as printed.",
+ "example": "Sony Hall",
"type": "string"
},
- "offset": {
- "type": "integer"
+ "location_type": {
+ "description": "What kind of place the plan happens at, e.g. \"venue\".",
+ "example": "venue",
+ "type": "string"
},
- "search": {
+ "name": {
+ "description": "Plan name as the site prints it.",
+ "example": "Candlelight Jazz: Tribute to Frank Sinatra",
"type": "string"
},
- "search_fields": {
+ "next_available_session_times": {
+ "description": "The next session start times the index advertises, ISO-8601 with offset.\nDates only: this is not an availability or inventory claim.",
"items": {
- "$ref": "#/definitions/fortune.RankingSearchField"
+ "type": "string"
},
"type": "array"
},
- "sort_by": {
- "type": "string"
+ "price": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/fever.PriceInfo"
+ }
+ ],
+ "description": "Advertised price quote. Volatile display information, never a final price."
},
- "sort_order": {
+ "rating": {
+ "description": "Average rating as the index reports it.",
+ "example": 4.57,
+ "type": "number"
+ },
+ "rating_count": {
+ "description": "Number of ratings behind Rating.",
+ "example": 208,
+ "type": "integer"
+ },
+ "timezone": {
+ "description": "IANA timezone of the plan's city.",
+ "example": "America/New_York",
"type": "string"
},
- "sortable_fields": {
+ "translation_languages": {
+ "description": "Languages the plan is translated into.",
"items": {
- "$ref": "#/definitions/fortune.RankingSortableField"
+ "type": "string"
},
"type": "array"
},
- "total": {
- "type": "integer"
- },
- "year": {
+ "url": {
+ "description": "Canonical public page on feverup.com.",
"type": "string"
+ },
+ "venue_ids": {
+ "description": "Fever venue ids, for callers that key their own store by venue.",
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "fortune.RankingSearchField": {
+ "fever.PlanResponse": {
"properties": {
- "field_name": {
+ "categories": {
+ "description": "Category labels, not ids. The ids are whatplanfilter_id values, which the\ndetail record does not carry.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "city_code": {
+ "example": "NYC",
"type": "string"
},
- "options": {
+ "city_slug": {
+ "example": "new-york",
+ "type": "string"
+ },
+ "description": {
+ "description": "Full plan description. May be empty for a plan that keeps its copy in the\npage's own modules instead.",
+ "type": "string"
+ },
+ "first_active_session_date": {
+ "description": "The active window, which can differ from the session window above.",
+ "type": "string"
+ },
+ "first_session_date": {
+ "description": "First and last session dates as the record reports them, ISO-8601 with\noffset. Dates only: never an availability claim.",
+ "type": "string"
+ },
+ "gallery": {
+ "description": "Gallery image URLs.",
"items": {
"type": "string"
},
"type": "array"
},
- "title": {
+ "has_multiple_sessions": {
+ "description": "True when the plan runs several sessions rather than one fixed slot.",
+ "type": "boolean"
+ },
+ "id": {
+ "example": 431445,
+ "type": "integer"
+ },
+ "is_timeless": {
+ "description": "True when the plan has no fixed session dates.",
+ "type": "boolean"
+ },
+ "last_active_session_date": {
"type": "string"
},
+ "last_session_date": {
+ "type": "string"
+ },
+ "name": {
+ "description": "Plan name as the site prints it.",
+ "example": "Ballet of Lights: Cinderella in a Sparkling Show",
+ "type": "string"
+ },
+ "places": {
+ "description": "Every place the plan happens at, in the record's own order.",
+ "items": {
+ "$ref": "#/definitions/fever.Venue"
+ },
+ "type": "array"
+ },
+ "price": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/fever.PriceInfo"
+ }
+ ],
+ "description": "Advertised price quote. Volatile display information, never a final price."
+ },
+ "rating": {
+ "description": "Average rating as the record reports it.",
+ "example": 3.87,
+ "type": "number"
+ },
+ "rating_count": {
+ "description": "Number of ratings behind Rating.",
+ "example": 165,
+ "type": "integer"
+ },
+ "translation_languages": {
+ "description": "Languages the plan is translated into (language part, e.g. \"de\").",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
"type": {
+ "description": "The record's own plan type, e.g. \"standard\".",
+ "example": "standard",
+ "type": "string"
+ },
+ "url": {
+ "description": "Canonical public page on feverup.com.",
"type": "string"
}
},
"type": "object"
},
- "fortune.RankingSortableField": {
+ "fever.PlansResponse": {
"properties": {
- "title": {
+ "count": {
+ "description": "The search index's own match count for the city. It is NOT the web page's\ntotal_plans and the two differ materially; see the endpoint documentation.",
+ "example": 2382,
+ "type": "integer"
+ },
+ "date_end": {
+ "type": "integer"
+ },
+ "date_start": {
+ "description": "The epoch-seconds window actually sent, when one was sent.",
+ "example": 1794096000,
+ "type": "integer"
+ },
+ "has_next_page": {
+ "description": "True when the upstream reported a further page.",
+ "example": true,
+ "type": "boolean"
+ },
+ "has_previous_page": {
+ "description": "True when a previous page exists.",
+ "type": "boolean"
+ },
+ "locale": {
+ "example": "en",
"type": "string"
},
- "type": {
+ "page": {
+ "example": 1,
+ "type": "integer"
+ },
+ "page_size": {
+ "example": 20,
+ "type": "integer"
+ },
+ "plans": {
+ "items": {
+ "$ref": "#/definitions/fever.Plan"
+ },
+ "type": "array"
+ },
+ "query": {
+ "type": "string"
+ },
+ "requested_city_code": {
+ "description": "The city code the request asked for.",
+ "example": "NYC",
+ "type": "string"
+ },
+ "sort_type": {
+ "example": "popularity",
+ "type": "string"
+ },
+ "whatplanfilter_id": {
+ "example": "1040",
"type": "string"
}
},
"type": "object"
},
- "fortune.RankingYearsResponse": {
+ "fever.PriceInfo": {
"properties": {
- "current_year": {
- "type": "string"
+ "amount": {
+ "description": "Advertised price. Volatile; never a final price.",
+ "example": 34.56,
+ "type": "number"
},
- "list": {
+ "currency": {
+ "description": "ISO currency code.",
+ "example": "USD",
"type": "string"
},
- "years": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "max_amount": {
+ "description": "Highest advertised price when the plan quotes a range.",
+ "example": 76,
+ "type": "number"
+ },
+ "type": {
+ "description": "Quote kind. \"from\" is an advertised starting price; \"single\" is a\nsingle-price item such as a gift card.",
+ "example": "from",
+ "type": "string"
}
},
"type": "object"
},
- "fotmob.fifaRankingPeriodData": {
+ "fever.TopCitiesResponse": {
"properties": {
- "data": {
+ "cities": {
+ "description": "The fixed 25-city list, in the upstream's own order.",
"items": {
- "$ref": "#/definitions/fotmob.fifaRankingPeriodItemDoc"
+ "$ref": "#/definitions/fever.City"
},
"type": "array"
- },
- "source_url": {
- "example": "https://www.fotmob.com/api/data/fifarankings/period?gender=men",
- "type": "string"
}
},
"type": "object"
},
- "fotmob.fifaRankingPeriodItemDoc": {
+ "fever.Venue": {
"properties": {
- "periodId": {
- "example": "20260720",
+ "address": {
"type": "string"
},
- "periodName": {
- "example": "20.07.2026",
+ "latitude": {
+ "type": "number"
+ },
+ "longitude": {
+ "type": "number"
+ },
+ "name": {
+ "example": "Kaye Playhouse",
+ "type": "string"
+ },
+ "slug": {
"type": "string"
}
},
"type": "object"
},
- "fotmob.fifaRankingPeriodsResponseDoc": {
+ "fever.citiesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/fotmob.fifaRankingPeriodData"
+ "$ref": "#/definitions/fever.CitiesResponse"
},
"msg": {
"example": "OK",
@@ -89183,66 +94304,62 @@
},
"type": "object"
},
- "fotmob.fifaRankingRowDoc": {
+ "fever.feedResponseDoc": {
"properties": {
- "gainedRank": {
- "example": true,
- "type": "boolean"
- },
- "id": {
- "example": 6720,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "lostRank": {
- "example": false,
- "type": "boolean"
+ "data": {
+ "$ref": "#/definitions/fever.FeedResponse"
},
- "name": {
- "example": "Spain",
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "pointsDiff": {
- "example": 121,
- "type": "integer"
- },
- "previousPoints": {
- "example": 1875,
+ }
+ },
+ "type": "object"
+ },
+ "fever.filtersResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "rank": {
- "example": 1,
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/fever.FiltersResponse"
},
- "totalPoints": {
- "example": 1996,
- "type": "integer"
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "fotmob.fifaRankingRowsDataDoc": {
+ "fever.planResponseDoc": {
"properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
"data": {
- "items": {
- "$ref": "#/definitions/fotmob.fifaRankingRowDoc"
- },
- "type": "array"
+ "$ref": "#/definitions/fever.PlanResponse"
},
- "source_url": {
- "example": "https://www.fotmob.com/api/data/fifarankings/ranking?gender=men&periodId=20260720",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "fotmob.fifaRankingsResponseDoc": {
+ "fever.plansResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/fotmob.fifaRankingRowsDataDoc"
+ "$ref": "#/definitions/fever.PlansResponse"
},
"msg": {
"example": "OK",
@@ -89251,300 +94368,1095 @@
},
"type": "object"
},
- "fotmob.newsItemDoc": {
+ "fever.topCitiesResponseDoc": {
"properties": {
- "gmtTime": {
- "example": "2026-09-26T15:24:07.000Z",
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "id": {
- "example": "evfncmhqwgeg1xgdmv21cayfj",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/fever.TopCitiesResponse"
},
- "imageUrl": {
- "example": "https://images.example/story.jpg",
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "language": {
- "example": "en",
+ }
+ },
+ "type": "object"
+ },
+ "finance.About": {
+ "properties": {
+ "about": {
+ "description": "Information about the company.",
+ "example": "SAP SE is a European multinational software company based in Walldorf, Baden-Württemberg, Germany...",
"type": "string"
},
- "lead": {
- "example": "Article preview text.",
+ "ceo": {
+ "description": "The CEO of the company.",
+ "example": "Christian Klein",
"type": "string"
},
- "page": {
- "$ref": "#/definitions/fotmob.newsItemPageDoc"
+ "employees": {
+ "description": "The number of employees.",
+ "example": 107583,
+ "type": "integer"
},
- "sourceIconUrl": {
- "example": "https://images.fotmob.com/image_resources/news/fotmob.png",
+ "founded": {
+ "description": "The founding date of the company.",
+ "example": "1972-04-01T00:00:00Z",
"type": "string"
},
- "sourceStr": {
- "example": "FotMob",
+ "headquarters": {
+ "description": "The headquarters of the company.",
+ "example": "Walldorf, Baden-Württemberg, Germany",
"type": "string"
},
- "title": {
- "example": "Latest football headline",
+ "website": {
+ "description": "The company's website.",
+ "example": "https://www.sap.com/",
"type": "string"
}
},
"type": "object"
},
- "fotmob.newsItemPageDoc": {
+ "finance.BalanceSheet": {
"properties": {
- "url": {
- "example": "/news/evfncmhqwgeg1xgdmv21cayfj-latest-football-headline",
- "type": "string"
+ "cash_and_short_term_change_yy": {
+ "description": "Year-over-year change in cash and short-term investments (%)",
+ "example": 5.87,
+ "type": "number"
+ },
+ "cash_and_short_term_investments": {
+ "description": "Cash and short-term investments in USD",
+ "example": 65170000000,
+ "type": "number"
+ },
+ "price_to_book": {
+ "description": "Price to book ratio",
+ "example": 67.71,
+ "type": "number"
+ },
+ "quarter": {
+ "description": "The fiscal quarter",
+ "example": 4,
+ "type": "integer"
+ },
+ "return_on_assets": {
+ "description": "Return on assets (%)",
+ "example": 21.24,
+ "type": "number"
+ },
+ "return_on_capital": {
+ "description": "Return on capital (%)",
+ "example": 43.01,
+ "type": "number"
+ },
+ "shares_outstanding": {
+ "description": "Shares outstanding",
+ "example": 15120000000,
+ "type": "number"
+ },
+ "total_assets": {
+ "description": "Total assets in USD",
+ "example": 364980000000,
+ "type": "number"
+ },
+ "total_assets_change_yy": {
+ "description": "Year-over-year change in total assets (%)",
+ "example": 3.52,
+ "type": "number"
+ },
+ "total_equity": {
+ "description": "Total equity in USD",
+ "example": 56950000000,
+ "type": "number"
+ },
+ "total_liabilities": {
+ "description": "Total liabilities in USD",
+ "example": 308030000000,
+ "type": "number"
+ },
+ "total_liabilities_change_yy": {
+ "description": "Year-over-year change in total liabilities (%)",
+ "example": 6.06,
+ "type": "number"
+ },
+ "year": {
+ "description": "The fiscal year",
+ "example": 2024,
+ "type": "integer"
}
},
"type": "object"
},
- "fotmob.newsListResponseDoc": {
+ "finance.CashFlow": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "cash_from_financing": {
+ "description": "Cash from financing in USD",
+ "example": -24950000000,
+ "type": "number"
},
- "data": {
- "$ref": "#/definitions/fotmob.sourceNewsListDoc"
+ "cash_from_financing_change_yy": {
+ "description": "Year-over-year change in cash from financing (%)",
+ "example": -7.75,
+ "type": "number"
},
- "msg": {
- "example": "OK",
- "type": "string"
+ "cash_from_investing": {
+ "description": "Cash from investing in USD",
+ "example": 1450000000,
+ "type": "number"
+ },
+ "cash_from_investing_change_yy": {
+ "description": "Year-over-year change in cash from investing (%)",
+ "example": -39.64,
+ "type": "number"
+ },
+ "cash_from_operations": {
+ "description": "Cash from operations in USD",
+ "example": 26810000000,
+ "type": "number"
+ },
+ "cash_from_operations_change_yy": {
+ "description": "Year-over-year change in cash from operations (%)",
+ "example": 24.14,
+ "type": "number"
+ },
+ "free_cash_flow": {
+ "description": "Free cash flow in USD",
+ "example": 34540000000,
+ "type": "number"
+ },
+ "free_cash_flow_change_yy": {
+ "description": "Year-over-year change in free cash flow (%)",
+ "example": 180.6,
+ "type": "number"
+ },
+ "net_change_in_cash": {
+ "description": "Net change in cash in USD",
+ "example": 3310000000,
+ "type": "number"
+ },
+ "net_change_in_cash_change_yy": {
+ "description": "Year-over-year change in net change in cash (%)",
+ "example": 294.28,
+ "type": "number"
+ },
+ "net_income": {
+ "description": "Net income in USD",
+ "example": 14740000000,
+ "type": "number"
+ },
+ "net_income_change_yy": {
+ "description": "Year-over-year change in net income (%)",
+ "example": -35.81,
+ "type": "number"
+ },
+ "quarter": {
+ "description": "The fiscal quarter",
+ "example": 4,
+ "type": "integer"
+ },
+ "year": {
+ "description": "The fiscal year",
+ "example": 2024,
+ "type": "integer"
}
},
"type": "object"
},
- "fotmob.responseDoc": {
+ "finance.CategoryNewsResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "category": {
+ "description": "Google Finance category id that was requested.",
+ "example": "18",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/fotmob.sourceDataDoc"
+ "items": {
+ "description": "News articles listed for the category.",
+ "items": {
+ "$ref": "#/definitions/finance.FinanceArticle"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
- "type": "string"
+ "offset": {
+ "description": "Number of articles skipped before this page.",
+ "example": 0,
+ "type": "integer"
}
},
"type": "object"
},
- "fotmob.sourceDataDoc": {
+ "finance.CategoryStocksResponse": {
"properties": {
- "data": {
- "additionalProperties": true,
- "type": "object"
- },
- "source_url": {
- "example": "https://www.fotmob.com/api/data/matches?date=20260925&timezone=UTC",
+ "category": {
+ "description": "Google Finance category id that was requested.",
+ "example": "18",
"type": "string"
+ },
+ "items": {
+ "description": "Instruments listed for the category.",
+ "items": {
+ "$ref": "#/definitions/finance.Instrument"
+ },
+ "type": "array"
+ },
+ "offset": {
+ "description": "Number of instruments skipped before this page.",
+ "example": 0,
+ "type": "integer"
}
},
"type": "object"
},
- "fotmob.sourceNewsListDoc": {
+ "finance.ChartResponse": {
"properties": {
- "data": {
+ "instrument": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/finance.Instrument"
+ }
+ ],
+ "description": "Instrument the chart is for."
+ },
+ "points": {
+ "description": "Chart data points in time order, each with a time, a price and a volume.",
"items": {
- "$ref": "#/definitions/fotmob.newsItemDoc"
+ "$ref": "#/definitions/finance.Ticker"
},
"type": "array"
},
- "source_url": {
- "example": "https://www.fotmob.com/api/news/latestNews?lang=en&page=1&startIndex=0",
+ "previous_close": {
+ "description": "Closing price of the previous trading day.",
+ "example": 236.35,
+ "type": "number"
+ },
+ "window": {
+ "description": "Chart window that was returned: `1d`, `5d`, `1m`, `6m`, `ytd`, `1y`, `5y` or `max`.",
+ "example": "1m",
"type": "string"
}
},
"type": "object"
},
- "foxnews.ArticleResponse": {
+ "finance.ClassificationResponse": {
"properties": {
- "authors": {
+ "categories": {
+ "description": "Sector or category labels Google Finance assigns to the instrument, for example `Technology`.",
"items": {
"type": "string"
},
"type": "array"
},
+ "instrument": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/finance.Instrument"
+ }
+ ],
+ "description": "Instrument the labels belong to."
+ }
+ },
+ "type": "object"
+ },
+ "finance.CompanyInfo": {
+ "properties": {
+ "ceo": {
+ "description": "Name of the company's chief executive.",
+ "example": "Tim Cook",
+ "type": "string"
+ },
"description": {
+ "description": "Company description shown on Google Finance.",
"type": "string"
},
- "image_url": {
+ "employees": {
+ "description": "Number of employees.",
+ "example": 166000,
+ "type": "integer"
+ },
+ "fifty_two_week_high": {
+ "description": "Highest price over the last 52 weeks.",
+ "example": 288.61,
+ "type": "number"
+ },
+ "fifty_two_week_low": {
+ "description": "Lowest price over the last 52 weeks.",
+ "example": 169.21,
+ "type": "number"
+ },
+ "headquarters": {
+ "description": "Location of the company's headquarters, for example `Cupertino, CA, US`.",
+ "example": "Cupertino, CA, US",
"type": "string"
},
- "paragraphs": {
+ "high": {
+ "description": "Highest price of the trading day.",
+ "example": 272.4,
+ "type": "number"
+ },
+ "low": {
+ "description": "Lowest price of the trading day.",
+ "example": 269.1,
+ "type": "number"
+ },
+ "market_cap": {
+ "description": "Market capitalisation of the company, as a plain number.",
+ "example": 4010000000000,
+ "type": "number"
+ },
+ "open": {
+ "description": "Opening price of the trading day.",
+ "example": 270.9,
+ "type": "number"
+ },
+ "pe_ratio": {
+ "description": "Price-to-earnings ratio of the stock.",
+ "example": 34.56,
+ "type": "number"
+ },
+ "sector": {
+ "description": "Sector the company belongs to, for example `Technology`.",
+ "example": "Technology",
+ "type": "string"
+ },
+ "volume": {
+ "description": "Number of shares traded, as Google Finance shows it.",
+ "example": 41339643,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "finance.ContextResponse": {
+ "properties": {
+ "items": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/finance.Instrument"
},
"type": "array"
},
- "published_at": {
+ "query": {
+ "example": "apple",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "finance.EarningsCalendarResponse": {
+ "properties": {
+ "items": {
+ "description": "Upcoming earnings events from the Google Finance earnings calendar.",
+ "items": {
+ "$ref": "#/definitions/finance.EarningsEvent"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "finance.EarningsEvent": {
+ "properties": {
+ "company_name": {
+ "description": "Name of the company reporting earnings.",
"type": "string"
},
- "section": {
+ "conference_phone": {
+ "description": "Phone number for the earnings call.",
"type": "string"
},
- "title": {
+ "conference_url": {
+ "description": "URL of the earnings call.",
"type": "string"
},
- "updated_at": {
+ "event_time": {
+ "description": "Time of the earnings event, in UTC (RFC 3339).",
"type": "string"
},
- "url": {
+ "event_unix": {
+ "description": "Time of the earnings event, in Unix seconds.",
+ "type": "integer"
+ },
+ "fiscal_period": {
+ "description": "Fiscal period the earnings report covers.",
"type": "string"
+ },
+ "instrument": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/finance.Instrument"
+ }
+ ],
+ "description": "Instrument of the company reporting earnings."
}
},
"type": "object"
},
- "foxnews.AuthorArticle": {
+ "finance.FinanceArticle": {
"properties": {
"published_at": {
+ "description": "Time the article was published, in UTC (RFC 3339).",
"type": "string"
},
- "summary": {
+ "published_unix": {
+ "description": "Time the article was published, in Unix seconds.",
+ "example": 1777077000,
+ "type": "integer"
+ },
+ "related": {
+ "description": "Instruments mentioned in the article.",
+ "items": {
+ "$ref": "#/definitions/finance.Instrument"
+ },
+ "type": "array"
+ },
+ "source": {
+ "description": "Name of the publisher of the article.",
+ "example": "Reuters",
+ "type": "string"
+ },
+ "thumbnail_url": {
+ "description": "URL of the article thumbnail image.",
"type": "string"
},
"title": {
+ "description": "Headline of the article.",
+ "example": "Apple announces an update",
"type": "string"
},
"url": {
+ "description": "URL of the article on the publisher's site.",
+ "example": "https://example.com/news",
"type": "string"
}
},
"type": "object"
},
- "foxnews.AuthorResponse": {
+ "finance.FinancialPeriod": {
"properties": {
- "articles": {
+ "capital_expenditure": {
+ "description": "Capital expenditure for the period.",
+ "type": "number"
+ },
+ "ebitda": {
+ "description": "Earnings before interest, taxes, depreciation and amortisation for the period.",
+ "type": "number"
+ },
+ "eps": {
+ "description": "Earnings per share for the period.",
+ "type": "number"
+ },
+ "eps_diluted": {
+ "description": "Diluted earnings per share for the period.",
+ "type": "number"
+ },
+ "free_cash_flow": {
+ "description": "Free cash flow for the period.",
+ "type": "number"
+ },
+ "net_income": {
+ "description": "Net income for the period, in the response currency.",
+ "type": "number"
+ },
+ "operating_cash_flow": {
+ "description": "Cash flow from operations for the period.",
+ "type": "number"
+ },
+ "operating_income": {
+ "description": "Operating income for the period.",
+ "type": "number"
+ },
+ "operating_margin": {
+ "description": "Operating margin for the period.",
+ "type": "number"
+ },
+ "pe_ratio": {
+ "description": "Price-to-earnings ratio for the period.",
+ "type": "number"
+ },
+ "period": {
+ "description": "Period label: `annual` when the period ends in December, otherwise `quarterly`.",
+ "example": "annual",
+ "type": "string"
+ },
+ "period_end": {
+ "description": "End date of the reporting period, in UTC (RFC 3339).",
+ "type": "string"
+ },
+ "profit_margin": {
+ "description": "Profit margin for the period.",
+ "type": "number"
+ },
+ "revenue": {
+ "description": "Total revenue for the period, in the response currency.",
+ "type": "number"
+ },
+ "revenue_growth_yoy": {
+ "description": "Revenue growth compared with the same period a year earlier.",
+ "type": "number"
+ },
+ "shares_outstanding": {
+ "description": "Number of shares outstanding for the period.",
+ "type": "number"
+ },
+ "total_assets": {
+ "description": "Total assets at the end of the period.",
+ "type": "number"
+ },
+ "total_equity": {
+ "description": "Total shareholder equity at the end of the period.",
+ "type": "number"
+ },
+ "total_liabilities": {
+ "description": "Total liabilities at the end of the period.",
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "finance.FinancialsResponse": {
+ "properties": {
+ "annual": {
+ "description": "Annual financial statement rows.",
"items": {
- "$ref": "#/definitions/foxnews.AuthorArticle"
+ "$ref": "#/definitions/finance.FinancialPeriod"
},
"type": "array"
},
- "bio": {
+ "currency": {
+ "description": "Currency code the amounts are reported in, for example `USD`.",
+ "example": "USD",
"type": "string"
},
- "name": {
- "type": "string"
+ "quarterly": {
+ "description": "Quarterly financial statement rows.",
+ "items": {
+ "$ref": "#/definitions/finance.FinancialPeriod"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "finance.HeadlineResponse": {
+ "properties": {
+ "article": {
+ "$ref": "#/definitions/finance.FinanceArticle"
+ }
+ },
+ "type": "object"
+ },
+ "finance.IncomeStatement": {
+ "properties": {
+ "earnings_per_share": {
+ "description": "Earnings per share in USD",
+ "example": 1.64,
+ "type": "number"
},
- "slug": {
- "type": "string"
+ "earnings_per_share_change_yy": {
+ "description": "Year-over-year change in earnings per share (%)",
+ "example": 12.33,
+ "type": "number"
},
- "url": {
- "type": "string"
+ "ebitda": {
+ "description": "EBITDA (Earnings Before Interest, Taxes, Depreciation, and Amortization) in USD",
+ "example": 32502000000,
+ "type": "number"
+ },
+ "ebitda_change_yy": {
+ "description": "Year-over-year change in EBITDA (%)",
+ "example": 9.72,
+ "type": "number"
+ },
+ "effective_tax_rate": {
+ "description": "Effective tax rate (%)",
+ "example": 50.23,
+ "type": "number"
+ },
+ "net_income": {
+ "description": "Net income in USD",
+ "example": 14740000000,
+ "type": "number"
+ },
+ "net_income_change_yy": {
+ "description": "Year-over-year change in net income (%)",
+ "example": -35.81,
+ "type": "number"
+ },
+ "net_profit_margin": {
+ "description": "Net profit margin (%)",
+ "example": 15.52,
+ "type": "number"
+ },
+ "net_profit_margin_change_yy": {
+ "description": "Year-over-year change in net profit margin (%)",
+ "example": -39.49,
+ "type": "number"
+ },
+ "operating_expense": {
+ "description": "Total operating expense in USD",
+ "example": 14736000000,
+ "type": "number"
+ },
+ "operating_expense_change_yy": {
+ "description": "Year-over-year change in operating expense (%)",
+ "example": 6.17,
+ "type": "number"
+ },
+ "quarter": {
+ "description": "The fiscal quarter",
+ "example": 4,
+ "type": "integer"
+ },
+ "revenue": {
+ "description": "Total revenue in USD",
+ "example": 94930000000,
+ "type": "number"
+ },
+ "revenue_change_yy": {
+ "description": "Year-over-year change in revenue (%)",
+ "example": 6.07,
+ "type": "number"
+ },
+ "year": {
+ "description": "The fiscal year",
+ "example": 2024,
+ "type": "integer"
}
},
"type": "object"
},
- "foxnews.HeadlineItem": {
+ "finance.Instrument": {
"properties": {
- "author": {
+ "after_hours": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/finance.PriceChange"
+ }
+ ],
+ "description": "Price and change in after-hours trading."
+ },
+ "change": {
+ "description": "Price change shown by Google Finance, in the same unit as `price`.",
+ "example": -3.37,
+ "type": "number"
+ },
+ "change_percent": {
+ "description": "Price change as a percentage, as Google Finance shows it.",
+ "example": -1.3,
+ "type": "number"
+ },
+ "country": {
+ "description": "Country code of the instrument, for example `US`.",
+ "example": "US",
"type": "string"
},
- "image_url": {
+ "currency": {
+ "description": "Currency code the instrument is priced in, for example `USD`.",
+ "example": "USD",
"type": "string"
},
- "published_at": {
+ "exchange": {
+ "description": "Exchange the instrument trades on, for example `NASDAQ`.",
+ "example": "NASDAQ",
"type": "string"
},
- "summary": {
+ "google_id": {
+ "description": "Google's id for the instrument, for example `/m/07zmbvf`.",
+ "example": "/m/07zmbvf",
"type": "string"
},
- "title": {
+ "identifier": {
+ "description": "Instrument identifier in `TICKER:EXCHANGE` form, for example `AAPL:NASDAQ`. Use it as the `quote` path parameter.",
+ "example": "AAPL:NASDAQ",
+ "type": "string"
+ },
+ "last_update_unix": {
+ "description": "Time of the latest price update, in Unix seconds.",
+ "example": 1777077000,
+ "type": "integer"
+ },
+ "name": {
+ "description": "Instrument name, for example `Apple Inc`.",
+ "example": "Apple Inc",
+ "type": "string"
+ },
+ "previous_close": {
+ "description": "Closing price of the previous trading day.",
+ "example": 236.35,
+ "type": "number"
+ },
+ "price": {
+ "description": "Latest price of the instrument.",
+ "example": 255.65,
+ "type": "number"
+ },
+ "ticker": {
+ "description": "Ticker symbol of the instrument.",
+ "example": "AAPL",
+ "type": "string"
+ },
+ "timezone": {
+ "description": "IANA time zone of the instrument's market, for example `America/New_York`.",
+ "example": "America/New_York",
"type": "string"
},
"type": {
+ "description": "Kind of instrument: `stock`, `index`, `crypto`, `etf` or `other`.",
+ "example": "stock",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "finance.Investment": {
+ "properties": {
+ "balance_sheet": {
+ "description": "The balance sheet data.",
+ "items": {
+ "$ref": "#/definitions/finance.BalanceSheet"
+ },
+ "type": "array"
},
- "url": {
+ "cash_flow": {
+ "description": "The cash flow data.",
+ "items": {
+ "$ref": "#/definitions/finance.CashFlow"
+ },
+ "type": "array"
+ },
+ "income_statement": {
+ "description": "The income statement data.",
+ "items": {
+ "$ref": "#/definitions/finance.IncomeStatement"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "finance.KeyStats": {
+ "properties": {
+ "avg_volume": {
+ "description": "The average trading volume.",
+ "example": 1510000,
+ "type": "integer"
+ },
+ "climate_change_score": {
+ "description": "The climate change score of the company.",
+ "example": "B",
+ "type": "string"
+ },
+ "currency": {
+ "description": "The currency of the stock price.",
+ "example": "EUR",
+ "type": "string"
+ },
+ "day_range": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/finance.Range"
+ }
+ ],
+ "description": "The day's price range."
+ },
+ "dividend_yield": {
+ "description": "The dividend yield percentage.",
+ "example": 0.0092,
+ "type": "number"
+ },
+ "market_cap": {
+ "description": "The market capitalization of the company.",
+ "example": 291570000000,
+ "type": "integer"
+ },
+ "pe_ratio": {
+ "description": "The price-to-earnings ratio.",
+ "example": 99.95,
+ "type": "number"
+ },
+ "previous_close": {
+ "description": "The previous closing price of the stock.",
+ "example": 236.35,
+ "type": "number"
+ },
+ "primary_exchange": {
+ "description": "The primary exchange where the stock is listed.",
+ "example": "ETR",
"type": "string"
+ },
+ "tags": {
+ "description": "Tags describing the stock.",
+ "example": [
+ "[\"Stock\"",
+ " \"DE listed security\"",
+ " \"DE headquartered\"]"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "year_range": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/finance.Range"
+ }
+ ],
+ "description": "The year's price range."
}
},
"type": "object"
},
- "foxnews.HeadlinesResponse": {
+ "finance.MarketMoversResponse": {
"properties": {
+ "categories": {
+ "description": "Numeric category ids the movers were filtered by.",
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "count": {
+ "description": "Number of instruments requested.",
+ "example": 20,
+ "type": "integer"
+ },
"items": {
+ "description": "Market mover instruments.",
"items": {
- "$ref": "#/definitions/foxnews.HeadlineItem"
+ "$ref": "#/definitions/finance.Instrument"
},
"type": "array"
},
- "section": {
+ "offset": {
+ "description": "Number of instruments skipped before this page.",
+ "example": 0,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "finance.News": {
+ "properties": {
+ "source": {
+ "description": "The source of the news.",
+ "example": "Reuters",
+ "type": "string"
+ },
+ "time": {
+ "description": "The publication time of the news.",
+ "example": "2024-12-27T09:03:00Z",
+ "type": "string"
+ },
+ "title": {
+ "description": "The title of the news article.",
+ "example": "SAP Announces Q3 Earnings",
+ "type": "string"
+ },
+ "url": {
+ "description": "The URL to the news article.",
+ "example": "https://www.reuters.com/article/sap-q3",
"type": "string"
}
},
"type": "object"
},
- "foxnews.NewsResponse": {
+ "finance.PriceChange": {
"properties": {
- "items": {
+ "change": {
+ "description": "Price change, in the same unit as `price`.",
+ "example": -3.37,
+ "type": "number"
+ },
+ "change_percent": {
+ "description": "Price change as a percentage.",
+ "example": -1.3,
+ "type": "number"
+ },
+ "price": {
+ "description": "Price in after-hours trading.",
+ "example": 255.65,
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "finance.QuoteResp": {
+ "properties": {
+ "about": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/finance.About"
+ }
+ ],
+ "description": "Information about the company."
+ },
+ "investment": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/finance.Investment"
+ }
+ ],
+ "description": "The investment-related data."
+ },
+ "key_stats": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/finance.KeyStats"
+ }
+ ],
+ "description": "The key statistics about the stock."
+ },
+ "news": {
+ "description": "The news related to the stock/company.",
"items": {
- "$ref": "#/definitions/foxnews.HeadlineItem"
+ "$ref": "#/definitions/finance.News"
+ },
+ "type": "array"
+ },
+ "tickers": {
+ "description": "Historical ticker data.",
+ "items": {
+ "$ref": "#/definitions/finance.Ticker"
},
"type": "array"
+ },
+ "title": {
+ "description": "The title or name of the stock/company.",
+ "example": "SAP SE",
+ "type": "string"
}
},
"type": "object"
},
- "foxnews.SearchResponse": {
+ "finance.Range": {
+ "properties": {
+ "from": {
+ "description": "The lower bound of the range.",
+ "example": 237.95,
+ "type": "number"
+ },
+ "to": {
+ "description": "The upper bound of the range.",
+ "example": 241.4,
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "finance.RelatedResponse": {
"properties": {
+ "instrument": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/finance.Instrument"
+ }
+ ],
+ "description": "Instrument the related list is for."
+ },
"items": {
+ "description": "Instruments Google Finance lists as related.",
"items": {
- "$ref": "#/definitions/foxnews.HeadlineItem"
+ "$ref": "#/definitions/finance.Instrument"
},
"type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "finance.StockData": {
+ "properties": {
+ "change": {
+ "description": "The absolute change in the stock price compared to the previous close.",
+ "example": -3.369995,
+ "type": "number"
},
- "query": {
+ "company_name": {
+ "description": "The name of the company associated with the stock ticker.",
+ "example": "Apple Inc",
"type": "string"
},
- "start": {
- "type": "integer"
+ "currency": {
+ "description": "The currency in which the stock price is denominated.",
+ "example": "USD",
+ "type": "string"
},
- "total": {
- "type": "integer"
+ "exchange": {
+ "description": "The stock exchange where the stock is listed.",
+ "example": "NASDAQ",
+ "type": "string"
},
- "type": {
+ "percentage": {
+ "description": "The percentage change in the stock price compared to the previous close.",
+ "example": -1.301056,
+ "type": "number"
+ },
+ "price": {
+ "description": "The current price of the stock.",
+ "example": 255.65,
+ "type": "number"
+ },
+ "ticker": {
+ "description": "The stock ticker symbol.",
+ "example": "AAPL",
"type": "string"
}
},
"type": "object"
},
- "foxnews.Section": {
+ "finance.Ticker": {
"properties": {
- "name": {
- "type": "string"
+ "price": {
+ "description": "The price at the given time.",
+ "example": 239.5,
+ "type": "number"
},
- "slug": {
+ "time": {
+ "description": "The time of the ticker record.",
+ "example": "2024-12-27T09:03:00Z",
"type": "string"
},
- "url": {
- "type": "string"
+ "volume": {
+ "description": "The trading volume at the given time.",
+ "example": 131032,
+ "type": "integer"
}
},
"type": "object"
},
- "foxnews.SectionsResponse": {
+ "finance.TopStocksResponse": {
"properties": {
- "sections": {
+ "items": {
+ "description": "Top instruments for the selected metric.",
"items": {
- "$ref": "#/definitions/foxnews.Section"
+ "$ref": "#/definitions/finance.Instrument"
},
"type": "array"
+ },
+ "metric": {
+ "description": "Google Finance metric id that was applied.",
+ "example": 6,
+ "type": "integer"
+ },
+ "page": {
+ "description": "Page number returned.",
+ "example": 1,
+ "type": "integer"
}
},
"type": "object"
},
- "foxnews.articleResponseDoc": {
+ "finance.articlesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/foxnews.ArticleResponse"
+ "items": {
+ "$ref": "#/definitions/finance.FinanceArticle"
+ },
+ "type": "array"
},
"msg": {
"example": "OK",
@@ -89553,14 +95465,14 @@
},
"type": "object"
},
- "foxnews.authorResponseDoc": {
+ "finance.categoryNewsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/foxnews.AuthorResponse"
+ "$ref": "#/definitions/finance.CategoryNewsResponse"
},
"msg": {
"example": "OK",
@@ -89569,14 +95481,14 @@
},
"type": "object"
},
- "foxnews.headlinesResponseDoc": {
+ "finance.categoryStocksResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/foxnews.HeadlinesResponse"
+ "$ref": "#/definitions/finance.CategoryStocksResponse"
},
"msg": {
"example": "OK",
@@ -89585,14 +95497,14 @@
},
"type": "object"
},
- "foxnews.newsResponseDoc": {
+ "finance.chartResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/foxnews.NewsResponse"
+ "$ref": "#/definitions/finance.ChartResponse"
},
"msg": {
"example": "OK",
@@ -89601,14 +95513,14 @@
},
"type": "object"
},
- "foxnews.searchResponseDoc": {
+ "finance.classificationResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/foxnews.SearchResponse"
+ "$ref": "#/definitions/finance.ClassificationResponse"
},
"msg": {
"example": "OK",
@@ -89617,14 +95529,14 @@
},
"type": "object"
},
- "foxnews.sectionsResponseDoc": {
+ "finance.companyResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/foxnews.SectionsResponse"
+ "$ref": "#/definitions/finance.CompanyInfo"
},
"msg": {
"example": "OK",
@@ -89633,91 +95545,97 @@
},
"type": "object"
},
- "france24.AuthorResponse": {
+ "finance.contextResponseDoc": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/france24.HeadlineItem"
- },
- "type": "array"
- },
- "biography": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "image_url": {
- "type": "string"
- },
- "job_title": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "name": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/finance.ContextResponse"
},
- "url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "france24.HeadlineItem": {
+ "finance.earningsResponseDoc": {
"properties": {
- "author": {
- "type": "string"
- },
- "image_url": {
- "type": "string"
- },
- "published_at": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "summary": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/finance.EarningsCalendarResponse"
},
- "title": {
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "finance.financialsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "type": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/finance.FinancialsResponse"
},
- "url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "freemalaysiatoday.NewsResponse": {
+ "finance.headlineResponseDoc": {
"properties": {
- "items": {
- "items": {
- "$ref": "#/definitions/newsplatform.HeadlineItem"
- },
- "type": "array"
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/finance.HeadlineResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "freemalaysiatoday.SectionsResponse": {
+ "finance.instrumentsResponseDoc": {
"properties": {
- "sections": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
"items": {
- "$ref": "#/definitions/newsplatform.Section"
+ "$ref": "#/definitions/finance.Instrument"
},
"type": "array"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "freemalaysiatoday.newsResponseDoc": {
+ "finance.marketMoversResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/freemalaysiatoday.NewsResponse"
+ "$ref": "#/definitions/finance.MarketMoversResponse"
},
"msg": {
"example": "OK",
@@ -89726,14 +95644,14 @@
},
"type": "object"
},
- "freemalaysiatoday.sectionsResponseDoc": {
+ "finance.quoteResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/freemalaysiatoday.SectionsResponse"
+ "$ref": "#/definitions/finance.QuoteResp"
},
"msg": {
"example": "OK",
@@ -89742,117 +95660,109 @@
},
"type": "object"
},
- "ft.ArticleResponse": {
+ "finance.relatedResponseDoc": {
"properties": {
- "authors": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "description": {
- "type": "string"
- },
- "image_url": {
- "type": "string"
- },
- "paragraphs": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "published_at": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/finance.RelatedResponse"
},
- "section": {
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "finance.searchResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "tags": {
+ "data": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/finance.StockData"
},
"type": "array"
},
- "title": {
- "type": "string"
- },
- "updated_at": {
- "type": "string"
- },
- "url": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "word_count": {
- "type": "integer"
}
},
"type": "object"
},
- "ft.AuthorResponse": {
+ "finance.tickerResponseDoc": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/ft.HeadlineItem"
- },
- "type": "array"
- },
- "email": {
- "type": "string"
- },
- "has_more": {
- "type": "boolean"
- },
- "image_url": {
- "type": "string"
- },
- "job_title": {
- "type": "string"
- },
- "name": {
- "type": "string"
- },
- "page": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "slug": {
- "type": "string"
- },
- "social_accounts": {
+ "data": {
"items": {
- "$ref": "#/definitions/ft.AuthorSocialAccount"
+ "$ref": "#/definitions/finance.Ticker"
},
"type": "array"
},
- "url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "ft.AuthorSocialAccount": {
+ "finance.topStocksResponseDoc": {
"properties": {
- "platform": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "url": {
+ "data": {
+ "$ref": "#/definitions/finance.TopStocksResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "ft.CategoriesResponse": {
+ "firstdibs.CategoriesResponse": {
"properties": {
- "sections": {
+ "categories": {
"items": {
- "$ref": "#/definitions/ft.CategorySection"
+ "$ref": "#/definitions/firstdibs.Category"
+ },
+ "type": "array"
+ },
+ "filter_values": {
+ "additionalProperties": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "type": "object"
+ },
+ "price_presets": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "sorts": {
+ "items": {
+ "type": "string"
},
"type": "array"
}
},
"type": "object"
},
- "ft.CategoryLink": {
+ "firstdibs.Category": {
"properties": {
"name": {
"type": "string"
@@ -89866,17 +95776,11 @@
},
"type": "object"
},
- "ft.CategorySection": {
+ "firstdibs.Designer": {
"properties": {
"name": {
"type": "string"
},
- "sections": {
- "items": {
- "$ref": "#/definitions/ft.CategoryLink"
- },
- "type": "array"
- },
"slug": {
"type": "string"
},
@@ -89886,56 +95790,51 @@
},
"type": "object"
},
- "ft.HeadlineItem": {
+ "firstdibs.DesignersResponse": {
"properties": {
- "image_url": {
- "type": "string"
+ "count": {
+ "type": "integer"
},
- "published_at": {
+ "designers": {
+ "items": {
+ "$ref": "#/definitions/firstdibs.Designer"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "firstdibs.Detail": {
+ "properties": {
+ "brand": {
"type": "string"
},
- "section": {
+ "category": {
"type": "string"
},
- "summary": {
+ "currency": {
"type": "string"
},
- "title": {
+ "description": {
"type": "string"
},
- "url": {
+ "id": {
"type": "string"
- }
- },
- "type": "object"
- },
- "ft.HeadlinesResponse": {
- "properties": {
- "has_more": {
- "type": "boolean"
},
- "items": {
+ "images": {
"items": {
- "$ref": "#/definitions/ft.HeadlineItem"
+ "type": "string"
},
"type": "array"
},
- "page": {
- "type": "integer"
+ "in_stock": {
+ "type": "boolean"
},
- "section": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "ft.NewsItem": {
- "properties": {
- "published_at": {
+ "name": {
"type": "string"
},
- "title": {
- "type": "string"
+ "price": {
+ "type": "number"
},
"url": {
"type": "string"
@@ -89943,83 +95842,113 @@
},
"type": "object"
},
- "ft.NewsResponse": {
+ "firstdibs.Facets": {
"properties": {
- "items": {
+ "categories": {
"items": {
- "$ref": "#/definitions/ft.NewsItem"
+ "$ref": "#/definitions/firstdibs.Category"
+ },
+ "type": "array"
+ },
+ "designers": {
+ "items": {
+ "$ref": "#/definitions/firstdibs.Designer"
+ },
+ "type": "array"
+ },
+ "price_presets": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "sorts": {
+ "items": {
+ "type": "string"
},
"type": "array"
}
},
"type": "object"
},
- "ft.SearchResponse": {
+ "firstdibs.Product": {
"properties": {
- "date_range": {
+ "brand": {
"type": "string"
},
- "has_more": {
- "type": "boolean"
+ "category": {
+ "type": "string"
},
- "items": {
- "items": {
- "$ref": "#/definitions/ft.HeadlineItem"
- },
- "type": "array"
+ "currency": {
+ "type": "string"
},
- "page": {
- "type": "integer"
+ "description": {
+ "type": "string"
},
- "q": {
+ "id": {
"type": "string"
},
- "sort": {
+ "image_url": {
"type": "string"
- }
- },
- "type": "object"
- },
- "ft.articleResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/ft.ArticleResponse"
+ "in_stock": {
+ "type": "boolean"
},
- "msg": {
- "example": "OK",
+ "name": {
+ "type": "string"
+ },
+ "price": {
+ "type": "number"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "ft.authorResponseDoc": {
+ "firstdibs.SearchResponse": {
"properties": {
- "code": {
- "example": 200,
+ "category": {
+ "type": "string"
+ },
+ "count": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/ft.AuthorResponse"
+ "facets": {
+ "$ref": "#/definitions/firstdibs.Facets"
},
- "msg": {
- "example": "OK",
+ "page": {
+ "type": "integer"
+ },
+ "per_page": {
+ "type": "integer"
+ },
+ "products": {
+ "items": {
+ "$ref": "#/definitions/firstdibs.Product"
+ },
+ "type": "array"
+ },
+ "query": {
+ "type": "string"
+ },
+ "source_url": {
"type": "string"
+ },
+ "total": {
+ "type": "integer"
}
},
"type": "object"
},
- "ft.categoriesResponseDoc": {
+ "firstdibs.categoriesDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/ft.CategoriesResponse"
+ "$ref": "#/definitions/firstdibs.CategoriesResponse"
},
"msg": {
"example": "OK",
@@ -90028,14 +95957,14 @@
},
"type": "object"
},
- "ft.headlinesResponseDoc": {
+ "firstdibs.designersDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/ft.HeadlinesResponse"
+ "$ref": "#/definitions/firstdibs.DesignersResponse"
},
"msg": {
"example": "OK",
@@ -90044,14 +95973,14 @@
},
"type": "object"
},
- "ft.newsResponseDoc": {
+ "firstdibs.productDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/ft.NewsResponse"
+ "$ref": "#/definitions/firstdibs.Detail"
},
"msg": {
"example": "OK",
@@ -90060,14 +95989,14 @@
},
"type": "object"
},
- "ft.searchResponseDoc": {
+ "firstdibs.searchDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/ft.SearchResponse"
+ "$ref": "#/definitions/firstdibs.SearchResponse"
},
"msg": {
"example": "OK",
@@ -90076,1608 +96005,1460 @@
},
"type": "object"
},
- "fussballde.AmateurStatRow": {
+ "fiveguys.DayHours": {
"properties": {
- "away": {
- "$ref": "#/definitions/fussballde.TeamRef"
- },
- "competition_id": {
- "type": "string"
- },
- "home": {
- "$ref": "#/definitions/fussballde.TeamRef"
- },
- "league": {
- "example": "Kreisliga C",
- "type": "string"
- },
- "match_id": {
- "type": "string"
- },
- "player": {
- "example": "Dominik Milaszewski",
- "type": "string"
- },
- "player_id": {
- "type": "string"
- },
- "position": {
- "type": "integer"
- },
- "result": {
- "example": "0:30",
- "type": "string"
- },
- "team": {
- "$ref": "#/definitions/fussballde.TeamRef"
- },
- "team_type": {
- "example": "Herren",
- "type": "string"
+ "closed": {
+ "example": false,
+ "type": "boolean"
},
- "values": {
+ "open_intervals": {
"items": {
- "$ref": "#/definitions/fussballde.StatValue"
+ "$ref": "#/definitions/fiveguys.TimeInterval"
},
"type": "array"
}
},
"type": "object"
},
- "fussballde.AmateurStatsResponse": {
+ "fiveguys.DirectoryChild": {
"properties": {
- "count": {
- "type": "integer"
+ "city": {
+ "description": "City/Region are set only on a store-level child.",
+ "example": "Chicago",
+ "type": "string"
},
- "federation_id": {
+ "geomodifier": {
+ "description": "Geomodifier is the per-restaurant area/plaza label, set only on a\nstore-level child (e.g. \"Medical District\").",
+ "example": "Medical District",
"type": "string"
},
- "final": {
+ "is_location": {
+ "description": "IsLocation marks a child that is a restaurant rather than another\ndirectory level -- call GET /fiveguys/store with its path.",
"example": false,
"type": "boolean"
},
- "limit": {
- "type": "integer"
- },
- "offset": {
+ "location_count": {
+ "description": "LocationCount is how many restaurants sit under this branch, as Yext\nreports it. Absent at the deepest level, where children are\nrestaurants themselves.",
+ "example": 38,
"type": "integer"
},
- "rows": {
- "items": {
- "$ref": "#/definitions/fussballde.AmateurStatRow"
- },
- "type": "array"
- },
- "season": {
+ "name": {
+ "description": "Name is the state or city name. Empty on a store-level child, whose\nname is always the generic brand name -- read Geomodifier there.",
+ "example": "Illinois",
"type": "string"
},
- "stat": {
+ "path": {
+ "example": "il",
"type": "string"
},
- "stat_name": {
+ "region": {
+ "example": "IL",
"type": "string"
},
- "team_type": {
+ "url": {
+ "example": "https://restaurants.fiveguys.com/il",
"type": "string"
}
},
"type": "object"
},
- "fussballde.ClubDetail": {
+ "fiveguys.DirectoryCrumb": {
"properties": {
- "club_id": {
- "type": "string"
- },
- "federation": {
- "type": "string"
- },
- "federation_id": {
- "type": "string"
- },
- "junior_team_count": {
- "type": "integer"
- },
"name": {
- "example": "Borussia Dortmund",
- "type": "string"
- },
- "profile": {
- "items": {
- "$ref": "#/definitions/fussballde.FactRow"
- },
- "type": "array"
- },
- "season": {
- "example": "2627",
+ "example": "Illinois",
"type": "string"
},
- "senior_team_count": {
- "type": "integer"
- },
- "team_count": {
- "type": "integer"
- },
- "teams": {
- "items": {
- "$ref": "#/definitions/fussballde.ClubTeam"
- },
- "type": "array"
- },
- "url": {
+ "path": {
+ "description": "Path feeds GET /fiveguys/directory's path. Empty on the root crumb,\nwhich is that endpoint's own default (omit path for the root).",
+ "example": "il",
"type": "string"
}
},
"type": "object"
},
- "fussballde.ClubHit": {
+ "fiveguys.DirectoryResponse": {
"properties": {
- "city": {
- "example": "Dortmund",
- "type": "string"
+ "children": {
+ "items": {
+ "$ref": "#/definitions/fiveguys.DirectoryChild"
+ },
+ "type": "array"
},
- "club_id": {
- "example": "00ES8GN8N400008VVV0AG08LVUPGND5I",
- "type": "string"
+ "count": {
+ "example": 34,
+ "type": "integer"
},
- "logo_url": {
+ "fetched_at": {
+ "example": "2026-09-05T12:00:00Z",
"type": "string"
},
"name": {
- "example": "Borussia Dortmund",
+ "example": "Illinois",
"type": "string"
},
- "postal_code": {
- "example": "44139",
+ "path": {
+ "example": "il",
"type": "string"
},
- "url": {
+ "source_url": {
+ "example": "https://restaurants.fiveguys.com/il",
"type": "string"
}
},
"type": "object"
},
- "fussballde.ClubMatchesResponse": {
+ "fiveguys.FAQCategoriesResponse": {
"properties": {
- "club_id": {
- "type": "string"
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/fiveguys.FAQCategory"
+ },
+ "type": "array"
},
"count": {
+ "example": 17,
"type": "integer"
},
- "date_from": {
- "type": "string"
- },
- "date_to": {
+ "fetched_at": {
"type": "string"
},
- "final": {
- "type": "boolean"
- },
- "kind": {
+ "source_url": {
"type": "string"
- },
- "limit": {
- "type": "integer"
- },
- "matches": {
- "items": {
- "$ref": "#/definitions/fussballde.MatchRow"
- },
- "type": "array"
- },
- "offset": {
- "type": "integer"
}
},
"type": "object"
},
- "fussballde.ClubSearchResponse": {
+ "fiveguys.FAQCategory": {
"properties": {
- "clubs": {
- "items": {
- "$ref": "#/definitions/fussballde.ClubHit"
- },
- "type": "array"
- },
- "count": {
- "type": "integer"
- },
- "final": {
- "example": false,
- "type": "boolean"
- },
- "limit": {
+ "entry_count": {
+ "description": "EntryCount is how many published FAQ entries carry this category, as\nreported by WordPress's own term counter.",
+ "example": 34,
"type": "integer"
},
- "offset": {
+ "id": {
+ "example": 21,
"type": "integer"
},
- "place": {
+ "name": {
+ "example": "Menu",
"type": "string"
},
- "text": {
+ "slug": {
+ "example": "menu",
"type": "string"
- },
- "total": {
- "example": 102,
- "type": "integer"
}
},
"type": "object"
},
- "fussballde.ClubTeam": {
+ "fiveguys.FAQEntry": {
"properties": {
- "competition": {
+ "answer": {
"type": "string"
},
- "competition_id": {
+ "answer_html": {
"type": "string"
},
- "competition_type": {
- "example": "Freundschaftsspiele",
- "type": "string"
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/fiveguys.TaxonomyRef"
+ },
+ "type": "array"
},
- "name": {
- "example": "Herren - Borussia Dortmund",
+ "id": {
+ "example": 4817,
+ "type": "integer"
+ },
+ "modified_at": {
+ "example": "2026-06-30T20:29:34Z",
"type": "string"
},
- "team_id": {
+ "page_url": {
"type": "string"
},
- "team_type": {
- "example": "Herren",
+ "question": {
+ "example": "I'm writing a story about Five Guys. Who should I contact?",
"type": "string"
},
- "url": {
+ "slug": {
+ "example": "im-writing-a-story-about-five-guys-who-should-i-contact",
"type": "string"
}
},
"type": "object"
},
- "fussballde.ComparisonRow": {
+ "fiveguys.FAQResponse": {
"properties": {
- "away": {
- "example": "50",
- "type": "string"
+ "entries": {
+ "items": {
+ "$ref": "#/definitions/fiveguys.FAQEntry"
+ },
+ "type": "array"
},
- "home": {
- "example": "50",
+ "fetched_at": {
"type": "string"
},
- "label": {
- "example": "Duelle",
+ "pagination": {
+ "$ref": "#/definitions/fiveguys.pagination"
+ },
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "fussballde.CompetitionLink": {
+ "fiveguys.Location": {
"properties": {
- "id": {
- "type": "string"
+ "address": {
+ "$ref": "#/definitions/fiveguys.LocationAddress"
},
- "kind": {
- "example": "Meisterschaft",
- "type": "string"
+ "delivery_hours": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/fiveguys.WeeklyHours"
+ }
+ ],
+ "description": "DeliveryHours is this location's delivery-order cutoff schedule, kept\nseparate from Hours (in-store hours) because Yext publishes the two\nindependently and they can differ -- confirmed live 2026-09-05: a\nChicago location open in-store until midnight cuts delivery off at\n23:45. Nil when Yext has not published a delivery schedule for this\nlocation (e.g. it does not offer delivery)."
},
- "name": {
- "example": "Bundesliga",
+ "delivery_url": {
"type": "string"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "fussballde.CompetitionOptionsResponse": {
- "properties": {
- "competition_type": {
- "example": "1",
- "type": "string"
+ "distance_kilometers": {
+ "example": 0.74,
+ "type": "number"
},
- "federation_id": {
- "example": "89",
- "type": "string"
+ "distance_miles": {
+ "description": "DistanceMiles/DistanceKilometers are measured from the resolved\nsearch center -- the coordinate GET /fiveguys/nearby was given, or\nthe location GET /fiveguys/search's `query` text resolved to.",
+ "example": 0.46,
+ "type": "number"
},
- "season": {
- "example": "2627",
+ "geomodifier": {
+ "description": "Geomodifier is Yext's short area/plaza descriptor for this location\n(e.g. \"Michigan Ave\", \"Medical District\") -- every location's Name is\nthe generic brand name \"Five Guys\", so Geomodifier is the field that\nactually distinguishes one result from another the way\nrestaurants.fiveguys.com's own location pages title themselves\n(\"Five Guys Medical District\"). Empty when Yext has not published one.",
+ "example": "Michigan Ave",
"type": "string"
},
- "team_types": {
- "items": {
- "$ref": "#/definitions/fussballde.TeamTypeOption"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "fussballde.CompetitionRef": {
- "properties": {
- "area_id": {
+ "google_place_id": {
+ "description": "GooglePlaceID is this location's Google Places identifier, when Yext\nhas published one, matching this repo's other Yext-family locators.",
+ "example": "ChIJHTEJ8EgtDogRepA4KPyvUCU",
"type": "string"
},
+ "hours": {
+ "$ref": "#/definitions/fiveguys.WeeklyHours"
+ },
"id": {
- "example": "031BFREJC800001BVS5489BUVUR5FS5A-G",
+ "description": "ID is Yext's internal entity id for this restaurant.",
+ "example": "4020",
"type": "string"
},
- "league_id": {
- "example": "1",
+ "latitude": {
+ "description": "Latitude/Longitude are Yext's display coordinate (rooftop-accurate\npin location), falling back to the raw geocoded coordinate when Yext\nhas not published a display override.",
+ "example": 41.885572,
+ "type": "number"
+ },
+ "longitude": {
+ "example": -87.624864,
+ "type": "number"
+ },
+ "menu_url": {
"type": "string"
},
"name": {
- "example": "Bundesliga",
+ "example": "Five Guys",
"type": "string"
},
- "url": {
+ "order_url": {
+ "description": "OrderURL and DeliveryURL point at order.fiveguys.com, which this\nrepo cannot reach (confirmed hard wall -- see service.go); they are\nstill published here since Five Guys publishes them and a caller may\nwant to hand the URL to an end user.",
"type": "string"
- }
- },
- "type": "object"
- },
- "fussballde.CompetitionsResponse": {
- "properties": {
- "area": {
+ },
+ "path": {
+ "description": "Path is the restaurants.fiveguys.com slug for this location.",
+ "example": "180-n-michigan-ave",
"type": "string"
},
- "competition_type": {
+ "phone": {
+ "example": "+13122919686",
"type": "string"
},
- "competitions": {
+ "pickup_and_delivery_services": {
+ "description": "PickupAndDeliveryServices are Five Guys' own fulfillment-channel\nlabels, e.g. \"In-Store Pickup\".",
"items": {
- "$ref": "#/definitions/fussballde.CompetitionRef"
+ "type": "string"
},
"type": "array"
},
- "federation_id": {
+ "price_range": {
+ "example": "$",
"type": "string"
},
- "league": {
- "type": "string"
+ "services": {
+ "description": "Services are Five Guys' own restaurant-amenity labels for this\nlocation, e.g. \"Takeout\", \"Dine In\", \"Curbside\", \"Mobile Ordering\".",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "season": {
+ "timezone": {
+ "example": "America/Chicago",
"type": "string"
},
- "team_type": {
+ "website_url": {
+ "example": "https://restaurants.fiveguys.com/180-n-michigan-ave",
"type": "string"
}
},
"type": "object"
},
- "fussballde.FactRow": {
+ "fiveguys.LocationAddress": {
"properties": {
- "label": {
- "example": "Gründungsjahr",
+ "city": {
+ "example": "Chicago",
"type": "string"
},
- "url": {
+ "country": {
+ "example": "US",
"type": "string"
},
- "value": {
- "example": "1909",
+ "line1": {
+ "example": "180 N Michigan Ave",
"type": "string"
- }
- },
- "type": "object"
- },
- "fussballde.Federation": {
- "properties": {
- "id": {
- "example": "89",
+ },
+ "line2": {
"type": "string"
},
- "name": {
- "example": "Deutschland",
+ "postal_code": {
+ "example": "60601",
+ "type": "string"
+ },
+ "region": {
+ "example": "IL",
"type": "string"
}
},
"type": "object"
},
- "fussballde.FederationDetail": {
+ "fiveguys.MenuCategory": {
"properties": {
- "federation_id": {
- "example": "21",
+ "description": {
+ "description": "Description is fiveguys.com's own short category blurb (e.g. \"Fresh,\nhand-formed patties hot off the grill with as many toppings as you'd\nlike.\"), distinct from Name (the page's long SEO title) and from any\none item's own Description.",
+ "example": "Fresh, hand-formed patties hot off the grill with as many toppings as you'd like.",
"type": "string"
},
- "name": {
- "example": "Fußball- und Leichtathletik-Verband Westfalen",
+ "image_url": {
+ "description": "ImageURL is this category's own hero/cover image, resolved from the\nsite's WordPress media library. Empty when the category has none set.",
"type": "string"
},
- "news": {
- "items": {
- "$ref": "#/definitions/fussballde.NewsItem"
- },
- "type": "array"
- },
- "profile": {
+ "items": {
"items": {
- "$ref": "#/definitions/fussballde.FactRow"
+ "$ref": "#/definitions/fiveguys.MenuItem"
},
"type": "array"
},
- "regional_association": {
- "example": "west",
+ "modified_at": {
+ "description": "ModifiedAt is fiveguys.com's own last-modified timestamp for this\ncategory's content (UTC, RFC3339), when published.",
+ "example": "2026-04-16T18:10:38Z",
"type": "string"
},
- "summary": {
- "items": {
- "$ref": "#/definitions/fussballde.FactRow"
- },
- "type": "array"
+ "name": {
+ "example": "Burger Menu: Hamburgers, Cheeseburgers, and more",
+ "type": "string"
},
- "url": {
+ "slug": {
+ "example": "burgers",
"type": "string"
},
- "verband_id": {
- "example": "0123456789ABCDEF0123456700004130",
+ "source_url": {
+ "description": "SourceURL is the live fiveguys.com page this category's content mirrors.",
+ "example": "https://www.fiveguys.com/menu/burgers/",
"type": "string"
}
},
"type": "object"
},
- "fussballde.FiltersResponse": {
+ "fiveguys.MenuItem": {
"properties": {
- "competition_types": {
- "additionalProperties": {
- "additionalProperties": {
- "items": {
- "$ref": "#/definitions/fussballde.Option"
- },
- "type": "array"
- },
- "type": "object"
- },
- "type": "object"
+ "calories": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/fiveguys.MenuItemCalories"
+ }
+ ],
+ "description": "Calories is nil when fiveguys.com does not publish a figure for this\nitem -- genuinely absent for drink categories (Coca-Cola Freestyle,\nDr Pepper, Bottled Drinks) and a couple of build-your-own items (e.g.\n\"Burger Bowl\"), not parser drift."
},
- "current_season": {
- "example": "2627",
+ "description": {
+ "description": "Description is fiveguys.com's own marketing copy for the item, exactly\nas published (may mention e.g. \"Available at select locations.\").",
+ "example": "Fresh, hand-formed patties hot off the grill and placed on a soft, toasted sesame seed bun. Add as many toppings as you want.",
"type": "string"
},
- "default_competition_type": {
- "example": "1",
+ "image_url": {
"type": "string"
},
- "federations": {
- "items": {
- "$ref": "#/definitions/fussballde.Federation"
- },
- "type": "array"
+ "name": {
+ "example": "Hamburger",
+ "type": "string"
},
- "seasons": {
- "additionalProperties": {
- "items": {
- "$ref": "#/definitions/fussballde.Option"
- },
- "type": "array"
- },
- "type": "object"
+ "slug": {
+ "example": "hamburger",
+ "type": "string"
}
},
"type": "object"
},
- "fussballde.GoalEntry": {
+ "fiveguys.MenuItemCalories": {
"properties": {
- "minute": {
- "example": 80,
+ "max": {
+ "example": 1100,
"type": "integer"
},
- "player": {
- "example": "Daniel Jonathan Svensson",
- "type": "string"
- },
- "stoppage_minute": {
- "example": 2,
+ "min": {
+ "example": 530,
"type": "integer"
+ },
+ "text": {
+ "example": "530-1100",
+ "type": "string"
}
},
"type": "object"
},
- "fussballde.LeagueOption": {
+ "fiveguys.MenuResponse": {
"properties": {
- "areas": {
+ "categories": {
"items": {
- "$ref": "#/definitions/fussballde.Option"
+ "$ref": "#/definitions/fiveguys.MenuCategory"
},
"type": "array"
},
- "id": {
- "example": "1",
+ "count": {
+ "description": "Count is the total item count across every returned category.",
+ "example": 53,
+ "type": "integer"
+ },
+ "fetched_at": {
"type": "string"
},
- "name": {
- "example": "Bundesliga",
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "fussballde.MatchCalendarResponse": {
+ "fiveguys.NearbyResponse": {
"properties": {
"count": {
+ "example": 10,
"type": "integer"
},
- "date_from": {
- "type": "string"
- },
- "date_to": {
+ "fetched_at": {
"type": "string"
},
- "matches": {
+ "locations": {
"items": {
- "$ref": "#/definitions/fussballde.MatchRow"
+ "$ref": "#/definitions/fiveguys.Location"
},
"type": "array"
},
- "postal_code": {
+ "radius": {
+ "example": 25,
+ "type": "integer"
+ },
+ "source_url": {
"type": "string"
},
- "truncated": {
- "example": false,
- "type": "boolean"
+ "total_results": {
+ "description": "TotalResults is how many restaurants fall inside the radius overall,\nusually more than one page. Use it with offset to page.",
+ "example": 18,
+ "type": "integer"
}
},
"type": "object"
},
- "fussballde.MatchComparisonResponse": {
+ "fiveguys.NutritionGuideResponse": {
"properties": {
- "match_id": {
+ "content_type": {
+ "description": "ContentType, SizeBytes and LastModified are read from PDFURL's own\nresponse headers, best-effort -- a failure fetching them does not fail\nthe whole response, since PDFURL is the primary result.",
+ "example": "application/pdf",
"type": "string"
},
- "meetings": {
- "items": {
- "$ref": "#/definitions/fussballde.MatchRow"
- },
- "type": "array"
- },
- "rows": {
- "items": {
- "$ref": "#/definitions/fussballde.ComparisonRow"
- },
- "type": "array"
- },
- "view": {
+ "fetched_at": {
"type": "string"
- }
- },
- "type": "object"
- },
- "fussballde.MatchDetail": {
- "properties": {
- "assistants": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "away": {
- "$ref": "#/definitions/fussballde.TeamRef"
- },
- "away_goals": {
- "items": {
- "$ref": "#/definitions/fussballde.GoalEntry"
- },
- "type": "array"
- },
- "away_score": {
- "type": "integer"
},
- "competition": {
- "example": "Bundesliga",
+ "last_modified": {
+ "example": "2026-09-02T14:06:41Z",
"type": "string"
},
- "competition_id": {
+ "link_text": {
+ "description": "LinkText is the visible link text PDFURL was found under, when more\nthan one link on the page pointed at it.",
+ "example": "Nutrition & Allergen PDF",
"type": "string"
},
- "date": {
- "example": "2026-10-09",
+ "page_url": {
+ "description": "PageURL is the fiveguys.com page PDFURL was discovered on.",
+ "example": "https://www.fiveguys.com/nutritional-allergy-information/",
"type": "string"
},
- "events": {
- "items": {
- "$ref": "#/definitions/fussballde.MatchEvent"
- },
- "type": "array"
- },
- "fourth_official": {
+ "pdf_url": {
+ "description": "PDFURL is the current nutrition & allergen guide's direct download\nlink, resolved live -- its path changes when fiveguys.com republishes\nthe guide (observed monthly).",
+ "example": "https://www.fiveguys.com/wp-content/uploads/2026/09/Five-Guys-US-Nutrition-Allergen-Guide-English-September-2026.pdf",
"type": "string"
},
- "halftime_score": {
- "example": "0 : 0",
+ "size_bytes": {
+ "example": 172740,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "fiveguys.OrderingCalendar": {
+ "properties": {
+ "label": {
+ "description": "Label is the platform's display label when it publishes one, e.g.\n\"Delivery\".",
+ "example": "Delivery",
"type": "string"
},
- "home": {
- "$ref": "#/definitions/fussballde.TeamRef"
- },
- "home_goals": {
+ "ranges": {
"items": {
- "$ref": "#/definitions/fussballde.GoalEntry"
+ "$ref": "#/definitions/fiveguys.OrderingCalendarRange"
},
"type": "array"
},
- "home_score": {
- "type": "integer"
- },
- "id": {
+ "type": {
+ "description": "Type is the ordering platform's own calendar type, e.g. \"business\",\n\"dispatch\".",
+ "example": "business",
"type": "string"
- },
- "match_number": {
+ }
+ },
+ "type": "object"
+ },
+ "fiveguys.OrderingCalendarRange": {
+ "properties": {
+ "end": {
+ "example": "20260906 23:00",
"type": "string"
},
- "matchday": {
- "example": "5. Spieltag",
+ "start": {
+ "description": "Start and End are published as \"YYYYMMDD HH:MM\" in the store's own\nlocal time, passed through unchanged rather than reinterpreted into\na timezone this API would have to guess.",
+ "example": "20260906 10:00",
"type": "string"
},
- "note": {
- "description": "Note is the site's own marker, such as nE or Absetzung.",
- "example": "nE",
+ "weekday": {
+ "example": "Sun",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "fiveguys.OrderingFulfillment": {
+ "properties": {
+ "calories_displayed": {
+ "example": true,
+ "type": "boolean"
},
- "referee": {
- "type": "string"
+ "coupons": {
+ "example": true,
+ "type": "boolean"
},
- "result_qualifier": {
- "description": "ResultQualifier says how a result was reached when it was not simply played out.",
- "enum": [
- "after_extra_time",
- "after_penalties",
- "awarded",
- "court_ruling",
- "administrative_decision",
- "test_match"
- ],
- "example": "after_penalties",
- "type": "string"
+ "curbside": {
+ "example": false,
+ "type": "boolean"
},
- "spectators": {
- "type": "string"
+ "delivery": {
+ "example": false,
+ "type": "boolean"
},
- "status": {
- "enum": [
- "finished",
- "scheduled",
- "cancelled",
- "annulled",
- "abandoned",
- "no_show",
- "other"
- ],
- "example": "finished",
- "type": "string"
+ "dine_in": {
+ "example": false,
+ "type": "boolean"
},
- "time": {
- "example": "20:30",
- "type": "string"
+ "dispatch": {
+ "example": true,
+ "type": "boolean"
},
- "url": {
- "type": "string"
+ "drive_thru": {
+ "example": false,
+ "type": "boolean"
},
- "venue": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "fussballde.MatchEvent": {
- "properties": {
- "minute": {
- "type": "integer"
+ "group_orders": {
+ "example": true,
+ "type": "boolean"
},
- "side": {
- "example": "home",
- "type": "string"
+ "loyalty": {
+ "example": false,
+ "type": "boolean"
},
- "type": {
- "example": "substitute",
- "type": "string"
+ "pickup": {
+ "example": true,
+ "type": "boolean"
}
},
"type": "object"
},
- "fussballde.MatchPlanResponse": {
+ "fiveguys.OrderingLocation": {
"properties": {
- "competition_id": {
- "type": "string"
+ "address": {
+ "$ref": "#/definitions/fiveguys.LocationAddress"
},
- "count": {
+ "advance_only": {
+ "description": "AdvanceOnly marks a store that takes only scheduled orders, never ASAP.",
+ "type": "boolean"
+ },
+ "advance_order_days": {
+ "description": "AdvanceOrderDays is how many days ahead an order may be scheduled.",
+ "example": 7,
"type": "integer"
},
- "matches": {
- "items": {
- "$ref": "#/definitions/fussballde.MatchRow"
- },
- "type": "array"
+ "availability_message": {
+ "type": "string"
},
- "rounds": {
- "description": "Rounds lists the rounds of a cup or tournament; pass a round id as competition_id to read that round alone.",
+ "calendars": {
+ "description": "Calendars are this store's dated operating windows, present only\nwhen include_hours was requested. Unlike the weekly recurring\nschedule GET /fiveguys/search and /fiveguys/nearby publish, these\nare concrete dated ranges, so they reflect holiday and special\nhours a recurring schedule cannot express.",
"items": {
- "$ref": "#/definitions/fussballde.RoundRef"
+ "$ref": "#/definitions/fiveguys.OrderingCalendar"
},
"type": "array"
},
- "title": {
+ "customer_message": {
"type": "string"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "fussballde.MatchRow": {
- "properties": {
- "away": {
- "$ref": "#/definitions/fussballde.TeamRef"
+ "delivery_fee": {
+ "description": "Ordering economics, in the store's own currency. DeliveryFee and the\nminimums are published as 0 when the store sets none.",
+ "example": 0,
+ "type": "number"
},
- "away_score": {
- "type": "integer"
+ "distance_miles": {
+ "description": "DistanceMiles is measured from the requested coordinate.",
+ "example": 0.4,
+ "type": "number"
},
- "competition": {
- "example": "Bundesliga",
- "type": "string"
+ "fulfillment": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/fiveguys.OrderingFulfillment"
+ }
+ ],
+ "description": "Fulfillment is what the ordering platform will actually accept for\nthis store right now. This is a different thing from the locator's\namenity labels (GET /fiveguys/search's `services`), which describe\nwhat the restaurant offers in general -- these describe what an order\nplaced now could use."
},
- "date": {
- "example": "2026-10-09",
+ "id": {
+ "description": "ID is the ordering platform's restaurant id.",
+ "example": "23841",
"type": "string"
},
- "home": {
- "$ref": "#/definitions/fussballde.TeamRef"
+ "is_available": {
+ "description": "IsAvailable reports whether the ordering platform is currently\naccepting orders for this restaurant at all. AvailabilityMessage and\nCustomerMessage carry the store's own explanation when it publishes\none (e.g. a delivery caveat, a temporary notice).",
+ "example": true,
+ "type": "boolean"
},
- "home_score": {
- "type": "integer"
+ "latitude": {
+ "description": "Latitude/Longitude come from the ordering platform's own record.",
+ "example": 30.396,
+ "type": "number"
},
- "id": {
- "example": "031BFTHDCC000000VS5489BUVUR5FS5A",
- "type": "string"
+ "longitude": {
+ "example": -97.72,
+ "type": "number"
},
- "league": {
- "example": "Kreisfreundschaftsspiele",
- "type": "string"
+ "minimum_delivery_order": {
+ "example": 15,
+ "type": "number"
},
- "match_number": {
- "example": "037",
- "type": "string"
+ "minimum_pickup_order": {
+ "example": 0,
+ "type": "number"
},
- "note": {
- "description": "Note is the site's own marker, such as nE or Absetzung.",
- "example": "nE",
+ "name": {
+ "description": "Name is the ordering platform's per-store label (\"Five Guys Fig @ 7th\nDowntown LA\"), unlike the locator's generic \"Five Guys\".",
+ "example": "Five Guys Austin Arbor",
"type": "string"
},
- "result_qualifier": {
- "description": "ResultQualifier says how a result was reached when it was not simply played out.",
- "enum": [
- "after_extra_time",
- "after_penalties",
- "awarded",
- "court_ruling",
- "administrative_decision",
- "test_match"
- ],
- "example": "after_penalties",
+ "order_url": {
+ "description": "OrderURL is the ordering platform's own menu/order page for this\nstore. Note it is hosted on a domain this API cannot itself read (see\nthe endpoint description) -- it is published for handing to an end\nuser, not for further scraping.",
"type": "string"
},
- "round": {
- "description": "Round is the round of a cup or tournament match, such as 1. Hauptrunde.",
- "example": "2. Hauptrunde",
+ "phone": {
+ "example": "(512) 719-3300",
"type": "string"
},
- "status": {
- "enum": [
- "finished",
- "scheduled",
- "cancelled",
- "annulled",
- "abandoned",
- "no_show",
- "other"
- ],
- "example": "finished",
+ "slug": {
+ "example": "five-guys-656",
"type": "string"
},
- "team_type": {
- "example": "D-Junioren",
+ "store_number": {
+ "description": "StoreNumber is Five Guys' own internal store number.",
+ "example": "656",
"type": "string"
},
- "time": {
- "example": "20:30",
- "type": "string"
+ "supported_time_modes": {
+ "description": "SupportedTimeModes are the ordering platform's own labels, e.g.\n\"asap\", \"advance\".",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "url": {
- "type": "string"
+ "utc_offset": {
+ "description": "UTCOffset is the store's current offset in hours.",
+ "example": -7,
+ "type": "number"
}
},
"type": "object"
},
- "fussballde.MatchdayResponse": {
+ "fiveguys.OrderingLocationsResponse": {
"properties": {
- "competition_id": {
- "type": "string"
- },
"count": {
+ "example": 3,
"type": "integer"
},
- "date": {
+ "fetched_at": {
+ "example": "2026-09-06T12:00:00Z",
"type": "string"
},
- "matchday": {
- "example": 7,
- "type": "integer"
- },
- "matchday_count": {
- "example": 34,
- "type": "integer"
- },
- "matches": {
- "items": {
- "$ref": "#/definitions/fussballde.MatchRow"
- },
- "type": "array"
- },
- "rounds": {
- "description": "Rounds lists the rounds of a cup or tournament; pass a round id as competition_id to read that round.",
+ "locations": {
"items": {
- "$ref": "#/definitions/fussballde.RoundRef"
+ "$ref": "#/definitions/fiveguys.OrderingLocation"
},
"type": "array"
},
- "title": {
- "type": "string"
+ "radius": {
+ "example": 20,
+ "type": "integer"
},
- "url": {
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "fussballde.NationalScorer": {
+ "fiveguys.OrderingMenuCategory": {
"properties": {
- "club": {
- "example": "VfB Oldenburg",
- "type": "string"
- },
- "club_id": {
- "type": "string"
- },
- "goals": {
- "type": "integer"
- },
- "matches": {
- "type": "integer"
- },
- "name": {
- "example": "Mats Facklam",
+ "description": {
"type": "string"
},
- "player_id": {
+ "id": {
+ "example": "87071",
"type": "string"
},
- "position": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "fussballde.NationalTopScorersResponse": {
- "properties": {
- "levels": {
+ "items": {
"items": {
- "$ref": "#/definitions/fussballde.ScorerLevel"
+ "$ref": "#/definitions/fiveguys.OrderingMenuItem"
},
"type": "array"
},
- "note": {
+ "name": {
+ "example": "Burgers",
"type": "string"
},
- "team_type": {
+ "slug": {
+ "example": "burgers",
"type": "string"
}
},
"type": "object"
},
- "fussballde.NewsArticle": {
+ "fiveguys.OrderingMenuItem": {
"properties": {
- "category": {
- "type": "string"
+ "available_always": {
+ "type": "boolean"
},
- "date": {
- "type": "string"
+ "available_now": {
+ "description": "AvailableNow and AvailableAlways report the platform's own live\navailability for this item at this store, independent of the store's\nown open/closed state -- an item can be permanently 86'd\n(AvailableAlways false, AvailableNow false) or time-boxed to certain\nhours (AvailableAlways false, AvailableNow reflecting the current\ntime).",
+ "type": "boolean"
},
- "id": {
+ "calories": {
+ "$ref": "#/definitions/fiveguys.OrderingMenuItemCalories"
+ },
+ "cost": {
+ "description": "Cost is the item's price in the store's own currency, exactly as\npublished -- this is the field every other Five Guys endpoint in this\nfamily cannot surface (see the package doc's pricing section).",
+ "example": 11.79,
+ "type": "number"
+ },
+ "description": {
"type": "string"
},
- "image_caption": {
+ "id": {
+ "example": "1883259",
"type": "string"
},
"image_url": {
"type": "string"
},
- "paragraphs": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "time": {
+ "name": {
+ "example": "Hamburger",
"type": "string"
},
- "title": {
+ "short_description": {
"type": "string"
},
- "url": {
+ "slug": {
+ "example": "hamburger",
"type": "string"
}
},
"type": "object"
},
- "fussballde.NewsItem": {
+ "fiveguys.OrderingMenuItemCalories": {
"properties": {
- "category": {
- "example": "Magazin",
- "type": "string"
- },
- "date": {
- "example": "2026-10-22",
- "type": "string"
- },
- "excerpt": {
- "type": "string"
- },
- "id": {
- "example": "10067512",
- "type": "string"
- },
- "time": {
- "example": "14:00",
- "type": "string"
- },
- "title": {
- "type": "string"
+ "max": {
+ "example": 840,
+ "type": "integer"
},
- "url": {
- "type": "string"
+ "min": {
+ "example": 840,
+ "type": "integer"
}
},
"type": "object"
},
- "fussballde.NewsResponse": {
+ "fiveguys.OrderingMenuResponse": {
"properties": {
- "count": {
- "type": "integer"
- },
- "final": {
- "example": false,
- "type": "boolean"
- },
- "items": {
+ "categories": {
"items": {
- "$ref": "#/definitions/fussballde.NewsItem"
+ "$ref": "#/definitions/fiveguys.OrderingMenuCategory"
},
"type": "array"
},
- "limit": {
+ "count": {
+ "description": "Count is the total item count across every returned category.",
+ "example": 36,
"type": "integer"
},
- "offset": {
- "type": "integer"
+ "fetched_at": {
+ "example": "2026-09-06T12:00:00Z",
+ "type": "string"
},
- "stream": {
+ "id": {
+ "description": "ID echoes the requested ordering-platform restaurant id.",
+ "example": "23841",
+ "type": "string"
+ },
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "fussballde.NewsSearchResponse": {
+ "fiveguys.SearchResponse": {
"properties": {
- "channel": {
- "type": "string"
- },
"count": {
+ "example": 10,
"type": "integer"
},
- "final": {
- "example": false,
- "type": "boolean"
+ "fetched_at": {
+ "type": "string"
},
- "items": {
+ "locations": {
"items": {
- "$ref": "#/definitions/fussballde.NewsItem"
+ "$ref": "#/definitions/fiveguys.Location"
},
"type": "array"
},
- "limit": {
- "type": "integer"
- },
- "offset": {
- "type": "integer"
+ "query": {
+ "example": "Chicago, IL",
+ "type": "string"
},
- "q": {
+ "source_url": {
"type": "string"
},
- "total": {
- "example": 1974,
+ "total_results": {
+ "description": "TotalResults is how many restaurants matched overall, usually more\nthan one page. Use it with offset to page.",
+ "example": 18,
"type": "integer"
}
},
"type": "object"
},
- "fussballde.Option": {
+ "fiveguys.StoreFAQEntry": {
"properties": {
- "id": {
- "example": "2627",
+ "answer": {
"type": "string"
},
- "name": {
- "example": "26/27",
+ "question": {
+ "example": "What are the operating hours of Five Guys in the Medical District?",
"type": "string"
}
},
"type": "object"
},
- "fussballde.PlayerAppearance": {
+ "fiveguys.StorePhoto": {
"properties": {
- "goals": {
- "type": "integer"
+ "alternate_text": {
+ "description": "AlternateText is the image's accessibility text, when published.",
+ "type": "string"
},
- "match": {
- "$ref": "#/definitions/fussballde.MatchRow"
+ "description": {
+ "description": "Description is Yext's caption for the image, when published.",
+ "example": "A close-up view of regular order of Five Guys fries.",
+ "type": "string"
},
- "minutes": {
+ "height": {
+ "example": 800,
"type": "integer"
},
- "subbed_in_minute": {
- "type": "integer"
+ "url": {
+ "example": "https://a.mktgcdn.com/p/example/1200x800.jpg",
+ "type": "string"
},
- "subbed_out_minute": {
+ "width": {
+ "example": 1200,
"type": "integer"
}
},
"type": "object"
},
- "fussballde.PlayerDetail": {
+ "fiveguys.StoreProfile": {
"properties": {
- "birth_date": {
- "example": "1993-02-09",
- "type": "string"
- },
- "facts": {
- "items": {
- "$ref": "#/definitions/fussballde.FactRow"
- },
- "type": "array"
- },
- "name": {
- "example": "Niclas Füllkrug",
+ "directory_listing_url": {
+ "description": "DirectoryListingURL is the location's page on Yext's public\nlocation.com directory.",
"type": "string"
},
- "player_id": {
+ "facebook_store_id": {
"type": "string"
},
- "profile_type": {
- "example": "full",
+ "facebook_vanity_url": {
+ "description": "FacebookVanityURL is this location's own Facebook vanity handle (e.g.\n\"FiveGuysChicagoIL\"), distinct per location -- unlike the brand-wide\nfacebookPageUrl/instagramHandle/twitterHandle this family already\nchecked and excluded. Sparse: some locations publish none.",
"type": "string"
},
- "stats": {
+ "faq": {
+ "description": "FAQ is this restaurant's own auto-generated question set -- its\naddress, hours, reservation policy and services answered for this\nspecific store (\"What are the operating hours of Five Guys in the\nMedical District?\"). Confirmed distinct across every sampled\nlocation, unlike the brand-level FAQ corpus, which is national and\nalready served in full by GET /fiveguys/faq.",
"items": {
- "$ref": "#/definitions/fussballde.StatEntry"
+ "$ref": "#/definitions/fiveguys.StoreFAQEntry"
},
"type": "array"
},
- "stats_season": {
- "example": "26/27",
- "type": "string"
- },
- "team": {
- "example": "SV Werder Bremen",
- "type": "string"
- },
- "team_id": {
- "type": "string"
- },
- "team_type": {
- "example": "Herren",
- "type": "string"
- },
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "fussballde.PlayerHit": {
- "properties": {
- "birth_date": {
- "example": "1993-02-09",
+ "featured_message": {
+ "description": "FeaturedMessage is the store's current promotional message, when it\npublishes one (e.g. \"Try our fan-favorite Patty Melt today!\").",
"type": "string"
},
- "name": {
- "example": "Niclas Füllkrug",
+ "featured_message_url": {
"type": "string"
},
- "player_id": {
- "example": "01MH0AKR7C000007VV0AG13EVSFDFGE6",
+ "franchisee_group": {
+ "description": "FranchiseeGroup is the operator of this specific restaurant --\ncorporate-owned locations publish a short internal code (\"FGO\");\nfranchised locations publish the franchisee's own company name (e.g.\n\"Bighorn Five Guys Acquisitions\", \"Evergreen Burgers, Inc.\"). Not\nexposed anywhere else in this family. Confirmed genuinely\nper-location across a multi-state live sample, unlike most of this\nentity's other social/brand fields.",
"type": "string"
},
- "team": {
- "example": "SV Werder Bremen",
- "type": "string"
+ "google_attributes": {
+ "additionalProperties": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "description": "GoogleAttributes are Yext's structured amenity flags as published to\nGoogle, e.g. \"has_takeout\", \"has_delivery\", \"wheelchair_accessible_\nentrance\". Richer and more machine-readable than the display labels\non Location.Services, and confirmed to differ between locations.",
+ "type": "object"
},
- "team_type": {
- "example": "Herren",
+ "google_cid": {
+ "description": "GoogleCID and FacebookStoreID are this location's ids on those\nplatforms -- useful for joining against external datasets. Both\nconfirmed distinct per location.",
"type": "string"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "fussballde.PlayerMatchesResponse": {
- "properties": {
- "appearances": {
+ "meals_served": {
+ "description": "MealsServed are the dayparts this location serves, e.g. \"LUNCH\".",
"items": {
- "$ref": "#/definitions/fussballde.PlayerAppearance"
+ "type": "string"
},
"type": "array"
},
- "competition": {
- "example": "SV Werder Bremen (Herren), Bundesliga",
- "type": "string"
- },
- "competitions": {
+ "payment_options": {
+ "description": "PaymentOptions are accepted payment methods, e.g. \"APPLEPAY\", \"CASH\".",
"items": {
- "$ref": "#/definitions/fussballde.Option"
+ "type": "string"
},
"type": "array"
},
- "count": {
- "type": "integer"
+ "permanently_closed": {
+ "description": "PermanentlyClosed reports Yext's own closed flag for this location.",
+ "type": "boolean"
},
- "player_id": {
+ "review_invite_url": {
"type": "string"
},
- "season": {
+ "review_page_url": {
+ "description": "ReviewPageURL and ReviewInviteURL are this restaurant's own\nfirst-party review pages, distinct per location.",
"type": "string"
},
- "team_id": {
- "type": "string"
+ "routable_latitude": {
+ "description": "RoutableLatitude/RoutableLongitude are Yext's driving-destination\ncoordinate, which differs from the display pin (Location.Latitude)\n-- use it for routing, not for map placement.",
+ "type": "number"
},
- "teams": {
+ "routable_longitude": {
+ "type": "number"
+ },
+ "services": {
+ "description": "Services are Yext's plain service labels (\"Dine-In\", \"Takeout\"),\npublished separately from Location.Services' amenity labels.",
"items": {
- "$ref": "#/definitions/fussballde.Option"
+ "type": "string"
},
"type": "array"
}
},
"type": "object"
},
- "fussballde.PlayerSearchResponse": {
+ "fiveguys.StoreResponse": {
"properties": {
- "count": {
- "type": "integer"
- },
- "final": {
- "example": false,
- "type": "boolean"
+ "breadcrumbs": {
+ "description": "Breadcrumbs is the directory trail from the root down to this\nrestaurant, outermost first. Each entry's Path feeds straight back\ninto GET /fiveguys/directory, so a caller landing on a store can\nnavigate back up without a second lookup. The Answers API publishes\na trail too, but with entity ids and no slugs -- only these page\ndocuments carry a usable path, which is why this is store-only.",
+ "items": {
+ "$ref": "#/definitions/fiveguys.DirectoryCrumb"
+ },
+ "type": "array"
},
- "first_name": {
+ "description": {
+ "description": "Description is this restaurant's own published blurb. It is\ntemplated but genuinely per-location (each interpolates its own\nstreet address and city -- confirmed distinct across every sampled\nlocation), unlike the nationally-identical FAQ text this family\ndeliberately does not surface.",
"type": "string"
},
- "last_name": {
+ "fetched_at": {
+ "example": "2026-09-05T12:00:00Z",
"type": "string"
},
- "limit": {
- "type": "integer"
- },
- "offset": {
- "type": "integer"
- },
- "place": {
- "type": "string"
+ "location": {
+ "$ref": "#/definitions/fiveguys.Location"
},
- "players": {
+ "photos": {
+ "description": "Photos are this restaurant's own published gallery images. Sparse:\nmany locations publish none, in which case this is omitted.",
"items": {
- "$ref": "#/definitions/fussballde.PlayerHit"
+ "$ref": "#/definitions/fiveguys.StorePhoto"
},
"type": "array"
},
- "total": {
- "example": 1067,
- "type": "integer"
+ "profile": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/fiveguys.StoreProfile"
+ }
+ ],
+ "description": "Profile is extra per-restaurant detail from Yext's Content Delivery\nAPI -- structured Google amenity attributes, per-location review\nlinks, the store's current featured message, external platform ids,\nand a routing coordinate. Populated best-effort: when the lookup\nfails the rest of the response is still returned, since it is\nenrichment rather than core data."
+ },
+ "source_url": {
+ "example": "https://restaurants.fiveguys.com/703-s-seely-ave",
+ "type": "string"
}
},
"type": "object"
},
- "fussballde.PositionHistoryResponse": {
+ "fiveguys.TaxonomyRef": {
"properties": {
- "competition_id": {
- "type": "string"
- },
- "matchdays": {
+ "id": {
+ "example": 21,
"type": "integer"
},
- "teams": {
- "items": {
- "$ref": "#/definitions/fussballde.TeamPositions"
- },
- "type": "array"
+ "name": {
+ "example": "Menu",
+ "type": "string"
+ },
+ "slug": {
+ "example": "menu",
+ "type": "string"
}
},
"type": "object"
},
- "fussballde.PostalCode": {
+ "fiveguys.TimeInterval": {
"properties": {
- "city": {
- "example": "Dortmund",
- "type": "string"
- },
- "district": {
- "example": "Mitte",
+ "end": {
+ "example": "23:00",
"type": "string"
},
- "postal_code": {
- "example": "44139",
+ "start": {
+ "example": "10:00",
"type": "string"
}
},
"type": "object"
},
- "fussballde.PostalCodesResponse": {
+ "fiveguys.WeeklyHours": {
"properties": {
- "count": {
- "type": "integer"
+ "friday": {
+ "$ref": "#/definitions/fiveguys.DayHours"
},
- "postal_codes": {
- "items": {
- "$ref": "#/definitions/fussballde.PostalCode"
- },
- "type": "array"
+ "monday": {
+ "$ref": "#/definitions/fiveguys.DayHours"
},
- "q": {
- "type": "string"
+ "saturday": {
+ "$ref": "#/definitions/fiveguys.DayHours"
+ },
+ "sunday": {
+ "$ref": "#/definitions/fiveguys.DayHours"
+ },
+ "thursday": {
+ "$ref": "#/definitions/fiveguys.DayHours"
+ },
+ "tuesday": {
+ "$ref": "#/definitions/fiveguys.DayHours"
+ },
+ "wednesday": {
+ "$ref": "#/definitions/fiveguys.DayHours"
}
},
"type": "object"
},
- "fussballde.RoundRef": {
+ "fiveguys.directoryResponseDoc": {
"properties": {
- "id": {
- "example": "0316JUVAIC000000VS5489BTVU7GTVLE-R",
- "type": "string"
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
},
- "name": {
- "example": "2. Hauptrunde",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/fiveguys.DirectoryResponse"
},
- "open": {
- "description": "Open reports whether the page shows the round's matches inline.",
- "type": "boolean"
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "fussballde.ScorerLevel": {
+ "fiveguys.faqCategoriesResponseDoc": {
"properties": {
- "level": {
- "example": "Ebene 4",
- "type": "string"
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
},
- "scorers": {
- "items": {
- "$ref": "#/definitions/fussballde.NationalScorer"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/fiveguys.FAQCategoriesResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "fussballde.ScorerRow": {
+ "fiveguys.faqResponseDoc": {
"properties": {
- "goals": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
- "name": {
- "example": "Niclas Füllkrug",
- "type": "string"
- },
- "player_id": {
- "type": "string"
- },
- "position": {
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/fiveguys.FAQResponse"
},
- "team": {
- "$ref": "#/definitions/fussballde.TeamRef"
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "fussballde.SeasonResult": {
+ "fiveguys.menuResponseDoc": {
"properties": {
- "competition": {
- "example": "Bundesliga / Bundesliga",
- "type": "string"
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
},
- "result": {
- "example": "2. PLATZ",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/fiveguys.MenuResponse"
},
- "season": {
- "example": "25/26",
- "type": "string"
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "fussballde.SquadPlayer": {
+ "fiveguys.nearbyResponseDoc": {
"properties": {
- "appearances": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
- "cells": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "goals": {
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/fiveguys.NearbyResponse"
},
- "minutes": {
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "fiveguys.nutritionResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
- "name": {
- "example": "Anton, Waldemar",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/fiveguys.NutritionGuideResponse"
},
- "player_id": {
- "type": "string"
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "fussballde.StandingsRow": {
+ "fiveguys.orderingLocationsResponseDoc": {
"properties": {
- "cells": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "drawn": {
- "type": "integer"
- },
- "goal_difference": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
- "goals_against": {
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/fiveguys.OrderingLocationsResponse"
},
- "goals_for": {
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "fiveguys.orderingMenuResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
- "lost": {
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/fiveguys.OrderingMenuResponse"
},
- "played": {
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "fiveguys.pagination": {
+ "properties": {
+ "page": {
+ "example": 1,
"type": "integer"
},
- "points": {
+ "per_page": {
+ "example": 20,
"type": "integer"
},
- "position": {
+ "total": {
+ "example": 142,
"type": "integer"
},
- "team": {
- "$ref": "#/definitions/fussballde.TeamRef"
- },
- "won": {
+ "total_pages": {
+ "example": 8,
"type": "integer"
}
},
"type": "object"
},
- "fussballde.StandingsTable": {
+ "fiveguys.searchResponseDoc": {
"properties": {
- "columns": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
},
- "rows": {
- "items": {
- "$ref": "#/definitions/fussballde.StandingsRow"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/fiveguys.SearchResponse"
},
- "title": {
- "example": "Heimtabelle",
- "type": "string"
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "fussballde.StatEntry": {
+ "fiveguys.storeResponseDoc": {
"properties": {
- "label": {
- "example": "Tore",
- "type": "string"
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
},
- "value": {
- "example": "6",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/fiveguys.StoreResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "fussballde.StatValue": {
+ "fiverr.GigPackage": {
"properties": {
- "label": {
- "example": "Tore",
+ "delivery_days": {
+ "description": "Delivery time of the package, in days.",
+ "type": "integer"
+ },
+ "description": {
+ "description": "What the package includes, as written by the seller.",
"type": "string"
},
- "value": {
- "example": "47",
+ "price": {
+ "description": "Package price in dollars.",
+ "type": "number"
+ },
+ "tier": {
+ "description": "Name of the pricing tier, usually Basic, Standard or Premium.",
+ "type": "string"
+ },
+ "title": {
+ "description": "Title of the package as Fiverr shows it.",
"type": "string"
}
},
"type": "object"
},
- "fussballde.TableResponse": {
+ "fiverr.GigResponse": {
"properties": {
- "competition_id": {
+ "category_name": {
+ "description": "Name of the Fiverr category the gig is listed in.",
"type": "string"
},
- "matchday": {
- "example": 3,
- "type": "integer"
+ "description": {
+ "description": "Gig description written by the seller.",
+ "type": "string"
},
- "tables": {
+ "id": {
+ "description": "Fiverr gig id.",
+ "type": "string"
+ },
+ "images": {
+ "description": "URLs of the images in the gig gallery.",
"items": {
- "$ref": "#/definitions/fussballde.StandingsTable"
+ "type": "string"
},
"type": "array"
},
- "view": {
- "example": "overall",
- "type": "string"
- }
- },
- "type": "object"
- },
- "fussballde.TeamDetail": {
- "properties": {
- "club_id": {
- "type": "string"
+ "is_pro": {
+ "description": "Whether the gig is part of Fiverr Pro.",
+ "type": "boolean"
},
- "club_profile": {
+ "orders_in_queue": {
+ "description": "Number of orders currently in the queue for the gig.",
+ "type": "integer"
+ },
+ "packages": {
+ "description": "Pricing packages the gig offers, one per tier.",
"items": {
- "$ref": "#/definitions/fussballde.FactRow"
+ "$ref": "#/definitions/fiverr.GigPackage"
},
"type": "array"
},
- "club_url": {
+ "rating": {
+ "description": "Average rating of the gig.",
+ "type": "number"
+ },
+ "review_count": {
+ "description": "Number of reviews the gig has received.",
+ "type": "integer"
+ },
+ "seller": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/fiverr.GigSeller"
+ }
+ ],
+ "description": "Seller who offers the gig."
+ },
+ "sub_category_name": {
+ "description": "Name of the Fiverr subcategory the gig is listed in.",
"type": "string"
},
- "competitions": {
+ "tags": {
+ "description": "Search tags attached to the gig.",
"items": {
- "$ref": "#/definitions/fussballde.CompetitionLink"
+ "type": "string"
},
"type": "array"
},
- "federation": {
- "example": "Westfalen",
+ "title": {
+ "description": "Gig title as shown on the gig page.",
"type": "string"
},
- "federation_id": {
+ "url": {
+ "description": "URL of the gig page on Fiverr.",
"type": "string"
- },
- "highest_league": {
- "example": "Bundesliga",
+ }
+ },
+ "type": "object"
+ },
+ "fiverr.GigSeller": {
+ "properties": {
+ "country": {
+ "description": "Seller's country code, such as `BD`.",
"type": "string"
},
- "history": {
- "items": {
- "$ref": "#/definitions/fussballde.SeasonResult"
- },
- "type": "array"
- },
- "logo_url": {
+ "description": {
+ "description": "Seller's profile description.",
"type": "string"
},
- "name": {
- "example": "Borussia Dortmund",
+ "display_name": {
+ "description": "Seller's display name.",
"type": "string"
},
- "summary": {
+ "languages": {
+ "description": "Language codes the seller speaks, such as `en`.",
"items": {
- "$ref": "#/definitions/fussballde.FactRow"
+ "type": "string"
},
"type": "array"
},
- "team_id": {
+ "level": {
+ "description": "Seller level: `new_seller`, `level_one_seller`, `level_two_seller` or `top_rated_seller`.",
+ "enum": [
+ "new_seller",
+ "level_one_seller",
+ "level_two_seller",
+ "top_rated_seller"
+ ],
"type": "string"
},
- "team_type": {
- "example": "Herren",
+ "profile_image": {
+ "description": "URL of the seller's profile image.",
"type": "string"
},
- "url": {
- "type": "string"
+ "rating": {
+ "description": "Seller's average rating.",
+ "type": "number"
},
- "venues": {
- "items": {
- "$ref": "#/definitions/fussballde.FactRow"
- },
- "type": "array"
+ "response_time_hours": {
+ "description": "Typical time the seller takes to respond, in hours.",
+ "type": "integer"
+ },
+ "review_count": {
+ "description": "Number of reviews the seller has received.",
+ "type": "integer"
+ },
+ "username": {
+ "description": "Seller's Fiverr username.",
+ "type": "string"
}
},
"type": "object"
},
- "fussballde.TeamMatchesResponse": {
+ "fiverr.GigSummary": {
"properties": {
- "count": {
+ "category_id": {
"type": "integer"
},
- "date_from": {
+ "id": {
"type": "string"
},
- "date_to": {
+ "image": {
"type": "string"
},
- "final": {
+ "is_pro": {
"type": "boolean"
},
- "kind": {
- "type": "string"
+ "rating": {
+ "type": "number"
},
- "limit": {
+ "review_count": {
"type": "integer"
},
- "matches": {
- "items": {
- "$ref": "#/definitions/fussballde.MatchRow"
- },
- "type": "array"
- },
- "offset": {
- "type": "integer"
+ "seller_country": {
+ "type": "string"
},
- "team_id": {
+ "seller_image": {
"type": "string"
- }
- },
- "type": "object"
- },
- "fussballde.TeamPositions": {
- "properties": {
- "positions": {
- "items": {
- "type": "integer"
- },
- "type": "array"
},
- "team": {
- "$ref": "#/definitions/fussballde.TeamRef"
- }
- },
- "type": "object"
- },
- "fussballde.TeamRef": {
- "properties": {
- "club_id": {
- "example": "00ES8GN8N400008VVV0AG08LVUPGND5I",
+ "seller_level": {
+ "enum": [
+ "new_seller",
+ "level_one_seller",
+ "level_two_seller",
+ "top_rated_seller"
+ ],
"type": "string"
},
- "logo_url": {
+ "seller_name": {
"type": "string"
},
- "name": {
- "example": "Borussia Dortmund",
+ "seller_username": {
"type": "string"
},
- "team_id": {
- "example": "011MI8V6UC000000VTVG0001VTR8C1K7",
+ "starting_price": {
+ "type": "number"
+ },
+ "sub_category_id": {
+ "type": "integer"
+ },
+ "title": {
"type": "string"
},
"url": {
@@ -91686,92 +97467,93 @@
},
"type": "object"
},
- "fussballde.TeamSquadResponse": {
+ "fiverr.SearchResponse": {
"properties": {
- "columns": {
+ "gigs": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/fiverr.GigSummary"
},
"type": "array"
},
- "count": {
+ "page": {
"type": "integer"
},
- "kind": {
- "type": "string"
- },
- "players": {
- "items": {
- "$ref": "#/definitions/fussballde.SquadPlayer"
- },
- "type": "array"
- },
- "season": {
- "type": "string"
- },
- "team_id": {
+ "query": {
"type": "string"
}
},
"type": "object"
},
- "fussballde.TeamTypeOption": {
+ "fiverr.SellerResponse": {
"properties": {
- "id": {
- "example": "1",
+ "approved_gigs_count": {
+ "type": "integer"
+ },
+ "country": {
"type": "string"
},
- "leagues": {
+ "description": {
+ "type": "string"
+ },
+ "display_name": {
+ "type": "string"
+ },
+ "gig_ids": {
"items": {
- "$ref": "#/definitions/fussballde.LeagueOption"
+ "type": "string"
},
"type": "array"
},
- "name": {
- "example": "Herren",
- "type": "string"
- }
- },
- "type": "object"
- },
- "fussballde.TopScorersResponse": {
- "properties": {
- "competition_id": {
- "type": "string"
- },
- "count": {
- "type": "integer"
+ "hourly_rate": {
+ "type": "number"
},
- "final": {
- "example": false,
+ "is_pro": {
"type": "boolean"
},
- "limit": {
- "type": "integer"
+ "is_verified": {
+ "type": "boolean"
},
- "offset": {
- "type": "integer"
+ "joined_at": {
+ "type": "string"
},
- "scorers": {
+ "languages": {
"items": {
- "$ref": "#/definitions/fussballde.ScorerRow"
+ "type": "string"
},
"type": "array"
},
- "title": {
+ "level": {
+ "enum": [
+ "new_seller",
+ "level_one_seller",
+ "level_two_seller",
+ "top_rated_seller"
+ ],
+ "type": "string"
+ },
+ "one_liner_title": {
+ "type": "string"
+ },
+ "profile_image": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "username": {
"type": "string"
}
},
"type": "object"
},
- "fussballde.amateurStatsResponseDoc": {
+ "fiverr.gigResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/fussballde.AmateurStatsResponse"
+ "$ref": "#/definitions/fiverr.GigResponse"
},
"msg": {
"example": "OK",
@@ -91780,14 +97562,14 @@
},
"type": "object"
},
- "fussballde.clubMatchesResponseDoc": {
+ "fiverr.searchResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/fussballde.ClubMatchesResponse"
+ "$ref": "#/definitions/fiverr.SearchResponse"
},
"msg": {
"example": "OK",
@@ -91796,14 +97578,14 @@
},
"type": "object"
},
- "fussballde.clubResponseDoc": {
+ "fiverr.sellerResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/fussballde.ClubDetail"
+ "$ref": "#/definitions/fiverr.SellerResponse"
},
"msg": {
"example": "OK",
@@ -91812,1983 +97594,1991 @@
},
"type": "object"
},
- "fussballde.clubSearchResponseDoc": {
+ "flashscore.ArchiveSeason": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "end_year": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/fussballde.ClubSearchResponse"
+ "is_current": {
+ "type": "boolean"
},
- "msg": {
- "example": "OK",
+ "is_requested": {
+ "type": "boolean"
+ },
+ "season": {
+ "type": "string"
+ },
+ "stage_ids": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "start_year": {
+ "type": "string"
+ },
+ "tournament_id": {
+ "description": "TournamentID is the season-level tournament id (the tournament_id of\nevent competition blocks), accepted by flashscore-tournament-outright-odds.",
"type": "string"
+ },
+ "winners": {
+ "items": {
+ "$ref": "#/definitions/flashscore.ArchiveWinner"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "fussballde.competitionOptionsResponseDoc": {
+ "flashscore.ArchiveStage": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "country": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/fussballde.CompetitionOptionsResponse"
+ "end_estimated": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "group": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "is_final": {
+ "type": "boolean"
+ },
+ "name": {
+ "type": "string"
+ },
+ "start_estimated": {
+ "type": "string"
+ },
+ "tabs": {
+ "items": {
+ "$ref": "#/definitions/flashscore.ArchiveTab"
+ },
+ "type": "array"
+ },
+ "tournament": {
"type": "string"
+ },
+ "type_id": {
+ "type": "integer"
}
},
"type": "object"
},
- "fussballde.competitionsResponseDoc": {
+ "flashscore.ArchiveTab": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/fussballde.CompetitionsResponse"
+ "id": {
+ "enum": [
+ "SU",
+ "OD",
+ "TA",
+ "RE",
+ "FI",
+ "DR",
+ "NF"
+ ],
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "name": {
"type": "string"
}
},
"type": "object"
},
- "fussballde.federationResponseDoc": {
+ "flashscore.ArchiveWinner": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "id": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/fussballde.FederationDetail"
+ "name": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "slug": {
"type": "string"
}
},
"type": "object"
},
- "fussballde.filtersResponseDoc": {
+ "flashscore.CareerCompetition": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/fussballde.FiltersResponse"
+ "name": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "path": {
"type": "string"
}
},
"type": "object"
},
- "fussballde.matchCalendarResponseDoc": {
+ "flashscore.CareerPart": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/fussballde.MatchCalendarResponse"
- },
- "msg": {
- "example": "OK",
+ "stage": {
"type": "string"
+ },
+ "stats": {
+ "additionalProperties": {},
+ "type": "object"
}
},
"type": "object"
},
- "fussballde.matchComparisonResponseDoc": {
+ "flashscore.CareerRow": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "competition": {
+ "$ref": "#/definitions/flashscore.CareerCompetition"
},
- "data": {
- "$ref": "#/definitions/fussballde.MatchComparisonResponse"
+ "parts": {
+ "items": {
+ "$ref": "#/definitions/flashscore.CareerPart"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "season": {
"type": "string"
+ },
+ "stats": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "team": {
+ "$ref": "#/definitions/flashscore.CareerTeam"
}
},
"type": "object"
},
- "fussballde.matchPlanResponseDoc": {
+ "flashscore.CareerTab": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "columns": {
+ "items": {
+ "$ref": "#/definitions/flashscore.SquadColumn"
+ },
+ "type": "array"
},
- "data": {
- "$ref": "#/definitions/fussballde.MatchPlanResponse"
+ "key": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "name": {
"type": "string"
+ },
+ "rows": {
+ "items": {
+ "$ref": "#/definitions/flashscore.CareerRow"
+ },
+ "type": "array"
+ },
+ "total": {
+ "additionalProperties": {},
+ "type": "object"
}
},
"type": "object"
},
- "fussballde.matchResponseDoc": {
+ "flashscore.CareerTeam": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "id": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/fussballde.MatchDetail"
+ "name": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "path": {
+ "type": "string"
+ },
+ "slug": {
"type": "string"
}
},
"type": "object"
},
- "fussballde.matchdayResponseDoc": {
+ "flashscore.CommentaryLine": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "clock": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/fussballde.MatchdayResponse"
+ "minute": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "text": {
+ "type": "string"
+ },
+ "type": {
"type": "string"
}
},
"type": "object"
},
- "fussballde.nationalTopScorersResponseDoc": {
+ "flashscore.EntityNewsResponse": {
"properties": {
- "code": {
- "example": 200,
+ "article_count": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/fussballde.NationalTopScorersResponse"
+ "entity": {
+ "$ref": "#/definitions/flashscore.EntityNewsTag"
},
- "msg": {
- "example": "OK",
+ "id": {
+ "type": "string"
+ },
+ "sections": {
+ "items": {
+ "$ref": "#/definitions/flashscore.EntityNewsSection"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "team",
+ "player",
+ "tournament",
+ "sport"
+ ],
"type": "string"
}
},
"type": "object"
},
- "fussballde.newsArticleResponseDoc": {
+ "flashscore.EntityNewsSection": {
"properties": {
- "code": {
- "example": 200,
+ "article_count": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/fussballde.NewsArticle"
+ "article_ids": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "section_type": {
+ "enum": [
+ "MOST_RECENT",
+ "TOPPED"
+ ],
+ "type": "string"
+ },
+ "title": {
"type": "string"
}
},
"type": "object"
},
- "fussballde.newsResponseDoc": {
+ "flashscore.EntityNewsTag": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "entity_id": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/fussballde.NewsResponse"
+ "entity_type": {
+ "enum": [
+ "PARTICIPANT",
+ "TOURNAMENT_TEMPLATE",
+ "SPORT"
+ ],
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "label": {
+ "type": "string"
+ },
+ "slug": {
"type": "string"
}
},
"type": "object"
},
- "fussballde.newsSearchResponseDoc": {
+ "flashscore.EventCompetition": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "country": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/fussballde.NewsSearchResponse"
+ "full_name": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "id": {
+ "description": "ID is the tournament template (competition) id.",
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "path": {
+ "type": "string"
+ },
+ "stage_id": {
+ "description": "StageID is the legacy name of TournamentID and carries the same value.",
+ "type": "string"
+ },
+ "tournament_id": {
+ "description": "TournamentID is the season-level tournament id (feed key ZE), the input\nof flashscore-tournament-outright-odds.",
+ "type": "string"
+ },
+ "tournament_stage_id": {
+ "description": "TournamentStageID is the tournament stage id (feed key ZC), the input of\nflashscore-tournament-archive-seasons.",
"type": "string"
}
},
"type": "object"
},
- "fussballde.playerMatchesResponseDoc": {
+ "flashscore.EventSide": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "id": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/fussballde.PlayerMatchesResponse"
+ "logo_url": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "name": {
+ "type": "string"
+ },
+ "short_name": {
+ "type": "string"
+ },
+ "slug": {
"type": "string"
}
},
"type": "object"
},
- "fussballde.playerResponseDoc": {
+ "flashscore.IncidentAction": {
"properties": {
- "code": {
- "example": 200,
+ "away_score": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/fussballde.PlayerDetail"
+ "home_score": {
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "label": {
"type": "string"
- }
- },
- "type": "object"
- },
- "fussballde.playerSearchResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/fussballde.PlayerSearchResponse"
- },
- "msg": {
- "example": "OK",
+ "player": {
"type": "string"
- }
- },
- "type": "object"
- },
- "fussballde.positionHistoryResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/fussballde.PositionHistoryResponse"
},
- "msg": {
- "example": "OK",
+ "player_id": {
"type": "string"
- }
- },
- "type": "object"
- },
- "fussballde.postalCodesResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/fussballde.PostalCodesResponse"
+ "player_path": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "reason": {
"type": "string"
+ },
+ "type_code": {
+ "type": "integer"
}
},
"type": "object"
},
- "fussballde.tableResponseDoc": {
+ "flashscore.MatchCommentaryResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "comments": {
+ "items": {
+ "$ref": "#/definitions/flashscore.CommentaryLine"
+ },
+ "type": "array"
},
- "data": {
- "$ref": "#/definitions/fussballde.TableResponse"
+ "match_id": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "fussballde.teamMatchesResponseDoc": {
+ "flashscore.MatchIncident": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "actions": {
+ "items": {
+ "$ref": "#/definitions/flashscore.IncidentAction"
+ },
+ "type": "array"
},
- "data": {
- "$ref": "#/definitions/fussballde.TeamMatchesResponse"
+ "id": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "period": {
"type": "string"
- }
- },
- "type": "object"
- },
- "fussballde.teamResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/fussballde.TeamDetail"
+ "side": {
+ "enum": [
+ "home",
+ "away"
+ ],
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "time": {
"type": "string"
}
},
"type": "object"
},
- "fussballde.teamSquadResponseDoc": {
+ "flashscore.MatchIncidentsResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "incidents": {
+ "items": {
+ "$ref": "#/definitions/flashscore.MatchIncident"
+ },
+ "type": "array"
},
- "data": {
- "$ref": "#/definitions/fussballde.TeamSquadResponse"
+ "match_id": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "fussballde.topScorersResponseDoc": {
+ "flashscore.MostReadArticle": {
"properties": {
- "code": {
- "example": 200,
+ "edited_at": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/fussballde.TopScorersResponse"
+ "id": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "image_alt": {
"type": "string"
- }
- },
- "type": "object"
- },
- "gamerant.AuthorResponse": {
- "properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/newsplatform.HeadlineItem"
- },
- "type": "array"
},
- "biography": {
+ "image_credit": {
"type": "string"
},
"image_url": {
"type": "string"
},
- "name": {
+ "path": {
"type": "string"
},
- "social_links": {
- "items": {
- "$ref": "#/definitions/valnet.AuthorSocialLink"
- },
- "type": "array"
+ "published_at": {
+ "type": "integer"
+ },
+ "published_at_iso": {
+ "type": "string"
+ },
+ "slug": {
+ "type": "string"
},
"title": {
"type": "string"
},
- "url": {
+ "type": {
"type": "string"
}
},
"type": "object"
},
- "gamesradar.AuthorResponse": {
+ "flashscore.NewsArticleBody": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/newsplatform.HeadlineItem"
- },
- "type": "array"
+ "author": {
+ "type": "string"
},
- "biography": {
+ "block_count": {
+ "type": "integer"
+ },
+ "blocks": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/flashscore.NewsBodyBlock"
},
"type": "array"
},
- "has_next_page": {
- "type": "boolean"
+ "credit": {
+ "type": "string"
},
- "job_title": {
+ "edited_at": {
+ "type": "integer"
+ },
+ "edited_at_iso": {
"type": "string"
},
- "name": {
+ "id": {
"type": "string"
},
- "page": {
+ "image": {
+ "$ref": "#/definitions/flashscore.NewsCoverImage"
+ },
+ "perex": {
+ "type": "string"
+ },
+ "published_at": {
"type": "integer"
},
+ "published_at_iso": {
+ "type": "string"
+ },
"slug": {
"type": "string"
},
- "social_links": {
+ "tags": {
"items": {
- "$ref": "#/definitions/gamesradar.AuthorSocialLink"
+ "$ref": "#/definitions/flashscore.NewsArticleTag"
},
"type": "array"
},
+ "text": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
"url": {
"type": "string"
}
},
"type": "object"
},
- "gamesradar.AuthorSocialLink": {
+ "flashscore.NewsArticleBodyResponse": {
"properties": {
- "platform": {
- "type": "string"
+ "article": {
+ "$ref": "#/definitions/flashscore.NewsArticleBody"
},
- "url": {
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "gbnews.AuthorResponse": {
+ "flashscore.NewsArticleTag": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/newsplatform.HeadlineItem"
- },
- "type": "array"
- },
- "biography": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "image_url": {
+ "entity_id": {
"type": "string"
},
- "name": {
+ "entity_type": {
+ "enum": [
+ "SPORT",
+ "PARTICIPANT",
+ "TOURNAMENT_TEMPLATE",
+ "TAG"
+ ],
"type": "string"
},
- "role": {
+ "label": {
"type": "string"
},
"slug": {
"type": "string"
- },
- "url": {
- "type": "string"
}
},
"type": "object"
},
- "gdelt.Article": {
+ "flashscore.NewsBodyBlock": {
"properties": {
- "domain": {
- "example": "example.com",
+ "alt": {
"type": "string"
},
- "language": {
- "example": "English",
+ "credit": {
"type": "string"
},
- "seen_at": {
- "example": "2026-08-19T23:00:00Z",
+ "height": {
+ "type": "integer"
+ },
+ "id": {
"type": "string"
},
- "social_image_url": {
- "example": "https://www.example.com/images/social.jpg",
+ "level": {
+ "type": "integer"
+ },
+ "links": {
+ "items": {
+ "$ref": "#/definitions/flashscore.NewsBodyLink"
+ },
+ "type": "array"
+ },
+ "provider": {
"type": "string"
},
- "source_country": {
- "example": "United States",
+ "text": {
"type": "string"
},
- "title": {
- "example": "Climate report warns of rising sea levels",
+ "type": {
+ "enum": [
+ "paragraph",
+ "heading",
+ "embed",
+ "image",
+ "infobox"
+ ],
"type": "string"
},
"url": {
- "example": "https://www.example.com/news/climate-report",
"type": "string"
+ },
+ "width": {
+ "type": "integer"
}
},
"type": "object"
},
- "gdelt.ContextArticle": {
+ "flashscore.NewsBodyLink": {
"properties": {
- "context": {
- "example": "The report, released Tuesday, warns that coastal cities face rising seas driven by accelerating climate change. Officials called for immediate action.",
+ "id": {
"type": "string"
},
- "domain": {
- "example": "example.com",
+ "kind": {
+ "enum": [
+ "link",
+ "participant",
+ "player",
+ "event",
+ "tournament",
+ "article"
+ ],
"type": "string"
},
- "is_quote": {
- "example": false,
- "type": "boolean"
- },
- "language": {
- "example": "ENGLISH",
- "type": "string"
+ "sport_id": {
+ "type": "integer"
},
- "seen_at": {
- "example": "2026-08-19T23:00:00Z",
+ "text": {
"type": "string"
},
- "sentence": {
- "example": "Coastal cities face rising seas driven by accelerating climate change.",
+ "url": {
"type": "string"
- },
- "social_image_url": {
- "example": "https://www.example.com/images/social.jpg",
+ }
+ },
+ "type": "object"
+ },
+ "flashscore.NewsCoverImage": {
+ "properties": {
+ "alt_text": {
"type": "string"
},
- "title": {
- "example": "Climate report warns of rising sea levels",
+ "credit": {
"type": "string"
},
"url": {
- "example": "https://www.example.com/news/climate-report",
"type": "string"
}
},
"type": "object"
},
- "gdelt.ContextResponse": {
+ "flashscore.NewsMostReadResponse": {
"properties": {
+ "article_count": {
+ "type": "integer"
+ },
"articles": {
"items": {
- "$ref": "#/definitions/gdelt.ContextArticle"
+ "$ref": "#/definitions/flashscore.MostReadArticle"
},
"type": "array"
},
- "count": {
- "example": 8,
- "type": "integer"
- },
- "fetched_at": {
- "example": "2026-08-20T10:00:00Z",
- "type": "string"
- },
- "maxrecords": {
- "example": 75,
- "type": "integer"
- },
- "query": {
- "example": "climate change",
- "type": "string"
- },
- "sort": {
- "example": "relevance",
- "type": "string"
- },
"source_url": {
- "example": "https://api.gdeltproject.org/api/v2/context/context?format=json&maxrecords=75&mode=artlist&query=climate+change×pan=24h",
"type": "string"
}
},
"type": "object"
},
- "gdelt.SearchResponse": {
+ "flashscore.OddsBookmaker": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/gdelt.Article"
- },
- "type": "array"
- },
- "count": {
- "example": 12,
+ "id": {
"type": "integer"
},
- "fetched_at": {
- "example": "2026-08-20T10:00:00Z",
+ "name": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "flashscore.OutrightOffer": {
+ "properties": {
+ "active": {
+ "type": "boolean"
},
- "maxrecords": {
- "example": 75,
- "type": "integer"
+ "best": {
+ "type": "boolean"
},
- "query": {
- "example": "climate change",
- "type": "string"
+ "bookmaker_id": {
+ "type": "integer"
},
- "sort": {
- "example": "relevance",
+ "change": {
+ "enum": [
+ "UP",
+ "DOWN"
+ ],
"type": "string"
},
- "source_url": {
- "example": "https://api.gdeltproject.org/api/v2/doc/doc?format=json&maxrecords=75&mode=artlist&query=climate+change",
- "type": "string"
+ "odds": {
+ "type": "number"
}
},
"type": "object"
},
- "gdelt.TVCapNlpEntityDetailsResponse": {
+ "flashscore.OutrightParticipant": {
"properties": {
- "entities": {
- "items": {
- "$ref": "#/definitions/gdelt.TVConceptEntity"
- },
- "type": "array"
- },
- "fetched_at": {
- "example": "2026-08-20T10:00:00Z",
+ "id": {
"type": "string"
},
- "source_url": {
- "example": "https://api.gdeltproject.org/api/v2/tvai/tvai?format=json&mode=capnlpentitydetails&maxrecords=100",
+ "name": {
"type": "string"
+ },
+ "offers": {
+ "items": {
+ "$ref": "#/definitions/flashscore.OutrightOffer"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "gdelt.TVClip": {
+ "flashscore.OutrightTournament": {
"properties": {
- "caption": {
- "example": "climate",
+ "id": {
"type": "string"
},
- "caption_concepts": {
- "example": "/M/0d063v",
+ "name": {
"type": "string"
},
- "clip_url": {
- "example": "https://archive.org/details/CNNW_20190503_160000_Inside_Politics/start/3656",
+ "offers": {
+ "items": {
+ "$ref": "#/definitions/flashscore.OutrightOffer"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "flashscore.PlayerDetail": {
+ "properties": {
+ "label": {
"type": "string"
},
- "matched_at": {
- "example": "2019-05-03T17:00:56Z",
+ "value": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "flashscore.PlayerEventsResponse": {
+ "properties": {
+ "event_count": {
+ "type": "integer"
},
- "onscreen_text": {
- "example": "BREAKING NEWS: SEA LEVELS RISING",
- "type": "string"
+ "events": {
+ "items": {
+ "$ref": "#/definitions/flashscore.TeamEvent"
+ },
+ "type": "array"
},
- "show": {
- "example": "Inside Politics",
- "type": "string"
+ "page": {
+ "type": "integer"
},
- "show_start_at": {
- "example": "2019-05-03T16:00:00Z",
+ "player_id": {
"type": "string"
},
- "station": {
- "example": "cnn",
+ "player_name": {
"type": "string"
},
- "thumbnail_url": {
- "example": "http://data.gdeltproject.org/televisionexplorer/thumbnails/CNNW_20190503_160000_Inside_Politics-003656.jpg",
+ "section": {
"type": "string"
},
- "transcript": {
- "example": "climate change the",
+ "source_url": {
"type": "string"
- },
- "visual_entities": {
- "example": [
- "person",
- "news",
- "weather"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
}
},
"type": "object"
},
- "gdelt.TVClipSearchResponse": {
+ "flashscore.PlayerInjuriesResponse": {
"properties": {
- "clips": {
+ "injuries": {
"items": {
- "$ref": "#/definitions/gdelt.TVClip"
+ "$ref": "#/definitions/flashscore.PlayerInjury"
},
"type": "array"
},
- "count": {
- "example": 3,
+ "injury_count": {
"type": "integer"
},
- "fetched_at": {
- "example": "2026-08-20T10:00:00Z",
+ "page_url": {
"type": "string"
},
- "maxrecords": {
- "example": 50,
- "type": "integer"
+ "player": {
+ "$ref": "#/definitions/flashscore.PlayerProfile"
},
- "query": {
- "example": "cap:\"climate change\" station:CNN",
+ "source_url": {
"type": "string"
- },
- "sort": {
- "example": "relevance",
+ }
+ },
+ "type": "object"
+ },
+ "flashscore.PlayerInjury": {
+ "properties": {
+ "from": {
"type": "string"
},
- "source_url": {
- "example": "https://api.gdeltproject.org/api/v2/tvai/tvai?format=json&maxrecords=50&mode=clipgallery&query=cap%3A%22climate+change%22+station%3ACNN",
+ "type": {
"type": "string"
},
- "station": {
- "example": "CNN",
+ "until": {
"type": "string"
}
},
"type": "object"
},
- "gdelt.TVConceptEntity": {
+ "flashscore.PlayerMatchLogAbsence": {
"properties": {
- "label": {
- "example": "DONALD TRUMP",
+ "category": {
"type": "string"
},
- "mid": {
- "example": "/m/0cqt90",
+ "detail": {
"type": "string"
}
},
"type": "object"
},
- "gdelt.TVShowChartResponse": {
+ "flashscore.PlayerMatchLogResponse": {
"properties": {
- "fetched_at": {
- "example": "2026-08-20T10:00:00Z",
- "type": "string"
+ "has_more": {
+ "type": "boolean"
},
- "query": {
- "example": "cap:\"trump\" station:CNN",
- "type": "string"
+ "page": {
+ "type": "integer"
},
- "shows": {
+ "player": {
+ "$ref": "#/definitions/flashscore.PlayerProfile"
+ },
+ "row_count": {
+ "type": "integer"
+ },
+ "rows": {
"items": {
- "$ref": "#/definitions/gdelt.TVShowCount"
+ "$ref": "#/definitions/flashscore.PlayerMatchLogRow"
},
"type": "array"
},
"source_url": {
- "example": "https://api.gdeltproject.org/api/v2/tvai/tvai?format=json&mode=showchart&query=cap%3A%22trump%22+station%3ACNN",
"type": "string"
}
},
"type": "object"
},
- "gdelt.TVShowCount": {
+ "flashscore.PlayerMatchLogRow": {
"properties": {
- "count": {
- "example": 7.8383,
- "type": "number"
+ "absence": {
+ "$ref": "#/definitions/flashscore.PlayerMatchLogAbsence"
},
- "show": {
- "example": "Anderson Cooper 360",
- "type": "string"
- }
- },
- "type": "object"
- },
- "gdelt.TVStation": {
- "properties": {
- "id": {
- "example": "CNN",
- "type": "string"
+ "away": {
+ "$ref": "#/definitions/flashscore.PlayerMatchLogSide"
},
- "label": {
- "example": "CNN",
+ "date": {
"type": "string"
},
- "label_long": {
- "example": "CNN (1/1/2020 - Now)",
+ "date_text": {
"type": "string"
- }
- },
- "type": "object"
- },
- "gdelt.TVStationChartResponse": {
- "properties": {
- "fetched_at": {
- "example": "2026-08-20T10:00:00Z",
+ },
+ "event_id": {
"type": "string"
},
- "query": {
- "example": "cap:\"trump\" (station:CNN OR station:MSNBC)",
+ "home": {
+ "$ref": "#/definitions/flashscore.PlayerMatchLogSide"
+ },
+ "rating": {
+ "type": "number"
+ },
+ "rating_rank": {
+ "type": "integer"
+ },
+ "result": {
+ "enum": [
+ "win",
+ "draw",
+ "loss"
+ ],
"type": "string"
},
- "source_url": {
- "example": "https://api.gdeltproject.org/api/v2/tvai/tvai?format=json&mode=stationchart&query=cap%3A%22trump%22+%28station%3ACNN+OR+station%3AMSNBC%29",
+ "stage": {
+ "enum": [
+ "finished",
+ "finished_after_extra_time",
+ "finished_after_penalties",
+ "other"
+ ],
"type": "string"
},
- "stations": {
+ "stage_code": {
+ "type": "integer"
+ },
+ "stats": {
"items": {
- "$ref": "#/definitions/gdelt.TVStationCount"
+ "$ref": "#/definitions/flashscore.PlayerMatchLogStat"
},
"type": "array"
+ },
+ "stats_available": {
+ "type": "boolean"
+ },
+ "tournament": {
+ "$ref": "#/definitions/flashscore.PlayerMatchLogTournament"
}
},
"type": "object"
},
- "gdelt.TVStationCount": {
+ "flashscore.PlayerMatchLogSide": {
"properties": {
- "count": {
- "example": 877267,
+ "full_time_score": {
"type": "integer"
},
- "station": {
- "example": "CNN",
+ "id": {
+ "type": "string"
+ },
+ "logo_url": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "penalties_score": {
+ "type": "integer"
+ },
+ "score": {
+ "type": "integer"
+ },
+ "score_after_extra_time": {
+ "type": "integer"
+ },
+ "short_name": {
+ "type": "string"
+ },
+ "slug": {
"type": "string"
}
},
"type": "object"
},
- "gdelt.TVStationDetailsResponse": {
+ "flashscore.PlayerMatchLogStat": {
"properties": {
- "fetched_at": {
- "example": "2026-08-20T10:00:00Z",
+ "id": {
+ "description": "ID is Flashscore's numeric statistic id.",
+ "type": "integer"
+ },
+ "key": {
"type": "string"
},
- "source_url": {
- "example": "https://api.gdeltproject.org/api/v2/tvai/tvai?format=json&mode=stationdetails",
+ "label": {
"type": "string"
},
- "stations": {
- "items": {
- "$ref": "#/definitions/gdelt.TVStation"
- },
- "type": "array"
+ "value": {
+ "description": "Value is the displayed value: \"90'\", \"29:21\", \"32-33\", \"97.00%\" or a number.",
+ "type": "string"
}
},
"type": "object"
},
- "gdelt.TVTimelineResponse": {
+ "flashscore.PlayerMatchLogTournament": {
"properties": {
- "fetched_at": {
- "example": "2026-08-20T10:00:00Z",
+ "country": {
"type": "string"
},
- "query": {
- "example": "cap:\"climate change\" station:CNN",
- "type": "string"
+ "country_id": {
+ "type": "integer"
},
- "series": {
- "items": {
- "$ref": "#/definitions/gdelt.TimelineSeries"
- },
- "type": "array"
+ "name": {
+ "type": "string"
},
- "source_url": {
- "example": "https://api.gdeltproject.org/api/v2/tvai/tvai?format=json&mode=timelinevol&query=cap%3A%22climate+change%22+station%3ACNN",
+ "path": {
"type": "string"
},
- "station": {
- "example": "CNN",
+ "season": {
"type": "string"
- }
- },
- "type": "object"
- },
- "gdelt.TVVisualEntity": {
- "properties": {
- "label": {
- "example": "person",
+ },
+ "short_code": {
"type": "string"
}
},
"type": "object"
},
- "gdelt.TVVisualEntityDetailsResponse": {
+ "flashscore.PlayerNewsResponse": {
"properties": {
- "entities": {
+ "item_count": {
+ "type": "integer"
+ },
+ "items": {
"items": {
- "$ref": "#/definitions/gdelt.TVVisualEntity"
+ "$ref": "#/definitions/flashscore.TeamNewsItem"
},
"type": "array"
},
- "fetched_at": {
- "example": "2026-08-20T10:00:00Z",
+ "player_id": {
"type": "string"
},
- "source_url": {
- "example": "https://api.gdeltproject.org/api/v2/tvai/tvai?format=json&mode=visualentitydetails&maxrecords=100",
+ "player_name": {
"type": "string"
- }
- },
- "type": "object"
- },
- "gdelt.TVWordCloudEntry": {
- "properties": {
- "count": {
- "example": 100,
- "type": "number"
},
- "label": {
- "example": "Trump",
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "gdelt.TVWordCloudResponse": {
+ "flashscore.PlayerProfile": {
"properties": {
- "channel": {
- "example": "caption",
+ "birth_date": {
"type": "string"
},
- "fetched_at": {
- "example": "2026-08-20T10:00:00Z",
+ "country": {
"type": "string"
},
- "query": {
- "example": "cap:\"trump\" station:CNN",
- "type": "string"
+ "country_id": {
+ "type": "integer"
},
- "source_url": {
- "example": "https://api.gdeltproject.org/api/v2/tvai/tvai?format=json&mode=wordcloudcap&query=cap%3A%22trump%22+station%3ACNN",
+ "full_name": {
"type": "string"
},
- "words": {
- "items": {
- "$ref": "#/definitions/gdelt.TVWordCloudEntry"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "gdelt.TimelinePoint": {
- "properties": {
- "date": {
- "example": "2026-08-19T00:00:00Z",
+ "id": {
"type": "string"
},
- "value": {
- "example": 1.42,
- "type": "number"
- }
- },
- "type": "object"
- },
- "gdelt.TimelineResponse": {
- "properties": {
- "fetched_at": {
- "example": "2026-08-20T10:00:00Z",
+ "name": {
"type": "string"
},
- "metric": {
- "example": "volume",
+ "path": {
"type": "string"
},
- "query": {
- "example": "climate change",
+ "photo_url": {
"type": "string"
},
- "series": {
- "items": {
- "$ref": "#/definitions/gdelt.TimelineSeries"
- },
- "type": "array"
- },
- "source_url": {
- "example": "https://api.gdeltproject.org/api/v2/doc/doc?format=json&mode=timelinevol&query=climate+change",
+ "ranking": {
"type": "string"
- }
- },
- "type": "object"
- },
- "gdelt.TimelineSeries": {
- "properties": {
- "points": {
- "items": {
- "$ref": "#/definitions/gdelt.TimelinePoint"
- },
- "type": "array"
},
- "series": {
- "example": "climate change",
+ "slug": {
"type": "string"
- }
- },
- "type": "object"
- },
- "gdelt.ToneChartArticle": {
- "properties": {
- "title": {
- "example": "Climate report warns of rising sea levels",
+ },
+ "sport": {
"type": "string"
},
+ "sport_id": {
+ "type": "integer"
+ },
+ "team": {
+ "$ref": "#/definitions/flashscore.PlayerTeam"
+ },
"url": {
- "example": "https://www.example.com/news/climate-report",
"type": "string"
}
},
"type": "object"
},
- "gdelt.ToneChartBin": {
+ "flashscore.PlayerResponse": {
"properties": {
- "bin": {
- "example": -5,
- "type": "integer"
- },
- "count": {
- "example": 12,
+ "age": {
"type": "integer"
},
- "top_articles": {
+ "career": {
"items": {
- "$ref": "#/definitions/gdelt.ToneChartArticle"
+ "$ref": "#/definitions/flashscore.CareerTab"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "gdelt.ToneChartResponse": {
- "properties": {
- "bins": {
+ },
+ "contract_expires": {
+ "type": "string"
+ },
+ "details": {
"items": {
- "$ref": "#/definitions/gdelt.ToneChartBin"
+ "$ref": "#/definitions/flashscore.PlayerDetail"
},
"type": "array"
},
- "fetched_at": {
- "example": "2026-08-20T10:00:00Z",
+ "market_value": {
"type": "string"
},
- "query": {
- "example": "climate change",
+ "page_url": {
+ "type": "string"
+ },
+ "player": {
+ "$ref": "#/definitions/flashscore.PlayerProfile"
+ },
+ "position": {
"type": "string"
},
"source_url": {
- "example": "https://api.gdeltproject.org/api/v2/doc/doc?format=json&mode=tonechart&query=climate+change",
"type": "string"
}
},
"type": "object"
},
- "gdelt.contextResponseDoc": {
+ "flashscore.PlayerTeam": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "id": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/gdelt.ContextResponse"
+ "logo_url": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "name": {
+ "type": "string"
+ },
+ "path": {
+ "type": "string"
+ },
+ "slug": {
"type": "string"
}
},
"type": "object"
},
- "gdelt.searchResponseDoc": {
+ "flashscore.PlayerTransfer": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "date": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/gdelt.SearchResponse"
+ "fee": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "from": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/flashscore.TransferTeam"
+ }
+ ],
+ "description": "From and To are null when the page shows no club on that side."
+ },
+ "to": {
+ "$ref": "#/definitions/flashscore.TransferTeam"
+ },
+ "type": {
"type": "string"
}
},
"type": "object"
},
- "gdelt.timelineResponseDoc": {
+ "flashscore.PlayerTransfersResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "page_url": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/gdelt.TimelineResponse"
+ "player": {
+ "$ref": "#/definitions/flashscore.PlayerProfile"
},
- "msg": {
- "example": "OK",
+ "source_url": {
"type": "string"
+ },
+ "transfer_count": {
+ "type": "integer"
+ },
+ "transfers": {
+ "items": {
+ "$ref": "#/definitions/flashscore.PlayerTransfer"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "gdelt.toneChartResponseDoc": {
+ "flashscore.PrematchScorer": {
"properties": {
- "code": {
- "example": 200,
+ "goals": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/gdelt.ToneChartResponse"
+ "name": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "player_id": {
"type": "string"
}
},
"type": "object"
},
- "gdelt.tvCapNlpEntityDetailsResponseDoc": {
+ "flashscore.PrematchScorerGoal": {
"properties": {
- "code": {
- "example": 200,
+ "goals": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/gdelt.TVCapNlpEntityDetailsResponse"
- },
- "msg": {
- "example": "OK",
+ "player_id": {
"type": "string"
}
},
"type": "object"
},
- "gdelt.tvSearchResponseDoc": {
+ "flashscore.PrematchScorerMatch": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "id": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/gdelt.TVClipSearchResponse"
+ "player_goals": {
+ "items": {
+ "$ref": "#/definitions/flashscore.PrematchScorerGoal"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
- "type": "string"
+ "start_time": {
+ "type": "integer"
}
},
"type": "object"
},
- "gdelt.tvShowChartResponseDoc": {
+ "flashscore.PrematchScorerStat": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "raw_value": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/gdelt.TVShowChartResponse"
+ "type_id": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "value": {
"type": "string"
}
},
"type": "object"
},
- "gdelt.tvStationChartResponseDoc": {
+ "flashscore.PrematchScorerTeam": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "competition_stats": {
+ "items": {
+ "$ref": "#/definitions/flashscore.PrematchScorerStat"
+ },
+ "type": "array"
},
- "data": {
- "$ref": "#/definitions/gdelt.TVStationChartResponse"
+ "name": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "recent_matches": {
+ "items": {
+ "$ref": "#/definitions/flashscore.PrematchScorerMatch"
+ },
+ "type": "array"
+ },
+ "recent_stats": {
+ "items": {
+ "$ref": "#/definitions/flashscore.PrematchScorerStat"
+ },
+ "type": "array"
+ },
+ "side": {
+ "enum": [
+ "home",
+ "away"
+ ],
"type": "string"
+ },
+ "top_scorers": {
+ "items": {
+ "$ref": "#/definitions/flashscore.PrematchScorer"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "gdelt.tvStationDetailsResponseDoc": {
+ "flashscore.PrematchScorersResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/gdelt.TVStationDetailsResponse"
+ "match_id": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "source_url": {
"type": "string"
+ },
+ "stat_types": {
+ "items": {
+ "$ref": "#/definitions/flashscore.ScorerStatType"
+ },
+ "type": "array"
+ },
+ "teams": {
+ "items": {
+ "$ref": "#/definitions/flashscore.PrematchScorerTeam"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "gdelt.tvTimelineResponseDoc": {
+ "flashscore.ScorerStatType": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/gdelt.TVTimelineResponse"
+ "id": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "label": {
"type": "string"
}
},
"type": "object"
},
- "gdelt.tvVisualEntityDetailsResponseDoc": {
+ "flashscore.SquadColumn": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/gdelt.TVVisualEntityDetailsResponse"
+ "key": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "label": {
"type": "string"
}
},
"type": "object"
},
- "gdelt.tvWordCloudResponseDoc": {
+ "flashscore.SquadGroup": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/gdelt.TVWordCloudResponse"
+ "columns": {
+ "items": {
+ "$ref": "#/definitions/flashscore.SquadColumn"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "name": {
"type": "string"
+ },
+ "players": {
+ "items": {
+ "$ref": "#/definitions/flashscore.SquadPlayer"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "geocoding.Address": {
+ "flashscore.SquadPlayer": {
"properties": {
- "ISO3166-2-lvl4": {
- "description": "ISO 3166-2 code for the state or region level, such as `US-NY`.",
- "example": "US-NY",
+ "absence": {
"type": "string"
},
- "ISO3166-2-lvl6": {
- "description": "ISO 3166-2 code for the level-6 administrative area, when one exists.",
- "type": "string"
+ "age": {
+ "type": "integer"
},
- "city": {
- "description": "City of the place.",
- "example": "New York",
+ "club": {
"type": "string"
},
"country": {
- "description": "Country name of the place.",
- "example": "United States",
- "type": "string"
- },
- "country_code": {
- "description": "Two-letter country code of the place in lowercase, such as `us`.",
- "example": "us",
- "type": "string"
- },
- "county": {
- "description": "County of the place.",
- "example": "New York County",
- "type": "string"
- },
- "house_number": {
- "description": "House number of the place.",
- "example": "350",
- "type": "string"
- },
- "neighbourhood": {
- "description": "Neighbourhood of the place.",
- "example": "Koreatown",
- "type": "string"
- },
- "office": {
- "description": "Office name of the place, such as `Empire State Building`.",
- "example": "Empire State Building",
- "type": "string"
- },
- "postcode": {
- "description": "Postal code of the place.",
- "example": "10118",
"type": "string"
},
- "road": {
- "description": "Street name of the place.",
- "example": "5th Avenue",
+ "jersey_number": {
"type": "string"
},
- "state": {
- "description": "State or region of the place.",
- "example": "New York",
+ "name": {
"type": "string"
},
- "state_district": {
- "description": "State district of the place.",
+ "path": {
"type": "string"
},
- "suburb": {
- "description": "Suburb or borough of the place.",
- "example": "Manhattan",
+ "player_id": {
"type": "string"
},
- "town": {
- "description": "Town of the place.",
+ "slug": {
"type": "string"
},
- "village": {
- "description": "Village of the place.",
- "type": "string"
+ "stats": {
+ "additionalProperties": {},
+ "type": "object"
}
},
"type": "object"
},
- "geocoding.LookupResponse": {
+ "flashscore.SquadScope": {
"properties": {
- "query": {
- "example": "W34633854,N123",
+ "key": {
"type": "string"
},
- "results": {
- "items": {
- "$ref": "#/definitions/geocoding.Place"
- },
- "type": "array"
+ "name": {
+ "type": "string"
}
},
"type": "object"
},
- "geocoding.Place": {
+ "flashscore.TeamCompetition": {
"properties": {
- "address": {
- "allOf": [
- {
- "$ref": "#/definitions/geocoding.Address"
- }
- ],
- "description": "Structured address breakdown of the place."
- },
- "addresstype": {
- "description": "Type of address the place represents, such as `office`.",
- "example": "office",
+ "country": {
"type": "string"
},
- "boundingbox": {
- "description": "Bounding box of the place as four decimal-degree strings: south latitude, north latitude, west longitude, east longitude.",
- "example": [
- "40.7479255",
- "40.7489585",
- "-73.9865012",
- "-73.9848166"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
+ "full_name": {
+ "type": "string"
},
- "category": {
- "description": "OpenStreetMap category of the place, such as `office`.",
- "example": "office",
+ "name": {
"type": "string"
},
- "display_name": {
- "description": "Full address of the place as a comma-separated string.",
- "example": "Empire State Building, 350, 5th Avenue, New York, United States",
+ "path": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "flashscore.TeamEvent": {
+ "properties": {
+ "away": {
+ "$ref": "#/definitions/flashscore.EventSide"
},
- "extratags": {
- "additionalProperties": {
- "type": "string"
- },
- "description": "Additional OpenStreetMap tags of the place. Present only when `extratags` is requested.",
- "type": "object"
+ "away_score": {
+ "type": "integer"
},
- "importance": {
- "description": "Importance score of the place; higher values mean a more prominent place.",
- "example": 0.5803438355141769,
- "type": "number"
+ "competition": {
+ "$ref": "#/definitions/flashscore.EventCompetition"
},
- "lat": {
- "description": "Latitude of the place in decimal degrees, as a string.",
- "example": "40.7484421",
- "type": "string"
+ "home": {
+ "$ref": "#/definitions/flashscore.EventSide"
},
- "licence": {
- "description": "Licence notice for the OpenStreetMap data.",
- "example": "Data © OpenStreetMap contributors, ODbL 1.0. http://osm.org/copyright",
- "type": "string"
+ "home_score": {
+ "type": "integer"
},
- "lon": {
- "description": "Longitude of the place in decimal degrees, as a string.",
- "example": "-73.9856589",
+ "id": {
"type": "string"
},
- "name": {
- "description": "Name of the place.",
- "example": "Empire State Building",
+ "stage": {
"type": "string"
},
- "namedetails": {
- "additionalProperties": {
- "type": "string"
- },
- "description": "Alternative names of the place. Present only when `namedetails` is requested.",
- "type": "object"
+ "stage_code": {
+ "type": "integer"
},
- "osm_id": {
- "description": "OpenStreetMap id of the object.",
- "example": 34633854,
+ "start_time": {
"type": "integer"
},
- "osm_type": {
- "description": "OpenStreetMap object type, such as `way`.",
- "example": "way",
+ "start_time_iso": {
"type": "string"
},
- "place_id": {
- "description": "Numeric id of the place in the geocoding results.",
- "example": 358220252,
- "type": "integer"
- },
- "place_rank": {
- "description": "Address rank of the place; for example `30` for a building.",
- "example": 30,
+ "status_code": {
"type": "integer"
- },
- "type": {
- "description": "OpenStreetMap type of the place within its `category`, such as `yes`.",
- "example": "yes",
- "type": "string"
}
},
"type": "object"
},
- "geocoding.SearchResponse": {
+ "flashscore.TeamEventsResponse": {
"properties": {
- "query": {
- "description": "Query that was run. For a structured search, the address fields joined with commas.",
- "example": "Empire State Building",
- "type": "string"
+ "event_count": {
+ "type": "integer"
},
- "results": {
- "description": "Places matching the query.",
+ "events": {
"items": {
- "$ref": "#/definitions/geocoding.Place"
+ "$ref": "#/definitions/flashscore.TeamEvent"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "geocoding.lookupResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ },
+ "page": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/geocoding.LookupResponse"
+ "section": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "source_url": {
"type": "string"
- }
- },
- "type": "object"
- },
- "geocoding.reverseResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/geocoding.Place"
+ "team_id": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "team_name": {
"type": "string"
}
},
"type": "object"
},
- "geocoding.searchResponseDoc": {
+ "flashscore.TeamNewsItem": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/geocoding.SearchResponse"
+ "id": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "image_url": {
"type": "string"
- }
- },
- "type": "object"
- },
- "ghanaweb.ArchiveItem": {
- "properties": {
- "updated_at": {
+ },
+ "link": {
"type": "string"
},
- "url": {
+ "published_at": {
+ "type": "integer"
+ },
+ "published_at_iso": {
"type": "string"
- }
- },
- "type": "object"
- },
- "ghanaweb.ArchiveMonth": {
- "properties": {
- "month": {
+ },
+ "publisher": {
"type": "string"
},
- "updated_at": {
+ "title": {
"type": "string"
}
},
"type": "object"
},
- "ghanaweb.ArchiveMonthsResponse": {
- "properties": {
- "months": {
- "items": {
- "$ref": "#/definitions/ghanaweb.ArchiveMonth"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "ghanaweb.ArchiveResponse": {
+ "flashscore.TeamNewsResponse": {
"properties": {
+ "item_count": {
+ "type": "integer"
+ },
"items": {
"items": {
- "$ref": "#/definitions/ghanaweb.ArchiveItem"
+ "$ref": "#/definitions/flashscore.TeamNewsItem"
},
"type": "array"
},
- "limit": {
- "type": "integer"
- },
- "month": {
+ "source_url": {
"type": "string"
},
- "page": {
- "type": "integer"
+ "team_id": {
+ "type": "string"
},
- "total": {
- "type": "integer"
+ "team_name": {
+ "type": "string"
}
},
"type": "object"
},
- "ghanaweb.VideoItem": {
+ "flashscore.TeamOutrightOddsResponse": {
"properties": {
- "id": {
- "type": "string"
+ "bookmakers": {
+ "items": {
+ "$ref": "#/definitions/flashscore.OddsBookmaker"
+ },
+ "type": "array"
},
- "image_url": {
+ "geo": {
"type": "string"
},
- "published_at": {
+ "has_more": {
+ "type": "boolean"
+ },
+ "source_url": {
"type": "string"
},
- "title": {
+ "subdivision": {
"type": "string"
},
- "url": {
+ "team_id": {
"type": "string"
},
- "views": {
+ "team_name": {
"type": "string"
+ },
+ "tournaments": {
+ "items": {
+ "$ref": "#/definitions/flashscore.OutrightTournament"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "ghanaweb.VideoResponse": {
+ "flashscore.TeamProfile": {
"properties": {
- "embed_url": {
+ "country": {
+ "type": "string"
+ },
+ "country_id": {
+ "type": "integer"
+ },
+ "full_name": {
"type": "string"
},
"id": {
"type": "string"
},
- "image_url": {
+ "logo_url": {
"type": "string"
},
- "published_at": {
+ "name": {
"type": "string"
},
- "title": {
+ "path": {
"type": "string"
},
- "updated_at": {
+ "slug": {
+ "type": "string"
+ },
+ "sport": {
"type": "string"
},
+ "sport_id": {
+ "type": "integer"
+ },
"url": {
"type": "string"
}
},
"type": "object"
},
- "ghanaweb.VideoSection": {
+ "flashscore.TeamResponse": {
"properties": {
- "name": {
- "type": "string"
+ "competitions": {
+ "items": {
+ "$ref": "#/definitions/flashscore.TeamCompetition"
+ },
+ "type": "array"
},
- "slug": {
+ "page_url": {
"type": "string"
},
- "url": {
+ "source_url": {
"type": "string"
+ },
+ "team": {
+ "$ref": "#/definitions/flashscore.TeamProfile"
+ },
+ "venue": {
+ "$ref": "#/definitions/flashscore.TeamVenue"
}
},
"type": "object"
},
- "ghanaweb.VideoSectionsResponse": {
+ "flashscore.TeamSquadResponse": {
"properties": {
- "sections": {
+ "groups": {
"items": {
- "$ref": "#/definitions/ghanaweb.VideoSection"
+ "$ref": "#/definitions/flashscore.SquadGroup"
+ },
+ "type": "array"
+ },
+ "scope": {
+ "$ref": "#/definitions/flashscore.SquadScope"
+ },
+ "scopes": {
+ "items": {
+ "$ref": "#/definitions/flashscore.SquadScope"
},
"type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "team": {
+ "$ref": "#/definitions/flashscore.TeamProfile"
}
},
"type": "object"
},
- "ghanaweb.VideosResponse": {
+ "flashscore.TeamTransfer": {
"properties": {
- "items": {
- "items": {
- "$ref": "#/definitions/ghanaweb.VideoItem"
- },
- "type": "array"
+ "date": {
+ "type": "string"
},
- "section": {
+ "direction": {
+ "type": "string"
+ },
+ "fee": {
+ "type": "string"
+ },
+ "from": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/flashscore.TransferTeam"
+ }
+ ],
+ "description": "From and To are null when the player had no club on that side (for\nexample a free agent released at the end of a contract)."
+ },
+ "player": {
+ "$ref": "#/definitions/flashscore.TransferPlayer"
+ },
+ "to": {
+ "$ref": "#/definitions/flashscore.TransferTeam"
+ },
+ "type": {
"type": "string"
}
},
"type": "object"
},
- "gizmodo.AuthorResponse": {
+ "flashscore.TeamTransfersResponse": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/newsplatform.HeadlineItem"
- },
- "type": "array"
- },
- "biography": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "page": {
+ "type": "integer"
},
- "image_url": {
+ "source_url": {
"type": "string"
},
- "name": {
+ "team_id": {
"type": "string"
},
- "role": {
+ "team_name": {
"type": "string"
},
- "social_links": {
+ "transfer_count": {
+ "type": "integer"
+ },
+ "transfers": {
"items": {
- "$ref": "#/definitions/gizmodo.AuthorSocialLink"
+ "$ref": "#/definitions/flashscore.TeamTransfer"
},
"type": "array"
},
- "url": {
+ "type": {
"type": "string"
}
},
"type": "object"
},
- "gizmodo.AuthorSocialLink": {
+ "flashscore.TeamVenue": {
"properties": {
- "type": {
+ "capacity": {
+ "type": "integer"
+ },
+ "city": {
"type": "string"
},
- "url": {
+ "stadium": {
"type": "string"
}
},
"type": "object"
},
- "globalnews.AuthorResponse": {
+ "flashscore.TournamentArchiveSeasonsResponse": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/newsplatform.HeadlineItem"
- },
- "type": "array"
+ "league_key": {
+ "type": "string"
},
- "biography": {
+ "season_count": {
+ "type": "integer"
+ },
+ "seasons": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/flashscore.ArchiveSeason"
},
"type": "array"
},
- "image_url": {
+ "source_url": {
"type": "string"
},
- "name": {
- "type": "string"
+ "stage": {
+ "$ref": "#/definitions/flashscore.ArchiveStage"
},
- "title": {
+ "stage_id": {
"type": "string"
},
- "url": {
+ "tournament_template_id": {
"type": "string"
}
},
"type": "object"
},
- "globeandmail.ArticleResponse": {
+ "flashscore.TournamentDrawMatch": {
"properties": {
- "authors": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "away_extra_time_score": {
+ "type": "integer"
},
- "dateline": {
- "type": "string"
+ "away_index": {
+ "type": "integer"
},
- "description": {
- "type": "string"
+ "away_penalty_score": {
+ "type": "integer"
},
- "image_url": {
+ "away_regular_score": {
+ "type": "integer"
+ },
+ "event_id": {
"type": "string"
},
- "paragraphs": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "home_extra_time_score": {
+ "type": "integer"
},
- "published_at": {
- "type": "string"
+ "home_index": {
+ "type": "integer"
},
- "section": {
- "type": "string"
+ "home_penalty_score": {
+ "type": "integer"
},
- "title": {
- "type": "string"
+ "home_regular_score": {
+ "type": "integer"
},
- "updated_at": {
+ "score": {
"type": "string"
},
- "url": {
- "type": "string"
+ "start_time": {
+ "type": "integer"
}
},
"type": "object"
},
- "globeandmail.AuthorResponse": {
+ "flashscore.TournamentDrawParticipant": {
"properties": {
- "articles": {
+ "index": {
+ "type": "integer"
+ },
+ "member_ids": {
"items": {
- "$ref": "#/definitions/globeandmail.HeadlineItem"
+ "type": "string"
},
"type": "array"
},
- "biography": {
+ "name": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "flashscore.TournamentDrawResponse": {
+ "properties": {
+ "participants": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/flashscore.TournamentDrawParticipant"
},
"type": "array"
},
- "email": {
- "type": "string"
+ "rounds": {
+ "items": {
+ "$ref": "#/definitions/flashscore.TournamentDrawRound"
+ },
+ "type": "array"
},
- "image_url": {
+ "source_url": {
"type": "string"
},
- "job_title": {
+ "stage_id": {
"type": "string"
},
- "location": {
+ "tournament_id": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "flashscore.TournamentDrawRound": {
+ "properties": {
+ "id": {
+ "type": "integer"
},
"name": {
"type": "string"
},
- "social_links": {
+ "slots": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/flashscore.TournamentDrawSlot"
},
"type": "array"
- },
- "url": {
- "type": "string"
}
},
"type": "object"
},
- "globeandmail.HeadlineItem": {
+ "flashscore.TournamentDrawSlot": {
"properties": {
- "author": {
- "type": "string"
- },
- "image_url": {
- "type": "string"
- },
- "published_at": {
- "type": "string"
+ "away_index": {
+ "type": "integer"
},
- "summary": {
+ "away_seed": {
"type": "string"
},
- "title": {
- "type": "string"
+ "home_index": {
+ "type": "integer"
},
- "type": {
+ "home_seed": {
"type": "string"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "globeandmail.HeadlinesResponse": {
- "properties": {
- "items": {
+ "matches": {
"items": {
- "$ref": "#/definitions/newsplatform.HeadlineItem"
+ "$ref": "#/definitions/flashscore.TournamentDrawMatch"
},
"type": "array"
},
- "section": {
+ "winner_side": {
+ "enum": [
+ "home",
+ "away"
+ ],
"type": "string"
}
},
"type": "object"
},
- "globeandmail.NewsResponse": {
+ "flashscore.TournamentOutrightOddsResponse": {
"properties": {
- "items": {
+ "bookmakers": {
"items": {
- "$ref": "#/definitions/newsplatform.HeadlineItem"
+ "$ref": "#/definitions/flashscore.OddsBookmaker"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "globeandmail.SectionsResponse": {
- "properties": {
- "sections": {
+ },
+ "geo": {
+ "type": "string"
+ },
+ "has_more": {
+ "type": "boolean"
+ },
+ "participants": {
"items": {
- "$ref": "#/definitions/newsplatform.Section"
+ "$ref": "#/definitions/flashscore.OutrightParticipant"
},
"type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "subdivision": {
+ "type": "string"
+ },
+ "tournament_id": {
+ "type": "string"
}
},
"type": "object"
},
- "globeandmail.articleResponseDoc": {
+ "flashscore.TransferPlayer": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "country": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/globeandmail.ArticleResponse"
+ "id": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "name": {
+ "type": "string"
+ },
+ "path": {
+ "type": "string"
+ },
+ "slug": {
"type": "string"
}
},
"type": "object"
},
- "globeandmail.authorResponseDoc": {
+ "flashscore.TransferTeam": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "id": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/globeandmail.AuthorResponse"
+ "logo_url": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "name": {
+ "type": "string"
+ },
+ "path": {
+ "type": "string"
+ },
+ "slug": {
"type": "string"
}
},
"type": "object"
},
- "globeandmail.headlinesResponseDoc": {
+ "flashscore.broadcasterDoc": {
"properties": {
- "code": {
- "example": 200,
+ "affiliate": {
+ "description": "Affiliate marks entries the provider flags as affiliate links; their tracking URL is omitted.",
+ "example": false,
+ "type": "boolean"
+ },
+ "id": {
+ "example": 680,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/globeandmail.HeadlinesResponse"
+ "name": {
+ "example": "Sky Sports Premier League (Gbr)",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "url": {
+ "example": "http://www.skysports.com/",
"type": "string"
}
},
"type": "object"
},
- "globeandmail.newsResponseDoc": {
+ "flashscore.calendarCategoriesDataDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/globeandmail.NewsResponse"
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/flashscore.calendarCategoryDoc"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "source_url": {
+ "example": "https://www.flashscore.com/",
"type": "string"
}
},
"type": "object"
},
- "globeandmail.sectionsResponseDoc": {
+ "flashscore.calendarCategoriesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/globeandmail.SectionsResponse"
+ "$ref": "#/definitions/flashscore.calendarCategoriesDataDoc"
},
"msg": {
"example": "OK",
@@ -93797,804 +99587,850 @@
},
"type": "object"
},
- "goat.CollectionProduct": {
+ "flashscore.calendarCategoryDoc": {
"properties": {
- "category": {
- "example": "shoes",
- "type": "string"
- },
- "id": {
- "example": "1481726",
- "type": "string"
- },
- "image_url": {
- "type": "string"
- },
- "release_year": {
- "example": "2025",
+ "key": {
+ "example": "tennis-atp",
"type": "string"
},
- "slug": {
- "example": "air-jordan-4-retro-rare-air-fv5029-003",
+ "name": {
+ "example": "ATP Tour Calendar",
"type": "string"
},
- "source_url": {
- "example": "https://www.goat.com/sneakers/air-jordan-4-retro-rare-air-fv5029-003",
+ "path": {
+ "example": "/tennis/calendar/atp/",
"type": "string"
},
- "title": {
- "example": "Air Jordan 4 Retro 'Rare Air - White Lettering'",
+ "sport": {
+ "example": "tennis",
"type": "string"
}
},
"type": "object"
},
- "goat.CollectionResponse": {
+ "flashscore.calendarDataDoc": {
"properties": {
- "limit": {
- "example": 12,
- "type": "integer"
- },
- "page": {
- "example": 1,
- "type": "integer"
+ "category": {
+ "$ref": "#/definitions/flashscore.calendarCategoryDoc"
},
- "products": {
+ "events": {
"items": {
- "$ref": "#/definitions/goat.CollectionProduct"
+ "$ref": "#/definitions/flashscore.calendarEventDoc"
},
"type": "array"
},
- "slug": {
- "example": "top-trending-uk",
+ "source_url": {
+ "example": "https://2.ds.lsapp.eu/pq_graphql?_hash=scs&projectId=2&sportId=2",
"type": "string"
},
- "total_results": {
- "example": 48,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "goat.CountriesResponse": {
- "properties": {
- "countries": {
- "items": {
- "$ref": "#/definitions/goat.Country"
- },
- "type": "array"
- },
- "ships_to_total": {
- "description": "ShipsToTotal counts the subset GOAT ships to.",
- "example": 170,
- "type": "integer"
- },
- "total": {
- "example": 249,
+ "year": {
+ "example": 2026,
"type": "integer"
}
},
"type": "object"
},
- "goat.Country": {
+ "flashscore.calendarEventDoc": {
"properties": {
- "country_code": {
- "example": "US",
- "type": "string"
- },
- "currency": {
- "example": "USD",
+ "country": {
+ "example": "France",
"type": "string"
},
- "display_name": {
- "example": "United States",
+ "date": {
+ "example": "24.05. - 07.06.",
"type": "string"
},
- "flag": {
- "example": "🇺🇸",
+ "end_time": {
+ "example": "2026-06-07T13:00:00Z",
"type": "string"
},
- "local_name": {
- "example": "United States",
+ "month": {
+ "example": "May 2026",
"type": "string"
},
"name": {
- "example": "United States",
+ "example": "French Open ATP, clay",
"type": "string"
},
- "phone_code": {
- "example": "1",
+ "path": {
+ "example": "/tennis/atp-singles/french-open/",
"type": "string"
},
- "returns_from": {
- "example": true,
- "type": "boolean"
- },
- "ships_to": {
- "description": "ShipsTo reports whether GOAT ships orders to this country. It does\nnot gate country_code, which is accepted for every country here.",
- "example": true,
- "type": "boolean"
+ "start_time": {
+ "example": "2026-05-24T09:00:00Z",
+ "type": "string"
},
- "size_unit": {
- "description": "SizeUnit is the size system GOAT shows for this country: us, uk, eu.",
- "example": "us",
+ "winner": {
+ "example": "Zverev Alexander",
"type": "string"
},
- "tax_included": {
- "example": false,
- "type": "boolean"
+ "winner_path": {
+ "example": "/player/zverev-alexander/dGbUhw9m/",
+ "type": "string"
}
},
"type": "object"
},
- "goat.CuratedLink": {
+ "flashscore.calendarResponseDoc": {
"properties": {
- "collection_slug": {
- "description": "CollectionSlug is GOAT's own collection identifier. A readable slug\nworks on GET /goat/collection; a bare numeric id (which GOAT also\nemits here) belongs to an internal id space that endpoint does not\naccept and returns no results. Confirmed live 2026-09-07 --\nback-to-school-2026 returns 470 products, 31841 returns none.",
- "example": "back-to-school-2026",
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "filter_key": {
- "example": "group_id",
+ "data": {
+ "$ref": "#/definitions/flashscore.calendarDataDoc"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "flashscore.competitionDoc": {
+ "properties": {
+ "event_count": {
+ "example": 10,
+ "type": "integer"
},
- "filter_value": {
- "example": "all",
+ "id": {
+ "example": "8bP2bXmH",
"type": "string"
},
- "query": {
- "example": "Awake NY x Air Jordan 6",
+ "name": {
+ "example": "AFRICA: Africa Cup of Nations - Qualification",
"type": "string"
},
- "title": {
- "example": "Back To School",
+ "path": {
+ "example": "/football/africa/africa-cup-of-nations/",
"type": "string"
},
- "type": {
- "enum": [
- "collection",
- "search",
- "browse"
- ],
- "example": "collection",
+ "region": {
+ "example": "Africa",
"type": "string"
}
},
"type": "object"
},
- "goat.CuratedResponse": {
+ "flashscore.competitionsDataDoc": {
"properties": {
- "links": {
+ "competitions": {
"items": {
- "$ref": "#/definitions/goat.CuratedLink"
+ "$ref": "#/definitions/flashscore.competitionDoc"
},
"type": "array"
},
- "total": {
- "example": 10,
+ "day_offset": {
+ "example": 0,
"type": "integer"
- }
- },
- "type": "object"
- },
- "goat.FeaturedLink": {
- "properties": {
- "name": {
- "example": "Jordan 3 True Blue 2026",
- "type": "string"
},
"source_url": {
- "example": "https://www.goat.com/sneakers/air-jordan-3-true-blue-2026-if4396-104",
+ "example": "https://global.flashscore.ninja/2/x/feed/f_1_0_8_en_1",
+ "type": "string"
+ },
+ "sport": {
+ "example": "football",
"type": "string"
}
},
"type": "object"
},
- "goat.ListingsCountResponse": {
- "properties": {
- "total_listings": {
- "example": 601141,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "goat.Price": {
+ "flashscore.competitionsResponseDoc": {
"properties": {
- "amount_cents": {
- "example": 49100,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "currency": {
- "example": "USD",
+ "data": {
+ "$ref": "#/definitions/flashscore.competitionsDataDoc"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "goat.ProductDetail": {
+ "flashscore.dartsLegDoc": {
"properties": {
- "brand_name": {
- "example": "Air Jordan",
- "type": "string"
+ "away_legs": {
+ "example": 1,
+ "type": "integer"
},
- "category": {
- "example": "shoes",
- "type": "string"
+ "checkout": {
+ "example": 84,
+ "type": "integer"
},
- "colorway": {
- "example": "Cream",
- "type": "string"
+ "home_legs": {
+ "example": 0,
+ "type": "integer"
},
- "colorway_detail": {
- "example": "Varsity Red/Black/Sail/Muslin",
- "type": "string"
+ "in_progress": {
+ "description": "True only for the leg being played in a live match.",
+ "example": true,
+ "type": "boolean"
},
- "designer": {
- "example": "Peter Moore",
- "type": "string"
+ "number": {
+ "example": 1,
+ "type": "integer"
},
- "featured_in": {
- "items": {
- "$ref": "#/definitions/goat.FeaturedLink"
- },
- "type": "array"
+ "set": {
+ "description": "Only present for set-play matches: the set the leg belongs to.",
+ "example": 1,
+ "type": "integer"
},
- "gender": {
- "example": [
- "men"
+ "start_score": {
+ "example": 501,
+ "type": "integer"
+ },
+ "starter": {
+ "enum": [
+ "home",
+ "away"
],
+ "example": "away",
+ "type": "string"
+ },
+ "visits": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/flashscore.dartsVisitDoc"
},
"type": "array"
},
- "id": {
- "example": "1469452",
+ "winner": {
+ "description": "Empty while the leg is still being played.",
+ "enum": [
+ "home",
+ "away"
+ ],
+ "example": "away",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "flashscore.dartsSetStatisticsDoc": {
+ "properties": {
+ "set": {
+ "example": 1,
+ "type": "integer"
},
- "images": {
+ "statistics": {
"items": {
- "$ref": "#/definitions/goat.ProductImage"
+ "$ref": "#/definitions/flashscore.dartsStatisticDoc"
},
"type": "array"
- },
- "midsole": {
- "example": "Air",
+ }
+ },
+ "type": "object"
+ },
+ "flashscore.dartsStatisticDoc": {
+ "properties": {
+ "away": {
+ "example": "97.05",
"type": "string"
},
- "name": {
- "example": "Fragment Design x Travis Scott x Air Jordan 1 Retro Low OG SP 'Sail Military Blue'",
+ "home": {
+ "example": "92.91",
"type": "string"
},
- "nickname": {
- "example": "Sail Military Blue",
+ "id": {
+ "example": "55",
"type": "string"
},
- "picture_url": {
+ "key": {
+ "enum": [
+ "average_3_darts",
+ "180_thrown",
+ "140_plus_thrown",
+ "100_plus_thrown",
+ "checkouts",
+ "checkouts_100_plus",
+ "highest_checkout",
+ "legs_won"
+ ],
+ "example": "average_3_darts",
"type": "string"
},
- "product_type": {
- "example": "sneakers",
+ "name": {
+ "example": "Average (3 darts)",
"type": "string"
- },
- "release_date": {
- "example": "2025-11-15",
+ }
+ },
+ "type": "object"
+ },
+ "flashscore.dartsVisitDoc": {
+ "properties": {
+ "highlight": {
+ "enum": [
+ "180",
+ "140_plus"
+ ],
+ "example": "180",
"type": "string"
},
- "retail_price": {
- "$ref": "#/definitions/goat.Price"
+ "number": {
+ "example": 5,
+ "type": "integer"
},
- "silhouette": {
- "example": "Air Jordan 1",
+ "remaining": {
+ "example": 165,
+ "type": "integer"
+ },
+ "scored": {
+ "example": 180,
+ "type": "integer"
+ },
+ "side": {
+ "enum": [
+ "home",
+ "away"
+ ],
+ "example": "away",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "flashscore.formationLineDoc": {
+ "properties": {
+ "number": {
+ "example": 1,
+ "type": "integer"
},
- "size_range": {
+ "rows": {
"items": {
- "type": "number"
+ "$ref": "#/definitions/flashscore.formationRowDoc"
},
"type": "array"
- },
- "size_unit": {
- "example": "us",
- "type": "string"
- },
- "sizes": {
+ }
+ },
+ "type": "object"
+ },
+ "flashscore.formationRowDoc": {
+ "properties": {
+ "player_ids": {
+ "example": [
+ "x2zyKcHK"
+ ],
"items": {
- "$ref": "#/definitions/goat.SizePrice"
+ "type": "string"
},
"type": "array"
},
- "sku": {
- "example": "DM7866 104",
- "type": "string"
+ "sort_key": {
+ "example": 0,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "flashscore.lineupAggregatedStatsDoc": {
+ "properties": {
+ "average_age": {
+ "example": 26.6,
+ "type": "number"
},
- "slug": {
- "example": "fragment-design-x-travis-scott-x-air-jordan-1-low-og-sp-sail-military-blue-dm7866-104",
- "type": "string"
+ "average_height_cm": {
+ "example": 181.1,
+ "type": "number"
},
- "source_url": {
- "example": "https://www.goat.com/sneakers/fragment-design-x-travis-scott-x-air-jordan-1-low-og-sp-sail-military-blue-dm7866-104",
- "type": "string"
+ "average_rating": {
+ "example": 6.7,
+ "type": "number"
},
- "story": {
+ "sum_market_value": {
+ "example": 47598854,
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "flashscore.lineupGroupDoc": {
+ "properties": {
+ "name": {
+ "example": "Predicted lineups",
"type": "string"
},
- "taxonomy": {
+ "player_ids": {
+ "example": [
+ "x2zyKcHK"
+ ],
"items": {
"type": "string"
},
"type": "array"
},
- "upper_material": {
- "example": "Leather",
+ "type": {
+ "example": "PREDICTED_STARTERS",
"type": "string"
}
},
"type": "object"
},
- "goat.ProductImage": {
+ "flashscore.lineupIncidentDoc": {
"properties": {
- "aspect": {
- "example": 1.5,
- "type": "number"
+ "hidden": {
+ "example": false,
+ "type": "boolean"
},
- "image_url": {
+ "minute": {
+ "example": "60'",
"type": "string"
},
- "order": {
- "example": 1,
- "type": "integer"
+ "player_in_id": {
+ "example": "S4KKxXdC",
+ "type": "string"
+ },
+ "reasons": {
+ "example": [
+ "Tripping"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "type": {
+ "example": "YellowCard",
+ "type": "string"
}
},
"type": "object"
},
- "goat.ProductSummary": {
+ "flashscore.lineupPlayerDoc": {
"properties": {
- "brand_name": {
- "example": "Air Jordan",
- "type": "string"
+ "age": {
+ "example": 35,
+ "type": "number"
},
- "category": {
- "example": "shoes",
- "type": "string"
+ "average_rating": {
+ "example": 7,
+ "type": "number"
},
- "gender": {
- "example": "men",
+ "country": {
+ "example": "Brazil",
"type": "string"
},
+ "height_cm": {
+ "example": 189,
+ "type": "number"
+ },
"id": {
- "example": "1469452",
+ "example": "x2zyKcHK",
"type": "string"
},
- "image_url": {
+ "list_name": {
+ "example": "Tiago Volpi",
"type": "string"
},
- "in_stock": {
- "example": true,
- "type": "boolean"
- },
- "instant_lowest_price": {
- "$ref": "#/definitions/goat.Price"
- },
- "lowest_price": {
- "$ref": "#/definitions/goat.Price"
+ "market_value": {
+ "example": 880751,
+ "type": "number"
},
- "product_type": {
- "example": "sneakers",
+ "name": {
+ "example": "Tiago Volpi",
"type": "string"
},
- "release_date": {
- "example": "2025-11-15",
+ "number": {
+ "example": "18",
"type": "string"
},
- "retail_price": {
- "$ref": "#/definitions/goat.Price"
- },
- "silhouette": {
- "example": "Air Jordan 1",
- "type": "string"
+ "roles": {
+ "items": {
+ "$ref": "#/definitions/flashscore.lineupRoleDoc"
+ },
+ "type": "array"
},
"slug": {
- "example": "fragment-design-x-travis-scott-x-air-jordan-1-low-og-sp-sail-military-blue-dm7866-104",
+ "example": "tiago-volpi",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "flashscore.lineupRatingDoc": {
+ "properties": {
+ "is_best": {
+ "example": false,
+ "type": "boolean"
},
- "source_url": {
- "example": "https://www.goat.com/sneakers/fragment-design-x-travis-scott-x-air-jordan-1-low-og-sp-sail-military-blue-dm7866-104",
+ "value": {
+ "example": 8,
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "flashscore.lineupRoleDoc": {
+ "properties": {
+ "suffix": {
+ "example": "(G)",
"type": "string"
},
- "tags": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
"title": {
- "example": "Fragment Design x Travis Scott x Air Jordan 1 Retro Low OG SP 'Sail Military Blue'",
+ "example": "Goalkeeper",
"type": "string"
- },
- "under_retail": {
- "example": false,
- "type": "boolean"
}
},
"type": "object"
},
- "goat.RecommendedProduct": {
+ "flashscore.lineupSubstitutionDoc": {
"properties": {
- "brand_name": {
- "example": "Nike",
+ "id": {
+ "example": "AkY1pAJH",
"type": "string"
},
- "category": {
- "example": "shoes",
+ "minute": {
+ "example": "46'",
"type": "string"
},
- "colorway": {
- "example": "Black",
+ "player_in_id": {
+ "example": "S4KKxXdC",
"type": "string"
},
- "id": {
- "example": "585882",
+ "player_out_id": {
+ "example": "6DGXE64C",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "flashscore.matchBoxScoreColumnDoc": {
+ "properties": {
+ "format": {
+ "enum": [
+ "num",
+ "time",
+ "fg"
+ ],
+ "example": "num",
"type": "string"
},
- "name": {
- "example": "Travis Scott x Nike Dunk Low Premium QS SB 'Cactus Jack'",
+ "key": {
+ "example": "PTS",
"type": "string"
},
- "product_type": {
- "example": "sneakers",
+ "label": {
+ "example": "Points",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "flashscore.matchBoxScoreDataDoc": {
+ "properties": {
+ "match_id": {
+ "example": "KzoOQu6j",
"type": "string"
},
- "release_date": {
- "example": "2020-02-29",
+ "source_url": {
+ "example": "https://global.flashscore.ninja/2/x/feed/df_psn_1_KzoOQu6j",
"type": "string"
},
- "retail_price": {
- "$ref": "#/definitions/goat.Price"
+ "teams": {
+ "items": {
+ "$ref": "#/definitions/flashscore.matchBoxScoreTeamDoc"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "flashscore.matchBoxScorePlayerDoc": {
+ "properties": {
+ "country": {
+ "example": "USA",
+ "type": "string"
},
- "sku": {
- "example": "CT5053 001",
+ "name": {
+ "example": "Soares R.",
+ "type": "string"
+ },
+ "player_id": {
+ "example": "lGyAxL74",
"type": "string"
},
"slug": {
- "example": "travis-scott-x-dunk-low-sb-ct5053-101",
+ "example": "soares-rivaldo",
"type": "string"
},
- "source_url": {
- "example": "https://www.goat.com/sneakers/travis-scott-x-dunk-low-sb-ct5053-101",
+ "stats": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Stats maps each column key to the displayed value; a dash from the provider is null.",
+ "type": "object"
+ },
+ "status": {
"type": "string"
}
},
"type": "object"
},
- "goat.RecommendedResponse": {
+ "flashscore.matchBoxScoreResponseDoc": {
"properties": {
- "products": {
- "items": {
- "$ref": "#/definitions/goat.RecommendedProduct"
- },
- "type": "array"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "slug": {
- "example": "fragment-design-x-travis-scott-x-air-jordan-1-low-og-sp-sail-military-blue-dm7866-104",
+ "data": {
+ "$ref": "#/definitions/flashscore.matchBoxScoreDataDoc"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "goat.SearchFacetsResponse": {
+ "flashscore.matchBoxScoreTableDoc": {
"properties": {
- "activities": {
- "example": [
- "lifestyle",
- "basketball",
- "running",
- "skateboarding"
- ],
+ "columns": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/flashscore.matchBoxScoreColumnDoc"
},
"type": "array"
},
- "brands": {
- "description": "Brands is ordered by product count descending and is GOAT's top\nbrands, not its whole brand universe -- upstream truncates this\nbucket (see BrandsTruncated).",
- "example": [
- "nike",
- "adidas",
- "new-balance",
- "puma",
- "supreme"
- ],
+ "player_label": {
+ "example": "Player",
+ "type": "string"
+ },
+ "players": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/flashscore.matchBoxScorePlayerDoc"
},
"type": "array"
},
- "brands_truncated": {
- "description": "BrandsTruncated reports that upstream returned its maximum brand\nbucket size, so brands beyond it exist but are not listed. A brand\nmissing from Brands is still a valid goat_search brands value.",
- "example": true,
- "type": "boolean"
+ "type": {
+ "enum": [
+ "player",
+ "goalkeeper",
+ "pitcher"
+ ],
+ "example": "player",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "flashscore.matchBoxScoreTeamDoc": {
+ "properties": {
+ "name": {
+ "example": "Hapoel Holon",
+ "type": "string"
},
- "categories": {
- "example": [
- "footwear",
- "apparel",
- "accessories",
- "bags",
- "collectibles",
- "media",
- "sports",
- "jewelry",
+ "side": {
+ "enum": [
"home",
- "objects",
- "other",
- "art"
+ "away"
],
- "items": {
- "type": "string"
- },
- "type": "array"
+ "example": "home",
+ "type": "string"
},
- "colors": {
- "example": [
- "black",
- "white",
- "blue",
- "grey",
- "red",
- "green",
- "pink",
- "cream",
- "brown",
- "purple",
- "multi-color",
- "orange",
- "tan",
- "yellow",
- "silver",
- "gold",
- "teal",
- "copper"
- ],
+ "tables": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/flashscore.matchBoxScoreTableDoc"
},
"type": "array"
- },
- "conditions": {
- "example": [
- "new_no_defects",
- "used",
- "new_with_defects",
- "goat_clean"
- ],
+ }
+ },
+ "type": "object"
+ },
+ "flashscore.matchDartsDataDoc": {
+ "properties": {
+ "legs": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/flashscore.dartsLegDoc"
},
"type": "array"
},
- "genders": {
- "example": [
- "men",
- "youth",
- "infant",
- "women"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
+ "match_id": {
+ "example": "KMrRR6R1",
+ "type": "string"
},
- "product_types": {
- "description": "ProductTypes and Activities are statically maintained, not live --\nGOAT never returns them as aggregation buckets.",
- "example": [
- "sneakers",
- "sandals",
- "cleats",
- "boots",
- "slip-ons"
- ],
+ "set_statistics": {
+ "description": "Only present for set-play matches: the statistics of each set.",
"items": {
- "type": "string"
+ "$ref": "#/definitions/flashscore.dartsSetStatisticsDoc"
},
"type": "array"
},
- "years": {
- "description": "Years is the vocabulary for goat_search's years parameter, which\nfilters on a product's season year.",
- "example": [
- "2026",
- "2025",
- "2024",
- "2023"
- ],
+ "source_url": {
+ "example": "https://global.flashscore.ninja/2/x/feed/df_mhn_1_KMrRR6R1",
+ "type": "string"
+ },
+ "statistics": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/flashscore.dartsStatisticDoc"
},
"type": "array"
+ },
+ "statistics_url": {
+ "example": "https://global.flashscore.ninja/2/x/feed/df_stn_1_KMrRR6R1",
+ "type": "string"
}
},
"type": "object"
},
- "goat.SearchResponse": {
+ "flashscore.matchDartsResponseDoc": {
"properties": {
- "limit": {
- "example": 12,
- "type": "integer"
- },
- "page": {
- "example": 1,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "products": {
- "items": {
- "$ref": "#/definitions/goat.ProductSummary"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/flashscore.matchDartsDataDoc"
},
- "query": {
- "example": "jordan 1",
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "total_results": {
- "example": 5540,
- "type": "integer"
- },
- "total_results_capped": {
- "description": "TotalResultsCapped reports that upstream saturated total_results at\nits ceiling, so the real match count is higher and unknown. Deeper\npages still return products past that ceiling.",
- "example": false,
- "type": "boolean"
}
},
"type": "object"
},
- "goat.SizePrice": {
+ "flashscore.matchLineupPlayerDoc": {
"properties": {
- "box_condition": {
- "example": "good_condition",
- "type": "string"
- },
- "highest_offer": {
- "$ref": "#/definitions/goat.Price"
- },
- "instant_ship_lowest_price": {
- "$ref": "#/definitions/goat.Price"
- },
- "last_sold_price": {
- "$ref": "#/definitions/goat.Price"
+ "age": {
+ "example": 37,
+ "type": "number"
},
- "lowest_price": {
- "$ref": "#/definitions/goat.Price"
+ "average_rating": {
+ "example": 6.8,
+ "type": "number"
},
- "shoe_condition": {
- "example": "new_no_defects",
+ "country": {
+ "example": "Brazil",
"type": "string"
},
- "size": {
- "example": "9",
- "type": "string"
+ "height_cm": {
+ "example": 192,
+ "type": "number"
},
- "stock_status": {
- "example": "single_in_stock",
- "type": "string"
- }
- },
- "type": "object"
- },
- "goat.SuggestCollection": {
- "properties": {
"id": {
- "example": "2fbf8b62-8899-4323-89ab-efdbc672d9d0",
+ "example": "Cx5lvlAM",
"type": "string"
},
- "slug": {
- "example": "michael-jordan",
- "type": "string"
+ "incidents": {
+ "items": {
+ "$ref": "#/definitions/flashscore.lineupIncidentDoc"
+ },
+ "type": "array"
},
- "title": {
- "example": "Michael Jordan",
+ "list_name": {
+ "example": "Rafael",
"type": "string"
},
- "type": {
- "example": "StaticCollection",
- "type": "string"
- }
- },
- "type": "object"
- },
- "goat.SuggestProduct": {
- "properties": {
- "category": {
- "example": "shoes",
- "type": "string"
+ "market_value": {
+ "example": 380099,
+ "type": "number"
},
- "id": {
- "example": "1403298",
+ "name": {
+ "example": "Rafael",
"type": "string"
},
- "image_url": {
+ "number": {
+ "example": "23",
"type": "string"
},
- "slug": {
- "example": "air-jordan-5-og-metallic-2025-hf3975-001",
- "type": "string"
+ "rating": {
+ "$ref": "#/definitions/flashscore.lineupRatingDoc"
},
- "source_url": {
- "example": "https://www.goat.com/sneakers/air-jordan-5-og-metallic-2025-hf3975-001",
- "type": "string"
+ "roles": {
+ "items": {
+ "$ref": "#/definitions/flashscore.lineupRoleDoc"
+ },
+ "type": "array"
},
- "title": {
- "example": "Air Jordan 5 Retro OG 'Black Metallic Reimagined'",
+ "slug": {
+ "example": "rafael",
"type": "string"
}
},
"type": "object"
},
- "goat.SuggestResponse": {
+ "flashscore.matchLineupTeamDoc": {
"properties": {
- "collections": {
+ "aggregated_stats": {
+ "$ref": "#/definitions/flashscore.lineupAggregatedStatsDoc"
+ },
+ "average_rating": {
+ "example": 7.1,
+ "type": "number"
+ },
+ "coaches": {
"items": {
- "$ref": "#/definitions/goat.SuggestCollection"
+ "$ref": "#/definitions/flashscore.lineupPlayerDoc"
},
"type": "array"
},
- "products": {
+ "formation": {
+ "$ref": "#/definitions/flashscore.predictedFormationDoc"
+ },
+ "groups": {
"items": {
- "$ref": "#/definitions/goat.SuggestProduct"
+ "$ref": "#/definitions/flashscore.lineupGroupDoc"
},
"type": "array"
},
- "query": {
- "example": "jord",
+ "name": {
+ "example": "Brighton",
"type": "string"
- }
- },
- "type": "object"
- },
- "goat.TrendingSearchesResponse": {
- "properties": {
- "searches": {
- "example": [
- "Jordan 4",
- "Jordan 1",
- "Kobe 6"
- ],
+ },
+ "participant_id": {
+ "example": "4zJjW8Rb",
+ "type": "string"
+ },
+ "players": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/flashscore.matchLineupPlayerDoc"
},
"type": "array"
},
- "total": {
- "example": 25,
- "type": "integer"
+ "side": {
+ "enum": [
+ "home",
+ "away"
+ ],
+ "example": "home",
+ "type": "string"
+ },
+ "substitutions": {
+ "items": {
+ "$ref": "#/definitions/flashscore.lineupSubstitutionDoc"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "goat.collectionResponseDoc": {
+ "flashscore.matchLineupsDataDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/goat.CollectionResponse"
+ "match_id": {
+ "example": "j52jHsN8",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "source_url": {
+ "example": "https://2.ds.lsapp.eu/pq_graphql?_hash=dlie2&eventId=j52jHsN8&projectId=2",
"type": "string"
+ },
+ "teams": {
+ "items": {
+ "$ref": "#/definitions/flashscore.matchLineupTeamDoc"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "goat.countriesResponseDoc": {
+ "flashscore.matchLineupsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/goat.CountriesResponse"
+ "$ref": "#/definitions/flashscore.matchLineupsDataDoc"
},
"msg": {
"example": "OK",
@@ -94603,30 +100439,33 @@
},
"type": "object"
},
- "goat.curatedResponseDoc": {
+ "flashscore.matchMissingPlayersDataDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/goat.CuratedResponse"
+ "match_id": {
+ "example": "f75igXFG",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "source_url": {
+ "example": "https://2.ds.lsapp.eu/pq_graphql?_hash=dmpe2&eventId=f75igXFG&projectId=2",
"type": "string"
+ },
+ "teams": {
+ "items": {
+ "$ref": "#/definitions/flashscore.missingPlayersTeamDoc"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "goat.facetsResponseDoc": {
+ "flashscore.matchMissingPlayersResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/goat.SearchFacetsResponse"
+ "$ref": "#/definitions/flashscore.matchMissingPlayersDataDoc"
},
"msg": {
"example": "OK",
@@ -94635,30 +100474,51 @@
},
"type": "object"
},
- "goat.listingsCountResponseDoc": {
+ "flashscore.matchMomentumDataDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "event_types": {
+ "items": {
+ "$ref": "#/definitions/flashscore.momentumEventTypeDoc"
+ },
+ "type": "array"
},
- "data": {
- "$ref": "#/definitions/goat.ListingsCountResponse"
+ "events": {
+ "items": {
+ "$ref": "#/definitions/flashscore.momentumEventDoc"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "match_id": {
+ "example": "j52jHsN8",
+ "type": "string"
+ },
+ "momentum": {
+ "items": {
+ "$ref": "#/definitions/flashscore.momentumFrameDoc"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "example": "https://2.ds.lsapp.eu/pq_graphql?_hash=mmts&eventId=j52jHsN8&providerId=7",
"type": "string"
+ },
+ "teams": {
+ "items": {
+ "$ref": "#/definitions/flashscore.momentumTeamDoc"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "goat.productResponseDoc": {
+ "flashscore.matchMomentumResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/goat.ProductDetail"
+ "$ref": "#/definitions/flashscore.matchMomentumDataDoc"
},
"msg": {
"example": "OK",
@@ -94667,62 +100527,62 @@
},
"type": "object"
},
- "goat.recommendedResponseDoc": {
+ "flashscore.matchNewsArticleRefDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/goat.RecommendedResponse"
+ "article": {
+ "$ref": "#/definitions/flashscore.matchNewsArticleSortKeyDoc"
},
- "msg": {
- "example": "OK",
+ "id": {
+ "example": "GYDHQ2yR",
"type": "string"
}
},
"type": "object"
},
- "goat.searchResponseDoc": {
+ "flashscore.matchNewsArticleSortKeyDoc": {
"properties": {
- "code": {
- "example": 200,
+ "sort_key": {
+ "example": 1790163122,
"type": "integer"
- },
- "data": {
- "$ref": "#/definitions/goat.SearchResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
}
},
"type": "object"
},
- "goat.suggestResponseDoc": {
+ "flashscore.matchNewsDataDoc": {
"properties": {
- "code": {
- "example": 200,
+ "layout_id": {
+ "example": 80103,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/goat.SuggestResponse"
+ "match_id": {
+ "example": "xtmHKGT0",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "name": {
+ "example": "Default EVENT layout",
+ "type": "string"
+ },
+ "sections": {
+ "items": {
+ "$ref": "#/definitions/flashscore.matchNewsSectionDoc"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "example": "https://2.ds.lsapp.eu/pq_graphql?_hash=fsned&entityId=xtmHKGT0&layoutTypeId=2&projectId=2",
"type": "string"
}
},
"type": "object"
},
- "goat.trendingSearchesResponseDoc": {
+ "flashscore.matchNewsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/goat.TrendingSearchesResponse"
+ "$ref": "#/definitions/flashscore.matchNewsDataDoc"
},
"msg": {
"example": "OK",
@@ -94731,330 +100591,125 @@
},
"type": "object"
},
- "goldin.Auction": {
+ "flashscore.matchNewsSectionDoc": {
"properties": {
- "id": {
- "description": "ID is Goldin's own auction id -- pass as auction_id to Search.",
- "type": "string"
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/flashscore.matchNewsArticleRefDoc"
+ },
+ "type": "array"
},
- "lot_count": {
- "description": "LotCount is how many lots currently carry this auction id, read\nlive from the same facets response.",
+ "id": {
+ "example": 1,
"type": "integer"
},
"name": {
- "description": "Name is Goldin's own auction title, e.g. \"2026 Weekly Auction Sep\n8 - Sep 17\".",
- "type": "string"
- }
- },
- "type": "object"
- },
- "goldin.AuctionListing": {
- "properties": {
- "buyer_premium": {
- "type": "number"
- },
- "end_time": {
- "type": "string"
- },
- "extended_bidding_status": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "slug": {
- "type": "string"
- },
- "start_time": {
- "type": "string"
- },
- "status": {
- "type": "string"
- },
- "title": {
- "type": "string"
- },
- "type": {
+ "example": "articlesOnParticipants",
"type": "string"
}
},
"type": "object"
},
- "goldin.AuctionsResponse": {
+ "flashscore.matchOddsDataDoc": {
"properties": {
- "auctions": {
+ "bookmakers": {
"items": {
- "$ref": "#/definitions/goldin.AuctionListing"
+ "$ref": "#/definitions/flashscore.oddsBookmakerDoc"
},
"type": "array"
},
- "total": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "goldin.CategoriesResponse": {
- "properties": {
- "auction_type": {
+ "geo": {
+ "example": "GB",
"type": "string"
},
- "auctions": {
- "items": {
- "$ref": "#/definitions/goldin.Auction"
- },
- "type": "array"
- },
- "category": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "certification": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "item_type": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "sort": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "sub_category": {
+ "markets": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/flashscore.oddsMarketDoc"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "goldin.ListingLotRef": {
- "properties": {
- "lot_number": {
- "type": "integer"
- },
- "slug": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "goldin.ListingResult": {
- "properties": {
- "allow_offers": {
- "description": "AllowOffers, SoldAt, and FinalPrice are only present for\nAuctionType \"Fixed_Price\" lots (Goldin's Buy Now marketplace).",
- "type": "boolean"
- },
- "auction_id": {
- "type": "string"
- },
- "auction_name": {
- "type": "string"
- },
- "auction_type": {
- "type": "string"
- },
- "buyer_premium": {
- "type": "number"
- },
- "category": {
- "type": "string"
- },
- "current_price": {
- "type": "integer"
- },
- "description": {
- "type": "string"
- },
- "end_time": {
- "type": "string"
- },
- "final_price": {
- "type": "integer"
},
- "grading_company": {
- "description": "GradingCompany is the third-party grader, e.g. \"PSA\" -- present only\nfor graded items. Not the same enum as Search's certification\nfilter, which also includes \"Ungraded\".",
+ "match_id": {
+ "example": "p0aFxkkn",
"type": "string"
},
- "images": {
+ "participants": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/flashscore.oddsParticipantDoc"
},
"type": "array"
},
- "item_type": {
- "type": "string"
- },
- "lot_id": {
- "type": "string"
- },
- "lot_number": {
- "type": "integer"
- },
- "min_bid_price": {
- "type": "integer"
- },
- "next_lot": {
- "$ref": "#/definitions/goldin.ListingLotRef"
- },
- "number_of_bids": {
- "type": "integer"
- },
- "number_of_views": {
- "type": "integer"
- },
- "previous_lot": {
- "$ref": "#/definitions/goldin.ListingLotRef"
- },
- "reserve_amount": {
- "type": "number"
- },
- "serial_number": {
- "type": "string"
- },
- "slug": {
- "type": "string"
- },
- "sold_at": {
- "type": "string"
- },
"source_url": {
+ "example": "https://global.ds.lsapp.eu/odds/pq_graphql?_hash=oce&eventId=p0aFxkkn&geoIpCode=GB&geoIpSubdivisionCode=&projectId=2",
"type": "string"
},
- "start_time": {
- "type": "string"
- },
- "status": {
- "type": "string"
- },
- "sub_category": {
- "type": "string"
- },
- "title": {
+ "subdivision": {
+ "example": "NJ",
"type": "string"
}
},
"type": "object"
},
- "goldin.SearchLot": {
+ "flashscore.matchOddsResponseDoc": {
"properties": {
- "allow_offers": {
- "description": "AllowOffers, SoldAt, and FinalPrice are only present for\nAuctionTypeFixedPrice lots.",
- "type": "boolean"
- },
- "auction_id": {
- "type": "string"
- },
- "auction_type": {
- "type": "string"
- },
- "buyer_premium": {
- "type": "number"
- },
- "current_price": {
- "description": "CurrentPrice is the current bid (AuctionTypeAuction) or the Buy Now\nprice (AuctionTypeFixedPrice) -- always present regardless of pool.",
- "type": "integer"
- },
- "end_time": {
- "type": "string"
- },
- "final_price": {
- "type": "integer"
- },
- "image_url": {
- "type": "string"
- },
- "lot_id": {
- "type": "string"
- },
- "lot_number": {
- "description": "LotNumber, MinBidPrice, NumberOfBids, ReserveAmount, StartTime, and\nEndTime are only present for AuctionTypeAuction lots -- omitted\n(not just zero) for AuctionTypeFixedPrice, which has no lot\nnumbering, bidding, or auction window.",
- "type": "integer"
- },
- "min_bid_price": {
- "type": "integer"
- },
- "number_of_bids": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "reserve_amount": {
- "type": "number"
- },
- "slug": {
- "description": "Slug is the lot's meta_slug -- pass as slug to goldin-listing for\nfull lot detail.",
- "type": "string"
- },
- "sold_at": {
- "type": "string"
- },
- "start_time": {
- "type": "string"
- },
- "status": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/flashscore.matchOddsDataDoc"
},
- "title": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "goldin.SearchResponse": {
+ "flashscore.matchPlayerStatsDataDoc": {
"properties": {
- "auction_type": {
+ "groups": {
+ "items": {
+ "$ref": "#/definitions/flashscore.playerStatGroupDoc"
+ },
+ "type": "array"
+ },
+ "match_id": {
+ "example": "j52jHsN8",
"type": "string"
},
- "lots": {
+ "players": {
"items": {
- "$ref": "#/definitions/goldin.SearchLot"
+ "$ref": "#/definitions/flashscore.playerMatchStatsDoc"
},
"type": "array"
},
- "page": {
- "type": "integer"
- },
- "total": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "goldin.SuggestResponse": {
- "properties": {
- "keyword": {
+ "source_url": {
+ "example": "https://2.ds.lsapp.eu/pq_graphql?_hash=epmsd&eventId=j52jHsN8&providerId=7",
"type": "string"
},
- "suggestions": {
+ "stat_types": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/flashscore.playerStatTypeDoc"
},
"type": "array"
},
- "total": {
- "description": "Total is Goldin's own count of lots the raw keyword itself would\nmatch, not the number of suggestions returned.",
- "type": "integer"
+ "teams": {
+ "items": {
+ "$ref": "#/definitions/flashscore.playerStatTeamDoc"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "goldin.auctionsResponseDoc": {
+ "flashscore.matchPlayerStatsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/goldin.AuctionsResponse"
+ "$ref": "#/definitions/flashscore.matchPlayerStatsDataDoc"
},
"msg": {
"example": "OK",
@@ -95063,30 +100718,36 @@
},
"type": "object"
},
- "goldin.categoriesResponseDoc": {
+ "flashscore.matchPointByPointDataDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "current_game": {
+ "$ref": "#/definitions/flashscore.pointByPointCurrentGameDoc"
},
- "data": {
- "$ref": "#/definitions/goldin.CategoriesResponse"
+ "match_id": {
+ "example": "8v653Rz9",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "periods": {
+ "items": {
+ "$ref": "#/definitions/flashscore.pointByPointPeriodDoc"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "example": "https://global.flashscore.ninja/2/x/feed/df_mh_1_8v653Rz9",
"type": "string"
}
},
"type": "object"
},
- "goldin.listingResponseDoc": {
+ "flashscore.matchPointByPointResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/goldin.ListingResult"
+ "$ref": "#/definitions/flashscore.matchPointByPointDataDoc"
},
"msg": {
"example": "OK",
@@ -95095,30 +100756,33 @@
},
"type": "object"
},
- "goldin.searchResponseDoc": {
+ "flashscore.matchPredictedLineupsDataDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/goldin.SearchResponse"
+ "match_id": {
+ "example": "f75igXFG",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "source_url": {
+ "example": "https://2.ds.lsapp.eu/pq_graphql?_hash=dplie&eventId=f75igXFG&projectId=2",
"type": "string"
+ },
+ "teams": {
+ "items": {
+ "$ref": "#/definitions/flashscore.predictedLineupTeamDoc"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "goldin.suggestResponseDoc": {
+ "flashscore.matchPredictedLineupsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/goldin.SuggestResponse"
+ "$ref": "#/definitions/flashscore.matchPredictedLineupsDataDoc"
},
"msg": {
"example": "OK",
@@ -95127,604 +100791,450 @@
},
"type": "object"
},
- "goodreads.AuthorBooksResponse": {
+ "flashscore.matchReportDataDoc": {
"properties": {
- "author_id": {
+ "match_id": {
+ "example": "j52jHsN8",
"type": "string"
},
- "books": {
- "items": {
- "$ref": "#/definitions/goodreads.BookListItem"
- },
- "type": "array"
- },
- "page": {
- "type": "integer"
+ "report": {
+ "$ref": "#/definitions/flashscore.matchReportDoc"
},
"source_url": {
+ "example": "https://global.flashscore.ninja/2/x/feed/df_rr_j52jHsN8/",
"type": "string"
}
},
"type": "object"
},
- "goodreads.AuthorQuotesResponse": {
+ "flashscore.matchReportDoc": {
"properties": {
- "author_id": {
+ "author": {
+ "example": "Adam Clancy",
"type": "string"
},
- "page": {
- "type": "integer"
- },
- "quotes": {
+ "content": {
"items": {
- "$ref": "#/definitions/goodreads.Quote"
+ "$ref": "#/definitions/flashscore.reportBlockDoc"
},
"type": "array"
},
- "source_url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "goodreads.AuthorResponse": {
- "properties": {
- "about": {
- "type": "string"
- },
- "average_rating": {
- "example": 4.3,
- "type": "number"
- },
- "birth_date": {
- "example": "August 11, 1962",
+ "edited_at": {
+ "example": "2026-09-19T15:55:26Z",
"type": "string"
},
- "death_date": {
+ "id": {
+ "example": "ALRieYFJ",
"type": "string"
},
- "genres": {
+ "images": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/flashscore.reportImageDoc"
},
"type": "array"
},
- "id": {
- "example": "153394",
- "type": "string"
- },
- "image_url": {
- "type": "string"
- },
- "name": {
- "example": "Suzanne Collins",
- "type": "string"
- },
- "ratings_count": {
- "type": "integer"
- },
- "reviews_count": {
- "type": "integer"
- },
- "source_url": {
+ "published_at": {
+ "example": "2026-09-19T15:55:23Z",
"type": "string"
},
- "uri": {
+ "text": {
"type": "string"
},
- "website": {
+ "title": {
+ "example": "Seagulls soar as Arsenal gunned down",
"type": "string"
}
},
"type": "object"
},
- "goodreads.BookContributor": {
+ "flashscore.matchReportResponseDoc": {
"properties": {
- "name": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "role": {
- "example": "Author",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/flashscore.matchReportDataDoc"
},
- "url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "goodreads.BookListItem": {
+ "flashscore.matchTVDataDoc": {
"properties": {
- "author": {
- "type": "string"
- },
- "average_rating": {
- "example": 4.35,
- "type": "number"
+ "broadcasters": {
+ "items": {
+ "$ref": "#/definitions/flashscore.broadcasterDoc"
+ },
+ "type": "array"
},
- "id": {
+ "geo": {
+ "example": "GB",
"type": "string"
},
- "ratings_count": {
- "type": "integer"
- },
- "title": {
+ "match_id": {
+ "example": "p0aFxkkn",
"type": "string"
},
- "uri": {
+ "source_url": {
+ "example": "https://global.flashscore.ninja/2/x/feed/df_dos_1_p0aFxkkn_",
"type": "string"
}
},
"type": "object"
},
- "goodreads.BookRating": {
+ "flashscore.matchTVResponseDoc": {
"properties": {
- "average": {
- "example": 4.35,
- "type": "number"
- },
- "distribution": {
- "$ref": "#/definitions/goodreads.BookRatingDistribution"
- },
- "ratings_count": {
- "example": 10177796,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "reviews_count": {
- "example": 272857,
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/flashscore.matchTVDataDoc"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "goodreads.BookRatingDistribution": {
+ "flashscore.missingPlayerDoc": {
"properties": {
- "five_star": {
- "type": "integer"
+ "country": {
+ "example": "Brazil",
+ "type": "string"
},
- "four_star": {
- "type": "integer"
+ "list_name": {
+ "example": "Davi Gomes",
+ "type": "string"
},
- "one_star": {
- "type": "integer"
+ "name": {
+ "example": "Davi Gomes",
+ "type": "string"
},
- "three_star": {
- "type": "integer"
+ "player_id": {
+ "example": "E9BtZaJL",
+ "type": "string"
},
- "two_star": {
- "type": "integer"
+ "reason": {
+ "example": "Knee Injury",
+ "type": "string"
+ },
+ "slug": {
+ "example": "davi-gomes",
+ "type": "string"
}
},
"type": "object"
},
- "goodreads.BookResponse": {
+ "flashscore.missingPlayersTeamDoc": {
"properties": {
- "authors": {
+ "doubtful": {
"items": {
- "$ref": "#/definitions/goodreads.BookContributor"
+ "$ref": "#/definitions/flashscore.missingPlayerDoc"
},
"type": "array"
},
- "description": {
- "type": "string"
- },
- "format": {
- "example": "Hardcover",
- "type": "string"
- },
- "genres": {
+ "missing": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/flashscore.missingPlayerDoc"
},
"type": "array"
},
- "id": {
- "example": "2767052",
- "type": "string"
- },
- "image_url": {
- "type": "string"
- },
- "isbn": {
- "type": "string"
- },
- "isbn13": {
- "type": "string"
- },
- "language": {
- "example": "English",
- "type": "string"
- },
- "pages": {
- "example": 374,
- "type": "integer"
- },
- "publication_date": {
- "example": "2008-10-14",
- "type": "string"
- },
- "publisher": {
- "type": "string"
- },
- "rating": {
- "$ref": "#/definitions/goodreads.BookRating"
- },
- "series": {
- "example": "The Hunger Games #1",
- "type": "string"
- },
- "source_url": {
- "type": "string"
- },
- "title": {
- "example": "The Hunger Games",
+ "participant_id": {
+ "example": "2FbjCJan",
"type": "string"
},
- "uri": {
+ "side": {
+ "enum": [
+ "home",
+ "away"
+ ],
+ "example": "home",
"type": "string"
}
},
"type": "object"
},
- "goodreads.Edition": {
+ "flashscore.momentumEventDoc": {
"properties": {
- "asin": {
- "description": "Amazon ASIN of the edition.",
- "type": "string"
- },
- "authors": {
- "description": "Names of the authors credited on the edition.",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "average_rating": {
- "description": "Average rating of the edition out of 5.",
- "example": 4.35,
- "type": "number"
- },
- "book_id": {
- "description": "Goodreads book id of this edition.",
+ "id": {
+ "example": "jqIssqqn",
"type": "string"
},
- "format": {
- "description": "Binding or format of the edition, such as `Hardcover`.",
- "example": "Hardcover",
+ "label": {
+ "example": "Goal",
"type": "string"
},
- "isbn": {
- "description": "ISBN-10 of the edition.",
+ "minute": {
+ "example": "31'",
"type": "string"
},
- "isbn13": {
- "description": "ISBN-13 of the edition.",
+ "period": {
+ "enum": [
+ "first_half",
+ "second_half",
+ "extra_time",
+ "first_extra_time",
+ "second_extra_time",
+ "unknown"
+ ],
+ "example": "first_half",
"type": "string"
},
- "language": {
- "description": "Language the edition is published in.",
+ "player_id": {
+ "example": "trpxfbO3",
"type": "string"
},
- "pages": {
- "description": "Number of pages in the edition.",
- "type": "integer"
- },
- "publication_date": {
- "description": "Publication date as Goodreads shows it, such as `October 14th 2008`.",
- "example": "October 14th 2008",
+ "player_name": {
+ "example": "Gross Pascal",
"type": "string"
},
- "publisher": {
- "description": "Publisher of the edition.",
+ "side": {
+ "enum": [
+ "home",
+ "away"
+ ],
+ "example": "home",
"type": "string"
},
- "ratings_count": {
- "description": "Number of ratings the edition has received.",
+ "stage_id": {
+ "example": 12,
"type": "integer"
},
- "title": {
- "description": "Title of the edition.",
+ "team_id": {
+ "example": "2XrRecc3",
"type": "string"
},
- "uri": {
- "description": "Goodreads URL of the edition's book page.",
+ "type": {
+ "enum": [
+ "yellow_red_card",
+ "red_card",
+ "goal",
+ "own_goal",
+ "penalty_goal"
+ ],
+ "example": "goal",
"type": "string"
}
},
"type": "object"
},
- "goodreads.EditionsResponse": {
+ "flashscore.momentumEventTypeDoc": {
"properties": {
- "book_id": {
- "description": "Goodreads book id that was requested.",
- "type": "string"
- },
- "editions": {
- "description": "Editions of the work on this page.",
- "items": {
- "$ref": "#/definitions/goodreads.Edition"
- },
- "type": "array"
- },
- "page": {
- "description": "Page number of editions returned.",
- "type": "integer"
- },
- "source_url": {
- "description": "URL the data was read from.",
- "type": "string"
- },
- "title": {
- "description": "Title of the work as shown on the editions page.",
+ "label": {
+ "example": "Goal",
"type": "string"
},
- "work_id": {
- "description": "Goodreads work id shared by all the editions listed.",
+ "type": {
+ "enum": [
+ "yellow_red_card",
+ "red_card",
+ "goal",
+ "own_goal",
+ "penalty_goal"
+ ],
+ "example": "goal",
"type": "string"
}
},
"type": "object"
},
- "goodreads.GenreBookItem": {
+ "flashscore.momentumFrameDoc": {
"properties": {
- "author": {
- "type": "string"
- },
- "author_id": {
- "type": "string"
- },
- "average_rating": {
- "example": 4.47,
- "type": "number"
- },
- "id": {
- "type": "string"
- },
- "publication_year": {
+ "added_time": {
+ "example": 1,
"type": "integer"
},
- "ratings_count": {
+ "elapsed_minute": {
+ "example": 45,
"type": "integer"
},
- "shelved_count": {
- "description": "ShelvedCount is how many users have shelved this specific book under\nthis genre tag — a per-genre popularity signal distinct from the\nbook's overall ratings_count.",
+ "elapsed_second": {
+ "example": 59,
"type": "integer"
},
- "title": {
+ "minute": {
+ "example": "45+1'",
"type": "string"
},
- "uri": {
+ "period": {
+ "enum": [
+ "first_half",
+ "second_half",
+ "extra_time",
+ "first_extra_time",
+ "second_extra_time",
+ "unknown"
+ ],
+ "example": "first_half",
"type": "string"
- }
- },
- "type": "object"
- },
- "goodreads.GenreResponse": {
- "properties": {
- "books": {
- "items": {
- "$ref": "#/definitions/goodreads.GenreBookItem"
- },
- "type": "array"
},
- "name": {
- "type": "string"
+ "stage_id": {
+ "example": 12,
+ "type": "integer"
},
- "source_url": {
- "type": "string"
+ "value": {
+ "example": 0.29,
+ "type": "number"
}
},
"type": "object"
},
- "goodreads.ListDirectoryItem": {
+ "flashscore.momentumTeamDoc": {
"properties": {
- "category": {
- "example": "general",
+ "code": {
+ "example": "BHA",
"type": "string"
},
"id": {
- "example": "1",
+ "example": "2XrRecc3",
"type": "string"
},
- "name": {
- "example": "Best Books Ever",
+ "side": {
+ "enum": [
+ "home",
+ "away"
+ ],
+ "example": "home",
"type": "string"
}
},
"type": "object"
},
- "goodreads.ListResponse": {
+ "flashscore.navigationDataDoc": {
"properties": {
- "books": {
+ "groups": {
"items": {
- "$ref": "#/definitions/goodreads.BookListItem"
+ "$ref": "#/definitions/flashscore.navigationGroupDoc"
},
"type": "array"
},
- "id": {
+ "path": {
+ "example": "/basketball/usa/",
"type": "string"
},
- "page": {
- "type": "integer"
- },
"source_url": {
+ "example": "https://www.flashscore.com/basketball/usa/",
"type": "string"
},
"title": {
- "example": "Best Books Ever",
+ "example": "Basketball USA - NBA, NCAA, live scores and livescore",
"type": "string"
}
},
"type": "object"
},
- "goodreads.ListsResponse": {
+ "flashscore.navigationGroupDoc": {
"properties": {
- "lists": {
+ "items": {
"items": {
- "$ref": "#/definitions/goodreads.ListDirectoryItem"
+ "$ref": "#/definitions/flashscore.navigationItemDoc"
},
"type": "array"
+ },
+ "name": {
+ "example": "USA",
+ "type": "string"
}
},
"type": "object"
},
- "goodreads.Quote": {
+ "flashscore.navigationItemDoc": {
"properties": {
- "author": {
- "type": "string"
- },
- "book_id": {
- "type": "string"
- },
- "book_title": {
- "type": "string"
- },
"id": {
- "type": "string"
- },
- "likes": {
+ "example": 1234,
"type": "integer"
},
- "tags": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "text": {
+ "name": {
+ "example": "NBA",
"type": "string"
},
- "uri": {
+ "path": {
+ "example": "/basketball/usa/nba/",
"type": "string"
},
- "work_id": {
- "type": "string"
+ "sport_id": {
+ "example": 3,
+ "type": "integer"
}
},
"type": "object"
},
- "goodreads.Review": {
+ "flashscore.navigationResponseDoc": {
"properties": {
- "comment_count": {
- "type": "integer"
- },
- "contains_spoilers": {
- "type": "boolean"
- },
- "date": {
- "example": "2020-09-18",
- "type": "string"
- },
- "like_count": {
- "type": "integer"
- },
- "rating": {
- "example": 5,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "reviewer": {
- "type": "string"
- },
- "reviewer_url": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/flashscore.navigationDataDoc"
},
- "text": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "goodreads.ReviewsResponse": {
+ "flashscore.newsArticleDataDoc": {
"properties": {
- "id": {
- "type": "string"
- },
- "reviews": {
- "items": {
- "$ref": "#/definitions/goodreads.Review"
- },
- "type": "array"
+ "article": {
+ "$ref": "#/definitions/flashscore.newsArticleDoc"
},
"source_url": {
+ "example": "https://2.ds.lsapp.eu/pq_graphql?_hash=nah&articleId=GYDHQ2yR",
"type": "string"
}
},
"type": "object"
},
- "goodreads.SearchResponse": {
+ "flashscore.newsArticleDoc": {
"properties": {
- "query": {
- "description": "Search query that was run.",
+ "edited_at": {
+ "type": "integer"
+ },
+ "id": {
+ "example": "GYDHQ2yR",
"type": "string"
},
- "results": {
- "description": "Books matching the query.",
+ "images": {
"items": {
- "$ref": "#/definitions/goodreads.SearchResult"
+ "$ref": "#/definitions/flashscore.newsImageDoc"
},
"type": "array"
},
- "source_url": {
- "description": "URL the data was read from.",
- "type": "string"
- }
- },
- "type": "object"
- },
- "goodreads.SearchResult": {
- "properties": {
- "author": {
- "description": "Name of the book's author.",
- "type": "string"
- },
- "author_id": {
- "description": "Goodreads author id.",
- "type": "string"
- },
- "average_rating": {
- "description": "Average rating of the book out of 5.",
- "example": 4.35,
- "type": "number"
- },
- "description": {
- "description": "Book description, shortened to a short excerpt.",
- "type": "string"
- },
- "id": {
- "description": "Goodreads book id.",
- "type": "string"
- },
- "image_url": {
- "description": "URL of the book cover image.",
- "type": "string"
- },
- "pages": {
- "description": "Number of pages in the book.",
+ "published_at": {
+ "example": 1790163122,
"type": "integer"
},
- "ratings_count": {
- "description": "Number of ratings the book has received.",
- "type": "integer"
+ "slug": {
+ "example": "premier-league-panel-admits-penalty-awarded-to-sunderland-vs-arsenal-was-wrong",
+ "type": "string"
},
"title": {
- "description": "Title of the book as Goodreads shows it.",
+ "example": "Premier League panel admits penalty awarded to Sunderland vs Arsenal was wrong",
"type": "string"
},
- "uri": {
- "description": "Goodreads URL of the book page.",
+ "type": {
+ "example": "STANDARD",
"type": "string"
}
},
"type": "object"
},
- "goodreads.authorBooksResponseDoc": {
+ "flashscore.newsArticleResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/goodreads.AuthorBooksResponse"
+ "$ref": "#/definitions/flashscore.newsArticleDataDoc"
},
"msg": {
"example": "OK",
@@ -95733,30 +101243,29 @@
},
"type": "object"
},
- "goodreads.authorQuotesResponseDoc": {
+ "flashscore.newsCategoriesDataDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/goodreads.AuthorQuotesResponse"
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/flashscore.newsCategoryDoc"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "source_url": {
+ "example": "https://www.flashscore.com/news/",
"type": "string"
}
},
"type": "object"
},
- "goodreads.authorResponseDoc": {
+ "flashscore.newsCategoriesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/goodreads.AuthorResponse"
+ "$ref": "#/definitions/flashscore.newsCategoriesDataDoc"
},
"msg": {
"example": "OK",
@@ -95765,78 +101274,92 @@
},
"type": "object"
},
- "goodreads.bookResponseDoc": {
+ "flashscore.newsCategoryDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "entity_id": {
+ "description": "EntityID and EntityType are empty for the All section.",
+ "example": "SW9D1eZo",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/goodreads.BookResponse"
+ "entity_type": {
+ "enum": [
+ "SPORT",
+ "TOURNAMENT_TEMPLATE",
+ "TAG"
+ ],
+ "example": "SPORT",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "key": {
+ "example": "football",
"type": "string"
- }
- },
- "type": "object"
- },
- "goodreads.editionsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/goodreads.EditionsResponse"
+ "name": {
+ "example": "Football",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "path": {
+ "example": "/news/football/",
"type": "string"
}
},
"type": "object"
},
- "goodreads.genreResponseDoc": {
+ "flashscore.newsImageDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "alt_text": {
+ "example": "Arteta on the touchline",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/goodreads.GenreResponse"
+ "credit": {
+ "example": "REUTERS / Scott Heppell",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "url": {
+ "example": "https://livesport-ott-images.ssl.cdn.cra.cz/d9623cbc-957c-4955-bdc9-e82567576136",
"type": "string"
+ },
+ "variant_type_id": {
+ "example": 1,
+ "type": "integer"
}
},
"type": "object"
},
- "goodreads.listResponseDoc": {
+ "flashscore.newsListDataDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/flashscore.newsPreviewDoc"
+ },
+ "type": "array"
},
- "data": {
- "$ref": "#/definitions/goodreads.ListResponse"
+ "category": {
+ "$ref": "#/definitions/flashscore.newsCategoryDoc"
},
- "msg": {
- "example": "OK",
+ "has_more": {
+ "example": true,
+ "type": "boolean"
+ },
+ "page": {
+ "example": 1,
+ "type": "integer"
+ },
+ "source_url": {
+ "example": "https://www.flashscore.com/news/football/",
"type": "string"
}
},
"type": "object"
},
- "goodreads.listsResponseDoc": {
+ "flashscore.newsListResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/goodreads.ListsResponse"
+ "$ref": "#/definitions/flashscore.newsListDataDoc"
},
"msg": {
"example": "OK",
@@ -95845,1915 +101368,1708 @@
},
"type": "object"
},
- "goodreads.reviewsResponseDoc": {
+ "flashscore.newsPreviewDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "date": {
+ "example": "25.09.2026 18:20",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/goodreads.ReviewsResponse"
+ "id": {
+ "example": "Y9WFYvHj",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "image_alt": {
+ "example": "Erling Haaland celebrates",
"type": "string"
- }
- },
- "type": "object"
- },
- "goodreads.searchResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/goodreads.SearchResponse"
+ "image_url": {
+ "example": "https://livesport-ott-images.ssl.cdn.cra.cz/r900xfq60/example.jpeg",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "path": {
+ "example": "/news/haaland-brace-helps-norway-to-first-win-over-scandinavian-rivals-denmark-in-28-years/Y9WFYvHj/",
+ "type": "string"
+ },
+ "title": {
+ "example": "Haaland brace helps Norway to first win over Scandinavian rivals Denmark",
"type": "string"
}
},
"type": "object"
},
- "goodrx.AnswerDrug": {
+ "flashscore.oddsBookmakerDoc": {
"properties": {
- "info_url": {
- "type": "string"
+ "id": {
+ "example": 16,
+ "type": "integer"
},
"name": {
- "type": "string"
- },
- "slug": {
+ "example": "bet365",
"type": "string"
}
},
"type": "object"
},
- "goodrx.AnswerRef": {
+ "flashscore.oddsGeoDoc": {
"properties": {
- "drug": {
- "type": "string"
- },
- "question": {
+ "code": {
+ "example": "GB",
"type": "string"
},
- "slug": {
- "type": "string"
+ "has_bookmakers": {
+ "example": true,
+ "type": "boolean"
},
- "url": {
+ "name": {
+ "example": "United Kingdom",
"type": "string"
}
},
"type": "object"
},
- "goodrx.AnswerResponse": {
+ "flashscore.oddsGeosDataDoc": {
"properties": {
- "answer": {
- "type": "string"
- },
- "articles": {
+ "betting_scopes": {
+ "example": [
+ "FULL_TIME"
+ ],
"items": {
- "$ref": "#/definitions/goodrx.ArticleRef"
+ "type": "string"
},
"type": "array"
},
- "drug": {
- "$ref": "#/definitions/goodrx.AnswerDrug"
- },
- "more_questions": {
- "items": {
- "$ref": "#/definitions/goodrx.AnswerRef"
- },
- "type": "array"
- },
- "paragraphs": {
+ "betting_types": {
+ "example": [
+ "HOME_DRAW_AWAY"
+ ],
"items": {
"type": "string"
},
"type": "array"
},
- "question": {
+ "default_geo": {
+ "example": "GB",
"type": "string"
},
- "related_drugs": {
+ "geos": {
"items": {
- "$ref": "#/definitions/goodrx.DrugLink"
+ "$ref": "#/definitions/flashscore.oddsGeoDoc"
},
"type": "array"
},
- "slug": {
- "type": "string"
+ "handicap_types": {
+ "example": [
+ "UNKNOWN"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "source_url": {
+ "subdivision_notes": {
+ "example": "subdivision is accepted only with geo US or CA, where it changes which bookmakers are licensed.",
"type": "string"
},
- "url": {
+ "subdivisions": {
+ "items": {
+ "$ref": "#/definitions/flashscore.oddsSubdivisionDoc"
+ },
+ "type": "array"
+ },
+ "verified_on": {
+ "example": "2026-10-07",
"type": "string"
}
},
"type": "object"
},
- "goodrx.AnswersResponse": {
+ "flashscore.oddsGeosResponseDoc": {
"properties": {
- "questions": {
- "items": {
- "$ref": "#/definitions/goodrx.AnswerRef"
- },
- "type": "array"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "top_questions": {
- "items": {
- "$ref": "#/definitions/goodrx.AnswerRef"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/flashscore.oddsGeosDataDoc"
},
- "total": {
- "type": "integer"
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "goodrx.ArticleRef": {
+ "flashscore.oddsMarketDoc": {
"properties": {
- "title": {
+ "betting_type": {
+ "enum": [
+ "HOME_DRAW_AWAY",
+ "HOME_AWAY",
+ "DRAW_NO_BET",
+ "DOUBLE_CHANCE",
+ "ASIAN_HANDICAP",
+ "EUROPEAN_HANDICAP",
+ "OVER_UNDER",
+ "BOTH_TEAMS_TO_SCORE",
+ "CORRECT_SCORE",
+ "HALF_FULL_TIME",
+ "ODD_OR_EVEN",
+ "TO_QUALIFY",
+ "NEXT_GOAL",
+ "TOP_POSITION_MERGED",
+ "TO_WIN_AND_TOP_POSITION",
+ "WIN_EACH_WAY"
+ ],
+ "example": "HOME_DRAW_AWAY",
"type": "string"
},
- "url": {
+ "offers": {
+ "items": {
+ "$ref": "#/definitions/flashscore.oddsOfferDoc"
+ },
+ "type": "array"
+ },
+ "scope": {
+ "enum": [
+ "FULL_TIME",
+ "FULL_TIME_OVER_TIME",
+ "FIRST_HALF",
+ "SECOND_HALF",
+ "FIRST_PERIOD",
+ "FIRST_QUARTER",
+ "FIRST_SET",
+ "SECOND_SET"
+ ],
+ "example": "FULL_TIME",
"type": "string"
}
},
"type": "object"
},
- "goodrx.BrandsResponse": {
+ "flashscore.oddsOfferDoc": {
"properties": {
- "drugs": {
+ "bookmaker_id": {
+ "example": 16,
+ "type": "integer"
+ },
+ "outcomes": {
"items": {
- "$ref": "#/definitions/goodrx.DrugLink"
+ "$ref": "#/definitions/flashscore.oddsOutcomeDoc"
},
"type": "array"
}
},
"type": "object"
},
- "goodrx.ClassRef": {
+ "flashscore.oddsOutcomeDoc": {
"properties": {
- "name": {
- "type": "string"
+ "active": {
+ "example": true,
+ "type": "boolean"
},
- "slug": {
+ "half_full_time": {
+ "example": "1/1",
"type": "string"
},
- "url": {
+ "handicap": {
+ "example": 2.5,
+ "type": "number"
+ },
+ "handicap_type": {
+ "enum": [
+ "UNKNOWN",
+ "GOALS",
+ "GAMES",
+ "SETS",
+ "POINTS",
+ "FRAMES",
+ "LEGS",
+ "RUNS"
+ ],
+ "example": "UNKNOWN",
"type": "string"
- }
- },
- "type": "object"
- },
- "goodrx.ClassResponse": {
- "properties": {
- "drugs": {
- "items": {
- "$ref": "#/definitions/goodrx.DrugLink"
- },
- "type": "array"
},
- "name": {
+ "odds": {
+ "example": 2.6,
+ "type": "number"
+ },
+ "opening_odds": {
+ "example": 3,
+ "type": "number"
+ },
+ "participant_id": {
+ "example": "Gzrm3lW6",
"type": "string"
},
- "overview": {
- "description": "Overview is the class description (\"Why are ... prescribed?\").",
+ "score": {
+ "example": "2:1",
"type": "string"
},
- "slug": {
+ "selection": {
+ "example": "home",
"type": "string"
},
- "url": {
+ "side": {
+ "enum": [
+ "home",
+ "away"
+ ],
+ "example": "home",
"type": "string"
}
},
"type": "object"
},
- "goodrx.ClassesResponse": {
- "properties": {
- "classes": {
- "items": {
- "$ref": "#/definitions/goodrx.ClassRef"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "goodrx.ComparisonDrug": {
+ "flashscore.oddsParticipantDoc": {
"properties": {
- "info_url": {
- "type": "string"
- },
- "name": {
- "type": "string"
- },
- "prescription": {
- "type": "string"
- },
- "slug": {
+ "id": {
+ "example": "Gzrm3lW6",
"type": "string"
},
- "url": {
+ "side": {
+ "enum": [
+ "home",
+ "away"
+ ],
+ "example": "home",
"type": "string"
}
},
"type": "object"
},
- "goodrx.ComparisonRef": {
+ "flashscore.oddsSubdivisionDoc": {
"properties": {
- "name": {
+ "code": {
+ "example": "NJ",
"type": "string"
},
- "slug": {
+ "geo": {
+ "example": "US",
"type": "string"
},
- "url": {
+ "name": {
+ "example": "New Jersey",
"type": "string"
}
},
"type": "object"
},
- "goodrx.ComparisonResponse": {
+ "flashscore.playerMatchStatsDoc": {
"properties": {
- "drugs": {
- "items": {
- "$ref": "#/definitions/goodrx.ComparisonDrug"
- },
- "type": "array"
- },
- "key_takeaways": {
+ "highlights": {
+ "example": [
+ "goals",
+ "assists"
+ ],
"items": {
"type": "string"
},
"type": "array"
},
- "slug": {
+ "id": {
+ "example": "trpxfbO3",
"type": "string"
},
- "title": {
+ "name": {
+ "example": "Gross Pascal",
"type": "string"
},
- "url": {
+ "position": {
+ "example": "Midfielder",
"type": "string"
- }
- },
- "type": "object"
- },
- "goodrx.ComparisonTopic": {
- "properties": {
- "comparisons": {
- "items": {
- "$ref": "#/definitions/goodrx.ComparisonRef"
+ },
+ "rating": {
+ "example": 8.3,
+ "type": "number"
+ },
+ "short_name": {
+ "example": "Gross P.",
+ "type": "string"
+ },
+ "side": {
+ "enum": [
+ "home",
+ "away"
+ ],
+ "example": "home",
+ "type": "string"
+ },
+ "slug": {
+ "example": "gross-pascal",
+ "type": "string"
+ },
+ "starter": {
+ "example": true,
+ "type": "boolean"
+ },
+ "stats": {
+ "additionalProperties": {
+ "$ref": "#/definitions/flashscore.playerStatValueDoc"
},
- "type": "array"
+ "description": "Stats maps a statistic key from stat_types to this player's value.",
+ "type": "object"
},
- "name": {
+ "team_id": {
+ "example": "2XrRecc3",
"type": "string"
+ },
+ "top_rated": {
+ "example": true,
+ "type": "boolean"
}
},
"type": "object"
},
- "goodrx.ComparisonsResponse": {
+ "flashscore.playerStatCombinedDoc": {
"properties": {
- "topics": {
+ "stats": {
+ "example": [
+ "passes_accurate",
+ "passes_total",
+ "passes_accuracy"
+ ],
"items": {
- "$ref": "#/definitions/goodrx.ComparisonTopic"
+ "type": "string"
},
"type": "array"
+ },
+ "template": {
+ "example": "%s/%s (%s)",
+ "type": "string"
}
},
"type": "object"
},
- "goodrx.Condition": {
+ "flashscore.playerStatGroupDoc": {
"properties": {
- "has_medications": {
+ "goalkeeper_only": {
+ "example": false,
"type": "boolean"
},
- "name": {
+ "key": {
+ "enum": [
+ "top_stats",
+ "shots",
+ "attack",
+ "passes",
+ "defense",
+ "goalkeeping",
+ "general"
+ ],
+ "example": "shots",
"type": "string"
},
- "slug": {
+ "label": {
+ "example": "Shots",
"type": "string"
},
- "url": {
- "type": "string"
+ "stats": {
+ "example": [
+ "shots_total",
+ "goals"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "goodrx.ConditionDrugsResponse": {
+ "flashscore.playerStatTeamDoc": {
"properties": {
- "drugs": {
- "items": {
- "$ref": "#/definitions/goodrx.DrugLink"
- },
- "type": "array"
- },
- "name": {
+ "id": {
+ "example": "2XrRecc3",
"type": "string"
},
- "slug": {
+ "name": {
+ "example": "Brighton",
"type": "string"
},
- "url": {
+ "side": {
+ "enum": [
+ "home",
+ "away"
+ ],
+ "example": "home",
"type": "string"
}
},
"type": "object"
},
- "goodrx.ConditionResponse": {
+ "flashscore.playerStatTypeDoc": {
"properties": {
- "alternate_name": {
- "type": "string"
+ "combined": {
+ "$ref": "#/definitions/flashscore.playerStatCombinedDoc"
},
- "articles": {
- "items": {
- "$ref": "#/definitions/goodrx.ArticleRef"
- },
- "type": "array"
+ "format": {
+ "enum": [
+ "count",
+ "percentage",
+ "count_two_decimal_places"
+ ],
+ "example": "count",
+ "type": "string"
},
- "authors": {
+ "groups": {
"items": {
+ "enum": [
+ "top_stats",
+ "shots",
+ "attack",
+ "passes",
+ "defense",
+ "goalkeeping",
+ "general"
+ ],
"type": "string"
},
"type": "array"
},
- "date_modified": {
- "type": "string"
- },
- "date_published": {
+ "key": {
+ "example": "shots_total",
"type": "string"
},
- "description": {
+ "label": {
+ "example": "Total shots",
"type": "string"
},
- "headline": {
+ "sentiment": {
+ "enum": [
+ "positive",
+ "negative"
+ ],
+ "example": "positive",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "flashscore.playerStatValueDoc": {
+ "properties": {
+ "rank": {
+ "example": 9,
+ "type": "integer"
},
- "medications_url": {
- "type": "string"
+ "raw": {
+ "example": 0.1074,
+ "type": "number"
},
- "name": {
+ "value": {
+ "example": "0.11",
"type": "string"
- },
- "sections": {
+ }
+ },
+ "type": "object"
+ },
+ "flashscore.pointByPointCurrentGameDoc": {
+ "properties": {
+ "points": {
"items": {
- "$ref": "#/definitions/goodrx.InfoSection"
+ "$ref": "#/definitions/flashscore.pointScoreDoc"
},
"type": "array"
},
- "slug": {
+ "server": {
+ "enum": [
+ "home",
+ "away"
+ ],
+ "example": "away",
"type": "string"
},
- "url": {
+ "title": {
+ "example": "Current game",
"type": "string"
}
},
"type": "object"
},
- "goodrx.ConditionsResponse": {
+ "flashscore.pointByPointEntryDoc": {
"properties": {
- "conditions": {
+ "away_score": {
+ "example": 0,
+ "type": "integer"
+ },
+ "away_tiebreak_score": {
+ "example": 3,
+ "type": "integer"
+ },
+ "home_score": {
+ "example": 1,
+ "type": "integer"
+ },
+ "home_tiebreak_score": {
+ "example": 7,
+ "type": "integer"
+ },
+ "lead": {
+ "$ref": "#/definitions/flashscore.pointByPointLeadDoc"
+ },
+ "markers": {
"items": {
- "$ref": "#/definitions/goodrx.Condition"
+ "$ref": "#/definitions/flashscore.pointMarkerDoc"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "goodrx.Configuration": {
- "properties": {
- "dosage": {
- "type": "string"
},
- "drug_id": {
- "type": "string"
+ "number": {
+ "example": 1,
+ "type": "integer"
},
- "form": {
- "type": "string"
+ "points": {
+ "items": {
+ "$ref": "#/definitions/flashscore.pointScoreDoc"
+ },
+ "type": "array"
},
- "label": {
+ "server": {
+ "enum": [
+ "home",
+ "away"
+ ],
+ "example": "home",
"type": "string"
},
- "quantity": {
- "type": "integer"
+ "server_lost": {
+ "example": false,
+ "type": "boolean"
},
- "summary": {
+ "winner": {
+ "enum": [
+ "home",
+ "away"
+ ],
+ "example": "home",
"type": "string"
}
},
"type": "object"
},
- "goodrx.DosageOption": {
+ "flashscore.pointByPointLeadDoc": {
"properties": {
- "default_quantity": {
- "description": "DefaultQuantity is GoodRx's default quantity for this dosage.",
+ "margin": {
+ "example": 4,
"type": "integer"
},
- "drug_id": {
- "type": "string"
- },
- "name": {
- "type": "string"
- },
- "quantities": {
- "items": {
- "type": "integer"
- },
- "type": "array"
+ "narrowed": {
+ "example": true,
+ "type": "boolean"
},
- "slug": {
+ "side": {
+ "enum": [
+ "home",
+ "away"
+ ],
+ "example": "away",
"type": "string"
}
},
"type": "object"
},
- "goodrx.DosagePriceRow": {
+ "flashscore.pointByPointPeriodDoc": {
"properties": {
- "dosage": {
- "type": "string"
- },
- "price": {
- "type": "number"
- },
- "price_url": {
- "type": "string"
+ "sections": {
+ "items": {
+ "$ref": "#/definitions/flashscore.pointByPointSectionDoc"
+ },
+ "type": "array"
},
- "quantity": {
+ "title": {
+ "example": "Set 1",
"type": "string"
- },
- "unit_price": {
- "type": "number"
}
},
"type": "object"
},
- "goodrx.DosagePriceTable": {
+ "flashscore.pointByPointSectionDoc": {
"properties": {
- "form": {
- "type": "string"
- },
- "rows": {
+ "entries": {
"items": {
- "$ref": "#/definitions/goodrx.DosagePriceRow"
+ "$ref": "#/definitions/flashscore.pointByPointEntryDoc"
},
"type": "array"
+ },
+ "title": {
+ "example": "Point by point - Set 1",
+ "type": "string"
}
},
"type": "object"
},
- "goodrx.DrugGuideRef": {
+ "flashscore.pointMarkerDoc": {
"properties": {
- "last_modified": {
- "type": "string"
- },
- "slug": {
- "type": "string"
- },
- "title": {
- "type": "string"
- },
- "topic": {
+ "side": {
"enum": [
- "side-effects",
- "dosage",
- "interactions"
+ "home",
+ "away"
],
+ "example": "home",
"type": "string"
},
- "url": {
+ "type": {
+ "enum": [
+ "break_point",
+ "set_point",
+ "match_point"
+ ],
+ "example": "break_point",
"type": "string"
}
},
"type": "object"
},
- "goodrx.DrugGuideResponse": {
+ "flashscore.pointScoreDoc": {
"properties": {
- "drug": {
+ "away": {
+ "example": "30",
"type": "string"
},
- "last_reviewed": {
+ "home": {
+ "example": "40",
"type": "string"
},
- "price_tables": {
+ "markers": {
"items": {
- "$ref": "#/definitions/goodrx.DosagePriceTable"
+ "$ref": "#/definitions/flashscore.pointMarkerDoc"
},
"type": "array"
- },
- "related": {
+ }
+ },
+ "type": "object"
+ },
+ "flashscore.predictedFormationDoc": {
+ "properties": {
+ "lines": {
"items": {
- "$ref": "#/definitions/goodrx.DrugGuideRef"
+ "$ref": "#/definitions/flashscore.formationLineDoc"
},
"type": "array"
},
- "reviewed_by": {
+ "name": {
+ "example": "4-2-3-1",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "flashscore.predictedLineupTeamDoc": {
+ "properties": {
+ "aggregated_stats": {
+ "$ref": "#/definitions/flashscore.lineupAggregatedStatsDoc"
+ },
+ "coaches": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/flashscore.lineupPlayerDoc"
},
"type": "array"
},
- "sections": {
+ "formation": {
+ "$ref": "#/definitions/flashscore.predictedFormationDoc"
+ },
+ "groups": {
"items": {
- "$ref": "#/definitions/goodrx.GuideSection"
+ "$ref": "#/definitions/flashscore.lineupGroupDoc"
},
"type": "array"
},
- "slug": {
+ "name": {
+ "example": "Bragantino",
"type": "string"
},
- "source_url": {
+ "participant_id": {
+ "example": "2FbjCJan",
"type": "string"
},
- "summary": {
+ "players": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/flashscore.lineupPlayerDoc"
},
"type": "array"
},
- "title": {
- "type": "string"
- },
- "topic": {
+ "side": {
"enum": [
- "side-effects",
- "dosage",
- "interactions"
+ "home",
+ "away"
],
- "type": "string"
- },
- "url": {
+ "example": "home",
"type": "string"
}
},
"type": "object"
},
- "goodrx.DrugGuidesResponse": {
+ "flashscore.rankingCategoriesDataDoc": {
"properties": {
- "guides": {
+ "categories": {
"items": {
- "$ref": "#/definitions/goodrx.DrugGuideRef"
+ "$ref": "#/definitions/flashscore.rankingCategoryDoc"
},
"type": "array"
},
- "letter": {
- "type": "string"
- },
- "topic": {
+ "source_url": {
+ "example": "https://www.flashscore.com/",
"type": "string"
- },
- "total": {
- "type": "integer"
}
},
"type": "object"
},
- "goodrx.DrugInfo": {
+ "flashscore.rankingCategoriesResponseDoc": {
"properties": {
- "administration_route": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "alternate_name": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/flashscore.rankingCategoriesDataDoc"
},
- "description": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "drug_class": {
- "$ref": "#/definitions/goodrx.ClassRef"
- },
- "image_url": {
+ }
+ },
+ "type": "object"
+ },
+ "flashscore.rankingCategoryDoc": {
+ "properties": {
+ "key": {
+ "example": "tennis-atp",
"type": "string"
},
- "legal_status": {
- "type": "string"
+ "live": {
+ "example": false,
+ "type": "boolean"
},
"name": {
+ "example": "ATP Singles",
"type": "string"
},
- "non_proprietary_name": {
- "type": "string"
- },
- "prescription_status": {
- "type": "string"
- },
- "slug": {
+ "path": {
+ "example": "/tennis/rankings/atp/",
"type": "string"
},
- "url": {
+ "sport": {
+ "example": "tennis",
"type": "string"
}
},
"type": "object"
},
- "goodrx.DrugInfoResponse": {
+ "flashscore.rankingDataDoc": {
"properties": {
- "alternatives": {
- "items": {
- "$ref": "#/definitions/goodrx.ComparisonRef"
- },
- "type": "array"
- },
- "audience": {
- "enum": [
- "people",
- "pets"
- ],
- "type": "string"
- },
- "authors": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "date_modified": {
- "type": "string"
- },
- "date_published": {
- "type": "string"
- },
- "faqs": {
- "items": {
- "$ref": "#/definitions/goodrx.FAQ"
- },
- "type": "array"
+ "category": {
+ "$ref": "#/definitions/flashscore.rankingCategoryDoc"
},
- "sections": {
+ "pages": {
"items": {
- "$ref": "#/definitions/goodrx.InfoSection"
+ "$ref": "#/definitions/flashscore.rankingPageDoc"
},
"type": "array"
},
- "slug": {
- "type": "string"
- },
- "title": {
- "type": "string"
- },
- "url": {
+ "source_url": {
+ "example": "https://www.flashscore.com/tennis/rankings/atp/",
"type": "string"
}
},
"type": "object"
},
- "goodrx.DrugLink": {
+ "flashscore.rankingPageDoc": {
"properties": {
- "description": {
- "type": "string"
- },
- "info_url": {
+ "data": {
+ "example": "TS÷ME¬TS÷TAB¬TE÷RW¬...",
"type": "string"
},
- "lowest_price": {
- "type": "number"
- },
- "name": {
+ "feed_url": {
+ "example": "https://global.flashscore.ninja/2/x/feed/ran_dSJr14Y8_1",
"type": "string"
},
- "slug": {
- "type": "string"
+ "page": {
+ "example": 1,
+ "type": "integer"
},
- "url": {
- "type": "string"
+ "rows": {
+ "example": 100,
+ "type": "integer"
}
},
"type": "object"
},
- "goodrx.DrugOptionsResponse": {
+ "flashscore.rankingResponseDoc": {
"properties": {
- "default": {
- "$ref": "#/definitions/goodrx.Configuration"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "drug": {
- "$ref": "#/definitions/goodrx.DrugInfo"
+ "data": {
+ "$ref": "#/definitions/flashscore.rankingDataDoc"
},
- "options": {
- "items": {
- "$ref": "#/definitions/goodrx.LabelOption"
- },
- "type": "array"
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "goodrx.DrugPricesResponse": {
+ "flashscore.reportBlockDoc": {
"properties": {
- "configuration": {
- "$ref": "#/definitions/goodrx.Configuration"
+ "alt": {
+ "example": "Momentum",
+ "type": "string"
},
- "drug": {
- "$ref": "#/definitions/goodrx.DrugInfo"
+ "bold": {
+ "example": true,
+ "type": "boolean"
},
- "location": {
- "$ref": "#/definitions/goodrx.Location"
+ "credit": {
+ "example": "Flashscore",
+ "type": "string"
},
- "offers": {
- "items": {
- "$ref": "#/definitions/goodrx.PharmacyOffer"
- },
- "type": "array"
+ "height": {
+ "example": 2160,
+ "type": "integer"
},
- "options": {
- "items": {
- "$ref": "#/definitions/goodrx.LabelOption"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "goodrx.DrugsResponse": {
- "properties": {
- "drugs": {
+ "links": {
"items": {
- "$ref": "#/definitions/goodrx.DrugLink"
+ "$ref": "#/definitions/flashscore.reportLinkDoc"
},
"type": "array"
},
- "letter": {
+ "text": {
"type": "string"
- }
- },
- "type": "object"
- },
- "goodrx.FAQ": {
- "properties": {
- "answer": {
+ },
+ "type": {
+ "enum": [
+ "paragraph",
+ "image"
+ ],
+ "example": "paragraph",
"type": "string"
},
- "question": {
+ "url": {
"type": "string"
+ },
+ "width": {
+ "example": 3840,
+ "type": "integer"
}
},
"type": "object"
},
- "goodrx.FormOption": {
+ "flashscore.reportImageDoc": {
"properties": {
- "dosages": {
- "items": {
- "$ref": "#/definitions/goodrx.DosageOption"
- },
- "type": "array"
+ "alt": {
+ "type": "string"
},
- "name": {
+ "credit": {
+ "example": "GLYN KIRK / AFP",
"type": "string"
},
- "slug": {
+ "thumbnail_url": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "goodrx.GuideItem": {
+ "flashscore.reportLinkDoc": {
"properties": {
- "detail": {
+ "id": {
+ "example": "hA1Zm19f",
"type": "string"
},
- "frequency": {
+ "text": {
+ "example": "Arsenal",
"type": "string"
},
- "name": {
+ "type": {
+ "enum": [
+ "team",
+ "player",
+ "competition",
+ "page"
+ ],
+ "example": "team",
"type": "string"
},
- "slug": {
+ "url": {
+ "example": "https://www.flashscore.com/team/arsenal/hA1Zm19f/",
"type": "string"
}
},
"type": "object"
},
- "goodrx.GuideList": {
+ "flashscore.responseDoc": {
"properties": {
- "items": {
- "items": {
- "$ref": "#/definitions/goodrx.GuideItem"
- },
- "type": "array"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "label": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/flashscore.sourceDataDoc"
},
- "severity": {
- "enum": [
- "not_recommended",
- "usually_not_recommended",
- "increased_risk"
- ],
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "goodrx.GuideSection": {
+ "flashscore.searchDataDoc": {
"properties": {
- "lists": {
- "items": {
- "$ref": "#/definitions/goodrx.GuideList"
- },
- "type": "array"
+ "query": {
+ "example": "Arsenal",
+ "type": "string"
},
- "paragraphs": {
+ "results": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/flashscore.searchResultDoc"
},
"type": "array"
},
- "title": {
+ "source_url": {
+ "example": "https://s.livesport.services/api/v2/search/?q=Arsenal",
"type": "string"
}
},
"type": "object"
},
- "goodrx.HealthArticleRef": {
+ "flashscore.searchImageDoc": {
"properties": {
- "last_modified": {
- "type": "string"
- },
"path": {
+ "example": "fwtiqyQt-vcNAdtF9.png",
"type": "string"
},
- "section": {
- "type": "string"
- },
- "slug": {
- "type": "string"
+ "usageId": {
+ "example": 2,
+ "type": "integer"
},
- "topic": {
- "type": "string"
+ "variantTypeId": {
+ "example": 2,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "flashscore.searchNamedIDDoc": {
+ "properties": {
+ "id": {
+ "example": 2,
+ "type": "integer"
},
- "url": {
+ "name": {
+ "example": "Team",
"type": "string"
}
},
"type": "object"
},
- "goodrx.HealthArticleResponse": {
+ "flashscore.searchResponseDoc": {
"properties": {
- "authors": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "date_modified": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/flashscore.searchDataDoc"
},
- "date_published": {
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "flashscore.searchResultDoc": {
+ "properties": {
+ "defaultCountry": {
+ "additionalProperties": true,
+ "type": "object"
},
- "description": {
- "type": "string"
+ "defaultTournament": {
+ "additionalProperties": true,
+ "type": "object"
},
- "faqs": {
- "items": {
- "$ref": "#/definitions/goodrx.FAQ"
- },
- "type": "array"
+ "gender": {
+ "$ref": "#/definitions/flashscore.searchNamedIDDoc"
},
- "headline": {
+ "id": {
+ "example": "hA1Zm19f",
"type": "string"
},
- "key_takeaways": {
+ "images": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/flashscore.searchImageDoc"
},
"type": "array"
},
- "path": {
+ "name": {
+ "example": "Arsenal",
"type": "string"
},
- "references": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "related_drugs": {
- "items": {
- "$ref": "#/definitions/goodrx.DrugLink"
- },
- "type": "array"
- },
- "reviewed_by": {
+ "participantTypes": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/flashscore.searchNamedIDDoc"
},
"type": "array"
},
- "section": {
- "type": "string"
- },
- "sections": {
- "items": {
- "$ref": "#/definitions/goodrx.GuideSection"
- },
- "type": "array"
+ "sport": {
+ "$ref": "#/definitions/flashscore.searchNamedIDDoc"
},
- "slug": {
- "type": "string"
+ "superTemplate": {
+ "additionalProperties": true,
+ "type": "object"
},
- "tags": {
+ "teams": {
"items": {
- "type": "string"
+ "additionalProperties": true,
+ "type": "object"
},
"type": "array"
},
- "topic": {
- "type": "string"
+ "type": {
+ "$ref": "#/definitions/flashscore.searchNamedIDDoc"
},
"url": {
+ "example": "arsenal",
"type": "string"
}
},
"type": "object"
},
- "goodrx.HealthArticlesResponse": {
+ "flashscore.sourceDataDoc": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/goodrx.HealthArticleRef"
- },
- "type": "array"
- },
- "page": {
- "type": "integer"
- },
- "page_size": {
- "type": "integer"
- },
- "section": {
+ "data": {
+ "example": "SE÷Match¬~SF÷Top stats¬~SD÷432¬SG÷Expected goals (xG)¬SH÷0.00¬SI÷0.00¬~",
"type": "string"
},
- "topic": {
+ "source_url": {
+ "example": "https://global.flashscore.ninja/2/x/feed/df_st_2_xtmHKGT0",
"type": "string"
- },
- "total": {
- "type": "integer"
- },
- "total_pages": {
- "type": "integer"
}
},
"type": "object"
},
- "goodrx.HealthTopic": {
+ "flashscore.sportItemDoc": {
"properties": {
- "article_count": {
+ "event_count": {
+ "example": 159,
"type": "integer"
},
- "last_modified": {
+ "id": {
+ "example": 1,
+ "type": "integer"
+ },
+ "key": {
+ "example": "football",
"type": "string"
},
- "section": {
- "enum": [
- "conditions",
- "health-topic",
- "well-being",
- "pet-health",
- "insurance",
- "classes",
- "drugs",
- "healthcare-access",
- "corporate",
- "hcp",
- "drug"
- ],
+ "league_count": {
+ "example": 11,
+ "type": "integer"
+ },
+ "name": {
+ "example": "Football",
"type": "string"
},
- "topic": {
+ "path": {
+ "example": "/",
"type": "string"
}
},
"type": "object"
},
- "goodrx.HealthTopicsResponse": {
+ "flashscore.sportsDataDoc": {
"properties": {
- "section": {
+ "source_url": {
+ "example": "https://global.flashscore.ninja/2/x/feed/mc_8",
"type": "string"
},
- "topics": {
+ "sports": {
"items": {
- "$ref": "#/definitions/goodrx.HealthTopic"
+ "$ref": "#/definitions/flashscore.sportItemDoc"
},
"type": "array"
- },
- "total": {
- "type": "integer"
}
},
"type": "object"
},
- "goodrx.InfoSection": {
+ "flashscore.sportsResponseDoc": {
"properties": {
- "id": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "items": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/flashscore.sportsDataDoc"
},
- "title": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "goodrx.LabelOption": {
+ "flashscore.topSearchDataDoc": {
"properties": {
- "forms": {
+ "results": {
"items": {
- "$ref": "#/definitions/goodrx.FormOption"
+ "$ref": "#/definitions/flashscore.searchResultDoc"
},
"type": "array"
},
- "name": {
- "type": "string"
- },
- "slug": {
- "type": "string"
- },
- "type": {
+ "source_url": {
+ "example": "https://s.livesport.services/api/v2/top-search/?lang-id=1&limit=10&project-id=2&project-type-id=1&type-ids=1%2C2%2C3%2C4",
"type": "string"
}
},
"type": "object"
},
- "goodrx.Location": {
+ "flashscore.topSearchResponseDoc": {
"properties": {
- "city": {
- "type": "string"
- },
- "latitude": {
- "type": "number"
- },
- "longitude": {
- "type": "number"
- },
- "state": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "zip_code": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "goodrx.PetMedicationRef": {
- "properties": {
- "slug": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/flashscore.topSearchDataDoc"
},
- "url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "goodrx.PetMedicationsResponse": {
- "properties": {
- "drugs": {
- "items": {
- "$ref": "#/definitions/goodrx.PetMedicationRef"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "goodrx.PharmacyOffer": {
+ "flashscore.tournamentEventsDataDoc": {
"properties": {
- "logo_url": {
- "type": "string"
- },
- "lowest_price": {
- "type": "number"
- },
- "membership": {
- "description": "Membership names the paid program behind an UPSELL price, for example\n\"COMPANION\" (observed value; returned as data).",
+ "data": {
+ "example": "SA÷1¬~ZA÷ENGLAND: Premier League¬ZEE÷dYlOSQOD¬ZB÷198¬~AA÷byL7b0nn¬AD÷1797692400¬",
"type": "string"
},
- "order_url": {
- "type": "string"
+ "event_count": {
+ "example": 83,
+ "type": "integer"
},
- "pharmacy_id": {
- "type": "string"
+ "page": {
+ "example": 2,
+ "type": "integer"
},
- "pharmacy_name": {
+ "path": {
+ "example": "/football/england/premier-league-2026-2027/fixtures/",
"type": "string"
},
- "pharmacy_type": {
- "description": "PharmacyType is \"PharmacyChain\" (retail) or \"PharmacyOnlineStore\"\n(mail order) as observed; returned as data.",
+ "section": {
+ "example": "fixtures",
"type": "string"
},
- "price": {
- "type": "number"
- },
- "pricing_type": {
- "description": "PricingType is GoodRx's pricing kind, for example \"COUPON\",\n\"UPSELL\", or \"HOME_DELIVERY\" (observed values; returned as data).",
+ "source_url": {
+ "example": "https://global.flashscore.ninja/2/x/feed/tf_1_198_dYlOSQOD_190_1_8_en_1",
"type": "string"
},
- "retail_price": {
- "type": "number"
- }
- },
- "type": "object"
- },
- "goodrx.answerResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/goodrx.AnswerResponse"
- }
- },
- "type": "object"
- },
- "goodrx.answersResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/goodrx.AnswersResponse"
- }
- },
- "type": "object"
- },
- "goodrx.brandsResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/goodrx.BrandsResponse"
- }
- },
- "type": "object"
- },
- "goodrx.classResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/goodrx.ClassResponse"
- }
- },
- "type": "object"
- },
- "goodrx.classesResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/goodrx.ClassesResponse"
- }
- },
- "type": "object"
- },
- "goodrx.comparisonResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/goodrx.ComparisonResponse"
- }
- },
- "type": "object"
- },
- "goodrx.comparisonsResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/goodrx.ComparisonsResponse"
- }
- },
- "type": "object"
- },
- "goodrx.conditionDrugsResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/goodrx.ConditionDrugsResponse"
- }
- },
- "type": "object"
- },
- "goodrx.conditionResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/goodrx.ConditionResponse"
- }
- },
- "type": "object"
- },
- "goodrx.conditionsResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/goodrx.ConditionsResponse"
- }
- },
- "type": "object"
- },
- "goodrx.drugGuideResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/goodrx.DrugGuideResponse"
- }
- },
- "type": "object"
- },
- "goodrx.drugGuidesResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/goodrx.DrugGuidesResponse"
- }
- },
- "type": "object"
- },
- "goodrx.drugInfoResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/goodrx.DrugInfoResponse"
- }
- },
- "type": "object"
- },
- "goodrx.drugOptionsResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/goodrx.DrugOptionsResponse"
- }
- },
- "type": "object"
- },
- "goodrx.drugPricesResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/goodrx.DrugPricesResponse"
- }
- },
- "type": "object"
- },
- "goodrx.drugsResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/goodrx.DrugsResponse"
- }
- },
- "type": "object"
- },
- "goodrx.healthArticleResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/goodrx.HealthArticleResponse"
- }
- },
- "type": "object"
- },
- "goodrx.healthArticlesResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/goodrx.HealthArticlesResponse"
- }
- },
- "type": "object"
- },
- "goodrx.healthTopicsResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/goodrx.HealthTopicsResponse"
+ "total_events": {
+ "example": 330,
+ "type": "integer"
}
},
"type": "object"
},
- "goodrx.petMedicationsResponseDoc": {
+ "flashscore.tournamentEventsResponseDoc": {
"properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
"data": {
- "$ref": "#/definitions/goodrx.PetMedicationsResponse"
+ "$ref": "#/definitions/flashscore.tournamentEventsDataDoc"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "google.JobItem": {
+ "flashscore.tournamentSeasonDoc": {
"properties": {
- "company": {
- "description": "Name of the hiring company.",
+ "fixtures_path": {
+ "example": "/football/europe/champions-league-2025-2026/fixtures/",
"type": "string"
},
- "employment": {
- "description": "Employment type shown on the job card, for example full-time.",
+ "name": {
+ "example": "Champions League 2025/2026",
"type": "string"
},
- "location": {
- "description": "Job location as shown on the job card.",
+ "path": {
+ "example": "/football/europe/champions-league-2025-2026/",
"type": "string"
},
- "posted_at": {
- "description": "How long ago the job was posted, as Google shows it, for example `3 days ago`.",
+ "results_path": {
+ "example": "/football/europe/champions-league-2025-2026/results/",
"type": "string"
},
- "snippet": {
- "description": "Short description text from the job card.",
+ "season": {
+ "example": "2025/2026",
"type": "string"
},
- "source": {
- "description": "Site or board Google lists the job from.",
+ "winner": {
+ "description": "Winner joins every winner's name with \" / \"; WinnerPath is set only for a\nsingle winner.",
+ "example": "PSG",
"type": "string"
},
- "title": {
- "description": "Job title as shown on the job card.",
+ "winner_path": {
+ "example": "/team/psg/CjhkPw0k/",
"type": "string"
},
- "url": {
- "description": "URL of the job posting.",
- "type": "string"
+ "winners": {
+ "items": {
+ "$ref": "#/definitions/flashscore.tournamentSeasonWinnerDoc"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "google.JobsOption": {
+ "flashscore.tournamentSeasonWinnerDoc": {
"properties": {
- "location": {
- "example": "San Francisco, CA",
+ "name": {
+ "example": "PSG",
"type": "string"
},
- "page": {
- "example": 1,
- "type": "integer"
- },
- "query": {
- "example": "software engineer",
+ "path": {
+ "example": "/team/psg/CjhkPw0k/",
"type": "string"
}
},
- "required": [
- "query"
- ],
"type": "object"
},
- "google.JobsResponse": {
+ "flashscore.tournamentSeasonsDataDoc": {
"properties": {
- "location": {
- "description": "Location filter that was applied. Omitted when none was given.",
- "example": "San Francisco, CA",
- "type": "string"
- },
- "page": {
- "description": "Page number returned, starting at 1.",
- "example": 1,
- "type": "integer"
- },
- "query": {
- "description": "Search query that was run.",
- "example": "software engineer",
+ "path": {
+ "example": "/football/europe/champions-league/archive/",
"type": "string"
},
- "results": {
- "description": "Job postings on this page.",
+ "seasons": {
"items": {
- "$ref": "#/definitions/google.JobItem"
+ "$ref": "#/definitions/flashscore.tournamentSeasonDoc"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "google.MapSearchOption": {
- "properties": {
- "country": {
- "example": "us",
- "type": "string"
- },
- "keyword": {
- "example": "hotel san francisco",
- "type": "string"
},
- "language": {
- "example": "en",
+ "source_url": {
+ "example": "https://www.flashscore.com/football/europe/champions-league/archive/",
"type": "string"
}
},
"type": "object"
},
- "google.NewsResponse": {
+ "flashscore.tournamentSeasonsResponseDoc": {
"properties": {
- "pagination": {
- "allOf": [
- {
- "$ref": "#/definitions/google.VerticalPagination"
- }
- ],
- "description": "Paging information for this response."
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "results": {
- "description": "Google News results in Google's order.",
- "items": {
- "$ref": "#/definitions/google.NewsResult"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/flashscore.tournamentSeasonsDataDoc"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "google.NewsResult": {
+ "flashscore.tournamentStandingsResponseDoc": {
"properties": {
- "age": {
- "description": "How long ago the article was published, as Google shows it.",
- "example": "2 hours ago",
- "type": "string"
- },
- "description": {
- "description": "Article snippet as shown on the Google results page.",
- "example": "OpenAI announced an update.",
- "type": "string"
- },
- "position": {
- "description": "Rank of the article across all pages for the query, starting at 1.",
- "example": 1,
- "type": "integer"
- },
- "source": {
- "description": "Name of the publication, for example `Example News`.",
- "example": "Example News",
+ "data": {
+ "example": "TZ÷Standings¬TN÷Premier League¬~",
"type": "string"
},
- "thumbnail": {
- "description": "URL of the article thumbnail.",
- "example": "https://example.com/thumb.jpg",
+ "path": {
+ "example": "/football/england/premier-league/",
"type": "string"
},
- "title": {
- "description": "Article headline as shown on the Google results page.",
- "example": "OpenAI announces update",
+ "source_url": {
+ "example": "https://global.flashscore.ninja/2/x/feed/to_SY30SsKF_CfoA8Dmm_1",
"type": "string"
},
- "url": {
- "description": "URL of the news article.",
- "example": "https://example.com/openai-news",
+ "view": {
+ "example": "overall",
"type": "string"
}
},
"type": "object"
},
- "google.NewsSearchResp": {
- "properties": {
- "result": {
- "items": {
- "$ref": "#/definitions/google.SearchItem"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "google.Place": {
+ "flashscore.tournamentStandingsViewsResponseDoc": {
"properties": {
- "address": {
- "description": "Full street address of the place as shown on Google Maps.",
- "example": "250 Beach St, San Francisco, CA 94133",
- "type": "string"
- },
- "amenities": {
- "description": "Amenities Google Maps lists for the place, for example `Free Wi-Fi`.",
- "example": [
- "['Free Wi-Fi'",
- " 'Air-conditioned'",
- " 'Wi-Fi'",
- " 'Parking']"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "category": {
- "description": "Business categories Google Maps assigns to the place.",
- "example": [
- "['hotel']"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "description": {
- "description": "Description of the place from its Google Maps listing.",
- "example": "A 3-minute walk from Pier 41 in the Fisherman's Wharf district...",
+ "path": {
+ "example": "/football/england/premier-league/",
"type": "string"
},
- "image": {
- "description": "URL of the main photo of the place.",
- "example": "https://lh5.googleusercontent.com/p/AF1QipP_O55x7gOwR3AaM09CVmzEUude9wMHMPwc--yp",
+ "source_url": {
+ "example": "https://www.flashscore.com/football/england/premier-league/standings/",
"type": "string"
},
- "latitude": {
- "description": "Latitude of the place in decimal degrees.",
- "example": 37.8077617,
- "type": "number"
- },
- "locations": {
- "description": "Location names Google Maps associates with the place, such as nearby areas.",
+ "views": {
"example": [
- "['San Francisco'",
- " 'Los Angeles']"
+ "overall",
+ "home",
+ "away",
+ "form_overall",
+ "overunder_overall",
+ "htft_overall",
+ "top_scorers"
],
"items": {
"type": "string"
},
"type": "array"
- },
- "longitude": {
- "description": "Longitude of the place in decimal degrees.",
- "example": -122.4132228,
- "type": "number"
- },
+ }
+ },
+ "type": "object"
+ },
+ "flickreels.Category": {
+ "properties": {
"name": {
- "description": "Name of the place as shown on Google Maps.",
- "example": "Hotel Zephyr San Francisco",
- "type": "string"
- },
- "phone": {
- "description": "Phone number of the place, as digits.",
- "example": "14156176565",
+ "description": "Display name as the site prints it for this locale.",
+ "example": "Takedown",
"type": "string"
},
- "place_id": {
- "description": "Google Place ID. Use it with the place, reviews and photos endpoints.",
- "example": "ChIJ99URUeOAhYAR0J5ZUxTesDQ",
+ "slug": {
+ "description": "Slug the listing route requires, e.g. \"takedown\". Empty when the locale\ndoes not link the category.",
+ "example": "takedown",
"type": "string"
},
- "rating": {
- "description": "Rating is the aggregate Google rating (1.0–5.0), or null when the place has no\naggregate rating on Google (Google never assigns a 0.x average, so 0 always meant\n\"unrated\"). A pointer so unrated serializes as `rating: null`, not a misleading 0.",
- "example": 4.1,
- "type": "number",
- "x-nullable": true
- },
- "review_count": {
- "description": "Number of Google reviews for the place.",
- "example": 3213,
+ "tag_id": {
+ "description": "Tag id the listing route requires, e.g. 2269. The id is locale-scoped.",
+ "example": 2269,
"type": "integer"
},
"url": {
- "description": "Google Maps URL of the place.",
- "example": "https://www.google.com/maps/place/?q=place_id:ChIJ99URUeOAhYAR0J5ZUxTesDQ",
- "type": "string"
- },
- "website": {
- "description": "Website of the place.",
- "example": "https://www.hotelzephyrsf.com/",
+ "description": "Listing URL for page 1 of this category on flickreels.net.",
+ "example": "https://www.flickreels.net/classify/takedown/2269/1",
"type": "string"
}
},
"type": "object"
},
- "google.PlacePhoto": {
+ "flickreels.ClassifyResponse": {
"properties": {
- "height": {
- "description": "Pixel height of the image at its URL. 0 when Google does not report it.",
- "example": 100,
- "type": "integer"
- },
- "url": {
- "description": "URL is Google's image URL exactly as served, including its size suffix\n(e.g. `=w203-h100-k-no`). Swap that suffix to request other dimensions.",
- "example": "https://lh3.googleusercontent.com/gps-cs-s/AHRPTWlbepbs69mWZVN7SNi4FYseIr1JvRCpGHgpFfN5wOf02mKOVdfv2REVb896InfULrDb_yQmqdxmQcSnmwHp2VncbLzYxzWtsUFFbKH3buF34st-Nhlg1fEIH0_tkmvNKJmWKEHKv45RBu4=w203-h100-k-no",
- "type": "string"
+ "empty": {
+ "description": "True when the requested page was past the end. The upstream answers 200\nwith an empty list in that case, so this is a result, not an error.",
+ "type": "boolean"
},
- "width": {
- "description": "Width and Height are the pixel dimensions of the URL as served, when\nGoogle reports them. 0 means not captured.",
- "example": 203,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "google.PlaceReview": {
- "properties": {
- "author_id": {
- "description": "AuthorID is the reviewer's stable Google contributor id.",
- "example": "112997636113922766481",
- "type": "string"
+ "has_next_page": {
+ "description": "True when page*page_size is still below the site's own total.",
+ "example": true,
+ "type": "boolean"
},
- "author_name": {
- "description": "AuthorName is the reviewer's display name.",
- "example": "Supisara Darnchaloemwong",
+ "name": {
+ "description": "Category display name for this locale, when the page carried the\ntaxonomy alongside the listing.",
+ "example": "Takedown",
"type": "string"
},
- "author_photo": {
- "description": "AuthorPhoto is the reviewer's avatar URL.",
- "example": "https://lh3.googleusercontent.com/a-/ALV-UjWc6XFX9IKHJiQ4vZoY7o_EVCYkjMbWjGfdPZrLEw",
- "type": "string"
+ "page": {
+ "description": "Page returned, the site's fixed page size, and its own total for the tag.",
+ "example": 1,
+ "type": "integer"
},
- "author_review_count": {
- "description": "AuthorReviewCount is how many reviews this contributor has written in\ntotal, as reported by Google. 0 means not captured, and is normal for a\nreview syndicated from another site.",
- "example": 23,
+ "page_size": {
+ "example": 12,
"type": "integer"
},
- "author_url": {
- "description": "AuthorURL is the reviewer's public Google Maps contributor page.",
- "example": "https://www.google.com/maps/contrib/112997636113922766481",
+ "slug": {
+ "example": "takedown",
"type": "string"
},
- "id": {
- "description": "ID is Google's opaque review identifier, stable across fetches.",
- "example": "Ci9DQUlRQUNvZENodHljRjlvT201dFRHSk1aRU54T0U5cmRFVjNlbGRmU1RJNFkzYxAB",
- "type": "string"
+ "tag_id": {
+ "example": 2269,
+ "type": "integer"
},
- "photos": {
- "description": "Photos are the images attached to this review, largest variant first.",
+ "titles": {
"items": {
- "$ref": "#/definitions/google.PlacePhoto"
+ "$ref": "#/definitions/flickreels.Title"
},
"type": "array"
},
- "published_at": {
- "description": "PublishedAt is the review timestamp in RFC3339 (UTC). Empty when Google\ndid not report one.",
- "example": "2026-01-01T14:39:25Z",
- "type": "string"
- },
- "rating": {
- "description": "Rating is the star rating this reviewer gave, 1-5.",
- "example": 5,
+ "total": {
+ "example": 358,
"type": "integer"
- },
- "relative_time": {
- "description": "RelativeTime is Google's own human-readable age for the review, in the\nrequested language (e.g. \"6 months ago\").",
- "example": "6 months ago",
- "type": "string"
- },
- "source": {
- "description": "Source is the site the review came from. Google's place pages syndicate\nreviews from partner sites (notably for hotels), so this is \"Google\" for a\nnative Google review and the partner's name (e.g. \"Tripadvisor\",\n\"TrustYou\") otherwise.",
- "example": "Google",
- "type": "string"
- },
- "text": {
- "description": "Text is the review body. Empty for a photo-only review, which Google allows.",
- "example": "I never knew pork could taste this good.",
- "type": "string"
}
},
"type": "object"
},
- "google.SearchItem": {
+ "flickreels.Episode": {
"properties": {
- "Snippet": {
- "example": "Never run out of your favorite coffees, teas and powders again with our auto-delivery subscription. Select how often your products arrive, pause and cancel ...",
- "type": "string"
+ "duration_seconds": {
+ "description": "Episode duration in seconds, from the site's own duration field.",
+ "example": 119,
+ "type": "integer"
},
- "icon": {
- "type": "string"
+ "id": {
+ "description": "Chapter id.",
+ "example": 621691,
+ "type": "integer"
},
- "link": {
- "example": "https://www.coffeebean.com/",
- "type": "string"
+ "locked": {
+ "description": "True when the episode is locked for an anonymous visitor.",
+ "type": "boolean"
},
- "position": {
+ "number": {
+ "description": "1-based episode number.",
"example": 1,
"type": "integer"
},
- "time": {
- "example": "7 hours ago",
- "type": "string"
- },
"title": {
- "example": "Home | The Coffee Bean & Tea Leaf",
- "type": "string"
- },
- "website_name": {
- "example": "OpenAI",
+ "description": "Episode title as the site prints it.",
+ "example": "They Don't Know I'm the Don's Pregnant Queen-EP.1",
"type": "string"
}
},
"type": "object"
},
- "google.SearchOption": {
+ "flickreels.GenresResponse": {
"properties": {
- "country": {
- "description": "Country code",
- "example": "us",
- "type": "string"
- },
- "keyword": {
- "example": "chatgpt",
- "type": "string"
+ "categories": {
+ "description": "Every category the site lists, in its own navigation order, starting with\nAll (tag id 0).",
+ "items": {
+ "$ref": "#/definitions/flickreels.Category"
+ },
+ "type": "array"
},
"language": {
- "description": "language code",
"example": "en",
"type": "string"
},
- "limit": {
- "description": "Number of items, from 10 to 100, inclusive",
- "example": 10,
- "type": "integer"
- },
- "page": {
- "example": 1,
- "type": "integer"
+ "languages": {
+ "description": "The site's own language list, the value space of the language parameter.",
+ "items": {
+ "$ref": "#/definitions/flickreels.Language"
+ },
+ "type": "array"
}
},
- "required": [
- "country",
- "keyword",
- "language"
- ],
"type": "object"
},
- "google.SuggestResponse": {
+ "flickreels.HomeResponse": {
"properties": {
- "query": {
- "description": "Query prefix the suggestions were requested for.",
- "example": "openai",
- "type": "string"
- },
- "source": {
- "description": "Suggestion list used: `web`, `youtube` or `shopping`.",
- "example": "web",
+ "language": {
+ "example": "en",
"type": "string"
},
- "suggestions": {
- "description": "Search suggestions Google returned, in order.",
+ "shelves": {
+ "description": "Every shelf the home page renders, in the site's own order.",
"items": {
- "$ref": "#/definitions/google.SuggestionResult"
+ "$ref": "#/definitions/flickreels.Shelf"
},
"type": "array"
}
},
"type": "object"
},
- "google.SuggestionResult": {
+ "flickreels.Language": {
"properties": {
- "description": {
- "description": "Short descriptor Google shows beside the suggestion. Only set when the request used `rich=true`.",
- "example": "OpenAI Blog",
+ "code": {
+ "description": "Code to pass as the language parameter, e.g. \"en\".",
+ "example": "en",
"type": "string"
},
- "position": {
- "description": "Rank of the suggestion in the list, starting at 1.",
- "example": 1,
- "type": "integer"
- },
- "query": {
- "description": "Suggested search query.",
- "example": "openai api",
+ "id": {
+ "description": "Site id for the language. Ids are not contiguous upstream (9 is absent).",
+ "example": "1",
"type": "string"
},
- "relevance": {
- "description": "Relevance score Google gives the suggestion. Only set when the request used `rich=true`.",
- "example": 601,
- "type": "integer"
+ "name": {
+ "description": "Endonym the site prints, e.g. \"English\".",
+ "example": "English",
+ "type": "string"
},
- "type": {
- "description": "Suggestion type as Google labels it, for example `QUERY`. Only set when the request used `rich=true`.",
- "example": "QUERY",
+ "name_zh": {
+ "description": "The site's Chinese label for the same language.",
+ "example": "英语",
"type": "string"
}
},
"type": "object"
},
- "google.VerticalPagination": {
+ "flickreels.MovieResponse": {
"properties": {
- "next_page": {
- "description": "Page number of the next page. Omitted when there is no next page.",
- "example": 2,
- "type": "integer"
+ "cover": {
+ "type": "string"
},
- "page": {
- "description": "Page number of this response, starting at 1.",
- "example": 1,
+ "episode_count": {
+ "description": "Episode count from the site's own upload_num.",
+ "example": 42,
"type": "integer"
},
- "previous_page": {
- "description": "Page number of the previous page. Omitted on the first page.",
- "example": 1,
+ "episodes": {
+ "description": "The full episode list, in the site's own order.",
+ "items": {
+ "$ref": "#/definitions/flickreels.Episode"
+ },
+ "type": "array"
+ },
+ "id": {
+ "example": 9321,
"type": "integer"
- }
- },
- "type": "object"
- },
- "google.VideoResult": {
- "properties": {
- "age": {
- "description": "When the video was published, as Google shows it.",
- "example": "2 days ago",
- "type": "string"
},
- "description": {
- "description": "Video description snippet as shown on the Google results page.",
- "example": "Watch the OpenAI DevDay keynote.",
- "type": "string"
+ "labels": {
+ "description": "Tag display names (genre/trope labels).",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "duration": {
- "description": "Video length as Google shows it, for example `45:12`.",
- "example": "45:12",
+ "published_at": {
+ "description": "Release date as the site prints it, e.g. \"2026-08-15 08:00:00\".",
+ "example": "2026-08-15 08:00:00",
"type": "string"
},
- "platform": {
- "description": "Platform hosting the video, for example `YouTube`.",
- "example": "YouTube",
- "type": "string"
+ "related": {
+ "description": "Titles from the detail page's own related shelf.",
+ "items": {
+ "$ref": "#/definitions/flickreels.Title"
+ },
+ "type": "array"
},
- "position": {
- "description": "Rank of the video across all pages for the query, starting at 1.",
- "example": 1,
- "type": "integer"
+ "slug": {
+ "example": "they-dont-know-im-the-dons-pregnant-queen",
+ "type": "string"
},
- "thumbnail": {
- "description": "URL of the video thumbnail.",
- "example": "https://example.com/thumb.jpg",
+ "synopsis": {
+ "description": "Synopsis from the site's own introduce field.",
"type": "string"
},
"title": {
- "description": "Video title as shown on the Google results page.",
- "example": "OpenAI DevDay keynote - YouTube",
+ "example": "They Don't Know I'm the Don's Pregnant Queen",
"type": "string"
},
"url": {
- "description": "URL of the video page.",
- "example": "https://www.youtube.com/watch?v=openai-devday",
+ "description": "Canonical movie URL on flickreels.net.",
"type": "string"
}
},
"type": "object"
},
- "google.VideosResponse": {
+ "flickreels.Shelf": {
"properties": {
- "pagination": {
- "allOf": [
- {
- "$ref": "#/definitions/google.VerticalPagination"
- }
- ],
- "description": "Paging information for this response."
+ "id": {
+ "description": "Column id, the id flickreels-shelf requires.",
+ "example": 9236,
+ "type": "integer"
},
- "results": {
- "description": "Video results in Google's order.",
+ "slug": {
+ "description": "Shelf slug from the row's own /more link, when it has one.",
+ "example": "hot-picks",
+ "type": "string"
+ },
+ "title": {
+ "description": "Shelf title as the site prints it.",
+ "example": "🔥🔥🔥Hot Picks",
+ "type": "string"
+ },
+ "titles": {
+ "description": "The rows this response carried.",
"items": {
- "$ref": "#/definitions/google.VideoResult"
+ "$ref": "#/definitions/flickreels.Title"
},
"type": "array"
+ },
+ "total": {
+ "description": "The site's own count for the shelf, which can exceed the rendered rows.",
+ "example": 87,
+ "type": "integer"
}
},
"type": "object"
},
- "google.mapPlacePhotosResponseDoc": {
+ "flickreels.ShelfResponse": {
"properties": {
- "code": {
- "example": 200,
+ "empty": {
+ "description": "True when the requested page was past the end: the upstream answers 200\nwith no rows in that case.",
+ "type": "boolean"
+ },
+ "id": {
+ "description": "Column id this shelf belongs to.",
+ "example": 11860,
"type": "integer"
},
- "data": {
+ "page": {
+ "description": "Page returned.",
+ "example": 1,
+ "type": "integer"
+ },
+ "slug": {
+ "description": "Shelf slug used for the request.",
+ "example": "all-episodes-one-go",
+ "type": "string"
+ },
+ "title": {
+ "description": "Shelf title as the site prints it.",
+ "example": "All Episodes. One Go",
+ "type": "string"
+ },
+ "titles": {
"items": {
- "$ref": "#/definitions/google.PlacePhoto"
+ "$ref": "#/definitions/flickreels.Title"
},
"type": "array"
},
- "msg": {
- "example": "ok",
- "type": "string"
+ "total": {
+ "description": "The site's own count for the shelf, which can exceed the rendered rows.",
+ "example": 87,
+ "type": "integer"
}
},
"type": "object"
},
- "google.mapPlaceResponseDoc": {
+ "flickreels.Title": {
"properties": {
- "code": {
- "example": 200,
+ "cover": {
+ "description": "Cover image URL.",
+ "type": "string"
+ },
+ "episode_count": {
+ "description": "Episode count from the site's own upload_num.",
+ "example": 42,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/google.Place"
+ "id": {
+ "description": "Playlet id, the id the movie route requires.",
+ "example": 9321,
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "slug": {
+ "description": "Title slug from the card's own playlist link. Pass it to flickreels-movie\nas slug: the movie route is slug+id keyed.",
+ "example": "they-dont-know-im-the-dons-pregnant-queen",
"type": "string"
- }
- },
- "type": "object"
- },
- "google.mapPlaceReviewsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
+ "tags": {
+ "description": "Tag display names (genre/trope labels) carried by the card.",
"items": {
- "$ref": "#/definitions/google.PlaceReview"
+ "type": "string"
},
"type": "array"
},
- "msg": {
- "example": "ok",
+ "title": {
+ "description": "Title as the site prints it for this locale.",
+ "example": "They Don't Know I'm the Don's Pregnant Queen",
+ "type": "string"
+ },
+ "url": {
+ "description": "Canonical movie URL on flickreels.net, when the card carried a slug.",
+ "example": "https://www.flickreels.net/movie/they-dont-know-im-the-dons-pregnant-queen-9321",
"type": "string"
}
},
"type": "object"
},
- "google.mapSearchResponseDoc": {
+ "flickreels.classifyResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "items": {
- "$ref": "#/definitions/google.Place"
- },
- "type": "array"
+ "$ref": "#/definitions/flickreels.ClassifyResponse"
},
"msg": {
"example": "OK",
@@ -97762,14 +103078,14 @@
},
"type": "object"
},
- "google.newsResponseDoc": {
+ "flickreels.genresResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/google.NewsResponse"
+ "$ref": "#/definitions/flickreels.GenresResponse"
},
"msg": {
"example": "OK",
@@ -97778,14 +103094,14 @@
},
"type": "object"
},
- "google.newsSearchResponseDoc": {
+ "flickreels.homeResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/google.NewsSearchResp"
+ "$ref": "#/definitions/flickreels.HomeResponse"
},
"msg": {
"example": "OK",
@@ -97794,14 +103110,14 @@
},
"type": "object"
},
- "google.suggestResponseDoc": {
+ "flickreels.movieResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/google.SuggestResponse"
+ "$ref": "#/definitions/flickreels.MovieResponse"
},
"msg": {
"example": "OK",
@@ -97810,14 +103126,14 @@
},
"type": "object"
},
- "google.videosResponseDoc": {
+ "flickreels.shelfResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/google.VideosResponse"
+ "$ref": "#/definitions/flickreels.ShelfResponse"
},
"msg": {
"example": "OK",
@@ -97826,667 +103142,1000 @@
},
"type": "object"
},
- "googlejobs.GoogleJob": {
+ "foodpanda.Cuisine": {
"properties": {
- "apply_url": {
- "type": "string"
+ "id": {
+ "type": "integer"
},
- "company": {
- "example": "Google",
+ "name": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "foodpanda.CuisineFilter": {
+ "properties": {
+ "count": {
+ "type": "integer"
},
- "country": {
- "example": "TW",
+ "id": {
+ "type": "integer"
+ },
+ "name": {
"type": "string"
},
- "description": {
+ "slug": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "foodpanda.CuisinesResponse": {
+ "properties": {
+ "available_count": {
+ "type": "integer"
+ },
+ "cuisines": {
+ "items": {
+ "$ref": "#/definitions/foodpanda.CuisineFilter"
+ },
+ "type": "array"
},
+ "market": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "foodpanda.Discount": {
+ "properties": {
"id": {
- "example": "85207000467546822",
"type": "string"
},
- "location": {
- "example": "New Taipei, Banqiao District, New Taipei City, Taiwan",
+ "value": {
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "foodpanda.LegalInformation": {
+ "properties": {
+ "legal_name": {
"type": "string"
},
- "locations": {
+ "trade_register_number": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "foodpanda.MenuCategory": {
+ "properties": {
+ "description": {
+ "type": "string"
+ },
+ "items": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/foodpanda.MenuItem"
},
"type": "array"
},
- "minimum_qualifications": {
+ "title": {
"type": "string"
- },
- "posted_at": {
- "example": "2026-07-22T14:10:44Z",
+ }
+ },
+ "type": "object"
+ },
+ "foodpanda.MenuItem": {
+ "properties": {
+ "description": {
"type": "string"
},
- "preferred_qualifications": {
- "type": "string"
+ "discounted_price": {
+ "type": "number"
},
- "responsibilities": {
+ "image_url": {
"type": "string"
},
- "title": {
- "example": "Software Engineer, Embedded Software, Silicon",
- "type": "string"
+ "is_sold_out": {
+ "type": "boolean"
},
- "url": {
- "example": "https://www.google.com/about/careers/applications/jobs/results/85207000467546822-software-engineer-embedded-software-silicon",
+ "original_price": {
+ "type": "number"
+ },
+ "title": {
"type": "string"
}
},
"type": "object"
},
- "googlejobs.SearchResponse": {
+ "foodpanda.MenuResponse": {
"properties": {
- "jobs": {
+ "aggregate_rating": {
+ "type": "number"
+ },
+ "categories": {
"items": {
- "$ref": "#/definitions/googlejobs.GoogleJob"
+ "$ref": "#/definitions/foodpanda.MenuCategory"
},
"type": "array"
},
- "location": {
- "example": "Singapore",
+ "code": {
"type": "string"
},
- "page": {
- "example": 1,
+ "item_count": {
"type": "integer"
},
- "query": {
- "example": "software engineer",
+ "market": {
"type": "string"
},
- "source_url": {
+ "opening_hours": {
+ "items": {
+ "$ref": "#/definitions/foodpanda.OpeningHours"
+ },
+ "type": "array"
+ },
+ "price_range": {
"type": "string"
},
- "total": {
- "example": 1722,
+ "rating_count": {
"type": "integer"
+ },
+ "serves_cuisine": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "googlejobs.jobResponseDoc": {
+ "foodpanda.OpeningHours": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "closes": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/googlejobs.GoogleJob"
+ "days": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "opens": {
"type": "string"
}
},
"type": "object"
},
- "googlejobs.searchResponseDoc": {
+ "foodpanda.Restaurant": {
"properties": {
- "code": {
- "example": 200,
+ "address": {
+ "type": "string"
+ },
+ "budget": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/googlejobs.SearchResponse"
+ "city": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "code": {
"type": "string"
- }
- },
- "type": "object"
- },
- "googlepatents.CitedPatent": {
- "properties": {
- "assignee": {
- "example": "Netzsch Maschinenfabrik",
+ },
+ "cuisines": {
+ "items": {
+ "$ref": "#/definitions/foodpanda.Cuisine"
+ },
+ "type": "array"
+ },
+ "customer_phone": {
"type": "string"
},
- "priority_date": {
- "example": "1985-12-27",
+ "discounts": {
+ "items": {
+ "$ref": "#/definitions/foodpanda.Discount"
+ },
+ "type": "array"
+ },
+ "distance_km": {
+ "type": "number"
+ },
+ "has_discount": {
+ "type": "boolean"
+ },
+ "hero_image_url": {
"type": "string"
},
- "publication_date": {
- "example": "1987-05-19",
+ "is_delivery_available": {
+ "type": "boolean"
+ },
+ "is_pickup_available": {
+ "type": "boolean"
+ },
+ "latitude": {
+ "type": "number"
+ },
+ "legal_information": {
+ "$ref": "#/definitions/foodpanda.LegalInformation"
+ },
+ "longitude": {
+ "type": "number"
+ },
+ "minimum_delivery_fee": {
+ "type": "number"
+ },
+ "minimum_delivery_time_minutes": {
+ "type": "number"
+ },
+ "minimum_order_amount": {
+ "type": "number"
+ },
+ "name": {
"type": "string"
},
- "publication_number": {
- "example": "US4665582A",
+ "rating": {
+ "type": "number"
+ },
+ "review_count": {
+ "type": "integer"
+ },
+ "tags": {
+ "items": {
+ "$ref": "#/definitions/foodpanda.Tag"
+ },
+ "type": "array"
+ },
+ "timezone": {
"type": "string"
},
- "title": {
- "example": "Apparatus for shaking foundry moulds in a casting installation",
+ "web_path": {
"type": "string"
}
},
"type": "object"
},
- "googlepatents.Classification": {
+ "foodpanda.RestaurantResponse": {
"properties": {
- "code": {
- "example": "A47L9/00",
+ "address": {
"type": "string"
},
- "description": {
- "example": "Details or accessories of suction cleaners",
+ "budget": {
+ "type": "integer"
+ },
+ "city": {
"type": "string"
},
- "is_cpc": {
- "example": true,
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "googlepatents.ClassificationRelation": {
- "properties": {
"code": {
- "example": "A61",
"type": "string"
},
- "description": {
+ "cuisines": {
+ "items": {
+ "$ref": "#/definitions/foodpanda.Cuisine"
+ },
+ "type": "array"
+ },
+ "customer_phone": {
"type": "string"
},
- "is_child": {
+ "discounts": {
+ "items": {
+ "$ref": "#/definitions/foodpanda.Discount"
+ },
+ "type": "array"
+ },
+ "distance_km": {
+ "type": "number"
+ },
+ "has_discount": {
"type": "boolean"
},
- "is_parent": {
+ "hero_image_url": {
+ "type": "string"
+ },
+ "is_delivery_available": {
"type": "boolean"
},
- "is_related": {
+ "is_pickup_available": {
"type": "boolean"
},
- "name": {
- "example": "A61 - MEDICAL OR VETERINARY SCIENCE; HYGIENE",
- "type": "string"
- }
- },
- "type": "object"
- },
- "googlepatents.ClassificationResponse": {
- "properties": {
- "code": {
- "example": "A61K31/00",
- "type": "string"
+ "latitude": {
+ "type": "number"
},
- "description": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "legal_information": {
+ "$ref": "#/definitions/foodpanda.LegalInformation"
},
- "fetched_at": {
+ "longitude": {
+ "type": "number"
+ },
+ "market": {
"type": "string"
},
+ "minimum_delivery_fee": {
+ "type": "number"
+ },
+ "minimum_delivery_time_minutes": {
+ "type": "number"
+ },
+ "minimum_order_amount": {
+ "type": "number"
+ },
"name": {
- "example": "A61K31/00 - Medicinal preparations containing organic active ingredients",
"type": "string"
},
- "relations": {
+ "rating": {
+ "type": "number"
+ },
+ "review_count": {
+ "type": "integer"
+ },
+ "tags": {
"items": {
- "$ref": "#/definitions/googlepatents.ClassificationRelation"
+ "$ref": "#/definitions/foodpanda.Tag"
},
"type": "array"
},
- "source_url": {
+ "timezone": {
+ "type": "string"
+ },
+ "web_path": {
"type": "string"
}
},
"type": "object"
},
- "googlepatents.CountryStatus": {
+ "foodpanda.Review": {
"properties": {
- "country_code": {
- "example": "US",
+ "author": {
"type": "string"
},
- "state": {
- "example": "ACTIVE",
+ "body": {
+ "type": "string"
+ },
+ "date_published": {
"type": "string"
+ },
+ "rating": {
+ "type": "number"
}
},
"type": "object"
},
- "googlepatents.CoverageCountry": {
+ "foodpanda.ReviewsResponse": {
"properties": {
- "country_code": {
- "example": "US",
+ "code": {
"type": "string"
},
- "years": {
+ "market": {
+ "type": "string"
+ },
+ "review_count": {
+ "type": "integer"
+ },
+ "reviews": {
"items": {
- "$ref": "#/definitions/googlepatents.CoverageYear"
+ "$ref": "#/definitions/foodpanda.Review"
},
"type": "array"
}
},
"type": "object"
},
- "googlepatents.CoverageResponse": {
+ "foodpanda.SearchResponse": {
"properties": {
- "countries": {
+ "available_count": {
+ "type": "integer"
+ },
+ "market": {
+ "type": "string"
+ },
+ "offset": {
+ "type": "integer"
+ },
+ "restaurants": {
"items": {
- "$ref": "#/definitions/googlepatents.CoverageCountry"
+ "$ref": "#/definitions/foodpanda.Restaurant"
},
"type": "array"
},
- "fetched_at": {
+ "returned_count": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "foodpanda.Tag": {
+ "properties": {
+ "code": {
"type": "string"
},
- "source_url": {
+ "text": {
"type": "string"
}
},
"type": "object"
},
- "googlepatents.CoverageYear": {
+ "foodpanda.cuisinesResponseDoc": {
"properties": {
- "applications": {
- "example": "1712467",
- "type": "string"
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
},
- "grants": {
- "example": "2802408",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/foodpanda.CuisinesResponse"
},
- "year": {
- "example": 2025,
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "foodpanda.menuResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/foodpanda.MenuResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "googlepatents.DetailResponse": {
+ "foodpanda.restaurantResponseDoc": {
"properties": {
- "abstract": {
- "example": "Battery-powered upright vacuum cleaners are disclosed.",
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/foodpanda.RestaurantResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "foodpanda.reviewsResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/foodpanda.ReviewsResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "foodpanda.searchResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/foodpanda.SearchResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "forbes.ArticleEmbed": {
+ "properties": {
+ "data": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "id": {
+ "type": "integer"
+ },
+ "position": {
"type": "string"
},
- "application_number": {
- "example": "US15/620,213",
+ "type": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "forbes.ArticleResponse": {
+ "properties": {
+ "author": {
"type": "string"
},
- "citations": {
- "items": {
- "$ref": "#/definitions/googlepatents.CitedPatent"
- },
- "type": "array"
+ "body_html": {
+ "type": "string"
},
- "cited_by": {
+ "channel": {
+ "type": "string"
+ },
+ "content_paywall": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "embeds": {
"items": {
- "$ref": "#/definitions/googlepatents.CitedPatent"
+ "$ref": "#/definitions/forbes.ArticleEmbed"
},
"type": "array"
},
- "claims": {
+ "headings": {
"items": {
"type": "string"
},
"type": "array"
},
- "claims_count": {
- "example": 19,
- "type": "integer"
+ "image_url": {
+ "type": "string"
},
- "classifications": {
+ "paragraphs": {
"items": {
- "$ref": "#/definitions/googlepatents.Classification"
+ "type": "string"
},
"type": "array"
},
- "country_code": {
- "example": "US",
+ "published_at": {
"type": "string"
},
- "country_name": {
- "example": "United States",
+ "section": {
"type": "string"
},
- "current_assignees": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "template_type": {
+ "type": "string"
},
+ "title": {
+ "type": "string"
+ },
+ "updated_at": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "forbes.AuthorArticle": {
+ "properties": {
"description": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "type": "string"
},
- "expiration_date": {
- "example": "2038-04-26",
+ "image_url": {
"type": "string"
},
- "family_members": {
+ "published_at": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "forbes.AuthorResponse": {
+ "properties": {
+ "articles": {
"items": {
- "$ref": "#/definitions/googlepatents.FamilyMember"
+ "$ref": "#/definitions/forbes.AuthorArticle"
},
"type": "array"
},
- "fetched_at": {
- "example": "2026-08-15T12:00:00Z",
+ "bio": {
"type": "string"
},
- "filing_date": {
- "example": "2017-06-12",
+ "display_type": {
"type": "string"
},
- "inventors": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "image_url": {
+ "type": "string"
},
- "kind_code": {
- "example": "B2",
+ "name": {
"type": "string"
},
- "legal_status": {
- "example": "Active",
+ "short_bio": {
"type": "string"
},
- "original_assignees": {
+ "slug": {
+ "type": "string"
+ },
+ "twitter_url": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "forbes.Billionaire": {
+ "properties": {
+ "age": {
+ "type": "integer"
+ },
+ "bios": {
"items": {
"type": "string"
},
"type": "array"
},
- "pdf_url": {
- "example": "https://patentimages.storage.googleapis.com/ae/9f/51/f34dc3bf93426e/US10758101.pdf",
+ "category": {
"type": "string"
},
- "prior_art_keywords": {
+ "country_of_citizenship": {
+ "type": "string"
+ },
+ "final_worth": {
+ "type": "number"
+ },
+ "first_name": {
+ "type": "string"
+ },
+ "gender": {
+ "type": "string"
+ },
+ "industries": {
"items": {
"type": "string"
},
"type": "array"
},
- "priority_date": {
- "example": "2017-06-12",
+ "last_name": {
"type": "string"
},
- "publication_date": {
- "example": "2020-09-01",
+ "organization": {
"type": "string"
},
- "publication_number": {
- "example": "US10758101B2",
+ "person": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "person_name": {
"type": "string"
},
- "similar_documents": {
- "items": {
- "$ref": "#/definitions/googlepatents.SimilarDocument"
- },
- "type": "array"
+ "qas": {},
+ "rank": {
+ "type": "integer"
},
- "source_url": {
- "example": "https://patents.google.com/patent/US10758101B2/en",
+ "source": {
"type": "string"
},
- "title": {
- "example": "Upright vacuum cleaner with battery support plate",
+ "square_image": {
+ "type": "string"
+ },
+ "status": {
+ "type": "string"
+ },
+ "uri": {
"type": "string"
}
},
"type": "object"
},
- "googlepatents.FacetEntry": {
+ "forbes.BillionairesResponse": {
"properties": {
- "key": {
- "example": "Emerson Electric Co.",
- "type": "string"
+ "count": {
+ "type": "integer"
},
- "value": {
- "example": 666,
+ "items": {
+ "items": {
+ "$ref": "#/definitions/forbes.Billionaire"
+ },
+ "type": "array"
+ },
+ "limit": {
+ "type": "integer"
+ },
+ "start": {
+ "type": "integer"
+ },
+ "year": {
"type": "integer"
}
},
"type": "object"
},
- "googlepatents.FamilyMember": {
+ "forbes.CategoriesResponse": {
"properties": {
- "publication_date": {
- "example": "2018-12-13",
+ "sections": {
+ "items": {
+ "$ref": "#/definitions/forbes.Section"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "forbes.Education": {
+ "properties": {
+ "degree": {
"type": "string"
},
- "publication_number": {
- "example": "US20180353038A1",
+ "school": {
"type": "string"
}
},
"type": "object"
},
- "googlepatents.RecentEntry": {
+ "forbes.HeadlineItem": {
"properties": {
- "publication_number": {
- "example": "US10758101B2",
+ "author": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "published_at": {
"type": "string"
},
"title": {
- "example": "Adjustable venous cannula and method of treating a patient",
"type": "string"
},
"url": {
- "example": "https://patents.google.com/patent/US10758101B2/en",
"type": "string"
}
},
"type": "object"
},
- "googlepatents.RecentResponse": {
+ "forbes.HeadlinesResponse": {
"properties": {
- "count": {
- "example": 329,
- "type": "integer"
- },
- "fetched_at": {
- "type": "string"
- },
- "results": {
+ "items": {
"items": {
- "$ref": "#/definitions/googlepatents.RecentEntry"
+ "$ref": "#/definitions/forbes.HeadlineItem"
},
"type": "array"
},
- "source_url": {
+ "section": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "forbes.PersonList": {
+ "properties": {
+ "list_uri": {
"type": "string"
},
- "week": {
- "example": "2026-W20",
+ "name": {
"type": "string"
+ },
+ "position": {
+ "type": "integer"
+ },
+ "rank": {
+ "type": "integer"
+ },
+ "year": {
+ "type": "integer"
}
},
"type": "object"
},
- "googlepatents.SearchResponse": {
+ "forbes.PersonProfile": {
"properties": {
- "fetched_at": {
- "type": "string"
+ "birth_date": {
+ "type": "integer"
},
- "many_results": {
- "example": false,
- "type": "boolean"
+ "city": {
+ "type": "string"
},
- "page": {
- "example": 0,
+ "country_id": {
"type": "integer"
},
- "query": {
- "example": "battery",
+ "country_of_citizenship": {
"type": "string"
},
- "results": {
+ "country_of_residence": {
+ "type": "string"
+ },
+ "deceased": {
+ "type": "boolean"
+ },
+ "educations": {
"items": {
- "$ref": "#/definitions/googlepatents.SearchResult"
+ "$ref": "#/definitions/forbes.Education"
},
"type": "array"
},
- "source_url": {
+ "final_worth": {
+ "type": "number"
+ },
+ "final_worth_date": {
+ "type": "integer"
+ },
+ "first_name": {
"type": "string"
},
- "top_assignees": {
- "items": {
- "$ref": "#/definitions/googlepatents.FacetEntry"
- },
- "type": "array"
+ "gender": {
+ "type": "string"
},
- "top_classifications": {
- "items": {
- "$ref": "#/definitions/googlepatents.FacetEntry"
- },
- "type": "array"
+ "image_exists": {
+ "type": "boolean"
},
- "top_inventors": {
+ "industries": {
"items": {
- "$ref": "#/definitions/googlepatents.FacetEntry"
+ "type": "string"
},
"type": "array"
},
- "total_pages": {
- "example": 100,
- "type": "integer"
- },
- "total_results": {
- "example": 112795,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "googlepatents.SearchResult": {
- "properties": {
- "assignee": {
- "example": "Emerson Electric Co",
+ "last_name": {
"type": "string"
},
- "country_status": {
+ "list_images": {
"items": {
- "$ref": "#/definitions/googlepatents.CountryStatus"
+ "additionalProperties": {},
+ "type": "object"
},
"type": "array"
},
- "detail_url": {
- "example": "https://patents.google.com/patent/US10758101B2/en",
+ "marital_status": {
"type": "string"
},
- "filing_date": {
- "example": "2017-06-12",
+ "name": {
"type": "string"
},
- "grant_date": {
- "example": "2020-09-01",
+ "natural_id": {
"type": "string"
},
- "inventor": {
- "example": "Thomas E. Fogarty, Jr.",
- "type": "string"
+ "number_of_children": {
+ "type": "integer"
},
- "is_similar_document": {
- "example": false,
+ "person_lists": {
+ "items": {
+ "$ref": "#/definitions/forbes.PersonList"
+ },
+ "type": "array"
+ },
+ "related_entities": {
+ "items": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "self_made": {
"type": "boolean"
},
- "language": {
- "example": "en",
+ "self_made_type": {
"type": "string"
},
- "pdf_url": {
+ "short_uri": {
"type": "string"
},
- "priority_date": {
- "example": "2017-06-12",
+ "source": {
"type": "string"
},
- "publication_date": {
- "example": "2020-09-01",
+ "square_image": {
"type": "string"
},
- "publication_number": {
- "example": "US10758101B2",
+ "status": {
"type": "string"
},
- "snippet": {
- "example": "a battery support plate adapted to support a battery...",
+ "uri": {
"type": "string"
},
- "thumbnail_url": {
- "type": "string"
+ "uris": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "title": {
- "example": "Upright vacuum cleaner with battery support plate",
- "type": "string"
+ "visible": {
+ "type": "boolean"
}
},
"type": "object"
},
- "googlepatents.SimilarDocument": {
+ "forbes.PersonResponse": {
"properties": {
- "publication_date": {
- "example": "1990-06-26",
+ "biography": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "did_you_know": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "editor_updated_at": {
"type": "string"
},
- "publication_number": {
- "example": "CA1270625A",
+ "image_credit": {
"type": "string"
},
- "title": {
- "example": "Method and apparatus for setting pattern frame and press die",
+ "list_appearances": {
+ "type": "integer"
+ },
+ "personal_stats": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "profile": {
+ "$ref": "#/definitions/forbes.PersonProfile"
+ },
+ "real_time_disclaimer": {
+ "type": "string"
+ },
+ "real_time_net_worth": {
+ "type": "string"
+ },
+ "real_time_net_worth_as_of": {
"type": "string"
+ },
+ "real_time_rank": {
+ "type": "integer"
+ },
+ "wealth_history": {
+ "items": {
+ "$ref": "#/definitions/forbes.WealthPoint"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "googlepatents.SuggestEntry": {
+ "forbes.Section": {
"properties": {
- "description": {
+ "name": {
"type": "string"
},
- "value": {
- "example": "John Cronin",
+ "parent": {
+ "type": "string"
+ },
+ "path": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "googlepatents.SuggestResponse": {
+ "forbes.WealthPoint": {
"properties": {
- "fetched_at": {
- "type": "string"
- },
- "field": {
- "example": "inventor",
+ "date": {
"type": "string"
},
- "source_url": {
+ "name": {
"type": "string"
},
- "suggestions": {
- "items": {
- "$ref": "#/definitions/googlepatents.SuggestEntry"
- },
- "type": "array"
+ "percent": {
+ "type": "number"
},
- "value": {
- "example": "John",
+ "worth": {
"type": "string"
}
},
"type": "object"
},
- "googlepatents.classificationResponseDoc": {
+ "forbes.articleResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/googlepatents.ClassificationResponse"
+ "$ref": "#/definitions/forbes.ArticleResponse"
},
"msg": {
"example": "OK",
@@ -98495,14 +104144,14 @@
},
"type": "object"
},
- "googlepatents.coverageResponseDoc": {
+ "forbes.authorResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/googlepatents.CoverageResponse"
+ "$ref": "#/definitions/forbes.AuthorResponse"
},
"msg": {
"example": "OK",
@@ -98511,14 +104160,14 @@
},
"type": "object"
},
- "googlepatents.detailResponseDoc": {
+ "forbes.billionairesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/googlepatents.DetailResponse"
+ "$ref": "#/definitions/forbes.BillionairesResponse"
},
"msg": {
"example": "OK",
@@ -98527,14 +104176,14 @@
},
"type": "object"
},
- "googlepatents.recentResponseDoc": {
+ "forbes.categoriesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/googlepatents.RecentResponse"
+ "$ref": "#/definitions/forbes.CategoriesResponse"
},
"msg": {
"example": "OK",
@@ -98543,14 +104192,14 @@
},
"type": "object"
},
- "googlepatents.searchResponseDoc": {
+ "forbes.headlinesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/googlepatents.SearchResponse"
+ "$ref": "#/definitions/forbes.HeadlinesResponse"
},
"msg": {
"example": "OK",
@@ -98559,14 +104208,14 @@
},
"type": "object"
},
- "googlepatents.suggestResponseDoc": {
+ "forbes.personResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/googlepatents.SuggestResponse"
+ "$ref": "#/definitions/forbes.PersonResponse"
},
"msg": {
"example": "OK",
@@ -98575,350 +104224,212 @@
},
"type": "object"
},
- "googleplay.App": {
+ "foreignaffairs.ArticleResponse": {
"properties": {
- "ad_supported": {
- "description": "Whether the app shows ads, as declared on its Google Play page.",
- "example": false,
- "type": "boolean"
- },
- "android_max_version": {
- "description": "Highest Android version the app supports, such as `15`. Shows `VARY` when none is listed.",
- "example": "15",
- "type": "string"
- },
- "android_version": {
- "description": "Minimum Android version the app requires, such as `8.0`.",
- "example": "8.0",
- "type": "string"
- },
- "android_version_text": {
- "description": "Minimum Android version as Google Play words it, such as `8.0 and up`. Shows `Varies with device` when none is listed.",
- "example": "8.0 and up",
- "type": "string"
- },
- "app_id": {
- "description": "Package name of the app on Google Play, such as `com.openai.chatgpt`. Use it with the other Google Play endpoints.",
- "example": "com.openai.chatgpt",
- "type": "string"
- },
- "available": {
- "description": "Whether the app is available on Google Play.",
- "example": true,
- "type": "boolean"
- },
- "categories": {
- "description": "Categories the app is listed under on Google Play.",
+ "authors": {
"items": {
- "$ref": "#/definitions/googleplay.Category"
+ "type": "string"
},
"type": "array"
},
- "comments": {
- "description": "Up to five user review texts shown on the app's details page.",
- "example": [
- "[\"Great app\"",
- "\"Very useful\"]"
- ],
+ "categories": {
"items": {
"type": "string"
},
"type": "array"
},
- "content_rating": {
- "description": "Content rating label shown on the app page, such as `Teen`.",
- "example": "Teen",
- "type": "string"
- },
- "content_rating_description": {
- "description": "Content descriptors listed with the rating, such as `Users Interact, In-App Purchases`.",
- "example": "Users Interact, In-App Purchases",
- "type": "string"
- },
- "currency": {
- "description": "Currency code of the price, such as `USD`.",
- "example": "USD",
- "type": "string"
- },
"description": {
- "description": "Full app description as plain text.",
- "example": "Introducing ChatGPT for Android: OpenAI's latest advancements at your fingertips.",
"type": "string"
},
- "description_html": {
- "description": "Full app description with its HTML formatting kept.",
- "example": "Introducing ChatGPT for Android: OpenAI's latest advancements at your fingertips.
This official app is free.",
+ "image_url": {
"type": "string"
},
- "developer": {
- "description": "Name of the app's developer or publisher.",
- "example": "OpenAI",
- "type": "string"
+ "is_gated": {
+ "type": "boolean"
},
- "developer_address": {
- "description": "Developer's postal address as listed on the app page.",
- "example": "1455 3RD St, San Francisco, CA 94158-2210, United States",
- "type": "string"
+ "paragraphs": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "developer_email": {
- "description": "Developer's contact email as listed on the app page.",
- "example": "support@openai.com",
+ "published_at": {
"type": "string"
},
- "developer_id": {
- "description": "Google Play developer ID. Use it with the developer endpoint.",
- "example": "7577165439232992817",
+ "title": {
"type": "string"
},
- "developer_internal_id": {
- "description": "Google Play developer ID, the same value as `developer_id`.",
- "example": "7577165439232992817",
+ "updated_at": {
"type": "string"
},
- "developer_legal_address": {
- "description": "Developer's legal address as listed on the app page, on one line.",
- "example": "1455 3RD St, San Francisco, CA 94158-2210, United States",
+ "url": {
"type": "string"
- },
- "developer_legal_email": {
- "description": "Developer's legal contact email as listed on the app page.",
- "example": "support@openai.com",
+ }
+ },
+ "type": "object"
+ },
+ "foreignaffairs.AuthorArticle": {
+ "properties": {
+ "dek": {
"type": "string"
},
- "developer_legal_name": {
- "description": "Developer's registered legal name as listed on the app page.",
- "example": "OpenAI Opco, LLC",
+ "issue_label": {
"type": "string"
},
- "developer_legal_phone_number": {
- "description": "Developer's legal contact phone number as listed on the app page.",
- "example": "+1 415-231-2395",
+ "issue_url": {
"type": "string"
},
- "developer_website": {
- "description": "URL of the developer's website.",
- "example": "https://help.openai.com",
+ "title": {
"type": "string"
},
- "discount_end_date": {
- "description": "End date of the current discounted price, when the app is on sale.",
- "example": "2026-03-31T23:59:59Z",
+ "url": {
"type": "string"
- },
- "early_access_enabled": {
- "description": "Whether the app is in Google Play early access.",
- "example": false,
- "type": "boolean"
- },
- "features": {
- "description": "Feature highlights listed on the app page, each with a title and description.",
+ }
+ },
+ "type": "object"
+ },
+ "foreignaffairs.AuthorResponse": {
+ "properties": {
+ "articles": {
"items": {
- "$ref": "#/definitions/googleplay.Feature"
+ "$ref": "#/definitions/foreignaffairs.AuthorArticle"
},
"type": "array"
},
- "free": {
- "description": "Whether the app is free to install.",
- "example": true,
- "type": "boolean"
- },
- "genre": {
- "description": "Main category name of the app, such as `Productivity`.",
- "example": "Productivity",
- "type": "string"
- },
- "genre_id": {
- "description": "ID of the app's main category, such as `PRODUCTIVITY`.",
- "example": "PRODUCTIVITY",
+ "bio": {
"type": "string"
},
- "header_image": {
- "description": "URL of the app's header image.",
- "example": "https://play-lh.googleusercontent.com/sample-header-image",
+ "name": {
"type": "string"
},
- "histogram": {
- "description": "Number of ratings at each star level, keyed `1` to `5`.",
- "type": "object"
- },
- "iap_range": {
- "description": "Price range of in-app purchases as Google Play shows it, such as `$0.99 - $199.99 per item`.",
- "example": "$0.99 - $199.99 per item",
+ "slug": {
"type": "string"
},
- "icon": {
- "description": "URL of the app icon.",
- "example": "https://play-lh.googleusercontent.com/lmG9HlI0awHie0cyBieWXeNjpyXvHPwDBb8MNOVIyp0P8VEh95AiBHtUZSDVR3HLe3A",
+ "url": {
"type": "string"
- },
- "installs": {
- "description": "Install count band as Google Play shows it, such as `100,000,000+`.",
- "example": "100,000,000+",
+ }
+ },
+ "type": "object"
+ },
+ "foreignaffairs.HeadlineItem": {
+ "properties": {
+ "author": {
"type": "string"
},
- "is_available_in_play_pass": {
- "description": "Whether the app is part of Google Play Pass.",
- "example": false,
- "type": "boolean"
- },
- "max_installs": {
- "description": "Larger of the two install-count figures Google Play reports for the app.",
- "example": 500000000,
- "type": "integer"
- },
- "min_installs": {
- "description": "Smaller of the two install-count figures Google Play reports, matching the `installs` band.",
- "example": 100000000,
- "type": "integer"
- },
- "more_by_developer": {
- "description": "Other apps from the same developer, from the \"More by\" list on the app page.",
- "items": {
- "$ref": "#/definitions/googleplay.ListApp"
- },
- "type": "array"
- },
- "offers_iap": {
- "description": "Whether the app offers in-app purchases.",
- "example": true,
- "type": "boolean"
- },
- "original_price": {
- "description": "Price before the discount, in the same currency as `price`. Omitted when there is no original price.",
- "example": 4.99,
- "type": "number"
- },
- "platforms": {
- "description": "Device types the app supports, such as `phone`, `tablet` or `chromebook`.",
- "example": [
- "[\"phone\"",
- "\"tablet\"",
- "\"chromebook\"]"
- ],
+ "categories": {
"items": {
"type": "string"
},
"type": "array"
},
- "preregister": {
- "description": "Whether the app is open for pre-registration.",
- "example": false,
- "type": "boolean"
- },
- "preview_video": {
- "description": "URL of the app's preview video.",
- "example": "https://play.google.com/preview/sample",
+ "image_url": {
"type": "string"
},
- "price": {
- "description": "Price of the app in the currency given by `currency`. `0` for free apps.",
- "example": 0,
- "type": "number"
- },
- "price_text": {
- "description": "Price as Google Play displays it, such as `Free`.",
- "example": "Free",
+ "published_at": {
"type": "string"
},
- "privacy_policy": {
- "description": "URL of the app's privacy policy.",
- "example": "https://openai.com/policies/privacy-policy",
+ "summary": {
"type": "string"
},
- "ratings": {
- "description": "Total number of star ratings the app has received.",
- "example": 40123456,
- "type": "integer"
- },
- "recent_changes": {
- "description": "Text of the latest release notes.",
- "example": "Bug fixes and performance improvements.",
+ "title": {
"type": "string"
},
- "released": {
- "description": "Release date of the app as listed on Google Play.",
- "example": "2023-07-19",
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "foreignaffairs.HeadlinesResponse": {
+ "properties": {
+ "items": {
+ "items": {
+ "$ref": "#/definitions/foreignaffairs.HeadlineItem"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "foreignaffairs.Topic": {
+ "properties": {
+ "feed_url": {
"type": "string"
},
- "reviews": {
- "description": "Total number of written reviews the app has received.",
- "example": 1234567,
- "type": "integer"
- },
- "score": {
- "description": "Average star rating of the app, out of 5.",
- "example": 4.8,
- "type": "number"
- },
- "score_text": {
- "description": "Average rating as Google Play displays it, such as `4.8`.",
- "example": "4.8",
+ "name": {
"type": "string"
},
- "screenshots": {
- "description": "URLs of the app's screenshots.",
- "example": [
- "[\"https://play-lh.googleusercontent.com/sample-screenshot-1\"",
- "\"https://play-lh.googleusercontent.com/sample-screenshot-2\"]"
- ],
+ "slug": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "foreignaffairs.TopicResponse": {
+ "properties": {
+ "items": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/foreignaffairs.HeadlineItem"
},
"type": "array"
},
- "similar_apps": {
- "description": "Apps Google Play lists as similar to this one on the app page.",
+ "topic": {
+ "$ref": "#/definitions/foreignaffairs.Topic"
+ }
+ },
+ "type": "object"
+ },
+ "foreignaffairs.TopicsResponse": {
+ "properties": {
+ "topics": {
"items": {
- "$ref": "#/definitions/googleplay.ListApp"
+ "$ref": "#/definitions/foreignaffairs.Topic"
},
"type": "array"
- },
- "summary": {
- "description": "Short tagline shown under the app title.",
- "example": "The official app by OpenAI",
- "type": "string"
- },
- "title": {
- "description": "App name as shown on Google Play.",
- "example": "ChatGPT",
- "type": "string"
- },
- "updated": {
- "description": "Time the app was last updated, in Unix seconds.",
- "example": 1736899200,
+ }
+ },
+ "type": "object"
+ },
+ "foreignaffairs.articleResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "url": {
- "description": "Google Play details page URL for the app, in the requested language and country.",
- "example": "https://play.google.com/store/apps/details?id=com.openai.chatgpt&hl=en&gl=us",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/foreignaffairs.ArticleResponse"
},
- "version": {
- "description": "Current app version string. Shows `VARY` when the version differs by device.",
- "example": "1.2026.056",
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "foreignaffairs.authorResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "video": {
- "description": "URL of the app's promo video.",
- "example": "https://play.google.com/video/sample",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/foreignaffairs.AuthorResponse"
},
- "video_image": {
- "description": "URL of the cover image for the app's promo video.",
- "example": "https://play-lh.googleusercontent.com/sample-video-cover",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "googleplay.AppDetailsResponse": {
+ "foreignaffairs.headlinesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/googleplay.App"
+ "$ref": "#/definitions/foreignaffairs.HeadlinesResponse"
},
"msg": {
"example": "OK",
@@ -98927,373 +104438,352 @@
},
"type": "object"
},
- "googleplay.Category": {
+ "foreignaffairs.topicResponseDoc": {
"properties": {
- "id": {
- "description": "Category ID on Google Play, such as `PRODUCTIVITY`.",
- "example": "PRODUCTIVITY",
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "name": {
- "description": "Category name as shown on Google Play, such as `Productivity`.",
- "example": "Productivity",
+ "data": {
+ "$ref": "#/definitions/foreignaffairs.TopicResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "googleplay.DataSafetyEntry": {
+ "foreignaffairs.topicsResponseDoc": {
"properties": {
- "data": {
- "description": "Kind of data covered by this disclosure, such as `Email address`.",
- "example": "Email address",
- "type": "string"
- },
- "optional": {
- "description": "Whether providing this data is optional for the user.",
- "example": false,
- "type": "boolean"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "purpose": {
- "description": "Reason the developer gives for using this data, such as `Analytics`.",
- "example": "Analytics",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/foreignaffairs.TopicsResponse"
},
- "type": {
- "description": "Data group this item belongs to, such as `Personal info`.",
- "example": "Personal info",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "googleplay.DataSafetyResult": {
+ "foreignpolicy.ArticleResponse": {
"properties": {
- "collected_data": {
- "description": "Data the app says it collects, one entry per data item.",
+ "authors": {
"items": {
- "$ref": "#/definitions/googleplay.DataSafetyEntry"
+ "type": "string"
},
"type": "array"
},
- "privacy_policy_url": {
- "description": "URL of the app's privacy policy.",
- "example": "https://openai.com/policies/privacy-policy",
+ "description": {
"type": "string"
},
- "security_practices": {
- "description": "Security practices the developer declares for the app.",
- "items": {
- "$ref": "#/definitions/googleplay.SecurityPractice"
- },
- "type": "array"
+ "image_url": {
+ "type": "string"
},
- "shared_data": {
- "description": "Data the app says it shares with third parties, one entry per data item.",
+ "is_gated": {
+ "type": "boolean"
+ },
+ "paragraphs": {
"items": {
- "$ref": "#/definitions/googleplay.DataSafetyEntry"
+ "type": "string"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "googleplay.DeviceRating": {
- "properties": {
- "device": {
- "description": "Device type the rating breakdown covers: `phone`, `tablet` or `chromebook`.",
- "example": "phone",
- "type": "string"
},
- "histogram": {
- "description": "Number of ratings at each star level on this device type, keyed `1` to `5`.",
- "type": "object"
+ "published_at": {
+ "type": "string"
},
- "ratings": {
- "description": "Total number of star ratings on this device type.",
- "example": 326809,
- "type": "integer"
+ "section": {
+ "type": "string"
},
- "reviews": {
- "description": "Total number of written reviews on this device type.",
- "example": 8946,
- "type": "integer"
+ "title": {
+ "type": "string"
},
- "score": {
- "description": "Average star rating on this device type, out of 5.",
- "example": 4.7,
- "type": "number"
+ "updated_at": {
+ "type": "string"
},
- "score_text": {
- "description": "Average rating on this device type as Google Play displays it, such as `4.7`.",
- "example": "4.7",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "googleplay.Feature": {
+ "foreignpolicy.AuthorArticle": {
"properties": {
- "description": {
- "description": "Short explanation of the feature.",
- "example": "Get answers, writing help, and image generation.",
+ "published_at": {
+ "type": "string"
+ },
+ "section": {
+ "type": "string"
+ },
+ "section_url": {
"type": "string"
},
"title": {
- "description": "Name of the feature highlight.",
- "example": "AI assistant",
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "googleplay.ListApp": {
+ "foreignpolicy.AuthorResponse": {
"properties": {
- "app_id": {
- "description": "Package name of the app on Google Play, such as `com.openai.chatgpt`.",
- "example": "com.openai.chatgpt",
- "type": "string"
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/foreignpolicy.AuthorArticle"
+ },
+ "type": "array"
},
- "currency": {
- "description": "Currency code of the price, such as `USD`.",
- "example": "USD",
+ "bio": {
"type": "string"
},
- "developer": {
- "description": "Name of the app's developer or publisher.",
- "example": "OpenAI",
+ "name": {
"type": "string"
},
- "developer_id": {
- "description": "Google Play developer ID. Use it with the developer endpoint.",
- "example": "7577165439232992817",
+ "slug": {
"type": "string"
},
- "free": {
- "description": "Whether the app is free to install.",
- "example": true,
- "type": "boolean"
- },
- "icon": {
- "description": "URL of the app icon.",
- "example": "https://play-lh.googleusercontent.com/lmG9HlI0awHie0cyBieWXeNjpyXvHPwDBb8MNOVIyp0P8VEh95AiBHtUZSDVR3HLe3A",
+ "url": {
"type": "string"
- },
- "price": {
- "description": "Price of the app in the currency given by `currency`. `0` for free apps.",
- "example": 0,
- "type": "number"
- },
- "price_text": {
- "description": "Price as Google Play displays it on the card, such as `FREE`.",
- "example": "FREE",
+ }
+ },
+ "type": "object"
+ },
+ "foreignpolicy.HeadlineItem": {
+ "properties": {
+ "author": {
"type": "string"
},
- "score": {
- "description": "Average star rating of the app, out of 5.",
- "example": 4.8,
- "type": "number"
+ "categories": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "score_text": {
- "description": "Average rating as Google Play displays it, such as `4.8`.",
- "example": "4.8",
+ "is_gated": {
+ "type": "boolean"
+ },
+ "published_at": {
"type": "string"
},
"summary": {
- "description": "Short tagline shown under the app title.",
- "example": "The official app by OpenAI",
"type": "string"
},
"title": {
- "description": "App name as shown on Google Play.",
- "example": "ChatGPT",
"type": "string"
},
"url": {
- "description": "Google Play details page URL for the app.",
- "example": "https://play.google.com/store/apps/details?id=com.openai.chatgpt",
"type": "string"
}
},
"type": "object"
},
- "googleplay.Review": {
+ "foreignpolicy.HeadlinesResponse": {
"properties": {
- "criterias": {
- "description": "Per-criterion ratings attached to the review, when Google Play shows them.",
+ "items": {
"items": {
- "$ref": "#/definitions/googleplay.ReviewCriteria"
+ "$ref": "#/definitions/foreignpolicy.HeadlineItem"
},
"type": "array"
- },
+ }
+ },
+ "type": "object"
+ },
+ "foreignpolicy.LiveDetailResponse": {
+ "properties": {
"date": {
- "description": "Time the review was posted, in UTC (RFC 3339).",
- "example": "2026-02-18T12:34:56Z",
"type": "string"
},
- "id": {
- "description": "Google Play review ID.",
- "example": "5b4e4d89-ce22-4f13-b676-bb3a7aafe278",
+ "description": {
"type": "string"
},
- "reply_date": {
- "description": "Time the developer replied, in UTC (RFC 3339).",
- "example": "2026-02-20T08:00:00Z",
- "type": "string"
+ "highlights": {
+ "items": {
+ "$ref": "#/definitions/foreignpolicy.LiveHighlight"
+ },
+ "type": "array"
},
- "reply_text": {
- "description": "Developer's reply to the review. `null` when there is no reply.",
- "example": "Thanks for the feedback!",
+ "slug": {
"type": "string"
},
- "score": {
- "description": "Star rating the reviewer gave, from 1 to 5.",
- "example": 5,
- "type": "integer"
- },
- "score_text": {
- "description": "Star rating as a string, such as `5`.",
- "example": "5",
+ "title": {
"type": "string"
},
- "text": {
- "description": "Body text of the review.",
- "example": "Very helpful for quick answers and brainstorming.",
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "foreignpolicy.LiveHighlight": {
+ "properties": {
+ "title": {
"type": "string"
},
- "thumbs_up": {
- "description": "Number of users who marked the review as helpful.",
- "example": 124,
- "type": "integer"
+ "video_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "foreignpolicy.LiveItem": {
+ "properties": {
+ "date": {
+ "type": "string"
},
- "title": {
- "description": "Review headline. Currently always `null`.",
- "example": "Great app",
+ "description": {
"type": "string"
},
- "url": {
- "description": "Google Play link to this review.",
- "example": "https://play.google.com/store/apps/details?id=com.openai.chatgpt&reviewId=5b4e4d89-ce22-4f13-b676-bb3a7aafe278",
+ "image_url": {
"type": "string"
},
- "user_image": {
- "description": "URL of the reviewer's profile picture.",
- "example": "https://play-lh.googleusercontent.com/a-/ALV-UjVsample",
+ "slug": {
"type": "string"
},
- "user_name": {
- "description": "Display name of the reviewer.",
- "example": "Jane Doe",
+ "title": {
"type": "string"
},
- "version": {
- "description": "App version the review was written for. `null` when not shown.",
- "example": "1.2026.056",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "googleplay.ReviewCriteria": {
+ "foreignpolicy.LiveResponse": {
"properties": {
- "criteria": {
- "description": "Name of the aspect being rated, such as `Accuracy`.",
- "example": "Accuracy",
- "type": "string"
- },
- "rating": {
- "description": "Rating given for this aspect. `null` when no rating is shown.",
- "example": 5,
- "type": "integer"
+ "items": {
+ "items": {
+ "$ref": "#/definitions/foreignpolicy.LiveItem"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "googleplay.ReviewsResult": {
+ "foreignpolicy.ProjectItem": {
"properties": {
- "data": {
- "description": "Reviews on this page, newest or sorted as requested.",
+ "authors": {
"items": {
- "$ref": "#/definitions/googleplay.Review"
+ "type": "string"
},
"type": "array"
},
- "next_pagination_token": {
- "description": "Token to pass as `next_pagination_token` to fetch the next page of reviews.",
- "example": "CscBIr4BAb_yELvAqtSacgExc3y_bO88_b1Q",
+ "section": {
+ "type": "string"
+ },
+ "summary": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "googleplay.SecurityPractice": {
+ "foreignpolicy.ProjectResponse": {
"properties": {
- "description": {
- "description": "Longer explanation of the security practice.",
- "example": "Your data is transferred over a secure connection",
+ "items": {
+ "items": {
+ "$ref": "#/definitions/foreignpolicy.ProjectItem"
+ },
+ "type": "array"
+ },
+ "name": {
"type": "string"
},
- "practice": {
- "description": "Security practice declared by the developer, such as `Data is encrypted in transit`.",
- "example": "Data is encrypted in transit",
+ "slug": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "googleplay.Suggestion": {
+ "foreignpolicy.ProjectSummary": {
"properties": {
- "term": {
- "example": "chatgpt",
+ "name": {
+ "type": "string"
+ },
+ "slug": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "googleplay.categoriesResponseDoc": {
+ "foreignpolicy.ProjectsResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
+ "items": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/foreignpolicy.ProjectSummary"
},
"type": "array"
},
- "msg": {
- "example": "OK",
+ "next_page": {
+ "type": "integer"
+ },
+ "page": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "foreignpolicy.TopicItem": {
+ "properties": {
+ "published_at": {
+ "type": "string"
+ },
+ "summary": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "googleplay.dataSafetyResponseDoc": {
+ "foreignpolicy.TopicResponse": {
"properties": {
- "code": {
- "example": 200,
+ "items": {
+ "items": {
+ "$ref": "#/definitions/foreignpolicy.TopicItem"
+ },
+ "type": "array"
+ },
+ "page": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/googleplay.DataSafetyResult"
+ "topic": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "type": {
"type": "string"
}
},
"type": "object"
},
- "googleplay.developerResultsResponseDoc": {
+ "foreignpolicy.articleResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "items": {},
- "type": "array"
+ "$ref": "#/definitions/foreignpolicy.ArticleResponse"
},
"msg": {
"example": "OK",
@@ -99302,15 +104792,14 @@
},
"type": "object"
},
- "googleplay.listResultsResponseDoc": {
+ "foreignpolicy.authorResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "items": {},
- "type": "array"
+ "$ref": "#/definitions/foreignpolicy.AuthorResponse"
},
"msg": {
"example": "OK",
@@ -99319,15 +104808,14 @@
},
"type": "object"
},
- "googleplay.permissionsResultsResponseDoc": {
+ "foreignpolicy.headlinesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "items": {},
- "type": "array"
+ "$ref": "#/definitions/foreignpolicy.HeadlinesResponse"
},
"msg": {
"example": "OK",
@@ -99336,17 +104824,14 @@
},
"type": "object"
},
- "googleplay.ratingsResponseDoc": {
+ "foreignpolicy.liveDetailResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "items": {
- "$ref": "#/definitions/googleplay.DeviceRating"
- },
- "type": "array"
+ "$ref": "#/definitions/foreignpolicy.LiveDetailResponse"
},
"msg": {
"example": "OK",
@@ -99355,14 +104840,14 @@
},
"type": "object"
},
- "googleplay.reviewsResponseDoc": {
+ "foreignpolicy.liveResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/googleplay.ReviewsResult"
+ "$ref": "#/definitions/foreignpolicy.LiveResponse"
},
"msg": {
"example": "OK",
@@ -99371,15 +104856,14 @@
},
"type": "object"
},
- "googleplay.searchResultsResponseDoc": {
+ "foreignpolicy.projectResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "items": {},
- "type": "array"
+ "$ref": "#/definitions/foreignpolicy.ProjectResponse"
},
"msg": {
"example": "OK",
@@ -99388,15 +104872,14 @@
},
"type": "object"
},
- "googleplay.similarResultsResponseDoc": {
+ "foreignpolicy.projectsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "items": {},
- "type": "array"
+ "$ref": "#/definitions/foreignpolicy.ProjectsResponse"
},
"msg": {
"example": "OK",
@@ -99405,17 +104888,14 @@
},
"type": "object"
},
- "googleplay.suggestResponseDoc": {
+ "foreignpolicy.topicResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "items": {
- "$ref": "#/definitions/googleplay.Suggestion"
- },
- "type": "array"
+ "$ref": "#/definitions/foreignpolicy.TopicResponse"
},
"msg": {
"example": "OK",
@@ -99424,1971 +104904,2252 @@
},
"type": "object"
},
- "gosugamers.BattleRoyalePlayer": {
+ "formula1.AwardEnum": {
"properties": {
- "country_code": {
- "example": "IQ",
- "type": "string"
- },
- "id": {
- "example": "505275",
- "type": "string"
- },
- "name": {
- "example": "AZHY",
+ "label": {
"type": "string"
},
- "slug": {
- "example": "azhy",
+ "value": {
"type": "string"
}
},
"type": "object"
},
- "gosugamers.BattleRoyaleTeam": {
+ "formula1.AwardRound": {
"properties": {
- "country_code": {
- "example": "IQ",
- "type": "string"
- },
- "id": {
- "example": "52872",
+ "grand_prix": {
+ "description": "GrandPrix is the short Grand Prix name.",
+ "example": "Australia",
"type": "string"
},
- "kill_points": {
- "example": 11,
- "type": "integer"
- },
- "kills": {
- "example": 11,
+ "meeting_id": {
+ "description": "MeetingID is the numeric meeting key the round links to.",
+ "example": 1279,
"type": "integer"
},
- "name": {
- "example": "4K Esports",
- "type": "string"
- },
- "placement": {
+ "round": {
+ "description": "Round is the 1-based championship round.",
"example": 1,
"type": "integer"
},
- "placement_points": {
- "example": 0,
- "type": "integer"
- },
- "players": {
- "items": {
- "$ref": "#/definitions/gosugamers.BattleRoyalePlayer"
- },
- "type": "array"
- },
- "points_addition": {
- "type": "integer"
+ "team": {
+ "description": "Team is the winner's team for a driver award.",
+ "example": "Mercedes",
+ "type": "string"
},
- "points_deduction": {
- "type": "integer"
+ "time": {
+ "description": "Time is the award time or value the row renders.",
+ "example": "1:18.518",
+ "type": "string"
},
- "slug": {
- "example": "4k-esports",
+ "winner": {
+ "description": "Winner is the award winner's name or, for the fastest-pit-stop\naward, the winning team.",
+ "example": "George Russell",
"type": "string"
},
- "total_points": {
- "example": 11,
- "type": "integer"
+ "winner_tla": {
+ "description": "WinnerTLA is the winner's three-letter abbreviation when the award\nis a driver award.",
+ "example": "RUS",
+ "type": "string"
}
},
"type": "object"
},
- "gosugamers.BroadcastTalent": {
+ "formula1.CalendarMeeting": {
"properties": {
- "country_code": {
- "example": "GB",
+ "completed": {
+ "description": "Completed reports whether the card shows the completed-round marker\n(the chequered-flag badge icon).",
+ "example": true,
+ "type": "boolean"
+ },
+ "country": {
+ "description": "Country is the country name from the card's flag title.",
+ "example": "Brazil",
"type": "string"
},
- "country_name": {
- "example": "United Kingdom",
+ "date_text": {
+ "description": "DateText is the raw weekend date text the card renders.",
+ "example": "06 - 08 Nov",
"type": "string"
},
- "game": {
- "example": "valorant",
+ "end_date": {
+ "description": "EndDate is the parsed weekend end date in YYYY-MM-DD, when parseable.",
+ "example": "2026-11-08",
"type": "string"
},
- "id": {
- "example": "597",
+ "event_slug": {
+ "description": "EventSlug is the race-hub slug for the weekend. It is a different\nslug space from the results-archive slug.",
+ "example": "brazil",
"type": "string"
},
- "image_url": {
+ "is_test_event": {
+ "description": "IsTestEvent marks pre-season testing.",
+ "example": false,
+ "type": "boolean"
+ },
+ "official_name": {
+ "description": "OfficialName is the full official Grand Prix name.",
+ "example": "FORMULA 1 MSC CRUISES GRANDE PRÊMIO DE SÃO PAULO 2026",
"type": "string"
},
- "language_code": {
- "example": "EN",
+ "round": {
+ "description": "Round is the championship round; null for a pre-season test.",
+ "example": 20,
+ "type": "integer"
+ },
+ "short_name": {
+ "description": "ShortName is the short event name the card renders.",
+ "example": "Brazil",
+ "type": "string"
+ },
+ "start_date": {
+ "description": "StartDate is the parsed weekend start date in YYYY-MM-DD, when the\ncard's date text could be parsed.",
+ "example": "2026-11-06",
+ "type": "string"
+ },
+ "status": {
+ "description": "Status is completed or upcoming.",
+ "example": "completed",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "formula1.Circuit": {
+ "properties": {
+ "first_grand_prix": {
+ "description": "FirstGrandPrix is the year the circuit first hosted a Grand Prix.",
+ "example": 1973,
+ "type": "integer"
+ },
+ "laps": {
+ "description": "Laps is the scheduled race lap count.",
+ "example": 71,
+ "type": "integer"
+ },
+ "length_km": {
+ "description": "LengthKM is the parsed circuit length in kilometres.",
+ "example": 4.309,
+ "type": "number"
+ },
+ "length_text": {
+ "description": "LengthText is the rendered circuit length, such as 4.309km.",
+ "example": "4.309km",
"type": "string"
},
"name": {
- "example": "Frankie",
+ "description": "Name is the circuit short name from the page title.",
+ "example": "Sao Paulo",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "formula1.DriverGridResponse": {
+ "properties": {
+ "count": {
+ "description": "Count is the number of rows in this response.",
+ "example": 23,
+ "type": "integer"
},
- "roles": {
- "example": [
- "Host"
- ],
+ "drivers": {
+ "description": "Drivers is the current race grid.",
"items": {
- "type": "string"
+ "$ref": "#/definitions/formula1.GridDriver"
},
"type": "array"
},
- "slug": {
- "example": "frankie",
+ "fetched_at": {
+ "description": "FetchedAt is the UTC fetch timestamp in RFC3339.",
+ "example": "2026-11-09T10:30:00Z",
"type": "string"
},
- "url": {
+ "season": {
+ "description": "Season is the season the site's grid page currently displays.",
+ "example": 2026,
+ "type": "integer"
+ },
+ "source_url": {
+ "description": "SourceURL is the upstream page that produced the response.",
+ "example": "https://www.formula1.com/en/results/2026/races",
"type": "string"
}
},
"type": "object"
},
- "gosugamers.EncountersResponse": {
+ "formula1.DriverInfo": {
"properties": {
- "count": {
- "example": 1,
- "type": "integer"
+ "career_stats": {
+ "description": "CareerStats are the career statistics.",
+ "items": {
+ "$ref": "#/definitions/formula1.Stat"
+ },
+ "type": "array"
},
- "fetched_at": {
- "example": "2026-10-27T10:00:00Z",
+ "country": {
+ "description": "Country is the nationality line the profile renders, when present.",
+ "example": "Italy",
"type": "string"
},
- "game": {
- "example": "valorant",
+ "first_name": {
+ "description": "FirstName and LastName are the two name parts the page title\ncarries.",
+ "example": "Kimi",
"type": "string"
},
- "match_id": {
- "example": "660816",
+ "full_name": {
+ "description": "FullName is the title's full name.",
+ "example": "Kimi Antonelli",
"type": "string"
},
- "matches": {
+ "last_name": {
+ "example": "Antonelli",
+ "type": "string"
+ },
+ "number": {
+ "description": "Number is the car number line the profile renders, when present.",
+ "example": "12",
+ "type": "string"
+ },
+ "profile_stats": {
+ "description": "ProfileStats are the identity facts such as date and place of birth.",
"items": {
- "$ref": "#/definitions/gosugamers.MatchSummary"
+ "$ref": "#/definitions/formula1.Stat"
},
"type": "array"
},
- "source_url": {
- "example": "https://www.gosugamers.net/valorant/matches",
- "type": "string"
+ "season": {
+ "description": "Season is the season the season statistics describe.",
+ "example": 2026,
+ "type": "integer"
},
- "team1_id": {
- "example": "38335",
+ "season_stats": {
+ "description": "SeasonStats are the current-season statistics.",
+ "items": {
+ "$ref": "#/definitions/formula1.Stat"
+ },
+ "type": "array"
+ },
+ "slug": {
+ "description": "Slug is the requested profile slug.",
+ "example": "kimi-antonelli",
"type": "string"
},
- "team2_id": {
- "example": "37547",
+ "team": {
+ "description": "Team is the constructor the profile title names.",
+ "example": "Mercedes",
"type": "string"
}
},
"type": "object"
},
- "gosugamers.Game": {
+ "formula1.DriverLink": {
"properties": {
"name": {
- "example": "Valorant",
+ "description": "Name is the driver's full name.",
+ "example": "George Russell",
"type": "string"
},
"slug": {
- "enum": [
- "dota2",
- "counterstrike",
- "lol",
- "valorant",
- "mobile-legends",
- "pubg-mobile",
- "wild-rift",
- "free-fire",
- "battlegrounds-mobile-india"
- ],
- "example": "valorant",
+ "description": "Slug is the driver profile slug.",
+ "example": "george-russell",
+ "type": "string"
+ },
+ "url": {
+ "description": "URL is the driver profile page.",
"type": "string"
}
},
"type": "object"
},
- "gosugamers.GameMap": {
+ "formula1.DriverResponse": {
"properties": {
- "id": {
- "example": "453",
- "type": "string"
+ "count": {
+ "description": "Count is the number of rows in this response.",
+ "example": 23,
+ "type": "integer"
},
- "image_url": {
+ "driver": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/formula1.DriverInfo"
+ }
+ ],
+ "description": "Driver is the parsed profile."
+ },
+ "fetched_at": {
+ "description": "FetchedAt is the UTC fetch timestamp in RFC3339.",
+ "example": "2026-11-09T10:30:00Z",
"type": "string"
},
- "name": {
- "example": "Summit",
+ "source_url": {
+ "description": "SourceURL is the upstream page that produced the response.",
+ "example": "https://www.formula1.com/en/results/2026/races",
"type": "string"
}
},
"type": "object"
},
- "gosugamers.GamePick": {
+ "formula1.DriverSeasonResultsResponse": {
"properties": {
- "image_url": {
+ "count": {
+ "description": "Count is the number of rows in this response.",
+ "example": 23,
+ "type": "integer"
+ },
+ "driver": {
+ "description": "Driver is the display name from the page title.",
+ "example": "KIMI ANTONELLI",
"type": "string"
},
- "pick": {
- "example": "Neon",
+ "driver_code": {
+ "description": "DriverCode is the site's driver code, the real key of the page.",
+ "example": "ANDANT01",
"type": "string"
},
- "player": {
- "$ref": "#/definitions/gosugamers.GamePlayer"
+ "driver_slug": {
+ "description": "DriverSlug is the driver profile slug from the request (decorative on\nthe upstream page).",
+ "example": "kimi-antonelli",
+ "type": "string"
},
- "slot": {
- "example": 6,
- "type": "integer"
+ "fetched_at": {
+ "description": "FetchedAt is the UTC fetch timestamp in RFC3339.",
+ "example": "2026-11-09T10:30:00Z",
+ "type": "string"
},
- "type": {
- "example": 1,
+ "rounds": {
+ "description": "Rounds is the round-ordered result list.",
+ "items": {
+ "$ref": "#/definitions/formula1.DriverSeasonRound"
+ },
+ "type": "array"
+ },
+ "season": {
+ "description": "Season is the season the rows belong to.",
+ "example": 2026,
"type": "integer"
+ },
+ "source_url": {
+ "description": "SourceURL is the upstream page that produced the response.",
+ "example": "https://www.formula1.com/en/results/2026/races",
+ "type": "string"
}
},
"type": "object"
},
- "gosugamers.GamePlayer": {
+ "formula1.DriverSeasonRound": {
"properties": {
- "id": {
- "example": "373491",
+ "date": {
+ "description": "Date is the raw weekend date text the page renders.",
+ "example": "08 Mar",
"type": "string"
},
- "name": {
- "example": "Ninebody",
+ "grand_prix": {
+ "description": "GrandPrix is the short Grand Prix name.",
+ "example": "Australia",
"type": "string"
},
- "slug": {
- "example": "ninebody",
- "type": "string"
- }
- },
- "type": "object"
- },
- "gosugamers.GameRef": {
- "properties": {
- "id": {
- "example": "1361936",
- "type": "string"
+ "points": {
+ "description": "Points is the points the driver scored in that round.",
+ "example": 18,
+ "type": "number"
},
- "number": {
- "example": 1,
+ "position": {
+ "description": "Position is the numeric finishing position, when the cell is numeric.",
+ "example": 2,
"type": "integer"
- }
- },
- "type": "object"
- },
- "gosugamers.GameRound": {
- "properties": {
- "overtime": {
- "example": false,
- "type": "boolean"
},
- "period": {
- "example": 0,
- "type": "integer"
+ "position_text": {
+ "description": "PositionText carries a non-numeric classification such as DNF, NC or\nDSQ; the numeric position stays null for those rows.",
+ "example": "DNF",
+ "type": "string"
},
- "team1_score": {
- "example": 6,
+ "round": {
+ "description": "Round is the 1-based championship round.",
+ "example": 1,
"type": "integer"
},
- "team2_score": {
- "example": 6,
- "type": "integer"
+ "team": {
+ "description": "Team is the constructor the driver raced for in that round.",
+ "example": "Mercedes",
+ "type": "string"
}
},
"type": "object"
},
- "gosugamers.GameTeam": {
+ "formula1.DriverStanding": {
"properties": {
- "first_pick": {
- "example": false,
- "type": "boolean"
- },
- "id": {
- "example": "58674",
+ "driver": {
+ "description": "Driver is the driver's full name.",
+ "example": "Kimi Antonelli",
"type": "string"
},
- "lineup": {
- "items": {
- "$ref": "#/definitions/gosugamers.GamePlayer"
- },
- "type": "array"
- },
- "logo_url": {
+ "driver_code": {
+ "description": "DriverCode is the site's driver code from the profile link.",
+ "example": "ANDANT01",
"type": "string"
},
- "name": {
- "example": "Unsettled Resentment",
+ "driver_slug": {
+ "description": "DriverSlug is the driver profile slug from the same link.",
+ "example": "kimi-antonelli",
"type": "string"
},
- "picks": {
- "items": {
- "$ref": "#/definitions/gosugamers.GamePick"
- },
- "type": "array"
- },
- "placement": {
- "example": 1,
- "type": "integer"
- },
- "score": {
- "example": 17,
- "type": "integer"
- },
- "side": {
- "example": "Radiant",
+ "driver_tla": {
+ "description": "DriverTLA is the driver's three-letter abbreviation.",
+ "example": "ANT",
"type": "string"
},
- "slug": {
- "example": "unsettled-resentment",
+ "driver_url": {
+ "description": "DriverURL is the driver's season standings page.",
"type": "string"
},
- "winner": {
- "example": true,
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "gosugamers.GameVOD": {
- "properties": {
- "channel": {
+ "nationality": {
+ "description": "Nationality is the three-letter nationality the table renders.",
+ "example": "ITA",
"type": "string"
},
- "host": {
- "example": 0,
+ "points": {
+ "description": "Points is the season points total.",
+ "example": 390,
+ "type": "number"
+ },
+ "position": {
+ "description": "Position is the championship position.",
+ "example": 1,
"type": "integer"
},
- "thumb_url": {
+ "team": {
+ "description": "Team is the constructor the driver scored for.",
+ "example": "Mercedes",
"type": "string"
},
- "title": {
+ "team_slug": {
+ "description": "TeamSlug is the team identifier from the team link.",
+ "example": "mercedes",
"type": "string"
},
- "video_id": {
- "example": "qqauxAJWoFw",
+ "team_url": {
+ "description": "TeamURL is the team's season standings page.",
"type": "string"
}
},
"type": "object"
},
- "gosugamers.GamesResponse": {
+ "formula1.DriverStandingsResponse": {
"properties": {
"count": {
- "example": 6,
+ "description": "Count is the number of rows in this response.",
+ "example": 23,
"type": "integer"
},
"fetched_at": {
- "example": "2026-10-27T10:00:00Z",
+ "description": "FetchedAt is the UTC fetch timestamp in RFC3339.",
+ "example": "2026-11-09T10:30:00Z",
"type": "string"
},
- "games": {
- "items": {
- "$ref": "#/definitions/gosugamers.Game"
- },
- "type": "array"
+ "season": {
+ "description": "Season is the season the standings belong to.",
+ "example": 2026,
+ "type": "integer"
},
"source_url": {
- "example": "https://www.gosugamers.net/valorant/matches",
+ "description": "SourceURL is the upstream page that produced the response.",
+ "example": "https://www.formula1.com/en/results/2026/races",
"type": "string"
+ },
+ "standings": {
+ "description": "Standings is the position-ordered table.",
+ "items": {
+ "$ref": "#/definitions/formula1.DriverStanding"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "gosugamers.MatchDetail": {
+ "formula1.EnumValue": {
"properties": {
- "best_of": {
- "example": 3,
- "type": "integer"
- },
- "fetched_at": {
- "example": "2026-10-27T10:00:00Z",
+ "value": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "formula1.FiltersData": {
+ "properties": {
+ "awards": {
+ "items": {
+ "$ref": "#/definitions/formula1.AwardEnum"
+ },
+ "type": "array"
},
- "finished": {
- "example": false,
- "type": "boolean"
- },
- "game": {
- "example": "valorant",
- "type": "string"
+ "current_season": {
+ "type": "integer"
},
- "game_numbers": {
- "example": [
- 1
- ],
+ "json_assemblies": {
+ "description": "JSONAssemblies are the editorial assembly content types with their\neither/or input contracts.",
"items": {
- "type": "integer"
+ "$ref": "#/definitions/formula1.EnumValue"
},
"type": "array"
},
- "games": {
+ "json_awards": {
"items": {
- "$ref": "#/definitions/gosugamers.GameRef"
+ "$ref": "#/definitions/formula1.EnumValue"
},
"type": "array"
},
- "group": {
- "example": "Week 2",
- "type": "string"
- },
- "id": {
- "example": "663300",
- "type": "string"
- },
- "opponents": {
+ "json_editorial_resources": {
"items": {
- "$ref": "#/definitions/gosugamers.Opponent"
+ "$ref": "#/definitions/formula1.EnumValue"
},
"type": "array"
},
- "round": {
- "example": "Round 1",
- "type": "string"
- },
- "source_url": {
- "example": "https://www.gosugamers.net/valorant/matches",
- "type": "string"
- },
- "stage": {
- "type": "string"
- },
- "start_time": {
- "example": "2026-10-27T12:45:00Z",
- "type": "string"
- },
- "streams": {
+ "json_results_datasets": {
+ "description": "JSONResultsDatasets, JSONAwards and JSONEditorialResources are the\nclosed sets of the JSON API routes.",
"items": {
- "$ref": "#/definitions/gosugamers.Stream"
+ "$ref": "#/definitions/formula1.EnumValue"
},
"type": "array"
},
- "tournament": {
- "$ref": "#/definitions/gosugamers.TournamentRef"
- },
- "url": {
- "type": "string"
- },
- "venue": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "gosugamers.MatchGameResponse": {
- "properties": {
- "battle_royale_teams": {
- "description": "BattleRoyaleTeams is filled for battle-royale titles (PUBG Mobile), which list every\nteam's placement and points instead of two sides.",
+ "json_season_ranges": {
"items": {
- "$ref": "#/definitions/gosugamers.BattleRoyaleTeam"
+ "$ref": "#/definitions/formula1.SeasonRange"
},
"type": "array"
},
- "best_of": {
- "example": 3,
- "type": "integer"
- },
- "fetched_at": {
- "example": "2026-10-27T10:00:00Z",
- "type": "string"
- },
- "game": {
- "example": "valorant",
- "type": "string"
- },
- "id": {
- "example": "1361936",
- "type": "string"
- },
- "map": {
- "$ref": "#/definitions/gosugamers.GameMap"
- },
- "match_number": {
- "example": 1,
- "type": "integer"
- },
- "number": {
- "example": 1,
- "type": "integer"
- },
- "player_based": {
- "example": false,
- "type": "boolean"
- },
- "round": {
- "example": "Round 1",
- "type": "string"
- },
- "rounds": {
+ "notes": {
"items": {
- "$ref": "#/definitions/gosugamers.GameRound"
+ "type": "string"
},
"type": "array"
},
- "source_url": {
- "example": "https://www.gosugamers.net/valorant/matches",
- "type": "string"
- },
- "start_time": {
- "example": "2026-10-27T01:00:00Z",
- "type": "string"
- },
- "teams": {
+ "season_ranges": {
"items": {
- "$ref": "#/definitions/gosugamers.GameTeam"
+ "$ref": "#/definitions/formula1.SeasonRange"
},
"type": "array"
},
- "vods": {
+ "session_views": {
"items": {
- "$ref": "#/definitions/gosugamers.GameVOD"
+ "$ref": "#/definitions/formula1.SessionEnum"
},
"type": "array"
+ },
+ "verified_on": {
+ "type": "string"
}
},
"type": "object"
},
- "gosugamers.MatchListResponse": {
+ "formula1.FiltersResponse": {
"properties": {
"count": {
- "example": 10,
+ "description": "Count is the number of rows in this response.",
+ "example": 23,
"type": "integer"
},
- "fetched_at": {
- "example": "2026-10-27T10:00:00Z",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/formula1.FiltersData"
},
- "game": {
- "example": "valorant",
+ "fetched_at": {
+ "description": "FetchedAt is the UTC fetch timestamp in RFC3339.",
+ "example": "2026-11-09T10:30:00Z",
"type": "string"
},
- "matches": {
- "items": {
- "$ref": "#/definitions/gosugamers.MatchSummary"
- },
- "type": "array"
- },
- "page": {
- "example": 1,
- "type": "integer"
- },
- "page_size": {
- "example": 10,
- "type": "integer"
- },
"source_url": {
- "example": "https://www.gosugamers.net/valorant/matches",
+ "description": "SourceURL is the upstream page that produced the response.",
+ "example": "https://www.formula1.com/en/results/2026/races",
"type": "string"
- },
- "total_pages": {
- "example": 165,
- "type": "integer"
- },
- "total_rows": {
- "example": 1647,
- "type": "integer"
}
},
"type": "object"
},
- "gosugamers.MatchSummary": {
+ "formula1.GridDriver": {
"properties": {
- "finished": {
- "example": false,
- "type": "boolean"
+ "country": {
+ "description": "Country is the nationality from the card's flag, when present.",
+ "example": "Thailand",
+ "type": "string"
},
- "game": {
- "example": "valorant",
+ "first_name": {
+ "description": "FirstName and LastName are the two name parts the card renders.",
+ "example": "Alexander",
"type": "string"
},
- "group": {
- "example": "Week 2",
+ "full_name": {
+ "description": "FullName is the joined name.",
+ "example": "Alexander Albon",
"type": "string"
},
- "id": {
- "example": "663300",
+ "last_name": {
+ "example": "Albon",
"type": "string"
},
- "match_number": {
- "example": 2,
- "type": "integer"
+ "slug": {
+ "description": "Slug is the driver profile slug.",
+ "example": "alexander-albon",
+ "type": "string"
},
- "round": {
- "example": "Round 1",
+ "team": {
+ "description": "Team is the constructor the card names.",
+ "example": "Williams",
"type": "string"
},
- "stage": {
- "example": "Main Event",
+ "team_colour": {
+ "description": "TeamColour is the card's team colour hex value, when present.",
+ "example": "#1868db",
"type": "string"
},
- "start_time": {
- "example": "2026-10-27T12:45:00Z",
+ "url": {
+ "description": "URL is the driver profile page.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "formula1.GridTeam": {
+ "properties": {
+ "colour": {
+ "description": "Colour is the card's team colour hex value, when present.",
+ "example": "#00a1e8",
"type": "string"
},
- "teams": {
+ "drivers": {
+ "description": "Drivers are the drivers the card names.",
"items": {
- "$ref": "#/definitions/gosugamers.Team"
+ "$ref": "#/definitions/formula1.GridTeamDriver"
},
"type": "array"
},
- "tournament": {
- "$ref": "#/definitions/gosugamers.TournamentRef"
+ "name": {
+ "description": "Name is the team name the card renders.",
+ "example": "Alpine",
+ "type": "string"
},
- "url": {
+ "slug": {
+ "description": "Slug is the team profile slug.",
+ "example": "alpine",
"type": "string"
},
- "venue": {
- "example": "The Hub, Shanghai, China",
+ "url": {
+ "description": "URL is the team profile page.",
"type": "string"
}
},
"type": "object"
},
- "gosugamers.Opponent": {
+ "formula1.GridTeamDriver": {
"properties": {
- "country": {
- "example": "China",
+ "first_name": {
+ "description": "FirstName and LastName are the two name parts the card renders.",
+ "example": "Pierre",
"type": "string"
},
- "country_code": {
- "example": "CN",
+ "full_name": {
+ "description": "FullName is the joined name.",
+ "example": "Pierre Gasly",
"type": "string"
},
- "id": {
- "example": "51203",
+ "last_name": {
+ "example": "Gasly",
"type": "string"
- },
- "logo_url": {
+ }
+ },
+ "type": "object"
+ },
+ "formula1.HubResultRow": {
+ "properties": {
+ "driver": {
+ "description": "Driver is the driver's name.",
+ "example": "Lando Norris",
"type": "string"
},
- "name": {
- "example": "Wolves Esports",
+ "driver_tla": {
+ "description": "DriverTLA is the driver's three-letter abbreviation.",
+ "example": "NOR",
"type": "string"
},
- "placement": {
- "example": 1,
- "type": "integer"
+ "points": {
+ "description": "Points is the points scored.",
+ "example": 25,
+ "type": "number"
},
- "score": {
- "example": 2,
+ "position": {
+ "description": "Position is the classification position.",
+ "example": 1,
"type": "integer"
},
- "slug": {
- "example": "wolves-esports",
- "type": "string"
- },
- "tag": {
- "example": "WOL",
+ "time": {
+ "description": "Time is the classified time or gap.",
+ "example": "1:35:23.504",
"type": "string"
- },
- "winner": {
- "example": true,
- "type": "boolean"
- },
- "world_ranking": {
- "example": 69,
- "type": "integer"
}
},
"type": "object"
},
- "gosugamers.Participant": {
+ "formula1.HubSession": {
"properties": {
- "country_code": {
- "example": "US",
- "type": "string"
- },
- "country_name": {
- "example": "United States",
- "type": "string"
- },
- "id": {
- "example": "37547",
+ "anchor": {
+ "description": "Anchor is the schedule anchor the page uses, such as #Race.",
+ "example": "#Race",
"type": "string"
},
- "logo_url": {
+ "end": {
+ "example": "2026-11-08T19:00:00.000Z",
"type": "string"
},
"name": {
- "example": "100T",
- "type": "string"
- },
- "ranking": {
- "example": 1,
- "type": "integer"
- },
- "slug": {
- "example": "100-thieves",
- "type": "string"
- },
- "type": {
- "example": "Team",
+ "description": "Name is the session name, such as Practice 1 - São Paulo Grand Prix.",
+ "example": "Race - São Paulo Grand Prix",
"type": "string"
},
- "url": {
+ "start": {
+ "description": "Start and End are the scheduled UTC timestamps.",
+ "example": "2026-11-08T17:00:00.000Z",
"type": "string"
}
},
"type": "object"
},
- "gosugamers.PlayerDetail": {
+ "formula1.JSONAwardOption": {
"properties": {
- "about": {
- "type": "string"
- },
- "country": {
- "example": "Taiwan",
+ "text": {
+ "example": "Pirelli Pole Position",
"type": "string"
},
- "country_code": {
- "example": "TW",
+ "value": {
+ "example": "/v1/fom-results-extension/pole-positions?season=2026",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "formula1.JSONAwardsResponse": {
+ "properties": {
+ "awards": {
+ "items": {
+ "$ref": "#/definitions/formula1.JSONAwardOption"
+ },
+ "type": "array"
},
- "current_team": {
- "$ref": "#/definitions/gosugamers.TeamStint"
- },
- "draws": {
- "example": 0,
- "type": "integer"
- },
- "earnings_usd": {
- "example": 27692,
- "type": "number"
- },
- "elo_rating": {
- "example": 952,
+ "count": {
+ "description": "Count is the number of rows in this response.",
+ "example": 23,
"type": "integer"
},
- "facebook": {
- "type": "string"
- },
"fetched_at": {
- "example": "2026-10-27T10:00:00Z",
- "type": "string"
- },
- "first_name": {
- "example": "Chun-ting",
+ "description": "FetchedAt is the UTC fetch timestamp in RFC3339.",
+ "example": "2026-11-09T10:30:00Z",
"type": "string"
},
- "game": {
- "example": "valorant",
- "type": "string"
+ "season": {
+ "example": 2026,
+ "type": "integer"
},
- "id": {
- "example": "368742",
+ "source_url": {
+ "description": "SourceURL is the upstream page that produced the response.",
+ "example": "https://www.formula1.com/en/results/2026/races",
"type": "string"
- },
- "image_url": {
+ }
+ },
+ "type": "object"
+ },
+ "formula1.JSONConstructorOption": {
+ "properties": {
+ "teamAccessibleColourCode": {
+ "example": "5c0012",
"type": "string"
},
- "last_name": {
- "example": "Liu",
+ "teamColourCode": {
+ "example": "e8002d",
"type": "string"
},
- "losses": {
- "example": 267,
- "type": "integer"
+ "teamLogoImage": {
+ "$ref": "#/definitions/formula1.JSONImage"
},
- "name": {
- "example": "Spring",
+ "text": {
+ "example": "Ferrari",
"type": "string"
},
- "previous_teams": {
+ "value": {
+ "example": "Ferrari",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "formula1.JSONConstructorsResponse": {
+ "properties": {
+ "constructors": {
"items": {
- "$ref": "#/definitions/gosugamers.TeamStint"
+ "$ref": "#/definitions/formula1.JSONConstructorOption"
},
"type": "array"
},
- "region": {
- "example": "China",
- "type": "string"
- },
- "region_ranking": {
- "example": 16,
+ "count": {
+ "description": "Count is the number of rows in this response.",
+ "example": 23,
"type": "integer"
},
- "source_url": {
- "example": "https://www.gosugamers.net/valorant/matches",
+ "fetched_at": {
+ "description": "FetchedAt is the UTC fetch timestamp in RFC3339.",
+ "example": "2026-11-09T10:30:00Z",
"type": "string"
},
- "streak": {
- "example": -1,
+ "season": {
+ "example": 2026,
"type": "integer"
},
- "twitter": {
+ "source_url": {
+ "description": "SourceURL is the upstream page that produced the response.",
+ "example": "https://www.formula1.com/en/results/2026/races",
"type": "string"
- },
- "url": {
+ }
+ },
+ "type": "object"
+ },
+ "formula1.JSONDatasetOption": {
+ "properties": {
+ "editorialSessionType": {
+ "example": "Race",
"type": "string"
},
- "win_rate_percent": {
- "example": 46,
- "type": "integer"
+ "isAvailable": {
+ "example": true,
+ "type": "boolean"
},
- "wins": {
- "example": 228,
- "type": "integer"
+ "isSessionResult": {
+ "example": true,
+ "type": "boolean"
},
- "world_ranking": {
- "example": 69,
- "type": "integer"
+ "text": {
+ "example": "Race Result",
+ "type": "string"
},
- "youtube": {
+ "value": {
+ "example": "race?meeting=1299",
"type": "string"
}
},
"type": "object"
},
- "gosugamers.RankRegion": {
+ "formula1.JSONDriverAssemblyResponse": {
"properties": {
- "id": {
- "example": 33,
+ "count": {
+ "description": "Count is the number of rows in this response.",
+ "example": 23,
"type": "integer"
},
- "name": {
- "example": "EMEA",
+ "data": {
+ "description": "Data is the upstream JSON payload, unchanged.",
+ "type": "object"
+ },
+ "fetched_at": {
+ "description": "FetchedAt is the UTC fetch timestamp in RFC3339.",
+ "example": "2026-11-09T10:30:00Z",
+ "type": "string"
+ },
+ "params": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Params echoes the validated selectors used for the read.",
+ "type": "object"
+ },
+ "resource": {
+ "description": "Resource is the upstream resource family, such as fom-results.",
+ "example": "fom-results",
+ "type": "string"
+ },
+ "source_url": {
+ "description": "SourceURL is the upstream page that produced the response.",
+ "example": "https://www.formula1.com/en/results/2026/races",
"type": "string"
}
},
"type": "object"
},
- "gosugamers.RankedTeam": {
+ "formula1.JSONDriverOption": {
"properties": {
- "elo": {
- "example": 2078.5,
- "type": "number"
+ "driverAvatarImage": {
+ "$ref": "#/definitions/formula1.JSONImage"
},
- "id": {
- "example": "51203",
+ "driverFirstName": {
+ "example": "Kimi",
"type": "string"
},
- "logo_url": {
+ "driverLastName": {
+ "example": "Antonelli",
"type": "string"
},
- "name": {
- "example": "100 Thieves",
+ "driverNameFormat": {
+ "example": "LastNameIsPrimary",
"type": "string"
},
- "previous_rank": {
- "example": 2,
- "type": "integer"
- },
- "rank": {
- "example": 1,
- "type": "integer"
- },
- "rank_change": {
- "example": 1,
- "type": "integer"
+ "driverShortName": {
+ "example": "K. Antonelli",
+ "type": "string"
},
- "rank_change_name": {
- "example": "up",
+ "teamAccessibleColourCode": {
+ "example": "067e6a",
"type": "string"
},
- "slug": {
- "example": "100-thieves",
+ "teamColourCode": {
+ "example": "27f4d2",
"type": "string"
},
- "tag": {
- "example": "100T",
+ "text": {
+ "example": "Antonelli, Kimi",
"type": "string"
},
- "url": {
+ "value": {
+ "example": "ANDANT01",
"type": "string"
}
},
"type": "object"
},
- "gosugamers.RankingsResponse": {
+ "formula1.JSONDriversResponse": {
"properties": {
"count": {
- "example": 10,
- "type": "integer"
- },
- "fetched_at": {
- "example": "2026-10-27T10:00:00Z",
- "type": "string"
- },
- "game": {
- "example": "valorant",
- "type": "string"
- },
- "page": {
- "example": 1,
- "type": "integer"
- },
- "page_size": {
- "example": 10,
- "type": "integer"
- },
- "q": {
- "example": "Te",
- "type": "string"
- },
- "region_id": {
- "example": 0,
+ "description": "Count is the number of rows in this response.",
+ "example": 23,
"type": "integer"
},
- "regions": {
+ "drivers": {
"items": {
- "$ref": "#/definitions/gosugamers.RankRegion"
+ "$ref": "#/definitions/formula1.JSONDriverOption"
},
"type": "array"
},
- "source_url": {
- "example": "https://www.gosugamers.net/valorant/matches",
+ "fetched_at": {
+ "description": "FetchedAt is the UTC fetch timestamp in RFC3339.",
+ "example": "2026-11-09T10:30:00Z",
"type": "string"
},
- "teams": {
- "items": {
- "$ref": "#/definitions/gosugamers.RankedTeam"
- },
- "type": "array"
- },
- "total_pages": {
- "example": 39,
+ "season": {
+ "example": 2026,
"type": "integer"
},
- "total_rows": {
- "example": 384,
- "type": "integer"
+ "source_url": {
+ "description": "SourceURL is the upstream page that produced the response.",
+ "example": "https://www.formula1.com/en/results/2026/races",
+ "type": "string"
}
},
"type": "object"
},
- "gosugamers.RosterPlayer": {
+ "formula1.JSONEditorialResponse": {
"properties": {
- "country": {
- "example": "Taiwan",
- "type": "string"
- },
- "country_code": {
- "example": "TW",
- "type": "string"
+ "count": {
+ "description": "Count is the number of rows in this response.",
+ "example": 23,
+ "type": "integer"
},
- "id": {
- "example": "368742",
- "type": "string"
+ "data": {
+ "description": "Data is the upstream JSON payload, unchanged.",
+ "type": "object"
},
- "joined_at": {
- "example": "2024-01-16T16:00:00Z",
+ "fetched_at": {
+ "description": "FetchedAt is the UTC fetch timestamp in RFC3339.",
+ "example": "2026-11-09T10:30:00Z",
"type": "string"
},
- "left_at": {
- "type": "string"
+ "params": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Params echoes the validated selectors used for the read.",
+ "type": "object"
},
- "name": {
- "example": "Spring",
+ "resource": {
+ "description": "Resource is the upstream resource family, such as fom-results.",
+ "example": "fom-results",
"type": "string"
},
- "slug": {
- "example": "spring-2",
+ "source_url": {
+ "description": "SourceURL is the upstream page that produced the response.",
+ "example": "https://www.formula1.com/en/results/2026/races",
"type": "string"
}
},
"type": "object"
},
- "gosugamers.StageGroup": {
+ "formula1.JSONEventTrackerResponse": {
"properties": {
- "format": {
- "example": "Knockout",
- "type": "string"
+ "count": {
+ "description": "Count is the number of rows in this response.",
+ "example": 23,
+ "type": "integer"
},
- "id": {
- "example": "71594",
- "type": "string"
+ "data": {
+ "description": "Data is the upstream JSON payload, unchanged.",
+ "type": "object"
},
- "name": {
- "example": "Group C",
+ "fetched_at": {
+ "description": "FetchedAt is the UTC fetch timestamp in RFC3339.",
+ "example": "2026-11-09T10:30:00Z",
"type": "string"
},
- "participant_count": {
- "example": 4,
- "type": "integer"
- },
- "participants": {
- "items": {
- "$ref": "#/definitions/gosugamers.Participant"
+ "params": {
+ "additionalProperties": {
+ "type": "string"
},
- "type": "array"
+ "description": "Params echoes the validated selectors used for the read.",
+ "type": "object"
},
- "result_type": {
- "example": "Bracket",
+ "resource": {
+ "description": "Resource is the upstream resource family, such as fom-results.",
+ "example": "fom-results",
"type": "string"
},
- "start_time": {
- "example": "2026-09-24T09:00:00Z",
+ "source_url": {
+ "description": "SourceURL is the upstream page that produced the response.",
+ "example": "https://www.formula1.com/en/results/2026/races",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "formula1.JSONImage": {
+ "properties": {
+ "default_image": {
"type": "string"
},
- "status": {
- "example": "COMPLETED",
+ "public_id": {
+ "example": "common/f1/2026/mercedes/2026mercedeslogowhite",
"type": "string"
}
},
"type": "object"
},
- "gosugamers.StageGroupsResponse": {
+ "formula1.JSONMeetingDatasetsResponse": {
"properties": {
"count": {
- "example": 5,
+ "description": "Count is the number of rows in this response.",
+ "example": 23,
"type": "integer"
},
- "fetched_at": {
- "example": "2026-10-27T10:00:00Z",
- "type": "string"
- },
- "groups": {
+ "datasets": {
"items": {
- "$ref": "#/definitions/gosugamers.StageGroup"
+ "$ref": "#/definitions/formula1.JSONDatasetOption"
},
"type": "array"
},
- "source_url": {
- "example": "https://www.gosugamers.net/valorant/matches",
+ "fetched_at": {
+ "description": "FetchedAt is the UTC fetch timestamp in RFC3339.",
+ "example": "2026-11-09T10:30:00Z",
"type": "string"
},
- "stage_id": {
- "example": "28413",
- "type": "string"
+ "meeting_id": {
+ "example": 1299,
+ "type": "integer"
},
- "stage_name": {
- "example": "Main Event",
- "type": "string"
+ "season": {
+ "example": 2026,
+ "type": "integer"
},
- "tournament_id": {
- "example": "63147",
+ "source_url": {
+ "description": "SourceURL is the upstream page that produced the response.",
+ "example": "https://www.formula1.com/en/results/2026/races",
"type": "string"
}
},
"type": "object"
},
- "gosugamers.StageInfo": {
+ "formula1.JSONMeetingOption": {
"properties": {
- "id": {
- "example": "28500",
- "type": "string"
- },
- "live": {
+ "isDefault": {
"example": true,
"type": "boolean"
},
- "name": {
- "example": "Main Event",
+ "meetingCountryCode": {
+ "example": "BRA",
"type": "string"
},
- "order": {
- "example": 1,
- "type": "integer"
+ "meetingIsoCountryName": {
+ "example": "Brazil",
+ "type": "string"
},
- "status": {
- "example": "Progressing",
+ "text": {
+ "example": "Brazil",
"type": "string"
+ },
+ "value": {
+ "example": 1299,
+ "type": "integer"
}
},
"type": "object"
},
- "gosugamers.Stream": {
+ "formula1.JSONMeetingsResponse": {
"properties": {
- "language": {
- "example": "zh",
- "type": "string"
- },
- "live": {
- "example": true,
- "type": "boolean"
- },
- "platform_id": {
- "example": 11,
+ "count": {
+ "description": "Count is the number of rows in this response.",
+ "example": 23,
"type": "integer"
},
- "thumbnail_url": {
+ "fetched_at": {
+ "description": "FetchedAt is the UTC fetch timestamp in RFC3339.",
+ "example": "2026-11-09T10:30:00Z",
"type": "string"
},
- "title": {
- "example": "VALORANT Champions Tour CN",
- "type": "string"
+ "meetings": {
+ "items": {
+ "$ref": "#/definitions/formula1.JSONMeetingOption"
+ },
+ "type": "array"
},
- "viewer_count": {
- "example": 534,
+ "season": {
+ "example": 2026,
"type": "integer"
+ },
+ "source_url": {
+ "description": "SourceURL is the upstream page that produced the response.",
+ "example": "https://www.formula1.com/en/results/2026/races",
+ "type": "string"
}
},
"type": "object"
},
- "gosugamers.Team": {
+ "formula1.JSONRaceAssemblyResponse": {
"properties": {
- "id": {
- "example": "51203",
- "type": "string"
+ "count": {
+ "description": "Count is the number of rows in this response.",
+ "example": 23,
+ "type": "integer"
},
- "logo_url": {
- "type": "string"
+ "data": {
+ "description": "Data is the upstream JSON payload, unchanged.",
+ "type": "object"
},
- "name": {
- "example": "Wolves Esports",
+ "fetched_at": {
+ "description": "FetchedAt is the UTC fetch timestamp in RFC3339.",
+ "example": "2026-11-09T10:30:00Z",
"type": "string"
},
- "score": {
- "example": 2,
- "type": "integer"
+ "params": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Params echoes the validated selectors used for the read.",
+ "type": "object"
},
- "slug": {
- "example": "wolves-esports",
+ "resource": {
+ "description": "Resource is the upstream resource family, such as fom-results.",
+ "example": "fom-results",
"type": "string"
},
- "tag": {
- "example": "WOL",
+ "source_url": {
+ "description": "SourceURL is the upstream page that produced the response.",
+ "example": "https://www.formula1.com/en/results/2026/races",
"type": "string"
- },
- "winner": {
- "example": true,
- "type": "boolean"
}
},
"type": "object"
},
- "gosugamers.TeamDetail": {
+ "formula1.JSONResultsResponse": {
"properties": {
- "about": {
- "type": "string"
+ "count": {
+ "description": "Count is the number of rows in this response.",
+ "example": 23,
+ "type": "integer"
},
- "country": {
- "example": "China",
- "type": "string"
+ "data": {
+ "description": "Data is the upstream JSON payload, unchanged.",
+ "type": "object"
},
- "country_code": {
- "example": "CN",
+ "fetched_at": {
+ "description": "FetchedAt is the UTC fetch timestamp in RFC3339.",
+ "example": "2026-11-09T10:30:00Z",
"type": "string"
},
- "draws": {
- "example": 0,
- "type": "integer"
+ "params": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Params echoes the validated selectors used for the read.",
+ "type": "object"
},
- "earnings_usd": {
- "example": 132662.49,
- "type": "number"
+ "resource": {
+ "description": "Resource is the upstream resource family, such as fom-results.",
+ "example": "fom-results",
+ "type": "string"
},
- "elo_rating": {
- "example": 952,
+ "source_url": {
+ "description": "SourceURL is the upstream page that produced the response.",
+ "example": "https://www.formula1.com/en/results/2026/races",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "formula1.JSONSeasonAwardResponse": {
+ "properties": {
+ "count": {
+ "description": "Count is the number of rows in this response.",
+ "example": 23,
"type": "integer"
},
- "facebook": {
- "type": "string"
+ "data": {
+ "description": "Data is the upstream JSON payload, unchanged.",
+ "type": "object"
},
"fetched_at": {
- "example": "2026-10-27T10:00:00Z",
+ "description": "FetchedAt is the UTC fetch timestamp in RFC3339.",
+ "example": "2026-11-09T10:30:00Z",
"type": "string"
},
- "game": {
- "example": "valorant",
- "type": "string"
+ "params": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Params echoes the validated selectors used for the read.",
+ "type": "object"
},
- "id": {
- "example": "51203",
+ "resource": {
+ "description": "Resource is the upstream resource family, such as fom-results.",
+ "example": "fom-results",
"type": "string"
},
- "logo_url": {
+ "source_url": {
+ "description": "SourceURL is the upstream page that produced the response.",
+ "example": "https://www.formula1.com/en/results/2026/races",
"type": "string"
- },
- "losses": {
- "example": 55,
+ }
+ },
+ "type": "object"
+ },
+ "formula1.JSONTeamAssemblyResponse": {
+ "properties": {
+ "count": {
+ "description": "Count is the number of rows in this response.",
+ "example": 23,
"type": "integer"
},
- "name": {
- "example": "Wolves Esports",
- "type": "string"
+ "data": {
+ "description": "Data is the upstream JSON payload, unchanged.",
+ "type": "object"
},
- "region": {
- "example": "China",
+ "fetched_at": {
+ "description": "FetchedAt is the UTC fetch timestamp in RFC3339.",
+ "example": "2026-11-09T10:30:00Z",
"type": "string"
},
- "region_ranking": {
- "example": 16,
- "type": "integer"
- },
- "roster": {
- "items": {
- "$ref": "#/definitions/gosugamers.RosterPlayer"
+ "params": {
+ "additionalProperties": {
+ "type": "string"
},
- "type": "array"
+ "description": "Params echoes the validated selectors used for the read.",
+ "type": "object"
},
- "slug": {
- "example": "wolves-esports",
+ "resource": {
+ "description": "Resource is the upstream resource family, such as fom-results.",
+ "example": "fom-results",
"type": "string"
},
"source_url": {
- "example": "https://www.gosugamers.net/valorant/matches",
+ "description": "SourceURL is the upstream page that produced the response.",
+ "example": "https://www.formula1.com/en/results/2026/races",
"type": "string"
- },
- "streak": {
- "example": -1,
- "type": "integer"
- },
- "tag": {
- "example": "WOL",
+ }
+ },
+ "type": "object"
+ },
+ "formula1.Meeting": {
+ "properties": {
+ "date": {
+ "description": "Date is the raw weekend date text the upstream table renders.",
+ "example": "08 Nov",
"type": "string"
},
- "twitter": {
+ "grand_prix": {
+ "description": "GrandPrix is the short Grand Prix name the table renders.",
+ "example": "Brazil",
"type": "string"
},
- "upcoming_matches": {
- "items": {
- "$ref": "#/definitions/gosugamers.MatchSummary"
- },
- "type": "array"
+ "laps": {
+ "description": "Laps is the winner's completed lap count.",
+ "example": 71,
+ "type": "integer"
},
- "url": {
+ "meeting_id": {
+ "description": "MeetingID is the site's numeric meeting key, the only stable race id.",
+ "example": 1299,
+ "type": "integer"
+ },
+ "results_slug": {
+ "description": "ResultsSlug is the results-archive slug for the meeting. It is a\ndifferent slug space from the race-hub event slug.",
+ "example": "brazil",
"type": "string"
},
- "win_rate_percent": {
- "example": 41,
+ "round": {
+ "description": "Round is the 1-based championship round in the season's results order.",
+ "example": 20,
"type": "integer"
},
- "wins": {
- "example": 39,
- "type": "integer"
+ "team": {
+ "description": "Team is the winner's team.",
+ "example": "McLaren",
+ "type": "string"
},
- "world_ranking": {
- "example": 69,
- "type": "integer"
+ "time": {
+ "description": "Time is the winner's race time.",
+ "example": "1:35:23.504",
+ "type": "string"
},
- "youtube": {
+ "winner": {
+ "description": "Winner is the race winner's name, empty until the race runs.",
+ "example": "Lando Norris",
+ "type": "string"
+ },
+ "winner_tla": {
+ "description": "WinnerTLA is the winner's three-letter abbreviation.",
+ "example": "NOR",
"type": "string"
}
},
"type": "object"
},
- "gosugamers.TeamResultsResponse": {
+ "formula1.MeetingsResponse": {
"properties": {
"count": {
- "example": 10,
+ "description": "Count is the number of rows in this response.",
+ "example": 23,
"type": "integer"
},
"fetched_at": {
- "example": "2026-10-27T10:00:00Z",
+ "description": "FetchedAt is the UTC fetch timestamp in RFC3339.",
+ "example": "2026-11-09T10:30:00Z",
"type": "string"
},
- "matches": {
+ "meetings": {
+ "description": "Meetings is the round-ordered meeting list.",
"items": {
- "$ref": "#/definitions/gosugamers.MatchSummary"
+ "$ref": "#/definitions/formula1.Meeting"
},
"type": "array"
},
- "page": {
- "example": 1,
- "type": "integer"
- },
- "page_size": {
- "example": 10,
+ "season": {
+ "description": "Season is the season the meetings belong to.",
+ "example": 2026,
"type": "integer"
},
"source_url": {
- "example": "https://www.gosugamers.net/valorant/matches",
- "type": "string"
- },
- "team_id": {
- "example": "37547",
+ "description": "SourceURL is the upstream page that produced the response.",
+ "example": "https://www.formula1.com/en/results/2026/races",
"type": "string"
- },
- "total_pages": {
- "example": 23,
- "type": "integer"
- },
- "total_rows": {
- "example": 229,
- "type": "integer"
}
},
"type": "object"
},
- "gosugamers.TeamStint": {
+ "formula1.RaceCalendarResponse": {
"properties": {
- "joined_at": {
- "example": "2024-01-16T16:00:00Z",
- "type": "string"
- },
- "left_at": {
- "type": "string"
- },
- "name": {
- "example": "Wolves Esports",
- "type": "string"
+ "count": {
+ "description": "Count is the number of rows in this response.",
+ "example": 23,
+ "type": "integer"
},
- "position": {
- "example": "Member",
+ "fetched_at": {
+ "description": "FetchedAt is the UTC fetch timestamp in RFC3339.",
+ "example": "2026-11-09T10:30:00Z",
"type": "string"
},
- "slug": {
- "example": "wolves-esports",
- "type": "string"
+ "meetings": {
+ "description": "Meetings is the calendar in page order. Completed status is derived\nfrom the card's own chequered-flag badge; winners come from the\nseason-results route.",
+ "items": {
+ "$ref": "#/definitions/formula1.CalendarMeeting"
+ },
+ "type": "array"
},
- "tag": {
- "example": "WOL",
- "type": "string"
+ "season": {
+ "description": "Season is the season the calendar belongs to.",
+ "example": 2026,
+ "type": "integer"
},
- "team_id": {
- "example": "51203",
+ "source_url": {
+ "description": "SourceURL is the upstream page that produced the response.",
+ "example": "https://www.formula1.com/en/results/2026/races",
"type": "string"
}
},
"type": "object"
},
- "gosugamers.TournamentDetail": {
+ "formula1.RaceHubResponse": {
"properties": {
- "country": {
- "example": "China",
+ "address": {
+ "example": "São Paulo, Brazil",
"type": "string"
},
+ "circuit": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/formula1.Circuit"
+ }
+ ],
+ "description": "Circuit is the circuit facts block."
+ },
+ "count": {
+ "description": "Count is the number of rows in this response.",
+ "example": 23,
+ "type": "integer"
+ },
"description": {
+ "description": "Description is the hub's own summary line.",
"type": "string"
},
- "fetched_at": {
- "example": "2026-10-27T10:00:00Z",
+ "end_date": {
+ "example": "2026-11-08T23:59:59.999Z",
"type": "string"
},
- "game": {
- "example": "valorant",
+ "event_slug": {
+ "description": "EventSlug is the requested race-hub slug.",
+ "example": "brazil",
"type": "string"
},
- "game_name": {
- "example": "Valorant",
+ "event_status": {
+ "description": "EventStatus is the schema.org event status URL.",
+ "example": "https://schema.org/EventScheduled",
"type": "string"
},
- "image_url": {
+ "fetched_at": {
+ "description": "FetchedAt is the UTC fetch timestamp in RFC3339.",
+ "example": "2026-11-09T10:30:00Z",
"type": "string"
},
- "lan": {
- "example": true,
- "type": "boolean"
+ "location": {
+ "description": "Location and Address are the host city and country.",
+ "example": "São Paulo",
+ "type": "string"
},
- "prize_pool_usd": {
- "example": 500000,
- "type": "number"
+ "name": {
+ "description": "Name is the official Grand Prix name from the structured data.",
+ "example": "FORMULA 1 MSC CRUISES GRANDE PRÊMIO DE SÃO PAULO 2026",
+ "type": "string"
},
- "source_url": {
- "example": "https://www.gosugamers.net/valorant/matches",
+ "official_name": {
+ "description": "OfficialName is the card's official name when the hub renders one.",
"type": "string"
},
- "sponsors": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "season": {
+ "description": "Season is the season the weekend belongs to.",
+ "example": 2026,
+ "type": "integer"
},
- "stages": {
+ "sessions": {
+ "description": "Sessions is the published session schedule.",
"items": {
- "$ref": "#/definitions/gosugamers.StageInfo"
+ "$ref": "#/definitions/formula1.HubSession"
},
"type": "array"
},
- "start_time": {
- "example": "2026-10-20T04:00:00Z",
+ "source_url": {
+ "description": "SourceURL is the upstream page that produced the response.",
+ "example": "https://www.formula1.com/en/results/2026/races",
"type": "string"
},
- "status": {
- "example": "Live",
+ "start_date": {
+ "description": "StartDate and EndDate are the weekend bounds from the structured\ndata.",
+ "example": "2026-11-06T00:00:00.000Z",
"type": "string"
},
- "tournament": {
- "$ref": "#/definitions/gosugamers.TournamentRef"
- },
- "upcoming_matches": {
+ "top_results": {
+ "description": "TopResults is the completed race's top-five table; it is empty\nbefore the race runs.",
"items": {
- "$ref": "#/definitions/gosugamers.MatchSummary"
+ "$ref": "#/definitions/formula1.HubResultRow"
},
"type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "formula1.Season": {
+ "properties": {
+ "current": {
+ "description": "Current marks the season the site is currently showing.",
+ "example": true,
+ "type": "boolean"
},
- "venue": {
+ "season": {
+ "description": "Season is the four-digit championship year.",
+ "example": 2026,
+ "type": "integer"
+ },
+ "url": {
+ "description": "URL is the season's results page.",
+ "example": "https://www.formula1.com/en/results/2026/races",
"type": "string"
}
},
"type": "object"
},
- "gosugamers.TournamentParticipantsResponse": {
+ "formula1.SeasonAwardsResponse": {
"properties": {
+ "award": {
+ "description": "Award is the requested canonical award value.",
+ "example": "pole-positions",
+ "type": "string"
+ },
+ "award_label": {
+ "description": "AwardLabel is the page's own award title.",
+ "example": "Pirelli Pole Position",
+ "type": "string"
+ },
"count": {
- "example": 16,
+ "description": "Count is the number of rows in this response.",
+ "example": 23,
"type": "integer"
},
"fetched_at": {
- "example": "2026-10-27T10:00:00Z",
- "type": "string"
- },
- "game": {
- "example": "valorant",
+ "description": "FetchedAt is the UTC fetch timestamp in RFC3339.",
+ "example": "2026-11-09T10:30:00Z",
"type": "string"
},
- "participants": {
+ "rounds": {
+ "description": "Rounds is the round-ordered winner list.",
"items": {
- "$ref": "#/definitions/gosugamers.Participant"
+ "$ref": "#/definitions/formula1.AwardRound"
},
"type": "array"
},
- "source_url": {
- "example": "https://www.gosugamers.net/valorant/matches",
- "type": "string"
+ "season": {
+ "description": "Season is the season the award belongs to.",
+ "example": 2026,
+ "type": "integer"
},
- "tournament_id": {
- "example": "63147",
+ "source_url": {
+ "description": "SourceURL is the upstream page that produced the response.",
+ "example": "https://www.formula1.com/en/results/2026/races",
"type": "string"
}
},
"type": "object"
},
- "gosugamers.TournamentRef": {
+ "formula1.SeasonRange": {
"properties": {
- "id": {
- "example": "63208",
- "type": "string"
+ "max": {
+ "type": "integer"
},
- "name": {
- "example": "VCT Threshold China 2026",
- "type": "string"
+ "min": {
+ "type": "integer"
},
- "slug": {
- "example": "vct-threshold-china-2026",
+ "resource": {
"type": "string"
}
},
"type": "object"
},
- "gosugamers.TournamentRow": {
+ "formula1.SeasonResult": {
"properties": {
- "featured": {
- "example": false,
- "type": "boolean"
- },
- "game": {
- "example": "valorant",
- "type": "string"
- },
- "game_name": {
- "example": "VALORANT",
- "type": "string"
- },
- "id": {
- "example": "63208",
+ "date": {
+ "description": "Date is the raw date text the upstream table renders.",
+ "example": "08 Nov",
"type": "string"
},
- "image_url": {
+ "grand_prix": {
+ "description": "GrandPrix is the short Grand Prix name.",
+ "example": "Brazil",
"type": "string"
},
- "name": {
- "example": "VCT Threshold China 2026",
- "type": "string"
+ "laps": {
+ "description": "Laps is the winner's completed lap count.",
+ "example": 71,
+ "type": "integer"
},
- "participant_count": {
- "example": 8,
+ "meeting_id": {
+ "description": "MeetingID is the site's numeric meeting key.",
+ "example": 1299,
"type": "integer"
},
- "prize_currency": {
- "example": "USD",
+ "results_slug": {
+ "description": "ResultsSlug is the results-archive slug for the meeting.",
+ "example": "brazil",
"type": "string"
},
- "prize_pool": {
- "example": 500000,
- "type": "number"
- },
- "prize_pool_usd": {
- "example": 500000,
- "type": "number"
+ "round": {
+ "description": "Round is the 1-based championship round.",
+ "example": 20,
+ "type": "integer"
},
- "slug": {
- "example": "vct-threshold-china-2026",
+ "team": {
+ "description": "Team is the winner's team.",
+ "example": "McLaren",
"type": "string"
},
- "start_time": {
- "example": "2026-10-20T04:00:00Z",
+ "time": {
+ "description": "Time is the winner's race time.",
+ "example": "1:35:23.504",
"type": "string"
},
- "status": {
- "example": "Ongoing",
+ "winner": {
+ "description": "Winner is the race winner's name.",
+ "example": "Lando Norris",
"type": "string"
},
- "url": {
+ "winner_tla": {
+ "description": "WinnerTLA is the winner's three-letter abbreviation.",
+ "example": "NOR",
"type": "string"
}
},
"type": "object"
},
- "gosugamers.TournamentTalentsResponse": {
+ "formula1.SeasonResultsResponse": {
"properties": {
"count": {
- "example": 10,
+ "description": "Count is the number of rows in this response.",
+ "example": 23,
"type": "integer"
},
"fetched_at": {
- "example": "2026-10-27T10:00:00Z",
- "type": "string"
- },
- "source_url": {
- "example": "https://www.gosugamers.net/valorant/matches",
+ "description": "FetchedAt is the UTC fetch timestamp in RFC3339.",
+ "example": "2026-11-09T10:30:00Z",
"type": "string"
},
- "talents": {
+ "results": {
+ "description": "Results is the round-ordered result list; a season that has not\nstarted yet is a valid empty list.",
"items": {
- "$ref": "#/definitions/gosugamers.BroadcastTalent"
+ "$ref": "#/definitions/formula1.SeasonResult"
},
"type": "array"
},
- "tournament_id": {
- "example": "63147",
+ "season": {
+ "description": "Season is the season the rows belong to.",
+ "example": 2026,
+ "type": "integer"
+ },
+ "source_url": {
+ "description": "SourceURL is the upstream page that produced the response.",
+ "example": "https://www.formula1.com/en/results/2026/races",
"type": "string"
}
},
"type": "object"
},
- "gosugamers.TournamentsResponse": {
+ "formula1.SeasonsResponse": {
"properties": {
"count": {
- "example": 10,
+ "description": "Count is the number of rows in this response.",
+ "example": 23,
+ "type": "integer"
+ },
+ "current_season": {
+ "description": "CurrentSeason is the season the site currently defaults to.",
+ "example": 2026,
"type": "integer"
},
"fetched_at": {
- "example": "2026-10-27T10:00:00Z",
+ "description": "FetchedAt is the UTC fetch timestamp in RFC3339.",
+ "example": "2026-11-09T10:30:00Z",
"type": "string"
},
- "game": {
- "example": "valorant",
+ "seasons": {
+ "description": "Seasons is the complete season list, newest first.",
+ "items": {
+ "$ref": "#/definitions/formula1.Season"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "description": "SourceURL is the upstream page that produced the response.",
+ "example": "https://www.formula1.com/en/results/2026/races",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "formula1.SessionEnum": {
+ "properties": {
+ "label": {
"type": "string"
},
- "page": {
+ "value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "formula1.SessionResult": {
+ "properties": {
+ "avg_speed": {
+ "description": "AvgSpeed is the fastest lap's average speed in km/h.",
+ "example": 213.407,
+ "type": "number"
+ },
+ "driver": {
+ "description": "Driver is the driver's full name.",
+ "example": "Lando Norris",
+ "type": "string"
+ },
+ "driver_tla": {
+ "description": "DriverTLA is the driver's three-letter abbreviation.",
+ "example": "NOR",
+ "type": "string"
+ },
+ "gap": {
+ "description": "Gap is the practice session gap to the fastest lap.",
+ "example": "+0.253s",
+ "type": "string"
+ },
+ "lap": {
+ "description": "Lap is the lap the pit stop or fastest lap happened on.",
+ "example": 55,
+ "type": "integer"
+ },
+ "laps": {
+ "description": "Laps is the completed or scheduled lap count.",
+ "example": 71,
+ "type": "integer"
+ },
+ "number": {
+ "description": "Number is the driver's car number.",
"example": 1,
"type": "integer"
},
- "page_size": {
- "example": 10,
+ "points": {
+ "description": "Points is the championship points the row scored.",
+ "example": 25,
+ "type": "number"
+ },
+ "position": {
+ "description": "Position is the numeric classification, when the cell is numeric.",
+ "example": 1,
"type": "integer"
},
- "q": {
- "example": "VCT",
+ "position_text": {
+ "description": "PositionText carries a non-numeric classification such as NC, DNF,\nDNS or DSQ; the numeric fields stay null for those rows.",
+ "example": "NC",
"type": "string"
},
- "source_url": {
- "example": "https://www.gosugamers.net/valorant/matches",
+ "q1": {
+ "description": "Q1, Q2 and Q3 are the qualifying segment times; a driver who did not\nset a segment time keeps an empty string.",
+ "example": "1:30.939",
"type": "string"
},
- "state": {
- "enum": [
- "all",
- "ongoing",
- "upcoming",
- "past"
- ],
- "example": "all",
+ "q2": {
+ "example": "1:29.207",
"type": "string"
},
- "total_pages": {
- "example": 152,
- "type": "integer"
+ "q3": {
+ "example": "1:27.470",
+ "type": "string"
},
- "total_rows": {
- "example": 1511,
+ "stop_time": {
+ "description": "StopTime is a pit stop's own duration.",
+ "example": "24.394",
+ "type": "string"
+ },
+ "stops": {
+ "description": "Stops is the pit-stop sequence number on the pit-stop summary.",
+ "example": 1,
"type": "integer"
},
- "tournaments": {
- "items": {
- "$ref": "#/definitions/gosugamers.TournamentRow"
- },
- "type": "array"
+ "team": {
+ "description": "Team is the constructor the row shows.",
+ "example": "McLaren",
+ "type": "string"
+ },
+ "time": {
+ "description": "Time is the classified time, retired text, practice time or grid time.",
+ "example": "1:35:23.504",
+ "type": "string"
+ },
+ "time_of_day": {
+ "description": "TimeOfDay is the clock time of a pit stop or fastest lap.",
+ "example": "15:17:01",
+ "type": "string"
+ },
+ "total_time": {
+ "description": "TotalTime is a pit stop's cumulative time.",
+ "example": "24.394",
+ "type": "string"
}
},
"type": "object"
},
- "gq.AuthorArticle": {
+ "formula1.SessionResultsResponse": {
"properties": {
- "image_url": {
+ "circuit": {
+ "description": "Circuit is the circuit and city line the page renders.",
+ "example": "Autódromo José Carlos Pace, São Paulo",
"type": "string"
},
- "published_at": {
- "type": "string"
+ "count": {
+ "description": "Count is the number of rows in this response.",
+ "example": 23,
+ "type": "integer"
},
- "summary": {
+ "date_text": {
+ "description": "DateText is the raw weekend date text the page renders.",
+ "example": "06 - 08 Nov 2026",
"type": "string"
},
- "title": {
+ "fetched_at": {
+ "description": "FetchedAt is the UTC fetch timestamp in RFC3339.",
+ "example": "2026-11-09T10:30:00Z",
"type": "string"
},
- "url": {
+ "grand_prix": {
+ "description": "GrandPrix is the official Grand Prix name from the page heading.",
+ "example": "FORMULA 1 MSC CRUISES GRANDE PRÊMIO DE SÃO PAULO 2026",
"type": "string"
- }
- },
- "type": "object"
- },
- "gq.AuthorResponse": {
- "properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/gq.AuthorArticle"
- },
- "type": "array"
},
- "biography": {
+ "meeting_id": {
+ "description": "MeetingID is the numeric meeting key.",
+ "example": 1299,
+ "type": "integer"
+ },
+ "results": {
+ "description": "Results is the classified row list; a session the site has no data\nfor is a valid empty list.",
"items": {
- "type": "string"
+ "$ref": "#/definitions/formula1.SessionResult"
},
"type": "array"
},
- "has_next_page": {
- "type": "boolean"
+ "season": {
+ "description": "Season is the season the meeting belongs to.",
+ "example": 2026,
+ "type": "integer"
},
- "image_url": {
+ "session": {
+ "description": "Session is the requested canonical session value.",
+ "example": "race-result",
"type": "string"
},
- "job_title": {
+ "session_label": {
+ "description": "SessionLabel is the page's own session label, such as RACE RESULT.",
+ "example": "RACE RESULT",
"type": "string"
},
+ "source_url": {
+ "description": "SourceURL is the upstream page that produced the response.",
+ "example": "https://www.formula1.com/en/results/2026/races",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "formula1.Stat": {
+ "properties": {
"name": {
+ "description": "Name is the profile's own label, such as Season Points.",
+ "example": "Season Points",
"type": "string"
},
- "page": {
+ "value": {
+ "description": "Value is the rendered value, kept as text so ratios and suffixed\nvalues such as 1 (x9) survive unchanged.",
+ "example": "390",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "formula1.TeamGridResponse": {
+ "properties": {
+ "count": {
+ "description": "Count is the number of rows in this response.",
+ "example": 23,
"type": "integer"
},
- "slug": {
+ "fetched_at": {
+ "description": "FetchedAt is the UTC fetch timestamp in RFC3339.",
+ "example": "2026-11-09T10:30:00Z",
"type": "string"
},
- "social_links": {
+ "season": {
+ "description": "Season is the season the site's team grid page currently displays.",
+ "example": 2026,
+ "type": "integer"
+ },
+ "source_url": {
+ "description": "SourceURL is the upstream page that produced the response.",
+ "example": "https://www.formula1.com/en/results/2026/races",
+ "type": "string"
+ },
+ "teams": {
+ "description": "Teams is the current team grid.",
"items": {
- "type": "string"
+ "$ref": "#/definitions/formula1.GridTeam"
},
"type": "array"
- },
- "url": {
- "type": "string"
}
},
"type": "object"
},
- "grailed.CategoriesResponse": {
+ "formula1.TeamInfo": {
"properties": {
- "categories": {
+ "career_stats": {
+ "description": "CareerStats are the career statistics.",
"items": {
- "$ref": "#/definitions/grailed.FacetCount"
+ "$ref": "#/definitions/formula1.Stat"
},
"type": "array"
},
- "category_paths": {
+ "drivers": {
+ "description": "Drivers are the current drivers the profile lists.",
"items": {
- "$ref": "#/definitions/grailed.FacetCount"
+ "$ref": "#/definitions/formula1.DriverLink"
},
"type": "array"
},
- "colors": {
- "items": {
- "$ref": "#/definitions/grailed.FacetCount"
- },
- "type": "array"
+ "name": {
+ "description": "Name is the team name from the page title.",
+ "example": "Mercedes",
+ "type": "string"
},
- "conditions": {
- "items": {
- "$ref": "#/definitions/grailed.FacetCount"
- },
- "type": "array"
+ "season": {
+ "description": "Season is the season the season statistics describe.",
+ "example": 2026,
+ "type": "integer"
},
- "departments": {
+ "season_stats": {
+ "description": "SeasonStats are the current-season statistics.",
"items": {
- "$ref": "#/definitions/grailed.FacetCount"
+ "$ref": "#/definitions/formula1.Stat"
},
"type": "array"
},
- "fetched_at": {
+ "slug": {
+ "description": "Slug is the requested profile slug.",
+ "example": "mercedes",
"type": "string"
},
- "sizes": {
+ "team_stats": {
+ "description": "TeamStats are the profile facts such as base and team chief.",
"items": {
- "$ref": "#/definitions/grailed.FacetCount"
+ "$ref": "#/definitions/formula1.Stat"
},
"type": "array"
}
},
"type": "object"
},
- "grailed.CollectionListing": {
+ "formula1.TeamResponse": {
"properties": {
- "buy_now": {
- "type": "boolean"
- },
- "category_path": {
- "type": "string"
+ "count": {
+ "description": "Count is the number of rows in this response.",
+ "example": 23,
+ "type": "integer"
},
- "condition": {
+ "fetched_at": {
+ "description": "FetchedAt is the UTC fetch timestamp in RFC3339.",
+ "example": "2026-11-09T10:30:00Z",
"type": "string"
},
- "cover_photo_url": {
+ "source_url": {
+ "description": "SourceURL is the upstream page that produced the response.",
+ "example": "https://www.formula1.com/en/results/2026/races",
"type": "string"
},
- "currency": {
- "type": "string"
+ "team": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/formula1.TeamInfo"
+ }
+ ],
+ "description": "Team is the parsed profile."
+ }
+ },
+ "type": "object"
+ },
+ "formula1.TeamSeasonResultsResponse": {
+ "properties": {
+ "count": {
+ "description": "Count is the number of rows in this response.",
+ "example": 23,
+ "type": "integer"
},
- "department": {
+ "fetched_at": {
+ "description": "FetchedAt is the UTC fetch timestamp in RFC3339.",
+ "example": "2026-11-09T10:30:00Z",
"type": "string"
},
- "designers": {
+ "rounds": {
+ "description": "Rounds is the round-ordered points list.",
"items": {
- "type": "string"
+ "$ref": "#/definitions/formula1.TeamSeasonRound"
},
"type": "array"
},
- "follower_count": {
- "type": "integer"
- },
- "id": {
- "type": "integer"
- },
- "make_offer": {
- "type": "boolean"
- },
- "price": {
- "type": "number"
- },
- "seller_id": {
+ "season": {
+ "description": "Season is the season the rows belong to.",
+ "example": 2026,
"type": "integer"
},
- "seller_rating": {
- "type": "number"
- },
- "size": {
+ "source_url": {
+ "description": "SourceURL is the upstream page that produced the response.",
+ "example": "https://www.formula1.com/en/results/2026/races",
"type": "string"
},
- "sold": {
- "type": "boolean"
- },
- "sold_price": {
- "type": "number"
- },
- "title": {
+ "team": {
+ "description": "Team is the display name from the page title.",
+ "example": "MERCEDES",
"type": "string"
},
- "url": {
+ "team_slug": {
+ "description": "TeamSlug is the team value from the request; the upstream page treats\nit case-insensitively.",
+ "example": "mercedes",
"type": "string"
}
},
"type": "object"
},
- "grailed.CollectionResponse": {
+ "formula1.TeamSeasonRound": {
"properties": {
- "count": {
- "type": "integer"
- },
- "external_id": {
- "type": "string"
- },
- "fetched_at": {
+ "date": {
+ "description": "Date is the raw weekend date text the page renders.",
+ "example": "08 Mar",
"type": "string"
},
- "id": {
- "type": "integer"
- },
- "last_refreshed_at": {
+ "grand_prix": {
+ "description": "GrandPrix is the short Grand Prix name.",
+ "example": "Australia",
"type": "string"
},
- "listings": {
- "items": {
- "$ref": "#/definitions/grailed.CollectionListing"
- },
- "type": "array"
- },
- "source_url": {
- "type": "string"
+ "points": {
+ "description": "Points is the points the team scored in that round.",
+ "example": 43,
+ "type": "number"
},
- "title": {
- "type": "string"
+ "round": {
+ "description": "Round is the 1-based championship round.",
+ "example": 1,
+ "type": "integer"
}
},
"type": "object"
},
- "grailed.CollectionSummary": {
+ "formula1.TeamStanding": {
"properties": {
- "external_id": {
- "type": "string"
+ "points": {
+ "description": "Points is the season points total.",
+ "example": 652,
+ "type": "number"
},
- "id": {
+ "position": {
+ "description": "Position is the championship position.",
+ "example": 1,
"type": "integer"
},
- "last_refreshed_at": {
+ "team": {
+ "description": "Team is the constructor name.",
+ "example": "Mercedes",
"type": "string"
},
- "preview_photos": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "title": {
+ "team_slug": {
+ "description": "TeamSlug is the team identifier from the standings link.",
+ "example": "mercedes",
"type": "string"
},
- "top_designers": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "team_url": {
+ "description": "TeamURL is the constructor's season standings page.",
+ "type": "string"
}
},
"type": "object"
},
- "grailed.CollectionsResponse": {
+ "formula1.TeamStandingsResponse": {
"properties": {
- "collections": {
- "items": {
- "$ref": "#/definitions/grailed.CollectionSummary"
- },
- "type": "array"
+ "available": {
+ "description": "Available reports whether the site publishes a constructors' table\nfor the season. The constructors' championship started in 1958, so a\npre-1958 season is a valid response with no standings and\navailable=false; the page carries no explicit empty marker there.",
+ "example": true,
+ "type": "boolean"
},
"count": {
+ "description": "Count is the number of rows in this response.",
+ "example": 23,
"type": "integer"
},
"fetched_at": {
+ "description": "FetchedAt is the UTC fetch timestamp in RFC3339.",
+ "example": "2026-11-09T10:30:00Z",
"type": "string"
},
+ "season": {
+ "description": "Season is the season the standings belong to.",
+ "example": 2026,
+ "type": "integer"
+ },
"source_url": {
+ "description": "SourceURL is the upstream page that produced the response.",
+ "example": "https://www.formula1.com/en/results/2026/races",
"type": "string"
+ },
+ "standings": {
+ "description": "Standings is the position-ordered table.",
+ "items": {
+ "$ref": "#/definitions/formula1.TeamStanding"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "grailed.Designer": {
+ "fortune.AuthorArticle": {
"properties": {
- "departments": {
+ "authors": {
"items": {
"type": "string"
},
"type": "array"
},
- "id": {
- "type": "integer"
+ "published_at": {
+ "type": "string"
},
- "listings_count": {
- "type": "integer"
+ "section": {
+ "type": "string"
},
- "logo_url": {
+ "section_url": {
"type": "string"
},
- "name": {
+ "title": {
"type": "string"
},
- "slug": {
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "grailed.DesignersResponse": {
+ "fortune.AuthorResponse": {
"properties": {
- "count": {
- "type": "integer"
- },
- "designers": {
+ "articles": {
"items": {
- "$ref": "#/definitions/grailed.Designer"
+ "$ref": "#/definitions/fortune.AuthorArticle"
},
"type": "array"
},
- "fetched_at": {
+ "bio": {
"type": "string"
},
- "limit": {
- "type": "integer"
+ "email": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
},
"page": {
"type": "integer"
},
- "query": {
+ "slug": {
"type": "string"
},
- "source_url": {
- "type": "string"
+ "social_accounts": {
+ "items": {
+ "$ref": "#/definitions/fortune.AuthorSocialAccount"
+ },
+ "type": "array"
},
"total_pages": {
"type": "integer"
},
- "total_results": {
- "type": "integer"
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "grailed.FacetCount": {
+ "fortune.AuthorSocialAccount": {
"properties": {
- "count": {
- "type": "integer"
+ "platform": {
+ "type": "string"
},
- "value": {
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "grailed.Listing": {
+ "fortune.CompaniesResponse": {
"properties": {
- "bumped_at": {
+ "country": {
"type": "string"
},
- "buy_now": {
+ "has_more": {
"type": "boolean"
},
- "category": {
+ "industry": {
"type": "string"
},
- "category_path": {
+ "items": {
+ "items": {
+ "$ref": "#/definitions/fortune.CompanyListItem"
+ },
+ "type": "array"
+ },
+ "page": {
+ "type": "integer"
+ },
+ "per_page": {
+ "type": "integer"
+ },
+ "ranking": {
"type": "string"
},
- "color": {
+ "search": {
"type": "string"
},
- "condition": {
+ "total": {
+ "type": "integer"
+ },
+ "total_pages": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "fortune.CompanyBreadcrumb": {
+ "properties": {
+ "label": {
"type": "string"
},
- "cover_photo_url": {
+ "link": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "fortune.CompanyDataTable": {
+ "properties": {
+ "change_header": {
"type": "string"
},
- "created_at": {
+ "footnote": {
"type": "string"
},
- "currency": {
+ "title": {
"type": "string"
},
- "department": {
+ "value_header": {
"type": "string"
},
- "designers": {
+ "values": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/fortune.CompanyDataTableRow"
},
"type": "array"
- },
- "follower_count": {
- "type": "integer"
- },
- "id": {
- "type": "integer"
- },
- "location": {
+ }
+ },
+ "type": "object"
+ },
+ "fortune.CompanyDataTableRow": {
+ "properties": {
+ "change": {
"type": "string"
},
- "make_offer": {
- "type": "boolean"
- },
- "photo_count": {
- "type": "integer"
- },
- "price": {
- "type": "number"
- },
- "seller": {
- "$ref": "#/definitions/grailed.ListingSeller"
- },
- "size": {
+ "title": {
"type": "string"
},
- "sold": {
- "type": "boolean"
- },
- "sold_at": {
+ "value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "fortune.CompanyEarningReport": {
+ "properties": {
+ "slug": {
"type": "string"
- },
- "sold_price": {
- "type": "number"
},
"title": {
"type": "string"
@@ -101399,583 +107160,782 @@
},
"type": "object"
},
- "grailed.ListingDesigner": {
+ "fortune.CompanyFilterOption": {
"properties": {
- "departments": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "slug": {
+ "type": "string"
},
- "id": {
+ "title": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "fortune.CompanyFilterRange": {
+ "properties": {
+ "max": {
"type": "integer"
},
- "logo_url": {
+ "min": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "fortune.CompanyFilterRanking": {
+ "properties": {
+ "slug": {
"type": "string"
},
- "name": {
+ "title": {
"type": "string"
},
- "slug": {
- "type": "string"
+ "years": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "grailed.ListingResponse": {
+ "fortune.CompanyFiltersResponse": {
"properties": {
- "buy_now": {
- "type": "boolean"
+ "countries": {
+ "items": {
+ "$ref": "#/definitions/fortune.CompanyFilterOption"
+ },
+ "type": "array"
},
- "category": {
- "type": "string"
+ "employee_range": {
+ "$ref": "#/definitions/fortune.CompanyFilterRange"
},
- "category_path": {
- "type": "string"
+ "industries": {
+ "items": {
+ "$ref": "#/definitions/fortune.CompanyFilterOption"
+ },
+ "type": "array"
},
- "collaboration": {
- "type": "string"
+ "rankings": {
+ "items": {
+ "$ref": "#/definitions/fortune.CompanyFilterRanking"
+ },
+ "type": "array"
},
- "condition": {
+ "revenue_range": {
+ "$ref": "#/definitions/fortune.CompanyFilterRange"
+ }
+ },
+ "type": "object"
+ },
+ "fortune.CompanyInfo": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "fortune.CompanyListItem": {
+ "properties": {
+ "country": {
"type": "string"
},
- "created_at": {
+ "description": {
"type": "string"
},
- "currency": {
+ "name": {
"type": "string"
},
- "deleted": {
- "type": "boolean"
+ "revenues": {
+ "type": "string"
},
- "department": {
+ "slug": {
"type": "string"
},
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "fortune.CompanyRankingEntry": {
+ "properties": {
"description": {
"type": "string"
},
- "designers": {
- "items": {
- "$ref": "#/definitions/grailed.ListingDesigner"
- },
- "type": "array"
- },
- "dropped": {
- "type": "boolean"
+ "rank": {
+ "type": "integer"
},
- "exact_size": {
+ "slug": {
"type": "string"
},
- "expired": {
- "type": "boolean"
- },
- "fetched_at": {
+ "title": {
"type": "string"
},
- "follower_count": {
- "type": "integer"
+ "url": {
+ "type": "string"
},
- "id": {
+ "year": {
"type": "integer"
- },
- "make_offer": {
- "type": "boolean"
- },
- "measurements": {
+ }
+ },
+ "type": "object"
+ },
+ "fortune.CompanyResponse": {
+ "properties": {
+ "accolades": {},
+ "breadcrumbs": {
"items": {
- "$ref": "#/definitions/grailed.Measurement"
+ "$ref": "#/definitions/fortune.CompanyBreadcrumb"
},
"type": "array"
},
- "photos": {
+ "data_tables": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/fortune.CompanyDataTable"
},
"type": "array"
},
- "pretty_size": {
+ "description": {
"type": "string"
},
- "price": {
- "type": "number"
- },
- "price_updated_at": {
- "type": "string"
+ "earning_reports": {
+ "items": {
+ "$ref": "#/definitions/fortune.CompanyEarningReport"
+ },
+ "type": "array"
},
- "published": {
- "type": "boolean"
+ "executive_profiles": {},
+ "info": {
+ "$ref": "#/definitions/fortune.CompanyInfo"
},
- "seller": {
- "$ref": "#/definitions/grailed.SellerProfile"
+ "rankings": {
+ "items": {
+ "$ref": "#/definitions/fortune.CompanyRankingEntry"
+ },
+ "type": "array"
},
- "size": {
+ "slug": {
"type": "string"
},
- "sold": {
- "type": "boolean"
+ "social_accounts": {
+ "items": {
+ "$ref": "#/definitions/fortune.CompanySocialAccount"
+ },
+ "type": "array"
},
- "sold_at": {
+ "title": {
"type": "string"
},
- "sold_price": {
- "type": "number"
- },
- "sold_shipping_price": {
- "type": "number"
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "fortune.CompanySocialAccount": {
+ "properties": {
+ "account": {
+ "type": "string"
},
- "source_url": {
+ "platform": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "fortune.RankingFiltersResponse": {
+ "properties": {
+ "list": {
"type": "string"
},
- "styles": {
+ "search_fields": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/fortune.RankingSearchField"
},
"type": "array"
},
- "subcategory": {
- "type": "string"
+ "sortable_fields": {
+ "items": {
+ "$ref": "#/definitions/fortune.RankingSortableField"
+ },
+ "type": "array"
},
- "title": {
+ "year": {
"type": "string"
},
- "traits": {
- "additionalProperties": {
+ "years": {
+ "items": {
"type": "string"
},
- "type": "object"
- },
- "url": {
- "type": "string"
+ "type": "array"
}
},
"type": "object"
},
- "grailed.ListingSeller": {
+ "fortune.RankingItem": {
"properties": {
- "avatar_url": {
- "type": "string"
- },
- "id": {
- "type": "integer"
+ "data": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
},
- "rating_average": {
- "type": "number"
+ "name": {
+ "type": "string"
},
- "rating_count": {
+ "order": {
"type": "integer"
},
- "total_bought_and_sold": {
+ "rank": {
"type": "integer"
},
- "trusted_seller": {
- "type": "boolean"
+ "slug": {
+ "type": "string"
},
- "username": {
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "grailed.Measurement": {
+ "fortune.RankingList": {
"properties": {
- "department_mapping_id": {
- "type": "integer"
+ "region": {
+ "type": "string"
},
- "inches": {
- "type": "number"
+ "slug": {
+ "type": "string"
},
- "measurement_type_id": {
- "type": "integer"
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "grailed.SearchResponse": {
+ "fortune.RankingListsResponse": {
"properties": {
- "category": {
- "type": "string"
+ "lists": {
+ "items": {
+ "$ref": "#/definitions/fortune.RankingList"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "fortune.RankingResponse": {
+ "properties": {
+ "filters": {
+ "additionalProperties": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "type": "object"
},
- "color": {
- "type": "string"
+ "items": {
+ "items": {
+ "$ref": "#/definitions/fortune.RankingItem"
+ },
+ "type": "array"
},
- "condition": {
+ "limit": {
+ "type": "integer"
+ },
+ "list": {
"type": "string"
},
- "count": {
+ "offset": {
"type": "integer"
},
- "department": {
+ "search": {
"type": "string"
},
- "designer": {
- "type": "string"
+ "search_fields": {
+ "items": {
+ "$ref": "#/definitions/fortune.RankingSearchField"
+ },
+ "type": "array"
},
- "fetched_at": {
+ "sort_by": {
"type": "string"
},
- "limit": {
- "type": "integer"
+ "sort_order": {
+ "type": "string"
},
- "listings": {
+ "sortable_fields": {
"items": {
- "$ref": "#/definitions/grailed.Listing"
+ "$ref": "#/definitions/fortune.RankingSortableField"
},
"type": "array"
},
- "max_price": {
- "type": "number"
- },
- "min_price": {
- "type": "number"
- },
- "page": {
+ "total": {
"type": "integer"
},
- "query": {
+ "year": {
"type": "string"
- },
- "size": {
+ }
+ },
+ "type": "object"
+ },
+ "fortune.RankingSearchField": {
+ "properties": {
+ "field_name": {
"type": "string"
},
- "sort": {
- "type": "string"
+ "options": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "source_url": {
+ "title": {
"type": "string"
},
- "total_pages": {
- "type": "integer"
- },
- "total_results": {
- "type": "integer"
+ "type": {
+ "type": "string"
}
},
"type": "object"
},
- "grailed.SellerProfile": {
+ "fortune.RankingSortableField": {
"properties": {
- "avatar_url": {
+ "title": {
"type": "string"
},
- "banned": {
- "type": "boolean"
- },
- "confirmed": {
- "type": "boolean"
- },
- "created_at": {
+ "type": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "fortune.RankingYearsResponse": {
+ "properties": {
+ "current_year": {
"type": "string"
},
- "follower_count": {
- "type": "integer"
+ "list": {
+ "type": "string"
},
- "following_count": {
- "type": "integer"
+ "years": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "fotmob.fifaRankingPeriodData": {
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/definitions/fotmob.fifaRankingPeriodItemDoc"
+ },
+ "type": "array"
},
- "id": {
- "type": "integer"
+ "source_url": {
+ "example": "https://www.fotmob.com/api/data/fifarankings/period?gender=men",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "fotmob.fifaRankingPeriodItemDoc": {
+ "properties": {
+ "periodId": {
+ "example": "20260720",
+ "type": "string"
},
- "listings_for_sale_count": {
+ "periodName": {
+ "example": "20.07.2026",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "fotmob.fifaRankingPeriodsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "location": {
+ "data": {
+ "$ref": "#/definitions/fotmob.fifaRankingPeriodData"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "fotmob.fifaRankingRowDoc": {
+ "properties": {
+ "gainedRank": {
+ "example": true,
+ "type": "boolean"
},
- "quick_responder": {
+ "id": {
+ "example": 6720,
+ "type": "integer"
+ },
+ "lostRank": {
+ "example": false,
"type": "boolean"
},
- "rating_average": {
- "type": "number"
+ "name": {
+ "example": "Spain",
+ "type": "string"
},
- "rating_count": {
+ "pointsDiff": {
+ "example": 121,
"type": "integer"
},
- "sold_count": {
+ "previousPoints": {
+ "example": 1875,
"type": "integer"
},
- "speedy_shipper": {
- "type": "boolean"
+ "rank": {
+ "example": 1,
+ "type": "integer"
},
- "tag_list": {
+ "totalPoints": {
+ "example": 1996,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "fotmob.fifaRankingRowsDataDoc": {
+ "properties": {
+ "data": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/fotmob.fifaRankingRowDoc"
},
"type": "array"
},
- "total_bought_and_sold": {
+ "source_url": {
+ "example": "https://www.fotmob.com/api/data/fifarankings/ranking?gender=men&periodId=20260720",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "fotmob.fifaRankingsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "trusted_seller": {
- "type": "boolean"
+ "data": {
+ "$ref": "#/definitions/fotmob.fifaRankingRowsDataDoc"
},
- "username": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "verified": {
- "type": "boolean"
}
},
"type": "object"
},
- "grailed.SellerResponse": {
+ "fotmob.newsItemDoc": {
"properties": {
- "active_listings_count": {
- "type": "integer"
+ "gmtTime": {
+ "example": "2026-09-26T15:24:07.000Z",
+ "type": "string"
},
- "count": {
- "type": "integer"
+ "id": {
+ "example": "evfncmhqwgeg1xgdmv21cayfj",
+ "type": "string"
},
- "fetched_at": {
+ "imageUrl": {
+ "example": "https://images.example/story.jpg",
"type": "string"
},
- "limit": {
- "type": "integer"
+ "language": {
+ "example": "en",
+ "type": "string"
},
- "listings": {
- "items": {
- "$ref": "#/definitions/grailed.Listing"
- },
- "type": "array"
+ "lead": {
+ "example": "Article preview text.",
+ "type": "string"
},
"page": {
- "type": "integer"
- },
- "profile": {
- "$ref": "#/definitions/grailed.SellerProfile"
+ "$ref": "#/definitions/fotmob.newsItemPageDoc"
},
- "source_url": {
+ "sourceIconUrl": {
+ "example": "https://images.fotmob.com/image_resources/news/fotmob.png",
"type": "string"
},
- "total_pages": {
- "type": "integer"
+ "sourceStr": {
+ "example": "FotMob",
+ "type": "string"
},
- "username": {
+ "title": {
+ "example": "Latest football headline",
"type": "string"
}
},
"type": "object"
},
- "grailed.SellerReview": {
+ "fotmob.newsItemPageDoc": {
"properties": {
- "created_at": {
+ "url": {
+ "example": "/news/evfncmhqwgeg1xgdmv21cayfj-latest-football-headline",
"type": "string"
- },
- "id": {
+ }
+ },
+ "type": "object"
+ },
+ "fotmob.newsListResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "listing": {
- "$ref": "#/definitions/grailed.SellerReviewListing"
+ "data": {
+ "$ref": "#/definitions/fotmob.sourceNewsListDoc"
},
- "note": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "rating": {
- "type": "number"
- },
- "tags": {
- "items": {
- "type": "string"
- },
- "type": "array"
}
},
"type": "object"
},
- "grailed.SellerReviewListing": {
+ "fotmob.responseDoc": {
"properties": {
- "id": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "price": {
- "type": "number"
- },
- "sold": {
- "type": "boolean"
- },
- "title": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/fotmob.sourceDataDoc"
},
- "url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "grailed.SellerReviewsResponse": {
+ "fotmob.sourceDataDoc": {
"properties": {
- "count": {
- "type": "integer"
+ "data": {
+ "additionalProperties": true,
+ "type": "object"
},
- "fetched_at": {
+ "source_url": {
+ "example": "https://www.fotmob.com/api/data/matches?date=20260925&timezone=UTC",
"type": "string"
- },
- "has_more": {
- "type": "boolean"
- },
- "page": {
- "type": "integer"
- },
- "reviews": {
+ }
+ },
+ "type": "object"
+ },
+ "fotmob.sourceNewsListDoc": {
+ "properties": {
+ "data": {
"items": {
- "$ref": "#/definitions/grailed.SellerReview"
+ "$ref": "#/definitions/fotmob.newsItemDoc"
},
"type": "array"
},
"source_url": {
- "type": "string"
- },
- "user_id": {
- "type": "integer"
- },
- "username": {
+ "example": "https://www.fotmob.com/api/news/latestNews?lang=en&page=1&startIndex=0",
"type": "string"
}
},
"type": "object"
},
- "grailed.SimilarListingsResponse": {
+ "foxnews.ArticleResponse": {
"properties": {
- "count": {
- "type": "integer"
+ "authors": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "fetched_at": {
+ "description": {
"type": "string"
},
- "id": {
- "type": "integer"
- },
- "limit": {
- "type": "integer"
+ "image_url": {
+ "type": "string"
},
- "listings": {
+ "paragraphs": {
"items": {
- "$ref": "#/definitions/grailed.Listing"
+ "type": "string"
},
"type": "array"
},
- "source_url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "grailed.SoldListingsResponse": {
- "properties": {
- "category": {
+ "published_at": {
"type": "string"
},
- "color": {
+ "section": {
"type": "string"
},
- "condition": {
+ "title": {
"type": "string"
},
- "count": {
- "type": "integer"
- },
- "department": {
+ "updated_at": {
"type": "string"
},
- "designer": {
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "foxnews.AuthorArticle": {
+ "properties": {
+ "published_at": {
"type": "string"
},
- "fetched_at": {
+ "summary": {
"type": "string"
},
- "limit": {
- "type": "integer"
+ "title": {
+ "type": "string"
},
- "listings": {
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "foxnews.AuthorResponse": {
+ "properties": {
+ "articles": {
"items": {
- "$ref": "#/definitions/grailed.Listing"
+ "$ref": "#/definitions/foxnews.AuthorArticle"
},
"type": "array"
},
- "max_price": {
- "type": "number"
+ "bio": {
+ "type": "string"
},
- "min_price": {
- "type": "number"
+ "name": {
+ "type": "string"
},
- "page": {
- "type": "integer"
+ "slug": {
+ "type": "string"
},
- "query": {
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "foxnews.HeadlineItem": {
+ "properties": {
+ "author": {
"type": "string"
},
- "size": {
+ "image_url": {
"type": "string"
},
- "sort": {
+ "published_at": {
"type": "string"
},
- "source_url": {
+ "summary": {
"type": "string"
},
- "total_pages": {
- "type": "integer"
+ "title": {
+ "type": "string"
},
- "total_results": {
- "type": "integer"
+ "type": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "grailed.SuggestResponse": {
+ "foxnews.HeadlinesResponse": {
"properties": {
- "fetched_at": {
- "type": "string"
+ "items": {
+ "items": {
+ "$ref": "#/definitions/foxnews.HeadlineItem"
+ },
+ "type": "array"
},
- "query": {
+ "section": {
"type": "string"
- },
- "suggestions": {
+ }
+ },
+ "type": "object"
+ },
+ "foxnews.NewsResponse": {
+ "properties": {
+ "items": {
"items": {
- "$ref": "#/definitions/grailed.Suggestion"
+ "$ref": "#/definitions/foxnews.HeadlineItem"
},
"type": "array"
}
},
"type": "object"
},
- "grailed.Suggestion": {
+ "foxnews.SearchResponse": {
"properties": {
- "popularity": {
- "type": "integer"
+ "items": {
+ "items": {
+ "$ref": "#/definitions/foxnews.HeadlineItem"
+ },
+ "type": "array"
},
"query": {
"type": "string"
},
- "total_results": {
+ "start": {
"type": "integer"
+ },
+ "total": {
+ "type": "integer"
+ },
+ "type": {
+ "type": "string"
}
},
"type": "object"
},
- "grailed.categoriesResponseDoc": {
+ "foxnews.Section": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "name": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/grailed.CategoriesResponse"
+ "slug": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "grailed.collectionResponseDoc": {
+ "foxnews.SectionsResponse": {
+ "properties": {
+ "sections": {
+ "items": {
+ "$ref": "#/definitions/foxnews.Section"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "foxnews.articleResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/grailed.CollectionResponse"
+ "$ref": "#/definitions/foxnews.ArticleResponse"
},
"msg": {
"example": "OK",
@@ -101984,14 +107944,14 @@
},
"type": "object"
},
- "grailed.collectionsResponseDoc": {
+ "foxnews.authorResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/grailed.CollectionsResponse"
+ "$ref": "#/definitions/foxnews.AuthorResponse"
},
"msg": {
"example": "OK",
@@ -102000,14 +107960,14 @@
},
"type": "object"
},
- "grailed.designersResponseDoc": {
+ "foxnews.headlinesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/grailed.DesignersResponse"
+ "$ref": "#/definitions/foxnews.HeadlinesResponse"
},
"msg": {
"example": "OK",
@@ -102016,14 +107976,14 @@
},
"type": "object"
},
- "grailed.listingResponseDoc": {
+ "foxnews.newsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/grailed.ListingResponse"
+ "$ref": "#/definitions/foxnews.NewsResponse"
},
"msg": {
"example": "OK",
@@ -102032,14 +107992,14 @@
},
"type": "object"
},
- "grailed.searchResponseDoc": {
+ "foxnews.searchResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/grailed.SearchResponse"
+ "$ref": "#/definitions/foxnews.SearchResponse"
},
"msg": {
"example": "OK",
@@ -102048,14 +108008,14 @@
},
"type": "object"
},
- "grailed.sellerResponseDoc": {
+ "foxnews.sectionsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/grailed.SellerResponse"
+ "$ref": "#/definitions/foxnews.SectionsResponse"
},
"msg": {
"example": "OK",
@@ -102064,46 +108024,91 @@
},
"type": "object"
},
- "grailed.sellerReviewsResponseDoc": {
+ "france24.AuthorResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/france24.HeadlineItem"
+ },
+ "type": "array"
},
- "data": {
- "$ref": "#/definitions/grailed.SellerReviewsResponse"
+ "biography": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "image_url": {
+ "type": "string"
+ },
+ "job_title": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "grailed.similarListingsResponseDoc": {
+ "france24.HeadlineItem": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "author": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/grailed.SimilarListingsResponse"
+ "image_url": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "published_at": {
+ "type": "string"
+ },
+ "summary": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "grailed.soldListingsResponseDoc": {
+ "freemalaysiatoday.NewsResponse": {
+ "properties": {
+ "items": {
+ "items": {
+ "$ref": "#/definitions/newsplatform.HeadlineItem"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "freemalaysiatoday.SectionsResponse": {
+ "properties": {
+ "sections": {
+ "items": {
+ "$ref": "#/definitions/newsplatform.Section"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "freemalaysiatoday.newsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/grailed.SoldListingsResponse"
+ "$ref": "#/definitions/freemalaysiatoday.NewsResponse"
},
"msg": {
"example": "OK",
@@ -102112,14 +108117,14 @@
},
"type": "object"
},
- "grailed.suggestResponseDoc": {
+ "freemalaysiatoday.sectionsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/grailed.SuggestResponse"
+ "$ref": "#/definitions/freemalaysiatoday.SectionsResponse"
},
"msg": {
"example": "OK",
@@ -102128,753 +108133,935 @@
},
"type": "object"
},
- "greystar.Article": {
+ "fresha.LandingVenue": {
"properties": {
- "blocks": {
+ "business_types": {
+ "description": "The venue's published business types, e.g. HealthAndBeautyBusiness and\nHairSalon. These are the page's own schema.org labels, not Fresha's\nbusiness-type slugs.",
"items": {
- "$ref": "#/definitions/greystar.ContentBlock"
+ "type": "string"
},
"type": "array"
},
- "category": {
+ "city": {
+ "description": "City name.",
+ "example": "New York",
"type": "string"
},
- "description": {
+ "country_code": {
+ "description": "ISO country code.",
+ "example": "US",
"type": "string"
},
"image_url": {
+ "description": "Image URL.",
"type": "string"
},
- "published_at": {
+ "latitude": {
+ "description": "Latitude.",
+ "example": 40.7545329,
+ "type": "number"
+ },
+ "longitude": {
+ "description": "Longitude.",
+ "example": -73.9758854,
+ "type": "number"
+ },
+ "name": {
+ "description": "Venue name as the page prints it.",
+ "example": "Grand Central",
"type": "string"
},
- "published_date": {
+ "postal_code": {
+ "description": "Postal code.",
+ "example": "10169",
"type": "string"
},
- "section": {
+ "price_range": {
+ "description": "The venue's own coarse price band as the page publishes it, e.g.\n\"From $7\". It is a provider-declared string, not a service price and not\nthis API's price surface: the venue's own service menu is.",
+ "example": "From $7",
"type": "string"
},
- "slug": {
+ "rating": {
+ "description": "Average rating as the page publishes it.",
+ "example": 5,
+ "type": "number"
+ },
+ "region": {
+ "description": "Region or state.",
+ "example": "New York",
"type": "string"
},
- "title": {
+ "reviews_count": {
+ "description": "Number of ratings behind Rating.",
+ "example": 1886,
+ "type": "integer"
+ },
+ "street": {
+ "description": "Street address line.",
+ "example": "230 Park Avenue, Suite ST-1D",
"type": "string"
},
"url": {
+ "description": "Canonical public page for this venue.",
+ "example": "https://www.fresha.com/a/grand-central-new-york-230-park-avenue-wbtw1564",
"type": "string"
}
},
"type": "object"
},
- "greystar.CityItem": {
+ "fresha.LandingVenuesResponse": {
"properties": {
+ "business_type": {
+ "description": "The business-type facet actually read.",
+ "example": "hair-salons",
+ "type": "string"
+ },
"city": {
+ "description": "The city landing value actually read.",
+ "example": "us-new-york",
"type": "string"
},
"count": {
+ "description": "Number of venues on the page. This is the page's own pre-rendered list and\nis not a total: the same city's search result count is much larger.",
+ "example": 130,
"type": "integer"
},
- "country_code": {
+ "declared_count": {
+ "description": "The page's declared item count. It is reported separately from Count\nbecause a page can declare more items than it renders; a mismatch is the\npage's, not this API's, and Count is the number of venues actually\nreturned.",
+ "example": 130,
+ "type": "integer"
+ },
+ "treatment_type": {
+ "description": "The treatment-type facet actually read.",
+ "example": "hair-colouring",
"type": "string"
},
- "state": {
+ "url": {
+ "description": "The landing page URL actually read.",
+ "example": "https://www.fresha.com/lp/en/bt/hair-salons/in/us-new-york",
"type": "string"
+ },
+ "venues": {
+ "description": "Venues in the page's own order.",
+ "items": {
+ "$ref": "#/definitions/fresha.LandingVenue"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "greystar.ContentBlock": {
+ "fresha.SearchVenuesResponse": {
"properties": {
- "text": {
+ "after": {
+ "description": "The cursor actually sent, empty on the first page.",
"type": "string"
},
- "type": {
- "description": "heading, subheading, paragraph, list_item",
- "type": "string"
- }
- },
- "type": "object"
- },
- "greystar.ContentEntry": {
- "properties": {
- "last_modified": {
+ "awards": {
+ "description": "The award filter actually sent.",
+ "example": "BEST_IN_CLASS",
"type": "string"
},
- "section": {
+ "count": {
+ "description": "The gateway's own match count for this filter set. It counts venues, not\npages, and it is stable across pages of one walk.",
+ "example": 480,
+ "type": "integer"
+ },
+ "currency": {
+ "description": "Currency the market's prices are quoted in, as the gateway reports it. It\nis a market attribute, not a price: this endpoint returns no price at all.",
+ "example": "USD",
"type": "string"
},
- "slug": {
+ "first": {
+ "description": "Venues per page actually sent.",
+ "example": 20,
+ "type": "integer"
+ },
+ "has_next_page": {
+ "description": "True when the gateway reports a further page.",
+ "example": true,
+ "type": "boolean"
+ },
+ "latitude": {
+ "description": "The geocode actually sent. Zero for both when the caller sent none, in\nwhich case the gateway used its own default centre.",
+ "example": 40.7128,
+ "type": "number"
+ },
+ "longitude": {
+ "example": -74.006,
+ "type": "number"
+ },
+ "min_price": {
+ "description": "The price floor actually sent, in Currency.",
+ "example": 100,
+ "type": "number"
+ },
+ "next_cursor": {
+ "description": "Cursor for the next page; empty when there is none. Pass it back as after.",
+ "example": "WzEuMCwxLjEyOTY0NTMxMjM1ODQzNDIsMjgzMjcxXQ==",
"type": "string"
},
- "url": {
+ "query": {
+ "description": "The query actually sent.",
+ "example": "haircut",
"type": "string"
- }
- },
- "type": "object"
- },
- "greystar.ContentList": {
- "properties": {
- "entries": {
- "items": {
- "$ref": "#/definitions/greystar.ContentEntry"
- },
- "type": "array"
},
- "page": {
- "type": "integer"
+ "service_gender": {
+ "description": "The gender filter actually sent.",
+ "example": "FEMALE",
+ "type": "string"
},
- "per_page": {
- "type": "integer"
+ "sort": {
+ "description": "The ordering actually sent.",
+ "example": "RATING",
+ "type": "string"
},
- "total_count": {
- "type": "integer"
+ "treatment_category_id": {
+ "description": "The taxonomy filters actually sent.",
+ "example": "category:nails",
+ "type": "string"
},
- "total_pages": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "greystar.CountryItem": {
- "properties": {
- "count": {
- "type": "integer"
+ "treatment_tag_id": {
+ "example": "tag:haircut",
+ "type": "string"
},
- "country_code": {
+ "treatment_type_id": {
+ "example": "treatment:nails/wedding-nails",
"type": "string"
+ },
+ "venues": {
+ "description": "Venues on this page, in the gateway's own order. Empty is an honest result\nfor a valid filter set.",
+ "items": {
+ "$ref": "#/definitions/fresha.Venue"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "greystar.FAQ": {
+ "fresha.ServiceGroup": {
"properties": {
- "answer": {
+ "id": {
+ "description": "Group id, e.g. \"recommended\" for the venue's featured group.",
+ "example": "recommended",
"type": "string"
},
- "question": {
+ "name": {
+ "description": "Group name as the venue prints it, e.g. \"Featured\".",
+ "example": "Featured",
"type": "string"
+ },
+ "services": {
+ "description": "Services in this group, in the venue's own order.",
+ "items": {
+ "$ref": "#/definitions/fresha.VenueService"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "greystar.FacetCount": {
+ "fresha.ServicePrice": {
"properties": {
- "count": {
- "type": "integer"
+ "currency": {
+ "description": "ISO currency code, which is the venue's currency.",
+ "example": "USD",
+ "type": "string"
},
"value": {
- "type": "string"
+ "description": "Amount in that currency. Published as the venue lists it and volatile:\nit is the provider's own menu price, never a quote, a booking price or a\nfinal price.",
+ "example": 75,
+ "type": "number"
}
},
"type": "object"
},
- "greystar.Fee": {
+ "fresha.TaxonomyNode": {
"properties": {
- "amount": {
- "type": "number"
- },
- "category": {
- "type": "string"
- },
- "disclaimer": {
+ "icon_url": {
+ "description": "Icon URL, present on categories only.",
"type": "string"
},
- "due_at": {
+ "id": {
+ "description": "The id to pass to fresha-search-venues as treatment_category_id,\ntreatment_tag_id or treatment_type_id. The prefix states which one.",
+ "example": "category:nails",
"type": "string"
},
- "frequency": {
+ "kind": {
+ "description": "Node kind, one of: TreatmentCategory, TreatmentTag, TreatmentType.",
+ "enum": [
+ "TreatmentCategory",
+ "TreatmentTag",
+ "TreatmentType"
+ ],
+ "example": "TreatmentCategory",
"type": "string"
},
- "group": {
+ "name": {
+ "description": "Display label as Fresha prints it.",
+ "example": "Nails",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "fresha.TaxonomyResponse": {
+ "properties": {
+ "categories": {
+ "description": "Category values on this page.",
+ "items": {
+ "$ref": "#/definitions/fresha.TaxonomyNode"
+ },
+ "type": "array"
},
- "is_included": {
- "type": "boolean"
- },
- "is_per_applicant": {
- "type": "boolean"
+ "count": {
+ "description": "The gateway's own match count for this query. It counts every taxonomy\nnode it matched, not just the ones on this page.",
+ "example": 137,
+ "type": "integer"
},
- "is_refundable": {
- "type": "boolean"
+ "first": {
+ "description": "Nodes per page actually sent.",
+ "example": 200,
+ "type": "integer"
},
- "is_required": {
+ "has_next_page": {
+ "description": "True when the gateway reports more nodes beyond this page.",
+ "example": false,
"type": "boolean"
},
- "is_taxable": {
- "type": "boolean"
+ "next_start": {
+ "description": "Offset to pass back as start for the next page; 0 when there is none.",
+ "example": 200,
+ "type": "integer"
},
- "label": {
+ "query": {
+ "description": "The query actually sent.",
+ "example": "nail",
"type": "string"
},
- "max_amount": {
- "type": "number"
- },
- "min_amount": {
- "type": "number"
- },
- "percentage_amount": {
- "type": "number"
- },
- "text_amount": {
- "type": "string"
+ "start": {
+ "description": "Offset actually sent.",
+ "example": 0,
+ "type": "integer"
},
- "type": {
- "type": "string"
+ "tags": {
+ "description": "Tag values on this page.",
+ "items": {
+ "$ref": "#/definitions/fresha.TaxonomyNode"
+ },
+ "type": "array"
},
- "value_type": {
- "type": "string"
+ "types": {
+ "description": "Treatment-type values on this page.",
+ "items": {
+ "$ref": "#/definitions/fresha.TaxonomyNode"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "greystar.Floorplan": {
+ "fresha.Venue": {
"properties": {
- "bathrooms": {
- "type": "integer"
- },
- "bedrooms": {
- "type": "integer"
+ "address": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/fresha.VenueAddress"
+ }
+ ],
+ "description": "Postal address and coordinates."
},
- "id": {
+ "business_type": {
+ "description": "Fresha's own business-type label, e.g. \"Hair Salon\".",
+ "example": "Hair Salon",
"type": "string"
},
- "image_url": {
+ "distance": {
+ "description": "Distance from the search centre, as the gateway's own display string.\nEmpty when no geocode was sent.",
+ "example": "0.5 mi",
"type": "string"
},
- "label": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "greystar.Image": {
- "properties": {
- "alt": {
- "type": "string"
+ "featured": {
+ "description": "True when the venue is featured in this result set.",
+ "example": false,
+ "type": "boolean"
},
- "height": {
- "type": "integer"
+ "has_deals": {
+ "description": "True when the venue currently advertises deals.",
+ "example": false,
+ "type": "boolean"
},
- "url": {
+ "id": {
+ "description": "Fresha's own venue id.",
+ "example": "539807",
"type": "string"
},
- "width": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "greystar.ListedUnit": {
- "properties": {
- "banner": {
+ "image_url": {
+ "description": "Cover image URL.",
+ "example": "https://images.fresha.com/locations/location-profile-images/504590/2037086/101eaf63-937c-4ac5-9740-087f729afe68.jpg",
"type": "string"
},
- "bathrooms": {
- "type": "number"
+ "is_fresha_verified": {
+ "description": "True when Fresha has verified the venue.",
+ "example": true,
+ "type": "boolean"
},
- "bedrooms": {
- "type": "number"
+ "is_new": {
+ "description": "True when Fresha marks the venue as new.",
+ "example": false,
+ "type": "boolean"
},
- "floorplan": {
+ "name": {
+ "description": "Venue name as the site prints it.",
+ "example": "Toto Hair",
"type": "string"
},
- "max_price": {
- "type": "number"
- },
- "min_base_rent_lease_term": {
- "type": "integer"
- },
- "min_price": {
+ "rating": {
+ "description": "Average rating as the venue publishes it.",
+ "example": 4.9,
"type": "number"
},
- "price": {
- "type": "number"
+ "rating_level": {
+ "description": "Fresha's rating badge for the venue, one of: DEFAULT, BEST_IN_CLASS,\nHIGHLY_RECOMMENDED.",
+ "enum": [
+ "DEFAULT",
+ "BEST_IN_CLASS",
+ "HIGHLY_RECOMMENDED"
+ ],
+ "example": "BEST_IN_CLASS",
+ "type": "string"
},
- "required_monthly_fees_max": {
- "type": "number"
+ "rating_title": {
+ "description": "The badge's display label, e.g. \"Best in Class\".",
+ "example": "Best in Class",
+ "type": "string"
},
- "required_monthly_fees_min": {
- "type": "number"
+ "reviews_count": {
+ "description": "Number of ratings behind Rating. Aggregate only: this API never returns a\nreview, a reviewer or a reviewer's name.",
+ "example": 4838,
+ "type": "integer"
},
- "unit_id": {
+ "slug": {
+ "description": "URL slug which fresha-venue accepts.",
+ "example": "toto-hair-new-york-201-grand-street-oqiknjih",
"type": "string"
},
- "unit_number": {
+ "url": {
+ "description": "Canonical public page for this venue.",
+ "example": "https://www.fresha.com/a/toto-hair-new-york-201-grand-street-oqiknjih",
"type": "string"
}
},
"type": "object"
},
- "greystar.Location": {
+ "fresha.VenueAddress": {
"properties": {
- "address": {
- "type": "string"
- },
"city": {
+ "description": "City name.",
+ "example": "New York",
"type": "string"
},
"country_code": {
+ "description": "ISO country code.",
+ "example": "US",
+ "type": "string"
+ },
+ "district": {
+ "description": "District or neighbourhood when the venue publishes one.",
+ "example": "Manhattan",
+ "type": "string"
+ },
+ "formatted": {
+ "description": "The venue's own one-line address label, e.g. \"Manhattan, New York\".",
+ "example": "Manhattan, New York",
"type": "string"
},
"latitude": {
+ "description": "Latitude.",
+ "example": 40.718711853027344,
"type": "number"
},
"longitude": {
+ "description": "Longitude.",
+ "example": -73.99961853027344,
"type": "number"
},
- "market_area": {
- "type": "string"
- },
- "neighborhood": {
- "type": "string"
- },
"postal_code": {
+ "description": "Postal code.",
+ "example": "10013",
"type": "string"
},
- "slug": {
- "type": "string"
- },
- "state": {
+ "region": {
+ "description": "Region or state.",
+ "example": "New York",
"type": "string"
},
- "state_name": {
+ "street": {
+ "description": "Street address line as the venue prints it.",
+ "example": "201 Grand Street",
"type": "string"
}
},
"type": "object"
},
- "greystar.LocationCommunity": {
+ "fresha.VenueResponse": {
"properties": {
"address": {
- "type": "string"
+ "allOf": [
+ {
+ "$ref": "#/definitions/fresha.VenueAddress"
+ }
+ ],
+ "description": "Postal address and coordinates."
},
- "id": {
+ "business_type": {
+ "description": "Fresha's own business-type label.",
+ "example": "Hair Salon",
"type": "string"
},
- "name": {
+ "country_code": {
+ "description": "ISO country code of the venue.",
+ "example": "US",
"type": "string"
},
- "price_text": {
+ "currency": {
+ "description": "The venue's own currency, which every price on this record is quoted in.",
+ "example": "USD",
"type": "string"
},
- "slug": {
+ "description": {
+ "description": "The venue's own description, as written by the venue.",
"type": "string"
},
- "url": {
+ "featured": {
+ "description": "True when the venue is featured.",
+ "example": false,
+ "type": "boolean"
+ },
+ "has_deals": {
+ "description": "True when the venue currently advertises deals.",
+ "example": false,
+ "type": "boolean"
+ },
+ "id": {
+ "description": "Fresha's own venue id.",
+ "example": "539807",
"type": "string"
- }
- },
- "type": "object"
- },
- "greystar.LocationDetail": {
- "properties": {
- "blocks": {
- "items": {
- "$ref": "#/definitions/greystar.ContentBlock"
- },
- "type": "array"
},
- "city": {
+ "image_url": {
+ "description": "Cover image URL.",
"type": "string"
},
- "communities": {
+ "images": {
+ "description": "Gallery image URLs.",
"items": {
- "$ref": "#/definitions/greystar.LocationCommunity"
+ "type": "string"
},
"type": "array"
},
- "description": {
- "type": "string"
+ "is_bookable": {
+ "description": "True when the venue can currently be booked. This is the venue's own flag,\nnot an availability or inventory claim: this API returns no slots.",
+ "example": true,
+ "type": "boolean"
},
- "faqs": {
- "items": {
- "$ref": "#/definitions/greystar.FAQ"
- },
- "type": "array"
+ "is_fresha_verified": {
+ "description": "True when Fresha has verified the venue.",
+ "example": true,
+ "type": "boolean"
},
- "level": {
+ "is_new": {
+ "description": "True when Fresha marks the venue as new.",
+ "example": false,
+ "type": "boolean"
+ },
+ "name": {
+ "description": "Venue name.",
+ "example": "Toto Hair",
"type": "string"
},
- "neighborhood": {
+ "rating": {
+ "description": "Average rating as the venue publishes it.",
+ "example": 4.9,
+ "type": "number"
+ },
+ "rating_formatted": {
+ "description": "The venue's own formatted rating, e.g. \"4.9\".",
+ "example": "4.9",
"type": "string"
},
- "path": {
+ "rating_level": {
+ "description": "Fresha's rating badge, one of: DEFAULT, BEST_IN_CLASS, HIGHLY_RECOMMENDED.",
+ "enum": [
+ "DEFAULT",
+ "BEST_IN_CLASS",
+ "HIGHLY_RECOMMENDED"
+ ],
+ "example": "BEST_IN_CLASS",
"type": "string"
},
- "state": {
+ "rating_title": {
+ "description": "The badge's display label, e.g. \"Best in Class\".",
+ "example": "Best in Class",
"type": "string"
},
- "sub_locations": {
+ "reviews_count": {
+ "description": "Number of ratings behind Rating. Aggregate only.",
+ "example": 4838,
+ "type": "integer"
+ },
+ "service_count": {
+ "description": "Number of services the venue publishes.",
+ "example": 22,
+ "type": "integer"
+ },
+ "service_groups": {
+ "description": "The venue's own service menu, grouped as the venue groups it. This is the\nonly surface on which this API publishes a price.",
"items": {
- "$ref": "#/definitions/greystar.SubLocation"
+ "$ref": "#/definitions/fresha.ServiceGroup"
},
"type": "array"
},
- "title": {
+ "slug": {
+ "description": "URL slug.",
+ "example": "toto-hair-new-york-201-grand-street-oqiknjih",
"type": "string"
},
"url": {
+ "description": "Canonical public page for this venue.",
+ "example": "https://www.fresha.com/a/toto-hair-new-york-201-grand-street-oqiknjih",
"type": "string"
+ },
+ "working_hours": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/fresha.WorkingHours"
+ }
+ ],
+ "description": "Published opening hours."
}
},
"type": "object"
},
- "greystar.LocationEntry": {
+ "fresha.VenueService": {
"properties": {
- "city": {
+ "caption": {
+ "description": "Duration caption as the venue prints it, e.g. \"1 hr, 15 min\".",
+ "example": "1 hr, 15 min",
"type": "string"
},
- "last_modified": {
+ "description": {
+ "description": "Optional service description.",
+ "example": "Shampoo / Cut (Master Stylist)",
"type": "string"
},
- "level": {
- "description": "state, city, neighborhood",
+ "formatted_price": {
+ "description": "The venue's own formatted price, e.g. \"$75\".",
+ "example": "$75",
"type": "string"
},
- "neighborhood": {
+ "id": {
+ "description": "Fresha's own service id.",
+ "example": "s:16128313",
"type": "string"
},
- "path": {
- "type": "string"
+ "max_seconds": {
+ "description": "Longest duration in seconds.",
+ "example": 4500,
+ "type": "integer"
},
- "state": {
+ "min_seconds": {
+ "description": "Shortest duration in seconds.",
+ "example": 4500,
+ "type": "integer"
+ },
+ "name": {
+ "description": "Service name as the venue lists it.",
+ "example": "1.2A Shampoo / Cut (1.5)",
"type": "string"
},
- "url": {
+ "price": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/fresha.ServicePrice"
+ }
+ ],
+ "description": "The service's retail price, in the venue's currency."
+ },
+ "price_type": {
+ "description": "The venue's own price-type label, e.g. \"FIXED\".",
+ "example": "FIXED",
"type": "string"
}
},
"type": "object"
},
- "greystar.LocationList": {
+ "fresha.WorkingHours": {
"properties": {
- "locations": {
+ "days": {
+ "description": "One entry per day, in the venue's own order.",
"items": {
- "$ref": "#/definitions/greystar.LocationEntry"
+ "$ref": "#/definitions/fresha.WorkingHoursDay"
},
"type": "array"
},
- "page": {
- "type": "integer"
- },
- "per_page": {
- "type": "integer"
- },
- "total_count": {
- "type": "integer"
- },
- "total_pages": {
- "type": "integer"
+ "status": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/fresha.WorkingHoursStatus"
+ }
+ ],
+ "description": "Current open/closed state at read time."
}
},
"type": "object"
},
- "greystar.MarketItem": {
+ "fresha.WorkingHoursDay": {
"properties": {
- "count": {
- "type": "integer"
+ "is_closed": {
+ "description": "True when the venue is closed that day.",
+ "example": false,
+ "type": "boolean"
},
- "country_code": {
- "type": "string"
+ "is_today": {
+ "description": "True for the day the record was read on.",
+ "example": false,
+ "type": "boolean"
},
- "market_area": {
+ "name": {
+ "description": "Day name as the venue's record prints it, e.g. \"Monday\".",
+ "example": "Monday",
"type": "string"
- }
- },
- "type": "object"
- },
- "greystar.Markets": {
- "properties": {
- "cities": {
- "items": {
- "$ref": "#/definitions/greystar.CityItem"
- },
- "type": "array"
- },
- "countries": {
- "items": {
- "$ref": "#/definitions/greystar.CountryItem"
- },
- "type": "array"
- },
- "market_areas": {
- "items": {
- "$ref": "#/definitions/greystar.MarketItem"
- },
- "type": "array"
},
- "neighborhoods": {
- "items": {
- "$ref": "#/definitions/greystar.Neighborhood"
- },
- "type": "array"
- },
- "states": {
+ "values": {
+ "description": "The venue's own rendered opening ranges for that day, e.g.\n\"9:30 AM - 7:00 PM\". These are display strings, not machine times.",
"items": {
- "$ref": "#/definitions/greystar.StateItem"
+ "type": "string"
},
"type": "array"
- },
- "total_properties": {
- "type": "integer"
}
},
"type": "object"
},
- "greystar.Neighborhood": {
+ "fresha.WorkingHoursStatus": {
"properties": {
- "count": {
- "type": "integer"
- },
- "country_code": {
+ "details": {
+ "description": "Extra display detail, e.g. \"- opens at 9:30 AM\".",
+ "example": "- opens at 9:30 AM",
"type": "string"
},
- "market_area": {
+ "name": {
+ "description": "Display label, e.g. \"Closed\".",
+ "example": "Closed",
"type": "string"
},
- "neighborhood": {
+ "state": {
+ "description": "Machine state, e.g. \"OPEN\", \"CLOSED\".",
+ "example": "CLOSED",
"type": "string"
}
},
"type": "object"
},
- "greystar.OfficeHour": {
+ "fresha.landingVenuesResponseDoc": {
"properties": {
- "close": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "open": {
+ "data": {
+ "$ref": "#/definitions/fresha.LandingVenuesResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "greystar.Property": {
+ "fresha.searchVenuesResponseDoc": {
"properties": {
- "address": {
- "type": "string"
- },
- "city": {
- "type": "string"
- },
- "country_code": {
- "type": "string"
- },
- "display_price": {
- "type": "number"
- },
- "id": {
- "type": "string"
- },
- "market_area": {
- "type": "string"
- },
- "min_base_rent_lease_term": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "min_price": {
- "type": "number"
- },
- "name": {
- "type": "string"
- },
- "neighborhood": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/fresha.SearchVenuesResponse"
},
- "postal_code": {
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "fresha.taxonomyResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "required_monthly_fees_max": {
- "type": "number"
- },
- "required_monthly_fees_min": {
- "type": "number"
+ "data": {
+ "$ref": "#/definitions/fresha.TaxonomyResponse"
},
- "state": {
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "fresha.venueResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "state_name": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/fresha.VenueResponse"
},
- "thumbnail_url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "greystar.PropertyDetails": {
+ "ft.ArticleResponse": {
"properties": {
- "amenities": {
+ "authors": {
"items": {
"type": "string"
},
"type": "array"
},
- "available_units": {
+ "description": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "paragraphs": {
"items": {
- "$ref": "#/definitions/greystar.Unit"
+ "type": "string"
},
"type": "array"
},
- "bike_score": {
- "type": "integer"
- },
- "building_type": {
- "type": "string"
- },
- "email": {
+ "published_at": {
"type": "string"
},
- "facebook_url": {
+ "section": {
"type": "string"
},
- "features": {
+ "tags": {
"items": {
"type": "string"
},
"type": "array"
},
- "fees": {
- "items": {
- "$ref": "#/definitions/greystar.Fee"
- },
- "type": "array"
+ "title": {
+ "type": "string"
},
- "floorplans": {
+ "updated_at": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "word_count": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "ft.AuthorResponse": {
+ "properties": {
+ "articles": {
"items": {
- "$ref": "#/definitions/greystar.Floorplan"
+ "$ref": "#/definitions/ft.HeadlineItem"
},
"type": "array"
},
- "highlights": {
- "additionalProperties": {
- "type": "boolean"
- },
- "type": "object"
- },
- "id": {
+ "email": {
"type": "string"
},
- "image": {
- "$ref": "#/definitions/greystar.Image"
+ "has_more": {
+ "type": "boolean"
},
- "instagram_url": {
+ "image_url": {
"type": "string"
},
- "location": {
- "$ref": "#/definitions/greystar.Location"
- },
- "long_description": {
+ "job_title": {
"type": "string"
},
"name": {
"type": "string"
},
- "office_hours": {
- "additionalProperties": {
- "$ref": "#/definitions/greystar.OfficeHour"
- },
- "type": "object"
- },
- "phone": {
- "type": "string"
- },
- "required_monthly_fees_max": {
- "type": "number"
- },
- "required_monthly_fees_min": {
- "type": "number"
+ "page": {
+ "type": "integer"
},
- "short_description": {
+ "slug": {
"type": "string"
},
- "tours": {
+ "social_accounts": {
"items": {
- "$ref": "#/definitions/greystar.Tour"
+ "$ref": "#/definitions/ft.AuthorSocialAccount"
},
"type": "array"
},
- "transit_score": {
- "type": "integer"
- },
"url": {
"type": "string"
- },
- "walk_score": {
- "type": "integer"
- },
- "website_url": {
- "type": "string"
}
},
"type": "object"
},
- "greystar.SearchResult": {
+ "ft.AuthorSocialAccount": {
"properties": {
- "page": {
- "type": "integer"
- },
- "per_page": {
- "type": "integer"
- },
- "properties": {
- "items": {
- "$ref": "#/definitions/greystar.Property"
- },
- "type": "array"
- },
- "total_count": {
- "type": "integer"
+ "platform": {
+ "type": "string"
},
- "total_pages": {
- "type": "integer"
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "greystar.StateItem": {
+ "ft.CategoriesResponse": {
"properties": {
- "count": {
- "type": "integer"
- },
- "country_code": {
- "type": "string"
- },
- "state": {
- "type": "string"
- },
- "state_name": {
- "type": "string"
+ "sections": {
+ "items": {
+ "$ref": "#/definitions/ft.CategorySection"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "greystar.SubLocation": {
+ "ft.CategoryLink": {
"properties": {
"name": {
"type": "string"
},
- "path": {
- "type": "string"
- },
"slug": {
"type": "string"
},
- "summary": {
- "type": "string"
- },
"url": {
"type": "string"
}
},
"type": "object"
},
- "greystar.Tour": {
+ "ft.CategorySection": {
"properties": {
- "provider": {
+ "name": {
"type": "string"
},
- "title": {
+ "sections": {
+ "items": {
+ "$ref": "#/definitions/ft.CategoryLink"
+ },
+ "type": "array"
+ },
+ "slug": {
"type": "string"
},
"url": {
@@ -102883,79 +109070,55 @@
},
"type": "object"
},
- "greystar.Unit": {
+ "ft.HeadlineItem": {
"properties": {
- "area": {
- "type": "integer"
- },
- "available_on": {
- "type": "string"
- },
- "building": {
+ "image_url": {
"type": "string"
},
- "floor": {
+ "published_at": {
"type": "string"
},
- "floorplan_id": {
+ "section": {
"type": "string"
},
- "floorplan_label": {
+ "summary": {
"type": "string"
},
- "max_price": {
- "type": "number"
- },
- "min_base_rent_lease_term": {
- "type": "integer"
- },
- "min_price": {
- "type": "number"
- },
- "unit_id": {
+ "title": {
"type": "string"
},
- "unit_number": {
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "greystar.UnitFacets": {
+ "ft.HeadlinesResponse": {
"properties": {
- "bathrooms": {
- "items": {
- "$ref": "#/definitions/greystar.FacetCount"
- },
- "type": "array"
+ "has_more": {
+ "type": "boolean"
},
- "bedrooms": {
+ "items": {
"items": {
- "$ref": "#/definitions/greystar.FacetCount"
+ "$ref": "#/definitions/ft.HeadlineItem"
},
"type": "array"
},
- "building_types": {
- "items": {
- "$ref": "#/definitions/greystar.FacetCount"
- },
- "type": "array"
+ "page": {
+ "type": "integer"
},
- "highlights": {
- "items": {
- "$ref": "#/definitions/greystar.FacetCount"
- },
- "type": "array"
+ "section": {
+ "type": "string"
}
},
"type": "object"
},
- "greystar.UnitLocation": {
+ "ft.NewsItem": {
"properties": {
- "location": {
+ "published_at": {
"type": "string"
},
- "parent": {
+ "title": {
"type": "string"
},
"url": {
@@ -102964,1030 +109127,943 @@
},
"type": "object"
},
- "greystar.UnitLocationList": {
+ "ft.NewsResponse": {
"properties": {
- "locations": {
+ "items": {
"items": {
- "$ref": "#/definitions/greystar.UnitLocation"
+ "$ref": "#/definitions/ft.NewsItem"
},
"type": "array"
- },
- "total_count": {
- "type": "integer"
}
},
"type": "object"
},
- "greystar.UnitProperty": {
+ "ft.SearchResponse": {
"properties": {
- "address": {
- "type": "string"
- },
- "city": {
+ "date_range": {
"type": "string"
},
- "latitude": {
- "type": "number"
+ "has_more": {
+ "type": "boolean"
},
- "longitude": {
- "type": "number"
+ "items": {
+ "items": {
+ "$ref": "#/definitions/ft.HeadlineItem"
+ },
+ "type": "array"
},
- "matching_units": {
+ "page": {
"type": "integer"
},
- "name": {
+ "q": {
"type": "string"
},
- "postal_code": {
+ "sort": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ft.articleResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "property_id": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/ft.ArticleResponse"
},
- "state": {
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ft.authorResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "state_name": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/ft.AuthorResponse"
},
- "thumbnail_url": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "units": {
- "items": {
- "$ref": "#/definitions/greystar.ListedUnit"
- },
- "type": "array"
- },
- "units_truncated": {
- "type": "boolean"
}
},
"type": "object"
},
- "greystar.UnitSearchResult": {
+ "ft.categoriesResponseDoc": {
"properties": {
- "facets": {
- "$ref": "#/definitions/greystar.UnitFacets"
- },
- "location": {
- "type": "string"
- },
- "page": {
- "type": "integer"
- },
- "per_page": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "properties": {
- "items": {
- "$ref": "#/definitions/greystar.UnitProperty"
- },
- "type": "array"
- },
- "total_count": {
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/ft.CategoriesResponse"
},
- "total_pages": {
- "type": "integer"
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "grubhub.AvailabilityResponse": {
+ "ft.headlinesResponseDoc": {
"properties": {
- "count": {
- "example": 2,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "fetched_at": {
- "type": "string"
- },
- "requested": {
- "description": "Requested is the id list as asked for, so a caller can tell which\nids Grubhub returned nothing for.",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "restaurants": {
- "items": {
- "$ref": "#/definitions/grubhub.RestaurantAvailability"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/ft.HeadlinesResponse"
},
- "source_url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "grubhub.MenuCategory": {
+ "ft.newsResponseDoc": {
"properties": {
- "available": {
- "example": true,
- "type": "boolean"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "category_id": {
- "example": "275127198073",
+ "data": {
+ "$ref": "#/definitions/ft.NewsResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ft.searchResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "items": {
- "items": {
- "$ref": "#/definitions/grubhub.MenuItem"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/ft.SearchResponse"
},
- "name": {
- "example": "Burgers",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "grubhub.MenuItem": {
+ "fussballde.AmateurStatRow": {
"properties": {
- "available": {
- "example": true,
- "type": "boolean"
+ "away": {
+ "$ref": "#/definitions/fussballde.TeamRef"
},
- "delivery_price": {
- "$ref": "#/definitions/grubhub.Money"
+ "competition_id": {
+ "type": "string"
},
- "description": {
+ "home": {
+ "$ref": "#/definitions/fussballde.TeamRef"
+ },
+ "league": {
+ "example": "Kreisliga C",
"type": "string"
},
- "image_url": {
+ "match_id": {
"type": "string"
},
- "item_id": {
- "example": "275127198449",
+ "player": {
+ "example": "Dominik Milaszewski",
"type": "string"
},
- "max_price": {
- "$ref": "#/definitions/grubhub.Money"
+ "player_id": {
+ "type": "string"
},
- "min_price": {
- "allOf": [
- {
- "$ref": "#/definitions/grubhub.Money"
- }
- ],
- "description": "MinPrice/MaxPrice bound an item whose price varies by the options\nchosen; they equal Price for a fixed-price item."
+ "position": {
+ "type": "integer"
},
- "name": {
- "example": "Cheeseburger",
+ "result": {
+ "example": "0:30",
"type": "string"
},
- "pickup_price": {
- "$ref": "#/definitions/grubhub.Money"
- },
- "popular": {
- "example": true,
- "type": "boolean"
+ "team": {
+ "$ref": "#/definitions/fussballde.TeamRef"
},
- "price": {
- "$ref": "#/definitions/grubhub.Money"
+ "team_type": {
+ "example": "Herren",
+ "type": "string"
},
- "tags": {
+ "values": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/fussballde.StatValue"
},
"type": "array"
}
},
"type": "object"
},
- "grubhub.MenuResponse": {
+ "fussballde.AmateurStatsResponse": {
"properties": {
- "categories": {
- "items": {
- "$ref": "#/definitions/grubhub.MenuCategory"
- },
- "type": "array"
+ "count": {
+ "type": "integer"
},
- "fetched_at": {
+ "federation_id": {
"type": "string"
},
- "item_count": {
- "example": 8,
+ "final": {
+ "example": false,
+ "type": "boolean"
+ },
+ "limit": {
"type": "integer"
},
- "name": {
- "type": "string"
+ "offset": {
+ "type": "integer"
},
- "restaurant_id": {
- "example": "6238960",
+ "rows": {
+ "items": {
+ "$ref": "#/definitions/fussballde.AmateurStatRow"
+ },
+ "type": "array"
+ },
+ "season": {
"type": "string"
},
- "source_url": {
+ "stat": {
"type": "string"
- }
- },
- "type": "object"
- },
- "grubhub.Money": {
- "properties": {
- "amount": {
- "example": 399,
- "type": "integer"
},
- "currency": {
- "example": "USD",
+ "stat_name": {
"type": "string"
},
- "value": {
- "example": 3.99,
- "type": "number"
+ "team_type": {
+ "type": "string"
}
},
"type": "object"
},
- "grubhub.Offer": {
+ "fussballde.ClubDetail": {
"properties": {
- "amount": {
- "$ref": "#/definitions/grubhub.OfferAmount"
- },
- "description": {
- "description": "Description is the full offer copy, including its fine print --\nminimum order rules, exclusions, redemption limits.",
+ "club_id": {
"type": "string"
},
- "end_date": {
+ "federation": {
"type": "string"
},
- "entitlement_id": {
+ "federation_id": {
"type": "string"
},
- "entitlement_type": {
- "example": "UNIFIED_REWARD",
- "type": "string"
+ "junior_team_count": {
+ "type": "integer"
},
- "offer_type": {
- "example": "ENTERPRISE_REWARD",
+ "name": {
+ "example": "Borussia Dortmund",
"type": "string"
},
- "pill_text": {
- "description": "PillText is the short badge Grubhub's own UI shows on a restaurant\ncard, e.g. \"$10 off\".",
- "example": "$10 off",
+ "profile": {
+ "items": {
+ "$ref": "#/definitions/fussballde.FactRow"
+ },
+ "type": "array"
+ },
+ "season": {
+ "example": "2627",
"type": "string"
},
- "redeem_item_count": {
- "example": 1,
+ "senior_team_count": {
"type": "integer"
},
- "title": {
- "example": "Free Double Cheeseburger",
+ "team_count": {
+ "type": "integer"
+ },
+ "teams": {
+ "items": {
+ "$ref": "#/definitions/fussballde.ClubTeam"
+ },
+ "type": "array"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "grubhub.OfferAmount": {
+ "fussballde.ClubHit": {
"properties": {
- "amount_maximum": {
- "example": 10,
- "type": "number"
+ "city": {
+ "example": "Dortmund",
+ "type": "string"
},
- "currency": {
- "example": "USD",
+ "club_id": {
+ "example": "00ES8GN8N400008VVV0AG08LVUPGND5I",
"type": "string"
},
- "order_minimum": {
- "example": 20,
- "type": "number"
+ "logo_url": {
+ "type": "string"
},
- "type": {
- "example": "MENU_ITEM",
+ "name": {
+ "example": "Borussia Dortmund",
"type": "string"
},
- "value": {
- "example": 0,
- "type": "number"
+ "postal_code": {
+ "example": "44139",
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "grubhub.OffersResponse": {
+ "fussballde.ClubMatchesResponse": {
"properties": {
+ "club_id": {
+ "type": "string"
+ },
"count": {
- "example": 1,
"type": "integer"
},
- "fetched_at": {
+ "date_from": {
"type": "string"
},
- "offers": {
- "items": {
- "$ref": "#/definitions/grubhub.Offer"
- },
- "type": "array"
- },
- "restaurant_id": {
- "example": "1338141",
+ "date_to": {
"type": "string"
},
- "source_url": {
+ "final": {
+ "type": "boolean"
+ },
+ "kind": {
"type": "string"
- }
- },
- "type": "object"
- },
- "grubhub.Rating": {
- "properties": {
- "count": {
- "example": 65,
+ },
+ "limit": {
"type": "integer"
},
- "value": {
- "example": 4.6,
- "type": "number"
+ "matches": {
+ "items": {
+ "$ref": "#/definitions/fussballde.MatchRow"
+ },
+ "type": "array"
+ },
+ "offset": {
+ "type": "integer"
}
},
"type": "object"
},
- "grubhub.RestaurantAvailability": {
+ "fussballde.ClubSearchResponse": {
"properties": {
- "available_for_delivery": {
- "description": "AvailableFor* is whether the channel is offered at all, as distinct\nfrom whether it is open right now.",
- "example": true,
- "type": "boolean"
- },
- "available_for_pickup": {
- "example": true,
- "type": "boolean"
- },
- "blacked_out": {
- "example": false,
- "type": "boolean"
- },
- "cuisines": {
+ "clubs": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/fussballde.ClubHit"
},
"type": "array"
},
- "delivers_to_location": {
- "description": "DeliversToLocation is whether this restaurant delivers to the\ncoordinate supplied in the request.",
- "example": true,
+ "count": {
+ "type": "integer"
+ },
+ "final": {
+ "example": false,
"type": "boolean"
},
- "delivery_estimate_minutes": {
- "example": 25,
+ "limit": {
"type": "integer"
},
- "delivery_fee": {
- "$ref": "#/definitions/grubhub.Money"
+ "offset": {
+ "type": "integer"
},
- "distance_miles": {
- "example": 0.23,
- "type": "number"
+ "place": {
+ "type": "string"
},
- "inundated": {
- "description": "Inundated marks a restaurant Grubhub flags as overloaded.",
- "example": false,
- "type": "boolean"
+ "text": {
+ "type": "string"
},
- "logo_url": {
+ "total": {
+ "example": 102,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "fussballde.ClubTeam": {
+ "properties": {
+ "competition": {
"type": "string"
},
- "next_delivery_time": {
- "description": "NextDeliveryTime is when Grubhub says the next delivery order can be\nsent, useful when open_delivery is false.",
+ "competition_id": {
"type": "string"
},
- "next_pickup_time": {
+ "competition_type": {
+ "example": "Freundschaftsspiele",
"type": "string"
},
- "open": {
- "description": "Open is the restaurant's overall state; the two channel flags below\ncan differ from it and from each other.",
- "example": false,
- "type": "boolean"
+ "name": {
+ "example": "Herren - Borussia Dortmund",
+ "type": "string"
},
- "open_delivery": {
- "example": false,
- "type": "boolean"
+ "team_id": {
+ "type": "string"
},
- "open_pickup": {
- "example": false,
- "type": "boolean"
+ "team_type": {
+ "example": "Herren",
+ "type": "string"
},
- "order_minimum": {
- "$ref": "#/definitions/grubhub.Money"
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "fussballde.ComparisonRow": {
+ "properties": {
+ "away": {
+ "example": "50",
+ "type": "string"
},
- "pickup_estimate_minutes": {
- "example": 10,
- "type": "integer"
+ "home": {
+ "example": "50",
+ "type": "string"
},
- "restaurant_id": {
- "example": "6238960",
+ "label": {
+ "example": "Duelle",
"type": "string"
}
},
"type": "object"
},
- "grubhub.RestaurantHours": {
+ "fussballde.CompetitionLink": {
"properties": {
- "day_of_week": {
- "example": "Monday",
+ "id": {
"type": "string"
},
- "end_time": {
- "example": "23:59:59.000",
+ "kind": {
+ "example": "Meisterschaft",
"type": "string"
},
- "hours": {
- "description": "Hours is Grubhub's own human-readable window.",
- "example": "12:00 AM - 12:00 AM",
+ "name": {
+ "example": "Bundesliga",
"type": "string"
},
- "start_time": {
- "example": "00:00:00.000",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "grubhub.RestaurantResponse": {
+ "fussballde.CompetitionOptionsResponse": {
"properties": {
- "address": {
+ "competition_type": {
+ "example": "1",
"type": "string"
},
- "chain_name": {
+ "federation_id": {
+ "example": "89",
"type": "string"
},
- "city": {
+ "season": {
+ "example": "2627",
"type": "string"
},
- "cuisines": {
+ "team_types": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/fussballde.TeamTypeOption"
},
"type": "array"
- },
- "delivery_fee": {
- "allOf": [
- {
- "$ref": "#/definitions/grubhub.Money"
- }
- ],
- "description": "Note the detail endpoint publishes fewer economics than the search\ncard: delivery_minimum and the ETA estimates come back null here, so\nuse /grubhub/search for those."
- },
- "fetched_at": {
+ }
+ },
+ "type": "object"
+ },
+ "fussballde.CompetitionRef": {
+ "properties": {
+ "area_id": {
"type": "string"
},
- "has_coupons": {
- "type": "boolean"
- },
- "hours": {
- "items": {
- "$ref": "#/definitions/grubhub.RestaurantHours"
- },
- "type": "array"
- },
- "is_new": {
- "type": "boolean"
- },
- "latitude": {
- "type": "number"
- },
- "logo_url": {
+ "id": {
+ "example": "031BFREJC800001BVS5489BUVUR5FS5A-G",
"type": "string"
},
- "longitude": {
- "type": "number"
- },
- "menu_path": {
+ "league_id": {
+ "example": "1",
"type": "string"
},
"name": {
- "example": "7th Street Burger Financial District",
+ "example": "Bundesliga",
"type": "string"
},
- "offers_delivery": {
- "type": "boolean"
- },
- "offers_pickup": {
- "type": "boolean"
- },
- "online_ordering": {
- "example": true,
- "type": "boolean"
- },
- "phone_number": {
+ "url": {
"type": "string"
- },
- "postal_code": {
+ }
+ },
+ "type": "object"
+ },
+ "fussballde.CompetitionsResponse": {
+ "properties": {
+ "area": {
"type": "string"
},
- "price_rating": {
- "type": "number"
+ "competition_type": {
+ "type": "string"
},
- "rating": {
- "$ref": "#/definitions/grubhub.Rating"
+ "competitions": {
+ "items": {
+ "$ref": "#/definitions/fussballde.CompetitionRef"
+ },
+ "type": "array"
},
- "restaurant_id": {
- "example": "6238960",
+ "federation_id": {
"type": "string"
},
- "source_url": {
+ "league": {
"type": "string"
},
- "state": {
+ "season": {
"type": "string"
},
- "tags": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "timezone": {
- "example": "America/New_York",
+ "team_type": {
"type": "string"
}
},
"type": "object"
},
- "grubhub.Review": {
+ "fussballde.FactRow": {
"properties": {
- "author_name": {
- "example": "Annie",
- "type": "string"
- },
- "created_at": {
- "description": "CreatedAt is RFC3339, converted from the upstream's epoch millis.",
- "example": "2026-08-09T12:05:42Z",
- "type": "string"
- },
- "diner_type": {
- "description": "DinerType distinguishes e.g. a Regular from a first-time diner.",
- "example": "Regular",
- "type": "string"
- },
- "items": {
- "description": "Items are the menu items this review is attached to -- Grubhub ties\neach review to what the diner actually ordered.",
- "items": {
- "$ref": "#/definitions/grubhub.ReviewedItem"
- },
- "type": "array"
- },
- "rating": {
- "example": 5,
- "type": "integer"
- },
- "review_id": {
+ "label": {
+ "example": "Gründungsjahr",
"type": "string"
},
- "reviewer_review_count": {
- "description": "ReviewerReviewCount is how many reviews this diner has written.",
- "example": 21,
- "type": "integer"
- },
- "sentiment": {
- "description": "Sentiment is Grubhub's own classification of the review.",
- "example": "Positive",
+ "url": {
"type": "string"
},
- "text": {
- "example": "Staff are great and burgers are great!",
+ "value": {
+ "example": "1909",
"type": "string"
}
},
"type": "object"
},
- "grubhub.ReviewedItem": {
+ "fussballde.Federation": {
"properties": {
- "item_id": {
- "example": "275127198449",
+ "id": {
+ "example": "89",
"type": "string"
},
"name": {
- "example": "Cheeseburger",
+ "example": "Deutschland",
"type": "string"
}
},
"type": "object"
},
- "grubhub.ReviewsResponse": {
+ "fussballde.FederationDetail": {
"properties": {
- "available_sorts": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "fetched_at": {
+ "federation_id": {
+ "example": "21",
"type": "string"
},
- "page": {
- "example": 1,
- "type": "integer"
- },
- "rating_count": {
- "type": "integer"
- },
- "restaurant_id": {
- "example": "6238960",
+ "name": {
+ "example": "Fußball- und Leichtathletik-Verband Westfalen",
"type": "string"
},
- "restaurant_score": {
- "type": "number"
- },
- "reviews": {
+ "news": {
"items": {
- "$ref": "#/definitions/grubhub.Review"
+ "$ref": "#/definitions/fussballde.NewsItem"
},
"type": "array"
},
- "source_url": {
- "type": "string"
- },
- "star_breakdown": {
- "$ref": "#/definitions/grubhub.StarBreakdown"
- },
- "total_count": {
- "example": 0,
- "type": "integer"
- },
- "total_pages": {
- "example": 0,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "grubhub.SearchResponse": {
- "properties": {
- "count": {
- "example": 20,
- "type": "integer"
+ "profile": {
+ "items": {
+ "$ref": "#/definitions/fussballde.FactRow"
+ },
+ "type": "array"
},
- "fetched_at": {
+ "regional_association": {
+ "example": "west",
"type": "string"
},
- "page": {
- "example": 1,
- "type": "integer"
- },
- "restaurants": {
+ "summary": {
"items": {
- "$ref": "#/definitions/grubhub.SearchRestaurant"
+ "$ref": "#/definitions/fussballde.FactRow"
},
"type": "array"
},
- "source_url": {
+ "url": {
"type": "string"
},
- "total_hits": {
- "example": 1457,
- "type": "integer"
- },
- "total_pages": {
- "example": 73,
- "type": "integer"
+ "verband_id": {
+ "example": "0123456789ABCDEF0123456700004130",
+ "type": "string"
}
},
"type": "object"
},
- "grubhub.SearchRestaurant": {
+ "fussballde.FiltersResponse": {
"properties": {
- "address": {
- "example": "199 Water Street",
- "type": "string"
+ "competition_types": {
+ "additionalProperties": {
+ "additionalProperties": {
+ "items": {
+ "$ref": "#/definitions/fussballde.Option"
+ },
+ "type": "array"
+ },
+ "type": "object"
+ },
+ "type": "object"
},
- "chain_name": {
+ "current_season": {
+ "example": "2627",
"type": "string"
},
- "city": {
- "example": "New York",
+ "default_competition_type": {
+ "example": "1",
"type": "string"
},
- "coupons_available": {
- "description": "CouponsAvailable and TotalOffers describe promotions without\nreproducing their (volatile) terms.",
- "example": false,
- "type": "boolean"
- },
- "cuisines": {
+ "federations": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/fussballde.Federation"
},
"type": "array"
},
- "delivery_fee": {
- "allOf": [
- {
- "$ref": "#/definitions/grubhub.Money"
- }
- ],
- "description": "Delivery and pickup economics."
- },
- "delivery_minimum": {
- "$ref": "#/definitions/grubhub.Money"
- },
- "delivery_time_minutes": {
- "example": 30,
+ "seasons": {
+ "additionalProperties": {
+ "items": {
+ "$ref": "#/definitions/fussballde.Option"
+ },
+ "type": "array"
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "fussballde.GoalEntry": {
+ "properties": {
+ "minute": {
+ "example": 80,
"type": "integer"
},
- "distance_miles": {
- "description": "DistanceMiles is the distance from the search coordinate.",
- "example": "0.4",
- "type": "string"
- },
- "latitude": {
- "type": "number"
- },
- "logo_url": {
+ "player": {
+ "example": "Daniel Jonathan Svensson",
"type": "string"
},
- "longitude": {
- "type": "number"
+ "stoppage_minute": {
+ "example": 2,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "fussballde.LeagueOption": {
+ "properties": {
+ "areas": {
+ "items": {
+ "$ref": "#/definitions/fussballde.Option"
+ },
+ "type": "array"
},
- "menu_path": {
+ "id": {
+ "example": "1",
"type": "string"
},
"name": {
- "example": "NYC Bagel and Coffee House",
- "type": "string"
- },
- "offers_delivery": {
- "example": true,
- "type": "boolean"
- },
- "offers_pickup": {
- "example": true,
- "type": "boolean"
- },
- "open": {
- "example": true,
- "type": "boolean"
- },
- "phone_number": {
+ "example": "Bundesliga",
"type": "string"
- },
- "pickup_time_minutes": {
- "example": 15,
+ }
+ },
+ "type": "object"
+ },
+ "fussballde.MatchCalendarResponse": {
+ "properties": {
+ "count": {
"type": "integer"
},
- "postal_code": {
- "example": "10038",
+ "date_from": {
"type": "string"
},
- "price_rating": {
- "description": "PriceRating is Grubhub's 1-4 \"$\" tier.",
- "example": 2,
- "type": "number"
- },
- "rating": {
- "$ref": "#/definitions/grubhub.Rating"
- },
- "restaurant_id": {
- "example": "14344720",
+ "date_to": {
"type": "string"
},
- "service_fee": {
- "$ref": "#/definitions/grubhub.Money"
+ "matches": {
+ "items": {
+ "$ref": "#/definitions/fussballde.MatchRow"
+ },
+ "type": "array"
},
- "state": {
- "example": "NY",
+ "postal_code": {
"type": "string"
},
- "total_menu_items": {
- "type": "integer"
- },
- "total_offers": {
- "type": "integer"
+ "truncated": {
+ "example": false,
+ "type": "boolean"
}
},
"type": "object"
},
- "grubhub.StarBreakdown": {
+ "fussballde.MatchComparisonResponse": {
"properties": {
- "1": {
- "example": 0,
- "type": "integer"
- },
- "2": {
- "example": 1,
- "type": "integer"
+ "match_id": {
+ "type": "string"
},
- "3": {
- "example": 0,
- "type": "integer"
+ "meetings": {
+ "items": {
+ "$ref": "#/definitions/fussballde.MatchRow"
+ },
+ "type": "array"
},
- "4": {
- "example": 5,
- "type": "integer"
+ "rows": {
+ "items": {
+ "$ref": "#/definitions/fussballde.ComparisonRow"
+ },
+ "type": "array"
},
- "5": {
- "example": 94,
- "type": "integer"
+ "view": {
+ "type": "string"
}
},
"type": "object"
},
- "grubhub.TimeSlotDay": {
+ "fussballde.MatchDetail": {
"properties": {
- "date": {
- "example": "2026-09-01",
- "type": "string"
- },
- "times": {
- "description": "Times is every orderable slot on this date, as RFC3339 timestamps\ncarrying the restaurant's real UTC offset for that instant -- Grubhub\nreports the grid in local wall-clock hours and quarter-hours, so this\nresolves DST rather than requiring the caller to.",
+ "assistants": {
"items": {
"type": "string"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "grubhub.TimepickerResponse": {
- "properties": {
- "days": {
+ },
+ "away": {
+ "$ref": "#/definitions/fussballde.TeamRef"
+ },
+ "away_goals": {
"items": {
- "$ref": "#/definitions/grubhub.TimeSlotDay"
+ "$ref": "#/definitions/fussballde.GoalEntry"
},
"type": "array"
},
- "earliest_order_send_time": {
- "description": "EarliestOrderSendTime is the very next moment Grubhub will accept an\norder for this restaurant, ASAP or scheduled.",
- "type": "string"
+ "away_score": {
+ "type": "integer"
},
- "fetched_at": {
+ "competition": {
+ "example": "Bundesliga",
"type": "string"
},
- "location_mode": {
- "example": "DELIVERY",
+ "competition_id": {
"type": "string"
},
- "restaurant_id": {
- "example": "698307",
+ "date": {
+ "example": "2026-10-09",
"type": "string"
},
- "source_url": {
+ "events": {
+ "items": {
+ "$ref": "#/definitions/fussballde.MatchEvent"
+ },
+ "type": "array"
+ },
+ "fourth_official": {
"type": "string"
},
- "time_zone": {
- "example": "America/New_York",
+ "halftime_score": {
+ "example": "0 : 0",
"type": "string"
- }
- },
- "type": "object"
- },
- "grubhub.availabilityResponseDoc": {
- "properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/grubhub.AvailabilityResponse"
+ "home": {
+ "$ref": "#/definitions/fussballde.TeamRef"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
- }
- },
- "type": "object"
- },
- "grubhub.menuResponseDoc": {
- "properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "home_goals": {
+ "items": {
+ "$ref": "#/definitions/fussballde.GoalEntry"
+ },
+ "type": "array"
+ },
+ "home_score": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/grubhub.MenuResponse"
+ "id": {
+ "type": "string"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
- }
- },
- "type": "object"
- },
- "grubhub.offersResponseDoc": {
- "properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
+ "match_number": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/grubhub.OffersResponse"
+ "matchday": {
+ "example": "5. Spieltag",
+ "type": "string"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
- }
- },
- "type": "object"
- },
- "grubhub.restaurantResponseDoc": {
- "properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
+ "note": {
+ "description": "Note is the site's own marker, such as nE or Absetzung.",
+ "example": "nE",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/grubhub.RestaurantResponse"
+ "referee": {
+ "type": "string"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
- }
- },
- "type": "object"
- },
- "grubhub.reviewsResponseDoc": {
- "properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
+ "result_qualifier": {
+ "description": "ResultQualifier says how a result was reached when it was not simply played out.",
+ "enum": [
+ "after_extra_time",
+ "after_penalties",
+ "awarded",
+ "court_ruling",
+ "administrative_decision",
+ "test_match"
+ ],
+ "example": "after_penalties",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/grubhub.ReviewsResponse"
+ "spectators": {
+ "type": "string"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "status": {
+ "enum": [
+ "finished",
+ "scheduled",
+ "cancelled",
+ "annulled",
+ "abandoned",
+ "no_show",
+ "other"
+ ],
+ "example": "finished",
+ "type": "string"
+ },
+ "time": {
+ "example": "20:30",
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "venue": {
+ "type": "string"
}
},
"type": "object"
},
- "grubhub.searchResponseDoc": {
+ "fussballde.MatchEvent": {
"properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "minute": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/grubhub.SearchResponse"
+ "side": {
+ "example": "home",
+ "type": "string"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "type": {
+ "example": "substitute",
+ "type": "string"
}
},
"type": "object"
},
- "grubhub.timepickerResponseDoc": {
+ "fussballde.MatchPlanResponse": {
"properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "competition_id": {
+ "type": "string"
+ },
+ "count": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/grubhub.TimepickerResponse"
+ "matches": {
+ "items": {
+ "$ref": "#/definitions/fussballde.MatchRow"
+ },
+ "type": "array"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "rounds": {
+ "description": "Rounds lists the rounds of a cup or tournament; pass a round id as competition_id to read that round alone.",
+ "items": {
+ "$ref": "#/definitions/fussballde.RoundRef"
+ },
+ "type": "array"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "guardian.ArticleResponse": {
+ "fussballde.MatchRow": {
"properties": {
- "authors": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "away": {
+ "$ref": "#/definitions/fussballde.TeamRef"
},
- "description": {
+ "away_score": {
+ "type": "integer"
+ },
+ "competition": {
+ "example": "Bundesliga",
"type": "string"
},
- "image_url": {
+ "date": {
+ "example": "2026-10-09",
"type": "string"
},
- "paragraphs": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "home": {
+ "$ref": "#/definitions/fussballde.TeamRef"
},
- "published_at": {
+ "home_score": {
+ "type": "integer"
+ },
+ "id": {
+ "example": "031BFTHDCC000000VS5489BUVUR5FS5A",
"type": "string"
},
- "section": {
+ "league": {
+ "example": "Kreisfreundschaftsspiele",
"type": "string"
},
- "title": {
+ "match_number": {
+ "example": "037",
"type": "string"
},
- "updated_at": {
+ "note": {
+ "description": "Note is the site's own marker, such as nE or Absetzung.",
+ "example": "nE",
"type": "string"
},
- "url": {
+ "result_qualifier": {
+ "description": "ResultQualifier says how a result was reached when it was not simply played out.",
+ "enum": [
+ "after_extra_time",
+ "after_penalties",
+ "awarded",
+ "court_ruling",
+ "administrative_decision",
+ "test_match"
+ ],
+ "example": "after_penalties",
"type": "string"
- }
- },
- "type": "object"
- },
- "guardian.AuthorArticle": {
- "properties": {
- "image_url": {
+ },
+ "round": {
+ "description": "Round is the round of a cup or tournament match, such as 1. Hauptrunde.",
+ "example": "2. Hauptrunde",
"type": "string"
},
- "published_at": {
+ "status": {
+ "enum": [
+ "finished",
+ "scheduled",
+ "cancelled",
+ "annulled",
+ "abandoned",
+ "no_show",
+ "other"
+ ],
+ "example": "finished",
"type": "string"
},
- "section": {
+ "team_type": {
+ "example": "D-Junioren",
"type": "string"
},
- "title": {
+ "time": {
+ "example": "20:30",
"type": "string"
},
"url": {
@@ -103996,36 +110072,39 @@
},
"type": "object"
},
- "guardian.AuthorResponse": {
+ "fussballde.MatchdayResponse": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/guardian.AuthorArticle"
- },
- "type": "array"
- },
- "bio": {
- "type": "string"
- },
- "image_url": {
- "type": "string"
- },
- "name": {
+ "competition_id": {
"type": "string"
},
- "page": {
+ "count": {
"type": "integer"
},
- "slug": {
+ "date": {
"type": "string"
},
- "total_pages": {
+ "matchday": {
+ "example": 7,
"type": "integer"
},
- "total_results": {
+ "matchday_count": {
+ "example": 34,
"type": "integer"
},
- "twitter_handle": {
+ "matches": {
+ "items": {
+ "$ref": "#/definitions/fussballde.MatchRow"
+ },
+ "type": "array"
+ },
+ "rounds": {
+ "description": "Rounds lists the rounds of a cup or tournament; pass a round id as competition_id to read that round.",
+ "items": {
+ "$ref": "#/definitions/fussballde.RoundRef"
+ },
+ "type": "array"
+ },
+ "title": {
"type": "string"
},
"url": {
@@ -104034,92 +110113,75 @@
},
"type": "object"
},
- "guardian.HeadlineItem": {
+ "fussballde.NationalScorer": {
"properties": {
- "author": {
+ "club": {
+ "example": "VfB Oldenburg",
"type": "string"
},
- "published_at": {
+ "club_id": {
"type": "string"
},
- "section": {
- "type": "string"
+ "goals": {
+ "type": "integer"
},
- "summary": {
- "type": "string"
+ "matches": {
+ "type": "integer"
},
- "title": {
+ "name": {
+ "example": "Mats Facklam",
"type": "string"
},
- "url": {
+ "player_id": {
"type": "string"
+ },
+ "position": {
+ "type": "integer"
}
},
"type": "object"
},
- "guardian.HeadlinesResponse": {
+ "fussballde.NationalTopScorersResponse": {
"properties": {
- "items": {
+ "levels": {
"items": {
- "$ref": "#/definitions/guardian.HeadlineItem"
+ "$ref": "#/definitions/fussballde.ScorerLevel"
},
"type": "array"
},
- "section": {
+ "note": {
+ "type": "string"
+ },
+ "team_type": {
"type": "string"
}
},
"type": "object"
},
- "guardian.LiveBlock": {
+ "fussballde.NewsArticle": {
"properties": {
- "author": {
+ "category": {
"type": "string"
},
- "id": {
+ "date": {
"type": "string"
},
- "paragraphs": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "published_at": {
+ "id": {
"type": "string"
},
- "title": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "guardian.LiveKeyEvent": {
- "properties": {
- "published_at": {
+ "image_caption": {
"type": "string"
},
- "title": {
+ "image_url": {
"type": "string"
- }
- },
- "type": "object"
- },
- "guardian.LiveResponse": {
- "properties": {
- "blocks": {
- "items": {
- "$ref": "#/definitions/guardian.LiveBlock"
- },
- "type": "array"
},
- "key_events": {
+ "paragraphs": {
"items": {
- "$ref": "#/definitions/guardian.LiveKeyEvent"
+ "type": "string"
},
"type": "array"
},
- "last_updated": {
+ "time": {
"type": "string"
},
"title": {
@@ -104131,19 +110193,25 @@
},
"type": "object"
},
- "guardian.TopicItem": {
+ "fussballde.NewsItem": {
"properties": {
- "kicker": {
- "description": "Kicker is the series or blog label Guardian shows above the headline.",
+ "category": {
+ "example": "Magazin",
"type": "string"
},
- "published_at": {
+ "date": {
+ "example": "2026-10-22",
"type": "string"
},
- "section": {
+ "excerpt": {
"type": "string"
},
- "summary": {
+ "id": {
+ "example": "10067512",
+ "type": "string"
+ },
+ "time": {
+ "example": "14:00",
"type": "string"
},
"title": {
@@ -104155,849 +110223,739 @@
},
"type": "object"
},
- "guardian.TopicPagination": {
+ "fussballde.NewsResponse": {
"properties": {
- "has_next": {
+ "count": {
+ "type": "integer"
+ },
+ "final": {
+ "example": false,
"type": "boolean"
},
- "next_page": {
- "type": "integer"
+ "items": {
+ "items": {
+ "$ref": "#/definitions/fussballde.NewsItem"
+ },
+ "type": "array"
},
- "page": {
+ "limit": {
"type": "integer"
},
- "total_pages": {
- "description": "TotalPages is the archive's last page (1 for a section front).",
+ "offset": {
"type": "integer"
},
- "total_results": {
- "description": "TotalResults is Guardian's article count for a tag archive.",
- "type": "integer"
+ "stream": {
+ "type": "string"
}
},
"type": "object"
},
- "guardian.TopicResponse": {
+ "fussballde.NewsSearchResponse": {
"properties": {
- "is_front": {
- "description": "IsFront is true for a curated section front (no archive paging) and\nfalse for a paginated tag archive.",
+ "channel": {
+ "type": "string"
+ },
+ "count": {
+ "type": "integer"
+ },
+ "final": {
+ "example": false,
"type": "boolean"
},
"items": {
"items": {
- "$ref": "#/definitions/guardian.TopicItem"
+ "$ref": "#/definitions/fussballde.NewsItem"
},
"type": "array"
},
- "pagination": {
- "$ref": "#/definitions/guardian.TopicPagination"
+ "limit": {
+ "type": "integer"
},
- "resolved_topic": {
- "description": "ResolvedTopic is the path Guardian actually served, which differs from\nTopic for edition-scoped fronts (technology -> uk/technology).",
- "type": "string"
+ "offset": {
+ "type": "integer"
},
- "topic": {
+ "q": {
"type": "string"
+ },
+ "total": {
+ "example": 1974,
+ "type": "integer"
}
},
"type": "object"
},
- "guardian.articleResponseDoc": {
+ "fussballde.Option": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/guardian.ArticleResponse"
+ "id": {
+ "example": "2627",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "name": {
+ "example": "26/27",
"type": "string"
}
},
"type": "object"
},
- "guardian.authorResponseDoc": {
+ "fussballde.PlayerAppearance": {
"properties": {
- "code": {
- "example": 200,
+ "goals": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/guardian.AuthorResponse"
+ "match": {
+ "$ref": "#/definitions/fussballde.MatchRow"
},
- "msg": {
- "example": "OK",
- "type": "string"
- }
- },
- "type": "object"
- },
- "guardian.headlinesResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ "minutes": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/guardian.HeadlinesResponse"
+ "subbed_in_minute": {
+ "type": "integer"
},
- "msg": {
- "example": "OK",
- "type": "string"
+ "subbed_out_minute": {
+ "type": "integer"
}
},
"type": "object"
},
- "guardian.liveResponseDoc": {
+ "fussballde.PlayerDetail": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "birth_date": {
+ "example": "1993-02-09",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/guardian.LiveResponse"
+ "facts": {
+ "items": {
+ "$ref": "#/definitions/fussballde.FactRow"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "name": {
+ "example": "Niclas Füllkrug",
"type": "string"
- }
- },
- "type": "object"
- },
- "guardian.topicResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/guardian.TopicResponse"
+ "player_id": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "profile_type": {
+ "example": "full",
"type": "string"
- }
- },
- "type": "object"
- },
- "gucci.CategoriesResponse": {
- "properties": {
- "categories": {
+ },
+ "stats": {
"items": {
- "$ref": "#/definitions/gucci.Category"
+ "$ref": "#/definitions/fussballde.StatEntry"
},
"type": "array"
},
- "country": {
+ "stats_season": {
+ "example": "26/27",
"type": "string"
},
- "departments": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "team": {
+ "example": "SV Werder Bremen",
+ "type": "string"
},
- "fetched_at": {
+ "team_id": {
"type": "string"
},
- "language": {
+ "team_type": {
+ "example": "Herren",
"type": "string"
},
- "source_url": {
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "gucci.Category": {
+ "fussballde.PlayerHit": {
"properties": {
- "category": {
+ "birth_date": {
+ "example": "1993-02-09",
"type": "string"
},
- "department": {
+ "name": {
+ "example": "Niclas Füllkrug",
"type": "string"
},
- "label": {
+ "player_id": {
+ "example": "01MH0AKR7C000007VV0AG13EVSFDFGE6",
"type": "string"
},
- "path": {
+ "team": {
+ "example": "SV Werder Bremen",
"type": "string"
- }
- },
- "type": "object"
- },
- "gucci.CategoryFacet": {
- "properties": {
- "count": {
- "type": "integer"
},
- "path": {
+ "team_type": {
+ "example": "Herren",
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "gucci.CategoryProduct": {
+ "fussballde.PlayerMatchesResponse": {
"properties": {
- "colors": {
+ "appearances": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/fussballde.PlayerAppearance"
},
"type": "array"
},
- "currency": {
+ "competition": {
+ "example": "SV Werder Bremen (Herren), Bundesliga",
"type": "string"
},
- "images": {
+ "competitions": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/fussballde.Option"
},
"type": "array"
},
- "in_stock": {
- "type": "boolean"
- },
- "in_stock_online": {
- "type": "boolean"
- },
- "in_stock_stores": {
- "type": "boolean"
+ "count": {
+ "type": "integer"
},
- "name": {
+ "player_id": {
"type": "string"
},
- "price": {
- "type": "number"
- },
- "style_code": {
+ "season": {
"type": "string"
},
- "url": {
+ "team_id": {
"type": "string"
},
- "variation_description": {
- "type": "string"
+ "teams": {
+ "items": {
+ "$ref": "#/definitions/fussballde.Option"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "gucci.CategoryResponse": {
+ "fussballde.PlayerSearchResponse": {
"properties": {
- "category": {
- "type": "string"
- },
- "country": {
- "type": "string"
+ "count": {
+ "type": "integer"
},
- "facets": {
- "items": {
- "$ref": "#/definitions/gucci.CategoryFacet"
- },
- "type": "array"
+ "final": {
+ "example": false,
+ "type": "boolean"
},
- "fetched_at": {
+ "first_name": {
"type": "string"
},
- "language": {
+ "last_name": {
"type": "string"
},
- "page": {
+ "limit": {
"type": "integer"
},
- "pages_count": {
+ "offset": {
"type": "integer"
},
- "products": {
- "items": {
- "$ref": "#/definitions/gucci.CategoryProduct"
- },
- "type": "array"
- },
- "products_count": {
- "type": "integer"
+ "place": {
+ "type": "string"
},
- "sort_options": {
+ "players": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/fussballde.PlayerHit"
},
"type": "array"
},
- "source_url": {
- "type": "string"
+ "total": {
+ "example": 1067,
+ "type": "integer"
}
},
"type": "object"
},
- "gucci.Product": {
+ "fussballde.PositionHistoryResponse": {
"properties": {
- "brand": {
+ "competition_id": {
"type": "string"
},
- "categories": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "category_codes": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "matchdays": {
+ "type": "integer"
},
- "colors": {
+ "teams": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/fussballde.TeamPositions"
},
"type": "array"
- },
- "currency": {
+ }
+ },
+ "type": "object"
+ },
+ "fussballde.PostalCode": {
+ "properties": {
+ "city": {
+ "example": "Dortmund",
"type": "string"
},
- "description": {
+ "district": {
+ "example": "Mitte",
"type": "string"
},
- "gender": {
+ "postal_code": {
+ "example": "44139",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "fussballde.PostalCodesResponse": {
+ "properties": {
+ "count": {
+ "type": "integer"
},
- "images": {
+ "postal_codes": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/fussballde.PostalCode"
},
"type": "array"
},
- "in_stock": {
- "type": "boolean"
+ "q": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "fussballde.RoundRef": {
+ "properties": {
+ "id": {
+ "example": "0316JUVAIC000000VS5489BTVU7GTVLE-R",
+ "type": "string"
},
- "in_stock_online": {
- "type": "boolean"
+ "name": {
+ "example": "2. Hauptrunde",
+ "type": "string"
},
- "in_stock_stores": {
+ "open": {
+ "description": "Open reports whether the page shows the round's matches inline.",
"type": "boolean"
- },
- "line": {
+ }
+ },
+ "type": "object"
+ },
+ "fussballde.ScorerLevel": {
+ "properties": {
+ "level": {
+ "example": "Ebene 4",
"type": "string"
},
- "materials": {
+ "scorers": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/fussballde.NationalScorer"
},
"type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "fussballde.ScorerRow": {
+ "properties": {
+ "goals": {
+ "type": "integer"
},
"name": {
+ "example": "Niclas Füllkrug",
"type": "string"
},
- "price": {
- "type": "number"
- },
- "sizes": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "sku": {
+ "player_id": {
"type": "string"
},
- "style_code": {
+ "position": {
+ "type": "integer"
+ },
+ "team": {
+ "$ref": "#/definitions/fussballde.TeamRef"
+ }
+ },
+ "type": "object"
+ },
+ "fussballde.SeasonResult": {
+ "properties": {
+ "competition": {
+ "example": "Bundesliga / Bundesliga",
"type": "string"
},
- "thumbnail_url": {
+ "result": {
+ "example": "2. PLATZ",
"type": "string"
},
- "url": {
+ "season": {
+ "example": "25/26",
"type": "string"
}
},
"type": "object"
},
- "gucci.ProductDetailResponse": {
+ "fussballde.SquadPlayer": {
"properties": {
- "availability": {
- "type": "string"
- },
- "brand": {
- "type": "string"
+ "appearances": {
+ "type": "integer"
},
- "breadcrumbs": {
+ "cells": {
"items": {
"type": "string"
},
"type": "array"
},
- "categories": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "goals": {
+ "type": "integer"
},
- "category_codes": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "minutes": {
+ "type": "integer"
},
- "colors": {
+ "name": {
+ "example": "Anton, Waldemar",
+ "type": "string"
+ },
+ "player_id": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "fussballde.StandingsRow": {
+ "properties": {
+ "cells": {
"items": {
"type": "string"
},
"type": "array"
},
- "currency": {
- "type": "string"
+ "drawn": {
+ "type": "integer"
},
- "description": {
- "type": "string"
+ "goal_difference": {
+ "type": "integer"
},
- "fetched_at": {
- "type": "string"
+ "goals_against": {
+ "type": "integer"
},
- "gender": {
- "type": "string"
+ "goals_for": {
+ "type": "integer"
},
- "images": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "lost": {
+ "type": "integer"
},
- "in_stock": {
- "type": "boolean"
+ "played": {
+ "type": "integer"
},
- "in_stock_online": {
- "type": "boolean"
+ "points": {
+ "type": "integer"
},
- "in_stock_stores": {
- "type": "boolean"
+ "position": {
+ "type": "integer"
},
- "line": {
- "type": "string"
+ "team": {
+ "$ref": "#/definitions/fussballde.TeamRef"
},
- "materials": {
+ "won": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "fussballde.StandingsTable": {
+ "properties": {
+ "columns": {
"items": {
"type": "string"
},
"type": "array"
},
- "name": {
- "type": "string"
- },
- "price": {
- "type": "number"
- },
- "sizes": {
+ "rows": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/fussballde.StandingsRow"
},
"type": "array"
},
- "sku": {
- "type": "string"
- },
- "source_url": {
- "type": "string"
- },
- "style_code": {
- "type": "string"
- },
- "url": {
+ "title": {
+ "example": "Heimtabelle",
"type": "string"
}
},
"type": "object"
},
- "gucci.RecommendationsResponse": {
+ "fussballde.StatEntry": {
"properties": {
- "count": {
- "type": "integer"
- },
- "country": {
- "type": "string"
- },
- "fetched_at": {
- "type": "string"
- },
- "model": {
- "type": "string"
- },
- "products": {
- "items": {
- "$ref": "#/definitions/gucci.RecommendedProduct"
- },
- "type": "array"
- },
- "source_url": {
+ "label": {
+ "example": "Tore",
"type": "string"
},
- "style_code": {
+ "value": {
+ "example": "6",
"type": "string"
}
},
"type": "object"
},
- "gucci.RecommendedProduct": {
+ "fussballde.StatValue": {
"properties": {
- "currency": {
- "type": "string"
- },
- "image_url": {
- "type": "string"
- },
- "in_stock_online": {
- "type": "boolean"
- },
- "in_stock_stores": {
- "type": "boolean"
- },
- "name": {
- "type": "string"
- },
- "price": {
- "type": "number"
- },
- "style_code": {
+ "label": {
+ "example": "Tore",
"type": "string"
},
- "url": {
+ "value": {
+ "example": "47",
"type": "string"
}
},
"type": "object"
},
- "gucci.SearchResponse": {
+ "fussballde.TableResponse": {
"properties": {
- "count": {
- "type": "integer"
- },
- "country": {
- "type": "string"
- },
- "fetched_at": {
+ "competition_id": {
"type": "string"
},
- "limit": {
- "type": "integer"
- },
- "page": {
+ "matchday": {
+ "example": 3,
"type": "integer"
},
- "products": {
+ "tables": {
"items": {
- "$ref": "#/definitions/gucci.Product"
+ "$ref": "#/definitions/fussballde.StandingsTable"
},
"type": "array"
},
- "query": {
- "type": "string"
- },
- "size": {
- "type": "string"
- },
- "size_facets": {
- "additionalProperties": {
- "type": "integer"
- },
- "description": "SizeFacets lists the live size values and counts returned by Gucci's\ncatalog for this query. A value can be passed back as Size.",
- "type": "object"
- },
- "source_url": {
+ "view": {
+ "example": "overall",
"type": "string"
- },
- "total_pages": {
- "type": "integer"
- },
- "total_results": {
- "type": "integer"
}
},
"type": "object"
},
- "gucci.SizeGuideResponse": {
+ "fussballde.TeamDetail": {
"properties": {
- "available": {
- "type": "boolean"
- },
- "fetched_at": {
+ "club_id": {
"type": "string"
},
- "headers": {
+ "club_profile": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/fussballde.FactRow"
},
"type": "array"
},
- "rows": {
+ "club_url": {
+ "type": "string"
+ },
+ "competitions": {
"items": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "$ref": "#/definitions/fussballde.CompetitionLink"
},
"type": "array"
},
- "source_url": {
- "type": "string"
- },
- "style_code": {
- "type": "string"
- },
- "title": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "gucci.Store": {
- "properties": {
- "address": {
+ "federation": {
+ "example": "Westfalen",
"type": "string"
},
- "book_appointment_url": {
+ "federation_id": {
"type": "string"
},
- "city": {
+ "highest_league": {
+ "example": "Bundesliga",
"type": "string"
},
- "departments": {
+ "history": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/fussballde.SeasonResult"
},
"type": "array"
},
- "latitude": {
- "type": "number"
- },
- "longitude": {
- "type": "number"
- },
- "name": {
+ "logo_url": {
"type": "string"
},
- "phone": {
+ "name": {
+ "example": "Borussia Dortmund",
"type": "string"
},
- "slug": {
- "type": "string"
+ "summary": {
+ "items": {
+ "$ref": "#/definitions/fussballde.FactRow"
+ },
+ "type": "array"
},
- "store_code": {
+ "team_id": {
"type": "string"
},
- "type": {
+ "team_type": {
+ "example": "Herren",
"type": "string"
},
"url": {
"type": "string"
+ },
+ "venues": {
+ "items": {
+ "$ref": "#/definitions/fussballde.FactRow"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "gucci.StoreDetailResponse": {
+ "fussballde.TeamMatchesResponse": {
"properties": {
- "city": {
- "type": "string"
+ "count": {
+ "type": "integer"
},
- "country": {
+ "date_from": {
"type": "string"
},
- "fetched_at": {
+ "date_to": {
"type": "string"
},
- "images": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "final": {
+ "type": "boolean"
},
- "name": {
+ "kind": {
"type": "string"
},
- "opening_hours": {
+ "limit": {
+ "type": "integer"
+ },
+ "matches": {
"items": {
- "$ref": "#/definitions/gucci.StoreOpeningHours"
+ "$ref": "#/definitions/fussballde.MatchRow"
},
"type": "array"
},
- "phone": {
- "type": "string"
- },
- "postal_code": {
- "type": "string"
- },
- "region": {
- "type": "string"
- },
- "slug": {
- "type": "string"
- },
- "source_url": {
- "type": "string"
- },
- "street_address": {
- "type": "string"
+ "offset": {
+ "type": "integer"
},
- "url": {
+ "team_id": {
"type": "string"
}
},
"type": "object"
},
- "gucci.StoreOpeningHours": {
+ "fussballde.TeamPositions": {
"properties": {
- "closes": {
- "type": "string"
- },
- "days": {
+ "positions": {
"items": {
- "type": "string"
+ "type": "integer"
},
"type": "array"
},
- "opens": {
- "type": "string"
+ "team": {
+ "$ref": "#/definitions/fussballde.TeamRef"
}
},
"type": "object"
},
- "gucci.StoreSearchResponse": {
+ "fussballde.TeamRef": {
"properties": {
- "count": {
- "type": "integer"
- },
- "fetched_at": {
+ "club_id": {
+ "example": "00ES8GN8N400008VVV0AG08LVUPGND5I",
"type": "string"
},
- "language": {
+ "logo_url": {
"type": "string"
},
- "market": {
+ "name": {
+ "example": "Borussia Dortmund",
"type": "string"
},
- "source_url": {
+ "team_id": {
+ "example": "011MI8V6UC000000VTVG0001VTR8C1K7",
"type": "string"
},
- "stores": {
- "items": {
- "$ref": "#/definitions/gucci.StoreSearchResult"
- },
- "type": "array"
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "gucci.StoreSearchResult": {
+ "fussballde.TeamSquadResponse": {
"properties": {
- "active": {
- "type": "boolean"
- },
- "address": {
- "type": "string"
- },
- "categories": {
+ "columns": {
"items": {
"type": "string"
},
"type": "array"
},
- "city": {
- "type": "string"
- },
- "latitude": {
- "type": "number"
- },
- "longitude": {
- "type": "number"
- },
- "name": {
- "type": "string"
- },
- "number": {
+ "count": {
"type": "integer"
},
- "phone": {
+ "kind": {
"type": "string"
},
- "services": {
+ "players": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/fussballde.SquadPlayer"
},
"type": "array"
},
- "type": {
+ "season": {
+ "type": "string"
+ },
+ "team_id": {
"type": "string"
}
},
"type": "object"
},
- "gucci.StoresResponse": {
+ "fussballde.TeamTypeOption": {
"properties": {
- "count": {
- "type": "integer"
- },
- "country": {
+ "id": {
+ "example": "1",
"type": "string"
},
- "departments": {
+ "leagues": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/fussballde.LeagueOption"
},
"type": "array"
},
- "fetched_at": {
- "type": "string"
- },
- "source_url": {
+ "name": {
+ "example": "Herren",
"type": "string"
- },
- "stores": {
- "items": {
- "$ref": "#/definitions/gucci.Store"
- },
- "type": "array"
}
},
"type": "object"
},
- "gucci.SuggestResponse": {
+ "fussballde.TopScorersResponse": {
"properties": {
- "fetched_at": {
+ "competition_id": {
"type": "string"
},
- "query": {
- "type": "string"
+ "count": {
+ "type": "integer"
},
- "source_url": {
- "type": "string"
+ "final": {
+ "example": false,
+ "type": "boolean"
},
- "suggestions": {
+ "limit": {
+ "type": "integer"
+ },
+ "offset": {
+ "type": "integer"
+ },
+ "scorers": {
"items": {
- "$ref": "#/definitions/gucci.SuggestedQuery"
+ "$ref": "#/definitions/fussballde.ScorerRow"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "gucci.SuggestedQuery": {
- "properties": {
- "query": {
- "type": "string"
},
- "result_count": {
- "type": "integer"
+ "title": {
+ "type": "string"
}
},
"type": "object"
},
- "gucci.categoriesResponseDoc": {
+ "fussballde.amateurStatsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/gucci.CategoriesResponse"
+ "$ref": "#/definitions/fussballde.AmateurStatsResponse"
},
"msg": {
"example": "OK",
@@ -105006,14 +110964,14 @@
},
"type": "object"
},
- "gucci.categoryResponseDoc": {
+ "fussballde.clubMatchesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/gucci.CategoryResponse"
+ "$ref": "#/definitions/fussballde.ClubMatchesResponse"
},
"msg": {
"example": "OK",
@@ -105022,14 +110980,14 @@
},
"type": "object"
},
- "gucci.productResponseDoc": {
+ "fussballde.clubResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/gucci.ProductDetailResponse"
+ "$ref": "#/definitions/fussballde.ClubDetail"
},
"msg": {
"example": "OK",
@@ -105038,14 +110996,14 @@
},
"type": "object"
},
- "gucci.recommendationsResponseDoc": {
+ "fussballde.clubSearchResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/gucci.RecommendationsResponse"
+ "$ref": "#/definitions/fussballde.ClubSearchResponse"
},
"msg": {
"example": "OK",
@@ -105054,14 +111012,14 @@
},
"type": "object"
},
- "gucci.searchResponseDoc": {
+ "fussballde.competitionOptionsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/gucci.SearchResponse"
+ "$ref": "#/definitions/fussballde.CompetitionOptionsResponse"
},
"msg": {
"example": "OK",
@@ -105070,14 +111028,14 @@
},
"type": "object"
},
- "gucci.sizeGuideResponseDoc": {
+ "fussballde.competitionsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/gucci.SizeGuideResponse"
+ "$ref": "#/definitions/fussballde.CompetitionsResponse"
},
"msg": {
"example": "OK",
@@ -105086,14 +111044,14 @@
},
"type": "object"
},
- "gucci.storeResponseDoc": {
+ "fussballde.federationResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/gucci.StoreDetailResponse"
+ "$ref": "#/definitions/fussballde.FederationDetail"
},
"msg": {
"example": "OK",
@@ -105102,14 +111060,14 @@
},
"type": "object"
},
- "gucci.storeSearchResponseDoc": {
+ "fussballde.filtersResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/gucci.StoreSearchResponse"
+ "$ref": "#/definitions/fussballde.FiltersResponse"
},
"msg": {
"example": "OK",
@@ -105118,14 +111076,14 @@
},
"type": "object"
},
- "gucci.storesResponseDoc": {
+ "fussballde.matchCalendarResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/gucci.StoresResponse"
+ "$ref": "#/definitions/fussballde.MatchCalendarResponse"
},
"msg": {
"example": "OK",
@@ -105134,14 +111092,14 @@
},
"type": "object"
},
- "gucci.suggestResponseDoc": {
+ "fussballde.matchComparisonResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/gucci.SuggestResponse"
+ "$ref": "#/definitions/fussballde.MatchComparisonResponse"
},
"msg": {
"example": "OK",
@@ -105150,199 +111108,174 @@
},
"type": "object"
},
- "gulfnews.AuthorArticle": {
+ "fussballde.matchPlanResponseDoc": {
"properties": {
- "summary": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "title": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/fussballde.MatchPlanResponse"
},
- "url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "gulfnews.AuthorResponse": {
+ "fussballde.matchResponseDoc": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/gulfnews.AuthorArticle"
- },
- "type": "array"
- },
- "bio": {
- "type": "string"
- },
- "job_title": {
- "type": "string"
- },
- "name": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "slug": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/fussballde.MatchDetail"
},
- "url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "hbr.ArticleResponse": {
+ "fussballde.matchdayResponseDoc": {
"properties": {
- "authors": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "body": {
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "from_magazine": {
- "type": "boolean"
- },
- "image_url": {
- "type": "string"
- },
- "published_at": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "title": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/fussballde.MatchdayResponse"
},
- "url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "hbr.CategoriesResponse": {
+ "fussballde.nationalTopScorersResponseDoc": {
"properties": {
- "groups": {
- "items": {
- "$ref": "#/definitions/hbr.CategoryGroup"
- },
- "type": "array"
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/fussballde.NationalTopScorersResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "hbr.Category": {
+ "fussballde.newsArticleResponseDoc": {
"properties": {
- "name": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "slug": {
+ "data": {
+ "$ref": "#/definitions/fussballde.NewsArticle"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "hbr.CategoryGroup": {
+ "fussballde.newsResponseDoc": {
"properties": {
- "categories": {
- "items": {
- "$ref": "#/definitions/hbr.Category"
- },
- "type": "array"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "name": {
+ "data": {
+ "$ref": "#/definitions/fussballde.NewsResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "hbr.HeadlineItem": {
+ "fussballde.newsSearchResponseDoc": {
"properties": {
- "authors": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "content_type": {
- "type": "string"
- },
- "image_url": {
- "type": "string"
- },
- "summary": {
- "type": "string"
- },
- "title": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "topic": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/fussballde.NewsSearchResponse"
},
- "url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "hbr.HeadlinesResponse": {
+ "fussballde.playerMatchesResponseDoc": {
"properties": {
- "items": {
- "items": {
- "$ref": "#/definitions/hbr.HeadlineItem"
- },
- "type": "array"
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/fussballde.PlayerMatchesResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "hbr.TopicItem": {
+ "fussballde.playerResponseDoc": {
"properties": {
- "authors": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "description": {
- "type": "string"
- },
- "from_magazine": {
- "type": "boolean"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "title": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/fussballde.PlayerDetail"
},
- "url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "hbr.TopicResponse": {
+ "fussballde.playerSearchResponseDoc": {
"properties": {
- "items": {
- "items": {
- "$ref": "#/definitions/hbr.TopicItem"
- },
- "type": "array"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "topic": {
+ "data": {
+ "$ref": "#/definitions/fussballde.PlayerSearchResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "hbr.articleResponseDoc": {
+ "fussballde.positionHistoryResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/hbr.ArticleResponse"
+ "$ref": "#/definitions/fussballde.PositionHistoryResponse"
},
"msg": {
"example": "OK",
@@ -105351,14 +111284,14 @@
},
"type": "object"
},
- "hbr.categoriesResponseDoc": {
+ "fussballde.postalCodesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/hbr.CategoriesResponse"
+ "$ref": "#/definitions/fussballde.PostalCodesResponse"
},
"msg": {
"example": "OK",
@@ -105367,14 +111300,14 @@
},
"type": "object"
},
- "hbr.headlinesResponseDoc": {
+ "fussballde.tableResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/hbr.HeadlinesResponse"
+ "$ref": "#/definitions/fussballde.TableResponse"
},
"msg": {
"example": "OK",
@@ -105383,14 +111316,14 @@
},
"type": "object"
},
- "hbr.topicResponseDoc": {
+ "fussballde.teamMatchesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/hbr.TopicResponse"
+ "$ref": "#/definitions/fussballde.TeamMatchesResponse"
},
"msg": {
"example": "OK",
@@ -105399,252 +111332,236 @@
},
"type": "object"
},
- "healthgrades.AwardHospital": {
+ "fussballde.teamResponseDoc": {
"properties": {
- "address": {
- "$ref": "#/definitions/healthgrades.FacilityAddress"
- },
- "awards": {
- "items": {
- "$ref": "#/definitions/healthgrades.HospitalAwardEntry"
- },
- "type": "array"
- },
- "description": {
- "type": "string"
- },
- "distance_miles": {
- "type": "number"
- },
- "id": {
- "type": "string"
- },
- "latitude": {
- "type": "number"
- },
- "longitude": {
- "type": "number"
- },
- "name": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "phone": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/fussballde.TeamDetail"
},
- "url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "healthgrades.CommunityAnswer": {
+ "fussballde.teamSquadResponseDoc": {
"properties": {
- "no": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "question": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/fussballde.TeamSquadResponse"
},
- "yes": {
- "type": "integer"
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "healthgrades.FacilityAddress": {
+ "fussballde.topScorersResponseDoc": {
"properties": {
- "city": {
- "type": "string"
- },
- "postal_code": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "state": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/fussballde.TopScorersResponse"
},
- "street": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "healthgrades.FacilityFAQ": {
+ "futgg.PlayerSortCatalog": {
"properties": {
- "answer": {
+ "game": {
"type": "string"
},
- "question": {
+ "groups": {
+ "items": {
+ "$ref": "#/definitions/futgg.PlayerSortGroup"
+ },
+ "type": "array"
+ },
+ "platform": {
"type": "string"
}
},
"type": "object"
},
- "healthgrades.FacilityFiltersResponse": {
+ "futgg.PlayerSortChoice": {
"properties": {
- "filters": {
- "items": {
- "$ref": "#/definitions/healthgrades.PhysicianFilterGroup"
- },
- "type": "array"
- },
- "query": {
+ "ascending": {
"type": "string"
},
- "sorts": {
- "items": {
- "$ref": "#/definitions/healthgrades.PhysicianSortOption"
- },
- "type": "array"
- },
- "type": {
+ "descending": {
"type": "string"
},
- "where": {
+ "label": {
"type": "string"
}
},
"type": "object"
},
- "healthgrades.FacilityHours": {
+ "futgg.PlayerSortGroup": {
"properties": {
- "day": {
+ "label": {
"type": "string"
},
- "hours": {
- "type": "string"
+ "values": {
+ "items": {
+ "$ref": "#/definitions/futgg.PlayerSortChoice"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "healthgrades.FacilityLocation": {
+ "futgg.PlayerSortResponseDoc": {
"properties": {
- "address": {
- "type": "string"
- },
- "name": {
- "type": "string"
+ "code": {
+ "type": "integer"
},
- "phone": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/futgg.PlayerSortCatalog"
},
- "url": {
+ "msg": {
"type": "string"
}
},
"type": "object"
},
- "healthgrades.FacilityProvider": {
+ "futgg.ResponseDoc": {
"properties": {
- "name": {
- "type": "string"
- },
- "rating": {
- "type": "number"
- },
- "rating_count": {
+ "code": {
"type": "integer"
},
- "specialty": {
- "type": "string"
+ "data": {
+ "additionalProperties": true,
+ "type": "object"
},
- "url": {
+ "msg": {
"type": "string"
}
},
"type": "object"
},
- "healthgrades.FacilityResponse": {
+ "gamerant.AuthorResponse": {
"properties": {
- "address": {
- "$ref": "#/definitions/healthgrades.FacilityAddress"
- },
- "categories": {
+ "articles": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/newsplatform.HeadlineItem"
},
"type": "array"
},
- "community_answers": {
- "items": {
- "$ref": "#/definitions/healthgrades.CommunityAnswer"
- },
- "type": "array"
+ "biography": {
+ "type": "string"
},
- "description": {
+ "image_url": {
"type": "string"
},
- "faqs": {
+ "name": {
+ "type": "string"
+ },
+ "social_links": {
"items": {
- "$ref": "#/definitions/healthgrades.FacilityFAQ"
+ "$ref": "#/definitions/valnet.AuthorSocialLink"
},
"type": "array"
},
- "hours": {
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "gamesradar.AuthorResponse": {
+ "properties": {
+ "articles": {
"items": {
- "$ref": "#/definitions/healthgrades.FacilityHours"
+ "$ref": "#/definitions/newsplatform.HeadlineItem"
},
"type": "array"
},
- "languages": {
+ "biography": {
"items": {
"type": "string"
},
"type": "array"
},
- "latitude": {
- "type": "number"
+ "has_next_page": {
+ "type": "boolean"
},
- "locations": {
- "items": {
- "$ref": "#/definitions/healthgrades.FacilityLocation"
- },
- "type": "array"
+ "job_title": {
+ "type": "string"
},
- "longitude": {
- "type": "number"
+ "name": {
+ "type": "string"
},
- "medical_services": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "page": {
+ "type": "integer"
},
- "name": {
+ "slug": {
"type": "string"
},
- "nearby": {
+ "social_links": {
"items": {
- "$ref": "#/definitions/healthgrades.NearbyFacility"
+ "$ref": "#/definitions/gamesradar.AuthorSocialLink"
},
"type": "array"
},
- "phone": {
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "gamesradar.AuthorSocialLink": {
+ "properties": {
+ "platform": {
"type": "string"
},
- "providers": {
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "gbnews.AuthorResponse": {
+ "properties": {
+ "articles": {
"items": {
- "$ref": "#/definitions/healthgrades.FacilityProvider"
+ "$ref": "#/definitions/newsplatform.HeadlineItem"
},
"type": "array"
},
- "rating": {
- "type": "number"
- },
- "services": {
+ "biography": {
"items": {
"type": "string"
},
"type": "array"
},
- "subtitle": {
+ "image_url": {
"type": "string"
},
- "type": {
- "enum": [
- "pharmacy",
- "urgent_care",
- "group_practice"
- ],
+ "name": {
+ "type": "string"
+ },
+ "role": {
+ "type": "string"
+ },
+ "slug": {
"type": "string"
},
"url": {
@@ -105653,1156 +111570,1051 @@
},
"type": "object"
},
- "healthgrades.FacilityResult": {
+ "gdelt.Article": {
"properties": {
- "about": {
+ "domain": {
+ "example": "example.com",
"type": "string"
},
- "affiliated_provider_count": {
- "type": "integer"
+ "language": {
+ "example": "English",
+ "type": "string"
},
- "awards": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "seen_at": {
+ "example": "2026-08-19T23:00:00Z",
+ "type": "string"
},
- "city": {
+ "social_image_url": {
+ "example": "https://www.example.com/images/social.jpg",
"type": "string"
},
- "distance_miles": {
- "type": "number"
- },
- "five_star_ratings_count": {
- "type": "integer"
- },
- "id": {
- "type": "string"
- },
- "latitude": {
- "type": "number"
- },
- "longitude": {
- "type": "number"
- },
- "name": {
- "type": "string"
- },
- "phone": {
- "type": "string"
- },
- "postal_code": {
- "type": "string"
- },
- "ratings_count": {
- "type": "integer"
- },
- "state": {
- "type": "string"
- },
- "street": {
- "type": "string"
- },
- "type": {
+ "source_country": {
+ "example": "United States",
"type": "string"
},
- "type_code": {
+ "title": {
+ "example": "Climate report warns of rising sea levels",
"type": "string"
},
"url": {
+ "example": "https://www.example.com/news/climate-report",
"type": "string"
}
},
"type": "object"
},
- "healthgrades.FacilitySearchResponse": {
+ "gdelt.ContextArticle": {
"properties": {
- "facilities": {
- "items": {
- "$ref": "#/definitions/healthgrades.FacilityResult"
- },
- "type": "array"
- },
- "filters": {
- "items": {
- "$ref": "#/definitions/healthgrades.PhysicianFilterGroup"
- },
- "type": "array"
- },
- "page": {
- "type": "integer"
- },
- "page_size": {
- "type": "integer"
- },
- "query": {
+ "context": {
+ "example": "The report, released Tuesday, warns that coastal cities face rising seas driven by accelerating climate change. Officials called for immediate action.",
"type": "string"
},
- "sort": {
+ "domain": {
+ "example": "example.com",
"type": "string"
},
- "sorts": {
- "items": {
- "$ref": "#/definitions/healthgrades.PhysicianSortOption"
- },
- "type": "array"
- },
- "total_pages": {
- "type": "integer"
- },
- "total_results": {
- "type": "integer"
+ "is_quote": {
+ "example": false,
+ "type": "boolean"
},
- "type": {
+ "language": {
+ "example": "ENGLISH",
"type": "string"
},
- "where": {
+ "seen_at": {
+ "example": "2026-08-19T23:00:00Z",
"type": "string"
- }
- },
- "type": "object"
- },
- "healthgrades.HealthArticleRef": {
- "properties": {
- "last_modified": {
+ },
+ "sentence": {
+ "example": "Coastal cities face rising seas driven by accelerating climate change.",
"type": "string"
},
- "slug": {
+ "social_image_url": {
+ "example": "https://www.example.com/images/social.jpg",
"type": "string"
},
- "topic": {
+ "title": {
+ "example": "Climate report warns of rising sea levels",
"type": "string"
},
"url": {
+ "example": "https://www.example.com/news/climate-report",
"type": "string"
}
},
"type": "object"
},
- "healthgrades.HealthArticleResponse": {
+ "gdelt.ContextResponse": {
"properties": {
- "authors": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "conditions": {
+ "articles": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/gdelt.ContextArticle"
},
"type": "array"
},
- "date_modified": {
- "type": "string"
- },
- "date_published": {
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "headline": {
- "type": "string"
- },
- "image_url": {
- "type": "string"
+ "count": {
+ "example": 8,
+ "type": "integer"
},
- "label": {
+ "fetched_at": {
+ "example": "2026-08-20T10:00:00Z",
"type": "string"
},
- "reviewed_by": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "sections": {
- "items": {
- "$ref": "#/definitions/healthgrades.HealthArticleSection"
- },
- "type": "array"
- },
- "slug": {
- "type": "string"
+ "maxrecords": {
+ "example": 75,
+ "type": "integer"
},
- "topic": {
+ "query": {
+ "example": "climate change",
"type": "string"
},
- "url": {
+ "sort": {
+ "example": "relevance",
"type": "string"
- }
- },
- "type": "object"
- },
- "healthgrades.HealthArticleSection": {
- "properties": {
- "lists": {
- "items": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "type": "array"
- },
- "paragraphs": {
- "items": {
- "type": "string"
- },
- "type": "array"
},
- "title": {
+ "source_url": {
+ "example": "https://api.gdeltproject.org/api/v2/context/context?format=json&maxrecords=75&mode=artlist&query=climate+change×pan=24h",
"type": "string"
}
},
"type": "object"
},
- "healthgrades.HealthArticlesResponse": {
+ "gdelt.SearchResponse": {
"properties": {
"articles": {
"items": {
- "$ref": "#/definitions/healthgrades.HealthArticleRef"
+ "$ref": "#/definitions/gdelt.Article"
},
"type": "array"
},
- "page": {
- "type": "integer"
- },
- "page_size": {
+ "count": {
+ "example": 12,
"type": "integer"
},
- "topic": {
+ "fetched_at": {
+ "example": "2026-08-20T10:00:00Z",
"type": "string"
},
- "total": {
- "type": "integer"
- },
- "total_pages": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "healthgrades.HealthTopic": {
- "properties": {
- "article_count": {
+ "maxrecords": {
+ "example": 75,
"type": "integer"
},
- "last_modified": {
+ "query": {
+ "example": "climate change",
"type": "string"
},
- "slug": {
+ "sort": {
+ "example": "relevance",
"type": "string"
},
- "url": {
+ "source_url": {
+ "example": "https://api.gdeltproject.org/api/v2/doc/doc?format=json&maxrecords=75&mode=artlist&query=climate+change",
"type": "string"
}
},
"type": "object"
},
- "healthgrades.HealthTopicsResponse": {
+ "gdelt.TVCapNlpEntityDetailsResponse": {
"properties": {
- "topics": {
+ "entities": {
"items": {
- "$ref": "#/definitions/healthgrades.HealthTopic"
+ "$ref": "#/definitions/gdelt.TVConceptEntity"
},
"type": "array"
},
- "total": {
- "type": "integer"
+ "fetched_at": {
+ "example": "2026-08-20T10:00:00Z",
+ "type": "string"
+ },
+ "source_url": {
+ "example": "https://api.gdeltproject.org/api/v2/tvai/tvai?format=json&mode=capnlpentitydetails&maxrecords=100",
+ "type": "string"
}
},
"type": "object"
},
- "healthgrades.HospitalAward": {
+ "gdelt.TVClip": {
"properties": {
- "category": {
+ "caption": {
+ "example": "climate",
"type": "string"
},
- "description": {
+ "caption_concepts": {
+ "example": "/M/0d063v",
"type": "string"
},
- "name": {
+ "clip_url": {
+ "example": "https://archive.org/details/CNNW_20190503_160000_Inside_Politics/start/3656",
"type": "string"
},
- "years": {
- "items": {
- "type": "integer"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "healthgrades.HospitalAwardEntry": {
- "properties": {
- "code": {
+ "matched_at": {
+ "example": "2019-05-03T17:00:56Z",
"type": "string"
},
- "matched": {
- "type": "boolean"
+ "onscreen_text": {
+ "example": "BREAKING NEWS: SEA LEVELS RISING",
+ "type": "string"
},
- "name": {
+ "show": {
+ "example": "Inside Politics",
"type": "string"
},
- "years": {
- "items": {
- "type": "integer"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "healthgrades.HospitalAwardFiltersResponse": {
- "properties": {
- "award": {
+ "show_start_at": {
+ "example": "2019-05-03T16:00:00Z",
"type": "string"
},
- "filters": {
- "items": {
- "$ref": "#/definitions/healthgrades.PhysicianFilterGroup"
- },
- "type": "array"
+ "station": {
+ "example": "cnn",
+ "type": "string"
},
- "sorts": {
+ "thumbnail_url": {
+ "example": "http://data.gdeltproject.org/televisionexplorer/thumbnails/CNNW_20190503_160000_Inside_Politics-003656.jpg",
+ "type": "string"
+ },
+ "transcript": {
+ "example": "climate change the",
+ "type": "string"
+ },
+ "visual_entities": {
+ "example": [
+ "person",
+ "news",
+ "weather"
+ ],
"items": {
- "$ref": "#/definitions/healthgrades.PhysicianSortOption"
+ "type": "string"
},
"type": "array"
}
},
"type": "object"
},
- "healthgrades.HospitalAwardsResponse": {
+ "gdelt.TVClipSearchResponse": {
"properties": {
- "award": {
- "enum": [
- "americas-best-hospitals",
- "specialty-excellence-americas-best-care",
- "patient-safety-excellence-award",
- "outstanding-patient-experience-award",
- "ob-gyn-care-excellence-awards",
- "state-rankings"
- ],
- "type": "string"
- },
- "city": {
- "type": "string"
- },
- "hospitals": {
+ "clips": {
"items": {
- "$ref": "#/definitions/healthgrades.AwardHospital"
+ "$ref": "#/definitions/gdelt.TVClip"
},
"type": "array"
},
- "page": {
- "type": "integer"
- },
- "page_size": {
+ "count": {
+ "example": 3,
"type": "integer"
},
- "region": {
- "type": "string"
- },
- "sort": {
- "enum": [
- "name",
- "distance"
- ],
- "type": "string"
- },
- "title": {
+ "fetched_at": {
+ "example": "2026-08-20T10:00:00Z",
"type": "string"
},
- "total": {
- "type": "integer"
- },
- "total_pages": {
+ "maxrecords": {
+ "example": 50,
"type": "integer"
},
- "year": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "healthgrades.HospitalClinicalRating": {
- "properties": {
- "measure": {
+ "query": {
+ "example": "cap:\"climate change\" station:CNN",
"type": "string"
},
- "procedure_or_condition": {
+ "sort": {
+ "example": "relevance",
"type": "string"
},
- "rating": {
- "description": "Rating is Healthgrades' outcome label, for example \"Better than\nExpected\", \"As Expected\", or \"Worse than Expected\" (returned as data).",
+ "source_url": {
+ "example": "https://api.gdeltproject.org/api/v2/tvai/tvai?format=json&maxrecords=50&mode=clipgallery&query=cap%3A%22climate+change%22+station%3ACNN",
"type": "string"
},
- "stars": {
- "type": "integer"
- },
- "type": {
- "description": "Type is the rating family, for example \"Complication Based Ratings\" or\n\"Mortality Based Ratings\" (observed; returned as data).",
+ "station": {
+ "example": "CNN",
"type": "string"
}
},
"type": "object"
},
- "healthgrades.HospitalPatientExperience": {
+ "gdelt.TVConceptEntity": {
"properties": {
- "comparison": {
+ "label": {
+ "example": "DONALD TRUMP",
"type": "string"
},
- "measure": {
+ "mid": {
+ "example": "/m/0cqt90",
"type": "string"
- },
- "percent": {
- "type": "integer"
}
},
"type": "object"
},
- "healthgrades.HospitalResponse": {
+ "gdelt.TVShowChartResponse": {
"properties": {
- "address": {
- "type": "string"
- },
- "awards": {
- "items": {
- "$ref": "#/definitions/healthgrades.HospitalAward"
- },
- "type": "array"
- },
- "clinical_ratings": {
- "items": {
- "$ref": "#/definitions/healthgrades.HospitalServiceLine"
- },
- "type": "array"
- },
- "description": {
+ "fetched_at": {
+ "example": "2026-08-20T10:00:00Z",
"type": "string"
},
- "name": {
+ "query": {
+ "example": "cap:\"trump\" station:CNN",
"type": "string"
},
- "patient_experience": {
+ "shows": {
"items": {
- "$ref": "#/definitions/healthgrades.HospitalPatientExperience"
+ "$ref": "#/definitions/gdelt.TVShowCount"
},
"type": "array"
},
- "phone": {
- "type": "string"
- },
- "url": {
+ "source_url": {
+ "example": "https://api.gdeltproject.org/api/v2/tvai/tvai?format=json&mode=showchart&query=cap%3A%22trump%22+station%3ACNN",
"type": "string"
}
},
"type": "object"
},
- "healthgrades.HospitalServiceLine": {
+ "gdelt.TVShowCount": {
"properties": {
- "name": {
- "type": "string"
+ "count": {
+ "example": 7.8383,
+ "type": "number"
},
- "ratings": {
- "items": {
- "$ref": "#/definitions/healthgrades.HospitalClinicalRating"
- },
- "type": "array"
+ "show": {
+ "example": "Anderson Cooper 360",
+ "type": "string"
}
},
"type": "object"
},
- "healthgrades.NearbyFacility": {
+ "gdelt.TVStation": {
"properties": {
- "address": {
- "type": "string"
- },
- "name": {
+ "id": {
+ "example": "CNN",
"type": "string"
},
- "status": {
+ "label": {
+ "example": "CNN",
"type": "string"
},
- "url": {
+ "label_long": {
+ "example": "CNN (1/1/2020 - Now)",
"type": "string"
}
},
"type": "object"
},
- "healthgrades.PhysicianFilterGroup": {
+ "gdelt.TVStationChartResponse": {
"properties": {
- "label": {
+ "fetched_at": {
+ "example": "2026-08-20T10:00:00Z",
"type": "string"
},
- "param": {
+ "query": {
+ "example": "cap:\"trump\" (station:CNN OR station:MSNBC)",
"type": "string"
},
- "values": {
+ "source_url": {
+ "example": "https://api.gdeltproject.org/api/v2/tvai/tvai?format=json&mode=stationchart&query=cap%3A%22trump%22+%28station%3ACNN+OR+station%3AMSNBC%29",
+ "type": "string"
+ },
+ "stations": {
"items": {
- "$ref": "#/definitions/healthgrades.PhysicianFilterValue"
+ "$ref": "#/definitions/gdelt.TVStationCount"
},
"type": "array"
}
},
"type": "object"
},
- "healthgrades.PhysicianFilterPlan": {
+ "gdelt.TVStationCount": {
"properties": {
- "id": {
- "type": "string"
+ "count": {
+ "example": 877267,
+ "type": "integer"
},
- "name": {
+ "station": {
+ "example": "CNN",
"type": "string"
}
},
"type": "object"
},
- "healthgrades.PhysicianFilterValue": {
+ "gdelt.TVStationDetailsResponse": {
"properties": {
- "count": {
- "type": "integer"
+ "fetched_at": {
+ "example": "2026-08-20T10:00:00Z",
+ "type": "string"
},
- "label": {
+ "source_url": {
+ "example": "https://api.gdeltproject.org/api/v2/tvai/tvai?format=json&mode=stationdetails",
"type": "string"
},
- "plans": {
+ "stations": {
"items": {
- "$ref": "#/definitions/healthgrades.PhysicianFilterPlan"
+ "$ref": "#/definitions/gdelt.TVStation"
},
"type": "array"
- },
- "selected": {
- "type": "boolean"
- },
- "value": {
- "type": "string"
}
},
"type": "object"
},
- "healthgrades.PhysicianFiltersResponse": {
+ "gdelt.TVTimelineResponse": {
"properties": {
- "filters": {
+ "fetched_at": {
+ "example": "2026-08-20T10:00:00Z",
+ "type": "string"
+ },
+ "query": {
+ "example": "cap:\"climate change\" station:CNN",
+ "type": "string"
+ },
+ "series": {
"items": {
- "$ref": "#/definitions/healthgrades.PhysicianFilterGroup"
+ "$ref": "#/definitions/gdelt.TimelineSeries"
},
"type": "array"
},
- "query": {
+ "source_url": {
+ "example": "https://api.gdeltproject.org/api/v2/tvai/tvai?format=json&mode=timelinevol&query=cap%3A%22climate+change%22+station%3ACNN",
"type": "string"
},
- "where": {
+ "station": {
+ "example": "CNN",
"type": "string"
}
},
"type": "object"
},
- "healthgrades.PhysicianOffice": {
+ "gdelt.TVVisualEntity": {
"properties": {
- "city": {
- "type": "string"
- },
- "latitude": {
- "type": "number"
- },
- "longitude": {
- "type": "number"
- },
- "name": {
- "type": "string"
- },
- "phone": {
- "type": "string"
- },
- "postal_code": {
- "type": "string"
- },
- "state": {
- "type": "string"
- },
- "street": {
+ "label": {
+ "example": "person",
"type": "string"
}
},
"type": "object"
},
- "healthgrades.PhysicianPractice": {
+ "gdelt.TVVisualEntityDetailsResponse": {
"properties": {
- "city": {
- "type": "string"
- },
- "country": {
- "type": "string"
- },
- "latitude": {
- "type": "number"
- },
- "longitude": {
- "type": "number"
- },
- "name": {
- "type": "string"
- },
- "postal_code": {
- "type": "string"
+ "entities": {
+ "items": {
+ "$ref": "#/definitions/gdelt.TVVisualEntity"
+ },
+ "type": "array"
},
- "region": {
+ "fetched_at": {
+ "example": "2026-08-20T10:00:00Z",
"type": "string"
},
- "street": {
+ "source_url": {
+ "example": "https://api.gdeltproject.org/api/v2/tvai/tvai?format=json&mode=visualentitydetails&maxrecords=100",
"type": "string"
}
},
"type": "object"
},
- "healthgrades.PhysicianRating": {
+ "gdelt.TVWordCloudEntry": {
"properties": {
"count": {
- "type": "integer"
- },
- "score": {
+ "example": 100,
"type": "number"
+ },
+ "label": {
+ "example": "Trump",
+ "type": "string"
}
},
"type": "object"
},
- "healthgrades.PhysicianResponse": {
+ "gdelt.TVWordCloudResponse": {
"properties": {
- "awards": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "image_url": {
+ "channel": {
+ "example": "caption",
"type": "string"
},
- "name": {
+ "fetched_at": {
+ "example": "2026-08-20T10:00:00Z",
"type": "string"
},
- "npi": {
+ "query": {
+ "example": "cap:\"trump\" station:CNN",
"type": "string"
},
- "practices": {
- "items": {
- "$ref": "#/definitions/healthgrades.PhysicianPractice"
- },
- "type": "array"
- },
- "profile_url": {
+ "source_url": {
+ "example": "https://api.gdeltproject.org/api/v2/tvai/tvai?format=json&mode=wordcloudcap&query=cap%3A%22trump%22+station%3ACNN",
"type": "string"
},
- "specialties": {
+ "words": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/gdelt.TVWordCloudEntry"
},
"type": "array"
}
},
"type": "object"
},
- "healthgrades.PhysicianSearchResponse": {
+ "gdelt.TimelinePoint": {
"properties": {
- "filters": {
- "items": {
- "$ref": "#/definitions/healthgrades.PhysicianFilterGroup"
- },
- "type": "array"
- },
- "page": {
- "type": "integer"
- },
- "page_size": {
- "type": "integer"
- },
- "physicians": {
- "items": {
- "$ref": "#/definitions/healthgrades.PhysicianSearchResult"
- },
- "type": "array"
- },
- "query": {
- "type": "string"
- },
- "sort": {
+ "date": {
+ "example": "2026-08-19T00:00:00Z",
"type": "string"
},
- "sorts": {
- "items": {
- "$ref": "#/definitions/healthgrades.PhysicianSortOption"
- },
- "type": "array"
- },
- "total_pages": {
- "type": "integer"
- },
- "total_results": {
- "type": "integer"
- },
- "where": {
- "type": "string"
+ "value": {
+ "example": 1.42,
+ "type": "number"
}
},
"type": "object"
},
- "healthgrades.PhysicianSearchResult": {
+ "gdelt.TimelineResponse": {
"properties": {
- "about": {
- "type": "string"
- },
- "accepts_new_patients": {
- "type": "boolean"
- },
- "affiliated_hospital_ids": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "age": {
- "type": "integer"
- },
- "distance_miles": {
- "type": "number"
- },
- "gender": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "image_url": {
- "type": "string"
- },
- "insurers": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "name": {
+ "fetched_at": {
+ "example": "2026-08-20T10:00:00Z",
"type": "string"
},
- "npi": {
+ "metric": {
+ "example": "volume",
"type": "string"
},
- "office": {
- "$ref": "#/definitions/healthgrades.PhysicianOffice"
- },
- "profile_url": {
+ "query": {
+ "example": "climate change",
"type": "string"
},
- "rating": {
- "$ref": "#/definitions/healthgrades.PhysicianRating"
- },
- "specialist_descriptions": {
+ "series": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/gdelt.TimelineSeries"
},
"type": "array"
},
- "specialty": {
- "type": "string"
- },
- "telehealth_available": {
- "type": "boolean"
- },
- "telehealth_only": {
- "type": "boolean"
- },
- "years_experience": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "healthgrades.PhysicianSortOption": {
- "properties": {
- "key": {
- "type": "string"
- },
- "label": {
+ "source_url": {
+ "example": "https://api.gdeltproject.org/api/v2/doc/doc?format=json&mode=timelinevol&query=climate+change",
"type": "string"
}
},
"type": "object"
},
- "healthgrades.SpecialtiesResponse": {
+ "gdelt.TimelineSeries": {
"properties": {
- "specialties": {
+ "points": {
"items": {
- "$ref": "#/definitions/healthgrades.Specialty"
+ "$ref": "#/definitions/gdelt.TimelinePoint"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "healthgrades.Specialty": {
- "properties": {
- "name": {
- "type": "string"
},
- "url": {
+ "series": {
+ "example": "climate change",
"type": "string"
}
},
"type": "object"
},
- "healthgrades.Suggestion": {
+ "gdelt.ToneChartArticle": {
"properties": {
- "label": {
+ "title": {
+ "example": "Climate report warns of rising sea levels",
"type": "string"
},
- "value": {
+ "url": {
+ "example": "https://www.example.com/news/climate-report",
"type": "string"
}
},
"type": "object"
},
- "healthgrades.SuggestionGroup": {
+ "gdelt.ToneChartBin": {
"properties": {
- "category": {
- "type": "string"
+ "bin": {
+ "example": -5,
+ "type": "integer"
},
- "suggestions": {
+ "count": {
+ "example": 12,
+ "type": "integer"
+ },
+ "top_articles": {
"items": {
- "$ref": "#/definitions/healthgrades.Suggestion"
+ "$ref": "#/definitions/gdelt.ToneChartArticle"
},
"type": "array"
- },
- "title": {
- "type": "string"
}
},
"type": "object"
},
- "healthgrades.SuggestionResponse": {
+ "gdelt.ToneChartResponse": {
"properties": {
- "groups": {
+ "bins": {
"items": {
- "$ref": "#/definitions/healthgrades.SuggestionGroup"
+ "$ref": "#/definitions/gdelt.ToneChartBin"
},
"type": "array"
+ },
+ "fetched_at": {
+ "example": "2026-08-20T10:00:00Z",
+ "type": "string"
+ },
+ "query": {
+ "example": "climate change",
+ "type": "string"
+ },
+ "source_url": {
+ "example": "https://api.gdeltproject.org/api/v2/doc/doc?format=json&mode=tonechart&query=climate+change",
+ "type": "string"
}
},
"type": "object"
},
- "healthgrades.facilityFiltersResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/healthgrades.FacilityFiltersResponse"
- }
- },
- "type": "object"
- },
- "healthgrades.facilityResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/healthgrades.FacilityResponse"
- }
- },
- "type": "object"
- },
- "healthgrades.facilitySearchResponseDoc": {
+ "gdelt.contextResponseDoc": {
"properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
"data": {
- "$ref": "#/definitions/healthgrades.FacilitySearchResponse"
+ "$ref": "#/definitions/gdelt.ContextResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "healthgrades.healthArticleResponseDoc": {
+ "gdelt.searchResponseDoc": {
"properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
"data": {
- "$ref": "#/definitions/healthgrades.HealthArticleResponse"
+ "$ref": "#/definitions/gdelt.SearchResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "healthgrades.healthArticlesResponseDoc": {
+ "gdelt.timelineResponseDoc": {
"properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
"data": {
- "$ref": "#/definitions/healthgrades.HealthArticlesResponse"
+ "$ref": "#/definitions/gdelt.TimelineResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "healthgrades.healthTopicsResponseDoc": {
+ "gdelt.toneChartResponseDoc": {
"properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
"data": {
- "$ref": "#/definitions/healthgrades.HealthTopicsResponse"
+ "$ref": "#/definitions/gdelt.ToneChartResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "healthgrades.hospitalAwardFiltersResponseDoc": {
+ "gdelt.tvCapNlpEntityDetailsResponseDoc": {
"properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
"data": {
- "$ref": "#/definitions/healthgrades.HospitalAwardFiltersResponse"
+ "$ref": "#/definitions/gdelt.TVCapNlpEntityDetailsResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "healthgrades.hospitalAwardsResponseDoc": {
+ "gdelt.tvSearchResponseDoc": {
"properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
"data": {
- "$ref": "#/definitions/healthgrades.HospitalAwardsResponse"
+ "$ref": "#/definitions/gdelt.TVClipSearchResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "healthgrades.hospitalResponseDoc": {
+ "gdelt.tvShowChartResponseDoc": {
"properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
"data": {
- "$ref": "#/definitions/healthgrades.HospitalResponse"
+ "$ref": "#/definitions/gdelt.TVShowChartResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "healthgrades.physicianFiltersResponseDoc": {
+ "gdelt.tvStationChartResponseDoc": {
"properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
"data": {
- "$ref": "#/definitions/healthgrades.PhysicianFiltersResponse"
+ "$ref": "#/definitions/gdelt.TVStationChartResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "healthgrades.physicianResponseDoc": {
+ "gdelt.tvStationDetailsResponseDoc": {
"properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
"data": {
- "$ref": "#/definitions/healthgrades.PhysicianResponse"
+ "$ref": "#/definitions/gdelt.TVStationDetailsResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "healthgrades.physicianSearchResponseDoc": {
+ "gdelt.tvTimelineResponseDoc": {
"properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
"data": {
- "$ref": "#/definitions/healthgrades.PhysicianSearchResponse"
+ "$ref": "#/definitions/gdelt.TVTimelineResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "healthgrades.specialtiesResponseDoc": {
+ "gdelt.tvVisualEntityDetailsResponseDoc": {
"properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
"data": {
- "$ref": "#/definitions/healthgrades.SpecialtiesResponse"
+ "$ref": "#/definitions/gdelt.TVVisualEntityDetailsResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "healthgrades.suggestionsResponseDoc": {
+ "gdelt.tvWordCloudResponseDoc": {
"properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
"data": {
- "$ref": "#/definitions/healthgrades.SuggestionResponse"
+ "$ref": "#/definitions/gdelt.TVWordCloudResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "hermes.CatalogueProduct": {
+ "geocoding.Address": {
"properties": {
- "last_modified": {
+ "ISO3166-2-lvl4": {
+ "description": "ISO 3166-2 code for the state or region level, such as `US-NY`.",
+ "example": "US-NY",
"type": "string"
},
- "product_id": {
- "description": "ProductID is the identifier Hermès uses in the product URL. It is NOT\nthe same string as the sku returned by hermes-category/hermes-search --\nsee the type doc on ProductsResponse.",
+ "ISO3166-2-lvl6": {
+ "description": "ISO 3166-2 code for the level-6 administrative area, when one exists.",
"type": "string"
},
- "slug": {
+ "city": {
+ "description": "City of the place.",
+ "example": "New York",
"type": "string"
},
- "url": {
+ "country": {
+ "description": "Country name of the place.",
+ "example": "United States",
"type": "string"
- }
- },
- "type": "object"
- },
- "hermes.CategoriesResponse": {
- "properties": {
- "categories": {
- "items": {
- "$ref": "#/definitions/hermes.Category"
- },
- "type": "array"
},
- "locale": {
+ "country_code": {
+ "description": "Two-letter country code of the place in lowercase, such as `us`.",
+ "example": "us",
"type": "string"
},
- "total": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "hermes.Category": {
- "properties": {
- "children": {
- "type": "integer"
+ "county": {
+ "description": "County of the place.",
+ "example": "New York County",
+ "type": "string"
},
- "code": {
+ "house_number": {
+ "description": "House number of the place.",
+ "example": "350",
"type": "string"
},
- "depth": {
- "type": "integer"
+ "neighbourhood": {
+ "description": "Neighbourhood of the place.",
+ "example": "Koreatown",
+ "type": "string"
},
- "name": {
+ "office": {
+ "description": "Office name of the place, such as `Empire State Building`.",
+ "example": "Empire State Building",
"type": "string"
},
- "parent_code": {
+ "postcode": {
+ "description": "Postal code of the place.",
+ "example": "10118",
"type": "string"
},
- "path": {
+ "road": {
+ "description": "Street name of the place.",
+ "example": "5th Avenue",
"type": "string"
},
- "url": {
+ "state": {
+ "description": "State or region of the place.",
+ "example": "New York",
+ "type": "string"
+ },
+ "state_district": {
+ "description": "State district of the place.",
+ "type": "string"
+ },
+ "suburb": {
+ "description": "Suburb or borough of the place.",
+ "example": "Manhattan",
+ "type": "string"
+ },
+ "town": {
+ "description": "Town of the place.",
+ "type": "string"
+ },
+ "village": {
+ "description": "Village of the place.",
"type": "string"
}
},
"type": "object"
},
- "hermes.CategoryResponse": {
+ "geocoding.LookupResponse": {
"properties": {
- "code": {
+ "query": {
+ "example": "W34633854,N123",
"type": "string"
},
- "description": {
+ "results": {
+ "items": {
+ "$ref": "#/definitions/geocoding.Place"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "geocoding.Place": {
+ "properties": {
+ "address": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/geocoding.Address"
+ }
+ ],
+ "description": "Structured address breakdown of the place."
+ },
+ "addresstype": {
+ "description": "Type of address the place represents, such as `office`.",
+ "example": "office",
"type": "string"
},
- "filters": {
+ "boundingbox": {
+ "description": "Bounding box of the place as four decimal-degree strings: south latitude, north latitude, west longitude, east longitude.",
+ "example": [
+ "40.7479255",
+ "40.7489585",
+ "-73.9865012",
+ "-73.9848166"
+ ],
"items": {
- "$ref": "#/definitions/hermes.Filter"
+ "type": "string"
},
"type": "array"
},
- "locale": {
+ "category": {
+ "description": "OpenStreetMap category of the place, such as `office`.",
+ "example": "office",
"type": "string"
},
- "name": {
+ "display_name": {
+ "description": "Full address of the place as a comma-separated string.",
+ "example": "Empire State Building, 350, 5th Avenue, New York, United States",
"type": "string"
},
- "page": {
- "type": "integer"
+ "extratags": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Additional OpenStreetMap tags of the place. Present only when `extratags` is requested.",
+ "type": "object"
},
- "page_size": {
- "type": "integer"
+ "importance": {
+ "description": "Importance score of the place; higher values mean a more prominent place.",
+ "example": 0.5803438355141769,
+ "type": "number"
},
- "path": {
+ "lat": {
+ "description": "Latitude of the place in decimal degrees, as a string.",
+ "example": "40.7484421",
"type": "string"
},
- "products": {
- "items": {
- "$ref": "#/definitions/hermes.Product"
- },
- "type": "array"
+ "licence": {
+ "description": "Licence notice for the OpenStreetMap data.",
+ "example": "Data © OpenStreetMap contributors, ODbL 1.0. http://osm.org/copyright",
+ "type": "string"
},
- "sort": {
+ "lon": {
+ "description": "Longitude of the place in decimal degrees, as a string.",
+ "example": "-73.9856589",
"type": "string"
},
- "title": {
+ "name": {
+ "description": "Name of the place.",
+ "example": "Empire State Building",
"type": "string"
},
- "total": {
+ "namedetails": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Alternative names of the place. Present only when `namedetails` is requested.",
+ "type": "object"
+ },
+ "osm_id": {
+ "description": "OpenStreetMap id of the object.",
+ "example": 34633854,
"type": "integer"
},
- "url": {
+ "osm_type": {
+ "description": "OpenStreetMap object type, such as `way`.",
+ "example": "way",
+ "type": "string"
+ },
+ "place_id": {
+ "description": "Numeric id of the place in the geocoding results.",
+ "example": 358220252,
+ "type": "integer"
+ },
+ "place_rank": {
+ "description": "Address rank of the place; for example `30` for a building.",
+ "example": 30,
+ "type": "integer"
+ },
+ "type": {
+ "description": "OpenStreetMap type of the place within its `category`, such as `yes`.",
+ "example": "yes",
"type": "string"
}
},
"type": "object"
},
- "hermes.Filter": {
+ "geocoding.SearchResponse": {
"properties": {
- "attribute": {
- "type": "string"
- },
- "name": {
+ "query": {
+ "description": "Query that was run. For a structured search, the address fields joined with commas.",
+ "example": "Empire State Building",
"type": "string"
},
- "values": {
+ "results": {
+ "description": "Places matching the query.",
"items": {
- "$ref": "#/definitions/hermes.FilterValue"
+ "$ref": "#/definitions/geocoding.Place"
},
"type": "array"
}
},
"type": "object"
},
- "hermes.FilterValue": {
+ "geocoding.lookupResponseDoc": {
"properties": {
- "count": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "name": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/geocoding.LookupResponse"
},
- "value": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "hermes.Product": {
+ "geocoding.reverseResponseDoc": {
"properties": {
- "color": {
- "type": "string"
- },
- "colorless": {
- "type": "boolean"
- },
- "currency": {
- "type": "string"
- },
- "department_code": {
- "type": "string"
- },
- "division_code": {
- "type": "string"
- },
- "family_code": {
- "type": "string"
- },
- "images": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "in_stock": {
- "type": "boolean"
- },
- "in_store": {
- "type": "boolean"
- },
- "more_colors": {
- "type": "boolean"
- },
- "personalizable": {
- "type": "boolean"
- },
- "price": {
- "type": "number"
- },
- "price_type": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "product_code": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/geocoding.Place"
},
- "size": {
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "geocoding.searchResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "sku": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/geocoding.SearchResponse"
},
- "slug": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "title": {
+ }
+ },
+ "type": "object"
+ },
+ "ghanaweb.ArchiveItem": {
+ "properties": {
+ "updated_at": {
"type": "string"
},
"url": {
@@ -106811,252 +112623,247 @@
},
"type": "object"
},
- "hermes.ProductResponse": {
+ "ghanaweb.ArchiveMonth": {
"properties": {
- "care_instructions": {
- "description": "CareInstructions, Gift and DeliveryReturns are Hermès' own HTML\nfragments, returned verbatim because their markup carries links and\nstructure that flattening to text would lose.",
+ "month": {
"type": "string"
},
- "categories": {
+ "updated_at": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ghanaweb.ArchiveMonthsResponse": {
+ "properties": {
+ "months": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/ghanaweb.ArchiveMonth"
},
"type": "array"
- },
- "color_name": {
- "type": "string"
- },
- "colors": {
+ }
+ },
+ "type": "object"
+ },
+ "ghanaweb.ArchiveResponse": {
+ "properties": {
+ "items": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/ghanaweb.ArchiveItem"
},
"type": "array"
},
- "currency": {
- "type": "string"
- },
- "delivery_and_returns": {
- "type": "string"
+ "limit": {
+ "type": "integer"
},
- "department_code": {
+ "month": {
"type": "string"
},
- "description": {
- "type": "string"
+ "page": {
+ "type": "integer"
},
- "dimensions": {
+ "total": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "ghanaweb.VideoItem": {
+ "properties": {
+ "id": {
"type": "string"
},
- "division_code": {
+ "image_url": {
"type": "string"
},
- "family_code": {
+ "published_at": {
"type": "string"
},
- "gender": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "gift": {
+ "title": {
"type": "string"
},
- "images": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "in_stock": {
- "type": "boolean"
- },
- "in_store": {
- "type": "boolean"
- },
- "locale": {
+ "url": {
"type": "string"
},
- "made_in": {
+ "views": {
"type": "string"
- },
- "materials": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "personalizable": {
- "type": "boolean"
- },
- "price": {
- "type": "number"
- },
- "price_type": {
+ }
+ },
+ "type": "object"
+ },
+ "ghanaweb.VideoResponse": {
+ "properties": {
+ "embed_url": {
"type": "string"
},
- "product_code": {
+ "id": {
"type": "string"
},
- "size": {
+ "image_url": {
"type": "string"
},
- "sku": {
+ "published_at": {
"type": "string"
},
- "slug": {
+ "title": {
"type": "string"
},
- "title": {
+ "updated_at": {
"type": "string"
},
"url": {
"type": "string"
- },
- "variants": {
- "$ref": "#/definitions/hermes.Variants"
}
},
"type": "object"
},
- "hermes.ProductsResponse": {
+ "ghanaweb.VideoSection": {
"properties": {
- "limit": {
- "type": "integer"
- },
- "locale": {
+ "name": {
"type": "string"
},
- "page": {
- "type": "integer"
+ "slug": {
+ "type": "string"
},
- "products": {
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ghanaweb.VideoSectionsResponse": {
+ "properties": {
+ "sections": {
"items": {
- "$ref": "#/definitions/hermes.CatalogueProduct"
+ "$ref": "#/definitions/ghanaweb.VideoSection"
},
"type": "array"
- },
- "total": {
- "type": "integer"
}
},
"type": "object"
},
- "hermes.RecommendationsResponse": {
+ "ghanaweb.VideosResponse": {
"properties": {
- "locale": {
- "type": "string"
- },
- "shelves": {
+ "items": {
"items": {
- "$ref": "#/definitions/hermes.Shelf"
+ "$ref": "#/definitions/ghanaweb.VideoItem"
},
"type": "array"
},
- "sku": {
+ "section": {
"type": "string"
}
},
"type": "object"
},
- "hermes.SearchResponse": {
+ "gizmodo.AuthorResponse": {
"properties": {
- "filters": {
+ "articles": {
"items": {
- "$ref": "#/definitions/hermes.Filter"
+ "$ref": "#/definitions/newsplatform.HeadlineItem"
},
"type": "array"
},
- "locale": {
+ "biography": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "image_url": {
"type": "string"
},
- "page": {
- "type": "integer"
+ "name": {
+ "type": "string"
},
- "page_size": {
- "type": "integer"
+ "role": {
+ "type": "string"
},
- "products": {
+ "social_links": {
"items": {
- "$ref": "#/definitions/hermes.Product"
+ "$ref": "#/definitions/gizmodo.AuthorSocialLink"
},
"type": "array"
},
- "query": {
- "type": "string"
- },
- "results_for": {
- "description": "ResultsFor is the term Hermès actually searched for, which can differ\nfrom query when it applies its own spelling correction. Empty when\nupstream reports no correction.",
+ "url": {
"type": "string"
- },
- "total": {
- "type": "integer"
}
},
"type": "object"
},
- "hermes.Shelf": {
+ "gizmodo.AuthorSocialLink": {
"properties": {
- "name": {
+ "type": {
"type": "string"
},
- "products": {
- "items": {
- "$ref": "#/definitions/hermes.Product"
- },
- "type": "array"
- },
- "total": {
- "type": "integer"
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "hermes.Store": {
+ "globalnews.AuthorResponse": {
"properties": {
- "appointment_in_store": {
- "type": "boolean"
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/newsplatform.HeadlineItem"
+ },
+ "type": "array"
},
- "city": {
- "type": "string"
+ "biography": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "continent": {
+ "image_url": {
"type": "string"
},
- "country": {
+ "name": {
"type": "string"
},
- "country_code": {
+ "title": {
"type": "string"
},
- "id": {
+ "url": {
"type": "string"
- },
- "images": {
+ }
+ },
+ "type": "object"
+ },
+ "globeandmail.ArticleResponse": {
+ "properties": {
+ "authors": {
"items": {
"type": "string"
},
"type": "array"
},
- "latitude": {
- "type": "number"
+ "dateline": {
+ "type": "string"
},
- "longitude": {
- "type": "number"
+ "description": {
+ "type": "string"
},
- "name": {
+ "image_url": {
"type": "string"
},
- "opening_hours": {
+ "paragraphs": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "published_at": {
"type": "string"
},
- "phone": {
+ "section": {
"type": "string"
},
- "postal_code": {
+ "title": {
"type": "string"
},
- "street": {
+ "updated_at": {
"type": "string"
},
"url": {
@@ -107065,70 +112872,40 @@
},
"type": "object"
},
- "hermes.StoresResponse": {
+ "globeandmail.AuthorResponse": {
"properties": {
- "locale": {
- "type": "string"
- },
- "stores": {
+ "articles": {
"items": {
- "$ref": "#/definitions/hermes.Store"
+ "$ref": "#/definitions/globeandmail.HeadlineItem"
},
"type": "array"
},
- "total": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "hermes.SuggestResponse": {
- "properties": {
- "categories": {
+ "biography": {
"items": {
- "$ref": "#/definitions/hermes.SuggestedCategory"
+ "type": "string"
},
"type": "array"
},
- "locale": {
+ "email": {
"type": "string"
},
- "products": {
- "items": {
- "$ref": "#/definitions/hermes.SuggestedProduct"
- },
- "type": "array"
- },
- "query": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "hermes.SuggestedCategory": {
- "properties": {
- "code": {
+ "image_url": {
"type": "string"
},
- "label": {
+ "job_title": {
"type": "string"
},
- "results": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "hermes.SuggestedProduct": {
- "properties": {
- "image": {
+ "location": {
"type": "string"
},
- "label": {
+ "name": {
"type": "string"
},
- "sku": {
- "type": "string"
+ "social_links": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
"url": {
"type": "string"
@@ -107136,1364 +112913,1682 @@
},
"type": "object"
},
- "hermes.Variant": {
+ "globeandmail.HeadlineItem": {
"properties": {
- "color": {
+ "author": {
"type": "string"
},
- "image": {
+ "image_url": {
"type": "string"
},
- "in_stock": {
- "type": "boolean"
- },
- "price": {
- "type": "number"
- },
- "size": {
+ "published_at": {
"type": "string"
},
- "sku": {
+ "summary": {
"type": "string"
},
"title": {
"type": "string"
},
+ "type": {
+ "type": "string"
+ },
"url": {
"type": "string"
}
},
"type": "object"
},
- "hermes.Variants": {
+ "globeandmail.HeadlinesResponse": {
"properties": {
- "colors": {
+ "items": {
"items": {
- "$ref": "#/definitions/hermes.Variant"
+ "$ref": "#/definitions/newsplatform.HeadlineItem"
},
"type": "array"
},
- "sizes": {
+ "section": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "globeandmail.NewsResponse": {
+ "properties": {
+ "items": {
"items": {
- "$ref": "#/definitions/hermes.Variant"
+ "$ref": "#/definitions/newsplatform.HeadlineItem"
},
"type": "array"
}
},
"type": "object"
},
- "hermes.categoriesResponseDoc": {
+ "globeandmail.SectionsResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/hermes.CategoriesResponse"
- },
- "msg": {
- "example": "ok",
- "type": "string"
+ "sections": {
+ "items": {
+ "$ref": "#/definitions/newsplatform.Section"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "hermes.categoryResponseDoc": {
+ "globeandmail.articleResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/hermes.CategoryResponse"
+ "$ref": "#/definitions/globeandmail.ArticleResponse"
},
"msg": {
- "example": "ok",
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "hermes.productResponseDoc": {
+ "globeandmail.authorResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/hermes.ProductResponse"
+ "$ref": "#/definitions/globeandmail.AuthorResponse"
},
"msg": {
- "example": "ok",
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "hermes.productsResponseDoc": {
+ "globeandmail.headlinesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/hermes.ProductsResponse"
+ "$ref": "#/definitions/globeandmail.HeadlinesResponse"
},
"msg": {
- "example": "ok",
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "hermes.recommendationsResponseDoc": {
+ "globeandmail.newsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/hermes.RecommendationsResponse"
+ "$ref": "#/definitions/globeandmail.NewsResponse"
},
"msg": {
- "example": "ok",
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "hermes.searchResponseDoc": {
+ "globeandmail.sectionsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/hermes.SearchResponse"
+ "$ref": "#/definitions/globeandmail.SectionsResponse"
},
"msg": {
- "example": "ok",
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "hermes.storesResponseDoc": {
+ "glovo.Attribute": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/hermes.StoresResponse"
- },
- "msg": {
- "example": "ok",
+ "name": {
"type": "string"
+ },
+ "price_impact": {
+ "type": "number"
}
},
"type": "object"
},
- "hermes.suggestResponseDoc": {
+ "glovo.AttributeGroup": {
"properties": {
- "code": {
- "example": 200,
+ "attributes": {
+ "items": {
+ "$ref": "#/definitions/glovo.Attribute"
+ },
+ "type": "array"
+ },
+ "max": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/hermes.SuggestResponse"
+ "min": {
+ "type": "integer"
},
- "msg": {
- "example": "ok",
+ "multiple_selection": {
+ "type": "boolean"
+ },
+ "name": {
"type": "string"
}
},
"type": "object"
},
- "hindustantimes.AuthorResponse": {
+ "glovo.CategoriesResponse": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/hindustantimes.HeadlineItem"
- },
- "type": "array"
- },
- "biography": {
+ "categories": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/glovo.Category"
},
"type": "array"
},
- "email": {
- "type": "string"
- },
- "facebook_url": {
- "type": "string"
- },
- "image_url": {
- "type": "string"
- },
- "linkedin_url": {
+ "city": {
"type": "string"
},
- "name": {
+ "city_code": {
"type": "string"
},
- "twitter_url": {
+ "country": {
"type": "string"
},
- "url": {
+ "language": {
"type": "string"
}
},
"type": "object"
},
- "hindustantimes.HeadlineItem": {
+ "glovo.Category": {
"properties": {
- "author": {
- "type": "string"
+ "enabled": {
+ "type": "boolean"
},
- "image_url": {
- "type": "string"
+ "id": {
+ "description": "ID is the value /glovo/stores/filters and /glovo/stores take as\ncategory_id.",
+ "type": "integer"
},
- "published_at": {
+ "name": {
+ "description": "Name is Glovo's internal category key (for example RESTAURANT).",
"type": "string"
},
- "summary": {
+ "open": {
+ "type": "boolean"
+ },
+ "single_store_slug": {
"type": "string"
},
"title": {
"type": "string"
},
"type": {
- "type": "string"
- },
- "url": {
+ "description": "Type is STORES for a store category; other types (for example SHIPMENT\nfor package delivery) have no store list.",
"type": "string"
}
},
"type": "object"
},
- "hm.CategoriesResponse": {
+ "glovo.CitiesResponse": {
"properties": {
- "categories": {
+ "cities": {
"items": {
- "$ref": "#/definitions/hm.CategoryEntry"
+ "$ref": "#/definitions/glovo.CityRef"
},
"type": "array"
},
- "fetched_at": {
- "type": "string"
+ "countries": {
+ "description": "Countries lists every country code Glovo serves, regardless of the\ncountry filter, so the filter's value space is discoverable.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "source_url": {
+ "country": {
"type": "string"
+ },
+ "total_results": {
+ "type": "integer"
}
},
"type": "object"
},
- "hm.CategoryEntry": {
+ "glovo.CityRef": {
"properties": {
- "category_id": {
- "type": "string"
- },
- "department": {
- "type": "string"
- },
- "name": {
+ "code": {
"type": "string"
},
- "section": {
+ "country": {
"type": "string"
},
- "url": {
+ "slug": {
"type": "string"
}
},
"type": "object"
},
- "hm.ColorSwatch": {
+ "glovo.CityResponse": {
"properties": {
- "article_id": {
+ "code": {
"type": "string"
},
- "color_code": {
+ "content_language_code": {
"type": "string"
},
- "image_url": {
+ "country": {
+ "type": "string"
+ },
+ "currency": {
+ "type": "string"
+ },
+ "enabled": {
+ "type": "boolean"
+ },
+ "language_code": {
"type": "string"
},
"name": {
"type": "string"
},
- "url": {
+ "slug": {
+ "type": "string"
+ },
+ "supported_languages": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "timezone": {
"type": "string"
}
},
"type": "object"
},
- "hm.ListingResponse": {
+ "glovo.Collection": {
"properties": {
- "category_id": {
- "type": "string"
- },
- "count": {
- "type": "integer"
+ "children": {
+ "items": {
+ "$ref": "#/definitions/glovo.Collection"
+ },
+ "type": "array"
},
- "fetched_at": {
+ "name": {
"type": "string"
},
- "is_new": {
- "type": "boolean"
- },
- "page": {
- "type": "integer"
- },
- "page_size": {
- "type": "integer"
+ "slug": {
+ "description": "Slug is the value /glovo/store/products takes as collection.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "glovo.FeeTier": {
+ "properties": {
+ "currency": {
+ "type": "string"
},
- "products": {
- "items": {
- "$ref": "#/definitions/hm.ProductSummary"
- },
- "type": "array"
+ "lower_bound": {
+ "description": "LowerBound and UpperBound are the basket values the tier covers.",
+ "type": "number"
},
- "sort": {
+ "strategy": {
+ "description": "Strategy is Glovo's name for how the surcharge is applied, for example CAPPED.",
"type": "string"
},
- "source_url": {
+ "surcharge": {
+ "description": "Surcharge is the extra fee charged while the basket is in this tier.",
+ "type": "number"
+ },
+ "upper_bound": {
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "glovo.Filter": {
+ "properties": {
+ "group": {
+ "description": "Group is Glovo's name for the filter family, for example \"Food type\".",
"type": "string"
},
- "total_hits": {
+ "id": {
+ "description": "ID is the value /glovo/stores takes as filter_id.",
"type": "integer"
},
- "total_pages": {
- "type": "integer"
+ "title": {
+ "type": "string"
}
},
"type": "object"
},
- "hm.ProductDetailColor": {
+ "glovo.FiltersResponse": {
"properties": {
- "image_url": {
+ "category_id": {
+ "type": "integer"
+ },
+ "city": {
"type": "string"
},
- "name": {
+ "city_code": {
"type": "string"
},
- "sizes": {
+ "country": {
+ "type": "string"
+ },
+ "filters": {
"items": {
- "$ref": "#/definitions/hm.ProductDetailSize"
+ "$ref": "#/definitions/glovo.Filter"
},
"type": "array"
}
},
"type": "object"
},
- "hm.ProductDetailRating": {
+ "glovo.MenuResponse": {
"properties": {
- "count": {
+ "address_id": {
"type": "integer"
},
- "value": {
- "type": "number"
+ "collections": {
+ "items": {
+ "$ref": "#/definitions/glovo.Collection"
+ },
+ "type": "array"
+ },
+ "store_id": {
+ "type": "integer"
}
},
"type": "object"
},
- "hm.ProductDetailResponse": {
+ "glovo.Product": {
"properties": {
- "brand": {
+ "currency": {
"type": "string"
},
- "colors": {
- "items": {
- "$ref": "#/definitions/hm.ProductDetailColor"
- },
- "type": "array"
- },
"description": {
"type": "string"
},
- "fetched_at": {
+ "display_price": {
"type": "string"
},
- "gender": {
+ "external_id": {
"type": "string"
},
- "material": {
- "type": "string"
+ "id": {
+ "type": "integer"
},
- "name": {
+ "image_url": {
"type": "string"
},
- "pattern": {
+ "name": {
"type": "string"
},
- "product_id": {
- "type": "string"
+ "option_groups": {
+ "items": {
+ "$ref": "#/definitions/glovo.AttributeGroup"
+ },
+ "type": "array"
},
- "rating": {
- "$ref": "#/definitions/hm.ProductDetailRating"
+ "out_of_stock": {
+ "type": "boolean"
},
- "reviews": {
+ "price": {
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "glovo.ProductSection": {
+ "properties": {
+ "products": {
"items": {
- "$ref": "#/definitions/hm.ProductDetailReview"
+ "$ref": "#/definitions/glovo.Product"
},
"type": "array"
},
- "source_url": {
+ "slug": {
"type": "string"
},
- "url": {
+ "title": {
"type": "string"
}
},
"type": "object"
},
- "hm.ProductDetailReview": {
+ "glovo.ProductsResponse": {
"properties": {
- "author": {
- "type": "string"
+ "address_id": {
+ "type": "integer"
},
- "body": {
+ "collection": {
"type": "string"
},
- "date": {
- "type": "string"
+ "returned": {
+ "type": "integer"
},
- "dimensions": {
+ "sections": {
"items": {
- "$ref": "#/definitions/hm.ProductDetailReviewDimension"
+ "$ref": "#/definitions/glovo.ProductSection"
},
"type": "array"
},
- "rating": {
- "type": "number"
+ "store_id": {
+ "type": "integer"
+ },
+ "truncated": {
+ "type": "boolean"
}
},
"type": "object"
},
- "hm.ProductDetailReviewDimension": {
+ "glovo.Promotion": {
"properties": {
- "label": {
+ "benefit": {
"type": "string"
},
- "value": {
+ "description": {
+ "type": "string"
+ },
+ "type": {
"type": "string"
}
},
"type": "object"
},
- "hm.ProductDetailSize": {
+ "glovo.StoreFeesResponse": {
"properties": {
- "availability": {
- "type": "string"
+ "address_id": {
+ "type": "integer"
},
- "currency": {
- "type": "string"
+ "store_id": {
+ "type": "integer"
},
- "price": {
- "type": "number"
+ "tiers": {
+ "items": {
+ "$ref": "#/definitions/glovo.FeeTier"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "glovo.StoreFilter": {
+ "properties": {
+ "id": {
+ "type": "integer"
},
- "size": {
+ "name": {
"type": "string"
},
- "sku": {
+ "slug": {
"type": "string"
},
- "url": {
+ "title": {
"type": "string"
}
},
"type": "object"
},
- "hm.ProductSummary": {
+ "glovo.StoreResponse": {
"properties": {
- "availability": {
+ "address": {
"type": "string"
},
- "brand": {
- "type": "string"
+ "address_id": {
+ "description": "AddressID is the store location id the menu and products endpoints take.",
+ "type": "integer"
},
- "category_code": {
+ "business_unit": {
"type": "string"
},
- "colors": {
- "items": {
- "$ref": "#/definitions/hm.ColorSwatch"
- },
- "type": "array"
+ "category": {
+ "type": "string"
},
- "coming_soon": {
- "type": "boolean"
+ "category_id": {
+ "type": "integer"
},
- "currency": {
+ "city_code": {
"type": "string"
},
- "formatted_price": {
+ "delivery_fee": {
+ "type": "number"
+ },
+ "description": {
"type": "string"
},
+ "enabled": {
+ "type": "boolean"
+ },
+ "filters": {
+ "items": {
+ "$ref": "#/definitions/glovo.StoreFilter"
+ },
+ "type": "array"
+ },
"id": {
- "type": "string"
+ "type": "integer"
},
- "image_url": {
- "type": "string"
+ "latitude": {
+ "type": "number"
},
- "model_image_url": {
- "type": "string"
+ "longitude": {
+ "type": "number"
},
"name": {
"type": "string"
},
- "new_arrival": {
+ "open": {
"type": "boolean"
},
- "price": {
- "type": "number"
+ "prime_available": {
+ "type": "boolean"
},
- "sizes": {
+ "promotions": {
"items": {
- "$ref": "#/definitions/hm.SizeStock"
+ "$ref": "#/definitions/glovo.Promotion"
},
"type": "array"
},
- "url": {
+ "rating": {
+ "type": "string"
+ },
+ "rating_count": {
+ "type": "integer"
+ },
+ "rating_label": {
+ "type": "string"
+ },
+ "scheduling_enabled": {
+ "type": "boolean"
+ },
+ "service_fee": {
+ "type": "number"
+ },
+ "slug": {
+ "type": "string"
+ },
+ "vertical": {
"type": "string"
}
},
"type": "object"
},
- "hm.RelatedList": {
+ "glovo.StoreSearchResponse": {
"properties": {
- "label": {
- "type": "string"
+ "address_id": {
+ "type": "integer"
},
"products": {
"items": {
- "$ref": "#/definitions/hm.ProductSummary"
+ "$ref": "#/definitions/glovo.Product"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "hm.RelatedResponse": {
- "properties": {
- "fetched_at": {
- "type": "string"
- },
- "lists": {
- "items": {
- "$ref": "#/definitions/hm.RelatedList"
- },
- "type": "array"
- },
- "product_id": {
- "type": "string"
},
- "source_url": {
+ "query": {
"type": "string"
- }
- },
- "type": "object"
- },
- "hm.SearchMeta": {
- "properties": {
- "blocked": {
- "type": "boolean"
},
- "did_you_mean": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "returned": {
+ "type": "integer"
},
- "query": {
- "type": "string"
+ "store_id": {
+ "type": "integer"
},
- "related_searches": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "total_products": {
+ "description": "TotalProducts is how many products matched in the store.",
+ "type": "integer"
}
},
"type": "object"
},
- "hm.SearchResponse": {
+ "glovo.StoreSummary": {
"properties": {
- "count": {
+ "address_id": {
"type": "integer"
},
- "fetched_at": {
+ "base_delivery_fee": {
"type": "string"
},
- "page": {
- "type": "integer"
- },
- "page_size": {
- "type": "integer"
- },
- "products": {
- "items": {
- "$ref": "#/definitions/hm.ProductSummary"
- },
- "type": "array"
- },
- "query": {
+ "currency": {
"type": "string"
},
- "search_meta": {
- "$ref": "#/definitions/hm.SearchMeta"
- },
- "source_url": {
+ "delivery_fee": {
"type": "string"
},
- "total_hits": {
- "type": "integer"
+ "delivery_fee_amount": {
+ "type": "number"
},
- "total_pages": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "hm.SizeStock": {
- "properties": {
- "id": {
+ "distance": {
"type": "string"
},
- "label": {
+ "eta": {
"type": "string"
},
- "stock": {
+ "free_delivery": {
+ "type": "boolean"
+ },
+ "id": {
+ "description": "ID and AddressID are the values /glovo/store, /glovo/store/menu and\n/glovo/store/products take as store_id and address_id.",
"type": "integer"
- }
- },
- "type": "object"
- },
- "hm.Store": {
- "properties": {
- "address": {
- "type": "string"
},
- "city": {
- "type": "string"
+ "is_new": {
+ "type": "boolean"
},
- "country": {
+ "is_top_rated": {
+ "type": "boolean"
+ },
+ "name": {
"type": "string"
},
- "latitude": {
- "type": "number"
+ "promotions": {
+ "items": {
+ "$ref": "#/definitions/glovo.Promotion"
+ },
+ "type": "array"
},
- "longitude": {
- "type": "number"
+ "rank_position": {
+ "type": "integer"
},
- "name": {
+ "rating": {
+ "description": "Rating is Glovo's percentage label (for example \"100%\") and\nRatingVotes its count label (for example \"(10)\"); both are empty for a\nstore with no ratings yet.",
"type": "string"
},
- "phone": {
+ "rating_votes": {
"type": "string"
},
- "postal_code": {
+ "slug": {
"type": "string"
},
- "state": {
- "type": "string"
+ "sponsored": {
+ "type": "boolean"
},
- "store_class": {
+ "status": {
"type": "string"
},
- "store_code": {
+ "tag": {
"type": "string"
}
},
"type": "object"
},
- "hm.StoreResponse": {
+ "glovo.StoresResponse": {
"properties": {
- "count": {
+ "category_id": {
"type": "integer"
},
- "fetched_at": {
+ "city": {
"type": "string"
},
- "lat": {
- "type": "number"
+ "city_code": {
+ "type": "string"
},
- "lng": {
- "type": "number"
+ "country": {
+ "type": "string"
},
- "radius_meters": {
+ "filter_id": {
"type": "integer"
},
- "search": {
- "type": "string"
- },
- "source_url": {
- "type": "string"
+ "returned": {
+ "type": "integer"
},
"stores": {
"items": {
- "$ref": "#/definitions/hm.Store"
+ "$ref": "#/definitions/glovo.StoreSummary"
},
"type": "array"
+ },
+ "total_entries": {
+ "description": "TotalEntries is how many stores match in the city. Only the first page\nof up to 50 is reachable anonymously; narrow with filter_id to reach\nothers.",
+ "type": "integer"
}
},
"type": "object"
},
- "hm.SuggestResponse": {
+ "glovo.categoriesResponseDoc": {
"properties": {
- "blocked": {
- "type": "boolean"
- },
- "content_suggestions": {
- "items": {
- "$ref": "#/definitions/hm.SuggestionLink"
- },
- "type": "array"
- },
- "fetched_at": {
- "type": "string"
- },
- "phrase_suggestions": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "popular_searches": {
- "items": {
- "$ref": "#/definitions/hm.SuggestionLink"
- },
- "type": "array"
- },
- "query": {
- "type": "string"
- },
- "search_history": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
},
- "source_url": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/glovo.CategoriesResponse"
},
- "trending_searches": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "hm.SuggestionLink": {
+ "glovo.citiesResponseDoc": {
"properties": {
- "content_type": {
- "type": "string"
- },
- "deep_link": {
- "type": "string"
- },
- "image_url": {
- "type": "string"
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
},
- "link": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/glovo.CitiesResponse"
},
- "title": {
- "type": "string"
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "hm.categoriesResponseDoc": {
+ "glovo.cityResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/hm.CategoriesResponse"
+ "$ref": "#/definitions/glovo.CityResponse"
},
"msg": {
- "example": "OK",
- "type": "string"
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "hm.listingResponseDoc": {
+ "glovo.filtersResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/hm.ListingResponse"
+ "$ref": "#/definitions/glovo.FiltersResponse"
},
"msg": {
- "example": "OK",
- "type": "string"
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "hm.productDetailResponseDoc": {
+ "glovo.menuResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/hm.ProductDetailResponse"
+ "$ref": "#/definitions/glovo.MenuResponse"
},
"msg": {
- "example": "OK",
- "type": "string"
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "hm.relatedResponseDoc": {
+ "glovo.productsResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/hm.RelatedResponse"
+ "$ref": "#/definitions/glovo.ProductsResponse"
},
"msg": {
- "example": "OK",
- "type": "string"
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "hm.searchResponseDoc": {
+ "glovo.storeFeesResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/hm.SearchResponse"
+ "$ref": "#/definitions/glovo.StoreFeesResponse"
},
"msg": {
- "example": "OK",
- "type": "string"
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "hm.storesResponseDoc": {
+ "glovo.storeResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/hm.StoreResponse"
+ "$ref": "#/definitions/glovo.StoreResponse"
},
"msg": {
- "example": "OK",
- "type": "string"
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "hm.suggestResponseDoc": {
+ "glovo.storeSearchResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/hm.SuggestResponse"
+ "$ref": "#/definitions/glovo.StoreSearchResponse"
},
"msg": {
- "example": "OK",
- "type": "string"
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "hollywoodreporter.AuthorArticle": {
+ "glovo.storesResponseDoc": {
"properties": {
- "title": {
- "type": "string"
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
},
- "url": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/glovo.StoresResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "hollywoodreporter.AuthorResponse": {
+ "goat.CollectionProduct": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/hollywoodreporter.AuthorArticle"
- },
- "type": "array"
- },
- "biography": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "category": {
+ "example": "shoes",
+ "type": "string"
},
- "headshot_url": {
+ "id": {
+ "example": "1481726",
"type": "string"
},
- "job_title": {
+ "image_url": {
"type": "string"
},
- "name": {
+ "release_year": {
+ "example": "2025",
"type": "string"
},
- "page": {
- "type": "integer"
+ "slug": {
+ "example": "air-jordan-4-retro-rare-air-fv5029-003",
+ "type": "string"
},
- "social_links": {
- "additionalProperties": {
- "type": "string"
- },
- "type": "object"
+ "source_url": {
+ "example": "https://www.goat.com/sneakers/air-jordan-4-retro-rare-air-fv5029-003",
+ "type": "string"
},
- "url": {
+ "title": {
+ "example": "Air Jordan 4 Retro 'Rare Air - White Lettering'",
"type": "string"
}
},
"type": "object"
},
- "homedepot.CategoriesResponse": {
+ "goat.CollectionResponse": {
"properties": {
- "count": {
- "example": 26,
+ "limit": {
+ "example": 12,
"type": "integer"
},
- "departments": {
+ "page": {
+ "example": 1,
+ "type": "integer"
+ },
+ "products": {
"items": {
- "$ref": "#/definitions/homedepot.Department"
+ "$ref": "#/definitions/goat.CollectionProduct"
},
"type": "array"
},
- "fetched_at": {
+ "slug": {
+ "example": "top-trending-uk",
"type": "string"
},
- "source_url": {
- "type": "string"
+ "total_results": {
+ "example": 48,
+ "type": "integer"
}
},
"type": "object"
},
- "homedepot.CategoryFacet": {
+ "goat.CountriesResponse": {
"properties": {
- "name": {
- "example": "Cordless",
- "type": "string"
+ "countries": {
+ "items": {
+ "$ref": "#/definitions/goat.Country"
+ },
+ "type": "array"
},
- "path": {
- "example": "Cordless/N-5yc1vZc29xZ1z140i3",
- "type": "string"
+ "ships_to_total": {
+ "description": "ShipsToTotal counts the subset GOAT ships to.",
+ "example": 170,
+ "type": "integer"
},
- "url": {
- "type": "string"
+ "total": {
+ "example": 249,
+ "type": "integer"
}
},
"type": "object"
},
- "homedepot.CategoryProduct": {
+ "goat.Country": {
"properties": {
- "id": {
- "example": "320326875",
+ "country_code": {
+ "example": "US",
"type": "string"
},
- "image": {
+ "currency": {
+ "example": "USD",
"type": "string"
},
- "model": {
- "example": "2953-20",
+ "display_name": {
+ "example": "United States",
"type": "string"
},
- "original_price": {
- "example": 199,
- "type": "number"
- },
- "price": {
- "example": 179,
- "type": "number"
+ "flag": {
+ "example": "🇺🇸",
+ "type": "string"
},
- "rating": {
- "example": 4.7,
- "type": "number"
+ "local_name": {
+ "example": "United States",
+ "type": "string"
},
- "review_count": {
- "example": 1542,
- "type": "integer"
+ "name": {
+ "example": "United States",
+ "type": "string"
},
- "title": {
- "example": "M18 FUEL 18V Lithium-Ion Brushless Cordless 1/4 in. Hex Impact Driver (Tool-Only)",
+ "phone_code": {
+ "example": "1",
"type": "string"
},
- "url": {
+ "returns_from": {
+ "example": true,
+ "type": "boolean"
+ },
+ "ships_to": {
+ "description": "ShipsTo reports whether GOAT ships orders to this country. It does\nnot gate country_code, which is accepted for every country here.",
+ "example": true,
+ "type": "boolean"
+ },
+ "size_unit": {
+ "description": "SizeUnit is the size system GOAT shows for this country: us, uk, eu.",
+ "example": "us",
"type": "string"
+ },
+ "tax_included": {
+ "example": false,
+ "type": "boolean"
}
},
"type": "object"
},
- "homedepot.CategoryResponse": {
+ "goat.CuratedLink": {
"properties": {
- "count": {
- "type": "integer"
- },
- "facets": {
- "description": "Facets are the refinement links this browse page offers. Each facet's\npath is directly usable as this endpoint's own path parameter.",
- "items": {
- "$ref": "#/definitions/homedepot.CategoryFacet"
- },
- "type": "array"
- },
- "fetched_at": {
+ "collection_slug": {
+ "description": "CollectionSlug is GOAT's own collection identifier. A readable slug\nworks on GET /goat/collection; a bare numeric id (which GOAT also\nemits here) belongs to an internal id space that endpoint does not\naccept and returns no results. Confirmed live 2026-09-07 --\nback-to-school-2026 returns 470 products, 31841 returns none.",
+ "example": "back-to-school-2026",
"type": "string"
},
- "page": {
- "description": "Page is the 1-indexed page this response carries.",
- "example": 1,
- "type": "integer"
- },
- "path": {
+ "filter_key": {
+ "example": "group_id",
"type": "string"
},
- "products": {
- "items": {
- "$ref": "#/definitions/homedepot.CategoryProduct"
- },
- "type": "array"
- },
- "sort": {
- "description": "Sort echoes the requested sort value, or \"\" when the upstream default\nordering was used.",
- "example": "top_sellers",
+ "filter_value": {
+ "example": "all",
"type": "string"
},
- "source_url": {
+ "query": {
+ "example": "Awake NY x Air Jordan 6",
"type": "string"
},
"title": {
+ "example": "Back To School",
"type": "string"
},
+ "type": {
+ "enum": [
+ "collection",
+ "search",
+ "browse"
+ ],
+ "example": "collection",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "goat.CuratedResponse": {
+ "properties": {
+ "links": {
+ "items": {
+ "$ref": "#/definitions/goat.CuratedLink"
+ },
+ "type": "array"
+ },
"total": {
+ "example": 10,
"type": "integer"
}
},
"type": "object"
},
- "homedepot.Department": {
+ "goat.FeaturedLink": {
"properties": {
"name": {
- "example": "Tools",
- "type": "string"
- },
- "path": {
- "example": "Tools/N-5yc1vZc1xy",
+ "example": "Jordan 3 True Blue 2026",
"type": "string"
},
- "url": {
+ "source_url": {
+ "example": "https://www.goat.com/sneakers/air-jordan-3-true-blue-2026-if4396-104",
"type": "string"
}
},
"type": "object"
},
- "homedepot.KeyFeature": {
+ "goat.ListingsCountResponse": {
"properties": {
- "name": {
- "example": "Motor Type",
- "type": "string"
- },
- "value": {
- "example": "Brushed",
- "type": "string"
+ "total_listings": {
+ "example": 601141,
+ "type": "integer"
}
},
"type": "object"
},
- "homedepot.Product": {
+ "goat.Price": {
"properties": {
- "brand": {
- "example": "Milwaukee",
- "type": "string"
+ "amount_cents": {
+ "example": 49100,
+ "type": "integer"
},
"currency": {
"example": "USD",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "goat.ProductDetail": {
+ "properties": {
+ "brand_name": {
+ "example": "Air Jordan",
+ "type": "string"
},
- "description": {
+ "category": {
+ "example": "shoes",
"type": "string"
},
- "fetched_at": {
+ "colorway": {
+ "example": "Cream",
"type": "string"
},
- "gtin": {
- "example": "0045242637867",
+ "colorway_detail": {
+ "example": "Varsity Red/Black/Sail/Muslin",
"type": "string"
},
- "id": {
- "example": "320326875",
+ "designer": {
+ "example": "Peter Moore",
"type": "string"
},
- "images": {
+ "featured_in": {
+ "items": {
+ "$ref": "#/definitions/goat.FeaturedLink"
+ },
+ "type": "array"
+ },
+ "gender": {
+ "example": [
+ "men"
+ ],
"items": {
"type": "string"
},
"type": "array"
},
- "key_features": {
+ "id": {
+ "example": "1469452",
+ "type": "string"
+ },
+ "images": {
"items": {
- "$ref": "#/definitions/homedepot.KeyFeature"
+ "$ref": "#/definitions/goat.ProductImage"
},
"type": "array"
},
- "model": {
- "example": "2953-20",
+ "midsole": {
+ "example": "Air",
"type": "string"
},
- "price": {
- "example": 179,
- "type": "number"
+ "name": {
+ "example": "Fragment Design x Travis Scott x Air Jordan 1 Retro Low OG SP 'Sail Military Blue'",
+ "type": "string"
},
- "rating": {
- "example": 4.7,
- "type": "number"
+ "nickname": {
+ "example": "Sail Military Blue",
+ "type": "string"
},
- "review_count": {
- "example": 1544,
- "type": "integer"
+ "picture_url": {
+ "type": "string"
},
- "reviews": {
+ "product_type": {
+ "example": "sneakers",
+ "type": "string"
+ },
+ "release_date": {
+ "example": "2025-11-15",
+ "type": "string"
+ },
+ "retail_price": {
+ "$ref": "#/definitions/goat.Price"
+ },
+ "silhouette": {
+ "example": "Air Jordan 1",
+ "type": "string"
+ },
+ "size_range": {
"items": {
- "$ref": "#/definitions/homedepot.ProductReview"
+ "type": "number"
+ },
+ "type": "array"
+ },
+ "size_unit": {
+ "example": "us",
+ "type": "string"
+ },
+ "sizes": {
+ "items": {
+ "$ref": "#/definitions/goat.SizePrice"
},
"type": "array"
},
"sku": {
- "example": "1007901520",
+ "example": "DM7866 104",
+ "type": "string"
+ },
+ "slug": {
+ "example": "fragment-design-x-travis-scott-x-air-jordan-1-low-og-sp-sail-military-blue-dm7866-104",
"type": "string"
},
"source_url": {
+ "example": "https://www.goat.com/sneakers/fragment-design-x-travis-scott-x-air-jordan-1-low-og-sp-sail-military-blue-dm7866-104",
"type": "string"
},
- "specifications": {
+ "story": {
+ "type": "string"
+ },
+ "taxonomy": {
"items": {
- "$ref": "#/definitions/homedepot.Specification"
+ "type": "string"
},
"type": "array"
},
- "title": {
- "example": "Milwaukee M18 FUEL 18V Lithium-Ion Brushless Cordless 1/4 in. Hex Impact Driver (Tool-Only) 2953-20",
+ "upper_material": {
+ "example": "Leather",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "goat.ProductImage": {
+ "properties": {
+ "aspect": {
+ "example": 1.5,
+ "type": "number"
},
- "url": {
+ "image_url": {
"type": "string"
+ },
+ "order": {
+ "example": 1,
+ "type": "integer"
}
},
"type": "object"
},
- "homedepot.ProductQuestionsResponse": {
+ "goat.ProductSummary": {
"properties": {
- "count": {
- "example": 8,
- "type": "integer"
+ "brand_name": {
+ "example": "Air Jordan",
+ "type": "string"
},
- "fetched_at": {
+ "category": {
+ "example": "shoes",
+ "type": "string"
+ },
+ "gender": {
+ "example": "men",
"type": "string"
},
"id": {
- "example": "328425526",
+ "example": "1469452",
"type": "string"
},
- "questions": {
+ "image_url": {
+ "type": "string"
+ },
+ "in_stock": {
+ "example": true,
+ "type": "boolean"
+ },
+ "instant_lowest_price": {
+ "$ref": "#/definitions/goat.Price"
+ },
+ "lowest_price": {
+ "$ref": "#/definitions/goat.Price"
+ },
+ "product_type": {
+ "example": "sneakers",
+ "type": "string"
+ },
+ "release_date": {
+ "example": "2025-11-15",
+ "type": "string"
+ },
+ "retail_price": {
+ "$ref": "#/definitions/goat.Price"
+ },
+ "silhouette": {
+ "example": "Air Jordan 1",
+ "type": "string"
+ },
+ "slug": {
+ "example": "fragment-design-x-travis-scott-x-air-jordan-1-low-og-sp-sail-military-blue-dm7866-104",
+ "type": "string"
+ },
+ "source_url": {
+ "example": "https://www.goat.com/sneakers/fragment-design-x-travis-scott-x-air-jordan-1-low-og-sp-sail-military-blue-dm7866-104",
+ "type": "string"
+ },
+ "tags": {
"items": {
- "$ref": "#/definitions/homedepot.Question"
+ "type": "string"
},
"type": "array"
},
- "source_url": {
+ "title": {
+ "example": "Fragment Design x Travis Scott x Air Jordan 1 Retro Low OG SP 'Sail Military Blue'",
"type": "string"
},
- "total": {
- "example": 575,
- "type": "integer"
+ "under_retail": {
+ "example": false,
+ "type": "boolean"
}
},
"type": "object"
},
- "homedepot.ProductReview": {
+ "goat.RecommendedProduct": {
"properties": {
- "author": {
- "example": "HomeDepotCustomer",
+ "brand_name": {
+ "example": "Nike",
"type": "string"
},
- "body": {
- "example": "The impact is just what I needed.",
+ "category": {
+ "example": "shoes",
"type": "string"
},
- "headline": {
- "example": "Great tool",
+ "colorway": {
+ "example": "Black",
"type": "string"
},
- "rating": {
- "example": 5,
- "type": "number"
- }
- },
- "type": "object"
- },
- "homedepot.Question": {
- "properties": {
- "answer_count": {
- "type": "integer"
+ "id": {
+ "example": "585882",
+ "type": "string"
},
- "answers": {
- "items": {
- "$ref": "#/definitions/homedepot.QuestionAnswer"
- },
- "type": "array"
+ "name": {
+ "example": "Travis Scott x Nike Dunk Low Premium QS SB 'Cactus Jack'",
+ "type": "string"
},
- "author": {
+ "product_type": {
+ "example": "sneakers",
"type": "string"
},
- "date": {
+ "release_date": {
+ "example": "2020-02-29",
"type": "string"
},
- "id": {
+ "retail_price": {
+ "$ref": "#/definitions/goat.Price"
+ },
+ "sku": {
+ "example": "CT5053 001",
"type": "string"
},
- "text": {
+ "slug": {
+ "example": "travis-scott-x-dunk-low-sb-ct5053-101",
+ "type": "string"
+ },
+ "source_url": {
+ "example": "https://www.goat.com/sneakers/travis-scott-x-dunk-low-sb-ct5053-101",
"type": "string"
}
},
"type": "object"
},
- "homedepot.QuestionAnswer": {
+ "goat.RecommendedResponse": {
"properties": {
- "author": {
- "type": "string"
+ "products": {
+ "items": {
+ "$ref": "#/definitions/goat.RecommendedProduct"
+ },
+ "type": "array"
},
- "date": {
+ "slug": {
+ "example": "fragment-design-x-travis-scott-x-air-jordan-1-low-og-sp-sail-military-blue-dm7866-104",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "goat.SearchFacetsResponse": {
+ "properties": {
+ "activities": {
+ "example": [
+ "lifestyle",
+ "basketball",
+ "running",
+ "skateboarding"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "helpful_count": {
- "type": "integer"
- },
- "id": {
- "type": "string"
+ "brands": {
+ "description": "Brands is ordered by product count descending and is GOAT's top\nbrands, not its whole brand universe -- upstream truncates this\nbucket (see BrandsTruncated).",
+ "example": [
+ "nike",
+ "adidas",
+ "new-balance",
+ "puma",
+ "supreme"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "is_brand_answer": {
+ "brands_truncated": {
+ "description": "BrandsTruncated reports that upstream returned its maximum brand\nbucket size, so brands beyond it exist but are not listed. A brand\nmissing from Brands is still a valid goat_search brands value.",
+ "example": true,
"type": "boolean"
},
- "text": {
- "type": "string"
+ "categories": {
+ "example": [
+ "footwear",
+ "apparel",
+ "accessories",
+ "bags",
+ "collectibles",
+ "media",
+ "sports",
+ "jewelry",
+ "home",
+ "objects",
+ "other",
+ "art"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "colors": {
+ "example": [
+ "black",
+ "white",
+ "blue",
+ "grey",
+ "red",
+ "green",
+ "pink",
+ "cream",
+ "brown",
+ "purple",
+ "multi-color",
+ "orange",
+ "tan",
+ "yellow",
+ "silver",
+ "gold",
+ "teal",
+ "copper"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "conditions": {
+ "example": [
+ "new_no_defects",
+ "used",
+ "new_with_defects",
+ "goat_clean"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "genders": {
+ "example": [
+ "men",
+ "youth",
+ "infant",
+ "women"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "product_types": {
+ "description": "ProductTypes and Activities are statically maintained, not live --\nGOAT never returns them as aggregation buckets.",
+ "example": [
+ "sneakers",
+ "sandals",
+ "cleats",
+ "boots",
+ "slip-ons"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "years": {
+ "description": "Years is the vocabulary for goat_search's years parameter, which\nfilters on a product's season year.",
+ "example": [
+ "2026",
+ "2025",
+ "2024",
+ "2023"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "homedepot.SearchResponse": {
+ "goat.SearchResponse": {
"properties": {
- "count": {
- "example": 24,
+ "limit": {
+ "example": 12,
"type": "integer"
},
- "fetched_at": {
- "type": "string"
- },
"page": {
"example": 1,
"type": "integer"
},
"products": {
"items": {
- "$ref": "#/definitions/homedepot.CategoryProduct"
+ "$ref": "#/definitions/goat.ProductSummary"
},
"type": "array"
},
"query": {
- "example": "impact driver",
+ "example": "jordan 1",
"type": "string"
},
- "source_url": {
+ "total_results": {
+ "example": 5540,
+ "type": "integer"
+ },
+ "total_results_capped": {
+ "description": "TotalResultsCapped reports that upstream saturated total_results at\nits ceiling, so the real match count is higher and unknown. Deeper\npages still return products past that ceiling.",
+ "example": false,
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "goat.SizePrice": {
+ "properties": {
+ "box_condition": {
+ "example": "good_condition",
"type": "string"
},
- "total": {
- "example": 1962,
- "type": "integer"
+ "highest_offer": {
+ "$ref": "#/definitions/goat.Price"
+ },
+ "instant_ship_lowest_price": {
+ "$ref": "#/definitions/goat.Price"
+ },
+ "last_sold_price": {
+ "$ref": "#/definitions/goat.Price"
+ },
+ "lowest_price": {
+ "$ref": "#/definitions/goat.Price"
+ },
+ "shoe_condition": {
+ "example": "new_no_defects",
+ "type": "string"
+ },
+ "size": {
+ "example": "9",
+ "type": "string"
+ },
+ "stock_status": {
+ "example": "single_in_stock",
+ "type": "string"
}
},
"type": "object"
},
- "homedepot.Specification": {
+ "goat.SuggestCollection": {
"properties": {
- "name": {
- "example": "Battery Power Type",
+ "id": {
+ "example": "2fbf8b62-8899-4323-89ab-efdbc672d9d0",
"type": "string"
},
- "value": {
- "example": "Lithium Ion",
+ "slug": {
+ "example": "michael-jordan",
+ "type": "string"
+ },
+ "title": {
+ "example": "Michael Jordan",
+ "type": "string"
+ },
+ "type": {
+ "example": "StaticCollection",
"type": "string"
}
},
"type": "object"
},
- "homedepot.SuggestResponse": {
+ "goat.SuggestProduct": {
"properties": {
- "count": {
- "example": 10,
- "type": "integer"
+ "category": {
+ "example": "shoes",
+ "type": "string"
},
- "fetched_at": {
+ "id": {
+ "example": "1403298",
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "slug": {
+ "example": "air-jordan-5-og-metallic-2025-hf3975-001",
"type": "string"
},
"source_url": {
+ "example": "https://www.goat.com/sneakers/air-jordan-5-og-metallic-2025-hf3975-001",
"type": "string"
},
- "suggestions": {
+ "title": {
+ "example": "Air Jordan 5 Retro OG 'Black Metallic Reimagined'",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "goat.SuggestResponse": {
+ "properties": {
+ "collections": {
"items": {
- "$ref": "#/definitions/homedepot.Suggestion"
+ "$ref": "#/definitions/goat.SuggestCollection"
},
"type": "array"
},
- "term": {
- "example": "drill",
+ "products": {
+ "items": {
+ "$ref": "#/definitions/goat.SuggestProduct"
+ },
+ "type": "array"
+ },
+ "query": {
+ "example": "jord",
"type": "string"
}
},
"type": "object"
},
- "homedepot.Suggestion": {
+ "goat.TrendingSearchesResponse": {
"properties": {
- "position": {
- "description": "Position is the suggestion's 1-indexed rank in Home Depot's own\ntypeahead ordering.",
- "example": 2,
- "type": "integer"
+ "searches": {
+ "example": [
+ "Jordan 4",
+ "Jordan 1",
+ "Kobe 6"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "term": {
- "example": "drill bits",
- "type": "string"
+ "total": {
+ "example": 25,
+ "type": "integer"
}
},
"type": "object"
},
- "homedepot.categoriesResponseDoc": {
+ "goat.collectionResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/homedepot.CategoriesResponse"
+ "$ref": "#/definitions/goat.CollectionResponse"
},
"msg": {
"example": "OK",
@@ -108502,14 +114597,14 @@
},
"type": "object"
},
- "homedepot.categoryResponseDoc": {
+ "goat.countriesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/homedepot.CategoryResponse"
+ "$ref": "#/definitions/goat.CountriesResponse"
},
"msg": {
"example": "OK",
@@ -108518,14 +114613,14 @@
},
"type": "object"
},
- "homedepot.productQuestionsResponseDoc": {
+ "goat.curatedResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/homedepot.ProductQuestionsResponse"
+ "$ref": "#/definitions/goat.CuratedResponse"
},
"msg": {
"example": "OK",
@@ -108534,14 +114629,14 @@
},
"type": "object"
},
- "homedepot.productResponseDoc": {
+ "goat.facetsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/homedepot.Product"
+ "$ref": "#/definitions/goat.SearchFacetsResponse"
},
"msg": {
"example": "OK",
@@ -108550,14 +114645,14 @@
},
"type": "object"
},
- "homedepot.searchResponseDoc": {
+ "goat.listingsCountResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/homedepot.SearchResponse"
+ "$ref": "#/definitions/goat.ListingsCountResponse"
},
"msg": {
"example": "OK",
@@ -108566,14 +114661,14 @@
},
"type": "object"
},
- "homedepot.suggestResponseDoc": {
+ "goat.productResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/homedepot.SuggestResponse"
+ "$ref": "#/definitions/goat.ProductDetail"
},
"msg": {
"example": "OK",
@@ -108582,620 +114677,394 @@
},
"type": "object"
},
- "hotels.Address": {
- "properties": {
- "country": {
- "type": "string"
- },
- "locality": {
- "type": "string"
- },
- "postal_code": {
- "type": "string"
- },
- "region": {
- "type": "string"
- },
- "street_address": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "hotels.AutocompleteResponse": {
- "properties": {
- "query": {
- "type": "string"
- },
- "suggestions": {
- "items": {
- "$ref": "#/definitions/hotels.Suggestion"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "hotels.OffersOption": {
+ "goat.recommendedResponseDoc": {
"properties": {
- "adults": {
- "example": 2,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "check_in": {
- "example": "2026-09-10",
- "type": "string"
- },
- "check_out": {
- "example": "2026-09-11",
- "type": "string"
- },
- "currency": {
- "example": "USD",
- "type": "string"
- },
- "locale": {
- "example": "en_US",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/goat.RecommendedResponse"
},
- "property_id": {
- "example": "19681371",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
- "required": [
- "check_in",
- "check_out",
- "property_id"
- ],
"type": "object"
},
- "hotels.OffersResponse": {
+ "goat.searchResponseDoc": {
"properties": {
- "check_in": {
- "type": "string"
- },
- "check_out": {
- "type": "string"
- },
- "header": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "offers": {
- "items": {
- "$ref": "#/definitions/hotels.RoomOffer"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/goat.SearchResponse"
},
- "property_id": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "hotels.Property": {
+ "goat.suggestResponseDoc": {
"properties": {
- "address": {
- "$ref": "#/definitions/hotels.Address"
- },
- "amenities": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "description": {
- "type": "string"
- },
- "guest_rating": {
- "type": "number"
- },
- "id": {
- "type": "string"
- },
- "images": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "latitude": {
- "type": "number"
- },
- "longitude": {
- "type": "number"
- },
- "name": {
- "type": "string"
- },
- "review_count": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "star_rating": {
- "type": "number"
+ "data": {
+ "$ref": "#/definitions/goat.SuggestResponse"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "hotels.PropertyOption": {
- "properties": {
- "url": {
- "example": "https://www.hotels.com/ho107229/hilton-san-francisco-financial-district-san-francisco-united-states-of-america/",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
- "required": [
- "url"
- ],
- "type": "object"
- },
- "hotels.PropertyResponse": {
- "properties": {
- "property": {
- "$ref": "#/definitions/hotels.Property"
- }
- },
"type": "object"
},
- "hotels.RatesOption": {
+ "goat.trendingSearchesResponseDoc": {
"properties": {
- "adults": {
- "example": 2,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "check_in": {
- "example": "2026-09-10",
- "type": "string"
- },
- "check_out": {
- "example": "2026-09-11",
- "type": "string"
- },
- "currency": {
- "example": "USD",
- "type": "string"
- },
- "locale": {
- "example": "en_US",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/goat.TrendingSearchesResponse"
},
- "property_id": {
- "example": "19681371",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
- "required": [
- "check_in",
- "check_out",
- "property_id"
- ],
"type": "object"
},
- "hotels.RatesResponse": {
+ "goldin.Auction": {
"properties": {
- "check_in": {
- "type": "string"
- },
- "check_out": {
+ "id": {
+ "description": "ID is Goldin's own auction id -- pass as auction_id to Search.",
"type": "string"
},
- "properties": {
- "items": {
- "$ref": "#/definitions/hotels.SearchProperty"
- },
- "type": "array"
+ "lot_count": {
+ "description": "LotCount is how many lots currently carry this auction id, read\nlive from the same facets response.",
+ "type": "integer"
},
- "property_id": {
+ "name": {
+ "description": "Name is Goldin's own auction title, e.g. \"2026 Weekly Auction Sep\n8 - Sep 17\".",
"type": "string"
}
},
"type": "object"
},
- "hotels.Review": {
+ "goldin.AuctionListing": {
"properties": {
- "date": {
- "type": "string"
- },
- "message": {
- "type": "string"
- },
- "rating_label": {
- "type": "string"
+ "buyer_premium": {
+ "type": "number"
},
- "reviewer_name": {
+ "end_time": {
"type": "string"
},
- "verified": {
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "hotels.ReviewArchive": {
- "properties": {
- "date": {
+ "extended_bidding_status": {
"type": "string"
},
"id": {
"type": "string"
},
- "message": {
+ "slug": {
"type": "string"
},
- "rating_label": {
+ "start_time": {
"type": "string"
},
- "reviewer_name": {
+ "status": {
"type": "string"
},
"title": {
"type": "string"
},
- "traveler_type": {
+ "type": {
"type": "string"
}
},
"type": "object"
},
- "hotels.ReviewCategory": {
+ "goldin.AuctionsResponse": {
"properties": {
- "name": {
- "type": "string"
+ "auctions": {
+ "items": {
+ "$ref": "#/definitions/goldin.AuctionListing"
+ },
+ "type": "array"
},
- "score": {
- "type": "string"
+ "total": {
+ "type": "integer"
}
},
"type": "object"
},
- "hotels.ReviewsArchiveOption": {
+ "goldin.CategoriesResponse": {
"properties": {
- "adults": {
- "example": 2,
- "type": "integer"
- },
- "check_in": {
- "example": "2026-09-10",
+ "auction_type": {
"type": "string"
},
- "check_out": {
- "example": "2026-09-11",
- "type": "string"
+ "auctions": {
+ "items": {
+ "$ref": "#/definitions/goldin.Auction"
+ },
+ "type": "array"
},
- "currency": {
- "example": "USD",
- "type": "string"
+ "category": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "locale": {
- "example": "en_US",
- "type": "string"
+ "certification": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "page": {
- "example": 1,
- "type": "integer"
+ "item_type": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "page_size": {
- "example": 10,
- "type": "integer"
+ "sort": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "property_id": {
- "example": "19681371",
- "type": "string"
+ "sub_category": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
}
},
- "required": [
- "check_in",
- "check_out",
- "property_id"
- ],
"type": "object"
},
- "hotels.ReviewsArchiveResponse": {
+ "goldin.ListingLotRef": {
"properties": {
- "has_more": {
- "type": "boolean"
- },
- "page": {
- "type": "integer"
- },
- "page_size": {
+ "lot_number": {
"type": "integer"
},
- "property_id": {
+ "slug": {
"type": "string"
- },
- "reviews": {
- "items": {
- "$ref": "#/definitions/hotels.ReviewArchive"
- },
- "type": "array"
}
},
"type": "object"
},
- "hotels.ReviewsOption": {
+ "goldin.ListingResult": {
"properties": {
- "adults": {
- "example": 2,
- "type": "integer"
+ "allow_offers": {
+ "description": "AllowOffers, SoldAt, and FinalPrice are only present for\nAuctionType \"Fixed_Price\" lots (Goldin's Buy Now marketplace).",
+ "type": "boolean"
},
- "check_in": {
- "example": "2026-09-10",
+ "auction_id": {
"type": "string"
},
- "check_out": {
- "example": "2026-09-11",
+ "auction_name": {
"type": "string"
},
- "currency": {
- "example": "USD",
+ "auction_type": {
"type": "string"
},
- "locale": {
- "example": "en_US",
- "type": "string"
+ "buyer_premium": {
+ "type": "number"
},
- "property_id": {
- "example": "19681371",
+ "category": {
"type": "string"
- }
- },
- "required": [
- "check_in",
- "check_out",
- "property_id"
- ],
- "type": "object"
- },
- "hotels.ReviewsResponse": {
- "properties": {
- "categories": {
- "items": {
- "$ref": "#/definitions/hotels.ReviewCategory"
- },
- "type": "array"
},
- "overall_rating": {
+ "current_price": {
+ "type": "integer"
+ },
+ "description": {
"type": "string"
},
- "property_id": {
+ "end_time": {
"type": "string"
},
- "reviews": {
- "items": {
- "$ref": "#/definitions/hotels.Review"
- },
- "type": "array"
+ "final_price": {
+ "type": "integer"
},
- "superlative": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "hotels.RoomOffer": {
- "properties": {
- "id": {
+ "grading_company": {
+ "description": "GradingCompany is the third-party grader, e.g. \"PSA\" -- present only\nfor graded items. Not the same enum as Search's certification\nfilter, which also includes \"Ungraded\".",
"type": "string"
},
- "messages": {
+ "images": {
"items": {
"type": "string"
},
"type": "array"
},
- "name": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "hotels.SearchOption": {
- "properties": {
- "adults": {
- "example": 2,
- "type": "integer"
- },
- "check_in": {
- "example": "2026-09-10",
- "type": "string"
- },
- "check_out": {
- "example": "2026-09-11",
- "type": "string"
- },
- "currency": {
- "example": "USD",
+ "item_type": {
"type": "string"
},
- "locale": {
- "example": "en_US",
+ "lot_id": {
"type": "string"
},
- "page": {
- "example": 1,
+ "lot_number": {
"type": "integer"
},
- "page_size": {
- "example": 20,
+ "min_bid_price": {
"type": "integer"
},
- "query": {
- "example": "New York",
- "type": "string"
+ "next_lot": {
+ "$ref": "#/definitions/goldin.ListingLotRef"
},
- "region_id": {
- "example": "2621",
- "type": "string"
+ "number_of_bids": {
+ "type": "integer"
},
- "rooms": {
- "example": 1,
+ "number_of_views": {
"type": "integer"
- }
- },
- "required": [
- "check_in",
- "check_out"
- ],
- "type": "object"
- },
- "hotels.SearchProperty": {
- "properties": {
- "amenities": {
- "items": {
- "type": "string"
- },
- "type": "array"
},
- "badges": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "previous_lot": {
+ "$ref": "#/definitions/goldin.ListingLotRef"
},
- "id": {
- "type": "string"
+ "reserve_amount": {
+ "type": "number"
},
- "location": {
+ "serial_number": {
"type": "string"
},
- "name": {
+ "slug": {
"type": "string"
},
- "nightly_price": {
+ "sold_at": {
"type": "string"
},
- "price": {
+ "source_url": {
"type": "string"
},
- "review_count": {
- "type": "integer"
- },
- "review_score": {
- "type": "number"
- },
- "review_title": {
+ "start_time": {
"type": "string"
},
- "strikeout_price": {
+ "status": {
"type": "string"
},
- "thumbnail_url": {
+ "sub_category": {
"type": "string"
},
- "url": {
+ "title": {
"type": "string"
}
},
"type": "object"
},
- "hotels.SearchResponse": {
+ "goldin.SearchLot": {
"properties": {
- "check_in": {
- "type": "string"
+ "allow_offers": {
+ "description": "AllowOffers, SoldAt, and FinalPrice are only present for\nAuctionTypeFixedPrice lots.",
+ "type": "boolean"
},
- "check_out": {
+ "auction_id": {
"type": "string"
},
- "destination": {
+ "auction_type": {
"type": "string"
},
- "page": {
- "type": "integer"
+ "buyer_premium": {
+ "type": "number"
},
- "properties": {
- "items": {
- "$ref": "#/definitions/hotels.SearchProperty"
- },
- "type": "array"
+ "current_price": {
+ "description": "CurrentPrice is the current bid (AuctionTypeAuction) or the Buy Now\nprice (AuctionTypeFixedPrice) -- always present regardless of pool.",
+ "type": "integer"
},
- "region_id": {
+ "end_time": {
"type": "string"
},
- "results_label": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "hotels.Suggestion": {
- "properties": {
- "airport_code": {
+ "final_price": {
+ "type": "integer"
+ },
+ "image_url": {
"type": "string"
},
- "geo_type": {
+ "lot_id": {
"type": "string"
},
- "latitude": {
- "type": "number"
+ "lot_number": {
+ "description": "LotNumber, MinBidPrice, NumberOfBids, ReserveAmount, StartTime, and\nEndTime are only present for AuctionTypeAuction lots -- omitted\n(not just zero) for AuctionTypeFixedPrice, which has no lot\nnumbering, bidding, or auction window.",
+ "type": "integer"
},
- "location_full_name": {
- "type": "string"
+ "min_bid_price": {
+ "type": "integer"
},
- "longitude": {
+ "number_of_bids": {
+ "type": "integer"
+ },
+ "reserve_amount": {
"type": "number"
},
- "primary_text": {
+ "slug": {
+ "description": "Slug is the lot's meta_slug -- pass as slug to goldin-listing for\nfull lot detail.",
"type": "string"
},
- "property_id": {
+ "sold_at": {
"type": "string"
},
- "region_id": {
+ "start_time": {
"type": "string"
},
- "secondary_text": {
+ "status": {
"type": "string"
},
- "type": {
+ "title": {
"type": "string"
}
},
"type": "object"
},
- "hotels.autocompleteResponseDoc": {
+ "goldin.SearchResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "auction_type": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/hotels.AutocompleteResponse"
+ "lots": {
+ "items": {
+ "$ref": "#/definitions/goldin.SearchLot"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
- "type": "string"
+ "page": {
+ "type": "integer"
+ },
+ "total": {
+ "type": "integer"
}
},
"type": "object"
},
- "hotels.offersResponseDoc": {
+ "goldin.SuggestResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "keyword": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/hotels.OffersResponse"
+ "suggestions": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
- "type": "string"
+ "total": {
+ "description": "Total is Goldin's own count of lots the raw keyword itself would\nmatch, not the number of suggestions returned.",
+ "type": "integer"
}
},
"type": "object"
},
- "hotels.propertyResponseDoc": {
+ "goldin.auctionsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/hotels.PropertyResponse"
+ "$ref": "#/definitions/goldin.AuctionsResponse"
},
"msg": {
"example": "OK",
@@ -109204,14 +115073,14 @@
},
"type": "object"
},
- "hotels.ratesResponseDoc": {
+ "goldin.categoriesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/hotels.RatesResponse"
+ "$ref": "#/definitions/goldin.CategoriesResponse"
},
"msg": {
"example": "OK",
@@ -109220,14 +115089,14 @@
},
"type": "object"
},
- "hotels.reviewsArchiveResponseDoc": {
+ "goldin.listingResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/hotels.ReviewsArchiveResponse"
+ "$ref": "#/definitions/goldin.ListingResult"
},
"msg": {
"example": "OK",
@@ -109236,14 +115105,14 @@
},
"type": "object"
},
- "hotels.reviewsResponseDoc": {
+ "goldin.searchResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/hotels.ReviewsResponse"
+ "$ref": "#/definitions/goldin.SearchResponse"
},
"msg": {
"example": "OK",
@@ -109252,14 +115121,14 @@
},
"type": "object"
},
- "hotels.searchResponseDoc": {
+ "goldin.suggestResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/hotels.SearchResponse"
+ "$ref": "#/definitions/goldin.SuggestResponse"
},
"msg": {
"example": "OK",
@@ -109268,93 +115137,104 @@
},
"type": "object"
},
- "houstonchronicle.AuthorArticle": {
+ "goodreads.AuthorBooksResponse": {
"properties": {
- "summary": {
+ "author_id": {
"type": "string"
},
- "title": {
- "type": "string"
+ "books": {
+ "items": {
+ "$ref": "#/definitions/goodreads.BookListItem"
+ },
+ "type": "array"
},
- "url": {
+ "page": {
+ "type": "integer"
+ },
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "houstonchronicle.AuthorResponse": {
+ "goodreads.AuthorQuotesResponse": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/houstonchronicle.AuthorArticle"
- },
- "type": "array"
- },
- "biography": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "image_url": {
- "type": "string"
- },
- "job_title": {
+ "author_id": {
"type": "string"
},
- "name": {
- "type": "string"
+ "page": {
+ "type": "integer"
},
- "same_as": {
+ "quotes": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/goodreads.Quote"
},
"type": "array"
},
- "url": {
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "huffpost.AuthorResponse": {
+ "goodreads.AuthorResponse": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/huffpost.HeadlineItem"
- },
- "type": "array"
+ "about": {
+ "type": "string"
},
- "biography": {
+ "average_rating": {
+ "example": 4.3,
+ "type": "number"
+ },
+ "birth_date": {
+ "example": "August 11, 1962",
+ "type": "string"
+ },
+ "death_date": {
+ "type": "string"
+ },
+ "genres": {
"items": {
"type": "string"
},
"type": "array"
},
- "image_url": {
+ "id": {
+ "example": "153394",
"type": "string"
},
- "job_title": {
+ "image_url": {
"type": "string"
},
"name": {
+ "example": "Suzanne Collins",
"type": "string"
},
- "social_links": {
- "items": {
- "$ref": "#/definitions/huffpost.AuthorSocialLink"
- },
- "type": "array"
+ "ratings_count": {
+ "type": "integer"
},
- "url": {
+ "reviews_count": {
+ "type": "integer"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "uri": {
+ "type": "string"
+ },
+ "website": {
"type": "string"
}
},
"type": "object"
},
- "huffpost.AuthorSocialLink": {
+ "goodreads.BookContributor": {
"properties": {
- "platform": {
+ "name": {
+ "type": "string"
+ },
+ "role": {
+ "example": "Author",
"type": "string"
},
"url": {
@@ -109363,930 +115243,514 @@
},
"type": "object"
},
- "huffpost.HeadlineItem": {
+ "goodreads.BookListItem": {
"properties": {
"author": {
"type": "string"
},
- "image_url": {
- "type": "string"
+ "average_rating": {
+ "example": 4.35,
+ "type": "number"
},
- "published_at": {
+ "id": {
"type": "string"
},
- "summary": {
- "type": "string"
+ "ratings_count": {
+ "type": "integer"
},
"title": {
"type": "string"
},
- "type": {
- "type": "string"
- },
- "url": {
+ "uri": {
"type": "string"
}
},
"type": "object"
},
- "ign.AuthorResponse": {
+ "goodreads.BookRating": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/ign.HeadlineItem"
- },
- "type": "array"
- },
- "biography": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "image_url": {
- "type": "string"
- },
- "job_title": {
- "type": "string"
- },
- "location": {
- "type": "string"
- },
- "name": {
- "type": "string"
+ "average": {
+ "example": 4.35,
+ "type": "number"
},
- "social_links": {
- "items": {
- "$ref": "#/definitions/ign.AuthorSocialLink"
- },
- "type": "array"
+ "distribution": {
+ "$ref": "#/definitions/goodreads.BookRatingDistribution"
},
- "url": {
- "type": "string"
+ "ratings_count": {
+ "example": 10177796,
+ "type": "integer"
},
- "username": {
- "type": "string"
+ "reviews_count": {
+ "example": 272857,
+ "type": "integer"
}
},
"type": "object"
},
- "ign.AuthorSocialLink": {
+ "goodreads.BookRatingDistribution": {
"properties": {
- "platform": {
- "type": "string"
+ "five_star": {
+ "type": "integer"
},
- "url": {
- "type": "string"
+ "four_star": {
+ "type": "integer"
+ },
+ "one_star": {
+ "type": "integer"
+ },
+ "three_star": {
+ "type": "integer"
+ },
+ "two_star": {
+ "type": "integer"
}
},
"type": "object"
},
- "ign.HeadlineItem": {
+ "goodreads.BookResponse": {
"properties": {
- "author": {
- "type": "string"
+ "authors": {
+ "items": {
+ "$ref": "#/definitions/goodreads.BookContributor"
+ },
+ "type": "array"
},
- "image_url": {
+ "description": {
"type": "string"
},
- "published_at": {
+ "format": {
+ "example": "Hardcover",
"type": "string"
},
- "summary": {
+ "genres": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "id": {
+ "example": "2767052",
"type": "string"
},
- "title": {
+ "image_url": {
"type": "string"
},
- "type": {
+ "isbn": {
"type": "string"
},
- "url": {
+ "isbn13": {
"type": "string"
- }
- },
- "type": "object"
- },
- "ikea.AvailabilityResponse": {
- "properties": {
- "available_for_click_collect": {
- "type": "boolean"
},
- "available_for_home_delivery": {
- "type": "boolean"
+ "language": {
+ "example": "English",
+ "type": "string"
},
- "click_collect": {
- "$ref": "#/definitions/ikea.PickupAvailability"
+ "pages": {
+ "example": 374,
+ "type": "integer"
},
- "country": {
- "example": "us",
+ "publication_date": {
+ "example": "2008-10-14",
"type": "string"
},
- "fetched_at": {
+ "publisher": {
"type": "string"
},
- "home_delivery": {
- "$ref": "#/definitions/ikea.DeliveryAvailability"
+ "rating": {
+ "$ref": "#/definitions/goodreads.BookRating"
},
- "item_no": {
- "example": "80213074",
+ "series": {
+ "example": "The Hunger Games #1",
"type": "string"
},
"source_url": {
"type": "string"
+ },
+ "title": {
+ "example": "The Hunger Games",
+ "type": "string"
+ },
+ "uri": {
+ "type": "string"
}
},
"type": "object"
},
- "ikea.CategoriesResponse": {
+ "goodreads.Edition": {
"properties": {
- "categories": {
+ "asin": {
+ "description": "Amazon ASIN of the edition.",
+ "type": "string"
+ },
+ "authors": {
+ "description": "Names of the authors credited on the edition.",
"items": {
- "$ref": "#/definitions/ikea.CategoryEntry"
+ "type": "string"
},
"type": "array"
},
- "country": {
- "example": "us",
+ "average_rating": {
+ "description": "Average rating of the edition out of 5.",
+ "example": 4.35,
+ "type": "number"
+ },
+ "book_id": {
+ "description": "Goodreads book id of this edition.",
"type": "string"
},
- "fetched_at": {
+ "format": {
+ "description": "Binding or format of the edition, such as `Hardcover`.",
+ "example": "Hardcover",
"type": "string"
},
- "has_next": {
- "example": true,
- "type": "boolean"
+ "isbn": {
+ "description": "ISBN-10 of the edition.",
+ "type": "string"
+ },
+ "isbn13": {
+ "description": "ISBN-13 of the edition.",
+ "type": "string"
},
"language": {
- "example": "en",
+ "description": "Language the edition is published in.",
"type": "string"
},
- "page": {
- "example": 1,
+ "pages": {
+ "description": "Number of pages in the edition.",
"type": "integer"
},
- "page_size": {
- "example": 100,
- "type": "integer"
+ "publication_date": {
+ "description": "Publication date as Goodreads shows it, such as `October 14th 2008`.",
+ "example": "October 14th 2008",
+ "type": "string"
},
- "source_url": {
+ "publisher": {
+ "description": "Publisher of the edition.",
"type": "string"
},
- "total": {
- "example": 929,
+ "ratings_count": {
+ "description": "Number of ratings the edition has received.",
"type": "integer"
+ },
+ "title": {
+ "description": "Title of the edition.",
+ "type": "string"
+ },
+ "uri": {
+ "description": "Goodreads URL of the edition's book page.",
+ "type": "string"
}
},
"type": "object"
},
- "ikea.CategoryEntry": {
+ "goodreads.EditionsResponse": {
"properties": {
- "key": {
- "example": "20649",
+ "book_id": {
+ "description": "Goodreads book id that was requested.",
"type": "string"
},
- "level": {
- "description": "Level is this category's depth in the taxonomy tree: 1 for a\ntop-level department, 2 for its direct children, and so on.",
- "example": 2,
+ "editions": {
+ "description": "Editions of the work on this page.",
+ "items": {
+ "$ref": "#/definitions/goodreads.Edition"
+ },
+ "type": "array"
+ },
+ "page": {
+ "description": "Page number of editions returned.",
"type": "integer"
},
- "name": {
- "example": "Desks & computer desks",
+ "source_url": {
+ "description": "URL the data was read from.",
"type": "string"
},
- "parent_key": {
- "description": "ParentKey is the immediate parent category's own key, empty for a\ntop-level department. Some categories are cross-listed under more\nthan one parent in IKEA's own taxonomy (e.g. \"Knobs and handles\"\nunder both PAX and BESTÅ) -- ParentKey records one such parent, not\nevery one; see this file's doc comment.",
- "example": "20649",
+ "title": {
+ "description": "Title of the work as shown on the editions page.",
"type": "string"
},
- "url": {
+ "work_id": {
+ "description": "Goodreads work id shared by all the editions listed.",
"type": "string"
}
},
"type": "object"
},
- "ikea.CategoryRef": {
+ "goodreads.GenreBookItem": {
"properties": {
- "key": {
- "example": "20649",
+ "author": {
"type": "string"
},
- "name": {
- "example": "Desks & computer desks",
- "type": "string"
- }
- },
- "type": "object"
- },
- "ikea.CategoryResponse": {
- "properties": {
- "category_key": {
- "example": "20649",
+ "author_id": {
"type": "string"
},
- "category_name": {
- "example": "Desks & computer desks",
- "type": "string"
+ "average_rating": {
+ "example": 4.47,
+ "type": "number"
},
- "category_url": {
+ "id": {
"type": "string"
},
- "count": {
- "description": "Count is the number of products returned in this page; Total is\nIKEA's own total match count for the category. A request whose\nOffset is beyond Total returns Count 0 and Total 0 (IKEA's own\nresponse omits total-count metadata once the offset runs past the\nend of the result set -- confirmed live 2026-08-20).",
- "example": 24,
+ "publication_year": {
"type": "integer"
},
- "country": {
- "example": "us",
- "type": "string"
- },
- "fetched_at": {
- "type": "string"
- },
- "language": {
- "example": "en",
- "type": "string"
- },
- "offset": {
- "example": 0,
+ "ratings_count": {
"type": "integer"
},
- "products": {
- "items": {
- "$ref": "#/definitions/ikea.ProductSummary"
- },
- "type": "array"
- },
- "sort": {
- "example": "relevance",
- "type": "string"
- },
- "source_url": {
- "type": "string"
- },
- "total": {
- "example": 263,
+ "shelved_count": {
+ "description": "ShelvedCount is how many users have shelved this specific book under\nthis genre tag — a per-genre popularity signal distinct from the\nbook's overall ratings_count.",
"type": "integer"
- }
- },
- "type": "object"
- },
- "ikea.Color": {
- "properties": {
- "hex": {
- "example": "ffffff",
- "type": "string"
},
- "id": {
- "example": "10156",
+ "title": {
"type": "string"
},
- "name": {
- "example": "white",
+ "uri": {
"type": "string"
}
},
"type": "object"
},
- "ikea.DeliveryAvailability": {
+ "goodreads.GenreResponse": {
"properties": {
- "in_range": {
- "type": "boolean"
+ "books": {
+ "items": {
+ "$ref": "#/definitions/goodreads.GenreBookItem"
+ },
+ "type": "array"
},
- "message_type": {
- "description": "MessageType is IKEA's own stock-probability code, e.g.\n\"HIGH_IN_STOCK\", \"LOW_IN_STOCK\", \"OUT_OF_STOCK\" -- values other than\nthese three were not observed live this pass; surfaced verbatim\nrather than validated against a closed enum since it is response\ndata from IKEA's own system, not a caller-supplied parameter.",
- "example": "HIGH_IN_STOCK",
+ "name": {
"type": "string"
},
- "updated_at": {
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "ikea.PickupAvailability": {
- "properties": {
- "in_range": {
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "ikea.Price": {
+ "goodreads.ListDirectoryItem": {
"properties": {
- "currency_code": {
- "example": "USD",
- "type": "string"
- },
- "current": {
- "example": 99.99,
- "type": "number"
- },
- "discount_amount": {
- "example": 15.01,
- "type": "number"
- },
- "discount_percentage": {
- "example": 15,
- "type": "number"
- },
- "formatted": {
- "example": "$99.99",
- "type": "string"
- },
- "previous": {
- "example": 95,
- "type": "number"
- },
- "previous_formatted": {
- "example": "$95.00",
- "type": "string"
- },
- "tag": {
- "description": "Tag is IKEA's own price-badge code, e.g. \"FAMILY_PRICE\" for an IKEA\nFamily member price. TagText is its human-readable label, e.g. \"IKEA\nFamily price\".",
- "example": "FAMILY_PRICE",
- "type": "string"
- },
- "tag_text": {
- "example": "IKEA Family price",
+ "category": {
+ "example": "general",
"type": "string"
},
- "valid_from": {
- "example": "2026-08-03",
+ "id": {
+ "example": "1",
"type": "string"
},
- "valid_to": {
- "example": "2026-09-07",
+ "name": {
+ "example": "Best Books Ever",
"type": "string"
}
},
"type": "object"
},
- "ikea.Product": {
+ "goodreads.ListResponse": {
"properties": {
- "category_path": {
- "items": {
- "$ref": "#/definitions/ikea.CategoryRef"
- },
- "type": "array"
- },
- "colors": {
- "items": {
- "$ref": "#/definitions/ikea.Color"
- },
- "type": "array"
- },
- "filter_class": {
- "description": "FilterClass is IKEA's own product-type slug, e.g. \"desks\" -- usable as\na coarse category signal, though it is not currently accepted back as\na category-browse filter by this endpoint (see this package's doc\ncomment).",
- "example": "desks",
- "type": "string"
- },
- "image_url": {
- "type": "string"
- },
- "images": {
- "items": {
- "$ref": "#/definitions/ikea.ProductImage"
- },
- "type": "array"
- },
- "item_no": {
- "example": "80213074",
- "type": "string"
- },
- "measure_text": {
- "example": "41 3/8x19 5/8 \"",
- "type": "string"
- },
- "name": {
- "example": "MICKE",
- "type": "string"
- },
- "price": {
- "$ref": "#/definitions/ikea.Price"
- },
- "product_url": {
- "type": "string"
- },
- "quick_facts": {
+ "books": {
"items": {
- "$ref": "#/definitions/ikea.QuickFact"
+ "$ref": "#/definitions/goodreads.BookListItem"
},
"type": "array"
},
- "rating": {
- "$ref": "#/definitions/ikea.Rating"
- },
- "type_name": {
- "example": "Desk",
- "type": "string"
- },
- "valid_design": {
- "description": "ValidDesign is IKEA's own color/finish descriptor for this exact item,\ne.g. \"white\" or \"black-brown\" -- the design this specific item number\nrepresents, as opposed to Colors below (every color swatch shown for\nthe product family).",
- "example": "white",
+ "id": {
"type": "string"
},
- "variant_count": {
- "description": "VariantCount is the total number of other purchasable size/color/design\noptions this product has, which may exceed len(Variants) -- the search\nendpoint's own gprDescription block does not always enumerate every\nvariant.",
- "example": 3,
+ "page": {
"type": "integer"
},
- "variants": {
- "items": {
- "$ref": "#/definitions/ikea.Variant"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "ikea.ProductImage": {
- "properties": {
- "alt_text": {
- "type": "string"
- },
- "type": {
- "example": "MAIN_PRODUCT_IMAGE",
+ "source_url": {
"type": "string"
},
- "url": {
+ "title": {
+ "example": "Best Books Ever",
"type": "string"
}
},
"type": "object"
},
- "ikea.ProductResponse": {
+ "goodreads.ListsResponse": {
"properties": {
- "fetched_at": {
- "type": "string"
- },
- "product": {
- "$ref": "#/definitions/ikea.Product"
- },
- "source_url": {
- "type": "string"
+ "lists": {
+ "items": {
+ "$ref": "#/definitions/goodreads.ListDirectoryItem"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "ikea.ProductSummary": {
+ "goodreads.Quote": {
"properties": {
- "colors": {
- "items": {
- "$ref": "#/definitions/ikea.Color"
- },
- "type": "array"
- },
- "filter_class": {
- "description": "FilterClass is IKEA's own product-type slug, e.g. \"desks\" -- usable as\na coarse category signal, though it is not currently accepted back as\na category-browse filter by this endpoint (see this package's doc\ncomment).",
- "example": "desks",
- "type": "string"
- },
- "image_url": {
- "type": "string"
- },
- "item_no": {
- "example": "80213074",
- "type": "string"
- },
- "measure_text": {
- "example": "41 3/8x19 5/8 \"",
- "type": "string"
- },
- "name": {
- "example": "MICKE",
+ "author": {
"type": "string"
},
- "price": {
- "$ref": "#/definitions/ikea.Price"
- },
- "product_url": {
+ "book_id": {
"type": "string"
},
- "rating": {
- "$ref": "#/definitions/ikea.Rating"
- },
- "type_name": {
- "example": "Desk",
+ "book_title": {
"type": "string"
},
- "valid_design": {
- "description": "ValidDesign is IKEA's own color/finish descriptor for this exact item,\ne.g. \"white\" or \"black-brown\" -- the design this specific item number\nrepresents, as opposed to Colors below (every color swatch shown for\nthe product family).",
- "example": "white",
+ "id": {
"type": "string"
},
- "variant_count": {
- "description": "VariantCount is the total number of other purchasable size/color/design\noptions this product has, which may exceed len(Variants) -- the search\nendpoint's own gprDescription block does not always enumerate every\nvariant.",
- "example": 3,
+ "likes": {
"type": "integer"
},
- "variants": {
+ "tags": {
"items": {
- "$ref": "#/definitions/ikea.Variant"
+ "type": "string"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "ikea.QuickFact": {
- "properties": {
- "name": {
- "example": "Firm",
- "type": "string"
- },
- "type_name": {
- "example": "Firmness",
- "type": "string"
- }
- },
- "type": "object"
- },
- "ikea.Rating": {
- "properties": {
- "count": {
- "example": 6367,
- "type": "integer"
- },
- "value": {
- "example": 4.5,
- "type": "number"
- }
- },
- "type": "object"
- },
- "ikea.RelatedSearch": {
- "properties": {
- "count": {
- "example": 48,
- "type": "integer"
},
"text": {
- "example": "desk chair",
- "type": "string"
- }
- },
- "type": "object"
- },
- "ikea.Review": {
- "properties": {
- "author": {
- "example": "Alexis",
- "type": "string"
- },
- "author_country": {
- "description": "AuthorCountry is the reviewer's own self-reported country, as IKEA\ndisplays it (e.g. \"United States\") -- not a normalized country code.",
- "example": "United States",
"type": "string"
},
- "rating": {
- "example": 5,
- "type": "integer"
- },
- "text": {
+ "uri": {
"type": "string"
},
- "title": {
- "example": "Great buy",
+ "work_id": {
"type": "string"
}
},
"type": "object"
},
- "ikea.ReviewsResponse": {
+ "goodreads.Review": {
"properties": {
- "average_rating": {
- "example": 4.5,
- "type": "number"
- },
- "count": {
- "example": 3,
+ "comment_count": {
"type": "integer"
},
- "fetched_at": {
- "type": "string"
+ "contains_spoilers": {
+ "type": "boolean"
},
- "item_no": {
- "example": "80213074",
+ "date": {
+ "example": "2020-09-18",
"type": "string"
},
- "rating_count": {
- "example": 6367,
+ "like_count": {
"type": "integer"
},
- "reviews": {
- "items": {
- "$ref": "#/definitions/ikea.Review"
- },
- "type": "array"
- },
- "source_url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "ikea.SearchResponse": {
- "properties": {
- "count": {
- "description": "Count is the number of products returned in this response; Total is\nIKEA's own total match count across the full result set (there is no\nconfirmed-working pagination parameter for retrieving results beyond\nSize in one call -- see this package's doc comment).",
- "example": 24,
+ "rating": {
+ "example": 5,
"type": "integer"
},
- "country": {
- "example": "us",
- "type": "string"
- },
- "did_you_mean": {
- "description": "DidYouMean is populated only when IKEA's own spell-correction\nsuggests a different query than the one submitted.",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "fetched_at": {
- "type": "string"
- },
- "language": {
- "example": "en",
+ "reviewer": {
"type": "string"
},
- "products": {
- "items": {
- "$ref": "#/definitions/ikea.ProductSummary"
- },
- "type": "array"
- },
- "query": {
- "example": "desk",
+ "reviewer_url": {
"type": "string"
},
- "related_searches": {
- "description": "RelatedSearches are IKEA's own suggested related queries with their\nown result counts.",
- "items": {
- "$ref": "#/definitions/ikea.RelatedSearch"
- },
- "type": "array"
- },
- "source_url": {
+ "text": {
"type": "string"
- },
- "total": {
- "example": 203,
- "type": "integer"
}
},
"type": "object"
},
- "ikea.StoreAddress": {
+ "goodreads.ReviewsResponse": {
"properties": {
- "city": {
- "example": "Burbank",
- "type": "string"
- },
- "country": {
- "example": "US",
- "type": "string"
- },
- "postal_code": {
- "example": "91502",
- "type": "string"
- },
- "state": {
- "example": "CA",
- "type": "string"
- },
- "street": {
- "example": "600 South IKEA Way",
+ "id": {
"type": "string"
- }
- },
- "type": "object"
- },
- "ikea.StoreAndDetail": {
- "properties": {
- "address": {
- "$ref": "#/definitions/ikea.StoreAddress"
- },
- "geo": {
- "$ref": "#/definitions/ikea.StoreGeo"
},
- "hours": {
+ "reviews": {
"items": {
- "$ref": "#/definitions/ikea.StoreHours"
+ "$ref": "#/definitions/goodreads.Review"
},
"type": "array"
},
- "location_type": {
- "example": "Store",
- "type": "string"
- },
- "name": {
- "example": "IKEA Burbank",
- "type": "string"
- },
- "price_range": {
- "example": "$$",
- "type": "string"
- },
- "slug": {
- "example": "burbank",
- "type": "string"
- },
- "url": {
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "ikea.StoreGeo": {
- "properties": {
- "latitude": {
- "example": 34.1745,
- "type": "number"
- },
- "longitude": {
- "example": -118.3032,
- "type": "number"
- }
- },
- "type": "object"
- },
- "ikea.StoreHours": {
+ "goodreads.SearchResponse": {
"properties": {
- "closes": {
- "example": "21:00",
+ "query": {
+ "description": "Search query that was run.",
"type": "string"
},
- "days": {
- "example": [
- "Monday",
- "Tuesday",
- "Wednesday",
- "Thursday",
- "Sunday"
- ],
+ "results": {
+ "description": "Books matching the query.",
"items": {
- "type": "string"
+ "$ref": "#/definitions/goodreads.SearchResult"
},
"type": "array"
},
- "opens": {
- "example": "10:00",
+ "source_url": {
+ "description": "URL the data was read from.",
"type": "string"
}
},
"type": "object"
},
- "ikea.StoreRef": {
+ "goodreads.SearchResult": {
"properties": {
- "location_type": {
- "description": "LocationType is IKEA's own location-type label, e.g. \"Store\",\n\"Small store\", \"Plan & order point with pick-up\", \"Order point\",\n\"Pick-up point\" -- surfaced verbatim rather than validated against a\nclosed enum since it is response data from IKEA's own directory, not\na caller-supplied parameter.",
- "example": "Store",
+ "author": {
+ "description": "Name of the book's author.",
"type": "string"
},
- "name": {
- "example": "IKEA Burbank, CA",
+ "author_id": {
+ "description": "Goodreads author id.",
"type": "string"
},
- "region": {
- "description": "Region is the directory's own grouping heading for this location\n(e.g. \"Los Angeles Area & Southern California\"). Empty for the\ndirectory's leading entries, which appear before any region heading\n-- confirmed live 2026-08-20.",
- "example": "Los Angeles Area & Southern California",
- "type": "string"
+ "average_rating": {
+ "description": "Average rating of the book out of 5.",
+ "example": 4.35,
+ "type": "number"
},
- "slug": {
- "example": "burbank",
+ "description": {
+ "description": "Book description, shortened to a short excerpt.",
"type": "string"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "ikea.StoreResponse": {
- "properties": {
- "fetched_at": {
+ "id": {
+ "description": "Goodreads book id.",
"type": "string"
},
- "source_url": {
+ "image_url": {
+ "description": "URL of the book cover image.",
"type": "string"
},
- "store": {
- "$ref": "#/definitions/ikea.StoreAndDetail"
- }
- },
- "type": "object"
- },
- "ikea.StoresResponse": {
- "properties": {
- "count": {
- "example": 84,
+ "pages": {
+ "description": "Number of pages in the book.",
"type": "integer"
},
- "country": {
- "example": "us",
- "type": "string"
- },
- "fetched_at": {
- "type": "string"
- },
- "language": {
- "example": "en",
- "type": "string"
- },
- "source_url": {
- "type": "string"
- },
- "stores": {
- "items": {
- "$ref": "#/definitions/ikea.StoreRef"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "ikea.SuggestResponse": {
- "properties": {
- "count": {
- "example": 5,
+ "ratings_count": {
+ "description": "Number of ratings the book has received.",
"type": "integer"
},
- "country": {
- "example": "us",
- "type": "string"
- },
- "fetched_at": {
- "type": "string"
- },
- "language": {
- "example": "en",
- "type": "string"
- },
- "products": {
- "items": {
- "$ref": "#/definitions/ikea.ProductSummary"
- },
- "type": "array"
- },
- "query": {
- "example": "des",
+ "title": {
+ "description": "Title of the book as Goodreads shows it.",
"type": "string"
},
- "source_url": {
+ "uri": {
+ "description": "Goodreads URL of the book page.",
"type": "string"
- },
- "suggestions": {
- "items": {
- "$ref": "#/definitions/ikea.RelatedSearch"
- },
- "type": "array"
}
},
"type": "object"
},
- "ikea.Variant": {
+ "goodreads.authorBooksResponseDoc": {
"properties": {
- "image_url": {
- "type": "string"
- },
- "item_no": {
- "example": "10244743",
- "type": "string"
- },
- "name": {
- "example": "MICKE",
- "type": "string"
- },
- "price": {
- "$ref": "#/definitions/ikea.Price"
- },
- "product_url": {
- "type": "string"
- },
- "rating": {
- "$ref": "#/definitions/ikea.Rating"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "type_name": {
- "example": "Desk",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/goodreads.AuthorBooksResponse"
},
- "valid_design": {
- "example": "black-brown",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "ikea.availabilityResponseDoc": {
+ "goodreads.authorQuotesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/ikea.AvailabilityResponse"
+ "$ref": "#/definitions/goodreads.AuthorQuotesResponse"
},
"msg": {
"example": "OK",
@@ -110295,14 +115759,14 @@
},
"type": "object"
},
- "ikea.categoriesResponseDoc": {
+ "goodreads.authorResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/ikea.CategoriesResponse"
+ "$ref": "#/definitions/goodreads.AuthorResponse"
},
"msg": {
"example": "OK",
@@ -110311,14 +115775,14 @@
},
"type": "object"
},
- "ikea.categoryResponseDoc": {
+ "goodreads.bookResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/ikea.CategoryResponse"
+ "$ref": "#/definitions/goodreads.BookResponse"
},
"msg": {
"example": "OK",
@@ -110327,14 +115791,14 @@
},
"type": "object"
},
- "ikea.productResponseDoc": {
+ "goodreads.editionsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/ikea.ProductResponse"
+ "$ref": "#/definitions/goodreads.EditionsResponse"
},
"msg": {
"example": "OK",
@@ -110343,14 +115807,14 @@
},
"type": "object"
},
- "ikea.reviewsResponseDoc": {
+ "goodreads.genreResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/ikea.ReviewsResponse"
+ "$ref": "#/definitions/goodreads.GenreResponse"
},
"msg": {
"example": "OK",
@@ -110359,14 +115823,14 @@
},
"type": "object"
},
- "ikea.searchResponseDoc": {
+ "goodreads.listResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/ikea.SearchResponse"
+ "$ref": "#/definitions/goodreads.ListResponse"
},
"msg": {
"example": "OK",
@@ -110375,14 +115839,14 @@
},
"type": "object"
},
- "ikea.storeResponseDoc": {
+ "goodreads.listsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/ikea.StoreResponse"
+ "$ref": "#/definitions/goodreads.ListsResponse"
},
"msg": {
"example": "OK",
@@ -110391,14 +115855,14 @@
},
"type": "object"
},
- "ikea.storesResponseDoc": {
+ "goodreads.reviewsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/ikea.StoresResponse"
+ "$ref": "#/definitions/goodreads.ReviewsResponse"
},
"msg": {
"example": "OK",
@@ -110407,14 +115871,14 @@
},
"type": "object"
},
- "ikea.suggestResponseDoc": {
+ "goodreads.searchResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/ikea.SuggestResponse"
+ "$ref": "#/definitions/goodreads.SearchResponse"
},
"msg": {
"example": "OK",
@@ -110423,2338 +115887,1845 @@
},
"type": "object"
},
- "imdb.AlternateTitle": {
+ "goodrx.AnswerDrug": {
"properties": {
- "country": {
- "description": "Country or region the alternate title is used in.",
- "example": "United States",
+ "info_url": {
"type": "string"
},
- "title": {
- "description": "Alternate title as listed for that country.",
- "example": "Inception",
+ "name": {
"type": "string"
},
- "type": {
- "description": "Kind of alternate title, when IMDb gives one.",
- "example": "original title",
+ "slug": {
"type": "string"
}
},
"type": "object"
},
- "imdb.AwardItem": {
+ "goodrx.AnswerRef": {
"properties": {
- "award": {
- "description": "Name of the award given, for example `Oscar`.",
- "example": "Oscar",
+ "drug": {
"type": "string"
},
- "category": {
- "description": "Award category, for example `Best Motion Picture of the Year`.",
- "example": "Best Motion Picture of the Year",
+ "question": {
"type": "string"
},
- "event": {
- "description": "Name of the awards event, for example `Academy Awards, USA`.",
- "example": "Academy Awards, USA",
+ "slug": {
"type": "string"
},
- "notes": {
- "description": "Extra note IMDb attaches to the award entry.",
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "goodrx.AnswerResponse": {
+ "properties": {
+ "answer": {
"type": "string"
},
- "public_signals": {
- "description": "Number of details filled in on this entry, counted across event, year, category, result, award, recipients, titles and notes.",
- "example": 6,
- "type": "integer"
- },
- "recipients": {
- "description": "People who received the award.",
+ "articles": {
"items": {
- "$ref": "#/definitions/imdb.Person"
+ "$ref": "#/definitions/goodrx.ArticleRef"
},
"type": "array"
},
- "result": {
- "description": "Outcome of the entry, for example `nomination`.",
- "example": "nomination",
- "type": "string"
+ "drug": {
+ "$ref": "#/definitions/goodrx.AnswerDrug"
},
- "titles": {
- "description": "Titles the award entry refers to.",
+ "more_questions": {
"items": {
- "$ref": "#/definitions/imdb.AwardTitle"
+ "$ref": "#/definitions/goodrx.AnswerRef"
},
"type": "array"
},
- "year": {
- "description": "Year of the award entry, for example `2011`.",
- "example": "2011",
- "type": "string"
- }
- },
- "type": "object"
- },
- "imdb.AwardTitle": {
- "properties": {
- "id": {
- "description": "IMDb title ID, for example `tt1375666`.",
- "example": "tt1375666",
- "type": "string"
+ "paragraphs": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "title": {
- "description": "Name of the title the award entry refers to.",
- "example": "Inception",
+ "question": {
"type": "string"
},
- "url": {
- "description": "IMDb page URL of the title.",
- "example": "https://www.imdb.com/title/tt1375666/",
- "type": "string"
- }
- },
- "type": "object"
- },
- "imdb.ChartResponse": {
- "properties": {
- "chart": {
- "example": "top_rated_movies",
- "type": "string"
+ "related_drugs": {
+ "items": {
+ "$ref": "#/definitions/goodrx.DrugLink"
+ },
+ "type": "array"
},
- "fetched_at": {
- "example": "2026-08-22T14:46:16Z",
+ "slug": {
"type": "string"
},
- "limit": {
- "example": 25,
- "type": "integer"
- },
"source_url": {
- "example": "https://www.imdb.com/chart/top/",
"type": "string"
},
- "titles": {
- "items": {
- "$ref": "#/definitions/imdb.ChartTitle"
- },
- "type": "array"
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "imdb.ChartTitle": {
+ "goodrx.AnswersResponse": {
"properties": {
- "cast": {
+ "questions": {
"items": {
- "$ref": "#/definitions/imdb.Person"
+ "$ref": "#/definitions/goodrx.AnswerRef"
},
"type": "array"
},
- "directors": {
+ "top_questions": {
"items": {
- "$ref": "#/definitions/imdb.Person"
+ "$ref": "#/definitions/goodrx.AnswerRef"
},
"type": "array"
},
- "id": {
- "example": "tt0111161",
- "type": "string"
- },
- "rank": {
- "example": 1,
- "type": "integer"
- },
- "rating_count": {
- "example": 3227390,
+ "total": {
"type": "integer"
- },
- "rating_value": {
- "example": 9.3,
- "type": "number"
- },
+ }
+ },
+ "type": "object"
+ },
+ "goodrx.ArticleRef": {
+ "properties": {
"title": {
- "example": "The Shawshank Redemption",
"type": "string"
},
"url": {
- "example": "https://www.imdb.com/title/tt0111161/",
"type": "string"
- },
- "writers": {
+ }
+ },
+ "type": "object"
+ },
+ "goodrx.BrandsResponse": {
+ "properties": {
+ "drugs": {
"items": {
- "$ref": "#/definitions/imdb.Person"
+ "$ref": "#/definitions/goodrx.DrugLink"
},
"type": "array"
- },
- "year": {
- "example": 1994,
- "type": "integer"
}
},
"type": "object"
},
- "imdb.CompanyItem": {
+ "goodrx.ClassRef": {
"properties": {
"name": {
- "description": "Company name as listed on IMDb.",
- "example": "Warner Bros.",
"type": "string"
},
- "note": {
- "description": "Note shown next to the company, for example `presents`.",
- "example": "presents",
+ "slug": {
"type": "string"
},
- "public_signals": {
- "description": "Number of details filled in on this entry, counted across name, URL and note.",
- "example": 2,
- "type": "integer"
- },
"url": {
- "description": "IMDb page URL of the company.",
- "example": "https://www.imdb.com/company/co0002663/",
"type": "string"
}
},
"type": "object"
},
- "imdb.CompanySection": {
+ "goodrx.ClassResponse": {
"properties": {
- "companies": {
- "description": "Companies listed in this section.",
+ "drugs": {
"items": {
- "$ref": "#/definitions/imdb.CompanyItem"
+ "$ref": "#/definitions/goodrx.DrugLink"
},
"type": "array"
},
"name": {
- "description": "Section heading, for example `Production Companies`.",
- "example": "Production Companies",
+ "type": "string"
+ },
+ "overview": {
+ "description": "Overview is the class description (\"Why are ... prescribed?\").",
"type": "string"
},
"slug": {
- "description": "Lowercase, hyphenated form of the section name, for example `production-companies`.",
- "example": "production-companies",
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "imdb.ConnectionAssociatedTitle": {
+ "goodrx.ClassesResponse": {
"properties": {
- "id": {
- "example": "tt1936736",
+ "classes": {
+ "items": {
+ "$ref": "#/definitions/goodrx.ClassRef"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "goodrx.ComparisonDrug": {
+ "properties": {
+ "info_url": {
"type": "string"
},
- "title": {
- "example": "Why Gump? Why Now?",
+ "name": {
"type": "string"
},
- "title_type": {
- "example": "TV Episode",
+ "prescription": {
"type": "string"
},
- "url": {
- "example": "https://www.imdb.com/title/tt1936736/",
+ "slug": {
"type": "string"
},
- "year": {
- "example": 1994,
- "type": "integer"
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "imdb.ConnectionItem": {
+ "goodrx.ComparisonRef": {
"properties": {
- "associated_title": {
- "$ref": "#/definitions/imdb.ConnectionAssociatedTitle"
+ "name": {
+ "type": "string"
},
- "category": {
- "example": "Featured in",
+ "slug": {
"type": "string"
},
- "note": {
- "example": "Clips appear in the teaser for next week's show.",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "imdb.CreditItem": {
+ "goodrx.ComparisonResponse": {
"properties": {
- "character": {
- "example": "Dom Cobb",
- "type": "string"
+ "drugs": {
+ "items": {
+ "$ref": "#/definitions/goodrx.ComparisonDrug"
+ },
+ "type": "array"
},
- "name": {
- "example": "Christopher Nolan",
+ "key_takeaways": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "slug": {
"type": "string"
},
- "role": {
- "example": "written by",
+ "title": {
"type": "string"
},
"url": {
- "example": "https://www.imdb.com/name/nm0634240/",
"type": "string"
}
},
"type": "object"
},
- "imdb.CreditSection": {
+ "goodrx.ComparisonTopic": {
"properties": {
- "credits": {
+ "comparisons": {
"items": {
- "$ref": "#/definitions/imdb.CreditItem"
+ "$ref": "#/definitions/goodrx.ComparisonRef"
},
"type": "array"
},
- "has_more": {
- "example": true,
- "type": "boolean"
- },
"name": {
- "example": "Directed by",
- "type": "string"
- },
- "slug": {
- "example": "directed-by",
"type": "string"
- },
- "total": {
- "example": 145,
- "type": "integer"
}
},
"type": "object"
},
- "imdb.CreditsResponse": {
+ "goodrx.ComparisonsResponse": {
"properties": {
- "fetched_at": {
- "example": "2026-06-07T14:46:16Z",
- "type": "string"
- },
- "id": {
- "example": "tt1375666",
- "type": "string"
- },
- "public_page_derived": {
- "example": true,
- "type": "boolean"
- },
- "sections": {
+ "topics": {
"items": {
- "$ref": "#/definitions/imdb.CreditSection"
+ "$ref": "#/definitions/goodrx.ComparisonTopic"
},
"type": "array"
- },
- "source_url": {
- "example": "https://www.imdb.com/title/tt1375666/fullcredits/",
- "type": "string"
- },
- "url": {
- "example": "https://www.imdb.com/title/tt1375666/fullcredits/",
- "type": "string"
}
},
"type": "object"
},
- "imdb.EpisodeItem": {
+ "goodrx.Condition": {
"properties": {
- "air_date": {
- "description": "Air date as IMDb shows it, for example `17 Apr 2011`, or just the year when only that is known. Omitted when IMDb has no date.",
- "example": "17 Apr 2011",
- "type": "string"
- },
- "episode": {
- "description": "Episode number within the season.",
- "example": 1,
- "type": "integer"
- },
- "id": {
- "description": "IMDb title ID of the episode.",
- "example": "tt1480055",
- "type": "string"
+ "has_medications": {
+ "type": "boolean"
},
- "plot": {
- "description": "Plot summary of the episode.",
+ "name": {
"type": "string"
},
- "public_signals": {
- "description": "Number of details filled in on this episode, counted across title, season, episode number, rating, vote count and plot.",
- "example": 6,
- "type": "integer"
- },
- "rating_count": {
- "description": "Number of votes behind the episode rating.",
- "example": 52000,
- "type": "integer"
- },
- "rating_value": {
- "description": "Average IMDb user rating of the episode.",
- "example": 8.9,
- "type": "number"
- },
- "season": {
- "description": "Season number of the episode.",
- "example": 1,
- "type": "integer"
- },
- "title": {
- "description": "Title of the episode as shown on IMDb.",
- "example": "Winter Is Coming",
+ "slug": {
"type": "string"
},
"url": {
- "description": "IMDb page URL of the episode.",
- "example": "https://www.imdb.com/title/tt1480055/",
"type": "string"
}
},
"type": "object"
},
- "imdb.EpisodesResponse": {
+ "goodrx.ConditionDrugsResponse": {
"properties": {
- "episodes": {
- "description": "Episodes of the requested season, or of the first season when none was requested.",
+ "drugs": {
"items": {
- "$ref": "#/definitions/imdb.EpisodeItem"
+ "$ref": "#/definitions/goodrx.DrugLink"
},
"type": "array"
},
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-06-07T14:46:16Z",
- "type": "string"
- },
- "has_more": {
- "description": "`true` when IMDb lists more episodes for the season than were returned.",
- "example": true,
- "type": "boolean"
- },
- "id": {
- "description": "IMDb title ID of the series, for example `tt0944947`.",
- "example": "tt0944947",
+ "name": {
"type": "string"
},
- "limit": {
- "description": "Maximum number of episodes requested.",
- "example": 10,
- "type": "integer"
- },
- "public_page_derived": {
- "description": "Always `true`. The data comes from IMDb's public pages.",
- "example": true,
- "type": "boolean"
- },
- "season": {
- "description": "Season number that was requested. Omitted when no season was requested.",
- "example": 1,
- "type": "integer"
- },
- "source_url": {
- "description": "URL the data was read from.",
- "example": "https://www.imdb.com/title/tt0944947/episodes/?season=1",
+ "slug": {
"type": "string"
},
- "total": {
- "description": "Number of episodes IMDb lists for the season.",
- "example": 11,
- "type": "integer"
- },
"url": {
- "description": "IMDb episodes page of the series.",
- "example": "https://www.imdb.com/title/tt0944947/episodes/",
"type": "string"
}
},
"type": "object"
},
- "imdb.ImageItem": {
+ "goodrx.ConditionResponse": {
"properties": {
- "caption": {
- "example": "Elisabeth Wiedemann in Holly - The Movie (1984)",
+ "alternate_name": {
"type": "string"
},
- "copyright": {
- "example": "2013 Getty Images",
- "type": "string"
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/goodrx.ArticleRef"
+ },
+ "type": "array"
},
- "countries": {
+ "authors": {
"items": {
- "$ref": "#/definitions/imdb.ImageLocale"
+ "type": "string"
},
"type": "array"
},
- "created_by": {
- "example": "Stanley Bielecki Movie Collection",
+ "date_modified": {
"type": "string"
},
- "created_on": {
- "example": "February 16, 2026",
+ "date_published": {
"type": "string"
},
- "height": {
- "example": 3024,
- "type": "integer"
- },
- "id": {
- "example": "rm1894298369",
+ "description": {
"type": "string"
},
- "languages": {
- "items": {
- "$ref": "#/definitions/imdb.ImageLocale"
- },
- "type": "array"
- },
- "names": {
- "items": {
- "$ref": "#/definitions/imdb.ImageName"
- },
- "type": "array"
+ "headline": {
+ "type": "string"
},
- "position": {
- "example": 1,
- "type": "integer"
+ "medications_url": {
+ "type": "string"
},
- "source": {
- "example": "gettyimages.com",
+ "name": {
"type": "string"
},
- "titles": {
+ "sections": {
"items": {
- "$ref": "#/definitions/imdb.ImageTitle"
+ "$ref": "#/definitions/goodrx.InfoSection"
},
"type": "array"
},
- "type": {
- "example": "still_frame",
+ "slug": {
"type": "string"
},
"url": {
- "example": "https://m.media-amazon.com/images/M/MV5BZjczNmIzMjEtYmM4MC00ZjQxLTk4NjctMTA2MzEzOWI3NWRhXkEyXkFqcGc@._V1_.jpg",
"type": "string"
- },
- "width": {
- "example": 4032,
- "type": "integer"
}
},
"type": "object"
},
- "imdb.ImageLocale": {
+ "goodrx.ConditionsResponse": {
"properties": {
- "code": {
- "example": "SE",
- "type": "string"
- },
- "name": {
- "example": "Sweden",
- "type": "string"
+ "conditions": {
+ "items": {
+ "$ref": "#/definitions/goodrx.Condition"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "imdb.ImageName": {
+ "goodrx.Configuration": {
"properties": {
- "id": {
- "example": "nm0000151",
- "type": "string"
- },
- "name": {
- "example": "Morgan Freeman",
+ "dosage": {
"type": "string"
},
- "url": {
- "example": "https://www.imdb.com/name/nm0000151/",
- "type": "string"
- }
- },
- "type": "object"
- },
- "imdb.ImageTitle": {
- "properties": {
- "id": {
- "example": "tt0068646",
+ "drug_id": {
"type": "string"
},
- "title": {
- "example": "The Godfather",
+ "form": {
"type": "string"
},
- "url": {
- "example": "https://www.imdb.com/title/tt0068646/",
+ "label": {
"type": "string"
},
- "year": {
- "example": 1972,
+ "quantity": {
"type": "integer"
+ },
+ "summary": {
+ "type": "string"
}
},
"type": "object"
},
- "imdb.ImageType": {
+ "goodrx.DosageOption": {
"properties": {
- "description": {
- "example": "A frame captured from the production itself.",
+ "default_quantity": {
+ "description": "DefaultQuantity is GoodRx's default quantity for this dosage.",
+ "type": "integer"
+ },
+ "drug_id": {
"type": "string"
},
- "label": {
- "example": "Still Frame",
+ "name": {
"type": "string"
},
- "type": {
- "example": "still_frame",
+ "quantities": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "slug": {
"type": "string"
}
},
"type": "object"
},
- "imdb.ImageTypeCount": {
+ "goodrx.DosagePriceRow": {
"properties": {
- "label": {
- "example": "Still Frame",
+ "dosage": {
"type": "string"
},
- "total": {
- "example": 381,
- "type": "integer"
+ "price": {
+ "type": "number"
},
- "type": {
- "example": "still_frame",
+ "price_url": {
"type": "string"
+ },
+ "quantity": {
+ "type": "string"
+ },
+ "unit_price": {
+ "type": "number"
}
},
"type": "object"
},
- "imdb.ImageTypesResponse": {
+ "goodrx.DosagePriceTable": {
"properties": {
- "fetched_at": {
- "example": "2026-09-09T14:46:16Z",
+ "form": {
"type": "string"
},
- "total": {
- "example": 8,
- "type": "integer"
- },
- "types": {
+ "rows": {
"items": {
- "$ref": "#/definitions/imdb.ImageType"
+ "$ref": "#/definitions/goodrx.DosagePriceRow"
},
"type": "array"
}
},
"type": "object"
},
- "imdb.KeywordItem": {
+ "goodrx.DrugGuideRef": {
"properties": {
- "keyword": {
- "description": "Keyword IMDb has tagged the title with.",
- "example": "dream",
+ "last_modified": {
"type": "string"
},
- "public_signals": {
- "description": "Number of details filled in on this entry, counted across keyword and URL.",
- "example": 2,
- "type": "integer"
+ "slug": {
+ "type": "string"
},
- "url": {
- "description": "IMDb page that lists titles with this keyword.",
- "example": "https://www.imdb.com/search/keyword/?keywords=dream",
+ "title": {
"type": "string"
- }
- },
- "type": "object"
- },
- "imdb.LifetimeGross": {
- "properties": {
- "domestic": {
- "$ref": "#/definitions/imdb.Money"
},
- "international": {
- "$ref": "#/definitions/imdb.Money"
+ "topic": {
+ "enum": [
+ "side-effects",
+ "dosage",
+ "interactions"
+ ],
+ "type": "string"
},
- "worldwide": {
- "$ref": "#/definitions/imdb.Money"
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "imdb.LocationItem": {
+ "goodrx.DrugGuideResponse": {
"properties": {
- "location": {
- "description": "Filming location name, for example `Paris, France`.",
- "example": "Paris, France",
+ "drug": {
"type": "string"
},
- "note": {
- "description": "Note IMDb adds about the location, such as the scene shot there.",
- "example": "Ariadne learns to build dreams",
+ "last_reviewed": {
"type": "string"
},
- "public_signals": {
- "description": "Number of details filled in on this entry, counted across location and note.",
- "example": 2,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "imdb.Money": {
- "properties": {
- "amount": {
- "example": 28767189,
- "type": "integer"
+ "price_tables": {
+ "items": {
+ "$ref": "#/definitions/goodrx.DosagePriceTable"
+ },
+ "type": "array"
},
- "currency": {
- "example": "USD",
- "type": "string"
- }
- },
- "type": "object"
- },
- "imdb.NameAwardsResponse": {
- "properties": {
- "awards": {
- "description": "Award entries IMDb lists for the person.",
+ "related": {
"items": {
- "$ref": "#/definitions/imdb.AwardItem"
+ "$ref": "#/definitions/goodrx.DrugGuideRef"
},
"type": "array"
},
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-06-07T14:46:16Z",
- "type": "string"
+ "reviewed_by": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "has_more": {
- "description": "`true` when IMDb lists more award entries than were returned.",
- "example": true,
- "type": "boolean"
+ "sections": {
+ "items": {
+ "$ref": "#/definitions/goodrx.GuideSection"
+ },
+ "type": "array"
},
- "id": {
- "description": "IMDb name ID of the person, for example `nm0634240`.",
- "example": "nm0634240",
+ "slug": {
"type": "string"
},
- "public_page_derived": {
- "description": "Always `true`. The data comes from IMDb's public pages.",
- "example": true,
- "type": "boolean"
- },
"source_url": {
- "description": "URL the data was read from.",
- "example": "https://www.imdb.com/name/nm0634240/awards/",
- "type": "string"
- },
- "total": {
- "description": "Number of award entries IMDb lists for the person.",
- "example": 64,
- "type": "integer"
- },
- "url": {
- "description": "IMDb awards page of the person.",
- "example": "https://www.imdb.com/name/nm0634240/awards/",
- "type": "string"
- }
- },
- "type": "object"
- },
- "imdb.NameCreditItem": {
- "properties": {
- "episodes": {
- "description": "Number of episodes the person is credited on, as IMDb words it, for example `3 episodes`.",
- "example": "3 episodes",
- "type": "string"
- },
- "id": {
- "description": "IMDb title ID of the credited title.",
- "example": "tt1375666",
"type": "string"
},
- "role": {
- "description": "Role or character credited for the person on the title, for example `Self`.",
- "example": "directed by",
- "type": "string"
+ "summary": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
"title": {
- "description": "Name of the credited title.",
- "example": "Inception",
"type": "string"
},
- "url": {
- "description": "IMDb page URL of the credited title.",
- "example": "https://www.imdb.com/title/tt1375666/",
+ "topic": {
+ "enum": [
+ "side-effects",
+ "dosage",
+ "interactions"
+ ],
"type": "string"
},
- "year": {
- "description": "Release year of the credited title.",
- "example": "2010",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "imdb.NameCreditSection": {
+ "goodrx.DrugGuidesResponse": {
"properties": {
- "credits": {
- "description": "Credits the person has in this section.",
+ "guides": {
"items": {
- "$ref": "#/definitions/imdb.NameCreditItem"
+ "$ref": "#/definitions/goodrx.DrugGuideRef"
},
"type": "array"
},
- "has_more": {
- "description": "`true` when IMDb lists more credits in this section than were returned.",
- "example": true,
- "type": "boolean"
- },
- "name": {
- "description": "Section heading, usually the job, for example `Director`.",
- "example": "Director",
+ "letter": {
"type": "string"
},
- "slug": {
- "description": "Lowercase, hyphenated form of the section name, for example `director`.",
- "example": "director",
+ "topic": {
"type": "string"
},
"total": {
- "description": "Number of credits IMDb lists in this section.",
- "example": 152,
"type": "integer"
}
},
"type": "object"
},
- "imdb.NameCreditsResponse": {
+ "goodrx.DrugInfo": {
"properties": {
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-06-07T14:46:16Z",
+ "administration_route": {
"type": "string"
},
- "id": {
- "description": "IMDb name ID of the person, for example `nm0634240`.",
- "example": "nm0634240",
+ "alternate_name": {
"type": "string"
},
- "public_page_derived": {
- "description": "Always `true`. The data comes from IMDb's public pages.",
- "example": true,
- "type": "boolean"
+ "description": {
+ "type": "string"
},
- "sections": {
- "description": "Credits of the person, grouped by job.",
- "items": {
- "$ref": "#/definitions/imdb.NameCreditSection"
- },
- "type": "array"
+ "drug_class": {
+ "$ref": "#/definitions/goodrx.ClassRef"
},
- "source_url": {
- "description": "URL the data was read from.",
- "example": "https://www.imdb.com/name/nm0634240/",
+ "image_url": {
+ "type": "string"
+ },
+ "legal_status": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "non_proprietary_name": {
+ "type": "string"
+ },
+ "prescription_status": {
+ "type": "string"
+ },
+ "slug": {
"type": "string"
},
"url": {
- "description": "IMDb page URL of the person.",
- "example": "https://www.imdb.com/name/nm0634240/",
"type": "string"
}
},
"type": "object"
},
- "imdb.NameImagesResponse": {
+ "goodrx.DrugInfoResponse": {
"properties": {
- "fetched_at": {
- "example": "2026-09-09T14:46:16Z",
- "type": "string"
- },
- "has_more": {
- "example": true,
- "type": "boolean"
+ "alternatives": {
+ "items": {
+ "$ref": "#/definitions/goodrx.ComparisonRef"
+ },
+ "type": "array"
},
- "id": {
- "example": "nm0000151",
+ "audience": {
+ "enum": [
+ "people",
+ "pets"
+ ],
"type": "string"
},
- "images": {
+ "authors": {
"items": {
- "$ref": "#/definitions/imdb.ImageItem"
+ "type": "string"
},
"type": "array"
},
- "limit": {
- "example": 50,
- "type": "integer"
- },
- "name": {
- "example": "Morgan Freeman",
+ "date_modified": {
"type": "string"
},
- "source_url": {
- "example": "https://www.imdb.com/name/nm0000151/mediaindex/",
+ "date_published": {
"type": "string"
},
- "total": {
- "example": 1262,
- "type": "integer"
- },
- "type_counts": {
+ "faqs": {
"items": {
- "$ref": "#/definitions/imdb.ImageTypeCount"
+ "$ref": "#/definitions/goodrx.FAQ"
},
"type": "array"
},
- "types": {
+ "sections": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/goodrx.InfoSection"
},
"type": "array"
},
- "url": {
- "example": "https://www.imdb.com/name/nm0000151/mediaindex/",
- "type": "string"
- }
- },
- "type": "object"
- },
- "imdb.NameKnownForItem": {
- "properties": {
- "category": {
- "description": "Credit category of the person on this title, for example `Director`.",
- "example": "Director",
- "type": "string"
- },
- "id": {
- "description": "IMDb title ID of the title.",
- "example": "tt1375666",
+ "slug": {
"type": "string"
},
"title": {
- "description": "Name of the title.",
- "example": "Inception",
"type": "string"
},
"url": {
- "description": "IMDb page URL of the title.",
- "example": "https://www.imdb.com/title/tt1375666/",
- "type": "string"
- },
- "year": {
- "description": "Release year of the title.",
- "example": "2010",
"type": "string"
}
},
"type": "object"
},
- "imdb.NameResponse": {
+ "goodrx.DrugLink": {
"properties": {
- "bio": {
- "description": "Full biography text of the person.",
+ "description": {
"type": "string"
},
- "birth_date": {
- "description": "Date of birth as `YYYY-MM-DD`, or `YYYY-MM` or `YYYY` when IMDb records only part of it.",
- "example": "1970-07-30",
+ "info_url": {
"type": "string"
},
- "birth_place": {
- "description": "Place of birth, for example `London, England, UK`.",
- "example": "London, England, UK",
- "type": "string"
+ "lowest_price": {
+ "type": "number"
},
- "death_date": {
- "description": "Date of death as `YYYY-MM-DD`, or `YYYY-MM` or `YYYY` when IMDb records only part of it.",
+ "name": {
"type": "string"
},
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-06-07T14:46:16Z",
+ "slug": {
"type": "string"
},
- "id": {
- "description": "IMDb name ID of the person, for example `nm0634240`.",
- "example": "nm0634240",
+ "url": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "goodrx.DrugOptionsResponse": {
+ "properties": {
+ "default": {
+ "$ref": "#/definitions/goodrx.Configuration"
},
- "image_url": {
- "description": "URL of the person's main photo.",
- "type": "string"
+ "drug": {
+ "$ref": "#/definitions/goodrx.DrugInfo"
},
- "known_for": {
- "description": "Titles IMDb lists the person as known for.",
+ "options": {
"items": {
- "$ref": "#/definitions/imdb.NameKnownForItem"
+ "$ref": "#/definitions/goodrx.LabelOption"
},
"type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "goodrx.DrugPricesResponse": {
+ "properties": {
+ "configuration": {
+ "$ref": "#/definitions/goodrx.Configuration"
},
- "name": {
- "description": "Name of the person as shown on IMDb.",
- "example": "Christopher Nolan",
- "type": "string"
+ "drug": {
+ "$ref": "#/definitions/goodrx.DrugInfo"
},
- "professions": {
- "description": "Professions IMDb lists for the person.",
+ "location": {
+ "$ref": "#/definitions/goodrx.Location"
+ },
+ "offers": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/goodrx.PharmacyOffer"
},
"type": "array"
},
- "public_page_derived": {
- "description": "Always `true`. The data comes from IMDb's public pages.",
- "example": true,
- "type": "boolean"
- },
- "source_url": {
- "description": "URL the data was read from.",
- "example": "https://www.imdb.com/name/nm0634240/",
- "type": "string"
+ "options": {
+ "items": {
+ "$ref": "#/definitions/goodrx.LabelOption"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "goodrx.DrugsResponse": {
+ "properties": {
+ "drugs": {
+ "items": {
+ "$ref": "#/definitions/goodrx.DrugLink"
+ },
+ "type": "array"
},
- "url": {
- "description": "IMDb page URL of the person.",
- "example": "https://www.imdb.com/name/nm0634240/",
+ "letter": {
"type": "string"
}
},
"type": "object"
},
- "imdb.NameVideosResponse": {
+ "goodrx.FAQ": {
"properties": {
- "fetched_at": {
- "example": "2026-09-14T14:46:16Z",
+ "answer": {
"type": "string"
},
- "has_more": {
- "example": true,
- "type": "boolean"
- },
- "id": {
- "example": "nm0000151",
+ "question": {
"type": "string"
- },
- "limit": {
- "example": 50,
- "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "goodrx.FormOption": {
+ "properties": {
+ "dosages": {
+ "items": {
+ "$ref": "#/definitions/goodrx.DosageOption"
+ },
+ "type": "array"
},
"name": {
- "example": "Morgan Freeman",
- "type": "string"
- },
- "source_url": {
- "example": "https://www.imdb.com/name/nm0000151/videogallery/",
"type": "string"
},
- "total": {
- "example": 214,
- "type": "integer"
- },
- "url": {
- "example": "https://www.imdb.com/name/nm0000151/videogallery/",
+ "slug": {
"type": "string"
- },
- "videos": {
- "items": {
- "$ref": "#/definitions/imdb.VideoItem"
- },
- "type": "array"
}
},
"type": "object"
},
- "imdb.OpeningWeekend": {
+ "goodrx.GuideItem": {
"properties": {
- "gross": {
- "$ref": "#/definitions/imdb.Money"
+ "detail": {
+ "type": "string"
},
- "theater_count": {
- "example": 3,
- "type": "integer"
+ "frequency": {
+ "type": "string"
},
- "weekend_end_date": {
- "example": "1994-09-25",
+ "name": {
"type": "string"
},
- "weekend_start_date": {
- "example": "1994-09-23",
+ "slug": {
"type": "string"
}
},
"type": "object"
},
- "imdb.ParentalGuideCategory": {
+ "goodrx.GuideList": {
"properties": {
"items": {
- "description": "Guide entries for this category. Entries IMDb files as spoilers are not included.",
"items": {
- "type": "string"
+ "$ref": "#/definitions/goodrx.GuideItem"
},
"type": "array"
},
- "name": {
- "description": "Category name, for example `Violence & Gore`.",
- "example": "Violence & Gore",
+ "label": {
"type": "string"
},
"severity": {
- "description": "Community severity vote: `none`, `mild`, `moderate` or `severe`. Omitted when IMDb has no vote.",
- "example": "moderate",
- "type": "string"
- },
- "slug": {
- "description": "Lowercase, hyphenated form of the category name, for example `violence-gore`.",
- "example": "violence-gore",
+ "enum": [
+ "not_recommended",
+ "usually_not_recommended",
+ "increased_risk"
+ ],
"type": "string"
}
},
"type": "object"
},
- "imdb.ParentalGuideResponse": {
+ "goodrx.GuideSection": {
"properties": {
- "categories": {
- "description": "Parental guide categories IMDb lists for the title.",
+ "lists": {
"items": {
- "$ref": "#/definitions/imdb.ParentalGuideCategory"
+ "$ref": "#/definitions/goodrx.GuideList"
},
"type": "array"
},
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-06-07T14:46:16Z",
+ "paragraphs": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "title": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "goodrx.HealthArticleRef": {
+ "properties": {
+ "last_modified": {
"type": "string"
},
- "id": {
- "description": "IMDb title ID, for example `tt1375666`.",
- "example": "tt1375666",
+ "path": {
"type": "string"
},
- "public_page_derived": {
- "description": "Always `true`. The data comes from IMDb's public pages.",
- "example": true,
- "type": "boolean"
+ "section": {
+ "type": "string"
},
- "source_url": {
- "description": "URL the data was read from.",
- "example": "https://www.imdb.com/title/tt1375666/parentalguide/",
+ "slug": {
"type": "string"
},
- "summary": {
- "allOf": [
- {
- "$ref": "#/definitions/imdb.ParentalGuideSummary"
- }
- ],
- "description": "Counts and highest severity across all returned categories."
+ "topic": {
+ "type": "string"
},
"url": {
- "description": "IMDb parental guide page of the title.",
- "example": "https://www.imdb.com/title/tt1375666/parentalguide/",
"type": "string"
}
},
"type": "object"
},
- "imdb.ParentalGuideSummary": {
+ "goodrx.HealthArticleResponse": {
"properties": {
- "categories_count": {
- "description": "Number of guide categories returned.",
- "example": 5,
- "type": "integer"
+ "authors": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "highest_severity": {
- "description": "Highest severity among the categories: `none`, `mild`, `moderate` or `severe`.",
- "example": "severe",
+ "date_modified": {
"type": "string"
},
- "item_count": {
- "description": "Total number of guide entries across all categories.",
- "example": 24,
- "type": "integer"
+ "date_published": {
+ "type": "string"
},
- "present_categories": {
- "description": "Slugs of the categories returned.",
+ "description": {
+ "type": "string"
+ },
+ "faqs": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/goodrx.FAQ"
},
"type": "array"
},
- "public_page_signals": {
- "description": "Count of details in the guide: entries, named categories and categories that have a severity.",
- "example": 12,
- "type": "integer"
+ "headline": {
+ "type": "string"
},
- "severity_counts": {
- "additionalProperties": {
- "type": "integer"
+ "key_takeaways": {
+ "items": {
+ "type": "string"
},
- "description": "Number of categories at each severity level, keyed by severity.",
- "type": "object"
- }
- },
- "type": "object"
- },
- "imdb.Person": {
- "properties": {
- "name": {
- "description": "Name of the person.",
- "example": "Christopher Nolan",
+ "type": "array"
+ },
+ "path": {
"type": "string"
},
- "url": {
- "description": "IMDb page URL of the person.",
- "example": "https://www.imdb.com/name/nm0634240/",
+ "references": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "related_drugs": {
+ "items": {
+ "$ref": "#/definitions/goodrx.DrugLink"
+ },
+ "type": "array"
+ },
+ "reviewed_by": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "section": {
"type": "string"
- }
- },
- "type": "object"
- },
- "imdb.PublicFactItem": {
- "properties": {
- "category": {
- "description": "Category is IMDb's own grouping for the row, e.g. \"Continuity\" or\n\"Revealing mistakes\" for goofs. Empty when IMDb files the row under an\nunnamed group, which is the usual case for trivia.",
- "example": "Continuity",
+ },
+ "sections": {
+ "items": {
+ "$ref": "#/definitions/goodrx.GuideSection"
+ },
+ "type": "array"
+ },
+ "slug": {
"type": "string"
},
- "public_signals": {
- "description": "Number of details filled in on this entry, counted across text and spoiler marker.",
- "example": 1,
- "type": "integer"
+ "tags": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "spoiler": {
- "description": "`true` when IMDb marks the entry as a spoiler.",
- "example": false,
- "type": "boolean"
+ "topic": {
+ "type": "string"
},
- "text": {
- "description": "Text of the trivia, goof or quote entry.",
- "example": "The hallway fight was filmed with a rotating set.",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "imdb.PublicFactsAnalysisSummary": {
+ "goodrx.HealthArticlesResponse": {
"properties": {
- "company_count": {
- "example": 9,
- "type": "integer"
- },
- "company_section_count": {
- "example": 3,
- "type": "integer"
- },
- "filming_location_count": {
- "example": 6,
- "type": "integer"
- },
- "goof_count": {
- "example": 4,
- "type": "integer"
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/goodrx.HealthArticleRef"
+ },
+ "type": "array"
},
- "keyword_count": {
- "example": 20,
+ "page": {
"type": "integer"
},
- "public_fact_coverage_pages": {
- "example": 6,
+ "page_size": {
"type": "integer"
},
- "public_page_signals": {
- "example": 64,
- "type": "integer"
+ "section": {
+ "type": "string"
},
- "quote_count": {
- "example": 8,
- "type": "integer"
+ "topic": {
+ "type": "string"
},
- "spoiler_fact_count": {
- "example": 2,
+ "total": {
"type": "integer"
},
- "trivia_count": {
- "example": 12,
+ "total_pages": {
"type": "integer"
}
},
"type": "object"
},
- "imdb.RatingCountrySummary": {
+ "goodrx.HealthTopic": {
"properties": {
- "aggregate": {
- "type": "number"
+ "article_count": {
+ "type": "integer"
},
- "country": {
+ "last_modified": {
"type": "string"
},
- "vote_count": {
- "type": "integer"
+ "section": {
+ "enum": [
+ "conditions",
+ "health-topic",
+ "well-being",
+ "pet-health",
+ "insurance",
+ "classes",
+ "drugs",
+ "healthcare-access",
+ "corporate",
+ "hcp",
+ "drug"
+ ],
+ "type": "string"
+ },
+ "topic": {
+ "type": "string"
}
},
"type": "object"
},
- "imdb.RatingHistogramBucket": {
+ "goodrx.HealthTopicsResponse": {
"properties": {
- "rating": {
- "type": "integer"
+ "section": {
+ "type": "string"
},
- "vote_count": {
+ "topics": {
+ "items": {
+ "$ref": "#/definitions/goodrx.HealthTopic"
+ },
+ "type": "array"
+ },
+ "total": {
"type": "integer"
}
},
"type": "object"
},
- "imdb.RatingsResponse": {
+ "goodrx.InfoSection": {
"properties": {
- "countries": {
+ "id": {
+ "type": "string"
+ },
+ "items": {
"items": {
- "$ref": "#/definitions/imdb.RatingCountrySummary"
+ "type": "string"
},
"type": "array"
},
- "fetched_at": {
+ "title": {
"type": "string"
- },
- "histogram": {
+ }
+ },
+ "type": "object"
+ },
+ "goodrx.LabelOption": {
+ "properties": {
+ "forms": {
"items": {
- "$ref": "#/definitions/imdb.RatingHistogramBucket"
+ "$ref": "#/definitions/goodrx.FormOption"
},
"type": "array"
},
- "id": {
+ "name": {
"type": "string"
},
- "rating_count": {
- "type": "integer"
+ "slug": {
+ "type": "string"
},
- "rating_value": {
+ "type": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "goodrx.Location": {
+ "properties": {
+ "city": {
+ "type": "string"
+ },
+ "latitude": {
"type": "number"
},
- "source_url": {
- "type": "string"
+ "longitude": {
+ "type": "number"
},
- "title": {
+ "state": {
"type": "string"
},
- "url": {
+ "zip_code": {
"type": "string"
}
},
"type": "object"
},
- "imdb.ReleaseInfoItem": {
+ "goodrx.PetMedicationRef": {
"properties": {
- "country": {
- "description": "Country or region of the release.",
- "example": "United States",
- "type": "string"
- },
- "date": {
- "description": "Release date as IMDb shows it, for example `16 July 2010`.",
- "example": "16 July 2010",
+ "slug": {
"type": "string"
},
- "note": {
- "description": "Note on the release, for example `theatrical`.",
- "example": "theatrical",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "imdb.ReleaseInfoResponse": {
+ "goodrx.PetMedicationsResponse": {
"properties": {
- "alternate_titles": {
- "description": "Alternate titles (also known as) IMDb lists for the title.",
+ "drugs": {
"items": {
- "$ref": "#/definitions/imdb.AlternateTitle"
+ "$ref": "#/definitions/goodrx.PetMedicationRef"
},
"type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "goodrx.PharmacyOffer": {
+ "properties": {
+ "logo_url": {
+ "type": "string"
},
- "alternate_titles_total": {
- "description": "Number of alternate titles IMDb lists for the title.",
- "example": 82,
- "type": "integer"
+ "lowest_price": {
+ "type": "number"
},
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-06-07T14:46:16Z",
+ "membership": {
+ "description": "Membership names the paid program behind an UPSELL price, for example\n\"COMPANION\" (observed value; returned as data).",
"type": "string"
},
- "has_more": {
- "description": "`true` when IMDb lists more release dates than were returned.",
- "example": true,
- "type": "boolean"
- },
- "id": {
- "description": "IMDb title ID, for example `tt1375666`.",
- "example": "tt1375666",
+ "order_url": {
"type": "string"
},
- "public_page_derived": {
- "description": "Always `true`. The data comes from IMDb's public pages.",
- "example": true,
- "type": "boolean"
+ "pharmacy_id": {
+ "type": "string"
},
- "releases": {
- "description": "Release dates of the title by country.",
- "items": {
- "$ref": "#/definitions/imdb.ReleaseInfoItem"
- },
- "type": "array"
+ "pharmacy_name": {
+ "type": "string"
},
- "source_url": {
- "description": "URL the data was read from.",
- "example": "https://www.imdb.com/title/tt1375666/releaseinfo/",
+ "pharmacy_type": {
+ "description": "PharmacyType is \"PharmacyChain\" (retail) or \"PharmacyOnlineStore\"\n(mail order) as observed; returned as data.",
"type": "string"
},
- "total": {
- "description": "Number of release dates IMDb lists for the title.",
- "example": 71,
- "type": "integer"
+ "price": {
+ "type": "number"
},
- "url": {
- "description": "IMDb release info page of the title.",
- "example": "https://www.imdb.com/title/tt1375666/releaseinfo/",
+ "pricing_type": {
+ "description": "PricingType is GoodRx's pricing kind, for example \"COUPON\",\n\"UPSELL\", or \"HOME_DELIVERY\" (observed values; returned as data).",
"type": "string"
+ },
+ "retail_price": {
+ "type": "number"
}
},
"type": "object"
},
- "imdb.ReviewItem": {
+ "goodrx.answerResponseDoc": {
"properties": {
- "author": {
- "description": "Username of the reviewer.",
- "example": "movie_fan",
+ "data": {
+ "$ref": "#/definitions/goodrx.AnswerResponse"
+ }
+ },
+ "type": "object"
+ },
+ "goodrx.answersResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/goodrx.AnswersResponse"
+ }
+ },
+ "type": "object"
+ },
+ "goodrx.brandsResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/goodrx.BrandsResponse"
+ }
+ },
+ "type": "object"
+ },
+ "goodrx.classResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/goodrx.ClassResponse"
+ }
+ },
+ "type": "object"
+ },
+ "goodrx.classesResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/goodrx.ClassesResponse"
+ }
+ },
+ "type": "object"
+ },
+ "goodrx.comparisonResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/goodrx.ComparisonResponse"
+ }
+ },
+ "type": "object"
+ },
+ "goodrx.comparisonsResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/goodrx.ComparisonsResponse"
+ }
+ },
+ "type": "object"
+ },
+ "goodrx.conditionDrugsResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/goodrx.ConditionDrugsResponse"
+ }
+ },
+ "type": "object"
+ },
+ "goodrx.conditionResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/goodrx.ConditionResponse"
+ }
+ },
+ "type": "object"
+ },
+ "goodrx.conditionsResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/goodrx.ConditionsResponse"
+ }
+ },
+ "type": "object"
+ },
+ "goodrx.drugGuideResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/goodrx.DrugGuideResponse"
+ }
+ },
+ "type": "object"
+ },
+ "goodrx.drugGuidesResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/goodrx.DrugGuidesResponse"
+ }
+ },
+ "type": "object"
+ },
+ "goodrx.drugInfoResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/goodrx.DrugInfoResponse"
+ }
+ },
+ "type": "object"
+ },
+ "goodrx.drugOptionsResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/goodrx.DrugOptionsResponse"
+ }
+ },
+ "type": "object"
+ },
+ "goodrx.drugPricesResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/goodrx.DrugPricesResponse"
+ }
+ },
+ "type": "object"
+ },
+ "goodrx.drugsResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/goodrx.DrugsResponse"
+ }
+ },
+ "type": "object"
+ },
+ "goodrx.healthArticleResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/goodrx.HealthArticleResponse"
+ }
+ },
+ "type": "object"
+ },
+ "goodrx.healthArticlesResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/goodrx.HealthArticlesResponse"
+ }
+ },
+ "type": "object"
+ },
+ "goodrx.healthTopicsResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/goodrx.HealthTopicsResponse"
+ }
+ },
+ "type": "object"
+ },
+ "goodrx.petMedicationsResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/goodrx.PetMedicationsResponse"
+ }
+ },
+ "type": "object"
+ },
+ "google.JobItem": {
+ "properties": {
+ "company": {
+ "description": "Name of the hiring company.",
"type": "string"
},
- "date": {
- "description": "Date the review was posted, for example `2024-01-02`.",
- "example": "2024-01-02",
+ "employment": {
+ "description": "Employment type shown on the job card, for example full-time.",
"type": "string"
},
- "helpful_votes": {
- "description": "Number of users who marked the review as helpful.",
- "example": 123,
- "type": "integer"
- },
- "helpfulness": {
- "description": "Share of votes that marked the review as helpful, as a percentage such as `82%`.",
- "example": "82%",
+ "location": {
+ "description": "Job location as shown on the job card.",
"type": "string"
},
- "id": {
- "description": "IMDb review ID, for example `rw1234567`.",
- "example": "rw1234567",
+ "posted_at": {
+ "description": "How long ago the job was posted, as Google shows it, for example `3 days ago`.",
"type": "string"
},
- "public_signals": {
- "description": "Number of details filled in on this review, counted across title, author, date, rating, text and votes.",
- "example": 5,
- "type": "integer"
- },
- "rating": {
- "description": "Rating the reviewer gave the title.",
- "example": 9,
- "type": "integer"
- },
- "spoiler": {
- "description": "`true` when the review is marked as containing spoilers.",
- "example": false,
- "type": "boolean"
+ "snippet": {
+ "description": "Short description text from the job card.",
+ "type": "string"
},
- "text": {
- "description": "Full text of the review.",
+ "source": {
+ "description": "Site or board Google lists the job from.",
"type": "string"
},
"title": {
- "description": "Headline the reviewer gave the review.",
- "example": "A smart blockbuster",
+ "description": "Job title as shown on the job card.",
"type": "string"
},
- "total_votes": {
- "description": "Total number of helpful and not helpful votes the review received.",
- "example": 150,
- "type": "integer"
- },
"url": {
- "description": "IMDb page URL of the review.",
- "example": "https://www.imdb.com/review/rw1234567/",
+ "description": "URL of the job posting.",
"type": "string"
}
},
"type": "object"
},
- "imdb.ReviewsResponse": {
+ "google.JobsOption": {
"properties": {
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-06-07T14:46:16Z",
+ "location": {
+ "example": "San Francisco, CA",
"type": "string"
},
- "has_more": {
- "description": "`true` when IMDb lists more reviews than were returned.",
- "example": true,
- "type": "boolean"
+ "page": {
+ "example": 1,
+ "type": "integer"
},
- "id": {
- "description": "IMDb title ID, for example `tt1375666`.",
- "example": "tt1375666",
+ "query": {
+ "example": "software engineer",
+ "type": "string"
+ }
+ },
+ "required": [
+ "query"
+ ],
+ "type": "object"
+ },
+ "google.JobsResponse": {
+ "properties": {
+ "location": {
+ "description": "Location filter that was applied. Omitted when none was given.",
+ "example": "San Francisco, CA",
"type": "string"
},
- "limit": {
- "description": "Maximum number of reviews requested.",
- "example": 10,
+ "page": {
+ "description": "Page number returned, starting at 1.",
+ "example": 1,
"type": "integer"
},
- "public_page_derived": {
- "description": "Always `true`. The data comes from IMDb's public pages.",
- "example": true,
- "type": "boolean"
+ "query": {
+ "description": "Search query that was run.",
+ "example": "software engineer",
+ "type": "string"
},
- "reviews": {
- "description": "User reviews of the title.",
+ "results": {
+ "description": "Job postings on this page.",
"items": {
- "$ref": "#/definitions/imdb.ReviewItem"
+ "$ref": "#/definitions/google.JobItem"
},
"type": "array"
- },
- "source_url": {
- "description": "URL the data was read from.",
- "example": "https://www.imdb.com/title/tt1375666/reviews/",
- "type": "string"
- },
- "total": {
- "description": "Number of reviews IMDb lists for the title.",
- "example": 11940,
- "type": "integer"
- },
- "url": {
- "description": "IMDb reviews page of the title.",
- "example": "https://www.imdb.com/title/tt1375666/reviews/",
- "type": "string"
}
},
"type": "object"
},
- "imdb.SearchItem": {
+ "google.MapSearchOption": {
"properties": {
- "description": {
- "description": "Lead cast of the title, when IMDb shows it.",
- "type": "string"
- },
- "id": {
- "description": "IMDb title ID, for example `tt1375666`.",
- "example": "tt1375666",
- "type": "string"
- },
- "image_url": {
- "description": "URL of the image IMDb shows for the title in search results.",
- "type": "string"
- },
- "title": {
- "description": "Title name as shown in search results.",
- "example": "Inception",
- "type": "string"
- },
- "title_type": {
- "description": "Kind of title, for example `Movie`.",
- "example": "Movie",
+ "country": {
+ "example": "us",
"type": "string"
},
- "url": {
- "description": "IMDb page URL of the title.",
- "example": "https://www.imdb.com/title/tt1375666/",
+ "keyword": {
+ "example": "hotel san francisco",
"type": "string"
},
- "year": {
- "description": "Release year of the title.",
- "example": "2010",
+ "language": {
+ "example": "en",
"type": "string"
}
},
"type": "object"
},
- "imdb.SearchResponse": {
+ "google.NewsResponse": {
"properties": {
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-06-07T14:46:16Z",
- "type": "string"
- },
- "limit": {
- "description": "Maximum number of results requested.",
- "example": 10,
- "type": "integer"
- },
- "query": {
- "description": "Search query that was run.",
- "example": "inception",
- "type": "string"
+ "pagination": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/google.VerticalPagination"
+ }
+ ],
+ "description": "Paging information for this response."
},
"results": {
- "description": "Titles matching the query.",
+ "description": "Google News results in Google's order.",
"items": {
- "$ref": "#/definitions/imdb.SearchItem"
+ "$ref": "#/definitions/google.NewsResult"
},
"type": "array"
- },
- "source_url": {
- "description": "URL the data was read from.",
- "example": "https://www.imdb.com/find/?q=inception&s=tt",
- "type": "string"
}
},
"type": "object"
},
- "imdb.SearchTitleItem": {
+ "google.NewsResult": {
"properties": {
- "certificate": {
- "example": "PG-13",
- "type": "string"
- },
- "genres": {
- "example": [
- "Action"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "id": {
- "example": "tt1375666",
+ "age": {
+ "description": "How long ago the article was published, as Google shows it.",
+ "example": "2 hours ago",
"type": "string"
},
- "image_url": {
+ "description": {
+ "description": "Article snippet as shown on the Google results page.",
+ "example": "OpenAI announced an update.",
"type": "string"
},
- "metascore": {
- "example": 74,
+ "position": {
+ "description": "Rank of the article across all pages for the query, starting at 1.",
+ "example": 1,
"type": "integer"
},
- "plot": {
+ "source": {
+ "description": "Name of the publication, for example `Example News`.",
+ "example": "Example News",
"type": "string"
},
- "rating_count": {
- "example": 2600000,
- "type": "integer"
- },
- "rating_value": {
- "example": 8.8,
- "type": "number"
- },
- "release_date": {
- "example": "2010-07-16",
+ "thumbnail": {
+ "description": "URL of the article thumbnail.",
+ "example": "https://example.com/thumb.jpg",
"type": "string"
},
- "runtime_minutes": {
- "example": 148,
- "type": "integer"
- },
"title": {
- "example": "Inception",
- "type": "string"
- },
- "title_type": {
- "example": "movie",
+ "description": "Article headline as shown on the Google results page.",
+ "example": "OpenAI announces update",
"type": "string"
},
"url": {
- "example": "https://www.imdb.com/title/tt1375666/",
+ "description": "URL of the news article.",
+ "example": "https://example.com/openai-news",
"type": "string"
- },
- "year": {
- "example": 2010,
- "type": "integer"
}
},
"type": "object"
},
- "imdb.SearchTitleResponse": {
+ "google.NewsSearchResp": {
"properties": {
- "fetched_at": {
- "example": "2026-06-07T14:46:16Z",
- "type": "string"
- },
- "has_more": {
- "example": true,
- "type": "boolean"
- },
- "limit": {
- "example": 25,
- "type": "integer"
- },
- "results": {
+ "result": {
"items": {
- "$ref": "#/definitions/imdb.SearchTitleItem"
+ "$ref": "#/definitions/google.SearchItem"
},
"type": "array"
- },
- "source_url": {
- "example": "https://www.imdb.com/search/title/?genres=Action&title_type=feature",
- "type": "string"
- },
- "total": {
- "example": 1968,
- "type": "integer"
}
},
"type": "object"
},
- "imdb.SimilarResponse": {
+ "google.Place": {
"properties": {
- "fetched_at": {
- "type": "string"
- },
- "id": {
+ "address": {
+ "description": "Full street address of the place as shown on Google Maps.",
+ "example": "250 Beach St, San Francisco, CA 94133",
"type": "string"
},
- "source_url": {
- "type": "string"
+ "amenities": {
+ "description": "Amenities Google Maps lists for the place, for example `Free Wi-Fi`.",
+ "example": [
+ "['Free Wi-Fi'",
+ " 'Air-conditioned'",
+ " 'Wi-Fi'",
+ " 'Parking']"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "titles": {
+ "category": {
+ "description": "Business categories Google Maps assigns to the place.",
+ "example": [
+ "['hotel']"
+ ],
"items": {
- "$ref": "#/definitions/imdb.SimilarTitle"
+ "type": "string"
},
"type": "array"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "imdb.SimilarTitle": {
- "properties": {
- "content_rating": {
+ "description": {
+ "description": "Description of the place from its Google Maps listing.",
+ "example": "A 3-minute walk from Pier 41 in the Fisherman's Wharf district...",
"type": "string"
},
- "id": {
+ "image": {
+ "description": "URL of the main photo of the place.",
+ "example": "https://lh5.googleusercontent.com/p/AF1QipP_O55x7gOwR3AaM09CVmzEUude9wMHMPwc--yp",
"type": "string"
},
- "image_url": {
- "type": "string"
+ "latitude": {
+ "description": "Latitude of the place in decimal degrees.",
+ "example": 37.8077617,
+ "type": "number"
},
- "rating_count": {
- "type": "integer"
+ "locations": {
+ "description": "Location names Google Maps associates with the place, such as nearby areas.",
+ "example": [
+ "['San Francisco'",
+ " 'Los Angeles']"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "rating_value": {
+ "longitude": {
+ "description": "Longitude of the place in decimal degrees.",
+ "example": -122.4132228,
"type": "number"
},
- "runtime_minutes": {
- "type": "integer"
- },
- "title": {
+ "name": {
+ "description": "Name of the place as shown on Google Maps.",
+ "example": "Hotel Zephyr San Francisco",
"type": "string"
},
- "title_type": {
+ "phone": {
+ "description": "Phone number of the place, as digits.",
+ "example": "14156176565",
"type": "string"
},
- "url": {
+ "place_id": {
+ "description": "Google Place ID. Use it with the place, reviews and photos endpoints.",
+ "example": "ChIJ99URUeOAhYAR0J5ZUxTesDQ",
"type": "string"
},
- "year": {
+ "rating": {
+ "description": "Rating is the aggregate Google rating (1.0–5.0), or null when the place has no\naggregate rating on Google (Google never assigns a 0.x average, so 0 always meant\n\"unrated\"). A pointer so unrated serializes as `rating: null`, not a misleading 0.",
+ "example": 4.1,
+ "type": "number",
+ "x-nullable": true
+ },
+ "review_count": {
+ "description": "Number of Google reviews for the place.",
+ "example": 3213,
"type": "integer"
- }
- },
- "type": "object"
- },
- "imdb.TechnicalSpecItem": {
- "properties": {
- "name": {
- "description": "Name of the technical spec, for example `Runtime`.",
- "example": "Runtime",
- "type": "string"
},
- "slug": {
- "description": "Lowercase, hyphenated form of the spec name, for example `runtime`.",
- "example": "runtime",
+ "url": {
+ "description": "Google Maps URL of the place.",
+ "example": "https://www.google.com/maps/place/?q=place_id:ChIJ99URUeOAhYAR0J5ZUxTesDQ",
"type": "string"
},
- "values": {
- "description": "Values IMDb lists for the spec.",
- "items": {
- "type": "string"
- },
- "type": "array"
+ "website": {
+ "description": "Website of the place.",
+ "example": "https://www.hotelzephyrsf.com/",
+ "type": "string"
}
},
"type": "object"
},
- "imdb.TechnicalSpecsResponse": {
+ "google.PlacePhoto": {
"properties": {
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-06-07T14:46:16Z",
- "type": "string"
- },
- "id": {
- "description": "IMDb title ID, for example `tt1375666`.",
- "example": "tt1375666",
- "type": "string"
- },
- "public_page_derived": {
- "description": "Always `true`. The data comes from IMDb's public pages.",
- "example": true,
- "type": "boolean"
- },
- "source_url": {
- "description": "URL the data was read from.",
- "example": "https://www.imdb.com/title/tt1375666/technical/",
- "type": "string"
- },
- "specs": {
- "description": "Technical specifications IMDb lists for the title.",
- "items": {
- "$ref": "#/definitions/imdb.TechnicalSpecItem"
- },
- "type": "array"
+ "height": {
+ "description": "Pixel height of the image at its URL. 0 when Google does not report it.",
+ "example": 100,
+ "type": "integer"
},
"url": {
- "description": "IMDb technical specs page of the title.",
- "example": "https://www.imdb.com/title/tt1375666/technical/",
+ "description": "URL is Google's image URL exactly as served, including its size suffix\n(e.g. `=w203-h100-k-no`). Swap that suffix to request other dimensions.",
+ "example": "https://lh3.googleusercontent.com/gps-cs-s/AHRPTWlbepbs69mWZVN7SNi4FYseIr1JvRCpGHgpFfN5wOf02mKOVdfv2REVb896InfULrDb_yQmqdxmQcSnmwHp2VncbLzYxzWtsUFFbKH3buF34st-Nhlg1fEIH0_tkmvNKJmWKEHKv45RBu4=w203-h100-k-no",
"type": "string"
+ },
+ "width": {
+ "description": "Width and Height are the pixel dimensions of the URL as served, when\nGoogle reports them. 0 means not captured.",
+ "example": 203,
+ "type": "integer"
}
},
"type": "object"
},
- "imdb.TitleAwardsResponse": {
+ "google.PlaceReview": {
"properties": {
- "awards": {
- "items": {
- "$ref": "#/definitions/imdb.AwardItem"
- },
- "type": "array"
- },
- "fetched_at": {
- "example": "2026-06-07T14:46:16Z",
+ "author_id": {
+ "description": "AuthorID is the reviewer's stable Google contributor id.",
+ "example": "112997636113922766481",
"type": "string"
},
- "has_more": {
- "example": true,
- "type": "boolean"
- },
- "id": {
- "example": "tt1375666",
+ "author_name": {
+ "description": "AuthorName is the reviewer's display name.",
+ "example": "Supisara Darnchaloemwong",
"type": "string"
},
- "public_page_derived": {
- "example": true,
- "type": "boolean"
- },
- "source_url": {
- "example": "https://www.imdb.com/title/tt1375666/awards/",
+ "author_photo": {
+ "description": "AuthorPhoto is the reviewer's avatar URL.",
+ "example": "https://lh3.googleusercontent.com/a-/ALV-UjWc6XFX9IKHJiQ4vZoY7o_EVCYkjMbWjGfdPZrLEw",
"type": "string"
},
- "total": {
- "example": 64,
+ "author_review_count": {
+ "description": "AuthorReviewCount is how many reviews this contributor has written in\ntotal, as reported by Google. 0 means not captured, and is normal for a\nreview syndicated from another site.",
+ "example": 23,
"type": "integer"
},
- "url": {
- "example": "https://www.imdb.com/title/tt1375666/awards/",
- "type": "string"
- }
- },
- "type": "object"
- },
- "imdb.TitleBoxOfficeResponse": {
- "properties": {
- "fetched_at": {
- "example": "2026-09-17T14:46:16Z",
+ "author_url": {
+ "description": "AuthorURL is the reviewer's public Google Maps contributor page.",
+ "example": "https://www.google.com/maps/contrib/112997636113922766481",
"type": "string"
},
- "has_box_office": {
- "example": true,
- "type": "boolean"
- },
"id": {
- "example": "tt0111161",
+ "description": "ID is Google's opaque review identifier, stable across fetches.",
+ "example": "Ci9DQUlRQUNvZENodHljRjlvT201dFRHSk1aRU54T0U5cmRFVjNlbGRmU1RJNFkzYxAB",
"type": "string"
},
- "lifetime_gross": {
- "$ref": "#/definitions/imdb.LifetimeGross"
+ "photos": {
+ "description": "Photos are the images attached to this review, largest variant first.",
+ "items": {
+ "$ref": "#/definitions/google.PlacePhoto"
+ },
+ "type": "array"
},
- "opening_weekend": {
- "$ref": "#/definitions/imdb.OpeningWeekend"
+ "published_at": {
+ "description": "PublishedAt is the review timestamp in RFC3339 (UTC). Empty when Google\ndid not report one.",
+ "example": "2026-01-01T14:39:25Z",
+ "type": "string"
},
- "production_budget": {
- "$ref": "#/definitions/imdb.Money"
+ "rating": {
+ "description": "Rating is the star rating this reviewer gave, 1-5.",
+ "example": 5,
+ "type": "integer"
},
- "source_url": {
- "example": "https://www.imdb.com/title/tt0111161/",
+ "relative_time": {
+ "description": "RelativeTime is Google's own human-readable age for the review, in the\nrequested language (e.g. \"6 months ago\").",
+ "example": "6 months ago",
"type": "string"
},
- "title": {
- "example": "The Shawshank Redemption",
+ "source": {
+ "description": "Source is the site the review came from. Google's place pages syndicate\nreviews from partner sites (notably for hotels), so this is \"Google\" for a\nnative Google review and the partner's name (e.g. \"Tripadvisor\",\n\"TrustYou\") otherwise.",
+ "example": "Google",
"type": "string"
},
- "url": {
- "example": "https://www.imdb.com/title/tt0111161/",
+ "text": {
+ "description": "Text is the review body. Empty for a photo-only review, which Google allows.",
+ "example": "I never knew pork could taste this good.",
"type": "string"
}
},
"type": "object"
},
- "imdb.TitleConnectionsResponse": {
+ "google.SearchItem": {
"properties": {
- "connections": {
- "items": {
- "$ref": "#/definitions/imdb.ConnectionItem"
- },
- "type": "array"
- },
- "fetched_at": {
- "example": "2026-09-17T14:46:16Z",
+ "Snippet": {
+ "example": "Never run out of your favorite coffees, teas and powders again with our auto-delivery subscription. Select how often your products arrive, pause and cancel ...",
"type": "string"
},
- "has_more": {
- "example": true,
- "type": "boolean"
+ "icon": {
+ "type": "string"
},
- "id": {
- "example": "tt0111161",
+ "link": {
+ "example": "https://www.coffeebean.com/",
"type": "string"
},
- "limit": {
- "example": 50,
+ "position": {
+ "example": 1,
"type": "integer"
},
- "source_url": {
- "example": "https://www.imdb.com/title/tt0111161/",
+ "time": {
+ "example": "7 hours ago",
"type": "string"
},
"title": {
- "example": "The Shawshank Redemption",
+ "example": "Home | The Coffee Bean & Tea Leaf",
"type": "string"
},
- "total": {
- "example": 999,
- "type": "integer"
- },
- "url": {
- "example": "https://www.imdb.com/title/tt0111161/",
+ "website_name": {
+ "example": "OpenAI",
"type": "string"
}
},
"type": "object"
},
- "imdb.TitleImagesResponse": {
+ "google.SearchOption": {
"properties": {
- "fetched_at": {
- "example": "2026-09-09T14:46:16Z",
+ "country": {
+ "description": "Country code",
+ "example": "us",
"type": "string"
},
- "has_more": {
- "example": false,
- "type": "boolean"
- },
- "id": {
- "example": "tt0089753",
+ "keyword": {
+ "example": "chatgpt",
"type": "string"
},
- "images": {
- "items": {
- "$ref": "#/definitions/imdb.ImageItem"
- },
- "type": "array"
+ "language": {
+ "description": "language code",
+ "example": "en",
+ "type": "string"
},
"limit": {
- "example": 50,
+ "description": "Number of items, from 10 to 100, inclusive",
+ "example": 10,
"type": "integer"
},
- "source_url": {
- "example": "https://www.imdb.com/title/tt0089753/mediaindex/",
- "type": "string"
- },
- "title": {
- "example": "Holly - The Movie",
- "type": "string"
- },
- "total": {
- "example": 38,
+ "page": {
+ "example": 1,
"type": "integer"
- },
- "type_counts": {
- "items": {
- "$ref": "#/definitions/imdb.ImageTypeCount"
- },
- "type": "array"
- },
- "types": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "url": {
- "example": "https://www.imdb.com/title/tt0089753/mediaindex/",
- "type": "string"
}
},
+ "required": [
+ "country",
+ "keyword",
+ "language"
+ ],
"type": "object"
},
- "imdb.TitlePublicFactsAnalysisResponse": {
+ "google.SuggestResponse": {
"properties": {
- "company_credits": {
- "$ref": "#/definitions/imdb.TitlePublicFactsResponse"
- },
- "filming_locations": {
- "$ref": "#/definitions/imdb.TitlePublicFactsResponse"
- },
- "goofs": {
- "$ref": "#/definitions/imdb.TitlePublicFactsResponse"
+ "query": {
+ "description": "Query prefix the suggestions were requested for.",
+ "example": "openai",
+ "type": "string"
},
- "keywords": {
- "$ref": "#/definitions/imdb.TitlePublicFactsResponse"
+ "source": {
+ "description": "Suggestion list used: `web`, `youtube` or `shopping`.",
+ "example": "web",
+ "type": "string"
},
- "missing_sections": {
- "description": "MissingSections names the sections that failed, using the same keys as\nthe fields above (trivia, goofs, quotes, keywords, filming_locations,\ncompany_credits).",
+ "suggestions": {
+ "description": "Search suggestions Google returned, in order.",
"items": {
- "type": "string"
+ "$ref": "#/definitions/google.SuggestionResult"
},
"type": "array"
- },
- "not_viewing_advice": {
- "example": true,
- "type": "boolean"
- },
- "partial": {
- "description": "Partial is true when at least one section could not be fetched. The\nsections that did arrive are still populated and Summary still counts\nthem, so callers that need a complete analysis must check this rather\nthan infer completeness from a 200.",
- "example": false,
- "type": "boolean"
- },
- "public_page_derived": {
- "example": true,
- "type": "boolean"
- },
- "quotes": {
- "$ref": "#/definitions/imdb.TitlePublicFactsResponse"
- },
- "summary": {
- "$ref": "#/definitions/imdb.PublicFactsAnalysisSummary"
- },
- "trivia": {
- "$ref": "#/definitions/imdb.TitlePublicFactsResponse"
}
},
"type": "object"
},
- "imdb.TitlePublicFactsResponse": {
+ "google.SuggestionResult": {
"properties": {
- "company_credits": {
- "description": "Company credits grouped by section. Filled when `type` is `company_credits`.",
- "items": {
- "$ref": "#/definitions/imdb.CompanySection"
- },
- "type": "array"
- },
- "facts": {
- "description": "Trivia, goof or quote entries. Filled when `type` is `trivia`, `goofs` or `quotes`.",
- "items": {
- "$ref": "#/definitions/imdb.PublicFactItem"
- },
- "type": "array"
- },
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-06-07T14:46:16Z",
- "type": "string"
- },
- "has_more": {
- "description": "`true` when IMDb lists more entries of this type than were returned.",
- "example": true,
- "type": "boolean"
- },
- "id": {
- "description": "IMDb title ID, for example `tt1375666`.",
- "example": "tt1375666",
+ "description": {
+ "description": "Short descriptor Google shows beside the suggestion. Only set when the request used `rich=true`.",
+ "example": "OpenAI Blog",
"type": "string"
},
- "keywords": {
- "description": "Keywords tagged on the title. Filled when `type` is `keywords`.",
- "items": {
- "$ref": "#/definitions/imdb.KeywordItem"
- },
- "type": "array"
- },
- "locations": {
- "description": "Filming locations of the title. Filled when `type` is `filming_locations`.",
- "items": {
- "$ref": "#/definitions/imdb.LocationItem"
- },
- "type": "array"
- },
- "public_page_derived": {
- "description": "Always `true`. The data comes from IMDb's public pages.",
- "example": true,
- "type": "boolean"
+ "position": {
+ "description": "Rank of the suggestion in the list, starting at 1.",
+ "example": 1,
+ "type": "integer"
},
- "source_url": {
- "description": "URL the data was read from.",
- "example": "https://www.imdb.com/title/tt1375666/trivia/",
+ "query": {
+ "description": "Suggested search query.",
+ "example": "openai api",
"type": "string"
},
- "total": {
- "description": "Number of entries IMDb lists for this type.",
- "example": 21,
+ "relevance": {
+ "description": "Relevance score Google gives the suggestion. Only set when the request used `rich=true`.",
+ "example": 601,
"type": "integer"
},
"type": {
- "description": "Kind of data returned: `trivia`, `goofs`, `quotes`, `keywords`, `filming_locations` or `company_credits`.",
- "example": "trivia",
- "type": "string"
- },
- "url": {
- "description": "IMDb page of the title for this kind of data.",
- "example": "https://www.imdb.com/title/tt1375666/trivia/",
+ "description": "Suggestion type as Google labels it, for example `QUERY`. Only set when the request used `rich=true`.",
+ "example": "QUERY",
"type": "string"
}
},
"type": "object"
},
- "imdb.TitleResponse": {
+ "google.VerticalPagination": {
"properties": {
- "cast": {
- "description": "Up to three lead cast members.",
- "items": {
- "$ref": "#/definitions/imdb.Person"
- },
- "type": "array"
- },
- "content_rating": {
- "description": "Age rating shown for the title, for example `PG-13`.",
- "example": "PG-13",
- "type": "string"
- },
- "directors": {
- "description": "Directors of the title.",
- "items": {
- "$ref": "#/definitions/imdb.Person"
- },
- "type": "array"
- },
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-06-07T14:46:16Z",
- "type": "string"
- },
- "genres": {
- "description": "Genres IMDb lists for the title.",
- "example": [
- "Action"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "id": {
- "description": "IMDb title ID, for example `tt1375666`.",
- "example": "tt1375666",
- "type": "string"
- },
- "image_url": {
- "description": "URL of the title's main image.",
- "type": "string"
- },
- "plot": {
- "description": "Plot summary of the title.",
- "type": "string"
- },
- "popularity_rank": {
- "description": "Current IMDb popularity rank of the title.",
- "example": 82,
+ "next_page": {
+ "description": "Page number of the next page. Omitted when there is no next page.",
+ "example": 2,
"type": "integer"
},
- "public_page_derived": {
- "description": "Always `true`. The data comes from IMDb's public pages.",
- "example": true,
- "type": "boolean"
- },
- "rating_count": {
- "description": "Number of user ratings behind the rating value.",
- "example": 2600000,
+ "page": {
+ "description": "Page number of this response, starting at 1.",
+ "example": 1,
"type": "integer"
},
- "rating_value": {
- "description": "Average IMDb user rating of the title.",
- "example": 8.8,
- "type": "number"
- },
- "release_date": {
- "description": "Release date of the title, for example `2010-07-16`.",
- "example": "2010-07-16",
- "type": "string"
- },
- "runtime_minutes": {
- "description": "Running time of the title in minutes.",
- "example": 148,
+ "previous_page": {
+ "description": "Page number of the previous page. Omitted on the first page.",
+ "example": 1,
"type": "integer"
- },
- "source_url": {
- "description": "URL the data was read from.",
- "example": "https://www.imdb.com/title/tt1375666/",
- "type": "string"
- },
- "title": {
- "description": "Title name as shown on IMDb.",
- "example": "Inception",
- "type": "string"
- },
- "title_type": {
- "description": "Kind of title, for example `Movie`.",
- "example": "Movie",
- "type": "string"
- },
- "url": {
- "description": "IMDb page URL of the title.",
- "example": "https://www.imdb.com/title/tt1375666/",
- "type": "string"
- },
- "year": {
- "description": "Release year of the title.",
- "example": "2010",
- "type": "string"
}
},
"type": "object"
},
- "imdb.TitleVideosResponse": {
+ "google.VideoResult": {
"properties": {
- "fetched_at": {
- "example": "2026-09-14T14:46:16Z",
- "type": "string"
- },
- "has_more": {
- "example": true,
- "type": "boolean"
- },
- "id": {
- "example": "tt1375666",
- "type": "string"
- },
- "limit": {
- "example": 50,
- "type": "integer"
- },
- "source_url": {
- "example": "https://www.imdb.com/title/tt1375666/videogallery/",
- "type": "string"
- },
- "title": {
- "example": "Inception",
+ "age": {
+ "description": "When the video was published, as Google shows it.",
+ "example": "2 days ago",
"type": "string"
},
- "total": {
- "example": 35,
- "type": "integer"
- },
- "url": {
- "example": "https://www.imdb.com/title/tt1375666/videogallery/",
+ "description": {
+ "description": "Video description snippet as shown on the Google results page.",
+ "example": "Watch the OpenAI DevDay keynote.",
"type": "string"
},
- "videos": {
- "items": {
- "$ref": "#/definitions/imdb.VideoItem"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "imdb.VideoItem": {
- "properties": {
- "content_type": {
- "example": "Trailer",
+ "duration": {
+ "description": "Video length as Google shows it, for example `45:12`.",
+ "example": "45:12",
"type": "string"
},
- "duration_seconds": {
- "example": 105,
- "type": "integer"
- },
- "id": {
- "example": "vi2959588889",
+ "platform": {
+ "description": "Platform hosting the video, for example `YouTube`.",
+ "example": "YouTube",
"type": "string"
},
"position": {
+ "description": "Rank of the video across all pages for the query, starting at 1.",
"example": 1,
"type": "integer"
},
- "primary_title": {
- "$ref": "#/definitions/imdb.VideoPrimaryTitle"
- },
"thumbnail": {
- "$ref": "#/definitions/imdb.VideoThumbnail"
- },
- "title": {
- "example": "10th Anniversary Dream Trailer",
- "type": "string"
- }
- },
- "type": "object"
- },
- "imdb.VideoPrimaryTitle": {
- "properties": {
- "id": {
- "example": "tt1375666",
+ "description": "URL of the video thumbnail.",
+ "example": "https://example.com/thumb.jpg",
"type": "string"
},
"title": {
- "example": "Inception",
+ "description": "Video title as shown on the Google results page.",
+ "example": "OpenAI DevDay keynote - YouTube",
"type": "string"
},
"url": {
- "example": "https://www.imdb.com/title/tt1375666/",
+ "description": "URL of the video page.",
+ "example": "https://www.youtube.com/watch?v=openai-devday",
"type": "string"
}
},
"type": "object"
},
- "imdb.VideoThumbnail": {
+ "google.VideosResponse": {
"properties": {
- "height": {
- "example": 1071,
- "type": "integer"
- },
- "url": {
- "example": "https://m.media-amazon.com/images/M/MV5BMTQ1ZmIzOTAtNDcwZi00NDVkLWE4NWItYWNhZGY1MmVlZGU0XkEyXkFqcGdeQWRvb2xpbmhk._V1_.jpg",
- "type": "string"
+ "pagination": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/google.VerticalPagination"
+ }
+ ],
+ "description": "Paging information for this response."
},
- "width": {
- "example": 1905,
- "type": "integer"
+ "results": {
+ "description": "Video results in Google's order.",
+ "items": {
+ "$ref": "#/definitions/google.VideoResult"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "imdb.chartsResponseDoc": {
+ "google.mapPlacePhotosResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/imdb.ChartResponse"
+ "items": {
+ "$ref": "#/definitions/google.PlacePhoto"
+ },
+ "type": "array"
},
"msg": {
- "example": "OK",
+ "example": "ok",
"type": "string"
}
},
"type": "object"
},
- "imdb.creditsResponseDoc": {
+ "google.mapPlaceResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/imdb.CreditsResponse"
+ "$ref": "#/definitions/google.Place"
},
"msg": {
"example": "OK",
@@ -112763,30 +117734,36 @@
},
"type": "object"
},
- "imdb.episodesResponseDoc": {
+ "google.mapPlaceReviewsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/imdb.EpisodesResponse"
+ "items": {
+ "$ref": "#/definitions/google.PlaceReview"
+ },
+ "type": "array"
},
"msg": {
- "example": "OK",
+ "example": "ok",
"type": "string"
}
},
"type": "object"
},
- "imdb.imageTypesResponseDoc": {
+ "google.mapSearchResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/imdb.ImageTypesResponse"
+ "items": {
+ "$ref": "#/definitions/google.Place"
+ },
+ "type": "array"
},
"msg": {
"example": "OK",
@@ -112795,14 +117772,14 @@
},
"type": "object"
},
- "imdb.nameAwardsResponseDoc": {
+ "google.newsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/imdb.NameAwardsResponse"
+ "$ref": "#/definitions/google.NewsResponse"
},
"msg": {
"example": "OK",
@@ -112811,14 +117788,14 @@
},
"type": "object"
},
- "imdb.nameCreditsResponseDoc": {
+ "google.newsSearchResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/imdb.NameCreditsResponse"
+ "$ref": "#/definitions/google.NewsSearchResp"
},
"msg": {
"example": "OK",
@@ -112827,14 +117804,14 @@
},
"type": "object"
},
- "imdb.nameImagesResponseDoc": {
+ "google.suggestResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/imdb.NameImagesResponse"
+ "$ref": "#/definitions/google.SuggestResponse"
},
"msg": {
"example": "OK",
@@ -112843,14 +117820,14 @@
},
"type": "object"
},
- "imdb.nameResponseDoc": {
+ "google.videosResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/imdb.NameResponse"
+ "$ref": "#/definitions/google.VideosResponse"
},
"msg": {
"example": "OK",
@@ -112859,110 +117836,98 @@
},
"type": "object"
},
- "imdb.nameVideosResponseDoc": {
+ "googlejobs.GoogleJob": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "apply_url": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/imdb.NameVideosResponse"
+ "company": {
+ "example": "Google",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "country": {
+ "example": "TW",
"type": "string"
- }
- },
- "type": "object"
- },
- "imdb.parentalGuideResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/imdb.ParentalGuideResponse"
+ "description": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "id": {
+ "example": "85207000467546822",
"type": "string"
- }
- },
- "type": "object"
- },
- "imdb.ratingsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/imdb.RatingsResponse"
+ "location": {
+ "example": "New Taipei, Banqiao District, New Taipei City, Taiwan",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "locations": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "minimum_qualifications": {
"type": "string"
- }
- },
- "type": "object"
- },
- "imdb.releaseInfoResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/imdb.ReleaseInfoResponse"
+ "posted_at": {
+ "example": "2026-07-22T14:10:44Z",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "preferred_qualifications": {
"type": "string"
- }
- },
- "type": "object"
- },
- "imdb.reviewsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/imdb.ReviewsResponse"
+ "responsibilities": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "title": {
+ "example": "Software Engineer, Embedded Software, Silicon",
+ "type": "string"
+ },
+ "url": {
+ "example": "https://www.google.com/about/careers/applications/jobs/results/85207000467546822-software-engineer-embedded-software-silicon",
"type": "string"
}
},
"type": "object"
},
- "imdb.searchResponseDoc": {
+ "googlejobs.SearchResponse": {
"properties": {
- "code": {
- "example": 200,
+ "jobs": {
+ "items": {
+ "$ref": "#/definitions/googlejobs.GoogleJob"
+ },
+ "type": "array"
+ },
+ "location": {
+ "example": "Singapore",
+ "type": "string"
+ },
+ "page": {
+ "example": 1,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/imdb.SearchResponse"
+ "query": {
+ "example": "software engineer",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "source_url": {
"type": "string"
+ },
+ "total": {
+ "example": 1722,
+ "type": "integer"
}
},
"type": "object"
},
- "imdb.searchTitleResponseDoc": {
+ "googlejobs.jobResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/imdb.SearchTitleResponse"
+ "$ref": "#/definitions/googlejobs.GoogleJob"
},
"msg": {
"example": "OK",
@@ -112971,14 +117936,14 @@
},
"type": "object"
},
- "imdb.similarResponseDoc": {
+ "googlejobs.searchResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/imdb.SimilarResponse"
+ "$ref": "#/definitions/googlejobs.SearchResponse"
},
"msg": {
"example": "OK",
@@ -112987,464 +117952,567 @@
},
"type": "object"
},
- "imdb.technicalSpecsResponseDoc": {
+ "googlepatents.CitedPatent": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "assignee": {
+ "example": "Netzsch Maschinenfabrik",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/imdb.TechnicalSpecsResponse"
+ "priority_date": {
+ "example": "1985-12-27",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "publication_date": {
+ "example": "1987-05-19",
"type": "string"
- }
- },
- "type": "object"
- },
- "imdb.titleAwardsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/imdb.TitleAwardsResponse"
+ "publication_number": {
+ "example": "US4665582A",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "title": {
+ "example": "Apparatus for shaking foundry moulds in a casting installation",
"type": "string"
}
},
"type": "object"
},
- "imdb.titleBoxOfficeResponseDoc": {
+ "googlepatents.Classification": {
"properties": {
"code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/imdb.TitleBoxOfficeResponse"
+ "example": "A47L9/00",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "description": {
+ "example": "Details or accessories of suction cleaners",
"type": "string"
+ },
+ "is_cpc": {
+ "example": true,
+ "type": "boolean"
}
},
"type": "object"
},
- "imdb.titleConnectionsResponseDoc": {
+ "googlepatents.ClassificationRelation": {
"properties": {
"code": {
- "example": 200,
- "type": "integer"
+ "example": "A61",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/imdb.TitleConnectionsResponse"
+ "description": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "is_child": {
+ "type": "boolean"
+ },
+ "is_parent": {
+ "type": "boolean"
+ },
+ "is_related": {
+ "type": "boolean"
+ },
+ "name": {
+ "example": "A61 - MEDICAL OR VETERINARY SCIENCE; HYGIENE",
"type": "string"
}
},
"type": "object"
},
- "imdb.titleImagesResponseDoc": {
+ "googlepatents.ClassificationResponse": {
"properties": {
"code": {
- "example": 200,
- "type": "integer"
+ "example": "A61K31/00",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/imdb.TitleImagesResponse"
+ "description": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "fetched_at": {
+ "type": "string"
+ },
+ "name": {
+ "example": "A61K31/00 - Medicinal preparations containing organic active ingredients",
+ "type": "string"
+ },
+ "relations": {
+ "items": {
+ "$ref": "#/definitions/googlepatents.ClassificationRelation"
+ },
+ "type": "array"
+ },
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "imdb.titlePublicFactsAnalysisResponseDoc": {
+ "googlepatents.CountryStatus": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/imdb.TitlePublicFactsAnalysisResponse"
+ "country_code": {
+ "example": "US",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "state": {
+ "example": "ACTIVE",
"type": "string"
}
},
"type": "object"
},
- "imdb.titlePublicFactsResponseDoc": {
+ "googlepatents.CoverageCountry": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/imdb.TitlePublicFactsResponse"
- },
- "msg": {
- "example": "OK",
+ "country_code": {
+ "example": "US",
"type": "string"
+ },
+ "years": {
+ "items": {
+ "$ref": "#/definitions/googlepatents.CoverageYear"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "imdb.titleResponseDoc": {
+ "googlepatents.CoverageResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "countries": {
+ "items": {
+ "$ref": "#/definitions/googlepatents.CoverageCountry"
+ },
+ "type": "array"
},
- "data": {
- "$ref": "#/definitions/imdb.TitleResponse"
+ "fetched_at": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "imdb.titleVideosResponseDoc": {
+ "googlepatents.CoverageYear": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/imdb.TitleVideosResponse"
+ "applications": {
+ "example": "1712467",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "grants": {
+ "example": "2802408",
"type": "string"
+ },
+ "year": {
+ "example": 2025,
+ "type": "integer"
}
},
"type": "object"
},
- "importyeti.Company": {
+ "googlepatents.DetailResponse": {
"properties": {
- "address": {
- "example": "Minneapolis, Mn 55402, Us",
+ "abstract": {
+ "example": "Battery-powered upright vacuum cleaners are disclosed.",
"type": "string"
},
- "also_known_as_addresses": {
- "example": 145,
- "type": "integer"
+ "application_number": {
+ "example": "US15/620,213",
+ "type": "string"
},
- "also_known_as_names": {
- "example": 229,
+ "citations": {
+ "items": {
+ "$ref": "#/definitions/googlepatents.CitedPatent"
+ },
+ "type": "array"
+ },
+ "cited_by": {
+ "items": {
+ "$ref": "#/definitions/googlepatents.CitedPatent"
+ },
+ "type": "array"
+ },
+ "claims": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "claims_count": {
+ "example": 19,
"type": "integer"
},
- "avg_teu_per_month": {
- "example": 48.52,
- "type": "number"
+ "classifications": {
+ "items": {
+ "$ref": "#/definitions/googlepatents.Classification"
+ },
+ "type": "array"
},
- "avg_teu_per_shipment": {
- "example": 7.19,
- "type": "number"
+ "country_code": {
+ "example": "US",
+ "type": "string"
},
- "est_shipping_spend": {
- "example": "$27M",
+ "country_name": {
+ "example": "United States",
"type": "string"
},
- "hs_codes": {
+ "current_assignees": {
"items": {
- "$ref": "#/definitions/importyeti.HSCode"
+ "type": "string"
},
"type": "array"
},
- "last_shipment_date": {
- "example": "07/16/2026",
+ "description": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "expiration_date": {
+ "example": "2038-04-26",
"type": "string"
},
- "name": {
- "example": "Target 33 South 6Th Street Cc",
+ "family_members": {
+ "items": {
+ "$ref": "#/definitions/googlepatents.FamilyMember"
+ },
+ "type": "array"
+ },
+ "fetched_at": {
+ "example": "2026-08-15T12:00:00Z",
"type": "string"
},
- "phone": {
- "example": "XXX-XXX-X296",
+ "filing_date": {
+ "example": "2017-06-12",
"type": "string"
},
- "recent_shipments": {
+ "inventors": {
"items": {
- "$ref": "#/definitions/importyeti.Shipment"
+ "type": "string"
},
"type": "array"
},
- "region_breakdown": {
+ "kind_code": {
+ "example": "B2",
+ "type": "string"
+ },
+ "legal_status": {
+ "example": "Active",
+ "type": "string"
+ },
+ "original_assignees": {
"items": {
- "$ref": "#/definitions/importyeti.RegionBreakdown"
+ "type": "string"
},
"type": "array"
},
- "slug": {
- "example": "target-33-south-6th-street-cc",
+ "pdf_url": {
+ "example": "https://patentimages.storage.googleapis.com/ae/9f/51/f34dc3bf93426e/US10758101.pdf",
"type": "string"
},
- "source_url": {
- "example": "https://www.importyeti.com/company/target",
+ "prior_art_keywords": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "priority_date": {
+ "example": "2017-06-12",
"type": "string"
},
- "suppliers": {
+ "publication_date": {
+ "example": "2020-09-01",
+ "type": "string"
+ },
+ "publication_number": {
+ "example": "US10758101B2",
+ "type": "string"
+ },
+ "similar_documents": {
"items": {
- "$ref": "#/definitions/importyeti.Supplier"
+ "$ref": "#/definitions/googlepatents.SimilarDocument"
},
"type": "array"
},
- "total_shipments": {
- "example": 9123,
- "type": "integer"
- },
- "url": {
- "example": "https://www.importyeti.com/company/target-33-south-6th-street-cc",
+ "source_url": {
+ "example": "https://patents.google.com/patent/US10758101B2/en",
"type": "string"
},
- "website": {
- "example": "www.target.com",
+ "title": {
+ "example": "Upright vacuum cleaner with battery support plate",
"type": "string"
}
},
"type": "object"
},
- "importyeti.CountryShipments": {
+ "googlepatents.FacetEntry": {
"properties": {
- "country": {
- "example": "China",
+ "key": {
+ "example": "Emerson Electric Co.",
"type": "string"
},
- "shipments": {
- "example": 4267,
+ "value": {
+ "example": 666,
"type": "integer"
}
},
"type": "object"
},
- "importyeti.HSCode": {
+ "googlepatents.FamilyMember": {
"properties": {
- "code": {
- "example": "6404.19.9092",
+ "publication_date": {
+ "example": "2018-12-13",
"type": "string"
},
- "description": {
- "example": "Valued over $12/pair",
+ "publication_number": {
+ "example": "US20180353038A1",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "googlepatents.RecentEntry": {
+ "properties": {
+ "publication_number": {
+ "example": "US10758101B2",
"type": "string"
},
- "product_description": {
- "example": "Footwear Po- 1101064043 Hs Code-6404199092",
+ "title": {
+ "example": "Adjustable venous cannula and method of treating a patient",
"type": "string"
},
- "sample_bill_of_lading": {
- "example": "APLU050437011",
+ "url": {
+ "example": "https://patents.google.com/patent/US10758101B2/en",
"type": "string"
}
},
"type": "object"
},
- "importyeti.RegionBreakdown": {
+ "googlepatents.RecentResponse": {
"properties": {
- "countries": {
+ "count": {
+ "example": 329,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "results": {
"items": {
- "$ref": "#/definitions/importyeti.CountryShipments"
+ "$ref": "#/definitions/googlepatents.RecentEntry"
},
"type": "array"
},
- "percent": {
- "example": 80.3,
- "type": "number"
+ "source_url": {
+ "type": "string"
},
- "region": {
- "example": "Asia",
+ "week": {
+ "example": "2026-W20",
"type": "string"
}
},
"type": "object"
},
- "importyeti.SearchResponse": {
+ "googlepatents.SearchResponse": {
"properties": {
+ "fetched_at": {
+ "type": "string"
+ },
+ "many_results": {
+ "example": false,
+ "type": "boolean"
+ },
"page": {
- "example": 1,
+ "example": 0,
"type": "integer"
},
"query": {
- "example": "nike",
+ "example": "battery",
"type": "string"
},
"results": {
"items": {
- "$ref": "#/definitions/importyeti.SearchResult"
+ "$ref": "#/definitions/googlepatents.SearchResult"
},
"type": "array"
},
"source_url": {
"type": "string"
},
- "total_hits": {
- "example": 135,
- "type": "integer"
+ "top_assignees": {
+ "items": {
+ "$ref": "#/definitions/googlepatents.FacetEntry"
+ },
+ "type": "array"
+ },
+ "top_classifications": {
+ "items": {
+ "$ref": "#/definitions/googlepatents.FacetEntry"
+ },
+ "type": "array"
+ },
+ "top_inventors": {
+ "items": {
+ "$ref": "#/definitions/googlepatents.FacetEntry"
+ },
+ "type": "array"
},
"total_pages": {
- "example": 14,
+ "example": 100,
+ "type": "integer"
+ },
+ "total_results": {
+ "example": 112795,
"type": "integer"
}
},
"type": "object"
},
- "importyeti.SearchResult": {
+ "googlepatents.SearchResult": {
"properties": {
- "address": {
- "example": "1 Bowerman Dr, Beaverton, Or 97005, Us",
+ "assignee": {
+ "example": "Emerson Electric Co",
"type": "string"
},
- "country_code": {
- "example": "US",
+ "country_status": {
+ "items": {
+ "$ref": "#/definitions/googlepatents.CountryStatus"
+ },
+ "type": "array"
+ },
+ "detail_url": {
+ "example": "https://patents.google.com/patent/US10758101B2/en",
"type": "string"
},
- "kind": {
- "example": "company",
+ "filing_date": {
+ "example": "2017-06-12",
"type": "string"
},
- "most_recent_shipment": {
- "example": "23/11/2024",
+ "grant_date": {
+ "example": "2020-09-01",
"type": "string"
},
- "other_addresses_count": {
- "example": 27,
- "type": "integer"
+ "inventor": {
+ "example": "Thomas E. Fogarty, Jr.",
+ "type": "string"
},
- "other_names_count": {
- "example": 17,
- "type": "integer"
+ "is_similar_document": {
+ "example": false,
+ "type": "boolean"
},
- "slug": {
- "example": "nike",
+ "language": {
+ "example": "en",
"type": "string"
},
- "title": {
- "example": "Nike",
+ "pdf_url": {
"type": "string"
},
- "total_shipments": {
- "example": 560,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "importyeti.Shipment": {
- "properties": {
- "bill_of_lading": {
- "example": "MOSJMK0H2607003",
+ "priority_date": {
+ "example": "2017-06-12",
"type": "string"
},
- "containers": {
- "example": "1",
+ "publication_date": {
+ "example": "2020-09-01",
"type": "string"
},
- "date": {
- "example": "07/16/2026",
+ "publication_number": {
+ "example": "US10758101B2",
"type": "string"
},
- "description": {
- "example": "Kart Chains",
+ "snippet": {
+ "example": "a battery support plate adapted to support a battery...",
"type": "string"
},
- "estimated_freight_cost": {
- "example": "$ 2,563.26",
+ "thumbnail_url": {
"type": "string"
},
- "quantity": {
- "example": "2 ctn",
+ "title": {
+ "example": "Upright vacuum cleaner with battery support plate",
"type": "string"
- },
- "route": {
- "example": "Asia US Pacific",
+ }
+ },
+ "type": "object"
+ },
+ "googlepatents.SimilarDocument": {
+ "properties": {
+ "publication_date": {
+ "example": "1990-06-26",
"type": "string"
},
- "supplier_location": {
- "example": "Kaga Shi, Japan",
+ "publication_number": {
+ "example": "CA1270625A",
"type": "string"
},
- "supplier_name": {
- "example": "Enuma Chain Mfg Co Ltd",
+ "title": {
+ "example": "Method and apparatus for setting pattern frame and press die",
"type": "string"
- },
- "supplier_slug": {
- "example": "enuma-chain-mfg",
+ }
+ },
+ "type": "object"
+ },
+ "googlepatents.SuggestEntry": {
+ "properties": {
+ "description": {
"type": "string"
},
- "weight": {
- "example": "959 kg",
+ "value": {
+ "example": "John Cronin",
"type": "string"
}
},
"type": "object"
},
- "importyeti.Supplier": {
+ "googlepatents.SuggestResponse": {
"properties": {
- "city": {
- "example": "Maria Fe",
+ "fetched_at": {
"type": "string"
},
- "country": {
- "example": "Philippines",
+ "field": {
+ "example": "inventor",
"type": "string"
},
- "description": {
+ "source_url": {
"type": "string"
},
- "hs_codes": {
- "example": [
- "4602.19",
- "8504.40"
- ],
+ "suggestions": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/googlepatents.SuggestEntry"
},
"type": "array"
},
- "name": {
- "example": "Durus Industries",
+ "value": {
+ "example": "John",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "googlepatents.classificationResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "product_categories": {
- "example": [
- "Furnitures",
- "Toys"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/googlepatents.ClassificationResponse"
},
- "slug": {
- "example": "durus-industries",
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "total_shipments": {
- "example": 308,
- "type": "integer"
}
},
"type": "object"
},
- "importyeti.companyResponseDoc": {
+ "googlepatents.coverageResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/importyeti.Company"
+ "$ref": "#/definitions/googlepatents.CoverageResponse"
},
"msg": {
"example": "OK",
@@ -113453,14 +118521,14 @@
},
"type": "object"
},
- "importyeti.searchResponseDoc": {
+ "googlepatents.detailResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/importyeti.SearchResponse"
+ "$ref": "#/definitions/googlepatents.DetailResponse"
},
"msg": {
"example": "OK",
@@ -113469,311 +118537,398 @@
},
"type": "object"
},
- "indeed.Job": {
+ "googlepatents.recentResponseDoc": {
"properties": {
- "benefits": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "city": {
- "example": "New York",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/googlepatents.RecentResponse"
},
- "company": {
- "example": "dv01",
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "googlepatents.searchResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "company_rating": {
- "example": 3.5,
- "type": "number"
+ "data": {
+ "$ref": "#/definitions/googlepatents.SearchResponse"
},
- "company_review_count": {
- "example": 20,
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "googlepatents.suggestResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "company_url": {
- "example": "https://www.indeed.com/cmp/Dv01",
+ "data": {
+ "$ref": "#/definitions/googlepatents.SuggestResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "googleplay.App": {
+ "properties": {
+ "ad_supported": {
+ "description": "Whether the app shows ads, as declared on its Google Play page.",
+ "example": false,
+ "type": "boolean"
+ },
+ "android_max_version": {
+ "description": "Highest Android version the app supports, such as `15`. Shows `VARY` when none is listed.",
+ "example": "15",
"type": "string"
},
- "country": {
- "example": "US",
+ "android_version": {
+ "description": "Minimum Android version the app requires, such as `8.0`.",
+ "example": "8.0",
"type": "string"
},
- "description_html": {
+ "android_version_text": {
+ "description": "Minimum Android version as Google Play words it, such as `8.0 and up`. Shows `Varies with device` when none is listed.",
+ "example": "8.0 and up",
"type": "string"
},
- "description_text": {
+ "app_id": {
+ "description": "Package name of the app on Google Play, such as `com.openai.chatgpt`. Use it with the other Google Play endpoints.",
+ "example": "com.openai.chatgpt",
"type": "string"
},
- "direct_apply": {
+ "available": {
+ "description": "Whether the app is available on Google Play.",
"example": true,
"type": "boolean"
},
- "employment_type": {
+ "categories": {
+ "description": "Categories the app is listed under on Google Play.",
+ "items": {
+ "$ref": "#/definitions/googleplay.Category"
+ },
+ "type": "array"
+ },
+ "comments": {
+ "description": "Up to five user review texts shown on the app's details page.",
+ "example": [
+ "[\"Great app\"",
+ "\"Very useful\"]"
+ ],
"items": {
"type": "string"
},
"type": "array"
},
- "job_key": {
- "example": "a055dc6ab3a91a3b",
+ "content_rating": {
+ "description": "Content rating label shown on the app page, such as `Teen`.",
+ "example": "Teen",
"type": "string"
},
- "location": {
- "example": "New York, NY 10003",
+ "content_rating_description": {
+ "description": "Content descriptors listed with the rating, such as `Users Interact, In-App Purchases`.",
+ "example": "Users Interact, In-App Purchases",
"type": "string"
},
- "postal_code": {
- "example": "10003",
+ "currency": {
+ "description": "Currency code of the price, such as `USD`.",
+ "example": "USD",
"type": "string"
},
- "posted_at": {
- "example": "2026-06-29T16:52:09Z",
+ "description": {
+ "description": "Full app description as plain text.",
+ "example": "Introducing ChatGPT for Android: OpenAI's latest advancements at your fingertips.",
"type": "string"
},
- "remote": {
- "example": false,
- "type": "boolean"
- },
- "salary_currency": {
- "example": "USD",
+ "description_html": {
+ "description": "Full app description with its HTML formatting kept.",
+ "example": "Introducing ChatGPT for Android: OpenAI's latest advancements at your fingertips.
This official app is free.",
"type": "string"
},
- "salary_max": {
- "example": 160000,
- "type": "number"
+ "developer": {
+ "description": "Name of the app's developer or publisher.",
+ "example": "OpenAI",
+ "type": "string"
},
- "salary_min": {
- "example": 140000,
- "type": "number"
+ "developer_address": {
+ "description": "Developer's postal address as listed on the app page.",
+ "example": "1455 3RD St, San Francisco, CA 94158-2210, United States",
+ "type": "string"
},
- "salary_period": {
- "example": "yearly",
+ "developer_email": {
+ "description": "Developer's contact email as listed on the app page.",
+ "example": "support@openai.com",
"type": "string"
},
- "salary_text": {
- "example": "$140,000 - $160,000 a year",
+ "developer_id": {
+ "description": "Google Play developer ID. Use it with the developer endpoint.",
+ "example": "7577165439232992817",
"type": "string"
},
- "state": {
- "example": "NY",
+ "developer_internal_id": {
+ "description": "Google Play developer ID, the same value as `developer_id`.",
+ "example": "7577165439232992817",
"type": "string"
},
- "title": {
- "example": "Senior Backend Engineer",
+ "developer_legal_address": {
+ "description": "Developer's legal address as listed on the app page, on one line.",
+ "example": "1455 3RD St, San Francisco, CA 94158-2210, United States",
"type": "string"
},
- "url": {
- "example": "https://www.indeed.com/viewjob?jk=a055dc6ab3a91a3b",
+ "developer_legal_email": {
+ "description": "Developer's legal contact email as listed on the app page.",
+ "example": "support@openai.com",
"type": "string"
},
- "valid_through": {
- "example": "2026-11-10T07:28:05Z",
+ "developer_legal_name": {
+ "description": "Developer's registered legal name as listed on the app page.",
+ "example": "OpenAI Opco, LLC",
"type": "string"
- }
- },
- "type": "object"
- },
- "indeed.JobCard": {
- "properties": {
- "city": {
- "example": "New York",
+ },
+ "developer_legal_phone_number": {
+ "description": "Developer's legal contact phone number as listed on the app page.",
+ "example": "+1 415-231-2395",
"type": "string"
},
- "company": {
- "example": "dv01",
+ "developer_website": {
+ "description": "URL of the developer's website.",
+ "example": "https://help.openai.com",
"type": "string"
},
- "company_rating": {
- "example": 3.6,
- "type": "number"
+ "discount_end_date": {
+ "description": "End date of the current discounted price, when the app is on sale.",
+ "example": "2026-03-31T23:59:59Z",
+ "type": "string"
},
- "company_review_count": {
- "example": 20,
- "type": "integer"
+ "early_access_enabled": {
+ "description": "Whether the app is in Google Play early access.",
+ "example": false,
+ "type": "boolean"
},
- "indeed_applyable": {
+ "features": {
+ "description": "Feature highlights listed on the app page, each with a title and description.",
+ "items": {
+ "$ref": "#/definitions/googleplay.Feature"
+ },
+ "type": "array"
+ },
+ "free": {
+ "description": "Whether the app is free to install.",
"example": true,
"type": "boolean"
},
- "job_key": {
- "example": "a055dc6ab3a91a3b",
+ "genre": {
+ "description": "Main category name of the app, such as `Productivity`.",
+ "example": "Productivity",
"type": "string"
},
- "job_types": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "genre_id": {
+ "description": "ID of the app's main category, such as `PRODUCTIVITY`.",
+ "example": "PRODUCTIVITY",
+ "type": "string"
},
- "location": {
- "example": "New York, NY 10003",
+ "header_image": {
+ "description": "URL of the app's header image.",
+ "example": "https://play-lh.googleusercontent.com/sample-header-image",
"type": "string"
},
- "new_job": {
- "example": false,
- "type": "boolean"
+ "histogram": {
+ "description": "Number of ratings at each star level, keyed `1` to `5`.",
+ "type": "object"
},
- "postal_code": {
- "example": "10003",
+ "iap_range": {
+ "description": "Price range of in-app purchases as Google Play shows it, such as `$0.99 - $199.99 per item`.",
+ "example": "$0.99 - $199.99 per item",
"type": "string"
},
- "posted_at": {
- "example": "2026-06-29T16:52:09Z",
+ "icon": {
+ "description": "URL of the app icon.",
+ "example": "https://play-lh.googleusercontent.com/lmG9HlI0awHie0cyBieWXeNjpyXvHPwDBb8MNOVIyp0P8VEh95AiBHtUZSDVR3HLe3A",
"type": "string"
},
- "posted_relative": {
- "example": "13 days ago",
+ "installs": {
+ "description": "Install count band as Google Play shows it, such as `100,000,000+`.",
+ "example": "100,000,000+",
"type": "string"
},
- "remote": {
+ "is_available_in_play_pass": {
+ "description": "Whether the app is part of Google Play Pass.",
"example": false,
"type": "boolean"
},
- "salary_currency": {
- "example": "USD",
- "type": "string"
+ "max_installs": {
+ "description": "Larger of the two install-count figures Google Play reports for the app.",
+ "example": 500000000,
+ "type": "integer"
},
- "salary_max": {
- "example": 160000,
- "type": "number"
+ "min_installs": {
+ "description": "Smaller of the two install-count figures Google Play reports, matching the `installs` band.",
+ "example": 100000000,
+ "type": "integer"
},
- "salary_min": {
- "example": 140000,
+ "more_by_developer": {
+ "description": "Other apps from the same developer, from the \"More by\" list on the app page.",
+ "items": {
+ "$ref": "#/definitions/googleplay.ListApp"
+ },
+ "type": "array"
+ },
+ "offers_iap": {
+ "description": "Whether the app offers in-app purchases.",
+ "example": true,
+ "type": "boolean"
+ },
+ "original_price": {
+ "description": "Price before the discount, in the same currency as `price`. Omitted when there is no original price.",
+ "example": 4.99,
"type": "number"
},
- "salary_period": {
- "example": "yearly",
+ "platforms": {
+ "description": "Device types the app supports, such as `phone`, `tablet` or `chromebook`.",
+ "example": [
+ "[\"phone\"",
+ "\"tablet\"",
+ "\"chromebook\"]"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "preregister": {
+ "description": "Whether the app is open for pre-registration.",
+ "example": false,
+ "type": "boolean"
+ },
+ "preview_video": {
+ "description": "URL of the app's preview video.",
+ "example": "https://play.google.com/preview/sample",
"type": "string"
},
- "salary_text": {
- "example": "$140,000 - $160,000 a year",
+ "price": {
+ "description": "Price of the app in the currency given by `currency`. `0` for free apps.",
+ "example": 0,
+ "type": "number"
+ },
+ "price_text": {
+ "description": "Price as Google Play displays it, such as `Free`.",
+ "example": "Free",
"type": "string"
},
- "snippet": {
- "example": "Interact with a diverse team...",
+ "privacy_policy": {
+ "description": "URL of the app's privacy policy.",
+ "example": "https://openai.com/policies/privacy-policy",
"type": "string"
},
- "sponsored": {
- "example": true,
- "type": "boolean"
+ "ratings": {
+ "description": "Total number of star ratings the app has received.",
+ "example": 40123456,
+ "type": "integer"
},
- "state": {
- "example": "NY",
+ "recent_changes": {
+ "description": "Text of the latest release notes.",
+ "example": "Bug fixes and performance improvements.",
"type": "string"
},
- "title": {
- "example": "Senior Backend Engineer",
+ "released": {
+ "description": "Release date of the app as listed on Google Play.",
+ "example": "2023-07-19",
"type": "string"
},
- "urgently_hiring": {
- "example": false,
- "type": "boolean"
+ "reviews": {
+ "description": "Total number of written reviews the app has received.",
+ "example": 1234567,
+ "type": "integer"
},
- "url": {
- "example": "https://www.indeed.com/viewjob?jk=a055dc6ab3a91a3b",
- "type": "string"
- }
- },
- "type": "object"
- },
- "indeed.LocationSuggestResponse": {
- "properties": {
- "query": {
- "example": "Austin",
+ "score": {
+ "description": "Average star rating of the app, out of 5.",
+ "example": 4.8,
+ "type": "number"
+ },
+ "score_text": {
+ "description": "Average rating as Google Play displays it, such as `4.8`.",
+ "example": "4.8",
"type": "string"
},
- "suggestions": {
+ "screenshots": {
+ "description": "URLs of the app's screenshots.",
+ "example": [
+ "[\"https://play-lh.googleusercontent.com/sample-screenshot-1\"",
+ "\"https://play-lh.googleusercontent.com/sample-screenshot-2\"]"
+ ],
"items": {
- "$ref": "#/definitions/indeed.LocationSuggestion"
+ "type": "string"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "indeed.LocationSuggestion": {
- "properties": {
- "name": {
- "example": "Austin, TX (Travis County)",
- "type": "string"
},
- "source": {
- "example": "PRECISELY",
- "type": "string"
- }
- },
- "type": "object"
- },
- "indeed.SearchResponse": {
- "properties": {
- "jobs": {
+ "similar_apps": {
+ "description": "Apps Google Play lists as similar to this one on the app page.",
"items": {
- "$ref": "#/definitions/indeed.JobCard"
+ "$ref": "#/definitions/googleplay.ListApp"
},
"type": "array"
},
- "location": {
- "example": "New York, NY",
+ "summary": {
+ "description": "Short tagline shown under the app title.",
+ "example": "The official app by OpenAI",
"type": "string"
},
- "page": {
- "example": 1,
- "type": "integer"
- },
- "query": {
- "example": "software engineer",
+ "title": {
+ "description": "App name as shown on Google Play.",
+ "example": "ChatGPT",
"type": "string"
},
- "total": {
- "example": 3040,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "indeed.jobResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ "updated": {
+ "description": "Time the app was last updated, in Unix seconds.",
+ "example": 1736899200,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/indeed.Job"
+ "url": {
+ "description": "Google Play details page URL for the app, in the requested language and country.",
+ "example": "https://play.google.com/store/apps/details?id=com.openai.chatgpt&hl=en&gl=us",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "version": {
+ "description": "Current app version string. Shows `VARY` when the version differs by device.",
+ "example": "1.2026.056",
"type": "string"
- }
- },
- "type": "object"
- },
- "indeed.locationSuggestResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/indeed.LocationSuggestResponse"
+ "video": {
+ "description": "URL of the app's promo video.",
+ "example": "https://play.google.com/video/sample",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "video_image": {
+ "description": "URL of the cover image for the app's promo video.",
+ "example": "https://play-lh.googleusercontent.com/sample-video-cover",
"type": "string"
}
},
"type": "object"
},
- "indeed.searchResponseDoc": {
+ "googleplay.AppDetailsResponse": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/indeed.SearchResponse"
+ "$ref": "#/definitions/googleplay.App"
},
"msg": {
"example": "OK",
@@ -113782,546 +118937,407 @@
},
"type": "object"
},
- "independent.AuthorArticle": {
+ "googleplay.Category": {
"properties": {
- "section": {
- "type": "string"
- },
- "section_url": {
- "type": "string"
- },
- "title": {
+ "id": {
+ "description": "Category ID on Google Play, such as `PRODUCTIVITY`.",
+ "example": "PRODUCTIVITY",
"type": "string"
},
- "url": {
+ "name": {
+ "description": "Category name as shown on Google Play, such as `Productivity`.",
+ "example": "Productivity",
"type": "string"
}
},
"type": "object"
},
- "independent.AuthorResponse": {
+ "googleplay.DataSafetyEntry": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/independent.AuthorArticle"
- },
- "type": "array"
- },
- "bio": {
- "type": "string"
- },
- "job_title": {
- "type": "string"
- },
- "name": {
+ "data": {
+ "description": "Kind of data covered by this disclosure, such as `Email address`.",
+ "example": "Email address",
"type": "string"
},
- "slug": {
- "type": "string"
+ "optional": {
+ "description": "Whether providing this data is optional for the user.",
+ "example": false,
+ "type": "boolean"
},
- "twitter": {
+ "purpose": {
+ "description": "Reason the developer gives for using this data, such as `Analytics`.",
+ "example": "Analytics",
"type": "string"
},
- "url": {
+ "type": {
+ "description": "Data group this item belongs to, such as `Personal info`.",
+ "example": "Personal info",
"type": "string"
}
},
"type": "object"
},
- "indianexpress.AuthorArticle": {
+ "googleplay.DataSafetyResult": {
"properties": {
- "image_url": {
- "type": "string"
- },
- "published_at": {
- "type": "string"
- },
- "summary": {
- "type": "string"
+ "collected_data": {
+ "description": "Data the app says it collects, one entry per data item.",
+ "items": {
+ "$ref": "#/definitions/googleplay.DataSafetyEntry"
+ },
+ "type": "array"
},
- "title": {
+ "privacy_policy_url": {
+ "description": "URL of the app's privacy policy.",
+ "example": "https://openai.com/policies/privacy-policy",
"type": "string"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "indianexpress.AuthorResponse": {
- "properties": {
- "articles": {
+ "security_practices": {
+ "description": "Security practices the developer declares for the app.",
"items": {
- "$ref": "#/definitions/indianexpress.AuthorArticle"
+ "$ref": "#/definitions/googleplay.SecurityPractice"
},
"type": "array"
},
- "biography": {
+ "shared_data": {
+ "description": "Data the app says it shares with third parties, one entry per data item.",
"items": {
- "type": "string"
+ "$ref": "#/definitions/googleplay.DataSafetyEntry"
},
"type": "array"
- },
- "image_url": {
- "type": "string"
- },
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
}
},
"type": "object"
},
- "indiatoday.AuthorArticle": {
+ "googleplay.DeviceRating": {
"properties": {
- "image_url": {
+ "device": {
+ "description": "Device type the rating breakdown covers: `phone`, `tablet` or `chromebook`.",
+ "example": "phone",
"type": "string"
},
- "section": {
- "type": "string"
+ "histogram": {
+ "description": "Number of ratings at each star level on this device type, keyed `1` to `5`.",
+ "type": "object"
},
- "summary": {
- "type": "string"
+ "ratings": {
+ "description": "Total number of star ratings on this device type.",
+ "example": 326809,
+ "type": "integer"
},
- "title": {
- "type": "string"
+ "reviews": {
+ "description": "Total number of written reviews on this device type.",
+ "example": 8946,
+ "type": "integer"
},
- "url": {
+ "score": {
+ "description": "Average star rating on this device type, out of 5.",
+ "example": 4.7,
+ "type": "number"
+ },
+ "score_text": {
+ "description": "Average rating on this device type as Google Play displays it, such as `4.7`.",
+ "example": "4.7",
"type": "string"
}
},
"type": "object"
},
- "indiatoday.AuthorResponse": {
+ "googleplay.Feature": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/indiatoday.AuthorArticle"
- },
- "type": "array"
- },
- "biography": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "image_url": {
- "type": "string"
- },
- "name": {
+ "description": {
+ "description": "Short explanation of the feature.",
+ "example": "Get answers, writing help, and image generation.",
"type": "string"
},
"title": {
- "type": "string"
- },
- "url": {
+ "description": "Name of the feature highlight.",
+ "example": "AI assistant",
"type": "string"
}
},
"type": "object"
},
- "indiewire.AuthorArticle": {
+ "googleplay.ListApp": {
"properties": {
- "published_at": {
- "type": "string"
- },
- "section": {
+ "app_id": {
+ "description": "Package name of the app on Google Play, such as `com.openai.chatgpt`.",
+ "example": "com.openai.chatgpt",
"type": "string"
},
- "summary": {
+ "currency": {
+ "description": "Currency code of the price, such as `USD`.",
+ "example": "USD",
"type": "string"
},
- "title": {
+ "developer": {
+ "description": "Name of the app's developer or publisher.",
+ "example": "OpenAI",
"type": "string"
},
- "url": {
+ "developer_id": {
+ "description": "Google Play developer ID. Use it with the developer endpoint.",
+ "example": "7577165439232992817",
"type": "string"
- }
- },
- "type": "object"
- },
- "indiewire.AuthorResponse": {
- "properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/indiewire.AuthorArticle"
- },
- "type": "array"
- },
- "biography": {
- "items": {
- "type": "string"
- },
- "type": "array"
},
- "has_next_page": {
+ "free": {
+ "description": "Whether the app is free to install.",
+ "example": true,
"type": "boolean"
},
- "headshot_url": {
- "type": "string"
- },
- "name": {
+ "icon": {
+ "description": "URL of the app icon.",
+ "example": "https://play-lh.googleusercontent.com/lmG9HlI0awHie0cyBieWXeNjpyXvHPwDBb8MNOVIyp0P8VEh95AiBHtUZSDVR3HLe3A",
"type": "string"
},
- "page": {
- "type": "integer"
- },
- "social_links": {
- "additionalProperties": {
- "type": "string"
- },
- "type": "object"
+ "price": {
+ "description": "Price of the app in the currency given by `currency`. `0` for free apps.",
+ "example": 0,
+ "type": "number"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "inews.AuthorArticle": {
- "properties": {
- "image_url": {
+ "price_text": {
+ "description": "Price as Google Play displays it on the card, such as `FREE`.",
+ "example": "FREE",
"type": "string"
},
- "published_at": {
- "type": "string"
+ "score": {
+ "description": "Average star rating of the app, out of 5.",
+ "example": 4.8,
+ "type": "number"
},
- "section": {
+ "score_text": {
+ "description": "Average rating as Google Play displays it, such as `4.8`.",
+ "example": "4.8",
"type": "string"
},
"summary": {
+ "description": "Short tagline shown under the app title.",
+ "example": "The official app by OpenAI",
"type": "string"
},
"title": {
+ "description": "App name as shown on Google Play.",
+ "example": "ChatGPT",
"type": "string"
},
"url": {
+ "description": "Google Play details page URL for the app.",
+ "example": "https://play.google.com/store/apps/details?id=com.openai.chatgpt",
"type": "string"
}
},
"type": "object"
},
- "inews.AuthorResponse": {
+ "googleplay.Review": {
"properties": {
- "articles": {
+ "criterias": {
+ "description": "Per-criterion ratings attached to the review, when Google Play shows them.",
"items": {
- "$ref": "#/definitions/inews.AuthorArticle"
+ "$ref": "#/definitions/googleplay.ReviewCriteria"
},
"type": "array"
},
- "bio": {
+ "date": {
+ "description": "Time the review was posted, in UTC (RFC 3339).",
+ "example": "2026-02-18T12:34:56Z",
"type": "string"
},
- "image_url": {
+ "id": {
+ "description": "Google Play review ID.",
+ "example": "5b4e4d89-ce22-4f13-b676-bb3a7aafe278",
"type": "string"
},
- "name": {
+ "reply_date": {
+ "description": "Time the developer replied, in UTC (RFC 3339).",
+ "example": "2026-02-20T08:00:00Z",
"type": "string"
},
- "same_as": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "url": {
+ "reply_text": {
+ "description": "Developer's reply to the review. `null` when there is no reply.",
+ "example": "Thanks for the feedback!",
"type": "string"
- }
- },
- "type": "object"
- },
- "inquirer.AuthorArticle": {
- "properties": {
- "category": {
+ },
+ "score": {
+ "description": "Star rating the reviewer gave, from 1 to 5.",
+ "example": 5,
+ "type": "integer"
+ },
+ "score_text": {
+ "description": "Star rating as a string, such as `5`.",
+ "example": "5",
"type": "string"
},
- "published_at": {
+ "text": {
+ "description": "Body text of the review.",
+ "example": "Very helpful for quick answers and brainstorming.",
"type": "string"
},
+ "thumbs_up": {
+ "description": "Number of users who marked the review as helpful.",
+ "example": 124,
+ "type": "integer"
+ },
"title": {
+ "description": "Review headline. Currently always `null`.",
+ "example": "Great app",
"type": "string"
},
"url": {
+ "description": "Google Play link to this review.",
+ "example": "https://play.google.com/store/apps/details?id=com.openai.chatgpt&reviewId=5b4e4d89-ce22-4f13-b676-bb3a7aafe278",
"type": "string"
- }
- },
- "type": "object"
- },
- "inquirer.AuthorResponse": {
- "properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/inquirer.AuthorArticle"
- },
- "type": "array"
},
- "name": {
+ "user_image": {
+ "description": "URL of the reviewer's profile picture.",
+ "example": "https://play-lh.googleusercontent.com/a-/ALV-UjVsample",
"type": "string"
},
- "page": {
- "type": "integer"
+ "user_name": {
+ "description": "Display name of the reviewer.",
+ "example": "Jane Doe",
+ "type": "string"
},
- "url": {
+ "version": {
+ "description": "App version the review was written for. `null` when not shown.",
+ "example": "1.2026.056",
"type": "string"
}
},
"type": "object"
},
- "instacart.Department": {
+ "googleplay.ReviewCriteria": {
"properties": {
- "id": {
- "type": "string"
- },
- "name": {
- "type": "string"
- },
- "slug": {
+ "criteria": {
+ "description": "Name of the aspect being rated, such as `Accuracy`.",
+ "example": "Accuracy",
"type": "string"
},
- "subcategories": {
- "items": {
- "$ref": "#/definitions/instacart.Subcategory"
- },
- "type": "array"
+ "rating": {
+ "description": "Rating given for this aspect. `null` when no rating is shown.",
+ "example": 5,
+ "type": "integer"
}
},
"type": "object"
},
- "instacart.DepartmentsResponse": {
+ "googleplay.ReviewsResult": {
"properties": {
- "departments": {
+ "data": {
+ "description": "Reviews on this page, newest or sorted as requested.",
"items": {
- "$ref": "#/definitions/instacart.Department"
+ "$ref": "#/definitions/googleplay.Review"
},
"type": "array"
},
- "shop_id": {
+ "next_pagination_token": {
+ "description": "Token to pass as `next_pagination_token` to fetch the next page of reviews.",
+ "example": "CscBIr4BAb_yELvAqtSacgExc3y_bO88_b1Q",
"type": "string"
}
},
"type": "object"
},
- "instacart.ItemNutrition": {
+ "googleplay.SecurityPractice": {
"properties": {
- "label": {
- "type": "string"
- },
- "unit": {
+ "description": {
+ "description": "Longer explanation of the security practice.",
+ "example": "Your data is transferred over a secure connection",
"type": "string"
},
- "value": {
+ "practice": {
+ "description": "Security practice declared by the developer, such as `Data is encrypted in transit`.",
+ "example": "Data is encrypted in transit",
"type": "string"
}
},
"type": "object"
},
- "instacart.ItemPrice": {
+ "googleplay.Suggestion": {
"properties": {
- "current_price": {
- "type": "number"
- },
- "offer_label": {
- "type": "string"
- },
- "on_sale": {
- "type": "boolean"
- },
- "pricing_unit": {
+ "term": {
+ "example": "chatgpt",
"type": "string"
- },
- "regular_price": {
- "type": "number"
}
},
"type": "object"
},
- "instacart.ItemResponse": {
+ "googleplay.categoriesResponseDoc": {
"properties": {
- "available": {
- "type": "boolean"
- },
- "brand_name": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "dietary_labels": {
+ "data": {
"items": {
"type": "string"
},
"type": "array"
},
- "id": {
- "type": "string"
- },
- "image_url": {
- "type": "string"
- },
- "name": {
- "type": "string"
- },
- "nutrition": {
- "items": {
- "$ref": "#/definitions/instacart.ItemNutrition"
- },
- "type": "array"
- },
- "price": {
- "$ref": "#/definitions/instacart.ItemPrice"
- },
- "product_id": {
- "type": "string"
- },
- "size": {
- "type": "string"
- },
- "stock_level": {
- "type": "string"
- },
- "variant_options_summary": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "instacart.SearchNearbyResponse": {
- "properties": {
- "postal_code": {
- "type": "string"
- },
- "query": {
- "type": "string"
- },
- "suggestions": {
- "items": {
- "$ref": "#/definitions/instacart.SearchSuggestion"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "instacart.SearchResponse": {
- "properties": {
- "query": {
- "type": "string"
- },
- "shop_id": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "suggestions": {
- "items": {
- "$ref": "#/definitions/instacart.SearchSuggestion"
- },
- "type": "array"
}
},
"type": "object"
},
- "instacart.SearchSuggestion": {
+ "googleplay.dataSafetyResponseDoc": {
"properties": {
- "relative_url": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "term": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/googleplay.DataSafetyResult"
},
- "thumbnail_url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "instacart.Store": {
+ "googleplay.developerResultsResponseDoc": {
"properties": {
- "accepts_ebt": {
- "description": "AcceptsEBT, SaverStore, and DeliveryETA are best-effort enrichment:\nseparate upstream calls (ShopTags, GetAccurateVisitorRetailerEtas)\nmade after the base store list, matched back by shop/retailer id. A\nfailure fetching either leaves these fields at their zero value\nrather than failing the whole Stores response -- see Service.Stores.",
- "type": "boolean"
- },
- "delivery_eta": {
- "type": "string"
- },
- "logo_url": {
- "type": "string"
- },
- "name": {
- "type": "string"
- },
- "retailer_id": {
- "type": "string"
- },
- "retailer_location_id": {
- "type": "string"
- },
- "retailer_type": {
- "type": "string"
- },
- "saver_store": {
- "type": "boolean"
- },
- "service_type": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "shop_id": {
- "type": "string"
+ "data": {
+ "items": {},
+ "type": "array"
},
- "slug": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "instacart.StoreSearchResponse": {
+ "googleplay.listResultsResponseDoc": {
"properties": {
- "postal_code": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "stores": {
- "items": {
- "$ref": "#/definitions/instacart.Store"
- },
+ "data": {
+ "items": {},
"type": "array"
- }
- },
- "type": "object"
- },
- "instacart.Subcategory": {
- "properties": {
- "id": {
- "type": "string"
- },
- "name": {
- "type": "string"
},
- "slug": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "instacart.TrendingResponse": {
- "properties": {
- "postal_code": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "terms": {
- "items": {
- "$ref": "#/definitions/instacart.SearchSuggestion"
- },
- "type": "array"
}
},
"type": "object"
},
- "instacart.departmentsResponseDoc": {
+ "googleplay.permissionsResultsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/instacart.DepartmentsResponse"
+ "items": {},
+ "type": "array"
},
"msg": {
"example": "OK",
@@ -114330,14 +119346,17 @@
},
"type": "object"
},
- "instacart.itemResponseDoc": {
+ "googleplay.ratingsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/instacart.ItemResponse"
+ "items": {
+ "$ref": "#/definitions/googleplay.DeviceRating"
+ },
+ "type": "array"
},
"msg": {
"example": "OK",
@@ -114346,14 +119365,14 @@
},
"type": "object"
},
- "instacart.searchNearbyResponseDoc": {
+ "googleplay.reviewsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/instacart.SearchNearbyResponse"
+ "$ref": "#/definitions/googleplay.ReviewsResult"
},
"msg": {
"example": "OK",
@@ -114362,14 +119381,15 @@
},
"type": "object"
},
- "instacart.searchResponseDoc": {
+ "googleplay.searchResultsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/instacart.SearchResponse"
+ "items": {},
+ "type": "array"
},
"msg": {
"example": "OK",
@@ -114378,14 +119398,15 @@
},
"type": "object"
},
- "instacart.storesResponseDoc": {
+ "googleplay.similarResultsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/instacart.StoreSearchResponse"
+ "items": {},
+ "type": "array"
},
"msg": {
"example": "OK",
@@ -114394,14 +119415,17 @@
},
"type": "object"
},
- "instacart.trendingResponseDoc": {
+ "googleplay.suggestResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/instacart.TrendingResponse"
+ "items": {
+ "$ref": "#/definitions/googleplay.Suggestion"
+ },
+ "type": "array"
},
"msg": {
"example": "OK",
@@ -114410,1127 +119434,877 @@
},
"type": "object"
},
- "instagram.BusinessAddress": {
+ "gosugamers.ArticleAuthor": {
"properties": {
- "city_name": {
- "description": "City and region of the business location, such as `Mountain View, California`.",
- "example": "Mountain View, California",
- "type": "string"
- },
- "latitude": {
- "description": "Latitude of the business location, in decimal degrees.",
- "example": 37.4221,
- "type": "number"
- },
- "longitude": {
- "description": "Longitude of the business location, in decimal degrees.",
- "example": -122.08432,
- "type": "number"
- },
- "street_address": {
- "description": "Street address of the business location.",
- "example": "1600 Amphitheatre Pkwy",
+ "name": {
+ "example": "Timaugustin",
"type": "string"
},
- "zip_code": {
- "description": "Postal code of the business location.",
- "example": "94043",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "instagram.Caption": {
+ "gosugamers.ArticleDetail": {
"properties": {
- "text": {
- "description": "Caption text of the reel.",
- "type": "string"
+ "authors": {
+ "items": {
+ "$ref": "#/definitions/gosugamers.ArticleAuthor"
+ },
+ "type": "array"
},
- "user": {
- "allOf": [
- {
- "$ref": "#/definitions/instagram.User"
- }
- ],
- "description": "Account that wrote the caption."
- }
- },
- "type": "object"
- },
- "instagram.ClipsMetadata": {
- "properties": {
- "audio_type": {
- "description": "Kind of audio used by the reel, as Instagram labels it.",
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
"type": "string"
},
- "is_shared_to_fb": {
- "description": "Whether the reel was also shared to Facebook.",
- "type": "boolean"
- },
- "original_sound_info": {
- "allOf": [
- {
- "$ref": "#/definitions/instagram.OriginalSoundInfo"
- }
- ],
- "description": "Details of the original sound used in the reel."
- }
- },
- "type": "object"
- },
- "instagram.IGArtist": {
- "properties": {
"id": {
- "description": "Instagram ID of the account credited for the sound.",
+ "example": "79434",
"type": "string"
},
- "username": {
- "description": "Username of the account credited for the sound.",
+ "image_caption": {
"type": "string"
- }
- },
- "type": "object"
- },
- "instagram.IGCaption": {
- "properties": {
- "created_at": {
- "description": "Time the caption was written, in Unix seconds.",
- "type": "integer"
},
- "pk": {
- "description": "Instagram ID of the caption.",
+ "image_url": {
"type": "string"
},
- "text": {
- "description": "Caption text of the post.",
- "type": "string"
- }
- },
- "type": "object"
- },
- "instagram.IGOwner": {
- "properties": {
- "id": {
- "description": "Instagram ID of the account that owns the post.",
+ "published_at": {
+ "example": "2026-10-28T15:25:00Z",
"type": "string"
},
- "is_private": {
- "description": "Whether the owning account is private.",
- "type": "boolean"
+ "related": {
+ "items": {
+ "$ref": "#/definitions/gosugamers.RelatedArticle"
+ },
+ "type": "array"
},
- "pk": {
- "description": "Instagram primary key of the account that owns the post.",
+ "section": {
+ "example": "entertainment",
"type": "string"
},
- "profile_pic_url": {
- "description": "URL of the owning account's profile picture.",
+ "source_url": {
+ "example": "https://www.gosugamers.net/valorant/matches",
"type": "string"
},
- "username": {
- "description": "Username of the account that owns the post.",
- "type": "string"
- }
- },
- "type": "object"
- },
- "instagram.IGUser": {
- "properties": {
- "full_name": {
- "description": "Display name of the account that posted the media.",
+ "teaser": {
"type": "string"
},
- "id": {
- "description": "Instagram ID of the account that posted the media.",
+ "text": {
"type": "string"
},
- "is_private": {
- "description": "Whether the account is private.",
- "type": "boolean"
- },
- "is_verified": {
- "description": "Whether the account has Instagram's verified badge.",
- "type": "boolean"
- },
- "pk": {
- "description": "Instagram primary key of the account that posted the media.",
+ "title": {
"type": "string"
},
- "profile_pic_url": {
- "description": "URL of the account's profile picture.",
+ "type": {
+ "enum": [
+ "news",
+ "features"
+ ],
+ "example": "news",
"type": "string"
},
- "username": {
- "description": "Username of the account that posted the media.",
+ "updated_at": {
+ "example": "2026-10-28T15:30:39Z",
"type": "string"
- }
- },
- "type": "object"
- },
- "instagram.ImageCandidate": {
- "properties": {
- "height": {
- "description": "Height of this image version, in pixels.",
- "type": "integer"
},
"url": {
- "description": "URL of this image version.",
"type": "string"
- },
- "width": {
- "description": "Width of this image version, in pixels.",
- "type": "integer"
- }
- },
- "type": "object"
- },
- "instagram.ImageVersions2": {
- "properties": {
- "candidates": {
- "description": "Available versions of the post image, each at its own size and URL.",
- "items": {
- "$ref": "#/definitions/instagram.ImageCandidate"
- },
- "type": "array"
}
},
"type": "object"
},
- "instagram.InstagramComment": {
+ "gosugamers.ArticleSummary": {
"properties": {
- "comment_like_count": {
- "type": "integer"
- },
- "created_at": {
- "type": "integer"
+ "author": {
+ "example": "Timaugustin",
+ "type": "string"
},
"id": {
+ "example": "79434",
"type": "string"
},
- "parent_comment_id": {
+ "image_url": {
"type": "string"
},
- "reply_count": {
- "type": "integer"
+ "published_at": {
+ "example": "2026-10-28T15:25:00Z",
+ "type": "string"
},
- "text": {
+ "section": {
+ "example": "entertainment",
"type": "string"
},
- "user": {
- "$ref": "#/definitions/instagram.InstagramCommentUser"
- }
- },
- "type": "object"
- },
- "instagram.InstagramCommentUser": {
- "properties": {
- "id": {
+ "teaser": {
"type": "string"
},
- "profile_pic_url": {
+ "title": {
"type": "string"
},
- "username": {
+ "type": {
+ "enum": [
+ "news",
+ "features"
+ ],
+ "example": "news",
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "instagram.InstagramCommentsResponse": {
+ "gosugamers.ArticlesResponse": {
"properties": {
- "comments": {
+ "articles": {
"items": {
- "$ref": "#/definitions/instagram.InstagramComment"
+ "$ref": "#/definitions/gosugamers.ArticleSummary"
},
"type": "array"
},
- "paging_info": {
- "$ref": "#/definitions/instagram.PagingInfo"
- },
- "shortcode": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "instagram.InstagramPostAuthor": {
- "properties": {
- "id": {
- "type": "string"
+ "count": {
+ "example": 10,
+ "type": "integer"
},
- "username": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "instagram.InstagramUserPost": {
- "properties": {
- "accessibility_caption": {
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
"type": "string"
},
- "caption": {
- "type": "string"
+ "page": {
+ "example": 1,
+ "type": "integer"
},
- "carousel_media_count": {
+ "page_size": {
+ "example": 10,
"type": "integer"
},
- "display_uri": {
+ "section": {
+ "example": "valorant",
"type": "string"
},
- "id": {
+ "source_url": {
+ "example": "https://www.gosugamers.net/valorant/matches",
"type": "string"
},
- "media_type": {
+ "total_pages": {
+ "example": 5106,
"type": "integer"
},
- "product_type": {
- "type": "string"
+ "total_rows": {
+ "example": 51051,
+ "type": "integer"
},
- "shortcode": {
+ "type": {
+ "enum": [
+ "news",
+ "features"
+ ],
+ "example": "news",
"type": "string"
- },
- "user": {
- "$ref": "#/definitions/instagram.InstagramPostAuthor"
}
},
"type": "object"
},
- "instagram.InstagramUserPostsResponse": {
+ "gosugamers.BattleRoyalePlayer": {
"properties": {
- "items": {
- "items": {
- "$ref": "#/definitions/instagram.InstagramUserPost"
- },
- "type": "array"
+ "country_code": {
+ "example": "IQ",
+ "type": "string"
},
- "paging_info": {
- "$ref": "#/definitions/instagram.PagingInfo"
+ "id": {
+ "example": "505275",
+ "type": "string"
},
- "username": {
+ "name": {
+ "example": "AZHY",
+ "type": "string"
+ },
+ "slug": {
+ "example": "azhy",
"type": "string"
}
},
"type": "object"
},
- "instagram.Item": {
- "properties": {
- "media": {
- "allOf": [
- {
- "$ref": "#/definitions/instagram.Media"
- }
- ],
- "description": "The reel in this entry."
- }
- },
- "type": "object"
- },
- "instagram.Media": {
+ "gosugamers.BattleRoyaleTeam": {
"properties": {
- "caption": {
- "allOf": [
- {
- "$ref": "#/definitions/instagram.Caption"
- }
- ],
- "description": "pointer so it can be nil"
+ "country_code": {
+ "example": "IQ",
+ "type": "string"
},
- "code": {
+ "id": {
+ "example": "52872",
"type": "string"
},
- "comment_count": {
- "description": "Number of comments on the reel.",
+ "kill_points": {
+ "example": 11,
"type": "integer"
},
- "display_uri": {
- "description": "URL of the reel's thumbnail image.",
- "type": "string"
+ "kills": {
+ "example": 11,
+ "type": "integer"
},
- "id": {
- "description": "Instagram media ID of the reel.",
+ "name": {
+ "example": "4K Esports",
"type": "string"
},
- "image_versions2": {
- "allOf": [
- {
- "$ref": "#/definitions/instagram.ReelImageVersions"
- }
- ],
- "description": "Available versions of the reel's thumbnail, each with its own URL."
+ "placement": {
+ "example": 1,
+ "type": "integer"
},
- "like_count": {
- "description": "Number of likes on the reel.",
+ "placement_points": {
+ "example": 0,
"type": "integer"
},
- "media_type": {
- "description": "1=Image 2=Video 8=Album",
+ "players": {
+ "items": {
+ "$ref": "#/definitions/gosugamers.BattleRoyalePlayer"
+ },
+ "type": "array"
+ },
+ "points_addition": {
"type": "integer"
},
- "play_count": {
- "description": "Number of times the reel has been played.",
+ "points_deduction": {
"type": "integer"
},
- "taken_at": {
- "description": "Time the reel was posted, in Unix seconds. Not available for public reels, so currently omitted.",
+ "slug": {
+ "example": "4k-esports",
+ "type": "string"
+ },
+ "total_points": {
+ "example": 11,
"type": "integer"
}
},
"type": "object"
},
- "instagram.MediaItem": {
+ "gosugamers.BroadcastTalent": {
"properties": {
- "accessibility_caption": {
- "description": "Image description (alt text) Instagram provides for accessibility.",
+ "country_code": {
+ "example": "GB",
"type": "string"
},
- "caption": {
- "allOf": [
- {
- "$ref": "#/definitions/instagram.IGCaption"
- }
- ],
- "description": "Caption of the post."
- },
- "clips_metadata": {
- "allOf": [
- {
- "$ref": "#/definitions/instagram.ClipsMetadata"
- }
- ],
- "description": "Reel-specific details such as the audio used."
- },
- "code": {
+ "country_name": {
+ "example": "United Kingdom",
"type": "string"
},
- "comment_count": {
- "description": "Number of comments on the post.",
- "type": "integer"
- },
- "display_uri": {
- "description": "URL of the post's display image.",
+ "game": {
+ "example": "valorant",
"type": "string"
},
- "has_audio": {
- "description": "Whether the media has an audio track.",
- "type": "boolean"
- },
"id": {
- "description": "Instagram media ID, such as `3693449175561021455_1067259270`.",
+ "example": "597",
"type": "string"
},
- "image_versions2": {
- "allOf": [
- {
- "$ref": "#/definitions/instagram.ImageVersions2"
- }
- ],
- "description": "Available versions of the post image, each with its own URL and size."
- },
- "like_count": {
- "description": "Number of likes on the post.",
- "type": "integer"
- },
- "link": {
- "description": "Link Instagram returns with the media, when present.",
+ "image_url": {
"type": "string"
},
- "media_type": {
- "description": "Kind of media: `1` for image, `2` for video and `8` for album.",
- "type": "integer"
- },
- "original_height": {
- "description": "Height of the original media, in pixels.",
- "type": "integer"
- },
- "original_width": {
- "description": "Width of the original media, in pixels.",
- "type": "integer"
- },
- "owner": {
- "allOf": [
- {
- "$ref": "#/definitions/instagram.IGOwner"
- }
- ],
- "description": "Account that owns the post."
- },
- "pk": {
- "description": "Numeric Instagram ID of the post, the first part of `id`.",
+ "language_code": {
+ "example": "EN",
"type": "string"
},
- "product_type": {
- "description": "Kind of post, such as `clips` for a Reel or `feed` for a standard post.",
+ "name": {
+ "example": "Frankie",
"type": "string"
},
- "taken_at": {
- "description": "Time the post was published, in Unix seconds.",
- "type": "integer"
- },
- "user": {
- "allOf": [
- {
- "$ref": "#/definitions/instagram.IGUser"
- }
+ "roles": {
+ "example": [
+ "Host"
],
- "description": "Account that posted the media."
- },
- "video_versions": {
- "description": "Available renditions of the video, each with its own URL and size.",
"items": {
- "$ref": "#/definitions/instagram.VideoVersion"
+ "type": "string"
},
"type": "array"
},
- "view_count": {
- "description": "Number of views on the video.",
- "type": "integer"
+ "slug": {
+ "example": "frankie",
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "instagram.OriginalSoundInfo": {
+ "gosugamers.EncountersResponse": {
"properties": {
- "audio_asset_id": {
- "description": "Instagram ID of the audio asset.",
+ "count": {
+ "example": 1,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
"type": "string"
},
- "ig_artist": {
- "allOf": [
- {
- "$ref": "#/definitions/instagram.IGArtist"
- }
- ],
- "description": "Account credited for the sound."
+ "game": {
+ "example": "valorant",
+ "type": "string"
},
- "is_explicit": {
- "description": "Whether the sound is marked explicit.",
- "type": "boolean"
+ "match_id": {
+ "example": "660816",
+ "type": "string"
},
- "original_audio_title": {
- "description": "Title of the original sound.",
+ "matches": {
+ "items": {
+ "$ref": "#/definitions/gosugamers.MatchSummary"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "example": "https://www.gosugamers.net/valorant/matches",
"type": "string"
},
- "should_mute_audio": {
- "description": "Whether Instagram flags the audio to be muted.",
- "type": "boolean"
+ "team1_id": {
+ "example": "38335",
+ "type": "string"
+ },
+ "team2_id": {
+ "example": "37547",
+ "type": "string"
}
},
"type": "object"
},
- "instagram.PagingInfo": {
+ "gosugamers.Game": {
"properties": {
- "max_id": {
- "description": "Cursor to pass unchanged as `max_id` to fetch the next page of reels.",
+ "name": {
+ "example": "Valorant",
"type": "string"
},
- "more_available": {
- "description": "Whether more reels are available after this page.",
- "type": "boolean"
+ "slug": {
+ "enum": [
+ "dota2",
+ "counterstrike",
+ "lol",
+ "valorant",
+ "mobile-legends",
+ "pubg-mobile",
+ "wild-rift",
+ "free-fire",
+ "battlegrounds-mobile-india"
+ ],
+ "example": "valorant",
+ "type": "string"
}
},
"type": "object"
},
- "instagram.Post": {
+ "gosugamers.GameMap": {
"properties": {
- "caption": {
- "description": "Caption text of the post.",
- "example": "You popped the big question. For all the questions that follow, try AI Mode in Search.",
- "type": "string"
- },
- "children": {
- "description": "nested carousel media",
- "items": {
- "$ref": "#/definitions/instagram.Post"
- },
- "type": "array"
- },
- "comment_count": {
- "description": "Number of comments on the post.",
- "example": 43,
- "type": "integer"
- },
- "height": {
- "description": "Height of the post media, in pixels.",
- "example": 1000,
- "type": "integer"
- },
"id": {
- "description": "Instagram media ID of the post.",
- "example": "3694065742636342530",
+ "example": "453",
"type": "string"
},
- "is_video": {
- "description": "Whether the post is a video.",
- "example": false,
- "type": "boolean"
- },
- "like_count": {
- "description": "Number of likes on the post.",
- "example": 1880,
- "type": "integer"
- },
- "media_url": {
- "description": "URL of the post's image, or its cover image for a video.",
- "example": "https://scontent-lax3-2.cdninstagram.com/v/t51.2885-15/…n.jpg",
+ "image_url": {
"type": "string"
},
- "product_type": {
- "description": "Kind of post, such as `clips` for a Reel or `feed` for a standard post.",
- "example": "",
+ "name": {
+ "example": "Summit",
"type": "string"
- },
- "shortcode": {
- "description": "Short code from the post URL. Use it as `post_id` with the post endpoint.",
- "example": "DND9TiOx10C",
+ }
+ },
+ "type": "object"
+ },
+ "gosugamers.GamePick": {
+ "properties": {
+ "image_url": {
"type": "string"
},
- "taken_at": {
- "example": "2025-08-07T17:16:14Z",
+ "pick": {
+ "example": "Neon",
"type": "string"
},
- "video_url": {
- "description": "URL of the post's video. Present only for video posts.",
- "example": "",
- "type": "string"
+ "player": {
+ "$ref": "#/definitions/gosugamers.GamePlayer"
},
- "view_count": {
- "description": "counters become pointers so they vanish when nil",
- "example": 25023,
+ "slot": {
+ "example": 6,
"type": "integer"
},
- "width": {
- "description": "Width of the post media, in pixels.",
- "example": 750,
+ "type": {
+ "example": 1,
"type": "integer"
}
},
"type": "object"
},
- "instagram.ReelImageCandidate": {
+ "gosugamers.GamePlayer": {
"properties": {
- "height": {
- "description": "Height of this thumbnail version, in pixels. Omitted when unknown.",
- "type": "integer"
+ "id": {
+ "example": "373491",
+ "type": "string"
},
- "url": {
- "description": "URL of this thumbnail version.",
+ "name": {
+ "example": "Ninebody",
"type": "string"
},
- "width": {
- "description": "Width of this thumbnail version, in pixels. Omitted when unknown.",
- "type": "integer"
- }
- },
- "type": "object"
- },
- "instagram.ReelImageVersions": {
- "properties": {
- "candidates": {
- "description": "Available versions of the reel thumbnail, each with its own URL.",
- "items": {
- "$ref": "#/definitions/instagram.ReelImageCandidate"
- },
- "type": "array"
+ "slug": {
+ "example": "ninebody",
+ "type": "string"
}
},
"type": "object"
},
- "instagram.ReelResponse": {
+ "gosugamers.GameRef": {
"properties": {
- "items": {
- "description": "Reels on this page.",
- "items": {
- "$ref": "#/definitions/instagram.Item"
- },
- "type": "array"
+ "id": {
+ "example": "1361936",
+ "type": "string"
},
- "paging_info": {
- "allOf": [
- {
- "$ref": "#/definitions/instagram.PagingInfo"
- }
- ],
- "description": "Cursor details for fetching the next page of reels."
+ "number": {
+ "example": 1,
+ "type": "integer"
}
},
"type": "object"
},
- "instagram.RelatedProfile": {
+ "gosugamers.GameRound": {
"properties": {
- "full_name": {
- "description": "Display name of the suggested account.",
- "example": "Gmail",
- "type": "string"
- },
- "id": {
- "description": "Numeric Instagram user ID of the suggested account.",
- "example": "1234567890",
- "type": "string"
- },
- "is_private": {
- "description": "Whether the suggested account is private.",
+ "overtime": {
"example": false,
"type": "boolean"
},
- "is_verified": {
- "description": "Whether the suggested account has Instagram's verified badge.",
- "example": true,
- "type": "boolean"
+ "period": {
+ "example": 0,
+ "type": "integer"
},
- "profile_pic_url": {
- "description": "URL of the suggested account's profile picture.",
- "example": "https://…/profile.jpg",
- "type": "string"
+ "team1_score": {
+ "example": 6,
+ "type": "integer"
},
- "username": {
- "description": "Username of the suggested account.",
- "example": "gmail",
- "type": "string"
+ "team2_score": {
+ "example": 6,
+ "type": "integer"
}
},
"type": "object"
},
- "instagram.User": {
+ "gosugamers.GameTeam": {
"properties": {
- "full_name": {
- "description": "Display name of the account.",
- "type": "string"
+ "first_pick": {
+ "example": false,
+ "type": "boolean"
},
"id": {
- "description": "Numeric Instagram user ID of the account.",
+ "example": "58674",
"type": "string"
},
- "username": {
- "description": "Username of the account.",
- "type": "string"
- }
- },
- "type": "object"
- },
- "instagram.UserProfile": {
- "properties": {
- "bio_links": {
- "description": "Links listed in the profile bio.",
- "example": [
- "[\"https://linkin.bio/google\"]"
- ],
+ "lineup": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/gosugamers.GamePlayer"
},
"type": "array"
},
- "biography": {
- "description": "Bio text shown on the profile.",
- "example": "Here to help.",
- "type": "string"
- },
- "category_name": {
- "description": "not present in sample",
- "example": "",
+ "logo_url": {
"type": "string"
},
- "external_url": {
- "description": "Website link shown on the profile.",
- "example": "https://linkin.bio/google",
+ "name": {
+ "example": "Unsettled Resentment",
"type": "string"
},
- "fbid": {
- "description": "Alternate numeric ID of the account, as Instagram returns it.",
- "example": "17841401778116675",
- "type": "string"
+ "picks": {
+ "items": {
+ "$ref": "#/definitions/gosugamers.GamePick"
+ },
+ "type": "array"
},
- "followers_count": {
- "description": "Number of accounts following this profile.",
- "example": 15607284,
+ "placement": {
+ "example": 1,
"type": "integer"
},
- "following_count": {
- "description": "Number of accounts this profile follows.",
- "example": 38,
+ "score": {
+ "example": 17,
"type": "integer"
},
- "full_name": {
- "description": "Display name shown on the profile.",
- "example": "Google",
+ "side": {
+ "example": "Radiant",
"type": "string"
},
- "id": {
- "description": "Numeric Instagram user ID. Use it with the reels endpoint.",
- "example": "1067259270",
+ "slug": {
+ "example": "unsettled-resentment",
"type": "string"
},
- "is_private": {
- "description": "Whether the account is private.",
- "example": false,
- "type": "boolean"
- },
- "is_verified": {
- "description": "Whether the account has Instagram's verified badge.",
+ "winner": {
"example": true,
"type": "boolean"
- },
- "location": {
- "allOf": [
- {
- "$ref": "#/definitions/instagram.BusinessAddress"
- }
- ],
- "description": "Business address shown on the profile."
- },
- "posts": {
- "description": "Recent posts shown on the profile.",
- "items": {
- "$ref": "#/definitions/instagram.Post"
- },
- "type": "array"
- },
- "posts_count": {
- "description": "Total number of posts on the profile.",
- "example": 2867,
- "type": "integer"
- },
- "profile_pic_url": {
- "description": "URL of the profile picture.",
- "example": "https://scontent-lax3-1.cdninstagram.com/v/t51.2885-19/…n.jpg",
- "type": "string"
- },
- "related_profiles": {
- "description": "Accounts Instagram suggests as related to this profile.",
- "items": {
- "$ref": "#/definitions/instagram.RelatedProfile"
- },
- "type": "array"
- },
- "username": {
- "description": "Instagram username of the profile.",
- "example": "google",
- "type": "string"
}
},
"type": "object"
},
- "instagram.VideoVersion": {
+ "gosugamers.GameVOD": {
"properties": {
- "height": {
- "description": "Height of this video rendition, in pixels.",
- "type": "integer"
- },
- "type": {
- "description": "Instagram's numeric code for this video rendition.",
- "type": "integer"
- },
- "url": {
- "description": "URL of this video rendition.",
+ "channel": {
"type": "string"
},
- "width": {
- "description": "Width of this video rendition, in pixels.",
- "type": "integer"
- }
- },
- "type": "object"
- },
- "instagram.commentsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ "host": {
+ "example": 0,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/instagram.InstagramCommentsResponse"
- },
- "msg": {
- "example": "OK",
+ "thumb_url": {
"type": "string"
- }
- },
- "type": "object"
- },
- "instagram.postResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/instagram.MediaItem"
+ "title": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "video_id": {
+ "example": "qqauxAJWoFw",
"type": "string"
}
},
"type": "object"
},
- "instagram.profileResponseDoc": {
+ "gosugamers.GamesResponse": {
"properties": {
- "code": {
- "example": 200,
+ "count": {
+ "example": 6,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/instagram.UserProfile"
- },
- "msg": {
- "example": "OK",
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
"type": "string"
- }
- },
- "type": "object"
- },
- "instagram.reelsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/instagram.ReelResponse"
+ "games": {
+ "items": {
+ "$ref": "#/definitions/gosugamers.Game"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "source_url": {
+ "example": "https://www.gosugamers.net/valorant/matches",
"type": "string"
}
},
"type": "object"
},
- "instagram.userPostsResponseDoc": {
+ "gosugamers.MatchDetail": {
"properties": {
- "code": {
- "example": 200,
+ "best_of": {
+ "example": 3,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/instagram.InstagramUserPostsResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
- }
- },
- "type": "object"
- },
- "investopedia.AuthorInfoItem": {
- "properties": {
- "label": {
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
"type": "string"
},
- "url": {
- "type": "string"
+ "finished": {
+ "example": false,
+ "type": "boolean"
},
- "value": {
+ "game": {
+ "example": "valorant",
"type": "string"
- }
- },
- "type": "object"
- },
- "investopedia.AuthorResponse": {
- "properties": {
- "articles": {
+ },
+ "game_numbers": {
+ "example": [
+ 1
+ ],
"items": {
- "$ref": "#/definitions/investopedia.HeadlineItem"
+ "type": "integer"
},
"type": "array"
},
- "biography": {
+ "games": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/gosugamers.GameRef"
},
"type": "array"
},
- "description": {
+ "group": {
+ "example": "Week 2",
"type": "string"
},
- "image_url": {
+ "id": {
+ "example": "663300",
"type": "string"
},
- "info": {
+ "opponents": {
"items": {
- "$ref": "#/definitions/investopedia.AuthorInfoItem"
+ "$ref": "#/definitions/gosugamers.Opponent"
},
"type": "array"
},
- "job_title": {
+ "round": {
+ "example": "Round 1",
"type": "string"
},
- "name": {
+ "source_url": {
+ "example": "https://www.gosugamers.net/valorant/matches",
"type": "string"
},
- "quote": {
+ "stage": {
+ "type": "string"
+ },
+ "start_time": {
+ "example": "2026-10-27T12:45:00Z",
"type": "string"
},
+ "streams": {
+ "items": {
+ "$ref": "#/definitions/gosugamers.Stream"
+ },
+ "type": "array"
+ },
+ "tournament": {
+ "$ref": "#/definitions/gosugamers.TournamentRef"
+ },
"url": {
"type": "string"
+ },
+ "venue": {
+ "type": "string"
}
},
"type": "object"
},
- "investopedia.HeadlineItem": {
+ "gosugamers.MatchGameResponse": {
"properties": {
- "author": {
- "type": "string"
+ "battle_royale_teams": {
+ "description": "BattleRoyaleTeams is filled for battle-royale titles (PUBG Mobile), which list every\nteam's placement and points instead of two sides.",
+ "items": {
+ "$ref": "#/definitions/gosugamers.BattleRoyaleTeam"
+ },
+ "type": "array"
},
- "image_url": {
+ "best_of": {
+ "example": 3,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
"type": "string"
},
- "published_at": {
+ "game": {
+ "example": "valorant",
"type": "string"
},
- "summary": {
+ "id": {
+ "example": "1361936",
"type": "string"
},
- "title": {
+ "map": {
+ "$ref": "#/definitions/gosugamers.GameMap"
+ },
+ "match_number": {
+ "example": 1,
+ "type": "integer"
+ },
+ "number": {
+ "example": 1,
+ "type": "integer"
+ },
+ "player_based": {
+ "example": false,
+ "type": "boolean"
+ },
+ "round": {
+ "example": "Round 1",
"type": "string"
},
- "type": {
+ "rounds": {
+ "items": {
+ "$ref": "#/definitions/gosugamers.GameRound"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "example": "https://www.gosugamers.net/valorant/matches",
"type": "string"
},
- "url": {
+ "start_time": {
+ "example": "2026-10-27T01:00:00Z",
"type": "string"
+ },
+ "teams": {
+ "items": {
+ "$ref": "#/definitions/gosugamers.GameTeam"
+ },
+ "type": "array"
+ },
+ "vods": {
+ "items": {
+ "$ref": "#/definitions/gosugamers.GameVOD"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "iol.AuthorArticle": {
+ "gosugamers.MatchListResponse": {
"properties": {
- "published_date": {
- "description": "PublishedDate is the YYYY-MM-DD date IOL puts in the article URL. The\nauthor page itself only shows a relative \"2 days ago\" label, so this is\nomitted for the rare undated (partnered) URL.",
- "type": "string"
- },
- "section": {
- "type": "string"
+ "count": {
+ "example": 10,
+ "type": "integer"
},
- "summary": {
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
"type": "string"
},
- "title": {
+ "game": {
+ "example": "valorant",
"type": "string"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "iol.AuthorResponse": {
- "properties": {
- "articles": {
+ "matches": {
"items": {
- "$ref": "#/definitions/iol.AuthorArticle"
+ "$ref": "#/definitions/gosugamers.MatchSummary"
},
"type": "array"
},
- "image_url": {
- "type": "string"
+ "page": {
+ "example": 1,
+ "type": "integer"
},
- "name": {
- "type": "string"
+ "page_size": {
+ "example": 10,
+ "type": "integer"
},
- "role": {
+ "source_url": {
+ "example": "https://www.gosugamers.net/valorant/matches",
"type": "string"
},
- "slug": {
- "type": "string"
+ "total_pages": {
+ "example": 165,
+ "type": "integer"
},
- "url": {
- "type": "string"
+ "total_rows": {
+ "example": 1647,
+ "type": "integer"
}
},
"type": "object"
},
- "irishindependent.AuthorArticle": {
+ "gosugamers.MatchSummary": {
"properties": {
- "image_url": {
- "type": "string"
- },
- "paywalled": {
- "description": "Paywalled is true when the article is premium (subscriber) content.",
+ "finished": {
+ "example": false,
"type": "boolean"
},
- "published_at": {
+ "game": {
+ "example": "valorant",
"type": "string"
},
- "section": {
+ "group": {
+ "example": "Week 2",
"type": "string"
},
- "summary": {
+ "id": {
+ "example": "663300",
"type": "string"
},
- "title": {
+ "match_number": {
+ "example": 2,
+ "type": "integer"
+ },
+ "round": {
+ "example": "Round 1",
+ "type": "string"
+ },
+ "stage": {
+ "example": "Main Event",
+ "type": "string"
+ },
+ "start_time": {
+ "example": "2026-10-27T12:45:00Z",
"type": "string"
},
+ "teams": {
+ "items": {
+ "$ref": "#/definitions/gosugamers.Team"
+ },
+ "type": "array"
+ },
+ "tournament": {
+ "$ref": "#/definitions/gosugamers.TournamentRef"
+ },
"url": {
"type": "string"
+ },
+ "venue": {
+ "example": "The Hub, Shanghai, China",
+ "type": "string"
}
},
"type": "object"
},
- "irishindependent.AuthorResponse": {
+ "gosugamers.Opponent": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/irishindependent.AuthorArticle"
- },
- "type": "array"
+ "country": {
+ "example": "China",
+ "type": "string"
},
- "bio": {
+ "country_code": {
+ "example": "CN",
"type": "string"
},
- "email": {
+ "id": {
+ "example": "51203",
"type": "string"
},
- "image_url": {
+ "logo_url": {
"type": "string"
},
"name": {
+ "example": "Wolves Esports",
"type": "string"
},
- "same_as": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "title": {
- "type": "string"
+ "placement": {
+ "example": 1,
+ "type": "integer"
},
- "total_articles": {
- "description": "TotalArticles is the number of articles the profile lists in total; the\nArticles slice holds only the first page of them.",
+ "score": {
+ "example": 2,
"type": "integer"
},
- "url": {
+ "slug": {
+ "example": "wolves-esports",
+ "type": "string"
+ },
+ "tag": {
+ "example": "WOL",
"type": "string"
+ },
+ "winner": {
+ "example": true,
+ "type": "boolean"
+ },
+ "world_ranking": {
+ "example": 69,
+ "type": "integer"
}
},
"type": "object"
},
- "irishtimes.AuthorResponse": {
+ "gosugamers.Participant": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/newsplatform.HeadlineItem"
- },
- "type": "array"
- },
- "biography": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "country_code": {
+ "example": "US",
+ "type": "string"
},
- "email": {
+ "country_name": {
+ "example": "United States",
"type": "string"
},
- "image_url": {
+ "id": {
+ "example": "37547",
"type": "string"
},
- "job_title": {
+ "logo_url": {
"type": "string"
},
"name": {
+ "example": "100T",
"type": "string"
},
- "twitter": {
+ "ranking": {
+ "example": 1,
+ "type": "integer"
+ },
+ "slug": {
+ "example": "100-thieves",
+ "type": "string"
+ },
+ "type": {
+ "example": "Team",
"type": "string"
},
"url": {
@@ -115539,849 +120313,1284 @@
},
"type": "object"
},
- "japantimes.AuthorResponse": {
+ "gosugamers.PlayerDetail": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/newsplatform.HeadlineItem"
- },
- "type": "array"
+ "about": {
+ "type": "string"
},
- "name": {
+ "country": {
+ "example": "Taiwan",
"type": "string"
},
- "url": {
+ "country_code": {
+ "example": "TW",
"type": "string"
- }
- },
- "type": "object"
- },
- "jcrew.CategoriesResponse": {
- "properties": {
- "categories": {
- "items": {
- "$ref": "#/definitions/jcrew.NavCategory"
- },
- "type": "array"
},
- "departments": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "current_team": {
+ "$ref": "#/definitions/gosugamers.TeamStint"
+ },
+ "draws": {
+ "example": 0,
+ "type": "integer"
+ },
+ "earnings_usd": {
+ "example": 27692,
+ "type": "number"
+ },
+ "elo_rating": {
+ "example": 952,
+ "type": "integer"
+ },
+ "facebook": {
+ "type": "string"
},
"fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
"type": "string"
},
- "site": {
+ "first_name": {
+ "example": "Chun-ting",
"type": "string"
},
- "source_url": {
+ "game": {
+ "example": "valorant",
"type": "string"
- }
- },
- "type": "object"
- },
- "jcrew.CategoryProduct": {
- "properties": {
- "average_rating": {
- "type": "number"
},
- "badge": {
+ "id": {
+ "example": "368742",
"type": "string"
},
- "color_codes": {
+ "image_url": {
+ "type": "string"
+ },
+ "last_name": {
+ "example": "Liu",
+ "type": "string"
+ },
+ "losses": {
+ "example": 267,
+ "type": "integer"
+ },
+ "name": {
+ "example": "Spring",
+ "type": "string"
+ },
+ "previous_teams": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/gosugamers.TeamStint"
},
"type": "array"
},
- "currency": {
+ "region": {
+ "example": "China",
"type": "string"
},
- "default_color_code": {
+ "region_ranking": {
+ "example": 16,
+ "type": "integer"
+ },
+ "source_url": {
+ "example": "https://www.gosugamers.net/valorant/matches",
"type": "string"
},
- "discount_max_percent": {
+ "streak": {
+ "example": -1,
"type": "integer"
},
- "discount_min_percent": {
+ "twitter": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "win_rate_percent": {
+ "example": 46,
"type": "integer"
},
- "family_id": {
+ "wins": {
+ "example": 228,
+ "type": "integer"
+ },
+ "world_ranking": {
+ "example": 69,
+ "type": "integer"
+ },
+ "youtube": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "gosugamers.RankRegion": {
+ "properties": {
+ "id": {
+ "example": 33,
+ "type": "integer"
+ },
+ "name": {
+ "example": "EMEA",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "gosugamers.RankedTeam": {
+ "properties": {
+ "elo": {
+ "example": 2078.5,
+ "type": "number"
},
"id": {
+ "example": "51203",
+ "type": "string"
+ },
+ "logo_url": {
"type": "string"
},
"name": {
+ "example": "100 Thieves",
"type": "string"
},
- "price": {
- "type": "number"
+ "previous_rank": {
+ "example": 2,
+ "type": "integer"
},
- "review_count": {
+ "rank": {
+ "example": 1,
+ "type": "integer"
+ },
+ "rank_change": {
+ "example": 1,
"type": "integer"
},
+ "rank_change_name": {
+ "example": "up",
+ "type": "string"
+ },
+ "slug": {
+ "example": "100-thieves",
+ "type": "string"
+ },
+ "tag": {
+ "example": "100T",
+ "type": "string"
+ },
"url": {
"type": "string"
}
},
"type": "object"
},
- "jcrew.CategoryResponse": {
+ "gosugamers.RankingsResponse": {
"properties": {
- "category": {
- "type": "string"
- },
"count": {
+ "example": 10,
"type": "integer"
},
"fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
"type": "string"
},
- "gender": {
+ "game": {
+ "example": "valorant",
"type": "string"
},
- "label": {
+ "page": {
+ "example": 1,
+ "type": "integer"
+ },
+ "page_size": {
+ "example": 10,
+ "type": "integer"
+ },
+ "q": {
+ "example": "Te",
"type": "string"
},
- "page": {
+ "region_id": {
+ "example": 0,
"type": "integer"
},
- "products": {
+ "regions": {
"items": {
- "$ref": "#/definitions/jcrew.CategoryProduct"
+ "$ref": "#/definitions/gosugamers.RankRegion"
},
"type": "array"
},
- "result_count": {
+ "source_url": {
+ "example": "https://www.gosugamers.net/valorant/matches",
+ "type": "string"
+ },
+ "teams": {
+ "items": {
+ "$ref": "#/definitions/gosugamers.RankedTeam"
+ },
+ "type": "array"
+ },
+ "total_pages": {
+ "example": 39,
"type": "integer"
},
- "site": {
+ "total_rows": {
+ "example": 384,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "gosugamers.RelatedArticle": {
+ "properties": {
+ "id": {
+ "example": "79433",
"type": "string"
},
- "source_url": {
+ "section": {
+ "example": "entertainment",
"type": "string"
},
- "total_pages": {
- "description": "TotalPages is computed from ResultCount at the upstream's own fixed\n60-per-page size.",
- "type": "integer"
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "jcrew.Facet": {
+ "gosugamers.RosterPlayer": {
"properties": {
- "is_range": {
- "type": "boolean"
+ "country": {
+ "example": "Taiwan",
+ "type": "string"
},
- "label": {
+ "country_code": {
+ "example": "TW",
+ "type": "string"
+ },
+ "id": {
+ "example": "368742",
+ "type": "string"
+ },
+ "joined_at": {
+ "example": "2024-01-16T16:00:00Z",
+ "type": "string"
+ },
+ "left_at": {
"type": "string"
},
"name": {
+ "example": "Spring",
"type": "string"
},
- "options": {
+ "slug": {
+ "example": "spring-2",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "gosugamers.StageGroup": {
+ "properties": {
+ "format": {
+ "example": "Knockout",
+ "type": "string"
+ },
+ "id": {
+ "example": "71594",
+ "type": "string"
+ },
+ "name": {
+ "example": "Group C",
+ "type": "string"
+ },
+ "participant_count": {
+ "example": 4,
+ "type": "integer"
+ },
+ "participants": {
"items": {
- "$ref": "#/definitions/jcrew.FacetOption"
+ "$ref": "#/definitions/gosugamers.Participant"
},
"type": "array"
},
- "range_max": {
- "type": "number"
+ "result_type": {
+ "example": "Bracket",
+ "type": "string"
},
- "range_min": {
- "type": "number"
+ "start_time": {
+ "example": "2026-09-24T09:00:00Z",
+ "type": "string"
},
- "type": {
+ "status": {
+ "example": "COMPLETED",
"type": "string"
}
},
"type": "object"
},
- "jcrew.FacetOption": {
+ "gosugamers.StageGroupsResponse": {
"properties": {
"count": {
+ "example": 5,
"type": "integer"
},
- "label": {
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
"type": "string"
},
- "value": {
+ "groups": {
+ "items": {
+ "$ref": "#/definitions/gosugamers.StageGroup"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "example": "https://www.gosugamers.net/valorant/matches",
+ "type": "string"
+ },
+ "stage_id": {
+ "example": "28413",
+ "type": "string"
+ },
+ "stage_name": {
+ "example": "Main Event",
+ "type": "string"
+ },
+ "tournament_id": {
+ "example": "63147",
"type": "string"
}
},
"type": "object"
},
- "jcrew.Hour": {
+ "gosugamers.StageInfo": {
"properties": {
- "open_intervals": {
- "items": {
- "$ref": "#/definitions/jcrew.TimeInterval"
- },
- "type": "array"
+ "id": {
+ "example": "28500",
+ "type": "string"
+ },
+ "live": {
+ "example": true,
+ "type": "boolean"
+ },
+ "name": {
+ "example": "Main Event",
+ "type": "string"
+ },
+ "order": {
+ "example": 1,
+ "type": "integer"
+ },
+ "status": {
+ "example": "Progressing",
+ "type": "string"
}
},
"type": "object"
},
- "jcrew.NavCategory": {
+ "gosugamers.Stream": {
"properties": {
- "category": {
+ "language": {
+ "example": "zh",
"type": "string"
},
- "department": {
- "type": "string"
+ "live": {
+ "example": true,
+ "type": "boolean"
},
- "label": {
+ "platform_id": {
+ "example": 11,
+ "type": "integer"
+ },
+ "thumbnail_url": {
"type": "string"
},
- "section": {
+ "title": {
+ "example": "VALORANT Champions Tour CN",
"type": "string"
+ },
+ "viewer_count": {
+ "example": 534,
+ "type": "integer"
}
},
"type": "object"
},
- "jcrew.ProductColor": {
+ "gosugamers.Team": {
"properties": {
- "code": {
+ "id": {
+ "example": "51203",
"type": "string"
},
- "image_url": {
+ "logo_url": {
"type": "string"
},
"name": {
+ "example": "Wolves Esports",
+ "type": "string"
+ },
+ "score": {
+ "example": 2,
+ "type": "integer"
+ },
+ "slug": {
+ "example": "wolves-esports",
+ "type": "string"
+ },
+ "tag": {
+ "example": "WOL",
"type": "string"
+ },
+ "winner": {
+ "example": true,
+ "type": "boolean"
}
},
"type": "object"
},
- "jcrew.ProductDetailResponse": {
+ "gosugamers.TeamDetail": {
"properties": {
- "average_rating": {
- "type": "number"
+ "about": {
+ "type": "string"
},
- "brand": {
+ "country": {
+ "example": "China",
"type": "string"
},
- "category_id": {
+ "country_code": {
+ "example": "CN",
"type": "string"
},
- "colors": {
- "items": {
- "$ref": "#/definitions/jcrew.ProductColor"
- },
- "type": "array"
+ "draws": {
+ "example": 0,
+ "type": "integer"
},
- "currency": {
- "type": "string"
+ "earnings_usd": {
+ "example": 132662.49,
+ "type": "number"
},
- "description": {
+ "elo_rating": {
+ "example": 952,
+ "type": "integer"
+ },
+ "facebook": {
"type": "string"
},
"fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
"type": "string"
},
- "fit_description": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "game": {
+ "example": "valorant",
+ "type": "string"
},
- "gender": {
+ "id": {
+ "example": "51203",
"type": "string"
},
- "list_price": {
- "type": "number"
+ "logo_url": {
+ "type": "string"
+ },
+ "losses": {
+ "example": 55,
+ "type": "integer"
},
"name": {
+ "example": "Wolves Esports",
"type": "string"
},
- "pid": {
+ "region": {
+ "example": "China",
"type": "string"
},
- "rating_count": {
+ "region_ranking": {
+ "example": 16,
"type": "integer"
},
- "site": {
- "type": "string"
- },
- "sizes": {
+ "roster": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/gosugamers.RosterPlayer"
},
"type": "array"
},
- "skus": {
+ "slug": {
+ "example": "wolves-esports",
+ "type": "string"
+ },
+ "source_url": {
+ "example": "https://www.gosugamers.net/valorant/matches",
+ "type": "string"
+ },
+ "streak": {
+ "example": -1,
+ "type": "integer"
+ },
+ "tag": {
+ "example": "WOL",
+ "type": "string"
+ },
+ "twitter": {
+ "type": "string"
+ },
+ "upcoming_matches": {
"items": {
- "$ref": "#/definitions/jcrew.ProductSKU"
+ "$ref": "#/definitions/gosugamers.MatchSummary"
},
"type": "array"
},
- "source_url": {
+ "url": {
"type": "string"
},
- "url": {
+ "win_rate_percent": {
+ "example": 41,
+ "type": "integer"
+ },
+ "wins": {
+ "example": 39,
+ "type": "integer"
+ },
+ "world_ranking": {
+ "example": 69,
+ "type": "integer"
+ },
+ "youtube": {
"type": "string"
}
},
"type": "object"
},
- "jcrew.ProductReviewsResponse": {
+ "gosugamers.TeamResultsResponse": {
"properties": {
- "average_rating": {
- "type": "number"
- },
"count": {
+ "example": 10,
"type": "integer"
},
"fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
"type": "string"
},
- "page": {
- "type": "integer"
- },
- "page_size": {
- "type": "integer"
- },
- "pid": {
- "type": "string"
- },
- "rating_count": {
- "type": "integer"
- },
- "rating_histogram": {
- "description": "RatingHistogram is the count of ratings per star, ascending: index 0\nis 1-star, index 4 is 5-star.",
+ "matches": {
"items": {
- "type": "integer"
+ "$ref": "#/definitions/gosugamers.MatchSummary"
},
"type": "array"
},
- "recommended_ratio": {
- "type": "number"
+ "page": {
+ "example": 1,
+ "type": "integer"
},
- "reviews": {
- "items": {
- "$ref": "#/definitions/jcrew.Review"
- },
- "type": "array"
+ "page_size": {
+ "example": 10,
+ "type": "integer"
},
- "site": {
+ "source_url": {
+ "example": "https://www.gosugamers.net/valorant/matches",
"type": "string"
},
- "source_url": {
+ "team_id": {
+ "example": "37547",
"type": "string"
},
"total_pages": {
+ "example": 23,
"type": "integer"
},
- "total_reviews": {
+ "total_rows": {
+ "example": 229,
"type": "integer"
}
},
"type": "object"
},
- "jcrew.ProductSKU": {
+ "gosugamers.TeamStint": {
"properties": {
- "color_code": {
+ "joined_at": {
+ "example": "2024-01-16T16:00:00Z",
"type": "string"
},
- "color_name": {
+ "left_at": {
"type": "string"
},
- "currency": {
+ "name": {
+ "example": "Wolves Esports",
"type": "string"
},
- "orderable": {
- "type": "boolean"
+ "position": {
+ "example": "Member",
+ "type": "string"
},
- "price": {
- "type": "number"
+ "slug": {
+ "example": "wolves-esports",
+ "type": "string"
},
- "size": {
+ "tag": {
+ "example": "WOL",
+ "type": "string"
+ },
+ "team_id": {
+ "example": "51203",
"type": "string"
}
},
"type": "object"
},
- "jcrew.ProductSummary": {
+ "gosugamers.TournamentDetail": {
"properties": {
- "description": {
+ "country": {
+ "example": "China",
"type": "string"
},
- "family_id": {
+ "description": {
"type": "string"
},
- "gender": {
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
"type": "string"
},
- "id": {
+ "game": {
+ "example": "valorant",
"type": "string"
},
- "image_url": {
+ "game_name": {
+ "example": "Valorant",
"type": "string"
},
- "name": {
+ "image_url": {
"type": "string"
},
- "orderable": {
+ "lan": {
+ "example": true,
"type": "boolean"
},
- "price_max": {
+ "prize_pool_usd": {
+ "example": 500000,
"type": "number"
},
- "price_min": {
- "type": "number"
+ "source_url": {
+ "example": "https://www.gosugamers.net/valorant/matches",
+ "type": "string"
},
- "sale_price_max": {
- "type": "number"
+ "sponsors": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "sale_price_min": {
- "type": "number"
+ "stages": {
+ "items": {
+ "$ref": "#/definitions/gosugamers.StageInfo"
+ },
+ "type": "array"
},
- "url": {
+ "start_time": {
+ "example": "2026-10-20T04:00:00Z",
+ "type": "string"
+ },
+ "status": {
+ "example": "Live",
+ "type": "string"
+ },
+ "tournament": {
+ "$ref": "#/definitions/gosugamers.TournamentRef"
+ },
+ "upcoming_matches": {
+ "items": {
+ "$ref": "#/definitions/gosugamers.MatchSummary"
+ },
+ "type": "array"
+ },
+ "venue": {
"type": "string"
}
},
"type": "object"
},
- "jcrew.Review": {
+ "gosugamers.TournamentParticipantsResponse": {
"properties": {
- "author": {
+ "count": {
+ "example": 16,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
"type": "string"
},
- "body": {
+ "game": {
+ "example": "valorant",
"type": "string"
},
- "created_at": {
+ "participants": {
+ "items": {
+ "$ref": "#/definitions/gosugamers.Participant"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "example": "https://www.gosugamers.net/valorant/matches",
"type": "string"
},
- "headline": {
+ "tournament_id": {
+ "example": "63147",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "gosugamers.TournamentRef": {
+ "properties": {
+ "id": {
+ "example": "63208",
"type": "string"
},
- "helpful_votes": {
- "type": "integer"
+ "name": {
+ "example": "VCT Threshold China 2026",
+ "type": "string"
+ },
+ "slug": {
+ "example": "vct-threshold-china-2026",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "gosugamers.TournamentRow": {
+ "properties": {
+ "featured": {
+ "example": false,
+ "type": "boolean"
+ },
+ "game": {
+ "example": "valorant",
+ "type": "string"
+ },
+ "game_name": {
+ "example": "VALORANT",
+ "type": "string"
},
"id": {
+ "example": "63208",
"type": "string"
},
- "location": {
+ "image_url": {
"type": "string"
},
- "not_helpful_votes": {
- "type": "integer"
+ "name": {
+ "example": "VCT Threshold China 2026",
+ "type": "string"
},
- "rating": {
+ "participant_count": {
+ "example": 8,
"type": "integer"
},
- "updated_at": {
+ "prize_currency": {
+ "example": "USD",
"type": "string"
},
- "verified_purchase": {
- "type": "boolean"
+ "prize_pool": {
+ "example": 500000,
+ "type": "number"
+ },
+ "prize_pool_usd": {
+ "example": 500000,
+ "type": "number"
+ },
+ "slug": {
+ "example": "vct-threshold-china-2026",
+ "type": "string"
+ },
+ "start_time": {
+ "example": "2026-10-20T04:00:00Z",
+ "type": "string"
+ },
+ "status": {
+ "example": "Ongoing",
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "jcrew.SearchResponse": {
+ "gosugamers.TournamentTalentsResponse": {
"properties": {
"count": {
+ "example": 10,
"type": "integer"
},
- "facets": {
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
+ "type": "string"
+ },
+ "source_url": {
+ "example": "https://www.gosugamers.net/valorant/matches",
+ "type": "string"
+ },
+ "talents": {
"items": {
- "$ref": "#/definitions/jcrew.Facet"
+ "$ref": "#/definitions/gosugamers.BroadcastTalent"
},
"type": "array"
},
- "fetched_at": {
+ "tournament_id": {
+ "example": "63147",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "gosugamers.TournamentsResponse": {
+ "properties": {
+ "count": {
+ "example": 10,
+ "type": "integer"
},
- "filter": {
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
"type": "string"
},
- "keyword": {
+ "game": {
+ "example": "valorant",
"type": "string"
},
"page": {
+ "example": 1,
"type": "integer"
},
- "per_page": {
+ "page_size": {
+ "example": 10,
"type": "integer"
},
- "products": {
- "items": {
- "$ref": "#/definitions/jcrew.ProductSummary"
- },
- "type": "array"
- },
- "site": {
+ "q": {
+ "example": "VCT",
"type": "string"
},
- "sort": {
+ "source_url": {
+ "example": "https://www.gosugamers.net/valorant/matches",
"type": "string"
},
- "source_url": {
+ "state": {
+ "enum": [
+ "all",
+ "ongoing",
+ "upcoming",
+ "past"
+ ],
+ "example": "all",
"type": "string"
},
"total_pages": {
+ "example": 152,
"type": "integer"
},
- "total_products": {
+ "total_rows": {
+ "example": 1511,
"type": "integer"
+ },
+ "tournaments": {
+ "items": {
+ "$ref": "#/definitions/gosugamers.TournamentRow"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "jcrew.SizeChartResponse": {
+ "gq.AuthorArticle": {
"properties": {
- "columns": {
+ "image_url": {
+ "type": "string"
+ },
+ "published_at": {
+ "type": "string"
+ },
+ "summary": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "gq.AuthorResponse": {
+ "properties": {
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/gq.AuthorArticle"
+ },
+ "type": "array"
+ },
+ "biography": {
"items": {
"type": "string"
},
"type": "array"
},
- "fetched_at": {
+ "has_next_page": {
+ "type": "boolean"
+ },
+ "image_url": {
"type": "string"
},
- "pid": {
+ "job_title": {
"type": "string"
},
- "site": {
+ "name": {
"type": "string"
},
- "sizes": {
+ "page": {
+ "type": "integer"
+ },
+ "slug": {
+ "type": "string"
+ },
+ "social_links": {
"items": {
- "$ref": "#/definitions/jcrew.SizeChartRow"
+ "type": "string"
},
"type": "array"
},
- "source_url": {
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "jcrew.SizeChartRow": {
+ "grailed.CategoriesResponse": {
"properties": {
- "imperial": {
- "additionalProperties": {
- "format": "float64",
- "type": "number"
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/grailed.FacetCount"
},
- "type": "object"
+ "type": "array"
},
- "metric": {
- "additionalProperties": {
- "format": "float64",
- "type": "number"
+ "category_paths": {
+ "items": {
+ "$ref": "#/definitions/grailed.FacetCount"
},
- "type": "object"
+ "type": "array"
},
- "size": {
+ "colors": {
+ "items": {
+ "$ref": "#/definitions/grailed.FacetCount"
+ },
+ "type": "array"
+ },
+ "conditions": {
+ "items": {
+ "$ref": "#/definitions/grailed.FacetCount"
+ },
+ "type": "array"
+ },
+ "departments": {
+ "items": {
+ "$ref": "#/definitions/grailed.FacetCount"
+ },
+ "type": "array"
+ },
+ "fetched_at": {
"type": "string"
+ },
+ "sizes": {
+ "items": {
+ "$ref": "#/definitions/grailed.FacetCount"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "jcrew.Store": {
+ "grailed.CollectionListing": {
"properties": {
- "address": {
+ "buy_now": {
+ "type": "boolean"
+ },
+ "category_path": {
"type": "string"
},
- "city": {
+ "condition": {
"type": "string"
},
- "country": {
+ "cover_photo_url": {
"type": "string"
},
- "distance_miles": {
- "type": "number"
+ "currency": {
+ "type": "string"
},
- "hours": {
- "additionalProperties": {
- "$ref": "#/definitions/jcrew.Hour"
+ "department": {
+ "type": "string"
+ },
+ "designers": {
+ "items": {
+ "type": "string"
},
- "type": "object"
+ "type": "array"
+ },
+ "follower_count": {
+ "type": "integer"
},
"id": {
- "type": "string"
+ "type": "integer"
},
- "latitude": {
+ "make_offer": {
+ "type": "boolean"
+ },
+ "price": {
"type": "number"
},
- "longitude": {
+ "seller_id": {
+ "type": "integer"
+ },
+ "seller_rating": {
"type": "number"
},
- "name": {
+ "size": {
"type": "string"
},
- "phone": {
- "type": "string"
+ "sold": {
+ "type": "boolean"
},
- "postal_code": {
- "type": "string"
+ "sold_price": {
+ "type": "number"
},
- "region": {
+ "title": {
"type": "string"
},
- "services": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "jcrew.StoreResponse": {
+ "grailed.CollectionResponse": {
"properties": {
"count": {
"type": "integer"
},
- "fetched_at": {
+ "external_id": {
"type": "string"
},
- "site": {
+ "fetched_at": {
"type": "string"
},
- "source_url": {
+ "id": {
+ "type": "integer"
+ },
+ "last_refreshed_at": {
"type": "string"
},
- "stores": {
+ "listings": {
"items": {
- "$ref": "#/definitions/jcrew.Store"
+ "$ref": "#/definitions/grailed.CollectionListing"
},
"type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
}
},
"type": "object"
},
- "jcrew.SuggestResponse": {
+ "grailed.CollectionSummary": {
"properties": {
- "count": {
- "type": "integer"
- },
- "fetched_at": {
+ "external_id": {
"type": "string"
},
- "query": {
- "type": "string"
+ "id": {
+ "type": "integer"
},
- "site": {
+ "last_refreshed_at": {
"type": "string"
},
- "source_url": {
+ "preview_photos": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "title": {
"type": "string"
},
- "suggestions": {
+ "top_designers": {
"items": {
- "$ref": "#/definitions/jcrew.Suggestion"
+ "type": "string"
},
"type": "array"
}
},
"type": "object"
},
- "jcrew.Suggestion": {
+ "grailed.CollectionsResponse": {
"properties": {
- "query": {
- "type": "string"
+ "collections": {
+ "items": {
+ "$ref": "#/definitions/grailed.CollectionSummary"
+ },
+ "type": "array"
},
- "total_results": {
+ "count": {
"type": "integer"
- }
- },
- "type": "object"
- },
- "jcrew.TimeInterval": {
- "properties": {
- "end": {
+ },
+ "fetched_at": {
"type": "string"
},
- "start": {
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "jcrew.categoriesResponseDoc": {
+ "grailed.Designer": {
"properties": {
- "code": {
- "example": 200,
+ "departments": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "id": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/jcrew.CategoriesResponse"
+ "listings_count": {
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "logo_url": {
"type": "string"
- }
- },
- "type": "object"
- },
- "jcrew.categoryResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/jcrew.CategoryResponse"
+ "name": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "slug": {
"type": "string"
}
},
"type": "object"
},
- "jcrew.productResponseDoc": {
+ "grailed.DesignersResponse": {
"properties": {
- "code": {
- "example": 200,
+ "count": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/jcrew.ProductDetailResponse"
+ "designers": {
+ "items": {
+ "$ref": "#/definitions/grailed.Designer"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "fetched_at": {
"type": "string"
- }
- },
- "type": "object"
- },
- "jcrew.productReviewsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/jcrew.ProductReviewsResponse"
+ "limit": {
+ "type": "integer"
},
- "msg": {
- "example": "OK",
- "type": "string"
- }
- },
- "type": "object"
- },
- "jcrew.searchResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ "page": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/jcrew.SearchResponse"
+ "query": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "source_url": {
"type": "string"
- }
- },
- "type": "object"
- },
- "jcrew.sizeChartResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/jcrew.SizeChartResponse"
+ "total_pages": {
+ "type": "integer"
},
- "msg": {
- "example": "OK",
- "type": "string"
+ "total_results": {
+ "type": "integer"
}
},
"type": "object"
},
- "jcrew.storesResponseDoc": {
+ "grailed.FacetCount": {
"properties": {
- "code": {
- "example": 200,
+ "count": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/jcrew.StoreResponse"
- },
- "msg": {
- "example": "OK",
+ "value": {
"type": "string"
}
},
"type": "object"
},
- "jcrew.suggestResponseDoc": {
+ "grailed.Listing": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "bumped_at": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/jcrew.SuggestResponse"
+ "buy_now": {
+ "type": "boolean"
},
- "msg": {
- "example": "OK",
+ "category": {
"type": "string"
- }
- },
- "type": "object"
- },
- "jerusalempost.AuthorArticle": {
- "properties": {
- "published_at": {
+ },
+ "category_path": {
"type": "string"
},
- "summary": {
+ "color": {
"type": "string"
},
- "title": {
+ "condition": {
"type": "string"
},
- "url": {
+ "cover_photo_url": {
"type": "string"
- }
- },
- "type": "object"
- },
- "jerusalempost.AuthorRef": {
- "properties": {
- "slug": {
+ },
+ "created_at": {
"type": "string"
},
- "type": {
+ "currency": {
"type": "string"
},
- "url": {
+ "department": {
"type": "string"
- }
- },
- "type": "object"
- },
- "jerusalempost.AuthorResponse": {
- "properties": {
- "articles": {
+ },
+ "designers": {
"items": {
- "$ref": "#/definitions/jerusalempost.AuthorArticle"
+ "type": "string"
},
"type": "array"
},
- "description": {
+ "follower_count": {
+ "type": "integer"
+ },
+ "id": {
+ "type": "integer"
+ },
+ "location": {
"type": "string"
},
- "image_url": {
+ "make_offer": {
+ "type": "boolean"
+ },
+ "photo_count": {
+ "type": "integer"
+ },
+ "price": {
+ "type": "number"
+ },
+ "seller": {
+ "$ref": "#/definitions/grailed.ListingSeller"
+ },
+ "size": {
"type": "string"
},
- "name": {
+ "sold": {
+ "type": "boolean"
+ },
+ "sold_at": {
"type": "string"
},
- "type": {
+ "sold_price": {
+ "type": "number"
+ },
+ "title": {
"type": "string"
},
"url": {
@@ -116390,295 +121599,400 @@
},
"type": "object"
},
- "jerusalempost.AuthorsResponse": {
+ "grailed.ListingDesigner": {
"properties": {
- "authors": {
+ "departments": {
"items": {
- "$ref": "#/definitions/jerusalempost.AuthorRef"
+ "type": "string"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "jimmyjohns.MenuCategory": {
- "properties": {
- "category_id": {
- "example": 69933,
+ },
+ "id": {
"type": "integer"
},
+ "logo_url": {
+ "type": "string"
+ },
"name": {
- "example": "Originals",
"type": "string"
},
- "products": {
- "items": {
- "$ref": "#/definitions/jimmyjohns.MenuProduct"
- },
- "type": "array"
+ "slug": {
+ "type": "string"
}
},
"type": "object"
},
- "jimmyjohns.MenuProduct": {
+ "grailed.ListingResponse": {
"properties": {
- "base_calories": {
- "description": "BaseCalories and MaxCalories bound the calorie range across this\nitem's size/customization options. Both arrive from upstream as\nstrings (e.g. a \"-\" separator is rendered client-side), so they are\nkept as strings rather than coerced to a number.",
- "example": "370",
- "type": "string"
+ "buy_now": {
+ "type": "boolean"
},
- "chain_product_id": {
- "description": "ChainProductID identifies this item across every Jimmy John's\nrestaurant; ProductID is specific to this restaurant's menu.",
- "example": 353441,
- "type": "integer"
+ "category": {
+ "type": "string"
},
- "cost": {
- "description": "Cost is the base price. Many sandwiches price entirely through a size\nmodifier rather than a base cost, so this is commonly 0 -- it is not\na parsing gap.",
- "example": 8.69,
- "type": "number"
+ "category_path": {
+ "type": "string"
},
- "description": {
- "example": "HAM, PROVOLONE, lettuce, tomato & mayo",
+ "collaboration": {
"type": "string"
},
- "image_url": {
+ "condition": {
"type": "string"
},
- "max_calories": {
- "example": "650",
+ "created_at": {
"type": "string"
},
- "name": {
- "example": "#1 The Pepe®",
+ "currency": {
"type": "string"
},
- "product_id": {
- "example": 33276056,
- "type": "integer"
+ "deleted": {
+ "type": "boolean"
},
- "short_description": {
+ "department": {
"type": "string"
- }
- },
- "type": "object"
- },
- "jimmyjohns.MenuResponse": {
- "properties": {
- "categories": {
+ },
+ "description": {
+ "type": "string"
+ },
+ "designers": {
"items": {
- "$ref": "#/definitions/jimmyjohns.MenuCategory"
+ "$ref": "#/definitions/grailed.ListingDesigner"
},
"type": "array"
},
- "category_count": {
- "example": 20,
- "type": "integer"
+ "dropped": {
+ "type": "boolean"
+ },
+ "exact_size": {
+ "type": "string"
+ },
+ "expired": {
+ "type": "boolean"
},
"fetched_at": {
"type": "string"
},
- "product_count": {
- "example": 180,
+ "follower_count": {
"type": "integer"
},
- "restaurant_id": {
- "example": 67182,
+ "id": {
"type": "integer"
},
- "source_url": {
+ "make_offer": {
+ "type": "boolean"
+ },
+ "measurements": {
+ "items": {
+ "$ref": "#/definitions/grailed.Measurement"
+ },
+ "type": "array"
+ },
+ "photos": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "pretty_size": {
"type": "string"
- }
- },
- "type": "object"
- },
- "jimmyjohns.ModifierChoice": {
- "properties": {
- "base_calories": {
- "description": "BaseCalories is this choice's calorie delta, which can be negative\nfor a \"light\"/\"no\" ingredient choice.",
- "example": "70",
+ },
+ "price": {
+ "type": "number"
+ },
+ "price_updated_at": {
"type": "string"
},
- "chain_option_id": {
- "example": 2476875,
- "type": "integer"
+ "published": {
+ "type": "boolean"
},
- "cost": {
- "description": "Cost is this choice's price delta. Many choices are free (the\nincluded default); an upcharge choice (e.g. \"Xtra Smoked Ham\") or a\nsize step carries a positive cost.",
- "example": 8.69,
+ "seller": {
+ "$ref": "#/definitions/grailed.SellerProfile"
+ },
+ "size": {
+ "type": "string"
+ },
+ "sold": {
+ "type": "boolean"
+ },
+ "sold_at": {
+ "type": "string"
+ },
+ "sold_price": {
"type": "number"
},
- "groups": {
+ "sold_shipping_price": {
+ "type": "number"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "styles": {
"items": {
- "$ref": "#/definitions/jimmyjohns.ModifierGroup"
+ "type": "string"
},
"type": "array"
},
- "is_default": {
- "type": "boolean"
- },
- "max_calories": {
+ "subcategory": {
"type": "string"
},
- "name": {
- "example": "REGULAR",
+ "title": {
"type": "string"
},
- "option_id": {
- "example": 5265915696,
- "type": "integer"
+ "traits": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "jimmyjohns.ModifierGroup": {
+ "grailed.ListingSeller": {
"properties": {
- "chain_modifier_id": {
- "example": 480998,
- "type": "integer"
- },
- "choices": {
- "items": {
- "$ref": "#/definitions/jimmyjohns.ModifierChoice"
- },
- "type": "array"
+ "avatar_url": {
+ "type": "string"
},
- "group_id": {
- "example": 1176354037,
+ "id": {
"type": "integer"
},
- "mandatory": {
- "type": "boolean"
+ "rating_average": {
+ "type": "number"
},
- "max_selects": {
+ "rating_count": {
"type": "integer"
},
- "min_selects": {
+ "total_bought_and_sold": {
"type": "integer"
},
- "name": {
- "example": "Choose Your Size",
+ "trusted_seller": {
+ "type": "boolean"
+ },
+ "username": {
"type": "string"
}
},
"type": "object"
},
- "jimmyjohns.ModifiersResponse": {
+ "grailed.Measurement": {
"properties": {
- "fetched_at": {
- "type": "string"
- },
- "group_count": {
- "example": 9,
+ "department_mapping_id": {
"type": "integer"
},
- "groups": {
- "items": {
- "$ref": "#/definitions/jimmyjohns.ModifierGroup"
- },
- "type": "array"
+ "inches": {
+ "type": "number"
},
- "product_id": {
- "example": 33276056,
+ "measurement_type_id": {
"type": "integer"
- },
- "source_url": {
- "type": "string"
}
},
"type": "object"
},
- "jimmyjohns.NearbyResponse": {
+ "grailed.SearchResponse": {
"properties": {
+ "category": {
+ "type": "string"
+ },
+ "color": {
+ "type": "string"
+ },
+ "condition": {
+ "type": "string"
+ },
"count": {
- "example": 10,
"type": "integer"
},
+ "department": {
+ "type": "string"
+ },
+ "designer": {
+ "type": "string"
+ },
"fetched_at": {
"type": "string"
},
- "radius_miles": {
- "example": 15,
+ "limit": {
"type": "integer"
},
- "restaurants": {
+ "listings": {
"items": {
- "$ref": "#/definitions/jimmyjohns.NearbyRestaurant"
+ "$ref": "#/definitions/grailed.Listing"
},
"type": "array"
},
+ "max_price": {
+ "type": "number"
+ },
+ "min_price": {
+ "type": "number"
+ },
+ "page": {
+ "type": "integer"
+ },
+ "query": {
+ "type": "string"
+ },
+ "size": {
+ "type": "string"
+ },
+ "sort": {
+ "type": "string"
+ },
"source_url": {
"type": "string"
+ },
+ "total_pages": {
+ "type": "integer"
+ },
+ "total_results": {
+ "type": "integer"
}
},
"type": "object"
},
- "jimmyjohns.NearbyRestaurant": {
+ "grailed.SellerProfile": {
"properties": {
- "accepts_delivery": {
+ "avatar_url": {
+ "type": "string"
+ },
+ "banned": {
"type": "boolean"
},
- "accepts_pickup": {
+ "confirmed": {
"type": "boolean"
},
- "address": {
- "$ref": "#/definitions/jimmyjohns.StoreAddress"
+ "created_at": {
+ "type": "string"
},
- "distance_miles": {
- "example": 0.4,
- "type": "number"
+ "follower_count": {
+ "type": "integer"
},
- "is_open": {
+ "following_count": {
+ "type": "integer"
+ },
+ "id": {
+ "type": "integer"
+ },
+ "listings_for_sale_count": {
+ "type": "integer"
+ },
+ "location": {
+ "type": "string"
+ },
+ "quick_responder": {
"type": "boolean"
},
- "latitude": {
- "example": 44.9401301,
+ "rating_average": {
"type": "number"
},
- "longitude": {
- "example": -93.1411487,
- "type": "number"
+ "rating_count": {
+ "type": "integer"
},
- "name": {
- "example": "JJ0004",
- "type": "string"
+ "sold_count": {
+ "type": "integer"
},
- "order_url": {
- "example": "https://online.jimmyjohns.com/menu/jj0004/",
+ "speedy_shipper": {
+ "type": "boolean"
+ },
+ "tag_list": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "total_bought_and_sold": {
+ "type": "integer"
+ },
+ "trusted_seller": {
+ "type": "boolean"
+ },
+ "username": {
"type": "string"
},
- "phone_number": {
- "example": "(651) 222-2221",
+ "verified": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "grailed.SellerResponse": {
+ "properties": {
+ "active_listings_count": {
+ "type": "integer"
+ },
+ "count": {
+ "type": "integer"
+ },
+ "fetched_at": {
"type": "string"
},
- "restaurant_id": {
- "example": 67182,
+ "limit": {
"type": "integer"
},
- "slug": {
- "example": "jj0004",
+ "listings": {
+ "items": {
+ "$ref": "#/definitions/grailed.Listing"
+ },
+ "type": "array"
+ },
+ "page": {
+ "type": "integer"
+ },
+ "profile": {
+ "$ref": "#/definitions/grailed.SellerProfile"
+ },
+ "source_url": {
"type": "string"
},
- "timezone": {
- "example": "America/Chicago",
+ "total_pages": {
+ "type": "integer"
+ },
+ "username": {
"type": "string"
}
},
"type": "object"
},
- "jimmyjohns.SitemapEntry": {
+ "grailed.SellerReview": {
"properties": {
- "kind": {
- "description": "Kind distinguishes the three page variants Jimmy John's publishes per\nstore: sandwiches, delivery and catering. All three describe the same\nrestaurant; `sandwiches` is the canonical one.",
- "example": "sandwiches",
+ "created_at": {
"type": "string"
},
- "path": {
- "example": "in/columbus/sandwiches-1414.html",
+ "id": {
+ "type": "integer"
+ },
+ "listing": {
+ "$ref": "#/definitions/grailed.SellerReviewListing"
+ },
+ "note": {
"type": "string"
},
- "store_number": {
- "description": "StoreNumber is the trailing id shared by all three variants.",
- "example": "1414",
+ "rating": {
+ "type": "number"
+ },
+ "tags": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "grailed.SellerReviewListing": {
+ "properties": {
+ "id": {
+ "type": "integer"
+ },
+ "price": {
+ "type": "number"
+ },
+ "sold": {
+ "type": "boolean"
+ },
+ "title": {
"type": "string"
},
"url": {
@@ -116687,974 +122001,1161 @@
},
"type": "object"
},
- "jimmyjohns.SitemapResponse": {
+ "grailed.SellerReviewsResponse": {
"properties": {
"count": {
- "example": 100,
"type": "integer"
},
- "entries": {
- "items": {
- "$ref": "#/definitions/jimmyjohns.SitemapEntry"
- },
- "type": "array"
- },
"fetched_at": {
"type": "string"
},
- "page": {
- "example": 1,
- "type": "integer"
+ "has_more": {
+ "type": "boolean"
},
- "shard": {
- "example": 0,
+ "page": {
"type": "integer"
},
- "shard_count": {
- "example": 1,
- "type": "integer"
+ "reviews": {
+ "items": {
+ "$ref": "#/definitions/grailed.SellerReview"
+ },
+ "type": "array"
},
"source_url": {
"type": "string"
},
- "total_in_shard": {
- "example": 9789,
+ "user_id": {
"type": "integer"
},
- "total_pages": {
- "example": 98,
- "type": "integer"
+ "username": {
+ "type": "string"
}
},
"type": "object"
},
- "jimmyjohns.StoreAddress": {
+ "grailed.SimilarListingsResponse": {
"properties": {
- "city": {
- "example": "Columbus",
- "type": "string"
+ "count": {
+ "type": "integer"
},
- "country": {
- "example": "US",
+ "fetched_at": {
"type": "string"
},
- "postal_code": {
- "example": "47201",
- "type": "string"
+ "id": {
+ "type": "integer"
},
- "region": {
- "example": "IN",
- "type": "string"
+ "limit": {
+ "type": "integer"
},
- "street": {
- "example": "2115 W Jonathan Moore Pike",
+ "listings": {
+ "items": {
+ "$ref": "#/definitions/grailed.Listing"
+ },
+ "type": "array"
+ },
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "jimmyjohns.StoreHours": {
+ "grailed.SoldListingsResponse": {
"properties": {
- "closes": {
- "example": "22:00",
+ "category": {
"type": "string"
},
- "day_of_week": {
- "example": "Monday",
+ "color": {
"type": "string"
},
- "opens": {
- "example": "10:30",
+ "condition": {
+ "type": "string"
+ },
+ "count": {
+ "type": "integer"
+ },
+ "department": {
+ "type": "string"
+ },
+ "designer": {
"type": "string"
- }
- },
- "type": "object"
- },
- "jimmyjohns.StoreResponse": {
- "properties": {
- "address": {
- "$ref": "#/definitions/jimmyjohns.StoreAddress"
},
"fetched_at": {
"type": "string"
},
- "hours": {
+ "limit": {
+ "type": "integer"
+ },
+ "listings": {
"items": {
- "$ref": "#/definitions/jimmyjohns.StoreHours"
+ "$ref": "#/definitions/grailed.Listing"
},
"type": "array"
},
- "image_url": {
- "type": "string"
- },
- "latitude": {
- "example": 39.1994347,
+ "max_price": {
"type": "number"
},
- "longitude": {
- "example": -85.9470667,
+ "min_price": {
"type": "number"
},
- "name": {
- "example": "Jimmy John's",
- "type": "string"
+ "page": {
+ "type": "integer"
},
- "path": {
+ "query": {
"type": "string"
},
- "phone_number": {
+ "size": {
"type": "string"
},
- "serves_cuisine": {
+ "sort": {
"type": "string"
},
"source_url": {
"type": "string"
+ },
+ "total_pages": {
+ "type": "integer"
+ },
+ "total_results": {
+ "type": "integer"
}
},
"type": "object"
},
- "jimmyjohns.menuResponseDoc": {
+ "grailed.SuggestResponse": {
+ "properties": {
+ "fetched_at": {
+ "type": "string"
+ },
+ "query": {
+ "type": "string"
+ },
+ "suggestions": {
+ "items": {
+ "$ref": "#/definitions/grailed.Suggestion"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "grailed.Suggestion": {
+ "properties": {
+ "popularity": {
+ "type": "integer"
+ },
+ "query": {
+ "type": "string"
+ },
+ "total_results": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "grailed.categoriesResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/jimmyjohns.MenuResponse"
+ "$ref": "#/definitions/grailed.CategoriesResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "jimmyjohns.modifiersResponseDoc": {
+ "grailed.collectionResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/jimmyjohns.ModifiersResponse"
+ "$ref": "#/definitions/grailed.CollectionResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "jimmyjohns.nearbyResponseDoc": {
+ "grailed.collectionsResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/jimmyjohns.NearbyResponse"
+ "$ref": "#/definitions/grailed.CollectionsResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "jimmyjohns.sitemapResponseDoc": {
+ "grailed.designersResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/jimmyjohns.SitemapResponse"
+ "$ref": "#/definitions/grailed.DesignersResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "jimmyjohns.storeResponseDoc": {
+ "grailed.listingResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/jimmyjohns.StoreResponse"
+ "$ref": "#/definitions/grailed.ListingResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "jobs.BoardResponse": {
+ "grailed.searchResponseDoc": {
"properties": {
- "company": {
- "description": "Company or board name the postings belong to.",
- "type": "string"
- },
- "count": {
- "description": "Number of jobs returned in this response.",
+ "code": {
+ "example": 200,
"type": "integer"
},
- "jobs": {
- "description": "Job postings on the board, one item per posting.",
- "items": {
- "$ref": "#/definitions/jobs.Job"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/grailed.SearchResponse"
},
- "provider": {
- "description": "Applicant tracking system the board was read from, for example `greenhouse` or `lever`.",
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "grailed.sellerResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "source_url": {
- "description": "URL the data was read from.",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/grailed.SellerResponse"
},
- "total": {
- "description": "Total number of open postings on the board, when the provider reports it.",
- "type": "integer"
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "jobs.CompanySearchResponse": {
+ "grailed.sellerReviewsResponseDoc": {
"properties": {
- "count": {
- "description": "Number of providers where the slug has a board with open roles.",
+ "code": {
+ "example": 200,
"type": "integer"
},
- "found": {
- "description": "Providers where the slug resolves to a board, ranked by open roles.",
- "items": {
- "$ref": "#/definitions/jobs.ProviderHit"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/grailed.SellerReviewsResponse"
},
- "slug": {
- "description": "Company careers slug that was searched.",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "jobs.Count": {
+ "grailed.similarListingsResponseDoc": {
"properties": {
- "count": {
- "description": "Number of open roles with that name.",
+ "code": {
+ "example": 200,
"type": "integer"
},
- "name": {
- "description": "Department, location or job title being counted.",
+ "data": {
+ "$ref": "#/definitions/grailed.SimilarListingsResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "jobs.HiringSignals": {
+ "grailed.soldListingsResponseDoc": {
"properties": {
- "as_of": {
- "description": "Time the snapshot was taken, in UTC (RFC 3339).",
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "by_department": {
- "description": "Open roles per department, largest first, up to 20 entries.",
- "items": {
- "$ref": "#/definitions/jobs.Count"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/grailed.SoldListingsResponse"
},
- "by_location": {
- "description": "Open roles per location, largest first, up to 20 entries.",
- "items": {
- "$ref": "#/definitions/jobs.Count"
- },
- "type": "array"
- },
- "company": {
- "description": "Company or board identifier that was queried.",
- "type": "string"
- },
- "new_last_30d": {
- "description": "Number of sampled roles posted in the last 30 days. Counts only postings with a usable posting date.",
- "type": "integer"
- },
- "new_last_7d": {
- "description": "Number of sampled roles posted in the last 7 days. Counts only postings with a usable posting date.",
- "type": "integer"
- },
- "provider": {
- "description": "Applicant tracking system the board was read from, for example `greenhouse`.",
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "remote_count": {
- "description": "Number of sampled roles marked as remote.",
+ }
+ },
+ "type": "object"
+ },
+ "grailed.suggestResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "remote_pct": {
- "description": "Share of sampled roles marked as remote, as a percentage rounded to one decimal.",
- "type": "number"
- },
- "sampled_roles": {
- "description": "Number of postings the breakdowns below were computed from.",
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/grailed.SuggestResponse"
},
- "source_url": {
- "description": "URL the data was read from.",
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "top_titles": {
- "description": "Most common job titles with their counts, up to 10 entries.",
- "items": {
- "$ref": "#/definitions/jobs.Count"
- },
- "type": "array"
- },
- "total_open_roles": {
- "description": "Number of open roles on the board. Uses the provider's own total when it gives one.",
- "type": "integer"
}
},
"type": "object"
},
- "jobs.Job": {
+ "greystar.Article": {
"properties": {
- "ai_tools_mentioned": {
- "description": "AITools lists canonical AI tool and platform names mentioned in the job\ntitle or description, such as \"ChatGPT\" or \"GitHub Copilot\".",
+ "blocks": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/greystar.ContentBlock"
},
"type": "array"
},
- "apply_url": {
- "description": "Link to the application page for the job.",
+ "category": {
"type": "string"
},
- "benefits_mentioned": {
- "description": "Benefits, Clearance, and Education contain canonical requirements and\nofferings mentioned in the job title or description.",
- "items": {
- "type": "string"
- },
- "type": "array"
+ "description": {
+ "type": "string"
},
- "company": {
- "description": "Name of the hiring company.",
+ "image_url": {
"type": "string"
},
- "company_logo_url": {
- "description": "URL of the company's logo.",
+ "published_at": {
"type": "string"
},
- "compensation": {
- "description": "Compensation is the raw provider summary; the *Min/*Max/*Currency fields are\nparsed from it when the summary contains a recognizable pay range/amount.\nCompensationPeriod is the pay period (\"hourly\", \"daily\", \"weekly\",\n\"monthly\", \"yearly\") when the summary states one explicitly; empty when\nno period is stated (most single \"$150K – $190K\"-style ranges are\nimplicitly annual but that is never asserted here).",
+ "published_date": {
"type": "string"
},
- "compensation_currency": {
- "description": "Currency code of the pay range, for example `USD`.",
+ "section": {
"type": "string"
},
- "compensation_max": {
- "description": "Upper end of the pay range stated in the posting.",
- "type": "number"
+ "slug": {
+ "type": "string"
},
- "compensation_min": {
- "description": "Lower end of the pay range stated in the posting.",
- "type": "number"
+ "title": {
+ "type": "string"
},
- "compensation_period": {
- "description": "Pay period the posting states: `hourly`, `daily`, `weekly`, `monthly` or `yearly`. Omitted when the posting names none.",
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "greystar.CityItem": {
+ "properties": {
+ "city": {
"type": "string"
},
- "department": {
- "description": "Department the job belongs to.",
+ "count": {
+ "type": "integer"
+ },
+ "country_code": {
"type": "string"
},
- "description_html": {
- "description": "Job description as HTML.",
+ "state": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "greystar.ContentBlock": {
+ "properties": {
+ "text": {
"type": "string"
},
- "description_text": {
- "description": "Job description as plain text.",
+ "type": {
+ "description": "heading, subheading, paragraph, list_item",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "greystar.ContentEntry": {
+ "properties": {
+ "last_modified": {
"type": "string"
},
- "education_level_required": {
- "description": "Education levels mentioned in the job title or description.",
+ "section": {
+ "type": "string"
+ },
+ "slug": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "greystar.ContentList": {
+ "properties": {
+ "entries": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/greystar.ContentEntry"
},
"type": "array"
},
- "employment_type": {
- "description": "Employment type the provider lists, such as full-time or contract.",
- "type": "string"
+ "page": {
+ "type": "integer"
},
- "id": {
- "description": "Posting id within the provider. Use it with the provider's job endpoint.",
- "type": "string"
+ "per_page": {
+ "type": "integer"
},
- "location": {
- "description": "Primary job location as the provider shows it.",
+ "total_count": {
+ "type": "integer"
+ },
+ "total_pages": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "greystar.CountryItem": {
+ "properties": {
+ "count": {
+ "type": "integer"
+ },
+ "country_code": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "greystar.FAQ": {
+ "properties": {
+ "answer": {
"type": "string"
},
- "location_city": {
- "description": "LocationCity/State/Country are the structured components behind Location\nwhen the provider exposes them (or once the geo-enrich worker has\nresolved them from the free-text Location string) -- present only for\nthe primary/first location, matching Location itself.",
+ "question": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "greystar.FacetCount": {
+ "properties": {
+ "count": {
+ "type": "integer"
},
- "location_country": {
- "description": "Country of the primary location.",
+ "value": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "greystar.Fee": {
+ "properties": {
+ "amount": {
+ "type": "number"
},
- "location_state": {
- "description": "State or region of the primary location.",
+ "category": {
"type": "string"
},
- "locations": {
- "description": "All locations listed for the job.",
- "items": {
- "type": "string"
- },
- "type": "array"
+ "disclaimer": {
+ "type": "string"
},
- "posted_age_text": {
- "description": "Workday relative age (\"Posted Today\")",
+ "due_at": {
"type": "string"
},
- "posted_at": {
- "description": "RFC3339 / date when the provider gives one",
+ "frequency": {
"type": "string"
},
- "provider": {
- "description": "Applicant tracking system the posting comes from, for example `greenhouse` or `lever`.",
+ "group": {
"type": "string"
},
- "remote": {
- "description": "True when the posting is marked as remote.",
+ "is_included": {
"type": "boolean"
},
- "req_id": {
- "description": "Requisition id the company uses for the job.",
- "type": "string"
+ "is_per_applicant": {
+ "type": "boolean"
},
- "security_clearance_required": {
- "description": "Security clearances mentioned in the job title or description.",
- "items": {
- "type": "string"
- },
- "type": "array"
+ "is_refundable": {
+ "type": "boolean"
},
- "skills_mentioned": {
- "description": "Skills lists canonical ESCO skill labels mentioned in the job title or\ndescription.",
- "items": {
- "type": "string"
- },
- "type": "array"
+ "is_required": {
+ "type": "boolean"
},
- "team": {
- "description": "Team the job belongs to.",
+ "is_taxable": {
+ "type": "boolean"
+ },
+ "label": {
"type": "string"
},
- "title": {
- "description": "Job title as the company posted it.",
+ "max_amount": {
+ "type": "number"
+ },
+ "min_amount": {
+ "type": "number"
+ },
+ "percentage_amount": {
+ "type": "number"
+ },
+ "text_amount": {
"type": "string"
},
- "url": {
- "description": "Link to the job posting page.",
+ "type": {
"type": "string"
},
- "workplace_type": {
- "description": "Workplace arrangement the provider lists, such as remote, hybrid or on-site.",
+ "value_type": {
"type": "string"
}
},
"type": "object"
},
- "jobs.ProviderHit": {
+ "greystar.Floorplan": {
"properties": {
- "board_url": {
- "description": "URL of the company's public careers board on that provider.",
- "type": "string"
+ "bathrooms": {
+ "type": "integer"
},
- "company": {
- "description": "Company or board name on that provider.",
+ "bedrooms": {
+ "type": "integer"
+ },
+ "id": {
"type": "string"
},
- "provider": {
- "description": "Applicant tracking system the board is on, for example `greenhouse`.",
+ "image_url": {
"type": "string"
},
- "total_open_roles": {
- "description": "Number of open roles on the board.",
- "type": "integer"
+ "label": {
+ "type": "string"
}
},
"type": "object"
},
- "jobs.boardResponseDoc": {
+ "greystar.Image": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "alt": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/jobs.BoardResponse"
+ "height": {
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "url": {
"type": "string"
+ },
+ "width": {
+ "type": "integer"
}
},
"type": "object"
},
- "jobs.jobResponseDoc": {
+ "greystar.ListedUnit": {
"properties": {
- "code": {
- "example": 200,
+ "banner": {
+ "type": "string"
+ },
+ "bathrooms": {
+ "type": "number"
+ },
+ "bedrooms": {
+ "type": "number"
+ },
+ "floorplan": {
+ "type": "string"
+ },
+ "max_price": {
+ "type": "number"
+ },
+ "min_base_rent_lease_term": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/jobs.Job"
+ "min_price": {
+ "type": "number"
},
- "msg": {
- "example": "OK",
+ "price": {
+ "type": "number"
+ },
+ "required_monthly_fees_max": {
+ "type": "number"
+ },
+ "required_monthly_fees_min": {
+ "type": "number"
+ },
+ "unit_id": {
+ "type": "string"
+ },
+ "unit_number": {
"type": "string"
}
},
"type": "object"
},
- "jobs.searchResponseDoc": {
+ "greystar.Location": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "address": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/jobs.CompanySearchResponse"
+ "city": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "country_code": {
+ "type": "string"
+ },
+ "latitude": {
+ "type": "number"
+ },
+ "longitude": {
+ "type": "number"
+ },
+ "market_area": {
+ "type": "string"
+ },
+ "neighborhood": {
+ "type": "string"
+ },
+ "postal_code": {
+ "type": "string"
+ },
+ "slug": {
+ "type": "string"
+ },
+ "state": {
+ "type": "string"
+ },
+ "state_name": {
"type": "string"
}
},
"type": "object"
},
- "jobs.signalsResponseDoc": {
+ "greystar.LocationCommunity": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "address": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/jobs.HiringSignals"
+ "id": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "name": {
+ "type": "string"
+ },
+ "price_text": {
+ "type": "string"
+ },
+ "slug": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "jumia.CategoriesResponse": {
+ "greystar.LocationDetail": {
"properties": {
- "categories": {
+ "blocks": {
"items": {
- "$ref": "#/definitions/jumia.CategoryNode"
+ "$ref": "#/definitions/greystar.ContentBlock"
},
"type": "array"
},
- "category": {
- "example": "phones-tablets",
+ "city": {
"type": "string"
},
- "count": {
- "example": 12,
- "type": "integer"
+ "communities": {
+ "items": {
+ "$ref": "#/definitions/greystar.LocationCommunity"
+ },
+ "type": "array"
},
- "country": {
- "example": "ng",
+ "description": {
"type": "string"
},
- "fetched_at": {
+ "faqs": {
+ "items": {
+ "$ref": "#/definitions/greystar.FAQ"
+ },
+ "type": "array"
+ },
+ "level": {
"type": "string"
},
- "source_url": {
+ "neighborhood": {
+ "type": "string"
+ },
+ "path": {
+ "type": "string"
+ },
+ "state": {
+ "type": "string"
+ },
+ "sub_locations": {
+ "items": {
+ "$ref": "#/definitions/greystar.SubLocation"
+ },
+ "type": "array"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "jumia.CategoryNode": {
+ "greystar.LocationEntry": {
"properties": {
- "children": {
- "items": {
- "$ref": "#/definitions/jumia.CategoryNode"
- },
- "type": "array"
+ "city": {
+ "type": "string"
},
- "id": {
- "example": "8070",
+ "last_modified": {
"type": "string"
},
- "name": {
- "example": "Phones & Tablets",
+ "level": {
+ "description": "state, city, neighborhood",
"type": "string"
},
- "slug": {
- "example": "phones-tablets",
+ "neighborhood": {
+ "type": "string"
+ },
+ "path": {
+ "type": "string"
+ },
+ "state": {
"type": "string"
},
"url": {
- "example": "https://www.jumia.com.ng/phones-tablets/",
"type": "string"
}
},
"type": "object"
},
- "jumia.CountriesResponse": {
+ "greystar.LocationList": {
+ "properties": {
+ "locations": {
+ "items": {
+ "$ref": "#/definitions/greystar.LocationEntry"
+ },
+ "type": "array"
+ },
+ "page": {
+ "type": "integer"
+ },
+ "per_page": {
+ "type": "integer"
+ },
+ "total_count": {
+ "type": "integer"
+ },
+ "total_pages": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "greystar.MarketItem": {
"properties": {
"count": {
- "example": 4,
"type": "integer"
},
+ "country_code": {
+ "type": "string"
+ },
+ "market_area": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "greystar.Markets": {
+ "properties": {
+ "cities": {
+ "items": {
+ "$ref": "#/definitions/greystar.CityItem"
+ },
+ "type": "array"
+ },
"countries": {
"items": {
- "$ref": "#/definitions/jumia.Country"
+ "$ref": "#/definitions/greystar.CountryItem"
+ },
+ "type": "array"
+ },
+ "market_areas": {
+ "items": {
+ "$ref": "#/definitions/greystar.MarketItem"
+ },
+ "type": "array"
+ },
+ "neighborhoods": {
+ "items": {
+ "$ref": "#/definitions/greystar.Neighborhood"
+ },
+ "type": "array"
+ },
+ "states": {
+ "items": {
+ "$ref": "#/definitions/greystar.StateItem"
},
"type": "array"
+ },
+ "total_properties": {
+ "type": "integer"
}
},
"type": "object"
},
- "jumia.Country": {
+ "greystar.Neighborhood": {
"properties": {
- "code": {
- "example": "ng",
+ "count": {
+ "type": "integer"
+ },
+ "country_code": {
"type": "string"
},
- "currency": {
- "example": "NGN",
+ "market_area": {
"type": "string"
},
- "domain": {
- "example": "www.jumia.com.ng",
+ "neighborhood": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "greystar.OfficeHour": {
+ "properties": {
+ "close": {
"type": "string"
},
- "name": {
- "example": "Nigeria",
+ "open": {
"type": "string"
}
},
"type": "object"
},
- "jumia.Listing": {
+ "greystar.Property": {
"properties": {
- "brand": {
- "example": "Samsung",
+ "address": {
"type": "string"
},
- "categories": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "city": {
+ "type": "string"
},
- "currency": {
- "example": "NGN",
+ "country_code": {
"type": "string"
},
- "discount_percent": {
- "example": 20,
- "type": "integer"
+ "display_price": {
+ "type": "number"
},
- "image": {
+ "id": {
"type": "string"
},
- "jumia_express": {
- "type": "boolean"
- },
- "name": {
- "example": "Galaxy A07 6.7\" 4GB RAM/128GB ROM - Black",
+ "market_area": {
"type": "string"
},
- "official_store": {
- "type": "boolean"
+ "min_base_rent_lease_term": {
+ "type": "integer"
},
- "original_price": {
- "example": 250000,
+ "min_price": {
"type": "number"
},
- "out_of_stock": {
- "type": "boolean"
+ "name": {
+ "type": "string"
},
- "price": {
- "example": 199999,
- "type": "number"
+ "neighborhood": {
+ "type": "string"
},
- "price_max": {
+ "postal_code": {
+ "type": "string"
+ },
+ "required_monthly_fees_max": {
"type": "number"
},
- "rating": {
- "example": 4.1,
+ "required_monthly_fees_min": {
"type": "number"
},
- "rating_count": {
- "example": 396,
- "type": "integer"
+ "state": {
+ "type": "string"
},
- "sku": {
- "example": "SA948MP6Z6LPDNAFAMZ",
+ "state_name": {
"type": "string"
},
- "url": {
- "example": "https://www.jumia.com.ng/samsung-galaxy-a07-418619812.html",
+ "thumbnail_url": {
"type": "string"
}
},
"type": "object"
},
- "jumia.ListingResponse": {
+ "greystar.PropertyDetails": {
"properties": {
- "category": {
- "example": "phones-tablets",
- "type": "string"
- },
- "count": {
- "example": 40,
- "type": "integer"
- },
- "country": {
- "example": "ng",
- "type": "string"
- },
- "fetched_at": {
- "type": "string"
- },
- "has_next": {
- "example": true,
- "type": "boolean"
- },
- "page": {
- "example": 1,
- "type": "integer"
+ "amenities": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "products": {
+ "available_units": {
"items": {
- "$ref": "#/definitions/jumia.Listing"
+ "$ref": "#/definitions/greystar.Unit"
},
"type": "array"
},
- "query": {
- "example": "wireless earbuds",
- "type": "string"
+ "bike_score": {
+ "type": "integer"
},
- "source_url": {
+ "building_type": {
"type": "string"
},
- "total_count": {
- "example": 7522,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "jumia.Product": {
- "properties": {
- "availability": {
- "example": "InStock",
+ "email": {
"type": "string"
},
- "brand": {
- "example": "Samsung",
+ "facebook_url": {
"type": "string"
},
- "categories": {
+ "features": {
"items": {
"type": "string"
},
"type": "array"
},
- "country": {
- "example": "ng",
- "type": "string"
+ "fees": {
+ "items": {
+ "$ref": "#/definitions/greystar.Fee"
+ },
+ "type": "array"
},
- "currency": {
- "example": "NGN",
- "type": "string"
+ "floorplans": {
+ "items": {
+ "$ref": "#/definitions/greystar.Floorplan"
+ },
+ "type": "array"
},
- "description": {
+ "highlights": {
+ "additionalProperties": {
+ "type": "boolean"
+ },
+ "type": "object"
+ },
+ "id": {
"type": "string"
},
- "discount_percent": {
- "example": 20,
- "type": "integer"
+ "image": {
+ "$ref": "#/definitions/greystar.Image"
},
- "fetched_at": {
+ "instagram_url": {
"type": "string"
},
- "images": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "location": {
+ "$ref": "#/definitions/greystar.Location"
},
- "key_features": {
+ "long_description": {
"type": "string"
},
"name": {
"type": "string"
},
- "original_price": {
- "example": 250000,
- "type": "number"
+ "office_hours": {
+ "additionalProperties": {
+ "$ref": "#/definitions/greystar.OfficeHour"
+ },
+ "type": "object"
},
- "price": {
- "example": 199999,
+ "phone": {
+ "type": "string"
+ },
+ "required_monthly_fees_max": {
"type": "number"
},
- "rating": {
- "example": 4.1,
+ "required_monthly_fees_min": {
"type": "number"
},
- "rating_count": {
- "example": 396,
+ "short_description": {
+ "type": "string"
+ },
+ "tours": {
+ "items": {
+ "$ref": "#/definitions/greystar.Tour"
+ },
+ "type": "array"
+ },
+ "transit_score": {
"type": "integer"
},
- "seller": {
- "$ref": "#/definitions/jumia.Seller"
+ "url": {
+ "type": "string"
},
- "sku": {
- "example": "SA948MP6Z6LPDNAFAMZ",
+ "walk_score": {
+ "type": "integer"
+ },
+ "website_url": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "greystar.SearchResult": {
+ "properties": {
+ "page": {
+ "type": "integer"
},
- "specifications": {
+ "per_page": {
+ "type": "integer"
+ },
+ "properties": {
"items": {
- "$ref": "#/definitions/jumia.Specification"
+ "$ref": "#/definitions/greystar.Property"
},
"type": "array"
},
- "url": {
- "type": "string"
+ "total_count": {
+ "type": "integer"
+ },
+ "total_pages": {
+ "type": "integer"
}
},
"type": "object"
},
- "jumia.RatingBucket": {
+ "greystar.StateItem": {
"properties": {
"count": {
- "example": 220,
"type": "integer"
},
- "stars": {
- "example": 5,
- "type": "integer"
+ "country_code": {
+ "type": "string"
+ },
+ "state": {
+ "type": "string"
+ },
+ "state_name": {
+ "type": "string"
}
},
"type": "object"
},
- "jumia.Review": {
+ "greystar.SubLocation": {
"properties": {
- "author": {
- "example": "Victor",
+ "name": {
"type": "string"
},
- "date": {
- "example": "2026-10-19",
+ "path": {
"type": "string"
},
- "rating": {
- "example": 5,
- "type": "integer"
+ "slug": {
+ "type": "string"
},
- "text": {
+ "summary": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "greystar.Tour": {
+ "properties": {
+ "provider": {
"type": "string"
},
"title": {
- "example": "i love it",
"type": "string"
},
- "verified": {
- "type": "boolean"
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "jumia.ReviewsResponse": {
+ "greystar.Unit": {
"properties": {
- "average_rating": {
- "example": 4.1,
- "type": "number"
- },
- "count": {
- "example": 10,
+ "area": {
"type": "integer"
},
- "country": {
- "example": "ng",
+ "available_on": {
"type": "string"
},
- "fetched_at": {
+ "building": {
"type": "string"
},
- "has_next": {
- "example": true,
- "type": "boolean"
+ "floor": {
+ "type": "string"
},
- "histogram": {
- "items": {
- "$ref": "#/definitions/jumia.RatingBucket"
- },
- "type": "array"
+ "floorplan_id": {
+ "type": "string"
},
- "page": {
- "example": 1,
- "type": "integer"
+ "floorplan_label": {
+ "type": "string"
},
- "rating_count": {
- "example": 396,
- "type": "integer"
+ "max_price": {
+ "type": "number"
},
- "review_count": {
- "example": 147,
+ "min_base_rent_lease_term": {
"type": "integer"
},
- "reviews": {
- "items": {
- "$ref": "#/definitions/jumia.Review"
- },
- "type": "array"
+ "min_price": {
+ "type": "number"
},
- "sku": {
- "example": "SA948MP6Z6LPDNAFAMZ",
+ "unit_id": {
"type": "string"
},
- "source_url": {
+ "unit_number": {
"type": "string"
}
},
"type": "object"
},
- "jumia.Seller": {
+ "greystar.UnitFacets": {
"properties": {
- "followers": {
- "example": 3387,
- "type": "integer"
+ "bathrooms": {
+ "items": {
+ "$ref": "#/definitions/greystar.FacetCount"
+ },
+ "type": "array"
},
- "id": {
- "example": "338501",
- "type": "string"
+ "bedrooms": {
+ "items": {
+ "$ref": "#/definitions/greystar.FacetCount"
+ },
+ "type": "array"
},
- "name": {
- "example": "CHEAP ZONE - AC",
- "type": "string"
+ "building_types": {
+ "items": {
+ "$ref": "#/definitions/greystar.FacetCount"
+ },
+ "type": "array"
},
- "score_percent": {
- "example": 96,
- "type": "number"
+ "highlights": {
+ "items": {
+ "$ref": "#/definitions/greystar.FacetCount"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "greystar.UnitLocation": {
+ "properties": {
+ "location": {
+ "type": "string"
},
- "shipping_speed": {
- "example": "Excellent",
+ "parent": {
"type": "string"
},
"url": {
@@ -117663,487 +123164,883 @@
},
"type": "object"
},
- "jumia.SitemapFile": {
+ "greystar.UnitLocationList": {
"properties": {
- "language": {
- "example": "en",
+ "locations": {
+ "items": {
+ "$ref": "#/definitions/greystar.UnitLocation"
+ },
+ "type": "array"
+ },
+ "total_count": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "greystar.UnitProperty": {
+ "properties": {
+ "address": {
"type": "string"
},
- "last_modified": {
- "example": "2026-10-19",
+ "city": {
"type": "string"
},
+ "latitude": {
+ "type": "number"
+ },
+ "longitude": {
+ "type": "number"
+ },
+ "matching_units": {
+ "type": "integer"
+ },
"name": {
- "example": "products-sitemap-9.xml.gz",
"type": "string"
},
- "type": {
- "example": "products",
+ "postal_code": {
"type": "string"
},
- "url": {
+ "property_id": {
"type": "string"
- }
- },
- "type": "object"
- },
- "jumia.SitemapURL": {
- "properties": {
- "image": {
+ },
+ "state": {
"type": "string"
},
- "last_modified": {
- "example": "2026-04-11",
+ "state_name": {
"type": "string"
},
- "url": {
+ "thumbnail_url": {
"type": "string"
+ },
+ "units": {
+ "items": {
+ "$ref": "#/definitions/greystar.ListedUnit"
+ },
+ "type": "array"
+ },
+ "units_truncated": {
+ "type": "boolean"
}
},
"type": "object"
},
- "jumia.SitemapURLsResponse": {
+ "greystar.UnitSearchResult": {
"properties": {
- "count": {
- "example": 1000,
- "type": "integer"
- },
- "country": {
- "example": "ng",
- "type": "string"
+ "facets": {
+ "$ref": "#/definitions/greystar.UnitFacets"
},
- "fetched_at": {
+ "location": {
"type": "string"
},
- "has_next": {
- "example": true,
- "type": "boolean"
- },
"page": {
- "example": 1,
"type": "integer"
},
- "page_size": {
- "example": 1000,
+ "per_page": {
"type": "integer"
},
- "sitemap": {
- "example": "products-sitemap-9.xml.gz",
- "type": "string"
- },
- "source_url": {
- "type": "string"
+ "properties": {
+ "items": {
+ "$ref": "#/definitions/greystar.UnitProperty"
+ },
+ "type": "array"
},
"total_count": {
- "example": 16000,
"type": "integer"
},
- "urls": {
- "items": {
- "$ref": "#/definitions/jumia.SitemapURL"
- },
- "type": "array"
+ "total_pages": {
+ "type": "integer"
}
},
"type": "object"
},
- "jumia.SitemapsResponse": {
+ "grubhub.AvailabilityResponse": {
"properties": {
"count": {
- "example": 61,
+ "example": 2,
"type": "integer"
},
- "country": {
- "example": "ng",
- "type": "string"
- },
"fetched_at": {
"type": "string"
},
- "sitemaps": {
+ "requested": {
+ "description": "Requested is the id list as asked for, so a caller can tell which\nids Grubhub returned nothing for.",
"items": {
- "$ref": "#/definitions/jumia.SitemapFile"
+ "type": "string"
},
"type": "array"
},
- "source_url": {
- "type": "string"
+ "restaurants": {
+ "items": {
+ "$ref": "#/definitions/grubhub.RestaurantAvailability"
+ },
+ "type": "array"
},
- "type": {
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "jumia.Specification": {
+ "grubhub.MenuCategory": {
"properties": {
- "name": {
- "example": "GTIN Barcode",
+ "available": {
+ "example": true,
+ "type": "boolean"
+ },
+ "category_id": {
+ "example": "275127198073",
"type": "string"
},
- "value": {
- "example": "07205341072713",
+ "items": {
+ "items": {
+ "$ref": "#/definitions/grubhub.MenuItem"
+ },
+ "type": "array"
+ },
+ "name": {
+ "example": "Burgers",
"type": "string"
}
},
"type": "object"
},
- "jumia.categoriesResponseDoc": {
+ "grubhub.MenuItem": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "available": {
+ "example": true,
+ "type": "boolean"
},
- "data": {
- "$ref": "#/definitions/jumia.CategoriesResponse"
+ "delivery_price": {
+ "$ref": "#/definitions/grubhub.Money"
},
- "msg": {
- "example": "OK",
+ "description": {
"type": "string"
- }
- },
- "type": "object"
- },
- "jumia.countriesResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/jumia.CountriesResponse"
+ "image_url": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "item_id": {
+ "example": "275127198449",
+ "type": "string"
+ },
+ "max_price": {
+ "$ref": "#/definitions/grubhub.Money"
+ },
+ "min_price": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/grubhub.Money"
+ }
+ ],
+ "description": "MinPrice/MaxPrice bound an item whose price varies by the options\nchosen; they equal Price for a fixed-price item."
+ },
+ "name": {
+ "example": "Cheeseburger",
"type": "string"
+ },
+ "pickup_price": {
+ "$ref": "#/definitions/grubhub.Money"
+ },
+ "popular": {
+ "example": true,
+ "type": "boolean"
+ },
+ "price": {
+ "$ref": "#/definitions/grubhub.Money"
+ },
+ "tags": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "jumia.listingResponseDoc": {
+ "grubhub.MenuResponse": {
"properties": {
- "code": {
- "example": 200,
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/grubhub.MenuCategory"
+ },
+ "type": "array"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "item_count": {
+ "example": 8,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/jumia.ListingResponse"
+ "name": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "restaurant_id": {
+ "example": "6238960",
+ "type": "string"
+ },
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "jumia.productResponseDoc": {
+ "grubhub.Money": {
"properties": {
- "code": {
- "example": 200,
+ "amount": {
+ "example": 399,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/jumia.Product"
- },
- "msg": {
- "example": "OK",
+ "currency": {
+ "example": "USD",
"type": "string"
+ },
+ "value": {
+ "example": 3.99,
+ "type": "number"
}
},
"type": "object"
},
- "jumia.reviewsResponseDoc": {
+ "grubhub.Offer": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "amount": {
+ "$ref": "#/definitions/grubhub.OfferAmount"
},
- "data": {
- "$ref": "#/definitions/jumia.ReviewsResponse"
+ "description": {
+ "description": "Description is the full offer copy, including its fine print --\nminimum order rules, exclusions, redemption limits.",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "end_date": {
+ "type": "string"
+ },
+ "entitlement_id": {
+ "type": "string"
+ },
+ "entitlement_type": {
+ "example": "UNIFIED_REWARD",
+ "type": "string"
+ },
+ "offer_type": {
+ "example": "ENTERPRISE_REWARD",
+ "type": "string"
+ },
+ "pill_text": {
+ "description": "PillText is the short badge Grubhub's own UI shows on a restaurant\ncard, e.g. \"$10 off\".",
+ "example": "$10 off",
+ "type": "string"
+ },
+ "redeem_item_count": {
+ "example": 1,
+ "type": "integer"
+ },
+ "title": {
+ "example": "Free Double Cheeseburger",
"type": "string"
}
},
"type": "object"
},
- "jumia.sitemapURLsResponseDoc": {
+ "grubhub.OfferAmount": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "amount_maximum": {
+ "example": 10,
+ "type": "number"
},
- "data": {
- "$ref": "#/definitions/jumia.SitemapURLsResponse"
+ "currency": {
+ "example": "USD",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "order_minimum": {
+ "example": 20,
+ "type": "number"
+ },
+ "type": {
+ "example": "MENU_ITEM",
"type": "string"
+ },
+ "value": {
+ "example": 0,
+ "type": "number"
}
},
"type": "object"
},
- "jumia.sitemapsResponseDoc": {
+ "grubhub.OffersResponse": {
"properties": {
- "code": {
- "example": 200,
+ "count": {
+ "example": 1,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/jumia.SitemapsResponse"
+ "fetched_at": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "offers": {
+ "items": {
+ "$ref": "#/definitions/grubhub.Offer"
+ },
+ "type": "array"
+ },
+ "restaurant_id": {
+ "example": "1338141",
+ "type": "string"
+ },
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "justeat.FilterOption": {
+ "grubhub.Rating": {
"properties": {
"count": {
+ "example": 65,
"type": "integer"
},
- "filter": {
- "type": "string"
+ "value": {
+ "example": 4.6,
+ "type": "number"
}
},
"type": "object"
},
- "justeat.FiltersResponse": {
+ "grubhub.RestaurantAvailability": {
"properties": {
- "filters": {
+ "available_for_delivery": {
+ "description": "AvailableFor* is whether the channel is offered at all, as distinct\nfrom whether it is open right now.",
+ "example": true,
+ "type": "boolean"
+ },
+ "available_for_pickup": {
+ "example": true,
+ "type": "boolean"
+ },
+ "blacked_out": {
+ "example": false,
+ "type": "boolean"
+ },
+ "cuisines": {
"items": {
- "$ref": "#/definitions/justeat.FilterOption"
+ "type": "string"
},
"type": "array"
},
- "postcode": {
+ "delivers_to_location": {
+ "description": "DeliversToLocation is whether this restaurant delivers to the\ncoordinate supplied in the request.",
+ "example": true,
+ "type": "boolean"
+ },
+ "delivery_estimate_minutes": {
+ "example": 25,
+ "type": "integer"
+ },
+ "delivery_fee": {
+ "$ref": "#/definitions/grubhub.Money"
+ },
+ "distance_miles": {
+ "example": 0.23,
+ "type": "number"
+ },
+ "inundated": {
+ "description": "Inundated marks a restaurant Grubhub flags as overloaded.",
+ "example": false,
+ "type": "boolean"
+ },
+ "logo_url": {
"type": "string"
},
- "total_count": {
+ "next_delivery_time": {
+ "description": "NextDeliveryTime is when Grubhub says the next delivery order can be\nsent, useful when open_delivery is false.",
+ "type": "string"
+ },
+ "next_pickup_time": {
+ "type": "string"
+ },
+ "open": {
+ "description": "Open is the restaurant's overall state; the two channel flags below\ncan differ from it and from each other.",
+ "example": false,
+ "type": "boolean"
+ },
+ "open_delivery": {
+ "example": false,
+ "type": "boolean"
+ },
+ "open_pickup": {
+ "example": false,
+ "type": "boolean"
+ },
+ "order_minimum": {
+ "$ref": "#/definitions/grubhub.Money"
+ },
+ "pickup_estimate_minutes": {
+ "example": 10,
"type": "integer"
+ },
+ "restaurant_id": {
+ "example": "6238960",
+ "type": "string"
}
},
"type": "object"
},
- "justeat.MenuCategory": {
+ "grubhub.RestaurantHours": {
"properties": {
- "id": {
+ "day_of_week": {
+ "example": "Monday",
"type": "string"
},
- "items": {
- "items": {
- "$ref": "#/definitions/justeat.MenuItem"
- },
- "type": "array"
+ "end_time": {
+ "example": "23:59:59.000",
+ "type": "string"
},
- "name": {
+ "hours": {
+ "description": "Hours is Grubhub's own human-readable window.",
+ "example": "12:00 AM - 12:00 AM",
+ "type": "string"
+ },
+ "start_time": {
+ "example": "00:00:00.000",
"type": "string"
}
},
"type": "object"
},
- "justeat.MenuItem": {
+ "grubhub.RestaurantResponse": {
"properties": {
- "description": {
+ "address": {
"type": "string"
},
- "energy_display": {
+ "chain_name": {
"type": "string"
},
- "id": {
+ "city": {
"type": "string"
},
- "image_url": {
+ "cuisines": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "delivery_fee": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/grubhub.Money"
+ }
+ ],
+ "description": "Note the detail endpoint publishes fewer economics than the search\ncard: delivery_minimum and the ETA estimates come back null here, so\nuse /grubhub/search for those."
+ },
+ "fetched_at": {
"type": "string"
},
- "modifier_groups": {
+ "has_coupons": {
+ "type": "boolean"
+ },
+ "hours": {
"items": {
- "$ref": "#/definitions/justeat.ModifierGroup"
+ "$ref": "#/definitions/grubhub.RestaurantHours"
},
"type": "array"
},
+ "is_new": {
+ "type": "boolean"
+ },
+ "latitude": {
+ "type": "number"
+ },
+ "logo_url": {
+ "type": "string"
+ },
+ "longitude": {
+ "type": "number"
+ },
+ "menu_path": {
+ "type": "string"
+ },
"name": {
+ "example": "7th Street Burger Financial District",
"type": "string"
},
- "price": {
+ "offers_delivery": {
+ "type": "boolean"
+ },
+ "offers_pickup": {
+ "type": "boolean"
+ },
+ "online_ordering": {
+ "example": true,
+ "type": "boolean"
+ },
+ "phone_number": {
+ "type": "string"
+ },
+ "postal_code": {
+ "type": "string"
+ },
+ "price_rating": {
"type": "number"
+ },
+ "rating": {
+ "$ref": "#/definitions/grubhub.Rating"
+ },
+ "restaurant_id": {
+ "example": "6238960",
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "state": {
+ "type": "string"
+ },
+ "tags": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "timezone": {
+ "example": "America/New_York",
+ "type": "string"
}
},
"type": "object"
},
- "justeat.MenuResponse": {
+ "grubhub.Review": {
"properties": {
- "categories": {
+ "author_name": {
+ "example": "Annie",
+ "type": "string"
+ },
+ "created_at": {
+ "description": "CreatedAt is RFC3339, converted from the upstream's epoch millis.",
+ "example": "2026-08-09T12:05:42Z",
+ "type": "string"
+ },
+ "diner_type": {
+ "description": "DinerType distinguishes e.g. a Regular from a first-time diner.",
+ "example": "Regular",
+ "type": "string"
+ },
+ "items": {
+ "description": "Items are the menu items this review is attached to -- Grubhub ties\neach review to what the diner actually ordered.",
"items": {
- "$ref": "#/definitions/justeat.MenuCategory"
+ "$ref": "#/definitions/grubhub.ReviewedItem"
},
"type": "array"
},
- "currency_code": {
+ "rating": {
+ "example": 5,
+ "type": "integer"
+ },
+ "review_id": {
"type": "string"
},
- "item_count": {
+ "reviewer_review_count": {
+ "description": "ReviewerReviewCount is how many reviews this diner has written.",
+ "example": 21,
"type": "integer"
},
- "name": {
+ "sentiment": {
+ "description": "Sentiment is Grubhub's own classification of the review.",
+ "example": "Positive",
"type": "string"
},
- "restaurant_id": {
+ "text": {
+ "example": "Staff are great and burgers are great!",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "grubhub.ReviewedItem": {
+ "properties": {
+ "item_id": {
+ "example": "275127198449",
"type": "string"
},
- "unique_name": {
+ "name": {
+ "example": "Cheeseburger",
"type": "string"
}
},
"type": "object"
},
- "justeat.ModifierGroup": {
+ "grubhub.ReviewsResponse": {
"properties": {
- "id": {
+ "available_sorts": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "fetched_at": {
"type": "string"
},
- "max_choices": {
+ "page": {
+ "example": 1,
"type": "integer"
},
- "min_choices": {
+ "rating_count": {
"type": "integer"
},
- "name": {
+ "restaurant_id": {
+ "example": "6238960",
"type": "string"
},
- "options": {
+ "restaurant_score": {
+ "type": "number"
+ },
+ "reviews": {
"items": {
- "$ref": "#/definitions/justeat.ModifierOption"
+ "$ref": "#/definitions/grubhub.Review"
},
"type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "star_breakdown": {
+ "$ref": "#/definitions/grubhub.StarBreakdown"
+ },
+ "total_count": {
+ "example": 0,
+ "type": "integer"
+ },
+ "total_pages": {
+ "example": 0,
+ "type": "integer"
}
},
"type": "object"
},
- "justeat.ModifierOption": {
+ "grubhub.SearchResponse": {
"properties": {
- "addition_price": {
- "type": "number"
+ "count": {
+ "example": 20,
+ "type": "integer"
},
- "energy_display": {
+ "fetched_at": {
"type": "string"
},
- "id": {
- "type": "string"
+ "page": {
+ "example": 1,
+ "type": "integer"
},
- "name": {
+ "restaurants": {
+ "items": {
+ "$ref": "#/definitions/grubhub.SearchRestaurant"
+ },
+ "type": "array"
+ },
+ "source_url": {
"type": "string"
},
- "remove_price": {
- "type": "number"
+ "total_hits": {
+ "example": 1457,
+ "type": "integer"
+ },
+ "total_pages": {
+ "example": 73,
+ "type": "integer"
}
},
"type": "object"
},
- "justeat.RestaurantResponse": {
+ "grubhub.SearchRestaurant": {
"properties": {
"address": {
+ "example": "199 Water Street",
+ "type": "string"
+ },
+ "chain_name": {
"type": "string"
},
"city": {
+ "example": "New York",
"type": "string"
},
- "country": {
+ "coupons_available": {
+ "description": "CouponsAvailable and TotalOffers describe promotions without\nreproducing their (volatile) terms.",
+ "example": false,
+ "type": "boolean"
+ },
+ "cuisines": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "delivery_fee": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/grubhub.Money"
+ }
+ ],
+ "description": "Delivery and pickup economics."
+ },
+ "delivery_minimum": {
+ "$ref": "#/definitions/grubhub.Money"
+ },
+ "delivery_time_minutes": {
+ "example": 30,
+ "type": "integer"
+ },
+ "distance_miles": {
+ "description": "DistanceMiles is the distance from the search coordinate.",
+ "example": "0.4",
"type": "string"
},
- "image_url": {
+ "latitude": {
+ "type": "number"
+ },
+ "logo_url": {
"type": "string"
},
- "is_active": {
- "type": "boolean"
+ "longitude": {
+ "type": "number"
+ },
+ "menu_path": {
+ "type": "string"
},
"name": {
+ "example": "NYC Bagel and Coffee House",
"type": "string"
},
- "postal_code": {
+ "offers_delivery": {
+ "example": true,
+ "type": "boolean"
+ },
+ "offers_pickup": {
+ "example": true,
+ "type": "boolean"
+ },
+ "open": {
+ "example": true,
+ "type": "boolean"
+ },
+ "phone_number": {
"type": "string"
},
- "primary_cuisine": {
+ "pickup_time_minutes": {
+ "example": 15,
+ "type": "integer"
+ },
+ "postal_code": {
+ "example": "10038",
"type": "string"
},
- "rating": {
+ "price_rating": {
+ "description": "PriceRating is Grubhub's 1-4 \"$\" tier.",
+ "example": 2,
"type": "number"
},
- "rating_count": {
- "type": "integer"
+ "rating": {
+ "$ref": "#/definitions/grubhub.Rating"
},
"restaurant_id": {
+ "example": "14344720",
"type": "string"
},
- "unique_name": {
+ "service_fee": {
+ "$ref": "#/definitions/grubhub.Money"
+ },
+ "state": {
+ "example": "NY",
"type": "string"
+ },
+ "total_menu_items": {
+ "type": "integer"
+ },
+ "total_offers": {
+ "type": "integer"
}
},
"type": "object"
},
- "justeat.SearchResponse": {
+ "grubhub.StarBreakdown": {
"properties": {
- "restaurants": {
- "items": {
- "$ref": "#/definitions/justeat.SearchRestaurant"
- },
- "type": "array"
+ "1": {
+ "example": 0,
+ "type": "integer"
},
- "total_count": {
+ "2": {
+ "example": 1,
+ "type": "integer"
+ },
+ "3": {
+ "example": 0,
+ "type": "integer"
+ },
+ "4": {
+ "example": 5,
+ "type": "integer"
+ },
+ "5": {
+ "example": 94,
"type": "integer"
}
},
"type": "object"
},
- "justeat.SearchRestaurant": {
+ "grubhub.TimeSlotDay": {
"properties": {
- "city": {
+ "date": {
+ "example": "2026-09-01",
"type": "string"
},
- "delivery_eta_max_minutes": {
- "type": "integer"
- },
- "delivery_eta_min_minutes": {
- "type": "integer"
+ "times": {
+ "description": "Times is every orderable slot on this date, as RFC3339 timestamps\ncarrying the restaurant's real UTC offset for that instant -- Grubhub\nreports the grid in local wall-clock hours and quarter-hours, so this\nresolves DST rather than requiring the caller to.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "grubhub.TimepickerResponse": {
+ "properties": {
+ "days": {
+ "items": {
+ "$ref": "#/definitions/grubhub.TimeSlotDay"
+ },
+ "type": "array"
},
- "image_url": {
+ "earliest_order_send_time": {
+ "description": "EarliestOrderSendTime is the very next moment Grubhub will accept an\norder for this restaurant, ASAP or scheduled.",
"type": "string"
},
- "is_open_now": {
- "type": "boolean"
- },
- "name": {
+ "fetched_at": {
"type": "string"
},
- "postal_code": {
+ "location_mode": {
+ "example": "DELIVERY",
"type": "string"
},
- "rating": {
- "type": "number"
- },
- "rating_count": {
- "type": "integer"
- },
"restaurant_id": {
+ "example": "698307",
"type": "string"
},
- "unique_name": {
+ "source_url": {
+ "type": "string"
+ },
+ "time_zone": {
+ "example": "America/New_York",
"type": "string"
}
},
"type": "object"
},
- "justeat.filtersResponseDoc": {
+ "grubhub.availabilityResponseDoc": {
"properties": {
"code": {
"description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/justeat.FiltersResponse"
+ "$ref": "#/definitions/grubhub.AvailabilityResponse"
},
"msg": {
"description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
@@ -118151,14 +124048,14 @@
},
"type": "object"
},
- "justeat.menuResponseDoc": {
+ "grubhub.menuResponseDoc": {
"properties": {
"code": {
"description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/justeat.MenuResponse"
+ "$ref": "#/definitions/grubhub.MenuResponse"
},
"msg": {
"description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
@@ -118166,14 +124063,14 @@
},
"type": "object"
},
- "justeat.restaurantResponseDoc": {
+ "grubhub.offersResponseDoc": {
"properties": {
"code": {
"description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/justeat.RestaurantResponse"
+ "$ref": "#/definitions/grubhub.OffersResponse"
},
"msg": {
"description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
@@ -118181,14 +124078,14 @@
},
"type": "object"
},
- "justeat.searchResponseDoc": {
+ "grubhub.restaurantResponseDoc": {
"properties": {
"code": {
"description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/justeat.SearchResponse"
+ "$ref": "#/definitions/grubhub.RestaurantResponse"
},
"msg": {
"description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
@@ -118196,1194 +124093,1111 @@
},
"type": "object"
},
- "justwatch.AgeCertification": {
+ "grubhub.reviewsResponseDoc": {
"properties": {
- "technical_name": {
- "description": "Age certification code used by JustWatch, for example `PG-13`.",
- "example": "PG-13",
- "type": "string"
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/grubhub.ReviewsResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "justwatch.AgeCertificationsResponse": {
+ "grubhub.searchResponseDoc": {
"properties": {
- "age_certifications": {
- "description": "Age certifications used in the country.",
- "items": {
- "$ref": "#/definitions/justwatch.AgeCertification"
- },
- "type": "array"
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
},
- "country": {
- "description": "Two-letter ISO country code the certifications apply to.",
- "example": "US",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/grubhub.SearchResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "justwatch.AnalysisResponse": {
+ "grubhub.timepickerResponseDoc": {
"properties": {
- "summary": {
- "allOf": [
- {
- "$ref": "#/definitions/justwatch.AnalysisSummary"
- }
- ],
- "description": "Availability summary computed from the title's offers."
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
},
- "title": {
- "allOf": [
- {
- "$ref": "#/definitions/justwatch.TitleResponse"
- }
- ],
- "description": "Title the summary was computed for."
+ "data": {
+ "$ref": "#/definitions/grubhub.TimepickerResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "justwatch.AnalysisSummary": {
+ "guardian.ArticleResponse": {
"properties": {
- "available": {
- "description": "Whether the title has at least one offer.",
- "example": true,
- "type": "boolean"
- },
- "best_buy": {
- "allOf": [
- {
- "$ref": "#/definitions/justwatch.Offer"
- }
- ],
- "description": "Cheapest `BUY` offer for the title. Omitted when there is none."
- },
- "best_free": {
- "allOf": [
- {
- "$ref": "#/definitions/justwatch.Offer"
- }
- ],
- "description": "Cheapest `FREE` offer for the title. Omitted when there is none."
+ "authors": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "best_rent": {
- "allOf": [
- {
- "$ref": "#/definitions/justwatch.Offer"
- }
- ],
- "description": "Cheapest `RENT` offer for the title. Omitted when there is none."
+ "description": {
+ "type": "string"
},
- "best_subscription": {
- "allOf": [
- {
- "$ref": "#/definitions/justwatch.Offer"
- }
- ],
- "description": "Cheapest `FLATRATE` or `ADS` offer for the title. Omitted when there is none."
+ "image_url": {
+ "type": "string"
},
- "format_counts": {
- "additionalProperties": {
- "type": "integer"
+ "paragraphs": {
+ "items": {
+ "type": "string"
},
- "description": "Number of offers per picture format, keyed by format such as `HD` or `4K`.",
- "type": "object"
+ "type": "array"
},
- "monetization_counts": {
- "additionalProperties": {
- "type": "integer"
- },
- "description": "Number of offers per monetization type, keyed by type such as `RENT` or `BUY`.",
- "type": "object"
+ "published_at": {
+ "type": "string"
},
- "price_ranges": {
- "additionalProperties": {
- "$ref": "#/definitions/justwatch.PriceRange"
- },
- "description": "Lowest and highest price per monetization type, keyed by type. Only offers with a price are counted.",
- "type": "object"
+ "section": {
+ "type": "string"
},
- "provider_count": {
- "description": "Number of distinct providers that carry the title.",
- "example": 6,
- "type": "integer"
+ "title": {
+ "type": "string"
},
- "total_offers": {
- "description": "Total number of offers found for the title.",
- "example": 15,
- "type": "integer"
+ "updated_at": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "justwatch.Backdrop": {
+ "guardian.AuthorArticle": {
"properties": {
+ "image_url": {
+ "type": "string"
+ },
+ "published_at": {
+ "type": "string"
+ },
+ "section": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
"url": {
- "description": "URL of a backdrop image for the title.",
- "example": "https://images.justwatch.com/backdrop/8735151/s1920/inception.jpg",
"type": "string"
}
},
"type": "object"
},
- "justwatch.Clip": {
+ "guardian.AuthorResponse": {
"properties": {
- "external_id": {
- "description": "Video id of the clip on the hosting site.",
- "example": "8hP9D6kZseM",
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/guardian.AuthorArticle"
+ },
+ "type": "array"
+ },
+ "bio": {
"type": "string"
},
- "provider": {
- "description": "Site hosting the clip, for example `YOUTUBE`.",
- "example": "YOUTUBE",
+ "image_url": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "page": {
+ "type": "integer"
+ },
+ "slug": {
+ "type": "string"
+ },
+ "total_pages": {
+ "type": "integer"
+ },
+ "total_results": {
+ "type": "integer"
+ },
+ "twitter_handle": {
"type": "string"
},
"url": {
- "description": "URL where the clip can be watched.",
- "example": "https://www.youtube.com/watch?v=8hP9D6kZseM",
"type": "string"
}
},
"type": "object"
},
- "justwatch.Credit": {
+ "guardian.HeadlineItem": {
"properties": {
- "character_name": {
- "description": "Character the person plays. Omitted for crew roles.",
- "example": "Dom Cobb",
+ "author": {
"type": "string"
},
- "name": {
- "description": "Full name of the person.",
- "example": "Leonardo DiCaprio",
+ "published_at": {
"type": "string"
},
- "person_id": {
- "description": "JustWatch id of the person.",
- "example": 1641,
- "type": "integer"
+ "section": {
+ "type": "string"
},
- "role": {
- "description": "Role of the person on the title, for example `ACTOR`.",
- "example": "ACTOR",
+ "summary": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "justwatch.DiscoverResponse": {
+ "guardian.HeadlinesResponse": {
"properties": {
- "country": {
- "description": "Two-letter ISO country code the results are for.",
- "example": "US",
- "type": "string"
- },
- "genres": {
- "description": "Genre short names that were used as filters.",
- "example": [
- "act"
- ],
+ "items": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/guardian.HeadlineItem"
},
"type": "array"
},
- "language": {
- "description": "Two-letter language code used for titles and descriptions.",
- "example": "en",
+ "section": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "guardian.LiveBlock": {
+ "properties": {
+ "author": {
"type": "string"
},
- "monetization_types": {
- "description": "Monetization types that were used as filters, for example `FLATRATE`.",
- "example": [
- "FLATRATE"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
+ "id": {
+ "type": "string"
},
- "production_countries": {
- "description": "Production country codes that were used as filters.",
- "example": [
- "KR"
- ],
+ "paragraphs": {
"items": {
"type": "string"
},
"type": "array"
},
- "providers": {
- "description": "Provider short names that were used as filters, for example `nfx`.",
- "example": [
- "nfx"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
+ "published_at": {
+ "type": "string"
},
- "results": {
- "description": "Titles matching the request, one item per title.",
- "items": {
- "$ref": "#/definitions/justwatch.SearchTitle"
- },
- "type": "array"
- },
- "type": {
- "description": "Content type filter applied: `all`, `movie` or `show`.",
- "example": "all",
+ "title": {
"type": "string"
- },
- "year_max": {
- "description": "Latest release year used as a filter.",
- "example": 2026,
- "type": "integer"
- },
- "year_min": {
- "description": "Earliest release year used as a filter.",
- "example": 2020,
- "type": "integer"
}
},
"type": "object"
},
- "justwatch.EpisodeByIDResponse": {
+ "guardian.LiveKeyEvent": {
"properties": {
- "country": {
- "description": "Two-letter ISO country code the results are for.",
- "example": "US",
+ "published_at": {
"type": "string"
},
- "episode": {
- "allOf": [
- {
- "$ref": "#/definitions/justwatch.EpisodeSummary"
- }
- ],
- "description": "Episode that matches the requested id."
- },
- "language": {
- "description": "Two-letter language code used for titles and descriptions.",
- "example": "en",
+ "title": {
"type": "string"
}
},
"type": "object"
},
- "justwatch.EpisodeCountryOffers": {
+ "guardian.LiveResponse": {
"properties": {
- "country": {
- "description": "Two-letter ISO country code the offers apply to.",
- "example": "US",
- "type": "string"
- },
- "episode": {
- "allOf": [
- {
- "$ref": "#/definitions/justwatch.EpisodeSummary"
- }
- ],
- "description": "Episode details as listed in this country."
+ "blocks": {
+ "items": {
+ "$ref": "#/definitions/guardian.LiveBlock"
+ },
+ "type": "array"
},
- "offers": {
- "description": "Offers for the episode in this country.",
+ "key_events": {
"items": {
- "$ref": "#/definitions/justwatch.Offer"
+ "$ref": "#/definitions/guardian.LiveKeyEvent"
},
"type": "array"
+ },
+ "last_updated": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "justwatch.EpisodeOffersResponse": {
+ "guardian.TopicItem": {
"properties": {
- "countries": {
- "description": "Offers for the episode, one item per country.",
- "items": {
- "$ref": "#/definitions/justwatch.EpisodeCountryOffers"
- },
- "type": "array"
+ "kicker": {
+ "description": "Kicker is the series or blog label Guardian shows above the headline.",
+ "type": "string"
},
- "id": {
- "description": "JustWatch episode id the offers belong to, for example `tse5550494`.",
- "example": "tse5550494",
+ "published_at": {
"type": "string"
},
- "language": {
- "description": "Two-letter language code used for titles and descriptions.",
- "example": "en",
+ "section": {
+ "type": "string"
+ },
+ "summary": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "justwatch.EpisodeSummary": {
+ "guardian.TopicPagination": {
"properties": {
- "description": {
- "description": "Short synopsis of the episode.",
- "type": "string"
+ "has_next": {
+ "type": "boolean"
},
- "episode_number": {
- "description": "Number of the episode within its season.",
- "example": 1,
+ "next_page": {
"type": "integer"
},
- "id": {
- "description": "JustWatch episode id, for example `tse5550494`.",
- "example": "tse5550494",
- "type": "string"
+ "page": {
+ "type": "integer"
},
- "object_id": {
- "description": "Numeric JustWatch id of the episode.",
- "example": 5550494,
+ "total_pages": {
+ "description": "TotalPages is the archive's last page (1 for a section front).",
"type": "integer"
},
- "object_type": {
- "description": "JustWatch object type, `SHOW_EPISODE` for episodes.",
- "example": "SHOW_EPISODE",
- "type": "string"
+ "total_results": {
+ "description": "TotalResults is Guardian's article count for a tag archive.",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "guardian.TopicResponse": {
+ "properties": {
+ "is_front": {
+ "description": "IsFront is true for a curated section front (no archive paging) and\nfalse for a paginated tag archive.",
+ "type": "boolean"
},
- "offers": {
- "description": "Offers for the episode, when requested.",
+ "items": {
"items": {
- "$ref": "#/definitions/justwatch.Offer"
+ "$ref": "#/definitions/guardian.TopicItem"
},
"type": "array"
},
- "path": {
- "description": "JustWatch page path of the episode.",
- "type": "string"
- },
- "poster_url": {
- "description": "URL of the still or poster image for the episode.",
- "type": "string"
+ "pagination": {
+ "$ref": "#/definitions/guardian.TopicPagination"
},
- "title": {
- "description": "Episode title in the requested language.",
- "example": "Long Day's Journey Into Night",
+ "resolved_topic": {
+ "description": "ResolvedTopic is the path Guardian actually served, which differs from\nTopic for edition-scoped fronts (technology -> uk/technology).",
"type": "string"
},
- "url": {
- "description": "Full JustWatch page URL of the episode.",
+ "topic": {
"type": "string"
- },
- "year": {
- "description": "Release year of the episode.",
- "example": 2022,
- "type": "integer"
}
},
"type": "object"
},
- "justwatch.Genre": {
+ "guardian.articleResponseDoc": {
"properties": {
- "short_name": {
- "description": "Short genre code accepted as a filter, for example `act`.",
- "example": "act",
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "translation": {
- "description": "Genre name in the requested language, for example `Action & Adventure`.",
- "example": "Action & Adventure",
+ "data": {
+ "$ref": "#/definitions/guardian.ArticleResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "justwatch.GenreTitlesResponse": {
+ "guardian.authorResponseDoc": {
"properties": {
- "country": {
- "description": "Two-letter ISO country code the results are for.",
- "example": "US",
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "genre": {
- "description": "Genre short name the titles belong to, for example `act`.",
- "example": "act",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/guardian.AuthorResponse"
},
- "language": {
- "description": "Two-letter language code used for titles and descriptions.",
- "example": "en",
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "guardian.headlinesResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "results": {
- "description": "Titles matching the request, one item per title.",
- "items": {
- "$ref": "#/definitions/justwatch.SearchTitle"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/guardian.HeadlinesResponse"
},
- "type": {
- "description": "Content type filter applied: `all`, `movie` or `show`.",
- "example": "all",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "justwatch.GenresResponse": {
+ "guardian.liveResponseDoc": {
"properties": {
- "genres": {
- "description": "Genres available on JustWatch.",
- "items": {
- "$ref": "#/definitions/justwatch.Genre"
- },
- "type": "array"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "language": {
- "description": "Two-letter language code the genre names are translated into.",
- "example": "en",
+ "data": {
+ "$ref": "#/definitions/guardian.LiveResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "justwatch.MonetizationTitlesResponse": {
+ "guardian.topicResponseDoc": {
"properties": {
- "country": {
- "description": "Two-letter ISO country code the results are for.",
- "example": "US",
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "language": {
- "description": "Two-letter language code used for titles and descriptions.",
- "example": "en",
+ "data": {
+ "$ref": "#/definitions/guardian.TopicResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "gucci.CategoriesResponse": {
+ "properties": {
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/gucci.Category"
+ },
+ "type": "array"
},
- "monetization_type": {
- "description": "Monetization type the titles are offered under: `FLATRATE`, `FREE`, `ADS`, `RENT` or `BUY`.",
- "example": "FLATRATE",
+ "country": {
"type": "string"
},
- "results": {
- "description": "Titles matching the request, one item per title.",
+ "departments": {
"items": {
- "$ref": "#/definitions/justwatch.SearchTitle"
+ "type": "string"
},
"type": "array"
},
- "type": {
- "description": "Content type filter applied: `all`, `movie` or `show`.",
- "example": "all",
+ "fetched_at": {
+ "type": "string"
+ },
+ "language": {
+ "type": "string"
+ },
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "justwatch.NewTitlesResponse": {
+ "gucci.Category": {
"properties": {
- "country": {
- "description": "Two-letter ISO country code the results are for.",
- "example": "US",
+ "category": {
"type": "string"
},
- "language": {
- "description": "Two-letter language code used for titles and descriptions.",
- "example": "en",
+ "department": {
"type": "string"
},
- "results": {
- "description": "Newly added titles, one item per title.",
- "items": {
- "$ref": "#/definitions/justwatch.SearchTitle"
- },
- "type": "array"
+ "label": {
+ "type": "string"
},
- "type": {
- "description": "Content type filter applied: `all`, `movie` or `show`.",
- "example": "all",
+ "path": {
"type": "string"
}
},
"type": "object"
},
- "justwatch.Offer": {
+ "gucci.CategoryFacet": {
"properties": {
- "availability": {
- "description": "Availability of the offer as a schema.org URL, for example `https://schema.org/InStock`.",
- "example": "https://schema.org/InStock",
- "type": "string"
+ "count": {
+ "type": "integer"
},
- "category": {
- "description": "Format label shown for the offer, for example `Blu-Ray`.",
- "example": "Blu-Ray",
+ "path": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "gucci.CategoryProduct": {
+ "properties": {
+ "colors": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
"currency": {
- "description": "Currency of `price`, as an ISO 4217 code such as `USD`.",
- "example": "USD",
"type": "string"
},
- "monetization_type": {
- "description": "How the title is offered: `FLATRATE`, `FREE`, `ADS`, `RENT` or `BUY`.",
- "example": "RENT",
- "type": "string"
+ "images": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "presentation_type": {
- "description": "Picture format of the offer, for example `HD` or `4K`.",
- "example": "4K",
- "type": "string"
+ "in_stock": {
+ "type": "boolean"
},
- "price": {
- "description": "Price of the offer in `currency`. Omitted for free and subscription offers without a price.",
- "example": 4.99,
- "type": "number"
+ "in_stock_online": {
+ "type": "boolean"
},
- "provider": {
- "description": "Name of the provider offering the title, for example `Amazon Video`.",
- "example": "Amazon Video",
+ "in_stock_stores": {
+ "type": "boolean"
+ },
+ "name": {
"type": "string"
},
- "provider_id": {
- "description": "JustWatch id of the provider.",
- "example": 10,
- "type": "integer"
+ "price": {
+ "type": "number"
},
- "provider_short": {
- "description": "Short provider code, for example `amz`.",
- "example": "amz",
+ "style_code": {
"type": "string"
},
- "provider_technical": {
- "description": "Technical provider name used by JustWatch, for example `amazon`.",
- "example": "amazon",
+ "url": {
"type": "string"
},
- "url": {
- "description": "Link to watch or buy the title at the provider.",
+ "variation_description": {
"type": "string"
}
},
"type": "object"
},
- "justwatch.PopularResponse": {
+ "gucci.CategoryResponse": {
"properties": {
- "country": {
- "description": "Two-letter ISO country code the results are for.",
- "example": "US",
- "type": "string"
- },
- "has_next_page": {
- "description": "Whether more popular titles are available after this page.",
- "example": true,
- "type": "boolean"
- },
- "language": {
- "description": "Two-letter language code used for titles and descriptions.",
- "example": "en",
+ "category": {
"type": "string"
},
- "next_cursor": {
- "description": "Cursor to pass as `cursor` to get the next page.",
- "example": "Mg==",
+ "country": {
"type": "string"
},
- "results": {
- "description": "Popular titles in ranked order, one item per title.",
+ "facets": {
"items": {
- "$ref": "#/definitions/justwatch.SearchTitle"
+ "$ref": "#/definitions/gucci.CategoryFacet"
},
"type": "array"
},
- "type": {
- "description": "Content type filter applied: `all`, `movie` or `show`.",
- "example": "all",
+ "fetched_at": {
"type": "string"
- }
- },
- "type": "object"
- },
- "justwatch.PriceRange": {
- "properties": {
- "currency": {
- "description": "Currency of the prices, as an ISO 4217 code such as `USD`.",
- "example": "USD",
+ },
+ "language": {
"type": "string"
},
- "max": {
- "description": "Highest price among the offers of this type.",
- "example": 14.99,
- "type": "number"
+ "page": {
+ "type": "integer"
},
- "min": {
- "description": "Lowest price among the offers of this type.",
- "example": 2.99,
- "type": "number"
- }
- },
- "type": "object"
- },
- "justwatch.Provider": {
- "properties": {
- "clear_name": {
- "description": "Display name of the provider, for example `Netflix`.",
- "example": "Netflix",
- "type": "string"
+ "pages_count": {
+ "type": "integer"
},
- "icon_url": {
- "description": "URL of the provider's icon image.",
- "example": "https://images.justwatch.com/icon/207360008/s100/netflix.jpg",
- "type": "string"
+ "products": {
+ "items": {
+ "$ref": "#/definitions/gucci.CategoryProduct"
+ },
+ "type": "array"
},
- "id": {
- "description": "JustWatch id of the provider.",
- "example": 8,
+ "products_count": {
"type": "integer"
},
- "short_name": {
- "description": "Short provider code accepted as a filter, for example `nfx`.",
- "example": "nfx",
- "type": "string"
+ "sort_options": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "technical_name": {
- "description": "Technical provider name used by JustWatch, for example `netflix`.",
- "example": "netflix",
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "justwatch.ProviderTitlesResponse": {
+ "gucci.Product": {
"properties": {
- "country": {
- "description": "Two-letter ISO country code the results are for.",
- "example": "US",
+ "brand": {
"type": "string"
},
- "language": {
- "description": "Two-letter language code used for titles and descriptions.",
- "example": "en",
- "type": "string"
+ "categories": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "provider": {
- "description": "Provider short name the titles are available on, for example `nfx`.",
- "example": "nfx",
- "type": "string"
+ "category_codes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "results": {
- "description": "Titles matching the request, one item per title.",
+ "colors": {
"items": {
- "$ref": "#/definitions/justwatch.SearchTitle"
+ "type": "string"
},
"type": "array"
},
- "type": {
- "description": "Content type filter applied: `all`, `movie` or `show`.",
- "example": "all",
+ "currency": {
"type": "string"
- }
- },
- "type": "object"
- },
- "justwatch.ProvidersResponse": {
- "properties": {
- "country": {
- "description": "Two-letter ISO country code the providers are available in.",
- "example": "US",
+ },
+ "description": {
"type": "string"
},
- "providers": {
- "description": "Streaming and purchase providers available in the country.",
+ "gender": {
+ "type": "string"
+ },
+ "images": {
"items": {
- "$ref": "#/definitions/justwatch.Provider"
+ "type": "string"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "justwatch.Scoring": {
- "properties": {
- "best_rating": {
- "description": "Top of the scale for `justwatch_rating`, for example `100`.",
- "example": "100",
- "type": "string"
},
- "certified_fresh": {
- "description": "Whether the title carries the Rotten Tomatoes Certified Fresh badge.",
- "example": true,
+ "in_stock": {
"type": "boolean"
},
- "imdb_score": {
- "description": "IMDb user rating out of 10.",
- "example": 8.8,
- "type": "number"
+ "in_stock_online": {
+ "type": "boolean"
},
- "imdb_votes": {
- "description": "Number of IMDb votes behind `imdb_score`.",
- "example": 2798306,
- "type": "integer"
+ "in_stock_stores": {
+ "type": "boolean"
},
- "justwatch_rating": {
- "description": "JustWatch user rating, on the scale given by `best_rating`.",
- "example": 97,
- "type": "number"
+ "line": {
+ "type": "string"
},
- "rating_count": {
- "description": "Number of ratings behind `justwatch_rating`.",
- "example": 77696,
- "type": "integer"
+ "materials": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "tmdb_popularity": {
- "description": "TMDB popularity score for the title.",
- "example": 38.5801,
- "type": "number"
+ "name": {
+ "type": "string"
},
- "tmdb_score": {
- "description": "TMDB user rating for the title.",
- "example": 8.372,
+ "price": {
"type": "number"
},
- "tomato_meter": {
- "description": "Rotten Tomatoes Tomatometer score, as a percentage.",
- "example": 87,
- "type": "integer"
+ "sizes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "sku": {
+ "type": "string"
+ },
+ "style_code": {
+ "type": "string"
+ },
+ "thumbnail_url": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "justwatch.SearchResponse": {
+ "gucci.ProductDetailResponse": {
"properties": {
- "country": {
- "description": "Two-letter ISO country code the results are for.",
- "example": "US",
+ "availability": {
"type": "string"
},
- "language": {
- "description": "Two-letter language code used for titles and descriptions.",
- "example": "en",
+ "brand": {
"type": "string"
},
- "query": {
- "description": "Search text that was run.",
- "example": "inception",
- "type": "string"
+ "breadcrumbs": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "results": {
- "description": "Titles matching the search text, one item per title.",
+ "categories": {
"items": {
- "$ref": "#/definitions/justwatch.SearchTitle"
+ "type": "string"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "justwatch.SearchTitle": {
- "properties": {
- "id": {
- "description": "JustWatch title id, for example `tm92641` for a movie.",
- "example": "tm92641",
+ },
+ "category_codes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "colors": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "currency": {
"type": "string"
},
- "object_id": {
- "description": "Numeric JustWatch id of the title.",
- "example": 92641,
- "type": "integer"
+ "description": {
+ "type": "string"
},
- "object_type": {
- "description": "JustWatch object type of the title, for example `MOVIE` or `SHOW`.",
- "example": "MOVIE",
+ "fetched_at": {
"type": "string"
},
- "offers": {
- "description": "Streaming, rental and purchase offers for the title.",
+ "gender": {
+ "type": "string"
+ },
+ "images": {
"items": {
- "$ref": "#/definitions/justwatch.Offer"
+ "type": "string"
},
"type": "array"
},
- "path": {
- "description": "JustWatch page path of the title, for example `/us/movie/inception`.",
- "example": "/us/movie/inception",
+ "in_stock": {
+ "type": "boolean"
+ },
+ "in_stock_online": {
+ "type": "boolean"
+ },
+ "in_stock_stores": {
+ "type": "boolean"
+ },
+ "line": {
"type": "string"
},
- "poster_url": {
- "description": "URL of the poster image for the title.",
- "example": "https://images.justwatch.com/poster/302449148/s718/inception.jpg",
+ "materials": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "name": {
"type": "string"
},
- "production_countries": {
- "description": "ProductionCountries lists the title's country of origin as two-letter ISO\ncodes. It is only populated on surfaces that request it, such as discover.",
- "example": [
- "KR"
- ],
+ "price": {
+ "type": "number"
+ },
+ "sizes": {
"items": {
"type": "string"
},
"type": "array"
},
- "title": {
- "description": "Name of the title in the requested language.",
- "example": "Inception",
+ "sku": {
"type": "string"
},
- "url": {
- "description": "Full JustWatch page URL of the title.",
- "example": "https://www.justwatch.com/us/movie/inception",
+ "source_url": {
"type": "string"
},
- "year": {
- "description": "Release year of the title.",
- "example": 2010,
- "type": "integer"
+ "style_code": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "justwatch.SeasonByIDResponse": {
+ "gucci.RecommendationsResponse": {
"properties": {
+ "count": {
+ "type": "integer"
+ },
"country": {
- "description": "Two-letter ISO country code the results are for.",
- "example": "US",
"type": "string"
},
- "language": {
- "description": "Two-letter language code used for titles and descriptions.",
- "example": "en",
+ "fetched_at": {
"type": "string"
},
- "season": {
- "allOf": [
- {
- "$ref": "#/definitions/justwatch.SeasonSummary"
- }
- ],
- "description": "Season that matches the requested id."
- }
- },
- "type": "object"
- },
- "justwatch.SeasonEpisodesResponse": {
- "properties": {
- "country": {
- "description": "Two-letter ISO country code the results are for.",
- "example": "US",
+ "model": {
"type": "string"
},
- "episodes": {
- "description": "Episodes of the season, in order.",
+ "products": {
"items": {
- "$ref": "#/definitions/justwatch.EpisodeSummary"
+ "$ref": "#/definitions/gucci.RecommendedProduct"
},
"type": "array"
},
- "language": {
- "description": "Two-letter language code used for titles and descriptions.",
- "example": "en",
+ "source_url": {
"type": "string"
},
- "season": {
- "allOf": [
- {
- "$ref": "#/definitions/justwatch.SeasonSummary"
- }
- ],
- "description": "Season the episodes belong to."
+ "style_code": {
+ "type": "string"
}
},
"type": "object"
},
- "justwatch.SeasonSummary": {
+ "gucci.RecommendedProduct": {
"properties": {
- "description": {
- "description": "Short synopsis of the season.",
+ "currency": {
"type": "string"
},
- "id": {
- "description": "JustWatch season id, for example `tss297253`.",
- "example": "tss297253",
+ "image_url": {
"type": "string"
},
- "object_id": {
- "description": "Numeric JustWatch id of the season.",
- "example": 297253,
- "type": "integer"
- },
- "object_type": {
- "description": "JustWatch object type, `SHOW_SEASON` for seasons.",
- "example": "SHOW_SEASON",
- "type": "string"
+ "in_stock_online": {
+ "type": "boolean"
},
- "path": {
- "description": "JustWatch page path of the season.",
- "example": "/us/tv-show/from/season-1",
- "type": "string"
+ "in_stock_stores": {
+ "type": "boolean"
},
- "poster_url": {
- "description": "URL of the poster image for the season.",
- "example": "https://images.justwatch.com/poster/320190730/s718/season-1.jpg",
+ "name": {
"type": "string"
},
- "season_number": {
- "description": "Number of the season within the show.",
- "example": 1,
- "type": "integer"
+ "price": {
+ "type": "number"
},
- "title": {
- "description": "Season title, for example `Season 1`.",
- "example": "Season 1",
+ "style_code": {
"type": "string"
},
"url": {
- "description": "Full JustWatch page URL of the season.",
- "example": "https://www.justwatch.com/us/tv-show/from/season-1",
"type": "string"
- },
- "year": {
- "description": "Release year of the season.",
- "example": 2022,
- "type": "integer"
}
},
"type": "object"
},
- "justwatch.ShowSeasonsResponse": {
+ "gucci.SearchResponse": {
"properties": {
+ "count": {
+ "type": "integer"
+ },
"country": {
- "description": "Two-letter ISO country code the results are for.",
- "example": "US",
"type": "string"
},
- "language": {
- "description": "Two-letter language code used for titles and descriptions.",
- "example": "en",
+ "fetched_at": {
"type": "string"
},
- "seasons": {
- "description": "Seasons of the show, in order.",
+ "limit": {
+ "type": "integer"
+ },
+ "page": {
+ "type": "integer"
+ },
+ "products": {
"items": {
- "$ref": "#/definitions/justwatch.SeasonSummary"
+ "$ref": "#/definitions/gucci.Product"
},
"type": "array"
},
- "show": {
- "allOf": [
- {
- "$ref": "#/definitions/justwatch.TitleResponse"
- }
- ],
- "description": "Show the seasons belong to."
+ "query": {
+ "type": "string"
+ },
+ "size": {
+ "type": "string"
+ },
+ "size_facets": {
+ "additionalProperties": {
+ "type": "integer"
+ },
+ "description": "SizeFacets lists the live size values and counts returned by Gucci's\ncatalog for this query. A value can be passed back as Size.",
+ "type": "object"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "total_pages": {
+ "type": "integer"
+ },
+ "total_results": {
+ "type": "integer"
}
},
"type": "object"
},
- "justwatch.SimilarTitlesResponse": {
+ "gucci.SizeGuideResponse": {
"properties": {
- "country": {
- "description": "Two-letter ISO country code the results are for.",
- "example": "US",
- "type": "string"
+ "available": {
+ "type": "boolean"
},
- "id": {
- "description": "JustWatch title id the similar titles are based on, for example `tm92641`.",
- "example": "tm92641",
+ "fetched_at": {
"type": "string"
},
- "language": {
- "description": "Two-letter language code used for titles and descriptions.",
- "example": "en",
- "type": "string"
+ "headers": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "results": {
- "description": "Titles similar to the requested one, one item per title.",
+ "rows": {
"items": {
- "$ref": "#/definitions/justwatch.SearchTitle"
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
"type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "style_code": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
}
},
"type": "object"
},
- "justwatch.TitleCountryOffers": {
+ "gucci.Store": {
"properties": {
- "country": {
- "description": "Two-letter ISO country code the offers apply to.",
- "example": "US",
+ "address": {
"type": "string"
},
- "offers": {
- "description": "Offers for the title in this country.",
+ "book_appointment_url": {
+ "type": "string"
+ },
+ "city": {
+ "type": "string"
+ },
+ "departments": {
"items": {
- "$ref": "#/definitions/justwatch.Offer"
+ "type": "string"
},
"type": "array"
},
- "title": {
- "allOf": [
- {
- "$ref": "#/definitions/justwatch.TitleResponse"
- }
- ],
- "description": "Title details as listed in this country."
+ "latitude": {
+ "type": "number"
+ },
+ "longitude": {
+ "type": "number"
+ },
+ "name": {
+ "type": "string"
+ },
+ "phone": {
+ "type": "string"
+ },
+ "slug": {
+ "type": "string"
+ },
+ "store_code": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "justwatch.TitleMediaResponse": {
+ "gucci.StoreDetailResponse": {
"properties": {
- "backdrops": {
- "description": "Backdrop images for the title.",
- "items": {
- "$ref": "#/definitions/justwatch.Backdrop"
- },
- "type": "array"
+ "city": {
+ "type": "string"
},
- "clips": {
- "description": "Trailers and other video clips for the title.",
+ "country": {
+ "type": "string"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "images": {
"items": {
- "$ref": "#/definitions/justwatch.Clip"
+ "type": "string"
},
"type": "array"
},
- "country": {
- "description": "Two-letter ISO country code the results are for.",
- "example": "US",
+ "name": {
"type": "string"
},
- "credits": {
- "description": "Cast and crew credited on the title.",
+ "opening_hours": {
"items": {
- "$ref": "#/definitions/justwatch.Credit"
+ "$ref": "#/definitions/gucci.StoreOpeningHours"
},
"type": "array"
},
- "id": {
- "description": "JustWatch title id the media belongs to, for example `tm92641`.",
- "example": "tm92641",
+ "phone": {
"type": "string"
},
- "language": {
- "description": "Two-letter language code used for titles and descriptions.",
- "example": "en",
+ "postal_code": {
"type": "string"
},
- "title": {
- "description": "Name of the title in the requested language.",
- "example": "Inception",
+ "region": {
+ "type": "string"
+ },
+ "slug": {
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "street_address": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "justwatch.TitleOffersResponse": {
+ "gucci.StoreOpeningHours": {
"properties": {
- "countries": {
- "description": "Offers for the title, one item per country.",
+ "closes": {
+ "type": "string"
+ },
+ "days": {
"items": {
- "$ref": "#/definitions/justwatch.TitleCountryOffers"
+ "type": "string"
},
"type": "array"
},
- "id": {
- "description": "JustWatch title id the offers belong to, for example `tm92641`.",
- "example": "tm92641",
+ "opens": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "gucci.StoreSearchResponse": {
+ "properties": {
+ "count": {
+ "type": "integer"
+ },
+ "fetched_at": {
"type": "string"
},
"language": {
- "description": "Two-letter language code used for titles and descriptions.",
- "example": "en",
"type": "string"
+ },
+ "market": {
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "stores": {
+ "items": {
+ "$ref": "#/definitions/gucci.StoreSearchResult"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "justwatch.TitleResponse": {
+ "gucci.StoreSearchResult": {
"properties": {
- "content_rating": {
- "description": "Age or content rating shown for the title.",
- "type": "string"
+ "active": {
+ "type": "boolean"
},
- "description": {
- "description": "Synopsis of the title.",
+ "address": {
"type": "string"
},
- "genres": {
- "description": "Genre names of the title.",
+ "categories": {
"items": {
"type": "string"
},
"type": "array"
},
- "id": {
- "description": "JustWatch title id, for example `tm92641` for a movie.",
- "example": "tm92641",
+ "city": {
"type": "string"
},
- "object_id": {
- "description": "Numeric JustWatch id of the title.",
- "example": 92641,
+ "latitude": {
+ "type": "number"
+ },
+ "longitude": {
+ "type": "number"
+ },
+ "name": {
+ "type": "string"
+ },
+ "number": {
"type": "integer"
},
- "object_type": {
- "description": "JustWatch object type of the title, for example `MOVIE` or `SHOW`.",
- "example": "MOVIE",
+ "phone": {
"type": "string"
},
- "offers": {
- "description": "Streaming, rental and purchase offers for the title.",
+ "services": {
"items": {
- "$ref": "#/definitions/justwatch.Offer"
+ "type": "string"
},
"type": "array"
},
- "path": {
- "description": "JustWatch page path of the title, for example `/us/movie/inception`.",
- "example": "/us/movie/inception",
+ "type": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "gucci.StoresResponse": {
+ "properties": {
+ "count": {
+ "type": "integer"
},
- "poster_url": {
- "description": "URL of the poster image for the title.",
- "example": "https://images.justwatch.com/poster/302449148/s718/inception.jpg",
+ "country": {
"type": "string"
},
- "release_date": {
- "description": "Release date of the title, for example `2010-07-14`.",
- "example": "2010-07-14",
+ "departments": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "fetched_at": {
"type": "string"
},
- "runtime": {
- "description": "Running time as an ISO 8601 duration, for example `PT2H28M0S`.",
- "example": "PT2H28M0S",
+ "source_url": {
"type": "string"
},
- "scoring": {
- "allOf": [
- {
- "$ref": "#/definitions/justwatch.Scoring"
- }
- ],
- "description": "User and critic ratings for the title."
+ "stores": {
+ "items": {
+ "$ref": "#/definitions/gucci.Store"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "gucci.SuggestResponse": {
+ "properties": {
+ "fetched_at": {
+ "type": "string"
},
- "title": {
- "description": "Name of the title in the requested language.",
- "example": "Inception",
+ "query": {
"type": "string"
},
- "url": {
- "description": "Full JustWatch page URL of the title.",
- "example": "https://www.justwatch.com/us/movie/inception",
+ "source_url": {
"type": "string"
},
- "year": {
- "description": "Release year of the title.",
- "example": 2010,
+ "suggestions": {
+ "items": {
+ "$ref": "#/definitions/gucci.SuggestedQuery"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "gucci.SuggestedQuery": {
+ "properties": {
+ "query": {
+ "type": "string"
+ },
+ "result_count": {
"type": "integer"
}
},
"type": "object"
},
- "justwatch.ageCertificationsResponseDoc": {
+ "gucci.categoriesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/justwatch.AgeCertificationsResponse"
+ "$ref": "#/definitions/gucci.CategoriesResponse"
},
"msg": {
"example": "OK",
@@ -119392,14 +125206,14 @@
},
"type": "object"
},
- "justwatch.analysisResponseDoc": {
+ "gucci.categoryResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/justwatch.AnalysisResponse"
+ "$ref": "#/definitions/gucci.CategoryResponse"
},
"msg": {
"example": "OK",
@@ -119408,14 +125222,14 @@
},
"type": "object"
},
- "justwatch.discoverResponseDoc": {
+ "gucci.productResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/justwatch.DiscoverResponse"
+ "$ref": "#/definitions/gucci.ProductDetailResponse"
},
"msg": {
"example": "OK",
@@ -119424,14 +125238,14 @@
},
"type": "object"
},
- "justwatch.episodeByIDResponseDoc": {
+ "gucci.recommendationsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/justwatch.EpisodeByIDResponse"
+ "$ref": "#/definitions/gucci.RecommendationsResponse"
},
"msg": {
"example": "OK",
@@ -119440,14 +125254,14 @@
},
"type": "object"
},
- "justwatch.episodeOffersResponseDoc": {
+ "gucci.searchResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/justwatch.EpisodeOffersResponse"
+ "$ref": "#/definitions/gucci.SearchResponse"
},
"msg": {
"example": "OK",
@@ -119456,14 +125270,14 @@
},
"type": "object"
},
- "justwatch.genreTitlesResponseDoc": {
+ "gucci.sizeGuideResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/justwatch.GenreTitlesResponse"
+ "$ref": "#/definitions/gucci.SizeGuideResponse"
},
"msg": {
"example": "OK",
@@ -119472,14 +125286,14 @@
},
"type": "object"
},
- "justwatch.genresResponseDoc": {
+ "gucci.storeResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/justwatch.GenresResponse"
+ "$ref": "#/definitions/gucci.StoreDetailResponse"
},
"msg": {
"example": "OK",
@@ -119488,14 +125302,14 @@
},
"type": "object"
},
- "justwatch.monetizationTitlesResponseDoc": {
+ "gucci.storeSearchResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/justwatch.MonetizationTitlesResponse"
+ "$ref": "#/definitions/gucci.StoreSearchResponse"
},
"msg": {
"example": "OK",
@@ -119504,14 +125318,14 @@
},
"type": "object"
},
- "justwatch.newTitlesResponseDoc": {
+ "gucci.storesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/justwatch.NewTitlesResponse"
+ "$ref": "#/definitions/gucci.StoresResponse"
},
"msg": {
"example": "OK",
@@ -119520,14 +125334,14 @@
},
"type": "object"
},
- "justwatch.popularResponseDoc": {
+ "gucci.suggestResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/justwatch.PopularResponse"
+ "$ref": "#/definitions/gucci.SuggestResponse"
},
"msg": {
"example": "OK",
@@ -119536,110 +125350,199 @@
},
"type": "object"
},
- "justwatch.providerTitlesResponseDoc": {
+ "gulfnews.AuthorArticle": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "summary": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/justwatch.ProviderTitlesResponse"
+ "title": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "justwatch.providersResponseDoc": {
+ "gulfnews.AuthorResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/gulfnews.AuthorArticle"
+ },
+ "type": "array"
},
- "data": {
- "$ref": "#/definitions/justwatch.ProvidersResponse"
+ "bio": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "job_title": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "slug": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "justwatch.searchResponseDoc": {
+ "hbr.ArticleResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "authors": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "data": {
- "$ref": "#/definitions/justwatch.SearchResponse"
+ "body": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "description": {
+ "type": "string"
+ },
+ "from_magazine": {
+ "type": "boolean"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "published_at": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "justwatch.seasonByIDResponseDoc": {
+ "hbr.CategoriesResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "groups": {
+ "items": {
+ "$ref": "#/definitions/hbr.CategoryGroup"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "hbr.Category": {
+ "properties": {
+ "name": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/justwatch.SeasonByIDResponse"
+ "slug": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "hbr.CategoryGroup": {
+ "properties": {
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/hbr.Category"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "name": {
"type": "string"
}
},
"type": "object"
},
- "justwatch.seasonEpisodesResponseDoc": {
+ "hbr.HeadlineItem": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "authors": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "data": {
- "$ref": "#/definitions/justwatch.SeasonEpisodesResponse"
+ "content_type": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "image_url": {
+ "type": "string"
+ },
+ "summary": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "topic": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "justwatch.showSeasonsResponseDoc": {
+ "hbr.HeadlinesResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "items": {
+ "items": {
+ "$ref": "#/definitions/hbr.HeadlineItem"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "hbr.TopicItem": {
+ "properties": {
+ "authors": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "data": {
- "$ref": "#/definitions/justwatch.ShowSeasonsResponse"
+ "description": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "from_magazine": {
+ "type": "boolean"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "justwatch.similarTitlesResponseDoc": {
+ "hbr.TopicResponse": {
+ "properties": {
+ "items": {
+ "items": {
+ "$ref": "#/definitions/hbr.TopicItem"
+ },
+ "type": "array"
+ },
+ "topic": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "hbr.articleResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/justwatch.SimilarTitlesResponse"
+ "$ref": "#/definitions/hbr.ArticleResponse"
},
"msg": {
"example": "OK",
@@ -119648,14 +125551,14 @@
},
"type": "object"
},
- "justwatch.titleMediaResponseDoc": {
+ "hbr.categoriesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/justwatch.TitleMediaResponse"
+ "$ref": "#/definitions/hbr.CategoriesResponse"
},
"msg": {
"example": "OK",
@@ -119664,14 +125567,14 @@
},
"type": "object"
},
- "justwatch.titleOffersResponseDoc": {
+ "hbr.headlinesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/justwatch.TitleOffersResponse"
+ "$ref": "#/definitions/hbr.HeadlinesResponse"
},
"msg": {
"example": "OK",
@@ -119680,14 +125583,14 @@
},
"type": "object"
},
- "justwatch.titleResponseDoc": {
+ "hbr.topicResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/justwatch.TitleResponse"
+ "$ref": "#/definitions/hbr.TopicResponse"
},
"msg": {
"example": "OK",
@@ -119696,2224 +125599,1947 @@
},
"type": "object"
},
- "kalshi.BatchMarketHistoryResponse": {
+ "healthgrades.AwardHospital": {
"properties": {
- "end_ts": {
- "description": "End of the requested range, in Unix seconds.",
- "example": 1780804800,
- "type": "integer"
- },
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-06-07T14:00:00Z",
- "type": "string"
- },
- "include_latest_before_start": {
- "description": "Whether the latest candle before `start_ts` was requested.",
- "example": false,
- "type": "boolean"
+ "address": {
+ "$ref": "#/definitions/healthgrades.FacilityAddress"
},
- "markets": {
- "description": "Candlestick history for each requested market.",
+ "awards": {
"items": {
- "$ref": "#/definitions/kalshi.MarketHistoryResponse"
+ "$ref": "#/definitions/healthgrades.HospitalAwardEntry"
},
"type": "array"
},
- "period_interval": {
- "description": "Length of each candlestick period, in minutes.",
- "example": 1440,
+ "description": {
+ "type": "string"
+ },
+ "distance_miles": {
+ "type": "number"
+ },
+ "id": {
+ "type": "string"
+ },
+ "latitude": {
+ "type": "number"
+ },
+ "longitude": {
+ "type": "number"
+ },
+ "name": {
+ "type": "string"
+ },
+ "phone": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "healthgrades.CommunityAnswer": {
+ "properties": {
+ "no": {
"type": "integer"
},
- "source_url": {
- "description": "URL the data was read from.",
- "example": "https://external-api.kalshi.com/trade-api/v2/markets/candlesticks",
+ "question": {
"type": "string"
},
- "start_ts": {
- "description": "Start of the requested range, in Unix seconds.",
- "example": 1780286400,
+ "yes": {
"type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "healthgrades.FacilityAddress": {
+ "properties": {
+ "city": {
+ "type": "string"
},
- "tickers": {
- "description": "Tickers of the Kalshi markets that were requested.",
- "example": [
- "KXELONMARS-99"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
+ "postal_code": {
+ "type": "string"
+ },
+ "state": {
+ "type": "string"
+ },
+ "street": {
+ "type": "string"
}
},
"type": "object"
},
- "kalshi.BatchOrderBookResponse": {
+ "healthgrades.FacilityFAQ": {
"properties": {
- "books": {
- "description": "Order book for each requested market.",
+ "answer": {
+ "type": "string"
+ },
+ "question": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "healthgrades.FacilityFiltersResponse": {
+ "properties": {
+ "filters": {
"items": {
- "$ref": "#/definitions/kalshi.OrderBookResponse"
+ "$ref": "#/definitions/healthgrades.PhysicianFilterGroup"
},
"type": "array"
},
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-06-07T14:00:00Z",
- "type": "string"
- },
- "source_url": {
- "description": "URL the data was read from.",
- "example": "https://external-api.kalshi.com/trade-api/v2/markets/orderbooks",
+ "query": {
"type": "string"
},
- "tickers": {
- "description": "Tickers of the Kalshi markets that were requested.",
- "example": [
- "KXELONMARS-99"
- ],
+ "sorts": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/healthgrades.PhysicianSortOption"
},
"type": "array"
+ },
+ "type": {
+ "type": "string"
+ },
+ "where": {
+ "type": "string"
}
},
"type": "object"
},
- "kalshi.CandleOHLC": {
+ "healthgrades.FacilityHours": {
"properties": {
- "close": {
- "description": "Value at the end of the period, in US dollars per contract.",
- "example": 0.08,
- "type": "number"
- },
- "high": {
- "description": "Highest value during the period, in US dollars per contract.",
- "example": 0.11,
- "type": "number"
- },
- "low": {
- "description": "Lowest value during the period, in US dollars per contract.",
- "example": 0.08,
- "type": "number"
- },
- "mean": {
- "description": "Average value over the period, in US dollars per contract.",
- "example": 0.1014,
- "type": "number"
- },
- "open": {
- "description": "Value at the start of the period, in US dollars per contract.",
- "example": 0.11,
- "type": "number"
+ "day": {
+ "type": "string"
},
- "previous": {
- "description": "Last value from before the period, in US dollars per contract.",
- "example": 0.08,
- "type": "number"
+ "hours": {
+ "type": "string"
}
},
"type": "object"
},
- "kalshi.Competition": {
+ "healthgrades.FacilityLocation": {
"properties": {
- "id": {
- "description": "Kalshi identifier of the competition.",
+ "address": {
"type": "string"
},
"name": {
- "description": "Name of the competition.",
+ "type": "string"
+ },
+ "phone": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "kalshi.EventHistoryResponse": {
+ "healthgrades.FacilityProvider": {
"properties": {
- "adjusted_end_ts": {
- "description": "End of the range after Kalshi adjusted it, in Unix seconds.",
- "example": 1780804800,
- "type": "integer"
+ "name": {
+ "type": "string"
},
- "end_ts": {
- "description": "End of the requested range, in Unix seconds.",
- "example": 1780804800,
+ "rating": {
+ "type": "number"
+ },
+ "rating_count": {
"type": "integer"
},
- "event_ticker": {
- "description": "Ticker of the Kalshi event the history is for.",
- "example": "KXELONMARS-99",
+ "specialty": {
"type": "string"
},
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-06-07T14:00:00Z",
+ "url": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "healthgrades.FacilityResponse": {
+ "properties": {
+ "address": {
+ "$ref": "#/definitions/healthgrades.FacilityAddress"
},
- "include_latest_before_start": {
- "description": "Whether the latest candle before `start_ts` was requested.",
- "example": false,
- "type": "boolean"
- },
- "market_tickers": {
- "description": "Tickers of the markets in the event that have history.",
- "example": [
- "KXELONMARS-99"
- ],
+ "categories": {
"items": {
"type": "string"
},
"type": "array"
},
- "markets": {
- "description": "Candlestick history for each market in the event.",
+ "community_answers": {
"items": {
- "$ref": "#/definitions/kalshi.MarketHistoryResponse"
+ "$ref": "#/definitions/healthgrades.CommunityAnswer"
},
"type": "array"
},
- "period_interval": {
- "description": "Length of each candlestick period, in minutes.",
- "example": 1440,
- "type": "integer"
- },
- "series_ticker": {
- "description": "Ticker of the series the event belongs to.",
- "example": "KXELONMARS",
+ "description": {
"type": "string"
},
- "source_url": {
- "description": "URL the data was read from.",
- "example": "https://external-api.kalshi.com/trade-api/v2/series/KXELONMARS/events/KXELONMARS-99/candlesticks",
- "type": "string"
+ "faqs": {
+ "items": {
+ "$ref": "#/definitions/healthgrades.FacilityFAQ"
+ },
+ "type": "array"
},
- "start_ts": {
- "description": "Start of the requested range, in Unix seconds.",
- "example": 1780286400,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "kalshi.EventMetadataResponse": {
- "properties": {
- "competition": {
- "allOf": [
- {
- "$ref": "#/definitions/kalshi.Competition"
- }
- ],
- "description": "Competition the event is part of. Omitted when the event has none."
+ "hours": {
+ "items": {
+ "$ref": "#/definitions/healthgrades.FacilityHours"
+ },
+ "type": "array"
},
- "competition_scope": {
- "description": "Scope of the competition the event is part of, as Kalshi labels it.",
- "type": "string"
+ "languages": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "event_ticker": {
- "description": "Ticker of the Kalshi event the metadata belongs to.",
- "example": "KXELONMARS-99",
- "type": "string"
+ "latitude": {
+ "type": "number"
},
- "featured_image_url": {
- "description": "URL of the event's featured image.",
- "type": "string"
+ "locations": {
+ "items": {
+ "$ref": "#/definitions/healthgrades.FacilityLocation"
+ },
+ "type": "array"
},
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-06-07T14:00:00Z",
+ "longitude": {
+ "type": "number"
+ },
+ "medical_services": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "name": {
"type": "string"
},
- "image_url": {
- "description": "URL of the event's image.",
- "example": "https://kalshi-public-docs.s3.amazonaws.com/series-images-webp/KXELONMARS.webp",
+ "nearby": {
+ "items": {
+ "$ref": "#/definitions/healthgrades.NearbyFacility"
+ },
+ "type": "array"
+ },
+ "phone": {
"type": "string"
},
- "market_details": {
- "description": "Display details for each market in the event.",
+ "providers": {
"items": {
- "$ref": "#/definitions/kalshi.MarketDetail"
+ "$ref": "#/definitions/healthgrades.FacilityProvider"
},
"type": "array"
},
- "settlement_sources": {
- "description": "Sources Kalshi uses to settle the event's markets.",
+ "rating": {
+ "type": "number"
+ },
+ "services": {
"items": {
- "$ref": "#/definitions/kalshi.SettlementSource"
+ "type": "string"
},
"type": "array"
},
- "source_url": {
- "description": "URL the data was read from.",
- "example": "https://external-api.kalshi.com/trade-api/v2/events/KXELONMARS-99/metadata",
+ "subtitle": {
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "pharmacy",
+ "urgent_care",
+ "group_practice"
+ ],
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "kalshi.EventResponse": {
+ "healthgrades.FacilityResult": {
"properties": {
- "event": {
- "allOf": [
- {
- "$ref": "#/definitions/kalshi.EventRow"
- }
- ],
- "description": "The Kalshi event that was requested."
- },
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-06-07T14:00:00Z",
+ "about": {
"type": "string"
},
- "markets": {
- "description": "Markets that belong to the event.",
+ "affiliated_provider_count": {
+ "type": "integer"
+ },
+ "awards": {
"items": {
- "$ref": "#/definitions/kalshi.MarketRow"
+ "type": "string"
},
"type": "array"
},
- "source_url": {
- "description": "URL the data was read from.",
- "example": "https://external-api.kalshi.com/trade-api/v2/events/KXELONMARS-99",
+ "city": {
"type": "string"
- }
- },
- "type": "object"
- },
- "kalshi.EventRow": {
- "properties": {
- "available_on_brokers": {
- "description": "Whether the event's markets can be traded through Kalshi's broker partners.",
- "example": false,
- "type": "boolean"
},
- "category": {
- "description": "Kalshi category of the event, such as `World`.",
- "example": "World",
+ "distance_miles": {
+ "type": "number"
+ },
+ "five_star_ratings_count": {
+ "type": "integer"
+ },
+ "id": {
"type": "string"
},
- "collateral_return_type": {
- "description": "Collateral return type Kalshi assigns to the event, such as `MECNET`.",
- "example": "MECNET",
+ "latitude": {
+ "type": "number"
+ },
+ "longitude": {
+ "type": "number"
+ },
+ "name": {
"type": "string"
},
- "event_ticker": {
- "description": "Kalshi ticker that identifies the event.",
- "example": "KXELONMARS-99",
+ "phone": {
"type": "string"
},
- "last_updated": {
- "description": "Time the event was last updated, in UTC (RFC 3339).",
- "example": "2026-05-10T00:33:53Z",
+ "postal_code": {
"type": "string"
},
- "markets": {
- "description": "Markets that belong to the event. Omitted when the response does not include them.",
- "items": {
- "$ref": "#/definitions/kalshi.MarketRow"
- },
- "type": "array"
+ "ratings_count": {
+ "type": "integer"
},
- "mutually_exclusive": {
- "description": "Whether at most one market in the event can resolve to Yes.",
- "example": false,
- "type": "boolean"
+ "state": {
+ "type": "string"
},
- "series_ticker": {
- "description": "Ticker of the series the event belongs to.",
- "example": "KXELONMARS",
+ "street": {
"type": "string"
},
- "strike_period": {
- "description": "Strike period of the event, as Kalshi labels it.",
+ "type": {
"type": "string"
},
- "sub_title": {
- "description": "Short qualifier shown under the event title, such as a date or deadline.",
- "example": "Before 2099",
+ "type_code": {
"type": "string"
},
- "title": {
- "description": "Event title as shown on Kalshi.",
- "example": "Will Elon Musk visit Mars in his lifetime?",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "kalshi.EventsResponse": {
+ "healthgrades.FacilitySearchResponse": {
"properties": {
- "cursor": {
- "description": "Cursor to pass in the next request to get the following page. Omitted when Kalshi returns none.",
- "type": "string"
+ "facilities": {
+ "items": {
+ "$ref": "#/definitions/healthgrades.FacilityResult"
+ },
+ "type": "array"
},
- "events": {
- "description": "Kalshi events on this page.",
+ "filters": {
"items": {
- "$ref": "#/definitions/kalshi.EventRow"
+ "$ref": "#/definitions/healthgrades.PhysicianFilterGroup"
},
"type": "array"
},
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-06-07T14:00:00Z",
- "type": "string"
+ "page": {
+ "type": "integer"
},
- "limit": {
- "description": "Number of events requested per page.",
- "example": 25,
+ "page_size": {
"type": "integer"
},
- "source_url": {
- "description": "URL the data was read from.",
- "example": "https://external-api.kalshi.com/trade-api/v2/events?limit=25",
- "type": "string"
- }
- },
- "type": "object"
- },
- "kalshi.ExchangeHoursBlock": {
- "properties": {
- "close_time": {
- "example": "00:00",
+ "query": {
"type": "string"
},
- "open_time": {
- "example": "00:00",
- "type": "string"
- }
- },
- "type": "object"
- },
- "kalshi.ExchangeMaintenanceWindow": {
- "properties": {
- "end_time": {
+ "sort": {
"type": "string"
},
- "reason": {
+ "sorts": {
+ "items": {
+ "$ref": "#/definitions/healthgrades.PhysicianSortOption"
+ },
+ "type": "array"
+ },
+ "total_pages": {
+ "type": "integer"
+ },
+ "total_results": {
+ "type": "integer"
+ },
+ "type": {
"type": "string"
},
- "start_time": {
+ "where": {
"type": "string"
}
},
"type": "object"
},
- "kalshi.ExchangeScheduleResponse": {
+ "healthgrades.HealthArticleRef": {
"properties": {
- "fetched_at": {
- "example": "2026-06-07T14:00:00Z",
+ "last_modified": {
"type": "string"
},
- "maintenance_windows": {
- "items": {
- "$ref": "#/definitions/kalshi.ExchangeMaintenanceWindow"
- },
- "type": "array"
+ "slug": {
+ "type": "string"
},
- "source_url": {
- "example": "https://external-api.kalshi.com/trade-api/v2/exchange/schedule",
+ "topic": {
"type": "string"
},
- "standard_hours": {
- "items": {
- "$ref": "#/definitions/kalshi.ExchangeStandardHours"
- },
- "type": "array"
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "kalshi.ExchangeStandardHours": {
+ "healthgrades.HealthArticleResponse": {
"properties": {
- "end_time": {
- "example": "2200-12-01T00:00:00Z",
- "type": "string"
- },
- "friday": {
+ "authors": {
"items": {
- "$ref": "#/definitions/kalshi.ExchangeHoursBlock"
+ "type": "string"
},
"type": "array"
},
- "monday": {
+ "conditions": {
"items": {
- "$ref": "#/definitions/kalshi.ExchangeHoursBlock"
+ "type": "string"
},
"type": "array"
},
- "saturday": {
- "items": {
- "$ref": "#/definitions/kalshi.ExchangeHoursBlock"
- },
- "type": "array"
+ "date_modified": {
+ "type": "string"
},
- "start_time": {
- "example": "2024-12-01T00:00:00Z",
+ "date_published": {
"type": "string"
},
- "sunday": {
+ "description": {
+ "type": "string"
+ },
+ "headline": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "label": {
+ "type": "string"
+ },
+ "reviewed_by": {
"items": {
- "$ref": "#/definitions/kalshi.ExchangeHoursBlock"
+ "type": "string"
},
"type": "array"
},
- "thursday": {
+ "sections": {
"items": {
- "$ref": "#/definitions/kalshi.ExchangeHoursBlock"
+ "$ref": "#/definitions/healthgrades.HealthArticleSection"
},
"type": "array"
},
- "tuesday": {
+ "slug": {
+ "type": "string"
+ },
+ "topic": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "healthgrades.HealthArticleSection": {
+ "properties": {
+ "lists": {
"items": {
- "$ref": "#/definitions/kalshi.ExchangeHoursBlock"
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
"type": "array"
},
- "wednesday": {
+ "paragraphs": {
"items": {
- "$ref": "#/definitions/kalshi.ExchangeHoursBlock"
+ "type": "string"
},
"type": "array"
+ },
+ "title": {
+ "type": "string"
}
},
"type": "object"
},
- "kalshi.ExchangeStatusResponse": {
+ "healthgrades.HealthArticlesResponse": {
"properties": {
- "exchange_active": {
- "example": true,
- "type": "boolean"
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/healthgrades.HealthArticleRef"
+ },
+ "type": "array"
},
- "fetched_at": {
- "example": "2026-06-07T14:00:00Z",
- "type": "string"
+ "page": {
+ "type": "integer"
},
- "source_url": {
- "example": "https://external-api.kalshi.com/trade-api/v2/exchange/status",
+ "page_size": {
+ "type": "integer"
+ },
+ "topic": {
"type": "string"
},
- "trading_active": {
- "example": true,
- "type": "boolean"
+ "total": {
+ "type": "integer"
+ },
+ "total_pages": {
+ "type": "integer"
}
},
"type": "object"
},
- "kalshi.HistoricalCutoffResponse": {
+ "healthgrades.HealthTopic": {
"properties": {
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-06-07T14:00:00Z",
- "type": "string"
+ "article_count": {
+ "type": "integer"
},
- "market_settled_at": {
- "description": "Cutoff time for settled markets, in UTC (RFC 3339). Markets settled before it are served by the historical endpoints.",
- "example": "2026-04-08T00:00:00Z",
+ "last_modified": {
"type": "string"
},
- "orders_updated_at": {
- "description": "Cutoff time for order updates, in UTC (RFC 3339).",
- "example": "2026-04-08T00:00:00Z",
+ "slug": {
"type": "string"
},
- "source_url": {
- "description": "URL the data was read from.",
- "example": "https://external-api.kalshi.com/trade-api/v2/historical/cutoff",
+ "url": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "healthgrades.HealthTopicsResponse": {
+ "properties": {
+ "topics": {
+ "items": {
+ "$ref": "#/definitions/healthgrades.HealthTopic"
+ },
+ "type": "array"
},
- "trades_created_at": {
- "description": "Cutoff time for trades, in UTC (RFC 3339). Trades created before it are served by the historical trades endpoint.",
- "example": "2026-04-08T00:00:00Z",
- "type": "string"
+ "total": {
+ "type": "integer"
}
},
"type": "object"
},
- "kalshi.HistoricalMarketResponse": {
+ "healthgrades.HospitalAward": {
"properties": {
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-06-07T14:00:00Z",
+ "category": {
"type": "string"
},
- "market": {
- "allOf": [
- {
- "$ref": "#/definitions/kalshi.MarketRow"
- }
- ],
- "description": "The historical Kalshi market that was requested."
- },
- "source_url": {
- "description": "URL the data was read from.",
- "example": "https://external-api.kalshi.com/trade-api/v2/historical/markets/KXMVECROSSCATEGORY-S2026144E784A147-ED367B84557",
- "type": "string"
- }
- },
- "type": "object"
- },
- "kalshi.HistoricalMarketsResponse": {
- "properties": {
- "cursor": {
- "description": "Cursor to pass in the next request to get the following page. Omitted when Kalshi returns none.",
+ "description": {
"type": "string"
},
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-06-07T14:00:00Z",
+ "name": {
"type": "string"
},
- "limit": {
- "description": "Number of markets requested per page.",
- "example": 25,
- "type": "integer"
- },
- "markets": {
- "description": "Historical Kalshi markets on this page.",
+ "years": {
"items": {
- "$ref": "#/definitions/kalshi.MarketRow"
+ "type": "integer"
},
"type": "array"
- },
- "source_url": {
- "description": "URL the data was read from.",
- "example": "https://external-api.kalshi.com/trade-api/v2/historical/markets?limit=25",
- "type": "string"
}
},
"type": "object"
},
- "kalshi.HistoricalTradesResponse": {
+ "healthgrades.HospitalAwardEntry": {
"properties": {
- "cursor": {
- "description": "Cursor to pass in the next request to get the following page. Omitted when Kalshi returns none.",
- "type": "string"
- },
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-06-07T14:00:00Z",
+ "code": {
"type": "string"
},
- "limit": {
- "description": "Number of trades requested per page.",
- "example": 25,
- "type": "integer"
- },
- "max_ts": {
- "description": "Latest trade creation time that was requested, in Unix seconds.",
- "example": 1775689200,
- "type": "integer"
- },
- "min_ts": {
- "description": "Earliest trade creation time that was requested, in Unix seconds.",
- "example": 1775602800,
- "type": "integer"
- },
- "source_url": {
- "description": "URL the data was read from.",
- "example": "https://external-api.kalshi.com/trade-api/v2/historical/trades?limit=25",
- "type": "string"
+ "matched": {
+ "type": "boolean"
},
- "ticker": {
- "description": "Market ticker the trades were filtered by. Omitted when no ticker filter was used.",
- "example": "KXMVECROSSCATEGORY-S2026144E784A147-ED367B84557",
+ "name": {
"type": "string"
},
- "trades": {
- "description": "Historical trades on this page.",
+ "years": {
"items": {
- "$ref": "#/definitions/kalshi.TradeRow"
+ "type": "integer"
},
"type": "array"
}
},
"type": "object"
},
- "kalshi.MarketCandlestick": {
+ "healthgrades.HospitalAwardFiltersResponse": {
"properties": {
- "end_period_at": {
- "description": "End of the candlestick period, in UTC (RFC 3339).",
- "example": "2026-06-01T00:00:00Z",
+ "award": {
"type": "string"
},
- "end_period_ts": {
- "description": "End of the candlestick period, in Unix seconds.",
- "example": 1780286400,
- "type": "integer"
- },
- "open_interest": {
- "description": "Number of contracts open at the end of the period.",
- "example": 32980.77,
- "type": "number"
- },
- "price": {
- "allOf": [
- {
- "$ref": "#/definitions/kalshi.CandleOHLC"
- }
- ],
- "description": "Open, high, low, close, mean and previous trade price for the period, in US dollars per contract."
- },
- "volume": {
- "description": "Number of contracts traded during the period.",
- "example": 7,
- "type": "number"
- },
- "yes_ask": {
- "allOf": [
- {
- "$ref": "#/definitions/kalshi.CandleOHLC"
- }
- ],
- "description": "Open, high, low, close, mean and previous Yes ask price for the period, in US dollars per contract."
+ "filters": {
+ "items": {
+ "$ref": "#/definitions/healthgrades.PhysicianFilterGroup"
+ },
+ "type": "array"
},
- "yes_bid": {
- "allOf": [
- {
- "$ref": "#/definitions/kalshi.CandleOHLC"
- }
- ],
- "description": "Open, high, low, close, mean and previous Yes bid price for the period, in US dollars per contract."
+ "sorts": {
+ "items": {
+ "$ref": "#/definitions/healthgrades.PhysicianSortOption"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "kalshi.MarketDetail": {
+ "healthgrades.HospitalAwardsResponse": {
"properties": {
- "color_code": {
- "description": "Display colour of the market on Kalshi, as a hex code.",
- "example": "#AA00FF",
+ "award": {
+ "enum": [
+ "americas-best-hospitals",
+ "specialty-excellence-americas-best-care",
+ "patient-safety-excellence-award",
+ "outstanding-patient-experience-award",
+ "ob-gyn-care-excellence-awards",
+ "state-rankings"
+ ],
"type": "string"
},
- "image_url": {
- "description": "URL of the market's image.",
+ "city": {
"type": "string"
},
- "market_ticker": {
- "description": "Ticker of the market the details belong to.",
- "example": "KXELONMARS-99",
- "type": "string"
- }
- },
- "type": "object"
- },
- "kalshi.MarketHistoryResponse": {
- "properties": {
- "candlesticks": {
- "description": "Price candlesticks for the market, one per period.",
+ "hospitals": {
"items": {
- "$ref": "#/definitions/kalshi.MarketCandlestick"
+ "$ref": "#/definitions/healthgrades.AwardHospital"
},
"type": "array"
},
- "end_ts": {
- "description": "End of the requested range, in Unix seconds.",
- "example": 1780804800,
+ "page": {
"type": "integer"
},
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-06-07T14:00:00Z",
- "type": "string"
- },
- "include_latest_before_start": {
- "description": "Whether the latest candle before `start_ts` was requested.",
- "example": false,
- "type": "boolean"
- },
- "period_interval": {
- "description": "Length of each candlestick period, in minutes.",
- "example": 1440,
+ "page_size": {
"type": "integer"
},
- "series_ticker": {
- "description": "Ticker of the series the market belongs to.",
- "example": "KXELONMARS",
+ "region": {
"type": "string"
},
- "source_url": {
- "description": "URL the data was read from.",
- "example": "https://external-api.kalshi.com/trade-api/v2/series/KXELONMARS/markets/KXELONMARS-99/candlesticks",
+ "sort": {
+ "enum": [
+ "name",
+ "distance"
+ ],
"type": "string"
},
- "start_ts": {
- "description": "Start of the requested range, in Unix seconds.",
- "example": 1780286400,
+ "title": {
+ "type": "string"
+ },
+ "total": {
"type": "integer"
},
- "ticker": {
- "description": "Ticker of the Kalshi market the history is for.",
- "example": "KXELONMARS-99",
+ "total_pages": {
+ "type": "integer"
+ },
+ "year": {
"type": "string"
}
},
"type": "object"
},
- "kalshi.MarketResponse": {
+ "healthgrades.HospitalClinicalRating": {
"properties": {
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-06-07T14:00:00Z",
+ "measure": {
"type": "string"
},
- "market": {
- "allOf": [
- {
- "$ref": "#/definitions/kalshi.MarketRow"
- }
- ],
- "description": "The Kalshi market that was requested."
+ "procedure_or_condition": {
+ "type": "string"
},
- "source_url": {
- "description": "URL the data was read from.",
- "example": "https://external-api.kalshi.com/trade-api/v2/markets/KXELONMARS-99",
+ "rating": {
+ "description": "Rating is Healthgrades' outcome label, for example \"Better than\nExpected\", \"As Expected\", or \"Worse than Expected\" (returned as data).",
+ "type": "string"
+ },
+ "stars": {
+ "type": "integer"
+ },
+ "type": {
+ "description": "Type is the rating family, for example \"Complication Based Ratings\" or\n\"Mortality Based Ratings\" (observed; returned as data).",
"type": "string"
}
},
"type": "object"
},
- "kalshi.MarketRow": {
+ "healthgrades.HospitalPatientExperience": {
"properties": {
- "close_time": {
- "description": "Time trading closes, in UTC (RFC 3339).",
- "example": "2099-08-01T04:59:00Z",
+ "comparison": {
"type": "string"
},
- "event_ticker": {
- "description": "Ticker of the event the market belongs to.",
- "example": "KXELONMARS-99",
+ "measure": {
"type": "string"
},
- "expiration_time": {
- "description": "Time the market expires, in UTC (RFC 3339).",
- "example": "2099-08-08T15:00:00Z",
+ "percent": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "healthgrades.HospitalResponse": {
+ "properties": {
+ "address": {
"type": "string"
},
- "last_price": {
- "description": "Price of the most recent trade, in US dollars per contract.",
- "example": 0.08,
- "type": "number"
+ "awards": {
+ "items": {
+ "$ref": "#/definitions/healthgrades.HospitalAward"
+ },
+ "type": "array"
},
- "liquidity": {
- "description": "Market liquidity, in US dollars.",
- "example": 0,
- "type": "number"
+ "clinical_ratings": {
+ "items": {
+ "$ref": "#/definitions/healthgrades.HospitalServiceLine"
+ },
+ "type": "array"
},
- "market_type": {
- "description": "Market type, such as `binary`.",
- "example": "binary",
+ "description": {
"type": "string"
},
- "no_ask": {
- "description": "Lowest price asked for a No contract, in US dollars.",
- "example": 0.92,
- "type": "number"
- },
- "no_bid": {
- "description": "Highest price offered for a No contract, in US dollars.",
- "example": 0.9,
- "type": "number"
+ "name": {
+ "type": "string"
},
- "open_interest": {
- "description": "Number of contracts currently open in the market.",
- "example": 32773.57,
- "type": "number"
+ "patient_experience": {
+ "items": {
+ "$ref": "#/definitions/healthgrades.HospitalPatientExperience"
+ },
+ "type": "array"
},
- "open_time": {
- "description": "Time trading opened, in UTC (RFC 3339).",
- "example": "2025-08-28T20:45:00Z",
+ "phone": {
"type": "string"
},
- "previous_price": {
- "description": "Earlier reference price of the market, in US dollars per contract.",
- "example": 0.1,
- "type": "number"
- },
- "response_price_unit": {
- "description": "Price unit label Kalshi attaches to the market, such as `usd_cent`.",
- "example": "usd_cent",
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "healthgrades.HospitalServiceLine": {
+ "properties": {
+ "name": {
"type": "string"
},
- "result": {
- "description": "Outcome the market settled on. Empty or omitted until it settles.",
+ "ratings": {
+ "items": {
+ "$ref": "#/definitions/healthgrades.HospitalClinicalRating"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "healthgrades.NearbyFacility": {
+ "properties": {
+ "address": {
"type": "string"
},
- "rules_primary": {
- "description": "Primary rules text that governs how the market settles.",
+ "name": {
"type": "string"
},
"status": {
- "description": "Market status as Kalshi reports it, such as `active`.",
- "example": "active",
"type": "string"
},
- "sub_title": {
- "description": "Short label of the outcome the market covers, shown under the title.",
- "example": "Mars",
+ "url": {
"type": "string"
- },
- "ticker": {
- "description": "Kalshi ticker that identifies the market.",
- "example": "KXELONMARS-99",
+ }
+ },
+ "type": "object"
+ },
+ "healthgrades.PhysicianFilterGroup": {
+ "properties": {
+ "label": {
"type": "string"
},
- "title": {
- "description": "Market title as shown on Kalshi.",
- "example": "Will Elon Musk visit Mars before Aug 1, 2099?",
+ "param": {
"type": "string"
},
- "volume": {
- "description": "Total number of contracts traded in the market.",
- "example": 94840.88,
- "type": "number"
- },
- "volume_24h": {
- "description": "Number of contracts traded in the last 24 hours.",
- "example": 16,
- "type": "number"
- },
- "yes_ask": {
- "description": "Lowest price asked for a Yes contract, in US dollars.",
- "example": 0.1,
- "type": "number"
- },
- "yes_bid": {
- "description": "Highest price offered for a Yes contract, in US dollars.",
- "example": 0.08,
- "type": "number"
+ "values": {
+ "items": {
+ "$ref": "#/definitions/healthgrades.PhysicianFilterValue"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "kalshi.MarketsResponse": {
+ "healthgrades.PhysicianFilterPlan": {
"properties": {
- "cursor": {
- "description": "Cursor to pass in the next request to get the following page. Omitted when Kalshi returns none.",
+ "id": {
"type": "string"
},
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-06-07T14:00:00Z",
+ "name": {
"type": "string"
- },
- "limit": {
- "description": "Number of markets requested per page.",
- "example": 25,
+ }
+ },
+ "type": "object"
+ },
+ "healthgrades.PhysicianFilterValue": {
+ "properties": {
+ "count": {
"type": "integer"
},
- "markets": {
- "description": "Kalshi markets on this page.",
+ "label": {
+ "type": "string"
+ },
+ "plans": {
"items": {
- "$ref": "#/definitions/kalshi.MarketRow"
+ "$ref": "#/definitions/healthgrades.PhysicianFilterPlan"
},
"type": "array"
},
- "source_url": {
- "description": "URL the data was read from.",
- "example": "https://external-api.kalshi.com/trade-api/v2/markets?limit=25",
+ "selected": {
+ "type": "boolean"
+ },
+ "value": {
"type": "string"
}
},
"type": "object"
},
- "kalshi.MultivariateEventsResponse": {
+ "healthgrades.PhysicianFiltersResponse": {
"properties": {
- "cursor": {
- "description": "Cursor to pass in the next request to get the following page. Omitted when Kalshi returns none.",
- "type": "string"
- },
- "events": {
- "description": "Kalshi multivariate events on this page.",
+ "filters": {
"items": {
- "$ref": "#/definitions/kalshi.EventRow"
+ "$ref": "#/definitions/healthgrades.PhysicianFilterGroup"
},
"type": "array"
},
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-06-07T14:00:00Z",
+ "query": {
"type": "string"
},
- "limit": {
- "description": "Number of events requested per page.",
- "example": 25,
- "type": "integer"
- },
- "source_url": {
- "description": "URL the data was read from.",
- "example": "https://external-api.kalshi.com/trade-api/v2/events/multivariate?limit=25",
+ "where": {
"type": "string"
}
},
"type": "object"
},
- "kalshi.OrderBookLevel": {
+ "healthgrades.PhysicianOffice": {
"properties": {
- "price": {
- "description": "Price of the level, in US dollars per contract.",
- "example": 0.08,
+ "city": {
+ "type": "string"
+ },
+ "latitude": {
"type": "number"
},
- "size": {
- "description": "Number of contracts resting at this price.",
- "example": 185.72,
+ "longitude": {
"type": "number"
+ },
+ "name": {
+ "type": "string"
+ },
+ "phone": {
+ "type": "string"
+ },
+ "postal_code": {
+ "type": "string"
+ },
+ "state": {
+ "type": "string"
+ },
+ "street": {
+ "type": "string"
}
},
"type": "object"
},
- "kalshi.OrderBookResponse": {
+ "healthgrades.PhysicianPractice": {
"properties": {
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-06-07T14:00:00Z",
+ "city": {
"type": "string"
},
- "no": {
- "description": "Price levels on the No side of the book, highest price first.",
- "items": {
- "$ref": "#/definitions/kalshi.OrderBookLevel"
- },
- "type": "array"
+ "country": {
+ "type": "string"
},
- "raw_unit_hint": {
- "description": "Unit of the level prices, always `dollars`.",
- "example": "dollars",
+ "latitude": {
+ "type": "number"
+ },
+ "longitude": {
+ "type": "number"
+ },
+ "name": {
"type": "string"
},
- "source_url": {
- "description": "URL the data was read from.",
- "example": "https://external-api.kalshi.com/trade-api/v2/markets/KXELONMARS-99/orderbook",
+ "postal_code": {
"type": "string"
},
- "ticker": {
- "description": "Ticker of the Kalshi market the order book is for.",
- "example": "KXELONMARS-99",
+ "region": {
"type": "string"
},
- "yes": {
- "description": "Price levels on the Yes side of the book, highest price first.",
- "items": {
- "$ref": "#/definitions/kalshi.OrderBookLevel"
- },
- "type": "array"
+ "street": {
+ "type": "string"
}
},
"type": "object"
},
- "kalshi.SeriesDetailResponse": {
+ "healthgrades.PhysicianRating": {
"properties": {
- "fetched_at": {
- "example": "2026-06-07T14:00:00Z",
- "type": "string"
- },
- "series": {
- "$ref": "#/definitions/kalshi.SeriesRow"
+ "count": {
+ "type": "integer"
},
- "source_url": {
- "example": "https://external-api.kalshi.com/trade-api/v2/series/KXELONMARS",
- "type": "string"
+ "score": {
+ "type": "number"
}
},
"type": "object"
},
- "kalshi.SeriesResponse": {
+ "healthgrades.PhysicianResponse": {
"properties": {
- "cursor": {
- "description": "Cursor returned by Kalshi with the series list. Omitted when Kalshi returns none.",
+ "awards": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "image_url": {
"type": "string"
},
- "fetched_at": {
- "description": "Time the series list was last fetched from Kalshi, in UTC (RFC 3339).",
- "example": "2026-06-07T14:00:00Z",
+ "name": {
"type": "string"
},
- "limit": {
- "description": "Number of series requested.",
- "example": 25,
- "type": "integer"
+ "npi": {
+ "type": "string"
},
- "series": {
- "description": "Kalshi series in the response.",
+ "practices": {
"items": {
- "$ref": "#/definitions/kalshi.SeriesRow"
+ "$ref": "#/definitions/healthgrades.PhysicianPractice"
},
"type": "array"
},
- "source_url": {
- "description": "URL the data was read from.",
- "example": "https://external-api.kalshi.com/trade-api/v2/series?limit=25",
+ "profile_url": {
"type": "string"
+ },
+ "specialties": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "kalshi.SeriesRow": {
+ "healthgrades.PhysicianSearchResponse": {
"properties": {
- "category": {
- "description": "Kalshi category of the series, such as `Politics`.",
- "example": "Politics",
- "type": "string"
- },
- "contract_terms_url": {
- "description": "Link to the series' contract terms document.",
- "type": "string"
- },
- "contract_url": {
- "description": "Link to the series' contract document.",
- "type": "string"
+ "filters": {
+ "items": {
+ "$ref": "#/definitions/healthgrades.PhysicianFilterGroup"
+ },
+ "type": "array"
},
- "fee_multiplier": {
- "description": "Multiplier applied to the series' fee calculation.",
- "example": 1,
- "type": "number"
+ "page": {
+ "type": "integer"
},
- "fee_type": {
- "description": "Fee model Kalshi applies to the series, such as `quadratic`.",
- "example": "quadratic",
- "type": "string"
+ "page_size": {
+ "type": "integer"
},
- "frequency": {
- "description": "How often the series produces events, such as `custom`.",
- "example": "custom",
- "type": "string"
+ "physicians": {
+ "items": {
+ "$ref": "#/definitions/healthgrades.PhysicianSearchResult"
+ },
+ "type": "array"
},
- "last_updated": {
- "description": "Time the series was last updated, in UTC (RFC 3339).",
- "example": "2026-06-01T15:24:00Z",
+ "query": {
"type": "string"
},
- "series_ticker": {
- "description": "Kalshi ticker that identifies the series.",
- "example": "KXELONMARS",
+ "sort": {
"type": "string"
},
- "settlement_sources": {
- "description": "Sources Kalshi uses to settle the series' markets.",
+ "sorts": {
"items": {
- "$ref": "#/definitions/kalshi.SettlementSource"
+ "$ref": "#/definitions/healthgrades.PhysicianSortOption"
},
"type": "array"
},
- "title": {
- "description": "Series title as shown on Kalshi.",
- "example": "Will Elon Musk visit Mars in his lifetime?",
+ "total_pages": {
+ "type": "integer"
+ },
+ "total_results": {
+ "type": "integer"
+ },
+ "where": {
"type": "string"
}
},
"type": "object"
},
- "kalshi.SettlementSource": {
+ "healthgrades.PhysicianSearchResult": {
"properties": {
- "name": {
- "description": "Name of the source used to settle markets, such as `The Guardian`.",
- "example": "The Guardian",
+ "about": {
"type": "string"
},
- "url": {
- "description": "Link to the settlement source's website.",
- "example": "https://www.theguardian.com",
- "type": "string"
- }
- },
- "type": "object"
- },
- "kalshi.TradeRow": {
- "properties": {
- "count": {
- "description": "Number of contracts traded.",
- "example": 2,
- "type": "number"
+ "accepts_new_patients": {
+ "type": "boolean"
},
- "created_time": {
- "description": "Time the trade was created, in UTC (RFC 3339).",
- "example": "2026-06-07T07:23:05Z",
- "type": "string"
+ "affiliated_hospital_ids": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "created_ts": {
- "description": "Time the trade was created, in Unix seconds.",
- "example": 1780816985,
+ "age": {
"type": "integer"
},
- "is_block_trade": {
- "description": "Whether the trade was a block trade.",
- "example": false,
- "type": "boolean"
- },
- "no_price": {
- "description": "Trade price of the No contract, in US dollars.",
- "example": 0.91,
+ "distance_miles": {
"type": "number"
},
- "taker_book_side": {
- "description": "Order book side of the taker's order, such as `bid` or `ask`.",
- "example": "ask",
+ "gender": {
"type": "string"
},
- "taker_outcome_side": {
- "description": "Outcome side of the taker's order, such as `yes` or `no`.",
- "example": "no",
+ "id": {
"type": "string"
},
- "taker_side": {
- "description": "Side the taker traded, `yes` or `no`.",
- "example": "no",
+ "image_url": {
"type": "string"
},
- "ticker": {
- "description": "Ticker of the market the trade happened in.",
- "example": "KXELONMARS-99",
+ "insurers": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "name": {
"type": "string"
},
- "trade_id": {
- "description": "Kalshi identifier of the trade.",
- "example": "9126fe1f-7233-7c75-2c37-06ce7841bbe3",
+ "npi": {
"type": "string"
},
- "yes_price": {
- "description": "Trade price of the Yes contract, in US dollars.",
- "example": 0.09,
- "type": "number"
- }
- },
- "type": "object"
- },
- "kalshi.TradesResponse": {
- "properties": {
- "cursor": {
- "description": "Cursor to pass in the next request to get the following page. Omitted when Kalshi returns none.",
+ "office": {
+ "$ref": "#/definitions/healthgrades.PhysicianOffice"
+ },
+ "profile_url": {
"type": "string"
},
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-06-07T14:00:00Z",
+ "rating": {
+ "$ref": "#/definitions/healthgrades.PhysicianRating"
+ },
+ "specialist_descriptions": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "specialty": {
"type": "string"
},
- "limit": {
- "description": "Number of trades requested per page.",
- "example": 25,
- "type": "integer"
+ "telehealth_available": {
+ "type": "boolean"
},
- "max_ts": {
- "description": "Latest trade creation time that was requested, in Unix seconds.",
- "example": 1780873200,
- "type": "integer"
+ "telehealth_only": {
+ "type": "boolean"
},
- "min_ts": {
- "description": "Earliest trade creation time that was requested, in Unix seconds.",
- "example": 1780786800,
+ "years_experience": {
"type": "integer"
- },
- "source_url": {
- "description": "URL the data was read from.",
- "example": "https://external-api.kalshi.com/trade-api/v2/markets/trades?limit=25",
+ }
+ },
+ "type": "object"
+ },
+ "healthgrades.PhysicianSortOption": {
+ "properties": {
+ "key": {
"type": "string"
},
- "ticker": {
- "description": "Market ticker the trades were filtered by. Omitted when no ticker filter was used.",
- "example": "KXELONMARS-99",
+ "label": {
"type": "string"
- },
- "trades": {
- "description": "Recent trades on this page.",
+ }
+ },
+ "type": "object"
+ },
+ "healthgrades.SpecialtiesResponse": {
+ "properties": {
+ "specialties": {
"items": {
- "$ref": "#/definitions/kalshi.TradeRow"
+ "$ref": "#/definitions/healthgrades.Specialty"
},
"type": "array"
}
},
"type": "object"
},
- "kalshi.batchMarketHistoryResponseDoc": {
+ "healthgrades.Specialty": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/kalshi.BatchMarketHistoryResponse"
+ "name": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "kalshi.batchOrderBookResponseDoc": {
+ "healthgrades.Suggestion": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/kalshi.BatchOrderBookResponse"
+ "label": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "value": {
"type": "string"
}
},
"type": "object"
},
- "kalshi.eventHistoryResponseDoc": {
+ "healthgrades.SuggestionGroup": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "category": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/kalshi.EventHistoryResponse"
+ "suggestions": {
+ "items": {
+ "$ref": "#/definitions/healthgrades.Suggestion"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "title": {
"type": "string"
}
},
"type": "object"
},
- "kalshi.eventMetadataResponseDoc": {
+ "healthgrades.SuggestionResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/kalshi.EventMetadataResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "groups": {
+ "items": {
+ "$ref": "#/definitions/healthgrades.SuggestionGroup"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "kalshi.eventResponseDoc": {
+ "healthgrades.facilityFiltersResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
"data": {
- "$ref": "#/definitions/kalshi.EventResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "$ref": "#/definitions/healthgrades.FacilityFiltersResponse"
}
},
"type": "object"
},
- "kalshi.eventsResponseDoc": {
+ "healthgrades.facilityResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
"data": {
- "$ref": "#/definitions/kalshi.EventsResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "$ref": "#/definitions/healthgrades.FacilityResponse"
}
},
"type": "object"
},
- "kalshi.exchangeScheduleResponseDoc": {
+ "healthgrades.facilitySearchResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
"data": {
- "$ref": "#/definitions/kalshi.ExchangeScheduleResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "$ref": "#/definitions/healthgrades.FacilitySearchResponse"
}
},
"type": "object"
},
- "kalshi.exchangeStatusResponseDoc": {
+ "healthgrades.healthArticleResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
"data": {
- "$ref": "#/definitions/kalshi.ExchangeStatusResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "$ref": "#/definitions/healthgrades.HealthArticleResponse"
}
},
"type": "object"
},
- "kalshi.historicalCutoffResponseDoc": {
+ "healthgrades.healthArticlesResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
"data": {
- "$ref": "#/definitions/kalshi.HistoricalCutoffResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "$ref": "#/definitions/healthgrades.HealthArticlesResponse"
}
},
"type": "object"
},
- "kalshi.historicalMarketResponseDoc": {
+ "healthgrades.healthTopicsResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
"data": {
- "$ref": "#/definitions/kalshi.HistoricalMarketResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "$ref": "#/definitions/healthgrades.HealthTopicsResponse"
}
},
"type": "object"
},
- "kalshi.historicalMarketsResponseDoc": {
+ "healthgrades.hospitalAwardFiltersResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
"data": {
- "$ref": "#/definitions/kalshi.HistoricalMarketsResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "$ref": "#/definitions/healthgrades.HospitalAwardFiltersResponse"
}
},
"type": "object"
},
- "kalshi.historicalTradesResponseDoc": {
+ "healthgrades.hospitalAwardsResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
"data": {
- "$ref": "#/definitions/kalshi.HistoricalTradesResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "$ref": "#/definitions/healthgrades.HospitalAwardsResponse"
}
},
"type": "object"
},
- "kalshi.marketHistoryResponseDoc": {
+ "healthgrades.hospitalResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
"data": {
- "$ref": "#/definitions/kalshi.MarketHistoryResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "$ref": "#/definitions/healthgrades.HospitalResponse"
}
},
"type": "object"
},
- "kalshi.marketResponseDoc": {
+ "healthgrades.physicianFiltersResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
"data": {
- "$ref": "#/definitions/kalshi.MarketResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "$ref": "#/definitions/healthgrades.PhysicianFiltersResponse"
}
},
"type": "object"
},
- "kalshi.marketsResponseDoc": {
+ "healthgrades.physicianResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
"data": {
- "$ref": "#/definitions/kalshi.MarketsResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "$ref": "#/definitions/healthgrades.PhysicianResponse"
}
},
"type": "object"
},
- "kalshi.multivariateEventsResponseDoc": {
+ "healthgrades.physicianSearchResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
"data": {
- "$ref": "#/definitions/kalshi.MultivariateEventsResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "$ref": "#/definitions/healthgrades.PhysicianSearchResponse"
}
},
"type": "object"
},
- "kalshi.orderBookResponseDoc": {
+ "healthgrades.specialtiesResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
"data": {
- "$ref": "#/definitions/kalshi.OrderBookResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "$ref": "#/definitions/healthgrades.SpecialtiesResponse"
}
},
"type": "object"
},
- "kalshi.seriesDetailResponseDoc": {
+ "healthgrades.suggestionsResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
"data": {
- "$ref": "#/definitions/kalshi.SeriesDetailResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "$ref": "#/definitions/healthgrades.SuggestionResponse"
}
},
"type": "object"
},
- "kalshi.seriesResponseDoc": {
+ "hermes.CatalogueProduct": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "last_modified": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/kalshi.SeriesResponse"
+ "product_id": {
+ "description": "ProductID is the identifier Hermès uses in the product URL. It is NOT\nthe same string as the sku returned by hermes-category/hermes-search --\nsee the type doc on ProductsResponse.",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "slug": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "kalshi.tradesResponseDoc": {
+ "hermes.CategoriesResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/kalshi.TradesResponse"
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/hermes.Category"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "locale": {
"type": "string"
+ },
+ "total": {
+ "type": "integer"
}
},
"type": "object"
},
- "kfc.Address": {
+ "hermes.Category": {
"properties": {
- "address1": {
- "example": "600 Terminal Drive",
- "type": "string"
+ "children": {
+ "type": "integer"
},
- "address2": {
- "example": "Louisville International Airport - Pre Security",
+ "code": {
"type": "string"
},
- "city": {
- "example": "Louisville",
- "type": "string"
+ "depth": {
+ "type": "integer"
},
- "country_code": {
- "example": "US",
+ "name": {
"type": "string"
},
- "latitude": {
- "example": 38.1857,
- "type": "number"
- },
- "longitude": {
- "example": -85.7445,
- "type": "number"
- },
- "phone": {
- "example": "+15023633000",
+ "parent_code": {
"type": "string"
},
- "postal_code": {
- "example": "40209",
+ "path": {
"type": "string"
},
- "state": {
- "example": "KY",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "kfc.DeliveryEstimateResponse": {
+ "hermes.CategoryResponse": {
"properties": {
- "delivery_provider": {
- "example": "DOORDASH",
+ "code": {
"type": "string"
},
- "dropoff_at": {
+ "description": {
"type": "string"
},
- "fee": {
- "allOf": [
- {
- "$ref": "#/definitions/kfc.Money"
- }
- ],
- "description": "Fee is the total delivery fee; Fees breaks it down by line item."
- },
- "fees": {
+ "filters": {
"items": {
- "$ref": "#/definitions/kfc.DeliveryFeeLine"
+ "$ref": "#/definitions/hermes.Filter"
},
"type": "array"
},
- "fetched_at": {
+ "locale": {
"type": "string"
},
- "pickup_at": {
+ "name": {
"type": "string"
},
- "reason": {
- "example": "Marketplace store is inactive",
- "type": "string"
+ "page": {
+ "type": "integer"
},
- "serviceable": {
- "description": "Serviceable is true only when the upstream returned a real estimate.\nA false value with Reason populated covers every other case this\nfamily has seen live: the provider not enabled at this store, the\naddress being outside the delivery zone, or the upstream delivery\nmarketplace itself reporting the store inactive -- KFC's schema\nrepresents all of these as distinct typed results, not one boolean.",
- "example": false,
- "type": "boolean"
+ "page_size": {
+ "type": "integer"
},
- "source_url": {
+ "path": {
"type": "string"
},
- "store_number": {
- "example": "K750015",
+ "products": {
+ "items": {
+ "$ref": "#/definitions/hermes.Product"
+ },
+ "type": "array"
+ },
+ "sort": {
"type": "string"
- }
- },
- "type": "object"
- },
- "kfc.DeliveryFeeLine": {
- "properties": {
- "amount": {
- "$ref": "#/definitions/kfc.Money"
},
- "name": {
- "example": "Delivery Fee",
+ "title": {
"type": "string"
},
- "type": {
- "example": "DELIVERY",
+ "total": {
+ "type": "integer"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "kfc.MenuCategory": {
+ "hermes.Filter": {
"properties": {
- "category_code": {
- "example": "combos",
+ "attribute": {
"type": "string"
},
- "description": {
- "example": "Combos",
+ "name": {
"type": "string"
},
- "items": {
+ "values": {
"items": {
- "$ref": "#/definitions/kfc.MenuItem"
+ "$ref": "#/definitions/hermes.FilterValue"
},
"type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "hermes.FilterValue": {
+ "properties": {
+ "count": {
+ "type": "integer"
},
"name": {
- "example": "Combos",
+ "type": "string"
+ },
+ "value": {
"type": "string"
}
},
"type": "object"
},
- "kfc.MenuItem": {
+ "hermes.Product": {
"properties": {
- "code": {
- "example": "chocolate-chunk-cookie",
+ "color": {
"type": "string"
},
- "description": {
+ "colorless": {
+ "type": "boolean"
+ },
+ "currency": {
"type": "string"
},
- "image_url": {
+ "department_code": {
"type": "string"
},
- "name": {
- "example": "Chocolate Chunk Cookie",
+ "division_code": {
+ "type": "string"
+ },
+ "family_code": {
"type": "string"
},
+ "images": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "in_stock": {
+ "type": "boolean"
+ },
+ "in_store": {
+ "type": "boolean"
+ },
+ "more_colors": {
+ "type": "boolean"
+ },
+ "personalizable": {
+ "type": "boolean"
+ },
"price": {
- "$ref": "#/definitions/kfc.Money"
+ "type": "number"
},
- "type": {
- "example": "product",
+ "price_type": {
"type": "string"
},
- "variant_code": {
- "description": "VariantCode is the specific priced variant this item's Price reflects\n(present for type=product, whose price comes from its default\nvariant). It is the id GraphQL calls use to select a specific size/\nconfiguration; this family does not currently expose variant-level\nbrowsing beyond the default.",
- "example": "VC_ChocolateChunkCookie|0|||||",
+ "product_code": {
+ "type": "string"
+ },
+ "size": {
+ "type": "string"
+ },
+ "sku": {
+ "type": "string"
+ },
+ "slug": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "kfc.MenuResponse": {
+ "hermes.ProductResponse": {
"properties": {
+ "care_instructions": {
+ "description": "CareInstructions, Gift and DeliveryReturns are Hermès' own HTML\nfragments, returned verbatim because their markup carries links and\nstructure that flattening to text would lose.",
+ "type": "string"
+ },
"categories": {
"items": {
- "$ref": "#/definitions/kfc.MenuCategory"
+ "type": "string"
},
"type": "array"
},
- "channel": {
- "example": "WEB",
+ "color_name": {
"type": "string"
},
+ "colors": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
"currency": {
- "example": "USD",
"type": "string"
},
- "fetched_at": {
+ "delivery_and_returns": {
"type": "string"
},
- "item_count": {
- "example": 52,
- "type": "integer"
- },
- "menu_id": {
- "example": "845791b0-7bdb-4ff0-92f2-344a89aa4b57",
+ "department_code": {
"type": "string"
},
- "source_url": {
+ "description": {
"type": "string"
},
- "store_number": {
- "example": "I824001",
+ "dimensions": {
"type": "string"
- }
- },
- "type": "object"
- },
- "kfc.Money": {
- "properties": {
- "amount": {
- "example": 4.99,
- "type": "number"
},
- "amount_cents": {
- "example": 499,
- "type": "integer"
- },
- "currency_code": {
- "example": "USD",
+ "division_code": {
"type": "string"
- }
- },
- "type": "object"
- },
- "kfc.NearbyResponse": {
- "properties": {
- "count": {
- "example": 20,
- "type": "integer"
},
- "fetched_at": {
+ "family_code": {
"type": "string"
},
- "has_more": {
- "example": true,
- "type": "boolean"
+ "gender": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "source_url": {
+ "gift": {
"type": "string"
},
- "stores": {
+ "images": {
"items": {
- "$ref": "#/definitions/kfc.NearbyStore"
+ "type": "string"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "kfc.NearbyStore": {
- "properties": {
- "accepting_online_orders": {
- "example": true,
+ },
+ "in_stock": {
"type": "boolean"
},
- "address": {
- "$ref": "#/definitions/kfc.Address"
+ "in_store": {
+ "type": "boolean"
},
- "archived": {
- "example": false,
+ "locale": {
+ "type": "string"
+ },
+ "made_in": {
+ "type": "string"
+ },
+ "materials": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "personalizable": {
"type": "boolean"
},
- "distance_miles": {
- "example": 1.408,
+ "price": {
"type": "number"
},
- "name": {
- "example": "KFC 600 Terminal Drive",
+ "price_type": {
"type": "string"
},
- "store_number": {
- "example": "I824001",
+ "product_code": {
"type": "string"
},
- "timezone": {
- "example": "America/New_York",
+ "size": {
+ "type": "string"
+ },
+ "sku": {
+ "type": "string"
+ },
+ "slug": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
+ },
+ "variants": {
+ "$ref": "#/definitions/hermes.Variants"
}
},
"type": "object"
},
- "kfc.OccasionHours": {
+ "hermes.ProductsResponse": {
"properties": {
- "enabled": {
- "example": true,
- "type": "boolean"
+ "limit": {
+ "type": "integer"
},
- "occasion": {
- "example": "DELIVERY",
+ "locale": {
"type": "string"
},
- "windows": {
+ "page": {
+ "type": "integer"
+ },
+ "products": {
"items": {
- "$ref": "#/definitions/kfc.TimeWindow"
+ "$ref": "#/definitions/hermes.CatalogueProduct"
},
"type": "array"
+ },
+ "total": {
+ "type": "integer"
}
},
"type": "object"
},
- "kfc.Promotion": {
+ "hermes.RecommendationsResponse": {
"properties": {
- "automatic": {
- "example": true,
- "type": "boolean"
+ "locale": {
+ "type": "string"
},
- "description": {
+ "shelves": {
+ "items": {
+ "$ref": "#/definitions/hermes.Shelf"
+ },
+ "type": "array"
+ },
+ "sku": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "hermes.SearchResponse": {
+ "properties": {
+ "filters": {
+ "items": {
+ "$ref": "#/definitions/hermes.Filter"
+ },
+ "type": "array"
},
- "display_name": {
- "example": "50% off Chicken Sandwich",
+ "locale": {
"type": "string"
},
- "name": {
- "example": "Digital-Q324 - 50% off Chicken Sandwich",
+ "page": {
+ "type": "integer"
+ },
+ "page_size": {
+ "type": "integer"
+ },
+ "products": {
+ "items": {
+ "$ref": "#/definitions/hermes.Product"
+ },
+ "type": "array"
+ },
+ "query": {
"type": "string"
},
- "promotion_id": {
- "example": "6815f409-5b1e-44dc-9f99-26b1c1a2699a",
+ "results_for": {
+ "description": "ResultsFor is the term Hermès actually searched for, which can differ\nfrom query when it applies its own spelling correction. Empty when\nupstream reports no correction.",
"type": "string"
},
- "redemption_codes": {
- "description": "RedemptionCodes is populated from the public promotion's active code\nconnection. It gives callers a durable discovery path for\nPromotionByCode instead of requiring a guessed or stale code.",
- "example": [
- "WALMART5DOLLARSOFF"
- ],
+ "total": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "hermes.Shelf": {
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "products": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/hermes.Product"
},
"type": "array"
+ },
+ "total": {
+ "type": "integer"
}
},
"type": "object"
},
- "kfc.PromotionResponse": {
+ "hermes.Store": {
"properties": {
- "automatic": {
- "example": true,
+ "appointment_in_store": {
"type": "boolean"
},
- "code_status": {
+ "city": {
"type": "string"
},
- "description": {
+ "continent": {
"type": "string"
},
- "display_name": {
- "example": "50% off Chicken Sandwich",
+ "country": {
"type": "string"
},
- "effective_date": {
+ "country_code": {
"type": "string"
},
- "expiration_date": {
+ "id": {
"type": "string"
},
- "fetched_at": {
+ "images": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "latitude": {
+ "type": "number"
+ },
+ "longitude": {
+ "type": "number"
+ },
+ "name": {
"type": "string"
},
- "group_status": {
+ "opening_hours": {
"type": "string"
},
- "name": {
- "example": "Digital-Q324 - 50% off Chicken Sandwich",
+ "phone": {
"type": "string"
},
- "promotion_id": {
- "example": "6815f409-5b1e-44dc-9f99-26b1c1a2699a",
+ "postal_code": {
"type": "string"
},
- "redemption_code": {
- "description": "The fields below are populated only when looked up by\nserialized_code -- a serialized code carries its own usage metadata\ndistinct from the promotion it resolves to.",
- "example": "WELCOME10",
+ "street": {
"type": "string"
},
- "redemption_codes": {
- "description": "RedemptionCodes is populated from the public promotion's active code\nconnection. It gives callers a durable discovery path for\nPromotionByCode instead of requiring a guessed or stale code.",
- "example": [
- "WALMART5DOLLARSOFF"
- ],
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "hermes.StoresResponse": {
+ "properties": {
+ "locale": {
+ "type": "string"
+ },
+ "stores": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/hermes.Store"
},
"type": "array"
},
- "source_url": {
- "type": "string"
- },
- "times_used": {
- "example": 0,
+ "total": {
"type": "integer"
}
},
"type": "object"
},
- "kfc.PromotionsResponse": {
+ "hermes.SuggestResponse": {
"properties": {
- "count": {
- "example": 15,
- "type": "integer"
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/hermes.SuggestedCategory"
+ },
+ "type": "array"
},
- "fetched_at": {
+ "locale": {
"type": "string"
},
- "promotions": {
+ "products": {
"items": {
- "$ref": "#/definitions/kfc.Promotion"
+ "$ref": "#/definitions/hermes.SuggestedProduct"
},
"type": "array"
},
- "source_url": {
- "type": "string"
- },
- "store_number": {
- "example": "I824001",
+ "query": {
"type": "string"
}
},
"type": "object"
},
- "kfc.Store": {
+ "hermes.SuggestedCategory": {
"properties": {
- "accepting_online_orders": {
- "example": true,
- "type": "boolean"
+ "code": {
+ "type": "string"
},
- "address": {
- "$ref": "#/definitions/kfc.Address"
+ "label": {
+ "type": "string"
},
- "archived": {
- "example": false,
- "type": "boolean"
+ "results": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "hermes.SuggestedProduct": {
+ "properties": {
+ "image": {
+ "type": "string"
},
- "name": {
- "example": "KFC 600 Terminal Drive",
+ "label": {
"type": "string"
},
- "store_number": {
- "example": "I824001",
+ "sku": {
"type": "string"
},
- "timezone": {
- "example": "America/New_York",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "kfc.StoreResponse": {
+ "hermes.Variant": {
"properties": {
- "accepting_online_orders": {
- "example": true,
- "type": "boolean"
+ "color": {
+ "type": "string"
},
- "address": {
- "$ref": "#/definitions/kfc.Address"
+ "image": {
+ "type": "string"
},
- "archived": {
- "example": false,
+ "in_stock": {
"type": "boolean"
},
- "fetched_at": {
- "type": "string"
- },
- "hours": {
- "description": "Hours is this restaurant's recurring open windows per order channel\n(occasion) -- CARRYOUT, DELIVERY, DINE_IN, DRIVE_THRU,\nCATERING_CARRYOUT. A restaurant that does not offer a given occasion\nat all omits it from this list.",
- "items": {
- "$ref": "#/definitions/kfc.OccasionHours"
- },
- "type": "array"
+ "price": {
+ "type": "number"
},
- "name": {
- "example": "KFC 600 Terminal Drive",
+ "size": {
"type": "string"
},
- "source_url": {
+ "sku": {
"type": "string"
},
- "store_number": {
- "example": "I824001",
+ "title": {
"type": "string"
},
- "timezone": {
- "example": "America/New_York",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "kfc.StoresResponse": {
+ "hermes.Variants": {
"properties": {
- "count": {
- "example": 5,
- "type": "integer"
- },
- "fetched_at": {
- "type": "string"
- },
- "has_more": {
- "example": true,
- "type": "boolean"
- },
- "source_url": {
- "type": "string"
- },
- "stores": {
+ "colors": {
"items": {
- "$ref": "#/definitions/kfc.Store"
+ "$ref": "#/definitions/hermes.Variant"
},
"type": "array"
},
- "total_count": {
- "description": "TotalCount is how many restaurants matched upstream; it can exceed\nCount when more results exist than max_results asked for.",
- "example": 33,
- "type": "integer"
+ "sizes": {
+ "items": {
+ "$ref": "#/definitions/hermes.Variant"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "kfc.TimeWindow": {
+ "hermes.categoriesResponseDoc": {
"properties": {
- "blackout": {
- "example": false,
- "type": "boolean"
- },
- "days": {
- "example": [
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7
- ],
- "items": {
- "type": "integer"
- },
- "type": "array"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "duration": {
- "example": "09:00:00",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/hermes.CategoriesResponse"
},
- "start_time": {
- "example": "10:00:00",
+ "msg": {
+ "example": "ok",
"type": "string"
}
},
"type": "object"
},
- "kfc.deliveryEstimateResponseDoc": {
+ "hermes.categoryResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/kfc.DeliveryEstimateResponse"
+ "$ref": "#/definitions/hermes.CategoryResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "ok",
+ "type": "string"
}
},
"type": "object"
},
- "kfc.menuResponseDoc": {
+ "hermes.productResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/kfc.MenuResponse"
+ "$ref": "#/definitions/hermes.ProductResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "ok",
+ "type": "string"
}
},
"type": "object"
},
- "kfc.nearbyResponseDoc": {
+ "hermes.productsResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/kfc.NearbyResponse"
+ "$ref": "#/definitions/hermes.ProductsResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "ok",
+ "type": "string"
}
},
"type": "object"
},
- "kfc.promotionResponseDoc": {
+ "hermes.recommendationsResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/kfc.PromotionResponse"
+ "$ref": "#/definitions/hermes.RecommendationsResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "ok",
+ "type": "string"
}
},
"type": "object"
},
- "kfc.promotionsResponseDoc": {
+ "hermes.searchResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/kfc.PromotionsResponse"
+ "$ref": "#/definitions/hermes.SearchResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "ok",
+ "type": "string"
}
},
"type": "object"
},
- "kfc.storeResponseDoc": {
+ "hermes.storesResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/kfc.StoreResponse"
+ "$ref": "#/definitions/hermes.StoresResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "ok",
+ "type": "string"
}
},
"type": "object"
},
- "kfc.storesResponseDoc": {
+ "hermes.suggestResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/kfc.StoresResponse"
+ "$ref": "#/definitions/hermes.SuggestResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "ok",
+ "type": "string"
}
},
"type": "object"
},
- "khaleejtimes.AuthorResponse": {
+ "hindustantimes.AuthorResponse": {
"properties": {
"articles": {
"items": {
- "$ref": "#/definitions/newsplatform.HeadlineItem"
+ "$ref": "#/definitions/hindustantimes.HeadlineItem"
},
"type": "array"
},
"biography": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "email": {
"type": "string"
},
- "image_url": {
+ "facebook_url": {
"type": "string"
},
- "name": {
+ "image_url": {
"type": "string"
},
- "slug": {
+ "linkedin_url": {
"type": "string"
},
- "total_articles": {
- "type": "integer"
+ "name": {
+ "type": "string"
},
- "twitter_handle": {
+ "twitter_url": {
"type": "string"
},
"url": {
@@ -121922,67 +127548,71 @@
},
"type": "object"
},
- "kick.CategoriesResponse": {
- "properties": {
- "categories": {
- "items": {
- "$ref": "#/definitions/kick.Category"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "kick.Category": {
+ "hindustantimes.HeadlineItem": {
"properties": {
- "icon": {
+ "author": {
"type": "string"
},
- "id": {
- "type": "integer"
+ "image_url": {
+ "type": "string"
},
- "name": {
+ "published_at": {
"type": "string"
},
- "slug": {
+ "summary": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "kick.CategoryHit": {
+ "hltv.Event": {
"properties": {
+ "end_date": {
+ "type": "string"
+ },
"id": {
"type": "integer"
},
- "mature": {
- "type": "boolean"
+ "location": {
+ "type": "string"
},
"name": {
"type": "string"
},
- "slug": {
+ "prize_pool": {
"type": "string"
},
- "tags": {
+ "start_date": {
+ "type": "string"
+ },
+ "status": {
+ "type": "string"
+ },
+ "teams": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/hltv.TeamRef"
},
"type": "array"
},
- "thumbnail_url": {
+ "type": {
"type": "string"
},
"url": {
"type": "string"
- },
- "viewers": {
- "type": "integer"
}
},
"type": "object"
},
- "kick.CategoryRef": {
+ "hltv.EventRef": {
"properties": {
"id": {
"type": "integer"
@@ -121990,457 +127620,318 @@
"name": {
"type": "string"
},
- "slug": {
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "kick.ChannelChatroomResponse": {
+ "hltv.EventResponse": {
"properties": {
- "account_age": {
- "$ref": "#/definitions/kick.ChatMode"
+ "end_date": {
+ "type": "string"
},
- "chatroom_id": {
+ "id": {
"type": "integer"
},
- "emotes_only": {
- "$ref": "#/definitions/kick.ChatMode"
- },
- "followers_only": {
- "$ref": "#/definitions/kick.ChatMode"
- },
- "gifts_enabled": {
- "type": "boolean"
+ "location": {
+ "type": "string"
},
- "rules": {
- "description": "Rules is the channel's chat rules text; empty when none are set.",
+ "name": {
"type": "string"
},
- "slow_mode": {
- "$ref": "#/definitions/kick.ChatMode"
+ "prize_pool": {
+ "type": "string"
},
- "slug": {
+ "start_date": {
"type": "string"
},
- "subscribers_only": {
- "$ref": "#/definitions/kick.ChatMode"
- }
- },
- "type": "object"
- },
- "kick.ChannelEmotesResponse": {
- "properties": {
- "channel": {
- "items": {
- "$ref": "#/definitions/kick.Emote"
- },
- "type": "array"
+ "status": {
+ "type": "string"
},
- "emoji": {
- "items": {
- "$ref": "#/definitions/kick.Emote"
- },
- "type": "array"
+ "team_count": {
+ "type": "integer"
},
- "global": {
+ "teams": {
"items": {
- "$ref": "#/definitions/kick.Emote"
+ "$ref": "#/definitions/hltv.EventTeam"
},
"type": "array"
},
- "slug": {
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "kick.ChannelHit": {
+ "hltv.EventTeam": {
"properties": {
- "followers": {
- "type": "integer"
- },
"id": {
"type": "integer"
},
- "live": {
- "type": "boolean"
- },
- "profile_picture": {
+ "logo_url": {
"type": "string"
},
- "slug": {
+ "name": {
"type": "string"
},
- "url": {
+ "vrs_rank": {
"type": "string"
},
- "username": {
+ "world_rank": {
"type": "string"
- },
- "verified": {
- "type": "boolean"
}
},
"type": "object"
},
- "kick.ChannelLink": {
+ "hltv.EventsResponse": {
"properties": {
- "description": {
- "type": "string"
- },
- "id": {
- "type": "integer"
- },
- "image_url": {
- "type": "string"
- },
- "kind": {
- "description": "Kind is \"link\" for a panel with a URL and \"text\" for one that is only\na title and description.",
- "type": "string"
- },
- "order": {
- "description": "Order is the position Kick shows the panel in; Kick numbers from 0 on\nsome channels and from 1 on others.",
+ "count": {
"type": "integer"
},
- "title": {
- "type": "string"
- },
- "url": {
- "description": "URL is empty for a text panel.",
- "type": "string"
- }
- },
- "type": "object"
- },
- "kick.ChannelLinksResponse": {
- "properties": {
- "links": {
+ "events": {
"items": {
- "$ref": "#/definitions/kick.ChannelLink"
+ "$ref": "#/definitions/hltv.Event"
},
"type": "array"
- },
- "slug": {
- "type": "string"
}
},
"type": "object"
},
- "kick.ChannelRef": {
+ "hltv.LineupPlayer": {
"properties": {
"id": {
"type": "integer"
},
- "profile_picture": {
+ "nickname": {
"type": "string"
},
- "slug": {
+ "real_name": {
"type": "string"
},
- "url": {
+ "role": {
"type": "string"
},
- "username": {
+ "url": {
"type": "string"
- },
- "verified": {
- "type": "boolean"
}
},
"type": "object"
},
- "kick.ChannelResponse": {
+ "hltv.Match": {
"properties": {
- "affiliate": {
- "type": "boolean"
+ "event": {
+ "$ref": "#/definitions/hltv.EventRef"
},
- "banned": {
+ "format": {
+ "type": "string"
+ },
+ "id": {
+ "type": "integer"
+ },
+ "lan": {
"type": "boolean"
},
- "banner_url": {
+ "region": {
"type": "string"
},
- "bio": {
+ "stage": {
"type": "string"
},
- "followers": {
- "type": "integer"
- },
- "id": {
+ "stars": {
"type": "integer"
},
- "live": {
- "$ref": "#/definitions/kick.LiveStream"
+ "starts_at": {
+ "type": "string"
},
- "profile_picture": {
+ "status": {
"type": "string"
},
- "recent_categories": {
+ "teams": {
"items": {
- "$ref": "#/definitions/kick.CategoryRef"
+ "$ref": "#/definitions/hltv.TeamRef"
},
"type": "array"
},
- "slug": {
- "type": "string"
- },
- "socials": {
- "$ref": "#/definitions/kick.Socials"
- },
- "subscription_enabled": {
- "type": "boolean"
- },
"url": {
"type": "string"
- },
- "username": {
- "type": "string"
- },
- "verified": {
- "type": "boolean"
- },
- "vod_enabled": {
- "type": "boolean"
}
},
"type": "object"
},
- "kick.ChannelStreamsResponse": {
+ "hltv.MatchLineup": {
"properties": {
- "slug": {
- "type": "string"
- },
- "streams": {
+ "players": {
"items": {
- "$ref": "#/definitions/kick.StreamSession"
+ "$ref": "#/definitions/hltv.LineupPlayer"
},
"type": "array"
+ },
+ "team": {
+ "$ref": "#/definitions/hltv.TeamRef"
}
},
"type": "object"
},
- "kick.ChannelVideosResponse": {
+ "hltv.MatchMap": {
"properties": {
- "slug": {
+ "halves": {
+ "items": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "type": "array"
+ },
+ "name": {
"type": "string"
},
- "videos": {
+ "picked_by": {
+ "type": "integer"
+ },
+ "played": {
+ "type": "boolean"
+ },
+ "score": {
"items": {
- "$ref": "#/definitions/kick.Video"
+ "type": "integer"
},
"type": "array"
+ },
+ "stats_id": {
+ "type": "integer"
+ },
+ "stats_url": {
+ "type": "string"
+ },
+ "winner": {
+ "type": "integer"
}
},
"type": "object"
},
- "kick.ChatMode": {
+ "hltv.MatchMapStats": {
"properties": {
- "enabled": {
- "type": "boolean"
+ "map_name": {
+ "type": "string"
},
- "interval_seconds": {
- "description": "IntervalSeconds is the delay between a viewer's messages, for slow mode.",
- "type": "integer"
+ "rows": {
+ "items": {
+ "$ref": "#/definitions/hltv.MatchStatsRow"
+ },
+ "type": "array"
},
- "minutes": {
- "description": "Minutes is the minimum follow time or account age, in minutes, for\nfollowers-only and account-age modes; zero for the others.",
+ "stats_id": {
"type": "integer"
}
},
"type": "object"
},
- "kick.Clip": {
+ "hltv.MatchResponse": {
"properties": {
- "category": {
- "$ref": "#/definitions/kick.CategoryRef"
- },
- "channel": {
- "$ref": "#/definitions/kick.ChannelRef"
- },
- "created_at": {
+ "date": {
"type": "string"
},
- "duration_seconds": {
- "type": "integer"
+ "event": {
+ "$ref": "#/definitions/hltv.EventRef"
},
- "id": {
+ "format": {
"type": "string"
},
- "likes": {
+ "id": {
"type": "integer"
},
- "mature": {
+ "lan": {
"type": "boolean"
},
- "started_at": {
- "type": "string"
+ "lineups": {
+ "items": {
+ "$ref": "#/definitions/hltv.MatchLineup"
+ },
+ "type": "array"
},
- "thumbnail_url": {
- "type": "string"
+ "map_stats": {
+ "items": {
+ "$ref": "#/definitions/hltv.MatchMapStats"
+ },
+ "type": "array"
},
- "title": {
- "type": "string"
+ "maps": {
+ "items": {
+ "$ref": "#/definitions/hltv.MatchMap"
+ },
+ "type": "array"
},
- "url": {
+ "stage": {
"type": "string"
},
- "video_id": {
+ "stats": {
+ "items": {
+ "$ref": "#/definitions/hltv.MatchStatsRow"
+ },
+ "type": "array"
+ },
+ "status": {
"type": "string"
},
- "video_offset_seconds": {
- "type": "integer"
- },
- "views": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "kick.ClipResponse": {
- "properties": {
- "clip": {
- "$ref": "#/definitions/kick.Clip"
- }
- },
- "type": "object"
- },
- "kick.ClipsResponse": {
- "properties": {
- "category": {
- "description": "Category is the category slug a category clip list was read for.",
- "type": "string"
- },
- "clips": {
+ "teams": {
"items": {
- "$ref": "#/definitions/kick.Clip"
+ "$ref": "#/definitions/hltv.MatchTeam"
},
"type": "array"
},
- "next_cursor": {
- "type": "string"
- },
- "slug": {
- "type": "string"
- },
- "sort": {
- "type": "string"
- },
- "time": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "kick.DirectoryStream": {
- "properties": {
- "category": {
- "$ref": "#/definitions/kick.CategoryRef"
- },
- "channel": {
- "$ref": "#/definitions/kick.ChannelRef"
- },
- "id": {
- "type": "string"
- },
- "language": {
- "type": "string"
- },
- "mature": {
- "type": "boolean"
- },
- "started_at": {
+ "url": {
"type": "string"
},
- "tags": {
+ "veto": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/hltv.VetoEntry"
},
"type": "array"
- },
- "thumbnail_url": {
- "type": "string"
- },
- "title": {
- "type": "string"
- },
- "viewers": {
- "type": "integer"
}
},
"type": "object"
},
- "kick.DropCampaign": {
+ "hltv.MatchStatsRow": {
"properties": {
- "category": {
- "$ref": "#/definitions/kick.CategoryRef"
+ "adr": {
+ "type": "number"
},
- "channel_count": {
+ "deaths": {
"type": "integer"
},
- "channels": {
- "items": {
- "$ref": "#/definitions/kick.DropChannel"
- },
- "type": "array"
- },
- "ends_at": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "name": {
+ "kast": {
"type": "string"
},
- "organization": {
- "$ref": "#/definitions/kick.DropOrganization"
- },
- "rewards": {
- "items": {
- "$ref": "#/definitions/kick.DropReward"
- },
- "type": "array"
- },
- "rule": {
- "type": "string"
+ "kd_diff": {
+ "type": "integer"
},
- "starts_at": {
- "type": "string"
+ "kills": {
+ "type": "integer"
},
- "status": {
+ "nickname": {
"type": "string"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "kick.DropChannel": {
- "properties": {
- "id": {
+ "player_id": {
"type": "integer"
},
- "profile_picture": {
- "type": "string"
- },
- "slug": {
- "type": "string"
+ "rating": {
+ "type": "number"
},
- "url": {
+ "swing": {
"type": "string"
},
- "username": {
+ "team": {
"type": "string"
}
},
"type": "object"
},
- "kick.DropOrganization": {
+ "hltv.MatchTeam": {
"properties": {
"id": {
- "type": "string"
+ "type": "integer"
},
"logo_url": {
"type": "string"
@@ -122448,314 +127939,184 @@
"name": {
"type": "string"
},
- "url": {
- "type": "string"
+ "score": {
+ "type": "integer"
}
},
"type": "object"
},
- "kick.DropReward": {
+ "hltv.MatchesResponse": {
"properties": {
- "category_id": {
+ "count": {
"type": "integer"
},
- "id": {
- "type": "string"
- },
- "image_url": {
- "type": "string"
- },
- "name": {
- "type": "string"
- },
- "required_units": {
- "description": "RequiredUnits is Kick's threshold for the reward. For the\n\"Watch to redeem\" campaigns it reads as watch time (60, 120, 180 ...);\nKick does not state the unit.",
- "type": "integer"
- }
- },
- "type": "object"
- },
- "kick.DropsResponse": {
- "properties": {
- "campaigns": {
+ "matches": {
"items": {
- "$ref": "#/definitions/kick.DropCampaign"
+ "$ref": "#/definitions/hltv.Match"
},
"type": "array"
- },
- "status": {
- "type": "string"
- },
- "total": {
- "description": "Total is the number of campaigns Kick lists in all (active and\nexpired); Campaigns holds those matching Status.",
- "type": "integer"
}
},
"type": "object"
},
- "kick.Emote": {
+ "hltv.PlayerResponse": {
"properties": {
- "id": {
- "type": "integer"
- },
- "image_url": {
+ "age": {
"type": "string"
},
- "name": {
+ "country": {
"type": "string"
},
- "subscribers_only": {
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "kick.Gift": {
- "properties": {
- "character_limit": {
- "description": "CharacterLimit is the message length a level-up gift allows (0 = none).",
- "type": "integer"
- },
- "id": {
+ "date_of_birth": {
"type": "string"
},
- "kicks": {
+ "id": {
"type": "integer"
},
- "name": {
+ "nickname": {
"type": "string"
},
- "pinned_seconds": {
- "description": "PinnedSeconds is how long a level-up gift pins its message in chat.",
- "type": "integer"
- },
- "tier": {
- "description": "Tier is BASIC, MID or HIGHER; Type is BASIC or LEVEL_UP.",
+ "real_name": {
"type": "string"
},
- "type": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "kick.GiftsResponse": {
- "properties": {
- "gifts": {
+ "role_stats": {
"items": {
- "$ref": "#/definitions/kick.Gift"
+ "$ref": "#/definitions/hltv.PlayerRoleStat"
},
"type": "array"
+ },
+ "team": {
+ "$ref": "#/definitions/hltv.TeamRef"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "kick.Language": {
+ "hltv.PlayerRoleStat": {
"properties": {
- "code": {
+ "name": {
"type": "string"
},
- "name": {
+ "value": {
"type": "string"
}
},
"type": "object"
},
- "kick.LanguagesResponse": {
- "properties": {
- "languages": {
- "items": {
- "$ref": "#/definitions/kick.Language"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "kick.LiveStream": {
+ "hltv.RankingEntry": {
"properties": {
- "categories": {
- "items": {
- "$ref": "#/definitions/kick.CategoryRef"
- },
- "type": "array"
- },
- "id": {
- "type": "integer"
- },
- "language": {
- "type": "string"
- },
- "mature": {
- "type": "boolean"
- },
- "started_at": {
+ "change": {
"type": "string"
},
- "tags": {
+ "players": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/hltv.RankingPlayer"
},
"type": "array"
},
- "thumbnail_url": {
- "type": "string"
- },
- "title": {
- "type": "string"
+ "points": {
+ "type": "integer"
},
- "viewers": {
+ "rank": {
"type": "integer"
+ },
+ "team": {
+ "$ref": "#/definitions/hltv.TeamRef"
}
},
"type": "object"
},
- "kick.LivestreamsResponse": {
+ "hltv.RankingPlayer": {
"properties": {
- "category_id": {
+ "id": {
"type": "integer"
},
- "language": {
- "type": "string"
- },
- "livestreams": {
- "items": {
- "$ref": "#/definitions/kick.DirectoryStream"
- },
- "type": "array"
- },
- "next_cursor": {
+ "nickname": {
"type": "string"
},
- "sort": {
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "kick.SearchCategoriesResponse": {
+ "hltv.RankingsResponse": {
"properties": {
- "categories": {
+ "countries": {
"items": {
- "$ref": "#/definitions/kick.CategoryHit"
+ "type": "string"
},
"type": "array"
},
- "query": {
+ "country": {
"type": "string"
- }
- },
- "type": "object"
- },
- "kick.SearchChannelsResponse": {
- "properties": {
- "channels": {
+ },
+ "date": {
+ "type": "string"
+ },
+ "entries": {
"items": {
- "$ref": "#/definitions/kick.ChannelHit"
+ "$ref": "#/definitions/hltv.RankingEntry"
},
"type": "array"
- },
- "query": {
- "type": "string"
}
},
"type": "object"
},
- "kick.Socials": {
+ "hltv.Result": {
"properties": {
- "discord": {
- "type": "string"
- },
- "facebook": {
+ "date": {
"type": "string"
},
- "instagram": {
- "type": "string"
+ "event": {
+ "$ref": "#/definitions/hltv.EventRef"
},
- "tiktok": {
+ "format": {
"type": "string"
},
- "twitter": {
- "type": "string"
+ "match_id": {
+ "type": "integer"
},
- "youtube": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "kick.StreamSession": {
- "properties": {
- "categories": {
+ "score": {
"items": {
- "$ref": "#/definitions/kick.CategoryRef"
+ "type": "integer"
},
"type": "array"
},
- "duration_ms": {
- "type": "integer"
- },
- "id": {
+ "stars": {
"type": "integer"
},
- "language": {
- "type": "string"
- },
- "live": {
- "type": "boolean"
- },
- "mature": {
- "type": "boolean"
- },
- "started_at": {
- "type": "string"
- },
- "tags": {
+ "teams": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/hltv.TeamRef"
},
"type": "array"
},
- "thumbnail_url": {
- "type": "string"
- },
- "title": {
- "type": "string"
- },
- "video_url": {
- "type": "string"
- },
- "video_uuid": {
- "description": "VideoUUID, VideoViews and VideoURL describe the recording; empty when\nthe broadcast has none.",
+ "url": {
"type": "string"
},
- "video_views": {
- "type": "integer"
- },
- "viewer_count": {
- "description": "ViewerCount is the viewer figure Kick reports for the broadcast; the\nupstream does not say whether it is a peak or an average.",
+ "winner": {
"type": "integer"
}
},
"type": "object"
},
- "kick.SubcategoriesResponse": {
+ "hltv.ResultsResponse": {
"properties": {
- "category": {
- "type": "string"
- },
- "limit": {
+ "next_offset": {
"type": "integer"
},
- "page": {
+ "offset": {
"type": "integer"
},
- "reachable": {
+ "per_page": {
"type": "integer"
},
- "subcategories": {
+ "results": {
"items": {
- "$ref": "#/definitions/kick.Subcategory"
+ "$ref": "#/definitions/hltv.Result"
},
"type": "array"
},
@@ -122765,237 +128126,177 @@
},
"type": "object"
},
- "kick.Subcategory": {
+ "hltv.RosterMember": {
"properties": {
- "banner_url": {
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "followers": {
- "type": "integer"
- },
"id": {
"type": "integer"
},
- "mature": {
- "type": "boolean"
- },
- "name": {
- "type": "string"
- },
- "parent_id": {
- "type": "integer"
- },
- "parent_name": {
+ "nickname": {
"type": "string"
},
- "parent_slug": {
+ "real_name": {
"type": "string"
},
- "slug": {
+ "role": {
"type": "string"
},
- "tags": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
"url": {
"type": "string"
- },
- "viewers": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "kick.SubcategoryResponse": {
- "properties": {
- "subcategory": {
- "$ref": "#/definitions/kick.Subcategory"
}
},
"type": "object"
},
- "kick.TopChannelsResponse": {
+ "hltv.SearchGroup": {
"properties": {
- "channels": {
+ "items": {
"items": {
- "$ref": "#/definitions/kick.ChannelHit"
+ "$ref": "#/definitions/hltv.SearchItem"
},
"type": "array"
+ },
+ "name": {
+ "type": "string"
}
},
"type": "object"
},
- "kick.Video": {
+ "hltv.SearchItem": {
"properties": {
- "categories": {
- "items": {
- "$ref": "#/definitions/kick.CategoryRef"
- },
- "type": "array"
- },
- "duration_ms": {
- "type": "integer"
- },
- "id": {
- "type": "integer"
- },
- "language": {
+ "author": {
"type": "string"
},
- "live": {
- "type": "boolean"
+ "author_url": {
+ "type": "string"
},
- "mature": {
- "type": "boolean"
+ "country": {
+ "type": "string"
},
- "started_at": {
+ "date": {
"type": "string"
},
- "tags": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "id": {
+ "type": "integer"
},
- "thumbnail_url": {
+ "logo_url": {
"type": "string"
},
- "title": {
+ "name": {
"type": "string"
},
- "url": {
+ "slug": {
"type": "string"
},
- "uuid": {
+ "type": {
"type": "string"
},
- "views": {
- "type": "integer"
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "kick.VideoResponse": {
+ "hltv.SearchResponse": {
"properties": {
- "categories": {
- "items": {
- "$ref": "#/definitions/kick.CategoryRef"
- },
- "type": "array"
- },
- "channel": {
- "$ref": "#/definitions/kick.ChannelRef"
- },
- "created_at": {
- "type": "string"
- },
- "duration_ms": {
- "type": "integer"
- },
- "id": {
+ "count": {
"type": "integer"
},
- "language": {
- "type": "string"
- },
- "mature": {
- "type": "boolean"
- },
- "started_at": {
- "type": "string"
- },
- "status": {
- "type": "string"
- },
- "tags": {
+ "groups": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/hltv.SearchGroup"
},
"type": "array"
},
- "thumbnail_url": {
+ "query": {
"type": "string"
- },
- "title": {
+ }
+ },
+ "type": "object"
+ },
+ "hltv.TeamRanking": {
+ "properties": {
+ "name": {
"type": "string"
},
- "url": {
+ "rank": {
"type": "string"
},
- "uuid": {
+ "region": {
"type": "string"
- },
- "viewer_count": {
- "type": "integer"
- },
- "views": {
- "type": "integer"
}
},
"type": "object"
},
- "kick.categoriesResponseDoc": {
+ "hltv.TeamRef": {
"properties": {
- "code": {
- "example": 200,
+ "id": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/kick.CategoriesResponse"
+ "logo_url": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "name": {
"type": "string"
}
},
"type": "object"
},
- "kick.categoryClipsResponseDoc": {
+ "hltv.TeamResponse": {
"properties": {
- "code": {
- "example": 200,
+ "country": {
+ "type": "string"
+ },
+ "id": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/kick.ClipsResponse"
+ "logo_url": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "name": {
+ "type": "string"
+ },
+ "rankings": {
+ "items": {
+ "$ref": "#/definitions/hltv.TeamRanking"
+ },
+ "type": "array"
+ },
+ "roster": {
+ "items": {
+ "$ref": "#/definitions/hltv.RosterMember"
+ },
+ "type": "array"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "kick.channelChatroomResponseDoc": {
+ "hltv.VetoEntry": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "action": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/kick.ChannelChatroomResponse"
+ "map": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "order": {
+ "type": "integer"
+ },
+ "team": {
"type": "string"
}
},
"type": "object"
},
- "kick.channelClipsResponseDoc": {
+ "hltv.eventResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/kick.ClipsResponse"
+ "$ref": "#/definitions/hltv.EventResponse"
},
"msg": {
"example": "OK",
@@ -123004,14 +128305,14 @@
},
"type": "object"
},
- "kick.channelEmotesResponseDoc": {
+ "hltv.eventsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/kick.ChannelEmotesResponse"
+ "$ref": "#/definitions/hltv.EventsResponse"
},
"msg": {
"example": "OK",
@@ -123020,14 +128321,14 @@
},
"type": "object"
},
- "kick.channelLinksResponseDoc": {
+ "hltv.matchResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/kick.ChannelLinksResponse"
+ "$ref": "#/definitions/hltv.MatchResponse"
},
"msg": {
"example": "OK",
@@ -123036,14 +128337,14 @@
},
"type": "object"
},
- "kick.channelResponseDoc": {
+ "hltv.matchesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/kick.ChannelResponse"
+ "$ref": "#/definitions/hltv.MatchesResponse"
},
"msg": {
"example": "OK",
@@ -123052,14 +128353,14 @@
},
"type": "object"
},
- "kick.channelStreamsResponseDoc": {
+ "hltv.playerResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/kick.ChannelStreamsResponse"
+ "$ref": "#/definitions/hltv.PlayerResponse"
},
"msg": {
"example": "OK",
@@ -123068,14 +128369,14 @@
},
"type": "object"
},
- "kick.channelVideosResponseDoc": {
+ "hltv.rankingsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/kick.ChannelVideosResponse"
+ "$ref": "#/definitions/hltv.RankingsResponse"
},
"msg": {
"example": "OK",
@@ -123084,14 +128385,14 @@
},
"type": "object"
},
- "kick.clipResponseDoc": {
+ "hltv.resultsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/kick.ClipResponse"
+ "$ref": "#/definitions/hltv.ResultsResponse"
},
"msg": {
"example": "OK",
@@ -123100,14 +128401,14 @@
},
"type": "object"
},
- "kick.clipsResponseDoc": {
+ "hltv.searchResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/kick.ClipsResponse"
+ "$ref": "#/definitions/hltv.SearchResponse"
},
"msg": {
"example": "OK",
@@ -123116,14 +128417,14 @@
},
"type": "object"
},
- "kick.dropsResponseDoc": {
+ "hltv.teamResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/kick.DropsResponse"
+ "$ref": "#/definitions/hltv.TeamResponse"
},
"msg": {
"example": "OK",
@@ -123132,164 +128433,231 @@
},
"type": "object"
},
- "kick.giftsResponseDoc": {
+ "hm.CategoriesResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/hm.CategoryEntry"
+ },
+ "type": "array"
},
- "data": {
- "$ref": "#/definitions/kick.GiftsResponse"
+ "fetched_at": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "kick.languagesResponseDoc": {
+ "hm.CategoryEntry": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "category_id": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/kick.LanguagesResponse"
+ "department": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "name": {
+ "type": "string"
+ },
+ "section": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "kick.livestreamsResponseDoc": {
+ "hm.ColorSwatch": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "article_id": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/kick.LivestreamsResponse"
+ "color_code": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "image_url": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "kick.searchCategoriesResponseDoc": {
+ "hm.ListingResponse": {
"properties": {
- "code": {
- "example": 200,
+ "category_id": {
+ "type": "string"
+ },
+ "count": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/kick.SearchCategoriesResponse"
+ "fetched_at": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "is_new": {
+ "type": "boolean"
+ },
+ "page": {
+ "type": "integer"
+ },
+ "page_size": {
+ "type": "integer"
+ },
+ "products": {
+ "items": {
+ "$ref": "#/definitions/hm.ProductSummary"
+ },
+ "type": "array"
+ },
+ "sort": {
+ "type": "string"
+ },
+ "source_url": {
"type": "string"
+ },
+ "total_hits": {
+ "type": "integer"
+ },
+ "total_pages": {
+ "type": "integer"
}
},
"type": "object"
},
- "kick.searchChannelsResponseDoc": {
+ "hm.ProductDetailColor": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/kick.SearchChannelsResponse"
+ "image_url": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "name": {
"type": "string"
+ },
+ "sizes": {
+ "items": {
+ "$ref": "#/definitions/hm.ProductDetailSize"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "kick.subcategoriesResponseDoc": {
+ "hm.ProductDetailRating": {
"properties": {
- "code": {
- "example": 200,
+ "count": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/kick.SubcategoriesResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "value": {
+ "type": "number"
}
},
"type": "object"
},
- "kick.subcategoryResponseDoc": {
+ "hm.ProductDetailResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "brand": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/kick.SubcategoryResponse"
+ "colors": {
+ "items": {
+ "$ref": "#/definitions/hm.ProductDetailColor"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "description": {
+ "type": "string"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "gender": {
+ "type": "string"
+ },
+ "material": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "pattern": {
+ "type": "string"
+ },
+ "product_id": {
+ "type": "string"
+ },
+ "rating": {
+ "$ref": "#/definitions/hm.ProductDetailRating"
+ },
+ "reviews": {
+ "items": {
+ "$ref": "#/definitions/hm.ProductDetailReview"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "kick.topChannelsResponseDoc": {
+ "hm.ProductDetailReview": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "author": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/kick.TopChannelsResponse"
+ "body": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "date": {
"type": "string"
+ },
+ "dimensions": {
+ "items": {
+ "$ref": "#/definitions/hm.ProductDetailReviewDimension"
+ },
+ "type": "array"
+ },
+ "rating": {
+ "type": "number"
}
},
"type": "object"
},
- "kick.videoResponseDoc": {
+ "hm.ProductDetailReviewDimension": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/kick.VideoResponse"
+ "label": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "value": {
"type": "string"
}
},
"type": "object"
},
- "kickstarter.Category": {
+ "hm.ProductDetailSize": {
"properties": {
- "id": {
- "type": "integer"
+ "availability": {
+ "type": "string"
},
- "name": {
- "example": "Technology",
+ "currency": {
"type": "string"
},
- "parent_id": {
- "type": "integer"
+ "price": {
+ "type": "number"
},
- "slug": {
- "example": "technology",
+ "size": {
+ "type": "string"
+ },
+ "sku": {
"type": "string"
},
"url": {
@@ -123298,365 +128666,364 @@
},
"type": "object"
},
- "kickstarter.Comment": {
+ "hm.ProductSummary": {
"properties": {
- "author_name": {
+ "availability": {
"type": "string"
},
- "body": {
+ "brand": {
"type": "string"
},
- "is_creator": {
- "type": "boolean"
- },
- "posted_at": {
+ "category_code": {
"type": "string"
- }
- },
- "type": "object"
- },
- "kickstarter.CommentsResult": {
- "properties": {
- "comments": {
+ },
+ "colors": {
"items": {
- "$ref": "#/definitions/kickstarter.Comment"
+ "$ref": "#/definitions/hm.ColorSwatch"
},
"type": "array"
},
- "total_count": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "kickstarter.Creator": {
- "properties": {
- "avatar": {
+ "coming_soon": {
+ "type": "boolean"
+ },
+ "currency": {
+ "type": "string"
+ },
+ "formatted_price": {
"type": "string"
},
"id": {
- "type": "integer"
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "model_image_url": {
+ "type": "string"
},
"name": {
"type": "string"
},
+ "new_arrival": {
+ "type": "boolean"
+ },
+ "price": {
+ "type": "number"
+ },
+ "sizes": {
+ "items": {
+ "$ref": "#/definitions/hm.SizeStock"
+ },
+ "type": "array"
+ },
"url": {
"type": "string"
}
},
"type": "object"
},
- "kickstarter.DiscoverResult": {
+ "hm.RelatedList": {
"properties": {
- "page": {
- "type": "integer"
+ "label": {
+ "type": "string"
},
- "projects": {
+ "products": {
"items": {
- "$ref": "#/definitions/kickstarter.Project"
+ "$ref": "#/definitions/hm.ProductSummary"
},
"type": "array"
- },
- "total_hits": {
- "type": "integer"
}
},
"type": "object"
},
- "kickstarter.Location": {
+ "hm.RelatedResponse": {
"properties": {
- "country": {
- "example": "US",
- "type": "string"
- },
- "displayable_name": {
- "example": "Los Angeles, CA",
+ "fetched_at": {
"type": "string"
},
- "id": {
- "type": "integer"
+ "lists": {
+ "items": {
+ "$ref": "#/definitions/hm.RelatedList"
+ },
+ "type": "array"
},
- "name": {
- "example": "Los Angeles",
+ "product_id": {
"type": "string"
},
- "short_name": {
- "example": "Los Angeles, CA",
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "kickstarter.Photo": {
+ "hm.SearchMeta": {
"properties": {
- "full": {
+ "blocked": {
+ "type": "boolean"
+ },
+ "did_you_mean": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "query": {
"type": "string"
+ },
+ "related_searches": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "kickstarter.Project": {
+ "hm.SearchResponse": {
"properties": {
- "backers_count": {
+ "count": {
"type": "integer"
},
- "blurb": {
+ "fetched_at": {
"type": "string"
},
- "category": {
- "$ref": "#/definitions/kickstarter.Category"
- },
- "comments_count": {
+ "page": {
"type": "integer"
},
- "converted_pledged_amount": {
- "type": "number"
- },
- "country": {
- "example": "US",
- "type": "string"
- },
- "created_at": {
- "type": "string"
+ "page_size": {
+ "type": "integer"
},
- "creator": {
- "$ref": "#/definitions/kickstarter.Creator"
+ "products": {
+ "items": {
+ "$ref": "#/definitions/hm.ProductSummary"
+ },
+ "type": "array"
},
- "currency": {
- "example": "USD",
+ "query": {
"type": "string"
},
- "currency_symbol": {
- "example": "$",
- "type": "string"
+ "search_meta": {
+ "$ref": "#/definitions/hm.SearchMeta"
},
- "deadline": {
+ "source_url": {
"type": "string"
},
- "faq_count": {
+ "total_hits": {
"type": "integer"
},
- "goal": {
- "type": "number"
- },
- "has_video": {
- "type": "boolean"
- },
- "id": {
- "example": 1114436418,
+ "total_pages": {
"type": "integer"
- },
- "is_launched": {
- "type": "boolean"
- },
- "launched_at": {
+ }
+ },
+ "type": "object"
+ },
+ "hm.SizeStock": {
+ "properties": {
+ "id": {
"type": "string"
},
- "location": {
- "$ref": "#/definitions/kickstarter.Location"
- },
- "name": {
+ "label": {
"type": "string"
},
- "percent_funded": {
+ "stock": {
"type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "hm.Store": {
+ "properties": {
+ "address": {
+ "type": "string"
},
- "photo": {
- "$ref": "#/definitions/kickstarter.Photo"
- },
- "pledged": {
- "type": "number"
- },
- "reward_tiers": {
- "description": "RewardTiers is the campaign's pledge/reward tier list, captured from\nkickstarter.com's own natural GraphQL traffic when the campaign's\n/rewards sub-page renders -- see doc.go's \"Reward tiers\" section.\nBest-effort: omitted (not an error) if the capture-capable render\nbackends are unavailable or the campaign has no reward tiers.",
- "items": {
- "$ref": "#/definitions/kickstarter.RewardTier"
- },
- "type": "array"
- },
- "risks_and_challenges": {
+ "city": {
"type": "string"
},
- "slug": {
+ "country": {
"type": "string"
},
- "spotlight": {
- "type": "boolean"
+ "latitude": {
+ "type": "number"
},
- "staff_pick": {
- "type": "boolean"
+ "longitude": {
+ "type": "number"
},
- "state": {
- "example": "live",
+ "name": {
"type": "string"
},
- "state_changed_at": {
+ "phone": {
"type": "string"
},
- "story": {
+ "postal_code": {
"type": "string"
},
- "updates_count": {
- "type": "integer"
+ "state": {
+ "type": "string"
},
- "url": {
+ "store_class": {
"type": "string"
},
- "usd_pledged": {
- "type": "number"
+ "store_code": {
+ "type": "string"
}
},
"type": "object"
},
- "kickstarter.RewardAddOn": {
+ "hm.StoreResponse": {
"properties": {
- "amount": {
- "type": "number"
+ "count": {
+ "type": "integer"
},
- "currency": {
+ "fetched_at": {
"type": "string"
},
- "description": {
- "type": "string"
+ "lat": {
+ "type": "number"
},
- "id": {
- "type": "string"
+ "lng": {
+ "type": "number"
},
- "name": {
+ "radius_meters": {
+ "type": "integer"
+ },
+ "search": {
"type": "string"
- }
- },
- "type": "object"
- },
- "kickstarter.RewardItem": {
- "properties": {
- "name": {
+ },
+ "source_url": {
"type": "string"
},
- "quantity": {
- "type": "integer"
+ "stores": {
+ "items": {
+ "$ref": "#/definitions/hm.Store"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "kickstarter.RewardTier": {
+ "hm.SuggestResponse": {
"properties": {
- "add_ons": {
+ "blocked": {
+ "type": "boolean"
+ },
+ "content_suggestions": {
"items": {
- "$ref": "#/definitions/kickstarter.RewardAddOn"
+ "$ref": "#/definitions/hm.SuggestionLink"
},
"type": "array"
},
- "amount": {
- "type": "number"
- },
- "available": {
- "type": "boolean"
- },
- "backers_count": {
- "type": "integer"
- },
- "currency": {
- "example": "USD",
+ "fetched_at": {
"type": "string"
},
- "description": {
- "type": "string"
+ "phrase_suggestions": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "ends_at": {
- "type": "string"
+ "popular_searches": {
+ "items": {
+ "$ref": "#/definitions/hm.SuggestionLink"
+ },
+ "type": "array"
},
- "estimated_delivery_on": {
- "example": "2026-06-01",
+ "query": {
"type": "string"
},
- "featured": {
- "type": "boolean"
- },
- "id": {
- "type": "string"
+ "search_history": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "image": {
+ "source_url": {
"type": "string"
},
- "items": {
+ "trending_searches": {
"items": {
- "$ref": "#/definitions/kickstarter.RewardItem"
+ "type": "string"
},
"type": "array"
- },
- "limit": {
- "type": "integer"
- },
- "name": {
+ }
+ },
+ "type": "object"
+ },
+ "hm.SuggestionLink": {
+ "properties": {
+ "content_type": {
"type": "string"
},
- "remaining_quantity": {
- "type": "integer"
+ "deep_link": {
+ "type": "string"
},
- "shipping_enabled": {
- "type": "boolean"
+ "image_url": {
+ "type": "string"
},
- "shipping_preference": {
- "example": "unrestricted",
+ "link": {
"type": "string"
},
- "shipping_summary": {
+ "title": {
"type": "string"
}
},
"type": "object"
},
- "kickstarter.Update": {
+ "hm.categoriesResponseDoc": {
"properties": {
- "author_name": {
- "type": "string"
- },
- "body": {
- "type": "string"
- },
- "comments_count": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "is_creator": {
- "type": "boolean"
- },
- "number": {
- "example": 7,
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/hm.CategoriesResponse"
},
- "published_at": {
- "example": "July 10, 2026",
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "hm.listingResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "title": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/hm.ListingResponse"
},
- "url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "kickstarter.UpdatesResult": {
+ "hm.productDetailResponseDoc": {
"properties": {
- "updates": {
- "items": {
- "$ref": "#/definitions/kickstarter.Update"
- },
- "type": "array"
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/hm.ProductDetailResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "kickstarter.commentsResponseDoc": {
+ "hm.relatedResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/kickstarter.CommentsResult"
+ "$ref": "#/definitions/hm.RelatedResponse"
},
"msg": {
"example": "OK",
@@ -123665,14 +129032,14 @@
},
"type": "object"
},
- "kickstarter.discoverResponseDoc": {
+ "hm.searchResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/kickstarter.DiscoverResult"
+ "$ref": "#/definitions/hm.SearchResponse"
},
"msg": {
"example": "OK",
@@ -123681,14 +129048,14 @@
},
"type": "object"
},
- "kickstarter.projectResponseDoc": {
+ "hm.storesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/kickstarter.Project"
+ "$ref": "#/definitions/hm.StoreResponse"
},
"msg": {
"example": "OK",
@@ -123697,14 +129064,14 @@
},
"type": "object"
},
- "kickstarter.updatesResponseDoc": {
+ "hm.suggestResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/kickstarter.UpdatesResult"
+ "$ref": "#/definitions/hm.SuggestResponse"
},
"msg": {
"example": "OK",
@@ -123713,396 +129080,479 @@
},
"type": "object"
},
- "kohls.CategoryFacet": {
+ "hollywoodreporter.AuthorArticle": {
"properties": {
- "label": {
- "example": "Department",
+ "title": {
"type": "string"
},
- "name": {
- "example": "Department",
+ "url": {
"type": "string"
- },
- "options": {
- "items": {
- "$ref": "#/definitions/kohls.CategoryFacetOption"
- },
- "type": "array"
}
},
"type": "object"
},
- "kohls.CategoryFacetOption": {
+ "hollywoodreporter.AuthorResponse": {
"properties": {
- "active": {
- "type": "boolean"
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/hollywoodreporter.AuthorArticle"
+ },
+ "type": "array"
},
- "category": {
- "example": "Room:Dorm+Department:Bedding",
+ "biography": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "headshot_url": {
+ "type": "string"
+ },
+ "job_title": {
"type": "string"
},
"name": {
- "example": "Bedding",
"type": "string"
},
- "product_count": {
- "example": 479,
+ "page": {
"type": "integer"
+ },
+ "social_links": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "kohls.CategoryPriceRange": {
+ "homedepot.CategoriesResponse": {
"properties": {
- "max_price": {
- "example": 9.99,
- "type": "number"
+ "count": {
+ "example": 26,
+ "type": "integer"
},
- "min_price": {
- "example": 2.99,
- "type": "number"
+ "departments": {
+ "items": {
+ "$ref": "#/definitions/homedepot.Department"
+ },
+ "type": "array"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
}
},
"type": "object"
},
- "kohls.CategoryProduct": {
+ "homedepot.CategoryFacet": {
"properties": {
- "available_for_pickup": {
- "example": false,
- "type": "boolean"
+ "name": {
+ "example": "Cordless",
+ "type": "string"
},
- "available_for_ship": {
- "example": true,
- "type": "boolean"
+ "path": {
+ "example": "Cordless/N-5yc1vZc29xZ1z140i3",
+ "type": "string"
},
- "colors": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "homedepot.CategoryProduct": {
+ "properties": {
+ "id": {
+ "example": "320326875",
+ "type": "string"
},
- "currency_code": {
- "example": "USD",
+ "image": {
"type": "string"
},
- "image_url": {
+ "model": {
+ "example": "2953-20",
"type": "string"
},
- "on_sale": {
- "example": true,
- "type": "boolean"
+ "original_price": {
+ "example": 199,
+ "type": "number"
},
- "rating": {
- "example": 3.9,
+ "price": {
+ "example": 179,
"type": "number"
},
- "regular_price": {
- "$ref": "#/definitions/kohls.CategoryPriceRange"
+ "rating": {
+ "example": 4.7,
+ "type": "number"
},
"review_count": {
- "example": 27103,
+ "example": 1542,
"type": "integer"
},
- "sale_price": {
- "$ref": "#/definitions/kohls.CategoryPriceRange"
- },
"title": {
- "example": "The Big One® Solid Bath Towel, Bath Sheet, Hand Towel or Washcloth",
+ "example": "M18 FUEL 18V Lithium-Ion Brushless Cordless 1/4 in. Hex Impact Driver (Tool-Only)",
"type": "string"
},
"url": {
"type": "string"
- },
- "web_id": {
- "example": "4569328",
- "type": "string"
}
},
"type": "object"
},
- "kohls.CategoryResponse": {
+ "homedepot.CategoryResponse": {
"properties": {
- "category": {
- "example": "Room:Dorm",
- "type": "string"
- },
"count": {
- "example": 120,
"type": "integer"
},
"facets": {
+ "description": "Facets are the refinement links this browse page offers. Each facet's\npath is directly usable as this endpoint's own path parameter.",
"items": {
- "$ref": "#/definitions/kohls.CategoryFacet"
+ "$ref": "#/definitions/homedepot.CategoryFacet"
},
"type": "array"
},
"fetched_at": {
"type": "string"
},
- "limit": {
- "example": 120,
+ "page": {
+ "description": "Page is the 1-indexed page this response carries.",
+ "example": 1,
"type": "integer"
},
- "product_count": {
- "example": 1317,
- "type": "integer"
+ "path": {
+ "type": "string"
},
"products": {
"items": {
- "$ref": "#/definitions/kohls.CategoryProduct"
+ "$ref": "#/definitions/homedepot.CategoryProduct"
},
"type": "array"
},
+ "sort": {
+ "description": "Sort echoes the requested sort value, or \"\" when the upstream default\nordering was used.",
+ "example": "top_sellers",
+ "type": "string"
+ },
"source_url": {
"type": "string"
},
"title": {
- "example": "Essential Dorm Items for College-Bound Students | Kohl's",
"type": "string"
},
- "total_pages": {
- "example": 11,
+ "total": {
"type": "integer"
}
},
"type": "object"
},
- "kohls.ProductReviewsResponse": {
+ "homedepot.Department": {
"properties": {
- "fetched_at": {
+ "name": {
+ "example": "Tools",
"type": "string"
},
- "page": {
- "type": "integer"
- },
- "page_size": {
- "type": "integer"
- },
- "reviews": {
- "items": {
- "$ref": "#/definitions/kohls.Review"
- },
- "type": "array"
- },
- "source_url": {
+ "path": {
+ "example": "Tools/N-5yc1vZc1xy",
"type": "string"
},
- "total_count": {
- "type": "integer"
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "homedepot.KeyFeature": {
+ "properties": {
+ "name": {
+ "example": "Motor Type",
+ "type": "string"
},
- "web_id": {
+ "value": {
+ "example": "Brushed",
"type": "string"
}
},
"type": "object"
},
- "kohls.Review": {
+ "homedepot.Product": {
"properties": {
- "author": {
+ "brand": {
+ "example": "Milwaukee",
"type": "string"
},
- "id": {
+ "currency": {
+ "example": "USD",
"type": "string"
},
- "location": {
+ "description": {
"type": "string"
},
- "photo_urls": {
+ "fetched_at": {
+ "type": "string"
+ },
+ "gtin": {
+ "example": "0045242637867",
+ "type": "string"
+ },
+ "id": {
+ "example": "320326875",
+ "type": "string"
+ },
+ "images": {
"items": {
"type": "string"
},
"type": "array"
},
+ "key_features": {
+ "items": {
+ "$ref": "#/definitions/homedepot.KeyFeature"
+ },
+ "type": "array"
+ },
+ "model": {
+ "example": "2953-20",
+ "type": "string"
+ },
+ "price": {
+ "example": 179,
+ "type": "number"
+ },
"rating": {
- "type": "integer"
+ "example": 4.7,
+ "type": "number"
},
- "recommended": {
- "type": "boolean"
+ "review_count": {
+ "example": 1544,
+ "type": "integer"
},
- "secondary_ratings": {
+ "reviews": {
"items": {
- "$ref": "#/definitions/kohls.ReviewSecondaryRating"
+ "$ref": "#/definitions/homedepot.ProductReview"
},
"type": "array"
},
- "submitted_at": {
+ "sku": {
+ "example": "1007901520",
"type": "string"
},
- "text": {
+ "source_url": {
"type": "string"
},
+ "specifications": {
+ "items": {
+ "$ref": "#/definitions/homedepot.Specification"
+ },
+ "type": "array"
+ },
"title": {
+ "example": "Milwaukee M18 FUEL 18V Lithium-Ion Brushless Cordless 1/4 in. Hex Impact Driver (Tool-Only) 2953-20",
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "kohls.ReviewSecondaryRating": {
+ "homedepot.ProductQuestionsResponse": {
"properties": {
- "max_value": {
- "example": 5,
+ "count": {
+ "example": 8,
"type": "integer"
},
- "name": {
- "example": "Quality",
+ "fetched_at": {
"type": "string"
},
- "value": {
- "example": 4,
+ "id": {
+ "example": "328425526",
+ "type": "string"
+ },
+ "questions": {
+ "items": {
+ "$ref": "#/definitions/homedepot.Question"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "total": {
+ "example": 575,
"type": "integer"
}
},
"type": "object"
},
- "kohls.Store": {
+ "homedepot.ProductReview": {
"properties": {
- "address": {
- "example": "17150 SOUTHCENTER PKWY",
+ "author": {
+ "example": "HomeDepotCustomer",
"type": "string"
},
- "badges": {
- "example": [
- "Sephora",
- "Baby Gifting Shop"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "city": {
- "example": "TUKWILA",
+ "body": {
+ "example": "The impact is just what I needed.",
"type": "string"
},
- "country": {
- "example": "US",
+ "headline": {
+ "example": "Great tool",
"type": "string"
},
- "distance_miles": {
- "example": 11.3,
+ "rating": {
+ "example": 5,
"type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "homedepot.Question": {
+ "properties": {
+ "answer_count": {
+ "type": "integer"
},
- "hours": {
+ "answers": {
"items": {
- "$ref": "#/definitions/kohls.StoreHours"
+ "$ref": "#/definitions/homedepot.QuestionAnswer"
},
"type": "array"
},
- "id": {
- "example": "1152",
- "type": "string"
- },
- "latitude": {
- "example": 47.450079,
- "type": "number"
- },
- "longitude": {
- "example": -122.2581113,
- "type": "number"
- },
- "name": {
- "example": "Kohl's Tukwila",
- "type": "string"
- },
- "phone": {
- "example": "(206) 394-0078",
+ "author": {
"type": "string"
},
- "postal_code": {
- "example": "98188",
+ "date": {
"type": "string"
},
- "services": {
- "example": [
- "In-Store Pickup",
- "Wifi Enabled"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "state": {
- "example": "WA",
+ "id": {
"type": "string"
},
- "url": {
+ "text": {
"type": "string"
}
},
"type": "object"
},
- "kohls.StoreHours": {
+ "homedepot.QuestionAnswer": {
"properties": {
- "close": {
- "example": "21:00",
+ "author": {
"type": "string"
},
- "day": {
- "example": "Monday",
+ "date": {
"type": "string"
},
- "open": {
- "example": "09:00",
+ "helpful_count": {
+ "type": "integer"
+ },
+ "id": {
+ "type": "string"
+ },
+ "is_brand_answer": {
+ "type": "boolean"
+ },
+ "text": {
"type": "string"
}
},
"type": "object"
},
- "kohls.StoresResponse": {
+ "homedepot.SearchResponse": {
"properties": {
"count": {
+ "example": 24,
"type": "integer"
},
"fetched_at": {
"type": "string"
},
- "search": {
+ "page": {
+ "example": 1,
+ "type": "integer"
+ },
+ "products": {
+ "items": {
+ "$ref": "#/definitions/homedepot.CategoryProduct"
+ },
+ "type": "array"
+ },
+ "query": {
+ "example": "impact driver",
"type": "string"
},
"source_url": {
"type": "string"
},
- "stores": {
- "items": {
- "$ref": "#/definitions/kohls.Store"
- },
- "type": "array"
+ "total": {
+ "example": 1962,
+ "type": "integer"
}
},
"type": "object"
},
- "kohls.SuggestResponse": {
+ "homedepot.Specification": {
+ "properties": {
+ "name": {
+ "example": "Battery Power Type",
+ "type": "string"
+ },
+ "value": {
+ "example": "Lithium Ion",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "homedepot.SuggestResponse": {
"properties": {
"count": {
+ "example": 10,
"type": "integer"
},
"fetched_at": {
"type": "string"
},
- "query": {
- "type": "string"
- },
"source_url": {
"type": "string"
},
"suggestions": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/homedepot.Suggestion"
},
"type": "array"
+ },
+ "term": {
+ "example": "drill",
+ "type": "string"
}
},
"type": "object"
},
- "kohls.categoryResponseDoc": {
+ "homedepot.Suggestion": {
+ "properties": {
+ "position": {
+ "description": "Position is the suggestion's 1-indexed rank in Home Depot's own\ntypeahead ordering.",
+ "example": 2,
+ "type": "integer"
+ },
+ "term": {
+ "example": "drill bits",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "homedepot.categoriesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/kohls.CategoryResponse"
+ "$ref": "#/definitions/homedepot.CategoriesResponse"
},
"msg": {
"example": "OK",
@@ -124111,14 +129561,14 @@
},
"type": "object"
},
- "kohls.productReviewsResponseDoc": {
+ "homedepot.categoryResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/kohls.ProductReviewsResponse"
+ "$ref": "#/definitions/homedepot.CategoryResponse"
},
"msg": {
"example": "OK",
@@ -124127,14 +129577,14 @@
},
"type": "object"
},
- "kohls.storesResponseDoc": {
+ "homedepot.productQuestionsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/kohls.StoresResponse"
+ "$ref": "#/definitions/homedepot.ProductQuestionsResponse"
},
"msg": {
"example": "OK",
@@ -124143,14 +129593,14 @@
},
"type": "object"
},
- "kohls.suggestResponseDoc": {
+ "homedepot.productResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/kohls.SuggestResponse"
+ "$ref": "#/definitions/homedepot.Product"
},
"msg": {
"example": "OK",
@@ -124159,752 +129609,540 @@
},
"type": "object"
},
- "kotaku.AuthorResponse": {
+ "homedepot.searchResponseDoc": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/newsplatform.HeadlineItem"
- },
- "type": "array"
- },
- "biography": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "image_url": {
- "type": "string"
- },
- "name": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "social_links": {
- "items": {
- "$ref": "#/definitions/kotaku.AuthorSocialLink"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/homedepot.SearchResponse"
},
- "url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "kotaku.AuthorSocialLink": {
+ "homedepot.suggestResponseDoc": {
"properties": {
- "type": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "url": {
+ "data": {
+ "$ref": "#/definitions/homedepot.SuggestResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "kroger.CategoriesResponse": {
+ "hotels.Address": {
"properties": {
- "categories": {
- "items": {
- "$ref": "#/definitions/kroger.CategoryTaxon"
- },
- "type": "array"
+ "country": {
+ "type": "string"
},
- "count": {
- "type": "integer"
+ "locality": {
+ "type": "string"
},
- "departments": {
- "description": "Departments lists the top-level departments that contributed at least\none category below, in Kroger's own menu order.",
- "items": {
- "type": "string"
- },
- "type": "array"
+ "postal_code": {
+ "type": "string"
},
- "source_url": {
+ "region": {
+ "type": "string"
+ },
+ "street_address": {
"type": "string"
}
},
"type": "object"
},
- "kroger.CategoryResponse": {
+ "hotels.AutocompleteResponse": {
"properties": {
- "category_id": {
+ "query": {
"type": "string"
},
- "facets": {
+ "suggestions": {
"items": {
- "$ref": "#/definitions/kroger.SearchFacetGroup"
+ "$ref": "#/definitions/hotels.Suggestion"
},
"type": "array"
- },
- "has_more": {
- "description": "HasMore, Source and Facets carry the same meaning as on\nSearchResponse -- see that type and Search's doc comment.",
- "type": "boolean"
- },
- "page": {
+ }
+ },
+ "type": "object"
+ },
+ "hotels.OffersOption": {
+ "properties": {
+ "adults": {
+ "example": 2,
"type": "integer"
},
- "products": {
- "items": {
- "$ref": "#/definitions/kroger.SearchResultProduct"
- },
- "type": "array"
+ "check_in": {
+ "example": "2026-09-10",
+ "type": "string"
},
- "slug": {
+ "check_out": {
+ "example": "2026-09-11",
"type": "string"
},
- "source": {
+ "currency": {
+ "example": "USD",
"type": "string"
},
- "total_count": {
- "type": "integer"
+ "locale": {
+ "example": "en_US",
+ "type": "string"
+ },
+ "property_id": {
+ "example": "19681371",
+ "type": "string"
}
},
+ "required": [
+ "check_in",
+ "check_out",
+ "property_id"
+ ],
"type": "object"
},
- "kroger.CategoryTaxon": {
+ "hotels.OffersResponse": {
"properties": {
- "breadcrumb": {
- "description": "Breadcrumb is the full department > aisle > category path, deduplicated\nwhere Kroger's own menu repeats a level's name at the next level down.",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "category_id": {
+ "check_in": {
"type": "string"
},
- "department": {
- "description": "Department is the top-level department this category rolls up under\n(Breadcrumb[0]), included as a convenience field for grouping/filtering\nwithout parsing Breadcrumb.",
+ "check_out": {
"type": "string"
},
- "name": {
+ "header": {
"type": "string"
},
- "slug": {
- "type": "string"
+ "offers": {
+ "items": {
+ "$ref": "#/definitions/hotels.RoomOffer"
+ },
+ "type": "array"
},
- "url": {
- "description": "URL is the canonical kroger.com category-browse page URL.",
+ "property_id": {
"type": "string"
}
},
"type": "object"
},
- "kroger.Coupon": {
+ "hotels.Property": {
"properties": {
- "brand": {
- "type": "string"
+ "address": {
+ "$ref": "#/definitions/hotels.Address"
},
- "categories": {
+ "amenities": {
"items": {
"type": "string"
},
"type": "array"
},
- "display_description": {
- "type": "string"
- },
- "end_date": {
+ "description": {
"type": "string"
},
- "expiration_date": {
- "type": "string"
+ "guest_rating": {
+ "type": "number"
},
"id": {
"type": "string"
},
- "image_url": {
- "type": "string"
- },
- "kroger_coupon_number": {
- "type": "string"
- },
- "modalities": {
+ "images": {
"items": {
"type": "string"
},
"type": "array"
},
- "redemptions_allowed": {
- "type": "integer"
+ "latitude": {
+ "type": "number"
},
- "requirement_description": {
+ "longitude": {
+ "type": "number"
+ },
+ "name": {
"type": "string"
},
- "requirement_quantity": {
+ "review_count": {
"type": "integer"
},
- "savings": {
+ "star_rating": {
"type": "number"
},
- "savings_tags": {
- "items": {
- "$ref": "#/definitions/kroger.CouponSavingsTag"
- },
- "type": "array"
- },
- "short_description": {
+ "url": {
"type": "string"
- },
- "start_date": {
+ }
+ },
+ "type": "object"
+ },
+ "hotels.PropertyOption": {
+ "properties": {
+ "url": {
+ "example": "https://www.hotels.com/ho107229/hilton-san-francisco-financial-district-san-francisco-united-states-of-america/",
"type": "string"
+ }
+ },
+ "required": [
+ "url"
+ ],
+ "type": "object"
+ },
+ "hotels.PropertyResponse": {
+ "properties": {
+ "property": {
+ "$ref": "#/definitions/hotels.Property"
+ }
+ },
+ "type": "object"
+ },
+ "hotels.RatesOption": {
+ "properties": {
+ "adults": {
+ "example": 2,
+ "type": "integer"
},
- "status": {
+ "check_in": {
+ "example": "2026-09-10",
"type": "string"
},
- "title": {
+ "check_out": {
+ "example": "2026-09-11",
"type": "string"
},
- "total_downloads": {
- "type": "integer"
+ "currency": {
+ "example": "USD",
+ "type": "string"
},
- "type": {
+ "locale": {
+ "example": "en_US",
"type": "string"
},
- "value": {
- "type": "number"
+ "property_id": {
+ "example": "19681371",
+ "type": "string"
}
},
+ "required": [
+ "check_in",
+ "check_out",
+ "property_id"
+ ],
"type": "object"
},
- "kroger.CouponSavingsTag": {
+ "hotels.RatesResponse": {
"properties": {
- "description": {
+ "check_in": {
"type": "string"
},
- "display_name": {
+ "check_out": {
"type": "string"
},
- "name": {
+ "properties": {
+ "items": {
+ "$ref": "#/definitions/hotels.SearchProperty"
+ },
+ "type": "array"
+ },
+ "property_id": {
"type": "string"
}
},
"type": "object"
},
- "kroger.CouponsResponse": {
+ "hotels.Review": {
"properties": {
- "brand": {
+ "date": {
"type": "string"
},
- "count": {
- "type": "integer"
- },
- "coupons": {
- "items": {
- "$ref": "#/definitions/kroger.Coupon"
- },
- "type": "array"
- },
- "location_id": {
+ "message": {
"type": "string"
},
- "page": {
- "type": "integer"
- },
- "page_size": {
- "type": "integer"
+ "rating_label": {
+ "type": "string"
},
- "upc": {
+ "reviewer_name": {
"type": "string"
+ },
+ "verified": {
+ "type": "boolean"
}
},
"type": "object"
},
- "kroger.NutritionFact": {
+ "hotels.ReviewArchive": {
"properties": {
- "daily_value": {
+ "date": {
"type": "string"
},
- "name": {
+ "id": {
"type": "string"
},
- "unit": {
+ "message": {
"type": "string"
},
- "value": {
+ "rating_label": {
+ "type": "string"
+ },
+ "reviewer_name": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "traveler_type": {
"type": "string"
}
},
"type": "object"
},
- "kroger.ProductCategory": {
+ "hotels.ReviewCategory": {
"properties": {
- "commodity": {
- "type": "string"
- },
- "department": {
+ "name": {
"type": "string"
},
- "sub_commodity": {
+ "score": {
"type": "string"
}
},
"type": "object"
},
- "kroger.ProductDetail": {
+ "hotels.ReviewsArchiveOption": {
"properties": {
- "alcohol": {
- "type": "boolean"
+ "adults": {
+ "example": 2,
+ "type": "integer"
},
- "brand": {
+ "check_in": {
+ "example": "2026-09-10",
"type": "string"
},
- "categories": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "category": {
- "$ref": "#/definitions/kroger.ProductCategory"
- },
- "country_of_origin": {
+ "check_out": {
+ "example": "2026-09-11",
"type": "string"
},
- "image_url": {
+ "currency": {
+ "example": "USD",
"type": "string"
},
- "images": {
- "items": {
- "$ref": "#/definitions/kroger.ProductImage"
- },
- "type": "array"
- },
- "inventory": {
- "$ref": "#/definitions/kroger.ProductInventory"
- },
- "name": {
+ "locale": {
+ "example": "en_US",
"type": "string"
},
- "nutrition": {
- "$ref": "#/definitions/kroger.ProductNutrition"
- },
- "price": {
- "$ref": "#/definitions/kroger.ProductPrice"
- },
- "rating": {
- "$ref": "#/definitions/kroger.ProductRating"
- },
- "size": {
- "type": "string"
+ "page": {
+ "example": 1,
+ "type": "integer"
},
- "upc": {
- "type": "string"
+ "page_size": {
+ "example": 10,
+ "type": "integer"
},
- "url": {
+ "property_id": {
+ "example": "19681371",
"type": "string"
}
},
+ "required": [
+ "check_in",
+ "check_out",
+ "property_id"
+ ],
"type": "object"
},
- "kroger.ProductImage": {
+ "hotels.ReviewsArchiveResponse": {
"properties": {
- "perspective": {
- "type": "string"
- },
- "size": {
- "type": "string"
+ "has_more": {
+ "type": "boolean"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "kroger.ProductInventory": {
- "properties": {
- "available": {
+ "page": {
"type": "integer"
},
- "location_id": {
- "type": "string"
+ "page_size": {
+ "type": "integer"
},
- "stock_level": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "kroger.ProductNutrition": {
- "properties": {
- "allergens": {
+ "property_id": {
"type": "string"
},
- "facts": {
+ "reviews": {
"items": {
- "$ref": "#/definitions/kroger.NutritionFact"
+ "$ref": "#/definitions/hotels.ReviewArchive"
},
"type": "array"
- },
- "gluten_free": {
- "type": "boolean"
- },
- "ingredients": {
- "type": "string"
- },
- "kosher": {
- "type": "boolean"
- },
- "non_gmo": {
- "type": "boolean"
- },
- "organic": {
- "type": "boolean"
- },
- "product_warning": {
- "type": "string"
- },
- "serving_size": {
- "type": "string"
- },
- "servings_per_container": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "kroger.ProductOffer": {
- "properties": {
- "availability": {
- "type": "string"
- },
- "currency": {
- "type": "string"
- },
- "original_price": {
- "type": "number"
- },
- "price": {
- "type": "number"
}
},
"type": "object"
},
- "kroger.ProductPrice": {
+ "hotels.ReviewsOption": {
"properties": {
- "amount": {
- "type": "number"
- },
- "currency": {
- "type": "string"
+ "adults": {
+ "example": 2,
+ "type": "integer"
},
- "display": {
+ "check_in": {
+ "example": "2026-09-10",
"type": "string"
},
- "location_id": {
+ "check_out": {
+ "example": "2026-09-11",
"type": "string"
},
- "seller_id": {
+ "currency": {
+ "example": "USD",
"type": "string"
},
- "seller_name": {
+ "locale": {
+ "example": "en_US",
"type": "string"
},
- "unit_price_text": {
+ "property_id": {
+ "example": "19681371",
"type": "string"
}
},
+ "required": [
+ "check_in",
+ "check_out",
+ "property_id"
+ ],
"type": "object"
},
- "kroger.ProductRating": {
- "properties": {
- "average": {
- "type": "number"
- },
- "count": {
- "type": "integer"
- },
- "five_stars": {
- "type": "integer"
- },
- "four_stars": {
- "type": "integer"
- },
- "one_star": {
- "type": "integer"
- },
- "three_stars": {
- "type": "integer"
- },
- "two_stars": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "kroger.ProductResponse": {
+ "hotels.ReviewsResponse": {
"properties": {
- "brand": {
- "type": "string"
- },
"categories": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/hotels.ReviewCategory"
},
"type": "array"
},
- "description": {
- "type": "string"
- },
- "image_url": {
- "type": "string"
- },
- "offer": {
- "$ref": "#/definitions/kroger.ProductOffer"
- },
- "rating_count": {
- "type": "integer"
- },
- "rating_value": {
- "type": "number"
- },
- "title": {
- "type": "string"
- },
- "upc": {
- "type": "string"
- },
- "url": {
+ "overall_rating": {
"type": "string"
- }
- },
- "type": "object"
- },
- "kroger.ProductsResponse": {
- "properties": {
- "count": {
- "type": "integer"
},
- "location_id": {
+ "property_id": {
"type": "string"
},
- "products": {
+ "reviews": {
"items": {
- "$ref": "#/definitions/kroger.ProductDetail"
+ "$ref": "#/definitions/hotels.Review"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "kroger.RelatedTag": {
- "properties": {
- "position": {
- "type": "integer"
- },
- "query": {
- "type": "string"
},
- "source": {
- "type": "string"
- },
- "tag": {
+ "superlative": {
"type": "string"
}
},
"type": "object"
},
- "kroger.RelatedTagsResponse": {
+ "hotels.RoomOffer": {
"properties": {
- "count": {
- "type": "integer"
- },
- "location_id": {
- "type": "string"
- },
- "query": {
+ "id": {
"type": "string"
},
- "related_tags": {
+ "messages": {
"items": {
- "$ref": "#/definitions/kroger.RelatedTag"
+ "type": "string"
},
"type": "array"
+ },
+ "name": {
+ "type": "string"
}
},
"type": "object"
},
- "kroger.Review": {
+ "hotels.SearchOption": {
"properties": {
- "featured": {
- "type": "boolean"
- },
- "helpful_vote_count": {
- "type": "integer"
- },
- "id": {
- "type": "string"
- },
- "not_helpful_vote_count": {
- "type": "integer"
- },
- "photos": {
- "items": {
- "$ref": "#/definitions/kroger.ReviewPhoto"
- },
- "type": "array"
- },
- "rating": {
+ "adults": {
+ "example": 2,
"type": "integer"
},
- "ratings_only": {
- "type": "boolean"
- },
- "recommended": {
- "type": "boolean"
- },
- "submitted_at": {
+ "check_in": {
+ "example": "2026-09-10",
"type": "string"
},
- "text": {
+ "check_out": {
+ "example": "2026-09-11",
"type": "string"
},
- "title": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "kroger.ReviewPhoto": {
- "properties": {
- "size": {
+ "currency": {
+ "example": "USD",
"type": "string"
},
- "url": {
+ "locale": {
+ "example": "en_US",
"type": "string"
- }
- },
- "type": "object"
- },
- "kroger.ReviewsResponse": {
- "properties": {
- "average_rating": {
- "type": "number"
},
"page": {
+ "example": 1,
"type": "integer"
},
"page_size": {
+ "example": 20,
"type": "integer"
},
- "rating": {
- "$ref": "#/definitions/kroger.ProductRating"
- },
- "reviews": {
- "items": {
- "$ref": "#/definitions/kroger.Review"
- },
- "type": "array"
- },
- "total_count": {
- "type": "integer"
- },
- "upc": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "kroger.SearchFacetGroup": {
- "properties": {
- "group": {
+ "query": {
+ "example": "New York",
"type": "string"
},
- "values": {
- "items": {
- "$ref": "#/definitions/kroger.SearchFacetValue"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "kroger.SearchFacetValue": {
- "properties": {
- "count": {
- "type": "integer"
- },
- "name": {
+ "region_id": {
+ "example": "2621",
"type": "string"
},
- "slug": {
- "type": "string"
+ "rooms": {
+ "example": 1,
+ "type": "integer"
}
},
+ "required": [
+ "check_in",
+ "check_out"
+ ],
"type": "object"
},
- "kroger.SearchResponse": {
+ "hotels.SearchProperty": {
"properties": {
- "facets": {
+ "amenities": {
"items": {
- "$ref": "#/definitions/kroger.SearchFacetGroup"
+ "type": "string"
},
"type": "array"
},
- "has_more": {
- "description": "HasMore reports whether Kroger says more results exist past this page.\nOnly meaningful on the JSON-API path; false on the HTML fallback.",
- "type": "boolean"
- },
- "page": {
- "type": "integer"
- },
- "products": {
+ "badges": {
"items": {
- "$ref": "#/definitions/kroger.SearchResultProduct"
+ "type": "string"
},
"type": "array"
},
- "query": {
- "type": "string"
- },
- "source": {
- "description": "Source is which upstream path served this response: \"json_api\" (the\nprimary path) or \"html\" (the fallback). See Search's doc comment.",
+ "id": {
"type": "string"
},
- "total_count": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "kroger.SearchResultProduct": {
- "properties": {
- "brand": {
- "description": "Brand and StockLevel are populated by the JSON-API path only (the\nHTML result cards carry neither); both are omitted when the HTML\nfallback served the response. See Search's doc comment.",
+ "location": {
"type": "string"
},
- "currency": {
+ "name": {
"type": "string"
},
- "image_url": {
+ "nightly_price": {
"type": "string"
},
- "low_stock": {
- "type": "boolean"
- },
- "original_price": {
- "type": "number"
- },
"price": {
- "type": "number"
- },
- "size": {
"type": "string"
},
- "snap_ebt_eligible": {
- "type": "boolean"
+ "review_count": {
+ "type": "integer"
},
- "stock_level": {
- "type": "string"
+ "review_score": {
+ "type": "number"
},
- "title": {
+ "review_title": {
"type": "string"
},
- "unit_price": {
+ "strikeout_price": {
"type": "string"
},
- "upc": {
+ "thumbnail_url": {
"type": "string"
},
"url": {
@@ -124913,135 +130151,78 @@
},
"type": "object"
},
- "kroger.StoreAddress": {
+ "hotels.SearchResponse": {
"properties": {
- "address_lines": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "check_in": {
+ "type": "string"
},
- "city": {
+ "check_out": {
"type": "string"
},
- "country": {
+ "destination": {
"type": "string"
},
- "postal_code": {
+ "page": {
+ "type": "integer"
+ },
+ "properties": {
+ "items": {
+ "$ref": "#/definitions/hotels.SearchProperty"
+ },
+ "type": "array"
+ },
+ "region_id": {
"type": "string"
},
- "state": {
+ "results_label": {
"type": "string"
}
},
"type": "object"
},
- "kroger.StoreHours": {
+ "hotels.Suggestion": {
"properties": {
- "days": {
+ "airport_code": {
"type": "string"
},
- "hours": {
+ "geo_type": {
"type": "string"
},
- "is_today": {
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "kroger.StoreLocation": {
- "properties": {
"latitude": {
"type": "number"
},
- "longitude": {
- "type": "number"
- }
- },
- "type": "object"
- },
- "kroger.StoreResponse": {
- "properties": {
- "address": {
- "$ref": "#/definitions/kroger.StoreAddress"
- },
- "brand": {
- "type": "string"
- },
- "break_hours": {
- "items": {
- "$ref": "#/definitions/kroger.StoreHours"
- },
- "type": "array"
- },
- "has_drive_thru": {
- "type": "boolean"
- },
- "hours": {
- "items": {
- "$ref": "#/definitions/kroger.StoreHours"
- },
- "type": "array"
- },
- "location": {
- "$ref": "#/definitions/kroger.StoreLocation"
- },
- "name": {
+ "location_full_name": {
"type": "string"
},
- "open_text": {
- "type": "string"
+ "longitude": {
+ "type": "number"
},
- "phone": {
+ "primary_text": {
"type": "string"
},
- "store_id": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "kroger.SuggestResponse": {
- "properties": {
- "location_id": {
+ "property_id": {
"type": "string"
},
- "query": {
+ "region_id": {
"type": "string"
},
- "spelling_correction": {
- "description": "SpellingCorrection is Kroger's own suggested respelling of Query, set\nonly when Query returned zero suggestions and Kroger judged it a\nlikely typo (confirmed live: \"Marble cake\" -> \"maple cake\" with an\nempty Suggestions list).",
+ "secondary_text": {
"type": "string"
},
- "suggestions": {
- "items": {
- "$ref": "#/definitions/kroger.Suggestion"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "kroger.Suggestion": {
- "properties": {
"type": {
"type": "string"
- },
- "value": {
- "type": "string"
}
},
"type": "object"
},
- "kroger.categoriesResponseDoc": {
+ "hotels.autocompleteResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/kroger.CategoriesResponse"
+ "$ref": "#/definitions/hotels.AutocompleteResponse"
},
"msg": {
"example": "OK",
@@ -125050,14 +130231,14 @@
},
"type": "object"
},
- "kroger.categoryResponseDoc": {
+ "hotels.offersResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/kroger.CategoryResponse"
+ "$ref": "#/definitions/hotels.OffersResponse"
},
"msg": {
"example": "OK",
@@ -125066,14 +130247,14 @@
},
"type": "object"
},
- "kroger.couponsResponseDoc": {
+ "hotels.propertyResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/kroger.CouponsResponse"
+ "$ref": "#/definitions/hotels.PropertyResponse"
},
"msg": {
"example": "OK",
@@ -125082,14 +130263,14 @@
},
"type": "object"
},
- "kroger.productResponseDoc": {
+ "hotels.ratesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/kroger.ProductResponse"
+ "$ref": "#/definitions/hotels.RatesResponse"
},
"msg": {
"example": "OK",
@@ -125098,14 +130279,14 @@
},
"type": "object"
},
- "kroger.productsResponseDoc": {
+ "hotels.reviewsArchiveResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/kroger.ProductsResponse"
+ "$ref": "#/definitions/hotels.ReviewsArchiveResponse"
},
"msg": {
"example": "OK",
@@ -125114,14 +130295,14 @@
},
"type": "object"
},
- "kroger.relatedTagsResponseDoc": {
+ "hotels.reviewsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/kroger.RelatedTagsResponse"
+ "$ref": "#/definitions/hotels.ReviewsResponse"
},
"msg": {
"example": "OK",
@@ -125130,14 +130311,14 @@
},
"type": "object"
},
- "kroger.reviewsResponseDoc": {
+ "hotels.searchResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/kroger.ReviewsResponse"
+ "$ref": "#/definitions/hotels.SearchResponse"
},
"msg": {
"example": "OK",
@@ -125146,87 +130327,93 @@
},
"type": "object"
},
- "kroger.searchResponseDoc": {
+ "houstonchronicle.AuthorArticle": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "summary": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/kroger.SearchResponse"
+ "title": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "kroger.storeResponseDoc": {
+ "houstonchronicle.AuthorResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/houstonchronicle.AuthorArticle"
+ },
+ "type": "array"
},
- "data": {
- "$ref": "#/definitions/kroger.StoreResponse"
+ "biography": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "image_url": {
"type": "string"
- }
- },
- "type": "object"
- },
- "kroger.suggestResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/kroger.SuggestResponse"
+ "job_title": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "name": {
+ "type": "string"
+ },
+ "same_as": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "latimes.ArticleResponse": {
+ "huffpost.AuthorResponse": {
"properties": {
- "authors": {
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/huffpost.HeadlineItem"
+ },
+ "type": "array"
+ },
+ "biography": {
"items": {
"type": "string"
},
"type": "array"
},
- "description": {
+ "image_url": {
"type": "string"
},
- "headline": {
+ "job_title": {
"type": "string"
},
- "image_url": {
+ "name": {
"type": "string"
},
- "is_accessible_for_free": {
- "type": "boolean"
- },
- "paragraphs": {
+ "social_links": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/huffpost.AuthorSocialLink"
},
"type": "array"
},
- "published_at": {
- "type": "string"
- },
- "section": {
+ "url": {
"type": "string"
- },
- "updated_at": {
+ }
+ },
+ "type": "object"
+ },
+ "huffpost.AuthorSocialLink": {
+ "properties": {
+ "platform": {
"type": "string"
},
"url": {
@@ -125235,8 +130422,11 @@
},
"type": "object"
},
- "latimes.AuthorArticle": {
+ "huffpost.HeadlineItem": {
"properties": {
+ "author": {
+ "type": "string"
+ },
"image_url": {
"type": "string"
},
@@ -125249,25 +130439,28 @@
"title": {
"type": "string"
},
+ "type": {
+ "type": "string"
+ },
"url": {
"type": "string"
}
},
"type": "object"
},
- "latimes.AuthorResponse": {
+ "ign.AuthorResponse": {
"properties": {
"articles": {
"items": {
- "$ref": "#/definitions/latimes.AuthorArticle"
+ "$ref": "#/definitions/ign.HeadlineItem"
},
"type": "array"
},
- "bio": {
- "type": "string"
- },
- "email": {
- "type": "string"
+ "biography": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
"image_url": {
"type": "string"
@@ -125275,22 +130468,28 @@
"job_title": {
"type": "string"
},
+ "location": {
+ "type": "string"
+ },
"name": {
"type": "string"
},
- "social_accounts": {
+ "social_links": {
"items": {
- "$ref": "#/definitions/latimes.AuthorSocialAccount"
+ "$ref": "#/definitions/ign.AuthorSocialLink"
},
"type": "array"
},
"url": {
"type": "string"
+ },
+ "username": {
+ "type": "string"
}
},
"type": "object"
},
- "latimes.AuthorSocialAccount": {
+ "ign.AuthorSocialLink": {
"properties": {
"platform": {
"type": "string"
@@ -125301,14 +130500,11 @@
},
"type": "object"
},
- "latimes.HeadlineItem": {
+ "ign.HeadlineItem": {
"properties": {
"author": {
"type": "string"
},
- "image_caption": {
- "type": "string"
- },
"image_url": {
"type": "string"
},
@@ -125321,1102 +130517,851 @@
"title": {
"type": "string"
},
+ "type": {
+ "type": "string"
+ },
"url": {
"type": "string"
}
},
"type": "object"
},
- "latimes.HeadlinesResponse": {
+ "ikea.AvailabilityResponse": {
"properties": {
- "items": {
- "items": {
- "$ref": "#/definitions/latimes.HeadlineItem"
- },
- "type": "array"
+ "available_for_click_collect": {
+ "type": "boolean"
},
- "section": {
+ "available_for_home_delivery": {
+ "type": "boolean"
+ },
+ "click_collect": {
+ "$ref": "#/definitions/ikea.PickupAvailability"
+ },
+ "country": {
+ "example": "us",
"type": "string"
- }
- },
- "type": "object"
- },
- "latimes.SectionInfo": {
- "properties": {
- "feed_url": {
+ },
+ "fetched_at": {
"type": "string"
},
- "name": {
+ "home_delivery": {
+ "$ref": "#/definitions/ikea.DeliveryAvailability"
+ },
+ "item_no": {
+ "example": "80213074",
"type": "string"
},
- "slug": {
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "latimes.SectionsResponse": {
+ "ikea.CategoriesResponse": {
"properties": {
- "sections": {
+ "categories": {
"items": {
- "$ref": "#/definitions/latimes.SectionInfo"
+ "$ref": "#/definitions/ikea.CategoryEntry"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "latimes.articleResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/latimes.ArticleResponse"
- },
- "msg": {
- "example": "OK",
+ "country": {
+ "example": "us",
"type": "string"
- }
- },
- "type": "object"
- },
- "latimes.authorResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/latimes.AuthorResponse"
- },
- "msg": {
- "example": "OK",
+ "fetched_at": {
"type": "string"
- }
- },
- "type": "object"
- },
- "latimes.headlinesResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/latimes.HeadlinesResponse"
+ "has_next": {
+ "example": true,
+ "type": "boolean"
},
- "msg": {
- "example": "OK",
+ "language": {
+ "example": "en",
"type": "string"
- }
- },
- "type": "object"
- },
- "latimes.sectionsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ },
+ "page": {
+ "example": 1,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/latimes.SectionsResponse"
+ "page_size": {
+ "example": 100,
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "source_url": {
"type": "string"
+ },
+ "total": {
+ "example": 929,
+ "type": "integer"
}
},
"type": "object"
},
- "lazada.CategoryDirectoryResponse": {
+ "ikea.CategoryEntry": {
"properties": {
- "fetched_at": {
- "example": "2026-08-28T04:00:00Z",
+ "key": {
+ "example": "20649",
"type": "string"
},
- "groups": {
- "items": {
- "$ref": "#/definitions/lazada.CategoryGroup"
- },
- "type": "array"
+ "level": {
+ "description": "Level is this category's depth in the taxonomy tree: 1 for a\ntop-level department, 2 for its direct children, and so on.",
+ "example": 2,
+ "type": "integer"
},
- "region": {
- "example": "ID",
+ "name": {
+ "example": "Desks & computer desks",
"type": "string"
},
- "source_url": {
- "example": "https://pages.lazada.co.id/wow/i/id/LandingPage/lazmall?wh_weex=true",
+ "parent_key": {
+ "description": "ParentKey is the immediate parent category's own key, empty for a\ntop-level department. Some categories are cross-listed under more\nthan one parent in IKEA's own taxonomy (e.g. \"Knobs and handles\"\nunder both PAX and BESTÅ) -- ParentKey records one such parent, not\nevery one; see this file's doc comment.",
+ "example": "20649",
"type": "string"
- }
- },
- "type": "object"
- },
- "lazada.CategoryGroup": {
- "properties": {
- "categories": {
- "items": {
- "$ref": "#/definitions/lazada.CategoryNode"
- },
- "type": "array"
},
- "name": {
- "example": "Elektronik",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "lazada.CategoryLink": {
+ "ikea.CategoryRef": {
"properties": {
- "name": {
- "example": "Handphone",
+ "key": {
+ "example": "20649",
"type": "string"
},
- "url": {
- "example": "https://www.lazada.co.id/beli-handphone",
+ "name": {
+ "example": "Desks & computer desks",
"type": "string"
}
},
"type": "object"
},
- "lazada.CategoryNode": {
+ "ikea.CategoryResponse": {
"properties": {
- "children": {
- "items": {
- "$ref": "#/definitions/lazada.CategoryNode"
- },
- "type": "array"
- },
- "name": {
- "example": "Laptop",
+ "category_key": {
+ "example": "20649",
"type": "string"
},
- "url": {
- "example": "https://www.lazada.co.id/shop-beli-laptop/",
+ "category_name": {
+ "example": "Desks & computer desks",
"type": "string"
- }
- },
- "type": "object"
- },
- "lazada.CategoryProductsResponse": {
- "properties": {
- "brand": {
- "example": "lazada6910077_crown-127197821",
+ },
+ "category_url": {
"type": "string"
},
- "category": {
- "example": "shop-karaoke-systems",
+ "count": {
+ "description": "Count is the number of products returned in this page; Total is\nIKEA's own total match count for the category. A request whose\nOffset is beyond Total returns Count 0 and Total 0 (IKEA's own\nresponse omits total-count metadata once the offset runs past the\nend of the result set -- confirmed live 2026-08-20).",
+ "example": 24,
+ "type": "integer"
+ },
+ "country": {
+ "example": "us",
"type": "string"
},
"fetched_at": {
- "example": "2026-09-02T04:00:00Z",
"type": "string"
},
- "items": {
- "items": {
- "$ref": "#/definitions/lazada.ListingItem"
- },
- "type": "array"
- },
- "page": {
- "example": 1,
- "type": "integer"
+ "language": {
+ "example": "en",
+ "type": "string"
},
- "page_size": {
- "example": 40,
+ "offset": {
+ "example": 0,
"type": "integer"
},
- "region": {
- "example": "PH",
- "type": "string"
+ "products": {
+ "items": {
+ "$ref": "#/definitions/ikea.ProductSummary"
+ },
+ "type": "array"
},
"sort": {
- "example": "popularity",
+ "example": "relevance",
"type": "string"
},
"source_url": {
- "example": "https://www.lazada.com.ph/shop-karaoke-systems/?ajax=true&page=1",
"type": "string"
},
- "total_results": {
- "example": 2400,
+ "total": {
+ "example": 263,
"type": "integer"
}
},
"type": "object"
},
- "lazada.HomeResponse": {
+ "ikea.Color": {
"properties": {
- "categories": {
- "items": {
- "$ref": "#/definitions/lazada.CategoryLink"
- },
- "type": "array"
- },
- "fetched_at": {
- "example": "2026-08-28T04:00:00Z",
+ "hex": {
+ "example": "ffffff",
"type": "string"
},
- "flash_sale_items": {
- "items": {
- "$ref": "#/definitions/lazada.ProductSummary"
- },
- "type": "array"
- },
- "official_stores": {
- "description": "OfficialStores lists featured official-store shops from the same\nhomepage. This carousel was observed absent on one storefront\n(Philippines) during a live check; treat an empty list as \"not\ncurrently shown\", not as evidence of parser drift.",
- "items": {
- "$ref": "#/definitions/lazada.OfficialStore"
- },
- "type": "array"
- },
- "region": {
- "example": "ID",
+ "id": {
+ "example": "10156",
"type": "string"
},
- "source_url": {
- "example": "https://www.lazada.co.id/",
+ "name": {
+ "example": "white",
"type": "string"
}
},
"type": "object"
},
- "lazada.ListingItem": {
+ "ikea.DeliveryAvailability": {
"properties": {
- "currency": {
- "example": "PHP",
- "type": "string"
+ "in_range": {
+ "type": "boolean"
},
- "discount": {
- "example": "77% Off",
+ "message_type": {
+ "description": "MessageType is IKEA's own stock-probability code, e.g.\n\"HIGH_IN_STOCK\", \"LOW_IN_STOCK\", \"OUT_OF_STOCK\" -- values other than\nthese three were not observed live this pass; surfaced verbatim\nrather than validated against a closed enum since it is response\ndata from IKEA's own system, not a caller-supplied parameter.",
+ "example": "HIGH_IN_STOCK",
"type": "string"
},
- "image": {
- "example": "https://ph-live-01.slatic.net/p/example.png",
+ "updated_at": {
"type": "string"
- },
- "item_id": {
- "example": 15396167084,
- "type": "integer"
- },
- "location": {
- "example": "Benguet",
+ }
+ },
+ "type": "object"
+ },
+ "ikea.PickupAvailability": {
+ "properties": {
+ "in_range": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "ikea.Price": {
+ "properties": {
+ "currency_code": {
+ "example": "USD",
"type": "string"
},
- "price": {
- "example": 159,
+ "current": {
+ "example": 99.99,
"type": "number"
},
- "rating": {
- "description": "Rating and Reviews are omitted entirely when the listing card has no\nrating yet (a brand-new or unrated listing) rather than defaulting to 0.",
- "example": 5,
+ "discount_amount": {
+ "example": 15.01,
"type": "number"
},
- "reviews": {
- "example": 3,
- "type": "integer"
+ "discount_percentage": {
+ "example": 15,
+ "type": "number"
},
- "title": {
- "example": "Digilab Original K12 Bluetooth Portable Karaoke Speaker",
+ "formatted": {
+ "example": "$99.99",
"type": "string"
},
- "url": {
- "example": "https://www.lazada.com.ph/products/pdp-i15396167084.html",
+ "previous": {
+ "example": 95,
+ "type": "number"
+ },
+ "previous_formatted": {
+ "example": "$95.00",
"type": "string"
- }
- },
- "type": "object"
- },
- "lazada.OfficialStore": {
- "properties": {
- "brand_image": {
- "example": "https://img.lazcdn.com/g/p/example.jpg",
+ },
+ "tag": {
+ "description": "Tag is IKEA's own price-badge code, e.g. \"FAMILY_PRICE\" for an IKEA\nFamily member price. TagText is its human-readable label, e.g. \"IKEA\nFamily price\".",
+ "example": "FAMILY_PRICE",
"type": "string"
},
- "name": {
- "example": "Alfalink",
+ "tag_text": {
+ "example": "IKEA Family price",
"type": "string"
},
- "shop_image": {
- "example": "https://img.lazcdn.com/g/shop/example.jpeg",
+ "valid_from": {
+ "example": "2026-08-03",
"type": "string"
},
- "url": {
- "example": "https://www.lazada.co.id/shop/alfalink",
+ "valid_to": {
+ "example": "2026-09-07",
"type": "string"
}
},
"type": "object"
},
- "lazada.ProductResponse": {
+ "ikea.Product": {
"properties": {
- "brand": {
- "example": "Pantene",
- "type": "string"
- },
- "brand_url": {
- "example": "https://www.lazada.co.id/pantene/",
- "type": "string"
- },
- "category": {
- "example": [
- "Kecantikan"
- ],
+ "category_path": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/ikea.CategoryRef"
},
"type": "array"
},
- "currency": {
- "example": "IDR",
- "type": "string"
- },
- "description": {
- "type": "string"
+ "colors": {
+ "items": {
+ "$ref": "#/definitions/ikea.Color"
+ },
+ "type": "array"
},
- "fetched_at": {
- "example": "2026-09-02T04:00:00Z",
+ "filter_class": {
+ "description": "FilterClass is IKEA's own product-type slug, e.g. \"desks\" -- usable as\na coarse category signal, though it is not currently accepted back as\na category-browse filter by this endpoint (see this package's doc\ncomment).",
+ "example": "desks",
"type": "string"
},
- "highlights": {
+ "image_url": {
"type": "string"
},
"images": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/ikea.ProductImage"
},
"type": "array"
},
- "item_id": {
- "example": 159992555,
- "type": "integer"
+ "item_no": {
+ "example": "80213074",
+ "type": "string"
+ },
+ "measure_text": {
+ "example": "41 3/8x19 5/8 \"",
+ "type": "string"
+ },
+ "name": {
+ "example": "MICKE",
+ "type": "string"
},
"price": {
- "example": 190500,
- "type": "number"
+ "$ref": "#/definitions/ikea.Price"
},
- "region": {
- "example": "ID",
+ "product_url": {
"type": "string"
},
- "seller_id": {
- "example": 100161156,
- "type": "integer"
+ "quick_facts": {
+ "items": {
+ "$ref": "#/definitions/ikea.QuickFact"
+ },
+ "type": "array"
},
- "sku_id": {
- "example": 181803572,
- "type": "integer"
+ "rating": {
+ "$ref": "#/definitions/ikea.Rating"
},
- "source_url": {
- "example": "https://www.lazada.co.id/products/pdp-i159992555-s181803572.html",
+ "type_name": {
+ "example": "Desk",
"type": "string"
},
- "title": {
- "example": "PANTENE Shampoo Hair Fall Control 990ml",
+ "valid_design": {
+ "description": "ValidDesign is IKEA's own color/finish descriptor for this exact item,\ne.g. \"white\" or \"black-brown\" -- the design this specific item number\nrepresents, as opposed to Colors below (every color swatch shown for\nthe product family).",
+ "example": "white",
"type": "string"
},
- "url": {
- "example": "https://www.lazada.co.id/products/pantene-shampoo-hair-fall-control-990ml-i159992555-s181803572.html",
- "type": "string"
+ "variant_count": {
+ "description": "VariantCount is the total number of other purchasable size/color/design\noptions this product has, which may exceed len(Variants) -- the search\nendpoint's own gprDescription block does not always enumerate every\nvariant.",
+ "example": 3,
+ "type": "integer"
},
"variants": {
"items": {
- "$ref": "#/definitions/lazada.ProductVariant"
+ "$ref": "#/definitions/ikea.Variant"
},
"type": "array"
}
},
"type": "object"
},
- "lazada.ProductSummary": {
+ "ikea.ProductImage": {
"properties": {
- "currency": {
- "example": "IDR",
- "type": "string"
- },
- "discount": {
- "example": "-32%",
- "type": "string"
- },
- "image": {
- "example": "https://img.lazcdn.com/g/p/example.jpg",
+ "alt_text": {
"type": "string"
},
- "item_id": {
- "example": 159992555,
- "type": "integer"
- },
- "original_price": {
- "example": 190500,
- "type": "number"
- },
- "price": {
- "example": 129000,
- "type": "number"
- },
- "title": {
- "example": "PANTENE Shampoo Hair Fall Control 990ml",
+ "type": {
+ "example": "MAIN_PRODUCT_IMAGE",
"type": "string"
},
"url": {
- "example": "https://www.lazada.co.id/products/pdp-i159992555-s181803572.html",
"type": "string"
}
},
"type": "object"
},
- "lazada.ProductVariant": {
+ "ikea.ProductResponse": {
"properties": {
- "name": {
- "example": "Volume",
+ "fetched_at": {
"type": "string"
},
- "values": {
- "example": [
- "990 ml"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
+ "product": {
+ "$ref": "#/definitions/ikea.Product"
+ },
+ "source_url": {
+ "type": "string"
}
},
"type": "object"
},
- "lazada.SearchResponse": {
+ "ikea.ProductSummary": {
"properties": {
- "fetched_at": {
- "example": "2026-09-02T04:00:00Z",
- "type": "string"
- },
- "items": {
+ "colors": {
"items": {
- "$ref": "#/definitions/lazada.ListingItem"
+ "$ref": "#/definitions/ikea.Color"
},
"type": "array"
},
- "page": {
- "example": 1,
- "type": "integer"
+ "filter_class": {
+ "description": "FilterClass is IKEA's own product-type slug, e.g. \"desks\" -- usable as\na coarse category signal, though it is not currently accepted back as\na category-browse filter by this endpoint (see this package's doc\ncomment).",
+ "example": "desks",
+ "type": "string"
},
- "page_size": {
- "example": 40,
- "type": "integer"
+ "image_url": {
+ "type": "string"
},
- "query": {
- "example": "karaoke",
+ "item_no": {
+ "example": "80213074",
"type": "string"
},
- "region": {
- "example": "PH",
+ "measure_text": {
+ "example": "41 3/8x19 5/8 \"",
"type": "string"
},
- "sort": {
- "example": "popularity",
+ "name": {
+ "example": "MICKE",
"type": "string"
},
- "source_url": {
- "example": "https://www.lazada.com.ph/catalog/?q=karaoke&ajax=true&page=1",
+ "price": {
+ "$ref": "#/definitions/ikea.Price"
+ },
+ "product_url": {
"type": "string"
},
- "total_results": {
- "example": 2400,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "lazada.categoriesResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "rating": {
+ "$ref": "#/definitions/ikea.Rating"
},
- "data": {
- "$ref": "#/definitions/lazada.CategoryDirectoryResponse"
+ "type_name": {
+ "example": "Desk",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "valid_design": {
+ "description": "ValidDesign is IKEA's own color/finish descriptor for this exact item,\ne.g. \"white\" or \"black-brown\" -- the design this specific item number\nrepresents, as opposed to Colors below (every color swatch shown for\nthe product family).",
+ "example": "white",
"type": "string"
- }
- },
- "type": "object"
- },
- "lazada.categoryProductsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/lazada.CategoryProductsResponse"
+ "variant_count": {
+ "description": "VariantCount is the total number of other purchasable size/color/design\noptions this product has, which may exceed len(Variants) -- the search\nendpoint's own gprDescription block does not always enumerate every\nvariant.",
+ "example": 3,
+ "type": "integer"
},
- "msg": {
- "example": "OK",
- "type": "string"
+ "variants": {
+ "items": {
+ "$ref": "#/definitions/ikea.Variant"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "lazada.homeResponseDoc": {
+ "ikea.QuickFact": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/lazada.HomeResponse"
+ "name": {
+ "example": "Firm",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "type_name": {
+ "example": "Firmness",
"type": "string"
}
},
"type": "object"
},
- "lazada.productResponseDoc": {
+ "ikea.Rating": {
"properties": {
- "code": {
- "example": 200,
+ "count": {
+ "example": 6367,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/lazada.ProductResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "value": {
+ "example": 4.5,
+ "type": "number"
}
},
"type": "object"
},
- "lazada.searchResponseDoc": {
+ "ikea.RelatedSearch": {
"properties": {
- "code": {
- "example": 200,
+ "count": {
+ "example": 48,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/lazada.SearchResponse"
- },
- "msg": {
- "example": "OK",
+ "text": {
+ "example": "desk chair",
"type": "string"
}
},
"type": "object"
},
- "leboncoin.ListingCard": {
+ "ikea.Review": {
"properties": {
- "category": {
- "type": "string"
- },
- "id": {
+ "author": {
+ "example": "Alexis",
"type": "string"
},
- "image_url": {
+ "author_country": {
+ "description": "AuthorCountry is the reviewer's own self-reported country, as IKEA\ndisplays it (e.g. \"United States\") -- not a normalized country code.",
+ "example": "United States",
"type": "string"
},
- "price_eur": {
+ "rating": {
+ "example": 5,
"type": "integer"
},
- "title": {
+ "text": {
"type": "string"
},
- "url": {
+ "title": {
+ "example": "Great buy",
"type": "string"
}
},
"type": "object"
},
- "leboncoin.ListingResponse": {
+ "ikea.ReviewsResponse": {
"properties": {
- "availability": {
- "type": "string"
- },
- "category": {
- "type": "string"
- },
- "condition": {
- "type": "string"
- },
- "currency": {
- "type": "string"
+ "average_rating": {
+ "example": 4.5,
+ "type": "number"
},
- "description": {
- "type": "string"
+ "count": {
+ "example": 3,
+ "type": "integer"
},
- "id": {
+ "fetched_at": {
"type": "string"
},
- "image_url": {
+ "item_no": {
+ "example": "80213074",
"type": "string"
},
- "price_eur": {
+ "rating_count": {
+ "example": 6367,
"type": "integer"
},
- "title": {
- "type": "string"
- },
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "leboncoin.SearchResponse": {
- "properties": {
- "listings": {
+ "reviews": {
"items": {
- "$ref": "#/definitions/leboncoin.ListingCard"
+ "$ref": "#/definitions/ikea.Review"
},
"type": "array"
},
- "location": {
- "type": "string"
- },
"source_url": {
"type": "string"
}
},
"type": "object"
},
- "leboncoin.listingResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/leboncoin.ListingResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
- }
- },
- "type": "object"
- },
- "leboncoin.searchResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/leboncoin.SearchResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
- }
- },
- "type": "object"
- },
- "letterboxd.FilmRating": {
+ "ikea.SearchResponse": {
"properties": {
- "average": {
- "description": "Average Letterboxd member rating, out of 5.",
- "example": 4.52,
- "type": "number"
- },
"count": {
- "description": "Number of member ratings behind the average.",
- "example": 5553202,
- "type": "integer"
- },
- "review_count": {
- "description": "Number of written reviews. Omitted when Letterboxd shows none.",
- "example": 740173,
+ "description": "Count is the number of products returned in this response; Total is\nIKEA's own total match count across the full result set (there is no\nconfirmed-working pagination parameter for retrieving results beyond\nSize in one call -- see this package's doc comment).",
+ "example": 24,
"type": "integer"
- }
- },
- "type": "object"
- },
- "letterboxd.FilmRef": {
- "properties": {
- "slug": {
- "description": "Letterboxd film slug. Use it with the film endpoint for full detail.",
- "type": "string"
- },
- "title": {
- "description": "Title of the film.",
- "type": "string"
},
- "uri": {
- "description": "Link to the film's page on Letterboxd.",
+ "country": {
+ "example": "us",
"type": "string"
- }
- },
- "type": "object"
- },
- "letterboxd.FilmResponse": {
- "properties": {
- "cast": {
- "description": "Cast members of the film, up to 25 credits.",
- "items": {
- "$ref": "#/definitions/letterboxd.PersonCredit"
- },
- "type": "array"
},
- "countries": {
- "description": "Countries the film was made in.",
+ "did_you_mean": {
+ "description": "DidYouMean is populated only when IKEA's own spell-correction\nsuggests a different query than the one submitted.",
"items": {
"type": "string"
},
"type": "array"
},
- "directors": {
- "description": "Directors of the film.",
- "items": {
- "$ref": "#/definitions/letterboxd.PersonCredit"
- },
- "type": "array"
+ "fetched_at": {
+ "type": "string"
},
- "genres": {
- "description": "Genres of the film.",
- "items": {
- "type": "string"
- },
- "type": "array"
+ "language": {
+ "example": "en",
+ "type": "string"
},
- "languages": {
- "description": "Languages used in the film, as Letterboxd lists them.",
+ "products": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/ikea.ProductSummary"
},
"type": "array"
},
- "poster_url": {
- "description": "URL of the film's poster image.",
+ "query": {
+ "example": "desk",
"type": "string"
},
- "production_companies": {
- "description": "Names of the production companies behind the film.",
+ "related_searches": {
+ "description": "RelatedSearches are IKEA's own suggested related queries with their\nown result counts.",
"items": {
- "type": "string"
+ "$ref": "#/definitions/ikea.RelatedSearch"
},
"type": "array"
},
- "rating": {
- "allOf": [
- {
- "$ref": "#/definitions/letterboxd.FilmRating"
- }
- ],
- "description": "Aggregate Letterboxd member rating. Omitted when the film has no ratings."
- },
- "release_date": {
- "description": "Release date of the film, in YYYY-MM-DD format.",
- "example": "2019-05-21",
+ "source_url": {
"type": "string"
},
- "runtime_minutes": {
- "description": "Running time of the film in minutes.",
- "example": 133,
+ "total": {
+ "example": 203,
"type": "integer"
- },
- "slug": {
- "description": "Letterboxd film slug, for example `parasite-2019`. Use it with the film endpoints.",
- "example": "parasite-2019",
+ }
+ },
+ "type": "object"
+ },
+ "ikea.StoreAddress": {
+ "properties": {
+ "city": {
+ "example": "Burbank",
"type": "string"
},
- "source_url": {
- "description": "URL the data was read from.",
+ "country": {
+ "example": "US",
"type": "string"
},
- "synopsis": {
- "description": "Short plot synopsis of the film.",
+ "postal_code": {
+ "example": "91502",
"type": "string"
},
- "title": {
- "description": "Title of the film.",
- "example": "Parasite",
+ "state": {
+ "example": "CA",
"type": "string"
},
- "uri": {
- "description": "Link to the film's page on Letterboxd.",
+ "street": {
+ "example": "600 South IKEA Way",
"type": "string"
- },
- "year": {
- "description": "Year the film was released.",
- "example": 2019,
- "type": "integer"
}
},
"type": "object"
},
- "letterboxd.MemberResponse": {
+ "ikea.StoreAndDetail": {
"properties": {
- "display_name": {
- "type": "string"
- },
- "films_this_year": {
- "type": "integer"
+ "address": {
+ "$ref": "#/definitions/ikea.StoreAddress"
},
- "films_watched": {
- "type": "integer"
+ "geo": {
+ "$ref": "#/definitions/ikea.StoreGeo"
},
- "followers": {
- "type": "integer"
+ "hours": {
+ "items": {
+ "$ref": "#/definitions/ikea.StoreHours"
+ },
+ "type": "array"
},
- "following": {
- "type": "integer"
+ "location_type": {
+ "example": "Store",
+ "type": "string"
},
- "lists": {
- "type": "integer"
+ "name": {
+ "example": "IKEA Burbank",
+ "type": "string"
},
- "source_url": {
+ "price_range": {
+ "example": "$$",
"type": "string"
},
- "uri": {
+ "slug": {
+ "example": "burbank",
"type": "string"
},
- "username": {
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "letterboxd.PersonCredit": {
+ "ikea.StoreGeo": {
"properties": {
- "name": {
- "description": "Name of the person.",
- "type": "string"
+ "latitude": {
+ "example": 34.1745,
+ "type": "number"
},
- "slug": {
- "description": "Letterboxd slug of the person. Use it with the person endpoint.",
- "type": "string"
+ "longitude": {
+ "example": -118.3032,
+ "type": "number"
}
},
"type": "object"
},
- "letterboxd.PersonResponse": {
+ "ikea.StoreHours": {
"properties": {
- "films": {
+ "closes": {
+ "example": "21:00",
+ "type": "string"
+ },
+ "days": {
+ "example": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Sunday"
+ ],
"items": {
- "$ref": "#/definitions/letterboxd.FilmRef"
+ "type": "string"
},
"type": "array"
},
+ "opens": {
+ "example": "10:00",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ikea.StoreRef": {
+ "properties": {
+ "location_type": {
+ "description": "LocationType is IKEA's own location-type label, e.g. \"Store\",\n\"Small store\", \"Plan & order point with pick-up\", \"Order point\",\n\"Pick-up point\" -- surfaced verbatim rather than validated against a\nclosed enum since it is response data from IKEA's own directory, not\na caller-supplied parameter.",
+ "example": "Store",
+ "type": "string"
+ },
"name": {
+ "example": "IKEA Burbank, CA",
"type": "string"
},
- "role": {
+ "region": {
+ "description": "Region is the directory's own grouping heading for this location\n(e.g. \"Los Angeles Area & Southern California\"). Empty for the\ndirectory's leading entries, which appear before any region heading\n-- confirmed live 2026-08-20.",
+ "example": "Los Angeles Area & Southern California",
"type": "string"
},
"slug": {
+ "example": "burbank",
"type": "string"
},
- "source_url": {
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "letterboxd.PopularResponse": {
+ "ikea.StoreResponse": {
"properties": {
- "decade": {
- "description": "Decade filter that was applied, for example `2010s`. Omitted when none was set.",
- "type": "string"
- },
- "films": {
- "description": "Films in the chart, most popular first.",
- "items": {
- "$ref": "#/definitions/letterboxd.FilmRef"
- },
- "type": "array"
- },
- "genre": {
- "description": "Genre filter that was applied. Omitted when none was set.",
- "type": "string"
- },
- "period": {
- "description": "Time window of the chart: `day`, `week`, `month` or `year`. Omitted for the all-time chart.",
+ "fetched_at": {
"type": "string"
},
"source_url": {
- "description": "URL the data was read from.",
"type": "string"
+ },
+ "store": {
+ "$ref": "#/definitions/ikea.StoreAndDetail"
}
},
"type": "object"
},
- "letterboxd.RatingBucket": {
+ "ikea.StoresResponse": {
"properties": {
"count": {
+ "example": 84,
"type": "integer"
},
- "percent": {
- "type": "integer"
+ "country": {
+ "example": "us",
+ "type": "string"
},
- "stars": {
- "example": 4.5,
- "type": "number"
- }
- },
- "type": "object"
- },
- "letterboxd.RatingHistogramResponse": {
- "properties": {
- "buckets": {
- "items": {
- "$ref": "#/definitions/letterboxd.RatingBucket"
- },
- "type": "array"
+ "fetched_at": {
+ "type": "string"
},
- "slug": {
+ "language": {
+ "example": "en",
"type": "string"
},
"source_url": {
"type": "string"
},
- "total_ratings": {
- "type": "integer"
+ "stores": {
+ "items": {
+ "$ref": "#/definitions/ikea.StoreRef"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "letterboxd.Review": {
+ "ikea.SuggestResponse": {
"properties": {
- "comment_count": {
+ "count": {
+ "example": 5,
"type": "integer"
},
- "contains_spoilers": {
- "type": "boolean"
- },
- "date": {
- "example": "2019-08-14",
+ "country": {
+ "example": "us",
"type": "string"
},
- "display_name": {
+ "fetched_at": {
"type": "string"
},
- "like_count": {
- "type": "integer"
- },
- "liked": {
- "type": "boolean"
- },
- "rating": {
- "example": 4.5,
- "type": "number"
- },
- "text": {
+ "language": {
+ "example": "en",
"type": "string"
},
- "username": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "letterboxd.ReviewsResponse": {
- "properties": {
- "reviews": {
+ "products": {
"items": {
- "$ref": "#/definitions/letterboxd.Review"
+ "$ref": "#/definitions/ikea.ProductSummary"
},
"type": "array"
},
- "slug": {
+ "query": {
+ "example": "des",
"type": "string"
},
"source_url": {
"type": "string"
- }
- },
- "type": "object"
- },
- "letterboxd.SearchResponse": {
- "properties": {
- "query": {
- "description": "Search text that was run.",
- "type": "string"
},
- "results": {
- "description": "Search hits, one item per film, person, list or tag.",
+ "suggestions": {
"items": {
- "$ref": "#/definitions/letterboxd.SearchResult"
+ "$ref": "#/definitions/ikea.RelatedSearch"
},
"type": "array"
- },
- "source_url": {
- "description": "URL the data was read from.",
- "type": "string"
- },
- "type": {
- "description": "Result type the search was limited to, `film`. Omitted for a mixed search.",
- "type": "string"
}
},
"type": "object"
},
- "letterboxd.SearchResult": {
+ "ikea.Variant": {
"properties": {
- "owner": {
- "description": "Username of the member who made the list. Present for list hits.",
+ "image_url": {
"type": "string"
},
- "role": {
- "description": "Role of the person, `actor` or `director`. Present for person hits.",
- "example": "director",
+ "item_no": {
+ "example": "10244743",
"type": "string"
},
- "slug": {
- "description": "Letterboxd slug of the film or person. Present for film and person hits.",
+ "name": {
+ "example": "MICKE",
"type": "string"
},
- "title": {
- "description": "Title of the film or list, name of the person, or the tag.",
- "type": "string"
+ "price": {
+ "$ref": "#/definitions/ikea.Price"
},
- "type": {
- "description": "Kind of hit: `film`, `person`, `list` or `tag`.",
- "example": "film",
+ "product_url": {
"type": "string"
},
- "uri": {
- "description": "Link to the hit's page on Letterboxd.",
+ "rating": {
+ "$ref": "#/definitions/ikea.Rating"
+ },
+ "type_name": {
+ "example": "Desk",
"type": "string"
},
- "year": {
- "description": "Year the film was released. Present for film hits.",
- "type": "integer"
+ "valid_design": {
+ "example": "black-brown",
+ "type": "string"
}
},
"type": "object"
},
- "letterboxd.SimilarResponse": {
+ "ikea.availabilityResponseDoc": {
"properties": {
- "films": {
- "description": "Films Letterboxd lists as similar.",
- "items": {
- "$ref": "#/definitions/letterboxd.FilmRef"
- },
- "type": "array"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "slug": {
- "description": "Slug of the film the similar films are for.",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/ikea.AvailabilityResponse"
},
- "source_url": {
- "description": "URL the data was read from.",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "letterboxd.filmResponseDoc": {
+ "ikea.categoriesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/letterboxd.FilmResponse"
+ "$ref": "#/definitions/ikea.CategoriesResponse"
},
"msg": {
"example": "OK",
@@ -126425,14 +131370,14 @@
},
"type": "object"
},
- "letterboxd.memberResponseDoc": {
+ "ikea.categoryResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/letterboxd.MemberResponse"
+ "$ref": "#/definitions/ikea.CategoryResponse"
},
"msg": {
"example": "OK",
@@ -126441,14 +131386,14 @@
},
"type": "object"
},
- "letterboxd.personResponseDoc": {
+ "ikea.productResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/letterboxd.PersonResponse"
+ "$ref": "#/definitions/ikea.ProductResponse"
},
"msg": {
"example": "OK",
@@ -126457,14 +131402,14 @@
},
"type": "object"
},
- "letterboxd.popularResponseDoc": {
+ "ikea.reviewsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/letterboxd.PopularResponse"
+ "$ref": "#/definitions/ikea.ReviewsResponse"
},
"msg": {
"example": "OK",
@@ -126473,14 +131418,14 @@
},
"type": "object"
},
- "letterboxd.ratingHistogramResponseDoc": {
+ "ikea.searchResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/letterboxd.RatingHistogramResponse"
+ "$ref": "#/definitions/ikea.SearchResponse"
},
"msg": {
"example": "OK",
@@ -126489,14 +131434,14 @@
},
"type": "object"
},
- "letterboxd.reviewsResponseDoc": {
+ "ikea.storeResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/letterboxd.ReviewsResponse"
+ "$ref": "#/definitions/ikea.StoreResponse"
},
"msg": {
"example": "OK",
@@ -126505,14 +131450,14 @@
},
"type": "object"
},
- "letterboxd.searchResponseDoc": {
+ "ikea.storesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/letterboxd.SearchResponse"
+ "$ref": "#/definitions/ikea.StoresResponse"
},
"msg": {
"example": "OK",
@@ -126521,14 +131466,14 @@
},
"type": "object"
},
- "letterboxd.similarResponseDoc": {
+ "ikea.suggestResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/letterboxd.SimilarResponse"
+ "$ref": "#/definitions/ikea.SuggestResponse"
},
"msg": {
"example": "OK",
@@ -126537,1696 +131482,1602 @@
},
"type": "object"
},
- "linkedin.Customer": {
+ "imdb.AlternateTitle": {
"properties": {
- "follower_count": {
- "description": "Number of LinkedIn followers of the customer's company page.",
- "example": 12345,
- "type": "integer"
- },
- "industry": {
- "description": "Industry listed for the customer company.",
- "example": "Information Technology & Services",
- "type": "string"
- },
- "link": {
- "description": "LinkedIn URL of the customer's company page.",
- "example": "https://www.linkedin.com/company/contoso/",
+ "country": {
+ "description": "Country or region the alternate title is used in.",
+ "example": "United States",
"type": "string"
},
- "logo": {
- "description": "URL of the customer's logo image.",
- "example": "https://media.licdn.com/dms/image/v2/company-logo_100_100/company-logo_100_100/0/123456789/logo?e=2147483647&v=beta&t=xyz",
+ "title": {
+ "description": "Alternate title as listed for that country.",
+ "example": "Inception",
"type": "string"
},
- "name": {
- "description": "Name of the featured customer company.",
- "example": "Contoso Ltd.",
+ "type": {
+ "description": "Kind of alternate title, when IMDb gives one.",
+ "example": "original title",
"type": "string"
}
},
"type": "object"
},
- "linkedin.LinkedinCompanyResponse": {
+ "imdb.AwardItem": {
"properties": {
- "about": {
- "description": "Company description from the About section.",
- "example": "We’re a team of scientists, engineers...",
- "type": "string"
- },
- "affiliated_pages": {
- "description": "Related company pages listed as affiliated with this company.",
- "items": {
- "$ref": "#/definitions/linkedin.Page"
- },
- "type": "array"
- },
- "company_size": {
- "description": "Employee count range listed on the page, for example `501-1,000`.",
- "example": "501-1,000",
- "type": "string"
- },
- "follower_count": {
- "description": "Number of LinkedIn followers of the company page.",
- "example": 1176422,
- "type": "integer"
- },
- "founded_on": {
- "description": "Year the company was founded.",
- "example": 2010,
- "type": "integer"
- },
- "headline": {
- "description": "Tagline shown under the company name.",
- "example": "We're committed to solving intelligence, to advance science and benefit humanity.",
- "type": "string"
- },
- "headquarters": {
- "description": "Headquarters location as listed on the page.",
- "example": "London, London",
- "type": "string"
- },
- "industry": {
- "description": "Industry listed on the company page, for example `Research Services`.",
- "example": "Research Services",
+ "award": {
+ "description": "Name of the award given, for example `Oscar`.",
+ "example": "Oscar",
"type": "string"
},
- "link": {
- "description": "LinkedIn URL of the company page.",
- "example": "https://www.linkedin.com/company/googledeepmind",
+ "category": {
+ "description": "Award category, for example `Best Motion Picture of the Year`.",
+ "example": "Best Motion Picture of the Year",
"type": "string"
},
- "locations": {
- "description": "Office locations listed on the company page.",
- "items": {
- "$ref": "#/definitions/linkedin.Location"
- },
- "type": "array"
- },
- "logo": {
- "description": "URL of the company logo image.",
- "example": "https://static.licdn.com/.../linkedin-bug-color.png",
+ "event": {
+ "description": "Name of the awards event, for example `Academy Awards, USA`.",
+ "example": "Academy Awards, USA",
"type": "string"
},
- "name": {
- "description": "Company name as shown on its LinkedIn page.",
- "example": "Google DeepMind",
+ "notes": {
+ "description": "Extra note IMDb attaches to the award entry.",
"type": "string"
},
- "num_of_employees_on_linkedin": {
- "description": "Number of employees who list the company on their LinkedIn profile.",
- "example": 5590,
+ "public_signals": {
+ "description": "Number of details filled in on this entry, counted across event, year, category, result, award, recipients, titles and notes.",
+ "example": 6,
"type": "integer"
},
- "products": {
- "description": "Product Pages LinkedIn lists under the page's Products section.",
- "items": {
- "$ref": "#/definitions/linkedin.Product"
- },
- "type": "array"
- },
- "similar_pages": {
- "description": "Company pages LinkedIn suggests as similar to this company.",
+ "recipients": {
+ "description": "People who received the award.",
"items": {
- "$ref": "#/definitions/linkedin.Page"
+ "$ref": "#/definitions/imdb.Person"
},
"type": "array"
},
- "specialties": {
- "description": "Specialties listed on the company page.",
- "example": "Artificial Intelligence and Machine Learning",
- "type": "string"
- },
- "type": {
- "description": "Organization type listed on the page, for example `Privately Held`.",
- "example": "Privately Held",
+ "result": {
+ "description": "Outcome of the entry, for example `nomination`.",
+ "example": "nomination",
"type": "string"
},
- "updates": {
- "description": "Recent posts shown on the company page.",
+ "titles": {
+ "description": "Titles the award entry refers to.",
"items": {
- "$ref": "#/definitions/linkedin.Update"
+ "$ref": "#/definitions/imdb.AwardTitle"
},
"type": "array"
},
- "website": {
- "description": "Company website address as listed on the page.",
- "example": "https://www.deepmind.google",
+ "year": {
+ "description": "Year of the award entry, for example `2011`.",
+ "example": "2011",
"type": "string"
}
},
"type": "object"
},
- "linkedin.LinkedinProductResponse": {
+ "imdb.AwardTitle": {
"properties": {
- "about": {
- "description": "Product description from the About section.",
- "example": "Streamline, manage, and grow your business with Dynamics 365 Business Central - a flexible, scalable, comprehensive business management solution for small and medium-sized businesses.",
+ "id": {
+ "description": "IMDb title ID, for example `tt1375666`.",
+ "example": "tt1375666",
"type": "string"
},
- "category_link": {
- "description": "LinkedIn URL of the product category page.",
- "example": "https://www.linkedin.com/products/categories/business-management-software",
+ "title": {
+ "description": "Name of the title the award entry refers to.",
+ "example": "Inception",
"type": "string"
},
- "category_name": {
- "description": "Name of the LinkedIn product category the product is listed in.",
- "example": "Business Management Software",
+ "url": {
+ "description": "IMDb page URL of the title.",
+ "example": "https://www.imdb.com/title/tt1375666/",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "imdb.ChartResponse": {
+ "properties": {
+ "chart": {
+ "example": "top_rated_movies",
"type": "string"
},
- "cover_image": {
- "description": "URL of the product page cover image.",
- "example": "https://media.licdn.com/dms/image/v2/D4E1BAQF2jwQmfmDSiA/company-background_10000/B4EZYQcR0_HkAU-/0/1744032571051/microsoft_dynamics_cover?e=2147483647&v=beta&t=fUrpht_xQ4tCJkUKJcGr5hFyqQzXLxbETOV14KE5qk4",
+ "fetched_at": {
+ "example": "2026-08-22T14:46:16Z",
"type": "string"
},
- "external_link": {
- "description": "URL of the product's own website, from the visit button on the page.",
- "example": "https://dynamics.microsoft.com/en-us/business-central/overview/",
+ "limit": {
+ "example": 25,
+ "type": "integer"
+ },
+ "source_url": {
+ "example": "https://www.imdb.com/chart/top/",
"type": "string"
},
- "featured_customers": {
- "description": "Customer companies featured on the product page.",
+ "titles": {
"items": {
- "$ref": "#/definitions/linkedin.Customer"
+ "$ref": "#/definitions/imdb.ChartTitle"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "imdb.ChartTitle": {
+ "properties": {
+ "cast": {
+ "items": {
+ "$ref": "#/definitions/imdb.Person"
},
"type": "array"
},
- "link": {
- "description": "LinkedIn URL of the product page.",
- "example": "https://www.linkedin.com/products/microsoft-dynamics-microsoft-dynamics-365-business-central",
- "type": "string"
- },
- "logo": {
- "description": "URL of the product logo image.",
- "example": "https://media.licdn.com/dms/image/v2/C4E0BAQFXmfZJomhCcg/company-logo_100_100/company-logo_100_100/0/1630612268078/microsoft_dynamics_logo?e=2147483647&v=beta&t=2bAeeYjEdtNwIAdeHTqLAo6Av0AN3Ofe1vdzvN2ihpI",
- "type": "string"
- },
- "medias": {
- "description": "Media items shown on the product page, one entry per thumbnail.",
+ "directors": {
"items": {
- "$ref": "#/definitions/linkedin.Media"
+ "$ref": "#/definitions/imdb.Person"
},
"type": "array"
},
- "name": {
- "description": "Product name as shown on its LinkedIn page.",
- "example": "Microsoft Dynamics 365 Business Central",
+ "id": {
+ "example": "tt0111161",
"type": "string"
},
- "organization_link": {
- "description": "LinkedIn URL of the page of the company that makes the product.",
- "example": "https://www.linkedin.com/company/microsoft-dynamics/",
+ "rank": {
+ "example": 1,
+ "type": "integer"
+ },
+ "rating_count": {
+ "example": 3227390,
+ "type": "integer"
+ },
+ "rating_value": {
+ "example": 9.3,
+ "type": "number"
+ },
+ "title": {
+ "example": "The Shawshank Redemption",
"type": "string"
},
- "organization_name": {
- "description": "Name of the company that makes the product.",
- "example": "Microsoft Dynamics 365",
+ "url": {
+ "example": "https://www.imdb.com/title/tt0111161/",
"type": "string"
},
- "other_products": {
- "description": "Other products listed on the page, such as more products from the same company.",
+ "writers": {
"items": {
- "$ref": "#/definitions/linkedin.Product"
+ "$ref": "#/definitions/imdb.Person"
},
"type": "array"
},
- "similar_products": {
- "description": "Products LinkedIn suggests as similar to this one.",
- "items": {
- "$ref": "#/definitions/linkedin.Product"
- },
- "type": "array"
+ "year": {
+ "example": 1994,
+ "type": "integer"
}
},
"type": "object"
},
- "linkedin.Location": {
+ "imdb.CompanyItem": {
"properties": {
- "address": {
- "description": "Full street address of the location, as listed on the company page.",
- "example": "Kings Cross, London, London N1C4AG, GB",
+ "name": {
+ "description": "Company name as listed on IMDb.",
+ "example": "Warner Bros.",
"type": "string"
},
- "is_primary": {
- "description": "Whether this is the company's primary location on LinkedIn.",
- "example": true,
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "linkedin.Media": {
- "properties": {
- "link": {
- "description": "URL of the media thumbnail image.",
- "example": "https://media.licdn.com/media/sample-video.mp4",
+ "note": {
+ "description": "Note shown next to the company, for example `presents`.",
+ "example": "presents",
"type": "string"
},
- "name": {
- "description": "Caption of the media item on the product page.",
- "example": "Product Demo Video",
+ "public_signals": {
+ "description": "Number of details filled in on this entry, counted across name, URL and note.",
+ "example": 2,
+ "type": "integer"
+ },
+ "url": {
+ "description": "IMDb page URL of the company.",
+ "example": "https://www.imdb.com/company/co0002663/",
"type": "string"
}
},
"type": "object"
},
- "linkedin.Page": {
+ "imdb.CompanySection": {
"properties": {
- "address": {
- "description": "Location shown on the page card, for example `San Francisco, CA`.",
- "example": "San Francisco, CA",
- "type": "string"
- },
- "industry": {
- "description": "Industry listed on the company page.",
- "example": "Research Services",
- "type": "string"
+ "companies": {
+ "description": "Companies listed in this section.",
+ "items": {
+ "$ref": "#/definitions/imdb.CompanyItem"
+ },
+ "type": "array"
},
- "link": {
- "description": "LinkedIn URL of the company page.",
- "example": "https://www.linkedin.com/company/openai",
+ "name": {
+ "description": "Section heading, for example `Production Companies`.",
+ "example": "Production Companies",
"type": "string"
},
- "name": {
- "description": "Name of the company page.",
- "example": "OpenAI",
+ "slug": {
+ "description": "Lowercase, hyphenated form of the section name, for example `production-companies`.",
+ "example": "production-companies",
"type": "string"
}
},
"type": "object"
},
- "linkedin.Product": {
+ "imdb.ConnectionAssociatedTitle": {
"properties": {
- "category_link": {
- "description": "LinkedIn URL of the product category page.",
- "example": "https://www.linkedin.com/products/categories/business-management-software",
- "type": "string"
- },
- "category_name": {
- "description": "Name of the LinkedIn product category the product is listed in.",
- "example": "Business Management Software",
+ "id": {
+ "example": "tt1936736",
"type": "string"
},
- "link": {
- "description": "LinkedIn URL of the product page.",
- "example": "https://www.linkedin.com/products/odoo/",
+ "title": {
+ "example": "Why Gump? Why Now?",
"type": "string"
},
- "logo": {
- "description": "URL of the product logo image.",
- "example": "https://media.licdn.com/dms/image/v2/D4E0BAQF91OMQCIi4dQ/company-logo_100_100/company-logo_100_100/0/1691657301051/odoo_logo?e=2147483647&v=beta&t=JfXKr0197Ib_ujXsUsYwXtga3l87Seko0icAH53nrHo",
+ "title_type": {
+ "example": "TV Episode",
"type": "string"
},
- "name": {
- "description": "Product name as shown on LinkedIn.",
- "example": "Odoo",
+ "url": {
+ "example": "https://www.imdb.com/title/tt1936736/",
"type": "string"
- }
- },
- "type": "object"
- },
- "linkedin.ProductCategoriesResponse": {
- "properties": {
- "categories": {
- "items": {
- "$ref": "#/definitions/linkedin.ProductCategoryItem"
- },
- "type": "array"
},
- "total": {
- "example": 620,
+ "year": {
+ "example": 1994,
"type": "integer"
}
},
"type": "object"
},
- "linkedin.ProductCategoryItem": {
+ "imdb.ConnectionItem": {
"properties": {
- "id": {
- "example": "1620",
- "type": "string"
- },
- "link": {
- "example": "https://www.linkedin.com/products/categories/healthcare-crm-software",
- "type": "string"
- },
- "name": {
- "example": "Healthcare CRM Software",
- "type": "string"
+ "associated_title": {
+ "$ref": "#/definitions/imdb.ConnectionAssociatedTitle"
},
- "universal_name": {
- "example": "healthcare-crm-software",
+ "category": {
+ "example": "Featured in",
"type": "string"
},
- "urn": {
- "example": "urn:li:standardizedProductCategory:1620",
+ "note": {
+ "example": "Clips appear in the teaser for next week's show.",
"type": "string"
}
},
"type": "object"
},
- "linkedin.ProductSearchResultItem": {
+ "imdb.CreditItem": {
"properties": {
- "category_link": {
- "example": "https://www.linkedin.com/products/categories/sales-intelligence-software",
- "type": "string"
- },
- "category_name": {
- "example": "Sales Intelligence Software",
- "type": "string"
- },
- "description": {
- "example": "Sales Navigator helps sellers have high-quality conversations with the people that matter, at scale.",
- "type": "string"
- },
- "id": {
- "example": "linkedin-sales-navigator",
- "type": "string"
- },
- "link": {
- "example": "https://www.linkedin.com/products/linkedin-sales-navigator",
+ "character": {
+ "example": "Dom Cobb",
"type": "string"
},
- "logo": {
- "example": "https://media.licdn.com/dms/image/v2/D4E33AQFKTZDLqpinzQ/productpage-logo-image_100_100/B4EZX4WGqkHUAY-/0/1743628299227/linkedin_sales_navigator_logo",
+ "name": {
+ "example": "Christopher Nolan",
"type": "string"
},
- "name": {
- "example": "LinkedIn Sales Navigator",
+ "role": {
+ "example": "written by",
"type": "string"
},
- "organization_name": {
- "example": "LinkedIn",
+ "url": {
+ "example": "https://www.imdb.com/name/nm0634240/",
"type": "string"
}
},
"type": "object"
},
- "linkedin.ProductsSearchResponse": {
+ "imdb.CreditSection": {
"properties": {
- "next_start": {
- "description": "NextStart is the offset for the following page, omitted once LinkedIn's\nguest search stops returning results (see ProductSearchResultCap).",
- "example": 10,
- "type": "integer"
- },
- "products": {
+ "credits": {
"items": {
- "$ref": "#/definitions/linkedin.ProductSearchResultItem"
+ "$ref": "#/definitions/imdb.CreditItem"
},
"type": "array"
},
- "start": {
- "example": 0,
- "type": "integer"
+ "has_more": {
+ "example": true,
+ "type": "boolean"
+ },
+ "name": {
+ "example": "Directed by",
+ "type": "string"
+ },
+ "slug": {
+ "example": "directed-by",
+ "type": "string"
},
"total": {
- "description": "Total is only populated on the first page (start=0), where it is read\nfrom LinkedIn's server-rendered result count.",
- "example": 145986,
+ "example": 145,
"type": "integer"
}
},
"type": "object"
},
- "linkedin.Update": {
+ "imdb.CreditsResponse": {
"properties": {
- "author": {
- "description": "Name of the page that published the post.",
- "example": "Google DeepMind",
+ "fetched_at": {
+ "example": "2026-06-07T14:46:16Z",
"type": "string"
},
- "author_link": {
- "description": "LinkedIn URL of the page that published the post.",
- "example": "https://uk.linkedin.com/company/googledeepmind",
+ "id": {
+ "example": "tt1375666",
"type": "string"
},
- "images": {
- "description": "URLs of the images attached to the post.",
- "example": [
- "[\"https://example.com/image1.jpg\"]"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "is_reposted": {
- "description": "Whether the post is a repost of another LinkedIn post.",
- "example": false,
+ "public_page_derived": {
+ "example": true,
"type": "boolean"
},
- "logo": {
- "description": "URL of the logo image of the page that published the post.",
- "example": "https://media.licdn.com/dms/image/v2/D4E0BAQEntrYwxPlbQA/company-logo_100_100/0/googledeepmind_logo",
- "type": "string"
- },
- "num_of_comments": {
- "description": "Number of comments on the post.",
- "example": 21,
- "type": "integer"
- },
- "num_of_reactions": {
- "description": "Number of reactions on the post.",
- "example": 571,
- "type": "integer"
- },
- "post_link": {
- "description": "LinkedIn URL of the post.",
- "example": "https://www.linkedin.com/posts/googledeepmind_thomas-story-activity-7313245349987385346-5COL",
- "type": "string"
- },
- "published_at": {
- "description": "How long ago the post was published, as LinkedIn shows it, for example `1w`.",
- "example": "1w",
- "type": "string"
- },
- "summary": {
- "description": "Text of the post.",
- "example": "When his son was diagnosed with a rare disease, Googler Thomas Wagner...",
- "type": "string"
- },
- "videos": {
- "description": "URLs of the videos attached to the post.",
- "example": [
- "[\"https://example.com/video1.mp4\"]"
- ],
+ "sections": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/imdb.CreditSection"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "linkedin.companyResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/linkedin.LinkedinCompanyResponse"
+ "source_url": {
+ "example": "https://www.imdb.com/title/tt1375666/fullcredits/",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "url": {
+ "example": "https://www.imdb.com/title/tt1375666/fullcredits/",
"type": "string"
}
},
"type": "object"
},
- "linkedin.productCategoriesResponseDoc": {
+ "imdb.EpisodeItem": {
"properties": {
- "code": {
- "example": 200,
+ "air_date": {
+ "description": "Air date as IMDb shows it, for example `17 Apr 2011`, or just the year when only that is known. Omitted when IMDb has no date.",
+ "example": "17 Apr 2011",
+ "type": "string"
+ },
+ "episode": {
+ "description": "Episode number within the season.",
+ "example": 1,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/linkedin.ProductCategoriesResponse"
+ "id": {
+ "description": "IMDb title ID of the episode.",
+ "example": "tt1480055",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "plot": {
+ "description": "Plot summary of the episode.",
"type": "string"
- }
- },
- "type": "object"
- },
- "linkedin.productResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/linkedin.LinkedinProductResponse"
+ "public_signals": {
+ "description": "Number of details filled in on this episode, counted across title, season, episode number, rating, vote count and plot.",
+ "example": 6,
+ "type": "integer"
},
- "msg": {
- "example": "OK",
- "type": "string"
- }
- },
- "type": "object"
- },
- "linkedin.productsSearchResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ "rating_count": {
+ "description": "Number of votes behind the episode rating.",
+ "example": 52000,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/linkedin.ProductsSearchResponse"
+ "rating_value": {
+ "description": "Average IMDb user rating of the episode.",
+ "example": 8.9,
+ "type": "number"
},
- "msg": {
- "example": "OK",
- "type": "string"
- }
- },
- "type": "object"
- },
- "linkedin.showcaseResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ "season": {
+ "description": "Season number of the episode.",
+ "example": 1,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/linkedin.LinkedinCompanyResponse"
+ "title": {
+ "description": "Title of the episode as shown on IMDb.",
+ "example": "Winter Is Coming",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "url": {
+ "description": "IMDb page URL of the episode.",
+ "example": "https://www.imdb.com/title/tt1480055/",
"type": "string"
}
},
"type": "object"
},
- "livemint.AuthorResponse": {
+ "imdb.EpisodesResponse": {
"properties": {
- "biography": {
+ "episodes": {
+ "description": "Episodes of the requested season, or of the first season when none was requested.",
"items": {
- "type": "string"
+ "$ref": "#/definitions/imdb.EpisodeItem"
},
"type": "array"
},
- "facebook_url": {
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-06-07T14:46:16Z",
"type": "string"
},
- "image_url": {
- "type": "string"
+ "has_more": {
+ "description": "`true` when IMDb lists more episodes for the season than were returned.",
+ "example": true,
+ "type": "boolean"
},
- "instagram_url": {
+ "id": {
+ "description": "IMDb title ID of the series, for example `tt0944947`.",
+ "example": "tt0944947",
"type": "string"
},
- "job_title": {
- "type": "string"
+ "limit": {
+ "description": "Maximum number of episodes requested.",
+ "example": 10,
+ "type": "integer"
},
- "linkedin_url": {
- "type": "string"
+ "public_page_derived": {
+ "description": "Always `true`. The data comes from IMDb's public pages.",
+ "example": true,
+ "type": "boolean"
},
- "name": {
- "type": "string"
+ "season": {
+ "description": "Season number that was requested. Omitted when no season was requested.",
+ "example": 1,
+ "type": "integer"
},
- "twitter_url": {
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://www.imdb.com/title/tt0944947/episodes/?season=1",
"type": "string"
},
+ "total": {
+ "description": "Number of episodes IMDb lists for the season.",
+ "example": 11,
+ "type": "integer"
+ },
"url": {
+ "description": "IMDb episodes page of the series.",
+ "example": "https://www.imdb.com/title/tt0944947/episodes/",
"type": "string"
}
},
"type": "object"
},
- "livescience.AuthorResponse": {
+ "imdb.ImageItem": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/newsplatform.HeadlineItem"
- },
- "type": "array"
+ "caption": {
+ "example": "Elisabeth Wiedemann in Holly - The Movie (1984)",
+ "type": "string"
},
- "biography": {
+ "copyright": {
+ "example": "2013 Getty Images",
+ "type": "string"
+ },
+ "countries": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/imdb.ImageLocale"
},
"type": "array"
},
- "has_next_page": {
- "type": "boolean"
+ "created_by": {
+ "example": "Stanley Bielecki Movie Collection",
+ "type": "string"
},
- "job_title": {
+ "created_on": {
+ "example": "February 16, 2026",
"type": "string"
},
- "name": {
+ "height": {
+ "example": 3024,
+ "type": "integer"
+ },
+ "id": {
+ "example": "rm1894298369",
"type": "string"
},
- "page": {
+ "languages": {
+ "items": {
+ "$ref": "#/definitions/imdb.ImageLocale"
+ },
+ "type": "array"
+ },
+ "names": {
+ "items": {
+ "$ref": "#/definitions/imdb.ImageName"
+ },
+ "type": "array"
+ },
+ "position": {
+ "example": 1,
"type": "integer"
},
- "slug": {
+ "source": {
+ "example": "gettyimages.com",
"type": "string"
},
- "social_links": {
+ "titles": {
"items": {
- "$ref": "#/definitions/livescience.AuthorSocialLink"
+ "$ref": "#/definitions/imdb.ImageTitle"
},
"type": "array"
},
+ "type": {
+ "example": "still_frame",
+ "type": "string"
+ },
"url": {
+ "example": "https://m.media-amazon.com/images/M/MV5BZjczNmIzMjEtYmM4MC00ZjQxLTk4NjctMTA2MzEzOWI3NWRhXkEyXkFqcGc@._V1_.jpg",
"type": "string"
+ },
+ "width": {
+ "example": 4032,
+ "type": "integer"
}
},
"type": "object"
},
- "livescience.AuthorSocialLink": {
+ "imdb.ImageLocale": {
"properties": {
- "platform": {
+ "code": {
+ "example": "SE",
"type": "string"
},
- "url": {
+ "name": {
+ "example": "Sweden",
"type": "string"
}
},
"type": "object"
},
- "livescore.livescoreNewsFeedItemDoc": {
+ "imdb.ImageName": {
"properties": {
- "author": {
- "example": "LiveScore",
+ "id": {
+ "example": "nm0000151",
"type": "string"
},
- "categories": {
- "example": [
- "football"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "content": {
- "example": "The complete RSS story body.
",
+ "name": {
+ "example": "Morgan Freeman",
"type": "string"
},
- "description": {
- "example": "A short summary of the latest story.",
+ "url": {
+ "example": "https://www.imdb.com/name/nm0000151/",
"type": "string"
- },
- "guid": {
- "example": "https://www.livescore.com/en/news/football/example-story/",
+ }
+ },
+ "type": "object"
+ },
+ "imdb.ImageTitle": {
+ "properties": {
+ "id": {
+ "example": "tt0068646",
"type": "string"
},
- "link": {
- "example": "https://www.livescore.com/en/news/football/example-story/",
+ "title": {
+ "example": "The Godfather",
"type": "string"
},
- "published_at": {
- "example": "Sat, 26 Sep 2026 08:45:00 GMT",
+ "url": {
+ "example": "https://www.imdb.com/title/tt0068646/",
"type": "string"
},
- "title": {
- "example": "Latest football news",
- "type": "string"
+ "year": {
+ "example": 1972,
+ "type": "integer"
}
},
"type": "object"
},
- "livescore.livescoreNewsFeedResponseDoc": {
+ "imdb.ImageType": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "description": {
+ "example": "A frame captured from the production itself.",
+ "type": "string"
},
- "data": {
- "properties": {
- "count": {
- "example": 75,
- "type": "integer"
- },
- "items": {
- "items": {
- "$ref": "#/definitions/livescore.livescoreNewsFeedItemDoc"
- },
- "type": "array"
- },
- "source_url": {
- "example": "https://www.livescore.com/en/news/rss.xml",
- "type": "string"
- }
- },
- "type": "object"
+ "label": {
+ "example": "Still Frame",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "type": {
+ "example": "still_frame",
"type": "string"
}
},
"type": "object"
},
- "livescore.livescoreNewsPublisherDoc": {
+ "imdb.ImageTypeCount": {
"properties": {
- "contact": {
- "example": "https://www.statsperform.com/contact/",
- "type": "string"
- },
- "logo_url": {
- "example": "https://www.livescore.com/ls-web-assets/images/publishers-stats-perform.webp",
- "type": "string"
- },
- "name": {
- "example": "Stats Perform",
+ "label": {
+ "example": "Still Frame",
"type": "string"
},
- "telephone": {
- "example": "+1 866 221 1426",
- "type": "string"
+ "total": {
+ "example": 381,
+ "type": "integer"
},
- "website": {
- "example": "https://www.statsperform.com/",
+ "type": {
+ "example": "still_frame",
"type": "string"
}
},
"type": "object"
},
- "livescore.livescoreNewsPublishersResponseDoc": {
+ "imdb.ImageTypesResponse": {
"properties": {
- "code": {
- "example": 200,
+ "fetched_at": {
+ "example": "2026-09-09T14:46:16Z",
+ "type": "string"
+ },
+ "total": {
+ "example": 8,
"type": "integer"
},
- "data": {
- "properties": {
- "count": {
- "example": 6,
- "type": "integer"
- },
- "publishers": {
- "items": {
- "$ref": "#/definitions/livescore.livescoreNewsPublisherDoc"
- },
- "type": "array"
- },
- "source_url": {
- "example": "https://www.livescore.com/en/news/publishers/",
- "type": "string"
- }
+ "types": {
+ "items": {
+ "$ref": "#/definitions/imdb.ImageType"
},
- "type": "object"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "type": "array"
}
},
"type": "object"
},
- "livescore.livescoreSearchResponseDoc": {
+ "imdb.KeywordItem": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "keyword": {
+ "description": "Keyword IMDb has tagged the title with.",
+ "example": "dream",
+ "type": "string"
},
- "data": {
- "properties": {
- "query": {
- "example": "Manchester City",
- "type": "string"
- },
- "results": {
- "additionalProperties": true,
- "type": "object"
- },
- "source_url": {
- "example": "https://prod-cdn-search-api.lsmedia1.com/api/v2/search/soccer?categories=true&locale=en&query=Manchester+City&stages=true&teams=true&limit=10",
- "type": "string"
- },
- "sport": {
- "example": "soccer",
- "type": "string"
- }
- },
- "type": "object"
+ "public_signals": {
+ "description": "Number of details filled in on this entry, counted across keyword and URL.",
+ "example": 2,
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "url": {
+ "description": "IMDb page that lists titles with this keyword.",
+ "example": "https://www.imdb.com/search/keyword/?keywords=dream",
"type": "string"
}
},
"type": "object"
},
- "livescore.newsCategoriesResponseDoc": {
+ "imdb.LifetimeGross": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "domestic": {
+ "$ref": "#/definitions/imdb.Money"
},
- "data": {
- "properties": {
- "categories": {
- "items": {
- "$ref": "#/definitions/livescore.newsCategoryDoc"
- },
- "type": "array"
- }
- },
- "type": "object"
+ "international": {
+ "$ref": "#/definitions/imdb.Money"
},
- "msg": {
- "example": "OK",
- "type": "string"
+ "worldwide": {
+ "$ref": "#/definitions/imdb.Money"
}
},
"type": "object"
},
- "livescore.newsCategoryDoc": {
+ "imdb.LocationItem": {
"properties": {
- "id": {
- "example": "football",
- "type": "string"
- },
- "name": {
- "example": "Football",
+ "location": {
+ "description": "Filming location name, for example `Paris, France`.",
+ "example": "Paris, France",
"type": "string"
},
- "type": {
- "example": "sport",
+ "note": {
+ "description": "Note IMDb adds about the location, such as the scene shot there.",
+ "example": "Ariadne learns to build dreams",
"type": "string"
},
- "url": {
- "example": "https://www.livescore.com/en/news/football/",
- "type": "string"
+ "public_signals": {
+ "description": "Number of details filled in on this entry, counted across location and note.",
+ "example": 2,
+ "type": "integer"
}
},
"type": "object"
},
- "livescore.responseDoc": {
+ "imdb.Money": {
"properties": {
- "code": {
- "example": 200,
+ "amount": {
+ "example": 28767189,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/livescore.sourceDataDoc"
- },
- "msg": {
- "example": "OK",
+ "currency": {
+ "example": "USD",
"type": "string"
}
},
"type": "object"
},
- "livescore.sourceDataDoc": {
+ "imdb.NameAwardsResponse": {
"properties": {
- "data": {
- "additionalProperties": true,
- "type": "object"
+ "awards": {
+ "description": "Award entries IMDb lists for the person.",
+ "items": {
+ "$ref": "#/definitions/imdb.AwardItem"
+ },
+ "type": "array"
+ },
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-06-07T14:46:16Z",
+ "type": "string"
+ },
+ "has_more": {
+ "description": "`true` when IMDb lists more award entries than were returned.",
+ "example": true,
+ "type": "boolean"
+ },
+ "id": {
+ "description": "IMDb name ID of the person, for example `nm0634240`.",
+ "example": "nm0634240",
+ "type": "string"
+ },
+ "public_page_derived": {
+ "description": "Always `true`. The data comes from IMDb's public pages.",
+ "example": true,
+ "type": "boolean"
},
"source_url": {
- "example": "https://www.livescore.com/en/football/uefa-nations-league/league-b-group-3/austria-vs-israel/1738267/",
+ "description": "URL the data was read from.",
+ "example": "https://www.imdb.com/name/nm0634240/awards/",
+ "type": "string"
+ },
+ "total": {
+ "description": "Number of award entries IMDb lists for the person.",
+ "example": 64,
+ "type": "integer"
+ },
+ "url": {
+ "description": "IMDb awards page of the person.",
+ "example": "https://www.imdb.com/name/nm0634240/awards/",
"type": "string"
}
},
"type": "object"
},
- "livescore.sportDoc": {
+ "imdb.NameCreditItem": {
"properties": {
+ "episodes": {
+ "description": "Number of episodes the person is credited on, as IMDb words it, for example `3 episodes`.",
+ "example": "3 episodes",
+ "type": "string"
+ },
"id": {
- "example": "soccer",
+ "description": "IMDb title ID of the credited title.",
+ "example": "tt1375666",
"type": "string"
},
- "name": {
- "example": "Football",
+ "role": {
+ "description": "Role or character credited for the person on the title, for example `Self`.",
+ "example": "directed by",
"type": "string"
- }
- },
- "type": "object"
- },
- "livescore.sportsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "properties": {
- "sports": {
- "items": {
- "$ref": "#/definitions/livescore.sportDoc"
- },
- "type": "array"
- }
- },
- "type": "object"
+ "title": {
+ "description": "Name of the credited title.",
+ "example": "Inception",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "url": {
+ "description": "IMDb page URL of the credited title.",
+ "example": "https://www.imdb.com/title/tt1375666/",
+ "type": "string"
+ },
+ "year": {
+ "description": "Release year of the credited title.",
+ "example": "2010",
"type": "string"
}
},
"type": "object"
},
- "lolesports.CompletedEventsResponse": {
+ "imdb.NameCreditSection": {
"properties": {
- "count": {
- "example": 54,
- "type": "integer"
- },
- "events": {
+ "credits": {
+ "description": "Credits the person has in this section.",
"items": {
- "$ref": "#/definitions/lolesports.Event"
+ "$ref": "#/definitions/imdb.NameCreditItem"
},
"type": "array"
},
- "fetched_at": {
- "example": "2026-10-27T10:00:00Z",
- "type": "string"
+ "has_more": {
+ "description": "`true` when IMDb lists more credits in this section than were returned.",
+ "example": true,
+ "type": "boolean"
},
- "source_url": {
- "example": "https://esports-api.lolesports.com/persisted/gw/getSchedule?hl=en-US",
+ "name": {
+ "description": "Section heading, usually the job, for example `Director`.",
+ "example": "Director",
"type": "string"
},
- "tournament_id": {
- "example": "115548681802226458",
+ "slug": {
+ "description": "Lowercase, hyphenated form of the section name, for example `director`.",
+ "example": "director",
"type": "string"
+ },
+ "total": {
+ "description": "Number of credits IMDb lists in this section.",
+ "example": 152,
+ "type": "integer"
}
},
"type": "object"
},
- "lolesports.DetailsFrame": {
+ "imdb.NameCreditsResponse": {
"properties": {
- "participants": {
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-06-07T14:46:16Z",
+ "type": "string"
+ },
+ "id": {
+ "description": "IMDb name ID of the person, for example `nm0634240`.",
+ "example": "nm0634240",
+ "type": "string"
+ },
+ "public_page_derived": {
+ "description": "Always `true`. The data comes from IMDb's public pages.",
+ "example": true,
+ "type": "boolean"
+ },
+ "sections": {
+ "description": "Credits of the person, grouped by job.",
"items": {
- "$ref": "#/definitions/lolesports.DetailsParticipant"
+ "$ref": "#/definitions/imdb.NameCreditSection"
},
"type": "array"
},
- "timestamp": {
- "example": "2026-10-07T10:53:11.481Z",
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://www.imdb.com/name/nm0634240/",
+ "type": "string"
+ },
+ "url": {
+ "description": "IMDb page URL of the person.",
+ "example": "https://www.imdb.com/name/nm0634240/",
"type": "string"
}
},
"type": "object"
},
- "lolesports.DetailsParticipant": {
+ "imdb.NameImagesResponse": {
"properties": {
- "ability_power": {
- "example": 0,
- "type": "integer"
- },
- "armor": {
- "example": 90,
- "type": "integer"
- },
- "assists": {
- "example": 0,
- "type": "integer"
- },
- "attack_damage": {
- "example": 110,
- "type": "integer"
- },
- "attack_speed": {
- "example": 125,
- "type": "integer"
- },
- "champion_damage_share": {
- "example": 0.19,
- "type": "number"
- },
- "creep_score": {
- "example": 251,
- "type": "integer"
+ "fetched_at": {
+ "example": "2026-09-09T14:46:16Z",
+ "type": "string"
},
- "critical_chance": {
- "example": 0,
- "type": "number"
+ "has_more": {
+ "example": true,
+ "type": "boolean"
},
- "deaths": {
- "example": 5,
- "type": "integer"
+ "id": {
+ "example": "nm0000151",
+ "type": "string"
},
- "items": {
+ "images": {
"items": {
- "type": "integer"
+ "$ref": "#/definitions/imdb.ImageItem"
},
"type": "array"
},
- "kill_participation": {
- "example": 0.2,
- "type": "number"
- },
- "kills": {
- "example": 1,
- "type": "integer"
- },
- "level": {
- "example": 16,
+ "limit": {
+ "example": 50,
"type": "integer"
},
- "life_steal": {
- "example": 0,
- "type": "integer"
+ "name": {
+ "example": "Morgan Freeman",
+ "type": "string"
},
- "magic_resistance": {
- "example": 60,
- "type": "integer"
+ "source_url": {
+ "example": "https://www.imdb.com/name/nm0000151/mediaindex/",
+ "type": "string"
},
- "participant_id": {
- "example": 1,
+ "total": {
+ "example": 1262,
"type": "integer"
},
- "rune_ids": {
+ "type_counts": {
"items": {
- "type": "integer"
+ "$ref": "#/definitions/imdb.ImageTypeCount"
},
"type": "array"
},
- "rune_style_id": {
- "example": 8200,
- "type": "integer"
- },
- "rune_sub_style_id": {
- "example": 8400,
- "type": "integer"
- },
- "skill_order": {
- "example": [
- "Q"
- ],
+ "types": {
"items": {
"type": "string"
},
"type": "array"
},
- "tenacity": {
- "example": 0,
- "type": "number"
- },
- "total_gold_earned": {
- "example": 10852,
- "type": "integer"
- },
- "wards_destroyed": {
- "example": 5,
- "type": "integer"
- },
- "wards_placed": {
- "example": 13,
- "type": "integer"
+ "url": {
+ "example": "https://www.imdb.com/name/nm0000151/mediaindex/",
+ "type": "string"
}
},
"type": "object"
},
- "lolesports.Event": {
+ "imdb.NameKnownForItem": {
"properties": {
- "block_name": {
- "example": "Week 1",
+ "category": {
+ "description": "Credit category of the person on this title, for example `Director`.",
+ "example": "Director",
"type": "string"
},
- "games": {
- "items": {
- "$ref": "#/definitions/lolesports.GameVods"
- },
- "type": "array"
- },
- "league": {
- "$ref": "#/definitions/lolesports.EventLeague"
- },
- "match": {
- "$ref": "#/definitions/lolesports.Match"
+ "id": {
+ "description": "IMDb title ID of the title.",
+ "example": "tt1375666",
+ "type": "string"
},
- "start_time": {
- "example": "2026-07-24T14:30:00Z",
+ "title": {
+ "description": "Name of the title.",
+ "example": "Inception",
"type": "string"
},
- "state": {
- "enum": [
- "unstarted",
- "inProgress",
- "completed"
- ],
- "example": "completed",
+ "url": {
+ "description": "IMDb page URL of the title.",
+ "example": "https://www.imdb.com/title/tt1375666/",
"type": "string"
},
- "type": {
- "example": "match",
+ "year": {
+ "description": "Release year of the title.",
+ "example": "2010",
"type": "string"
}
},
"type": "object"
},
- "lolesports.EventDetailResponse": {
+ "imdb.NameResponse": {
"properties": {
- "fetched_at": {
- "example": "2026-10-27T10:00:00Z",
+ "bio": {
+ "description": "Full biography text of the person.",
"type": "string"
},
- "games": {
- "items": {
- "$ref": "#/definitions/lolesports.Game"
- },
- "type": "array"
+ "birth_date": {
+ "description": "Date of birth as `YYYY-MM-DD`, or `YYYY-MM` or `YYYY` when IMDb records only part of it.",
+ "example": "1970-07-30",
+ "type": "string"
},
- "id": {
- "example": "117133816701918802",
+ "birth_place": {
+ "description": "Place of birth, for example `London, England, UK`.",
+ "example": "London, England, UK",
"type": "string"
},
- "league": {
- "$ref": "#/definitions/lolesports.EventLeague"
+ "death_date": {
+ "description": "Date of death as `YYYY-MM-DD`, or `YYYY-MM` or `YYYY` when IMDb records only part of it.",
+ "type": "string"
},
- "source_url": {
- "example": "https://esports-api.lolesports.com/persisted/gw/getSchedule?hl=en-US",
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-06-07T14:46:16Z",
"type": "string"
},
- "strategy": {
- "$ref": "#/definitions/lolesports.Strategy"
+ "id": {
+ "description": "IMDb name ID of the person, for example `nm0634240`.",
+ "example": "nm0634240",
+ "type": "string"
},
- "streams": {
+ "image_url": {
+ "description": "URL of the person's main photo.",
+ "type": "string"
+ },
+ "known_for": {
+ "description": "Titles IMDb lists the person as known for.",
"items": {
- "$ref": "#/definitions/lolesports.Stream"
+ "$ref": "#/definitions/imdb.NameKnownForItem"
},
"type": "array"
},
- "teams": {
+ "name": {
+ "description": "Name of the person as shown on IMDb.",
+ "example": "Christopher Nolan",
+ "type": "string"
+ },
+ "professions": {
+ "description": "Professions IMDb lists for the person.",
"items": {
- "$ref": "#/definitions/lolesports.Team"
+ "type": "string"
},
"type": "array"
},
- "tournament_id": {
- "example": "117133773242499009",
+ "public_page_derived": {
+ "description": "Always `true`. The data comes from IMDb's public pages.",
+ "example": true,
+ "type": "boolean"
+ },
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://www.imdb.com/name/nm0634240/",
"type": "string"
},
- "type": {
- "example": "match",
+ "url": {
+ "description": "IMDb page URL of the person.",
+ "example": "https://www.imdb.com/name/nm0634240/",
"type": "string"
}
},
"type": "object"
},
- "lolesports.EventLeague": {
+ "imdb.NameVideosResponse": {
"properties": {
- "id": {
- "example": "98767991302996019",
+ "fetched_at": {
+ "example": "2026-09-14T14:46:16Z",
"type": "string"
},
- "name": {
- "example": "LEC",
- "type": "string"
+ "has_more": {
+ "example": true,
+ "type": "boolean"
},
- "slug": {
- "example": "lec",
- "type": "string"
- }
- },
- "type": "object"
- },
- "lolesports.GPRLeague": {
- "properties": {
"id": {
+ "example": "nm0000151",
"type": "string"
},
- "name": {
- "example": "CBLOL",
- "type": "string"
+ "limit": {
+ "example": 50,
+ "type": "integer"
},
- "slug": {
- "example": "cblol-brazil",
+ "name": {
+ "example": "Morgan Freeman",
"type": "string"
},
- "teams": {
- "example": 4,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "lolesports.GPRPoint": {
- "properties": {
- "date": {
- "example": "2026-10-27T05:00:00Z",
+ "source_url": {
+ "example": "https://www.imdb.com/name/nm0000151/videogallery/",
"type": "string"
},
- "elo": {
- "example": 1247,
+ "total": {
+ "example": 214,
"type": "integer"
},
- "rank": {
- "example": 41,
- "type": "integer"
+ "url": {
+ "example": "https://www.imdb.com/name/nm0000151/videogallery/",
+ "type": "string"
},
- "score": {
- "example": 1177,
- "type": "integer"
+ "videos": {
+ "items": {
+ "$ref": "#/definitions/imdb.VideoItem"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "lolesports.GPRRecord": {
+ "imdb.OpeningWeekend": {
"properties": {
- "losses": {
- "example": 37,
- "type": "integer"
+ "gross": {
+ "$ref": "#/definitions/imdb.Money"
},
- "wins": {
- "example": 46,
+ "theater_count": {
+ "example": 3,
"type": "integer"
+ },
+ "weekend_end_date": {
+ "example": "1994-09-25",
+ "type": "string"
+ },
+ "weekend_start_date": {
+ "example": "1994-09-23",
+ "type": "string"
}
},
"type": "object"
},
- "lolesports.GPRResponse": {
+ "imdb.ParentalGuideCategory": {
"properties": {
- "count": {
- "example": 58,
- "type": "integer"
- },
- "end_date": {
- "example": "2026-10-28",
- "type": "string"
- },
- "fetched_at": {
- "example": "2026-10-27T10:00:00Z",
- "type": "string"
- },
- "leagues": {
+ "items": {
+ "description": "Guide entries for this category. Entries IMDb files as spoilers are not included.",
"items": {
- "$ref": "#/definitions/lolesports.GPRLeague"
+ "type": "string"
},
"type": "array"
},
- "season": {
- "enum": [
- "current",
- "2025",
- "2024"
- ],
- "example": "current",
+ "name": {
+ "description": "Category name, for example `Violence & Gore`.",
+ "example": "Violence & Gore",
"type": "string"
},
- "seasons": {
- "items": {
- "$ref": "#/definitions/lolesports.GPRSeasonLink"
- },
- "type": "array"
- },
- "source_url": {
- "example": "https://esports-api.lolesports.com/persisted/gw/getSchedule?hl=en-US",
+ "severity": {
+ "description": "Community severity vote: `none`, `mild`, `moderate` or `severe`. Omitted when IMDb has no vote.",
+ "example": "moderate",
"type": "string"
},
- "start_date": {
- "example": "2026-01-01",
+ "slug": {
+ "description": "Lowercase, hyphenated form of the category name, for example `violence-gore`.",
+ "example": "violence-gore",
"type": "string"
- },
- "teams": {
- "items": {
- "$ref": "#/definitions/lolesports.GPRTeam"
- },
- "type": "array"
- },
- "total": {
- "example": 58,
- "type": "integer"
}
},
"type": "object"
},
- "lolesports.GPRSeasonLink": {
+ "imdb.ParentalGuideResponse": {
"properties": {
- "kind": {
- "enum": [
- "current",
- "worlds"
- ],
- "example": "worlds",
+ "categories": {
+ "description": "Parental guide categories IMDb lists for the title.",
+ "items": {
+ "$ref": "#/definitions/imdb.ParentalGuideCategory"
+ },
+ "type": "array"
+ },
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-06-07T14:46:16Z",
"type": "string"
},
- "season": {
- "example": "2025",
+ "id": {
+ "description": "IMDb title ID, for example `tt1375666`.",
+ "example": "tt1375666",
"type": "string"
},
- "url": {
+ "public_page_derived": {
+ "description": "Always `true`. The data comes from IMDb's public pages.",
+ "example": true,
+ "type": "boolean"
+ },
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://www.imdb.com/title/tt1375666/parentalguide/",
"type": "string"
},
- "year": {
- "example": "2025",
+ "summary": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/imdb.ParentalGuideSummary"
+ }
+ ],
+ "description": "Counts and highest severity across all returned categories."
+ },
+ "url": {
+ "description": "IMDb parental guide page of the title.",
+ "example": "https://www.imdb.com/title/tt1375666/parentalguide/",
"type": "string"
}
},
"type": "object"
},
- "lolesports.GPRTeam": {
+ "imdb.ParentalGuideSummary": {
"properties": {
- "average_opponent_gpr": {
- "example": 1132,
+ "categories_count": {
+ "description": "Number of guide categories returned.",
+ "example": 5,
"type": "integer"
},
- "date_calculated": {
- "example": "2026-10-27T05:00:00Z",
+ "highest_severity": {
+ "description": "Highest severity among the categories: `none`, `mild`, `moderate` or `severe`.",
+ "example": "severe",
"type": "string"
},
- "elo": {
- "example": 1247,
+ "item_count": {
+ "description": "Total number of guide entries across all categories.",
+ "example": 24,
"type": "integer"
},
- "game_record": {
- "$ref": "#/definitions/lolesports.GPRRecord"
- },
- "history": {
+ "present_categories": {
+ "description": "Slugs of the categories returned.",
"items": {
- "$ref": "#/definitions/lolesports.GPRPoint"
+ "type": "string"
},
"type": "array"
},
- "match_record": {
- "$ref": "#/definitions/lolesports.GPRRecord"
- },
- "previous_rank": {
- "example": 42,
- "type": "integer"
- },
- "previous_score": {
- "example": 1170,
- "type": "integer"
- },
- "rank": {
- "example": 41,
- "type": "integer"
- },
- "rank_change": {
- "example": 1,
- "type": "integer"
- },
- "score": {
- "example": 1177,
+ "public_page_signals": {
+ "description": "Count of details in the guide: entries, named categories and categories that have a severity.",
+ "example": 12,
"type": "integer"
},
- "team": {
- "$ref": "#/definitions/lolesports.GPRTeamRef"
- },
- "tournaments": {
- "items": {
- "$ref": "#/definitions/lolesports.GPRTournament"
+ "severity_counts": {
+ "additionalProperties": {
+ "type": "integer"
},
- "type": "array"
+ "description": "Number of categories at each severity level, keyed by severity.",
+ "type": "object"
}
},
"type": "object"
},
- "lolesports.GPRTeamRef": {
+ "imdb.Person": {
"properties": {
- "code": {
- "example": "LOUD",
- "type": "string"
- },
- "id": {
- "example": "105397404796640412",
- "type": "string"
- },
- "image_url": {
+ "name": {
+ "description": "Name of the person.",
+ "example": "Christopher Nolan",
"type": "string"
},
- "league": {
- "example": "CBLOL",
+ "url": {
+ "description": "IMDb page URL of the person.",
+ "example": "https://www.imdb.com/name/nm0634240/",
"type": "string"
- },
- "league_id": {
+ }
+ },
+ "type": "object"
+ },
+ "imdb.PublicFactItem": {
+ "properties": {
+ "category": {
+ "description": "Category is IMDb's own grouping for the row, e.g. \"Continuity\" or\n\"Revealing mistakes\" for goofs. Empty when IMDb files the row under an\nunnamed group, which is the usual case for trivia.",
+ "example": "Continuity",
"type": "string"
},
- "league_slug": {
- "example": "cblol-brazil",
- "type": "string"
+ "public_signals": {
+ "description": "Number of details filled in on this entry, counted across text and spoiler marker.",
+ "example": 1,
+ "type": "integer"
},
- "name": {
- "example": "LOUD",
- "type": "string"
+ "spoiler": {
+ "description": "`true` when IMDb marks the entry as a spoiler.",
+ "example": false,
+ "type": "boolean"
},
- "slug": {
- "example": "loud",
+ "text": {
+ "description": "Text of the trivia, goof or quote entry.",
+ "example": "The hallway fight was filmed with a rotating set.",
"type": "string"
}
},
"type": "object"
},
- "lolesports.GPRTournament": {
+ "imdb.PublicFactsAnalysisSummary": {
"properties": {
- "end_time": {
- "type": "string"
- },
- "id": {
- "example": "115548668059523728",
- "type": "string"
+ "company_count": {
+ "example": 9,
+ "type": "integer"
},
- "league": {
- "example": "LEC",
- "type": "string"
+ "company_section_count": {
+ "example": 3,
+ "type": "integer"
},
- "losses": {
+ "filming_location_count": {
"example": 6,
"type": "integer"
},
- "name": {
- "example": "lec_2026_season",
- "type": "string"
+ "goof_count": {
+ "example": 4,
+ "type": "integer"
},
- "placement": {
- "example": 2,
+ "keyword_count": {
+ "example": 20,
"type": "integer"
},
- "region_slug": {
- "example": "europe",
- "type": "string"
+ "public_fact_coverage_pages": {
+ "example": 6,
+ "type": "integer"
},
- "slug": {
- "type": "string"
+ "public_page_signals": {
+ "example": 64,
+ "type": "integer"
},
- "start_time": {
- "type": "string"
+ "quote_count": {
+ "example": 8,
+ "type": "integer"
},
- "state": {
- "example": "completed",
- "type": "string"
+ "spoiler_fact_count": {
+ "example": 2,
+ "type": "integer"
},
- "wins": {
+ "trivia_count": {
"example": 12,
"type": "integer"
}
},
"type": "object"
},
- "lolesports.Game": {
+ "imdb.RatingCountrySummary": {
"properties": {
- "id": {
- "example": "117133816701918803",
- "type": "string"
- },
- "number": {
- "example": 1,
- "type": "integer"
- },
- "sides": {
- "items": {
- "$ref": "#/definitions/lolesports.GameSide"
- },
- "type": "array"
+ "aggregate": {
+ "type": "number"
},
- "state": {
- "enum": [
- "unneeded",
- "unstarted",
- "inProgress",
- "completed"
- ],
- "example": "completed",
+ "country": {
"type": "string"
},
- "vods": {
- "items": {
- "$ref": "#/definitions/lolesports.VOD"
- },
- "type": "array"
+ "vote_count": {
+ "type": "integer"
}
},
"type": "object"
},
- "lolesports.GameDetailsResponse": {
+ "imdb.RatingHistogramBucket": {
"properties": {
- "count": {
- "example": 10,
+ "rating": {
+ "type": "integer"
+ },
+ "vote_count": {
"type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "imdb.RatingsResponse": {
+ "properties": {
+ "countries": {
+ "items": {
+ "$ref": "#/definitions/imdb.RatingCountrySummary"
+ },
+ "type": "array"
},
"fetched_at": {
- "example": "2026-10-27T10:00:00Z",
"type": "string"
},
- "frames": {
+ "histogram": {
"items": {
- "$ref": "#/definitions/lolesports.DetailsFrame"
+ "$ref": "#/definitions/imdb.RatingHistogramBucket"
},
"type": "array"
},
- "game_id": {
- "example": "117133816701918803",
+ "id": {
"type": "string"
},
+ "rating_count": {
+ "type": "integer"
+ },
+ "rating_value": {
+ "type": "number"
+ },
"source_url": {
- "example": "https://esports-api.lolesports.com/persisted/gw/getSchedule?hl=en-US",
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "lolesports.GameSide": {
+ "imdb.ReleaseInfoItem": {
"properties": {
- "side": {
- "enum": [
- "blue",
- "red"
- ],
- "example": "blue",
+ "country": {
+ "description": "Country or region of the release.",
+ "example": "United States",
"type": "string"
},
- "team_id": {
- "example": "111504538396430510",
+ "date": {
+ "description": "Release date as IMDb shows it, for example `16 July 2010`.",
+ "example": "16 July 2010",
+ "type": "string"
+ },
+ "note": {
+ "description": "Note on the release, for example `theatrical`.",
+ "example": "theatrical",
"type": "string"
}
},
"type": "object"
},
- "lolesports.GameVods": {
+ "imdb.ReleaseInfoResponse": {
"properties": {
+ "alternate_titles": {
+ "description": "Alternate titles (also known as) IMDb lists for the title.",
+ "items": {
+ "$ref": "#/definitions/imdb.AlternateTitle"
+ },
+ "type": "array"
+ },
+ "alternate_titles_total": {
+ "description": "Number of alternate titles IMDb lists for the title.",
+ "example": 82,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-06-07T14:46:16Z",
+ "type": "string"
+ },
+ "has_more": {
+ "description": "`true` when IMDb lists more release dates than were returned.",
+ "example": true,
+ "type": "boolean"
+ },
"id": {
- "example": "115548681803406276",
+ "description": "IMDb title ID, for example `tt1375666`.",
+ "example": "tt1375666",
"type": "string"
},
- "vods": {
+ "public_page_derived": {
+ "description": "Always `true`. The data comes from IMDb's public pages.",
+ "example": true,
+ "type": "boolean"
+ },
+ "releases": {
+ "description": "Release dates of the title by country.",
"items": {
- "$ref": "#/definitions/lolesports.VOD"
+ "$ref": "#/definitions/imdb.ReleaseInfoItem"
},
"type": "array"
+ },
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://www.imdb.com/title/tt1375666/releaseinfo/",
+ "type": "string"
+ },
+ "total": {
+ "description": "Number of release dates IMDb lists for the title.",
+ "example": 71,
+ "type": "integer"
+ },
+ "url": {
+ "description": "IMDb release info page of the title.",
+ "example": "https://www.imdb.com/title/tt1375666/releaseinfo/",
+ "type": "string"
}
},
"type": "object"
},
- "lolesports.GameWindowResponse": {
+ "imdb.ReviewItem": {
"properties": {
- "blue": {
- "$ref": "#/definitions/lolesports.TeamMetadata"
+ "author": {
+ "description": "Username of the reviewer.",
+ "example": "movie_fan",
+ "type": "string"
},
- "count": {
- "example": 10,
+ "date": {
+ "description": "Date the review was posted, for example `2024-01-02`.",
+ "example": "2024-01-02",
+ "type": "string"
+ },
+ "helpful_votes": {
+ "description": "Number of users who marked the review as helpful.",
+ "example": 123,
"type": "integer"
},
- "fetched_at": {
- "example": "2026-10-27T10:00:00Z",
+ "helpfulness": {
+ "description": "Share of votes that marked the review as helpful, as a percentage such as `82%`.",
+ "example": "82%",
"type": "string"
},
- "frames": {
- "items": {
- "$ref": "#/definitions/lolesports.WindowFrame"
- },
- "type": "array"
- },
- "game_id": {
- "example": "117133816701918803",
+ "id": {
+ "description": "IMDb review ID, for example `rw1234567`.",
+ "example": "rw1234567",
"type": "string"
},
- "match_id": {
- "example": "117133816701918802",
+ "public_signals": {
+ "description": "Number of details filled in on this review, counted across title, author, date, rating, text and votes.",
+ "example": 5,
+ "type": "integer"
+ },
+ "rating": {
+ "description": "Rating the reviewer gave the title.",
+ "example": 9,
+ "type": "integer"
+ },
+ "spoiler": {
+ "description": "`true` when the review is marked as containing spoilers.",
+ "example": false,
+ "type": "boolean"
+ },
+ "text": {
+ "description": "Full text of the review.",
"type": "string"
},
- "patch": {
- "example": "16.18.819.1060",
+ "title": {
+ "description": "Headline the reviewer gave the review.",
+ "example": "A smart blockbuster",
"type": "string"
},
- "red": {
- "$ref": "#/definitions/lolesports.TeamMetadata"
+ "total_votes": {
+ "description": "Total number of helpful and not helpful votes the review received.",
+ "example": 150,
+ "type": "integer"
},
- "source_url": {
- "example": "https://esports-api.lolesports.com/persisted/gw/getSchedule?hl=en-US",
+ "url": {
+ "description": "IMDb page URL of the review.",
+ "example": "https://www.imdb.com/review/rw1234567/",
"type": "string"
}
},
"type": "object"
},
- "lolesports.HomeLeague": {
+ "imdb.ReviewsResponse": {
"properties": {
- "name": {
- "example": "LCK",
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-06-07T14:46:16Z",
"type": "string"
},
- "region": {
- "example": "KOREA",
+ "has_more": {
+ "description": "`true` when IMDb lists more reviews than were returned.",
+ "example": true,
+ "type": "boolean"
+ },
+ "id": {
+ "description": "IMDb title ID, for example `tt1375666`.",
+ "example": "tt1375666",
+ "type": "string"
+ },
+ "limit": {
+ "description": "Maximum number of reviews requested.",
+ "example": 10,
+ "type": "integer"
+ },
+ "public_page_derived": {
+ "description": "Always `true`. The data comes from IMDb's public pages.",
+ "example": true,
+ "type": "boolean"
+ },
+ "reviews": {
+ "description": "User reviews of the title.",
+ "items": {
+ "$ref": "#/definitions/imdb.ReviewItem"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://www.imdb.com/title/tt1375666/reviews/",
+ "type": "string"
+ },
+ "total": {
+ "description": "Number of reviews IMDb lists for the title.",
+ "example": 11940,
+ "type": "integer"
+ },
+ "url": {
+ "description": "IMDb reviews page of the title.",
+ "example": "https://www.imdb.com/title/tt1375666/reviews/",
"type": "string"
}
},
"type": "object"
},
- "lolesports.League": {
+ "imdb.SearchItem": {
"properties": {
- "display_status": {
- "enum": [
- "force_selected",
- "selected",
- "not_selected",
- "hidden"
- ],
- "example": "selected",
+ "description": {
+ "description": "Lead cast of the title, when IMDb shows it.",
"type": "string"
},
"id": {
- "example": "98767991302996019",
+ "description": "IMDb title ID, for example `tt1375666`.",
+ "example": "tt1375666",
"type": "string"
},
"image_url": {
- "example": "https://static.lolesports.com/leagues/lec.png",
+ "description": "URL of the image IMDb shows for the title in search results.",
"type": "string"
},
- "name": {
- "example": "LEC",
+ "title": {
+ "description": "Title name as shown in search results.",
+ "example": "Inception",
"type": "string"
},
- "priority": {
- "example": 1,
- "type": "integer"
+ "title_type": {
+ "description": "Kind of title, for example `Movie`.",
+ "example": "Movie",
+ "type": "string"
},
- "region": {
- "example": "EMEA",
+ "url": {
+ "description": "IMDb page URL of the title.",
+ "example": "https://www.imdb.com/title/tt1375666/",
"type": "string"
},
- "slug": {
- "example": "lec",
+ "year": {
+ "description": "Release year of the title.",
+ "example": "2010",
"type": "string"
}
},
"type": "object"
},
- "lolesports.LeaguesResponse": {
+ "imdb.SearchResponse": {
"properties": {
- "count": {
- "example": 51,
- "type": "integer"
- },
"fetched_at": {
- "example": "2026-10-27T10:00:00Z",
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-06-07T14:46:16Z",
"type": "string"
},
- "leagues": {
- "items": {
- "$ref": "#/definitions/lolesports.League"
- },
- "type": "array"
+ "limit": {
+ "description": "Maximum number of results requested.",
+ "example": 10,
+ "type": "integer"
},
- "source_url": {
- "example": "https://esports-api.lolesports.com/persisted/gw/getSchedule?hl=en-US",
+ "query": {
+ "description": "Search query that was run.",
+ "example": "inception",
"type": "string"
- }
- },
- "type": "object"
- },
- "lolesports.LiveResponse": {
- "properties": {
- "count": {
- "example": 0,
- "type": "integer"
},
- "events": {
+ "results": {
+ "description": "Titles matching the query.",
"items": {
- "$ref": "#/definitions/lolesports.Event"
+ "$ref": "#/definitions/imdb.SearchItem"
},
"type": "array"
},
- "fetched_at": {
- "example": "2026-10-27T10:00:00Z",
- "type": "string"
- },
"source_url": {
- "example": "https://esports-api.lolesports.com/persisted/gw/getSchedule?hl=en-US",
+ "description": "URL the data was read from.",
+ "example": "https://www.imdb.com/find/?q=inception&s=tt",
"type": "string"
}
},
"type": "object"
},
- "lolesports.Match": {
+ "imdb.SearchTitleItem": {
"properties": {
- "flags": {
+ "certificate": {
+ "example": "PG-13",
+ "type": "string"
+ },
+ "genres": {
"example": [
- "hasVod"
+ "Action"
],
"items": {
"type": "string"
@@ -128234,1397 +133085,1722 @@
"type": "array"
},
"id": {
- "example": "115548681803406275",
+ "example": "tt1375666",
"type": "string"
},
- "strategy": {
- "$ref": "#/definitions/lolesports.Strategy"
- },
- "teams": {
- "items": {
- "$ref": "#/definitions/lolesports.Team"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "lolesports.NewsArticle": {
- "properties": {
- "authors": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "description": {
- "example": "Everything You Need To Know About Worlds!",
+ "image_url": {
"type": "string"
},
- "external": {
- "example": false,
- "type": "boolean"
+ "metascore": {
+ "example": 74,
+ "type": "integer"
},
- "external_url": {
- "example": "https://www.youtube.com/watch?v=H_B91cxvCRQ",
+ "plot": {
"type": "string"
},
- "id": {
- "example": "e18c9f59-8497-4196-af3f-18b2fac2b920.en-us",
- "type": "string"
+ "rating_count": {
+ "example": 2600000,
+ "type": "integer"
},
- "image_url": {
- "example": "https://cdn.sanity.io/images/dsfx7636/news_live/0286cc9daee206f55cf722a3b2830ca3fdad7d59-1600x900.jpg",
- "type": "string"
+ "rating_value": {
+ "example": 8.8,
+ "type": "number"
},
- "path": {
- "example": "/news/worlds-2026-primer",
+ "release_date": {
+ "example": "2010-07-16",
"type": "string"
},
- "published_at": {
- "example": "2026-10-05T15:00:00.000Z",
- "type": "string"
+ "runtime_minutes": {
+ "example": 148,
+ "type": "integer"
},
"title": {
- "example": "Worlds 2026 Primer",
+ "example": "Inception",
+ "type": "string"
+ },
+ "title_type": {
+ "example": "movie",
"type": "string"
},
"url": {
- "example": "https://lolesports.com/en-US/news/worlds-2026-primer",
+ "example": "https://www.imdb.com/title/tt1375666/",
"type": "string"
+ },
+ "year": {
+ "example": 2010,
+ "type": "integer"
}
},
"type": "object"
},
- "lolesports.NewsResponse": {
+ "imdb.SearchTitleResponse": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/lolesports.NewsArticle"
- },
- "type": "array"
- },
- "count": {
- "example": 100,
- "type": "integer"
- },
"fetched_at": {
- "example": "2026-10-27T10:00:00Z",
+ "example": "2026-06-07T14:46:16Z",
"type": "string"
},
- "hl": {
- "example": "en-US",
- "type": "string"
+ "has_more": {
+ "example": true,
+ "type": "boolean"
+ },
+ "limit": {
+ "example": 25,
+ "type": "integer"
+ },
+ "results": {
+ "items": {
+ "$ref": "#/definitions/imdb.SearchTitleItem"
+ },
+ "type": "array"
},
"source_url": {
- "example": "https://esports-api.lolesports.com/persisted/gw/getSchedule?hl=en-US",
+ "example": "https://www.imdb.com/search/title/?genres=Action&title_type=feature",
"type": "string"
},
"total": {
- "example": 100,
+ "example": 1968,
"type": "integer"
}
},
"type": "object"
},
- "lolesports.ParticipantMetadata": {
+ "imdb.SimilarResponse": {
"properties": {
- "champion_id": {
- "example": "Sion",
+ "fetched_at": {
"type": "string"
},
- "participant_id": {
- "example": 1,
- "type": "integer"
- },
- "player_id": {
- "example": "102206337829139149",
+ "id": {
"type": "string"
},
- "role": {
- "enum": [
- "top",
- "jungle",
- "mid",
- "bottom",
- "support"
- ],
- "example": "top",
+ "source_url": {
"type": "string"
},
- "summoner_name": {
- "example": "SR Fudge",
+ "titles": {
+ "items": {
+ "$ref": "#/definitions/imdb.SimilarTitle"
+ },
+ "type": "array"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "lolesports.Player": {
+ "imdb.SimilarTitle": {
"properties": {
- "first_name": {
- "example": "Sanghyeok",
+ "content_rating": {
"type": "string"
},
"id": {
- "example": "98767991747728851",
"type": "string"
},
"image_url": {
"type": "string"
},
- "last_name": {
- "example": "Lee",
+ "rating_count": {
+ "type": "integer"
+ },
+ "rating_value": {
+ "type": "number"
+ },
+ "runtime_minutes": {
+ "type": "integer"
+ },
+ "title": {
"type": "string"
},
- "role": {
- "enum": [
- "top",
- "jungle",
- "mid",
- "bottom",
- "support",
- "none"
- ],
- "example": "mid",
+ "title_type": {
"type": "string"
},
- "summoner_name": {
- "example": "Faker",
+ "url": {
"type": "string"
+ },
+ "year": {
+ "type": "integer"
}
},
"type": "object"
},
- "lolesports.Ranking": {
+ "imdb.TechnicalSpecItem": {
"properties": {
- "ordinal": {
- "example": 1,
- "type": "integer"
+ "name": {
+ "description": "Name of the technical spec, for example `Runtime`.",
+ "example": "Runtime",
+ "type": "string"
},
- "teams": {
+ "slug": {
+ "description": "Lowercase, hyphenated form of the spec name, for example `runtime`.",
+ "example": "runtime",
+ "type": "string"
+ },
+ "values": {
+ "description": "Values IMDb lists for the spec.",
"items": {
- "$ref": "#/definitions/lolesports.Team"
+ "type": "string"
},
"type": "array"
}
},
"type": "object"
},
- "lolesports.Record": {
+ "imdb.TechnicalSpecsResponse": {
"properties": {
- "losses": {
- "example": 0,
- "type": "integer"
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-06-07T14:46:16Z",
+ "type": "string"
},
- "wins": {
- "example": 9,
- "type": "integer"
+ "id": {
+ "description": "IMDb title ID, for example `tt1375666`.",
+ "example": "tt1375666",
+ "type": "string"
+ },
+ "public_page_derived": {
+ "description": "Always `true`. The data comes from IMDb's public pages.",
+ "example": true,
+ "type": "boolean"
+ },
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://www.imdb.com/title/tt1375666/technical/",
+ "type": "string"
+ },
+ "specs": {
+ "description": "Technical specifications IMDb lists for the title.",
+ "items": {
+ "$ref": "#/definitions/imdb.TechnicalSpecItem"
+ },
+ "type": "array"
+ },
+ "url": {
+ "description": "IMDb technical specs page of the title.",
+ "example": "https://www.imdb.com/title/tt1375666/technical/",
+ "type": "string"
}
},
"type": "object"
},
- "lolesports.ScheduleResponse": {
+ "imdb.TitleAwardsResponse": {
"properties": {
- "count": {
- "example": 80,
- "type": "integer"
- },
- "events": {
+ "awards": {
"items": {
- "$ref": "#/definitions/lolesports.Event"
+ "$ref": "#/definitions/imdb.AwardItem"
},
"type": "array"
},
"fetched_at": {
- "example": "2026-10-27T10:00:00Z",
+ "example": "2026-06-07T14:46:16Z",
"type": "string"
},
- "newer_page_token": {
- "type": "string"
+ "has_more": {
+ "example": true,
+ "type": "boolean"
},
- "older_page_token": {
+ "id": {
+ "example": "tt1375666",
"type": "string"
},
+ "public_page_derived": {
+ "example": true,
+ "type": "boolean"
+ },
"source_url": {
- "example": "https://esports-api.lolesports.com/persisted/gw/getSchedule?hl=en-US",
+ "example": "https://www.imdb.com/title/tt1375666/awards/",
+ "type": "string"
+ },
+ "total": {
+ "example": 64,
+ "type": "integer"
+ },
+ "url": {
+ "example": "https://www.imdb.com/title/tt1375666/awards/",
"type": "string"
}
},
"type": "object"
},
- "lolesports.Season": {
+ "imdb.TitleBoxOfficeResponse": {
"properties": {
- "end_time": {
- "example": "2026-12-31T22:59:00Z",
+ "fetched_at": {
+ "example": "2026-09-17T14:46:16Z",
"type": "string"
},
- "id": {
- "example": "115547545029543948",
- "type": "string"
+ "has_box_office": {
+ "example": true,
+ "type": "boolean"
},
- "name": {
- "example": "lolesports_2026",
+ "id": {
+ "example": "tt0111161",
"type": "string"
},
- "slug": {
- "example": "lolesports_2026",
- "type": "string"
+ "lifetime_gross": {
+ "$ref": "#/definitions/imdb.LifetimeGross"
},
- "split_count": {
- "example": 6,
- "type": "integer"
+ "opening_weekend": {
+ "$ref": "#/definitions/imdb.OpeningWeekend"
},
- "splits": {
- "items": {
- "$ref": "#/definitions/lolesports.Split"
- },
- "type": "array"
+ "production_budget": {
+ "$ref": "#/definitions/imdb.Money"
},
- "start_time": {
- "example": "2026-01-01T08:00:00Z",
- "type": "string"
- }
- },
- "type": "object"
- },
- "lolesports.SeasonLeague": {
- "properties": {
- "id": {
- "example": "98767991302996019",
+ "source_url": {
+ "example": "https://www.imdb.com/title/tt0111161/",
"type": "string"
},
- "image_url": {
+ "title": {
+ "example": "The Shawshank Redemption",
"type": "string"
},
- "name": {
- "example": "LEC",
+ "url": {
+ "example": "https://www.imdb.com/title/tt0111161/",
"type": "string"
}
},
"type": "object"
},
- "lolesports.SeasonsResponse": {
+ "imdb.TitleConnectionsResponse": {
"properties": {
- "count": {
- "example": 2,
- "type": "integer"
+ "connections": {
+ "items": {
+ "$ref": "#/definitions/imdb.ConnectionItem"
+ },
+ "type": "array"
},
"fetched_at": {
- "example": "2026-10-27T10:00:00Z",
+ "example": "2026-09-17T14:46:16Z",
"type": "string"
},
- "league_id": {
- "example": "98767991302996019",
+ "has_more": {
+ "example": true,
+ "type": "boolean"
+ },
+ "id": {
+ "example": "tt0111161",
"type": "string"
},
- "region": {
+ "limit": {
+ "example": 50,
+ "type": "integer"
+ },
+ "source_url": {
+ "example": "https://www.imdb.com/title/tt0111161/",
"type": "string"
},
- "season_id": {
- "example": "115547545029543948",
+ "title": {
+ "example": "The Shawshank Redemption",
"type": "string"
},
- "seasons": {
- "items": {
- "$ref": "#/definitions/lolesports.Season"
- },
- "type": "array"
+ "total": {
+ "example": 999,
+ "type": "integer"
},
- "source_url": {
- "example": "https://esports-api.lolesports.com/persisted/gw/getSchedule?hl=en-US",
+ "url": {
+ "example": "https://www.imdb.com/title/tt0111161/",
"type": "string"
}
},
"type": "object"
},
- "lolesports.Split": {
+ "imdb.TitleImagesResponse": {
"properties": {
- "description": {
+ "fetched_at": {
+ "example": "2026-09-09T14:46:16Z",
"type": "string"
},
- "end_time": {
- "example": "2026-09-27T22:00:00Z",
- "type": "string"
+ "has_more": {
+ "example": false,
+ "type": "boolean"
},
"id": {
- "example": "115548016979679447",
+ "example": "tt0089753",
"type": "string"
},
- "name": {
- "example": "Split 3",
- "type": "string"
+ "images": {
+ "items": {
+ "$ref": "#/definitions/imdb.ImageItem"
+ },
+ "type": "array"
},
- "region": {
- "example": "REGIONAL",
- "type": "string"
+ "limit": {
+ "example": 50,
+ "type": "integer"
},
- "slug": {
- "example": "split_3",
+ "source_url": {
+ "example": "https://www.imdb.com/title/tt0089753/mediaindex/",
"type": "string"
},
- "start_time": {
- "example": "2026-07-19T22:00:00Z",
+ "title": {
+ "example": "Holly - The Movie",
"type": "string"
},
- "tournaments": {
+ "total": {
+ "example": 38,
+ "type": "integer"
+ },
+ "type_counts": {
"items": {
- "$ref": "#/definitions/lolesports.SplitTournament"
+ "$ref": "#/definitions/imdb.ImageTypeCount"
+ },
+ "type": "array"
+ },
+ "types": {
+ "items": {
+ "type": "string"
},
"type": "array"
+ },
+ "url": {
+ "example": "https://www.imdb.com/title/tt0089753/mediaindex/",
+ "type": "string"
}
},
"type": "object"
},
- "lolesports.SplitTournament": {
+ "imdb.TitlePublicFactsAnalysisResponse": {
"properties": {
- "id": {
- "example": "115548681802226458",
- "type": "string"
+ "company_credits": {
+ "$ref": "#/definitions/imdb.TitlePublicFactsResponse"
},
- "league": {
- "$ref": "#/definitions/lolesports.SeasonLeague"
+ "filming_locations": {
+ "$ref": "#/definitions/imdb.TitlePublicFactsResponse"
},
- "name": {
- "example": "Summer 2026",
- "type": "string"
+ "goofs": {
+ "$ref": "#/definitions/imdb.TitlePublicFactsResponse"
+ },
+ "keywords": {
+ "$ref": "#/definitions/imdb.TitlePublicFactsResponse"
+ },
+ "missing_sections": {
+ "description": "MissingSections names the sections that failed, using the same keys as\nthe fields above (trivia, goofs, quotes, keywords, filming_locations,\ncompany_credits).",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "not_viewing_advice": {
+ "example": true,
+ "type": "boolean"
+ },
+ "partial": {
+ "description": "Partial is true when at least one section could not be fetched. The\nsections that did arrive are still populated and Summary still counts\nthem, so callers that need a complete analysis must check this rather\nthan infer completeness from a 200.",
+ "example": false,
+ "type": "boolean"
+ },
+ "public_page_derived": {
+ "example": true,
+ "type": "boolean"
+ },
+ "quotes": {
+ "$ref": "#/definitions/imdb.TitlePublicFactsResponse"
+ },
+ "summary": {
+ "$ref": "#/definitions/imdb.PublicFactsAnalysisSummary"
+ },
+ "trivia": {
+ "$ref": "#/definitions/imdb.TitlePublicFactsResponse"
}
},
"type": "object"
},
- "lolesports.StandingMatch": {
+ "imdb.TitlePublicFactsResponse": {
"properties": {
- "flags": {
+ "company_credits": {
+ "description": "Company credits grouped by section. Filled when `type` is `company_credits`.",
"items": {
- "type": "string"
+ "$ref": "#/definitions/imdb.CompanySection"
+ },
+ "type": "array"
+ },
+ "facts": {
+ "description": "Trivia, goof or quote entries. Filled when `type` is `trivia`, `goofs` or `quotes`.",
+ "items": {
+ "$ref": "#/definitions/imdb.PublicFactItem"
},
"type": "array"
},
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-06-07T14:46:16Z",
+ "type": "string"
+ },
+ "has_more": {
+ "description": "`true` when IMDb lists more entries of this type than were returned.",
+ "example": true,
+ "type": "boolean"
+ },
"id": {
- "example": "115548681803340575",
+ "description": "IMDb title ID, for example `tt1375666`.",
+ "example": "tt1375666",
"type": "string"
},
- "previous_match_ids": {
+ "keywords": {
+ "description": "Keywords tagged on the title. Filled when `type` is `keywords`.",
"items": {
- "type": "string"
+ "$ref": "#/definitions/imdb.KeywordItem"
},
"type": "array"
},
- "state": {
- "example": "completed",
- "type": "string"
- },
- "teams": {
+ "locations": {
+ "description": "Filming locations of the title. Filled when `type` is `filming_locations`.",
"items": {
- "$ref": "#/definitions/lolesports.Team"
+ "$ref": "#/definitions/imdb.LocationItem"
},
"type": "array"
+ },
+ "public_page_derived": {
+ "description": "Always `true`. The data comes from IMDb's public pages.",
+ "example": true,
+ "type": "boolean"
+ },
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://www.imdb.com/title/tt1375666/trivia/",
+ "type": "string"
+ },
+ "total": {
+ "description": "Number of entries IMDb lists for this type.",
+ "example": 21,
+ "type": "integer"
+ },
+ "type": {
+ "description": "Kind of data returned: `trivia`, `goofs`, `quotes`, `keywords`, `filming_locations` or `company_credits`.",
+ "example": "trivia",
+ "type": "string"
+ },
+ "url": {
+ "description": "IMDb page of the title for this kind of data.",
+ "example": "https://www.imdb.com/title/tt1375666/trivia/",
+ "type": "string"
}
},
"type": "object"
},
- "lolesports.StandingSection": {
+ "imdb.TitleResponse": {
"properties": {
- "matches": {
+ "cast": {
+ "description": "Up to three lead cast members.",
"items": {
- "$ref": "#/definitions/lolesports.StandingMatch"
+ "$ref": "#/definitions/imdb.Person"
},
"type": "array"
},
- "name": {
- "example": "Regular Season",
+ "content_rating": {
+ "description": "Age rating shown for the title, for example `PG-13`.",
+ "example": "PG-13",
"type": "string"
},
- "rankings": {
+ "directors": {
+ "description": "Directors of the title.",
"items": {
- "$ref": "#/definitions/lolesports.Ranking"
+ "$ref": "#/definitions/imdb.Person"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "lolesports.StandingStage": {
- "properties": {
- "id": {
- "example": "115548681802750747",
- "type": "string"
},
- "name": {
- "example": "Regular Season",
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-06-07T14:46:16Z",
"type": "string"
},
- "sections": {
+ "genres": {
+ "description": "Genres IMDb lists for the title.",
+ "example": [
+ "Action"
+ ],
"items": {
- "$ref": "#/definitions/lolesports.StandingSection"
+ "type": "string"
},
"type": "array"
},
- "slug": {
- "example": "regular_season",
+ "id": {
+ "description": "IMDb title ID, for example `tt1375666`.",
+ "example": "tt1375666",
"type": "string"
},
- "type": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "lolesports.StandingsResponse": {
- "properties": {
- "fetched_at": {
- "example": "2026-10-27T10:00:00Z",
+ "image_url": {
+ "description": "URL of the title's main image.",
"type": "string"
},
- "source_url": {
- "example": "https://esports-api.lolesports.com/persisted/gw/getSchedule?hl=en-US",
+ "plot": {
+ "description": "Plot summary of the title.",
"type": "string"
},
- "stages": {
- "items": {
- "$ref": "#/definitions/lolesports.StandingStage"
- },
- "type": "array"
+ "popularity_rank": {
+ "description": "Current IMDb popularity rank of the title.",
+ "example": 82,
+ "type": "integer"
},
- "tournament_id": {
- "example": "115548681802226458",
+ "public_page_derived": {
+ "description": "Always `true`. The data comes from IMDb's public pages.",
+ "example": true,
+ "type": "boolean"
+ },
+ "rating_count": {
+ "description": "Number of user ratings behind the rating value.",
+ "example": 2600000,
+ "type": "integer"
+ },
+ "rating_value": {
+ "description": "Average IMDb user rating of the title.",
+ "example": 8.8,
+ "type": "number"
+ },
+ "release_date": {
+ "description": "Release date of the title, for example `2010-07-16`.",
+ "example": "2010-07-16",
"type": "string"
- }
- },
- "type": "object"
- },
- "lolesports.Strategy": {
- "properties": {
- "count": {
- "example": 3,
+ },
+ "runtime_minutes": {
+ "description": "Running time of the title in minutes.",
+ "example": 148,
"type": "integer"
},
- "type": {
- "example": "bestOf",
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://www.imdb.com/title/tt1375666/",
"type": "string"
- }
- },
- "type": "object"
- },
- "lolesports.Stream": {
- "properties": {
- "locale": {
- "example": "en-GB",
+ },
+ "title": {
+ "description": "Title name as shown on IMDb.",
+ "example": "Inception",
"type": "string"
},
- "parameter": {
- "example": "lec",
+ "title_type": {
+ "description": "Kind of title, for example `Movie`.",
+ "example": "Movie",
"type": "string"
},
- "provider": {
- "example": "twitch",
+ "url": {
+ "description": "IMDb page URL of the title.",
+ "example": "https://www.imdb.com/title/tt1375666/",
+ "type": "string"
+ },
+ "year": {
+ "description": "Release year of the title.",
+ "example": "2010",
"type": "string"
}
},
"type": "object"
},
- "lolesports.Team": {
+ "imdb.TitleVideosResponse": {
"properties": {
- "code": {
- "example": "T1",
+ "fetched_at": {
+ "example": "2026-09-14T14:46:16Z",
"type": "string"
},
- "game_wins": {
- "example": 2,
- "type": "integer"
+ "has_more": {
+ "example": true,
+ "type": "boolean"
},
"id": {
- "example": "98767991853197861",
+ "example": "tt1375666",
"type": "string"
},
- "image_url": {
- "example": "https://static.lolesports.com/teams/t1.png",
- "type": "string"
+ "limit": {
+ "example": 50,
+ "type": "integer"
},
- "name": {
- "example": "T1",
+ "source_url": {
+ "example": "https://www.imdb.com/title/tt1375666/videogallery/",
"type": "string"
},
- "outcome": {
- "enum": [
- "win",
- "loss"
- ],
- "example": "win",
+ "title": {
+ "example": "Inception",
"type": "string"
},
- "record": {
- "$ref": "#/definitions/lolesports.Record"
+ "total": {
+ "example": 35,
+ "type": "integer"
},
- "slug": {
- "example": "t1",
+ "url": {
+ "example": "https://www.imdb.com/title/tt1375666/videogallery/",
"type": "string"
+ },
+ "videos": {
+ "items": {
+ "$ref": "#/definitions/imdb.VideoItem"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "lolesports.TeamDetail": {
+ "imdb.VideoItem": {
"properties": {
- "code": {
- "example": "T1",
+ "content_type": {
+ "example": "Trailer",
"type": "string"
},
- "home_league": {
- "$ref": "#/definitions/lolesports.HomeLeague"
+ "duration_seconds": {
+ "example": 105,
+ "type": "integer"
},
"id": {
- "example": "98767991853197861",
- "type": "string"
- },
- "image_url": {
+ "example": "vi2959588889",
"type": "string"
},
- "name": {
- "example": "T1",
- "type": "string"
+ "position": {
+ "example": 1,
+ "type": "integer"
},
- "players": {
- "items": {
- "$ref": "#/definitions/lolesports.Player"
- },
- "type": "array"
+ "primary_title": {
+ "$ref": "#/definitions/imdb.VideoPrimaryTitle"
},
- "slug": {
- "example": "t1",
- "type": "string"
+ "thumbnail": {
+ "$ref": "#/definitions/imdb.VideoThumbnail"
},
- "status": {
- "enum": [
- "active",
- "archived"
- ],
- "example": "active",
+ "title": {
+ "example": "10th Anniversary Dream Trailer",
"type": "string"
}
},
"type": "object"
},
- "lolesports.TeamMetadata": {
+ "imdb.VideoPrimaryTitle": {
"properties": {
- "participants": {
- "items": {
- "$ref": "#/definitions/lolesports.ParticipantMetadata"
- },
- "type": "array"
+ "id": {
+ "example": "tt1375666",
+ "type": "string"
},
- "team_id": {
- "example": "111504538396430510",
+ "title": {
+ "example": "Inception",
+ "type": "string"
+ },
+ "url": {
+ "example": "https://www.imdb.com/title/tt1375666/",
"type": "string"
}
},
"type": "object"
},
- "lolesports.TeamTotals": {
+ "imdb.VideoThumbnail": {
"properties": {
- "barons": {
- "example": 0,
+ "height": {
+ "example": 1071,
"type": "integer"
},
- "dragons": {
- "example": [
- "infernal"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
+ "url": {
+ "example": "https://m.media-amazon.com/images/M/MV5BMTQ1ZmIzOTAtNDcwZi00NDVkLWE4NWItYWNhZGY1MmVlZGU0XkEyXkFqcGdeQWRvb2xpbmhk._V1_.jpg",
+ "type": "string"
},
- "inhibitors": {
- "example": 0,
+ "width": {
+ "example": 1905,
"type": "integer"
- },
- "participants": {
- "items": {
- "$ref": "#/definitions/lolesports.WindowParticipant"
- },
- "type": "array"
- },
- "total_gold": {
- "example": 15621,
+ }
+ },
+ "type": "object"
+ },
+ "imdb.chartsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "total_kills": {
- "example": 4,
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/imdb.ChartResponse"
},
- "towers": {
- "example": 1,
- "type": "integer"
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "lolesports.TeamsResponse": {
+ "imdb.creditsResponseDoc": {
"properties": {
- "fetched_at": {
- "example": "2026-10-27T10:00:00Z",
- "type": "string"
- },
- "has_more": {
- "example": false,
- "type": "boolean"
- },
- "limit": {
- "example": 25,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "page": {
- "example": 1,
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/imdb.CreditsResponse"
},
- "source_url": {
- "example": "https://esports-api.lolesports.com/persisted/gw/getSchedule?hl=en-US",
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "teams": {
- "items": {
- "$ref": "#/definitions/lolesports.TeamDetail"
- },
- "type": "array"
- },
- "total": {
- "example": 1,
- "type": "integer"
}
},
"type": "object"
},
- "lolesports.Tournament": {
+ "imdb.episodesResponseDoc": {
"properties": {
- "end_date": {
- "example": "2026-09-20",
- "type": "string"
- },
- "id": {
- "example": "115548681802226458",
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "slug": {
- "example": "lec_split_3_2026",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/imdb.EpisodesResponse"
},
- "start_date": {
- "example": "2026-07-23",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "lolesports.TournamentsResponse": {
+ "imdb.imageTypesResponseDoc": {
"properties": {
- "count": {
- "example": 12,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "fetched_at": {
- "example": "2026-10-27T10:00:00Z",
- "type": "string"
- },
- "league_id": {
- "example": "98767991302996019",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/imdb.ImageTypesResponse"
},
- "source_url": {
- "example": "https://esports-api.lolesports.com/persisted/gw/getSchedule?hl=en-US",
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "tournaments": {
- "items": {
- "$ref": "#/definitions/lolesports.Tournament"
- },
- "type": "array"
}
},
"type": "object"
},
- "lolesports.VOD": {
+ "imdb.nameAwardsResponseDoc": {
"properties": {
- "end_millis": {
- "example": 2525000,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "id": {
- "example": "117401850612643795",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/imdb.NameAwardsResponse"
},
- "locale": {
- "example": "fr-FR",
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "imdb.nameCreditsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "parameter": {
- "example": "xtq9wDAT3zg",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/imdb.NameCreditsResponse"
},
- "provider": {
- "example": "youtube",
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "start_millis": {
- "example": 121000,
- "type": "integer"
}
},
"type": "object"
},
- "lolesports.WindowFrame": {
+ "imdb.nameImagesResponseDoc": {
"properties": {
- "blue": {
- "$ref": "#/definitions/lolesports.TeamTotals"
- },
- "game_state": {
- "enum": [
- "in_game",
- "paused",
- "finished"
- ],
- "example": "in_game",
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "red": {
- "$ref": "#/definitions/lolesports.TeamTotals"
+ "data": {
+ "$ref": "#/definitions/imdb.NameImagesResponse"
},
- "timestamp": {
- "example": "2026-10-07T10:20:00.000Z",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "lolesports.WindowParticipant": {
+ "imdb.nameResponseDoc": {
"properties": {
- "assists": {
- "example": 2,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "creep_score": {
- "example": 54,
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/imdb.NameResponse"
},
- "current_health": {
- "example": 640,
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "imdb.nameVideosResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "deaths": {
- "example": 0,
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/imdb.NameVideosResponse"
},
- "kills": {
- "example": 1,
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "imdb.parentalGuideResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "level": {
- "example": 6,
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/imdb.ParentalGuideResponse"
},
- "max_health": {
- "example": 1100,
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "imdb.ratingsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "participant_id": {
- "example": 1,
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/imdb.RatingsResponse"
},
- "total_gold": {
- "example": 3200,
- "type": "integer"
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "lululemon.CategoriesResponse": {
+ "imdb.releaseInfoResponseDoc": {
"properties": {
- "categories": {
- "items": {
- "$ref": "#/definitions/lululemon.CategoryEntry"
- },
- "type": "array"
- },
- "count": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "fetched_at": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/imdb.ReleaseInfoResponse"
},
- "source_url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "lululemon.CategoryEntry": {
+ "imdb.reviewsResponseDoc": {
"properties": {
- "category": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "cdp_hash": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/imdb.ReviewsResponse"
},
- "name": {
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "imdb.searchResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "path": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "section": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/imdb.SearchResponse"
},
- "url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "lululemon.CategoryResponse": {
+ "imdb.searchTitleResponseDoc": {
"properties": {
- "category": {
- "description": "Category slug that was requested, such as `women-new-styles`.",
- "type": "string"
- },
- "cdp_hash": {
- "description": "Short id segment of the category URL that was requested.",
- "type": "string"
- },
- "count": {
- "description": "Number of products returned on this page.",
+ "code": {
+ "example": 200,
"type": "integer"
},
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "type": "string"
- },
- "page": {
- "description": "Page number returned, starting at 1.",
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/imdb.SearchTitleResponse"
},
- "page_size": {
- "description": "Maximum number of products on a page.",
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "imdb.similarResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "products": {
- "description": "Products listed on this page of the category.",
- "items": {
- "$ref": "#/definitions/lululemon.ProductSummary"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/imdb.SimilarResponse"
},
- "source_url": {
- "description": "URL the data was read from.",
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "total_products": {
- "description": "Total number of products in the category.",
- "type": "integer"
}
},
"type": "object"
},
- "lululemon.OutfitItem": {
+ "imdb.technicalSpecsResponseDoc": {
"properties": {
- "category": {
- "type": "string"
- },
- "currency": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "id": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/imdb.TechnicalSpecsResponse"
},
- "image_url": {
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "imdb.titleAwardsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "list_price": {
- "type": "number"
- },
- "on_sale": {
- "type": "boolean"
- },
- "sale_price": {
- "type": "number"
+ "data": {
+ "$ref": "#/definitions/imdb.TitleAwardsResponse"
},
- "title": {
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "imdb.titleBoxOfficeResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "url": {
+ "data": {
+ "$ref": "#/definitions/imdb.TitleBoxOfficeResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "lululemon.OutfitLook": {
+ "imdb.titleConnectionsResponseDoc": {
"properties": {
- "id": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "items": {
- "items": {
- "$ref": "#/definitions/lululemon.OutfitItem"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/imdb.TitleConnectionsResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "lululemon.OutfitResponse": {
+ "imdb.titleImagesResponseDoc": {
"properties": {
- "color_code": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "fetched_at": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/imdb.TitleImagesResponse"
},
- "item": {
- "$ref": "#/definitions/lululemon.OutfitItem"
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "imdb.titlePublicFactsAnalysisResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "looks": {
- "items": {
- "$ref": "#/definitions/lululemon.OutfitLook"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/imdb.TitlePublicFactsAnalysisResponse"
},
- "source_url": {
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "imdb.titlePublicFactsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "unified_id": {
+ "data": {
+ "$ref": "#/definitions/imdb.TitlePublicFactsResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "lululemon.ProductDetailColor": {
+ "imdb.titleResponseDoc": {
"properties": {
"code": {
- "type": "string"
+ "example": 200,
+ "type": "integer"
},
- "name": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/imdb.TitleResponse"
},
- "swatch_url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "lululemon.ProductDetailRating": {
+ "imdb.titleVideosResponseDoc": {
"properties": {
- "count": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "value": {
- "type": "number"
+ "data": {
+ "$ref": "#/definitions/imdb.TitleVideosResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "lululemon.ProductDetailResponse": {
+ "importyeti.Company": {
"properties": {
- "activities": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "category": {
+ "address": {
+ "example": "Minneapolis, Mn 55402, Us",
"type": "string"
},
- "category_id": {
+ "also_known_as_addresses": {
+ "example": 145,
+ "type": "integer"
+ },
+ "also_known_as_names": {
+ "example": 229,
+ "type": "integer"
+ },
+ "avg_teu_per_month": {
+ "example": 48.52,
+ "type": "number"
+ },
+ "avg_teu_per_shipment": {
+ "example": 7.19,
+ "type": "number"
+ },
+ "est_shipping_spend": {
+ "example": "$27M",
"type": "string"
},
- "colors": {
+ "hs_codes": {
"items": {
- "$ref": "#/definitions/lululemon.ProductDetailColor"
+ "$ref": "#/definitions/importyeti.HSCode"
},
"type": "array"
},
- "currency": {
+ "last_shipment_date": {
+ "example": "07/16/2026",
"type": "string"
},
- "description": {
+ "name": {
+ "example": "Target 33 South 6Th Street Cc",
"type": "string"
},
- "fetched_at": {
+ "phone": {
+ "example": "XXX-XXX-X296",
"type": "string"
},
- "gender": {
+ "recent_shipments": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/importyeti.Shipment"
},
"type": "array"
},
- "highlights": {
+ "region_breakdown": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/importyeti.RegionBreakdown"
},
"type": "array"
},
- "name": {
+ "slug": {
+ "example": "target-33-south-6th-street-cc",
"type": "string"
},
- "on_sale": {
- "type": "boolean"
- },
- "price": {
- "type": "number"
- },
- "product_id": {
+ "source_url": {
+ "example": "https://www.importyeti.com/company/target",
"type": "string"
},
- "rating": {
- "$ref": "#/definitions/lululemon.ProductDetailRating"
- },
- "reviews": {
- "items": {
- "$ref": "#/definitions/lululemon.ProductDetailReview"
- },
- "type": "array"
- },
- "sizes": {
+ "suppliers": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/importyeti.Supplier"
},
"type": "array"
},
- "skus": {
- "items": {
- "$ref": "#/definitions/lululemon.ProductDetailSKU"
- },
- "type": "array"
+ "total_shipments": {
+ "example": 9123,
+ "type": "integer"
},
- "source_url": {
+ "url": {
+ "example": "https://www.importyeti.com/company/target-33-south-6th-street-cc",
"type": "string"
},
- "unified_id": {
+ "website": {
+ "example": "www.target.com",
"type": "string"
- },
- "url": {
+ }
+ },
+ "type": "object"
+ },
+ "importyeti.CountryShipments": {
+ "properties": {
+ "country": {
+ "example": "China",
"type": "string"
+ },
+ "shipments": {
+ "example": 4267,
+ "type": "integer"
}
},
"type": "object"
},
- "lululemon.ProductDetailReview": {
+ "importyeti.HSCode": {
"properties": {
- "badge": {
+ "code": {
+ "example": "6404.19.9092",
"type": "string"
},
- "body": {
+ "description": {
+ "example": "Valued over $12/pair",
"type": "string"
},
- "fit": {
+ "product_description": {
+ "example": "Footwear Po- 1101064043 Hs Code-6404199092",
"type": "string"
},
- "id": {
+ "sample_bill_of_lading": {
+ "example": "APLU050437011",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "importyeti.RegionBreakdown": {
+ "properties": {
+ "countries": {
+ "items": {
+ "$ref": "#/definitions/importyeti.CountryShipments"
+ },
+ "type": "array"
},
- "rating": {
+ "percent": {
+ "example": 80.3,
"type": "number"
},
- "size_purchased": {
+ "region": {
+ "example": "Asia",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "importyeti.SearchResponse": {
+ "properties": {
+ "page": {
+ "example": 1,
+ "type": "integer"
},
- "submitted_at": {
+ "query": {
+ "example": "nike",
"type": "string"
},
- "title": {
+ "results": {
+ "items": {
+ "$ref": "#/definitions/importyeti.SearchResult"
+ },
+ "type": "array"
+ },
+ "source_url": {
"type": "string"
},
- "verified_buyer": {
- "type": "boolean"
+ "total_hits": {
+ "example": 135,
+ "type": "integer"
+ },
+ "total_pages": {
+ "example": 14,
+ "type": "integer"
}
},
"type": "object"
},
- "lululemon.ProductDetailSKU": {
+ "importyeti.SearchResult": {
"properties": {
- "available": {
- "type": "boolean"
- },
- "color_code": {
+ "address": {
+ "example": "1 Bowerman Dr, Beaverton, Or 97005, Us",
"type": "string"
},
- "color_name": {
+ "country_code": {
+ "example": "US",
"type": "string"
},
- "id": {
+ "kind": {
+ "example": "company",
"type": "string"
},
- "on_sale": {
- "type": "boolean"
- },
- "price": {
- "type": "number"
+ "most_recent_shipment": {
+ "example": "23/11/2024",
+ "type": "string"
},
- "sale_price": {
- "type": "number"
+ "other_addresses_count": {
+ "example": 27,
+ "type": "integer"
},
- "size": {
- "type": "string"
+ "other_names_count": {
+ "example": 17,
+ "type": "integer"
},
- "style_id": {
+ "slug": {
+ "example": "nike",
"type": "string"
},
- "style_number": {
+ "title": {
+ "example": "Nike",
"type": "string"
},
- "url": {
- "type": "string"
+ "total_shipments": {
+ "example": 560,
+ "type": "integer"
}
},
"type": "object"
},
- "lululemon.ProductSummary": {
+ "importyeti.Shipment": {
"properties": {
- "activities": {
- "description": "Activities the product is designed for, such as `Casual` or `Lounge`.",
- "items": {
- "type": "string"
- },
- "type": "array"
+ "bill_of_lading": {
+ "example": "MOSJMK0H2607003",
+ "type": "string"
},
- "category": {
- "description": "Name of the product's category, such as `Sweatpants`.",
+ "containers": {
+ "example": "1",
"type": "string"
},
- "category_id": {
- "description": "Id of the product's category, such as `womens-sweatpants`.",
+ "date": {
+ "example": "07/16/2026",
"type": "string"
},
- "colors": {
- "description": "Names of the colors the product comes in. Positions match `style_numbers`.",
- "items": {
- "type": "string"
- },
- "type": "array"
+ "description": {
+ "example": "Kart Chains",
+ "type": "string"
},
- "currency": {
- "description": "Currency code of the prices, such as `USD`.",
+ "estimated_freight_cost": {
+ "example": "$ 2,563.26",
"type": "string"
},
- "id": {
- "description": "lululemon product id.",
+ "quantity": {
+ "example": "2 ctn",
"type": "string"
},
- "image_url": {
- "description": "URL of the first image lululemon lists for the product.",
+ "route": {
+ "example": "Asia US Pacific",
"type": "string"
},
- "list_price": {
- "description": "List price of the product.",
- "type": "number"
+ "supplier_location": {
+ "example": "Kaga Shi, Japan",
+ "type": "string"
},
- "name": {
- "description": "Product name as shown on lululemon.",
+ "supplier_name": {
+ "example": "Enuma Chain Mfg Co Ltd",
"type": "string"
},
- "new_arrival": {
- "description": "Whether lululemon flags the product as a new arrival.",
- "type": "boolean"
+ "supplier_slug": {
+ "example": "enuma-chain-mfg",
+ "type": "string"
},
- "on_sale": {
- "description": "Whether the product is on sale.",
- "type": "boolean"
+ "weight": {
+ "example": "959 kg",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "importyeti.Supplier": {
+ "properties": {
+ "city": {
+ "example": "Maria Fe",
+ "type": "string"
},
- "price": {
- "description": "Current price of the product.",
- "type": "number"
+ "country": {
+ "example": "Philippines",
+ "type": "string"
},
- "sale_price": {
- "description": "Sale price of the product. Set only when `on_sale` is `true`.",
- "type": "number"
+ "description": {
+ "type": "string"
},
- "sizes": {
- "description": "Sizes the product is available in.",
+ "hs_codes": {
+ "example": [
+ "4602.19",
+ "8504.40"
+ ],
"items": {
"type": "string"
},
"type": "array"
},
- "style_numbers": {
- "description": "Style numbers of the product, one per color. Positions match `colors`.",
+ "name": {
+ "example": "Durus Industries",
+ "type": "string"
+ },
+ "product_categories": {
+ "example": [
+ "Furnitures",
+ "Toys"
+ ],
"items": {
"type": "string"
},
"type": "array"
},
- "unified_id": {
- "description": "lululemon's unified product id, a slug such as `Scuba-Evolve-Straight-Leg-Pant-Regular`.",
+ "slug": {
+ "example": "durus-industries",
"type": "string"
},
- "url": {
- "description": "URL of the product page on lululemon.",
- "type": "string"
+ "total_shipments": {
+ "example": 308,
+ "type": "integer"
}
},
"type": "object"
},
- "lululemon.Store": {
+ "importyeti.companyResponseDoc": {
"properties": {
- "address": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/importyeti.Company"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "importyeti.searchResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "amenities": {
- "$ref": "#/definitions/lululemon.StoreAmenities"
+ "data": {
+ "$ref": "#/definitions/importyeti.SearchResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "indeed.Job": {
+ "properties": {
+ "benefits": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
"city": {
+ "example": "New York",
"type": "string"
},
- "country": {
+ "company": {
+ "example": "dv01",
"type": "string"
},
- "distance_miles": {
+ "company_rating": {
+ "example": 3.5,
"type": "number"
},
- "hours": {
+ "company_review_count": {
+ "example": 20,
+ "type": "integer"
+ },
+ "company_url": {
+ "example": "https://www.indeed.com/cmp/Dv01",
+ "type": "string"
+ },
+ "country": {
+ "example": "US",
+ "type": "string"
+ },
+ "description_html": {
+ "type": "string"
+ },
+ "description_text": {
+ "type": "string"
+ },
+ "direct_apply": {
+ "example": true,
+ "type": "boolean"
+ },
+ "employment_type": {
"items": {
- "$ref": "#/definitions/lululemon.StoreHours"
+ "type": "string"
},
"type": "array"
},
- "id": {
+ "job_key": {
+ "example": "a055dc6ab3a91a3b",
"type": "string"
},
- "latitude": {
- "type": "number"
- },
- "longitude": {
- "type": "number"
+ "location": {
+ "example": "New York, NY 10003",
+ "type": "string"
},
- "message": {
+ "postal_code": {
+ "example": "10003",
"type": "string"
},
- "name": {
+ "posted_at": {
+ "example": "2026-06-29T16:52:09Z",
"type": "string"
},
- "slug": {
+ "remote": {
+ "example": false,
+ "type": "boolean"
+ },
+ "salary_currency": {
+ "example": "USD",
"type": "string"
},
- "state": {
+ "salary_max": {
+ "example": 160000,
+ "type": "number"
+ },
+ "salary_min": {
+ "example": 140000,
+ "type": "number"
+ },
+ "salary_period": {
+ "example": "yearly",
"type": "string"
},
- "state_name": {
+ "salary_text": {
+ "example": "$140,000 - $160,000 a year",
"type": "string"
},
- "status": {
+ "state": {
+ "example": "NY",
"type": "string"
},
- "store_type": {
+ "title": {
+ "example": "Senior Backend Engineer",
"type": "string"
},
"url": {
+ "example": "https://www.indeed.com/viewjob?jk=a055dc6ab3a91a3b",
+ "type": "string"
+ },
+ "valid_through": {
+ "example": "2026-11-10T07:28:05Z",
"type": "string"
}
},
"type": "object"
},
- "lululemon.StoreAmenities": {
+ "indeed.JobCard": {
"properties": {
- "buy_online_pickup_store": {
- "type": "boolean"
+ "city": {
+ "example": "New York",
+ "type": "string"
},
- "complementary_hemming": {
- "type": "boolean"
+ "company": {
+ "example": "dv01",
+ "type": "string"
},
- "curbside_pickup": {
- "type": "boolean"
+ "company_rating": {
+ "example": 3.6,
+ "type": "number"
},
- "footwear": {
- "type": "boolean"
+ "company_review_count": {
+ "example": 20,
+ "type": "integer"
},
- "has_mirror": {
+ "indeed_applyable": {
+ "example": true,
"type": "boolean"
},
- "like_new": {
+ "job_key": {
+ "example": "a055dc6ab3a91a3b",
+ "type": "string"
+ },
+ "job_types": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "location": {
+ "example": "New York, NY 10003",
+ "type": "string"
+ },
+ "new_job": {
+ "example": false,
"type": "boolean"
},
- "personal_shopping": {
+ "postal_code": {
+ "example": "10003",
+ "type": "string"
+ },
+ "posted_at": {
+ "example": "2026-06-29T16:52:09Z",
+ "type": "string"
+ },
+ "posted_relative": {
+ "example": "13 days ago",
+ "type": "string"
+ },
+ "remote": {
+ "example": false,
"type": "boolean"
},
- "returns_exchanges": {
+ "salary_currency": {
+ "example": "USD",
+ "type": "string"
+ },
+ "salary_max": {
+ "example": 160000,
+ "type": "number"
+ },
+ "salary_min": {
+ "example": 140000,
+ "type": "number"
+ },
+ "salary_period": {
+ "example": "yearly",
+ "type": "string"
+ },
+ "salary_text": {
+ "example": "$140,000 - $160,000 a year",
+ "type": "string"
+ },
+ "snippet": {
+ "example": "Interact with a diverse team...",
+ "type": "string"
+ },
+ "sponsored": {
+ "example": true,
"type": "boolean"
- }
- },
- "type": "object"
- },
- "lululemon.StoreHours": {
- "properties": {
- "close": {
+ },
+ "state": {
+ "example": "NY",
"type": "string"
},
- "day": {
+ "title": {
+ "example": "Senior Backend Engineer",
"type": "string"
},
- "open": {
+ "urgently_hiring": {
+ "example": false,
+ "type": "boolean"
+ },
+ "url": {
+ "example": "https://www.indeed.com/viewjob?jk=a055dc6ab3a91a3b",
"type": "string"
}
},
"type": "object"
},
- "lululemon.StoresResponse": {
+ "indeed.LocationSuggestResponse": {
"properties": {
- "count": {
- "type": "integer"
- },
- "fetched_at": {
- "type": "string"
- },
- "source_url": {
+ "query": {
+ "example": "Austin",
"type": "string"
},
- "stores": {
+ "suggestions": {
"items": {
- "$ref": "#/definitions/lululemon.Store"
+ "$ref": "#/definitions/indeed.LocationSuggestion"
},
"type": "array"
}
},
"type": "object"
},
- "lululemon.categoriesResponseDoc": {
+ "indeed.LocationSuggestion": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/lululemon.CategoriesResponse"
+ "name": {
+ "example": "Austin, TX (Travis County)",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "source": {
+ "example": "PRECISELY",
"type": "string"
}
},
"type": "object"
},
- "lululemon.categoryResponseDoc": {
+ "indeed.SearchResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "jobs": {
+ "items": {
+ "$ref": "#/definitions/indeed.JobCard"
+ },
+ "type": "array"
},
- "data": {
- "$ref": "#/definitions/lululemon.CategoryResponse"
+ "location": {
+ "example": "New York, NY",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "page": {
+ "example": 1,
+ "type": "integer"
+ },
+ "query": {
+ "example": "software engineer",
"type": "string"
+ },
+ "total": {
+ "example": 3040,
+ "type": "integer"
}
},
"type": "object"
},
- "lululemon.outfitResponseDoc": {
+ "indeed.jobResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/lululemon.OutfitResponse"
+ "$ref": "#/definitions/indeed.Job"
},
"msg": {
"example": "OK",
@@ -129633,14 +134809,14 @@
},
"type": "object"
},
- "lululemon.productDetailResponseDoc": {
+ "indeed.locationSuggestResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/lululemon.ProductDetailResponse"
+ "$ref": "#/definitions/indeed.LocationSuggestResponse"
},
"msg": {
"example": "OK",
@@ -129649,14 +134825,14 @@
},
"type": "object"
},
- "lululemon.storesResponseDoc": {
+ "indeed.searchResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/lululemon.StoresResponse"
+ "$ref": "#/definitions/indeed.SearchResponse"
},
"msg": {
"example": "OK",
@@ -129665,15 +134841,12 @@
},
"type": "object"
},
- "macrumors.AuthorArticle": {
+ "independent.AuthorArticle": {
"properties": {
- "image_url": {
- "type": "string"
- },
- "published_at": {
+ "section": {
"type": "string"
},
- "summary": {
+ "section_url": {
"type": "string"
},
"title": {
@@ -129685,18 +134858,18 @@
},
"type": "object"
},
- "macrumors.AuthorResponse": {
+ "independent.AuthorResponse": {
"properties": {
"articles": {
"items": {
- "$ref": "#/definitions/macrumors.AuthorArticle"
+ "$ref": "#/definitions/independent.AuthorArticle"
},
"type": "array"
},
"bio": {
"type": "string"
},
- "image_url": {
+ "job_title": {
"type": "string"
},
"name": {
@@ -129705,104 +134878,73 @@
"slug": {
"type": "string"
},
+ "twitter": {
+ "type": "string"
+ },
"url": {
"type": "string"
}
},
"type": "object"
},
- "macys.ProductColor": {
+ "indianexpress.AuthorArticle": {
"properties": {
- "current_price": {
- "type": "number"
+ "image_url": {
+ "type": "string"
},
- "id": {
+ "published_at": {
"type": "string"
},
- "name": {
+ "summary": {
"type": "string"
},
- "on_sale": {
- "type": "boolean"
+ "title": {
+ "type": "string"
},
- "regular_price": {
- "type": "number"
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "macys.ProductDetailResponse": {
+ "indianexpress.AuthorResponse": {
"properties": {
- "available": {
- "type": "boolean"
- },
- "brand": {
- "type": "string"
- },
- "bullet_points": {
+ "articles": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/indianexpress.AuthorArticle"
},
"type": "array"
},
- "categories": {
+ "biography": {
"items": {
"type": "string"
},
"type": "array"
},
- "colors": {
- "items": {
- "$ref": "#/definitions/macys.ProductColor"
- },
- "type": "array"
- },
- "currency_code": {
- "type": "string"
- },
- "current_price": {
- "type": "number"
- },
- "department_name": {
+ "image_url": {
"type": "string"
},
- "description": {
+ "name": {
"type": "string"
},
- "division_name": {
+ "url": {
"type": "string"
- },
- "fetched_at": {
+ }
+ },
+ "type": "object"
+ },
+ "indiatoday.AuthorArticle": {
+ "properties": {
+ "image_url": {
"type": "string"
},
- "images": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "low_availability": {
- "type": "boolean"
- },
- "name": {
+ "section": {
"type": "string"
},
- "on_sale": {
- "type": "boolean"
- },
- "product_id": {
+ "summary": {
"type": "string"
},
- "rating": {
- "type": "number"
- },
- "regular_price": {
- "type": "number"
- },
- "review_count": {
- "type": "integer"
- },
- "source_url": {
+ "title": {
"type": "string"
},
"url": {
@@ -129811,171 +134953,125 @@
},
"type": "object"
},
- "macys.ProductReviewsResponse": {
+ "indiatoday.AuthorResponse": {
"properties": {
- "average_rating": {
- "type": "number"
- },
- "count": {
- "type": "integer"
- },
- "fetched_at": {
- "type": "string"
- },
- "page": {
- "type": "integer"
- },
- "page_size": {
- "type": "integer"
- },
- "product_id": {
- "type": "string"
- },
- "rating_count": {
- "description": "RatingCount, AverageRating, RecommendedRatio, and RatingHistogram are\nthe product's site-wide aggregate rating summary, not just this page --\nabsent (zero-valued) for a product with no reviews yet.",
- "type": "integer"
- },
- "rating_histogram": {
- "description": "RatingHistogram is the count of ratings per star, ascending: index 0 is\n1-star, index 4 is 5-star.",
+ "articles": {
"items": {
- "type": "integer"
+ "$ref": "#/definitions/indiatoday.AuthorArticle"
},
"type": "array"
},
- "recommended_ratio": {
- "type": "number"
- },
- "reviews": {
+ "biography": {
"items": {
- "$ref": "#/definitions/macys.Review"
+ "type": "string"
},
"type": "array"
},
- "source_url": {
+ "image_url": {
"type": "string"
},
- "total_pages": {
- "type": "integer"
+ "name": {
+ "type": "string"
},
- "total_reviews": {
- "type": "integer"
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "macys.Review": {
+ "indiewire.AuthorArticle": {
"properties": {
- "author": {
- "type": "string"
- },
- "body": {
+ "published_at": {
"type": "string"
},
- "id": {
+ "section": {
"type": "string"
},
- "location": {
+ "summary": {
"type": "string"
},
- "rating": {
- "type": "integer"
- },
- "ratings_only": {
- "description": "RatingsOnly marks a review that carries only a star rating with no\nwritten title/body -- confirmed live 2026-08-11 that Macy's review\nplatform allows these and this endpoint still surfaces them.",
- "type": "boolean"
- },
- "recommended": {
- "type": "boolean"
- },
- "submitted_at": {
+ "title": {
"type": "string"
},
- "title": {
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "macys.SuggestResponse": {
+ "indiewire.AuthorResponse": {
"properties": {
- "count": {
- "type": "integer"
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/indiewire.AuthorArticle"
+ },
+ "type": "array"
},
- "fetched_at": {
- "type": "string"
+ "biography": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "query": {
+ "has_next_page": {
+ "type": "boolean"
+ },
+ "headshot_url": {
"type": "string"
},
- "source_url": {
+ "name": {
"type": "string"
},
- "suggestions": {
- "items": {
- "type": "string"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "macys.productDetailResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ "page": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/macys.ProductDetailResponse"
+ "social_links": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
},
- "msg": {
- "example": "OK",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "macys.productReviewsResponseDoc": {
+ "inews.AuthorArticle": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "image_url": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/macys.ProductReviewsResponse"
+ "published_at": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "section": {
"type": "string"
- }
- },
- "type": "object"
- },
- "macys.suggestResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/macys.SuggestResponse"
+ "summary": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "title": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "makeuseof.AuthorResponse": {
+ "inews.AuthorResponse": {
"properties": {
"articles": {
"items": {
- "$ref": "#/definitions/newsplatform.HeadlineItem"
+ "$ref": "#/definitions/inews.AuthorArticle"
},
"type": "array"
},
- "biography": {
+ "bio": {
"type": "string"
},
"image_url": {
@@ -129984,23 +135080,26 @@
"name": {
"type": "string"
},
- "social_links": {
+ "same_as": {
"items": {
- "$ref": "#/definitions/valnet.AuthorSocialLink"
+ "type": "string"
},
"type": "array"
},
- "title": {
- "type": "string"
- },
"url": {
"type": "string"
}
},
"type": "object"
},
- "marketwatch.AuthorArticle": {
+ "inquirer.AuthorArticle": {
"properties": {
+ "category": {
+ "type": "string"
+ },
+ "published_at": {
+ "type": "string"
+ },
"title": {
"type": "string"
},
@@ -130010,794 +135109,1194 @@
},
"type": "object"
},
- "marketwatch.AuthorResponse": {
+ "inquirer.AuthorResponse": {
"properties": {
"articles": {
"items": {
- "$ref": "#/definitions/marketwatch.AuthorArticle"
+ "$ref": "#/definitions/inquirer.AuthorArticle"
},
"type": "array"
},
- "bio": {
- "type": "string"
- },
- "job_title": {
- "type": "string"
- },
"name": {
"type": "string"
},
- "slug": {
- "type": "string"
+ "page": {
+ "type": "integer"
},
"url": {
"type": "string"
- },
- "works_for": {
- "type": "string"
}
},
"type": "object"
},
- "mashable.AuthorResponse": {
+ "instacart.Department": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/newsplatform.HeadlineItem"
- },
- "type": "array"
- },
- "biography": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "has_next_page": {
- "type": "boolean"
- },
- "image_url": {
+ "id": {
"type": "string"
},
"name": {
"type": "string"
},
- "page": {
- "type": "integer"
- },
"slug": {
"type": "string"
},
- "social_links": {
+ "subcategories": {
"items": {
- "$ref": "#/definitions/mashable.AuthorSocialLink"
+ "$ref": "#/definitions/instacart.Subcategory"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "instacart.DepartmentsResponse": {
+ "properties": {
+ "departments": {
+ "items": {
+ "$ref": "#/definitions/instacart.Department"
},
"type": "array"
},
- "title": {
- "type": "string"
- },
- "url": {
+ "shop_id": {
"type": "string"
}
},
"type": "object"
},
- "mashable.AuthorSocialLink": {
+ "instacart.ItemNutrition": {
"properties": {
- "platform": {
+ "label": {
"type": "string"
},
- "url": {
+ "unit": {
+ "type": "string"
+ },
+ "value": {
"type": "string"
}
},
"type": "object"
},
- "mcdonalds.CategoriesResponse": {
+ "instacart.ItemPrice": {
"properties": {
- "categories": {
- "items": {
- "$ref": "#/definitions/mcdonalds.Category"
- },
- "type": "array"
- },
- "count": {
- "example": 13,
- "type": "integer"
+ "current_price": {
+ "type": "number"
},
- "country": {
- "description": "Country echoes the market these slugs belong to. Slugs are NOT\nportable across markets -- pass the same country back to\n/mcdonalds/menu.",
- "example": "us",
+ "offer_label": {
"type": "string"
},
- "fetched_at": {
- "type": "string"
+ "on_sale": {
+ "type": "boolean"
},
- "source_url": {
+ "pricing_unit": {
"type": "string"
+ },
+ "regular_price": {
+ "type": "number"
}
},
"type": "object"
},
- "mcdonalds.Category": {
+ "instacart.ItemResponse": {
"properties": {
- "name": {
- "example": "Breakfast",
- "type": "string"
+ "available": {
+ "type": "boolean"
},
- "slug": {
- "example": "breakfast",
+ "brand_name": {
"type": "string"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "mcdonalds.ItemComponent": {
- "properties": {
- "allergens": {
+ "dietary_labels": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "id": {
"type": "string"
},
- "ingredients": {
+ "image_url": {
"type": "string"
- }
- },
- "type": "object"
- },
- "mcdonalds.ItemListEntry": {
- "properties": {
- "allergens": {
+ },
+ "name": {
"type": "string"
},
- "components": {
- "description": "Components is the per-part ingredient/allergen breakdown -- e.g. a\nburger's bun, patty, cheese and condiment each carry their own\nstatement. Absent for a single-part item.",
+ "nutrition": {
"items": {
- "$ref": "#/definitions/mcdonalds.ItemComponent"
+ "$ref": "#/definitions/instacart.ItemNutrition"
},
"type": "array"
},
- "description": {
+ "price": {
+ "$ref": "#/definitions/instacart.ItemPrice"
+ },
+ "product_id": {
"type": "string"
},
- "image_url": {
+ "size": {
"type": "string"
},
- "ingredients": {
+ "stock_level": {
"type": "string"
},
- "item_id": {
- "example": "200466",
+ "variant_options_summary": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "instacart.SearchNearbyResponse": {
+ "properties": {
+ "postal_code": {
"type": "string"
},
- "name": {
- "example": "Quarter Pounder with Cheese",
+ "query": {
"type": "string"
},
- "nutrients": {
+ "suggestions": {
"items": {
- "$ref": "#/definitions/mcdonalds.Nutrient"
+ "$ref": "#/definitions/instacart.SearchSuggestion"
},
"type": "array"
}
},
"type": "object"
},
- "mcdonalds.ItemListResponse": {
+ "instacart.SearchResponse": {
"properties": {
- "count": {
- "example": 3,
- "type": "integer"
- },
- "country": {
- "example": "us",
+ "query": {
"type": "string"
},
- "fetched_at": {
+ "shop_id": {
"type": "string"
},
- "items": {
+ "suggestions": {
"items": {
- "$ref": "#/definitions/mcdonalds.ItemListEntry"
+ "$ref": "#/definitions/instacart.SearchSuggestion"
},
"type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "instacart.SearchSuggestion": {
+ "properties": {
+ "relative_url": {
+ "type": "string"
},
- "requested": {
- "description": "Requested echoes the id list as asked for, so a caller can tell which\nids McDonald's returned nothing for.",
- "items": {
- "type": "string"
- },
- "type": "array"
+ "term": {
+ "type": "string"
},
- "source_url": {
+ "thumbnail_url": {
"type": "string"
}
},
"type": "object"
},
- "mcdonalds.ItemResponse": {
+ "instacart.Store": {
"properties": {
- "allergens": {
- "description": "Allergens is McDonald's own allergen statement for the item.",
- "type": "string"
+ "accepts_ebt": {
+ "description": "AcceptsEBT, SaverStore, and DeliveryETA are best-effort enrichment:\nseparate upstream calls (ShopTags, GetAccurateVisitorRetailerEtas)\nmade after the base store list, matched back by shop/retailer id. A\nfailure fetching either leaves these fields at their zero value\nrather than failing the whole Stores response -- see Service.Stores.",
+ "type": "boolean"
},
- "country": {
- "description": "Country echoes the market this item was read from. Item ids are NOT\nportable across markets.",
- "example": "us",
+ "delivery_eta": {
"type": "string"
},
- "description": {
+ "logo_url": {
"type": "string"
},
- "fetched_at": {
+ "name": {
"type": "string"
},
- "image_url": {
+ "retailer_id": {
"type": "string"
},
- "ingredients": {
- "description": "Ingredients is the full ingredient statement.",
+ "retailer_location_id": {
"type": "string"
},
- "item_id": {
- "example": "200463",
+ "retailer_type": {
"type": "string"
},
- "name": {
- "example": "Big Mac",
+ "saver_store": {
+ "type": "boolean"
+ },
+ "service_type": {
"type": "string"
},
- "nutrients": {
- "description": "Nutrients are the published per-serving nutrition values.",
- "items": {
- "$ref": "#/definitions/mcdonalds.Nutrient"
- },
- "type": "array"
+ "shop_id": {
+ "type": "string"
},
- "source_url": {
+ "slug": {
"type": "string"
}
},
"type": "object"
},
- "mcdonalds.MenuItemSummary": {
+ "instacart.StoreSearchResponse": {
"properties": {
- "calories": {
- "description": "Calories is McDonald's own per-item calorie label where the category\npage prints one; often blank.",
- "example": "460 Cal.",
- "type": "string"
- },
- "image_url": {
+ "postal_code": {
"type": "string"
},
- "item_id": {
- "example": "200300",
+ "stores": {
+ "items": {
+ "$ref": "#/definitions/instacart.Store"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "instacart.Subcategory": {
+ "properties": {
+ "id": {
"type": "string"
},
"name": {
- "example": "Bacon, Egg & Cheese Biscuit",
"type": "string"
},
- "product_url": {
+ "slug": {
"type": "string"
}
},
"type": "object"
},
- "mcdonalds.MenuResponse": {
+ "instacart.TrendingResponse": {
"properties": {
- "category": {
- "example": "breakfast",
- "type": "string"
- },
- "count": {
- "example": 32,
- "type": "integer"
- },
- "country": {
- "example": "us",
- "type": "string"
- },
- "fetched_at": {
+ "postal_code": {
"type": "string"
},
- "items": {
+ "terms": {
"items": {
- "$ref": "#/definitions/mcdonalds.MenuItemSummary"
+ "$ref": "#/definitions/instacart.SearchSuggestion"
},
"type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "instacart.departmentsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "source_url": {
+ "data": {
+ "$ref": "#/definitions/instacart.DepartmentsResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "mcdonalds.Nutrient": {
+ "instacart.itemResponseDoc": {
"properties": {
- "daily_value": {
- "description": "DailyValue is the percent-daily-value where McDonald's prints one.",
- "example": "45",
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "key": {
- "description": "Key is McDonald's stable machine identifier for the nutrient\n(e.g. \"calories\"), safer to match on than the display name.",
- "example": "calories",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/instacart.ItemResponse"
},
- "name": {
- "example": "Calories",
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "instacart.searchNearbyResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "unit": {
- "example": "Cal.",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/instacart.SearchNearbyResponse"
},
- "value": {
- "description": "Value is kept as a string because McDonald's publishes values like\n\"580\", \"1060\" and occasionally non-numeric qualifiers; parsing to a\nnumber here would silently drop the latter.",
- "example": "580",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "mcdonalds.Restaurant": {
+ "instacart.searchResponseDoc": {
"properties": {
- "address": {
- "example": "160 Broadway",
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "city": {
- "example": "New York",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/instacart.SearchResponse"
},
- "delivery_url": {
- "description": "DeliveryURL is the store's delivery deep link when one is published.\nNote McDonald's points this at a third-party delivery platform.",
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "instacart.storesResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "drive_thru_hours": {
+ "data": {
+ "$ref": "#/definitions/instacart.StoreSearchResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "instacart.trendingResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "facilities": {
- "description": "Facilities are McDonald's own amenity codes for the restaurant\n(e.g. GIFTCARDS, MOBILEOFFERS, DRIVETHRU, WIFI).",
- "items": {
- "type": "string"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/instacart.TrendingResponse"
},
- "hours": {
- "description": "Hours is the full week where McDonald's publishes it.",
- "items": {
- "$ref": "#/definitions/mcdonalds.RestaurantHours"
- },
- "type": "array"
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "instagram.BusinessAddress": {
+ "properties": {
+ "city_name": {
+ "description": "City and region of the business location, such as `Mountain View, California`.",
+ "example": "Mountain View, California",
+ "type": "string"
},
"latitude": {
- "example": 40.709438,
+ "description": "Latitude of the business location, in decimal degrees.",
+ "example": 37.4221,
"type": "number"
},
"longitude": {
- "example": -74.010086,
+ "description": "Longitude of the business location, in decimal degrees.",
+ "example": -122.08432,
"type": "number"
},
- "name": {
- "example": "160 BROADWAY",
- "type": "string"
- },
- "open_status": {
- "example": "OPEN",
- "type": "string"
- },
- "postal_code": {
- "example": "10038",
+ "street_address": {
+ "description": "Street address of the business location.",
+ "example": "1600 Amphitheatre Pkwy",
"type": "string"
},
- "state": {
- "example": "NY",
+ "zip_code": {
+ "description": "Postal code of the business location.",
+ "example": "94043",
"type": "string"
- },
- "store_id": {
- "example": "10528",
+ }
+ },
+ "type": "object"
+ },
+ "instagram.Caption": {
+ "properties": {
+ "text": {
+ "description": "Caption text of the reel.",
"type": "string"
},
- "telephone": {
- "example": "(212) 385-2066",
+ "user": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/instagram.User"
+ }
+ ],
+ "description": "Account that wrote the caption."
+ }
+ },
+ "type": "object"
+ },
+ "instagram.ClipsMetadata": {
+ "properties": {
+ "audio_type": {
+ "description": "Kind of audio used by the reel, as Instagram labels it.",
"type": "string"
},
- "timezone": {
- "type": "string"
+ "is_shared_to_fb": {
+ "description": "Whether the reel was also shared to Facebook.",
+ "type": "boolean"
},
- "today_hours": {
- "description": "TodayHours and DriveThruHours are the published windows for today.",
- "type": "string"
+ "original_sound_info": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/instagram.OriginalSoundInfo"
+ }
+ ],
+ "description": "Details of the original sound used in the reel."
}
},
"type": "object"
},
- "mcdonalds.RestaurantHours": {
+ "instagram.IGArtist": {
"properties": {
- "day_of_week": {
- "example": "monday",
+ "id": {
+ "description": "Instagram ID of the account credited for the sound.",
"type": "string"
},
- "hours": {
- "example": "00:00 - 00:00",
+ "username": {
+ "description": "Username of the account credited for the sound.",
"type": "string"
}
},
"type": "object"
},
- "mcdonalds.RestaurantMenuChoice": {
+ "instagram.IGCaption": {
"properties": {
- "options": {
- "items": {
- "$ref": "#/definitions/mcdonalds.RestaurantMenuChoiceOption"
- },
- "type": "array"
+ "created_at": {
+ "description": "Time the caption was written, in Unix seconds.",
+ "type": "integer"
+ },
+ "pk": {
+ "description": "Instagram ID of the caption.",
+ "type": "string"
+ },
+ "text": {
+ "description": "Caption text of the post.",
+ "type": "string"
}
},
"type": "object"
},
- "mcdonalds.RestaurantMenuChoiceOption": {
+ "instagram.IGOwner": {
"properties": {
- "item_id": {
- "example": "14877",
+ "id": {
+ "description": "Instagram ID of the account that owns the post.",
"type": "string"
},
- "name": {
- "example": "Lemonade",
+ "is_private": {
+ "description": "Whether the owning account is private.",
+ "type": "boolean"
+ },
+ "pk": {
+ "description": "Instagram primary key of the account that owns the post.",
"type": "string"
},
- "price_delta": {
- "description": "PriceDelta is the additional eat-in/pickup cost of choosing this\noption instead of what's already included: 0 for a same-priced\nswap, negative for a cheaper one, and equal to the option's own\nfull price for an add-on choice (nothing is included to offset\nagainst).",
- "example": 0.4,
- "type": "number"
+ "profile_pic_url": {
+ "description": "URL of the owning account's profile picture.",
+ "type": "string"
+ },
+ "username": {
+ "description": "Username of the account that owns the post.",
+ "type": "string"
}
},
"type": "object"
},
- "mcdonalds.RestaurantMenuItem": {
+ "instagram.IGUser": {
"properties": {
- "choices": {
- "description": "Choices lists this item's customizable components McDonald's\npublishes a curated substitute/add-on list for -- e.g. a meal's\ndrink upgrade options, or a dip-able item's sauce choices -- with\nthe live eat-in/pickup price delta for each real alternative.\nPresent only when the upstream payload exposed at least one such\nchoice for this item; see the package doc comment for how these are\nderived and the deliberate fail-closed rule behind what gets left\nout (in particular, plain entree/side substitution is not exposed\nat all -- McDonald's does not publish a curated candidate list for\nit, only for upgrade/add-on style choices).",
- "items": {
- "$ref": "#/definitions/mcdonalds.RestaurantMenuChoice"
- },
- "type": "array"
+ "full_name": {
+ "description": "Display name of the account that posted the media.",
+ "type": "string"
},
- "delivery_price": {
- "example": 8.39,
- "type": "number"
+ "id": {
+ "description": "Instagram ID of the account that posted the media.",
+ "type": "string"
},
- "eat_in_price": {
- "example": 7.29,
- "type": "number"
+ "is_private": {
+ "description": "Whether the account is private.",
+ "type": "boolean"
},
- "family_group": {
- "description": "FamilyGroup is McDonald's own internal product classification (e.g.\nREGULAR_ENTREE, DESSERT) -- not the same category list\n/mcdonalds/categories returns, and not always present.",
- "example": "REGULAR_ENTREE",
- "type": "string"
+ "is_verified": {
+ "description": "Whether the account has Instagram's verified badge.",
+ "type": "boolean"
},
- "image_url": {
+ "pk": {
+ "description": "Instagram primary key of the account that posted the media.",
"type": "string"
},
- "item_id": {
- "example": "5",
+ "profile_pic_url": {
+ "description": "URL of the account's profile picture.",
"type": "string"
},
- "name": {
- "example": "Big Mac®",
+ "username": {
+ "description": "Username of the account that posted the media.",
"type": "string"
- },
- "pickup_price": {
- "example": 7.29,
- "type": "number"
}
},
"type": "object"
},
- "mcdonalds.RestaurantMenuResponse": {
+ "instagram.ImageCandidate": {
"properties": {
- "count": {
- "example": 563,
+ "height": {
+ "description": "Height of this image version, in pixels.",
"type": "integer"
},
- "currency": {
- "example": "$",
- "type": "string"
- },
- "fetched_at": {
+ "url": {
+ "description": "URL of this image version.",
"type": "string"
},
- "items": {
+ "width": {
+ "description": "Width of this image version, in pixels.",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "instagram.ImageVersions2": {
+ "properties": {
+ "candidates": {
+ "description": "Available versions of the post image, each at its own size and URL.",
"items": {
- "$ref": "#/definitions/mcdonalds.RestaurantMenuItem"
+ "$ref": "#/definitions/instagram.ImageCandidate"
},
"type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "instagram.InstagramComment": {
+ "properties": {
+ "comment_like_count": {
+ "type": "integer"
},
- "source_url": {
+ "created_at": {
+ "type": "integer"
+ },
+ "id": {
"type": "string"
},
- "store_id": {
- "example": "10528",
+ "parent_comment_id": {
+ "type": "string"
+ },
+ "reply_count": {
+ "type": "integer"
+ },
+ "text": {
"type": "string"
+ },
+ "user": {
+ "$ref": "#/definitions/instagram.InstagramCommentUser"
}
},
"type": "object"
},
- "mcdonalds.RestaurantsResponse": {
+ "instagram.InstagramCommentUser": {
"properties": {
- "count": {
- "example": 5,
- "type": "integer"
- },
- "country": {
- "description": "Country echoes the market searched, so a response is self-describing\nwhen several markets are queried in one workflow.",
- "example": "us",
+ "id": {
"type": "string"
},
- "fetched_at": {
+ "profile_pic_url": {
"type": "string"
},
- "restaurants": {
+ "username": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "instagram.InstagramCommentsResponse": {
+ "properties": {
+ "comments": {
"items": {
- "$ref": "#/definitions/mcdonalds.Restaurant"
+ "$ref": "#/definitions/instagram.InstagramComment"
},
"type": "array"
},
- "source_url": {
+ "paging_info": {
+ "$ref": "#/definitions/instagram.PagingInfo"
+ },
+ "shortcode": {
"type": "string"
}
},
"type": "object"
},
- "mcdonalds.categoriesResponseDoc": {
+ "instagram.InstagramPostAuthor": {
"properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/mcdonalds.CategoriesResponse"
+ "id": {
+ "type": "string"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "username": {
+ "type": "string"
}
},
"type": "object"
},
- "mcdonalds.itemListResponseDoc": {
+ "instagram.InstagramUserPost": {
"properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "accessibility_caption": {
+ "type": "string"
+ },
+ "caption": {
+ "type": "string"
+ },
+ "carousel_media_count": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/mcdonalds.ItemListResponse"
+ "display_uri": {
+ "type": "string"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "id": {
+ "type": "string"
+ },
+ "media_type": {
+ "type": "integer"
+ },
+ "product_type": {
+ "type": "string"
+ },
+ "shortcode": {
+ "type": "string"
+ },
+ "user": {
+ "$ref": "#/definitions/instagram.InstagramPostAuthor"
}
},
"type": "object"
},
- "mcdonalds.itemResponseDoc": {
+ "instagram.InstagramUserPostsResponse": {
"properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
+ "items": {
+ "items": {
+ "$ref": "#/definitions/instagram.InstagramUserPost"
+ },
+ "type": "array"
},
- "data": {
- "$ref": "#/definitions/mcdonalds.ItemResponse"
+ "paging_info": {
+ "$ref": "#/definitions/instagram.PagingInfo"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "username": {
+ "type": "string"
}
},
"type": "object"
},
- "mcdonalds.menuResponseDoc": {
+ "instagram.Item": {
"properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/mcdonalds.MenuResponse"
- },
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "media": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/instagram.Media"
+ }
+ ],
+ "description": "The reel in this entry."
}
},
"type": "object"
},
- "mcdonalds.restaurantMenuResponseDoc": {
+ "instagram.Media": {
"properties": {
+ "caption": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/instagram.Caption"
+ }
+ ],
+ "description": "pointer so it can be nil"
+ },
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "string"
+ },
+ "comment_count": {
+ "description": "Number of comments on the reel.",
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/mcdonalds.RestaurantMenuResponse"
+ "display_uri": {
+ "description": "URL of the reel's thumbnail image.",
+ "type": "string"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "id": {
+ "description": "Instagram media ID of the reel.",
+ "type": "string"
+ },
+ "image_versions2": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/instagram.ReelImageVersions"
+ }
+ ],
+ "description": "Available versions of the reel's thumbnail, each with its own URL."
+ },
+ "like_count": {
+ "description": "Number of likes on the reel.",
+ "type": "integer"
+ },
+ "media_type": {
+ "description": "1=Image 2=Video 8=Album",
+ "type": "integer"
+ },
+ "play_count": {
+ "description": "Number of times the reel has been played.",
+ "type": "integer"
+ },
+ "taken_at": {
+ "description": "Time the reel was posted, in Unix seconds. Not available for public reels, so currently omitted.",
+ "type": "integer"
}
},
"type": "object"
},
- "mcdonalds.restaurantsResponseDoc": {
+ "instagram.MediaItem": {
"properties": {
+ "accessibility_caption": {
+ "description": "Image description (alt text) Instagram provides for accessibility.",
+ "type": "string"
+ },
+ "caption": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/instagram.IGCaption"
+ }
+ ],
+ "description": "Caption of the post."
+ },
+ "clips_metadata": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/instagram.ClipsMetadata"
+ }
+ ],
+ "description": "Reel-specific details such as the audio used."
+ },
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "string"
+ },
+ "comment_count": {
+ "description": "Number of comments on the post.",
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/mcdonalds.RestaurantsResponse"
+ "display_uri": {
+ "description": "URL of the post's display image.",
+ "type": "string"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "has_audio": {
+ "description": "Whether the media has an audio track.",
+ "type": "boolean"
+ },
+ "id": {
+ "description": "Instagram media ID, such as `3693449175561021455_1067259270`.",
+ "type": "string"
+ },
+ "image_versions2": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/instagram.ImageVersions2"
+ }
+ ],
+ "description": "Available versions of the post image, each with its own URL and size."
+ },
+ "like_count": {
+ "description": "Number of likes on the post.",
+ "type": "integer"
+ },
+ "link": {
+ "description": "Link Instagram returns with the media, when present.",
+ "type": "string"
+ },
+ "media_type": {
+ "description": "Kind of media: `1` for image, `2` for video and `8` for album.",
+ "type": "integer"
+ },
+ "original_height": {
+ "description": "Height of the original media, in pixels.",
+ "type": "integer"
+ },
+ "original_width": {
+ "description": "Width of the original media, in pixels.",
+ "type": "integer"
+ },
+ "owner": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/instagram.IGOwner"
+ }
+ ],
+ "description": "Account that owns the post."
+ },
+ "pk": {
+ "description": "Numeric Instagram ID of the post, the first part of `id`.",
+ "type": "string"
+ },
+ "product_type": {
+ "description": "Kind of post, such as `clips` for a Reel or `feed` for a standard post.",
+ "type": "string"
+ },
+ "taken_at": {
+ "description": "Time the post was published, in Unix seconds.",
+ "type": "integer"
+ },
+ "user": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/instagram.IGUser"
+ }
+ ],
+ "description": "Account that posted the media."
+ },
+ "video_versions": {
+ "description": "Available renditions of the video, each with its own URL and size.",
+ "items": {
+ "$ref": "#/definitions/instagram.VideoVersion"
+ },
+ "type": "array"
+ },
+ "view_count": {
+ "description": "Number of views on the video.",
+ "type": "integer"
}
},
"type": "object"
},
- "mediaite.AuthorArticle": {
+ "instagram.OriginalSoundInfo": {
"properties": {
- "date": {
+ "audio_asset_id": {
+ "description": "Instagram ID of the audio asset.",
"type": "string"
},
- "title": {
+ "ig_artist": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/instagram.IGArtist"
+ }
+ ],
+ "description": "Account credited for the sound."
+ },
+ "is_explicit": {
+ "description": "Whether the sound is marked explicit.",
+ "type": "boolean"
+ },
+ "original_audio_title": {
+ "description": "Title of the original sound.",
"type": "string"
},
- "url": {
+ "should_mute_audio": {
+ "description": "Whether Instagram flags the audio to be muted.",
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "instagram.PagingInfo": {
+ "properties": {
+ "max_id": {
+ "description": "Cursor to pass unchanged as `max_id` to fetch the next page of reels.",
"type": "string"
+ },
+ "more_available": {
+ "description": "Whether more reels are available after this page.",
+ "type": "boolean"
}
},
"type": "object"
},
- "mediaite.AuthorResponse": {
+ "instagram.Post": {
"properties": {
- "articles": {
+ "caption": {
+ "description": "Caption text of the post.",
+ "example": "You popped the big question. For all the questions that follow, try AI Mode in Search.",
+ "type": "string"
+ },
+ "children": {
+ "description": "nested carousel media",
"items": {
- "$ref": "#/definitions/mediaite.AuthorArticle"
+ "$ref": "#/definitions/instagram.Post"
},
"type": "array"
},
- "avatar_url": {
+ "comment_count": {
+ "description": "Number of comments on the post.",
+ "example": 43,
+ "type": "integer"
+ },
+ "height": {
+ "description": "Height of the post media, in pixels.",
+ "example": 1000,
+ "type": "integer"
+ },
+ "id": {
+ "description": "Instagram media ID of the post.",
+ "example": "3694065742636342530",
"type": "string"
},
- "bio": {
+ "is_video": {
+ "description": "Whether the post is a video.",
+ "example": false,
+ "type": "boolean"
+ },
+ "like_count": {
+ "description": "Number of likes on the post.",
+ "example": 1880,
+ "type": "integer"
+ },
+ "media_url": {
+ "description": "URL of the post's image, or its cover image for a video.",
+ "example": "https://scontent-lax3-2.cdninstagram.com/v/t51.2885-15/…n.jpg",
"type": "string"
},
- "email": {
+ "product_type": {
+ "description": "Kind of post, such as `clips` for a Reel or `feed` for a standard post.",
+ "example": "",
"type": "string"
},
- "name": {
+ "shortcode": {
+ "description": "Short code from the post URL. Use it as `post_id` with the post endpoint.",
+ "example": "DND9TiOx10C",
"type": "string"
},
- "slug": {
+ "taken_at": {
+ "example": "2025-08-07T17:16:14Z",
"type": "string"
},
- "twitter": {
+ "video_url": {
+ "description": "URL of the post's video. Present only for video posts.",
+ "example": "",
"type": "string"
},
+ "view_count": {
+ "description": "counters become pointers so they vanish when nil",
+ "example": 25023,
+ "type": "integer"
+ },
+ "width": {
+ "description": "Width of the post media, in pixels.",
+ "example": 750,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "instagram.ReelImageCandidate": {
+ "properties": {
+ "height": {
+ "description": "Height of this thumbnail version, in pixels. Omitted when unknown.",
+ "type": "integer"
+ },
"url": {
+ "description": "URL of this thumbnail version.",
"type": "string"
+ },
+ "width": {
+ "description": "Width of this thumbnail version, in pixels. Omitted when unknown.",
+ "type": "integer"
}
},
"type": "object"
},
- "medicalnewstoday.ArticleResponse": {
+ "instagram.ReelImageVersions": {
"properties": {
- "authors": {
+ "candidates": {
+ "description": "Available versions of the reel thumbnail, each with its own URL.",
"items": {
- "type": "string"
+ "$ref": "#/definitions/instagram.ReelImageCandidate"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "instagram.ReelResponse": {
+ "properties": {
+ "items": {
+ "description": "Reels on this page.",
+ "items": {
+ "$ref": "#/definitions/instagram.Item"
},
"type": "array"
},
- "description": {
+ "paging_info": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/instagram.PagingInfo"
+ }
+ ],
+ "description": "Cursor details for fetching the next page of reels."
+ }
+ },
+ "type": "object"
+ },
+ "instagram.RelatedProfile": {
+ "properties": {
+ "full_name": {
+ "description": "Display name of the suggested account.",
+ "example": "Gmail",
"type": "string"
},
- "image_url": {
+ "id": {
+ "description": "Numeric Instagram user ID of the suggested account.",
+ "example": "1234567890",
"type": "string"
},
- "paragraphs": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "is_private": {
+ "description": "Whether the suggested account is private.",
+ "example": false,
+ "type": "boolean"
},
- "paywalled": {
- "description": "Paywalled is true when the publisher serves only a teaser of this\narticle to anonymous readers, so Paragraphs is a partial body rather than\nthe full text. It is omitted when the full public body was returned.",
+ "is_verified": {
+ "description": "Whether the suggested account has Instagram's verified badge.",
+ "example": true,
"type": "boolean"
},
- "published_at": {
+ "profile_pic_url": {
+ "description": "URL of the suggested account's profile picture.",
+ "example": "https://…/profile.jpg",
"type": "string"
},
- "section": {
+ "username": {
+ "description": "Username of the suggested account.",
+ "example": "gmail",
"type": "string"
- },
- "title": {
+ }
+ },
+ "type": "object"
+ },
+ "instagram.User": {
+ "properties": {
+ "full_name": {
+ "description": "Display name of the account.",
"type": "string"
},
- "updated_at": {
+ "id": {
+ "description": "Numeric Instagram user ID of the account.",
"type": "string"
},
- "url": {
+ "username": {
+ "description": "Username of the account.",
"type": "string"
}
},
"type": "object"
},
- "medicalnewstoday.AuthorResponse": {
+ "instagram.UserProfile": {
"properties": {
- "articles": {
+ "bio_links": {
+ "description": "Links listed in the profile bio.",
+ "example": [
+ "[\"https://linkin.bio/google\"]"
+ ],
"items": {
- "$ref": "#/definitions/newsplatform.HeadlineItem"
+ "type": "string"
},
"type": "array"
},
- "bio": {
+ "biography": {
+ "description": "Bio text shown on the profile.",
+ "example": "Here to help.",
"type": "string"
},
- "name": {
+ "category_name": {
+ "description": "not present in sample",
+ "example": "",
"type": "string"
},
- "slug": {
+ "external_url": {
+ "description": "Website link shown on the profile.",
+ "example": "https://linkin.bio/google",
"type": "string"
},
- "url": {
+ "fbid": {
+ "description": "Alternate numeric ID of the account, as Instagram returns it.",
+ "example": "17841401778116675",
"type": "string"
- }
- },
- "type": "object"
- },
- "medicalnewstoday.HeadlinesResponse": {
- "properties": {
- "items": {
+ },
+ "followers_count": {
+ "description": "Number of accounts following this profile.",
+ "example": 15607284,
+ "type": "integer"
+ },
+ "following_count": {
+ "description": "Number of accounts this profile follows.",
+ "example": 38,
+ "type": "integer"
+ },
+ "full_name": {
+ "description": "Display name shown on the profile.",
+ "example": "Google",
+ "type": "string"
+ },
+ "id": {
+ "description": "Numeric Instagram user ID. Use it with the reels endpoint.",
+ "example": "1067259270",
+ "type": "string"
+ },
+ "is_private": {
+ "description": "Whether the account is private.",
+ "example": false,
+ "type": "boolean"
+ },
+ "is_verified": {
+ "description": "Whether the account has Instagram's verified badge.",
+ "example": true,
+ "type": "boolean"
+ },
+ "location": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/instagram.BusinessAddress"
+ }
+ ],
+ "description": "Business address shown on the profile."
+ },
+ "posts": {
+ "description": "Recent posts shown on the profile.",
"items": {
- "$ref": "#/definitions/newsplatform.HeadlineItem"
+ "$ref": "#/definitions/instagram.Post"
},
"type": "array"
},
- "section": {
+ "posts_count": {
+ "description": "Total number of posts on the profile.",
+ "example": 2867,
+ "type": "integer"
+ },
+ "profile_pic_url": {
+ "description": "URL of the profile picture.",
+ "example": "https://scontent-lax3-1.cdninstagram.com/v/t51.2885-19/…n.jpg",
"type": "string"
- }
- },
- "type": "object"
- },
- "medicalnewstoday.NewsResponse": {
- "properties": {
- "items": {
+ },
+ "related_profiles": {
+ "description": "Accounts Instagram suggests as related to this profile.",
"items": {
- "$ref": "#/definitions/newsplatform.HeadlineItem"
+ "$ref": "#/definitions/instagram.RelatedProfile"
},
"type": "array"
+ },
+ "username": {
+ "description": "Instagram username of the profile.",
+ "example": "google",
+ "type": "string"
}
},
"type": "object"
},
- "medicalnewstoday.SectionsResponse": {
+ "instagram.VideoVersion": {
"properties": {
- "sections": {
- "items": {
- "$ref": "#/definitions/newsplatform.Section"
- },
- "type": "array"
+ "height": {
+ "description": "Height of this video rendition, in pixels.",
+ "type": "integer"
+ },
+ "type": {
+ "description": "Instagram's numeric code for this video rendition.",
+ "type": "integer"
+ },
+ "url": {
+ "description": "URL of this video rendition.",
+ "type": "string"
+ },
+ "width": {
+ "description": "Width of this video rendition, in pixels.",
+ "type": "integer"
}
},
"type": "object"
},
- "medicalnewstoday.articleResponseDoc": {
+ "instagram.commentsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/medicalnewstoday.ArticleResponse"
+ "$ref": "#/definitions/instagram.InstagramCommentsResponse"
},
"msg": {
"example": "OK",
@@ -130806,14 +136305,14 @@
},
"type": "object"
},
- "medicalnewstoday.authorResponseDoc": {
+ "instagram.postResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/medicalnewstoday.AuthorResponse"
+ "$ref": "#/definitions/instagram.MediaItem"
},
"msg": {
"example": "OK",
@@ -130822,14 +136321,14 @@
},
"type": "object"
},
- "medicalnewstoday.headlinesResponseDoc": {
+ "instagram.profileResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/medicalnewstoday.HeadlinesResponse"
+ "$ref": "#/definitions/instagram.UserProfile"
},
"msg": {
"example": "OK",
@@ -130838,14 +136337,14 @@
},
"type": "object"
},
- "medicalnewstoday.newsResponseDoc": {
+ "instagram.reelsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/medicalnewstoday.NewsResponse"
+ "$ref": "#/definitions/instagram.ReelResponse"
},
"msg": {
"example": "OK",
@@ -130854,14 +136353,14 @@
},
"type": "object"
},
- "medicalnewstoday.sectionsResponseDoc": {
+ "instagram.userPostsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/medicalnewstoday.SectionsResponse"
+ "$ref": "#/definitions/instagram.InstagramUserPostsResponse"
},
"msg": {
"example": "OK",
@@ -130870,47 +136369,79 @@
},
"type": "object"
},
- "men.AuthorArticle": {
+ "investopedia.AuthorInfoItem": {
"properties": {
"label": {
"type": "string"
},
- "label_url": {
- "type": "string"
- },
- "title": {
+ "url": {
"type": "string"
},
- "url": {
+ "value": {
"type": "string"
}
},
"type": "object"
},
- "men.AuthorResponse": {
+ "investopedia.AuthorResponse": {
"properties": {
"articles": {
"items": {
- "$ref": "#/definitions/men.AuthorArticle"
+ "$ref": "#/definitions/investopedia.HeadlineItem"
},
"type": "array"
},
- "bio": {
+ "biography": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "description": {
"type": "string"
},
- "email": {
+ "image_url": {
"type": "string"
},
+ "info": {
+ "items": {
+ "$ref": "#/definitions/investopedia.AuthorInfoItem"
+ },
+ "type": "array"
+ },
"job_title": {
"type": "string"
},
"name": {
"type": "string"
},
- "slug": {
+ "quote": {
"type": "string"
},
- "twitter": {
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "investopedia.HeadlineItem": {
+ "properties": {
+ "author": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "published_at": {
+ "type": "string"
+ },
+ "summary": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "type": {
"type": "string"
},
"url": {
@@ -130919,1547 +136450,1727 @@
},
"type": "object"
},
- "mercari.AutocompleteResponse": {
+ "iol.AuthorArticle": {
"properties": {
- "query": {
+ "published_date": {
+ "description": "PublishedDate is the YYYY-MM-DD date IOL puts in the article URL. The\nauthor page itself only shows a relative \"2 days ago\" label, so this is\nomitted for the rare undated (partnered) URL.",
"type": "string"
},
- "suggestions": {
+ "section": {
+ "type": "string"
+ },
+ "summary": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "iol.AuthorResponse": {
+ "properties": {
+ "articles": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/iol.AuthorArticle"
},
"type": "array"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "role": {
+ "type": "string"
+ },
+ "slug": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "mercari.Brand": {
+ "irishindependent.AuthorArticle": {
"properties": {
- "id": {
- "type": "integer"
+ "image_url": {
+ "type": "string"
},
- "name": {
+ "paywalled": {
+ "description": "Paywalled is true when the article is premium (subscriber) content.",
+ "type": "boolean"
+ },
+ "published_at": {
+ "type": "string"
+ },
+ "section": {
+ "type": "string"
+ },
+ "summary": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "mercari.Category": {
+ "irishindependent.AuthorResponse": {
"properties": {
- "icon_url": {
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/irishindependent.AuthorArticle"
+ },
+ "type": "array"
+ },
+ "bio": {
"type": "string"
},
- "id": {
- "type": "integer"
+ "email": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
},
"name": {
"type": "string"
},
- "parent_id": {
+ "same_as": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "title": {
+ "type": "string"
+ },
+ "total_articles": {
+ "description": "TotalArticles is the number of articles the profile lists in total; the\nArticles slice holds only the first page of them.",
"type": "integer"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "mercari.HomeResponse": {
+ "irishtimes.AuthorResponse": {
"properties": {
- "items": {
+ "articles": {
"items": {
- "$ref": "#/definitions/mercari.ItemSummary"
+ "$ref": "#/definitions/newsplatform.HeadlineItem"
+ },
+ "type": "array"
+ },
+ "biography": {
+ "items": {
+ "type": "string"
},
"type": "array"
+ },
+ "email": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "job_title": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "twitter": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "mercari.ItemDetailResponse": {
+ "itchio.BrowseGroup": {
"properties": {
- "category_code": {
- "type": "integer"
- },
- "condition_code": {
- "type": "integer"
- },
- "description": {
+ "label": {
"type": "string"
},
- "hashtags": {
+ "values": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/itchio.BrowseOption"
},
"type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "itchio.BrowseOption": {
+ "properties": {
+ "action": {
+ "type": "string"
},
- "id": {
+ "label": {
"type": "string"
},
- "photos": {
+ "path": {
+ "type": "string"
+ },
+ "selected": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "itchio.BrowseOptions": {
+ "properties": {
+ "classification": {
+ "type": "string"
+ },
+ "current_facets": {
+ "type": "object"
+ },
+ "groups": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/itchio.BrowseGroup"
},
"type": "array"
},
- "price_cents": {
- "type": "integer"
+ "open_tag_vocabulary": {
+ "type": "boolean"
},
- "shipping_from_state": {
+ "path": {
"type": "string"
},
- "similar_items": {
+ "sorts": {
"items": {
- "$ref": "#/definitions/mercari.ItemSummary"
+ "$ref": "#/definitions/itchio.BrowseOption"
},
"type": "array"
},
- "title": {
- "type": "string"
- },
- "url": {
+ "tags_endpoint": {
"type": "string"
}
},
"type": "object"
},
- "mercari.ItemSummary": {
+ "itchio.BrowseOptionsResponseDoc": {
"properties": {
- "condition_code": {
+ "code": {
"type": "integer"
},
- "created_at_unix": {
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/itchio.BrowseOptions"
},
- "id": {
+ "msg": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "itchio.CalendarJam": {
+ "properties": {
+ "end_date": {
"type": "string"
},
- "num_likes": {
+ "featured": {
"type": "integer"
},
- "original_price_cents": {
+ "highlight": {
+ "type": "object"
+ },
+ "hue": {
"type": "integer"
},
- "price_cents": {
+ "id": {
"type": "integer"
},
- "seller_id": {
- "type": "string"
+ "joined": {
+ "type": "integer"
},
- "thumbnail_url": {
+ "start_date": {
"type": "string"
},
"title": {
"type": "string"
},
- "updated_at_unix": {
- "type": "integer"
- },
"url": {
"type": "string"
+ },
+ "voting_end_date": {
+ "type": "string"
}
},
"type": "object"
},
- "mercari.MasterResponse": {
+ "itchio.Information": {
"properties": {
- "brands": {
- "items": {
- "$ref": "#/definitions/mercari.Brand"
- },
- "type": "array"
+ "label": {
+ "type": "string"
},
- "categories": {
+ "links": {
"items": {
- "$ref": "#/definitions/mercari.Category"
+ "$ref": "#/definitions/itchio.Link"
},
"type": "array"
},
- "sizes": {
- "items": {
- "$ref": "#/definitions/mercari.Size"
- },
- "type": "array"
+ "value": {
+ "type": "string"
}
},
"type": "object"
},
- "mercari.SearchResponse": {
+ "itchio.Item": {
"properties": {
- "items": {
- "items": {
- "$ref": "#/definitions/mercari.ItemSummary"
- },
- "type": "array"
+ "creator": {
+ "type": "string"
},
- "query": {
+ "creator_url": {
"type": "string"
},
- "total_results": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "mercari.Size": {
- "properties": {
- "code": {
+ "description": {
+ "type": "string"
+ },
+ "genre": {
"type": "string"
},
"id": {
- "type": "integer"
+ "type": "string"
},
- "name": {
+ "image_url": {
"type": "string"
},
- "short_name": {
+ "price": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "mercari.autocompleteResponseDoc": {
+ "itchio.JamBrowseOptions": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "groups": {
+ "items": {
+ "$ref": "#/definitions/itchio.JamFilterGroup"
+ },
+ "type": "array"
},
- "data": {
- "$ref": "#/definitions/mercari.AutocompleteResponse"
+ "links": {
+ "items": {
+ "$ref": "#/definitions/itchio.BrowseOption"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "path": {
"type": "string"
+ },
+ "sorts": {
+ "items": {
+ "$ref": "#/definitions/itchio.BrowseOption"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "mercari.homeResponseDoc": {
+ "itchio.JamBrowseOptionsResponseDoc": {
"properties": {
"code": {
- "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/mercari.HomeResponse"
+ "$ref": "#/definitions/itchio.JamBrowseOptions"
},
"msg": {
- "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "mercari.masterResponseDoc": {
+ "itchio.JamCalendar": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/mercari.MasterResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "jams": {
+ "items": {
+ "$ref": "#/definitions/itchio.CalendarJam"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "mercari.searchResponseDoc": {
+ "itchio.JamCalendarResponseDoc": {
"properties": {
"code": {
- "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/mercari.SearchResponse"
+ "$ref": "#/definitions/itchio.JamCalendar"
},
"msg": {
- "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "metacritic.BrowseItem": {
+ "itchio.JamCard": {
"properties": {
- "description": {
+ "cover_url": {
"type": "string"
},
- "genres": {
+ "dates": {
"items": {
- "$ref": "#/definitions/metacritic.Genre"
+ "$ref": "#/definitions/itchio.JamDate"
},
"type": "array"
},
- "id": {
- "type": "integer"
- },
- "image": {
+ "duration": {
"type": "string"
},
- "metascore": {
- "$ref": "#/definitions/metacritic.ScoreSummary"
- },
- "premiere_year": {
- "type": "integer"
+ "featured": {
+ "type": "boolean"
},
- "rating": {
+ "hosted_by_text": {
"type": "string"
},
- "release_date": {
- "type": "string"
+ "hosts": {
+ "items": {
+ "$ref": "#/definitions/itchio.Link"
+ },
+ "type": "array"
},
- "season_count": {
- "type": "integer"
+ "ranked": {
+ "type": "boolean"
},
- "slug": {
+ "results_url": {
"type": "string"
},
- "title": {
+ "stats": {
+ "items": {
+ "$ref": "#/definitions/itchio.JamStat"
+ },
+ "type": "array"
+ },
+ "timing_text": {
"type": "string"
},
- "type": {
- "example": "game",
+ "title": {
"type": "string"
},
"url": {
"type": "string"
- },
- "user_score": {
- "type": "number"
}
},
"type": "object"
},
- "metacritic.BrowseResponse": {
+ "itchio.JamCriterionScore": {
"properties": {
- "genre": {
+ "label": {
"type": "string"
},
- "items": {
- "items": {
- "$ref": "#/definitions/metacritic.BrowseItem"
- },
- "type": "array"
- },
- "page": {
- "type": "integer"
- },
- "per_page": {
- "type": "integer"
+ "path": {
+ "type": "string"
},
- "sort": {
+ "rank": {
"type": "string"
},
- "total": {
- "type": "integer"
+ "raw_score": {
+ "type": "string"
},
- "type": {
+ "score": {
"type": "string"
}
},
"type": "object"
},
- "metacritic.Credit": {
+ "itchio.JamDate": {
"properties": {
- "name": {
- "description": "Name of the person credited.",
+ "text": {
"type": "string"
},
- "role": {
- "description": "Role of the person on the title, for example `Director`.",
- "example": "Director",
+ "title": {
"type": "string"
}
},
"type": "object"
},
- "metacritic.CriticReview": {
+ "itchio.JamEntries": {
"properties": {
- "author": {
- "description": "Name of the critic who wrote the review.",
+ "entries_url": {
"type": "string"
},
- "date": {
- "description": "Date the review was published, in YYYY-MM-DD.",
- "example": "2022-02-23",
- "type": "string"
+ "generated_on": {
+ "type": "number"
},
- "platform": {
- "description": "Platform the game was reviewed on. Set for game reviews.",
- "type": "string"
+ "jam_games": {
+ "items": {
+ "$ref": "#/definitions/itchio.JamEntry"
+ },
+ "type": "array"
},
- "publication": {
- "description": "Name of the publication that published the review.",
+ "path": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "itchio.JamEntriesResponseDoc": {
+ "properties": {
+ "code": {
+ "type": "integer"
},
- "publication_slug": {
- "description": "Metacritic slug of the publication.",
+ "data": {
+ "$ref": "#/definitions/itchio.JamEntries"
+ },
+ "msg": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "itchio.JamEntry": {
+ "properties": {
+ "contributors": {
+ "items": {
+ "$ref": "#/definitions/itchio.JamEntryCredit"
+ },
+ "type": "array"
},
- "quote": {
- "description": "Excerpt or summary of the review text.",
+ "coolness": {
+ "type": "integer"
+ },
+ "created_at": {
"type": "string"
},
- "score": {
- "description": "Score the critic gave, out of 100. Omitted when the review has no score.",
+ "game": {
+ "$ref": "#/definitions/itchio.JamEntryGame"
+ },
+ "id": {
+ "type": "integer"
+ },
+ "rating_count": {
"type": "integer"
},
"url": {
- "description": "URL of the full review on the publication's site.",
"type": "string"
}
},
"type": "object"
},
- "metacritic.CriticReviewsResponse": {
+ "itchio.JamEntryCredit": {
"properties": {
- "page": {
- "description": "Page number returned, starting at 1.",
- "type": "integer"
+ "name": {
+ "type": "string"
},
- "per_page": {
- "description": "Number of reviews per page.",
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "itchio.JamEntryGame": {
+ "properties": {
+ "cover": {
+ "type": "string"
+ },
+ "cover_color": {
+ "type": "string"
+ },
+ "gif_cover": {
+ "type": "string"
+ },
+ "id": {
"type": "integer"
},
- "reviews": {
- "description": "Critic reviews on this page.",
+ "platforms": {
"items": {
- "$ref": "#/definitions/metacritic.CriticReview"
+ "type": "string"
},
"type": "array"
},
- "slug": {
- "description": "Metacritic slug of the title the reviews belong to.",
+ "price": {
"type": "string"
},
- "sort": {
- "description": "Sort order applied: `date`, `score` or `publication`.",
+ "short_text": {
"type": "string"
},
- "total": {
- "description": "Total number of critic reviews for the title.",
- "type": "integer"
+ "tags": {
+ "items": {
+ "$ref": "#/definitions/itchio.JamEntryCredit"
+ },
+ "type": "array"
},
- "type": {
- "description": "Content type of the title: `game`, `movie` or `tv`.",
+ "title": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
+ },
+ "user": {
+ "$ref": "#/definitions/itchio.JamEntryUser"
}
},
"type": "object"
},
- "metacritic.Genre": {
+ "itchio.JamEntryUser": {
"properties": {
"id": {
- "description": "Metacritic genre id.",
"type": "integer"
},
"name": {
- "description": "Genre name, for example `Action RPG`.",
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "metacritic.Platform": {
+ "itchio.JamFilterGroup": {
"properties": {
- "id": {
- "description": "Metacritic platform id.",
- "type": "integer"
- },
- "is_lead": {
- "description": "Whether this is the game's lead platform.",
- "type": "boolean"
- },
- "metascore": {
- "allOf": [
- {
- "$ref": "#/definitions/metacritic.ScoreSummary"
- }
- ],
- "description": "Critic score summary for the game on this platform."
- },
- "name": {
- "description": "Platform name, for example `PlayStation 5`.",
- "example": "PlayStation 5",
+ "clear_path": {
"type": "string"
},
- "release_date": {
- "description": "Release date of the game on this platform.",
+ "label": {
"type": "string"
+ },
+ "values": {
+ "items": {
+ "$ref": "#/definitions/itchio.BrowseOption"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "metacritic.Product": {
+ "itchio.JamListing": {
"properties": {
- "countries": {
- "description": "Countries Metacritic lists for the title.",
+ "items": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/itchio.JamCard"
},
"type": "array"
},
- "description": {
- "description": "Plot or game summary as shown on Metacritic.",
- "type": "string"
+ "num_items": {
+ "type": "integer"
},
- "duration": {
- "description": "Running time of the title as Metacritic lists it.",
+ "page": {
"type": "integer"
},
- "genres": {
- "description": "Genres Metacritic assigns to the title.",
+ "pagination": {
"items": {
- "$ref": "#/definitions/metacritic.Genre"
+ "$ref": "#/definitions/itchio.Link"
},
"type": "array"
},
- "id": {
- "description": "Metacritic's numeric id for the title.",
+ "path": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "itchio.JamListingResponseDoc": {
+ "properties": {
+ "code": {
"type": "integer"
},
- "image": {
- "description": "Main image of the title as Metacritic lists it.",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/itchio.JamListing"
},
- "imdb_id": {
- "description": "IMDb id of the title, for example `tt0903747`.",
+ "msg": {
"type": "string"
- },
- "imdb_url": {
- "description": "URL of the title's IMDb page.",
+ }
+ },
+ "type": "object"
+ },
+ "itchio.JamOverview": {
+ "properties": {
+ "banner_url": {
"type": "string"
},
- "in_theaters": {
- "description": "Whether the movie is currently in theaters. Omitted when false.",
- "type": "boolean"
+ "description": {
+ "type": "string"
},
- "metascore": {
- "allOf": [
- {
- "$ref": "#/definitions/metacritic.ScoreSummary"
- }
- ],
- "description": "Critic score summary for the title."
+ "end_date": {
+ "type": "string"
},
- "networks": {
- "description": "TV networks that air the show.",
+ "hosting_links": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/itchio.Link"
},
"type": "array"
},
- "platforms": {
- "description": "Platforms the game is released on, each with its own Metascore.",
- "items": {
- "$ref": "#/definitions/metacritic.Platform"
- },
- "type": "array"
+ "hosting_text": {
+ "type": "string"
},
- "premiere_year": {
- "description": "Year the title premiered or was first released.",
+ "id": {
"type": "integer"
},
- "production": {
- "allOf": [
- {
- "$ref": "#/definitions/metacritic.Production"
- }
- ],
- "description": "Companies, crew and official site for the title."
+ "navigation": {
+ "items": {
+ "$ref": "#/definitions/itchio.Link"
+ },
+ "type": "array"
},
- "rating": {
- "description": "Content rating of the title, for example `M` or `TV-MA`.",
- "example": "M",
+ "path": {
"type": "string"
},
- "release_date": {
- "description": "Release date of the title, in YYYY-MM-DD.",
- "example": "2022-02-25",
+ "start_date": {
"type": "string"
},
- "season_count": {
- "description": "Number of seasons of the show.",
- "type": "integer"
- },
- "slug": {
- "description": "Metacritic URL slug of the title. Use it with the review endpoints.",
- "type": "string"
+ "stats": {
+ "items": {
+ "$ref": "#/definitions/itchio.JamOverviewStat"
+ },
+ "type": "array"
},
- "tagline": {
- "description": "Marketing tagline of the title.",
+ "status_text": {
"type": "string"
},
"title": {
- "description": "Title name as shown on Metacritic.",
- "type": "string"
- },
- "type": {
- "description": "Content type of the title: `game`, `movie` or `tv`.",
- "example": "game",
"type": "string"
},
"url": {
- "description": "Metacritic page URL of the title.",
"type": "string"
},
- "user_score": {
- "allOf": [
- {
- "$ref": "#/definitions/metacritic.ScoreSummary"
- }
- ],
- "description": "User score summary for the title. Omitted when it has no user score yet."
- },
- "video": {
- "allOf": [
- {
- "$ref": "#/definitions/metacritic.Video"
- }
- ],
- "description": "Trailer or clip Metacritic links for the title."
+ "voting_end_date": {
+ "type": "string"
}
},
"type": "object"
},
- "metacritic.Production": {
+ "itchio.JamOverviewResponseDoc": {
"properties": {
- "companies": {
- "description": "Companies involved in making or publishing the title, without duplicates (up to 12).",
- "items": {
- "type": "string"
- },
- "type": "array"
+ "code": {
+ "type": "integer"
},
- "crew": {
- "description": "Crew credits for the title.",
- "items": {
- "$ref": "#/definitions/metacritic.Credit"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/itchio.JamOverview"
},
- "official_site": {
- "description": "URL of the title's official website.",
+ "msg": {
"type": "string"
}
},
"type": "object"
},
- "metacritic.ScoreSummary": {
+ "itchio.JamOverviewStat": {
"properties": {
- "max": {
- "description": "Highest possible value of `score`, for example `100`.",
- "example": 100,
- "type": "integer"
- },
- "negative_count": {
- "description": "Number of negative reviews counted in the score.",
- "type": "integer"
- },
- "neutral_count": {
- "description": "Number of neutral (mixed) reviews counted in the score.",
- "type": "integer"
- },
- "positive_count": {
- "description": "Number of positive reviews counted in the score.",
- "type": "integer"
- },
- "review_count": {
- "description": "Number of reviews the score is based on.",
- "type": "integer"
- },
- "score": {
- "description": "Score value on the scale given by `max`. Metascores are out of 100 and user scores out of 10.",
- "type": "number"
+ "label": {
+ "type": "string"
},
- "sentiment": {
- "description": "Metacritic's verdict for the score, for example `Universal acclaim`.",
- "example": "Universal acclaim",
+ "title": {
"type": "string"
},
"url": {
- "description": "Metacritic page listing the reviews behind the score.",
+ "type": "string"
+ },
+ "value": {
"type": "string"
}
},
"type": "object"
},
- "metacritic.UserReview": {
+ "itchio.JamRankedGame": {
"properties": {
- "author": {
- "description": "Username of the member who wrote the review.",
+ "cover_url": {
"type": "string"
},
- "date": {
- "description": "Date the review was posted, in YYYY-MM-DD.",
- "type": "string"
+ "creators": {
+ "items": {
+ "$ref": "#/definitions/itchio.Link"
+ },
+ "type": "array"
},
- "id": {
- "description": "Metacritic review id.",
+ "rank": {
"type": "string"
},
- "platform": {
- "description": "Platform the game was reviewed on. Set for game reviews.",
+ "ranking_text": {
"type": "string"
},
- "quote": {
- "description": "Text of the user review.",
+ "scores": {
+ "items": {
+ "$ref": "#/definitions/itchio.JamCriterionScore"
+ },
+ "type": "array"
+ },
+ "submission_url": {
"type": "string"
},
- "score": {
- "description": "Score the user gave, out of 10. Omitted when the review has no score.",
- "type": "integer"
+ "title": {
+ "type": "string"
},
- "spoiler": {
- "description": "Whether the review is flagged as containing spoilers.",
- "type": "boolean"
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "itchio.JamResultCriterion": {
+ "properties": {
+ "label": {
+ "type": "string"
},
- "thumbs_down": {
- "description": "Number of members who voted the review not helpful.",
- "type": "integer"
+ "path": {
+ "type": "string"
},
- "thumbs_up": {
- "description": "Number of members who voted the review helpful.",
- "type": "integer"
+ "selected": {
+ "type": "boolean"
}
},
"type": "object"
},
- "metacritic.UserReviewsResponse": {
+ "itchio.JamResults": {
"properties": {
- "page": {
- "description": "Page number returned, starting at 1.",
+ "items": {
+ "items": {
+ "$ref": "#/definitions/itchio.JamRankedGame"
+ },
+ "type": "array"
+ },
+ "num_items": {
"type": "integer"
},
- "per_page": {
- "description": "Number of reviews per page.",
+ "page": {
"type": "integer"
},
- "reviews": {
- "description": "User reviews on this page.",
+ "page_label": {
+ "type": "string"
+ },
+ "pagination": {
"items": {
- "$ref": "#/definitions/metacritic.UserReview"
+ "$ref": "#/definitions/itchio.Link"
},
"type": "array"
},
- "slug": {
- "description": "Metacritic slug of the title the reviews belong to.",
+ "path": {
"type": "string"
},
- "sort": {
- "description": "Sort order applied: `date`, `score` or `helpful`.",
+ "summary_text": {
"type": "string"
},
- "total": {
- "description": "Total number of user reviews for the title.",
- "type": "integer"
- },
- "type": {
- "description": "Content type of the title: `game`, `movie` or `tv`.",
+ "title": {
"type": "string"
}
},
"type": "object"
},
- "metacritic.Video": {
+ "itchio.JamResultsOptions": {
"properties": {
- "duration": {
- "description": "Length of the video as Metacritic lists it.",
- "type": "integer"
+ "criteria": {
+ "items": {
+ "$ref": "#/definitions/itchio.JamResultCriterion"
+ },
+ "type": "array"
},
- "embed_url": {
- "description": "URL for embedding the video player.",
+ "jam_url": {
"type": "string"
},
- "title": {
- "description": "Title of the video.",
+ "path": {
"type": "string"
},
- "url": {
- "description": "URL of the video.",
+ "title": {
"type": "string"
}
},
"type": "object"
},
- "metacritic.browseResponseDoc": {
+ "itchio.JamResultsOptionsResponseDoc": {
"properties": {
"code": {
- "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/metacritic.BrowseResponse"
+ "$ref": "#/definitions/itchio.JamResultsOptions"
},
"msg": {
- "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "metacritic.criticReviewsResponseDoc": {
+ "itchio.JamResultsResponseDoc": {
"properties": {
"code": {
- "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/metacritic.CriticReviewsResponse"
+ "$ref": "#/definitions/itchio.JamResults"
},
"msg": {
- "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "metacritic.productResponseDoc": {
+ "itchio.JamStat": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/metacritic.Product"
- },
- "msg": {
- "example": "OK",
+ "label": {
"type": "string"
- }
- },
- "type": "object"
- },
- "metacritic.userReviewsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/metacritic.UserReviewsResponse"
+ "url": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "value": {
"type": "string"
}
},
"type": "object"
},
- "metaculus.ForecastHistoryPoint": {
+ "itchio.JamSubmission": {
"properties": {
- "center": {
- "description": "Central value of the community forecast, as Metaculus reports it. Same as the first value in `centers`.",
- "example": 0.36,
- "type": "number"
- },
- "centers": {
- "description": "All central values of the forecast, as Metaculus reports them. Multiple-choice questions have one per option.",
+ "creators": {
"items": {
- "type": "number"
+ "$ref": "#/definitions/itchio.Link"
},
"type": "array"
},
- "end_time": {
- "description": "End of the period this point covers, in UTC (RFC 3339).",
- "example": "2026-06-01T17:06:20Z",
+ "game_id": {
+ "type": "integer"
+ },
+ "jam_title": {
"type": "string"
},
- "end_ts": {
- "description": "End of the period this point covers, in Unix seconds.",
- "example": 1780333580.206417,
- "type": "number"
+ "jam_url": {
+ "type": "string"
},
- "forecaster_count": {
- "description": "Number of forecasters behind this point.",
- "example": 17,
- "type": "integer"
+ "path": {
+ "type": "string"
},
- "interval_lower_bounds": {
- "description": "All lower interval bounds of the forecast, in the same order as `centers`.",
- "items": {
- "type": "number"
- },
- "type": "array"
+ "project_url": {
+ "type": "string"
},
- "interval_upper_bounds": {
- "description": "All upper interval bounds of the forecast, in the same order as `centers`.",
+ "ranking_text": {
+ "type": "string"
+ },
+ "results_available": {
+ "type": "boolean"
+ },
+ "results_url": {
+ "type": "string"
+ },
+ "scores": {
"items": {
- "type": "number"
+ "$ref": "#/definitions/itchio.JamCriterionScore"
},
"type": "array"
},
- "lower": {
- "description": "Lower bound of the forecast interval, as Metaculus reports it.",
- "example": 0.26,
- "type": "number"
+ "submitted_by_text": {
+ "type": "string"
},
- "start_time": {
- "description": "Start of the period this point covers, in UTC (RFC 3339).",
- "example": "2026-06-01T17:00:00Z",
+ "summary": {
"type": "string"
},
- "start_ts": {
- "description": "Start of the period this point covers, in Unix seconds.",
- "example": 1780333200,
- "type": "number"
+ "title": {
+ "type": "string"
},
- "upper": {
- "description": "Upper bound of the forecast interval, as Metaculus reports it.",
- "example": 0.61,
- "type": "number"
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "metaculus.ForecastHistoryResponse": {
+ "itchio.JamSubmissionResponseDoc": {
"properties": {
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-06-07T14:00:00Z",
- "type": "string"
- },
- "max_points": {
- "description": "Maximum number of history points requested. When there are more, the most recent are returned.",
- "example": 500,
+ "code": {
"type": "integer"
},
- "method": {
- "description": "Aggregation method used: `recency_weighted`, `unweighted` or `single_aggregation`.",
- "example": "recency_weighted",
+ "data": {
+ "$ref": "#/definitions/itchio.JamSubmission"
+ },
+ "msg": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "itchio.Link": {
+ "properties": {
+ "text": {
"type": "string"
},
- "points": {
- "description": "Forecast history points in time order, one item per period.",
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "itchio.Listing": {
+ "properties": {
+ "classification": {
+ "type": "string"
+ },
+ "items": {
"items": {
- "$ref": "#/definitions/metaculus.ForecastHistoryPoint"
+ "$ref": "#/definitions/itchio.Item"
},
"type": "array"
},
- "points_count": {
- "description": "Number of history points returned.",
- "example": 25,
+ "num_items": {
"type": "integer"
},
- "public_page_derived": {
- "description": "Always `true`: the values are those shown publicly on Metaculus, without a login.",
- "example": true,
- "type": "boolean"
+ "page": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "itchio.ListingResponseDoc": {
+ "properties": {
+ "code": {
+ "type": "integer"
},
- "question": {
- "allOf": [
- {
- "$ref": "#/definitions/metaculus.QuestionRow"
- }
- ],
- "description": "Summary of the Metaculus question this response is about."
+ "data": {
+ "$ref": "#/definitions/itchio.Listing"
},
- "source_url": {
- "description": "URL the data was read from.",
- "example": "https://www.metaculus.com/questions/43612/",
+ "msg": {
"type": "string"
}
},
"type": "object"
},
- "metaculus.ForecastSummary": {
+ "itchio.Project": {
"properties": {
- "center": {
- "description": "Central value of the community forecast, as Metaculus reports it.",
- "example": 0.52,
- "type": "number"
+ "description": {
+ "type": "string"
},
- "centers": {
- "description": "All central values of the forecast, as Metaculus reports them. Multiple-choice questions have one per option.",
+ "id": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "information": {
"items": {
- "type": "number"
+ "$ref": "#/definitions/itchio.Information"
},
"type": "array"
},
- "forecaster_count": {
- "description": "Number of forecasters behind the latest forecast.",
- "example": 54,
+ "summary": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "itchio.ProjectResponseDoc": {
+ "properties": {
+ "code": {
"type": "integer"
},
- "history_points": {
- "description": "Number of history points available for this method.",
- "example": 25,
+ "data": {
+ "$ref": "#/definitions/itchio.Project"
+ },
+ "msg": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "itchio.TagsResponseDoc": {
+ "properties": {
+ "code": {
"type": "integer"
},
- "interval_lower_bounds": {
- "description": "All lower interval bounds of the forecast, in the same order as `centers`.",
- "items": {
- "type": "number"
- },
- "type": "array"
+ "data": {
+ "additionalProperties": true,
+ "type": "object"
},
- "interval_upper_bounds": {
- "description": "All upper interval bounds of the forecast, in the same order as `centers`.",
+ "msg": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "japantimes.AuthorResponse": {
+ "properties": {
+ "articles": {
"items": {
- "type": "number"
+ "$ref": "#/definitions/newsplatform.HeadlineItem"
},
"type": "array"
},
- "lower": {
- "description": "Lower bound of the forecast interval, as Metaculus reports it.",
- "example": 0.37,
- "type": "number"
- },
- "method": {
- "description": "Aggregation method name, for example `recency_weighted`, `unweighted` or `single_aggregation`.",
- "example": "recency_weighted",
+ "name": {
"type": "string"
},
- "upper": {
- "description": "Upper bound of the forecast interval, as Metaculus reports it.",
- "example": 0.66,
- "type": "number"
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "metaculus.ForecastsResponse": {
+ "jcrew.CategoriesResponse": {
"properties": {
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-06-07T14:00:00Z",
- "type": "string"
- },
- "methods": {
- "description": "Latest forecast per aggregation method, with the preferred methods first.",
+ "categories": {
"items": {
- "$ref": "#/definitions/metaculus.ForecastSummary"
+ "$ref": "#/definitions/jcrew.NavCategory"
},
"type": "array"
},
- "methods_count": {
- "description": "Number of aggregation methods returned.",
- "example": 3,
- "type": "integer"
+ "departments": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "public_page_derived": {
- "description": "Always `true`: the values are those shown publicly on Metaculus, without a login.",
- "example": true,
- "type": "boolean"
+ "fetched_at": {
+ "type": "string"
},
- "question": {
- "allOf": [
- {
- "$ref": "#/definitions/metaculus.QuestionRow"
- }
- ],
- "description": "Summary of the Metaculus question this response is about."
+ "site": {
+ "type": "string"
},
"source_url": {
- "description": "URL the data was read from.",
- "example": "https://www.metaculus.com/questions/43612/",
"type": "string"
}
},
"type": "object"
},
- "metaculus.OptionForecast": {
+ "jcrew.CategoryProduct": {
"properties": {
- "center": {
- "description": "Central value of the community forecast for this option.",
- "example": 0.42,
+ "average_rating": {
"type": "number"
},
- "forecast_value": {
- "description": "Forecast value for this option, as Metaculus reports it.",
- "example": 0.42,
- "type": "number"
+ "badge": {
+ "type": "string"
},
- "forecaster_count": {
- "description": "Number of forecasters behind this option's forecast.",
- "example": 5,
+ "color_codes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "currency": {
+ "type": "string"
+ },
+ "default_color_code": {
+ "type": "string"
+ },
+ "discount_max_percent": {
"type": "integer"
},
- "index": {
- "description": "Position of the option in the question's option list, starting at 0.",
- "example": 0,
+ "discount_min_percent": {
"type": "integer"
},
- "label": {
- "description": "Name of the option, for example `OpenAI`.",
- "example": "OpenAI",
+ "family_id": {
"type": "string"
},
- "lower": {
- "description": "Lower bound of the forecast interval for this option.",
- "example": 0.31,
- "type": "number"
+ "id": {
+ "type": "string"
},
- "mean": {
- "description": "Mean of the community forecast for this option.",
- "example": 0.39,
- "type": "number"
+ "name": {
+ "type": "string"
},
- "upper": {
- "description": "Upper bound of the forecast interval for this option.",
- "example": 0.43,
+ "price": {
"type": "number"
+ },
+ "review_count": {
+ "type": "integer"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "metaculus.OptionsChange": {
+ "jcrew.CategoryResponse": {
"properties": {
- "changed_at": {
- "description": "Time the option list changed, as Metaculus reports it.",
- "example": "0001-01-01T00:00:00",
+ "category": {
"type": "string"
},
- "options": {
- "description": "Option labels in effect from that time.",
+ "count": {
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "gender": {
+ "type": "string"
+ },
+ "label": {
+ "type": "string"
+ },
+ "page": {
+ "type": "integer"
+ },
+ "products": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/jcrew.CategoryProduct"
},
"type": "array"
+ },
+ "result_count": {
+ "type": "integer"
+ },
+ "site": {
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "total_pages": {
+ "description": "TotalPages is computed from ResultCount at the upstream's own fixed\n60-per-page size.",
+ "type": "integer"
}
},
"type": "object"
},
- "metaculus.OptionsResponse": {
+ "jcrew.Facet": {
"properties": {
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-06-07T14:00:00Z",
+ "is_range": {
+ "type": "boolean"
+ },
+ "label": {
"type": "string"
},
- "method": {
- "description": "Aggregation method used: `recency_weighted`, `unweighted` or `single_aggregation`.",
- "example": "recency_weighted",
+ "name": {
"type": "string"
},
"options": {
- "description": "Latest forecast for each option of the question.",
"items": {
- "$ref": "#/definitions/metaculus.OptionForecast"
+ "$ref": "#/definitions/jcrew.FacetOption"
},
"type": "array"
},
- "options_count": {
- "description": "Number of options returned.",
- "example": 2,
+ "range_max": {
+ "type": "number"
+ },
+ "range_min": {
+ "type": "number"
+ },
+ "type": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "jcrew.FacetOption": {
+ "properties": {
+ "count": {
"type": "integer"
},
- "options_history": {
- "description": "Earlier versions of the option list, when the options changed.",
+ "label": {
+ "type": "string"
+ },
+ "value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "jcrew.Hour": {
+ "properties": {
+ "open_intervals": {
"items": {
- "$ref": "#/definitions/metaculus.OptionsChange"
+ "$ref": "#/definitions/jcrew.TimeInterval"
},
"type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "jcrew.NavCategory": {
+ "properties": {
+ "category": {
+ "type": "string"
},
- "public_page_derived": {
- "description": "Always `true`: the values are those shown publicly on Metaculus, without a login.",
- "example": true,
- "type": "boolean"
+ "department": {
+ "type": "string"
},
- "question": {
- "allOf": [
- {
- "$ref": "#/definitions/metaculus.QuestionRow"
- }
- ],
- "description": "Summary of the Metaculus question this response is about."
+ "label": {
+ "type": "string"
},
- "source_url": {
- "description": "URL the data was read from.",
- "example": "https://www.metaculus.com/questions/43731/",
+ "section": {
"type": "string"
}
},
"type": "object"
},
- "metaculus.Project": {
+ "jcrew.ProductColor": {
"properties": {
- "emoji": {
- "description": "Emoji shown next to the category or project on Metaculus.",
- "example": "💼",
- "type": "string"
- },
- "id": {
- "description": "Metaculus id of the category or project.",
- "example": 3698,
- "type": "integer"
- },
- "name": {
- "description": "Display name, for example `Economy & Business`.",
- "example": "Economy & Business",
+ "code": {
"type": "string"
},
- "slug": {
- "description": "URL slug, for example `economy-business`.",
- "example": "economy-business",
+ "image_url": {
"type": "string"
},
- "type": {
- "description": "Kind of project, for example `category` or `tournament`.",
- "example": "category",
+ "name": {
"type": "string"
}
},
"type": "object"
},
- "metaculus.QuestionMetadataResponse": {
+ "jcrew.ProductDetailResponse": {
"properties": {
- "actual_close_time": {
- "description": "Time the question actually closed to forecasts, as Metaculus reports it.",
- "example": "2026-12-30T23:59:00Z",
+ "average_rating": {
+ "type": "number"
+ },
+ "brand": {
"type": "string"
},
- "actual_resolve_time": {
- "description": "Time the question actually resolved, as Metaculus reports it.",
- "example": "2027-01-02T00:00:00Z",
+ "category_id": {
"type": "string"
},
- "all_options_ever": {
- "description": "Every option label the question has ever had.",
+ "colors": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/jcrew.ProductColor"
},
"type": "array"
},
- "default_aggregation_method": {
- "description": "Aggregation method Metaculus shows by default, for example `recency_weighted`.",
- "example": "recency_weighted",
+ "currency": {
"type": "string"
},
- "default_score_type": {
- "description": "Score type Metaculus uses by default, for example `peer`.",
- "example": "peer",
+ "description": {
"type": "string"
},
"fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-06-07T14:00:00Z",
"type": "string"
},
- "group_variable": {
- "description": "Name of the variable that distinguishes the questions in a group, for example `Company`.",
- "example": "Company",
+ "fit_description": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "gender": {
"type": "string"
},
- "inbound_outcome_count": {
- "description": "Number of outcomes inside the question's range.",
- "example": 10,
- "type": "integer"
+ "list_price": {
+ "type": "number"
},
- "include_bots_in_aggregates": {
- "description": "Whether bot forecasts are included in the aggregate forecasts.",
- "example": false,
- "type": "boolean"
+ "name": {
+ "type": "string"
},
- "open_lower_bound": {
- "description": "Whether the answer can fall below the lower end of the range.",
- "example": false,
- "type": "boolean"
+ "pid": {
+ "type": "string"
},
- "open_upper_bound": {
- "description": "Whether the answer can fall above the upper end of the range.",
- "example": false,
- "type": "boolean"
+ "rating_count": {
+ "type": "integer"
},
- "options": {
- "description": "Current option labels of a multiple-choice question.",
+ "site": {
+ "type": "string"
+ },
+ "sizes": {
"items": {
"type": "string"
},
"type": "array"
},
- "options_history": {
- "description": "Earlier versions of the option list, when the options changed.",
+ "skus": {
"items": {
- "$ref": "#/definitions/metaculus.OptionsChange"
+ "$ref": "#/definitions/jcrew.ProductSKU"
},
"type": "array"
},
- "options_order": {
- "description": "How the options are ordered, for example `DEFAULT`.",
- "example": "DEFAULT",
+ "source_url": {
"type": "string"
},
- "possibilities": {
- "description": "Possible outcomes of the question, as Metaculus describes them."
- },
- "public_page_derived": {
- "description": "Always `true`: the values are those shown publicly on Metaculus, without a login.",
- "example": true,
- "type": "boolean"
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "jcrew.ProductReviewsResponse": {
+ "properties": {
+ "average_rating": {
+ "type": "number"
},
- "question": {
- "allOf": [
- {
- "$ref": "#/definitions/metaculus.QuestionRow"
- }
- ],
- "description": "Summary of the Metaculus question this response is about."
+ "count": {
+ "type": "integer"
},
- "resolution": {
- "description": "Resolution of the question, as Metaculus reports it. Omitted while unresolved.",
+ "fetched_at": {
"type": "string"
},
- "resolution_set_time": {
- "description": "Time the resolution was set, as Metaculus reports it.",
- "example": "2027-01-02T00:00:00Z",
+ "page": {
+ "type": "integer"
+ },
+ "page_size": {
+ "type": "integer"
+ },
+ "pid": {
"type": "string"
},
- "scaling": {
- "allOf": [
- {
- "$ref": "#/definitions/metaculus.QuestionScaling"
- }
- ],
- "description": "Range and scale settings of a numeric or date question."
+ "rating_count": {
+ "type": "integer"
},
- "short_title": {
- "description": "Short form of the question title.",
- "example": "OpenAI or Anthropic - higher valuation on Jan 1, 2027?",
+ "rating_histogram": {
+ "description": "RatingHistogram is the count of ratings per star, ascending: index 0\nis 1-star, index 4 is 5-star.",
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "recommended_ratio": {
+ "type": "number"
+ },
+ "reviews": {
+ "items": {
+ "$ref": "#/definitions/jcrew.Review"
+ },
+ "type": "array"
+ },
+ "site": {
"type": "string"
},
"source_url": {
- "description": "URL the data was read from.",
- "example": "https://www.metaculus.com/questions/43731/",
"type": "string"
+ },
+ "total_pages": {
+ "type": "integer"
+ },
+ "total_reviews": {
+ "type": "integer"
}
},
"type": "object"
},
- "metaculus.QuestionResponse": {
+ "jcrew.ProductSKU": {
"properties": {
- "fetched_at": {
- "example": "2026-06-07T14:00:00Z",
+ "color_code": {
"type": "string"
},
- "question": {
- "$ref": "#/definitions/metaculus.QuestionRow"
+ "color_name": {
+ "type": "string"
},
- "source_url": {
- "example": "https://www.metaculus.com/questions/43612/",
+ "currency": {
+ "type": "string"
+ },
+ "orderable": {
+ "type": "boolean"
+ },
+ "price": {
+ "type": "number"
+ },
+ "size": {
"type": "string"
}
},
"type": "object"
},
- "metaculus.QuestionRow": {
+ "jcrew.ProductSummary": {
"properties": {
- "categories": {
- "description": "Categories the question is filed under.",
- "items": {
- "$ref": "#/definitions/metaculus.Project"
- },
- "type": "array"
+ "description": {
+ "type": "string"
},
- "comment_count": {
- "description": "Number of comments on the question.",
- "example": 16,
- "type": "integer"
+ "family_id": {
+ "type": "string"
},
- "edited_at": {
- "description": "Time the question was last edited, in UTC (RFC 3339).",
- "example": "2026-06-07T13:14:34Z",
+ "gender": {
"type": "string"
},
- "forecaster_count": {
- "description": "Number of forecasters who have forecast on the question.",
- "example": 54,
- "type": "integer"
+ "id": {
+ "type": "string"
},
- "forecasts_count": {
- "description": "Total number of forecasts submitted on the question.",
- "example": 149,
- "type": "integer"
+ "image_url": {
+ "type": "string"
},
- "id": {
- "description": "Metaculus post id of the question. Use it with the question endpoints.",
- "example": 43612,
- "type": "integer"
+ "name": {
+ "type": "string"
},
- "latest_forecast_center": {
- "description": "Central value of the latest community forecast, as Metaculus reports it.",
- "example": 0.52,
+ "orderable": {
+ "type": "boolean"
+ },
+ "price_max": {
"type": "number"
},
- "latest_forecast_lower": {
- "description": "Lower bound of the latest community forecast interval.",
- "example": 0.37,
+ "price_min": {
"type": "number"
},
- "latest_forecast_upper": {
- "description": "Upper bound of the latest community forecast interval.",
- "example": 0.66,
+ "sale_price_max": {
"type": "number"
},
- "open_time": {
- "description": "Time the question opened for forecasts, in UTC (RFC 3339).",
- "example": "2026-06-01T17:00:00Z",
+ "sale_price_min": {
+ "type": "number"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "jcrew.Review": {
+ "properties": {
+ "author": {
"type": "string"
},
- "projects": {
- "description": "Tournaments and projects the question belongs to.",
- "items": {
- "$ref": "#/definitions/metaculus.Project"
- },
- "type": "array"
+ "body": {
+ "type": "string"
},
- "public_page_derived": {
- "description": "Always `true`: the values are those shown publicly on Metaculus, without a login.",
- "example": true,
- "type": "boolean"
+ "created_at": {
+ "type": "string"
},
- "published_at": {
- "description": "Time the question was published, in UTC (RFC 3339).",
- "example": "2026-05-29T15:33:53Z",
+ "headline": {
"type": "string"
},
- "question_id": {
- "description": "Metaculus id of the underlying question, which can differ from the post `id`.",
- "example": 43609,
+ "helpful_votes": {
"type": "integer"
},
- "question_title": {
- "description": "Full wording of the question.",
- "example": "What will be the World Bank monthly price of liquid sulphur in June 2026?",
+ "id": {
"type": "string"
},
- "question_type": {
- "description": "Question type, for example `binary`, `numeric` or `multiple_choice`.",
- "example": "numeric",
+ "location": {
"type": "string"
},
- "resolved": {
- "description": "Whether the question has been resolved.",
- "example": false,
- "type": "boolean"
+ "not_helpful_votes": {
+ "type": "integer"
},
- "scheduled_close_time": {
- "description": "Time the question is scheduled to close to forecasts, in UTC (RFC 3339).",
- "example": "2026-07-15T00:00:00Z",
+ "rating": {
+ "type": "integer"
+ },
+ "updated_at": {
"type": "string"
},
- "scheduled_resolve_time": {
- "description": "Time the question is scheduled to resolve, in UTC (RFC 3339).",
- "example": "2026-09-07T00:00:00Z",
+ "verified_purchase": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "jcrew.SearchResponse": {
+ "properties": {
+ "count": {
+ "type": "integer"
+ },
+ "facets": {
+ "items": {
+ "$ref": "#/definitions/jcrew.Facet"
+ },
+ "type": "array"
+ },
+ "fetched_at": {
"type": "string"
},
- "slug": {
- "description": "URL slug of the question.",
- "example": "tampa-sulphur-price-in-june-2026",
+ "filter": {
"type": "string"
},
- "status": {
- "description": "Question status on Metaculus, for example `open`.",
- "example": "open",
+ "keyword": {
"type": "string"
},
- "title": {
- "description": "Question title as shown on Metaculus.",
- "example": "Tampa sulphur price in June 2026?",
+ "page": {
+ "type": "integer"
+ },
+ "per_page": {
+ "type": "integer"
+ },
+ "products": {
+ "items": {
+ "$ref": "#/definitions/jcrew.ProductSummary"
+ },
+ "type": "array"
+ },
+ "site": {
"type": "string"
},
- "unit": {
- "description": "Unit of the answer for numeric questions, for example `USD/metric ton`.",
- "example": "USD/metric ton",
+ "sort": {
"type": "string"
},
- "url": {
- "description": "Metaculus page URL of the question.",
- "example": "https://www.metaculus.com/questions/43612/tampa-sulphur-price-in-june-2026/",
+ "source_url": {
"type": "string"
+ },
+ "total_pages": {
+ "type": "integer"
+ },
+ "total_products": {
+ "type": "integer"
}
},
"type": "object"
},
- "metaculus.QuestionScaling": {
+ "jcrew.SizeChartResponse": {
"properties": {
- "continuous_range": {
- "description": "ContinuousRange passes through Metaculus's scaling.continuous_range: null\nfor discrete questions, an array of numbers (the CDF internal locations)\nfor continuous/numeric ones. It was previously typed []string, so hydrating\na commented continuous question failed to decode and 503'd the comments\nfeeds; numbers are the correct element type.",
- "items": {},
+ "columns": {
+ "items": {
+ "type": "string"
+ },
"type": "array"
},
- "inbound_outcome_count": {
- "description": "Number of outcomes inside the question's range.",
- "example": 10,
- "type": "integer"
+ "fetched_at": {
+ "type": "string"
},
- "nominal_max": {
- "description": "Highest value of the range as shown to forecasters.",
- "example": 100,
- "type": "number"
+ "pid": {
+ "type": "string"
},
- "nominal_min": {
- "description": "Lowest value of the range as shown to forecasters.",
- "example": 0,
- "type": "number"
+ "site": {
+ "type": "string"
},
- "open_lower_bound": {
- "description": "Whether the answer can fall below the lower end of the range.",
- "example": false,
- "type": "boolean"
+ "sizes": {
+ "items": {
+ "$ref": "#/definitions/jcrew.SizeChartRow"
+ },
+ "type": "array"
},
- "open_upper_bound": {
- "description": "Whether the answer can fall above the upper end of the range.",
- "example": false,
- "type": "boolean"
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "jcrew.SizeChartRow": {
+ "properties": {
+ "imperial": {
+ "additionalProperties": {
+ "format": "float64",
+ "type": "number"
+ },
+ "type": "object"
},
- "range_max": {
- "description": "Upper end of the question's range.",
- "example": 100,
+ "metric": {
+ "additionalProperties": {
+ "format": "float64",
+ "type": "number"
+ },
+ "type": "object"
+ },
+ "size": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "jcrew.Store": {
+ "properties": {
+ "address": {
+ "type": "string"
+ },
+ "city": {
+ "type": "string"
+ },
+ "country": {
+ "type": "string"
+ },
+ "distance_miles": {
"type": "number"
},
- "range_min": {
- "description": "Lower end of the question's range.",
- "example": 0,
+ "hours": {
+ "additionalProperties": {
+ "$ref": "#/definitions/jcrew.Hour"
+ },
+ "type": "object"
+ },
+ "id": {
+ "type": "string"
+ },
+ "latitude": {
"type": "number"
},
- "zero_point": {
- "description": "Zero point of the question's range, when Metaculus defines one.",
- "example": 0,
+ "longitude": {
"type": "number"
+ },
+ "name": {
+ "type": "string"
+ },
+ "phone": {
+ "type": "string"
+ },
+ "postal_code": {
+ "type": "string"
+ },
+ "region": {
+ "type": "string"
+ },
+ "services": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "metaculus.QuestionsResponse": {
+ "jcrew.StoreResponse": {
"properties": {
- "feed": {
- "description": "Feed the questions came from, for example `questions`.",
- "example": "questions",
- "type": "string"
+ "count": {
+ "type": "integer"
},
"fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-06-07T14:00:00Z",
"type": "string"
},
- "limit": {
- "description": "Maximum number of questions requested.",
- "example": 10,
- "type": "integer"
+ "site": {
+ "type": "string"
},
- "questions": {
- "description": "Questions in the feed, one item per question.",
+ "source_url": {
+ "type": "string"
+ },
+ "stores": {
"items": {
- "$ref": "#/definitions/metaculus.QuestionRow"
+ "$ref": "#/definitions/jcrew.Store"
},
"type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "jcrew.SuggestResponse": {
+ "properties": {
+ "count": {
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "query": {
+ "type": "string"
+ },
+ "site": {
+ "type": "string"
},
"source_url": {
- "description": "URL the data was read from.",
- "example": "https://www.metaculus.com/questions/",
"type": "string"
+ },
+ "suggestions": {
+ "items": {
+ "$ref": "#/definitions/jcrew.Suggestion"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "metaculus.forecastHistoryResponseDoc": {
+ "jcrew.Suggestion": {
+ "properties": {
+ "query": {
+ "type": "string"
+ },
+ "total_results": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "jcrew.TimeInterval": {
+ "properties": {
+ "end": {
+ "type": "string"
+ },
+ "start": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "jcrew.categoriesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/metaculus.ForecastHistoryResponse"
+ "$ref": "#/definitions/jcrew.CategoriesResponse"
},
"msg": {
"example": "OK",
@@ -132468,14 +138179,14 @@
},
"type": "object"
},
- "metaculus.forecastsResponseDoc": {
+ "jcrew.categoryResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/metaculus.ForecastsResponse"
+ "$ref": "#/definitions/jcrew.CategoryResponse"
},
"msg": {
"example": "OK",
@@ -132484,14 +138195,14 @@
},
"type": "object"
},
- "metaculus.metadataResponseDoc": {
+ "jcrew.productResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/metaculus.QuestionMetadataResponse"
+ "$ref": "#/definitions/jcrew.ProductDetailResponse"
},
"msg": {
"example": "OK",
@@ -132500,14 +138211,14 @@
},
"type": "object"
},
- "metaculus.optionsResponseDoc": {
+ "jcrew.productReviewsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/metaculus.OptionsResponse"
+ "$ref": "#/definitions/jcrew.ProductReviewsResponse"
},
"msg": {
"example": "OK",
@@ -132516,14 +138227,14 @@
},
"type": "object"
},
- "metaculus.questionResponseDoc": {
+ "jcrew.searchResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/metaculus.QuestionResponse"
+ "$ref": "#/definitions/jcrew.SearchResponse"
},
"msg": {
"example": "OK",
@@ -132532,14 +138243,14 @@
},
"type": "object"
},
- "metaculus.questionsResponseDoc": {
+ "jcrew.sizeChartResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/metaculus.QuestionsResponse"
+ "$ref": "#/definitions/jcrew.SizeChartResponse"
},
"msg": {
"example": "OK",
@@ -132548,1208 +138259,1332 @@
},
"type": "object"
},
- "metajobs.ListResponse": {
+ "jcrew.storesResponseDoc": {
"properties": {
- "listings": {
- "items": {
- "$ref": "#/definitions/metajobs.MetaJobListing"
- },
- "type": "array"
- },
- "page": {
- "example": 1,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "page_size": {
- "example": 50,
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/jcrew.StoreResponse"
},
- "source_url": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "total": {
- "example": 754,
- "type": "integer"
}
},
"type": "object"
},
- "metajobs.MetaJob": {
+ "jcrew.suggestResponseDoc": {
"properties": {
- "compensation_country": {
- "example": "US",
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "compensation_max": {
- "example": "$241,000/year",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/jcrew.SuggestResponse"
},
- "compensation_min": {
- "example": "$173,000/year",
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "departments": {
- "example": [
- "Product Management"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "description": {
+ }
+ },
+ "type": "object"
+ },
+ "jerusalempost.AuthorArticle": {
+ "properties": {
+ "published_at": {
"type": "string"
},
- "id": {
- "example": "1238249364564427",
+ "summary": {
"type": "string"
},
- "locations": {
- "example": [
- "Menlo Park",
- " CA"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "minimum_qualifications": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "preferred_qualifications": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "responsibilities": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
"title": {
- "example": "Product Manager",
"type": "string"
},
"url": {
- "example": "https://www.metacareers.com/profile/job_details/1238249364564427/",
"type": "string"
}
},
"type": "object"
},
- "metajobs.MetaJobListing": {
+ "jerusalempost.AuthorRef": {
"properties": {
- "id": {
- "example": "1238249364564427",
+ "slug": {
"type": "string"
},
- "last_modified": {
- "example": "2026-07-29T01:17:34-07:00",
+ "type": {
"type": "string"
},
"url": {
- "example": "https://www.metacareers.com/profile/job_details/1238249364564427/",
"type": "string"
}
},
"type": "object"
},
- "metajobs.MetaJobSearchResult": {
+ "jerusalempost.AuthorResponse": {
"properties": {
- "id": {
- "example": "1010234865172301",
- "type": "string"
- },
- "locations": {
- "example": [
- "Sunnyvale",
- " CA"
- ],
+ "articles": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/jerusalempost.AuthorArticle"
},
"type": "array"
},
- "sub_teams": {
- "example": [
- "Hardware"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
+ "description": {
+ "type": "string"
},
- "teams": {
- "example": [
- "Infrastructure"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
+ "image_url": {
+ "type": "string"
},
- "title": {
- "example": "ASIC Engineer, Design",
+ "name": {
+ "type": "string"
+ },
+ "type": {
"type": "string"
},
"url": {
- "example": "https://www.metacareers.com/profile/job_details/1010234865172301/",
"type": "string"
}
},
"type": "object"
},
- "metajobs.SearchResponse": {
+ "jerusalempost.AuthorsResponse": {
"properties": {
- "jobs": {
+ "authors": {
"items": {
- "$ref": "#/definitions/metajobs.MetaJobSearchResult"
+ "$ref": "#/definitions/jerusalempost.AuthorRef"
},
"type": "array"
- },
- "source_url": {
- "type": "string"
- },
- "total": {
- "example": 58,
- "type": "integer"
}
},
"type": "object"
},
- "metajobs.jobResponseDoc": {
+ "jimmyjohns.MenuCategory": {
"properties": {
- "code": {
- "example": 200,
+ "category_id": {
+ "example": 69933,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/metajobs.MetaJob"
- },
- "msg": {
- "example": "OK",
+ "name": {
+ "example": "Originals",
"type": "string"
- }
- },
- "type": "object"
- },
- "metajobs.listResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/metajobs.ListResponse"
},
- "msg": {
- "example": "OK",
- "type": "string"
+ "products": {
+ "items": {
+ "$ref": "#/definitions/jimmyjohns.MenuProduct"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "metajobs.searchResponseDoc": {
+ "jimmyjohns.MenuProduct": {
"properties": {
- "code": {
- "example": 200,
+ "base_calories": {
+ "description": "BaseCalories and MaxCalories bound the calorie range across this\nitem's size/customization options. Both arrive from upstream as\nstrings (e.g. a \"-\" separator is rendered client-side), so they are\nkept as strings rather than coerced to a number.",
+ "example": "370",
+ "type": "string"
+ },
+ "chain_product_id": {
+ "description": "ChainProductID identifies this item across every Jimmy John's\nrestaurant; ProductID is specific to this restaurant's menu.",
+ "example": 353441,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/metajobs.SearchResponse"
+ "cost": {
+ "description": "Cost is the base price. Many sandwiches price entirely through a size\nmodifier rather than a base cost, so this is commonly 0 -- it is not\na parsing gap.",
+ "example": 8.69,
+ "type": "number"
},
- "msg": {
- "example": "OK",
- "type": "string"
- }
- },
- "type": "object"
- },
- "metro.AuthorArticle": {
- "properties": {
- "image_url": {
+ "description": {
+ "example": "HAM, PROVOLONE, lettuce, tomato & mayo",
"type": "string"
},
- "published_at": {
+ "image_url": {
"type": "string"
},
- "section": {
+ "max_calories": {
+ "example": "650",
"type": "string"
},
- "summary": {
+ "name": {
+ "example": "#1 The Pepe®",
"type": "string"
},
- "title": {
- "type": "string"
+ "product_id": {
+ "example": 33276056,
+ "type": "integer"
},
- "url": {
+ "short_description": {
"type": "string"
}
},
"type": "object"
},
- "metro.AuthorResponse": {
+ "jimmyjohns.MenuResponse": {
"properties": {
- "articles": {
+ "categories": {
"items": {
- "$ref": "#/definitions/metro.AuthorArticle"
+ "$ref": "#/definitions/jimmyjohns.MenuCategory"
},
"type": "array"
},
- "bio": {
- "type": "string"
- },
- "image_url": {
- "type": "string"
+ "category_count": {
+ "example": 20,
+ "type": "integer"
},
- "job_title": {
+ "fetched_at": {
"type": "string"
},
- "knows_about": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "name": {
- "type": "string"
+ "product_count": {
+ "example": 180,
+ "type": "integer"
},
- "same_as": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "restaurant_id": {
+ "example": 67182,
+ "type": "integer"
},
- "url": {
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "microsoftstore.AgeRating": {
+ "jimmyjohns.ModifierChoice": {
"properties": {
- "age": {
- "example": 13,
+ "base_calories": {
+ "description": "BaseCalories is this choice's calorie delta, which can be negative\nfor a \"light\"/\"no\" ingredient choice.",
+ "example": "70",
+ "type": "string"
+ },
+ "chain_option_id": {
+ "example": 2476875,
"type": "integer"
},
- "description": {
- "example": "For ages 13 and up",
- "type": "string"
+ "cost": {
+ "description": "Cost is this choice's price delta. Many choices are free (the\nincluded default); an upcharge choice (e.g. \"Xtra Smoked Ham\") or a\nsize step carries a positive cost.",
+ "example": 8.69,
+ "type": "number"
},
- "descriptors": {
- "example": [
- "[\"Diverse Content: Discretion Advised\"]"
- ],
+ "groups": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/jimmyjohns.ModifierGroup"
},
"type": "array"
},
- "system": {
- "example": "ESRB",
+ "is_default": {
+ "type": "boolean"
+ },
+ "max_calories": {
"type": "string"
},
- "value": {
- "example": "TEEN",
+ "name": {
+ "example": "REGULAR",
"type": "string"
+ },
+ "option_id": {
+ "example": 5265915696,
+ "type": "integer"
}
},
"type": "object"
},
- "microsoftstore.Award": {
+ "jimmyjohns.ModifierGroup": {
"properties": {
- "category": {
- "example": "Productivity category",
- "type": "string"
+ "chain_modifier_id": {
+ "example": 480998,
+ "type": "integer"
},
- "description": {
- "example": "The Microsoft Store Awards celebrate apps and games that emphasize exceptional experiences for their users.",
- "type": "string"
+ "choices": {
+ "items": {
+ "$ref": "#/definitions/jimmyjohns.ModifierChoice"
+ },
+ "type": "array"
},
- "editorial_id": {
- "example": "Editorials/Awards_2025/Global/Notion_xpdbvss44r0l9h",
- "type": "string"
+ "group_id": {
+ "example": 1176354037,
+ "type": "integer"
},
- "title": {
- "example": "Microsoft Store Awards 2025",
- "type": "string"
+ "mandatory": {
+ "type": "boolean"
},
- "year": {
- "example": 2025,
+ "max_selects": {
"type": "integer"
+ },
+ "min_selects": {
+ "type": "integer"
+ },
+ "name": {
+ "example": "Choose Your Size",
+ "type": "string"
}
},
"type": "object"
},
- "microsoftstore.Badge": {
+ "jimmyjohns.ModifiersResponse": {
"properties": {
- "icon_id": {
- "example": "AI",
+ "fetched_at": {
"type": "string"
},
- "text": {
- "example": "Uses AI features",
+ "group_count": {
+ "example": 9,
+ "type": "integer"
+ },
+ "groups": {
+ "items": {
+ "$ref": "#/definitions/jimmyjohns.ModifierGroup"
+ },
+ "type": "array"
+ },
+ "product_id": {
+ "example": 33276056,
+ "type": "integer"
+ },
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "microsoftstore.CategoriesResponse": {
+ "jimmyjohns.NearbyResponse": {
"properties": {
- "categories": {
+ "count": {
+ "example": 10,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "radius_miles": {
+ "example": 15,
+ "type": "integer"
+ },
+ "restaurants": {
"items": {
- "$ref": "#/definitions/microsoftstore.CategoryTaxonomy"
+ "$ref": "#/definitions/jimmyjohns.NearbyRestaurant"
},
"type": "array"
},
- "media_type": {
- "example": "apps",
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "microsoftstore.CategoryResponse": {
+ "jimmyjohns.NearbyRestaurant": {
"properties": {
- "category": {
- "example": "Photo & video",
- "type": "string"
+ "accepts_delivery": {
+ "type": "boolean"
},
- "count": {
- "example": 20,
- "type": "integer"
+ "accepts_pickup": {
+ "type": "boolean"
},
- "has_more": {
- "example": true,
+ "address": {
+ "$ref": "#/definitions/jimmyjohns.StoreAddress"
+ },
+ "distance_miles": {
+ "example": 0.4,
+ "type": "number"
+ },
+ "is_open": {
"type": "boolean"
},
- "items": {
- "items": {
- "$ref": "#/definitions/microsoftstore.Product"
- },
- "type": "array"
+ "latitude": {
+ "example": 44.9401301,
+ "type": "number"
},
- "media_type": {
- "example": "apps",
+ "longitude": {
+ "example": -93.1411487,
+ "type": "number"
+ },
+ "name": {
+ "example": "JJ0004",
"type": "string"
},
- "next_cursor": {
+ "order_url": {
+ "example": "https://online.jimmyjohns.com/menu/jj0004/",
"type": "string"
},
- "source_url": {
+ "phone_number": {
+ "example": "(651) 222-2221",
+ "type": "string"
+ },
+ "restaurant_id": {
+ "example": 67182,
+ "type": "integer"
+ },
+ "slug": {
+ "example": "jj0004",
+ "type": "string"
+ },
+ "timezone": {
+ "example": "America/Chicago",
"type": "string"
}
},
"type": "object"
},
- "microsoftstore.CategoryTaxonomy": {
+ "jimmyjohns.SitemapEntry": {
"properties": {
- "category": {
- "example": "Books & reference",
+ "kind": {
+ "description": "Kind distinguishes the three page variants Jimmy John's publishes per\nstore: sandwiches, delivery and catering. All three describe the same\nrestaurant; `sandwiches` is the canonical one.",
+ "example": "sandwiches",
"type": "string"
},
- "subcategories": {
- "example": [
- "[\"E-reader\"",
- "\"Fiction\"",
- "\"Nonfiction\"",
- "\"Reference\"]"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
+ "path": {
+ "example": "in/columbus/sandwiches-1414.html",
+ "type": "string"
+ },
+ "store_number": {
+ "description": "StoreNumber is the trailing id shared by all three variants.",
+ "example": "1414",
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "microsoftstore.ChartsResponse": {
+ "jimmyjohns.SitemapResponse": {
"properties": {
- "category": {
- "example": "Photo & video",
- "type": "string"
- },
"count": {
- "example": 20,
+ "example": 100,
"type": "integer"
},
- "discount_filter": {
- "example": "onsale",
- "type": "string"
- },
- "items": {
+ "entries": {
"items": {
- "$ref": "#/definitions/microsoftstore.Product"
+ "$ref": "#/definitions/jimmyjohns.SitemapEntry"
},
"type": "array"
},
- "list": {
- "example": "TopFree",
- "type": "string"
- },
- "media_type": {
- "example": "apps",
- "type": "string"
- },
- "num_players_filter": {
- "example": "SinglePlayer",
+ "fetched_at": {
"type": "string"
},
"page": {
"example": 1,
"type": "integer"
},
- "page_size": {
- "example": 20,
+ "shard": {
+ "example": 0,
"type": "integer"
},
- "source_url": {
- "type": "string"
+ "shard_count": {
+ "example": 1,
+ "type": "integer"
},
- "subcategory": {
- "example": "E-reader",
+ "source_url": {
"type": "string"
},
- "subscription_filter": {
- "example": "gamepass",
- "type": "string"
+ "total_in_shard": {
+ "example": 9789,
+ "type": "integer"
},
- "title": {
- "example": "Must-have free apps",
- "type": "string"
+ "total_pages": {
+ "example": 98,
+ "type": "integer"
}
},
"type": "object"
},
- "microsoftstore.EditorialResponse": {
+ "jimmyjohns.StoreAddress": {
"properties": {
- "editorial_id": {
- "example": "Editorials/Awards_2025/Global/Notion_xpdbvss44r0l9h",
+ "city": {
+ "example": "Columbus",
"type": "string"
},
- "header_image": {
+ "country": {
+ "example": "US",
"type": "string"
},
- "paragraphs": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "relevant_products": {
- "items": {
- "$ref": "#/definitions/microsoftstore.Product"
- },
- "type": "array"
- },
- "source_url": {
+ "postal_code": {
+ "example": "47201",
"type": "string"
},
- "subtitle": {
- "$ref": "#/definitions/microsoftstore.EditorialSubtitle"
+ "region": {
+ "example": "IN",
+ "type": "string"
},
- "title": {
- "example": "Productivity category",
+ "street": {
+ "example": "2115 W Jonathan Moore Pike",
"type": "string"
}
},
"type": "object"
},
- "microsoftstore.EditorialSubtitle": {
+ "jimmyjohns.StoreHours": {
"properties": {
- "icon": {
+ "closes": {
+ "example": "22:00",
"type": "string"
},
- "text": {
- "example": "Microsoft Store Awards 2025",
+ "day_of_week": {
+ "example": "Monday",
+ "type": "string"
+ },
+ "opens": {
+ "example": "10:30",
"type": "string"
}
},
"type": "object"
},
- "microsoftstore.EventsResponse": {
+ "jimmyjohns.StoreResponse": {
"properties": {
- "count": {
- "example": 7,
- "type": "integer"
+ "address": {
+ "$ref": "#/definitions/jimmyjohns.StoreAddress"
},
- "items": {
+ "fetched_at": {
+ "type": "string"
+ },
+ "hours": {
"items": {
- "$ref": "#/definitions/microsoftstore.Product"
+ "$ref": "#/definitions/jimmyjohns.StoreHours"
},
"type": "array"
},
- "media_type": {
- "example": "apps",
+ "image_url": {
"type": "string"
},
- "page": {
- "example": 1,
- "type": "integer"
+ "latitude": {
+ "example": 39.1994347,
+ "type": "number"
},
- "page_size": {
- "example": 20,
- "type": "integer"
+ "longitude": {
+ "example": -85.9470667,
+ "type": "number"
},
- "source_url": {
+ "name": {
+ "example": "Jimmy John's",
"type": "string"
},
- "title": {
- "example": "Special events",
+ "path": {
+ "type": "string"
+ },
+ "phone_number": {
+ "type": "string"
+ },
+ "serves_cuisine": {
+ "type": "string"
+ },
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "microsoftstore.Feature": {
+ "jimmyjohns.menuResponseDoc": {
"properties": {
- "description": {
- "example": "Get answers, writing help, and image generation.",
- "type": "string"
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
},
- "title": {
- "example": "AI assistant",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/jimmyjohns.MenuResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "microsoftstore.Image": {
+ "jimmyjohns.modifiersResponseDoc": {
"properties": {
- "height": {
- "example": 1080,
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
- "type": {
- "example": "Screenshot",
- "type": "string"
- },
- "url": {
- "example": "https://store-images.s-microsoft.com/image/apps.19060...f4dfc459-dae3-4ab8-8f40-18aa7ae9762f",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/jimmyjohns.ModifiersResponse"
},
- "width": {
- "example": 1920,
- "type": "integer"
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "microsoftstore.Product": {
+ "jimmyjohns.nearbyResponseDoc": {
"properties": {
- "average_rating": {
- "example": 4.3,
- "type": "number"
- },
- "award": {
- "$ref": "#/definitions/microsoftstore.Award"
- },
- "categories": {
- "example": [
- "[\"Music\"]"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "description": {
- "example": "Love music and podcasts? Play your favorite songs...",
- "type": "string"
- },
- "display_price": {
- "example": "Free",
- "type": "string"
- },
- "free": {
- "example": true,
- "type": "boolean"
- },
- "icon_url": {
- "example": "https://store-images.s-microsoft.com/image/apps.10546...",
- "type": "string"
- },
- "is_application": {
- "example": true,
- "type": "boolean"
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
},
- "is_game": {
- "type": "boolean"
+ "data": {
+ "$ref": "#/definitions/jimmyjohns.NearbyResponse"
},
- "is_pwa": {
- "type": "boolean"
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "jimmyjohns.sitemapResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
},
- "is_subscription": {
- "type": "boolean"
+ "data": {
+ "$ref": "#/definitions/jimmyjohns.SitemapResponse"
},
- "is_theme": {
- "type": "boolean"
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "jimmyjohns.storeResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
},
- "kind": {
- "example": "app",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/jimmyjohns.StoreResponse"
},
- "media_type": {
- "example": "Apps",
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "jobs.BoardResponse": {
+ "properties": {
+ "company": {
+ "description": "Company or board name the postings belong to.",
"type": "string"
},
- "poster_art_url": {
- "type": "string"
+ "count": {
+ "description": "Number of jobs returned in this response.",
+ "type": "integer"
},
- "price": {
- "example": 0,
- "type": "number"
+ "jobs": {
+ "description": "Job postings on the board, one item per posting.",
+ "items": {
+ "$ref": "#/definitions/jobs.Job"
+ },
+ "type": "array"
},
- "product_id": {
- "example": "9ncbcszsjrsb",
+ "provider": {
+ "description": "Applicant tracking system the board was read from, for example `greenhouse` or `lever`.",
"type": "string"
},
- "publisher": {
- "example": "Spotify AB",
+ "source_url": {
+ "description": "URL the data was read from.",
"type": "string"
},
- "rating_count": {
- "example": "34K",
- "type": "string"
+ "total": {
+ "description": "Total number of open postings on the board, when the provider reports it.",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "jobs.CompanySearchResponse": {
+ "properties": {
+ "count": {
+ "description": "Number of providers where the slug has a board with open roles.",
+ "type": "integer"
},
- "release_date_utc": {
- "example": "2017-10-24T12:04:25Z",
- "type": "string"
+ "found": {
+ "description": "Providers where the slug resolves to a board, ranked by open roles.",
+ "items": {
+ "$ref": "#/definitions/jobs.ProviderHit"
+ },
+ "type": "array"
},
- "title": {
- "example": "Spotify - Music and Podcasts",
+ "slug": {
+ "description": "Company careers slug that was searched.",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "jobs.Count": {
+ "properties": {
+ "count": {
+ "description": "Number of open roles with that name.",
+ "type": "integer"
},
- "url": {
- "example": "https://apps.microsoft.com/detail/9ncbcszsjrsb",
+ "name": {
+ "description": "Department, location or job title being counted.",
"type": "string"
}
},
"type": "object"
},
- "microsoftstore.ProductDetail": {
+ "jobs.HiringSignals": {
"properties": {
- "age_ratings": {
+ "as_of": {
+ "description": "Time the snapshot was taken, in UTC (RFC 3339).",
+ "type": "string"
+ },
+ "by_department": {
+ "description": "Open roles per department, largest first, up to 20 entries.",
"items": {
- "$ref": "#/definitions/microsoftstore.AgeRating"
+ "$ref": "#/definitions/jobs.Count"
},
"type": "array"
},
- "allowed_platforms": {
- "example": [
- "[\"Windows.Desktop\"",
- "\"Windows.Xbox\"]"
- ],
+ "by_location": {
+ "description": "Open roles per location, largest first, up to 20 entries.",
"items": {
- "type": "string"
+ "$ref": "#/definitions/jobs.Count"
},
"type": "array"
},
- "approximate_size_bytes": {
- "example": 210105174,
+ "company": {
+ "description": "Company or board identifier that was queried.",
+ "type": "string"
+ },
+ "new_last_30d": {
+ "description": "Number of sampled roles posted in the last 30 days. Counts only postings with a usable posting date.",
"type": "integer"
},
- "average_rating": {
- "example": 4.3,
+ "new_last_7d": {
+ "description": "Number of sampled roles posted in the last 7 days. Counts only postings with a usable posting date.",
+ "type": "integer"
+ },
+ "provider": {
+ "description": "Applicant tracking system the board was read from, for example `greenhouse`.",
+ "type": "string"
+ },
+ "remote_count": {
+ "description": "Number of sampled roles marked as remote.",
+ "type": "integer"
+ },
+ "remote_pct": {
+ "description": "Share of sampled roles marked as remote, as a percentage rounded to one decimal.",
"type": "number"
},
- "badges": {
- "items": {
- "$ref": "#/definitions/microsoftstore.Badge"
- },
- "type": "array"
+ "sampled_roles": {
+ "description": "Number of postings the breakdowns below were computed from.",
+ "type": "integer"
},
- "box_art_url": {
+ "source_url": {
+ "description": "URL the data was read from.",
"type": "string"
},
- "capabilities": {
+ "top_titles": {
+ "description": "Most common job titles with their counts, up to 10 entries.",
"items": {
- "type": "string"
+ "$ref": "#/definitions/jobs.Count"
},
"type": "array"
},
- "card_actions": {
- "example": [
- "[\"Install\"",
- "\"Launch\"]"
- ],
+ "total_open_roles": {
+ "description": "Number of open roles on the board. Uses the provider's own total when it gives one.",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "jobs.Job": {
+ "properties": {
+ "ai_tools_mentioned": {
+ "description": "AITools lists canonical AI tool and platform names mentioned in the job\ntitle or description, such as \"ChatGPT\" or \"GitHub Copilot\".",
"items": {
"type": "string"
},
"type": "array"
},
- "categories": {
- "example": [
- "[\"Music\"]"
- ],
+ "apply_url": {
+ "description": "Link to the application page for the job.",
+ "type": "string"
+ },
+ "benefits_mentioned": {
+ "description": "Benefits, Clearance, and Education contain canonical requirements and\nofferings mentioned in the job title or description.",
"items": {
"type": "string"
},
"type": "array"
},
- "category": {
- "example": "Music",
+ "company": {
+ "description": "Name of the hiring company.",
"type": "string"
},
- "currency_code": {
- "example": "USD",
+ "company_logo_url": {
+ "description": "URL of the company's logo.",
"type": "string"
},
- "description": {
+ "compensation": {
+ "description": "Compensation is the raw provider summary; the *Min/*Max/*Currency fields are\nparsed from it when the summary contains a recognizable pay range/amount.\nCompensationPeriod is the pay period (\"hourly\", \"daily\", \"weekly\",\n\"monthly\", \"yearly\") when the summary states one explicitly; empty when\nno period is stated (most single \"$150K – $190K\"-style ranges are\nimplicitly annual but that is never asserted here).",
"type": "string"
},
- "display_price": {
- "example": "Free",
+ "compensation_currency": {
+ "description": "Currency code of the pay range, for example `USD`.",
"type": "string"
},
- "features": {
- "items": {
- "$ref": "#/definitions/microsoftstore.Feature"
- },
- "type": "array"
- },
- "free": {
- "example": true,
- "type": "boolean"
+ "compensation_max": {
+ "description": "Upper end of the pay range stated in the posting.",
+ "type": "number"
},
- "hero_image_url": {
- "type": "string"
+ "compensation_min": {
+ "description": "Lower end of the pay range stated in the posting.",
+ "type": "number"
},
- "icon_url": {
+ "compensation_period": {
+ "description": "Pay period the posting states: `hourly`, `daily`, `weekly`, `monthly` or `yearly`. Omitted when the posting names none.",
"type": "string"
},
- "is_application": {
- "type": "boolean"
- },
- "is_game": {
- "type": "boolean"
- },
- "is_purchase_enabled": {
- "type": "boolean"
- },
- "is_pwa": {
- "type": "boolean"
- },
- "is_subscription": {
- "type": "boolean"
- },
- "is_theme": {
- "type": "boolean"
- },
- "kind": {
- "example": "app",
+ "department": {
+ "description": "Department the job belongs to.",
"type": "string"
},
- "last_update_date_utc": {
- "example": "2026-09-22T14:30:28Z",
+ "description_html": {
+ "description": "Job description as HTML.",
"type": "string"
},
- "media_type": {
- "example": "Apps",
+ "description_text": {
+ "description": "Job description as plain text.",
"type": "string"
},
- "package_family_names": {
- "example": [
- "[\"SpotifyAB.SpotifyMusic_zpdnekdrzrea0\"]"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "platforms": {
- "example": [
- "[\"x86\"",
- "\"x64\"]"
- ],
+ "education_level_required": {
+ "description": "Education levels mentioned in the job title or description.",
"items": {
"type": "string"
},
"type": "array"
},
- "poster_art_url": {
+ "employment_type": {
+ "description": "Employment type the provider lists, such as full-time or contract.",
"type": "string"
},
- "price": {
- "example": 0,
- "type": "number"
- },
- "privacy_url": {
- "example": "https://www.spotify.com/legal/privacy-policy/",
+ "id": {
+ "description": "Posting id within the provider. Use it with the provider's job endpoint.",
"type": "string"
},
- "product_id": {
- "example": "9ncbcszsjrsb",
+ "location": {
+ "description": "Primary job location as the provider shows it.",
"type": "string"
},
- "product_type": {
- "example": "Application",
+ "location_city": {
+ "description": "LocationCity/State/Country are the structured components behind Location\nwhen the provider exposes them (or once the geo-enrich worker has\nresolved them from the free-text Location string) -- present only for\nthe primary/first location, matching Location itself.",
"type": "string"
},
- "publisher": {
- "example": "Spotify AB",
+ "location_country": {
+ "description": "Country of the primary location.",
"type": "string"
},
- "publisher_address": {
+ "location_state": {
+ "description": "State or region of the primary location.",
"type": "string"
},
- "publisher_id": {
- "example": "10113470",
+ "locations": {
+ "description": "All locations listed for the job.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "posted_age_text": {
+ "description": "Workday relative age (\"Posted Today\")",
"type": "string"
},
- "rating_count": {
- "example": 34225,
- "type": "integer"
+ "posted_at": {
+ "description": "RFC3339 / date when the provider gives one",
+ "type": "string"
},
- "rating_count_formatted": {
- "example": "34.2K",
+ "provider": {
+ "description": "Applicant tracking system the posting comes from, for example `greenhouse` or `lever`.",
"type": "string"
},
- "release_date_utc": {
- "example": "2017-10-24T12:04:25Z",
+ "remote": {
+ "description": "True when the posting is marked as remote.",
+ "type": "boolean"
+ },
+ "req_id": {
+ "description": "Requisition id the company uses for the job.",
"type": "string"
},
- "screenshots": {
+ "security_clearance_required": {
+ "description": "Security clearances mentioned in the job title or description.",
"items": {
- "$ref": "#/definitions/microsoftstore.Image"
+ "type": "string"
},
"type": "array"
},
- "skus_summary": {
+ "skills_mentioned": {
+ "description": "Skills lists canonical ESCO skill labels mentioned in the job title or\ndescription.",
"items": {
- "$ref": "#/definitions/microsoftstore.SkuPrice"
+ "type": "string"
},
"type": "array"
},
- "source_url": {
+ "team": {
+ "description": "Team the job belongs to.",
"type": "string"
},
- "supported_languages": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
"title": {
- "example": "Spotify - Music and Podcasts",
+ "description": "Job title as the company posted it.",
"type": "string"
},
- "trailers": {
- "items": {
- "$ref": "#/definitions/microsoftstore.Image"
- },
- "type": "array"
- },
"url": {
- "example": "https://apps.microsoft.com/detail/9ncbcszsjrsb",
- "type": "string"
- },
- "version": {
+ "description": "Link to the job posting page.",
"type": "string"
},
- "website": {
- "example": "https://www.spotify.com",
+ "workplace_type": {
+ "description": "Workplace arrangement the provider lists, such as remote, hybrid or on-site.",
"type": "string"
}
},
"type": "object"
},
- "microsoftstore.PublisherResponse": {
+ "jobs.ProviderHit": {
"properties": {
- "count": {
- "example": 3,
- "type": "integer"
+ "board_url": {
+ "description": "URL of the company's public careers board on that provider.",
+ "type": "string"
},
- "has_more": {
- "example": false,
- "type": "boolean"
+ "company": {
+ "description": "Company or board name on that provider.",
+ "type": "string"
},
- "items": {
- "items": {
- "$ref": "#/definitions/microsoftstore.Product"
- },
- "type": "array"
+ "provider": {
+ "description": "Applicant tracking system the board is on, for example `greenhouse`.",
+ "type": "string"
},
- "next_cursor": {
+ "total_open_roles": {
+ "description": "Number of open roles on the board.",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "jobs.boardResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/jobs.BoardResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "jobs.jobResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "publisher_name": {
- "example": "Spotify AB",
+ "data": {
+ "$ref": "#/definitions/jobs.Job"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "jobs.searchResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "source_url": {
+ "data": {
+ "$ref": "#/definitions/jobs.CompanySearchResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "microsoftstore.RecommendedProduct": {
+ "jobs.signalsResponseDoc": {
"properties": {
- "average_rating": {
- "example": 4.5,
- "type": "number"
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/jobs.HiringSignals"
},
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "jumia.CategoriesResponse": {
+ "properties": {
"categories": {
- "example": [
- "[\"Action & adventure\"]"
- ],
"items": {
- "type": "string"
+ "$ref": "#/definitions/jumia.CategoryNode"
},
"type": "array"
},
- "icon_url": {
+ "category": {
+ "example": "phones-tablets",
"type": "string"
},
- "product_id": {
- "example": "9p4qk476j199",
+ "count": {
+ "example": 12,
+ "type": "integer"
+ },
+ "country": {
+ "example": "ng",
"type": "string"
},
- "title": {
- "example": "Bermuda Adventures: Farm Games",
+ "fetched_at": {
"type": "string"
},
- "url": {
- "example": "https://apps.microsoft.com/detail/9p4qk476j199",
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "microsoftstore.RecommendedResponse": {
+ "jumia.CategoryNode": {
"properties": {
- "items": {
+ "children": {
"items": {
- "$ref": "#/definitions/microsoftstore.RecommendedProduct"
+ "$ref": "#/definitions/jumia.CategoryNode"
},
"type": "array"
},
- "section_title": {
- "example": "Recommended for you",
+ "id": {
+ "example": "8070",
"type": "string"
},
- "source_url": {
+ "name": {
+ "example": "Phones & Tablets",
+ "type": "string"
+ },
+ "slug": {
+ "example": "phones-tablets",
+ "type": "string"
+ },
+ "url": {
+ "example": "https://www.jumia.com.ng/phones-tablets/",
"type": "string"
}
},
"type": "object"
},
- "microsoftstore.RelatedResponse": {
+ "jumia.CountriesResponse": {
"properties": {
- "has_more_pages": {
- "example": true,
- "type": "boolean"
+ "count": {
+ "example": 4,
+ "type": "integer"
},
- "items": {
+ "countries": {
"items": {
- "$ref": "#/definitions/microsoftstore.Product"
+ "$ref": "#/definitions/jumia.Country"
},
"type": "array"
- },
- "page": {
- "example": 1,
- "type": "integer"
- },
- "page_size": {
- "example": 10,
- "type": "integer"
- },
- "product_id": {
- "example": "9ncbcszsjrsb",
+ }
+ },
+ "type": "object"
+ },
+ "jumia.Country": {
+ "properties": {
+ "code": {
+ "example": "ng",
"type": "string"
},
- "product_type": {
- "example": "Application",
+ "currency": {
+ "example": "NGN",
"type": "string"
},
- "source_url": {
+ "domain": {
+ "example": "www.jumia.com.ng",
"type": "string"
},
- "total_count": {
- "example": 50,
- "type": "integer"
+ "name": {
+ "example": "Nigeria",
+ "type": "string"
}
},
"type": "object"
},
- "microsoftstore.Review": {
+ "jumia.Listing": {
"properties": {
- "device_family": {
- "example": "Windows.Desktop",
+ "brand": {
+ "example": "Samsung",
"type": "string"
},
- "helpful_negative": {
- "example": 30,
- "type": "integer"
+ "categories": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "helpful_positive": {
- "example": 74,
+ "currency": {
+ "example": "NGN",
+ "type": "string"
+ },
+ "discount_percent": {
+ "example": 20,
"type": "integer"
},
- "id": {
- "example": "74a23681-6299-5cc4-5e83-a48d1c49ece6",
+ "image": {
"type": "string"
},
- "is_revised": {
+ "jumia_express": {
"type": "boolean"
},
- "locale": {
- "example": "EN-US",
+ "name": {
+ "example": "Galaxy A07 6.7\" 4GB RAM/128GB ROM - Black",
"type": "string"
},
- "market": {
- "example": "US",
- "type": "string"
+ "official_store": {
+ "type": "boolean"
},
- "os_version": {
- "example": "10.0.26200.8524",
- "type": "string"
+ "original_price": {
+ "example": 250000,
+ "type": "number"
},
- "rating": {
- "example": 1,
- "type": "integer"
+ "out_of_stock": {
+ "type": "boolean"
},
- "reviewer_name": {
- "example": "constance",
- "type": "string"
+ "price": {
+ "example": 199999,
+ "type": "number"
},
- "submitted_at_utc": {
- "example": "2026-07-12T21:41:45Z",
- "type": "string"
+ "price_max": {
+ "type": "number"
},
- "text": {
- "example": "so, the app used to be great...",
- "type": "string"
+ "rating": {
+ "example": 4.1,
+ "type": "number"
},
- "title": {
- "example": "spotify has fallen off. HARD.",
+ "rating_count": {
+ "example": 396,
+ "type": "integer"
+ },
+ "sku": {
+ "example": "SA948MP6Z6LPDNAFAMZ",
"type": "string"
},
"url": {
+ "example": "https://www.jumia.com.ng/samsung-galaxy-a07-418619812.html",
"type": "string"
}
},
"type": "object"
},
- "microsoftstore.ReviewsResponse": {
+ "jumia.ListingResponse": {
"properties": {
- "has_more_pages": {
- "example": true,
- "type": "boolean"
+ "category": {
+ "example": "phones-tablets",
+ "type": "string"
},
- "next_page": {
- "example": 2,
+ "count": {
+ "example": 40,
"type": "integer"
},
+ "country": {
+ "example": "ng",
+ "type": "string"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "has_next": {
+ "example": true,
+ "type": "boolean"
+ },
"page": {
"example": 1,
"type": "integer"
},
- "page_size": {
- "example": 20,
- "type": "integer"
- },
- "product_id": {
- "example": "9ncbcszsjrsb",
- "type": "string"
- },
- "reviews": {
+ "products": {
"items": {
- "$ref": "#/definitions/microsoftstore.Review"
+ "$ref": "#/definitions/jumia.Listing"
},
"type": "array"
},
- "sort": {
- "example": "MostHelpful",
+ "query": {
+ "example": "wireless earbuds",
"type": "string"
},
"source_url": {
"type": "string"
},
"total_count": {
- "example": 307,
+ "example": 7522,
"type": "integer"
}
},
"type": "object"
},
- "microsoftstore.ReviewsSummaryResponse": {
+ "jumia.Product": {
"properties": {
- "average_rating": {
- "example": 4.3,
- "type": "number"
+ "availability": {
+ "example": "InStock",
+ "type": "string"
},
- "most_critical_review": {
- "$ref": "#/definitions/microsoftstore.Review"
+ "brand": {
+ "example": "Samsung",
+ "type": "string"
},
- "most_favorable_review": {
- "$ref": "#/definitions/microsoftstore.Review"
+ "categories": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "product_id": {
- "example": "9ncbcszsjrsb",
+ "country": {
+ "example": "ng",
"type": "string"
},
- "rating_distribution": {
- "type": "object"
+ "currency": {
+ "example": "NGN",
+ "type": "string"
},
- "rating_status": {
- "example": "RatingAvailable",
+ "description": {
"type": "string"
},
- "review_count": {
- "example": 307,
+ "discount_percent": {
+ "example": 20,
"type": "integer"
},
- "source_url": {
+ "fetched_at": {
+ "type": "string"
+ },
+ "images": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "key_features": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "original_price": {
+ "example": 250000,
+ "type": "number"
+ },
+ "price": {
+ "example": 199999,
+ "type": "number"
+ },
+ "rating": {
+ "example": 4.1,
+ "type": "number"
+ },
+ "rating_count": {
+ "example": 396,
+ "type": "integer"
+ },
+ "seller": {
+ "$ref": "#/definitions/jumia.Seller"
+ },
+ "sku": {
+ "example": "SA948MP6Z6LPDNAFAMZ",
+ "type": "string"
+ },
+ "specifications": {
+ "items": {
+ "$ref": "#/definitions/jumia.Specification"
+ },
+ "type": "array"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "microsoftstore.SearchResponse": {
+ "jumia.RatingBucket": {
"properties": {
- "age": {
- "example": "all",
+ "count": {
+ "example": 220,
+ "type": "integer"
+ },
+ "stars": {
+ "example": 5,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "jumia.Review": {
+ "properties": {
+ "author": {
+ "example": "Victor",
"type": "string"
},
- "category": {
- "example": "all",
+ "date": {
+ "example": "2026-10-19",
+ "type": "string"
+ },
+ "rating": {
+ "example": 5,
+ "type": "integer"
+ },
+ "text": {
+ "type": "string"
+ },
+ "title": {
+ "example": "i love it",
"type": "string"
},
+ "verified": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "jumia.ReviewsResponse": {
+ "properties": {
+ "average_rating": {
+ "example": 4.1,
+ "type": "number"
+ },
"count": {
- "example": 20,
+ "example": 10,
"type": "integer"
},
- "has_more": {
+ "country": {
+ "example": "ng",
+ "type": "string"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "has_next": {
"example": true,
"type": "boolean"
},
- "items": {
+ "histogram": {
"items": {
- "$ref": "#/definitions/microsoftstore.Product"
+ "$ref": "#/definitions/jumia.RatingBucket"
},
"type": "array"
},
- "media_type": {
- "example": "all",
- "type": "string"
+ "page": {
+ "example": 1,
+ "type": "integer"
},
- "next_cursor": {
- "example": "bz0wJmI9OU5DQkNTWlNKUlNCLD...",
- "type": "string"
+ "rating_count": {
+ "example": 396,
+ "type": "integer"
},
- "price": {
- "example": "all",
- "type": "string"
+ "review_count": {
+ "example": 147,
+ "type": "integer"
},
- "query": {
- "example": "spotify",
+ "reviews": {
+ "items": {
+ "$ref": "#/definitions/jumia.Review"
+ },
+ "type": "array"
+ },
+ "sku": {
+ "example": "SA948MP6Z6LPDNAFAMZ",
"type": "string"
},
"source_url": {
@@ -133758,133 +139593,167 @@
},
"type": "object"
},
- "microsoftstore.SkuPrice": {
+ "jumia.Seller": {
"properties": {
- "display_msrp": {
- "example": "Free",
+ "followers": {
+ "example": 3387,
+ "type": "integer"
+ },
+ "id": {
+ "example": "338501",
"type": "string"
},
- "display_price": {
- "example": "Free",
+ "name": {
+ "example": "CHEAP ZONE - AC",
"type": "string"
},
- "msrp": {
- "example": 0,
+ "score_percent": {
+ "example": 96,
"type": "number"
},
- "price": {
- "example": 0,
- "type": "number"
+ "shipping_speed": {
+ "example": "Excellent",
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "microsoftstore.SpotlightResponse": {
+ "jumia.SitemapFile": {
"properties": {
- "count": {
- "example": 8,
- "type": "integer"
+ "language": {
+ "example": "en",
+ "type": "string"
},
- "items": {
- "items": {
- "$ref": "#/definitions/microsoftstore.Product"
- },
- "type": "array"
+ "last_modified": {
+ "example": "2026-10-19",
+ "type": "string"
},
- "media_type": {
- "example": "home",
+ "name": {
+ "example": "products-sitemap-9.xml.gz",
"type": "string"
},
- "source_url": {
+ "type": {
+ "example": "products",
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "microsoftstore.SuggestResponse": {
+ "jumia.SitemapURL": {
"properties": {
- "completions": {
- "example": [
- "[\"spotify\"",
- "\"spot\"",
- "\"spotify for podcasters\"]"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "prefix": {
- "example": "spot",
+ "image": {
"type": "string"
},
- "products": {
- "items": {
- "$ref": "#/definitions/microsoftstore.SuggestedProduct"
- },
- "type": "array"
+ "last_modified": {
+ "example": "2026-04-11",
+ "type": "string"
},
- "source_url": {
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "microsoftstore.SuggestedProduct": {
+ "jumia.SitemapURLsResponse": {
"properties": {
- "icon_url": {
+ "count": {
+ "example": 1000,
+ "type": "integer"
+ },
+ "country": {
+ "example": "ng",
"type": "string"
},
- "is_application": {
+ "fetched_at": {
+ "type": "string"
+ },
+ "has_next": {
"example": true,
"type": "boolean"
},
- "is_game": {
- "type": "boolean"
+ "page": {
+ "example": 1,
+ "type": "integer"
},
- "media_type": {
- "example": "apps",
- "type": "string"
+ "page_size": {
+ "example": 1000,
+ "type": "integer"
},
- "product_id": {
- "example": "9ncbcszsjrsb",
+ "sitemap": {
+ "example": "products-sitemap-9.xml.gz",
"type": "string"
},
- "title": {
- "example": "Spotify - Music and Podcasts",
+ "source_url": {
"type": "string"
},
- "url": {
- "example": "https://apps.microsoft.com/detail/9ncbcszsjrsb",
- "type": "string"
+ "total_count": {
+ "example": 16000,
+ "type": "integer"
+ },
+ "urls": {
+ "items": {
+ "$ref": "#/definitions/jumia.SitemapURL"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "microsoftstore.categoriesResponseDoc": {
+ "jumia.SitemapsResponse": {
"properties": {
- "code": {
- "example": 200,
+ "count": {
+ "example": 61,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/microsoftstore.CategoriesResponse"
+ "country": {
+ "example": "ng",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "fetched_at": {
+ "type": "string"
+ },
+ "sitemaps": {
+ "items": {
+ "$ref": "#/definitions/jumia.SitemapFile"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "type": {
"type": "string"
}
},
"type": "object"
},
- "microsoftstore.categoryResponseDoc": {
+ "jumia.Specification": {
+ "properties": {
+ "name": {
+ "example": "GTIN Barcode",
+ "type": "string"
+ },
+ "value": {
+ "example": "07205341072713",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "jumia.categoriesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/microsoftstore.CategoryResponse"
+ "$ref": "#/definitions/jumia.CategoriesResponse"
},
"msg": {
"example": "OK",
@@ -133893,14 +139762,14 @@
},
"type": "object"
},
- "microsoftstore.chartsResponseDoc": {
+ "jumia.countriesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/microsoftstore.ChartsResponse"
+ "$ref": "#/definitions/jumia.CountriesResponse"
},
"msg": {
"example": "OK",
@@ -133909,14 +139778,14 @@
},
"type": "object"
},
- "microsoftstore.editorialResponseDoc": {
+ "jumia.listingResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/microsoftstore.EditorialResponse"
+ "$ref": "#/definitions/jumia.ListingResponse"
},
"msg": {
"example": "OK",
@@ -133925,14 +139794,14 @@
},
"type": "object"
},
- "microsoftstore.eventsResponseDoc": {
+ "jumia.productResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/microsoftstore.EventsResponse"
+ "$ref": "#/definitions/jumia.Product"
},
"msg": {
"example": "OK",
@@ -133941,14 +139810,14 @@
},
"type": "object"
},
- "microsoftstore.productResponseDoc": {
+ "jumia.reviewsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/microsoftstore.ProductDetail"
+ "$ref": "#/definitions/jumia.ReviewsResponse"
},
"msg": {
"example": "OK",
@@ -133957,14 +139826,14 @@
},
"type": "object"
},
- "microsoftstore.publisherResponseDoc": {
+ "jumia.sitemapURLsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/microsoftstore.PublisherResponse"
+ "$ref": "#/definitions/jumia.SitemapURLsResponse"
},
"msg": {
"example": "OK",
@@ -133973,14 +139842,14 @@
},
"type": "object"
},
- "microsoftstore.recommendedResponseDoc": {
+ "jumia.sitemapsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/microsoftstore.RecommendedResponse"
+ "$ref": "#/definitions/jumia.SitemapsResponse"
},
"msg": {
"example": "OK",
@@ -133989,4891 +139858,5182 @@
},
"type": "object"
},
- "microsoftstore.relatedResponseDoc": {
+ "justeat.FilterOption": {
"properties": {
- "code": {
- "example": 200,
+ "count": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/microsoftstore.RelatedResponse"
- },
- "msg": {
- "example": "OK",
+ "filter": {
"type": "string"
}
},
"type": "object"
},
- "microsoftstore.reviewsResponseDoc": {
+ "justeat.FiltersResponse": {
"properties": {
- "code": {
- "example": 200,
+ "filters": {
+ "items": {
+ "$ref": "#/definitions/justeat.FilterOption"
+ },
+ "type": "array"
+ },
+ "postcode": {
+ "type": "string"
+ },
+ "total_count": {
"type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "justeat.MenuCategory": {
+ "properties": {
+ "id": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/microsoftstore.ReviewsResponse"
+ "items": {
+ "items": {
+ "$ref": "#/definitions/justeat.MenuItem"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "name": {
"type": "string"
}
},
"type": "object"
},
- "microsoftstore.reviewsSummaryResponseDoc": {
+ "justeat.MenuItem": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "description": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/microsoftstore.ReviewsSummaryResponse"
+ "energy_display": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "id": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "modifier_groups": {
+ "items": {
+ "$ref": "#/definitions/justeat.ModifierGroup"
+ },
+ "type": "array"
+ },
+ "name": {
"type": "string"
+ },
+ "price": {
+ "type": "number"
}
},
"type": "object"
},
- "microsoftstore.searchResponseDoc": {
+ "justeat.MenuResponse": {
"properties": {
- "code": {
- "example": 200,
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/justeat.MenuCategory"
+ },
+ "type": "array"
+ },
+ "currency_code": {
+ "type": "string"
+ },
+ "item_count": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/microsoftstore.SearchResponse"
+ "name": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "restaurant_id": {
+ "type": "string"
+ },
+ "unique_name": {
"type": "string"
}
},
"type": "object"
},
- "microsoftstore.spotlightResponseDoc": {
+ "justeat.ModifierGroup": {
"properties": {
- "code": {
- "example": 200,
+ "id": {
+ "type": "string"
+ },
+ "max_choices": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/microsoftstore.SpotlightResponse"
+ "min_choices": {
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "name": {
"type": "string"
+ },
+ "options": {
+ "items": {
+ "$ref": "#/definitions/justeat.ModifierOption"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "microsoftstore.suggestResponseDoc": {
+ "justeat.ModifierOption": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "addition_price": {
+ "type": "number"
},
- "data": {
- "$ref": "#/definitions/microsoftstore.SuggestResponse"
+ "energy_display": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "id": {
"type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "remove_price": {
+ "type": "number"
}
},
"type": "object"
},
- "mirror.AuthorArticle": {
+ "justeat.RestaurantResponse": {
"properties": {
- "label": {
+ "address": {
"type": "string"
},
- "label_url": {
+ "city": {
"type": "string"
},
- "title": {
+ "country": {
"type": "string"
},
- "url": {
+ "image_url": {
+ "type": "string"
+ },
+ "is_active": {
+ "type": "boolean"
+ },
+ "name": {
+ "type": "string"
+ },
+ "postal_code": {
+ "type": "string"
+ },
+ "primary_cuisine": {
+ "type": "string"
+ },
+ "rating": {
+ "type": "number"
+ },
+ "rating_count": {
+ "type": "integer"
+ },
+ "restaurant_id": {
+ "type": "string"
+ },
+ "unique_name": {
"type": "string"
}
},
"type": "object"
},
- "mirror.AuthorResponse": {
+ "justeat.SearchResponse": {
"properties": {
- "articles": {
+ "restaurants": {
"items": {
- "$ref": "#/definitions/mirror.AuthorArticle"
+ "$ref": "#/definitions/justeat.SearchRestaurant"
},
"type": "array"
},
- "bio": {
+ "total_count": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "justeat.SearchRestaurant": {
+ "properties": {
+ "city": {
"type": "string"
},
- "email": {
- "type": "string"
+ "delivery_eta_max_minutes": {
+ "type": "integer"
},
- "job_title": {
+ "delivery_eta_min_minutes": {
+ "type": "integer"
+ },
+ "image_url": {
"type": "string"
},
+ "is_open_now": {
+ "type": "boolean"
+ },
"name": {
"type": "string"
},
- "slug": {
+ "postal_code": {
"type": "string"
},
- "twitter": {
+ "rating": {
+ "type": "number"
+ },
+ "rating_count": {
+ "type": "integer"
+ },
+ "restaurant_id": {
"type": "string"
},
- "url": {
+ "unique_name": {
"type": "string"
}
},
"type": "object"
},
- "mlb.BoxscorePlayer": {
+ "justeat.filtersResponseDoc": {
"properties": {
- "batting_order": {
- "type": "string"
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
},
- "person": {
- "$ref": "#/definitions/mlb.NamedRef"
+ "data": {
+ "$ref": "#/definitions/justeat.FiltersResponse"
},
- "position": {
- "type": "string"
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "justeat.menuResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
},
- "stats": {
- "additionalProperties": {
- "additionalProperties": {},
- "type": "object"
- },
- "type": "object"
+ "data": {
+ "$ref": "#/definitions/justeat.MenuResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "mlb.BoxscoreResponse": {
+ "justeat.restaurantResponseDoc": {
"properties": {
- "away": {
- "$ref": "#/definitions/mlb.BoxscoreTeam"
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
},
- "fetched_at": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/justeat.RestaurantResponse"
},
- "game_id": {
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "justeat.searchResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
- "home": {
- "$ref": "#/definitions/mlb.BoxscoreTeam"
+ "data": {
+ "$ref": "#/definitions/justeat.SearchResponse"
},
- "source_url": {
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "justwatch.AgeCertification": {
+ "properties": {
+ "technical_name": {
+ "description": "Age certification code used by JustWatch, for example `PG-13`.",
+ "example": "PG-13",
"type": "string"
}
},
"type": "object"
},
- "mlb.BoxscoreTeam": {
+ "justwatch.AgeCertificationsResponse": {
"properties": {
- "players": {
+ "age_certifications": {
+ "description": "Age certifications used in the country.",
"items": {
- "$ref": "#/definitions/mlb.BoxscorePlayer"
+ "$ref": "#/definitions/justwatch.AgeCertification"
},
"type": "array"
},
- "team": {
- "$ref": "#/definitions/mlb.TeamRef"
+ "country": {
+ "description": "Two-letter ISO country code the certifications apply to.",
+ "example": "US",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "justwatch.AnalysisResponse": {
+ "properties": {
+ "summary": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/justwatch.AnalysisSummary"
+ }
+ ],
+ "description": "Availability summary computed from the title's offers."
},
- "team_stats": {
+ "title": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/justwatch.TitleResponse"
+ }
+ ],
+ "description": "Title the summary was computed for."
+ }
+ },
+ "type": "object"
+ },
+ "justwatch.AnalysisSummary": {
+ "properties": {
+ "available": {
+ "description": "Whether the title has at least one offer.",
+ "example": true,
+ "type": "boolean"
+ },
+ "best_buy": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/justwatch.Offer"
+ }
+ ],
+ "description": "Cheapest `BUY` offer for the title. Omitted when there is none."
+ },
+ "best_free": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/justwatch.Offer"
+ }
+ ],
+ "description": "Cheapest `FREE` offer for the title. Omitted when there is none."
+ },
+ "best_rent": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/justwatch.Offer"
+ }
+ ],
+ "description": "Cheapest `RENT` offer for the title. Omitted when there is none."
+ },
+ "best_subscription": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/justwatch.Offer"
+ }
+ ],
+ "description": "Cheapest `FLATRATE` or `ADS` offer for the title. Omitted when there is none."
+ },
+ "format_counts": {
"additionalProperties": {
- "additionalProperties": {},
- "type": "object"
+ "type": "integer"
+ },
+ "description": "Number of offers per picture format, keyed by format such as `HD` or `4K`.",
+ "type": "object"
+ },
+ "monetization_counts": {
+ "additionalProperties": {
+ "type": "integer"
+ },
+ "description": "Number of offers per monetization type, keyed by type such as `RENT` or `BUY`.",
+ "type": "object"
+ },
+ "price_ranges": {
+ "additionalProperties": {
+ "$ref": "#/definitions/justwatch.PriceRange"
},
+ "description": "Lowest and highest price per monetization type, keyed by type. Only offers with a price are counted.",
"type": "object"
+ },
+ "provider_count": {
+ "description": "Number of distinct providers that carry the title.",
+ "example": 6,
+ "type": "integer"
+ },
+ "total_offers": {
+ "description": "Total number of offers found for the title.",
+ "example": 15,
+ "type": "integer"
}
},
"type": "object"
},
- "mlb.Decision": {
+ "justwatch.Backdrop": {
"properties": {
- "loser": {
- "$ref": "#/definitions/mlb.NamedRef"
+ "url": {
+ "description": "URL of a backdrop image for the title.",
+ "example": "https://images.justwatch.com/backdrop/8735151/s1920/inception.jpg",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "justwatch.Clip": {
+ "properties": {
+ "external_id": {
+ "description": "Video id of the clip on the hosting site.",
+ "example": "8hP9D6kZseM",
+ "type": "string"
},
- "save": {
- "$ref": "#/definitions/mlb.NamedRef"
+ "provider": {
+ "description": "Site hosting the clip, for example `YOUTUBE`.",
+ "example": "YOUTUBE",
+ "type": "string"
},
- "winner": {
- "$ref": "#/definitions/mlb.NamedRef"
+ "url": {
+ "description": "URL where the clip can be watched.",
+ "example": "https://www.youtube.com/watch?v=8hP9D6kZseM",
+ "type": "string"
}
},
"type": "object"
},
- "mlb.EditorialFeedResponse": {
+ "justwatch.Credit": {
"properties": {
- "fetched_at": {
+ "character_name": {
+ "description": "Character the person plays. Omitted for crew roles.",
+ "example": "Dom Cobb",
"type": "string"
},
- "items": {
+ "name": {
+ "description": "Full name of the person.",
+ "example": "Leonardo DiCaprio",
+ "type": "string"
+ },
+ "person_id": {
+ "description": "JustWatch id of the person.",
+ "example": 1641,
+ "type": "integer"
+ },
+ "role": {
+ "description": "Role of the person on the title, for example `ACTOR`.",
+ "example": "ACTOR",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "justwatch.DiscoverResponse": {
+ "properties": {
+ "country": {
+ "description": "Two-letter ISO country code the results are for.",
+ "example": "US",
+ "type": "string"
+ },
+ "genres": {
+ "description": "Genre short names that were used as filters.",
+ "example": [
+ "act"
+ ],
"items": {
- "additionalProperties": {},
- "type": "object"
+ "type": "string"
},
"type": "array"
},
"language": {
+ "description": "Two-letter language code used for titles and descriptions.",
+ "example": "en",
"type": "string"
},
- "limit": {
- "type": "integer"
+ "monetization_types": {
+ "description": "Monetization types that were used as filters, for example `FLATRATE`.",
+ "example": [
+ "FLATRATE"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "skip": {
- "type": "integer"
+ "production_countries": {
+ "description": "Production country codes that were used as filters.",
+ "example": [
+ "KR"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "slug": {
- "type": "string"
+ "providers": {
+ "description": "Provider short names that were used as filters, for example `nfx`.",
+ "example": [
+ "nfx"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "source_url": {
+ "results": {
+ "description": "Titles matching the request, one item per title.",
+ "items": {
+ "$ref": "#/definitions/justwatch.SearchTitle"
+ },
+ "type": "array"
+ },
+ "type": {
+ "description": "Content type filter applied: `all`, `movie` or `show`.",
+ "example": "all",
"type": "string"
+ },
+ "year_max": {
+ "description": "Latest release year used as a filter.",
+ "example": 2026,
+ "type": "integer"
+ },
+ "year_min": {
+ "description": "Earliest release year used as a filter.",
+ "example": 2020,
+ "type": "integer"
}
},
"type": "object"
},
- "mlb.EnumValue": {
+ "justwatch.EpisodeByIDResponse": {
"properties": {
- "description": {
+ "country": {
+ "description": "Two-letter ISO country code the results are for.",
+ "example": "US",
"type": "string"
},
- "value": {
+ "episode": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/justwatch.EpisodeSummary"
+ }
+ ],
+ "description": "Episode that matches the requested id."
+ },
+ "language": {
+ "description": "Two-letter language code used for titles and descriptions.",
+ "example": "en",
"type": "string"
}
},
"type": "object"
},
- "mlb.GameResponse": {
+ "justwatch.EpisodeCountryOffers": {
"properties": {
- "away_boxscore": {
- "$ref": "#/definitions/mlb.TeamBoxscore"
- },
- "decisions": {
- "$ref": "#/definitions/mlb.Decision"
- },
- "fetched_at": {
+ "country": {
+ "description": "Two-letter ISO country code the offers apply to.",
+ "example": "US",
"type": "string"
},
- "game": {
- "$ref": "#/definitions/mlb.GameSummary"
+ "episode": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/justwatch.EpisodeSummary"
+ }
+ ],
+ "description": "Episode details as listed in this country."
},
- "home_boxscore": {
- "$ref": "#/definitions/mlb.TeamBoxscore"
+ "offers": {
+ "description": "Offers for the episode in this country.",
+ "items": {
+ "$ref": "#/definitions/justwatch.Offer"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "justwatch.EpisodeOffersResponse": {
+ "properties": {
+ "countries": {
+ "description": "Offers for the episode, one item per country.",
+ "items": {
+ "$ref": "#/definitions/justwatch.EpisodeCountryOffers"
+ },
+ "type": "array"
},
- "linescore": {
- "$ref": "#/definitions/mlb.Linescore"
+ "id": {
+ "description": "JustWatch episode id the offers belong to, for example `tse5550494`.",
+ "example": "tse5550494",
+ "type": "string"
},
- "source_url": {
+ "language": {
+ "description": "Two-letter language code used for titles and descriptions.",
+ "example": "en",
"type": "string"
}
},
"type": "object"
},
- "mlb.GameSide": {
+ "justwatch.EpisodeSummary": {
"properties": {
- "losses": {
+ "description": {
+ "description": "Short synopsis of the episode.",
+ "type": "string"
+ },
+ "episode_number": {
+ "description": "Number of the episode within its season.",
+ "example": 1,
"type": "integer"
},
- "probable_pitcher": {
- "$ref": "#/definitions/mlb.NamedRef"
+ "id": {
+ "description": "JustWatch episode id, for example `tse5550494`.",
+ "example": "tse5550494",
+ "type": "string"
},
- "score": {
+ "object_id": {
+ "description": "Numeric JustWatch id of the episode.",
+ "example": 5550494,
"type": "integer"
},
- "team": {
- "$ref": "#/definitions/mlb.TeamRef"
+ "object_type": {
+ "description": "JustWatch object type, `SHOW_EPISODE` for episodes.",
+ "example": "SHOW_EPISODE",
+ "type": "string"
},
- "wins": {
+ "offers": {
+ "description": "Offers for the episode, when requested.",
+ "items": {
+ "$ref": "#/definitions/justwatch.Offer"
+ },
+ "type": "array"
+ },
+ "path": {
+ "description": "JustWatch page path of the episode.",
+ "type": "string"
+ },
+ "poster_url": {
+ "description": "URL of the still or poster image for the episode.",
+ "type": "string"
+ },
+ "title": {
+ "description": "Episode title in the requested language.",
+ "example": "Long Day's Journey Into Night",
+ "type": "string"
+ },
+ "url": {
+ "description": "Full JustWatch page URL of the episode.",
+ "type": "string"
+ },
+ "year": {
+ "description": "Release year of the episode.",
+ "example": 2022,
"type": "integer"
}
},
"type": "object"
},
- "mlb.GameStatus": {
+ "justwatch.Genre": {
"properties": {
- "abstract": {
- "type": "string"
- },
- "code": {
- "type": "string"
- },
- "detailed": {
+ "short_name": {
+ "description": "Short genre code accepted as a filter, for example `act`.",
+ "example": "act",
"type": "string"
},
- "reason": {
+ "translation": {
+ "description": "Genre name in the requested language, for example `Action & Adventure`.",
+ "example": "Action & Adventure",
"type": "string"
}
},
"type": "object"
},
- "mlb.GameSummary": {
+ "justwatch.GenreTitlesResponse": {
"properties": {
- "away": {
- "$ref": "#/definitions/mlb.GameSide"
- },
- "day_night": {
+ "country": {
+ "description": "Two-letter ISO country code the results are for.",
+ "example": "US",
"type": "string"
},
- "double_header": {
+ "genre": {
+ "description": "Genre short name the titles belong to, for example `act`.",
+ "example": "act",
"type": "string"
},
- "game_date": {
+ "language": {
+ "description": "Two-letter language code used for titles and descriptions.",
+ "example": "en",
"type": "string"
},
- "game_number": {
- "type": "integer"
+ "results": {
+ "description": "Titles matching the request, one item per title.",
+ "items": {
+ "$ref": "#/definitions/justwatch.SearchTitle"
+ },
+ "type": "array"
},
- "game_type": {
+ "type": {
+ "description": "Content type filter applied: `all`, `movie` or `show`.",
+ "example": "all",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "justwatch.GenresResponse": {
+ "properties": {
+ "genres": {
+ "description": "Genres available on JustWatch.",
+ "items": {
+ "$ref": "#/definitions/justwatch.Genre"
+ },
+ "type": "array"
},
- "home": {
- "$ref": "#/definitions/mlb.GameSide"
- },
- "id": {
- "type": "integer"
- },
- "official_date": {
+ "language": {
+ "description": "Two-letter language code the genre names are translated into.",
+ "example": "en",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "justwatch.MonetizationTitlesResponse": {
+ "properties": {
+ "country": {
+ "description": "Two-letter ISO country code the results are for.",
+ "example": "US",
"type": "string"
},
- "scheduled_innings": {
- "type": "integer"
- },
- "season": {
+ "language": {
+ "description": "Two-letter language code used for titles and descriptions.",
+ "example": "en",
"type": "string"
},
- "series_description": {
+ "monetization_type": {
+ "description": "Monetization type the titles are offered under: `FLATRATE`, `FREE`, `ADS`, `RENT` or `BUY`.",
+ "example": "FLATRATE",
"type": "string"
},
- "status": {
- "$ref": "#/definitions/mlb.GameStatus"
+ "results": {
+ "description": "Titles matching the request, one item per title.",
+ "items": {
+ "$ref": "#/definitions/justwatch.SearchTitle"
+ },
+ "type": "array"
},
- "venue": {
- "$ref": "#/definitions/mlb.VenueRef"
+ "type": {
+ "description": "Content type filter applied: `all`, `movie` or `show`.",
+ "example": "all",
+ "type": "string"
}
},
"type": "object"
},
- "mlb.ImageRef": {
+ "justwatch.NewTitlesResponse": {
"properties": {
- "type": {
+ "country": {
+ "description": "Two-letter ISO country code the results are for.",
+ "example": "US",
"type": "string"
},
- "url": {
+ "language": {
+ "description": "Two-letter language code used for titles and descriptions.",
+ "example": "en",
+ "type": "string"
+ },
+ "results": {
+ "description": "Newly added titles, one item per title.",
+ "items": {
+ "$ref": "#/definitions/justwatch.SearchTitle"
+ },
+ "type": "array"
+ },
+ "type": {
+ "description": "Content type filter applied: `all`, `movie` or `show`.",
+ "example": "all",
"type": "string"
}
},
"type": "object"
},
- "mlb.Inning": {
+ "justwatch.Offer": {
"properties": {
- "away_errors": {
- "type": "integer"
+ "availability": {
+ "description": "Availability of the offer as a schema.org URL, for example `https://schema.org/InStock`.",
+ "example": "https://schema.org/InStock",
+ "type": "string"
},
- "away_hits": {
- "type": "integer"
+ "category": {
+ "description": "Format label shown for the offer, for example `Blu-Ray`.",
+ "example": "Blu-Ray",
+ "type": "string"
},
- "away_runs": {
- "type": "integer"
+ "currency": {
+ "description": "Currency of `price`, as an ISO 4217 code such as `USD`.",
+ "example": "USD",
+ "type": "string"
},
- "home_errors": {
- "type": "integer"
+ "monetization_type": {
+ "description": "How the title is offered: `FLATRATE`, `FREE`, `ADS`, `RENT` or `BUY`.",
+ "example": "RENT",
+ "type": "string"
},
- "home_hits": {
- "type": "integer"
+ "presentation_type": {
+ "description": "Picture format of the offer, for example `HD` or `4K`.",
+ "example": "4K",
+ "type": "string"
},
- "home_runs": {
- "type": "integer"
+ "price": {
+ "description": "Price of the offer in `currency`. Omitted for free and subscription offers without a price.",
+ "example": 4.99,
+ "type": "number"
},
- "number": {
+ "provider": {
+ "description": "Name of the provider offering the title, for example `Amazon Video`.",
+ "example": "Amazon Video",
+ "type": "string"
+ },
+ "provider_id": {
+ "description": "JustWatch id of the provider.",
+ "example": 10,
"type": "integer"
+ },
+ "provider_short": {
+ "description": "Short provider code, for example `amz`.",
+ "example": "amz",
+ "type": "string"
+ },
+ "provider_technical": {
+ "description": "Technical provider name used by JustWatch, for example `amazon`.",
+ "example": "amazon",
+ "type": "string"
+ },
+ "url": {
+ "description": "Link to watch or buy the title at the provider.",
+ "type": "string"
}
},
"type": "object"
},
- "mlb.LeaderCategory": {
+ "justwatch.PopularResponse": {
"properties": {
- "category": {
+ "country": {
+ "description": "Two-letter ISO country code the results are for.",
+ "example": "US",
"type": "string"
},
- "game_type": {
+ "has_next_page": {
+ "description": "Whether more popular titles are available after this page.",
+ "example": true,
+ "type": "boolean"
+ },
+ "language": {
+ "description": "Two-letter language code used for titles and descriptions.",
+ "example": "en",
"type": "string"
},
- "group": {
+ "next_cursor": {
+ "description": "Cursor to pass as `cursor` to get the next page.",
+ "example": "Mg==",
"type": "string"
},
- "leaders": {
+ "results": {
+ "description": "Popular titles in ranked order, one item per title.",
"items": {
- "$ref": "#/definitions/mlb.LeaderEntry"
+ "$ref": "#/definitions/justwatch.SearchTitle"
},
"type": "array"
},
- "season": {
+ "type": {
+ "description": "Content type filter applied: `all`, `movie` or `show`.",
+ "example": "all",
"type": "string"
- },
- "total": {
- "type": "integer"
}
},
"type": "object"
},
- "mlb.LeaderEntry": {
+ "justwatch.PriceRange": {
"properties": {
- "league": {
- "$ref": "#/definitions/mlb.NamedRef"
+ "currency": {
+ "description": "Currency of the prices, as an ISO 4217 code such as `USD`.",
+ "example": "USD",
+ "type": "string"
},
- "player": {
- "$ref": "#/definitions/mlb.NamedRef"
+ "max": {
+ "description": "Highest price among the offers of this type.",
+ "example": 14.99,
+ "type": "number"
},
- "rank": {
- "type": "integer"
+ "min": {
+ "description": "Lowest price among the offers of this type.",
+ "example": 2.99,
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "justwatch.Provider": {
+ "properties": {
+ "clear_name": {
+ "description": "Display name of the provider, for example `Netflix`.",
+ "example": "Netflix",
+ "type": "string"
},
- "season": {
+ "icon_url": {
+ "description": "URL of the provider's icon image.",
+ "example": "https://images.justwatch.com/icon/207360008/s100/netflix.jpg",
"type": "string"
},
- "stats": {
- "additionalProperties": {},
- "type": "object"
+ "id": {
+ "description": "JustWatch id of the provider.",
+ "example": 8,
+ "type": "integer"
},
- "team": {
- "$ref": "#/definitions/mlb.TeamRef"
+ "short_name": {
+ "description": "Short provider code accepted as a filter, for example `nfx`.",
+ "example": "nfx",
+ "type": "string"
},
- "value": {
+ "technical_name": {
+ "description": "Technical provider name used by JustWatch, for example `netflix`.",
+ "example": "netflix",
"type": "string"
}
},
"type": "object"
},
- "mlb.LeagueLeadersResponse": {
+ "justwatch.ProviderTitlesResponse": {
"properties": {
- "categories": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "country": {
+ "description": "Two-letter ISO country code the results are for.",
+ "example": "US",
+ "type": "string"
},
- "count": {
- "type": "integer"
+ "language": {
+ "description": "Two-letter language code used for titles and descriptions.",
+ "example": "en",
+ "type": "string"
},
- "fetched_at": {
+ "provider": {
+ "description": "Provider short name the titles are available on, for example `nfx`.",
+ "example": "nfx",
"type": "string"
},
"results": {
+ "description": "Titles matching the request, one item per title.",
"items": {
- "$ref": "#/definitions/mlb.LeaderCategory"
+ "$ref": "#/definitions/justwatch.SearchTitle"
},
"type": "array"
},
- "season": {
- "type": "integer"
- },
- "source_url": {
+ "type": {
+ "description": "Content type filter applied: `all`, `movie` or `show`.",
+ "example": "all",
"type": "string"
}
},
"type": "object"
},
- "mlb.Linescore": {
+ "justwatch.ProvidersResponse": {
"properties": {
- "away_errors": {
- "type": "integer"
+ "country": {
+ "description": "Two-letter ISO country code the providers are available in.",
+ "example": "US",
+ "type": "string"
},
- "away_hits": {
- "type": "integer"
+ "providers": {
+ "description": "Streaming and purchase providers available in the country.",
+ "items": {
+ "$ref": "#/definitions/justwatch.Provider"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "justwatch.Scoring": {
+ "properties": {
+ "best_rating": {
+ "description": "Top of the scale for `justwatch_rating`, for example `100`.",
+ "example": "100",
+ "type": "string"
},
- "away_runs": {
- "type": "integer"
+ "certified_fresh": {
+ "description": "Whether the title carries the Rotten Tomatoes Certified Fresh badge.",
+ "example": true,
+ "type": "boolean"
},
- "current_inning": {
- "type": "integer"
+ "imdb_score": {
+ "description": "IMDb user rating out of 10.",
+ "example": 8.8,
+ "type": "number"
},
- "home_errors": {
+ "imdb_votes": {
+ "description": "Number of IMDb votes behind `imdb_score`.",
+ "example": 2798306,
"type": "integer"
},
- "home_hits": {
- "type": "integer"
+ "justwatch_rating": {
+ "description": "JustWatch user rating, on the scale given by `best_rating`.",
+ "example": 97,
+ "type": "number"
},
- "home_runs": {
+ "rating_count": {
+ "description": "Number of ratings behind `justwatch_rating`.",
+ "example": 77696,
"type": "integer"
},
- "inning_state": {
- "type": "string"
+ "tmdb_popularity": {
+ "description": "TMDB popularity score for the title.",
+ "example": 38.5801,
+ "type": "number"
},
- "innings": {
- "items": {
- "$ref": "#/definitions/mlb.Inning"
- },
- "type": "array"
+ "tmdb_score": {
+ "description": "TMDB user rating for the title.",
+ "example": 8.372,
+ "type": "number"
},
- "scheduled_innings": {
+ "tomato_meter": {
+ "description": "Rotten Tomatoes Tomatometer score, as a percentage.",
+ "example": 87,
"type": "integer"
}
},
"type": "object"
},
- "mlb.MLBDiscoveryResponse": {
+ "justwatch.SearchResponse": {
"properties": {
- "divisions": {
- "items": {
- "$ref": "#/definitions/mlb.NamedRef"
- },
- "type": "array"
+ "country": {
+ "description": "Two-letter ISO country code the results are for.",
+ "example": "US",
+ "type": "string"
},
- "fetched_at": {
+ "language": {
+ "description": "Two-letter language code used for titles and descriptions.",
+ "example": "en",
"type": "string"
},
- "game_types": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "query": {
+ "description": "Search text that was run.",
+ "example": "inception",
+ "type": "string"
},
- "leader_categories": {
+ "results": {
+ "description": "Titles matching the search text, one item per title.",
"items": {
- "$ref": "#/definitions/mlb.EnumValue"
+ "$ref": "#/definitions/justwatch.SearchTitle"
},
"type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "justwatch.SearchTitle": {
+ "properties": {
+ "id": {
+ "description": "JustWatch title id, for example `tm92641` for a movie.",
+ "example": "tm92641",
+ "type": "string"
},
- "leagues": {
- "items": {
- "$ref": "#/definitions/mlb.NamedRef"
- },
- "type": "array"
+ "object_id": {
+ "description": "Numeric JustWatch id of the title.",
+ "example": 92641,
+ "type": "integer"
},
- "prospect_date_ranges": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "object_type": {
+ "description": "JustWatch object type of the title, for example `MOVIE` or `SHOW`.",
+ "example": "MOVIE",
+ "type": "string"
},
- "prospect_minimum_pa": {
+ "offers": {
+ "description": "Streaming, rental and purchase offers for the title.",
"items": {
- "type": "integer"
+ "$ref": "#/definitions/justwatch.Offer"
},
"type": "array"
},
- "prospect_positions": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "path": {
+ "description": "JustWatch page path of the title, for example `/us/movie/inception`.",
+ "example": "/us/movie/inception",
+ "type": "string"
},
- "prospect_ranking_positions": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "poster_url": {
+ "description": "URL of the poster image for the title.",
+ "example": "https://images.justwatch.com/poster/302449148/s718/inception.jpg",
+ "type": "string"
},
- "prospect_ranking_sort_directions": {
+ "production_countries": {
+ "description": "ProductionCountries lists the title's country of origin as two-letter ISO\ncodes. It is only populated on surfaces that request it, such as discover.",
+ "example": [
+ "KR"
+ ],
"items": {
- "$ref": "#/definitions/mlb.EnumValue"
+ "type": "string"
},
"type": "array"
},
- "prospect_ranking_sort_fields": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "title": {
+ "description": "Name of the title in the requested language.",
+ "example": "Inception",
+ "type": "string"
},
- "prospect_ranking_teams": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "url": {
+ "description": "Full JustWatch page URL of the title.",
+ "example": "https://www.justwatch.com/us/movie/inception",
+ "type": "string"
},
- "prospect_ranking_views": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "year": {
+ "description": "Release year of the title.",
+ "example": 2010,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "justwatch.SeasonByIDResponse": {
+ "properties": {
+ "country": {
+ "description": "Two-letter ISO country code the results are for.",
+ "example": "US",
+ "type": "string"
},
- "prospect_ranking_years": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "language": {
+ "description": "Two-letter language code used for titles and descriptions.",
+ "example": "en",
+ "type": "string"
},
- "roster_types": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "season": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/justwatch.SeasonSummary"
+ }
+ ],
+ "description": "Season that matches the requested id."
+ }
+ },
+ "type": "object"
+ },
+ "justwatch.SeasonEpisodesResponse": {
+ "properties": {
+ "country": {
+ "description": "Two-letter ISO country code the results are for.",
+ "example": "US",
+ "type": "string"
},
- "sections": {
+ "episodes": {
+ "description": "Episodes of the season, in order.",
"items": {
- "$ref": "#/definitions/mlb.NavigationItem"
+ "$ref": "#/definitions/justwatch.EpisodeSummary"
},
"type": "array"
},
- "source_url": {
+ "language": {
+ "description": "Two-letter language code used for titles and descriptions.",
+ "example": "en",
"type": "string"
},
- "sports": {
- "items": {
- "$ref": "#/definitions/mlb.NamedRef"
- },
- "type": "array"
+ "season": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/justwatch.SeasonSummary"
+ }
+ ],
+ "description": "Season the episodes belong to."
+ }
+ },
+ "type": "object"
+ },
+ "justwatch.SeasonSummary": {
+ "properties": {
+ "description": {
+ "description": "Short synopsis of the season.",
+ "type": "string"
},
- "standings_types": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "id": {
+ "description": "JustWatch season id, for example `tss297253`.",
+ "example": "tss297253",
+ "type": "string"
},
- "stat_groups": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "object_id": {
+ "description": "Numeric JustWatch id of the season.",
+ "example": 297253,
+ "type": "integer"
},
- "stat_hitter_positions": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "object_type": {
+ "description": "JustWatch object type, `SHOW_SEASON` for seasons.",
+ "example": "SHOW_SEASON",
+ "type": "string"
},
- "stat_player_pools": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "path": {
+ "description": "JustWatch page path of the season.",
+ "example": "/us/tv-show/from/season-1",
+ "type": "string"
},
- "stat_types": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "poster_url": {
+ "description": "URL of the poster image for the season.",
+ "example": "https://images.justwatch.com/poster/320190730/s718/season-1.jpg",
+ "type": "string"
},
- "statcast_abs_challenge_filters": {
- "$ref": "#/definitions/mlb.StatcastABSChallengeFilters"
+ "season_number": {
+ "description": "Number of the season within the show.",
+ "example": 1,
+ "type": "integer"
},
- "statcast_active_spin_hands": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "title": {
+ "description": "Season title, for example `Season 1`.",
+ "example": "Season 1",
+ "type": "string"
},
- "statcast_active_spin_minimums": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "url": {
+ "description": "Full JustWatch page URL of the season.",
+ "example": "https://www.justwatch.com/us/tv-show/from/season-1",
+ "type": "string"
},
- "statcast_active_spin_seasons": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "year": {
+ "description": "Release year of the season.",
+ "example": 2022,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "justwatch.ShowSeasonsResponse": {
+ "properties": {
+ "country": {
+ "description": "Two-letter ISO country code the results are for.",
+ "example": "US",
+ "type": "string"
},
- "statcast_active_spin_sort_directions": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "language": {
+ "description": "Two-letter language code used for titles and descriptions.",
+ "example": "en",
+ "type": "string"
},
- "statcast_active_spin_sort_fields": {
+ "seasons": {
+ "description": "Seasons of the show, in order.",
"items": {
- "$ref": "#/definitions/mlb.EnumValue"
+ "$ref": "#/definitions/justwatch.SeasonSummary"
},
"type": "array"
},
- "statcast_arm_angle_game_types": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "show": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/justwatch.TitleResponse"
+ }
+ ],
+ "description": "Show the seasons belong to."
+ }
+ },
+ "type": "object"
+ },
+ "justwatch.SimilarTitlesResponse": {
+ "properties": {
+ "country": {
+ "description": "Two-letter ISO country code the results are for.",
+ "example": "US",
+ "type": "string"
},
- "statcast_arm_angle_group_by": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "id": {
+ "description": "JustWatch title id the similar titles are based on, for example `tm92641`.",
+ "example": "tm92641",
+ "type": "string"
},
- "statcast_arm_angle_group_minimum_pitches": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "language": {
+ "description": "Two-letter language code used for titles and descriptions.",
+ "example": "en",
+ "type": "string"
},
- "statcast_arm_angle_hands": {
+ "results": {
+ "description": "Titles similar to the requested one, one item per title.",
"items": {
- "$ref": "#/definitions/mlb.EnumValue"
+ "$ref": "#/definitions/justwatch.SearchTitle"
},
"type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "justwatch.TitleCountryOffers": {
+ "properties": {
+ "country": {
+ "description": "Two-letter ISO country code the offers apply to.",
+ "example": "US",
+ "type": "string"
},
- "statcast_arm_angle_minimums": {
+ "offers": {
+ "description": "Offers for the title in this country.",
"items": {
- "$ref": "#/definitions/mlb.EnumValue"
+ "$ref": "#/definitions/justwatch.Offer"
},
"type": "array"
},
- "statcast_arm_angle_pitch_types": {
+ "title": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/justwatch.TitleResponse"
+ }
+ ],
+ "description": "Title details as listed in this country."
+ }
+ },
+ "type": "object"
+ },
+ "justwatch.TitleMediaResponse": {
+ "properties": {
+ "backdrops": {
+ "description": "Backdrop images for the title.",
"items": {
- "$ref": "#/definitions/mlb.EnumValue"
+ "$ref": "#/definitions/justwatch.Backdrop"
},
"type": "array"
},
- "statcast_arm_angle_seasons": {
+ "clips": {
+ "description": "Trailers and other video clips for the title.",
"items": {
- "$ref": "#/definitions/mlb.EnumValue"
+ "$ref": "#/definitions/justwatch.Clip"
},
"type": "array"
},
- "statcast_arm_angle_sort_directions": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "country": {
+ "description": "Two-letter ISO country code the results are for.",
+ "example": "US",
+ "type": "string"
},
- "statcast_arm_angle_sort_fields": {
+ "credits": {
+ "description": "Cast and crew credited on the title.",
"items": {
- "$ref": "#/definitions/mlb.EnumValue"
+ "$ref": "#/definitions/justwatch.Credit"
},
"type": "array"
},
- "statcast_arm_angle_team_ids": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
- },
- "statcast_arm_strength_min_throws": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "id": {
+ "description": "JustWatch title id the media belongs to, for example `tm92641`.",
+ "example": "tm92641",
+ "type": "string"
},
- "statcast_arm_strength_positions": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "language": {
+ "description": "Two-letter language code used for titles and descriptions.",
+ "example": "en",
+ "type": "string"
},
- "statcast_arm_strength_sort_directions": {
+ "title": {
+ "description": "Name of the title in the requested language.",
+ "example": "Inception",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "justwatch.TitleOffersResponse": {
+ "properties": {
+ "countries": {
+ "description": "Offers for the title, one item per country.",
"items": {
- "$ref": "#/definitions/mlb.EnumValue"
+ "$ref": "#/definitions/justwatch.TitleCountryOffers"
},
"type": "array"
},
- "statcast_arm_strength_sort_fields": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "id": {
+ "description": "JustWatch title id the offers belong to, for example `tm92641`.",
+ "example": "tm92641",
+ "type": "string"
},
- "statcast_arm_strength_team_ids": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "language": {
+ "description": "Two-letter language code used for titles and descriptions.",
+ "example": "en",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "justwatch.TitleResponse": {
+ "properties": {
+ "content_rating": {
+ "description": "Age or content rating shown for the title.",
+ "type": "string"
},
- "statcast_arm_strength_types": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "description": {
+ "description": "Synopsis of the title.",
+ "type": "string"
},
- "statcast_arm_strength_years": {
+ "genres": {
+ "description": "Genre names of the title.",
"items": {
- "$ref": "#/definitions/mlb.EnumValue"
+ "type": "string"
},
"type": "array"
},
- "statcast_arm_value_game_types": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "id": {
+ "description": "JustWatch title id, for example `tm92641` for a movie.",
+ "example": "tm92641",
+ "type": "string"
},
- "statcast_arm_value_max_year": {
+ "object_id": {
+ "description": "Numeric JustWatch id of the title.",
+ "example": 92641,
"type": "integer"
},
- "statcast_arm_value_min_year": {
- "type": "integer"
+ "object_type": {
+ "description": "JustWatch object type of the title, for example `MOVIE` or `SHOW`.",
+ "example": "MOVIE",
+ "type": "string"
},
- "statcast_arm_value_minimum_opportunities": {
+ "offers": {
+ "description": "Streaming, rental and purchase offers for the title.",
"items": {
- "$ref": "#/definitions/mlb.EnumValue"
+ "$ref": "#/definitions/justwatch.Offer"
},
"type": "array"
},
- "statcast_arm_value_situations": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "path": {
+ "description": "JustWatch page path of the title, for example `/us/movie/inception`.",
+ "example": "/us/movie/inception",
+ "type": "string"
},
- "statcast_arm_value_sort_directions": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "poster_url": {
+ "description": "URL of the poster image for the title.",
+ "example": "https://images.justwatch.com/poster/302449148/s718/inception.jpg",
+ "type": "string"
},
- "statcast_arm_value_sort_fields": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "release_date": {
+ "description": "Release date of the title, for example `2010-07-14`.",
+ "example": "2010-07-14",
+ "type": "string"
},
- "statcast_arm_value_split_years": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "runtime": {
+ "description": "Running time as an ISO 8601 duration, for example `PT2H28M0S`.",
+ "example": "PT2H28M0S",
+ "type": "string"
},
- "statcast_arm_value_team_ids": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "scoring": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/justwatch.Scoring"
+ }
+ ],
+ "description": "User and critic ratings for the title."
},
- "statcast_arm_value_types": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "title": {
+ "description": "Name of the title in the requested language.",
+ "example": "Inception",
+ "type": "string"
},
- "statcast_arm_value_with_team_only": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "url": {
+ "description": "Full JustWatch page URL of the title.",
+ "example": "https://www.justwatch.com/us/movie/inception",
+ "type": "string"
},
- "statcast_arm_value_years": {
- "items": {
- "type": "integer"
- },
- "type": "array"
+ "year": {
+ "description": "Release year of the title.",
+ "example": 2010,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "justwatch.ageCertificationsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "statcast_baserunning_filters": {
- "$ref": "#/definitions/mlb.StatcastBaserunningFilters"
+ "data": {
+ "$ref": "#/definitions/justwatch.AgeCertificationsResponse"
},
- "statcast_bat_tracking_attack_zones": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "justwatch.analysisResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "statcast_bat_tracking_bat_sides": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/justwatch.AnalysisResponse"
},
- "statcast_bat_tracking_contact_types": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "justwatch.discoverResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "statcast_bat_tracking_counts": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/justwatch.DiscoverResponse"
},
- "statcast_bat_tracking_game_types": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "justwatch.episodeByIDResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "statcast_bat_tracking_group_by": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/justwatch.EpisodeByIDResponse"
},
- "statcast_bat_tracking_hard_hit_values": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "justwatch.episodeOffersResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "statcast_bat_tracking_min_group_swings": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/justwatch.EpisodeOffersResponse"
},
- "statcast_bat_tracking_min_swings": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "justwatch.genreTitlesResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "statcast_bat_tracking_pitch_hands": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/justwatch.GenreTitlesResponse"
},
- "statcast_bat_tracking_pitch_types": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "justwatch.genresResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "statcast_bat_tracking_seasons": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/justwatch.GenresResponse"
},
- "statcast_bat_tracking_sort_directions": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "justwatch.monetizationTitlesResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "statcast_bat_tracking_sort_fields": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/justwatch.MonetizationTitlesResponse"
},
- "statcast_bat_tracking_team_ids": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "justwatch.newTitlesResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "statcast_bat_tracking_types": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/justwatch.NewTitlesResponse"
},
- "statcast_batted_ball_game_types": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "justwatch.popularResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "statcast_batted_ball_max_year": {
+ "data": {
+ "$ref": "#/definitions/justwatch.PopularResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "justwatch.providerTitlesResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "statcast_batted_ball_min_splits": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/justwatch.ProviderTitlesResponse"
},
- "statcast_batted_ball_min_year": {
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "justwatch.providersResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "statcast_batted_ball_minimums": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/justwatch.ProvidersResponse"
},
- "statcast_batted_ball_pitch_types": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "justwatch.searchResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "statcast_batted_ball_seasons": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/justwatch.SearchResponse"
},
- "statcast_batted_ball_sides": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "justwatch.seasonByIDResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "statcast_batted_ball_sort_directions": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/justwatch.SeasonByIDResponse"
},
- "statcast_batted_ball_sort_fields": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "justwatch.seasonEpisodesResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "statcast_batted_ball_split_years": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/justwatch.SeasonEpisodesResponse"
},
- "statcast_batted_ball_splits": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "justwatch.showSeasonsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "statcast_batted_ball_team_ids": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/justwatch.ShowSeasonsResponse"
},
- "statcast_batted_ball_types": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "justwatch.similarTitlesResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "statcast_catcher_blocking_game_types": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/justwatch.SimilarTitlesResponse"
},
- "statcast_catcher_blocking_minimums": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "justwatch.titleMediaResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "statcast_catcher_blocking_sort_directions": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/justwatch.TitleMediaResponse"
},
- "statcast_catcher_blocking_sort_fields": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "justwatch.titleOffersResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "statcast_catcher_blocking_team_ids": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/justwatch.TitleOffersResponse"
},
- "statcast_catcher_blocking_types": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "justwatch.titleResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "statcast_catcher_blocking_years": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/justwatch.TitleResponse"
},
- "statcast_catcher_framing_ball_strike": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "kalshi.BatchMarketHistoryResponse": {
+ "properties": {
+ "end_ts": {
+ "description": "End of the requested range, in Unix seconds.",
+ "example": 1780804800,
+ "type": "integer"
},
- "statcast_catcher_framing_bat_sides": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-06-07T14:00:00Z",
+ "type": "string"
},
- "statcast_catcher_framing_calls": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "include_latest_before_start": {
+ "description": "Whether the latest candle before `start_ts` was requested.",
+ "example": false,
+ "type": "boolean"
},
- "statcast_catcher_framing_game_types": {
+ "markets": {
+ "description": "Candlestick history for each requested market.",
"items": {
- "$ref": "#/definitions/mlb.EnumValue"
+ "$ref": "#/definitions/kalshi.MarketHistoryResponse"
},
"type": "array"
},
- "statcast_catcher_framing_min_pitches": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "period_interval": {
+ "description": "Length of each candlestick period, in minutes.",
+ "example": 1440,
+ "type": "integer"
},
- "statcast_catcher_framing_min_results": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://external-api.kalshi.com/trade-api/v2/markets/candlesticks",
+ "type": "string"
},
- "statcast_catcher_framing_pitch_hands": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "start_ts": {
+ "description": "Start of the requested range, in Unix seconds.",
+ "example": 1780286400,
+ "type": "integer"
},
- "statcast_catcher_framing_pitch_types": {
+ "tickers": {
+ "description": "Tickers of the Kalshi markets that were requested.",
+ "example": [
+ "KXELONMARS-99"
+ ],
"items": {
- "$ref": "#/definitions/mlb.EnumValue"
+ "type": "string"
},
"type": "array"
- },
- "statcast_catcher_framing_sort_directions": {
+ }
+ },
+ "type": "object"
+ },
+ "kalshi.BatchOrderBookResponse": {
+ "properties": {
+ "books": {
+ "description": "Order book for each requested market.",
"items": {
- "$ref": "#/definitions/mlb.EnumValue"
+ "$ref": "#/definitions/kalshi.OrderBookResponse"
},
"type": "array"
},
- "statcast_catcher_framing_sort_fields": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-06-07T14:00:00Z",
+ "type": "string"
},
- "statcast_catcher_framing_team_ids": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://external-api.kalshi.com/trade-api/v2/markets/orderbooks",
+ "type": "string"
},
- "statcast_catcher_framing_types": {
+ "tickers": {
+ "description": "Tickers of the Kalshi markets that were requested.",
+ "example": [
+ "KXELONMARS-99"
+ ],
"items": {
- "$ref": "#/definitions/mlb.EnumValue"
+ "type": "string"
},
"type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "kalshi.CandleOHLC": {
+ "properties": {
+ "close": {
+ "description": "Value at the end of the period, in US dollars per contract.",
+ "example": 0.08,
+ "type": "number"
},
- "statcast_catcher_framing_years": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "high": {
+ "description": "Highest value during the period, in US dollars per contract.",
+ "example": 0.11,
+ "type": "number"
},
- "statcast_catcher_pop_time_min_2b_attempts": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "low": {
+ "description": "Lowest value during the period, in US dollars per contract.",
+ "example": 0.08,
+ "type": "number"
},
- "statcast_catcher_pop_time_min_3b_attempts": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "mean": {
+ "description": "Average value over the period, in US dollars per contract.",
+ "example": 0.1014,
+ "type": "number"
},
- "statcast_catcher_pop_time_sort_directions": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "open": {
+ "description": "Value at the start of the period, in US dollars per contract.",
+ "example": 0.11,
+ "type": "number"
},
- "statcast_catcher_pop_time_sort_fields": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "previous": {
+ "description": "Last value from before the period, in US dollars per contract.",
+ "example": 0.08,
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "kalshi.Competition": {
+ "properties": {
+ "id": {
+ "description": "Kalshi identifier of the competition.",
+ "type": "string"
},
- "statcast_catcher_pop_time_team_ids": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "name": {
+ "description": "Name of the competition.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "kalshi.EventHistoryResponse": {
+ "properties": {
+ "adjusted_end_ts": {
+ "description": "End of the range after Kalshi adjusted it, in Unix seconds.",
+ "example": 1780804800,
+ "type": "integer"
},
- "statcast_catcher_pop_time_years": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "end_ts": {
+ "description": "End of the requested range, in Unix seconds.",
+ "example": 1780804800,
+ "type": "integer"
},
- "statcast_catcher_stance_game_types": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "event_ticker": {
+ "description": "Ticker of the Kalshi event the history is for.",
+ "example": "KXELONMARS-99",
+ "type": "string"
},
- "statcast_catcher_stance_group_by": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-06-07T14:00:00Z",
+ "type": "string"
},
- "statcast_catcher_stance_knee_codes": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "include_latest_before_start": {
+ "description": "Whether the latest candle before `start_ts` was requested.",
+ "example": false,
+ "type": "boolean"
},
- "statcast_catcher_stance_min_pitches": {
+ "market_tickers": {
+ "description": "Tickers of the markets in the event that have history.",
+ "example": [
+ "KXELONMARS-99"
+ ],
"items": {
- "$ref": "#/definitions/mlb.EnumValue"
+ "type": "string"
},
"type": "array"
},
- "statcast_catcher_stance_min_results": {
+ "markets": {
+ "description": "Candlestick history for each market in the event.",
"items": {
- "$ref": "#/definitions/mlb.EnumValue"
+ "$ref": "#/definitions/kalshi.MarketHistoryResponse"
},
"type": "array"
},
- "statcast_catcher_stance_pitch_types": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "period_interval": {
+ "description": "Length of each candlestick period, in minutes.",
+ "example": 1440,
+ "type": "integer"
},
- "statcast_catcher_stance_seasons": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "series_ticker": {
+ "description": "Ticker of the series the event belongs to.",
+ "example": "KXELONMARS",
+ "type": "string"
},
- "statcast_catcher_stance_sides": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://external-api.kalshi.com/trade-api/v2/series/KXELONMARS/events/KXELONMARS-99/candlesticks",
+ "type": "string"
},
- "statcast_catcher_stance_sort_directions": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "start_ts": {
+ "description": "Start of the requested range, in Unix seconds.",
+ "example": 1780286400,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "kalshi.EventMetadataResponse": {
+ "properties": {
+ "competition": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/kalshi.Competition"
+ }
+ ],
+ "description": "Competition the event is part of. Omitted when the event has none."
},
- "statcast_catcher_stance_sort_fields": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "competition_scope": {
+ "description": "Scope of the competition the event is part of, as Kalshi labels it.",
+ "type": "string"
},
- "statcast_catcher_stance_team_ids": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "event_ticker": {
+ "description": "Ticker of the Kalshi event the metadata belongs to.",
+ "example": "KXELONMARS-99",
+ "type": "string"
},
- "statcast_catcher_stance_types": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "featured_image_url": {
+ "description": "URL of the event's featured image.",
+ "type": "string"
},
- "statcast_catcher_throwing_game_types": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-06-07T14:00:00Z",
+ "type": "string"
},
- "statcast_catcher_throwing_minimum_attempts": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "image_url": {
+ "description": "URL of the event's image.",
+ "example": "https://kalshi-public-docs.s3.amazonaws.com/series-images-webp/KXELONMARS.webp",
+ "type": "string"
},
- "statcast_catcher_throwing_seasons": {
+ "market_details": {
+ "description": "Display details for each market in the event.",
"items": {
- "$ref": "#/definitions/mlb.EnumValue"
+ "$ref": "#/definitions/kalshi.MarketDetail"
},
"type": "array"
},
- "statcast_catcher_throwing_sort_directions": {
+ "settlement_sources": {
+ "description": "Sources Kalshi uses to settle the event's markets.",
"items": {
- "$ref": "#/definitions/mlb.EnumValue"
+ "$ref": "#/definitions/kalshi.SettlementSource"
},
"type": "array"
},
- "statcast_catcher_throwing_sort_fields": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://external-api.kalshi.com/trade-api/v2/events/KXELONMARS-99/metadata",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "kalshi.EventResponse": {
+ "properties": {
+ "event": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/kalshi.EventRow"
+ }
+ ],
+ "description": "The Kalshi event that was requested."
},
- "statcast_catcher_throwing_target_bases": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-06-07T14:00:00Z",
+ "type": "string"
},
- "statcast_catcher_throwing_team_ids": {
+ "markets": {
+ "description": "Markets that belong to the event.",
"items": {
- "$ref": "#/definitions/mlb.EnumValue"
+ "$ref": "#/definitions/kalshi.MarketRow"
},
"type": "array"
},
- "statcast_catcher_throwing_types": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://external-api.kalshi.com/trade-api/v2/events/KXELONMARS-99",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "kalshi.EventRow": {
+ "properties": {
+ "available_on_brokers": {
+ "description": "Whether the event's markets can be traded through Kalshi's broker partners.",
+ "example": false,
+ "type": "boolean"
},
- "statcast_entity_types": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "category": {
+ "description": "Kalshi category of the event, such as `World`.",
+ "example": "World",
+ "type": "string"
},
- "statcast_expected_filter_types": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "collateral_return_type": {
+ "description": "Collateral return type Kalshi assigns to the event, such as `MECNET`.",
+ "example": "MECNET",
+ "type": "string"
},
- "statcast_expected_max_year": {
- "type": "integer"
+ "event_ticker": {
+ "description": "Kalshi ticker that identifies the event.",
+ "example": "KXELONMARS-99",
+ "type": "string"
},
- "statcast_expected_min_year": {
- "type": "integer"
+ "last_updated": {
+ "description": "Time the event was last updated, in UTC (RFC 3339).",
+ "example": "2026-05-10T00:33:53Z",
+ "type": "string"
},
- "statcast_expected_minimums": {
+ "markets": {
+ "description": "Markets that belong to the event. Omitted when the response does not include them.",
"items": {
- "$ref": "#/definitions/mlb.EnumValue"
+ "$ref": "#/definitions/kalshi.MarketRow"
},
"type": "array"
},
- "statcast_expected_sort_directions": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "mutually_exclusive": {
+ "description": "Whether at most one market in the event can resolve to Yes.",
+ "example": false,
+ "type": "boolean"
},
- "statcast_expected_sort_fields": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "series_ticker": {
+ "description": "Ticker of the series the event belongs to.",
+ "example": "KXELONMARS",
+ "type": "string"
},
- "statcast_expected_types": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "strike_period": {
+ "description": "Strike period of the event, as Kalshi labels it.",
+ "type": "string"
},
- "statcast_fielding_run_value_batting_minimums": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "sub_title": {
+ "description": "Short qualifier shown under the event title, such as a date or deadline.",
+ "example": "Before 2099",
+ "type": "string"
},
- "statcast_fielding_run_value_fielding_minimums": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "title": {
+ "description": "Event title as shown on Kalshi.",
+ "example": "Will Elon Musk visit Mars in his lifetime?",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "kalshi.EventsResponse": {
+ "properties": {
+ "cursor": {
+ "description": "Cursor to pass in the next request to get the following page. Omitted when Kalshi returns none.",
+ "type": "string"
},
- "statcast_fielding_run_value_game_types": {
+ "events": {
+ "description": "Kalshi events on this page.",
"items": {
- "$ref": "#/definitions/mlb.EnumValue"
+ "$ref": "#/definitions/kalshi.EventRow"
},
"type": "array"
},
- "statcast_fielding_run_value_group_by": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-06-07T14:00:00Z",
+ "type": "string"
},
- "statcast_fielding_run_value_positions": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "limit": {
+ "description": "Number of events requested per page.",
+ "example": 25,
+ "type": "integer"
},
- "statcast_fielding_run_value_seasons": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://external-api.kalshi.com/trade-api/v2/events?limit=25",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "kalshi.ExchangeHoursBlock": {
+ "properties": {
+ "close_time": {
+ "example": "00:00",
+ "type": "string"
},
- "statcast_fielding_run_value_sort_directions": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "open_time": {
+ "example": "00:00",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "kalshi.ExchangeMaintenanceWindow": {
+ "properties": {
+ "end_time": {
+ "type": "string"
},
- "statcast_fielding_run_value_sort_fields": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "reason": {
+ "type": "string"
},
- "statcast_fielding_run_value_team_ids": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "start_time": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "kalshi.ExchangeScheduleResponse": {
+ "properties": {
+ "fetched_at": {
+ "example": "2026-06-07T14:00:00Z",
+ "type": "string"
},
- "statcast_fielding_run_value_types": {
+ "maintenance_windows": {
"items": {
- "$ref": "#/definitions/mlb.EnumValue"
+ "$ref": "#/definitions/kalshi.ExchangeMaintenanceWindow"
},
"type": "array"
},
- "statcast_first_base_receiving_field_out_values": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "source_url": {
+ "example": "https://external-api.kalshi.com/trade-api/v2/exchange/schedule",
+ "type": "string"
},
- "statcast_first_base_receiving_game_types": {
+ "standard_hours": {
"items": {
- "$ref": "#/definitions/mlb.EnumValue"
+ "$ref": "#/definitions/kalshi.ExchangeStandardHours"
},
"type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "kalshi.ExchangeStandardHours": {
+ "properties": {
+ "end_time": {
+ "example": "2200-12-01T00:00:00Z",
+ "type": "string"
},
- "statcast_first_base_receiving_hands": {
+ "friday": {
"items": {
- "$ref": "#/definitions/mlb.EnumValue"
+ "$ref": "#/definitions/kalshi.ExchangeHoursBlock"
},
"type": "array"
},
- "statcast_first_base_receiving_minimum_heights": {
+ "monday": {
"items": {
- "$ref": "#/definitions/mlb.EnumValue"
+ "$ref": "#/definitions/kalshi.ExchangeHoursBlock"
},
"type": "array"
},
- "statcast_first_base_receiving_minimum_split_values": {
+ "saturday": {
"items": {
- "$ref": "#/definitions/mlb.EnumValue"
+ "$ref": "#/definitions/kalshi.ExchangeHoursBlock"
},
"type": "array"
},
- "statcast_first_base_receiving_minimums": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "start_time": {
+ "example": "2024-12-01T00:00:00Z",
+ "type": "string"
},
- "statcast_first_base_receiving_runner_states": {
+ "sunday": {
"items": {
- "$ref": "#/definitions/mlb.EnumValue"
+ "$ref": "#/definitions/kalshi.ExchangeHoursBlock"
},
"type": "array"
},
- "statcast_first_base_receiving_seasons": {
+ "thursday": {
"items": {
- "$ref": "#/definitions/mlb.EnumValue"
+ "$ref": "#/definitions/kalshi.ExchangeHoursBlock"
},
"type": "array"
},
- "statcast_first_base_receiving_secondary_splits": {
+ "tuesday": {
"items": {
- "$ref": "#/definitions/mlb.EnumValue"
+ "$ref": "#/definitions/kalshi.ExchangeHoursBlock"
},
"type": "array"
},
- "statcast_first_base_receiving_sort_directions": {
+ "wednesday": {
"items": {
- "$ref": "#/definitions/mlb.EnumValue"
+ "$ref": "#/definitions/kalshi.ExchangeHoursBlock"
},
"type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "kalshi.ExchangeStatusResponse": {
+ "properties": {
+ "exchange_active": {
+ "example": true,
+ "type": "boolean"
},
- "statcast_first_base_receiving_sort_fields": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "fetched_at": {
+ "example": "2026-06-07T14:00:00Z",
+ "type": "string"
},
- "statcast_first_base_receiving_split_year_values": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "source_url": {
+ "example": "https://external-api.kalshi.com/trade-api/v2/exchange/status",
+ "type": "string"
},
- "statcast_first_base_receiving_throw_heights": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "trading_active": {
+ "example": true,
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "kalshi.HistoricalCutoffResponse": {
+ "properties": {
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-06-07T14:00:00Z",
+ "type": "string"
},
- "statcast_first_base_receiving_throw_locations": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "market_settled_at": {
+ "description": "Cutoff time for settled markets, in UTC (RFC 3339). Markets settled before it are served by the historical endpoints.",
+ "example": "2026-04-08T00:00:00Z",
+ "type": "string"
},
- "statcast_first_base_receiving_throw_positions": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "orders_updated_at": {
+ "description": "Cutoff time for order updates, in UTC (RFC 3339).",
+ "example": "2026-04-08T00:00:00Z",
+ "type": "string"
},
- "statcast_first_base_receiving_time_bins": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://external-api.kalshi.com/trade-api/v2/historical/cutoff",
+ "type": "string"
},
- "statcast_first_base_receiving_types": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "trades_created_at": {
+ "description": "Cutoff time for trades, in UTC (RFC 3339). Trades created before it are served by the historical trades endpoint.",
+ "example": "2026-04-08T00:00:00Z",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "kalshi.HistoricalMarketResponse": {
+ "properties": {
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-06-07T14:00:00Z",
+ "type": "string"
},
- "statcast_home_runs_categories": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "market": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/kalshi.MarketRow"
+ }
+ ],
+ "description": "The historical Kalshi market that was requested."
},
- "statcast_home_runs_minimum_home_runs": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://external-api.kalshi.com/trade-api/v2/historical/markets/KXMVECROSSCATEGORY-S2026144E784A147-ED367B84557",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "kalshi.HistoricalMarketsResponse": {
+ "properties": {
+ "cursor": {
+ "description": "Cursor to pass in the next request to get the following page. Omitted when Kalshi returns none.",
+ "type": "string"
},
- "statcast_home_runs_player_types": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-06-07T14:00:00Z",
+ "type": "string"
},
- "statcast_home_runs_sort_directions": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "limit": {
+ "description": "Number of markets requested per page.",
+ "example": 25,
+ "type": "integer"
},
- "statcast_home_runs_sort_fields": {
+ "markets": {
+ "description": "Historical Kalshi markets on this page.",
"items": {
- "$ref": "#/definitions/mlb.EnumValue"
+ "$ref": "#/definitions/kalshi.MarketRow"
},
"type": "array"
},
- "statcast_home_runs_team_ids": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://external-api.kalshi.com/trade-api/v2/historical/markets?limit=25",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "kalshi.HistoricalTradesResponse": {
+ "properties": {
+ "cursor": {
+ "description": "Cursor to pass in the next request to get the following page. Omitted when Kalshi returns none.",
+ "type": "string"
},
- "statcast_home_runs_years": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-06-07T14:00:00Z",
+ "type": "string"
},
- "statcast_leaderboards": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "limit": {
+ "description": "Number of trades requested per page.",
+ "example": 25,
+ "type": "integer"
},
- "statcast_max_year": {
+ "max_ts": {
+ "description": "Latest trade creation time that was requested, in Unix seconds.",
+ "example": 1775689200,
"type": "integer"
},
- "statcast_min_year": {
+ "min_ts": {
+ "description": "Earliest trade creation time that was requested, in Unix seconds.",
+ "example": 1775602800,
"type": "integer"
},
- "statcast_minimum_bbe": {
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://external-api.kalshi.com/trade-api/v2/historical/trades?limit=25",
+ "type": "string"
+ },
+ "ticker": {
+ "description": "Market ticker the trades were filtered by. Omitted when no ticker filter was used.",
+ "example": "KXMVECROSSCATEGORY-S2026144E784A147-ED367B84557",
+ "type": "string"
+ },
+ "trades": {
+ "description": "Historical trades on this page.",
"items": {
- "$ref": "#/definitions/mlb.EnumValue"
+ "$ref": "#/definitions/kalshi.TradeRow"
},
"type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "kalshi.MarketCandlestick": {
+ "properties": {
+ "end_period_at": {
+ "description": "End of the candlestick period, in UTC (RFC 3339).",
+ "example": "2026-06-01T00:00:00Z",
+ "type": "string"
},
- "statcast_oaa_max_year": {
+ "end_period_ts": {
+ "description": "End of the candlestick period, in Unix seconds.",
+ "example": 1780286400,
"type": "integer"
},
- "statcast_oaa_min_year": {
- "type": "integer"
+ "open_interest": {
+ "description": "Number of contracts open at the end of the period.",
+ "example": 32980.77,
+ "type": "number"
},
- "statcast_oaa_minimums": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "price": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/kalshi.CandleOHLC"
+ }
+ ],
+ "description": "Open, high, low, close, mean and previous trade price for the period, in US dollars per contract."
},
- "statcast_oaa_positions": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "volume": {
+ "description": "Number of contracts traded during the period.",
+ "example": 7,
+ "type": "number"
},
- "statcast_oaa_ranges": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "yes_ask": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/kalshi.CandleOHLC"
+ }
+ ],
+ "description": "Open, high, low, close, mean and previous Yes ask price for the period, in US dollars per contract."
},
- "statcast_oaa_roles": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "yes_bid": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/kalshi.CandleOHLC"
+ }
+ ],
+ "description": "Open, high, low, close, mean and previous Yes bid price for the period, in US dollars per contract."
+ }
+ },
+ "type": "object"
+ },
+ "kalshi.MarketDetail": {
+ "properties": {
+ "color_code": {
+ "description": "Display colour of the market on Kalshi, as a hex code.",
+ "example": "#AA00FF",
+ "type": "string"
},
- "statcast_oaa_sort_directions": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "image_url": {
+ "description": "URL of the market's image.",
+ "type": "string"
},
- "statcast_oaa_sort_fields": {
+ "market_ticker": {
+ "description": "Ticker of the market the details belong to.",
+ "example": "KXELONMARS-99",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "kalshi.MarketHistoryResponse": {
+ "properties": {
+ "candlesticks": {
+ "description": "Price candlesticks for the market, one per period.",
"items": {
- "$ref": "#/definitions/mlb.EnumValue"
+ "$ref": "#/definitions/kalshi.MarketCandlestick"
},
"type": "array"
},
- "statcast_oaa_types": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "end_ts": {
+ "description": "End of the requested range, in Unix seconds.",
+ "example": 1780804800,
+ "type": "integer"
},
- "statcast_park_factor_bat_sides": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-06-07T14:00:00Z",
+ "type": "string"
},
- "statcast_park_factor_conditions": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "include_latest_before_start": {
+ "description": "Whether the latest candle before `start_ts` was requested.",
+ "example": false,
+ "type": "boolean"
},
- "statcast_park_factor_dimension_years": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "period_interval": {
+ "description": "Length of each candlestick period, in minutes.",
+ "example": 1440,
+ "type": "integer"
},
- "statcast_park_factor_parks": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "series_ticker": {
+ "description": "Ticker of the series the market belongs to.",
+ "example": "KXELONMARS",
+ "type": "string"
},
- "statcast_park_factor_rolling_windows": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://external-api.kalshi.com/trade-api/v2/series/KXELONMARS/markets/KXELONMARS-99/candlesticks",
+ "type": "string"
},
- "statcast_park_factor_sort_directions": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "start_ts": {
+ "description": "Start of the requested range, in Unix seconds.",
+ "example": 1780286400,
+ "type": "integer"
},
- "statcast_park_factor_statcast_years": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "ticker": {
+ "description": "Ticker of the Kalshi market the history is for.",
+ "example": "KXELONMARS-99",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "kalshi.MarketResponse": {
+ "properties": {
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-06-07T14:00:00Z",
+ "type": "string"
},
- "statcast_park_factor_stats": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "market": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/kalshi.MarketRow"
+ }
+ ],
+ "description": "The Kalshi market that was requested."
},
- "statcast_park_factor_types": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://external-api.kalshi.com/trade-api/v2/markets/KXELONMARS-99",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "kalshi.MarketRow": {
+ "properties": {
+ "close_time": {
+ "description": "Time trading closes, in UTC (RFC 3339).",
+ "example": "2099-08-01T04:59:00Z",
+ "type": "string"
},
- "statcast_park_factor_years": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "event_ticker": {
+ "description": "Ticker of the event the market belongs to.",
+ "example": "KXELONMARS-99",
+ "type": "string"
},
- "statcast_percentile_batter_fields": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "expiration_time": {
+ "description": "Time the market expires, in UTC (RFC 3339).",
+ "example": "2099-08-08T15:00:00Z",
+ "type": "string"
},
- "statcast_percentile_batter_sort_fields": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "last_price": {
+ "description": "Price of the most recent trade, in US dollars per contract.",
+ "example": 0.08,
+ "type": "number"
},
- "statcast_percentile_comparators": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "liquidity": {
+ "description": "Market liquidity, in US dollars.",
+ "example": 0,
+ "type": "number"
},
- "statcast_percentile_pitcher_fields": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "market_type": {
+ "description": "Market type, such as `binary`.",
+ "example": "binary",
+ "type": "string"
},
- "statcast_percentile_pitcher_sort_fields": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "no_ask": {
+ "description": "Lowest price asked for a No contract, in US dollars.",
+ "example": 0.92,
+ "type": "number"
},
- "statcast_percentile_sort_directions": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "no_bid": {
+ "description": "Highest price offered for a No contract, in US dollars.",
+ "example": 0.9,
+ "type": "number"
},
- "statcast_percentile_team_ids": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "open_interest": {
+ "description": "Number of contracts currently open in the market.",
+ "example": 32773.57,
+ "type": "number"
},
- "statcast_percentile_types": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "open_time": {
+ "description": "Time trading opened, in UTC (RFC 3339).",
+ "example": "2025-08-28T20:45:00Z",
+ "type": "string"
},
- "statcast_percentile_years": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "previous_price": {
+ "description": "Earlier reference price of the market, in US dollars per contract.",
+ "example": 0.1,
+ "type": "number"
},
- "statcast_pitch_arsenal_min_pa": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "response_price_unit": {
+ "description": "Price unit label Kalshi attaches to the market, such as `usd_cent`.",
+ "example": "usd_cent",
+ "type": "string"
},
- "statcast_pitch_arsenal_min_pitches": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "result": {
+ "description": "Outcome the market settled on. Empty or omitted until it settles.",
+ "type": "string"
},
- "statcast_pitch_arsenal_pitch_aliases": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "rules_primary": {
+ "description": "Primary rules text that governs how the market settles.",
+ "type": "string"
},
- "statcast_pitch_arsenal_pitch_types": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "status": {
+ "description": "Market status as Kalshi reports it, such as `active`.",
+ "example": "active",
+ "type": "string"
},
- "statcast_pitch_arsenal_sort_directions": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "sub_title": {
+ "description": "Short label of the outcome the market covers, shown under the title.",
+ "example": "Mars",
+ "type": "string"
},
- "statcast_pitch_arsenal_sort_fields": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "ticker": {
+ "description": "Kalshi ticker that identifies the market.",
+ "example": "KXELONMARS-99",
+ "type": "string"
},
- "statcast_pitch_arsenal_types": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "title": {
+ "description": "Market title as shown on Kalshi.",
+ "example": "Will Elon Musk visit Mars before Aug 1, 2099?",
+ "type": "string"
},
- "statcast_pitch_arsenal_years": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "volume": {
+ "description": "Total number of contracts traded in the market.",
+ "example": 94840.88,
+ "type": "number"
},
- "statcast_pitch_arsenals_hands": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "volume_24h": {
+ "description": "Number of contracts traded in the last 24 hours.",
+ "example": 16,
+ "type": "number"
},
- "statcast_pitch_arsenals_minimum_pitches": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "yes_ask": {
+ "description": "Lowest price asked for a Yes contract, in US dollars.",
+ "example": 0.1,
+ "type": "number"
},
- "statcast_pitch_arsenals_sort_directions": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "yes_bid": {
+ "description": "Highest price offered for a Yes contract, in US dollars.",
+ "example": 0.08,
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "kalshi.MarketsResponse": {
+ "properties": {
+ "cursor": {
+ "description": "Cursor to pass in the next request to get the following page. Omitted when Kalshi returns none.",
+ "type": "string"
},
- "statcast_pitch_arsenals_sort_fields": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-06-07T14:00:00Z",
+ "type": "string"
},
- "statcast_pitch_arsenals_spin_cutoff_year": {
+ "limit": {
+ "description": "Number of markets requested per page.",
+ "example": 25,
"type": "integer"
},
- "statcast_pitch_arsenals_team_abbreviations": {
+ "markets": {
+ "description": "Kalshi markets on this page.",
"items": {
- "$ref": "#/definitions/mlb.EnumValue"
+ "$ref": "#/definitions/kalshi.MarketRow"
},
"type": "array"
},
- "statcast_pitch_arsenals_types": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://external-api.kalshi.com/trade-api/v2/markets?limit=25",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "kalshi.MultivariateEventsResponse": {
+ "properties": {
+ "cursor": {
+ "description": "Cursor to pass in the next request to get the following page. Omitted when Kalshi returns none.",
+ "type": "string"
},
- "statcast_pitch_arsenals_years": {
+ "events": {
+ "description": "Kalshi multivariate events on this page.",
"items": {
- "$ref": "#/definitions/mlb.EnumValue"
+ "$ref": "#/definitions/kalshi.EventRow"
},
"type": "array"
},
- "statcast_pitch_movement_hands": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-06-07T14:00:00Z",
+ "type": "string"
},
- "statcast_pitch_movement_minimums": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "limit": {
+ "description": "Number of events requested per page.",
+ "example": 25,
+ "type": "integer"
},
- "statcast_pitch_movement_sort_directions": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://external-api.kalshi.com/trade-api/v2/events/multivariate?limit=25",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "kalshi.OrderBookLevel": {
+ "properties": {
+ "price": {
+ "description": "Price of the level, in US dollars per contract.",
+ "example": 0.08,
+ "type": "number"
},
- "statcast_pitch_movement_sort_fields": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "size": {
+ "description": "Number of contracts resting at this price.",
+ "example": 185.72,
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "kalshi.OrderBookResponse": {
+ "properties": {
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-06-07T14:00:00Z",
+ "type": "string"
},
- "statcast_pitch_movement_types": {
+ "no": {
+ "description": "Price levels on the No side of the book, highest price first.",
"items": {
- "$ref": "#/definitions/mlb.EnumValue"
+ "$ref": "#/definitions/kalshi.OrderBookLevel"
},
"type": "array"
},
- "statcast_pitch_movement_years": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "raw_unit_hint": {
+ "description": "Unit of the level prices, always `dollars`.",
+ "example": "dollars",
+ "type": "string"
},
- "statcast_pitch_tempo_game_types": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://external-api.kalshi.com/trade-api/v2/markets/KXELONMARS-99/orderbook",
+ "type": "string"
},
- "statcast_pitch_tempo_minimum_pitches": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "ticker": {
+ "description": "Ticker of the Kalshi market the order book is for.",
+ "example": "KXELONMARS-99",
+ "type": "string"
},
- "statcast_pitch_tempo_player_types": {
+ "yes": {
+ "description": "Price levels on the Yes side of the book, highest price first.",
"items": {
- "$ref": "#/definitions/mlb.EnumValue"
+ "$ref": "#/definitions/kalshi.OrderBookLevel"
},
"type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "kalshi.SeriesDetailResponse": {
+ "properties": {
+ "fetched_at": {
+ "example": "2026-06-07T14:00:00Z",
+ "type": "string"
},
- "statcast_pitch_tempo_sort_directions": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "series": {
+ "$ref": "#/definitions/kalshi.SeriesRow"
},
- "statcast_pitch_tempo_sort_fields": {
+ "source_url": {
+ "example": "https://external-api.kalshi.com/trade-api/v2/series/KXELONMARS",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "kalshi.SeriesResponse": {
+ "properties": {
+ "cursor": {
+ "description": "Cursor returned by Kalshi with the series list. Omitted when Kalshi returns none.",
+ "type": "string"
+ },
+ "fetched_at": {
+ "description": "Time the series list was last fetched from Kalshi, in UTC (RFC 3339).",
+ "example": "2026-06-07T14:00:00Z",
+ "type": "string"
+ },
+ "limit": {
+ "description": "Number of series requested.",
+ "example": 25,
+ "type": "integer"
+ },
+ "series": {
+ "description": "Kalshi series in the response.",
"items": {
- "$ref": "#/definitions/mlb.EnumValue"
+ "$ref": "#/definitions/kalshi.SeriesRow"
},
"type": "array"
},
- "statcast_pitch_tempo_split_years": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
- },
- "statcast_pitch_tempo_team_ids": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
- },
- "statcast_pitch_tempo_types": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
- },
- "statcast_pitch_tempo_with_team_only": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
- },
- "statcast_pitch_tempo_years": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
- },
- "statcast_pitch_timer_chart_sorts": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://external-api.kalshi.com/trade-api/v2/series?limit=25",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "kalshi.SeriesRow": {
+ "properties": {
+ "category": {
+ "description": "Kalshi category of the series, such as `Politics`.",
+ "example": "Politics",
+ "type": "string"
},
- "statcast_pitch_timer_include_zeroes": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "contract_terms_url": {
+ "description": "Link to the series' contract terms document.",
+ "type": "string"
},
- "statcast_pitch_timer_minimum_pitches": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "contract_url": {
+ "description": "Link to the series' contract document.",
+ "type": "string"
},
- "statcast_pitch_timer_seasons": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "fee_multiplier": {
+ "description": "Multiplier applied to the series' fee calculation.",
+ "example": 1,
+ "type": "number"
},
- "statcast_pitch_timer_sort_directions": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "fee_type": {
+ "description": "Fee model Kalshi applies to the series, such as `quadratic`.",
+ "example": "quadratic",
+ "type": "string"
},
- "statcast_pitch_timer_sort_fields": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "frequency": {
+ "description": "How often the series produces events, such as `custom`.",
+ "example": "custom",
+ "type": "string"
},
- "statcast_pitch_timer_types": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "last_updated": {
+ "description": "Time the series was last updated, in UTC (RFC 3339).",
+ "example": "2026-06-01T15:24:00Z",
+ "type": "string"
},
- "statcast_player_detail_types": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "series_ticker": {
+ "description": "Kalshi ticker that identifies the series.",
+ "example": "KXELONMARS",
+ "type": "string"
},
- "statcast_positions": {
+ "settlement_sources": {
+ "description": "Sources Kalshi uses to settle the series' markets.",
"items": {
- "$ref": "#/definitions/mlb.EnumValue"
+ "$ref": "#/definitions/kalshi.SettlementSource"
},
"type": "array"
},
- "statcast_rolling_metrics": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "title": {
+ "description": "Series title as shown on Kalshi.",
+ "example": "Will Elon Musk visit Mars in his lifetime?",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "kalshi.SettlementSource": {
+ "properties": {
+ "name": {
+ "description": "Name of the source used to settle markets, such as `The Guardian`.",
+ "example": "The Guardian",
+ "type": "string"
},
- "statcast_rolling_roles": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "url": {
+ "description": "Link to the settlement source's website.",
+ "example": "https://www.theguardian.com",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "kalshi.TradeRow": {
+ "properties": {
+ "count": {
+ "description": "Number of contracts traded.",
+ "example": 2,
+ "type": "number"
},
- "statcast_rolling_window_pa_values": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "created_time": {
+ "description": "Time the trade was created, in UTC (RFC 3339).",
+ "example": "2026-06-07T07:23:05Z",
+ "type": "string"
},
- "statcast_run_value_groups": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "created_ts": {
+ "description": "Time the trade was created, in Unix seconds.",
+ "example": 1780816985,
+ "type": "integer"
},
- "statcast_run_value_leverages": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "is_block_trade": {
+ "description": "Whether the trade was a block trade.",
+ "example": false,
+ "type": "boolean"
},
- "statcast_run_value_minimums": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "no_price": {
+ "description": "Trade price of the No contract, in US dollars.",
+ "example": 0.91,
+ "type": "number"
},
- "statcast_run_value_sort_directions": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "taker_book_side": {
+ "description": "Order book side of the taker's order, such as `bid` or `ask`.",
+ "example": "ask",
+ "type": "string"
},
- "statcast_run_value_sort_fields": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "taker_outcome_side": {
+ "description": "Outcome side of the taker's order, such as `yes` or `no`.",
+ "example": "no",
+ "type": "string"
},
- "statcast_run_value_subtypes": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "taker_side": {
+ "description": "Side the taker traded, `yes` or `no`.",
+ "example": "no",
+ "type": "string"
},
- "statcast_run_value_types": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "ticker": {
+ "description": "Ticker of the market the trade happened in.",
+ "example": "KXELONMARS-99",
+ "type": "string"
},
- "statcast_run_value_years": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "trade_id": {
+ "description": "Kalshi identifier of the trade.",
+ "example": "9126fe1f-7233-7c75-2c37-06ce7841bbe3",
+ "type": "string"
},
- "statcast_running_game_filters": {
- "$ref": "#/definitions/mlb.StatcastRunningGameFilters"
+ "yes_price": {
+ "description": "Trade price of the Yes contract, in US dollars.",
+ "example": 0.09,
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "kalshi.TradesResponse": {
+ "properties": {
+ "cursor": {
+ "description": "Cursor to pass in the next request to get the following page. Omitted when Kalshi returns none.",
+ "type": "string"
},
- "statcast_sort_directions": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-06-07T14:00:00Z",
+ "type": "string"
},
- "statcast_sort_fields": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "limit": {
+ "description": "Number of trades requested per page.",
+ "example": 25,
+ "type": "integer"
},
- "statcast_sprint_speed_minimum_runs": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "max_ts": {
+ "description": "Latest trade creation time that was requested, in Unix seconds.",
+ "example": 1780873200,
+ "type": "integer"
},
- "statcast_sprint_speed_positions": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "min_ts": {
+ "description": "Earliest trade creation time that was requested, in Unix seconds.",
+ "example": 1780786800,
+ "type": "integer"
},
- "statcast_sprint_speed_seasons": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://external-api.kalshi.com/trade-api/v2/markets/trades?limit=25",
+ "type": "string"
},
- "statcast_sprint_speed_sort_directions": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "ticker": {
+ "description": "Market ticker the trades were filtered by. Omitted when no ticker filter was used.",
+ "example": "KXELONMARS-99",
+ "type": "string"
},
- "statcast_sprint_speed_sort_fields": {
+ "trades": {
+ "description": "Recent trades on this page.",
"items": {
- "$ref": "#/definitions/mlb.EnumValue"
+ "$ref": "#/definitions/kalshi.TradeRow"
},
"type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "kalshi.batchMarketHistoryResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "statcast_sprint_speed_team_abbreviations": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/kalshi.BatchMarketHistoryResponse"
},
- "statcast_sprint_speed_team_ids": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "kalshi.batchOrderBookResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "statcast_sprint_speed_team_sort_fields": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/kalshi.BatchOrderBookResponse"
},
- "statcast_swing_path_game_types": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "kalshi.eventHistoryResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "statcast_swing_path_sort_fields": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/kalshi.EventHistoryResponse"
},
- "statcast_swing_path_types": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "kalshi.eventMetadataResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "statcast_swing_timing_flags": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/kalshi.EventMetadataResponse"
},
- "statcast_swing_timing_game_types": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "kalshi.eventResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "statcast_swing_timing_groups_x": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/kalshi.EventResponse"
},
- "statcast_swing_timing_groups_y": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "kalshi.eventsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "statcast_swing_timing_groups_z": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/kalshi.EventsResponse"
},
- "statcast_swing_timing_sort_directions": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "kalshi.exchangeScheduleResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "statcast_swing_timing_sort_fields": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/kalshi.ExchangeScheduleResponse"
},
- "statcast_swing_timing_splits": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "kalshi.exchangeStatusResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "statcast_swing_timing_types": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/kalshi.ExchangeStatusResponse"
},
- "statcast_top_performers_years": {
- "items": {
- "type": "integer"
- },
- "type": "array"
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "kalshi.historicalCutoffResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "statcast_year_to_year_comparison_years": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/kalshi.HistoricalCutoffResponse"
},
- "statcast_year_to_year_groups": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "kalshi.historicalMarketResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "statcast_year_to_year_sort_directions": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/kalshi.HistoricalMarketResponse"
},
- "statcast_year_to_year_types": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "mlb.NamedRef": {
+ "kalshi.historicalMarketsResponseDoc": {
"properties": {
- "id": {
- "description": "MLB id of the player or league.",
+ "code": {
+ "example": 200,
"type": "integer"
},
- "name": {
- "description": "Name of the player or league.",
+ "data": {
+ "$ref": "#/definitions/kalshi.HistoricalMarketsResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "mlb.NavigationItem": {
+ "kalshi.historicalTradesResponseDoc": {
"properties": {
- "children": {
- "items": {
- "$ref": "#/definitions/mlb.NavigationItem"
- },
- "type": "array"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "label": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/kalshi.HistoricalTradesResponse"
},
- "url": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "visible": {
- "type": "boolean"
}
},
"type": "object"
},
- "mlb.Play": {
+ "kalshi.marketHistoryResponseDoc": {
"properties": {
- "at_bat_index": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "batter": {
- "$ref": "#/definitions/mlb.NamedRef"
+ "data": {
+ "$ref": "#/definitions/kalshi.MarketHistoryResponse"
},
- "description": {
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "kalshi.marketResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "event": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/kalshi.MarketResponse"
},
- "event_type": {
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "kalshi.marketsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "events": {
- "items": {
- "$ref": "#/definitions/mlb.PlayEvent"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/kalshi.MarketsResponse"
},
- "half_inning": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "inning": {
+ }
+ },
+ "type": "object"
+ },
+ "kalshi.multivariateEventsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "is_complete": {
- "type": "boolean"
+ "data": {
+ "$ref": "#/definitions/kalshi.MultivariateEventsResponse"
},
- "pitcher": {
- "$ref": "#/definitions/mlb.NamedRef"
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "mlb.PlayByPlayResponse": {
+ "kalshi.orderBookResponseDoc": {
"properties": {
- "fetched_at": {
- "type": "string"
- },
- "game_id": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "plays": {
- "items": {
- "$ref": "#/definitions/mlb.Play"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/kalshi.OrderBookResponse"
},
- "source_url": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "total": {
- "type": "integer"
}
},
"type": "object"
},
- "mlb.PlayEvent": {
+ "kalshi.seriesDetailResponseDoc": {
"properties": {
- "description": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "details": {
- "additionalProperties": {},
- "type": "object"
+ "data": {
+ "$ref": "#/definitions/kalshi.SeriesDetailResponse"
},
- "end_time": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "index": {
+ }
+ },
+ "type": "object"
+ },
+ "kalshi.seriesResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "is_pitch": {
- "type": "boolean"
- },
- "pitch_data": {
- "additionalProperties": {},
- "type": "object"
+ "data": {
+ "$ref": "#/definitions/kalshi.SeriesResponse"
},
- "pitch_number": {
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "kalshi.tradesResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "start_time": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/kalshi.TradesResponse"
},
- "type": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "mlb.Player": {
+ "kfc.Address": {
"properties": {
- "active": {
- "type": "boolean"
- },
- "bat_side": {
+ "address1": {
+ "example": "600 Terminal Drive",
"type": "string"
},
- "birth_city": {
+ "address2": {
+ "example": "Louisville International Airport - Pre Security",
"type": "string"
},
- "birth_country": {
+ "city": {
+ "example": "Louisville",
"type": "string"
},
- "birth_date": {
+ "country_code": {
+ "example": "US",
"type": "string"
},
- "current_age": {
- "type": "integer"
+ "latitude": {
+ "example": 38.1857,
+ "type": "number"
},
- "current_team": {
- "$ref": "#/definitions/mlb.TeamRef"
+ "longitude": {
+ "example": -85.7445,
+ "type": "number"
},
- "full_name": {
+ "phone": {
+ "example": "+15023633000",
"type": "string"
},
- "height": {
+ "postal_code": {
+ "example": "40209",
"type": "string"
},
- "id": {
- "type": "integer"
+ "state": {
+ "example": "KY",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "kfc.DeliveryEstimateResponse": {
+ "properties": {
+ "delivery_provider": {
+ "example": "DOORDASH",
+ "type": "string"
},
- "mlb_debut_date": {
+ "dropoff_at": {
"type": "string"
},
- "pitch_hand": {
+ "fee": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/kfc.Money"
+ }
+ ],
+ "description": "Fee is the total delivery fee; Fees breaks it down by line item."
+ },
+ "fees": {
+ "items": {
+ "$ref": "#/definitions/kfc.DeliveryFeeLine"
+ },
+ "type": "array"
+ },
+ "fetched_at": {
"type": "string"
},
- "position": {
+ "pickup_at": {
"type": "string"
},
- "position_code": {
+ "reason": {
+ "example": "Marketplace store is inactive",
"type": "string"
},
- "primary_number": {
+ "serviceable": {
+ "description": "Serviceable is true only when the upstream returned a real estimate.\nA false value with Reason populated covers every other case this\nfamily has seen live: the provider not enabled at this store, the\naddress being outside the delivery zone, or the upstream delivery\nmarketplace itself reporting the store inactive -- KFC's schema\nrepresents all of these as distinct typed results, not one boolean.",
+ "example": false,
+ "type": "boolean"
+ },
+ "source_url": {
"type": "string"
},
- "weight": {
- "type": "integer"
+ "store_number": {
+ "example": "K750015",
+ "type": "string"
}
},
"type": "object"
},
- "mlb.PlayerResponse": {
+ "kfc.DeliveryFeeLine": {
"properties": {
- "fetched_at": {
- "type": "string"
+ "amount": {
+ "$ref": "#/definitions/kfc.Money"
},
- "player": {
- "$ref": "#/definitions/mlb.Player"
+ "name": {
+ "example": "Delivery Fee",
+ "type": "string"
},
- "source_url": {
+ "type": {
+ "example": "DELIVERY",
"type": "string"
}
},
"type": "object"
},
- "mlb.PlayerSuggestion": {
+ "kfc.MenuCategory": {
"properties": {
- "active": {
- "type": "boolean"
- },
- "boxscore_name": {
+ "category_code": {
+ "example": "combos",
"type": "string"
},
- "display_name": {
+ "description": {
+ "example": "Combos",
"type": "string"
},
- "headshots": {
+ "items": {
"items": {
- "$ref": "#/definitions/mlb.ImageRef"
+ "$ref": "#/definitions/kfc.MenuItem"
},
"type": "array"
},
- "id": {
- "type": "integer"
- },
"name": {
- "type": "string"
- },
- "team_id": {
- "type": "integer"
- },
- "team_tri_code": {
- "type": "string"
- },
- "use_last_name": {
- "type": "string"
- },
- "use_name": {
+ "example": "Combos",
"type": "string"
}
},
"type": "object"
},
- "mlb.ProspectRanking": {
+ "kfc.MenuItem": {
"properties": {
- "affiliate": {
- "type": "string"
- },
- "affiliate_id": {
- "type": "integer"
- },
- "age": {
- "type": "integer"
- },
- "bats": {
- "type": "string"
- },
- "birth_city": {
- "type": "string"
- },
- "birth_country": {
+ "code": {
+ "example": "chocolate-chunk-cookie",
"type": "string"
},
- "birth_date": {
+ "description": {
"type": "string"
},
- "college": {
+ "image_url": {
"type": "string"
},
- "draft_pick": {
- "type": "integer"
- },
- "draft_round": {
+ "name": {
+ "example": "Chocolate Chunk Cookie",
"type": "string"
},
- "draft_year": {
- "type": "integer"
- },
- "eta": {
- "type": "string"
+ "price": {
+ "$ref": "#/definitions/kfc.Money"
},
- "headshot_url": {
+ "type": {
+ "example": "product",
"type": "string"
},
- "height": {
+ "variant_code": {
+ "description": "VariantCode is the specific priced variant this item's Price reflects\n(present for type=product, whose price comes from its default\nvariant). It is the id GraphQL calls use to select a specific size/\nconfiguration; this family does not currently expose variant-level\nbrowsing beyond the default.",
+ "example": "VC_ChocolateChunkCookie|0|||||",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "kfc.MenuResponse": {
+ "properties": {
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/kfc.MenuCategory"
+ },
+ "type": "array"
},
- "level": {
+ "channel": {
+ "example": "WEB",
"type": "string"
},
- "name": {
+ "currency": {
+ "example": "USD",
"type": "string"
},
- "player_id": {
- "type": "integer"
- },
- "position": {
+ "fetched_at": {
"type": "string"
},
- "rank": {
+ "item_count": {
+ "example": 52,
"type": "integer"
},
- "school": {
+ "menu_id": {
+ "example": "845791b0-7bdb-4ff0-92f2-344a89aa4b57",
"type": "string"
},
- "slug": {
+ "source_url": {
"type": "string"
},
- "team": {
+ "store_number": {
+ "example": "I824001",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "kfc.Money": {
+ "properties": {
+ "amount": {
+ "example": 4.99,
+ "type": "number"
},
- "team_id": {
+ "amount_cents": {
+ "example": 499,
"type": "integer"
},
- "throws": {
+ "currency_code": {
+ "example": "USD",
"type": "string"
- },
- "weight": {
- "type": "integer"
}
},
"type": "object"
},
- "mlb.ProspectRankingsResponse": {
+ "kfc.NearbyResponse": {
"properties": {
"count": {
+ "example": 20,
"type": "integer"
},
"fetched_at": {
"type": "string"
},
- "limit": {
- "type": "integer"
+ "has_more": {
+ "example": true,
+ "type": "boolean"
},
- "offset": {
- "type": "integer"
+ "source_url": {
+ "type": "string"
},
- "players": {
+ "stores": {
"items": {
- "$ref": "#/definitions/mlb.ProspectRanking"
+ "$ref": "#/definitions/kfc.NearbyStore"
},
"type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "kfc.NearbyStore": {
+ "properties": {
+ "accepting_online_orders": {
+ "example": true,
+ "type": "boolean"
},
- "position": {
- "type": "string"
+ "address": {
+ "$ref": "#/definitions/kfc.Address"
},
- "query": {
- "type": "string"
+ "archived": {
+ "example": false,
+ "type": "boolean"
},
- "sort": {
- "type": "string"
+ "distance_miles": {
+ "example": 1.408,
+ "type": "number"
},
- "sort_dir": {
+ "name": {
+ "example": "KFC 600 Terminal Drive",
"type": "string"
},
- "source_url": {
+ "store_number": {
+ "example": "I824001",
"type": "string"
},
- "team_slug": {
+ "timezone": {
+ "example": "America/New_York",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "kfc.OccasionHours": {
+ "properties": {
+ "enabled": {
+ "example": true,
+ "type": "boolean"
},
- "total": {
- "type": "integer"
- },
- "view": {
+ "occasion": {
+ "example": "DELIVERY",
"type": "string"
},
- "year": {
- "type": "integer"
+ "windows": {
+ "items": {
+ "$ref": "#/definitions/kfc.TimeWindow"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "mlb.ProspectStat": {
+ "kfc.Promotion": {
"properties": {
- "age": {
- "type": "integer"
+ "automatic": {
+ "example": true,
+ "type": "boolean"
},
- "average": {
+ "description": {
"type": "string"
},
- "batting_stats": {
- "additionalProperties": {},
- "type": "object"
- },
- "blown_saves": {
- "type": "integer"
- },
- "era": {
+ "display_name": {
+ "example": "50% off Chicken Sandwich",
"type": "string"
},
- "holds": {
- "type": "integer"
- },
- "losses": {
- "type": "integer"
- },
"name": {
+ "example": "Digital-Q324 - 50% off Chicken Sandwich",
"type": "string"
},
- "pitching_stats": {
- "additionalProperties": {},
- "type": "object"
- },
- "player_id": {
- "type": "integer"
- },
- "position": {
+ "promotion_id": {
+ "example": "6815f409-5b1e-44dc-9f99-26b1c1a2699a",
"type": "string"
},
- "rank": {
- "type": "integer"
- },
- "saves": {
- "type": "integer"
+ "redemption_codes": {
+ "description": "RedemptionCodes is populated from the public promotion's active code\nconnection. It gives callers a durable discovery path for\nPromotionByCode instead of requiring a guessed or stale code.",
+ "example": [
+ "WALMART5DOLLARSOFF"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "kfc.PromotionResponse": {
+ "properties": {
+ "automatic": {
+ "example": true,
+ "type": "boolean"
},
- "slug": {
+ "code_status": {
"type": "string"
},
- "team": {
+ "description": {
"type": "string"
},
- "team_id": {
- "type": "integer"
- },
- "team_level": {
+ "display_name": {
+ "example": "50% off Chicken Sandwich",
"type": "string"
},
- "wins": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "mlb.ProspectStatsResponse": {
- "properties": {
- "count": {
- "type": "integer"
+ "effective_date": {
+ "type": "string"
},
- "date_range": {
+ "expiration_date": {
"type": "string"
},
"fetched_at": {
"type": "string"
},
- "limit": {
- "type": "integer"
- },
- "list_type": {
+ "group_status": {
"type": "string"
},
- "min_pa": {
- "type": "integer"
+ "name": {
+ "example": "Digital-Q324 - 50% off Chicken Sandwich",
+ "type": "string"
},
- "offset": {
- "type": "integer"
+ "promotion_id": {
+ "example": "6815f409-5b1e-44dc-9f99-26b1c1a2699a",
+ "type": "string"
},
- "player_type": {
+ "redemption_code": {
+ "description": "The fields below are populated only when looked up by\nserialized_code -- a serialized code carries its own usage metadata\ndistinct from the promotion it resolves to.",
+ "example": "WELCOME10",
"type": "string"
},
- "players": {
+ "redemption_codes": {
+ "description": "RedemptionCodes is populated from the public promotion's active code\nconnection. It gives callers a durable discovery path for\nPromotionByCode instead of requiring a guessed or stale code.",
+ "example": [
+ "WALMART5DOLLARSOFF"
+ ],
"items": {
- "$ref": "#/definitions/mlb.ProspectStat"
+ "type": "string"
},
"type": "array"
},
- "position": {
- "type": "string"
- },
- "query": {
- "type": "string"
- },
"source_url": {
"type": "string"
},
- "team_id": {
- "type": "integer"
- },
- "total": {
+ "times_used": {
+ "example": 0,
"type": "integer"
}
},
"type": "object"
},
- "mlb.Record": {
+ "kfc.PromotionsResponse": {
"properties": {
- "losses": {
+ "count": {
+ "example": 15,
"type": "integer"
},
- "pct": {
+ "fetched_at": {
"type": "string"
},
- "wins": {
- "type": "integer"
+ "promotions": {
+ "items": {
+ "$ref": "#/definitions/kfc.Promotion"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "store_number": {
+ "example": "I824001",
+ "type": "string"
}
},
"type": "object"
},
- "mlb.RosterPlayer": {
+ "kfc.Store": {
"properties": {
- "jersey_number": {
- "type": "string"
+ "accepting_online_orders": {
+ "example": true,
+ "type": "boolean"
},
- "person": {
- "$ref": "#/definitions/mlb.NamedRef"
+ "address": {
+ "$ref": "#/definitions/kfc.Address"
},
- "position": {
+ "archived": {
+ "example": false,
+ "type": "boolean"
+ },
+ "name": {
+ "example": "KFC 600 Terminal Drive",
"type": "string"
},
- "position_code": {
+ "store_number": {
+ "example": "I824001",
"type": "string"
},
- "status": {
+ "timezone": {
+ "example": "America/New_York",
"type": "string"
}
},
"type": "object"
},
- "mlb.RosterResponse": {
+ "kfc.StoreResponse": {
"properties": {
- "count": {
- "type": "integer"
+ "accepting_online_orders": {
+ "example": true,
+ "type": "boolean"
+ },
+ "address": {
+ "$ref": "#/definitions/kfc.Address"
+ },
+ "archived": {
+ "example": false,
+ "type": "boolean"
},
"fetched_at": {
"type": "string"
},
- "players": {
+ "hours": {
+ "description": "Hours is this restaurant's recurring open windows per order channel\n(occasion) -- CARRYOUT, DELIVERY, DINE_IN, DRIVE_THRU,\nCATERING_CARRYOUT. A restaurant that does not offer a given occasion\nat all omits it from this list.",
"items": {
- "$ref": "#/definitions/mlb.RosterPlayer"
+ "$ref": "#/definitions/kfc.OccasionHours"
},
"type": "array"
},
- "roster_type": {
+ "name": {
+ "example": "KFC 600 Terminal Drive",
"type": "string"
},
- "season": {
- "type": "integer"
- },
"source_url": {
"type": "string"
},
- "team_id": {
- "type": "integer"
+ "store_number": {
+ "example": "I824001",
+ "type": "string"
+ },
+ "timezone": {
+ "example": "America/New_York",
+ "type": "string"
}
},
"type": "object"
},
- "mlb.ScheduleResponse": {
+ "kfc.StoresResponse": {
"properties": {
- "date": {
- "type": "string"
- },
- "end_date": {
- "type": "string"
+ "count": {
+ "example": 5,
+ "type": "integer"
},
"fetched_at": {
"type": "string"
},
- "games": {
- "items": {
- "$ref": "#/definitions/mlb.GameSummary"
- },
- "type": "array"
+ "has_more": {
+ "example": true,
+ "type": "boolean"
},
"source_url": {
"type": "string"
},
- "start_date": {
- "type": "string"
- },
- "team_id": {
- "type": "integer"
+ "stores": {
+ "items": {
+ "$ref": "#/definitions/kfc.Store"
+ },
+ "type": "array"
},
- "total_games": {
+ "total_count": {
+ "description": "TotalCount is how many restaurants matched upstream; it can exceed\nCount when more results exist than max_results asked for.",
+ "example": 33,
"type": "integer"
}
},
"type": "object"
},
- "mlb.SearchResponse": {
+ "kfc.TimeWindow": {
"properties": {
- "fetched_at": {
- "type": "string"
+ "blackout": {
+ "example": false,
+ "type": "boolean"
},
- "players": {
+ "days": {
+ "example": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7
+ ],
"items": {
- "$ref": "#/definitions/mlb.PlayerSuggestion"
+ "type": "integer"
},
"type": "array"
},
- "query": {
+ "duration": {
+ "example": "09:00:00",
"type": "string"
},
- "search_terms": {
- "items": {
- "$ref": "#/definitions/mlb.TermSuggestion"
- },
- "type": "array"
- },
- "source_url": {
+ "start_time": {
+ "example": "10:00:00",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "kfc.deliveryEstimateResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
},
- "teams": {
- "items": {
- "$ref": "#/definitions/mlb.TeamSuggestion"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/kfc.DeliveryEstimateResponse"
},
- "topics": {
- "items": {
- "$ref": "#/definitions/mlb.TopicSuggestion"
- },
- "type": "array"
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "mlb.StandingsGroup": {
+ "kfc.menuResponseDoc": {
"properties": {
- "division": {
- "$ref": "#/definitions/mlb.NamedRef"
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
},
- "league": {
- "$ref": "#/definitions/mlb.NamedRef"
+ "data": {
+ "$ref": "#/definitions/kfc.MenuResponse"
},
- "teams": {
- "items": {
- "$ref": "#/definitions/mlb.StandingsTeam"
- },
- "type": "array"
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "kfc.nearbyResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
},
- "type": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/kfc.NearbyResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "mlb.StandingsResponse": {
+ "kfc.promotionResponseDoc": {
"properties": {
- "date": {
- "type": "string"
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
},
- "fetched_at": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/kfc.PromotionResponse"
},
- "groups": {
- "items": {
- "$ref": "#/definitions/mlb.StandingsGroup"
- },
- "type": "array"
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "kfc.promotionsResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
},
- "season": {
+ "data": {
+ "$ref": "#/definitions/kfc.PromotionsResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "kfc.storeResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
- "source_url": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/kfc.StoreResponse"
},
- "type": {
- "type": "string"
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "mlb.StandingsTeam": {
+ "kfc.storesResponseDoc": {
"properties": {
- "away_record": {
- "$ref": "#/definitions/mlb.Record"
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
},
- "clinched": {
- "type": "boolean"
+ "data": {
+ "$ref": "#/definitions/kfc.StoresResponse"
},
- "division_leader": {
- "type": "boolean"
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "khaleejtimes.AuthorResponse": {
+ "properties": {
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/newsplatform.HeadlineItem"
+ },
+ "type": "array"
},
- "division_rank": {
+ "biography": {
"type": "string"
},
- "elimination_number": {
+ "image_url": {
"type": "string"
},
- "expected_record": {
- "$ref": "#/definitions/mlb.Record"
+ "name": {
+ "type": "string"
},
- "games_back": {
+ "slug": {
"type": "string"
},
- "games_played": {
+ "total_articles": {
"type": "integer"
},
- "home_record": {
- "$ref": "#/definitions/mlb.Record"
- },
- "last_ten_record": {
- "$ref": "#/definitions/mlb.Record"
+ "twitter_handle": {
+ "type": "string"
},
- "league_rank": {
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "kick.CategoriesResponse": {
+ "properties": {
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/kick.Category"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "kick.Category": {
+ "properties": {
+ "icon": {
"type": "string"
},
- "losses": {
+ "id": {
"type": "integer"
},
- "magic_number": {
+ "name": {
"type": "string"
},
- "run_differential": {
+ "slug": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "kick.CategoryHit": {
+ "properties": {
+ "id": {
"type": "integer"
},
- "runs_allowed": {
- "type": "integer"
+ "mature": {
+ "type": "boolean"
},
- "runs_scored": {
- "type": "integer"
+ "name": {
+ "type": "string"
},
- "streak": {
+ "slug": {
"type": "string"
},
- "team": {
- "$ref": "#/definitions/mlb.TeamRef"
+ "tags": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "wild_card_games_back": {
+ "thumbnail_url": {
"type": "string"
},
- "winning_percentage": {
+ "url": {
"type": "string"
},
- "wins": {
+ "viewers": {
"type": "integer"
}
},
"type": "object"
},
- "mlb.StatSplit": {
+ "kick.CategoryRef": {
"properties": {
- "league": {
- "allOf": [
- {
- "$ref": "#/definitions/mlb.NamedRef"
- }
- ],
- "description": "League the row belongs to. Omitted when MLB gives none."
+ "id": {
+ "type": "integer"
},
- "player": {
- "allOf": [
- {
- "$ref": "#/definitions/mlb.NamedRef"
- }
- ],
- "description": "Player the row belongs to. Omitted when MLB gives none."
+ "name": {
+ "type": "string"
},
- "position": {
- "description": "Position name as MLB lists it. Omitted when MLB gives none.",
+ "slug": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "kick.ChannelChatroomResponse": {
+ "properties": {
+ "account_age": {
+ "$ref": "#/definitions/kick.ChatMode"
},
- "rank": {
- "description": "Position of the row in the ranking. Omitted when the table is not ranked.",
+ "chatroom_id": {
"type": "integer"
},
- "season": {
- "description": "Season the row covers, as a year. Omitted for rows that are not tied to one season.",
+ "emotes_only": {
+ "$ref": "#/definitions/kick.ChatMode"
+ },
+ "followers_only": {
+ "$ref": "#/definitions/kick.ChatMode"
+ },
+ "gifts_enabled": {
+ "type": "boolean"
+ },
+ "rules": {
+ "description": "Rules is the channel's chat rules text; empty when none are set.",
"type": "string"
},
- "stats": {
- "additionalProperties": {},
- "description": "Statistics for the row, as named values such as `homeRuns`. The set of stats depends on `group` and `type`.",
- "type": "object"
+ "slow_mode": {
+ "$ref": "#/definitions/kick.ChatMode"
},
- "team": {
- "allOf": [
- {
- "$ref": "#/definitions/mlb.TeamRef"
- }
- ],
- "description": "Team the row belongs to. Omitted when MLB gives none."
+ "slug": {
+ "type": "string"
+ },
+ "subscribers_only": {
+ "$ref": "#/definitions/kick.ChatMode"
}
},
"type": "object"
},
- "mlb.StatcastABSChallengeFilters": {
+ "kick.ChannelEmotesResponse": {
"properties": {
- "ball_strike": {
+ "channel": {
"items": {
- "$ref": "#/definitions/mlb.EnumValue"
+ "$ref": "#/definitions/kick.Emote"
},
"type": "array"
},
- "breakeven": {
+ "emoji": {
"items": {
- "$ref": "#/definitions/mlb.EnumValue"
+ "$ref": "#/definitions/kick.Emote"
},
"type": "array"
},
- "challenge_types": {
+ "global": {
"items": {
- "$ref": "#/definitions/mlb.EnumValue"
+ "$ref": "#/definitions/kick.Emote"
},
"type": "array"
},
- "data_counts": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "slug": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "kick.ChannelHit": {
+ "properties": {
+ "followers": {
+ "type": "integer"
},
- "data_modes": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "id": {
+ "type": "integer"
},
- "game_types": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "live": {
+ "type": "boolean"
},
- "levels": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "profile_picture": {
+ "type": "string"
},
- "leverage": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "slug": {
+ "type": "string"
},
- "minimum_challenges": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "url": {
+ "type": "string"
},
- "pitch_types": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "username": {
+ "type": "string"
},
- "seasons": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "verified": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "kick.ChannelLink": {
+ "properties": {
+ "description": {
+ "type": "string"
},
- "shadow_zones": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "id": {
+ "type": "integer"
},
- "split_year": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "image_url": {
+ "type": "string"
},
- "splits": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "kind": {
+ "description": "Kind is \"link\" for a panel with a URL and \"text\" for one that is only\na title and description.",
+ "type": "string"
},
- "team_ids": {
+ "order": {
+ "description": "Order is the position Kick shows the panel in; Kick numbers from 0 on\nsome channels and from 1 on others.",
+ "type": "integer"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "description": "URL is empty for a text panel.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "kick.ChannelLinksResponse": {
+ "properties": {
+ "links": {
"items": {
- "$ref": "#/definitions/mlb.EnumValue"
+ "$ref": "#/definitions/kick.ChannelLink"
},
"type": "array"
+ },
+ "slug": {
+ "type": "string"
}
},
"type": "object"
},
- "mlb.StatcastABSChallengesOption": {
+ "kick.ChannelRef": {
"properties": {
- "ball_strike": {
- "type": "string"
+ "id": {
+ "type": "integer"
},
- "breakeven": {
+ "profile_picture": {
"type": "string"
},
- "challenge_team_ids": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "challenge_type": {
+ "slug": {
"type": "string"
},
- "data_count": {
+ "url": {
"type": "string"
},
- "data_mode": {
+ "username": {
"type": "string"
},
- "game_types": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "verified": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "kick.ChannelResponse": {
+ "properties": {
+ "affiliate": {
+ "type": "boolean"
},
- "level": {
- "type": "string"
+ "banned": {
+ "type": "boolean"
},
- "leverage": {
+ "banner_url": {
"type": "string"
},
- "min_challenges": {
+ "bio": {
"type": "string"
},
- "min_opponent_challenges": {
+ "followers": {
+ "type": "integer"
+ },
+ "id": {
+ "type": "integer"
+ },
+ "live": {
+ "$ref": "#/definitions/kick.LiveStream"
+ },
+ "profile_picture": {
"type": "string"
},
- "opponent_team_ids": {
+ "recent_categories": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/kick.CategoryRef"
},
"type": "array"
},
- "pitch_types": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "slug": {
+ "type": "string"
},
- "seasons": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "socials": {
+ "$ref": "#/definitions/kick.Socials"
},
- "shadow_zones": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "subscription_enabled": {
+ "type": "boolean"
},
- "split_year": {
+ "url": {
"type": "string"
},
- "splits": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "username": {
+ "type": "string"
+ },
+ "verified": {
+ "type": "boolean"
+ },
+ "vod_enabled": {
+ "type": "boolean"
}
},
"type": "object"
},
- "mlb.StatcastABSChallengesResponse": {
+ "kick.ChannelStreamsResponse": {
"properties": {
- "board": {
- "type": "string"
- },
- "fetched_at": {
+ "slug": {
"type": "string"
},
- "filters": {
- "$ref": "#/definitions/mlb.StatcastABSChallengesOption"
- },
- "rows": {
+ "streams": {
"items": {
- "additionalProperties": {},
- "type": "object"
+ "$ref": "#/definitions/kick.StreamSession"
},
"type": "array"
- },
- "source_url": {
- "type": "string"
- },
- "total": {
- "type": "integer"
}
},
"type": "object"
},
- "mlb.StatcastArmStrengthPlayerResponse": {
+ "kick.ChannelVideosResponse": {
"properties": {
- "fetched_at": {
- "type": "string"
- },
- "player_id": {
- "type": "string"
- },
- "source_url": {
+ "slug": {
"type": "string"
},
- "throws": {
+ "videos": {
"items": {
- "additionalProperties": {},
- "type": "object"
+ "$ref": "#/definitions/kick.Video"
},
"type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "kick.ChatMode": {
+ "properties": {
+ "enabled": {
+ "type": "boolean"
},
- "total": {
+ "interval_seconds": {
+ "description": "IntervalSeconds is the delay between a viewer's messages, for slow mode.",
"type": "integer"
},
- "year": {
- "type": "string"
+ "minutes": {
+ "description": "Minutes is the minimum follow time or account age, in minutes, for\nfollowers-only and account-age modes; zero for the others.",
+ "type": "integer"
}
},
"type": "object"
},
- "mlb.StatcastArmStrengthResponse": {
+ "kick.Clip": {
"properties": {
- "board": {
- "type": "string"
+ "category": {
+ "$ref": "#/definitions/kick.CategoryRef"
},
- "fetched_at": {
+ "channel": {
+ "$ref": "#/definitions/kick.ChannelRef"
+ },
+ "created_at": {
"type": "string"
},
- "limit": {
+ "duration_seconds": {
"type": "integer"
},
- "min_throws": {
+ "id": {
"type": "string"
},
- "offset": {
+ "likes": {
"type": "integer"
},
- "position": {
- "type": "string"
+ "mature": {
+ "type": "boolean"
},
- "rows": {
- "items": {
- "additionalProperties": {},
- "type": "object"
- },
- "type": "array"
+ "started_at": {
+ "type": "string"
},
- "sort": {
+ "thumbnail_url": {
"type": "string"
},
- "sort_dir": {
+ "title": {
"type": "string"
},
- "source_url": {
+ "url": {
"type": "string"
},
- "team_id": {
+ "video_id": {
"type": "string"
},
- "total": {
+ "video_offset_seconds": {
"type": "integer"
},
- "type": {
+ "views": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "kick.ClipResponse": {
+ "properties": {
+ "clip": {
+ "$ref": "#/definitions/kick.Clip"
+ }
+ },
+ "type": "object"
+ },
+ "kick.ClipsResponse": {
+ "properties": {
+ "category": {
+ "description": "Category is the category slug a category clip list was read for.",
"type": "string"
},
- "year": {
+ "clips": {
+ "items": {
+ "$ref": "#/definitions/kick.Clip"
+ },
+ "type": "array"
+ },
+ "next_cursor": {
+ "type": "string"
+ },
+ "slug": {
+ "type": "string"
+ },
+ "sort": {
+ "type": "string"
+ },
+ "time": {
"type": "string"
}
},
"type": "object"
},
- "mlb.StatcastArmValueDetailsResponse": {
+ "kick.DirectoryStream": {
"properties": {
- "entity_id": {
+ "category": {
+ "$ref": "#/definitions/kick.CategoryRef"
+ },
+ "channel": {
+ "$ref": "#/definitions/kick.ChannelRef"
+ },
+ "id": {
"type": "string"
},
- "fetched_at": {
+ "language": {
"type": "string"
},
- "plays": {
+ "mature": {
+ "type": "boolean"
+ },
+ "started_at": {
+ "type": "string"
+ },
+ "tags": {
"items": {
- "additionalProperties": {},
- "type": "object"
+ "type": "string"
},
"type": "array"
},
- "source_url": {
+ "thumbnail_url": {
"type": "string"
},
- "total": {
- "type": "integer"
- },
- "type": {
+ "title": {
"type": "string"
+ },
+ "viewers": {
+ "type": "integer"
}
},
"type": "object"
},
- "mlb.StatcastArmValueResponse": {
+ "kick.DropCampaign": {
"properties": {
- "board": {
- "type": "string"
+ "category": {
+ "$ref": "#/definitions/kick.CategoryRef"
},
- "end_year": {
+ "channel_count": {
"type": "integer"
},
- "fetched_at": {
+ "channels": {
+ "items": {
+ "$ref": "#/definitions/kick.DropChannel"
+ },
+ "type": "array"
+ },
+ "ends_at": {
"type": "string"
},
- "game_type": {
+ "id": {
"type": "string"
},
- "key_base_out": {
+ "name": {
"type": "string"
},
- "limit": {
- "type": "integer"
+ "organization": {
+ "$ref": "#/definitions/kick.DropOrganization"
},
- "minimum_opps": {
+ "rewards": {
+ "items": {
+ "$ref": "#/definitions/kick.DropReward"
+ },
+ "type": "array"
+ },
+ "rule": {
"type": "string"
},
- "offset": {
+ "starts_at": {
+ "type": "string"
+ },
+ "status": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "kick.DropChannel": {
+ "properties": {
+ "id": {
"type": "integer"
},
- "q": {
+ "profile_picture": {
"type": "string"
},
- "rows": {
- "items": {
- "additionalProperties": {},
- "type": "object"
- },
- "type": "array"
+ "slug": {
+ "type": "string"
},
- "sort": {
+ "url": {
"type": "string"
},
- "sort_dir": {
+ "username": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "kick.DropOrganization": {
+ "properties": {
+ "id": {
"type": "string"
},
- "source_url": {
+ "logo_url": {
"type": "string"
},
- "split": {
+ "name": {
"type": "string"
},
- "start_year": {
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "kick.DropReward": {
+ "properties": {
+ "category_id": {
"type": "integer"
},
- "team_id": {
+ "id": {
"type": "string"
},
- "total": {
- "type": "integer"
+ "image_url": {
+ "type": "string"
},
- "type": {
+ "name": {
"type": "string"
},
- "with_team_only": {
- "type": "boolean"
+ "required_units": {
+ "description": "RequiredUnits is Kick's threshold for the reward. For the\n\"Watch to redeem\" campaigns it reads as watch time (60, 120, 180 ...);\nKick does not state the unit.",
+ "type": "integer"
}
},
"type": "object"
},
- "mlb.StatcastBaserunningFilters": {
+ "kick.DropsResponse": {
"properties": {
- "boards": {
+ "campaigns": {
"items": {
- "$ref": "#/definitions/mlb.EnumValue"
+ "$ref": "#/definitions/kick.DropCampaign"
},
"type": "array"
},
- "game_types": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "status": {
+ "type": "string"
},
- "groups": {
- "additionalProperties": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
- },
- "type": "object"
- },
- "key_base_outs": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
- },
- "minimums": {
- "additionalProperties": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
- },
- "type": "object"
- },
- "pitch_hands": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
- },
- "prior_pickoffs": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
- },
- "runner_moved": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
- },
- "seasons": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
- },
- "sort_directions": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
- },
- "sort_fields": {
- "additionalProperties": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
- },
- "type": "object"
- },
- "splits": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
- },
- "target_bases": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
- },
- "teams": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
+ "total": {
+ "description": "Total is the number of campaigns Kick lists in all (active and\nexpired); Campaigns holds those matching Status.",
+ "type": "integer"
}
},
"type": "object"
},
- "mlb.StatcastBaserunningOption": {
+ "kick.Emote": {
"properties": {
- "board": {
- "type": "string"
- },
- "game_type": {
- "type": "string"
- },
- "key_base_out": {
- "type": "string"
- },
- "limit": {
- "type": "integer"
- },
- "n": {
- "type": "string"
- },
- "offset": {
- "type": "integer"
- },
- "pitch_hand": {
- "type": "string"
- },
- "prior_pk": {
- "type": "string"
- },
- "runner_moved": {
- "type": "string"
- },
- "search": {
- "type": "string"
- },
- "season_end": {
- "type": "integer"
- },
- "season_start": {
+ "id": {
"type": "integer"
},
- "sort": {
- "type": "string"
- },
- "sort_dir": {
- "type": "string"
- },
- "split": {
- "type": "string"
- },
- "target_base": {
- "type": "string"
- },
- "team": {
+ "image_url": {
"type": "string"
},
- "type": {
+ "name": {
"type": "string"
},
- "with_team_only": {
+ "subscribers_only": {
"type": "boolean"
}
},
"type": "object"
},
- "mlb.StatcastBaserunningResponse": {
- "properties": {
- "board": {
- "type": "string"
- },
- "fetched_at": {
- "type": "string"
- },
- "filters": {
- "$ref": "#/definitions/mlb.StatcastBaserunningOption"
- },
- "limit": {
- "type": "integer"
- },
- "offset": {
- "type": "integer"
- },
- "rows": {
- "items": {
- "additionalProperties": {},
- "type": "object"
- },
- "type": "array"
- },
- "source_url": {
- "type": "string"
- },
- "total": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "mlb.StatcastBoardResponse": {
+ "kick.Gift": {
"properties": {
- "board": {
- "type": "string"
- },
- "end_year": {
+ "character_limit": {
+ "description": "CharacterLimit is the message length a level-up gift allows (0 = none).",
"type": "integer"
},
- "fetched_at": {
- "type": "string"
- },
- "filter_type": {
+ "id": {
"type": "string"
},
- "league_average": {
- "items": {},
- "type": "array"
- },
- "limit": {
+ "kicks": {
"type": "integer"
},
- "minimum": {
+ "name": {
"type": "string"
},
- "offset": {
+ "pinned_seconds": {
+ "description": "PinnedSeconds is how long a level-up gift pins its message in chat.",
"type": "integer"
},
- "position": {
- "type": "string"
- },
- "range": {
- "type": "string"
- },
- "roles": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "rows": {
- "items": {
- "$ref": "#/definitions/mlb.StatcastRow"
- },
- "type": "array"
- },
- "sort": {
- "type": "string"
- },
- "sort_dir": {
- "type": "string"
- },
- "source_url": {
- "type": "string"
- },
- "split": {
+ "tier": {
+ "description": "Tier is BASIC, MID or HIGHER; Type is BASIC or LEVEL_UP.",
"type": "string"
},
- "start_year": {
- "type": "integer"
- },
- "team_id": {
- "type": "integer"
- },
- "total": {
- "type": "integer"
- },
"type": {
"type": "string"
- },
- "year": {
- "type": "integer"
}
},
"type": "object"
},
- "mlb.StatcastCatcherPopTimeResponse": {
+ "kick.GiftsResponse": {
"properties": {
- "board": {
- "type": "string"
- },
- "fetched_at": {
- "type": "string"
- },
- "limit": {
- "type": "integer"
- },
- "min_2b_attempts": {
- "type": "string"
- },
- "min_3b_attempts": {
- "type": "string"
- },
- "offset": {
- "type": "integer"
- },
- "rows": {
+ "gifts": {
"items": {
- "additionalProperties": {},
- "type": "object"
+ "$ref": "#/definitions/kick.Gift"
},
"type": "array"
- },
- "sort": {
- "type": "string"
- },
- "sort_dir": {
- "type": "string"
- },
- "source_url": {
- "type": "string"
- },
- "team_id": {
- "type": "string"
- },
- "total": {
- "type": "integer"
- },
- "year": {
- "type": "string"
}
},
"type": "object"
},
- "mlb.StatcastCatcherStanceResponse": {
+ "kick.Language": {
"properties": {
- "board": {
- "type": "string"
- },
- "fetched_at": {
- "type": "string"
- },
- "game_type": {
- "type": "string"
- },
- "group_by": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "limit": {
- "type": "integer"
- },
- "min_pitches": {
- "type": "string"
- },
- "min_results": {
- "type": "string"
- },
- "offset": {
- "type": "integer"
- },
- "rows": {
- "items": {
- "additionalProperties": {},
- "type": "object"
- },
- "type": "array"
- },
- "season_end": {
- "type": "string"
- },
- "season_start": {
- "type": "string"
- },
- "sort": {
- "type": "string"
- },
- "sort_dir": {
- "type": "string"
- },
- "source_url": {
+ "code": {
"type": "string"
},
- "total": {
- "type": "integer"
- },
- "type": {
+ "name": {
"type": "string"
}
},
"type": "object"
},
- "mlb.StatcastCatcherThrowingDetailsResponse": {
+ "kick.LanguagesResponse": {
"properties": {
- "entity_id": {
- "type": "integer"
- },
- "fetched_at": {
- "type": "string"
- },
- "limit": {
- "type": "integer"
- },
- "offset": {
- "type": "integer"
- },
- "rows": {
+ "languages": {
"items": {
- "additionalProperties": {},
- "type": "object"
+ "$ref": "#/definitions/kick.Language"
},
"type": "array"
- },
- "source_url": {
- "type": "string"
- },
- "total": {
- "type": "integer"
}
},
"type": "object"
},
- "mlb.StatcastCatcherThrowingResponse": {
+ "kick.LiveStream": {
"properties": {
- "board": {
- "type": "string"
- },
- "fetched_at": {
- "type": "string"
- },
- "game_type": {
- "type": "string"
- },
- "limit": {
- "type": "integer"
- },
- "minimum_attempts": {
- "type": "string"
- },
- "offset": {
- "type": "integer"
- },
- "rows": {
+ "categories": {
"items": {
- "additionalProperties": {},
- "type": "object"
+ "$ref": "#/definitions/kick.CategoryRef"
},
"type": "array"
},
- "season_end": {
- "type": "string"
- },
- "season_start": {
- "type": "string"
- },
- "sort": {
- "type": "string"
- },
- "sort_dir": {
- "type": "string"
- },
- "source_url": {
- "type": "string"
- },
- "split": {
- "type": "string"
- },
- "target_base": {
- "type": "string"
- },
- "team": {
- "type": "string"
- },
- "total": {
+ "id": {
"type": "integer"
},
- "type": {
+ "language": {
"type": "string"
},
- "with_team_only": {
+ "mature": {
"type": "boolean"
- }
- },
- "type": "object"
- },
- "mlb.StatcastFieldingRunValueResponse": {
- "properties": {
- "board": {
- "type": "string"
- },
- "date_end": {
- "type": "string"
},
- "date_start": {
- "type": "string"
- },
- "fetched_at": {
- "type": "string"
- },
- "game_type": {
+ "started_at": {
"type": "string"
},
- "group_by": {
+ "tags": {
"items": {
"type": "string"
},
"type": "array"
},
- "limit": {
- "type": "integer"
- },
- "minimum": {
- "type": "string"
- },
- "minimum_split": {
- "type": "string"
- },
- "offset": {
- "type": "integer"
- },
- "position": {
- "type": "string"
- },
- "rows": {
- "items": {
- "additionalProperties": {},
- "type": "object"
- },
- "type": "array"
- },
- "season_end": {
- "type": "string"
- },
- "season_start": {
- "type": "string"
- },
- "sort": {
- "type": "string"
- },
- "sort_dir": {
+ "thumbnail_url": {
"type": "string"
},
- "source_url": {
+ "title": {
"type": "string"
},
- "teams": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "total": {
+ "viewers": {
"type": "integer"
- },
- "type": {
- "type": "string"
}
},
"type": "object"
},
- "mlb.StatcastFirstBaseReceivingDetailsResponse": {
+ "kick.LivestreamsResponse": {
"properties": {
- "fetched_at": {
- "type": "string"
- },
- "limit": {
- "type": "integer"
- },
- "offset": {
- "type": "integer"
- },
- "player_id": {
- "type": "integer"
- },
- "rows": {
- "items": {
- "additionalProperties": {},
- "type": "object"
- },
- "type": "array"
- },
- "source_url": {
- "type": "string"
- },
- "total": {
+ "category_id": {
"type": "integer"
- }
- },
- "type": "object"
- },
- "mlb.StatcastFirstBaseReceivingResponse": {
- "properties": {
- "board": {
- "type": "string"
},
- "fetched_at": {
+ "language": {
"type": "string"
},
- "game_types": {
+ "livestreams": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/kick.DirectoryStream"
},
"type": "array"
},
- "limit": {
- "type": "integer"
- },
- "minimum": {
- "type": "string"
- },
- "minimum_split": {
+ "next_cursor": {
"type": "string"
},
- "offset": {
- "type": "integer"
- },
- "rows": {
- "items": {
- "additionalProperties": {},
- "type": "object"
- },
- "type": "array"
- },
- "seasons": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
"sort": {
"type": "string"
- },
- "sort_direction": {
- "type": "string"
- },
- "source_url": {
- "type": "string"
- },
- "split_year": {
- "type": "string"
- },
- "splits": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "total": {
- "type": "integer"
- },
- "type": {
- "type": "string"
}
},
"type": "object"
},
- "mlb.StatcastPercentileFilter": {
+ "kick.SearchCategoriesResponse": {
"properties": {
- "comparator": {
- "type": "string"
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/kick.CategoryHit"
+ },
+ "type": "array"
},
- "field": {
+ "query": {
"type": "string"
- },
- "value": {
- "type": "number"
}
},
"type": "object"
},
- "mlb.StatcastPlayerDetailsResponse": {
+ "kick.SearchChannelsResponse": {
"properties": {
- "fetched_at": {
- "type": "string"
- },
- "player_id": {
- "type": "string"
- },
- "player_type": {
- "type": "string"
- },
- "plays": {
+ "channels": {
"items": {
- "additionalProperties": {},
- "type": "object"
+ "$ref": "#/definitions/kick.ChannelHit"
},
"type": "array"
},
- "source_url": {
+ "query": {
"type": "string"
- },
- "total": {
- "type": "integer"
- },
- "year": {
- "type": "integer"
}
},
"type": "object"
},
- "mlb.StatcastResponse": {
+ "kick.Socials": {
"properties": {
- "fetched_at": {
- "type": "string"
- },
- "limit": {
- "type": "integer"
- },
- "min_bbe": {
+ "discord": {
"type": "string"
},
- "offset": {
- "type": "integer"
- },
- "position": {
+ "facebook": {
"type": "string"
},
- "rows": {
- "items": {
- "$ref": "#/definitions/mlb.StatcastRow"
- },
- "type": "array"
- },
- "sort": {
+ "instagram": {
"type": "string"
},
- "sort_dir": {
+ "tiktok": {
"type": "string"
},
- "source_url": {
+ "twitter": {
"type": "string"
},
- "team_id": {
- "type": "integer"
- },
- "total": {
- "type": "integer"
- },
- "type": {
+ "youtube": {
"type": "string"
- },
- "year": {
- "type": "integer"
}
},
"type": "object"
},
- "mlb.StatcastRollingGroup": {
+ "kick.StreamSession": {
"properties": {
- "limit": {
- "type": "integer"
- },
- "offset": {
- "type": "integer"
- },
- "role": {
- "type": "string"
- },
- "rows": {
+ "categories": {
"items": {
- "additionalProperties": {},
- "type": "object"
+ "$ref": "#/definitions/kick.CategoryRef"
},
"type": "array"
},
- "total": {
+ "duration_ms": {
"type": "integer"
},
- "window_pa": {
+ "id": {
"type": "integer"
- }
- },
- "type": "object"
- },
- "mlb.StatcastRow": {
- "properties": {
- "entity_id": {
- "type": "string"
- },
- "metrics": {
- "additionalProperties": {},
- "type": "object"
- },
- "name": {
- "type": "string"
},
- "position": {
+ "language": {
"type": "string"
},
- "qualified": {
+ "live": {
"type": "boolean"
},
- "rank": {
- "type": "integer"
- },
- "team": {
- "type": "string"
- },
- "team_id": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "mlb.StatcastRunningGameDetailsOption": {
- "properties": {
- "entity_id": {
- "type": "string"
+ "mature": {
+ "type": "boolean"
},
- "game_type": {
+ "started_at": {
"type": "string"
},
- "limit": {
- "type": "integer"
+ "tags": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "min_pitches": {
+ "thumbnail_url": {
"type": "string"
},
- "offset": {
- "type": "integer"
- },
- "pitch_hand": {
+ "title": {
"type": "string"
},
- "prior_pk": {
+ "video_url": {
"type": "string"
},
- "runner_moved": {
+ "video_uuid": {
+ "description": "VideoUUID, VideoViews and VideoURL describe the recording; empty when\nthe broadcast has none.",
"type": "string"
},
- "season_end": {
+ "video_views": {
"type": "integer"
},
- "season_start": {
+ "viewer_count": {
+ "description": "ViewerCount is the viewer figure Kick reports for the broadcast; the\nupstream does not say whether it is a peak or an average.",
"type": "integer"
- },
- "split": {
- "type": "string"
- },
- "target_base": {
- "type": "string"
- },
- "team": {
- "type": "string"
- },
- "type": {
- "type": "string"
- },
- "with_team_only": {
- "type": "boolean"
}
},
"type": "object"
},
- "mlb.StatcastRunningGameDetailsResponse": {
+ "kick.SubcategoriesResponse": {
"properties": {
- "board": {
+ "category": {
"type": "string"
},
- "entity_id": {
+ "limit": {
"type": "integer"
},
- "fetched_at": {
- "type": "string"
- },
- "filters": {
- "$ref": "#/definitions/mlb.StatcastRunningGameDetailsOption"
- },
- "limit": {
+ "page": {
"type": "integer"
},
- "offset": {
+ "reachable": {
"type": "integer"
},
- "rows": {
+ "subcategories": {
"items": {
- "additionalProperties": {},
- "type": "object"
+ "$ref": "#/definitions/kick.Subcategory"
},
"type": "array"
},
- "source_url": {
- "type": "string"
- },
"total": {
"type": "integer"
- },
- "type": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "mlb.StatcastRunningGameFilters": {
- "properties": {
- "game_types": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
- },
- "minimum_pitches": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
- },
- "pitch_hands": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
- },
- "prior_pickoffs": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
- },
- "runner_moved": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
- },
- "seasons": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
- },
- "sort_directions": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
- },
- "sort_fields": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
- },
- "target_bases": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
- },
- "teams": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
- },
- "types": {
- "items": {
- "$ref": "#/definitions/mlb.EnumValue"
- },
- "type": "array"
}
},
"type": "object"
},
- "mlb.StatcastRunningGameOption": {
+ "kick.Subcategory": {
"properties": {
- "game_type": {
+ "banner_url": {
"type": "string"
},
- "limit": {
- "type": "integer"
- },
- "min_pitches": {
+ "description": {
"type": "string"
},
- "offset": {
+ "followers": {
"type": "integer"
},
- "pitch_hand": {
- "type": "string"
- },
- "prior_pk": {
- "type": "string"
+ "id": {
+ "type": "integer"
},
- "runner_moved": {
- "type": "string"
+ "mature": {
+ "type": "boolean"
},
- "search": {
+ "name": {
"type": "string"
},
- "season_end": {
- "type": "integer"
- },
- "season_start": {
+ "parent_id": {
"type": "integer"
},
- "sort": {
- "type": "string"
- },
- "sort_dir": {
+ "parent_name": {
"type": "string"
},
- "split": {
+ "parent_slug": {
"type": "string"
},
- "target_base": {
+ "slug": {
"type": "string"
},
- "team": {
- "type": "string"
+ "tags": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "type": {
+ "url": {
"type": "string"
},
- "with_team_only": {
- "type": "boolean"
+ "viewers": {
+ "type": "integer"
}
},
"type": "object"
},
- "mlb.StatcastRunningGameResponse": {
+ "kick.SubcategoryResponse": {
"properties": {
- "board": {
- "type": "string"
- },
- "fetched_at": {
- "type": "string"
- },
- "filters": {
- "$ref": "#/definitions/mlb.StatcastRunningGameOption"
- },
- "limit": {
- "type": "integer"
- },
- "offset": {
- "type": "integer"
- },
- "rows": {
- "items": {
- "additionalProperties": {},
- "type": "object"
- },
- "type": "array"
- },
- "source_url": {
- "type": "string"
- },
- "total": {
- "type": "integer"
+ "subcategory": {
+ "$ref": "#/definitions/kick.Subcategory"
}
},
"type": "object"
},
- "mlb.StatcastSprintSpeedResponse": {
+ "kick.TopChannelsResponse": {
"properties": {
- "board": {
- "type": "string"
- },
- "fetched_at": {
- "type": "string"
- },
- "limit": {
- "type": "integer"
- },
- "max_season": {
- "type": "string"
- },
- "min_season": {
- "type": "string"
- },
- "minimum_runs": {
- "type": "string"
- },
- "offset": {
- "type": "integer"
- },
- "position": {
- "type": "string"
- },
- "rows": {
+ "channels": {
"items": {
- "additionalProperties": {},
- "type": "object"
+ "$ref": "#/definitions/kick.ChannelHit"
},
"type": "array"
- },
- "sort": {
- "type": "string"
- },
- "sort_dir": {
- "type": "string"
- },
- "source_url": {
- "type": "string"
- },
- "team_id": {
- "type": "string"
- },
- "total": {
- "type": "integer"
}
},
"type": "object"
},
- "mlb.StatcastSprintSpeedTeamsResponse": {
+ "kick.Video": {
"properties": {
- "board": {
- "type": "string"
- },
- "fetched_at": {
- "type": "string"
- },
- "limit": {
- "type": "integer"
- },
- "offset": {
- "type": "integer"
- },
- "rows": {
+ "categories": {
"items": {
- "additionalProperties": {},
- "type": "object"
+ "$ref": "#/definitions/kick.CategoryRef"
},
"type": "array"
},
- "season": {
- "type": "string"
- },
- "sort": {
- "type": "string"
- },
- "sort_dir": {
- "type": "string"
+ "duration_ms": {
+ "type": "integer"
},
- "source_url": {
- "type": "string"
+ "id": {
+ "type": "integer"
},
- "team": {
+ "language": {
"type": "string"
},
- "total": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "mlb.StatcastTopPerformerCard": {
- "properties": {
- "complete_leaderboard_url": {
- "type": "string"
+ "live": {
+ "type": "boolean"
},
- "definition_url": {
- "type": "string"
+ "mature": {
+ "type": "boolean"
},
- "id": {
+ "started_at": {
"type": "string"
},
- "leaders": {
+ "tags": {
"items": {
- "$ref": "#/definitions/mlb.StatcastTopPerformerLeader"
+ "type": "string"
},
"type": "array"
},
- "metric": {
- "type": "string"
- },
- "player_type": {
+ "thumbnail_url": {
"type": "string"
},
"title": {
"type": "string"
- }
- },
- "type": "object"
- },
- "mlb.StatcastTopPerformerLeader": {
- "properties": {
- "headshot_url": {
- "type": "string"
- },
- "player_id": {
- "type": "string"
},
- "player_name": {
+ "url": {
"type": "string"
},
- "player_url": {
+ "uuid": {
"type": "string"
},
- "rank": {
+ "views": {
"type": "integer"
- },
- "team_id": {
- "type": "string"
- },
- "team_logo_url": {
- "type": "string"
- },
- "value": {
- "type": "string"
}
},
"type": "object"
},
- "mlb.StatcastTopPerformersResponse": {
+ "kick.VideoResponse": {
"properties": {
- "card_count": {
- "type": "integer"
- },
- "cards": {
+ "categories": {
"items": {
- "$ref": "#/definitions/mlb.StatcastTopPerformerCard"
+ "$ref": "#/definitions/kick.CategoryRef"
},
"type": "array"
},
- "fetched_at": {
- "type": "string"
+ "channel": {
+ "$ref": "#/definitions/kick.ChannelRef"
},
- "source_url": {
+ "created_at": {
"type": "string"
},
- "year": {
+ "duration_ms": {
"type": "integer"
- }
- },
- "type": "object"
- },
- "mlb.StatsResponse": {
- "properties": {
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "type": "string"
- },
- "group": {
- "description": "Stat group that was returned, for example `hitting` or `pitching`.",
- "type": "string"
},
- "limit": {
- "description": "Maximum number of rows requested. Omitted when no limit applies.",
+ "id": {
"type": "integer"
},
- "offset": {
- "description": "Number of rows skipped before this page. Omitted when zero.",
- "type": "integer"
+ "language": {
+ "type": "string"
},
- "player_id": {
- "description": "MLB player id the stats are for. Omitted for team and league-wide tables.",
- "type": "integer"
+ "mature": {
+ "type": "boolean"
},
- "season": {
- "description": "Season the stats cover, as a year.",
- "type": "integer"
+ "started_at": {
+ "type": "string"
},
- "source_url": {
- "description": "URL the data was read from.",
+ "status": {
"type": "string"
},
- "splits": {
- "description": "Rows of statistics, one item per player, team or period.",
+ "tags": {
"items": {
- "$ref": "#/definitions/mlb.StatSplit"
+ "type": "string"
},
"type": "array"
},
- "team_id": {
- "description": "MLB team id the stats are limited to. Omitted when not limited to a team.",
- "type": "integer"
- },
- "total": {
- "description": "Total number of rows available.",
- "type": "integer"
- },
- "type": {
- "description": "Stats type label. Always `season`.",
- "type": "string"
- }
- },
- "type": "object"
- },
- "mlb.Team": {
- "properties": {
- "abbreviation": {
- "description": "Short team abbreviation, for example `NYY`. Omitted when not available.",
- "type": "string"
- },
- "active": {
- "type": "boolean"
- },
- "club_name": {
+ "thumbnail_url": {
"type": "string"
},
- "division": {
- "$ref": "#/definitions/mlb.NamedRef"
- },
- "first_year_of_play": {
+ "title": {
"type": "string"
},
- "id": {
- "description": "MLB team id.",
- "type": "integer"
- },
- "league": {
- "$ref": "#/definitions/mlb.NamedRef"
- },
- "location_name": {
+ "url": {
"type": "string"
},
- "name": {
- "description": "Full team name.",
+ "uuid": {
"type": "string"
},
- "season": {
+ "viewer_count": {
"type": "integer"
},
- "venue": {
- "$ref": "#/definitions/mlb.VenueRef"
- }
- },
- "type": "object"
- },
- "mlb.TeamBoxscore": {
- "properties": {
- "batters": {
- "items": {
- "type": "integer"
- },
- "type": "array"
- },
- "pitchers": {
- "items": {
- "type": "integer"
- },
- "type": "array"
- },
- "players_used": {
+ "views": {
"type": "integer"
- },
- "team": {
- "$ref": "#/definitions/mlb.TeamRef"
- },
- "team_stats": {
- "additionalProperties": {
- "additionalProperties": {},
- "type": "object"
- },
- "type": "object"
}
},
"type": "object"
},
- "mlb.TeamRef": {
+ "kick.categoriesResponseDoc": {
"properties": {
- "abbreviation": {
- "description": "Short team abbreviation, for example `NYY`. Omitted when not available.",
- "type": "string"
- },
- "id": {
- "description": "MLB team id.",
+ "code": {
+ "example": 200,
"type": "integer"
},
- "name": {
- "description": "Full team name.",
+ "data": {
+ "$ref": "#/definitions/kick.CategoriesResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "mlb.TeamSuggestion": {
+ "kick.categoryClipsResponseDoc": {
"properties": {
- "club_name": {
- "type": "string"
- },
- "display_name": {
- "type": "string"
- },
- "franchise_name": {
- "type": "string"
- },
- "id": {
- "type": "integer"
- },
- "logos": {
- "items": {
- "$ref": "#/definitions/mlb.ImageRef"
- },
- "type": "array"
- },
- "name": {
- "type": "string"
- },
- "sport_id": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "team_name": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/kick.ClipsResponse"
},
- "tri_code": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "mlb.TeamsResponse": {
+ "kick.channelChatroomResponseDoc": {
"properties": {
- "count": {
- "type": "integer"
- },
- "fetched_at": {
- "type": "string"
- },
- "season": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "source_url": {
- "type": "string"
- },
- "teams": {
- "items": {
- "$ref": "#/definitions/mlb.Team"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "mlb.TermSuggestion": {
- "properties": {
- "display_name": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/kick.ChannelChatroomResponse"
},
- "name": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "mlb.TopicSuggestion": {
+ "kick.channelClipsResponseDoc": {
"properties": {
- "display_name": {
- "type": "string"
- },
- "fields": {
- "items": {
- "type": "integer"
- },
- "type": "array"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "name": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/kick.ClipsResponse"
},
- "slug": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "mlb.Transaction": {
+ "kick.channelEmotesResponseDoc": {
"properties": {
- "date": {
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "effective_date": {
- "type": "string"
- },
- "from_team": {
- "$ref": "#/definitions/mlb.TeamRef"
- },
- "id": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "player": {
- "$ref": "#/definitions/mlb.NamedRef"
- },
- "to_team": {
- "$ref": "#/definitions/mlb.TeamRef"
+ "data": {
+ "$ref": "#/definitions/kick.ChannelEmotesResponse"
},
- "type": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "mlb.TransactionsResponse": {
+ "kick.channelLinksResponseDoc": {
"properties": {
- "count": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "end_date": {
- "type": "string"
- },
- "fetched_at": {
- "type": "string"
- },
- "source_url": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/kick.ChannelLinksResponse"
},
- "start_date": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "transactions": {
- "items": {
- "$ref": "#/definitions/mlb.Transaction"
- },
- "type": "array"
}
},
"type": "object"
},
- "mlb.VenueRef": {
+ "kick.channelResponseDoc": {
"properties": {
- "id": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "name": {
+ "data": {
+ "$ref": "#/definitions/kick.ChannelResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "mlb.boxscoreResponseDoc": {
+ "kick.channelStreamsResponseDoc": {
"properties": {
"code": {
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/mlb.BoxscoreResponse"
+ "$ref": "#/definitions/kick.ChannelStreamsResponse"
},
"msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "mlb.discoveryResponseDoc": {
+ "kick.channelVideosResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/mlb.MLBDiscoveryResponse"
+ "$ref": "#/definitions/kick.ChannelVideosResponse"
},
"msg": {
"example": "OK",
@@ -138882,14 +145042,14 @@
},
"type": "object"
},
- "mlb.editorialFeedResponseDoc": {
+ "kick.clipResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/mlb.EditorialFeedResponse"
+ "$ref": "#/definitions/kick.ClipResponse"
},
"msg": {
"example": "OK",
@@ -138898,14 +145058,14 @@
},
"type": "object"
},
- "mlb.gameResponseDoc": {
+ "kick.clipsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/mlb.GameResponse"
+ "$ref": "#/definitions/kick.ClipsResponse"
},
"msg": {
"example": "OK",
@@ -138914,14 +145074,14 @@
},
"type": "object"
},
- "mlb.leagueLeadersResponseDoc": {
+ "kick.dropsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/mlb.LeagueLeadersResponse"
+ "$ref": "#/definitions/kick.DropsResponse"
},
"msg": {
"example": "OK",
@@ -138930,28 +145090,30 @@
},
"type": "object"
},
- "mlb.playByPlayResponseDoc": {
+ "kick.giftsResponseDoc": {
"properties": {
"code": {
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/mlb.PlayByPlayResponse"
+ "$ref": "#/definitions/kick.GiftsResponse"
},
"msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "mlb.playerResponseDoc": {
+ "kick.languagesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/mlb.PlayerResponse"
+ "$ref": "#/definitions/kick.LanguagesResponse"
},
"msg": {
"example": "OK",
@@ -138960,14 +145122,14 @@
},
"type": "object"
},
- "mlb.prospectRankingsResponseDoc": {
+ "kick.livestreamsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/mlb.ProspectRankingsResponse"
+ "$ref": "#/definitions/kick.LivestreamsResponse"
},
"msg": {
"example": "OK",
@@ -138976,14 +145138,14 @@
},
"type": "object"
},
- "mlb.prospectStatsResponseDoc": {
+ "kick.searchCategoriesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/mlb.ProspectStatsResponse"
+ "$ref": "#/definitions/kick.SearchCategoriesResponse"
},
"msg": {
"example": "OK",
@@ -138992,14 +145154,14 @@
},
"type": "object"
},
- "mlb.rosterResponseDoc": {
+ "kick.searchChannelsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/mlb.RosterResponse"
+ "$ref": "#/definitions/kick.SearchChannelsResponse"
},
"msg": {
"example": "OK",
@@ -139008,14 +145170,14 @@
},
"type": "object"
},
- "mlb.scheduleResponseDoc": {
+ "kick.subcategoriesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/mlb.ScheduleResponse"
+ "$ref": "#/definitions/kick.SubcategoriesResponse"
},
"msg": {
"example": "OK",
@@ -139024,14 +145186,14 @@
},
"type": "object"
},
- "mlb.searchResponseDoc": {
+ "kick.subcategoryResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/mlb.SearchResponse"
+ "$ref": "#/definitions/kick.SubcategoryResponse"
},
"msg": {
"example": "OK",
@@ -139040,14 +145202,14 @@
},
"type": "object"
},
- "mlb.standingsResponseDoc": {
+ "kick.topChannelsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/mlb.StandingsResponse"
+ "$ref": "#/definitions/kick.TopChannelsResponse"
},
"msg": {
"example": "OK",
@@ -139056,14 +145218,14 @@
},
"type": "object"
},
- "mlb.statcastABSChallengesResponseDoc": {
+ "kick.videoResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/mlb.StatcastABSChallengesResponse"
+ "$ref": "#/definitions/kick.VideoResponse"
},
"msg": {
"example": "OK",
@@ -139072,600 +145234,387 @@
},
"type": "object"
},
- "mlb.statcastActiveSpinResponseDoc": {
+ "kickstarter.Category": {
"properties": {
- "board": {
- "example": "active-spin",
- "type": "string"
- },
- "hand": {
- "example": "R",
- "type": "string"
+ "id": {
+ "type": "integer"
},
- "min": {
- "example": "50",
+ "name": {
+ "example": "Technology",
"type": "string"
},
- "rows": {
- "items": {
- "additionalProperties": {},
- "type": "object"
- },
- "type": "array"
- },
- "total": {
- "example": 712,
+ "parent_id": {
"type": "integer"
},
- "year": {
- "example": "2026_spin-based",
+ "slug": {
+ "example": "technology",
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "mlb.statcastArmAngleResponseDoc": {
+ "kickstarter.Comment": {
"properties": {
- "bat_side": {
- "example": "L",
- "type": "string"
- },
- "board": {
- "example": "pitcher-arm-angle",
+ "author_name": {
"type": "string"
},
- "date_end": {
- "example": "2026-04-15",
+ "body": {
"type": "string"
},
- "date_start": {
- "example": "2026-03-25",
- "type": "string"
+ "is_creator": {
+ "type": "boolean"
},
- "fetched_at": {
+ "posted_at": {
"type": "string"
- },
- "game_types": {
- "example": [
- "R"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "group_by": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "league_average": {
+ }
+ },
+ "type": "object"
+ },
+ "kickstarter.CommentsResult": {
+ "properties": {
+ "comments": {
"items": {
- "additionalProperties": {},
- "type": "object"
+ "$ref": "#/definitions/kickstarter.Comment"
},
"type": "array"
},
- "limit": {
- "example": 100,
+ "total_count": {
"type": "integer"
- },
- "min": {
- "example": "q",
- "type": "string"
- },
- "min_group_pitches": {
- "example": "1",
+ }
+ },
+ "type": "object"
+ },
+ "kickstarter.Creator": {
+ "properties": {
+ "avatar": {
"type": "string"
},
- "offset": {
- "example": 0,
+ "id": {
"type": "integer"
},
- "pitch_hand": {
- "example": "R",
- "type": "string"
- },
- "pitch_types": {
- "example": [
- "FF"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "rows": {
- "items": {
- "additionalProperties": {},
- "type": "object"
- },
- "type": "array"
- },
- "seasons": {
- "example": [
- "2026"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "sort": {
- "example": "arm_angle",
- "type": "string"
- },
- "sort_dir": {
- "example": "asc",
+ "name": {
"type": "string"
},
- "source_url": {
+ "url": {
"type": "string"
- },
- "teams": {
- "example": [
- "147"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "total": {
- "example": 276,
- "type": "integer"
}
},
"type": "object"
},
- "mlb.statcastArmStrengthPlayerResponseDoc": {
+ "kickstarter.DiscoverResult": {
"properties": {
- "code": {
- "example": 200,
+ "page": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/mlb.StatcastArmStrengthPlayerResponse"
+ "projects": {
+ "items": {
+ "$ref": "#/definitions/kickstarter.Project"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
- "type": "string"
+ "total_hits": {
+ "type": "integer"
}
},
"type": "object"
},
- "mlb.statcastArmStrengthResponseDoc": {
+ "kickstarter.Location": {
"properties": {
- "code": {
- "example": 200,
+ "country": {
+ "example": "US",
+ "type": "string"
+ },
+ "displayable_name": {
+ "example": "Los Angeles, CA",
+ "type": "string"
+ },
+ "id": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/mlb.StatcastArmStrengthResponse"
+ "name": {
+ "example": "Los Angeles",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "short_name": {
+ "example": "Los Angeles, CA",
"type": "string"
}
},
"type": "object"
},
- "mlb.statcastArmValueDetailsResponseDoc": {
+ "kickstarter.Photo": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/mlb.StatcastArmValueDetailsResponse"
- },
- "msg": {
- "example": "OK",
+ "full": {
"type": "string"
}
},
"type": "object"
},
- "mlb.statcastArmValueResponseDoc": {
+ "kickstarter.Project": {
"properties": {
- "code": {
- "example": 200,
+ "backers_count": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/mlb.StatcastArmValueResponse"
- },
- "msg": {
- "example": "OK",
+ "blurb": {
"type": "string"
- }
- },
- "type": "object"
- },
- "mlb.statcastBaserunningResponseDoc": {
- "properties": {
- "code": {
+ },
+ "category": {
+ "$ref": "#/definitions/kickstarter.Category"
+ },
+ "comments_count": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/mlb.StatcastBaserunningResponse"
+ "converted_pledged_amount": {
+ "type": "number"
},
- "msg": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "mlb.statcastBatTrackingResponseDoc": {
- "properties": {
- "board": {
+ "country": {
+ "example": "US",
"type": "string"
},
- "date_end": {
+ "created_at": {
"type": "string"
},
- "date_start": {
+ "creator": {
+ "$ref": "#/definitions/kickstarter.Creator"
+ },
+ "currency": {
+ "example": "USD",
"type": "string"
},
- "fetched_at": {
+ "currency_symbol": {
+ "example": "$",
"type": "string"
},
- "game_type": {
+ "deadline": {
"type": "string"
},
- "limit": {
+ "faq_count": {
"type": "integer"
},
- "min_group_swings": {
- "type": "string"
+ "goal": {
+ "type": "number"
},
- "min_swings": {
- "type": "string"
+ "has_video": {
+ "type": "boolean"
},
- "offset": {
+ "id": {
+ "example": 1114436418,
"type": "integer"
},
- "rows": {
- "items": {
- "additionalProperties": {},
- "type": "object"
- },
- "type": "array"
- },
- "season_end": {
- "type": "string"
- },
- "season_start": {
- "type": "string"
+ "is_launched": {
+ "type": "boolean"
},
- "sort": {
+ "launched_at": {
"type": "string"
},
- "sort_dir": {
- "type": "string"
+ "location": {
+ "$ref": "#/definitions/kickstarter.Location"
},
- "source_url": {
+ "name": {
"type": "string"
},
- "total": {
+ "percent_funded": {
"type": "integer"
},
- "type": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "mlb.statcastBattedBallResponseDoc": {
- "properties": {
- "board": {
- "example": "batted-ball",
- "type": "string"
+ "photo": {
+ "$ref": "#/definitions/kickstarter.Photo"
},
- "game_types": {
- "example": [
- "R"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
+ "pledged": {
+ "type": "number"
},
- "league_average": {
+ "reward_tiers": {
+ "description": "RewardTiers is the campaign's pledge/reward tier list, captured from\nkickstarter.com's own natural GraphQL traffic when the campaign's\n/rewards sub-page renders -- see doc.go's \"Reward tiers\" section.\nBest-effort: omitted (not an error) if the capture-capable render\nbackends are unavailable or the campaign has no reward tiers.",
"items": {
- "additionalProperties": {},
- "type": "object"
+ "$ref": "#/definitions/kickstarter.RewardTier"
},
"type": "array"
},
- "min": {
- "example": "q",
+ "risks_and_challenges": {
"type": "string"
},
- "min_split": {
- "example": "1",
+ "slug": {
"type": "string"
},
- "rows": {
- "items": {
- "additionalProperties": {},
- "type": "object"
- },
- "type": "array"
- },
- "seasons": {
- "example": [
- "2026"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "show_league_average": {
- "example": true,
+ "spotlight": {
"type": "boolean"
},
- "total": {
- "example": 346,
- "type": "integer"
+ "staff_pick": {
+ "type": "boolean"
},
- "type": {
- "example": "batter",
- "type": "string"
- }
- },
- "type": "object"
- },
- "mlb.statcastBirthdayIndexResponseDoc": {
- "properties": {
- "date": {
- "example": "5-2",
+ "state": {
+ "example": "live",
"type": "string"
},
- "fetched_at": {
+ "state_changed_at": {
"type": "string"
},
- "limit": {
- "example": 100,
- "type": "integer"
- },
- "min_games": {
- "example": 1,
- "type": "integer"
+ "story": {
+ "type": "string"
},
- "offset": {
- "example": 0,
+ "updates_count": {
"type": "integer"
},
- "rows": {
- "items": {
- "additionalProperties": {},
- "type": "object"
- },
- "type": "array"
+ "url": {
+ "type": "string"
},
- "show_inactives": {
- "example": false,
- "type": "boolean"
+ "usd_pledged": {
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "kickstarter.RewardAddOn": {
+ "properties": {
+ "amount": {
+ "type": "number"
},
- "sort": {
- "example": "daysUntil",
+ "currency": {
"type": "string"
},
- "sort_dir": {
- "example": "asc",
+ "description": {
"type": "string"
},
- "source_url": {
+ "id": {
"type": "string"
},
- "today_batters": {
- "items": {
- "additionalProperties": {},
- "type": "object"
- },
- "type": "array"
- },
- "today_pitchers": {
- "items": {
- "additionalProperties": {},
- "type": "object"
- },
- "type": "array"
- },
- "total": {
- "example": 241,
- "type": "integer"
- },
- "type": {
- "example": "batter",
+ "name": {
"type": "string"
}
},
"type": "object"
},
- "mlb.statcastBoardResponseDoc": {
+ "kickstarter.RewardItem": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/mlb.StatcastBoardResponse"
- },
- "msg": {
- "example": "OK",
+ "name": {
"type": "string"
+ },
+ "quantity": {
+ "type": "integer"
}
},
"type": "object"
},
- "mlb.statcastCatcherBlockingDetailsResponseDoc": {
+ "kickstarter.RewardTier": {
"properties": {
- "board": {
- "example": "catcher-blocking-details",
- "type": "string"
- },
- "entity_id": {
- "example": 682626,
- "type": "integer"
+ "add_ons": {
+ "items": {
+ "$ref": "#/definitions/kickstarter.RewardAddOn"
+ },
+ "type": "array"
},
- "fetched_at": {
- "type": "string"
+ "amount": {
+ "type": "number"
},
- "limit": {
- "example": 100,
- "type": "integer"
+ "available": {
+ "type": "boolean"
},
- "offset": {
- "example": 0,
+ "backers_count": {
"type": "integer"
},
- "rows": {
- "items": {
- "additionalProperties": {},
- "type": "object"
- },
- "type": "array"
+ "currency": {
+ "example": "USD",
+ "type": "string"
},
- "source_url": {
+ "description": {
"type": "string"
},
- "total": {
- "example": 3319,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "mlb.statcastCatcherBlockingResponseDoc": {
- "properties": {
- "board": {
- "example": "catcher-blocking",
+ "ends_at": {
"type": "string"
},
- "fetched_at": {
+ "estimated_delivery_on": {
+ "example": "2026-06-01",
"type": "string"
},
- "game_type": {
- "example": "Regular",
+ "featured": {
+ "type": "boolean"
+ },
+ "id": {
"type": "string"
},
- "minimum": {
- "example": "q",
+ "image": {
"type": "string"
},
- "rows": {
+ "items": {
"items": {
- "additionalProperties": {},
- "type": "object"
+ "$ref": "#/definitions/kickstarter.RewardItem"
},
"type": "array"
},
- "source_url": {
+ "limit": {
+ "type": "integer"
+ },
+ "name": {
"type": "string"
},
- "total": {
- "example": 74,
+ "remaining_quantity": {
"type": "integer"
},
- "type": {
- "example": "Cat",
+ "shipping_enabled": {
+ "type": "boolean"
+ },
+ "shipping_preference": {
+ "example": "unrestricted",
+ "type": "string"
+ },
+ "shipping_summary": {
"type": "string"
}
},
"type": "object"
},
- "mlb.statcastCatcherFramingDetailsResponseDoc": {
+ "kickstarter.Update": {
"properties": {
- "board": {
- "example": "catcher-framing-details",
+ "author_name": {
"type": "string"
},
- "entity_id": {
- "example": 663886,
- "type": "integer"
- },
- "fetched_at": {
+ "body": {
"type": "string"
},
- "limit": {
- "example": 100,
+ "comments_count": {
"type": "integer"
},
- "offset": {
- "example": 0,
+ "is_creator": {
+ "type": "boolean"
+ },
+ "number": {
+ "example": 7,
"type": "integer"
},
- "rows": {
- "items": {
- "additionalProperties": {},
- "type": "object"
- },
- "type": "array"
+ "published_at": {
+ "example": "July 10, 2026",
+ "type": "string"
},
- "source_url": {
+ "title": {
"type": "string"
},
- "total": {
- "example": 8570,
- "type": "integer"
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "mlb.statcastCatcherFramingResponseDoc": {
+ "kickstarter.UpdatesResult": {
"properties": {
- "board": {
- "example": "catcher-framing",
- "type": "string"
- },
- "fetched_at": {
- "type": "string"
- },
- "game_type": {
- "example": "Regular",
- "type": "string"
- },
- "limit": {
- "example": 100,
- "type": "integer"
- },
- "offset": {
- "example": 0,
- "type": "integer"
- },
- "rows": {
+ "updates": {
"items": {
- "additionalProperties": {},
- "type": "object"
+ "$ref": "#/definitions/kickstarter.Update"
},
"type": "array"
- },
- "source_url": {
- "type": "string"
- },
- "total": {
- "example": 56,
- "type": "integer"
- },
- "type": {
- "example": "catcher",
- "type": "string"
}
},
"type": "object"
},
- "mlb.statcastCatcherPopTimeResponseDoc": {
+ "kickstarter.commentsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/mlb.StatcastCatcherPopTimeResponse"
+ "$ref": "#/definitions/kickstarter.CommentsResult"
},
"msg": {
"example": "OK",
@@ -139674,14 +145623,14 @@
},
"type": "object"
},
- "mlb.statcastCatcherStanceResponseDoc": {
+ "kickstarter.discoverResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/mlb.StatcastCatcherStanceResponse"
+ "$ref": "#/definitions/kickstarter.DiscoverResult"
},
"msg": {
"example": "OK",
@@ -139690,14 +145639,14 @@
},
"type": "object"
},
- "mlb.statcastCatcherThrowingDetailsResponseDoc": {
+ "kickstarter.projectResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/mlb.StatcastCatcherThrowingDetailsResponse"
+ "$ref": "#/definitions/kickstarter.Project"
},
"msg": {
"example": "OK",
@@ -139706,14 +145655,14 @@
},
"type": "object"
},
- "mlb.statcastCatcherThrowingResponseDoc": {
+ "kickstarter.updatesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/mlb.StatcastCatcherThrowingResponse"
+ "$ref": "#/definitions/kickstarter.UpdatesResult"
},
"msg": {
"example": "OK",
@@ -139722,1807 +145671,1653 @@
},
"type": "object"
},
- "mlb.statcastFieldingRunValueResponseDoc": {
+ "klook.ActivityResponse": {
"properties": {
- "code": {
- "example": 200,
+ "activity_id": {
+ "example": 4099,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/mlb.StatcastFieldingRunValueResponse"
- },
- "msg": {
- "example": "OK",
+ "activity_type": {
"type": "string"
- }
- },
- "type": "object"
- },
- "mlb.statcastFirstBaseReceivingDetailsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ },
+ "city_id": {
+ "example": 5568,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/mlb.StatcastFirstBaseReceivingDetailsResponse"
+ "city_name": {
+ "example": "California",
+ "type": "string"
},
- "msg": {
- "example": "OK",
- "type": "string"
- }
- },
- "type": "object"
- },
- "mlb.statcastFirstBaseReceivingResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ "country_id": {
+ "example": 28,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/mlb.StatcastFirstBaseReceivingResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
- }
- },
- "type": "object"
- },
- "mlb.statcastHomeRunsDetailsResponseDoc": {
- "properties": {
- "cat": {
- "example": "adj_xhr",
+ "country_name": {
+ "example": "United States",
"type": "string"
},
- "player_id": {
- "example": "691718",
+ "image_url": {
"type": "string"
},
- "player_type": {
- "example": "Batter",
- "type": "string"
+ "latitude": {
+ "example": 34.1392323,
+ "type": "number"
},
- "plays": {
+ "longitude": {
+ "example": -118.3543835,
+ "type": "number"
+ },
+ "price": {
+ "$ref": "#/definitions/klook.Price"
+ },
+ "rating": {
+ "example": 4.8,
+ "type": "number"
+ },
+ "review_count": {
+ "example": 6037,
+ "type": "integer"
+ },
+ "sold_out": {
+ "example": false,
+ "type": "boolean"
+ },
+ "tags": {
"items": {
- "additionalProperties": {},
- "type": "object"
+ "type": "string"
},
"type": "array"
},
- "total": {
- "example": 61,
- "type": "integer"
+ "title": {
+ "example": "Universal Studios Hollywood Tickets",
+ "type": "string"
},
- "year": {
- "example": "2026",
+ "url": {
+ "example": "https://www.klook.com/en-US/activity/4099-universal-studios-hollywood-ticket-los-angeles/",
"type": "string"
}
},
"type": "object"
},
- "mlb.statcastHomeRunsResponseDoc": {
+ "klook.ActivitySummary": {
"properties": {
- "board": {
- "example": "home-runs",
- "type": "string"
- },
- "cat": {
- "example": "adj_xhr",
- "type": "string"
- },
- "min": {
- "example": "10",
- "type": "string"
+ "activity_id": {
+ "example": 4099,
+ "type": "integer"
},
- "player_type": {
- "example": "Batter",
+ "booked": {
+ "example": "10K+ booked",
"type": "string"
},
- "rows": {
- "items": {
- "additionalProperties": {},
- "type": "object"
- },
- "type": "array"
- },
- "sort": {
- "example": "xhr",
- "type": "string"
+ "category_id": {
+ "example": 558,
+ "type": "integer"
},
- "sort_dir": {
- "example": "desc",
- "type": "string"
+ "price": {
+ "$ref": "#/definitions/klook.Price"
},
- "team": {
- "example": "112",
- "type": "string"
+ "rating": {
+ "example": 4.8,
+ "type": "number"
},
- "total": {
- "example": 49,
+ "review_count": {
+ "example": 6037,
"type": "integer"
},
- "year": {
- "example": "2026",
- "type": "string"
- }
- },
- "type": "object"
- },
- "mlb.statcastParkFactorsResponseDoc": {
- "properties": {
- "board": {
- "example": "statcast-park-factors",
- "type": "string"
+ "sold_out": {
+ "example": false,
+ "type": "boolean"
},
- "rows": {
+ "tags": {
+ "example": [
+ "Instant confirmation"
+ ],
"items": {
- "additionalProperties": {},
- "type": "object"
+ "type": "string"
},
"type": "array"
},
- "total": {
- "example": 29,
- "type": "integer"
+ "title": {
+ "example": "Universal Studios Hollywood Tickets",
+ "type": "string"
},
- "type": {
- "example": "year",
+ "url": {
+ "example": "https://www.klook.com/en-US/activity/4099-universal-studios-hollywood-ticket-los-angeles/",
"type": "string"
}
},
"type": "object"
},
- "mlb.statcastPercentileResponseDoc": {
+ "klook.AttractionCountry": {
"properties": {
- "board": {
- "example": "percentile-rankings",
- "type": "string"
- },
- "fetched_at": {
- "type": "string"
- },
- "filters": {
+ "activities": {
"items": {
- "$ref": "#/definitions/mlb.StatcastPercentileFilter"
+ "$ref": "#/definitions/klook.ActivitySummary"
},
"type": "array"
},
- "limit": {
- "example": 100,
- "type": "integer"
- },
- "offset": {
- "example": 0,
+ "country_id": {
+ "example": 1012,
"type": "integer"
},
- "rows": {
- "items": {
- "additionalProperties": {},
- "type": "object"
- },
- "type": "array"
- },
- "sort": {
- "example": "percent_rank_xwoba",
- "type": "string"
- },
- "sort_dir": {
- "example": "desc",
- "type": "string"
- },
- "source_url": {
- "type": "string"
- },
- "team": {
- "example": "147",
+ "image_url": {
"type": "string"
},
- "total": {
- "example": 28,
- "type": "integer"
- },
- "type": {
- "example": "batter",
+ "name": {
+ "example": "Japan",
"type": "string"
},
- "year": {
- "example": "2026",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "mlb.statcastPitchArsenalDetailsResponseDoc": {
+ "klook.AttractionsCategoriesResponse": {
"properties": {
- "pitch_type": {
- "example": "FF",
- "type": "string"
- },
- "player_id": {
- "example": "592332",
- "type": "string"
- },
- "player_type": {
- "example": "pitcher",
- "type": "string"
- },
- "plays": {
+ "categories": {
"items": {
- "additionalProperties": {},
- "type": "object"
+ "$ref": "#/definitions/klook.Category"
},
"type": "array"
},
- "total": {
- "example": 416,
+ "count": {
+ "example": 12,
"type": "integer"
},
- "year": {
- "example": "2026",
- "type": "string"
+ "root": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/klook.Category"
+ }
+ ],
+ "description": "Root is the vertical root category (\"Attraction tickets\")."
}
},
"type": "object"
},
- "mlb.statcastPitchArsenalResponseDoc": {
+ "klook.AttractionsDestinationsResponse": {
"properties": {
- "board": {
- "example": "pitch-arsenal-stats",
- "type": "string"
- },
- "min_pa": {
- "example": "1",
- "type": "string"
- },
- "min_pitches": {
- "example": "q",
- "type": "string"
+ "city_id": {
+ "example": 28,
+ "type": "integer"
},
- "rows": {
+ "countries": {
"items": {
- "additionalProperties": {},
- "type": "object"
+ "$ref": "#/definitions/klook.AttractionCountry"
},
"type": "array"
},
- "total": {
- "example": 523,
+ "country_count": {
+ "example": 7,
"type": "integer"
},
- "type": {
- "example": "pitcher",
- "type": "string"
+ "country_id": {
+ "example": 12,
+ "type": "integer"
},
- "year": {
- "example": "2026",
- "type": "string"
+ "hot_cities": {
+ "items": {
+ "$ref": "#/definitions/klook.NearbyCity"
+ },
+ "type": "array"
+ },
+ "nearby_cities": {
+ "items": {
+ "$ref": "#/definitions/klook.NearbyCity"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "mlb.statcastPitchArsenalsResponseDoc": {
+ "klook.AttractionsHighlightsResponse": {
"properties": {
- "board": {
- "example": "pitch-arsenals",
+ "button_text": {
"type": "string"
},
- "hand": {
- "example": "R",
+ "button_url": {
"type": "string"
},
- "min_pitches": {
- "example": "q",
- "type": "string"
+ "city_id": {
+ "example": 28,
+ "type": "integer"
},
- "rows": {
+ "count": {
+ "example": 2,
+ "type": "integer"
+ },
+ "country_id": {
+ "example": 12,
+ "type": "integer"
+ },
+ "groups": {
"items": {
- "additionalProperties": {},
- "type": "object"
+ "$ref": "#/definitions/klook.HighlightGroup"
},
"type": "array"
},
- "total": {
- "example": 231,
- "type": "integer"
- },
"type": {
- "example": "avg_speed",
- "type": "string"
- },
- "year": {
- "example": "2026",
+ "example": "city",
"type": "string"
}
},
"type": "object"
},
- "mlb.statcastPitchMovementResponseDoc": {
+ "klook.AttractionsSearchResponse": {
"properties": {
- "board": {
- "example": "pitch-movement",
- "type": "string"
- },
- "hand": {
- "example": "R",
- "type": "string"
- },
- "min": {
- "example": "q",
- "type": "string"
- },
- "pitch_type": {
- "example": "FF",
- "type": "string"
- },
- "rows": {
+ "activities": {
"items": {
- "additionalProperties": {},
- "type": "object"
+ "$ref": "#/definitions/klook.ActivitySummary"
},
"type": "array"
},
- "total": {
- "example": 431,
+ "category_id": {
+ "example": 3,
"type": "integer"
},
- "year": {
- "example": "2026",
- "type": "string"
- }
- },
- "type": "object"
- },
- "mlb.statcastPitchTempoPlayerResponseDoc": {
- "properties": {
- "entity_id": {
- "example": "608718",
- "type": "string"
+ "city_id": {
+ "example": 28,
+ "type": "integer"
},
- "game_type": {
- "example": "Regular",
+ "count": {
+ "example": 20,
+ "type": "integer"
+ },
+ "destination": {
+ "example": "Tokyo",
"type": "string"
},
- "rows": {
- "items": {
- "additionalProperties": {},
- "type": "object"
- },
- "type": "array"
+ "page": {
+ "example": 1,
+ "type": "integer"
},
- "season_end": {
- "example": "2026",
- "type": "string"
+ "per_page": {
+ "example": 20,
+ "type": "integer"
},
- "season_start": {
- "example": "2026",
+ "sort": {
+ "example": "recommended",
"type": "string"
},
"total": {
- "example": 10,
+ "example": 5186,
"type": "integer"
- },
- "type": {
- "example": "Pit",
- "type": "string"
}
},
"type": "object"
},
- "mlb.statcastPitchTempoResponseDoc": {
+ "klook.CategoriesResponse": {
"properties": {
- "board": {
- "example": "pitch_tempo",
- "type": "string"
- },
- "game_type": {
- "example": "Regular",
- "type": "string"
- },
- "minimum_pitches": {
- "example": "q",
- "type": "string"
- },
- "rows": {
+ "categories": {
"items": {
- "additionalProperties": {},
- "type": "object"
+ "$ref": "#/definitions/klook.Category"
},
"type": "array"
},
- "season_end": {
- "example": "2026",
- "type": "string"
- },
- "season_start": {
- "example": "2026",
- "type": "string"
- },
- "total": {
- "example": 348,
+ "count": {
+ "example": 56,
"type": "integer"
- },
- "type": {
- "example": "Pit",
- "type": "string"
}
},
"type": "object"
},
- "mlb.statcastPitchTimerResponseDoc": {
+ "klook.Category": {
"properties": {
- "board": {
- "example": "pitch-timer-infractions",
- "type": "string"
+ "category_id": {
+ "example": 9,
+ "type": "integer"
},
- "rows": {
+ "children": {
"items": {
- "additionalProperties": {},
- "type": "object"
+ "$ref": "#/definitions/klook.Category"
},
"type": "array"
},
- "season": {
- "example": "2026",
+ "name": {
+ "example": "Tours",
"type": "string"
},
- "total": {
- "example": 30,
- "type": "integer"
- },
- "type": {
- "example": "Team",
+ "url": {
+ "example": "https://www.klook.com/en-US/experiences/list/?frontend_id_list=9",
"type": "string"
}
},
"type": "object"
},
- "mlb.statcastPlayerDetailsResponseDoc": {
+ "klook.Country": {
"properties": {
- "code": {
- "example": 200,
+ "country_code": {
+ "example": "JP",
+ "type": "string"
+ },
+ "country_id": {
+ "example": 12,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/mlb.StatcastPlayerDetailsResponse"
+ "name": {
+ "example": "Japan",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "name_en": {
+ "example": "Japan",
"type": "string"
}
},
"type": "object"
},
- "mlb.statcastResponseDoc": {
+ "klook.DestinationArea": {
"properties": {
- "code": {
- "example": 200,
+ "city_id": {
+ "example": 28,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/mlb.StatcastResponse"
+ "country_id": {
+ "example": 12,
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "name": {
+ "example": "Tokyo",
+ "type": "string"
+ },
+ "url": {
+ "example": "https://www.klook.com/en-US/experiences/list/tokyo-tours-experiences/c28/",
"type": "string"
}
},
"type": "object"
},
- "mlb.statcastRollingResponseDoc": {
+ "klook.DestinationRegion": {
"properties": {
- "fetched_at": {
- "type": "string"
- },
- "groups": {
+ "areas": {
"items": {
- "$ref": "#/definitions/mlb.StatcastRollingGroup"
+ "$ref": "#/definitions/klook.DestinationArea"
},
"type": "array"
},
- "limit": {
- "example": 100,
- "type": "integer"
- },
- "metric": {
- "example": "xwoba",
- "type": "string"
- },
- "offset": {
- "example": 0,
- "type": "integer"
- },
- "source_url": {
+ "region_name": {
+ "example": "East Asia",
"type": "string"
- },
- "total": {
- "example": 2509,
- "type": "integer"
}
},
"type": "object"
},
- "mlb.statcastRunValueResponseDoc": {
+ "klook.DestinationsResponse": {
"properties": {
- "board": {
- "example": "swing-take",
- "type": "string"
- },
- "group": {
- "example": "Batter",
- "type": "string"
+ "area_count": {
+ "example": 120,
+ "type": "integer"
},
- "rows": {
+ "countries": {
"items": {
- "additionalProperties": {},
- "type": "object"
+ "$ref": "#/definitions/klook.Country"
},
"type": "array"
},
- "total": {
- "example": 300,
+ "country_count": {
+ "example": 191,
"type": "integer"
},
- "year": {
- "example": "2026",
- "type": "string"
+ "regions": {
+ "items": {
+ "$ref": "#/definitions/klook.DestinationRegion"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "mlb.statcastRunningGameDetailsResponseDoc": {
+ "klook.FilterCity": {
"properties": {
- "code": {
- "example": 200,
+ "city_id": {
+ "example": 28,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/mlb.StatcastRunningGameDetailsResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
- }
- },
- "type": "object"
- },
- "mlb.statcastRunningGameResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ "country_id": {
+ "example": 12,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/mlb.StatcastRunningGameResponse"
- },
- "msg": {
- "example": "OK",
+ "country_name": {
+ "example": "Japan",
"type": "string"
- }
- },
- "type": "object"
- },
- "mlb.statcastSprintSpeedResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/mlb.StatcastSprintSpeedResponse"
+ "disabled": {
+ "description": "Disabled marks cities Klook lists but does not offer in this context.",
+ "example": false,
+ "type": "boolean"
},
- "msg": {
- "example": "OK",
+ "name": {
+ "example": "Tokyo",
"type": "string"
}
},
"type": "object"
},
- "mlb.statcastSprintSpeedTeamsResponseDoc": {
+ "klook.FilterCountry": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "cities": {
+ "items": {
+ "$ref": "#/definitions/klook.FilterCity"
+ },
+ "type": "array"
},
- "data": {
- "$ref": "#/definitions/mlb.StatcastSprintSpeedTeamsResponse"
+ "country_id": {
+ "example": 12,
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "name": {
+ "example": "Japan",
"type": "string"
}
},
"type": "object"
},
- "mlb.statcastSwingPathResponseDoc": {
+ "klook.FilterGroup": {
"properties": {
- "board": {
- "example": "swing-path-attack-angle",
- "type": "string"
- },
- "game_type": {
- "example": "Regular",
+ "key": {
+ "example": "interest_tag",
"type": "string"
},
- "rows": {
+ "options": {
"items": {
- "additionalProperties": {},
- "type": "object"
+ "$ref": "#/definitions/klook.FilterOption"
},
"type": "array"
},
- "season_end": {
- "example": "2026",
- "type": "string"
- },
- "season_start": {
- "example": "2026",
+ "title": {
+ "example": "Interests",
"type": "string"
},
- "total": {
- "example": 203,
- "type": "integer"
- },
"type": {
- "example": "batter",
+ "example": "multi_select",
"type": "string"
}
},
"type": "object"
},
- "mlb.statcastSwingTimingDetailsResponseDoc": {
+ "klook.FilterOption": {
"properties": {
- "details": {
- "additionalProperties": {
- "items": {
- "additionalProperties": {},
- "type": "object"
- },
- "type": "array"
+ "children": {
+ "items": {
+ "$ref": "#/definitions/klook.FilterOption"
},
- "type": "object"
+ "type": "array"
},
- "fetched_at": {
- "type": "string"
+ "enabled": {
+ "description": "Enabled preserves Klook's per-context enable flag where it publishes one\n(attraction categories); nil means the surface publishes no flag.",
+ "example": true,
+ "type": "boolean"
},
- "row_id": {
+ "icon": {
"type": "string"
},
- "source_url": {
+ "key": {
+ "example": "49423",
"type": "string"
},
- "total": {
- "type": "integer"
+ "show_type": {
+ "description": "ShowType is Klook's display hint (\"normal\", \"others\", ...).",
+ "example": "normal",
+ "type": "string"
},
- "type": {
+ "title": {
+ "example": "Go-karting",
"type": "string"
}
},
"type": "object"
},
- "mlb.statcastSwingTimingResponseDoc": {
+ "klook.FilterPrice": {
"properties": {
- "board": {
- "example": "swing-timing-miss-distance",
+ "currency": {
+ "example": "HK$",
"type": "string"
},
- "game_types": {
- "example": [
- "R"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "rows": {
- "items": {
- "additionalProperties": {},
- "type": "object"
- },
- "type": "array"
- },
- "seasons": {
- "example": [
- "2026"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "splits": {
- "example": [
- "api_pitch_type_group09"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "total": {
- "example": 926,
- "type": "integer"
+ "from": {
+ "example": "0",
+ "type": "string"
},
- "type": {
- "example": "batter",
+ "to": {
+ "example": "3000",
"type": "string"
}
},
"type": "object"
},
- "mlb.statcastTopPerformersResponseDoc": {
+ "klook.FilterRegion": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "countries": {
+ "items": {
+ "$ref": "#/definitions/klook.FilterCountry"
+ },
+ "type": "array"
},
- "data": {
- "$ref": "#/definitions/mlb.StatcastTopPerformersResponse"
+ "region_id": {
+ "example": 1,
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "region_name": {
+ "example": "East Asia",
"type": "string"
}
},
"type": "object"
},
- "mlb.statcastYearToYearResponseDoc": {
+ "klook.HighlightGroup": {
"properties": {
- "board": {
- "example": "year-to-year",
- "type": "string"
- },
- "fetched_at": {
- "type": "string"
- },
- "group": {
- "example": "Batter",
- "type": "string"
- },
- "limit": {
- "example": 100,
- "type": "integer"
- },
- "next_year": {
- "example": 2026,
- "type": "integer"
- },
- "offset": {
- "example": 0,
- "type": "integer"
- },
- "rows": {
+ "activities": {
"items": {
- "additionalProperties": {},
- "type": "object"
+ "$ref": "#/definitions/klook.ActivitySummary"
},
"type": "array"
},
- "sort": {
- "example": "hard_hit_percent_diff_2025",
+ "background_color": {
"type": "string"
},
- "sort_dir": {
- "example": "desc",
+ "color": {
"type": "string"
},
- "source_url": {
+ "icon": {
"type": "string"
},
- "total": {
- "example": 177,
- "type": "integer"
+ "id": {
+ "example": "best_sell",
+ "type": "string"
},
- "type": {
- "example": "hard_hit_percent",
+ "name": {
+ "example": "Bestsellers",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "klook.HotGroup": {
+ "properties": {
+ "name": {
+ "example": "Popular Destinations",
"type": "string"
},
- "year": {
- "example": "2025",
+ "type": {
+ "example": "city",
"type": "string"
+ },
+ "values": {
+ "items": {
+ "$ref": "#/definitions/klook.HotValue"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "mlb.statsResponseDoc": {
+ "klook.HotKeyword": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "name": {
+ "example": "jr pass",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/mlb.StatsResponse"
+ "query": {
+ "example": "jr pass",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "mlb.teamsResponseDoc": {
+ "klook.HotKeywordTab": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/mlb.TeamsResponse"
+ "items": {
+ "items": {
+ "$ref": "#/definitions/klook.HotKeywordTabItem"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "name": {
+ "example": "search_topics_popular",
"type": "string"
}
},
"type": "object"
},
- "mlb.transactionsResponseDoc": {
+ "klook.HotKeywordTabItem": {
"properties": {
- "code": {
+ "icon_url": {
+ "type": "string"
+ },
+ "id": {
+ "example": 128576,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/mlb.TransactionsResponse"
+ "price_text": {
+ "description": "PriceText is Klook's display price string for the item when present.",
+ "example": "HK$ 2",
+ "type": "string"
},
- "msg": {
+ "sub_title": {
+ "example": "Mainland China",
+ "type": "string"
+ },
+ "title": {
+ "example": "5G eSIM China | China Unicom",
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "modaoperandi.CategoriesResponse": {
+ "klook.HotKeywordsResponse": {
"properties": {
- "availability": {
- "additionalProperties": {
- "type": "integer"
- },
- "type": "object"
+ "city_id": {
+ "example": 28,
+ "type": "integer"
},
- "categories": {
- "items": {
- "$ref": "#/definitions/modaoperandi.Category"
- },
- "type": "array"
+ "country_id": {
+ "example": 12,
+ "type": "integer"
},
- "colors": {
+ "hot_words": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/klook.HotKeyword"
},
"type": "array"
},
- "designers": {
+ "tabs": {
"items": {
- "$ref": "#/definitions/modaoperandi.Designer"
+ "$ref": "#/definitions/klook.HotKeywordTab"
},
"type": "array"
},
- "gender": {
+ "title": {
+ "example": "Other travelers searched for",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "klook.HotResponse": {
+ "properties": {
+ "categories": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/klook.HotGroup"
+ }
+ ],
+ "description": "Categories is the \"Travel Must-Haves\" navigation group when Klook\nreturns it."
},
- "sizes": {
+ "groups": {
+ "description": "Groups are Klook's hot items (for example Popular Destinations and\nPopular Activities).",
"items": {
- "type": "string"
+ "$ref": "#/definitions/klook.HotGroup"
},
"type": "array"
},
- "sorts": {
+ "verticals": {
+ "description": "Verticals is the short vertical menu Klook returns alongside the hot\nlists.",
"items": {
- "type": "string"
+ "$ref": "#/definitions/klook.Vertical"
},
"type": "array"
}
},
"type": "object"
},
- "modaoperandi.Category": {
+ "klook.HotValue": {
"properties": {
- "name": {
+ "country_name": {
+ "description": "CountryName is present on city entries.",
+ "example": "Mainland China",
"type": "string"
},
- "slug": {
+ "id": {
+ "example": 57,
+ "type": "integer"
+ },
+ "name": {
+ "example": "Beijing",
"type": "string"
},
- "total_items": {
- "type": "integer"
+ "score": {
+ "description": "Score is the upstream review score when the entry carries one.",
+ "example": 4.7,
+ "type": "number"
+ },
+ "type": {
+ "example": "city",
+ "type": "string"
},
"url": {
+ "description": "URL is the absolute landing link for this entry.",
"type": "string"
}
},
"type": "object"
},
- "modaoperandi.Designer": {
+ "klook.InterestEntry": {
"properties": {
- "name": {
- "type": "string"
+ "city_id": {
+ "example": 28,
+ "type": "integer"
+ },
+ "country_id": {
+ "example": 12,
+ "type": "integer"
+ },
+ "interest_id": {
+ "example": 18068,
+ "type": "integer"
},
"slug": {
+ "example": "cherry-blossom",
"type": "string"
},
- "total_items": {
- "type": "integer"
+ "url": {
+ "example": "https://www.klook.com/en-US/experiences/list/cherry-blossom/t18068/",
+ "type": "string"
}
},
"type": "object"
},
- "modaoperandi.DesignersResponse": {
+ "klook.InterestsResponse": {
"properties": {
"count": {
+ "description": "Count is the number of published interest landing URLs.",
+ "example": 68,
"type": "integer"
},
- "designers": {
+ "interest_count": {
+ "description": "InterestCount is the number of distinct interest ids.",
+ "example": 44,
+ "type": "integer"
+ },
+ "interests": {
"items": {
- "$ref": "#/definitions/modaoperandi.Designer"
+ "$ref": "#/definitions/klook.InterestEntry"
},
"type": "array"
- },
- "gender": {
- "type": "string"
}
},
"type": "object"
},
- "modaoperandi.Detail": {
+ "klook.NearbyCity": {
"properties": {
- "availability": {
+ "city_id": {
+ "example": 26383,
+ "type": "integer"
+ },
+ "distance_km": {
+ "description": "DistanceKM is Klook's distance in kilometres for nearby cities; empty for\nhot cities.",
+ "example": "16",
"type": "string"
},
- "color": {
+ "image_url": {
"type": "string"
},
+ "name": {
+ "example": "Kawasaki",
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "klook.Price": {
+ "properties": {
"currency": {
+ "description": "Currency is the upstream ISO currency code when the endpoint returns one\ninstead of a display symbol, e.g. \"HKD\".",
+ "example": "HKD",
"type": "string"
},
- "description": {
+ "currency_symbol": {
+ "description": "CurrencySymbol is the upstream display symbol, e.g. \"HK$\".",
+ "example": "HK$",
"type": "string"
},
- "designer": {
+ "discount_text": {
+ "description": "DiscountText is the upstream savings label when present.",
"type": "string"
},
- "details": {
+ "from_price": {
+ "description": "FromPrice is the upstream \"from\" price string when present.",
"type": "string"
},
- "id": {
+ "original_price": {
+ "description": "OriginalPrice is the struck-through market price string when present.",
"type": "string"
},
- "images": {
+ "sale_price": {
+ "description": "SalePrice is the current selling price string, e.g. \"HK$ 552\".",
+ "example": "HK$ 552",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "klook.RecommendationCategory": {
+ "properties": {
+ "activities": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/klook.ActivitySummary"
},
"type": "array"
},
- "in_stock": {
- "type": "boolean"
- },
- "name": {
+ "background_color": {
+ "description": "BackgroundColor is Klook's display tint for the section header.",
+ "example": "#E3F9FA",
"type": "string"
},
- "price": {
- "type": "number"
+ "icon": {
+ "type": "string"
},
- "sizes": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "see_more_url": {
+ "description": "SeeMoreURL is the absolute link to the full category listing.",
+ "type": "string"
},
- "url": {
+ "title": {
+ "example": "Food tours",
"type": "string"
}
},
"type": "object"
},
- "modaoperandi.Facets": {
+ "klook.RecommendationsResponse": {
"properties": {
- "availability": {
- "additionalProperties": {
- "type": "integer"
- },
- "type": "object"
+ "button_text": {
+ "example": "Explore all experiences",
+ "type": "string"
},
- "categories": {
- "items": {
- "$ref": "#/definitions/modaoperandi.Category"
- },
- "type": "array"
+ "button_url": {
+ "type": "string"
},
- "colors": {
+ "categories": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/klook.RecommendationCategory"
},
"type": "array"
},
- "designers": {
- "items": {
- "$ref": "#/definitions/modaoperandi.Designer"
- },
- "type": "array"
+ "city_id": {
+ "example": 28,
+ "type": "integer"
},
- "sizes": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "count": {
+ "example": 3,
+ "type": "integer"
},
- "sorts": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "title": {
+ "example": "Unmissable experiences",
+ "type": "string"
}
},
"type": "object"
},
- "modaoperandi.Product": {
+ "klook.Review": {
"properties": {
- "availability": {
+ "activity_title": {
+ "example": "TOKYO SKYTREE® Ticket",
"type": "string"
},
- "color": {
+ "activity_url": {
"type": "string"
},
- "currency": {
+ "content": {
"type": "string"
},
- "designer": {
- "type": "string"
+ "review_id": {
+ "example": 6326765,
+ "type": "integer"
},
- "id": {
+ "score": {
+ "example": 5,
+ "type": "integer"
+ },
+ "time": {
+ "example": "2019-07-07T11:10:30Z",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "klook.ReviewsResponse": {
+ "properties": {
+ "city_id": {
+ "example": 28,
+ "type": "integer"
},
- "image_url": {
+ "count": {
+ "example": 5,
+ "type": "integer"
+ },
+ "reviews": {
+ "items": {
+ "$ref": "#/definitions/klook.Review"
+ },
+ "type": "array"
+ },
+ "vertical": {
+ "example": "experiences",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "klook.SearchFiltersResponse": {
+ "properties": {
+ "available_dates": {
+ "description": "AvailableDates are the participation dates Klook currently offers for\nthis context (ISO-8601). Empty when the vertical does not publish them.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "in_stock": {
- "type": "boolean"
+ "category_id": {
+ "example": 3,
+ "type": "integer"
},
- "name": {
+ "city_id": {
+ "example": 28,
+ "type": "integer"
+ },
+ "destination": {
+ "example": "Tokyo",
"type": "string"
},
+ "destinations": {
+ "description": "Destinations is Klook's destination tree for this context. Empty for the\nexperiences vertical, which publishes it on the search response instead;\nuse /klook/destinations there.",
+ "items": {
+ "$ref": "#/definitions/klook.FilterRegion"
+ },
+ "type": "array"
+ },
+ "filters": {
+ "description": "Filters are the published filter groups with their complete value spaces\n(categories, interests, guided language, duration, services, popular\ndestinations). Feed an option key back into the matching search parameter.",
+ "items": {
+ "$ref": "#/definitions/klook.FilterGroup"
+ },
+ "type": "array"
+ },
"price": {
- "type": "number"
+ "$ref": "#/definitions/klook.FilterPrice"
},
- "url": {
+ "sort_options": {
+ "example": [
+ "recommended",
+ "bestselling",
+ "top_rated",
+ "price_low_to_high",
+ "newest"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "vertical": {
+ "example": "attractions",
"type": "string"
}
},
"type": "object"
},
- "modaoperandi.SearchResponse": {
+ "klook.SearchResponse": {
"properties": {
- "category": {
- "type": "string"
+ "activities": {
+ "items": {
+ "$ref": "#/definitions/klook.ActivitySummary"
+ },
+ "type": "array"
},
- "count": {
+ "category_id": {
+ "example": 9,
"type": "integer"
},
- "facets": {
- "$ref": "#/definitions/modaoperandi.Facets"
- },
- "gender": {
- "type": "string"
+ "city_id": {
+ "example": 28,
+ "type": "integer"
},
- "limit": {
+ "count": {
+ "example": 20,
"type": "integer"
},
+ "destination": {
+ "example": "Tokyo",
+ "type": "string"
+ },
"page": {
+ "example": 1,
"type": "integer"
},
- "products": {
- "items": {
- "$ref": "#/definitions/modaoperandi.Product"
- },
- "type": "array"
+ "per_page": {
+ "example": 20,
+ "type": "integer"
},
"query": {
+ "example": "universal studios",
"type": "string"
},
- "source_url": {
+ "sort": {
+ "example": "recommended",
"type": "string"
},
"total": {
+ "example": 1710,
"type": "integer"
}
},
"type": "object"
},
- "modaoperandi.categoriesDoc": {
+ "klook.SuggestActivity": {
"properties": {
- "code": {
- "example": 200,
+ "activity_id": {
+ "example": 93901,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/modaoperandi.CategoriesResponse"
+ "category_id": {
+ "example": 2,
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "category_name": {
"type": "string"
- }
- },
- "type": "object"
- },
- "modaoperandi.designersDoc": {
- "properties": {
- "code": {
- "example": 200,
+ },
+ "city_id": {
+ "description": "CityID/CityName/ImageURL are populated by the attractions autocomplete,\nwhich returns them; the experiences autocomplete omits them.",
+ "example": 28,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/modaoperandi.DesignersResponse"
+ "city_name": {
+ "example": "Tokyo",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "image_url": {
+ "type": "string"
+ },
+ "title": {
+ "example": "Mt. Fuji day trip from Tokyo",
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "modaoperandi.productDoc": {
+ "klook.SuggestCity": {
"properties": {
- "code": {
- "example": 200,
+ "city_id": {
+ "example": 28,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/modaoperandi.Detail"
+ "country_id": {
+ "example": 12,
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "country_name": {
+ "example": "Japan",
+ "type": "string"
+ },
+ "name": {
+ "example": "Tokyo",
+ "type": "string"
+ },
+ "url": {
+ "example": "https://www.klook.com/en-US/destination/c28-tokyo/",
"type": "string"
}
},
"type": "object"
},
- "modaoperandi.searchDoc": {
+ "klook.SuggestCountry": {
"properties": {
- "code": {
- "example": 200,
+ "country_id": {
+ "example": 12,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/modaoperandi.SearchResponse"
+ "name": {
+ "example": "Japan",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "url": {
+ "example": "https://www.klook.com/en-US/experiences/coureg/12-japan/",
"type": "string"
}
},
"type": "object"
},
- "moncler.CategoriesResponse": {
+ "klook.SuggestResponse": {
"properties": {
- "categories": {
+ "activities": {
"items": {
- "$ref": "#/definitions/moncler.Category"
+ "$ref": "#/definitions/klook.SuggestActivity"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "moncler.Category": {
- "properties": {
- "category_id": {
- "type": "string"
},
- "children": {
+ "cities": {
"items": {
- "$ref": "#/definitions/moncler.Category"
+ "$ref": "#/definitions/klook.SuggestCity"
},
"type": "array"
},
- "description": {
- "type": "string"
- },
- "name": {
- "type": "string"
+ "countries": {
+ "items": {
+ "$ref": "#/definitions/klook.SuggestCountry"
+ },
+ "type": "array"
},
- "parent_id": {
+ "query": {
+ "example": "tokyo",
"type": "string"
}
},
"type": "object"
},
- "moncler.CategoryResponse": {
+ "klook.UnifiedSearchResponse": {
"properties": {
- "category_id": {
- "type": "string"
- },
- "facets": {
- "items": {
- "$ref": "#/definitions/moncler.SearchFacet"
- },
- "type": "array"
- },
- "limit": {
- "type": "integer"
- },
- "offset": {
+ "activity_count": {
+ "description": "ActivityCount is Klook's reported total matching activities.",
+ "example": 9930,
"type": "integer"
},
- "results": {
- "items": {
- "$ref": "#/definitions/moncler.SearchHit"
- },
- "type": "array"
+ "query": {
+ "example": "tokyo",
+ "type": "string"
},
- "sort_options": {
+ "suggestions": {
"items": {
- "$ref": "#/definitions/moncler.SortOption"
+ "$ref": "#/definitions/klook.UnifiedSuggestion"
},
"type": "array"
},
- "total": {
+ "total_count": {
+ "description": "TotalCount is the number of returned suggestions.",
+ "example": 14,
"type": "integer"
}
},
"type": "object"
},
- "moncler.Product": {
+ "klook.UnifiedSuggestion": {
"properties": {
- "brand": {
- "type": "string"
- },
- "care_instructions": {
- "type": "string"
- },
- "collection": {
- "type": "string"
- },
- "color": {
- "type": "string"
- },
- "composition": {
- "type": "string"
- },
- "currency": {
- "type": "string"
- },
- "gender": {
+ "icon_url": {
"type": "string"
},
- "images": {
- "items": {
- "$ref": "#/definitions/moncler.ProductImageGroup"
- },
- "type": "array"
+ "id": {
+ "description": "ID is the upstream id (a city id for destinations, an activity id for\nactivities, an opaque id for keyword suggestions).",
+ "example": 28,
+ "type": "integer"
},
- "in_stock": {
+ "is_vertical": {
+ "example": true,
"type": "boolean"
},
- "long_description": {
- "type": "string"
- },
- "made_in": {
- "type": "string"
- },
- "master_id": {
- "type": "string"
- },
- "name": {
- "type": "string"
- },
- "price": {
+ "score": {
"type": "number"
},
- "product_id": {
+ "sub_title": {
+ "example": "Japan",
"type": "string"
},
- "product_url": {
+ "title": {
+ "example": "Tokyo",
"type": "string"
},
- "related_products": {
- "description": "RelatedProducts are \"styled with\" items Moncler's own product page\nsuggests alongside this product.",
- "items": {
- "$ref": "#/definitions/moncler.RelatedProduct"
- },
- "type": "array"
- },
- "short_description": {
+ "type": {
+ "description": "Type is the normalized suggestion kind: destination, keyword,\nvertical_service, activity, or other.",
+ "example": "destination",
"type": "string"
},
- "size_guide": {
- "allOf": [
- {
- "$ref": "#/definitions/moncler.SizeGuide"
- }
- ],
- "description": "SizeGuide is this product's size chart (per-size body measurements\nand/or a cross-region size conversion table), when the upstream\nprovides one."
- },
- "stock_level": {
- "type": "number"
- },
- "variants": {
- "items": {
- "$ref": "#/definitions/moncler.ProductVariant"
- },
- "type": "array"
- },
- "variation_attributes": {
- "items": {
- "$ref": "#/definitions/moncler.ProductVariationAttribute"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "moncler.ProductImage": {
- "properties": {
- "alt": {
- "type": "string"
+ "upstream_type": {
+ "description": "UpstreamType is Klook's raw suggestion type code (1001 destination,\n1004 keyword, 1008 vertical service, 100 activity).",
+ "example": 1001,
+ "type": "integer"
},
"url": {
+ "description": "URL is the suggestion landing link, normalized to an absolute\nwww.klook.com URL. Vertical-service entries may carry Klook's own\ntemplate placeholders such as {dest_city_id}; they are served as-is.",
"type": "string"
}
},
"type": "object"
},
- "moncler.ProductImageGroup": {
+ "klook.Vertical": {
"properties": {
- "color": {
- "type": "string"
- },
- "images": {
+ "children": {
+ "description": "Children are nested entries (for example Attractions & Shows, Tours &\nSightseeing under Things to do).",
"items": {
- "$ref": "#/definitions/moncler.ProductImage"
+ "$ref": "#/definitions/klook.Vertical"
},
"type": "array"
},
- "view_type": {
+ "icon_url": {
+ "description": "IconURL is Klook's icon key or absolute URL when it supplies one.",
+ "example": "nav-things-to-do",
"type": "string"
- }
- },
- "type": "object"
- },
- "moncler.ProductVariant": {
- "properties": {
- "orderable": {
- "type": "boolean"
},
- "price": {
- "type": "number"
+ "name": {
+ "description": "Name is the display label, e.g. \"Things to do\".",
+ "example": "Things to do",
+ "type": "string"
},
- "product_id": {
+ "type": {
+ "description": "Type is Klook's own vertical/template key, e.g. \"things_to_do\".",
+ "example": "things_to_do",
"type": "string"
},
- "variation_values": {
- "additionalProperties": {
- "type": "string"
- },
- "type": "object"
+ "url": {
+ "description": "URL is the absolute listing/search link for this vertical.",
+ "example": "https://www.klook.com/en-US/search/",
+ "type": "string"
}
},
"type": "object"
},
- "moncler.ProductVariationAttribute": {
+ "klook.VerticalsResponse": {
"properties": {
- "id": {
- "type": "string"
- },
- "label": {
- "type": "string"
+ "count": {
+ "example": 5,
+ "type": "integer"
},
- "values": {
+ "verticals": {
"items": {
- "$ref": "#/definitions/moncler.ProductVariationValue"
+ "$ref": "#/definitions/klook.Vertical"
},
"type": "array"
}
},
"type": "object"
},
- "moncler.ProductVariationValue": {
+ "kohls.CategoryFacet": {
"properties": {
"label": {
+ "example": "Department",
"type": "string"
},
- "orderable": {
- "type": "boolean"
- },
- "value": {
+ "name": {
+ "example": "Department",
"type": "string"
+ },
+ "options": {
+ "items": {
+ "$ref": "#/definitions/kohls.CategoryFacetOption"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "moncler.RelatedProduct": {
+ "kohls.CategoryFacetOption": {
"properties": {
- "currency": {
- "type": "string"
+ "active": {
+ "type": "boolean"
},
- "image_url": {
+ "category": {
+ "example": "Room:Dorm+Department:Bedding",
"type": "string"
},
"name": {
+ "example": "Bedding",
"type": "string"
},
- "price": {
- "type": "number"
- },
- "product_id": {
- "type": "string"
+ "product_count": {
+ "example": 479,
+ "type": "integer"
}
},
"type": "object"
},
- "moncler.SearchFacet": {
+ "kohls.CategoryPriceRange": {
"properties": {
- "id": {
- "type": "string"
- },
- "label": {
- "type": "string"
+ "max_price": {
+ "example": 9.99,
+ "type": "number"
},
- "values": {
- "items": {
- "$ref": "#/definitions/moncler.SearchFacetValue"
- },
- "type": "array"
+ "min_price": {
+ "example": 2.99,
+ "type": "number"
}
},
"type": "object"
},
- "moncler.SearchFacetValue": {
+ "kohls.CategoryProduct": {
"properties": {
- "count": {
- "type": "integer"
+ "available_for_pickup": {
+ "example": false,
+ "type": "boolean"
},
- "label": {
- "type": "string"
+ "available_for_ship": {
+ "example": true,
+ "type": "boolean"
},
- "value": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "moncler.SearchHit": {
- "properties": {
- "currency": {
- "type": "string"
+ "colors": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "image_alt": {
+ "currency_code": {
+ "example": "USD",
"type": "string"
},
"image_url": {
"type": "string"
},
- "name": {
- "type": "string"
- },
- "orderable": {
+ "on_sale": {
+ "example": true,
"type": "boolean"
},
- "price": {
+ "rating": {
+ "example": 3.9,
"type": "number"
},
- "product_id": {
+ "regular_price": {
+ "$ref": "#/definitions/kohls.CategoryPriceRange"
+ },
+ "review_count": {
+ "example": 27103,
+ "type": "integer"
+ },
+ "sale_price": {
+ "$ref": "#/definitions/kohls.CategoryPriceRange"
+ },
+ "title": {
+ "example": "The Big One® Solid Bath Towel, Bath Sheet, Hand Towel or Washcloth",
"type": "string"
},
- "stock_level": {
- "type": "number"
+ "url": {
+ "type": "string"
},
- "variant_ids": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "web_id": {
+ "example": "4569328",
+ "type": "string"
}
},
"type": "object"
},
- "moncler.SearchResponse": {
+ "kohls.CategoryResponse": {
"properties": {
+ "category": {
+ "example": "Room:Dorm",
+ "type": "string"
+ },
+ "count": {
+ "example": 120,
+ "type": "integer"
+ },
"facets": {
"items": {
- "$ref": "#/definitions/moncler.SearchFacet"
+ "$ref": "#/definitions/kohls.CategoryFacet"
},
"type": "array"
},
+ "fetched_at": {
+ "type": "string"
+ },
"limit": {
+ "example": 120,
"type": "integer"
},
- "offset": {
+ "product_count": {
+ "example": 1317,
"type": "integer"
},
- "query": {
- "type": "string"
- },
- "results": {
+ "products": {
"items": {
- "$ref": "#/definitions/moncler.SearchHit"
+ "$ref": "#/definitions/kohls.CategoryProduct"
},
"type": "array"
},
- "sort_options": {
- "items": {
- "$ref": "#/definitions/moncler.SortOption"
- },
- "type": "array"
+ "source_url": {
+ "type": "string"
},
- "total": {
+ "title": {
+ "example": "Essential Dorm Items for College-Bound Students | Kohl's",
+ "type": "string"
+ },
+ "total_pages": {
+ "example": 11,
"type": "integer"
}
},
"type": "object"
},
- "moncler.SizeGuide": {
+ "kohls.ProductReviewsResponse": {
"properties": {
- "country_sizes": {
+ "fetched_at": {
+ "type": "string"
+ },
+ "page": {
+ "type": "integer"
+ },
+ "page_size": {
+ "type": "integer"
+ },
+ "reviews": {
"items": {
- "$ref": "#/definitions/moncler.SizeGuideCountrySizes"
+ "$ref": "#/definitions/kohls.Review"
},
"type": "array"
},
- "description": {
+ "source_url": {
"type": "string"
},
- "rows": {
- "items": {
- "$ref": "#/definitions/moncler.SizeGuideRow"
- },
- "type": "array"
+ "total_count": {
+ "type": "integer"
+ },
+ "web_id": {
+ "type": "string"
}
},
"type": "object"
},
- "moncler.SizeGuideCountrySizes": {
+ "kohls.Review": {
"properties": {
- "country": {
+ "author": {
"type": "string"
},
- "sizes": {
+ "id": {
+ "type": "string"
+ },
+ "location": {
+ "type": "string"
+ },
+ "photo_urls": {
"items": {
"type": "string"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "moncler.SizeGuideMeasurement": {
- "properties": {
- "cm": {
- "type": "string"
},
- "inches": {
- "type": "string"
+ "rating": {
+ "type": "integer"
},
- "label": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "moncler.SizeGuideRow": {
- "properties": {
- "measurements": {
+ "recommended": {
+ "type": "boolean"
+ },
+ "secondary_ratings": {
"items": {
- "$ref": "#/definitions/moncler.SizeGuideMeasurement"
+ "$ref": "#/definitions/kohls.ReviewSecondaryRating"
},
"type": "array"
},
- "size": {
+ "submitted_at": {
+ "type": "string"
+ },
+ "text": {
+ "type": "string"
+ },
+ "title": {
"type": "string"
}
},
"type": "object"
},
- "moncler.SortOption": {
+ "kohls.ReviewSecondaryRating": {
"properties": {
- "id": {
- "type": "string"
+ "max_value": {
+ "example": 5,
+ "type": "integer"
},
- "label": {
+ "name": {
+ "example": "Quality",
"type": "string"
+ },
+ "value": {
+ "example": 4,
+ "type": "integer"
}
},
"type": "object"
},
- "moncler.Store": {
+ "kohls.Store": {
"properties": {
"address": {
+ "example": "17150 SOUTHCENTER PKWY",
"type": "string"
},
- "city": {
- "type": "string"
+ "badges": {
+ "example": [
+ "Sephora",
+ "Baby Gifting Shop"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "country_code": {
+ "city": {
+ "example": "TUKWILA",
"type": "string"
},
- "country_name": {
+ "country": {
+ "example": "US",
"type": "string"
},
- "email": {
- "type": "string"
+ "distance_miles": {
+ "example": 11.3,
+ "type": "number"
},
"hours": {
"items": {
- "$ref": "#/definitions/moncler.StoreHours"
+ "$ref": "#/definitions/kohls.StoreHours"
},
"type": "array"
},
- "hours_schedule": {
- "items": {
- "$ref": "#/definitions/moncler.StoreDaySchedule"
- },
- "type": "array"
+ "id": {
+ "example": "1152",
+ "type": "string"
},
"latitude": {
+ "example": 47.450079,
"type": "number"
},
"longitude": {
+ "example": -122.2581113,
"type": "number"
},
"name": {
+ "example": "Kohl's Tukwila",
"type": "string"
},
"phone": {
+ "example": "(206) 394-0078",
"type": "string"
},
"postal_code": {
+ "example": "98188",
"type": "string"
},
- "region": {
- "type": "string"
- },
- "state_code": {
- "type": "string"
+ "services": {
+ "example": [
+ "In-Store Pickup",
+ "Wifi Enabled"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "store_id": {
+ "state": {
+ "example": "WA",
"type": "string"
},
- "store_type": {
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "moncler.StoreDaySchedule": {
+ "kohls.StoreHours": {
"properties": {
- "day": {
+ "close": {
+ "example": "21:00",
"type": "string"
},
- "is_closed": {
- "type": "boolean"
- },
- "slots": {
- "items": {
- "$ref": "#/definitions/moncler.StoreHoursSlot"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "moncler.StoreHours": {
- "properties": {
"day": {
+ "example": "Monday",
"type": "string"
},
- "text": {
+ "open": {
+ "example": "09:00",
"type": "string"
}
},
"type": "object"
},
- "moncler.StoreHoursSlot": {
+ "kohls.StoresResponse": {
"properties": {
- "end": {
- "type": "string"
+ "count": {
+ "type": "integer"
},
- "start": {
+ "fetched_at": {
"type": "string"
- }
- },
- "type": "object"
- },
- "moncler.StoresResponse": {
- "properties": {
- "stores": {
- "items": {
- "$ref": "#/definitions/moncler.Store"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "moncler.SuggestResponse": {
- "properties": {
- "categories": {
- "items": {
- "$ref": "#/definitions/moncler.SuggestedCategory"
- },
- "type": "array"
},
- "phrases": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "search": {
+ "type": "string"
},
- "query": {
+ "source_url": {
"type": "string"
},
- "terms": {
+ "stores": {
"items": {
- "$ref": "#/definitions/moncler.SuggestedTerm"
+ "$ref": "#/definitions/kohls.Store"
},
"type": "array"
}
},
"type": "object"
},
- "moncler.SuggestedCategory": {
+ "kohls.SuggestResponse": {
"properties": {
- "category_id": {
- "type": "string"
- },
- "name": {
- "type": "string"
+ "count": {
+ "type": "integer"
},
- "parent_category_name": {
+ "fetched_at": {
"type": "string"
- }
- },
- "type": "object"
- },
- "moncler.SuggestedTerm": {
- "properties": {
- "corrected": {
- "type": "boolean"
},
- "term": {
+ "query": {
"type": "string"
- }
- },
- "type": "object"
- },
- "moncler.categoriesResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/moncler.CategoriesResponse"
- },
- "msg": {
- "example": "OK",
+ "source_url": {
"type": "string"
- }
- },
- "type": "object"
- },
- "moncler.categoryResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/moncler.CategoryResponse"
},
- "msg": {
- "example": "OK",
- "type": "string"
+ "suggestions": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "moncler.productResponseDoc": {
+ "kohls.categoryResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/moncler.Product"
+ "$ref": "#/definitions/kohls.CategoryResponse"
},
"msg": {
"example": "OK",
@@ -141531,14 +147326,14 @@
},
"type": "object"
},
- "moncler.searchResponseDoc": {
+ "kohls.productReviewsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/moncler.SearchResponse"
+ "$ref": "#/definitions/kohls.ProductReviewsResponse"
},
"msg": {
"example": "OK",
@@ -141547,14 +147342,14 @@
},
"type": "object"
},
- "moncler.storesResponseDoc": {
+ "kohls.storesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/moncler.StoresResponse"
+ "$ref": "#/definitions/kohls.StoresResponse"
},
"msg": {
"example": "OK",
@@ -141563,14 +147358,14 @@
},
"type": "object"
},
- "moncler.suggestResponseDoc": {
+ "kohls.suggestResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/moncler.SuggestResponse"
+ "$ref": "#/definitions/kohls.SuggestResponse"
},
"msg": {
"example": "OK",
@@ -141579,11 +147374,11 @@
},
"type": "object"
},
- "moneycontrol.AuthorResponse": {
+ "kotaku.AuthorResponse": {
"properties": {
"articles": {
"items": {
- "$ref": "#/definitions/moneycontrol.HeadlineItem"
+ "$ref": "#/definitions/newsplatform.HeadlineItem"
},
"type": "array"
},
@@ -141593,7 +147388,7 @@
},
"type": "array"
},
- "job_title": {
+ "image_url": {
"type": "string"
},
"name": {
@@ -141601,7 +147396,7 @@
},
"social_links": {
"items": {
- "$ref": "#/definitions/moneycontrol.AuthorSocialLink"
+ "$ref": "#/definitions/kotaku.AuthorSocialLink"
},
"type": "array"
},
@@ -141611,7 +147406,7 @@
},
"type": "object"
},
- "moneycontrol.AuthorSocialLink": {
+ "kotaku.AuthorSocialLink": {
"properties": {
"type": {
"type": "string"
@@ -141622,197 +147417,294 @@
},
"type": "object"
},
- "moneycontrol.HeadlineItem": {
+ "kroger.CategoriesResponse": {
"properties": {
- "author": {
- "type": "string"
- },
- "image_url": {
- "type": "string"
- },
- "published_at": {
- "type": "string"
- },
- "summary": {
- "type": "string"
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/kroger.CategoryTaxon"
+ },
+ "type": "array"
},
- "title": {
- "type": "string"
+ "count": {
+ "type": "integer"
},
- "type": {
- "type": "string"
+ "departments": {
+ "description": "Departments lists the top-level departments that contributed at least\none category below, in Kroger's own menu order.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "url": {
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "motleyfool.AuthorResponse": {
+ "kroger.CategoryResponse": {
"properties": {
- "articles": {
+ "category_id": {
+ "type": "string"
+ },
+ "facets": {
"items": {
- "$ref": "#/definitions/newsplatform.HeadlineItem"
+ "$ref": "#/definitions/kroger.SearchFacetGroup"
},
"type": "array"
},
- "biography": {
+ "has_more": {
+ "description": "HasMore, Source and Facets carry the same meaning as on\nSearchResponse -- see that type and Search's doc comment.",
+ "type": "boolean"
+ },
+ "page": {
+ "type": "integer"
+ },
+ "products": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/kroger.SearchResultProduct"
},
"type": "array"
},
- "image_url": {
+ "slug": {
"type": "string"
},
- "name": {
+ "source": {
"type": "string"
},
- "url": {
- "type": "string"
+ "total_count": {
+ "type": "integer"
}
},
"type": "object"
},
- "nationafrica.AuthorArticle": {
+ "kroger.CategoryTaxon": {
"properties": {
- "premium": {
- "type": "boolean"
+ "breadcrumb": {
+ "description": "Breadcrumb is the full department > aisle > category path, deduplicated\nwhere Kroger's own menu repeats a level's name at the next level down.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "summary": {
+ "category_id": {
"type": "string"
},
- "title": {
+ "department": {
+ "description": "Department is the top-level department this category rolls up under\n(Breadcrumb[0]), included as a convenience field for grouping/filtering\nwithout parsing Breadcrumb.",
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "slug": {
"type": "string"
},
"url": {
+ "description": "URL is the canonical kroger.com category-browse page URL.",
"type": "string"
}
},
"type": "object"
},
- "nationafrica.AuthorResponse": {
+ "kroger.Coupon": {
"properties": {
- "articles": {
+ "brand": {
+ "type": "string"
+ },
+ "categories": {
"items": {
- "$ref": "#/definitions/nationafrica.AuthorArticle"
+ "type": "string"
},
"type": "array"
},
- "bio": {
+ "display_description": {
"type": "string"
},
- "image_url": {
+ "end_date": {
"type": "string"
},
- "name": {
+ "expiration_date": {
"type": "string"
},
- "slug": {
+ "id": {
"type": "string"
},
- "url": {
+ "image_url": {
"type": "string"
- }
- },
- "type": "object"
- },
- "national.AuthorResponse": {
- "properties": {
- "articles": {
+ },
+ "kroger_coupon_number": {
+ "type": "string"
+ },
+ "modalities": {
"items": {
- "$ref": "#/definitions/newsplatform.HeadlineItem"
+ "type": "string"
},
"type": "array"
},
- "image_url": {
+ "redemptions_allowed": {
+ "type": "integer"
+ },
+ "requirement_description": {
"type": "string"
},
- "name": {
+ "requirement_quantity": {
+ "type": "integer"
+ },
+ "savings": {
+ "type": "number"
+ },
+ "savings_tags": {
+ "items": {
+ "$ref": "#/definitions/kroger.CouponSavingsTag"
+ },
+ "type": "array"
+ },
+ "short_description": {
"type": "string"
},
- "slug": {
+ "start_date": {
"type": "string"
},
- "url": {
+ "status": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "total_downloads": {
+ "type": "integer"
+ },
+ "type": {
"type": "string"
+ },
+ "value": {
+ "type": "number"
}
},
"type": "object"
},
- "nationalpost.AuthorArticle": {
+ "kroger.CouponSavingsTag": {
"properties": {
- "category": {
- "type": "string"
- },
- "summary": {
+ "description": {
"type": "string"
},
- "title": {
+ "display_name": {
"type": "string"
},
- "url": {
+ "name": {
"type": "string"
}
},
"type": "object"
},
- "nationalpost.AuthorResponse": {
+ "kroger.CouponsResponse": {
"properties": {
- "article_count": {
+ "brand": {
+ "type": "string"
+ },
+ "count": {
"type": "integer"
},
- "articles": {
+ "coupons": {
"items": {
- "$ref": "#/definitions/nationalpost.AuthorArticle"
+ "$ref": "#/definitions/kroger.Coupon"
},
"type": "array"
},
- "bio": {
+ "location_id": {
+ "type": "string"
+ },
+ "page": {
+ "type": "integer"
+ },
+ "page_size": {
+ "type": "integer"
+ },
+ "upc": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "kroger.NutritionFact": {
+ "properties": {
+ "daily_value": {
"type": "string"
},
"name": {
"type": "string"
},
- "slug": {
+ "unit": {
"type": "string"
},
- "url": {
+ "value": {
"type": "string"
}
},
"type": "object"
},
- "nbc.ArticleResponse": {
+ "kroger.ProductCategory": {
"properties": {
- "authors": {
+ "commodity": {
+ "type": "string"
+ },
+ "department": {
+ "type": "string"
+ },
+ "sub_commodity": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "kroger.ProductDetail": {
+ "properties": {
+ "alcohol": {
+ "type": "boolean"
+ },
+ "brand": {
+ "type": "string"
+ },
+ "categories": {
"items": {
"type": "string"
},
"type": "array"
},
- "description": {
+ "category": {
+ "$ref": "#/definitions/kroger.ProductCategory"
+ },
+ "country_of_origin": {
"type": "string"
},
"image_url": {
"type": "string"
},
- "paragraphs": {
+ "images": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/kroger.ProductImage"
},
"type": "array"
},
- "published_at": {
- "type": "string"
+ "inventory": {
+ "$ref": "#/definitions/kroger.ProductInventory"
},
- "section": {
+ "name": {
"type": "string"
},
- "title": {
+ "nutrition": {
+ "$ref": "#/definitions/kroger.ProductNutrition"
+ },
+ "price": {
+ "$ref": "#/definitions/kroger.ProductPrice"
+ },
+ "rating": {
+ "$ref": "#/definitions/kroger.ProductRating"
+ },
+ "size": {
"type": "string"
},
- "updated_at": {
+ "upc": {
"type": "string"
},
"url": {
@@ -141821,284 +147713,277 @@
},
"type": "object"
},
- "nbc.AuthorArticle": {
+ "kroger.ProductImage": {
"properties": {
- "image_url": {
+ "perspective": {
"type": "string"
},
- "published_at": {
- "description": "PublishedAt is NBC News' own relative time string for this feed (e.g.\n\"4h ago\", \"2d ago\") -- the author feed's markup carries no\nmachine-readable timestamp to convert to an absolute date.",
+ "size": {
"type": "string"
},
- "section": {
- "description": "Section is the article's topic label as NBC News' own byline shows it\n(e.g. \"Immigration\"), distinct from the \"news\"/\"world\"/etc. site\nbrand label shown alongside it.",
+ "url": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "kroger.ProductInventory": {
+ "properties": {
+ "available": {
+ "type": "integer"
},
- "title": {
+ "location_id": {
"type": "string"
},
- "url": {
+ "stock_level": {
"type": "string"
}
},
"type": "object"
},
- "nbc.AuthorResponse": {
+ "kroger.ProductNutrition": {
"properties": {
- "articles": {
+ "allergens": {
+ "type": "string"
+ },
+ "facts": {
"items": {
- "$ref": "#/definitions/nbc.AuthorArticle"
+ "$ref": "#/definitions/kroger.NutritionFact"
},
"type": "array"
},
- "bio": {
- "type": "string"
+ "gluten_free": {
+ "type": "boolean"
},
- "image_url": {
+ "ingredients": {
"type": "string"
},
- "job_title": {
- "type": "string"
+ "kosher": {
+ "type": "boolean"
},
- "name": {
+ "non_gmo": {
+ "type": "boolean"
+ },
+ "organic": {
+ "type": "boolean"
+ },
+ "product_warning": {
"type": "string"
},
- "social_links": {
- "items": {
- "$ref": "#/definitions/nbc.AuthorSocialLink"
- },
- "type": "array"
+ "serving_size": {
+ "type": "string"
},
- "url": {
+ "servings_per_container": {
"type": "string"
}
},
"type": "object"
},
- "nbc.AuthorSocialLink": {
+ "kroger.ProductOffer": {
"properties": {
- "platform": {
+ "availability": {
"type": "string"
},
- "url": {
+ "currency": {
"type": "string"
+ },
+ "original_price": {
+ "type": "number"
+ },
+ "price": {
+ "type": "number"
}
},
"type": "object"
},
- "nbc.HeadlineItem": {
+ "kroger.ProductPrice": {
"properties": {
- "author": {
+ "amount": {
+ "type": "number"
+ },
+ "currency": {
"type": "string"
},
- "image_url": {
+ "display": {
"type": "string"
},
- "published_at": {
+ "location_id": {
"type": "string"
},
- "summary": {
+ "seller_id": {
"type": "string"
},
- "title": {
+ "seller_name": {
"type": "string"
},
- "url": {
+ "unit_price_text": {
"type": "string"
}
},
"type": "object"
},
- "nbc.HeadlinesResponse": {
+ "kroger.ProductRating": {
"properties": {
- "items": {
- "items": {
- "$ref": "#/definitions/nbc.HeadlineItem"
- },
- "type": "array"
+ "average": {
+ "type": "number"
},
- "section": {
- "type": "string"
+ "count": {
+ "type": "integer"
+ },
+ "five_stars": {
+ "type": "integer"
+ },
+ "four_stars": {
+ "type": "integer"
+ },
+ "one_star": {
+ "type": "integer"
+ },
+ "three_stars": {
+ "type": "integer"
+ },
+ "two_stars": {
+ "type": "integer"
}
},
"type": "object"
},
- "nbc.NewsResponse": {
+ "kroger.ProductResponse": {
"properties": {
- "items": {
+ "brand": {
+ "type": "string"
+ },
+ "categories": {
"items": {
- "$ref": "#/definitions/nbc.HeadlineItem"
+ "type": "string"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "nbc.Section": {
- "properties": {
- "name": {
- "type": "string"
},
- "slug": {
+ "description": {
"type": "string"
},
- "url": {
+ "image_url": {
"type": "string"
- }
- },
- "type": "object"
- },
- "nbc.SectionsResponse": {
- "properties": {
- "sections": {
- "items": {
- "$ref": "#/definitions/nbc.Section"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "nbc.articleResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ },
+ "offer": {
+ "$ref": "#/definitions/kroger.ProductOffer"
+ },
+ "rating_count": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/nbc.ArticleResponse"
+ "rating_value": {
+ "type": "number"
},
- "msg": {
- "example": "OK",
+ "title": {
"type": "string"
- }
- },
- "type": "object"
- },
- "nbc.authorResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/nbc.AuthorResponse"
+ "upc": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "nbc.headlinesResponseDoc": {
+ "kroger.ProductsResponse": {
"properties": {
- "code": {
- "example": 200,
+ "count": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/nbc.HeadlinesResponse"
- },
- "msg": {
- "example": "OK",
+ "location_id": {
"type": "string"
+ },
+ "products": {
+ "items": {
+ "$ref": "#/definitions/kroger.ProductDetail"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "nbc.newsResponseDoc": {
+ "kroger.RelatedTag": {
"properties": {
- "code": {
- "example": 200,
+ "position": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/nbc.NewsResponse"
+ "query": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "source": {
+ "type": "string"
+ },
+ "tag": {
"type": "string"
}
},
"type": "object"
},
- "nbc.sectionsResponseDoc": {
+ "kroger.RelatedTagsResponse": {
"properties": {
- "code": {
- "example": 200,
+ "count": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/nbc.SectionsResponse"
+ "location_id": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "query": {
"type": "string"
+ },
+ "related_tags": {
+ "items": {
+ "$ref": "#/definitions/kroger.RelatedTag"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "ndtv.ArticleResponse": {
+ "kroger.Review": {
"properties": {
- "authors": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "featured": {
+ "type": "boolean"
},
- "description": {
- "type": "string"
+ "helpful_vote_count": {
+ "type": "integer"
},
- "image_url": {
+ "id": {
"type": "string"
},
- "paragraphs": {
+ "not_helpful_vote_count": {
+ "type": "integer"
+ },
+ "photos": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/kroger.ReviewPhoto"
},
"type": "array"
},
- "paywalled": {
- "description": "Paywalled is true when the publisher serves only a teaser of this\narticle to anonymous readers, so Paragraphs is a partial body rather than\nthe full text. It is omitted when the full public body was returned.",
+ "rating": {
+ "type": "integer"
+ },
+ "ratings_only": {
"type": "boolean"
},
- "premium": {
+ "recommended": {
"type": "boolean"
},
- "published_at": {
+ "submitted_at": {
"type": "string"
},
- "section": {
+ "text": {
"type": "string"
},
"title": {
"type": "string"
- },
- "updated_at": {
- "type": "string"
- },
- "url": {
- "type": "string"
}
},
"type": "object"
},
- "ndtv.AuthorArticle": {
+ "kroger.ReviewPhoto": {
"properties": {
- "image_url": {
- "type": "string"
- },
- "published_on": {
- "type": "string"
- },
- "section": {
- "type": "string"
- },
- "summary": {
- "type": "string"
- },
- "title": {
+ "size": {
"type": "string"
},
"url": {
@@ -142107,132 +147992,135 @@
},
"type": "object"
},
- "ndtv.AuthorResponse": {
+ "kroger.ReviewsResponse": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/ndtv.AuthorArticle"
- },
- "type": "array"
- },
- "bio": {
- "type": "string"
- },
- "image_url": {
- "type": "string"
- },
- "job_title": {
- "type": "string"
- },
- "name": {
- "type": "string"
+ "average_rating": {
+ "type": "number"
},
"page": {
"type": "integer"
},
- "same_as": {
+ "page_size": {
+ "type": "integer"
+ },
+ "rating": {
+ "$ref": "#/definitions/kroger.ProductRating"
+ },
+ "reviews": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/kroger.Review"
},
"type": "array"
},
- "url": {
+ "total_count": {
+ "type": "integer"
+ },
+ "upc": {
"type": "string"
}
},
"type": "object"
},
- "ndtv.HeadlineItem": {
+ "kroger.SearchFacetGroup": {
"properties": {
- "author": {
- "type": "string"
- },
- "image_url": {
- "type": "string"
- },
- "published_at": {
- "type": "string"
- },
- "summary": {
+ "group": {
"type": "string"
},
- "title": {
- "type": "string"
+ "values": {
+ "items": {
+ "$ref": "#/definitions/kroger.SearchFacetValue"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "kroger.SearchFacetValue": {
+ "properties": {
+ "count": {
+ "type": "integer"
},
- "type": {
+ "name": {
"type": "string"
},
- "url": {
+ "slug": {
"type": "string"
}
},
"type": "object"
},
- "ndtv.LatestVideosResponse": {
+ "kroger.SearchResponse": {
"properties": {
- "items": {
+ "facets": {
"items": {
- "$ref": "#/definitions/ndtv.VideoCard"
+ "$ref": "#/definitions/kroger.SearchFacetGroup"
},
"type": "array"
},
+ "has_more": {
+ "description": "HasMore reports whether Kroger says more results exist past this page.\nOnly meaningful on the JSON-API path; false on the HTML fallback.",
+ "type": "boolean"
+ },
"page": {
"type": "integer"
- }
- },
- "type": "object"
- },
- "ndtv.LiveBlogCard": {
- "properties": {
- "image_url": {
- "type": "string"
},
- "published_at": {
- "type": "string"
+ "products": {
+ "items": {
+ "$ref": "#/definitions/kroger.SearchResultProduct"
+ },
+ "type": "array"
},
- "summary": {
+ "query": {
"type": "string"
},
- "title": {
+ "source": {
+ "description": "Source is which upstream path served this response: \"json_api\" (the\nprimary path) or \"html\" (the fallback). See Search's doc comment.",
"type": "string"
},
- "url": {
- "type": "string"
+ "total_count": {
+ "type": "integer"
}
},
"type": "object"
},
- "ndtv.LiveBlogResponse": {
+ "kroger.SearchResultProduct": {
"properties": {
- "authors": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "brand": {
+ "description": "Brand and StockLevel are populated by the JSON-API path only (the\nHTML result cards carry neither); both are omitted when the HTML\nfallback served the response. See Search's doc comment.",
+ "type": "string"
},
- "description": {
+ "currency": {
"type": "string"
},
"image_url": {
"type": "string"
},
- "published_at": {
+ "low_stock": {
+ "type": "boolean"
+ },
+ "original_price": {
+ "type": "number"
+ },
+ "price": {
+ "type": "number"
+ },
+ "size": {
"type": "string"
},
- "section": {
+ "snap_ebt_eligible": {
+ "type": "boolean"
+ },
+ "stock_level": {
"type": "string"
},
"title": {
"type": "string"
},
- "updated_at": {
+ "unit_price": {
"type": "string"
},
- "updates": {
- "items": {
- "$ref": "#/definitions/ndtv.LiveBlogUpdate"
- },
- "type": "array"
+ "upc": {
+ "type": "string"
},
"url": {
"type": "string"
@@ -142240,240 +148128,330 @@
},
"type": "object"
},
- "ndtv.LiveBlogUpdate": {
+ "kroger.StoreAddress": {
"properties": {
- "authors": {
+ "address_lines": {
"items": {
"type": "string"
},
"type": "array"
},
- "body": {
+ "city": {
"type": "string"
},
- "image_url": {
+ "country": {
"type": "string"
},
- "published_at": {
+ "postal_code": {
"type": "string"
},
- "title": {
+ "state": {
"type": "string"
- },
- "updated_at": {
+ }
+ },
+ "type": "object"
+ },
+ "kroger.StoreHours": {
+ "properties": {
+ "days": {
"type": "string"
},
- "url": {
+ "hours": {
"type": "string"
+ },
+ "is_today": {
+ "type": "boolean"
}
},
"type": "object"
},
- "ndtv.LiveBlogsResponse": {
+ "kroger.StoreLocation": {
"properties": {
- "items": {
- "items": {
- "$ref": "#/definitions/ndtv.LiveBlogCard"
- },
- "type": "array"
+ "latitude": {
+ "type": "number"
},
- "page": {
- "type": "integer"
+ "longitude": {
+ "type": "number"
}
},
"type": "object"
},
- "ndtv.SearchResponse": {
+ "kroger.StoreResponse": {
"properties": {
- "has_more": {
+ "address": {
+ "$ref": "#/definitions/kroger.StoreAddress"
+ },
+ "brand": {
+ "type": "string"
+ },
+ "break_hours": {
+ "items": {
+ "$ref": "#/definitions/kroger.StoreHours"
+ },
+ "type": "array"
+ },
+ "has_drive_thru": {
"type": "boolean"
},
- "items": {
+ "hours": {
"items": {
- "$ref": "#/definitions/ndtv.HeadlineItem"
+ "$ref": "#/definitions/kroger.StoreHours"
},
"type": "array"
},
- "page": {
- "type": "integer"
+ "location": {
+ "$ref": "#/definitions/kroger.StoreLocation"
},
- "query": {
+ "name": {
"type": "string"
},
- "total_results": {
- "type": "integer"
+ "open_text": {
+ "type": "string"
+ },
+ "phone": {
+ "type": "string"
+ },
+ "store_id": {
+ "type": "string"
}
},
"type": "object"
},
- "ndtv.VideoCard": {
+ "kroger.SuggestResponse": {
"properties": {
- "duration": {
+ "location_id": {
"type": "string"
},
- "image_url": {
+ "query": {
"type": "string"
},
- "published_at": {
+ "spelling_correction": {
+ "description": "SpellingCorrection is Kroger's own suggested respelling of Query, set\nonly when Query returned zero suggestions and Kroger judged it a\nlikely typo (confirmed live: \"Marble cake\" -> \"maple cake\" with an\nempty Suggestions list).",
"type": "string"
},
- "title": {
+ "suggestions": {
+ "items": {
+ "$ref": "#/definitions/kroger.Suggestion"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "kroger.Suggestion": {
+ "properties": {
+ "type": {
"type": "string"
},
- "url": {
+ "value": {
"type": "string"
}
},
"type": "object"
},
- "ndtv.VideoCategoriesResponse": {
+ "kroger.categoriesResponseDoc": {
"properties": {
- "categories": {
- "items": {
- "$ref": "#/definitions/ndtv.VideoCategory"
- },
- "type": "array"
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/kroger.CategoriesResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "ndtv.VideoCategory": {
+ "kroger.categoryResponseDoc": {
"properties": {
- "name": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "slug": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/kroger.CategoryResponse"
},
- "url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "ndtv.VideoResponse": {
+ "kroger.couponsResponseDoc": {
"properties": {
- "description": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "duration": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/kroger.CouponsResponse"
},
- "image_url": {
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "kroger.productResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "published_at": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/kroger.ProductResponse"
},
- "title": {
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "kroger.productsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "url": {
+ "data": {
+ "$ref": "#/definitions/kroger.ProductsResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "ndtv.VideosResponse": {
+ "kroger.relatedTagsResponseDoc": {
"properties": {
- "category": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "items": {
- "items": {
- "$ref": "#/definitions/ndtv.VideoCard"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/kroger.RelatedTagsResponse"
},
- "page": {
- "type": "integer"
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "news18.AuthorResponse": {
+ "kroger.reviewsResponseDoc": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/newsplatform.HeadlineItem"
- },
- "type": "array"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "biography": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/kroger.ReviewsResponse"
},
- "image_url": {
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "kroger.searchResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "name": {
+ "data": {
+ "$ref": "#/definitions/kroger.SearchResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "kroger.storeResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "social_links": {
- "items": {
- "$ref": "#/definitions/news18.AuthorSocialLink"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/kroger.StoreResponse"
},
- "url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "news18.AuthorSocialLink": {
+ "kroger.suggestResponseDoc": {
"properties": {
- "type": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "url": {
+ "data": {
+ "$ref": "#/definitions/kroger.SuggestResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "newscomau.AuthorResponse": {
+ "latimes.ArticleResponse": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/newscomau.HeadlineItem"
- },
- "type": "array"
- },
- "biography": {
+ "authors": {
"items": {
"type": "string"
},
"type": "array"
},
- "image_url": {
+ "description": {
"type": "string"
},
- "job_title": {
+ "headline": {
"type": "string"
},
- "name": {
+ "image_url": {
"type": "string"
},
- "social_urls": {
+ "is_accessible_for_free": {
+ "type": "boolean"
+ },
+ "paragraphs": {
"items": {
"type": "string"
},
"type": "array"
},
+ "published_at": {
+ "type": "string"
+ },
+ "section": {
+ "type": "string"
+ },
+ "updated_at": {
+ "type": "string"
+ },
"url": {
"type": "string"
}
},
"type": "object"
},
- "newscomau.HeadlineItem": {
+ "latimes.AuthorArticle": {
"properties": {
- "author": {
- "type": "string"
- },
"image_url": {
"type": "string"
},
@@ -142486,75 +148464,50 @@
"title": {
"type": "string"
},
- "type": {
- "type": "string"
- },
"url": {
"type": "string"
}
},
"type": "object"
},
- "newsmax.AuthorResponse": {
+ "latimes.AuthorResponse": {
"properties": {
"articles": {
"items": {
- "$ref": "#/definitions/newsplatform.HeadlineItem"
- },
- "type": "array"
- },
- "biography": {
- "items": {
- "type": "string"
+ "$ref": "#/definitions/latimes.AuthorArticle"
},
"type": "array"
},
- "image_url": {
+ "bio": {
"type": "string"
},
- "name": {
+ "email": {
"type": "string"
},
- "url": {
+ "image_url": {
"type": "string"
- }
- },
- "type": "object"
- },
- "newsplatform.ArticleResponse": {
- "properties": {
- "authors": {
- "items": {
- "type": "string"
- },
- "type": "array"
},
- "description": {
+ "job_title": {
"type": "string"
},
- "image_url": {
+ "name": {
"type": "string"
},
- "paragraphs": {
+ "social_accounts": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/latimes.AuthorSocialAccount"
},
"type": "array"
},
- "paywalled": {
- "description": "Paywalled is true when the publisher serves only a teaser of this\narticle to anonymous readers, so Paragraphs is a partial body rather than\nthe full text. It is omitted when the full public body was returned.",
- "type": "boolean"
- },
- "published_at": {
- "type": "string"
- },
- "section": {
- "type": "string"
- },
- "title": {
+ "url": {
"type": "string"
- },
- "updated_at": {
+ }
+ },
+ "type": "object"
+ },
+ "latimes.AuthorSocialAccount": {
+ "properties": {
+ "platform": {
"type": "string"
},
"url": {
@@ -142563,11 +148516,14 @@
},
"type": "object"
},
- "newsplatform.HeadlineItem": {
+ "latimes.HeadlineItem": {
"properties": {
"author": {
"type": "string"
},
+ "image_caption": {
+ "type": "string"
+ },
"image_url": {
"type": "string"
},
@@ -142580,20 +148536,17 @@
"title": {
"type": "string"
},
- "type": {
- "type": "string"
- },
"url": {
"type": "string"
}
},
"type": "object"
},
- "newsplatform.HeadlinesResponse": {
+ "latimes.HeadlinesResponse": {
"properties": {
"items": {
"items": {
- "$ref": "#/definitions/newsplatform.HeadlineItem"
+ "$ref": "#/definitions/latimes.HeadlineItem"
},
"type": "array"
},
@@ -142603,471 +148556,347 @@
},
"type": "object"
},
- "newsplatform.NewsResponse": {
- "properties": {
- "items": {
- "items": {
- "$ref": "#/definitions/newsplatform.HeadlineItem"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "newsplatform.Section": {
+ "latimes.SectionInfo": {
"properties": {
- "name": {
+ "feed_url": {
"type": "string"
},
- "slug": {
+ "name": {
"type": "string"
},
- "url": {
+ "slug": {
"type": "string"
}
},
"type": "object"
},
- "newsplatform.SectionsResponse": {
+ "latimes.SectionsResponse": {
"properties": {
"sections": {
"items": {
- "$ref": "#/definitions/newsplatform.Section"
+ "$ref": "#/definitions/latimes.SectionInfo"
},
"type": "array"
}
},
"type": "object"
},
- "newsweek.AuthorArticle": {
+ "latimes.articleResponseDoc": {
"properties": {
- "section": {
- "type": "string"
- },
- "section_url": {
- "type": "string"
- },
- "summary": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "title": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/latimes.ArticleResponse"
},
- "url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "newsweek.AuthorResponse": {
+ "latimes.authorResponseDoc": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/newsweek.AuthorArticle"
- },
- "type": "array"
- },
- "bio": {
- "type": "string"
- },
- "email": {
- "type": "string"
- },
- "has_next_page": {
- "type": "boolean"
- },
- "image_url": {
- "type": "string"
- },
- "job_title": {
- "type": "string"
- },
- "name": {
- "type": "string"
- },
- "page": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "slug": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/latimes.AuthorResponse"
},
- "url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "newyorker.ArticleResponse": {
+ "latimes.headlinesResponseDoc": {
"properties": {
- "authors": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "description": {
- "type": "string"
- },
- "image_url": {
- "type": "string"
- },
- "is_accessible_for_free": {
- "type": "boolean"
- },
- "is_truncated": {
- "type": "boolean"
- },
- "paragraphs": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "published_at": {
- "type": "string"
- },
- "section": {
- "type": "string"
- },
- "title": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "updated_at": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/latimes.HeadlinesResponse"
},
- "url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "newyorker.AuthorLink": {
+ "latimes.sectionsResponseDoc": {
"properties": {
- "type": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "url": {
+ "data": {
+ "$ref": "#/definitions/latimes.SectionsResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "newyorker.AuthorResponse": {
+ "lazada.CategoryDirectoryResponse": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/newyorker.HeadlineItem"
- },
- "type": "array"
- },
- "biography": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "image_url": {
+ "fetched_at": {
+ "example": "2026-08-28T04:00:00Z",
"type": "string"
},
- "links": {
+ "groups": {
"items": {
- "$ref": "#/definitions/newyorker.AuthorLink"
+ "$ref": "#/definitions/lazada.CategoryGroup"
},
"type": "array"
},
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "newyorker.HeadlineItem": {
- "properties": {
- "author": {
- "type": "string"
- },
- "image_url": {
- "type": "string"
- },
- "published_at": {
- "type": "string"
- },
- "summary": {
- "type": "string"
- },
- "title": {
- "type": "string"
- },
- "type": {
+ "region": {
+ "example": "ID",
"type": "string"
},
- "url": {
+ "source_url": {
+ "example": "https://pages.lazada.co.id/wow/i/id/LandingPage/lazmall?wh_weex=true",
"type": "string"
}
},
"type": "object"
},
- "nike.AvailabilityResponse": {
+ "lazada.CategoryGroup": {
"properties": {
- "count": {
- "type": "integer"
- },
- "fetched_at": {
- "type": "string"
- },
- "group_key": {
- "type": "string"
- },
- "sizes": {
+ "categories": {
"items": {
- "$ref": "#/definitions/nike.SizeAvailability"
+ "$ref": "#/definitions/lazada.CategoryNode"
},
"type": "array"
},
- "source_url": {
+ "name": {
+ "example": "Elektronik",
"type": "string"
}
},
"type": "object"
},
- "nike.Breadcrumb": {
+ "lazada.CategoryLink": {
"properties": {
"name": {
+ "example": "Handphone",
"type": "string"
},
- "path": {
+ "url": {
+ "example": "https://www.lazada.co.id/beli-handphone",
"type": "string"
}
},
"type": "object"
},
- "nike.CategoriesResponse": {
+ "lazada.CategoryNode": {
"properties": {
- "categories": {
+ "children": {
"items": {
- "$ref": "#/definitions/nike.TopLevelCategory"
+ "$ref": "#/definitions/lazada.CategoryNode"
},
"type": "array"
},
- "fetched_at": {
+ "name": {
+ "example": "Laptop",
"type": "string"
},
- "source_url": {
+ "url": {
+ "example": "https://www.lazada.co.id/shop-beli-laptop/",
"type": "string"
}
},
"type": "object"
},
- "nike.CategoryGroup": {
+ "lazada.CategoryProductsResponse": {
"properties": {
- "name": {
+ "brand": {
+ "example": "lazada6910077_crown-127197821",
"type": "string"
},
- "path": {
+ "category": {
+ "example": "shop-karaoke-systems",
"type": "string"
},
- "slug": {
+ "fetched_at": {
+ "example": "2026-09-02T04:00:00Z",
"type": "string"
},
- "subcategories": {
+ "items": {
"items": {
- "$ref": "#/definitions/nike.CategorySubcategory"
+ "$ref": "#/definitions/lazada.ListingItem"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "nike.CategorySubcategory": {
- "properties": {
- "name": {
+ },
+ "page": {
+ "example": 1,
+ "type": "integer"
+ },
+ "page_size": {
+ "example": 40,
+ "type": "integer"
+ },
+ "region": {
+ "example": "PH",
"type": "string"
},
- "path": {
+ "sort": {
+ "example": "popularity",
"type": "string"
},
- "slug": {
+ "source_url": {
+ "example": "https://www.lazada.com.ph/shop-karaoke-systems/?ajax=true&page=1",
"type": "string"
+ },
+ "total_results": {
+ "example": 2400,
+ "type": "integer"
}
},
"type": "object"
},
- "nike.ColorDetail": {
+ "lazada.HomeResponse": {
"properties": {
- "color_code": {
- "type": "string"
- },
- "color_description": {
- "type": "string"
- },
- "currency": {
- "type": "string"
- },
- "discount_percentage": {
- "type": "integer"
- },
- "grouping_label": {
- "type": "string"
- },
- "images": {
+ "categories": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/lazada.CategoryLink"
},
"type": "array"
},
- "initial_price": {
- "type": "number"
- },
- "is_buyable": {
- "type": "boolean"
- },
- "price": {
- "type": "number"
- },
- "size_chart_url": {
+ "fetched_at": {
+ "example": "2026-08-28T04:00:00Z",
"type": "string"
},
- "sizes": {
+ "flash_sale_items": {
"items": {
- "$ref": "#/definitions/nike.ProductSize"
+ "$ref": "#/definitions/lazada.ProductSummary"
},
"type": "array"
},
- "style_code": {
- "type": "string"
+ "official_stores": {
+ "description": "OfficialStores lists featured official-store shops from the same\nhomepage. This carousel was observed absent on one storefront\n(Philippines) during a live check; treat an empty list as \"not\ncurrently shown\", not as evidence of parser drift.",
+ "items": {
+ "$ref": "#/definitions/lazada.OfficialStore"
+ },
+ "type": "array"
},
- "style_color": {
+ "region": {
+ "example": "ID",
"type": "string"
},
- "url": {
+ "source_url": {
+ "example": "https://www.lazada.co.id/",
"type": "string"
}
},
"type": "object"
},
- "nike.ColorVariant": {
+ "lazada.ListingItem": {
"properties": {
- "color_description": {
+ "currency": {
+ "example": "PHP",
"type": "string"
},
- "color_label": {
+ "discount": {
+ "example": "77% Off",
"type": "string"
},
- "currency": {
+ "image": {
+ "example": "https://ph-live-01.slatic.net/p/example.png",
"type": "string"
},
- "discount_percentage": {
+ "item_id": {
+ "example": 15396167084,
"type": "integer"
},
- "image_url": {
+ "location": {
+ "example": "Benguet",
"type": "string"
},
- "initial_price": {
+ "price": {
+ "example": 159,
"type": "number"
},
- "price": {
+ "rating": {
+ "description": "Rating and Reviews are omitted entirely when the listing card has no\nrating yet (a brand-new or unrated listing) rather than defaulting to 0.",
+ "example": 5,
"type": "number"
},
- "slug": {
- "type": "string"
+ "reviews": {
+ "example": 3,
+ "type": "integer"
},
- "style_color": {
+ "title": {
+ "example": "Digilab Original K12 Bluetooth Portable Karaoke Speaker",
"type": "string"
},
"url": {
+ "example": "https://www.lazada.com.ph/products/pdp-i15396167084.html",
"type": "string"
}
},
"type": "object"
},
- "nike.FacetNav": {
- "properties": {
- "breadcrumbs": {
- "items": {
- "$ref": "#/definitions/nike.Breadcrumb"
- },
- "type": "array"
- },
- "categories": {
- "items": {
- "$ref": "#/definitions/nike.FacetOption"
- },
- "type": "array"
- },
- "filters": {
- "items": {
- "$ref": "#/definitions/nike.Filter"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "nike.FacetOption": {
+ "lazada.OfficialStore": {
"properties": {
- "label": {
+ "brand_image": {
+ "example": "https://img.lazcdn.com/g/p/example.jpg",
"type": "string"
},
- "path": {
+ "name": {
+ "example": "Alfalink",
"type": "string"
},
- "result_count": {
- "type": "integer"
- },
- "selected": {
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "nike.Filter": {
- "properties": {
- "name": {
+ "shop_image": {
+ "example": "https://img.lazcdn.com/g/shop/example.jpeg",
"type": "string"
},
- "options": {
- "items": {
- "$ref": "#/definitions/nike.FacetOption"
- },
- "type": "array"
+ "url": {
+ "example": "https://www.lazada.co.id/shop/alfalink",
+ "type": "string"
}
},
"type": "object"
},
- "nike.ProductDetailResponse": {
+ "lazada.ProductResponse": {
"properties": {
- "color_code": {
+ "brand": {
+ "example": "Pantene",
"type": "string"
},
- "color_description": {
+ "brand_url": {
+ "example": "https://www.lazada.co.id/pantene/",
"type": "string"
},
- "colors": {
+ "category": {
+ "example": [
+ "Kecantikan"
+ ],
"items": {
- "$ref": "#/definitions/nike.ColorVariant"
+ "type": "string"
},
"type": "array"
},
"currency": {
+ "example": "IDR",
"type": "string"
},
"description": {
"type": "string"
},
- "discount_percentage": {
- "type": "integer"
- },
"fetched_at": {
+ "example": "2026-09-02T04:00:00Z",
"type": "string"
},
- "genders": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "highlights": {
+ "type": "string"
},
"images": {
"items": {
@@ -143075,508 +148904,734 @@
},
"type": "array"
},
- "initial_price": {
- "type": "number"
- },
- "is_buyable": {
- "type": "boolean"
+ "item_id": {
+ "example": 159992555,
+ "type": "integer"
},
"price": {
+ "example": 190500,
"type": "number"
},
- "product_details": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "product_type": {
+ "region": {
+ "example": "ID",
"type": "string"
},
- "reason_to_buy": {
- "type": "string"
+ "seller_id": {
+ "example": 100161156,
+ "type": "integer"
},
- "sizes": {
- "items": {
- "$ref": "#/definitions/nike.ProductSize"
- },
- "type": "array"
+ "sku_id": {
+ "example": 181803572,
+ "type": "integer"
},
- "slug": {
+ "source_url": {
+ "example": "https://www.lazada.co.id/products/pdp-i159992555-s181803572.html",
"type": "string"
},
- "source_url": {
+ "title": {
+ "example": "PANTENE Shampoo Hair Fall Control 990ml",
"type": "string"
},
- "sport_tags": {
+ "url": {
+ "example": "https://www.lazada.co.id/products/pantene-shampoo-hair-fall-control-990ml-i159992555-s181803572.html",
+ "type": "string"
+ },
+ "variants": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/lazada.ProductVariant"
},
"type": "array"
- },
- "style_code": {
+ }
+ },
+ "type": "object"
+ },
+ "lazada.ProductSummary": {
+ "properties": {
+ "currency": {
+ "example": "IDR",
"type": "string"
},
- "style_color": {
+ "discount": {
+ "example": "-32%",
"type": "string"
},
- "subtitle": {
+ "image": {
+ "example": "https://img.lazcdn.com/g/p/example.jpg",
"type": "string"
},
+ "item_id": {
+ "example": 159992555,
+ "type": "integer"
+ },
+ "original_price": {
+ "example": 190500,
+ "type": "number"
+ },
+ "price": {
+ "example": 129000,
+ "type": "number"
+ },
"title": {
+ "example": "PANTENE Shampoo Hair Fall Control 990ml",
"type": "string"
},
"url": {
+ "example": "https://www.lazada.co.id/products/pdp-i159992555-s181803572.html",
"type": "string"
}
},
"type": "object"
},
- "nike.ProductDetailsResponse": {
+ "lazada.ProductVariant": {
"properties": {
- "colors": {
+ "name": {
+ "example": "Volume",
+ "type": "string"
+ },
+ "values": {
+ "example": [
+ "990 ml"
+ ],
"items": {
- "$ref": "#/definitions/nike.ColorDetail"
+ "type": "string"
},
"type": "array"
- },
- "count": {
- "type": "integer"
- },
- "description": {
- "type": "string"
- },
+ }
+ },
+ "type": "object"
+ },
+ "lazada.SearchResponse": {
+ "properties": {
"fetched_at": {
+ "example": "2026-09-02T04:00:00Z",
"type": "string"
},
- "genders": {
+ "items": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/lazada.ListingItem"
},
"type": "array"
},
- "group_key": {
+ "page": {
+ "example": 1,
+ "type": "integer"
+ },
+ "page_size": {
+ "example": 40,
+ "type": "integer"
+ },
+ "query": {
+ "example": "karaoke",
"type": "string"
},
- "product_type": {
+ "region": {
+ "example": "PH",
"type": "string"
},
- "reason_to_buy": {
+ "sort": {
+ "example": "popularity",
"type": "string"
},
"source_url": {
+ "example": "https://www.lazada.com.ph/catalog/?q=karaoke&ajax=true&page=1",
"type": "string"
},
- "subtitle": {
- "type": "string"
+ "total_results": {
+ "example": 2400,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "lazada.categoriesResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "title": {
+ "data": {
+ "$ref": "#/definitions/lazada.CategoryDirectoryResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "nike.ProductGroup": {
+ "lazada.categoryProductsResponseDoc": {
"properties": {
- "badge_label": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "colors": {
- "items": {
- "$ref": "#/definitions/nike.ColorVariant"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/lazada.CategoryProductsResponse"
},
- "group_key": {
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "lazada.homeResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "product_type": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/lazada.HomeResponse"
},
- "subtitle": {
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "lazada.productResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "title": {
+ "data": {
+ "$ref": "#/definitions/lazada.ProductResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "nike.ProductReview": {
+ "lazada.searchResponseDoc": {
"properties": {
- "author": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "body": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/lazada.SearchResponse"
},
- "created_at": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "headline": {
+ }
+ },
+ "type": "object"
+ },
+ "leboncoin.ListingCard": {
+ "properties": {
+ "category": {
"type": "string"
},
- "helpful_votes": {
- "type": "integer"
- },
"id": {
"type": "string"
},
- "location": {
+ "image_url": {
"type": "string"
},
- "not_helpful_votes": {
+ "price_eur": {
"type": "integer"
},
- "rating": {
- "type": "integer"
+ "title": {
+ "type": "string"
},
- "recommended": {
- "type": "boolean"
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "nike.ProductReviewsResponse": {
+ "leboncoin.ListingResponse": {
"properties": {
- "average_rating": {
- "type": "number"
+ "availability": {
+ "type": "string"
},
- "count": {
- "type": "integer"
+ "category": {
+ "type": "string"
},
- "fetched_at": {
+ "condition": {
"type": "string"
},
- "page": {
- "type": "integer"
+ "currency": {
+ "type": "string"
},
- "page_size": {
+ "description": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "price_eur": {
"type": "integer"
},
- "rating_histogram": {
- "description": "RatingHistogram is the count of ratings per star, ascending: index 0\nis 1-star, index 4 is 5-star.",
- "items": {
- "type": "integer"
- },
- "type": "array"
+ "title": {
+ "type": "string"
},
- "reviews": {
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "leboncoin.SearchResponse": {
+ "properties": {
+ "listings": {
"items": {
- "$ref": "#/definitions/nike.ProductReview"
+ "$ref": "#/definitions/leboncoin.ListingCard"
},
"type": "array"
},
- "slug": {
+ "location": {
"type": "string"
},
"source_url": {
"type": "string"
- },
- "style_color": {
- "type": "string"
- },
- "total_pages": {
- "type": "integer"
- },
- "total_reviews": {
- "type": "integer"
}
},
"type": "object"
},
- "nike.ProductSize": {
+ "leboncoin.listingResponseDoc": {
"properties": {
- "label": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "localized_label": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/leboncoin.ListingResponse"
},
- "sku_id": {
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "leboncoin.searchResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "status": {
+ "data": {
+ "$ref": "#/definitions/leboncoin.SearchResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "nike.RecommendationsResponse": {
+ "letterboxd.FilmRating": {
"properties": {
+ "average": {
+ "description": "Average Letterboxd member rating, out of 5.",
+ "example": 4.52,
+ "type": "number"
+ },
"count": {
+ "description": "Number of member ratings behind the average.",
+ "example": 5553202,
"type": "integer"
},
- "fetched_at": {
+ "review_count": {
+ "description": "Number of written reviews. Omitted when Letterboxd shows none.",
+ "example": 740173,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "letterboxd.FilmRef": {
+ "properties": {
+ "slug": {
+ "description": "Letterboxd film slug. Use it with the film endpoint for full detail.",
"type": "string"
},
- "recommendations": {
- "items": {
- "$ref": "#/definitions/nike.RecommendedProduct"
- },
- "type": "array"
- },
- "source_url": {
+ "title": {
+ "description": "Title of the film.",
"type": "string"
},
- "style_color": {
+ "uri": {
+ "description": "Link to the film's page on Letterboxd.",
"type": "string"
}
},
"type": "object"
},
- "nike.RecommendedProduct": {
+ "letterboxd.FilmResponse": {
"properties": {
- "currency": {
- "type": "string"
+ "cast": {
+ "description": "Cast members of the film, up to 25 credits.",
+ "items": {
+ "$ref": "#/definitions/letterboxd.PersonCredit"
+ },
+ "type": "array"
},
- "image_url": {
+ "countries": {
+ "description": "Countries the film was made in.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "directors": {
+ "description": "Directors of the film.",
+ "items": {
+ "$ref": "#/definitions/letterboxd.PersonCredit"
+ },
+ "type": "array"
+ },
+ "genres": {
+ "description": "Genres of the film.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "languages": {
+ "description": "Languages used in the film, as Letterboxd lists them.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "poster_url": {
+ "description": "URL of the film's poster image.",
"type": "string"
},
- "initial_price": {
- "type": "number"
+ "production_companies": {
+ "description": "Names of the production companies behind the film.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "price": {
- "type": "number"
+ "rating": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/letterboxd.FilmRating"
+ }
+ ],
+ "description": "Aggregate Letterboxd member rating. Omitted when the film has no ratings."
},
- "price_type": {
+ "release_date": {
+ "description": "Release date of the film, in YYYY-MM-DD format.",
+ "example": "2019-05-21",
"type": "string"
},
- "rank": {
+ "runtime_minutes": {
+ "description": "Running time of the film in minutes.",
+ "example": 133,
"type": "integer"
},
- "style_color": {
+ "slug": {
+ "description": "Letterboxd film slug, for example `parasite-2019`. Use it with the film endpoints.",
+ "example": "parasite-2019",
"type": "string"
},
- "style_type": {
+ "source_url": {
+ "description": "URL the data was read from.",
"type": "string"
},
- "subtitle": {
+ "synopsis": {
+ "description": "Short plot synopsis of the film.",
"type": "string"
},
"title": {
+ "description": "Title of the film.",
+ "example": "Parasite",
"type": "string"
},
- "url": {
+ "uri": {
+ "description": "Link to the film's page on Letterboxd.",
"type": "string"
+ },
+ "year": {
+ "description": "Year the film was released.",
+ "example": 2019,
+ "type": "integer"
}
},
"type": "object"
},
- "nike.SearchResponse": {
+ "letterboxd.MemberResponse": {
"properties": {
- "category": {
+ "display_name": {
"type": "string"
},
- "count": {
+ "films_this_year": {
"type": "integer"
},
- "facet_nav": {
- "allOf": [
- {
- "$ref": "#/definitions/nike.FacetNav"
- }
- ],
- "description": "FacetNav is the navigation/filtering data Nike's own response\nalready carries alongside product results -- subcategory\nrefinement options, named filter groups (price/size/color/etc.),\nand (for category browsing) a breadcrumb trail. Nil when the\nupstream returned no navigation data. See FacetNav's doc comment."
- },
- "fetched_at": {
- "type": "string"
- },
- "keyword": {
- "type": "string"
+ "films_watched": {
+ "type": "integer"
},
- "page": {
+ "followers": {
"type": "integer"
},
- "page_size": {
+ "following": {
"type": "integer"
},
- "products": {
- "items": {
- "$ref": "#/definitions/nike.ProductGroup"
- },
- "type": "array"
+ "lists": {
+ "type": "integer"
},
"source_url": {
"type": "string"
},
- "total_pages": {
- "type": "integer"
+ "uri": {
+ "type": "string"
},
- "total_products": {
- "type": "integer"
+ "username": {
+ "type": "string"
}
},
"type": "object"
},
- "nike.SizeAvailability": {
+ "letterboxd.PersonCredit": {
"properties": {
- "available": {
- "type": "boolean"
- },
- "grouping_label": {
+ "name": {
+ "description": "Name of the person.",
"type": "string"
},
- "gtin": {
+ "slug": {
+ "description": "Letterboxd slug of the person. Use it with the person endpoint.",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "letterboxd.PersonResponse": {
+ "properties": {
+ "films": {
+ "items": {
+ "$ref": "#/definitions/letterboxd.FilmRef"
+ },
+ "type": "array"
},
- "label": {
+ "name": {
"type": "string"
},
- "localized_label": {
+ "role": {
"type": "string"
},
- "ship": {
+ "slug": {
"type": "string"
},
- "style_color": {
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "nike.Store": {
+ "letterboxd.PopularResponse": {
"properties": {
- "address": {
+ "decade": {
+ "description": "Decade filter that was applied, for example `2010s`. Omitted when none was set.",
"type": "string"
},
- "business_concept": {
+ "films": {
+ "description": "Films in the chart, most popular first.",
+ "items": {
+ "$ref": "#/definitions/letterboxd.FilmRef"
+ },
+ "type": "array"
+ },
+ "genre": {
+ "description": "Genre filter that was applied. Omitted when none was set.",
"type": "string"
},
- "city": {
+ "period": {
+ "description": "Time window of the chart: `day`, `week`, `month` or `year`. Omitted for the all-time chart.",
"type": "string"
},
- "country": {
+ "source_url": {
+ "description": "URL the data was read from.",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "letterboxd.RatingBucket": {
+ "properties": {
+ "count": {
+ "type": "integer"
},
- "distance_miles": {
+ "percent": {
+ "type": "integer"
+ },
+ "stars": {
+ "example": 4.5,
"type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "letterboxd.RatingHistogramResponse": {
+ "properties": {
+ "buckets": {
+ "items": {
+ "$ref": "#/definitions/letterboxd.RatingBucket"
+ },
+ "type": "array"
},
- "facility_type": {
+ "slug": {
"type": "string"
},
- "image_url": {
+ "source_url": {
"type": "string"
},
- "latitude": {
- "type": "number"
- },
- "longitude": {
- "type": "number"
+ "total_ratings": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "letterboxd.Review": {
+ "properties": {
+ "comment_count": {
+ "type": "integer"
},
- "name": {
- "type": "string"
+ "contains_spoilers": {
+ "type": "boolean"
},
- "phone": {
+ "date": {
+ "example": "2019-08-14",
"type": "string"
},
- "postal_code": {
+ "display_name": {
"type": "string"
},
- "region": {
- "type": "string"
+ "like_count": {
+ "type": "integer"
},
- "slug": {
- "type": "string"
+ "liked": {
+ "type": "boolean"
},
- "store_concept": {
- "type": "string"
+ "rating": {
+ "example": 4.5,
+ "type": "number"
},
- "store_number": {
+ "text": {
"type": "string"
},
- "url": {
+ "username": {
"type": "string"
}
},
"type": "object"
},
- "nike.StoreResponse": {
+ "letterboxd.ReviewsResponse": {
"properties": {
- "count": {
- "type": "integer"
+ "reviews": {
+ "items": {
+ "$ref": "#/definitions/letterboxd.Review"
+ },
+ "type": "array"
},
- "fetched_at": {
+ "slug": {
"type": "string"
},
- "lat": {
- "type": "number"
- },
- "lng": {
- "type": "number"
- },
- "page": {
- "type": "integer"
- },
- "page_size": {
- "type": "integer"
- },
- "radius_miles": {
- "type": "integer"
- },
"source_url": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "letterboxd.SearchResponse": {
+ "properties": {
+ "query": {
+ "description": "Search text that was run.",
+ "type": "string"
},
- "stores": {
+ "results": {
+ "description": "Search hits, one item per film, person, list or tag.",
"items": {
- "$ref": "#/definitions/nike.Store"
+ "$ref": "#/definitions/letterboxd.SearchResult"
},
"type": "array"
},
- "total_stores": {
- "type": "integer"
+ "source_url": {
+ "description": "URL the data was read from.",
+ "type": "string"
+ },
+ "type": {
+ "description": "Result type the search was limited to, `film`. Omitted for a mixed search.",
+ "type": "string"
}
},
"type": "object"
},
- "nike.SuggestResponse": {
+ "letterboxd.SearchResult": {
"properties": {
- "count": {
- "type": "integer"
+ "owner": {
+ "description": "Username of the member who made the list. Present for list hits.",
+ "type": "string"
},
- "fetched_at": {
+ "role": {
+ "description": "Role of the person, `actor` or `director`. Present for person hits.",
+ "example": "director",
"type": "string"
},
- "query": {
+ "slug": {
+ "description": "Letterboxd slug of the film or person. Present for film and person hits.",
"type": "string"
},
- "source_url": {
+ "title": {
+ "description": "Title of the film or list, name of the person, or the tag.",
"type": "string"
},
- "suggestions": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "type": {
+ "description": "Kind of hit: `film`, `person`, `list` or `tag`.",
+ "example": "film",
+ "type": "string"
+ },
+ "uri": {
+ "description": "Link to the hit's page on Letterboxd.",
+ "type": "string"
+ },
+ "year": {
+ "description": "Year the film was released. Present for film hits.",
+ "type": "integer"
}
},
"type": "object"
},
- "nike.TopLevelCategory": {
+ "letterboxd.SimilarResponse": {
"properties": {
- "groups": {
+ "films": {
+ "description": "Films Letterboxd lists as similar.",
"items": {
- "$ref": "#/definitions/nike.CategoryGroup"
+ "$ref": "#/definitions/letterboxd.FilmRef"
},
"type": "array"
},
- "name": {
+ "slug": {
+ "description": "Slug of the film the similar films are for.",
"type": "string"
},
- "path": {
+ "source_url": {
+ "description": "URL the data was read from.",
"type": "string"
}
},
"type": "object"
},
- "nike.availabilityResponseDoc": {
+ "letterboxd.filmResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/nike.AvailabilityResponse"
+ "$ref": "#/definitions/letterboxd.FilmResponse"
},
"msg": {
"example": "OK",
@@ -143585,14 +149640,14 @@
},
"type": "object"
},
- "nike.categoriesResponseDoc": {
+ "letterboxd.memberResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/nike.CategoriesResponse"
+ "$ref": "#/definitions/letterboxd.MemberResponse"
},
"msg": {
"example": "OK",
@@ -143601,14 +149656,14 @@
},
"type": "object"
},
- "nike.productDetailsResponseDoc": {
+ "letterboxd.personResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/nike.ProductDetailsResponse"
+ "$ref": "#/definitions/letterboxd.PersonResponse"
},
"msg": {
"example": "OK",
@@ -143617,14 +149672,14 @@
},
"type": "object"
},
- "nike.productResponseDoc": {
+ "letterboxd.popularResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/nike.ProductDetailResponse"
+ "$ref": "#/definitions/letterboxd.PopularResponse"
},
"msg": {
"example": "OK",
@@ -143633,14 +149688,14 @@
},
"type": "object"
},
- "nike.productReviewsResponseDoc": {
+ "letterboxd.ratingHistogramResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/nike.ProductReviewsResponse"
+ "$ref": "#/definitions/letterboxd.RatingHistogramResponse"
},
"msg": {
"example": "OK",
@@ -143649,14 +149704,14 @@
},
"type": "object"
},
- "nike.recommendationsResponseDoc": {
+ "letterboxd.reviewsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/nike.RecommendationsResponse"
+ "$ref": "#/definitions/letterboxd.ReviewsResponse"
},
"msg": {
"example": "OK",
@@ -143665,14 +149720,14 @@
},
"type": "object"
},
- "nike.searchResponseDoc": {
+ "letterboxd.searchResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/nike.SearchResponse"
+ "$ref": "#/definitions/letterboxd.SearchResponse"
},
"msg": {
"example": "OK",
@@ -143681,14 +149736,14 @@
},
"type": "object"
},
- "nike.storesResponseDoc": {
+ "letterboxd.similarResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/nike.StoreResponse"
+ "$ref": "#/definitions/letterboxd.SimilarResponse"
},
"msg": {
"example": "OK",
@@ -143697,336 +149752,494 @@
},
"type": "object"
},
- "nike.suggestResponseDoc": {
+ "linkedin.Customer": {
"properties": {
- "code": {
- "example": 200,
+ "follower_count": {
+ "description": "Number of LinkedIn followers of the customer's company page.",
+ "example": 12345,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/nike.SuggestResponse"
- },
- "msg": {
- "example": "OK",
+ "industry": {
+ "description": "Industry listed for the customer company.",
+ "example": "Information Technology & Services",
"type": "string"
- }
- },
- "type": "object"
- },
- "ninetofivegoogle.AuthorResponse": {
- "properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/ninetofivegoogle.HeadlineItem"
- },
- "type": "array"
- },
- "biography": {
- "items": {
- "type": "string"
- },
- "type": "array"
},
- "image_url": {
+ "link": {
+ "description": "LinkedIn URL of the customer's company page.",
+ "example": "https://www.linkedin.com/company/contoso/",
"type": "string"
},
- "name": {
+ "logo": {
+ "description": "URL of the customer's logo image.",
+ "example": "https://media.licdn.com/dms/image/v2/company-logo_100_100/company-logo_100_100/0/123456789/logo?e=2147483647&v=beta&t=xyz",
"type": "string"
},
- "social_links": {
- "items": {
- "$ref": "#/definitions/ninetofivegoogle.AuthorSocialLink"
- },
- "type": "array"
- },
- "url": {
+ "name": {
+ "description": "Name of the featured customer company.",
+ "example": "Contoso Ltd.",
"type": "string"
}
},
"type": "object"
},
- "ninetofivegoogle.AuthorSocialLink": {
+ "linkedin.LinkedinCompanyResponse": {
"properties": {
- "type": {
+ "about": {
+ "description": "Company description from the About section.",
+ "example": "We’re a team of scientists, engineers...",
"type": "string"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "ninetofivegoogle.HeadlineItem": {
- "properties": {
- "author": {
- "type": "string"
+ "affiliated_pages": {
+ "description": "Related company pages listed as affiliated with this company.",
+ "items": {
+ "$ref": "#/definitions/linkedin.Page"
+ },
+ "type": "array"
},
- "image_url": {
+ "company_size": {
+ "description": "Employee count range listed on the page, for example `501-1,000`.",
+ "example": "501-1,000",
"type": "string"
},
- "published_at": {
- "type": "string"
+ "follower_count": {
+ "description": "Number of LinkedIn followers of the company page.",
+ "example": 1176422,
+ "type": "integer"
},
- "summary": {
+ "founded_on": {
+ "description": "Year the company was founded.",
+ "example": 2010,
+ "type": "integer"
+ },
+ "headline": {
+ "description": "Tagline shown under the company name.",
+ "example": "We're committed to solving intelligence, to advance science and benefit humanity.",
"type": "string"
},
- "title": {
+ "headquarters": {
+ "description": "Headquarters location as listed on the page.",
+ "example": "London, London",
"type": "string"
},
- "type": {
+ "industry": {
+ "description": "Industry listed on the company page, for example `Research Services`.",
+ "example": "Research Services",
"type": "string"
},
- "url": {
+ "link": {
+ "description": "LinkedIn URL of the company page.",
+ "example": "https://www.linkedin.com/company/googledeepmind",
"type": "string"
- }
- },
- "type": "object"
- },
- "ninetofivemac.AuthorResponse": {
- "properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/ninetofivemac.HeadlineItem"
- },
- "type": "array"
},
- "biography": {
+ "locations": {
+ "description": "Office locations listed on the company page.",
"items": {
- "type": "string"
+ "$ref": "#/definitions/linkedin.Location"
},
"type": "array"
},
- "image_url": {
+ "logo": {
+ "description": "URL of the company logo image.",
+ "example": "https://static.licdn.com/.../linkedin-bug-color.png",
"type": "string"
},
"name": {
+ "description": "Company name as shown on its LinkedIn page.",
+ "example": "Google DeepMind",
"type": "string"
},
- "social_links": {
- "items": {
- "$ref": "#/definitions/ninetofivemac.AuthorSocialLink"
- },
- "type": "array"
- },
- "url": {
+ "num_of_employees_on_linkedin": {
+ "description": "Number of employees who list the company on their LinkedIn profile.",
+ "example": 5590,
+ "type": "integer"
+ },
+ "products": {
+ "description": "Product Pages LinkedIn lists under the page's Products section.",
+ "items": {
+ "$ref": "#/definitions/linkedin.Product"
+ },
+ "type": "array"
+ },
+ "similar_pages": {
+ "description": "Company pages LinkedIn suggests as similar to this company.",
+ "items": {
+ "$ref": "#/definitions/linkedin.Page"
+ },
+ "type": "array"
+ },
+ "specialties": {
+ "description": "Specialties listed on the company page.",
+ "example": "Artificial Intelligence and Machine Learning",
"type": "string"
- }
- },
- "type": "object"
- },
- "ninetofivemac.AuthorSocialLink": {
- "properties": {
+ },
"type": {
+ "description": "Organization type listed on the page, for example `Privately Held`.",
+ "example": "Privately Held",
"type": "string"
},
- "url": {
+ "updates": {
+ "description": "Recent posts shown on the company page.",
+ "items": {
+ "$ref": "#/definitions/linkedin.Update"
+ },
+ "type": "array"
+ },
+ "website": {
+ "description": "Company website address as listed on the page.",
+ "example": "https://www.deepmind.google",
"type": "string"
}
},
"type": "object"
},
- "ninetofivemac.HeadlineItem": {
+ "linkedin.LinkedinProductResponse": {
"properties": {
- "author": {
- "type": "string"
- },
- "image_url": {
+ "about": {
+ "description": "Product description from the About section.",
+ "example": "Streamline, manage, and grow your business with Dynamics 365 Business Central - a flexible, scalable, comprehensive business management solution for small and medium-sized businesses.",
"type": "string"
},
- "published_at": {
+ "category_link": {
+ "description": "LinkedIn URL of the product category page.",
+ "example": "https://www.linkedin.com/products/categories/business-management-software",
"type": "string"
},
- "summary": {
+ "category_name": {
+ "description": "Name of the LinkedIn product category the product is listed in.",
+ "example": "Business Management Software",
"type": "string"
},
- "title": {
+ "cover_image": {
+ "description": "URL of the product page cover image.",
+ "example": "https://media.licdn.com/dms/image/v2/D4E1BAQF2jwQmfmDSiA/company-background_10000/B4EZYQcR0_HkAU-/0/1744032571051/microsoft_dynamics_cover?e=2147483647&v=beta&t=fUrpht_xQ4tCJkUKJcGr5hFyqQzXLxbETOV14KE5qk4",
"type": "string"
},
- "type": {
+ "external_link": {
+ "description": "URL of the product's own website, from the visit button on the page.",
+ "example": "https://dynamics.microsoft.com/en-us/business-central/overview/",
"type": "string"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "npr.ArticleResponse": {
- "properties": {
- "authors": {
+ "featured_customers": {
+ "description": "Customer companies featured on the product page.",
"items": {
- "type": "string"
+ "$ref": "#/definitions/linkedin.Customer"
},
"type": "array"
},
- "description": {
+ "link": {
+ "description": "LinkedIn URL of the product page.",
+ "example": "https://www.linkedin.com/products/microsoft-dynamics-microsoft-dynamics-365-business-central",
"type": "string"
},
- "image_url": {
+ "logo": {
+ "description": "URL of the product logo image.",
+ "example": "https://media.licdn.com/dms/image/v2/C4E0BAQFXmfZJomhCcg/company-logo_100_100/company-logo_100_100/0/1630612268078/microsoft_dynamics_logo?e=2147483647&v=beta&t=2bAeeYjEdtNwIAdeHTqLAo6Av0AN3Ofe1vdzvN2ihpI",
"type": "string"
},
- "paragraphs": {
+ "medias": {
+ "description": "Media items shown on the product page, one entry per thumbnail.",
"items": {
- "type": "string"
+ "$ref": "#/definitions/linkedin.Media"
},
"type": "array"
},
- "published_at": {
+ "name": {
+ "description": "Product name as shown on its LinkedIn page.",
+ "example": "Microsoft Dynamics 365 Business Central",
"type": "string"
},
- "section": {
+ "organization_link": {
+ "description": "LinkedIn URL of the page of the company that makes the product.",
+ "example": "https://www.linkedin.com/company/microsoft-dynamics/",
"type": "string"
},
- "title": {
+ "organization_name": {
+ "description": "Name of the company that makes the product.",
+ "example": "Microsoft Dynamics 365",
"type": "string"
},
- "updated_at": {
- "type": "string"
+ "other_products": {
+ "description": "Other products listed on the page, such as more products from the same company.",
+ "items": {
+ "$ref": "#/definitions/linkedin.Product"
+ },
+ "type": "array"
},
- "url": {
+ "similar_products": {
+ "description": "Products LinkedIn suggests as similar to this one.",
+ "items": {
+ "$ref": "#/definitions/linkedin.Product"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "linkedin.Location": {
+ "properties": {
+ "address": {
+ "description": "Full street address of the location, as listed on the company page.",
+ "example": "Kings Cross, London, London N1C4AG, GB",
"type": "string"
+ },
+ "is_primary": {
+ "description": "Whether this is the company's primary location on LinkedIn.",
+ "example": true,
+ "type": "boolean"
}
},
"type": "object"
},
- "npr.AuthorArticle": {
+ "linkedin.Media": {
"properties": {
- "image_url": {
+ "link": {
+ "description": "URL of the media thumbnail image.",
+ "example": "https://media.licdn.com/media/sample-video.mp4",
"type": "string"
},
- "published_at": {
+ "name": {
+ "description": "Caption of the media item on the product page.",
+ "example": "Product Demo Video",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "linkedin.Page": {
+ "properties": {
+ "address": {
+ "description": "Location shown on the page card, for example `San Francisco, CA`.",
+ "example": "San Francisco, CA",
"type": "string"
},
- "summary": {
+ "industry": {
+ "description": "Industry listed on the company page.",
+ "example": "Research Services",
"type": "string"
},
- "title": {
+ "link": {
+ "description": "LinkedIn URL of the company page.",
+ "example": "https://www.linkedin.com/company/openai",
"type": "string"
},
- "url": {
+ "name": {
+ "description": "Name of the company page.",
+ "example": "OpenAI",
"type": "string"
}
},
"type": "object"
},
- "npr.AuthorResponse": {
+ "linkedin.Product": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/npr.AuthorArticle"
- },
- "type": "array"
+ "category_link": {
+ "description": "LinkedIn URL of the product category page.",
+ "example": "https://www.linkedin.com/products/categories/business-management-software",
+ "type": "string"
},
- "bio": {
+ "category_name": {
+ "description": "Name of the LinkedIn product category the product is listed in.",
+ "example": "Business Management Software",
"type": "string"
},
- "job_title": {
+ "link": {
+ "description": "LinkedIn URL of the product page.",
+ "example": "https://www.linkedin.com/products/odoo/",
"type": "string"
},
- "name": {
+ "logo": {
+ "description": "URL of the product logo image.",
+ "example": "https://media.licdn.com/dms/image/v2/D4E0BAQF91OMQCIi4dQ/company-logo_100_100/company-logo_100_100/0/1691657301051/odoo_logo?e=2147483647&v=beta&t=JfXKr0197Ib_ujXsUsYwXtga3l87Seko0icAH53nrHo",
"type": "string"
},
- "url": {
+ "name": {
+ "description": "Product name as shown on LinkedIn.",
+ "example": "Odoo",
"type": "string"
}
},
"type": "object"
},
- "npr.CategoriesResponse": {
+ "linkedin.ProductCategoriesResponse": {
"properties": {
"categories": {
"items": {
- "$ref": "#/definitions/npr.Category"
+ "$ref": "#/definitions/linkedin.ProductCategoryItem"
},
"type": "array"
+ },
+ "total": {
+ "example": 620,
+ "type": "integer"
}
},
"type": "object"
},
- "npr.Category": {
+ "linkedin.ProductCategoryItem": {
"properties": {
+ "id": {
+ "example": "1620",
+ "type": "string"
+ },
+ "link": {
+ "example": "https://www.linkedin.com/products/categories/healthcare-crm-software",
+ "type": "string"
+ },
"name": {
+ "example": "Healthcare CRM Software",
"type": "string"
},
- "slug": {
+ "universal_name": {
+ "example": "healthcare-crm-software",
"type": "string"
},
- "url": {
+ "urn": {
+ "example": "urn:li:standardizedProductCategory:1620",
"type": "string"
}
},
"type": "object"
},
- "npr.HeadlineItem": {
+ "linkedin.ProductSearchResultItem": {
"properties": {
- "author": {
+ "category_link": {
+ "example": "https://www.linkedin.com/products/categories/sales-intelligence-software",
"type": "string"
},
- "published_at": {
+ "category_name": {
+ "example": "Sales Intelligence Software",
"type": "string"
},
- "summary": {
+ "description": {
+ "example": "Sales Navigator helps sellers have high-quality conversations with the people that matter, at scale.",
"type": "string"
},
- "title": {
+ "id": {
+ "example": "linkedin-sales-navigator",
"type": "string"
},
- "url": {
+ "link": {
+ "example": "https://www.linkedin.com/products/linkedin-sales-navigator",
+ "type": "string"
+ },
+ "logo": {
+ "example": "https://media.licdn.com/dms/image/v2/D4E33AQFKTZDLqpinzQ/productpage-logo-image_100_100/B4EZX4WGqkHUAY-/0/1743628299227/linkedin_sales_navigator_logo",
+ "type": "string"
+ },
+ "name": {
+ "example": "LinkedIn Sales Navigator",
+ "type": "string"
+ },
+ "organization_name": {
+ "example": "LinkedIn",
"type": "string"
}
},
"type": "object"
},
- "npr.HeadlinesResponse": {
+ "linkedin.ProductsSearchResponse": {
"properties": {
- "items": {
+ "next_start": {
+ "description": "NextStart is the offset for the following page, omitted once LinkedIn's\nguest search stops returning results (see ProductSearchResultCap).",
+ "example": 10,
+ "type": "integer"
+ },
+ "products": {
"items": {
- "$ref": "#/definitions/npr.HeadlineItem"
+ "$ref": "#/definitions/linkedin.ProductSearchResultItem"
},
"type": "array"
+ },
+ "start": {
+ "example": 0,
+ "type": "integer"
+ },
+ "total": {
+ "description": "Total is only populated on the first page (start=0), where it is read\nfrom LinkedIn's server-rendered result count.",
+ "example": 145986,
+ "type": "integer"
}
},
"type": "object"
},
- "npr.TopicItem": {
+ "linkedin.Update": {
"properties": {
- "published_at": {
+ "author": {
+ "description": "Name of the page that published the post.",
+ "example": "Google DeepMind",
"type": "string"
},
- "summary": {
+ "author_link": {
+ "description": "LinkedIn URL of the page that published the post.",
+ "example": "https://uk.linkedin.com/company/googledeepmind",
"type": "string"
},
- "title": {
+ "images": {
+ "description": "URLs of the images attached to the post.",
+ "example": [
+ "[\"https://example.com/image1.jpg\"]"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "is_reposted": {
+ "description": "Whether the post is a repost of another LinkedIn post.",
+ "example": false,
+ "type": "boolean"
+ },
+ "logo": {
+ "description": "URL of the logo image of the page that published the post.",
+ "example": "https://media.licdn.com/dms/image/v2/D4E0BAQEntrYwxPlbQA/company-logo_100_100/0/googledeepmind_logo",
"type": "string"
},
- "url": {
+ "num_of_comments": {
+ "description": "Number of comments on the post.",
+ "example": 21,
+ "type": "integer"
+ },
+ "num_of_reactions": {
+ "description": "Number of reactions on the post.",
+ "example": 571,
+ "type": "integer"
+ },
+ "post_link": {
+ "description": "LinkedIn URL of the post.",
+ "example": "https://www.linkedin.com/posts/googledeepmind_thomas-story-activity-7313245349987385346-5COL",
"type": "string"
- }
- },
- "type": "object"
- },
- "npr.TopicResponse": {
- "properties": {
- "items": {
+ },
+ "published_at": {
+ "description": "How long ago the post was published, as LinkedIn shows it, for example `1w`.",
+ "example": "1w",
+ "type": "string"
+ },
+ "summary": {
+ "description": "Text of the post.",
+ "example": "When his son was diagnosed with a rare disease, Googler Thomas Wagner...",
+ "type": "string"
+ },
+ "videos": {
+ "description": "URLs of the videos attached to the post.",
+ "example": [
+ "[\"https://example.com/video1.mp4\"]"
+ ],
"items": {
- "$ref": "#/definitions/npr.TopicItem"
+ "type": "string"
},
"type": "array"
- },
- "topic": {
- "type": "string"
}
},
"type": "object"
},
- "npr.articleResponseDoc": {
+ "linkedin.companyResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/npr.ArticleResponse"
+ "$ref": "#/definitions/linkedin.LinkedinCompanyResponse"
},
"msg": {
"example": "OK",
@@ -144035,14 +150248,14 @@
},
"type": "object"
},
- "npr.authorResponseDoc": {
+ "linkedin.productCategoriesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/npr.AuthorResponse"
+ "$ref": "#/definitions/linkedin.ProductCategoriesResponse"
},
"msg": {
"example": "OK",
@@ -144051,14 +150264,14 @@
},
"type": "object"
},
- "npr.categoriesResponseDoc": {
+ "linkedin.productResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/npr.CategoriesResponse"
+ "$ref": "#/definitions/linkedin.LinkedinProductResponse"
},
"msg": {
"example": "OK",
@@ -144067,14 +150280,14 @@
},
"type": "object"
},
- "npr.headlinesResponseDoc": {
+ "linkedin.productsSearchResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/npr.HeadlinesResponse"
+ "$ref": "#/definitions/linkedin.ProductsSearchResponse"
},
"msg": {
"example": "OK",
@@ -144083,14 +150296,14 @@
},
"type": "object"
},
- "npr.topicResponseDoc": {
+ "linkedin.showcaseResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/npr.TopicResponse"
+ "$ref": "#/definitions/linkedin.LinkedinCompanyResponse"
},
"msg": {
"example": "OK",
@@ -144099,431 +150312,216 @@
},
"type": "object"
},
- "numbeo.CityIndexEntry": {
- "properties": {
- "city": {
- "type": "string"
- },
- "city_slug": {
- "type": "string"
- },
- "cost_of_living_index": {
- "description": "Numbeo Cost of Living Index; a higher value means consumer goods cost more.",
- "type": "number"
- },
- "cost_of_living_plus_rent_index": {
- "description": "Numbeo Cost of Living Plus Rent Index, which combines consumer prices and rent.",
- "type": "number"
- },
- "groceries_index": {
- "description": "Numbeo Groceries Index; a higher value means groceries cost more.",
- "type": "number"
- },
- "local_purchasing_power_index": {
- "description": "Numbeo Local Purchasing Power Index; a higher value means locals can afford more with their wages.",
- "type": "number"
- },
- "rank": {
- "type": "integer"
- },
- "rent_index": {
- "description": "Numbeo Rent Index; a higher value means rent costs more.",
- "type": "number"
- },
- "restaurant_price_index": {
- "description": "Numbeo Restaurant Price Index; a higher value means meals and drinks out cost more.",
- "type": "number"
- }
- },
- "type": "object"
- },
- "numbeo.CostOfLivingCityResponse": {
+ "livemint.AuthorResponse": {
"properties": {
- "categories": {
- "description": "Price categories for the city, each with its priced items.",
+ "biography": {
"items": {
- "$ref": "#/definitions/numbeo.PriceCategory"
+ "type": "string"
},
"type": "array"
},
- "city": {
- "description": "City name as Numbeo shows it, with the state or region where Numbeo adds one, such as `Los Angeles, CA`.",
- "type": "string"
- },
- "city_slug": {
- "description": "Numbeo city slug that was requested, such as `Los-Angeles`.",
+ "facebook_url": {
"type": "string"
},
- "contributors_12mo": {
- "description": "Number of different contributors behind the city's prices, as Numbeo reports it.",
- "type": "integer"
- },
- "country": {
- "description": "Country the city is in.",
+ "image_url": {
"type": "string"
},
- "last_update": {
- "description": "Date Numbeo last updated the city's prices, as Numbeo shows it, such as `13 July 2026`.",
+ "instagram_url": {
"type": "string"
},
- "source_url": {
- "description": "URL the data was read from.",
+ "job_title": {
"type": "string"
- }
- },
- "type": "object"
- },
- "numbeo.CostOfLivingCountryResponse": {
- "properties": {
- "categories": {
- "items": {
- "$ref": "#/definitions/numbeo.PriceCategory"
- },
- "type": "array"
- },
- "cities": {
- "items": {
- "$ref": "#/definitions/numbeo.CityIndexEntry"
- },
- "type": "array"
},
- "contributors_12mo": {
- "type": "integer"
- },
- "country": {
+ "linkedin_url": {
"type": "string"
},
- "last_update": {
+ "name": {
"type": "string"
},
- "source_url": {
+ "twitter_url": {
"type": "string"
- }
- },
- "type": "object"
- },
- "numbeo.CountryIndexEntry": {
- "properties": {
- "cost_of_living_index": {
- "description": "Numbeo Cost of Living Index; a higher value means consumer goods cost more.",
- "type": "number"
- },
- "cost_of_living_plus_rent_index": {
- "description": "Numbeo Cost of Living Plus Rent Index, which combines consumer prices and rent.",
- "type": "number"
},
- "country": {
- "description": "Country name as Numbeo shows it.",
+ "url": {
"type": "string"
- },
- "groceries_index": {
- "description": "Numbeo Groceries Index; a higher value means groceries cost more.",
- "type": "number"
- },
- "local_purchasing_power_index": {
- "description": "Numbeo Local Purchasing Power Index; a higher value means locals can afford more with their wages.",
- "type": "number"
- },
- "rank": {
- "description": "Position of the country in Numbeo's cost-of-living ranking, starting at 1.",
- "type": "integer"
- },
- "rent_index": {
- "description": "Numbeo Rent Index; a higher value means rent costs more.",
- "type": "number"
- },
- "restaurant_price_index": {
- "description": "Numbeo Restaurant Price Index; a higher value means meals and drinks out cost more.",
- "type": "number"
}
},
"type": "object"
},
- "numbeo.IndexRankingEntry": {
+ "livescience.AuthorResponse": {
"properties": {
- "city": {
- "description": "City name as Numbeo shows it. Set on city rankings.",
- "type": "string"
- },
- "city_slug": {
- "description": "Numbeo city slug. Set on city rankings.",
- "type": "string"
- },
- "country": {
- "description": "Country name as Numbeo shows it. Set on country rankings.",
- "type": "string"
- },
- "indices": {
- "description": "Index values Numbeo publishes for this row, in table column order.",
+ "articles": {
"items": {
- "$ref": "#/definitions/numbeo.NamedValue"
+ "$ref": "#/definitions/newsplatform.HeadlineItem"
},
"type": "array"
},
- "rank": {
- "description": "Position in the Numbeo ranking, starting at 1.",
- "type": "integer"
- }
- },
- "type": "object"
- },
- "numbeo.IndexRow": {
- "properties": {
- "name": {
- "type": "string"
- },
- "qualifier": {
- "type": "string"
- },
- "value": {
- "type": "number"
- }
- },
- "type": "object"
- },
- "numbeo.IndexSection": {
- "properties": {
- "rows": {
+ "biography": {
"items": {
- "$ref": "#/definitions/numbeo.IndexRow"
+ "type": "string"
},
"type": "array"
},
- "title": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "numbeo.IndicesCityResponse": {
- "properties": {
- "city": {
- "type": "string"
- },
- "city_slug": {
- "type": "string"
+ "has_next_page": {
+ "type": "boolean"
},
- "contributors_note": {
+ "job_title": {
"type": "string"
},
- "country": {
+ "name": {
"type": "string"
},
- "headline_indices": {
- "items": {
- "$ref": "#/definitions/numbeo.NamedValue"
- },
- "type": "array"
- },
- "index": {
- "type": "string"
+ "page": {
+ "type": "integer"
},
- "last_update": {
+ "slug": {
"type": "string"
},
- "price_categories": {
- "items": {
- "$ref": "#/definitions/numbeo.PriceCategory"
- },
- "type": "array"
- },
- "sections": {
+ "social_links": {
"items": {
- "$ref": "#/definitions/numbeo.IndexSection"
+ "$ref": "#/definitions/livescience.AuthorSocialLink"
},
"type": "array"
},
- "source_url": {
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "numbeo.IndicesCountryResponse": {
+ "livescience.AuthorSocialLink": {
"properties": {
- "cities": {
- "items": {
- "$ref": "#/definitions/numbeo.IndexRankingEntry"
- },
- "type": "array"
- },
- "contributors_note": {
- "type": "string"
- },
- "country": {
- "type": "string"
- },
- "headline_indices": {
- "items": {
- "$ref": "#/definitions/numbeo.NamedValue"
- },
- "type": "array"
- },
- "index": {
- "type": "string"
- },
- "last_update": {
+ "platform": {
"type": "string"
},
- "price_categories": {
- "items": {
- "$ref": "#/definitions/numbeo.PriceCategory"
- },
- "type": "array"
- },
- "sections": {
- "items": {
- "$ref": "#/definitions/numbeo.IndexSection"
- },
- "type": "array"
- },
- "source_url": {
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "numbeo.IndicesRankingsByCountryResponse": {
+ "livescore.livescoreNewsFeedItemDoc": {
"properties": {
- "countries": {
- "description": "Countries ranked for this index family, in rank order.",
- "items": {
- "$ref": "#/definitions/numbeo.IndexRankingEntry"
- },
- "type": "array"
- },
- "index": {
- "description": "Index family that was requested, such as `crime` or `traffic`.",
+ "author": {
+ "example": "LiveScore",
"type": "string"
},
- "source_url": {
- "description": "URL the data was read from.",
- "type": "string"
- }
- },
- "type": "object"
- },
- "numbeo.IndicesRankingsResponse": {
- "properties": {
- "cities": {
+ "categories": {
+ "example": [
+ "football"
+ ],
"items": {
- "$ref": "#/definitions/numbeo.IndexRankingEntry"
+ "type": "string"
},
"type": "array"
},
- "index": {
+ "content": {
+ "example": "The complete RSS story body.
",
"type": "string"
},
- "period": {
+ "description": {
+ "example": "A short summary of the latest story.",
"type": "string"
},
- "scope": {
+ "guid": {
+ "example": "https://www.livescore.com/en/news/football/example-story/",
"type": "string"
},
- "source_url": {
+ "link": {
+ "example": "https://www.livescore.com/en/news/football/example-story/",
"type": "string"
- }
- },
- "type": "object"
- },
- "numbeo.NamedValue": {
- "properties": {
- "name": {
- "description": "Name of the index, as Numbeo labels it, such as `Crime Index`.",
+ },
+ "published_at": {
+ "example": "Sat, 26 Sep 2026 08:45:00 GMT",
"type": "string"
},
- "value": {
- "description": "Value of the index named in `name`.",
- "type": "number"
+ "title": {
+ "example": "Latest football news",
+ "type": "string"
}
},
"type": "object"
},
- "numbeo.PriceCategory": {
+ "livescore.livescoreNewsFeedResponseDoc": {
"properties": {
- "category": {
- "description": "Numbeo section name, such as Restaurants, Markets or Rent Per Month.",
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "items": {
- "description": "Priced goods and services listed under this category.",
- "items": {
- "$ref": "#/definitions/numbeo.PriceItem"
+ "data": {
+ "properties": {
+ "count": {
+ "example": 75,
+ "type": "integer"
+ },
+ "items": {
+ "items": {
+ "$ref": "#/definitions/livescore.livescoreNewsFeedItemDoc"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "example": "https://www.livescore.com/en/news/rss.xml",
+ "type": "string"
+ }
},
- "type": "array"
- }
- },
- "type": "object"
- },
- "numbeo.PriceItem": {
- "properties": {
- "currency_symbol": {
- "description": "Currency symbol Numbeo shows for the city's local currency, such as `$` or `€`.",
- "type": "string"
+ "type": "object"
},
- "name": {
- "description": "Name of the good or service, such as a meal at an inexpensive restaurant.",
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "price": {
- "description": "Price of the item in the city's local currency, as shown on Numbeo.",
- "type": "number"
- },
- "range_high": {
- "description": "High end of the price range Numbeo reports for the item.",
- "type": "number"
- },
- "range_low": {
- "description": "Low end of the price range Numbeo reports for the item.",
- "type": "number"
}
},
"type": "object"
},
- "numbeo.RankingsByCountryResponse": {
+ "livescore.livescoreNewsPublisherDoc": {
"properties": {
- "countries": {
- "description": "Countries in Numbeo's cost-of-living ranking, in rank order.",
- "items": {
- "$ref": "#/definitions/numbeo.CountryIndexEntry"
- },
- "type": "array"
+ "contact": {
+ "example": "https://www.statsperform.com/contact/",
+ "type": "string"
},
- "source_url": {
- "description": "URL the data was read from.",
+ "logo_url": {
+ "example": "https://www.livescore.com/ls-web-assets/images/publishers-stats-perform.webp",
"type": "string"
- }
- },
- "type": "object"
- },
- "numbeo.RankingsResponse": {
- "properties": {
- "cities": {
- "items": {
- "$ref": "#/definitions/numbeo.CityIndexEntry"
- },
- "type": "array"
},
- "period": {
+ "name": {
+ "example": "Stats Perform",
"type": "string"
},
- "scope": {
+ "telephone": {
+ "example": "+1 866 221 1426",
"type": "string"
},
- "source_url": {
+ "website": {
+ "example": "https://www.statsperform.com/",
"type": "string"
}
},
"type": "object"
},
- "numbeo.costOfLivingCityResponseDoc": {
+ "livescore.livescoreNewsPublishersResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/numbeo.CostOfLivingCityResponse"
+ "properties": {
+ "count": {
+ "example": 6,
+ "type": "integer"
+ },
+ "publishers": {
+ "items": {
+ "$ref": "#/definitions/livescore.livescoreNewsPublisherDoc"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "example": "https://www.livescore.com/en/news/publishers/",
+ "type": "string"
+ }
+ },
+ "type": "object"
},
"msg": {
"example": "OK",
@@ -144532,14 +150530,32 @@
},
"type": "object"
},
- "numbeo.costOfLivingCountryResponseDoc": {
+ "livescore.livescoreSearchResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/numbeo.CostOfLivingCountryResponse"
+ "properties": {
+ "query": {
+ "example": "Manchester City",
+ "type": "string"
+ },
+ "results": {
+ "additionalProperties": true,
+ "type": "object"
+ },
+ "source_url": {
+ "example": "https://prod-cdn-search-api.lsmedia1.com/api/v2/search/soccer?categories=true&locale=en&query=Manchester+City&stages=true&teams=true&limit=10",
+ "type": "string"
+ },
+ "sport": {
+ "example": "soccer",
+ "type": "string"
+ }
+ },
+ "type": "object"
},
"msg": {
"example": "OK",
@@ -144548,14 +150564,22 @@
},
"type": "object"
},
- "numbeo.indicesCityResponseDoc": {
+ "livescore.newsCategoriesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/numbeo.IndicesCityResponse"
+ "properties": {
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/livescore.newsCategoryDoc"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
},
"msg": {
"example": "OK",
@@ -144564,30 +150588,35 @@
},
"type": "object"
},
- "numbeo.indicesCountryResponseDoc": {
+ "livescore.newsCategoryDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "id": {
+ "example": "football",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/numbeo.IndicesCountryResponse"
+ "name": {
+ "example": "Football",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "type": {
+ "example": "sport",
+ "type": "string"
+ },
+ "url": {
+ "example": "https://www.livescore.com/en/news/football/",
"type": "string"
}
},
"type": "object"
},
- "numbeo.indicesRankingsByCountryResponseDoc": {
+ "livescore.responseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/numbeo.IndicesRankingsByCountryResponse"
+ "$ref": "#/definitions/livescore.sourceDataDoc"
},
"msg": {
"example": "OK",
@@ -144596,46 +150625,48 @@
},
"type": "object"
},
- "numbeo.indicesRankingsResponseDoc": {
+ "livescore.sourceDataDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
"data": {
- "$ref": "#/definitions/numbeo.IndicesRankingsResponse"
+ "additionalProperties": true,
+ "type": "object"
},
- "msg": {
- "example": "OK",
+ "source_url": {
+ "example": "https://www.livescore.com/en/football/uefa-nations-league/league-b-group-3/austria-vs-israel/1738267/",
"type": "string"
}
},
"type": "object"
},
- "numbeo.rankingsByCountryResponseDoc": {
+ "livescore.sportDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/numbeo.RankingsByCountryResponse"
+ "id": {
+ "example": "soccer",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "name": {
+ "example": "Football",
"type": "string"
}
},
"type": "object"
},
- "numbeo.rankingsResponseDoc": {
+ "livescore.sportsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/numbeo.RankingsResponse"
+ "properties": {
+ "sports": {
+ "items": {
+ "$ref": "#/definitions/livescore.sportDoc"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
},
"msg": {
"example": "OK",
@@ -144644,1211 +150675,2190 @@
},
"type": "object"
},
- "nydailynews.AuthorArticle": {
+ "lolesports.CompletedEventsResponse": {
"properties": {
- "published_at": {
- "type": "string"
+ "count": {
+ "example": 54,
+ "type": "integer"
},
- "summary": {
+ "events": {
+ "items": {
+ "$ref": "#/definitions/lolesports.Event"
+ },
+ "type": "array"
+ },
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
"type": "string"
},
- "title": {
+ "source_url": {
+ "example": "https://esports-api.lolesports.com/persisted/gw/getSchedule?hl=en-US",
"type": "string"
},
- "url": {
+ "tournament_id": {
+ "example": "115548681802226458",
"type": "string"
}
},
"type": "object"
},
- "nydailynews.AuthorResponse": {
+ "lolesports.DetailsFrame": {
"properties": {
- "articles": {
+ "participants": {
"items": {
- "$ref": "#/definitions/nydailynews.AuthorArticle"
+ "$ref": "#/definitions/lolesports.DetailsParticipant"
},
"type": "array"
},
- "bio": {
- "type": "string"
- },
- "email": {
- "type": "string"
- },
- "job_title": {
- "type": "string"
- },
- "name": {
- "type": "string"
- },
- "slug": {
- "type": "string"
- },
- "twitter": {
- "type": "string"
- },
- "url": {
+ "timestamp": {
+ "example": "2026-10-07T10:53:11.481Z",
"type": "string"
}
},
"type": "object"
},
- "nymag.AuthorArticle": {
+ "lolesports.DetailsParticipant": {
"properties": {
- "excerpt": {
- "type": "string"
+ "ability_power": {
+ "example": 0,
+ "type": "integer"
},
- "published_at": {
- "type": "string"
+ "armor": {
+ "example": 90,
+ "type": "integer"
},
- "section": {
- "type": "string"
+ "assists": {
+ "example": 0,
+ "type": "integer"
},
- "title": {
- "type": "string"
+ "attack_damage": {
+ "example": 110,
+ "type": "integer"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "nymag.AuthorResponse": {
- "properties": {
- "articles": {
+ "attack_speed": {
+ "example": 125,
+ "type": "integer"
+ },
+ "champion_damage_share": {
+ "example": 0.19,
+ "type": "number"
+ },
+ "creep_score": {
+ "example": 251,
+ "type": "integer"
+ },
+ "critical_chance": {
+ "example": 0,
+ "type": "number"
+ },
+ "deaths": {
+ "example": 5,
+ "type": "integer"
+ },
+ "items": {
"items": {
- "$ref": "#/definitions/nymag.AuthorArticle"
+ "type": "integer"
},
"type": "array"
},
- "bio": {
- "type": "string"
+ "kill_participation": {
+ "example": 0.2,
+ "type": "number"
},
- "job_title": {
- "type": "string"
+ "kills": {
+ "example": 1,
+ "type": "integer"
},
- "name": {
- "type": "string"
+ "level": {
+ "example": 16,
+ "type": "integer"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "nypost.AuthorResponse": {
- "properties": {
- "articles": {
+ "life_steal": {
+ "example": 0,
+ "type": "integer"
+ },
+ "magic_resistance": {
+ "example": 60,
+ "type": "integer"
+ },
+ "participant_id": {
+ "example": 1,
+ "type": "integer"
+ },
+ "rune_ids": {
"items": {
- "$ref": "#/definitions/newsplatform.HeadlineItem"
+ "type": "integer"
},
"type": "array"
},
- "biography": {
+ "rune_style_id": {
+ "example": 8200,
+ "type": "integer"
+ },
+ "rune_sub_style_id": {
+ "example": 8400,
+ "type": "integer"
+ },
+ "skill_order": {
+ "example": [
+ "Q"
+ ],
"items": {
"type": "string"
},
"type": "array"
},
- "image_url": {
- "type": "string"
+ "tenacity": {
+ "example": 0,
+ "type": "number"
},
- "name": {
- "type": "string"
+ "total_gold_earned": {
+ "example": 10852,
+ "type": "integer"
},
- "social_links": {
- "items": {
- "$ref": "#/definitions/nypost.AuthorSocialLink"
- },
- "type": "array"
+ "wards_destroyed": {
+ "example": 5,
+ "type": "integer"
},
- "url": {
- "type": "string"
+ "wards_placed": {
+ "example": 13,
+ "type": "integer"
}
},
"type": "object"
},
- "nypost.AuthorSocialLink": {
+ "lolesports.Event": {
"properties": {
- "type": {
+ "block_name": {
+ "example": "Week 1",
"type": "string"
},
- "url": {
+ "games": {
+ "items": {
+ "$ref": "#/definitions/lolesports.GameVods"
+ },
+ "type": "array"
+ },
+ "league": {
+ "$ref": "#/definitions/lolesports.EventLeague"
+ },
+ "match": {
+ "$ref": "#/definitions/lolesports.Match"
+ },
+ "start_time": {
+ "example": "2026-07-24T14:30:00Z",
+ "type": "string"
+ },
+ "state": {
+ "enum": [
+ "unstarted",
+ "inProgress",
+ "completed"
+ ],
+ "example": "completed",
+ "type": "string"
+ },
+ "type": {
+ "example": "match",
"type": "string"
}
},
"type": "object"
},
- "nyt.ArticleResponse": {
+ "lolesports.EventDetailResponse": {
"properties": {
- "authors": {
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
+ "type": "string"
+ },
+ "games": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/lolesports.Game"
},
"type": "array"
},
- "description": {
+ "id": {
+ "example": "117133816701918802",
"type": "string"
},
- "image_url": {
+ "league": {
+ "$ref": "#/definitions/lolesports.EventLeague"
+ },
+ "source_url": {
+ "example": "https://esports-api.lolesports.com/persisted/gw/getSchedule?hl=en-US",
"type": "string"
},
- "keywords": {
+ "strategy": {
+ "$ref": "#/definitions/lolesports.Strategy"
+ },
+ "streams": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/lolesports.Stream"
},
"type": "array"
},
- "paragraphs": {
+ "teams": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/lolesports.Team"
},
"type": "array"
},
- "published_at": {
+ "tournament_id": {
+ "example": "117133773242499009",
"type": "string"
},
- "section": {
+ "type": {
+ "example": "match",
"type": "string"
- },
- "title": {
+ }
+ },
+ "type": "object"
+ },
+ "lolesports.EventLeague": {
+ "properties": {
+ "id": {
+ "example": "98767991302996019",
"type": "string"
},
- "updated_at": {
+ "name": {
+ "example": "LEC",
"type": "string"
},
- "url": {
+ "slug": {
+ "example": "lec",
"type": "string"
}
},
"type": "object"
},
- "nyt.AuthorAboutSection": {
+ "lolesports.GPRLeague": {
"properties": {
- "heading": {
+ "id": {
"type": "string"
},
- "paragraphs": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "name": {
+ "example": "CBLOL",
+ "type": "string"
+ },
+ "slug": {
+ "example": "cblol-brazil",
+ "type": "string"
+ },
+ "teams": {
+ "example": 4,
+ "type": "integer"
}
},
"type": "object"
},
- "nyt.AuthorArticle": {
+ "lolesports.GPRPoint": {
"properties": {
- "authors": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "description": {
+ "date": {
+ "example": "2026-10-27T05:00:00Z",
"type": "string"
},
- "image_url": {
- "type": "string"
+ "elo": {
+ "example": 1247,
+ "type": "integer"
},
- "title": {
- "type": "string"
+ "rank": {
+ "example": 41,
+ "type": "integer"
},
- "url": {
- "type": "string"
+ "score": {
+ "example": 1177,
+ "type": "integer"
}
},
"type": "object"
},
- "nyt.AuthorContactItem": {
+ "lolesports.GPRRecord": {
"properties": {
- "label": {
- "type": "string"
- },
- "url": {
- "type": "string"
+ "losses": {
+ "example": 37,
+ "type": "integer"
},
- "value": {
- "type": "string"
+ "wins": {
+ "example": 46,
+ "type": "integer"
}
},
"type": "object"
},
- "nyt.AuthorResponse": {
+ "lolesports.GPRResponse": {
"properties": {
- "about": {
+ "count": {
+ "example": 58,
+ "type": "integer"
+ },
+ "end_date": {
+ "example": "2026-10-28",
+ "type": "string"
+ },
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
+ "type": "string"
+ },
+ "leagues": {
"items": {
- "$ref": "#/definitions/nyt.AuthorAboutSection"
+ "$ref": "#/definitions/lolesports.GPRLeague"
},
"type": "array"
},
- "articles": {
+ "season": {
+ "enum": [
+ "current",
+ "2025",
+ "2024"
+ ],
+ "example": "current",
+ "type": "string"
+ },
+ "seasons": {
"items": {
- "$ref": "#/definitions/nyt.AuthorArticle"
+ "$ref": "#/definitions/lolesports.GPRSeasonLink"
},
"type": "array"
},
- "contact": {
+ "source_url": {
+ "example": "https://esports-api.lolesports.com/persisted/gw/getSchedule?hl=en-US",
+ "type": "string"
+ },
+ "start_date": {
+ "example": "2026-01-01",
+ "type": "string"
+ },
+ "teams": {
"items": {
- "$ref": "#/definitions/nyt.AuthorContactItem"
+ "$ref": "#/definitions/lolesports.GPRTeam"
},
"type": "array"
},
- "image_url": {
+ "total": {
+ "example": 58,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "lolesports.GPRSeasonLink": {
+ "properties": {
+ "kind": {
+ "enum": [
+ "current",
+ "worlds"
+ ],
+ "example": "worlds",
"type": "string"
},
- "name": {
+ "season": {
+ "example": "2025",
"type": "string"
},
- "tagline": {
+ "url": {
"type": "string"
},
- "url": {
+ "year": {
+ "example": "2025",
"type": "string"
}
},
"type": "object"
},
- "nyt.CategoriesResponse": {
+ "lolesports.GPRTeam": {
"properties": {
- "categories": {
+ "average_opponent_gpr": {
+ "example": 1132,
+ "type": "integer"
+ },
+ "date_calculated": {
+ "example": "2026-10-27T05:00:00Z",
+ "type": "string"
+ },
+ "elo": {
+ "example": 1247,
+ "type": "integer"
+ },
+ "game_record": {
+ "$ref": "#/definitions/lolesports.GPRRecord"
+ },
+ "history": {
"items": {
- "$ref": "#/definitions/nyt.Category"
+ "$ref": "#/definitions/lolesports.GPRPoint"
+ },
+ "type": "array"
+ },
+ "match_record": {
+ "$ref": "#/definitions/lolesports.GPRRecord"
+ },
+ "previous_rank": {
+ "example": 42,
+ "type": "integer"
+ },
+ "previous_score": {
+ "example": 1170,
+ "type": "integer"
+ },
+ "rank": {
+ "example": 41,
+ "type": "integer"
+ },
+ "rank_change": {
+ "example": 1,
+ "type": "integer"
+ },
+ "score": {
+ "example": 1177,
+ "type": "integer"
+ },
+ "team": {
+ "$ref": "#/definitions/lolesports.GPRTeamRef"
+ },
+ "tournaments": {
+ "items": {
+ "$ref": "#/definitions/lolesports.GPRTournament"
},
"type": "array"
}
},
"type": "object"
},
- "nyt.Category": {
+ "lolesports.GPRTeamRef": {
"properties": {
- "name": {
+ "code": {
+ "example": "LOUD",
"type": "string"
},
- "sections": {
- "items": {
- "$ref": "#/definitions/nyt.CategoryLink"
- },
- "type": "array"
+ "id": {
+ "example": "105397404796640412",
+ "type": "string"
},
- "slug": {
+ "image_url": {
"type": "string"
},
- "url": {
+ "league": {
+ "example": "CBLOL",
"type": "string"
- }
- },
- "type": "object"
- },
- "nyt.CategoryLink": {
- "properties": {
- "name": {
+ },
+ "league_id": {
"type": "string"
},
- "slug": {
+ "league_slug": {
+ "example": "cblol-brazil",
"type": "string"
},
- "url": {
+ "name": {
+ "example": "LOUD",
+ "type": "string"
+ },
+ "slug": {
+ "example": "loud",
"type": "string"
}
},
"type": "object"
},
- "nyt.HeadlineItem": {
+ "lolesports.GPRTournament": {
"properties": {
- "author": {
+ "end_time": {
"type": "string"
},
- "description": {
+ "id": {
+ "example": "115548668059523728",
"type": "string"
},
- "image_url": {
+ "league": {
+ "example": "LEC",
"type": "string"
},
- "published_at": {
+ "losses": {
+ "example": 6,
+ "type": "integer"
+ },
+ "name": {
+ "example": "lec_2026_season",
"type": "string"
},
- "title": {
+ "placement": {
+ "example": 2,
+ "type": "integer"
+ },
+ "region_slug": {
+ "example": "europe",
"type": "string"
},
- "url": {
+ "slug": {
+ "type": "string"
+ },
+ "start_time": {
+ "type": "string"
+ },
+ "state": {
+ "example": "completed",
"type": "string"
+ },
+ "wins": {
+ "example": 12,
+ "type": "integer"
}
},
"type": "object"
},
- "nyt.HeadlinesResponse": {
+ "lolesports.Game": {
"properties": {
- "items": {
+ "id": {
+ "example": "117133816701918803",
+ "type": "string"
+ },
+ "number": {
+ "example": 1,
+ "type": "integer"
+ },
+ "sides": {
"items": {
- "$ref": "#/definitions/nyt.HeadlineItem"
+ "$ref": "#/definitions/lolesports.GameSide"
},
"type": "array"
},
- "section": {
+ "state": {
+ "enum": [
+ "unneeded",
+ "unstarted",
+ "inProgress",
+ "completed"
+ ],
+ "example": "completed",
"type": "string"
+ },
+ "vods": {
+ "items": {
+ "$ref": "#/definitions/lolesports.VOD"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "nyt.Section": {
+ "lolesports.GameDetailsResponse": {
"properties": {
- "name": {
+ "count": {
+ "example": 10,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
"type": "string"
},
- "slug": {
+ "frames": {
+ "items": {
+ "$ref": "#/definitions/lolesports.DetailsFrame"
+ },
+ "type": "array"
+ },
+ "game_id": {
+ "example": "117133816701918803",
"type": "string"
},
- "url": {
+ "source_url": {
+ "example": "https://esports-api.lolesports.com/persisted/gw/getSchedule?hl=en-US",
"type": "string"
}
},
"type": "object"
},
- "nyt.SectionsResponse": {
+ "lolesports.GameSide": {
"properties": {
- "sections": {
+ "side": {
+ "enum": [
+ "blue",
+ "red"
+ ],
+ "example": "blue",
+ "type": "string"
+ },
+ "team_id": {
+ "example": "111504538396430510",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "lolesports.GameVods": {
+ "properties": {
+ "id": {
+ "example": "115548681803406276",
+ "type": "string"
+ },
+ "vods": {
"items": {
- "$ref": "#/definitions/nyt.Section"
+ "$ref": "#/definitions/lolesports.VOD"
},
"type": "array"
}
},
"type": "object"
},
- "nyt.articleResponseDoc": {
+ "lolesports.GameWindowResponse": {
"properties": {
- "code": {
- "example": 200,
+ "blue": {
+ "$ref": "#/definitions/lolesports.TeamMetadata"
+ },
+ "count": {
+ "example": 10,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/nyt.ArticleResponse"
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "frames": {
+ "items": {
+ "$ref": "#/definitions/lolesports.WindowFrame"
+ },
+ "type": "array"
+ },
+ "game_id": {
+ "example": "117133816701918803",
+ "type": "string"
+ },
+ "match_id": {
+ "example": "117133816701918802",
+ "type": "string"
+ },
+ "patch": {
+ "example": "16.18.819.1060",
+ "type": "string"
+ },
+ "red": {
+ "$ref": "#/definitions/lolesports.TeamMetadata"
+ },
+ "source_url": {
+ "example": "https://esports-api.lolesports.com/persisted/gw/getSchedule?hl=en-US",
"type": "string"
}
},
"type": "object"
},
- "nyt.authorResponseDoc": {
+ "lolesports.HomeLeague": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/nyt.AuthorResponse"
+ "name": {
+ "example": "LCK",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "region": {
+ "example": "KOREA",
"type": "string"
}
},
"type": "object"
},
- "nyt.categoriesResponseDoc": {
+ "lolesports.League": {
"properties": {
- "code": {
- "example": 200,
+ "display_status": {
+ "enum": [
+ "force_selected",
+ "selected",
+ "not_selected",
+ "hidden"
+ ],
+ "example": "selected",
+ "type": "string"
+ },
+ "id": {
+ "example": "98767991302996019",
+ "type": "string"
+ },
+ "image_url": {
+ "example": "https://static.lolesports.com/leagues/lec.png",
+ "type": "string"
+ },
+ "name": {
+ "example": "LEC",
+ "type": "string"
+ },
+ "priority": {
+ "example": 1,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/nyt.CategoriesResponse"
+ "region": {
+ "example": "EMEA",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "slug": {
+ "example": "lec",
"type": "string"
}
},
"type": "object"
},
- "nyt.headlinesResponseDoc": {
+ "lolesports.LeaguesResponse": {
"properties": {
- "code": {
- "example": 200,
+ "count": {
+ "example": 51,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/nyt.HeadlinesResponse"
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "leagues": {
+ "items": {
+ "$ref": "#/definitions/lolesports.League"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "example": "https://esports-api.lolesports.com/persisted/gw/getSchedule?hl=en-US",
"type": "string"
}
},
"type": "object"
},
- "nyt.sectionsResponseDoc": {
+ "lolesports.LiveResponse": {
"properties": {
- "code": {
- "example": 200,
+ "count": {
+ "example": 0,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/nyt.SectionsResponse"
+ "events": {
+ "items": {
+ "$ref": "#/definitions/lolesports.Event"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
+ "type": "string"
+ },
+ "source_url": {
+ "example": "https://esports-api.lolesports.com/persisted/gw/getSchedule?hl=en-US",
"type": "string"
}
},
"type": "object"
},
- "nzherald.AuthorResponse": {
+ "lolesports.Match": {
"properties": {
- "articles": {
+ "flags": {
+ "example": [
+ "hasVod"
+ ],
"items": {
- "$ref": "#/definitions/newsplatform.HeadlineItem"
+ "type": "string"
},
"type": "array"
},
- "biography": {
+ "id": {
+ "example": "115548681803406275",
+ "type": "string"
+ },
+ "strategy": {
+ "$ref": "#/definitions/lolesports.Strategy"
+ },
+ "teams": {
+ "items": {
+ "$ref": "#/definitions/lolesports.Team"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "lolesports.NewsArticle": {
+ "properties": {
+ "authors": {
"items": {
"type": "string"
},
"type": "array"
},
- "email": {
+ "description": {
+ "example": "Everything You Need To Know About Worlds!",
+ "type": "string"
+ },
+ "external": {
+ "example": false,
+ "type": "boolean"
+ },
+ "external_url": {
+ "example": "https://www.youtube.com/watch?v=H_B91cxvCRQ",
+ "type": "string"
+ },
+ "id": {
+ "example": "e18c9f59-8497-4196-af3f-18b2fac2b920.en-us",
"type": "string"
},
"image_url": {
+ "example": "https://cdn.sanity.io/images/dsfx7636/news_live/0286cc9daee206f55cf722a3b2830ca3fdad7d59-1600x900.jpg",
"type": "string"
},
- "job_title": {
+ "path": {
+ "example": "/news/worlds-2026-primer",
"type": "string"
},
- "location": {
+ "published_at": {
+ "example": "2026-10-05T15:00:00.000Z",
"type": "string"
},
- "name": {
+ "title": {
+ "example": "Worlds 2026 Primer",
"type": "string"
},
"url": {
+ "example": "https://lolesports.com/en-US/news/worlds-2026-primer",
"type": "string"
}
},
"type": "object"
},
- "oldnavy.AvailabilityResponse": {
+ "lolesports.NewsResponse": {
"properties": {
- "brand": {
- "type": "string"
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/lolesports.NewsArticle"
+ },
+ "type": "array"
},
"count": {
+ "example": 100,
"type": "integer"
},
"fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
"type": "string"
},
- "pid": {
+ "hl": {
+ "example": "en-US",
"type": "string"
},
"source_url": {
+ "example": "https://esports-api.lolesports.com/persisted/gw/getSchedule?hl=en-US",
"type": "string"
},
- "stores": {
- "items": {
- "$ref": "#/definitions/oldnavy.StoreStockSummary"
- },
- "type": "array"
- },
- "style_id": {
- "type": "string"
+ "total": {
+ "example": 100,
+ "type": "integer"
}
},
"type": "object"
},
- "oldnavy.CategoriesResponse": {
+ "lolesports.ParticipantMetadata": {
"properties": {
- "brand": {
+ "champion_id": {
+ "example": "Sion",
"type": "string"
},
- "categories": {
- "items": {
- "$ref": "#/definitions/oldnavy.CategoryNavEntry"
- },
- "type": "array"
+ "participant_id": {
+ "example": 1,
+ "type": "integer"
},
- "cid": {
+ "player_id": {
+ "example": "102206337829139149",
"type": "string"
},
- "fetched_at": {
+ "role": {
+ "enum": [
+ "top",
+ "jungle",
+ "mid",
+ "bottom",
+ "support"
+ ],
+ "example": "top",
"type": "string"
},
- "source_url": {
+ "summoner_name": {
+ "example": "SR Fudge",
"type": "string"
}
},
"type": "object"
},
- "oldnavy.CategoryColorSummary": {
+ "lolesports.Player": {
"properties": {
- "back_order_inventory_count": {
- "type": "integer"
- },
- "back_order_inventory_status": {
+ "first_name": {
+ "example": "Sanghyeok",
"type": "string"
},
"id": {
+ "example": "98767991747728851",
"type": "string"
},
"image_url": {
"type": "string"
},
- "inventory_count": {
- "type": "integer"
- },
- "inventory_status": {
+ "last_name": {
+ "example": "Lee",
"type": "string"
},
- "name": {
+ "role": {
+ "enum": [
+ "top",
+ "jungle",
+ "mid",
+ "bottom",
+ "support",
+ "none"
+ ],
+ "example": "mid",
"type": "string"
},
- "percentage_off": {
- "type": "integer"
- },
- "price": {
- "type": "number"
- },
- "regular_price": {
- "type": "number"
- },
- "short_description": {
+ "summoner_name": {
+ "example": "Faker",
"type": "string"
}
},
"type": "object"
},
- "oldnavy.CategoryGroup": {
+ "lolesports.Ranking": {
"properties": {
- "category_id": {
- "type": "string"
- },
- "category_name": {
- "type": "string"
+ "ordinal": {
+ "example": 1,
+ "type": "integer"
},
- "items": {
+ "teams": {
"items": {
- "$ref": "#/definitions/oldnavy.CategoryGroupItem"
+ "$ref": "#/definitions/lolesports.Team"
},
"type": "array"
- },
- "sub_category_id": {
- "type": "string"
- },
- "sub_category_name": {
- "type": "string"
}
},
"type": "object"
},
- "oldnavy.CategoryGroupItem": {
+ "lolesports.Record": {
"properties": {
- "cc_id": {
- "type": "string"
+ "losses": {
+ "example": 0,
+ "type": "integer"
},
- "style_id": {
- "type": "string"
+ "wins": {
+ "example": 9,
+ "type": "integer"
}
},
"type": "object"
},
- "oldnavy.CategoryNavEntry": {
+ "lolesports.ScheduleResponse": {
"properties": {
- "cid": {
+ "count": {
+ "example": 80,
+ "type": "integer"
+ },
+ "events": {
+ "items": {
+ "$ref": "#/definitions/lolesports.Event"
+ },
+ "type": "array"
+ },
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
"type": "string"
},
- "name": {
+ "newer_page_token": {
"type": "string"
},
- "url": {
+ "older_page_token": {
+ "type": "string"
+ },
+ "source_url": {
+ "example": "https://esports-api.lolesports.com/persisted/gw/getSchedule?hl=en-US",
"type": "string"
}
},
"type": "object"
},
- "oldnavy.CategoryProductSummary": {
+ "lolesports.Season": {
"properties": {
- "colors": {
- "items": {
- "$ref": "#/definitions/oldnavy.CategoryColorSummary"
- },
- "type": "array"
+ "end_time": {
+ "example": "2026-12-31T22:59:00Z",
+ "type": "string"
},
"id": {
+ "example": "115547545029543948",
"type": "string"
},
"name": {
+ "example": "lolesports_2026",
"type": "string"
},
- "review_count": {
- "type": "integer"
+ "slug": {
+ "example": "lolesports_2026",
+ "type": "string"
},
- "review_score": {
- "type": "number"
+ "split_count": {
+ "example": 6,
+ "type": "integer"
},
- "url": {
- "type": "string"
+ "splits": {
+ "items": {
+ "$ref": "#/definitions/lolesports.Split"
+ },
+ "type": "array"
},
- "web_product_type": {
+ "start_time": {
+ "example": "2026-01-01T08:00:00Z",
"type": "string"
}
},
"type": "object"
},
- "oldnavy.CategoryResponse": {
+ "lolesports.SeasonLeague": {
"properties": {
- "brand": {
+ "id": {
+ "example": "98767991302996019",
"type": "string"
},
- "categories": {
- "items": {
- "$ref": "#/definitions/oldnavy.CategoryGroup"
- },
- "type": "array"
- },
- "category_id": {
+ "image_url": {
"type": "string"
},
+ "name": {
+ "example": "LEC",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "lolesports.SeasonsResponse": {
+ "properties": {
"count": {
+ "example": 2,
"type": "integer"
},
- "facets": {
- "items": {
- "$ref": "#/definitions/oldnavy.Facet"
- },
- "type": "array"
- },
"fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
"type": "string"
},
- "page": {
- "type": "integer"
+ "league_id": {
+ "example": "98767991302996019",
+ "type": "string"
},
- "page_size": {
- "type": "integer"
+ "region": {
+ "type": "string"
},
- "products": {
+ "season_id": {
+ "example": "115547545029543948",
+ "type": "string"
+ },
+ "seasons": {
"items": {
- "$ref": "#/definitions/oldnavy.CategoryProductSummary"
+ "$ref": "#/definitions/lolesports.Season"
},
"type": "array"
},
"source_url": {
+ "example": "https://esports-api.lolesports.com/persisted/gw/getSchedule?hl=en-US",
"type": "string"
- },
- "total_colors": {
- "type": "integer"
- },
- "total_pages": {
- "type": "integer"
}
},
"type": "object"
},
- "oldnavy.ColorSummary": {
+ "lolesports.Split": {
"properties": {
- "id": {
+ "description": {
"type": "string"
},
- "image_url": {
+ "end_time": {
+ "example": "2026-09-27T22:00:00Z",
"type": "string"
},
- "name": {
+ "id": {
+ "example": "115548016979679447",
"type": "string"
},
- "percentage_off": {
- "type": "integer"
+ "name": {
+ "example": "Split 3",
+ "type": "string"
},
- "price": {
- "type": "number"
+ "region": {
+ "example": "REGIONAL",
+ "type": "string"
},
- "regular_price": {
- "type": "number"
+ "slug": {
+ "example": "split_3",
+ "type": "string"
},
- "short_description": {
+ "start_time": {
+ "example": "2026-07-19T22:00:00Z",
"type": "string"
+ },
+ "tournaments": {
+ "items": {
+ "$ref": "#/definitions/lolesports.SplitTournament"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "oldnavy.Facet": {
+ "lolesports.SplitTournament": {
"properties": {
- "is_range": {
- "type": "boolean"
- },
- "label": {
+ "id": {
+ "example": "115548681802226458",
"type": "string"
},
+ "league": {
+ "$ref": "#/definitions/lolesports.SeasonLeague"
+ },
"name": {
+ "example": "Summer 2026",
"type": "string"
- },
- "options": {
+ }
+ },
+ "type": "object"
+ },
+ "lolesports.StandingMatch": {
+ "properties": {
+ "flags": {
"items": {
- "$ref": "#/definitions/oldnavy.FacetOption"
+ "type": "string"
},
"type": "array"
},
- "range_max": {
- "type": "number"
+ "id": {
+ "example": "115548681803340575",
+ "type": "string"
},
- "range_min": {
- "type": "number"
+ "previous_match_ids": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "type": {
+ "state": {
+ "example": "completed",
"type": "string"
+ },
+ "teams": {
+ "items": {
+ "$ref": "#/definitions/lolesports.Team"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "oldnavy.FacetOption": {
+ "lolesports.StandingRound": {
"properties": {
- "count": {
- "type": "integer"
+ "match_ids": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "label": {
+ "name": {
+ "example": "Upper Bracket - Round 1",
"type": "string"
},
- "value": {
+ "slug": {
+ "example": "upper_bracket_round_1",
"type": "string"
}
},
"type": "object"
},
- "oldnavy.ProductDetailResponse": {
+ "lolesports.StandingSection": {
"properties": {
- "brand": {
- "type": "string"
- },
- "color": {
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "fetched_at": {
+ "id": {
+ "example": "115548681803012894",
"type": "string"
},
- "images": {
+ "matches": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/lolesports.StandingMatch"
},
"type": "array"
},
"name": {
+ "example": "Regular Season",
"type": "string"
},
- "offers": {
+ "rankings": {
"items": {
- "$ref": "#/definitions/oldnavy.ProductOffer"
+ "$ref": "#/definitions/lolesports.Ranking"
},
"type": "array"
},
- "pid": {
- "type": "string"
- },
- "rating_count": {
- "type": "integer"
- },
- "rating_value": {
- "type": "number"
- },
- "related_items": {
+ "rounds": {
"items": {
- "$ref": "#/definitions/oldnavy.RelatedItem"
+ "$ref": "#/definitions/lolesports.StandingRound"
},
"type": "array"
},
- "source_url": {
- "type": "string"
- },
- "url": {
+ "type": {
+ "enum": [
+ "group",
+ "bracket"
+ ],
+ "example": "bracket",
"type": "string"
}
},
"type": "object"
},
- "oldnavy.ProductOffer": {
+ "lolesports.StandingStage": {
"properties": {
- "availability": {
+ "id": {
+ "example": "115548681802750747",
"type": "string"
},
- "currency": {
+ "name": {
+ "example": "Regular Season",
"type": "string"
},
- "price": {
- "type": "number"
+ "sections": {
+ "items": {
+ "$ref": "#/definitions/lolesports.StandingSection"
+ },
+ "type": "array"
},
- "sku": {
+ "slug": {
+ "example": "regular_season",
"type": "string"
},
- "url": {
+ "type": {
"type": "string"
}
},
"type": "object"
},
- "oldnavy.ProductReviewsResponse": {
+ "lolesports.StandingsResponse": {
"properties": {
- "average_rating": {
- "type": "number"
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
+ "type": "string"
},
- "brand": {
+ "source_url": {
+ "example": "https://esports-api.lolesports.com/persisted/gw/getSchedule?hl=en-US",
"type": "string"
},
+ "stages": {
+ "items": {
+ "$ref": "#/definitions/lolesports.StandingStage"
+ },
+ "type": "array"
+ },
+ "tournament_id": {
+ "example": "115548681802226458",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "lolesports.Strategy": {
+ "properties": {
"count": {
+ "example": 3,
"type": "integer"
},
- "fetched_at": {
+ "type": {
+ "example": "bestOf",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "lolesports.Stream": {
+ "properties": {
+ "locale": {
+ "example": "en-GB",
"type": "string"
},
- "page": {
- "type": "integer"
+ "parameter": {
+ "example": "lec",
+ "type": "string"
},
- "page_size": {
+ "provider": {
+ "example": "twitch",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "lolesports.Team": {
+ "properties": {
+ "code": {
+ "example": "T1",
+ "type": "string"
+ },
+ "game_wins": {
+ "example": 2,
"type": "integer"
},
- "pid": {
+ "id": {
+ "example": "98767991853197861",
"type": "string"
},
- "rating_count": {
- "type": "integer"
+ "image_url": {
+ "example": "https://static.lolesports.com/teams/t1.png",
+ "type": "string"
},
- "rating_histogram": {
- "description": "RatingHistogram is the count of ratings per star, ascending: index 0\nis 1-star, index 4 is 5-star.",
+ "name": {
+ "example": "T1",
+ "type": "string"
+ },
+ "outcome": {
+ "enum": [
+ "win",
+ "loss"
+ ],
+ "example": "win",
+ "type": "string"
+ },
+ "record": {
+ "$ref": "#/definitions/lolesports.Record"
+ },
+ "slug": {
+ "example": "t1",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "lolesports.TeamDetail": {
+ "properties": {
+ "code": {
+ "example": "T1",
+ "type": "string"
+ },
+ "home_league": {
+ "$ref": "#/definitions/lolesports.HomeLeague"
+ },
+ "id": {
+ "example": "98767991853197861",
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "name": {
+ "example": "T1",
+ "type": "string"
+ },
+ "players": {
"items": {
- "type": "integer"
+ "$ref": "#/definitions/lolesports.Player"
},
"type": "array"
},
- "recommended_ratio": {
- "type": "number"
+ "slug": {
+ "example": "t1",
+ "type": "string"
},
- "reviews": {
+ "status": {
+ "enum": [
+ "active",
+ "archived"
+ ],
+ "example": "active",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "lolesports.TeamMetadata": {
+ "properties": {
+ "participants": {
"items": {
- "$ref": "#/definitions/oldnavy.Review"
+ "$ref": "#/definitions/lolesports.ParticipantMetadata"
},
"type": "array"
},
- "source_url": {
+ "team_id": {
+ "example": "111504538396430510",
"type": "string"
- },
- "total_pages": {
- "type": "integer"
- },
- "total_reviews": {
- "type": "integer"
}
},
"type": "object"
},
- "oldnavy.ProductSummary": {
+ "lolesports.TeamTotals": {
"properties": {
- "colors": {
+ "barons": {
+ "example": 0,
+ "type": "integer"
+ },
+ "dragons": {
+ "example": [
+ "infernal"
+ ],
"items": {
- "$ref": "#/definitions/oldnavy.ColorSummary"
+ "type": "string"
},
"type": "array"
},
- "id": {
- "type": "string"
+ "inhibitors": {
+ "example": 0,
+ "type": "integer"
},
- "name": {
+ "participants": {
+ "items": {
+ "$ref": "#/definitions/lolesports.WindowParticipant"
+ },
+ "type": "array"
+ },
+ "total_gold": {
+ "example": 15621,
+ "type": "integer"
+ },
+ "total_kills": {
+ "example": 4,
+ "type": "integer"
+ },
+ "towers": {
+ "example": 1,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "lolesports.TeamsResponse": {
+ "properties": {
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
"type": "string"
},
- "price_max": {
- "type": "number"
+ "has_more": {
+ "example": false,
+ "type": "boolean"
},
- "price_min": {
- "type": "number"
+ "limit": {
+ "example": 25,
+ "type": "integer"
},
- "review_count": {
+ "page": {
+ "example": 1,
"type": "integer"
},
- "review_score": {
- "type": "number"
+ "source_url": {
+ "example": "https://esports-api.lolesports.com/persisted/gw/getSchedule?hl=en-US",
+ "type": "string"
},
- "sale_price_max": {
- "type": "number"
+ "teams": {
+ "items": {
+ "$ref": "#/definitions/lolesports.TeamDetail"
+ },
+ "type": "array"
},
- "sale_price_min": {
- "type": "number"
+ "total": {
+ "example": 1,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "lolesports.Tournament": {
+ "properties": {
+ "end_date": {
+ "example": "2026-09-20",
+ "type": "string"
},
- "thumbnail_url": {
+ "id": {
+ "example": "115548681802226458",
"type": "string"
},
- "url": {
+ "slug": {
+ "example": "lec_split_3_2026",
"type": "string"
},
- "web_product_type": {
+ "start_date": {
+ "example": "2026-07-23",
"type": "string"
}
},
"type": "object"
},
- "oldnavy.RelatedItem": {
+ "lolesports.TournamentsResponse": {
"properties": {
- "name": {
+ "count": {
+ "example": 12,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
"type": "string"
},
- "pid": {
+ "league_id": {
+ "example": "98767991302996019",
"type": "string"
},
- "url": {
+ "source_url": {
+ "example": "https://esports-api.lolesports.com/persisted/gw/getSchedule?hl=en-US",
"type": "string"
+ },
+ "tournaments": {
+ "items": {
+ "$ref": "#/definitions/lolesports.Tournament"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "oldnavy.Review": {
+ "lolesports.VOD": {
"properties": {
- "author": {
+ "end_millis": {
+ "example": 2525000,
+ "type": "integer"
+ },
+ "first_frame_time": {
+ "description": "FirstFrameTime is the UTC time of the recording's first frame, when the upstream knows it.",
+ "example": "2026-10-15T18:00:26.487Z",
"type": "string"
},
- "body": {
+ "id": {
+ "example": "117401850612643795",
"type": "string"
},
- "created_at": {
+ "locale": {
+ "example": "fr-FR",
"type": "string"
},
- "headline": {
+ "locale_name": {
+ "example": "French (France)",
"type": "string"
},
- "helpful_votes": {
+ "offset": {
+ "description": "Offset is the upstream's alignment offset for the recording in milliseconds.",
+ "example": 0,
"type": "integer"
},
- "id": {
+ "parameter": {
+ "example": "xtq9wDAT3zg",
"type": "string"
},
- "location": {
+ "provider": {
+ "example": "youtube",
"type": "string"
},
- "not_helpful_votes": {
+ "start_millis": {
+ "example": 121000,
"type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "lolesports.WindowFrame": {
+ "properties": {
+ "blue": {
+ "$ref": "#/definitions/lolesports.TeamTotals"
},
- "rating": {
- "type": "integer"
+ "game_state": {
+ "enum": [
+ "in_game",
+ "paused",
+ "finished"
+ ],
+ "example": "in_game",
+ "type": "string"
},
- "updated_at": {
+ "red": {
+ "$ref": "#/definitions/lolesports.TeamTotals"
+ },
+ "timestamp": {
+ "example": "2026-10-07T10:20:00.000Z",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "lolesports.WindowParticipant": {
+ "properties": {
+ "assists": {
+ "example": 2,
+ "type": "integer"
},
- "verified_purchase": {
- "type": "boolean"
+ "creep_score": {
+ "example": 54,
+ "type": "integer"
+ },
+ "current_health": {
+ "example": 640,
+ "type": "integer"
+ },
+ "deaths": {
+ "example": 0,
+ "type": "integer"
+ },
+ "kills": {
+ "example": 1,
+ "type": "integer"
+ },
+ "level": {
+ "example": 6,
+ "type": "integer"
+ },
+ "max_health": {
+ "example": 1100,
+ "type": "integer"
+ },
+ "participant_id": {
+ "example": 1,
+ "type": "integer"
+ },
+ "total_gold": {
+ "example": 3200,
+ "type": "integer"
}
},
"type": "object"
},
- "oldnavy.SearchResponse": {
+ "lululemon.CategoriesResponse": {
"properties": {
- "brand": {
- "type": "string"
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/lululemon.CategoryEntry"
+ },
+ "type": "array"
},
"count": {
"type": "integer"
},
- "facets": {
+ "fetched_at": {
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "lululemon.CategoryEntry": {
+ "properties": {
+ "category": {
+ "type": "string"
+ },
+ "cdp_hash": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "path": {
"items": {
- "$ref": "#/definitions/oldnavy.Facet"
+ "type": "string"
},
"type": "array"
},
- "fetched_at": {
+ "section": {
"type": "string"
},
- "keyword": {
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "lululemon.CategoryResponse": {
+ "properties": {
+ "category": {
+ "description": "Category slug that was requested, such as `women-new-styles`.",
+ "type": "string"
+ },
+ "cdp_hash": {
+ "description": "Short id segment of the category URL that was requested.",
+ "type": "string"
+ },
+ "count": {
+ "description": "Number of products returned on this page.",
+ "type": "integer"
+ },
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
"type": "string"
},
"page": {
+ "description": "Page number returned, starting at 1.",
"type": "integer"
},
"page_size": {
+ "description": "Maximum number of products on a page.",
"type": "integer"
},
"products": {
+ "description": "Products listed on this page of the category.",
"items": {
- "$ref": "#/definitions/oldnavy.ProductSummary"
+ "$ref": "#/definitions/lululemon.ProductSummary"
},
"type": "array"
},
"source_url": {
+ "description": "URL the data was read from.",
"type": "string"
},
- "total_pages": {
- "type": "integer"
- },
"total_products": {
+ "description": "Total number of products in the category.",
"type": "integer"
}
},
"type": "object"
},
- "oldnavy.SizeStock": {
+ "lululemon.OutfitItem": {
"properties": {
- "fit": {
+ "category": {
"type": "string"
},
- "sku": {
+ "currency": {
"type": "string"
},
- "status": {
+ "id": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "list_price": {
+ "type": "number"
+ },
+ "on_sale": {
+ "type": "boolean"
+ },
+ "sale_price": {
+ "type": "number"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "oldnavy.Store": {
+ "lululemon.OutfitLook": {
"properties": {
- "address": {
+ "id": {
"type": "string"
},
- "city": {
+ "items": {
+ "items": {
+ "$ref": "#/definitions/lululemon.OutfitItem"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "lululemon.OutfitResponse": {
+ "properties": {
+ "color_code": {
"type": "string"
},
- "country": {
+ "fetched_at": {
"type": "string"
},
- "distance_miles": {
- "type": "number"
+ "item": {
+ "$ref": "#/definitions/lululemon.OutfitItem"
},
- "latitude": {
- "type": "number"
+ "looks": {
+ "items": {
+ "$ref": "#/definitions/lululemon.OutfitLook"
+ },
+ "type": "array"
},
- "longitude": {
- "type": "number"
+ "source_url": {
+ "type": "string"
+ },
+ "unified_id": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "lululemon.ProductDetailColor": {
+ "properties": {
+ "code": {
+ "type": "string"
},
"name": {
"type": "string"
},
- "phone": {
+ "swatch_url": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "lululemon.ProductDetailRating": {
+ "properties": {
+ "count": {
+ "type": "integer"
},
- "postal_code": {
+ "value": {
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "lululemon.ProductDetailResponse": {
+ "properties": {
+ "activities": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "category": {
"type": "string"
},
- "region": {
+ "category_id": {
"type": "string"
},
- "specialties": {
+ "colors": {
+ "items": {
+ "$ref": "#/definitions/lululemon.ProductDetailColor"
+ },
+ "type": "array"
+ },
+ "currency": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "gender": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "highlights": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "name": {
+ "type": "string"
+ },
+ "on_sale": {
+ "type": "boolean"
+ },
+ "price": {
+ "type": "number"
+ },
+ "product_id": {
+ "type": "string"
+ },
+ "rating": {
+ "$ref": "#/definitions/lululemon.ProductDetailRating"
+ },
+ "reviews": {
+ "items": {
+ "$ref": "#/definitions/lululemon.ProductDetailReview"
+ },
+ "type": "array"
+ },
+ "sizes": {
"items": {
"type": "string"
},
"type": "array"
},
+ "skus": {
+ "items": {
+ "$ref": "#/definitions/lululemon.ProductDetailSKU"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "unified_id": {
+ "type": "string"
+ },
"url": {
"type": "string"
}
},
"type": "object"
},
- "oldnavy.StoreResponse": {
+ "lululemon.ProductDetailReview": {
"properties": {
- "brand": {
+ "badge": {
"type": "string"
},
- "count": {
- "type": "integer"
+ "body": {
+ "type": "string"
},
- "fetched_at": {
+ "fit": {
"type": "string"
},
- "lat": {
+ "id": {
+ "type": "string"
+ },
+ "rating": {
"type": "number"
},
- "lng": {
+ "size_purchased": {
+ "type": "string"
+ },
+ "submitted_at": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "verified_buyer": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "lululemon.ProductDetailSKU": {
+ "properties": {
+ "available": {
+ "type": "boolean"
+ },
+ "color_code": {
+ "type": "string"
+ },
+ "color_name": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "on_sale": {
+ "type": "boolean"
+ },
+ "price": {
"type": "number"
},
- "search": {
+ "sale_price": {
+ "type": "number"
+ },
+ "size": {
"type": "string"
},
- "source_url": {
+ "style_id": {
"type": "string"
},
- "stores": {
+ "style_number": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "lululemon.ProductSummary": {
+ "properties": {
+ "activities": {
+ "description": "Activities the product is designed for, such as `Casual` or `Lounge`.",
"items": {
- "$ref": "#/definitions/oldnavy.Store"
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "category": {
+ "description": "Name of the product's category, such as `Sweatpants`.",
+ "type": "string"
+ },
+ "category_id": {
+ "description": "Id of the product's category, such as `womens-sweatpants`.",
+ "type": "string"
+ },
+ "colors": {
+ "description": "Names of the colors the product comes in. Positions match `style_numbers`.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "currency": {
+ "description": "Currency code of the prices, such as `USD`.",
+ "type": "string"
+ },
+ "id": {
+ "description": "lululemon product id.",
+ "type": "string"
+ },
+ "image_url": {
+ "description": "URL of the first image lululemon lists for the product.",
+ "type": "string"
+ },
+ "list_price": {
+ "description": "List price of the product.",
+ "type": "number"
+ },
+ "name": {
+ "description": "Product name as shown on lululemon.",
+ "type": "string"
+ },
+ "new_arrival": {
+ "description": "Whether lululemon flags the product as a new arrival.",
+ "type": "boolean"
+ },
+ "on_sale": {
+ "description": "Whether the product is on sale.",
+ "type": "boolean"
+ },
+ "price": {
+ "description": "Current price of the product.",
+ "type": "number"
+ },
+ "sale_price": {
+ "description": "Sale price of the product. Set only when `on_sale` is `true`.",
+ "type": "number"
+ },
+ "sizes": {
+ "description": "Sizes the product is available in.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style_numbers": {
+ "description": "Style numbers of the product, one per color. Positions match `colors`.",
+ "items": {
+ "type": "string"
},
"type": "array"
+ },
+ "unified_id": {
+ "description": "lululemon's unified product id, a slug such as `Scuba-Evolve-Straight-Leg-Pant-Regular`.",
+ "type": "string"
+ },
+ "url": {
+ "description": "URL of the product page on lululemon.",
+ "type": "string"
}
},
"type": "object"
},
- "oldnavy.StoreStockSummary": {
+ "lululemon.Store": {
"properties": {
"address": {
"type": "string"
},
+ "amenities": {
+ "$ref": "#/definitions/lululemon.StoreAmenities"
+ },
"city": {
"type": "string"
},
+ "country": {
+ "type": "string"
+ },
"distance_miles": {
"type": "number"
},
+ "hours": {
+ "items": {
+ "$ref": "#/definitions/lululemon.StoreHours"
+ },
+ "type": "array"
+ },
+ "id": {
+ "type": "string"
+ },
+ "latitude": {
+ "type": "number"
+ },
+ "longitude": {
+ "type": "number"
+ },
+ "message": {
+ "type": "string"
+ },
"name": {
"type": "string"
},
- "phone": {
+ "slug": {
"type": "string"
},
- "postal_code": {
+ "state": {
"type": "string"
},
- "region": {
+ "state_name": {
"type": "string"
},
- "sizes": {
- "items": {
- "$ref": "#/definitions/oldnavy.SizeStock"
- },
- "type": "array"
+ "status": {
+ "type": "string"
},
- "store_id": {
+ "store_type": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "oldnavy.availabilityResponseDoc": {
+ "lululemon.StoreAmenities": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "buy_online_pickup_store": {
+ "type": "boolean"
},
- "data": {
- "$ref": "#/definitions/oldnavy.AvailabilityResponse"
+ "complementary_hemming": {
+ "type": "boolean"
},
- "msg": {
- "example": "OK",
+ "curbside_pickup": {
+ "type": "boolean"
+ },
+ "footwear": {
+ "type": "boolean"
+ },
+ "has_mirror": {
+ "type": "boolean"
+ },
+ "like_new": {
+ "type": "boolean"
+ },
+ "personal_shopping": {
+ "type": "boolean"
+ },
+ "returns_exchanges": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "lululemon.StoreHours": {
+ "properties": {
+ "close": {
+ "type": "string"
+ },
+ "day": {
+ "type": "string"
+ },
+ "open": {
"type": "string"
}
},
"type": "object"
},
- "oldnavy.categoriesResponseDoc": {
+ "lululemon.StoresResponse": {
"properties": {
- "code": {
- "example": 200,
+ "count": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/oldnavy.CategoriesResponse"
+ "fetched_at": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "source_url": {
"type": "string"
+ },
+ "stores": {
+ "items": {
+ "$ref": "#/definitions/lululemon.Store"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "oldnavy.categoryResponseDoc": {
+ "lululemon.categoriesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/oldnavy.CategoryResponse"
+ "$ref": "#/definitions/lululemon.CategoriesResponse"
},
"msg": {
"example": "OK",
@@ -145857,14 +152867,14 @@
},
"type": "object"
},
- "oldnavy.productResponseDoc": {
+ "lululemon.categoryResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/oldnavy.ProductDetailResponse"
+ "$ref": "#/definitions/lululemon.CategoryResponse"
},
"msg": {
"example": "OK",
@@ -145873,14 +152883,14 @@
},
"type": "object"
},
- "oldnavy.productReviewsResponseDoc": {
+ "lululemon.outfitResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/oldnavy.ProductReviewsResponse"
+ "$ref": "#/definitions/lululemon.OutfitResponse"
},
"msg": {
"example": "OK",
@@ -145889,14 +152899,14 @@
},
"type": "object"
},
- "oldnavy.searchResponseDoc": {
+ "lululemon.productDetailResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/oldnavy.SearchResponse"
+ "$ref": "#/definitions/lululemon.ProductDetailResponse"
},
"msg": {
"example": "OK",
@@ -145905,14 +152915,14 @@
},
"type": "object"
},
- "oldnavy.storesResponseDoc": {
+ "lululemon.storesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/oldnavy.StoreResponse"
+ "$ref": "#/definitions/lululemon.StoresResponse"
},
"msg": {
"example": "OK",
@@ -145921,4507 +152931,4216 @@
},
"type": "object"
},
- "opendota.AbilitiesResponse": {
+ "luma.CalendarDetailResponse": {
"properties": {
- "abilities": {
+ "calendar": {
+ "$ref": "#/definitions/luma.CalendarSummary"
+ },
+ "event_start_ats": {
"items": {
- "$ref": "#/definitions/opendota.AbilitySummary"
+ "type": "string"
},
"type": "array"
},
- "count": {
- "example": 50,
- "type": "integer"
+ "featured_items": {
+ "items": {
+ "$ref": "#/definitions/luma.EventEntry"
+ },
+ "type": "array"
},
- "fetched_at": {
- "example": "2026-10-27T10:00:00Z",
- "type": "string"
+ "has_upcoming_events": {
+ "type": "boolean"
},
- "source_url": {
- "type": "string"
+ "tags": {
+ "items": {
+ "$ref": "#/definitions/luma.CalendarTag"
+ },
+ "type": "array"
},
- "total": {
- "example": 2804,
- "type": "integer"
+ "upcoming": {
+ "$ref": "#/definitions/luma.PlaceEventsResponse"
}
},
"type": "object"
},
- "opendota.AbilitySummary": {
+ "luma.CalendarSummary": {
"properties": {
- "behavior": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "bkb_pierce": {
- "example": "Yes",
- "type": "string"
- },
- "cooldown": {
- "example": "15 12 9 6",
+ "api_id": {
"type": "string"
},
- "damage_type": {
- "example": "Magical",
+ "avatar_url": {
"type": "string"
},
- "description": {
+ "cover_image_url": {
"type": "string"
},
- "dispellable": {
- "example": "No",
+ "description_short": {
"type": "string"
},
- "innate": {
- "example": false,
+ "is_verified": {
"type": "boolean"
},
- "key": {
- "example": "antimage_blink",
- "type": "string"
- },
- "mana_cost": {
- "example": "60 70 80 90",
+ "name": {
"type": "string"
},
- "name": {
- "example": "Blink",
+ "slug": {
"type": "string"
},
- "target_team": {
- "example": "Enemy",
+ "social_image_url": {
"type": "string"
},
- "target_type": {
- "example": "Hero",
+ "timezone": {
"type": "string"
}
},
"type": "object"
},
- "opendota.Benchmark": {
+ "luma.CalendarTag": {
"properties": {
- "metric": {
- "example": "gold_per_min",
+ "api_id": {
"type": "string"
},
- "points": {
- "items": {
- "$ref": "#/definitions/opendota.BenchmarkPoint"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "opendota.BenchmarkPoint": {
- "properties": {
- "percentile": {
- "example": 0.5,
- "type": "number"
+ "color": {
+ "type": "string"
},
- "value": {
- "example": 545.5,
- "type": "number"
+ "name": {
+ "type": "string"
+ },
+ "upcoming_event_count": {
+ "type": "integer"
}
},
"type": "object"
},
- "opendota.BenchmarksResponse": {
+ "luma.CategoriesResponse": {
"properties": {
- "benchmarks": {
+ "entries": {
"items": {
- "$ref": "#/definitions/opendota.Benchmark"
+ "$ref": "#/definitions/luma.CategoryEntry"
},
"type": "array"
},
- "count": {
- "example": 10,
- "type": "integer"
- },
- "fetched_at": {
- "example": "2026-10-27T10:00:00Z",
- "type": "string"
- },
- "hero_id": {
- "example": 1,
- "type": "integer"
- },
- "hero_name": {
- "example": "Anti-Mage",
- "type": "string"
+ "has_more": {
+ "type": "boolean"
},
- "source_url": {
+ "next_cursor": {
"type": "string"
}
},
"type": "object"
},
- "opendota.ConstantEntry": {
+ "luma.Category": {
"properties": {
- "balanced": {
- "example": true,
- "type": "boolean"
+ "api_id": {
+ "type": "string"
},
- "date": {
- "example": "2024-08-14T00:00:00Z",
+ "description": {
"type": "string"
},
- "id": {
- "example": "2",
+ "event_count": {
+ "type": "integer"
+ },
+ "hero_image_desktop_url": {
+ "type": "string"
+ },
+ "icon_url": {
"type": "string"
},
"name": {
- "example": "game_mode_captains_mode",
"type": "string"
},
- "value": {
- "example": 240,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "opendota.ConstantsResponse": {
- "properties": {
- "count": {
- "example": 26,
+ "num_upcoming_events": {
"type": "integer"
},
- "entries": {
- "items": {
- "$ref": "#/definitions/opendota.ConstantEntry"
- },
- "type": "array"
+ "page_title": {
+ "type": "string"
},
- "fetched_at": {
- "example": "2026-10-27T10:00:00Z",
+ "simple_icon_url": {
"type": "string"
},
- "resource": {
- "example": "game_mode",
+ "slug": {
"type": "string"
},
- "source_url": {
+ "social_image_url": {
+ "type": "string"
+ },
+ "tint_color": {
"type": "string"
}
},
"type": "object"
},
- "opendota.DistributionsResponse": {
+ "luma.CategoryDetailResponse": {
"properties": {
- "count": {
- "example": 36,
- "type": "integer"
- },
- "fetched_at": {
- "example": "2026-10-27T10:00:00Z",
- "type": "string"
+ "category": {
+ "$ref": "#/definitions/luma.Category"
},
- "ranks": {
+ "featured_calendars": {
"items": {
- "$ref": "#/definitions/opendota.RankTierRow"
+ "$ref": "#/definitions/luma.CalendarSummary"
},
"type": "array"
},
- "source_url": {
- "type": "string"
- },
- "total_players": {
- "example": 8745631,
+ "num_upcoming_events": {
"type": "integer"
+ },
+ "timeline_calendars": {
+ "items": {
+ "$ref": "#/definitions/luma.CalendarSummary"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "opendota.DurationBin": {
+ "luma.CategoryEntry": {
"properties": {
- "games": {
- "example": 2400,
- "type": "integer"
+ "api_id": {
+ "type": "string"
},
- "start_minute": {
- "example": 20,
- "type": "integer"
+ "category": {
+ "$ref": "#/definitions/luma.Category"
},
- "win_rate_percent": {
- "example": 54.17,
- "type": "number"
+ "event_count": {
+ "type": "integer"
},
- "wins": {
- "example": 1300,
+ "num_upcoming_events": {
"type": "integer"
}
},
"type": "object"
},
- "opendota.Hero": {
+ "luma.EventDetailResponse": {
"properties": {
- "attack_type": {
- "enum": [
- "Melee",
- "Ranged"
- ],
- "example": "Melee",
+ "api_id": {
"type": "string"
},
- "id": {
- "example": 93,
- "type": "integer"
+ "calendar": {
+ "$ref": "#/definitions/luma.CalendarSummary"
},
- "localized_name": {
- "example": "Slark",
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/luma.Category"
+ },
+ "type": "array"
+ },
+ "description": {
"type": "string"
},
+ "event": {
+ "$ref": "#/definitions/luma.PublicEvent"
+ },
+ "guest_count": {
+ "type": "integer"
+ },
+ "hosts": {
+ "items": {
+ "$ref": "#/definitions/luma.PublicHost"
+ },
+ "type": "array"
+ },
"name": {
- "example": "npc_dota_hero_slark",
"type": "string"
},
- "primary_attr": {
- "enum": [
- "agi",
- "all",
- "int",
- "str"
- ],
- "example": "agi",
+ "registration_availability": {
"type": "string"
+ },
+ "ticket_info": {
+ "$ref": "#/definitions/luma.TicketInfo"
+ },
+ "ticket_types": {
+ "items": {
+ "$ref": "#/definitions/luma.TicketType"
+ },
+ "type": "array"
+ },
+ "waitlist_active": {
+ "type": "boolean"
}
},
"type": "object"
},
- "opendota.HeroDurationsResponse": {
+ "luma.EventEntry": {
"properties": {
- "bins": {
+ "api_id": {
+ "type": "string"
+ },
+ "calendar": {
+ "$ref": "#/definitions/luma.CalendarSummary"
+ },
+ "event": {
+ "$ref": "#/definitions/luma.PublicEvent"
+ },
+ "featured_city": {
+ "$ref": "#/definitions/luma.FeaturedCity"
+ },
+ "guest_count": {
+ "type": "integer"
+ },
+ "hosts": {
"items": {
- "$ref": "#/definitions/opendota.DurationBin"
+ "$ref": "#/definitions/luma.PublicHost"
},
"type": "array"
},
- "count": {
- "example": 23,
- "type": "integer"
+ "registration_availability": {
+ "type": "string"
},
- "fetched_at": {
- "example": "2026-10-27T10:00:00Z",
+ "start_at": {
"type": "string"
},
- "hero_id": {
- "example": 1,
+ "tags": {
+ "items": {
+ "$ref": "#/definitions/luma.CalendarTag"
+ },
+ "type": "array"
+ },
+ "ticket_count": {
"type": "integer"
},
- "source_url": {
- "type": "string"
+ "ticket_info": {
+ "$ref": "#/definitions/luma.TicketInfo"
+ },
+ "waitlist_active": {
+ "type": "boolean"
}
},
"type": "object"
},
- "opendota.HeroItemsResponse": {
+ "luma.FeaturedCity": {
"properties": {
- "fetched_at": {
- "example": "2026-10-27T10:00:00Z",
+ "api_id": {
"type": "string"
},
- "hero_id": {
- "example": 1,
- "type": "integer"
- },
- "phases": {
- "items": {
- "$ref": "#/definitions/opendota.ItemPhase"
- },
- "type": "array"
+ "name": {
+ "type": "string"
},
- "source_url": {
+ "slug": {
"type": "string"
}
},
"type": "object"
},
- "opendota.HeroMatchupsResponse": {
+ "luma.Place": {
"properties": {
- "count": {
- "example": 126,
- "type": "integer"
+ "api_id": {
+ "type": "string"
},
- "fetched_at": {
- "example": "2026-10-27T10:00:00Z",
+ "description": {
"type": "string"
},
- "hero_id": {
- "example": 1,
+ "event_count": {
"type": "integer"
},
- "matchups": {
+ "featured_event_api_ids": {
"items": {
- "$ref": "#/definitions/opendota.HeroRecord"
+ "type": "string"
},
"type": "array"
},
- "source_url": {
+ "geo_continent": {
+ "type": "string"
+ },
+ "geo_continent_name": {
+ "type": "string"
+ },
+ "hero_image_desktop_url": {
+ "type": "string"
+ },
+ "hero_image_mobile_url": {
+ "type": "string"
+ },
+ "hero_image_square_url": {
+ "type": "string"
+ },
+ "icon_url": {
+ "type": "string"
+ },
+ "latitude": {
+ "type": "number"
+ },
+ "longitude": {
+ "type": "number"
+ },
+ "name": {
+ "type": "string"
+ },
+ "slug": {
+ "type": "string"
+ },
+ "social_image_url": {
+ "type": "string"
+ },
+ "timezone": {
+ "type": "string"
+ },
+ "tint_color": {
"type": "string"
}
},
"type": "object"
},
- "opendota.HeroRecord": {
+ "luma.PlaceCalendarsResponse": {
"properties": {
- "games": {
- "example": 82,
- "type": "integer"
+ "calendars": {
+ "items": {
+ "$ref": "#/definitions/luma.CalendarSummary"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "luma.PlaceEventsResponse": {
+ "properties": {
+ "entries": {
+ "items": {
+ "$ref": "#/definitions/luma.EventEntry"
+ },
+ "type": "array"
},
- "hero_id": {
- "example": 17,
- "type": "integer"
+ "has_more": {
+ "type": "boolean"
},
- "localized_name": {
- "example": "Storm Spirit",
+ "next_cursor": {
"type": "string"
- },
- "win_rate_percent": {
- "example": 50,
- "type": "number"
- },
- "wins": {
- "example": 41,
- "type": "integer"
}
},
"type": "object"
},
- "opendota.HeroStat": {
+ "luma.PlaceResponse": {
"properties": {
- "attack_range": {
- "example": 150,
- "type": "integer"
+ "place": {
+ "$ref": "#/definitions/luma.Place"
+ }
+ },
+ "type": "object"
+ },
+ "luma.PublicEvent": {
+ "properties": {
+ "api_id": {
+ "type": "string"
},
- "attack_type": {
- "enum": [
- "Melee",
- "Ranged"
- ],
- "example": "Melee",
+ "cover_url": {
"type": "string"
},
- "base_armor": {
- "example": 2,
- "type": "number"
+ "end_at": {
+ "type": "string"
},
- "base_attack_max": {
- "example": 33,
- "type": "integer"
+ "event_type": {
+ "type": "string"
},
- "base_attack_min": {
- "example": 29,
- "type": "integer"
+ "geo_address_info": {
+ "$ref": "#/definitions/luma.PublicLocation"
},
- "base_health": {
- "example": 120,
- "type": "integer"
+ "geo_address_visibility": {
+ "type": "string"
},
- "base_mana": {
- "example": 75,
- "type": "integer"
+ "location_type": {
+ "type": "string"
},
- "id": {
- "example": 1,
- "type": "integer"
+ "name": {
+ "type": "string"
},
- "localized_name": {
- "example": "Anti-Mage",
+ "social_image_url": {
"type": "string"
},
- "move_speed": {
- "example": 310,
- "type": "integer"
+ "start_at": {
+ "type": "string"
},
- "name": {
- "example": "npc_dota_hero_antimage",
+ "timezone": {
"type": "string"
},
- "primary_attr": {
- "enum": [
- "agi",
- "all",
- "int",
- "str"
- ],
- "example": "agi",
+ "url": {
"type": "string"
},
- "pro": {
- "$ref": "#/definitions/opendota.PickWin"
+ "visibility": {
+ "type": "string"
},
- "public": {
- "$ref": "#/definitions/opendota.PickWin"
+ "waitlist_enabled": {
+ "type": "boolean"
},
- "rank_brackets": {
- "items": {
- "$ref": "#/definitions/opendota.RankBracket"
- },
- "type": "array"
+ "waitlist_status": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "luma.PublicHost": {
+ "properties": {
+ "avatar_url": {
+ "type": "string"
},
- "roles": {
- "example": [
- "Carry"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
+ "is_verified": {
+ "type": "boolean"
},
- "turbo": {
- "$ref": "#/definitions/opendota.PickWin"
+ "name": {
+ "type": "string"
}
},
"type": "object"
},
- "opendota.HeroStatsResponse": {
+ "luma.PublicLocation": {
"properties": {
- "count": {
- "example": 127,
- "type": "integer"
+ "city": {
+ "type": "string"
},
- "fetched_at": {
- "example": "2026-10-27T10:00:00Z",
+ "city_state": {
"type": "string"
},
- "heroes": {
- "items": {
- "$ref": "#/definitions/opendota.HeroStat"
- },
- "type": "array"
+ "country": {
+ "type": "string"
},
- "source_url": {
+ "country_code": {
+ "type": "string"
+ },
+ "region": {
+ "type": "string"
+ },
+ "region_short": {
+ "type": "string"
+ },
+ "sublocality": {
"type": "string"
}
},
"type": "object"
},
- "opendota.HeroesResponse": {
+ "luma.TicketInfo": {
"properties": {
- "count": {
- "example": 127,
- "type": "integer"
+ "is_free": {
+ "type": "boolean"
},
- "fetched_at": {
- "example": "2026-10-27T10:00:00Z",
- "type": "string"
+ "is_near_capacity": {
+ "type": "boolean"
},
- "heroes": {
- "items": {
- "$ref": "#/definitions/opendota.Hero"
- },
- "type": "array"
+ "is_sold_out": {
+ "type": "boolean"
},
- "source_url": {
+ "max_price": {
+ "$ref": "#/definitions/luma.TicketPrice"
+ },
+ "price": {
+ "$ref": "#/definitions/luma.TicketPrice"
+ },
+ "require_approval": {
+ "type": "boolean"
+ },
+ "spots_remaining": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "luma.TicketPrice": {
+ "properties": {
+ "cents": {
+ "type": "integer"
+ },
+ "currency": {
"type": "string"
+ },
+ "is_flexible": {
+ "type": "boolean"
}
},
"type": "object"
},
- "opendota.ItemAbility": {
+ "luma.TicketType": {
"properties": {
+ "cents": {
+ "type": "integer"
+ },
+ "currency": {
+ "type": "string"
+ },
"description": {
"type": "string"
},
- "title": {
- "example": "Blink",
+ "is_disabled": {
+ "type": "boolean"
+ },
+ "is_hidden": {
+ "type": "boolean"
+ },
+ "max_capacity": {
+ "type": "integer"
+ },
+ "name": {
"type": "string"
},
+ "require_approval": {
+ "type": "boolean"
+ },
+ "spots_remaining": {
+ "type": "integer"
+ },
"type": {
- "example": "active",
+ "type": "string"
+ },
+ "valid_end_at": {
+ "type": "string"
+ },
+ "valid_start_at": {
"type": "string"
}
},
"type": "object"
},
- "opendota.ItemAttribute": {
+ "macrumors.AuthorArticle": {
"properties": {
- "key": {
- "example": "blink_range",
+ "image_url": {
"type": "string"
},
- "value": {
- "example": "1200",
+ "published_at": {
+ "type": "string"
+ },
+ "summary": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "opendota.ItemCount": {
+ "macrumors.AuthorResponse": {
"properties": {
- "count": {
- "example": 97,
- "type": "integer"
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/macrumors.AuthorArticle"
+ },
+ "type": "array"
},
- "item_id": {
- "example": 63,
- "type": "integer"
+ "bio": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
},
"name": {
- "example": "power_treads",
+ "type": "string"
+ },
+ "slug": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "opendota.ItemPhase": {
+ "macys.ProductColor": {
"properties": {
- "items": {
- "items": {
- "$ref": "#/definitions/opendota.ItemCount"
- },
- "type": "array"
+ "current_price": {
+ "type": "number"
},
- "phase": {
- "enum": [
- "start_game",
- "early_game",
- "mid_game",
- "late_game"
- ],
- "example": "early_game",
+ "id": {
+ "type": "string"
+ },
+ "name": {
"type": "string"
+ },
+ "on_sale": {
+ "type": "boolean"
+ },
+ "regular_price": {
+ "type": "number"
}
},
"type": "object"
},
- "opendota.ItemSummary": {
+ "macys.ProductDetailResponse": {
"properties": {
- "abilities": {
+ "available": {
+ "type": "boolean"
+ },
+ "brand": {
+ "type": "string"
+ },
+ "bullet_points": {
"items": {
- "$ref": "#/definitions/opendota.ItemAbility"
+ "type": "string"
},
"type": "array"
},
- "attributes": {
+ "categories": {
"items": {
- "$ref": "#/definitions/opendota.ItemAttribute"
+ "type": "string"
},
"type": "array"
},
- "behavior": {
- "example": "Point Target",
- "type": "string"
- },
- "components": {
+ "colors": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/macys.ProductColor"
},
"type": "array"
},
- "cooldown": {
- "example": "15",
+ "currency_code": {
"type": "string"
},
- "cost_gold": {
- "example": 2250,
- "type": "integer"
+ "current_price": {
+ "type": "number"
},
- "id": {
- "example": 1,
- "type": "integer"
+ "department_name": {
+ "type": "string"
},
- "key": {
- "example": "blink",
+ "description": {
"type": "string"
},
- "mana_cost": {
- "example": "0",
+ "division_name": {
+ "type": "string"
+ },
+ "fetched_at": {
"type": "string"
},
+ "images": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "low_availability": {
+ "type": "boolean"
+ },
"name": {
- "example": "Blink Dagger",
"type": "string"
},
- "quality": {
- "example": "component",
+ "on_sale": {
+ "type": "boolean"
+ },
+ "product_id": {
+ "type": "string"
+ },
+ "rating": {
+ "type": "number"
+ },
+ "regular_price": {
+ "type": "number"
+ },
+ "review_count": {
+ "type": "integer"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "opendota.ItemsResponse": {
+ "macys.ProductReviewsResponse": {
"properties": {
+ "average_rating": {
+ "type": "number"
+ },
"count": {
- "example": 50,
"type": "integer"
},
"fetched_at": {
- "example": "2026-10-27T10:00:00Z",
"type": "string"
},
- "items": {
+ "page": {
+ "type": "integer"
+ },
+ "page_size": {
+ "type": "integer"
+ },
+ "product_id": {
+ "type": "string"
+ },
+ "rating_count": {
+ "description": "RatingCount, AverageRating, RecommendedRatio, and RatingHistogram are\nthe product's site-wide aggregate rating summary, not just this page --\nabsent (zero-valued) for a product with no reviews yet.",
+ "type": "integer"
+ },
+ "rating_histogram": {
+ "description": "RatingHistogram is the count of ratings per star, ascending: index 0 is\n1-star, index 4 is 5-star.",
"items": {
- "$ref": "#/definitions/opendota.ItemSummary"
+ "type": "integer"
},
"type": "array"
},
- "qualities": {
+ "recommended_ratio": {
+ "type": "number"
+ },
+ "reviews": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/macys.Review"
},
"type": "array"
},
"source_url": {
"type": "string"
},
- "total": {
- "example": 501,
+ "total_pages": {
+ "type": "integer"
+ },
+ "total_reviews": {
"type": "integer"
}
},
"type": "object"
},
- "opendota.League": {
+ "macys.Review": {
"properties": {
- "banner": {
- "example": "https://cdn.opendota.com/leagues/20395.png",
+ "author": {
+ "type": "string"
+ },
+ "body": {
"type": "string"
},
"id": {
- "example": 20395,
- "type": "integer"
+ "type": "string"
},
- "name": {
- "example": "PARI UNIVERSE by FISSURE",
+ "location": {
"type": "string"
},
- "ticket": {
- "example": "DPC2023",
+ "rating": {
+ "type": "integer"
+ },
+ "ratings_only": {
+ "description": "RatingsOnly marks a review that carries only a star rating with no\nwritten title/body -- confirmed live 2026-08-11 that Macy's review\nplatform allows these and this endpoint still surfaces them.",
+ "type": "boolean"
+ },
+ "recommended": {
+ "type": "boolean"
+ },
+ "submitted_at": {
"type": "string"
},
- "tier": {
- "example": "professional",
+ "title": {
"type": "string"
}
},
"type": "object"
},
- "opendota.LeagueDetailResponse": {
+ "macys.SuggestResponse": {
"properties": {
+ "count": {
+ "type": "integer"
+ },
"fetched_at": {
- "example": "2026-10-27T10:00:00Z",
"type": "string"
},
- "league": {
- "$ref": "#/definitions/opendota.League"
+ "query": {
+ "type": "string"
},
"source_url": {
"type": "string"
},
- "teams": {
+ "suggestions": {
"items": {
- "$ref": "#/definitions/opendota.Team"
+ "type": "string"
},
"type": "array"
}
},
"type": "object"
},
- "opendota.LeagueMatch": {
+ "macys.productDetailResponseDoc": {
"properties": {
- "dire_name": {
- "example": "LEGION",
- "type": "string"
- },
- "dire_score": {
- "example": 9,
- "type": "integer"
- },
- "dire_team_id": {
- "example": 10291652,
- "type": "integer"
- },
- "duration_seconds": {
- "example": 2052,
- "type": "integer"
- },
- "league_id": {
- "example": 20395,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "match_id": {
- "example": 9063495955,
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/macys.ProductDetailResponse"
},
- "radiant_name": {
- "example": "BETBOOM TEAM",
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "radiant_score": {
- "example": 32,
- "type": "integer"
- },
- "radiant_team_id": {
- "example": 8255888,
- "type": "integer"
- },
- "radiant_win": {
- "example": true,
- "type": "boolean"
- },
- "series_id": {
- "example": 1160235,
+ }
+ },
+ "type": "object"
+ },
+ "macys.productReviewsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "series_type": {
- "example": 3,
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/macys.ProductReviewsResponse"
},
- "start_time": {
- "example": "2026-10-26T20:56:07Z",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "opendota.LeagueMatchIDsResponse": {
+ "macys.suggestResponseDoc": {
"properties": {
- "count": {
- "example": 45,
- "type": "integer"
- },
- "fetched_at": {
- "example": "2026-10-27T10:00:00Z",
- "type": "string"
- },
- "league_id": {
- "example": 20395,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "match_ids": {
- "items": {
- "type": "integer"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/macys.SuggestResponse"
},
- "source_url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "opendota.LeagueMatchesResponse": {
+ "makeuseof.AuthorResponse": {
"properties": {
- "count": {
- "example": 45,
- "type": "integer"
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/newsplatform.HeadlineItem"
+ },
+ "type": "array"
},
- "fetched_at": {
- "example": "2026-10-27T10:00:00Z",
+ "biography": {
"type": "string"
},
- "league_id": {
- "example": 20395,
- "type": "integer"
+ "image_url": {
+ "type": "string"
},
- "matches": {
+ "name": {
+ "type": "string"
+ },
+ "social_links": {
"items": {
- "$ref": "#/definitions/opendota.LeagueMatch"
+ "$ref": "#/definitions/valnet.AuthorSocialLink"
},
"type": "array"
},
- "source_url": {
+ "title": {
"type": "string"
},
- "team_id": {
- "example": 8255888,
- "type": "integer"
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "opendota.LeaguesResponse": {
+ "marketwatch.AuthorArticle": {
"properties": {
- "count": {
- "example": 10411,
- "type": "integer"
- },
- "fetched_at": {
- "example": "2026-10-27T10:00:00Z",
+ "title": {
"type": "string"
},
- "leagues": {
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "marketwatch.AuthorResponse": {
+ "properties": {
+ "articles": {
"items": {
- "$ref": "#/definitions/opendota.League"
+ "$ref": "#/definitions/marketwatch.AuthorArticle"
},
"type": "array"
},
- "source_url": {
+ "bio": {
"type": "string"
},
- "tier_filter": {
- "example": "professional",
+ "job_title": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "slug": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "works_for": {
"type": "string"
}
},
"type": "object"
},
- "opendota.LiveMatch": {
+ "mashable.AuthorResponse": {
"properties": {
- "delay_seconds": {
- "example": 120,
- "type": "integer"
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/newsplatform.HeadlineItem"
+ },
+ "type": "array"
},
- "dire_name": {
- "example": "Team Dire",
- "type": "string"
+ "biography": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "dire_score": {
- "example": 26,
- "type": "integer"
+ "has_next_page": {
+ "type": "boolean"
},
- "game_time_seconds": {
- "example": 1820,
- "type": "integer"
+ "image_url": {
+ "type": "string"
},
- "last_update_time": {
- "example": 1793055400,
- "type": "integer"
+ "name": {
+ "type": "string"
},
- "league_id": {
- "example": 19350,
+ "page": {
"type": "integer"
},
- "match_id": {
- "example": 9063586855,
- "type": "integer"
+ "slug": {
+ "type": "string"
},
- "players": {
+ "social_links": {
"items": {
- "$ref": "#/definitions/opendota.LivePlayer"
+ "$ref": "#/definitions/mashable.AuthorSocialLink"
},
"type": "array"
},
- "radiant_lead": {
- "example": -500,
- "type": "integer"
- },
- "radiant_name": {
- "example": "Team Radiant",
+ "title": {
"type": "string"
},
- "radiant_score": {
- "example": 31,
- "type": "integer"
- },
- "spectators": {
- "example": 24,
- "type": "integer"
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "opendota.LiveMatchesResponse": {
+ "mashable.AuthorSocialLink": {
"properties": {
- "count": {
- "example": 1,
- "type": "integer"
- },
- "fetched_at": {
- "example": "2026-10-27T10:00:00Z",
+ "platform": {
"type": "string"
},
- "matches": {
- "items": {
- "$ref": "#/definitions/opendota.LiveMatch"
- },
- "type": "array"
- },
- "source_url": {
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "opendota.LivePlayer": {
+ "maxpreps.AssociationAffiliation": {
"properties": {
- "hero_id": {
- "example": 93,
+ "abbreviation": {
+ "type": "string"
+ },
+ "associationId": {
+ "type": "string"
+ },
+ "governingScope": {
"type": "integer"
},
+ "isPartner": {
+ "type": "boolean"
+ },
+ "isStatePrimaryAssociation": {
+ "type": "boolean"
+ },
"name": {
- "example": "player-name",
"type": "string"
},
- "team_code": {
- "enum": [
- 0,
- 1
- ],
- "example": 0,
- "type": "integer"
+ "supportingMaterials": {
+ "items": {
+ "$ref": "#/definitions/maxpreps.SupportingMaterial"
+ },
+ "type": "array"
},
- "team_slot": {
- "enum": [
- 1,
- 2,
- 3,
- 4,
- 5
- ],
- "example": 1,
+ "type": {
"type": "integer"
}
},
"type": "object"
},
- "opendota.MatchDetail": {
+ "maxpreps.CalculatedFields": {
"properties": {
- "dire": {
- "$ref": "#/definitions/opendota.MatchTeam"
+ "allowEditContestResults": {
+ "type": "boolean"
},
- "dire_score": {
- "example": 9,
+ "allowReportFinalScore": {
+ "type": "boolean"
+ },
+ "allowReportInGameScore": {
+ "type": "boolean"
+ },
+ "bracketGameIndex": {
"type": "integer"
},
- "duration_seconds": {
- "example": 2052,
+ "bracketGamesInMatchup": {
"type": "integer"
},
- "fetched_at": {
- "example": "2026-10-27T10:00:00Z",
+ "bracketIsPublished": {
+ "type": "boolean"
+ },
+ "bracketMatchupID": {
"type": "string"
},
- "league_id": {
- "example": 20395,
+ "bracketName": {
+ "type": "string"
+ },
+ "calculatedContestResult": {
"type": "integer"
},
- "league_name": {
- "example": "PARI UNIVERSE by FISSURE",
+ "canonicalUrl": {
"type": "string"
},
- "match_id": {
- "example": 9063495955,
- "type": "integer"
+ "contestAlias": {
+ "type": "string"
},
- "patch": {
- "example": 59,
- "type": "integer"
+ "contestDateInGMT": {
+ "type": "string"
},
- "players": {
- "items": {
- "$ref": "#/definitions/opendota.MatchPlayer"
- },
- "type": "array"
+ "contestId": {
+ "type": "string"
},
- "radiant": {
- "$ref": "#/definitions/opendota.MatchTeam"
+ "contestLength": {
+ "type": "integer"
},
- "radiant_score": {
- "example": 32,
+ "contestState": {
"type": "integer"
},
- "radiant_win": {
- "example": true,
- "type": "boolean"
+ "currentLivePeriod": {
+ "type": "integer"
},
- "source_url": {
+ "currentLiveTime": {
"type": "string"
},
- "start_time": {
- "example": "2026-10-26T20:56:07Z",
+ "description": {
"type": "string"
- }
- },
- "type": "object"
- },
- "opendota.MatchPlayer": {
- "properties": {
- "assists": {
- "example": 16,
- "type": "integer"
},
- "deaths": {
- "example": 1,
- "type": "integer"
+ "endsOn": {
+ "type": "string"
},
- "denies": {
- "example": 12,
- "type": "integer"
+ "hasContestPage": {
+ "type": "boolean"
},
- "gold_per_min": {
- "example": 656,
- "type": "integer"
+ "hasGameChangerImportedStats": {
+ "type": "boolean"
},
- "hero_damage": {
- "example": 24331,
- "type": "integer"
+ "isDateTba": {
+ "type": "boolean"
},
- "hero_id": {
- "example": 93,
- "type": "integer"
+ "isGameChangerConnected": {
+ "type": "boolean"
},
- "is_radiant": {
- "example": true,
+ "isLiveGameInProgress": {
"type": "boolean"
},
- "kills": {
- "example": 5,
- "type": "integer"
+ "isLiveScoringEnabled": {
+ "type": "boolean"
},
- "last_hits": {
- "example": 287,
- "type": "integer"
+ "isTimeTba": {
+ "type": "boolean"
},
- "level": {
- "example": 28,
- "type": "integer"
+ "mainQwixcoreGameId": {
+ "type": "string"
},
- "name": {
- "example": "player-name",
+ "overtimeAlias": {
"type": "string"
},
- "net_worth": {
- "example": 21553,
+ "overtimePeriodsPlayed": {
"type": "integer"
},
- "tower_damage": {
- "example": 1234,
- "type": "integer"
+ "overtimeShortAlias": {
+ "type": "string"
},
- "xp_per_min": {
- "example": 781,
- "type": "integer"
+ "reportFinalScoreUrl": {
+ "type": "string"
+ },
+ "reportInGameScoreUrl": {
+ "type": "string"
+ },
+ "teamsCalculated": {
+ "items": {
+ "$ref": "#/definitions/maxpreps.CalculatedTeam"
+ },
+ "type": "array"
+ },
+ "title": {
+ "type": "string"
+ },
+ "tournamentCanonicalUrl": {
+ "type": "string"
+ },
+ "tournamentName": {
+ "type": "string"
+ },
+ "tournamentOrganizationName": {
+ "type": "string"
}
},
"type": "object"
},
- "opendota.MatchTeam": {
+ "maxpreps.CalculatedTeam": {
"properties": {
- "id": {
- "example": 8255888,
+ "calculatedTeamContestResult": {
"type": "integer"
},
- "logo_url": {
- "example": "https://cdn.opendota.com/team-logo.png",
+ "contestId": {
"type": "string"
},
- "name": {
- "example": "BETBOOM TEAM",
+ "currentLiveScore": {
+ "type": "integer"
+ },
+ "hasHudlStatsImported": {
+ "type": "boolean"
+ },
+ "resultString": {
"type": "string"
},
- "tag": {
- "example": "BB",
+ "standings": {
+ "type": "string"
+ },
+ "teamId": {
"type": "string"
}
},
"type": "object"
},
- "opendota.PatchAbilityChange": {
+ "maxpreps.Contest": {
"properties": {
- "key": {
- "example": "abaddon_death_coil",
+ "city": {
"type": "string"
},
- "notes": {
- "items": {
- "type": "string"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "opendota.PatchHeroChange": {
- "properties": {
- "abilities": {
- "items": {
- "$ref": "#/definitions/opendota.PatchAbilityChange"
- },
- "type": "array"
+ "contestId": {
+ "type": "string"
},
- "general": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "createdOn": {
+ "type": "string"
},
- "hero_id": {
- "example": 102,
+ "date": {
+ "type": "string"
+ },
+ "dateCode": {
"type": "integer"
},
- "key": {
- "example": "abaddon",
+ "details": {
+ "type": "string"
+ },
+ "gameSource": {
+ "type": "string"
+ },
+ "hasResult": {
+ "type": "boolean"
+ },
+ "hasStory": {
+ "type": "boolean"
+ },
+ "importedOn": {
+ "type": "string"
+ },
+ "isDeleted": {
+ "type": "boolean"
+ },
+ "isFlagged": {
+ "type": "boolean"
+ },
+ "isGow": {
+ "type": "boolean"
+ },
+ "isMultiTeam": {
+ "type": "boolean"
+ },
+ "isScheduleImport": {
+ "type": "boolean"
+ },
+ "isScoreImport": {
+ "type": "boolean"
+ },
+ "isScoresVerified": {
+ "type": "boolean"
+ },
+ "location": {
+ "type": "string"
+ },
+ "modifiedOn": {
"type": "string"
},
"name": {
- "example": "Abaddon",
"type": "string"
},
- "talents": {
+ "scoreAddedOn": {
+ "type": "string"
+ },
+ "scoreSource": {
+ "type": "string"
+ },
+ "scoreStamp": {
+ "type": "string"
+ },
+ "shouldBuildNewStory": {
+ "type": "boolean"
+ },
+ "shouldOverrideConf": {
+ "type": "boolean"
+ },
+ "sportSeasonId": {
+ "type": "string"
+ },
+ "state": {
+ "type": "string"
+ },
+ "storyPickedupOn": {
+ "type": "string"
+ },
+ "teams": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/maxpreps.ContestTeam"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "opendota.PatchIndexEntry": {
- "properties": {
- "heroes_changed": {
- "example": 96,
- "type": "integer"
},
- "items_changed": {
- "example": 60,
- "type": "integer"
- },
- "patch": {
- "example": "7_38",
+ "tournamentBracketId": {
"type": "string"
},
- "version": {
- "example": "7.38",
+ "tournamentId": {
"type": "string"
}
},
"type": "object"
},
- "opendota.PatchItemChange": {
+ "maxpreps.ContestIDsByDate": {
"properties": {
- "key": {
- "example": "blink",
- "type": "string"
- },
- "notes": {
+ "contestIds": {
"items": {
"type": "string"
},
"type": "array"
+ },
+ "date": {
+ "type": "string"
}
},
"type": "object"
},
- "opendota.PatchNotesResponse": {
+ "maxpreps.ContestTeam": {
"properties": {
- "count": {
- "example": 116,
- "type": "integer"
+ "address": {
+ "type": "string"
},
- "fetched_at": {
- "example": "2026-10-27T10:00:00Z",
+ "address2": {
"type": "string"
},
- "general": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "b1": {
+ "type": "integer"
},
- "heroes": {
- "items": {
- "$ref": "#/definitions/opendota.PatchHeroChange"
- },
- "type": "array"
+ "b10": {
+ "type": "integer"
},
- "items": {
- "items": {
- "$ref": "#/definitions/opendota.PatchItemChange"
- },
- "type": "array"
+ "b11": {
+ "type": "integer"
},
- "misc": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "b12": {
+ "type": "integer"
},
- "patch": {
- "example": "7_38",
- "type": "string"
+ "b13": {
+ "type": "integer"
},
- "patches": {
- "items": {
- "$ref": "#/definitions/opendota.PatchIndexEntry"
- },
- "type": "array"
+ "b14": {
+ "type": "integer"
},
- "source_url": {
- "type": "string"
+ "b15": {
+ "type": "integer"
},
- "version": {
- "example": "7.38",
- "type": "string"
- }
- },
- "type": "object"
- },
- "opendota.PickWin": {
- "properties": {
- "bans": {
- "example": 36,
+ "b16": {
"type": "integer"
},
- "picks": {
- "example": 13,
+ "b17": {
"type": "integer"
},
- "win_rate_percent": {
- "example": 53.85,
- "type": "number"
+ "b18": {
+ "type": "integer"
},
- "wins": {
- "example": 7,
+ "b19": {
"type": "integer"
- }
- },
- "type": "object"
- },
- "opendota.ProMatch": {
- "properties": {
- "dire_name": {
- "example": "LEGION",
- "type": "string"
},
- "dire_score": {
- "example": 9,
+ "b2": {
"type": "integer"
},
- "dire_team_id": {
- "example": 10291652,
+ "b20": {
"type": "integer"
},
- "duration_seconds": {
- "example": 2052,
+ "b21": {
"type": "integer"
},
- "league_id": {
- "example": 20395,
+ "b22": {
"type": "integer"
},
- "league_name": {
- "example": "PARI UNIVERSE by FISSURE",
- "type": "string"
+ "b23": {
+ "type": "integer"
},
- "match_id": {
- "example": 9063495955,
+ "b24": {
"type": "integer"
},
- "radiant_name": {
- "example": "BETBOOM TEAM",
- "type": "string"
+ "b25": {
+ "type": "integer"
},
- "radiant_score": {
- "example": 32,
+ "b26": {
"type": "integer"
},
- "radiant_team_id": {
- "example": 8255888,
+ "b27": {
"type": "integer"
},
- "radiant_win": {
- "example": true,
- "type": "boolean"
+ "b28": {
+ "type": "integer"
},
- "series_id": {
- "example": 1160235,
+ "b29": {
"type": "integer"
},
- "start_time": {
- "example": "2026-10-26T20:56:07Z",
- "type": "string"
+ "b3": {
+ "type": "integer"
},
- "version": {
- "example": 22,
+ "b30": {
"type": "integer"
- }
- },
- "type": "object"
- },
- "opendota.ProMatchesResponse": {
- "properties": {
- "count": {
- "example": 100,
+ },
+ "b4": {
"type": "integer"
},
- "fetched_at": {
- "example": "2026-10-27T10:00:00Z",
- "type": "string"
+ "b5": {
+ "type": "integer"
},
- "matches": {
- "items": {
- "$ref": "#/definitions/opendota.ProMatch"
- },
- "type": "array"
+ "b6": {
+ "type": "integer"
},
- "next_less_than_match_id": {
- "example": 9055842613,
+ "b7": {
"type": "integer"
},
- "source_url": {
+ "b8": {
+ "type": "integer"
+ },
+ "b9": {
+ "type": "integer"
+ },
+ "bFieldsUpdatedOn": {
"type": "string"
- }
- },
- "type": "object"
- },
- "opendota.ProPlayer": {
- "properties": {
- "country_code": {
- "example": "US",
+ },
+ "city": {
"type": "string"
},
- "is_pro": {
- "example": true,
- "type": "boolean"
+ "color1": {
+ "type": "string"
},
- "name": {
- "example": "player-name",
+ "color2": {
"type": "string"
},
- "persona_name": {
- "example": "Player Name",
+ "color3": {
"type": "string"
},
- "team_id": {
- "example": 8255888,
+ "color4": {
+ "type": "string"
+ },
+ "contestId": {
+ "type": "string"
+ },
+ "contestType": {
"type": "integer"
},
- "team_name": {
- "example": "BETBOOM TEAM",
+ "dnp": {
+ "type": "boolean"
+ },
+ "dstOffset": {
+ "type": "integer"
+ },
+ "formattedName": {
"type": "string"
},
- "team_tag": {
- "example": "BETBOOM",
+ "formattedNameWithoutState": {
"type": "string"
- }
- },
- "type": "object"
- },
- "opendota.ProPlayersResponse": {
- "properties": {
- "count": {
- "example": 1,
+ },
+ "hasStats": {
+ "type": "boolean"
+ },
+ "homeAwayType": {
"type": "integer"
},
- "fetched_at": {
- "example": "2026-10-27T10:00:00Z",
+ "id": {
"type": "string"
},
- "limit": {
- "example": 50,
+ "index": {
"type": "integer"
},
- "next_offset": {
- "example": 50,
- "type": "integer"
+ "isDeleted": {
+ "type": "boolean"
},
- "offset": {
- "example": 0,
- "type": "integer"
+ "isForfeit": {
+ "type": "boolean"
},
- "players": {
- "items": {
- "$ref": "#/definitions/opendota.ProPlayer"
- },
- "type": "array"
+ "isTeamTBA": {
+ "type": "boolean"
},
- "q": {
- "example": "player",
+ "mascot": {
"type": "string"
},
- "source_url": {
+ "name": {
"type": "string"
},
- "team_id": {
- "example": 8255888,
+ "place": {
"type": "integer"
},
- "total_count": {
- "example": 1,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "opendota.RankBracket": {
- "properties": {
- "bracket": {
- "enum": [
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8
- ],
- "example": 5,
- "type": "integer"
+ "result": {
+ "type": "string"
},
- "name": {
- "enum": [
- "Herald",
- "Guardian",
- "Crusader",
- "Archon",
- "Legend",
- "Ancient",
- "Divine",
- "Immortal"
- ],
- "example": "Legend",
+ "resultString": {
"type": "string"
},
- "picks": {
- "example": 173376,
+ "schoolNameAcronym": {
+ "type": "string"
+ },
+ "score": {
"type": "integer"
},
- "win_rate_percent": {
- "example": 51.23,
- "type": "number"
+ "scorePrediction": {
+ "type": "string"
},
- "wins": {
- "example": 88824,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "opendota.RankTierRow": {
- "properties": {
- "cumulative_percent": {
- "example": 46.9,
- "type": "number"
+ "scoresUpdatedOn": {
+ "type": "string"
},
- "cumulative_players": {
- "example": 4100000,
- "type": "integer"
+ "sportSeasonId": {
+ "type": "string"
},
- "medal": {
- "example": "Legend",
+ "statEnteredOn": {
"type": "string"
},
- "players": {
- "example": 512000,
- "type": "integer"
+ "statSupplierId": {
+ "type": "string"
},
- "rank_tier": {
- "example": 54,
- "type": "integer"
+ "state": {
+ "type": "string"
},
- "share_percent": {
- "example": 5.85,
- "type": "number"
+ "teamCanonicalUrl": {
+ "type": "string"
},
- "stars": {
- "example": 4,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "opendota.RecordRow": {
- "properties": {
- "hero_id": {
- "example": 42,
- "type": "integer"
+ "teamId": {
+ "type": "string"
},
- "hero_name": {
- "example": "Wraith King",
+ "teamModifiedOn": {
"type": "string"
},
- "match_id": {
- "example": 9062756621,
- "type": "integer"
+ "timeZoneId": {
+ "type": "string"
},
- "rank": {
- "example": 1,
- "type": "integer"
+ "totalsNeedUpdate": {
+ "type": "boolean"
},
- "score": {
- "example": 114,
+ "utcOffset": {
"type": "integer"
},
- "start_time": {
- "example": "2026-10-24T10:11:37Z",
+ "zipCode": {
"type": "string"
}
},
"type": "object"
},
- "opendota.RecordsResponse": {
+ "maxpreps.ContextEnum": {
"properties": {
- "count": {
- "example": 100,
- "type": "integer"
+ "id_example": {
+ "type": "string"
},
- "fetched_at": {
- "example": "2026-10-27T10:00:00Z",
+ "id_kind": {
"type": "string"
},
- "field": {
- "example": "kills",
+ "value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "maxpreps.GenderSportGroup": {
+ "properties": {
+ "gender": {
"type": "string"
},
- "rows": {
+ "sports": {
"items": {
- "$ref": "#/definitions/opendota.RecordRow"
+ "$ref": "#/definitions/maxpreps.SportEntry"
},
"type": "array"
- },
- "source_url": {
- "type": "string"
}
},
"type": "object"
},
- "opendota.ScenarioRow": {
+ "maxpreps.GeoPoint": {
"properties": {
- "games": {
- "example": 1023,
- "type": "integer"
- },
- "hero_id": {
- "example": 1,
- "type": "integer"
+ "lat": {
+ "type": "number"
},
- "hero_name": {
- "example": "Anti-Mage",
+ "lon": {
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "maxpreps.HudlInfo": {
+ "properties": {
+ "contestId": {
"type": "string"
},
- "is_radiant": {
- "example": true,
+ "hasHudlStats": {
"type": "boolean"
},
- "item": {
- "example": "bfury",
+ "hasHudlStatsPending": {
+ "type": "boolean"
+ },
+ "isHudlConnected": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "maxpreps.Leader": {
+ "properties": {
+ "contextName": {
"type": "string"
},
- "lane_role": {
- "example": 2,
+ "contextType": {
"type": "integer"
},
- "region_id": {
- "example": 3,
+ "currentRank": {
"type": "integer"
},
- "scenario": {
- "example": "courier_kill",
+ "leaderboardCanonicalUrl": {
"type": "string"
},
- "time_seconds": {
- "example": 900,
- "type": "integer"
+ "statHeader": {
+ "type": "string"
},
- "win_rate_percent": {
- "example": 49.76,
- "type": "number"
+ "statName": {
+ "type": "string"
},
- "wins": {
- "example": 509,
- "type": "integer"
+ "statValue": {
+ "type": "string"
}
},
"type": "object"
},
- "opendota.ScenariosResponse": {
+ "maxpreps.LeaderCutoff": {
"properties": {
- "count": {
- "example": 7,
+ "contextType": {
"type": "integer"
},
- "fetched_at": {
- "example": "2026-10-27T10:00:00Z",
- "type": "string"
- },
- "kind": {
- "enum": [
- "item-timings",
- "lane-roles",
- "misc"
- ],
- "example": "item-timings",
+ "cutoff": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "maxpreps.LeaderMinimum": {
+ "properties": {
+ "contextName": {
"type": "string"
},
- "rows": {
- "items": {
- "$ref": "#/definitions/opendota.ScenarioRow"
- },
- "type": "array"
- },
- "source_url": {
- "type": "string"
+ "contextType": {
+ "type": "integer"
},
- "timings": {
+ "minimums": {
"items": {
- "type": "integer"
+ "type": "string"
},
"type": "array"
- },
- "total": {
- "example": 1600,
- "type": "integer"
}
},
"type": "object"
},
- "opendota.Team": {
+ "maxpreps.LeagueStanding": {
"properties": {
- "delta": {
- "example": 4.2,
- "type": "number"
- },
- "id": {
- "example": 8255888,
- "type": "integer"
- },
- "last_match_id": {
- "example": 9063495955,
- "type": "integer"
+ "canonicalUrl": {
+ "type": "string"
},
- "last_match_time": {
- "example": "2026-10-26T20:56:07Z",
+ "conferenceStandingPlacement": {
"type": "string"
},
- "logo_url": {
- "example": "https://cdn.opendota.com/team-logo.png",
+ "conferenceWinLossTies": {
"type": "string"
},
- "losses": {
- "example": 559,
- "type": "integer"
+ "conferenceWinningPercentage": {
+ "type": "number"
},
- "name": {
- "example": "BETBOOM TEAM",
+ "leagueAlias": {
"type": "string"
},
- "rating": {
- "example": 1271.94,
- "type": "number"
+ "leagueName": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "maxpreps.NavLink": {
+ "properties": {
+ "description": {
+ "type": "string"
},
- "tag": {
- "example": "BETBOOM",
+ "text": {
"type": "string"
},
- "wins": {
- "example": 707,
- "type": "integer"
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "opendota.TeamHeroesResponse": {
+ "maxpreps.NavSection": {
"properties": {
- "count": {
- "example": 127,
- "type": "integer"
+ "header": {
+ "type": "string"
},
- "fetched_at": {
- "example": "2026-10-27T10:00:00Z",
+ "id": {
"type": "string"
},
- "heroes": {
+ "links": {
"items": {
- "$ref": "#/definitions/opendota.HeroRecord"
+ "$ref": "#/definitions/maxpreps.NavLink"
},
"type": "array"
- },
- "source_url": {
- "type": "string"
- },
- "team_id": {
- "example": 8255888,
- "type": "integer"
}
},
"type": "object"
},
- "opendota.TeamMatch": {
+ "maxpreps.OverallStanding": {
"properties": {
- "dire_score": {
- "example": 9,
- "type": "integer"
- },
- "duration_seconds": {
- "example": 2052,
- "type": "integer"
- },
- "league_id": {
- "example": 20395,
- "type": "integer"
- },
- "league_name": {
- "example": "PARI UNIVERSE by FISSURE",
+ "awayWinLossTies": {
"type": "string"
},
- "match_id": {
- "example": 9063495955,
- "type": "integer"
- },
- "opposing_team_id": {
- "example": 10291652,
- "type": "integer"
+ "homeWinLossTies": {
+ "type": "string"
},
- "opposing_team_logo_url": {
- "example": "https://cdn.opendota.com/team-logo.png",
+ "neutralWinLossTies": {
"type": "string"
},
- "opposing_team_name": {
- "example": "LEGION",
+ "overallWinLossTies": {
"type": "string"
},
- "radiant": {
- "example": true,
- "type": "boolean"
+ "points": {
+ "type": "integer"
},
- "radiant_score": {
- "example": 32,
+ "pointsAgainst": {
"type": "integer"
},
- "radiant_win": {
- "example": true,
- "type": "boolean"
+ "streak": {
+ "type": "integer"
},
- "start_time": {
- "example": "2026-10-26T20:56:07Z",
+ "streakResult": {
"type": "string"
},
- "team_win": {
- "example": true,
- "type": "boolean"
+ "winningPercentage": {
+ "type": "number"
}
},
"type": "object"
},
- "opendota.TeamMatchesResponse": {
+ "maxpreps.RankAliases": {
"properties": {
- "count": {
- "example": 1266,
- "type": "integer"
- },
- "fetched_at": {
- "example": "2026-10-27T10:00:00Z",
+ "athleteAlias": {
"type": "string"
},
- "matches": {
- "items": {
- "$ref": "#/definitions/opendota.TeamMatch"
- },
- "type": "array"
+ "divisionAlias": {
+ "type": "string"
},
- "source_url": {
+ "leagueAlias": {
"type": "string"
},
- "team_id": {
- "example": 8255888,
- "type": "integer"
+ "sectionAlias": {
+ "type": "string"
}
},
"type": "object"
},
- "opendota.TeamPlayer": {
+ "maxpreps.RankAssociation": {
"properties": {
- "games_played": {
- "example": 1014,
- "type": "integer"
+ "associationId": {
+ "type": "string"
},
- "is_current_team_member": {
- "example": true,
- "type": "boolean"
+ "code": {
+ "type": "string"
},
"name": {
- "example": "Save-",
"type": "string"
},
- "wins": {
- "example": 590,
- "type": "integer"
+ "rankingsCanonicalUrl": {
+ "type": "string"
+ },
+ "scoreboardCanonicalUrl": {
+ "type": "string"
+ },
+ "sectionId": {
+ "type": "string"
}
},
"type": "object"
},
- "opendota.TeamPlayersResponse": {
+ "maxpreps.RankDMA": {
"properties": {
- "count": {
- "example": 28,
- "type": "integer"
+ "dmaId": {
+ "type": "string"
},
- "fetched_at": {
- "example": "2026-10-27T10:00:00Z",
+ "name": {
"type": "string"
},
- "players": {
- "items": {
- "$ref": "#/definitions/opendota.TeamPlayer"
- },
- "type": "array"
+ "rankingsCanonicalUrl": {
+ "type": "string"
},
- "source_url": {
+ "scoreboardCanonicalUrl": {
"type": "string"
},
- "team_id": {
- "example": 8255888,
- "type": "integer"
+ "stateCode": {
+ "type": "string"
}
},
"type": "object"
},
- "opendota.TeamResponse": {
+ "maxpreps.RankSection": {
"properties": {
- "fetched_at": {
- "example": "2026-10-27T10:00:00Z",
+ "canonicalUrl": {
"type": "string"
},
- "source_url": {
+ "name": {
"type": "string"
},
- "team": {
- "$ref": "#/definitions/opendota.Team"
+ "sectionId": {
+ "type": "string"
}
},
"type": "object"
},
- "opendota.TeamsResponse": {
+ "maxpreps.RankSectionDivision": {
"properties": {
- "count": {
- "example": 1000,
- "type": "integer"
- },
- "fetched_at": {
- "example": "2026-10-27T10:00:00Z",
+ "canonicalUrl": {
"type": "string"
},
- "next_page": {
- "example": 1,
- "type": "integer"
+ "divisionId": {
+ "type": "string"
},
- "page": {
- "example": 0,
- "type": "integer"
+ "name": {
+ "type": "string"
},
- "source_url": {
+ "sectionId": {
"type": "string"
},
- "teams": {
- "items": {
- "$ref": "#/definitions/opendota.Team"
- },
- "type": "array"
+ "type": {
+ "type": "string"
}
},
"type": "object"
},
- "opensea.Account": {
+ "maxpreps.RankStateDivision": {
"properties": {
- "address": {
- "example": "0x46efbaedc92067e6d60e84ed6395099723252496",
+ "canonicalUrl": {
"type": "string"
},
- "display_name": {
- "example": "gordongoner",
+ "divisionId": {
"type": "string"
},
- "image_url": {
+ "name": {
+ "type": "string"
+ },
+ "sectionId": {
+ "type": "string"
+ },
+ "type": {
"type": "string"
}
},
"type": "object"
},
- "opensea.ActivityEvent": {
+ "maxpreps.RankingEntry": {
"properties": {
- "chain": {
+ "lastUpdated": {
"type": "string"
},
- "collection_name": {
+ "movement": {
"type": "string"
},
- "collection_slug": {
- "example": "boredapeyachtclub",
+ "overall": {
"type": "string"
},
- "contract_address": {
- "type": "string"
+ "rank": {
+ "type": "integer"
},
- "event_time": {
- "example": "2026-08-30T08:38:47.235Z",
- "type": "string"
+ "rating": {
+ "type": "number"
},
- "from": {
- "$ref": "#/definitions/opensea.Account"
+ "schoolFormattedName": {
+ "type": "string"
},
- "id": {
+ "schoolId": {
"type": "string"
},
- "item_image_url": {
+ "schoolName": {
"type": "string"
},
- "item_name": {
+ "schoolNameAcronym": {
"type": "string"
},
- "marketplace": {
- "example": "opensea",
+ "stateCode": {
"type": "string"
},
- "price": {
- "$ref": "#/definitions/opensea.Price"
+ "strength": {
+ "type": "number"
},
- "quantity": {
- "example": "1",
+ "teamLink": {
"type": "string"
},
- "sale_type": {
+ "teamSize": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "maxpreps.RankingsBlock": {
+ "properties": {
+ "contestAlias": {
"type": "string"
},
- "to": {
- "$ref": "#/definitions/opensea.Account"
+ "contestPlayedCount": {
+ "type": "integer"
},
- "token_id": {
- "example": "3766",
+ "fullRankingsLink": {
"type": "string"
},
- "transaction_hash": {
+ "lastUpdated": {
"type": "string"
},
- "type": {
- "example": "Sale",
- "type": "string"
- }
- },
- "type": "object"
- },
- "opensea.ActivityResponse": {
- "properties": {
- "events": {
+ "rankings": {
"items": {
- "$ref": "#/definitions/opensea.ActivityEvent"
+ "$ref": "#/definitions/maxpreps.RankingEntry"
},
"type": "array"
},
- "next_page_cursor": {
+ "season": {
"type": "string"
},
- "slug": {
- "example": "boredapeyachtclub",
+ "sportSeasonId": {
"type": "string"
},
- "token_id": {
+ "sportSeasonName": {
+ "type": "string"
+ },
+ "totalCount": {
+ "type": "integer"
+ },
+ "year": {
"type": "string"
}
},
"type": "object"
},
- "opensea.CategoriesResponse": {
+ "maxpreps.RankingsGroupingsData": {
"properties": {
- "categories": {
+ "aliases": {
+ "$ref": "#/definitions/maxpreps.RankAliases"
+ },
+ "associations": {
"items": {
- "$ref": "#/definitions/opensea.Category"
+ "$ref": "#/definitions/maxpreps.RankAssociation"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "opensea.Category": {
- "properties": {
- "children": {
+ },
+ "dmas": {
"items": {
- "$ref": "#/definitions/opensea.CategoryChild"
+ "$ref": "#/definitions/maxpreps.RankDMA"
},
"type": "array"
},
- "slug": {
- "example": "collections",
- "type": "string"
- }
- },
- "type": "object"
- },
- "opensea.CategoryChild": {
- "properties": {
- "display_name": {
- "example": "PFPs",
+ "sectionDivisions": {
+ "items": {
+ "$ref": "#/definitions/maxpreps.RankSectionDivision"
+ },
+ "type": "array"
+ },
+ "sections": {
+ "items": {
+ "$ref": "#/definitions/maxpreps.RankSection"
+ },
+ "type": "array"
+ },
+ "sportSeasonId": {
"type": "string"
},
- "slug": {
- "example": "pfps",
+ "stateCode": {
"type": "string"
+ },
+ "stateDivisions": {
+ "items": {
+ "$ref": "#/definitions/maxpreps.RankStateDivision"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "opensea.Chain": {
+ "maxpreps.RankingsGroupingsResponse": {
"properties": {
- "arch": {
- "example": "EVM",
+ "cacheResult": {
"type": "string"
},
- "identifier": {
- "example": "ethereum",
+ "count": {
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/maxpreps.RankingsGroupingsData"
+ },
+ "fetched_at": {
"type": "string"
},
- "name": {
- "example": "Ethereum",
+ "message": {
"type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "status": {
+ "type": "integer"
}
},
"type": "object"
},
- "opensea.ChainsResponse": {
+ "maxpreps.RequestEnumsData": {
"properties": {
- "chains": {
+ "contexts": {
"items": {
- "$ref": "#/definitions/opensea.Chain"
+ "$ref": "#/definitions/maxpreps.ContextEnum"
+ },
+ "type": "array"
+ },
+ "discovery_notes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "gender_sports": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "genders": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "levels": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "rankings_types": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "sort_orders": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "state_codes": {
+ "items": {
+ "type": "string"
},
"type": "array"
+ },
+ "verified_on": {
+ "type": "string"
}
},
"type": "object"
},
- "opensea.ChartPoint": {
+ "maxpreps.RequestEnumsResponse": {
"properties": {
- "currency": {
- "example": "ETH",
+ "cacheResult": {
"type": "string"
},
- "time": {
- "example": "2026-08-23T13:11:15.715Z",
+ "count": {
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/maxpreps.RequestEnumsData"
+ },
+ "fetched_at": {
"type": "string"
},
- "usd": {
- "example": 19182.64,
- "type": "number"
+ "message": {
+ "type": "string"
},
- "value": {
- "example": 7.899,
- "type": "number"
+ "source_url": {
+ "type": "string"
+ },
+ "status": {
+ "type": "integer"
}
},
"type": "object"
},
- "opensea.ChartResponse": {
+ "maxpreps.ScheduleEntry": {
"properties": {
- "metric": {
- "example": "floor_price",
- "type": "string"
- },
- "points": {
- "items": {
- "$ref": "#/definitions/opensea.ChartPoint"
- },
- "type": "array"
+ "calculatedFields": {
+ "$ref": "#/definitions/maxpreps.CalculatedFields"
},
- "slug": {
- "example": "boredapeyachtclub",
- "type": "string"
+ "contest": {
+ "$ref": "#/definitions/maxpreps.Contest"
},
- "timeframe": {
- "example": "SEVEN_DAYS",
- "type": "string"
+ "hudlInfo": {
+ "$ref": "#/definitions/maxpreps.HudlInfo"
}
},
"type": "object"
},
- "opensea.Collection": {
+ "maxpreps.School": {
"properties": {
- "banner_image_url": {
+ "address": {
"type": "string"
},
- "category": {
- "example": "PFPS",
+ "canonicalUrl": {
"type": "string"
},
- "chain": {
- "example": "ethereum",
+ "city": {
"type": "string"
},
- "contract_address": {
- "example": "0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d",
+ "color1": {
"type": "string"
},
- "created_at": {
- "example": "2021-04-22T23:14:24.000Z",
+ "color2": {
"type": "string"
},
- "description": {
+ "color3": {
"type": "string"
},
- "discord_url": {
+ "color4": {
"type": "string"
},
- "external_url": {
+ "colorName1": {
"type": "string"
},
- "floor_price": {
- "$ref": "#/definitions/opensea.Price"
+ "colorName2": {
+ "type": "string"
},
- "id": {
- "example": "46188685bcac4206ace63c9d017abbb7",
+ "colorName3": {
"type": "string"
},
- "image_url": {
+ "colorName4": {
"type": "string"
},
- "instagram_username": {
+ "dstOffset": {
+ "type": "integer"
+ },
+ "enrollment": {
+ "type": "integer"
+ },
+ "formattedName": {
"type": "string"
},
- "is_verified": {
- "example": true,
- "type": "boolean"
+ "formattedNameWithoutState": {
+ "type": "string"
},
- "name": {
- "example": "Bored Ape Yacht Club",
+ "fullName": {
"type": "string"
},
- "slug": {
- "example": "boredapeyachtclub",
+ "gender": {
"type": "string"
},
- "stats": {
- "$ref": "#/definitions/opensea.CollectionStats"
+ "isDeleted": {
+ "type": "boolean"
},
- "top_offer": {
- "$ref": "#/definitions/opensea.Price"
+ "isFootballMascotHelmetAvailable": {
+ "type": "boolean"
},
- "twitter_username": {
+ "isHistoricalOnly": {
+ "type": "boolean"
+ },
+ "isNameUnique": {
+ "type": "boolean"
+ },
+ "isPseudoSchool": {
+ "type": "boolean"
+ },
+ "latitude": {
+ "type": "number"
+ },
+ "location": {
+ "$ref": "#/definitions/maxpreps.GeoPoint"
+ },
+ "longitude": {
+ "type": "number"
+ },
+ "mascot": {
"type": "string"
- }
- },
- "type": "object"
- },
- "opensea.CollectionHoldersResponse": {
- "properties": {
- "holders": {
- "items": {
- "$ref": "#/definitions/opensea.Holder"
- },
- "type": "array"
},
- "next_page_cursor": {
+ "name": {
"type": "string"
},
- "slug": {
- "example": "boredapeyachtclub",
+ "nameAcronym": {
"type": "string"
- }
- },
- "type": "object"
- },
- "opensea.CollectionItemsResponse": {
- "properties": {
- "items": {
+ },
+ "publishedSportSeasonIds": {
"items": {
- "$ref": "#/definitions/opensea.Item"
+ "type": "string"
},
"type": "array"
},
- "next_page_cursor": {
- "type": "string"
- },
- "slug": {
- "example": "boredapeyachtclub",
- "type": "string"
- }
- },
- "type": "object"
- },
- "opensea.CollectionItemsShelfResponse": {
- "properties": {
- "items": {
+ "publishedTeams": {
"items": {
- "$ref": "#/definitions/opensea.Item"
+ "$ref": "#/definitions/maxpreps.SchoolTeamRef"
},
"type": "array"
},
- "shelf": {
- "example": "best_deals",
- "type": "string"
+ "ranking": {
+ "type": "integer"
},
- "slug": {
- "example": "boredapeyachtclub",
- "type": "string"
- }
- },
- "type": "object"
- },
- "opensea.CollectionOffersResponse": {
- "properties": {
- "next_page_cursor": {
+ "schoolId": {
"type": "string"
},
- "offers": {
+ "shouldAppendHighSchoolString": {
+ "type": "boolean"
+ },
+ "sportSeasonIds": {
"items": {
- "$ref": "#/definitions/opensea.OfferAggregate"
+ "type": "string"
},
"type": "array"
},
- "slug": {
- "example": "boredapeyachtclub",
+ "state": {
"type": "string"
},
- "total_currency": {
- "example": "WETH",
+ "stateCode": {
"type": "string"
},
- "total_offers": {
- "example": 314,
- "type": "integer"
+ "stateId": {
+ "type": "string"
},
- "total_value_token": {
- "example": 55.0032,
- "type": "number"
+ "stateName": {
+ "type": "string"
},
- "total_value_usd": {
- "example": 135216.02,
- "type": "number"
- }
- },
- "type": "object"
- },
- "opensea.CollectionSearchResponse": {
- "properties": {
- "collections": {
+ "statePlaysIn": {
+ "type": "string"
+ },
+ "teams": {
"items": {
- "$ref": "#/definitions/opensea.CollectionSummary"
+ "$ref": "#/definitions/maxpreps.SchoolTeamRef"
},
"type": "array"
},
- "query": {
- "example": "ape",
+ "timeZoneId": {
"type": "string"
- }
- },
- "type": "object"
- },
- "opensea.CollectionShelfResponse": {
- "properties": {
- "collections": {
- "items": {
- "$ref": "#/definitions/opensea.CollectionSummary"
- },
- "type": "array"
},
- "next_page_cursor": {
+ "type": {
"type": "string"
},
- "shelf": {
- "example": "top_movers",
+ "utcOffset": {
+ "type": "integer"
+ },
+ "zipCode": {
"type": "string"
}
},
"type": "object"
},
- "opensea.CollectionStats": {
+ "maxpreps.SchoolContest": {
"properties": {
- "listed_item_count": {
- "example": 298,
+ "bracketGameIndex": {
"type": "integer"
},
- "one_day": {
- "$ref": "#/definitions/opensea.WindowStats"
+ "canonicalUrl": {
+ "type": "string"
},
- "one_hour": {
- "$ref": "#/definitions/opensea.WindowStats"
+ "contestId": {
+ "type": "string"
},
- "sales": {
- "example": 57369,
+ "contestIsLive": {
+ "type": "boolean"
+ },
+ "contestState": {
"type": "integer"
},
- "seven_days": {
- "$ref": "#/definitions/opensea.WindowStats"
+ "gender": {
+ "type": "string"
},
- "thirty_days": {
- "$ref": "#/definitions/opensea.WindowStats"
+ "hasResult": {
+ "type": "boolean"
},
- "total_supply": {
- "example": 9998,
+ "homeAwayType": {
"type": "integer"
},
- "unique_item_count": {
- "example": 9998,
- "type": "integer"
+ "isDateTba": {
+ "type": "boolean"
},
- "volume_currency": {
- "example": "ETH",
+ "isTimeTba": {
+ "type": "boolean"
+ },
+ "season": {
"type": "string"
},
- "volume_native": {
- "example": 1580610.96,
- "type": "number"
+ "sport": {
+ "type": "string"
},
- "volume_usd": {
- "example": 3756342321.66,
- "type": "number"
+ "teamLevel": {
+ "type": "string"
+ },
+ "teams": {
+ "items": {
+ "$ref": "#/definitions/maxpreps.SchoolContestTeam"
+ },
+ "type": "array"
+ },
+ "timestamp": {
+ "type": "string"
+ },
+ "year": {
+ "type": "string"
}
},
"type": "object"
},
- "opensea.CollectionSummary": {
+ "maxpreps.SchoolContestTeam": {
"properties": {
- "category": {
- "example": "PFPS",
- "type": "string"
+ "isForfeit": {
+ "type": "boolean"
},
- "chain": {
- "example": "ethereum",
- "type": "string"
+ "isTeamTBA": {
+ "type": "boolean"
},
- "contract_address": {
+ "record": {
"type": "string"
},
- "floor_price": {
- "$ref": "#/definitions/opensea.Price"
+ "result": {
+ "type": "string"
},
- "id": {
+ "schoolColor": {
"type": "string"
},
- "image_url": {
+ "schoolName": {
"type": "string"
},
- "is_verified": {
- "type": "boolean"
+ "schoolNameAcronym": {
+ "type": "string"
},
- "markets": {
- "items": {
- "$ref": "#/definitions/opensea.MarketListing"
- },
- "type": "array"
+ "score": {
+ "type": "integer"
},
- "name": {
- "example": "Bored Ape Yacht Club",
+ "sportSeasonId": {
"type": "string"
},
- "slug": {
- "example": "boredapeyachtclub",
+ "teamCanonicalUrl": {
"type": "string"
},
- "stats": {
- "$ref": "#/definitions/opensea.CollectionStats"
+ "teamId": {
+ "type": "string"
}
},
"type": "object"
},
- "opensea.CollectionTopSalesResponse": {
+ "maxpreps.SchoolContestsResponse": {
"properties": {
- "sales": {
+ "cacheResult": {
+ "type": "string"
+ },
+ "count": {
+ "type": "integer"
+ },
+ "data": {
"items": {
- "$ref": "#/definitions/opensea.ActivityEvent"
+ "$ref": "#/definitions/maxpreps.SchoolContest"
},
"type": "array"
},
- "slug": {
- "example": "boredapeyachtclub",
+ "fetched_at": {
"type": "string"
- }
- },
- "type": "object"
- },
- "opensea.CollectionTrait": {
- "properties": {
- "comparison_operator": {
+ },
+ "message": {
"type": "string"
},
- "trait_type": {
- "example": "Background",
+ "source_url": {
"type": "string"
},
- "values": {
- "items": {
- "$ref": "#/definitions/opensea.TraitValue"
- },
- "type": "array"
+ "status": {
+ "type": "integer"
}
},
"type": "object"
},
- "opensea.CollectionTraitOffersResponse": {
+ "maxpreps.SchoolDetail": {
"properties": {
- "next_page_cursor": {
+ "additionalInfo": {
"type": "string"
},
- "offers": {
- "items": {
- "$ref": "#/definitions/opensea.TraitOfferAggregate"
- },
- "type": "array"
- },
- "slug": {
- "example": "boredapeyachtclub",
+ "address": {
"type": "string"
},
- "total_currency": {
- "example": "WETH",
+ "address2": {
"type": "string"
},
- "total_offers": {
- "example": 6,
- "type": "integer"
- },
- "total_value_token": {
- "example": 96.13,
- "type": "number"
+ "addressNote": {
+ "type": "string"
},
- "total_value_usd": {
- "example": 96.13,
- "type": "number"
- }
- },
- "type": "object"
- },
- "opensea.CollectionTraitsResponse": {
- "properties": {
- "next_page_cursor": {
+ "associationGoverningBodyAbbreviation": {
"type": "string"
},
- "slug": {
- "example": "boredapeyachtclub",
+ "associationGoverningBodyName": {
"type": "string"
},
- "traits": {
- "items": {
- "$ref": "#/definitions/opensea.CollectionTrait"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "opensea.CollectionsResponse": {
- "properties": {
- "collections": {
- "items": {
- "$ref": "#/definitions/opensea.CollectionSummary"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "opensea.DepthLevel": {
- "properties": {
- "price": {
- "$ref": "#/definitions/opensea.Price"
+ "associationGoverningBodyUrl": {
+ "type": "string"
},
- "quantity": {
- "example": 2,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "opensea.DepthResponse": {
- "properties": {
- "chain": {
+ "associationId": {
"type": "string"
},
- "contract_address": {
+ "associationName": {
"type": "string"
},
- "listings": {
- "items": {
- "$ref": "#/definitions/opensea.DepthLevel"
- },
- "type": "array"
+ "canonicalUrl": {
+ "type": "string"
},
- "offers": {
- "items": {
- "$ref": "#/definitions/opensea.DepthLevel"
- },
- "type": "array"
+ "city": {
+ "type": "string"
},
- "slug": {
- "example": "boredapeyachtclub",
+ "color1": {
"type": "string"
},
- "token_id": {
+ "color2": {
"type": "string"
- }
- },
- "type": "object"
- },
- "opensea.Drop": {
- "properties": {
- "chain": {
- "example": "base",
+ },
+ "color3": {
"type": "string"
},
- "collection": {
- "$ref": "#/definitions/opensea.CollectionSummary"
+ "color4": {
+ "type": "string"
},
- "contract_address": {
+ "colorName1": {
"type": "string"
},
- "type": {
- "example": "Erc721SeaDropV1",
+ "colorName2": {
"type": "string"
- }
- },
- "type": "object"
- },
- "opensea.DropsResponse": {
- "properties": {
- "drops": {
- "items": {
- "$ref": "#/definitions/opensea.Drop"
- },
- "type": "array"
},
- "next_page_cursor": {
+ "colorName3": {
"type": "string"
},
- "type": {
- "example": "UPCOMING",
+ "colorName4": {
"type": "string"
- }
- },
- "type": "object"
- },
- "opensea.Holder": {
- "properties": {
- "account": {
- "$ref": "#/definitions/opensea.Account"
},
- "quantity": {
- "example": 143,
+ "dstOffset": {
"type": "integer"
- }
- },
- "type": "object"
- },
- "opensea.Item": {
- "properties": {
- "best_listing": {
- "$ref": "#/definitions/opensea.Price"
},
- "best_offer": {
- "$ref": "#/definitions/opensea.Price"
+ "enrollment": {
+ "type": "integer"
},
- "chain": {
- "example": "ethereum",
+ "formattedName": {
"type": "string"
},
- "collection_name": {
- "example": "Bored Ape Yacht Club",
+ "formattedNameWithoutState": {
"type": "string"
},
- "collection_slug": {
- "example": "boredapeyachtclub",
+ "fullName": {
"type": "string"
},
- "contract_address": {
+ "gender": {
"type": "string"
},
- "created_at": {
+ "isDeleted": {
+ "type": "boolean"
+ },
+ "isFootballMascotHelmetAvailable": {
+ "type": "boolean"
+ },
+ "isHistoricalOnly": {
+ "type": "boolean"
+ },
+ "isImported": {
+ "type": "boolean"
+ },
+ "isNameUnique": {
+ "type": "boolean"
+ },
+ "isPseudoSchool": {
+ "type": "boolean"
+ },
+ "latitude": {
+ "type": "number"
+ },
+ "longitude": {
+ "type": "number"
+ },
+ "mascot": {
"type": "string"
},
- "description": {
+ "name": {
"type": "string"
},
- "id": {
+ "nameAcronym": {
"type": "string"
},
- "image_url": {
+ "orgType": {
"type": "string"
},
- "is_fungible": {
+ "schoolId": {
+ "type": "string"
+ },
+ "schoolLevel": {
+ "type": "string"
+ },
+ "shouldAppendHighSchoolString": {
"type": "boolean"
},
- "last_sale": {
- "$ref": "#/definitions/opensea.Price"
+ "state": {
+ "type": "string"
},
- "last_sale_at": {
+ "stateCode": {
"type": "string"
},
- "marketplace": {
- "example": "opensea",
+ "stateId": {
"type": "string"
},
- "name": {
- "example": "#1",
+ "stateName": {
"type": "string"
},
- "owner": {
- "$ref": "#/definitions/opensea.Account"
+ "statePlaysIn": {
+ "type": "string"
},
- "rarity_rank": {
- "example": 1204,
+ "timeZoneId": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "utcOffset": {
"type": "integer"
},
- "token_id": {
- "example": "1",
+ "zip": {
"type": "string"
},
- "traits": {
- "items": {
- "$ref": "#/definitions/opensea.Trait"
- },
- "type": "array"
+ "zipCode": {
+ "type": "string"
}
},
"type": "object"
},
- "opensea.ItemOrdersResponse": {
+ "maxpreps.SchoolProximalResponse": {
"properties": {
- "chain": {
- "example": "ethereum",
- "type": "string"
- },
- "contract_address": {
- "example": "0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d",
+ "cacheResult": {
"type": "string"
},
- "next_page_cursor": {
- "type": "string"
+ "count": {
+ "type": "integer"
},
- "orders": {
+ "data": {
"items": {
- "$ref": "#/definitions/opensea.Order"
+ "$ref": "#/definitions/maxpreps.School"
},
"type": "array"
},
- "token_id": {
- "example": "1",
+ "fetched_at": {
"type": "string"
- }
- },
- "type": "object"
- },
- "opensea.ItemOwner": {
- "properties": {
- "account": {
- "$ref": "#/definitions/opensea.Account"
},
- "quantity": {
- "example": "1",
+ "message": {
+ "type": "string"
+ },
+ "source_url": {
"type": "string"
+ },
+ "status": {
+ "type": "integer"
}
},
"type": "object"
},
- "opensea.ItemOwnersResponse": {
+ "maxpreps.SchoolResponse": {
"properties": {
- "chain": {
- "example": "ethereum",
+ "cacheResult": {
"type": "string"
},
- "contract_address": {
- "type": "string"
+ "count": {
+ "type": "integer"
},
- "has_more": {
- "type": "boolean"
+ "data": {
+ "$ref": "#/definitions/maxpreps.SchoolDetail"
},
- "next_page_cursor": {
+ "fetched_at": {
"type": "string"
},
- "owners": {
- "items": {
- "$ref": "#/definitions/opensea.ItemOwner"
- },
- "type": "array"
+ "message": {
+ "type": "string"
},
- "token_id": {
- "example": "1",
+ "source_url": {
"type": "string"
},
- "total_owners": {
- "example": 1,
+ "status": {
"type": "integer"
}
},
"type": "object"
},
- "opensea.ItemSearchResponse": {
+ "maxpreps.SchoolSearchResponse": {
"properties": {
- "items": {
+ "cacheResult": {
+ "type": "string"
+ },
+ "count": {
+ "type": "integer"
+ },
+ "data": {
"items": {
- "$ref": "#/definitions/opensea.Item"
+ "$ref": "#/definitions/maxpreps.School"
},
"type": "array"
},
- "query": {
- "example": "gold",
+ "fetched_at": {
"type": "string"
},
- "slug": {
- "example": "boredapeyachtclub",
+ "message": {
"type": "string"
- }
- },
- "type": "object"
- },
- "opensea.MarketListing": {
- "properties": {
- "listed_item_count": {
- "example": 190,
- "type": "integer"
},
- "marketplace": {
- "example": "opensea",
+ "source_url": {
"type": "string"
},
- "name": {
- "example": "OpenSea",
- "type": "string"
+ "status": {
+ "type": "integer"
}
},
"type": "object"
},
- "opensea.OfferAggregate": {
+ "maxpreps.SchoolSeason": {
"properties": {
- "id": {
+ "allSeasonId": {
"type": "string"
},
- "price": {
- "$ref": "#/definitions/opensea.Price"
+ "athleteAlias": {
+ "type": "string"
},
- "total_offers": {
- "example": 1,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "opensea.Order": {
- "properties": {
- "end_time": {
+ "canonicalUrl": {
"type": "string"
},
- "id": {
+ "contestAlias": {
"type": "string"
},
- "maker": {
- "$ref": "#/definitions/opensea.Account"
+ "gender": {
+ "type": "string"
},
- "marketplace": {
- "example": "opensea",
+ "genderId": {
"type": "string"
},
- "price": {
- "$ref": "#/definitions/opensea.Price"
+ "isActive": {
+ "type": "boolean"
},
- "quantity": {
- "example": "1",
- "type": "string"
+ "isFullyCovered": {
+ "type": "boolean"
},
- "start_time": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "opensea.Price": {
- "properties": {
- "amount": {
- "example": 7.85,
- "type": "number"
+ "isNational": {
+ "type": "boolean"
},
- "chain": {
- "example": "ethereum",
+ "isPublished": {
+ "type": "boolean"
+ },
+ "level": {
"type": "string"
},
- "contract_address": {
- "example": "0x0000000000000000000000000000000000000000",
+ "levelId": {
"type": "string"
},
- "currency": {
- "example": "ETH",
+ "name": {
"type": "string"
},
- "usd": {
- "example": 19295.3,
- "type": "number"
- }
- },
- "type": "object"
- },
- "opensea.Profile": {
- "properties": {
- "address": {
- "example": "0xd8da6bf26964af9d7eed9e03e53415d37aa96045",
+ "schoolId": {
"type": "string"
},
- "banner_image_url": {
+ "season": {
"type": "string"
},
- "display_name": {
- "example": "vitalik.eth",
+ "seasonId": {
"type": "string"
},
- "external_url": {
+ "sport": {
"type": "string"
},
- "image_url": {
+ "sportId": {
"type": "string"
},
- "is_verified": {
- "type": "boolean"
+ "sportSeasonId": {
+ "type": "string"
},
- "kind": {
- "example": "WALLET",
+ "teamLevel": {
"type": "string"
},
- "twitter_username": {
+ "teamLevelId": {
"type": "string"
},
- "username": {
+ "year": {
"type": "string"
}
},
"type": "object"
},
- "opensea.ProfileCollection": {
+ "maxpreps.SchoolSeasonsResponse": {
"properties": {
- "collection": {
- "$ref": "#/definitions/opensea.CollectionSummary"
- },
- "item_count": {
- "example": 1,
- "type": "integer"
+ "cacheResult": {
+ "type": "string"
},
- "total_quantity": {
- "example": 1,
+ "count": {
"type": "integer"
- }
- },
- "type": "object"
- },
- "opensea.ProfileCollectionsResponse": {
- "properties": {
- "address": {
- "type": "string"
},
- "collections": {
+ "data": {
"items": {
- "$ref": "#/definitions/opensea.ProfileCollection"
+ "$ref": "#/definitions/maxpreps.SchoolSeason"
},
"type": "array"
},
- "next_page_cursor": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "opensea.ProfileItemsResponse": {
- "properties": {
- "address": {
- "example": "0xd8da6bf26964af9d7eed9e03e53415d37aa96045",
+ "fetched_at": {
"type": "string"
},
- "items": {
- "items": {
- "$ref": "#/definitions/opensea.Item"
- },
- "type": "array"
+ "message": {
+ "type": "string"
},
- "next_page_cursor": {
+ "source_url": {
"type": "string"
},
- "total_items": {
- "example": 3441,
+ "status": {
"type": "integer"
}
},
"type": "object"
},
- "opensea.RankedCollection": {
+ "maxpreps.SchoolTeamRef": {
"properties": {
- "collection": {
- "$ref": "#/definitions/opensea.CollectionSummary"
+ "allSeasonId": {
+ "type": "string"
},
- "score": {
- "example": "28.3713030851",
+ "gender": {
+ "type": "string"
+ },
+ "isPublished": {
+ "type": "boolean"
+ },
+ "sport": {
+ "type": "string"
+ },
+ "sportSeasonId": {
+ "type": "string"
+ },
+ "teamLevel": {
+ "type": "string"
+ },
+ "year": {
"type": "string"
}
},
"type": "object"
},
- "opensea.RankingsResponse": {
+ "maxpreps.SchoolZipSearchResponse": {
"properties": {
- "collections": {
+ "cacheResult": {
+ "type": "string"
+ },
+ "count": {
+ "type": "integer"
+ },
+ "data": {
"items": {
- "$ref": "#/definitions/opensea.RankedCollection"
+ "$ref": "#/definitions/maxpreps.School"
},
"type": "array"
},
- "next_page_cursor": {
+ "fetched_at": {
"type": "string"
},
- "ranking": {
- "example": "TRENDING",
+ "message": {
"type": "string"
},
- "timeframe": {
- "example": "ONE_DAY",
+ "source_url": {
"type": "string"
+ },
+ "status": {
+ "type": "integer"
}
},
"type": "object"
},
- "opensea.SocialProofResponse": {
+ "maxpreps.ScoreboardData": {
"properties": {
- "notable_collectors": {
+ "contestIdsByDate": {
"items": {
- "$ref": "#/definitions/opensea.Account"
+ "$ref": "#/definitions/maxpreps.ContestIDsByDate"
},
"type": "array"
},
- "slug": {
- "example": "boredapeyachtclub",
+ "scoreboardCanonicalUrlToday": {
"type": "string"
},
- "social_count": {
- "example": 5605,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "opensea.Trait": {
- "properties": {
- "trait_type": {
- "example": "Background",
+ "scoreboardCanonicalUrlTomorrow": {
"type": "string"
},
- "value": {
- "example": "Orange",
+ "scoreboardCanonicalUrlYesterday": {
"type": "string"
}
},
"type": "object"
},
- "opensea.TraitOfferAggregate": {
+ "maxpreps.ScoreboardResponse": {
"properties": {
- "id": {
+ "cacheResult": {
"type": "string"
},
- "price": {
- "$ref": "#/definitions/opensea.Price"
- },
- "total_offers": {
- "example": 1,
+ "count": {
"type": "integer"
},
- "trait_type": {
- "example": "Fur",
+ "data": {
+ "$ref": "#/definitions/maxpreps.ScoreboardData"
+ },
+ "fetched_at": {
"type": "string"
},
- "trait_value": {
- "example": "Solid Gold",
+ "message": {
"type": "string"
- }
- },
- "type": "object"
- },
- "opensea.TraitValue": {
- "properties": {
- "count": {
- "example": 1170,
- "type": "integer"
},
- "value": {
- "example": "Gray",
+ "source_url": {
"type": "string"
+ },
+ "status": {
+ "type": "integer"
}
},
"type": "object"
},
- "opensea.WindowStats": {
+ "maxpreps.SeasonNavigationData": {
"properties": {
- "floor_price_change": {
- "example": 0.0065,
- "type": "number"
- },
- "sales": {
- "example": 42,
- "type": "integer"
+ "allSeasonId": {
+ "type": "string"
},
- "volume_native": {
- "example": 318.4,
- "type": "number"
+ "season": {
+ "type": "string"
},
- "volume_usd": {
- "example": 782344.1,
- "type": "number"
+ "sections": {
+ "items": {
+ "$ref": "#/definitions/maxpreps.NavSection"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "opensea.activityResponseDoc": {
+ "maxpreps.SeasonNavigationResponse": {
"properties": {
- "code": {
- "example": 200,
+ "cacheResult": {
+ "type": "string"
+ },
+ "count": {
"type": "integer"
},
"data": {
- "$ref": "#/definitions/opensea.ActivityResponse"
+ "$ref": "#/definitions/maxpreps.SeasonNavigationData"
},
- "msg": {
- "example": "OK",
+ "fetched_at": {
"type": "string"
- }
- },
- "type": "object"
- },
- "opensea.categoriesResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/opensea.CategoriesResponse"
+ "message": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "source_url": {
"type": "string"
+ },
+ "status": {
+ "type": "integer"
}
},
"type": "object"
},
- "opensea.chainsResponseDoc": {
+ "maxpreps.SportEntry": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "allSeasonId": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/opensea.ChainsResponse"
+ "formattedSportSeasonName": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "genderSport": {
"type": "string"
- }
- },
- "type": "object"
- },
- "opensea.chartResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/opensea.ChartResponse"
+ "name": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "publicUrl": {
"type": "string"
- }
- },
- "type": "object"
- },
- "opensea.collectionHoldersResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/opensea.CollectionHoldersResponse"
+ "scheduleModel": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "statModel": {
"type": "string"
}
},
"type": "object"
},
- "opensea.collectionItemsResponseDoc": {
+ "maxpreps.SportMetadata": {
"properties": {
+ "athleteName": {
+ "type": "string"
+ },
"code": {
- "example": 200,
- "type": "integer"
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/opensea.CollectionItemsResponse"
+ "contestName": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "defaultGender": {
"type": "string"
- }
- },
- "type": "object"
- },
- "opensea.collectionOffersResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/opensea.CollectionOffersResponse"
+ "fullCovered": {
+ "type": "boolean"
},
- "msg": {
- "example": "OK",
+ "groupName": {
"type": "string"
- }
- },
- "type": "object"
- },
- "opensea.collectionResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/opensea.Collection"
+ "hasJerseyNumbers": {
+ "type": "boolean"
},
- "msg": {
- "example": "OK",
+ "name": {
"type": "string"
- }
- },
- "type": "object"
- },
- "opensea.collectionSearchResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/opensea.CollectionSearchResponse"
+ "overtimeAlias": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "overtimePeriodCountsIncludeRegulationPeriods": {
+ "type": "boolean"
+ },
+ "overtimeShortAlias": {
"type": "string"
- }
- },
- "type": "object"
- },
- "opensea.collectionShelfResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/opensea.CollectionShelfResponse"
+ "participatingVerb": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "periodAlias": {
"type": "string"
- }
- },
- "type": "object"
- },
- "opensea.collectionTopSalesResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/opensea.CollectionTopSalesResponse"
+ "pointAlias": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "scheduleModel": {
"type": "string"
- }
- },
- "type": "object"
- },
- "opensea.collectionTraitOffersResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/opensea.CollectionTraitOffersResponse"
+ "shortCode": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "singleGender": {
+ "type": "boolean"
+ },
+ "sportId": {
"type": "string"
- }
- },
- "type": "object"
- },
- "opensea.collectionTraitsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/opensea.CollectionTraitsResponse"
+ "statModel": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "tiebreakerAlias": {
+ "type": "string"
+ },
+ "value": {
"type": "string"
}
},
"type": "object"
},
- "opensea.collectionsResponseDoc": {
+ "maxpreps.SportsResponse": {
"properties": {
- "code": {
- "example": 200,
+ "cacheResult": {
+ "type": "string"
+ },
+ "count": {
"type": "integer"
},
"data": {
- "$ref": "#/definitions/opensea.CollectionsResponse"
+ "items": {
+ "$ref": "#/definitions/maxpreps.GenderSportGroup"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "fetched_at": {
"type": "string"
- }
- },
- "type": "object"
- },
- "opensea.depthResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/opensea.DepthResponse"
+ "message": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "source_url": {
"type": "string"
+ },
+ "status": {
+ "type": "integer"
}
},
"type": "object"
},
- "opensea.dropsResponseDoc": {
+ "maxpreps.StandingsBlock": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "leagueStanding": {
+ "$ref": "#/definitions/maxpreps.LeagueStanding"
},
- "data": {
- "$ref": "#/definitions/opensea.DropsResponse"
+ "overallStanding": {
+ "$ref": "#/definitions/maxpreps.OverallStanding"
},
- "msg": {
- "example": "OK",
+ "year": {
"type": "string"
}
},
"type": "object"
},
- "opensea.itemOrdersResponseDoc": {
+ "maxpreps.State": {
"properties": {
+ "abbreviation": {
+ "type": "string"
+ },
+ "areaID": {
+ "type": "string"
+ },
+ "canonicalUrl": {
+ "type": "string"
+ },
+ "coachAssociationAbbreviation": {
+ "type": "string"
+ },
+ "coachAssociationId": {
+ "type": "string"
+ },
+ "coachAssociationName": {
+ "type": "string"
+ },
"code": {
- "example": 200,
+ "type": "string"
+ },
+ "divisionAlias": {
+ "type": "string"
+ },
+ "governingBodyAbbreviation": {
+ "type": "string"
+ },
+ "governingBodyArticleUrl": {
+ "type": "string"
+ },
+ "governingBodyAssociationId": {
+ "type": "string"
+ },
+ "governingBodyImageAspectRatio": {
+ "type": "number"
+ },
+ "governingBodyImageHeight": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/opensea.ItemOrdersResponse"
+ "governingBodyImageWidth": {
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "governingBodyIsPartner": {
+ "type": "boolean"
+ },
+ "governingBodyName": {
+ "type": "string"
+ },
+ "governingBodyUrl": {
+ "type": "string"
+ },
+ "hasCoverage": {
+ "type": "boolean"
+ },
+ "hasSections": {
+ "type": "boolean"
+ },
+ "isExtended": {
+ "type": "boolean"
+ },
+ "isFullyCovered": {
+ "type": "boolean"
+ },
+ "isStandard": {
+ "type": "boolean"
+ },
+ "leagueAlias": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "nameLong": {
+ "type": "string"
+ },
+ "sectionAlias": {
+ "type": "string"
+ },
+ "stateId": {
+ "type": "string"
+ },
+ "timeZoneCode": {
+ "type": "string"
+ },
+ "timeZoneName": {
+ "type": "string"
+ },
+ "timeZoneObservesDayLightSavings": {
+ "type": "boolean"
+ },
+ "timeZoneOffset": {
+ "type": "integer"
+ },
+ "timeZoneOffsetText": {
"type": "string"
}
},
"type": "object"
},
- "opensea.itemOwnersResponseDoc": {
+ "maxpreps.StatesResponse": {
"properties": {
- "code": {
- "example": 200,
+ "cacheResult": {
+ "type": "string"
+ },
+ "count": {
"type": "integer"
},
"data": {
- "$ref": "#/definitions/opensea.ItemOwnersResponse"
+ "items": {
+ "$ref": "#/definitions/maxpreps.State"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "fetched_at": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ },
+ "source_url": {
"type": "string"
+ },
+ "status": {
+ "type": "integer"
}
},
"type": "object"
},
- "opensea.itemResponseDoc": {
+ "maxpreps.SupportingMaterial": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "optionalText": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/opensea.Item"
+ "type": {
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "opensea.itemSearchResponseDoc": {
+ "maxpreps.Team": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/opensea.ItemSearchResponse"
- },
- "msg": {
- "example": "OK",
+ "allSeasonId": {
"type": "string"
- }
- },
- "type": "object"
- },
- "opensea.itemsShelfResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/opensea.CollectionItemsShelfResponse"
},
- "msg": {
- "example": "OK",
+ "canonicalUrl": {
"type": "string"
- }
- },
- "type": "object"
- },
- "opensea.profileCollectionsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/opensea.ProfileCollectionsResponse"
- },
- "msg": {
- "example": "OK",
+ "formattedSportSeasonName": {
"type": "string"
- }
- },
- "type": "object"
- },
- "opensea.profileItemsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/opensea.ProfileItemsResponse"
},
- "msg": {
- "example": "OK",
+ "gender": {
"type": "string"
- }
- },
- "type": "object"
- },
- "opensea.profileResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/opensea.Profile"
+ "isDeleted": {
+ "type": "boolean"
},
- "msg": {
- "example": "OK",
- "type": "string"
- }
- },
- "type": "object"
- },
- "opensea.rankingsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "isGameChangerConnected": {
+ "type": "boolean"
},
- "data": {
- "$ref": "#/definitions/opensea.RankingsResponse"
+ "leagueCanonicalUrl": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "leagueId": {
"type": "string"
- }
- },
- "type": "object"
- },
- "opensea.socialProofResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/opensea.SocialProofResponse"
+ "leagueName": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "level": {
"type": "string"
- }
- },
- "type": "object"
- },
- "opentable.Cuisine": {
- "properties": {
- "id": {
+ },
+ "schoolAddress": {
"type": "string"
},
- "name": {
- "example": "Steakhouse",
+ "schoolAssociationGoverningBodyAbbreviation": {
"type": "string"
},
- "primary": {
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "opentable.Menu": {
- "properties": {
- "currency": {
+ "schoolAssociationGoverningBodyName": {
"type": "string"
},
- "sections": {
- "items": {
- "$ref": "#/definitions/opentable.MenuSection"
- },
- "type": "array"
+ "schoolAssociationGoverningBodyUrl": {
+ "type": "string"
},
- "title": {
+ "schoolAssociationId": {
"type": "string"
- }
- },
- "type": "object"
- },
- "opentable.MenuItem": {
- "properties": {
- "description": {
+ },
+ "schoolAssociationName": {
"type": "string"
},
- "price": {
+ "schoolCanonicalUrl": {
"type": "string"
},
- "title": {
+ "schoolCity": {
"type": "string"
- }
- },
- "type": "object"
- },
- "opentable.MenuSection": {
- "properties": {
- "items": {
- "items": {
- "$ref": "#/definitions/opentable.MenuItem"
- },
- "type": "array"
},
- "title": {
+ "schoolColor1": {
"type": "string"
- }
- },
- "type": "object"
- },
- "opentable.MenusResponse": {
- "properties": {
- "menus": {
- "items": {
- "$ref": "#/definitions/opentable.Menu"
- },
- "type": "array"
},
- "restaurant_id": {
+ "schoolColor2": {
"type": "string"
- }
- },
- "type": "object"
- },
- "opentable.PriceBand": {
- "properties": {
- "band": {
- "example": "3",
+ },
+ "schoolColor3": {
"type": "string"
},
- "label": {
- "example": "$31 to $50",
+ "schoolFormattedName": {
"type": "string"
- }
- },
- "type": "object"
- },
- "opentable.RestaurantResponse": {
- "properties": {
- "availability_date_time": {
- "description": "AvailabilityDateTime echoes the DateTime the Timeslots below were\ncomputed for (either the caller's or the now-default GetRestaurant\napplies -- see its doc comment).",
+ },
+ "schoolMascot": {
"type": "string"
},
- "city": {
+ "schoolName": {
"type": "string"
},
- "country": {
+ "schoolNameAcronym": {
"type": "string"
},
- "country_code": {
+ "schoolShouldAppendHighSchoolString": {
+ "type": "boolean"
+ },
+ "schoolZipCode": {
"type": "string"
},
- "cuisines": {
- "items": {
- "$ref": "#/definitions/opentable.Cuisine"
- },
- "type": "array"
+ "season": {
+ "type": "string"
},
- "currency_code": {
+ "sectionDivisionId": {
"type": "string"
},
- "description": {
+ "sectionDivisionName": {
"type": "string"
},
- "dining_style": {
+ "sectionId": {
"type": "string"
},
- "dress_code": {
+ "sectionName": {
"type": "string"
},
- "email": {
+ "sport": {
"type": "string"
},
- "features": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "sportSeasonId": {
+ "type": "string"
},
- "hours": {
+ "sportSeasonName": {
"type": "string"
},
- "id": {
+ "stateCode": {
"type": "string"
},
- "latitude": {
- "type": "number"
+ "stateDivisionId": {
+ "type": "string"
},
- "line1": {
+ "stateDivisionName": {
"type": "string"
},
- "line2": {
+ "stateId": {
"type": "string"
},
- "longitude": {
- "type": "number"
+ "stateName": {
+ "type": "string"
},
- "max_advance_days": {
- "type": "integer"
+ "stateNominationBodyAbbreviation": {
+ "type": "string"
},
- "max_party_size": {
- "type": "integer"
+ "stateNominationBodyName": {
+ "type": "string"
},
- "name": {
+ "stateNominationEndsOn": {
"type": "string"
},
- "phone_number": {
+ "stateNominationStartsOn": {
"type": "string"
},
- "photos_count": {
- "type": "integer"
+ "stateQualificationBodyAbbreviation": {
+ "type": "string"
},
- "postal_code": {
+ "stateQualificationBodyName": {
"type": "string"
},
- "price_band": {
- "$ref": "#/definitions/opentable.PriceBand"
+ "stateQualificationEndsOn": {
+ "type": "string"
},
- "reviews": {
- "$ref": "#/definitions/opentable.ReviewSummary"
+ "stateQualificationStartsOn": {
+ "type": "string"
},
- "state": {
+ "teamId": {
"type": "string"
},
- "timeslots": {
- "items": {
- "$ref": "#/definitions/opentable.Timeslot"
- },
- "type": "array"
+ "teamSize": {
+ "type": "integer"
},
- "website": {
+ "year": {
"type": "string"
}
},
"type": "object"
},
- "opentable.Review": {
+ "maxpreps.TeamContextDMA": {
"properties": {
- "author": {
+ "code": {
+ "type": "integer"
+ },
+ "dmaId": {
"type": "string"
},
- "author_metro": {
+ "isPublished": {
+ "type": "boolean"
+ },
+ "lastSportUpdateOn": {
"type": "string"
},
- "id": {
+ "name": {
"type": "string"
},
- "posted_date": {
+ "rankingsCanonicalUrl": {
"type": "string"
},
- "recommended": {
- "type": "boolean"
+ "scoreboardCanonicalUrl": {
+ "type": "string"
},
- "reservation_date": {
+ "stateCode": {
"type": "string"
},
- "statistics": {
- "$ref": "#/definitions/opentable.ReviewStatistics"
+ "type": {
+ "type": "string"
},
- "text": {
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "opentable.ReviewStatistics": {
+ "maxpreps.TeamContextData": {
"properties": {
- "ambience": {
- "type": "number"
- },
- "food": {
- "type": "number"
- },
- "noise": {
- "type": "number"
+ "dmas": {
+ "items": {
+ "$ref": "#/definitions/maxpreps.TeamContextDMA"
+ },
+ "type": "array"
},
- "overall_rating": {
- "type": "number"
+ "lastYearRankingsData": {
+ "$ref": "#/definitions/maxpreps.TeamRankingsData"
},
- "service": {
- "type": "number"
+ "lastYearStandingsData": {
+ "$ref": "#/definitions/maxpreps.StandingsBlock"
},
- "value": {
- "type": "number"
- }
- },
- "type": "object"
- },
- "opentable.ReviewSummary": {
- "properties": {
- "ambience": {
- "type": "number"
+ "rankingsData": {
+ "$ref": "#/definitions/maxpreps.TeamRankingsData"
},
- "count": {
- "type": "integer"
+ "schoolAssociationAffiliations": {
+ "items": {
+ "$ref": "#/definitions/maxpreps.AssociationAffiliation"
+ },
+ "type": "array"
},
- "food": {
- "type": "number"
+ "schoolSportSeasonsData": {
+ "items": {
+ "$ref": "#/definitions/maxpreps.SchoolSeason"
+ },
+ "type": "array"
},
- "noise": {
- "type": "number"
+ "sportData": {
+ "$ref": "#/definitions/maxpreps.SportMetadata"
},
- "overall_rating": {
- "example": 4.8,
- "type": "number"
+ "standingsData": {
+ "$ref": "#/definitions/maxpreps.StandingsBlock"
},
- "review_count": {
- "type": "integer"
+ "stateData": {
+ "$ref": "#/definitions/maxpreps.State"
},
- "service": {
- "type": "number"
+ "tda": {
+ "$ref": "#/definitions/maxpreps.TeamDataAvailability"
},
- "value": {
- "type": "number"
+ "teamData": {
+ "$ref": "#/definitions/maxpreps.Team"
}
},
"type": "object"
},
- "opentable.ReviewsResponse": {
+ "maxpreps.TeamContextResponse": {
"properties": {
- "page": {
+ "cacheResult": {
+ "type": "string"
+ },
+ "count": {
"type": "integer"
},
- "restaurant_id": {
+ "data": {
+ "$ref": "#/definitions/maxpreps.TeamContextData"
+ },
+ "fetched_at": {
"type": "string"
},
- "reviews": {
- "items": {
- "$ref": "#/definitions/opentable.Review"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "opentable.SearchResponse": {
- "properties": {
- "results": {
- "items": {
- "$ref": "#/definitions/opentable.SearchResult"
- },
- "type": "array"
+ "message": {
+ "type": "string"
},
- "term": {
+ "source_url": {
"type": "string"
+ },
+ "status": {
+ "type": "integer"
}
},
"type": "object"
},
- "opentable.SearchResult": {
+ "maxpreps.TeamDataAvailability": {
"properties": {
- "availability_date_time": {
- "description": "AvailabilityDateTime/Timeslots mirror RestaurantResponse's inline\navailability -- search returns the same nested shape per result.",
+ "details": {
"type": "string"
},
- "city": {
- "type": "string"
+ "hasAnyTeamRoster": {
+ "type": "boolean"
},
- "country": {
- "type": "string"
+ "hasArticles": {
+ "type": "boolean"
},
- "description": {
- "type": "string"
+ "hasContests": {
+ "type": "boolean"
},
- "id": {
- "type": "string"
+ "hasImportedTeamPreview": {
+ "type": "boolean"
},
- "latitude": {
- "type": "number"
+ "hasMascotImage": {
+ "type": "boolean"
},
- "line1": {
- "type": "string"
+ "hasMaxprepsTeamPreview": {
+ "type": "boolean"
},
- "line2": {
- "type": "string"
+ "hasPrimaryLeague": {
+ "type": "boolean"
},
- "longitude": {
- "type": "number"
+ "hasProPhotos": {
+ "type": "boolean"
},
- "name": {
- "type": "string"
+ "hasRankings": {
+ "type": "boolean"
},
- "postal_code": {
- "type": "string"
+ "hasStandings": {
+ "type": "boolean"
},
- "state": {
- "type": "string"
+ "hasStats": {
+ "type": "boolean"
},
- "timeslots": {
- "items": {
- "$ref": "#/definitions/opentable.Timeslot"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "opentable.Timeslot": {
- "properties": {
- "available": {
+ "hasTeamPhoto": {
"type": "boolean"
},
- "date_time": {
- "example": "2026-08-03T19:00",
- "type": "string"
+ "hasTeamRoster": {
+ "type": "boolean"
},
- "points": {
- "type": "integer"
+ "hasVideos": {
+ "type": "boolean"
},
- "price_amount": {
- "type": "integer"
+ "isAnyCoachActive": {
+ "type": "boolean"
},
- "redemption_tier": {
+ "isPrepsSportsEnabled": {
+ "type": "boolean"
+ },
+ "maxprepsTeamPreviewCreatedOn": {
"type": "string"
},
- "token": {
- "description": "Token is the upstream booking token for this slot. It is opaque and\nonly meaningful back to OpenTable's own booking flow -- this service\ndoes not implement booking, only discovery.",
+ "maxprepsTeamPreviewModifiedOn": {
"type": "string"
},
- "type": {
- "example": "Standard",
+ "sportSeasonId": {
+ "type": "string"
+ },
+ "teamId": {
+ "type": "string"
+ },
+ "updatedOn": {
"type": "string"
}
},
"type": "object"
},
- "opentable.menusResponseDoc": {
+ "maxpreps.TeamNextContestData": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "calculatedFields": {
+ "$ref": "#/definitions/maxpreps.CalculatedFields"
},
- "data": {
- "$ref": "#/definitions/opentable.MenusResponse"
+ "contest": {
+ "$ref": "#/definitions/maxpreps.Contest"
},
- "msg": {
- "example": "OK",
+ "hudlInfo": {
+ "$ref": "#/definitions/maxpreps.HudlInfo"
+ },
+ "sportSeasonId": {
"type": "string"
- }
+ },
+ "teamId": {
+ "type": "string"
+ },
+ "tournament": {}
},
"type": "object"
},
- "opentable.restaurantResponseDoc": {
+ "maxpreps.TeamNextContestResponse": {
"properties": {
- "code": {
- "example": 200,
+ "cacheResult": {
+ "type": "string"
+ },
+ "count": {
"type": "integer"
},
"data": {
- "$ref": "#/definitions/opentable.RestaurantResponse"
+ "$ref": "#/definitions/maxpreps.TeamNextContestData"
},
- "msg": {
- "example": "OK",
+ "fetched_at": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ },
+ "source_url": {
"type": "string"
+ },
+ "status": {
+ "type": "integer"
}
},
"type": "object"
},
- "opentable.reviewsResponseDoc": {
+ "maxpreps.TeamRankingSummary": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "canonicalUrl": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/opentable.ReviewsResponse"
+ "contextId": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "contextName": {
+ "type": "string"
+ },
+ "movement": {
"type": "string"
+ },
+ "rank": {
+ "type": "integer"
+ },
+ "rankingType": {
+ "type": "integer"
}
},
"type": "object"
},
- "opentable.searchResponseDoc": {
+ "maxpreps.TeamRankingsData": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
"data": {
- "$ref": "#/definitions/opentable.SearchResponse"
+ "items": {
+ "$ref": "#/definitions/maxpreps.TeamRankingSummary"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "timeStamp": {
"type": "string"
}
},
"type": "object"
},
- "otto.CategoriesResponse": {
+ "maxpreps.TeamRankingsResponse": {
"properties": {
- "categories": {
- "items": {
- "$ref": "#/definitions/otto.Category"
- },
- "type": "array"
+ "cacheResult": {
+ "type": "string"
},
"count": {
"type": "integer"
},
+ "data": {
+ "items": {
+ "$ref": "#/definitions/maxpreps.RankingsBlock"
+ },
+ "type": "array"
+ },
"fetched_at": {
"type": "string"
},
- "source_url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "otto.Category": {
- "properties": {
- "name": {
+ "message": {
"type": "string"
},
- "url": {
+ "source_url": {
"type": "string"
+ },
+ "status": {
+ "type": "integer"
}
},
"type": "object"
},
- "otto.Product": {
+ "maxpreps.TeamResponse": {
"properties": {
- "brand": {
+ "cacheResult": {
"type": "string"
},
- "colors": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "currency": {
- "type": "string"
+ "count": {
+ "type": "integer"
},
- "images": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/maxpreps.Team"
},
- "name": {
+ "fetched_at": {
"type": "string"
},
- "price": {
- "type": "number"
- },
- "sizes": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "message": {
+ "type": "string"
},
- "url": {
+ "source_url": {
"type": "string"
+ },
+ "status": {
+ "type": "integer"
}
},
"type": "object"
},
- "otto.ProductResponse": {
+ "maxpreps.TeamRosterSummaryData": {
"properties": {
- "browser_rendered": {
+ "athleteCount": {
+ "type": "integer"
+ },
+ "hasTeamPhoto": {
"type": "boolean"
},
- "fetched_at": {
- "type": "string"
+ "hudlAthleteCount": {
+ "type": "integer"
},
- "product": {
- "$ref": "#/definitions/otto.Product"
+ "jerseyAthleteCount": {
+ "type": "integer"
+ },
+ "photoAthleteCount": {
+ "type": "integer"
}
},
"type": "object"
},
- "otto.ProductSummary": {
+ "maxpreps.TeamRosterSummaryResponse": {
"properties": {
- "brand": {
+ "cacheResult": {
"type": "string"
},
- "currency": {
- "type": "string"
+ "count": {
+ "type": "integer"
},
- "image": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/maxpreps.TeamRosterSummaryData"
},
- "name": {
+ "fetched_at": {
"type": "string"
},
- "price": {
- "type": "number"
- },
- "product_id": {
+ "message": {
"type": "string"
},
- "url": {
+ "source_url": {
"type": "string"
},
- "variation_id": {
- "type": "string"
+ "status": {
+ "type": "integer"
}
},
"type": "object"
},
- "otto.SearchResponse": {
+ "maxpreps.TeamScheduleResponse": {
"properties": {
- "count": {
- "type": "integer"
- },
- "fetched_at": {
+ "cacheResult": {
"type": "string"
},
- "offset": {
+ "count": {
"type": "integer"
},
- "products": {
+ "data": {
"items": {
- "$ref": "#/definitions/otto.ProductSummary"
+ "$ref": "#/definitions/maxpreps.ScheduleEntry"
},
"type": "array"
},
- "query": {
+ "fetched_at": {
+ "type": "string"
+ },
+ "message": {
"type": "string"
},
"source_url": {
"type": "string"
+ },
+ "status": {
+ "type": "integer"
}
},
"type": "object"
},
- "otto.categoriesResponseDoc": {
+ "maxpreps.TeamStatLeadersData": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "athletes": {
+ "items": {
+ "$ref": "#/definitions/maxpreps.Leader"
+ },
+ "type": "array"
},
- "data": {
- "$ref": "#/definitions/otto.CategoriesResponse"
+ "cutoffs": {
+ "items": {
+ "$ref": "#/definitions/maxpreps.LeaderCutoff"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "minimums": {
+ "items": {
+ "$ref": "#/definitions/maxpreps.LeaderMinimum"
+ },
+ "type": "array"
+ },
+ "sportSeasonId": {
+ "type": "string"
+ },
+ "teamId": {
"type": "string"
}
},
"type": "object"
},
- "otto.productResponseDoc": {
+ "maxpreps.TeamStatLeadersResponse": {
"properties": {
- "code": {
- "example": 200,
+ "cacheResult": {
+ "type": "string"
+ },
+ "count": {
"type": "integer"
},
"data": {
- "$ref": "#/definitions/otto.ProductResponse"
+ "$ref": "#/definitions/maxpreps.TeamStatLeadersData"
},
- "msg": {
- "example": "OK",
+ "fetched_at": {
"type": "string"
- }
- },
- "type": "object"
- },
- "otto.searchResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/otto.SearchResponse"
+ "message": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "source_url": {
"type": "string"
+ },
+ "status": {
+ "type": "integer"
}
},
"type": "object"
},
- "pagesix.AuthorResponse": {
+ "maxpreps.TournamentSport": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/newsplatform.HeadlineItem"
- },
- "type": "array"
- },
- "biography": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "image_url": {
+ "canonicalUrl": {
"type": "string"
},
"name": {
"type": "string"
- },
- "social_links": {
+ }
+ },
+ "type": "object"
+ },
+ "maxpreps.TournamentSportsData": {
+ "properties": {
+ "sports": {
"items": {
- "$ref": "#/definitions/pagesix.AuthorSocialLink"
+ "$ref": "#/definitions/maxpreps.TournamentSport"
},
"type": "array"
- },
- "url": {
- "type": "string"
}
},
"type": "object"
},
- "pagesix.AuthorSocialLink": {
+ "maxpreps.TournamentSportsResponse": {
"properties": {
- "type": {
+ "cacheResult": {
"type": "string"
},
- "url": {
+ "count": {
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/maxpreps.TournamentSportsData"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "message": {
"type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "status": {
+ "type": "integer"
}
},
"type": "object"
},
- "pandamart.CategoriesResponse": {
+ "mcdonalds.CategoriesResponse": {
"properties": {
"categories": {
"items": {
- "$ref": "#/definitions/pandamart.Category"
+ "$ref": "#/definitions/mcdonalds.Category"
},
"type": "array"
},
- "code": {
+ "count": {
+ "example": 13,
+ "type": "integer"
+ },
+ "country": {
+ "description": "Country echoes the market these slugs belong to. Slugs are NOT\nportable across markets -- pass the same country back to\n/mcdonalds/menu.",
+ "example": "us",
"type": "string"
},
- "market": {
+ "fetched_at": {
+ "type": "string"
+ },
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "pandamart.Category": {
+ "mcdonalds.Category": {
"properties": {
- "id": {
+ "name": {
+ "example": "Breakfast",
"type": "string"
},
- "image_url": {
+ "slug": {
+ "example": "breakfast",
"type": "string"
},
- "name": {
+ "url": {
"type": "string"
- },
- "product_count": {
- "type": "integer"
- },
- "sub_categories": {
- "items": {
- "$ref": "#/definitions/pandamart.Category"
- },
- "type": "array"
}
},
"type": "object"
},
- "pandamart.Chain": {
+ "mcdonalds.ItemComponent": {
"properties": {
- "code": {
+ "allergens": {
"type": "string"
},
- "name": {
+ "ingredients": {
"type": "string"
}
},
"type": "object"
},
- "pandamart.Product": {
+ "mcdonalds.ItemListEntry": {
"properties": {
- "description": {
+ "allergens": {
"type": "string"
},
- "discount_badge": {
- "type": "string"
+ "components": {
+ "description": "Components is the per-part ingredient/allergen breakdown -- e.g. a\nburger's bun, patty, cheese and condiment each carry their own\nstatement. Absent for a single-part item.",
+ "items": {
+ "$ref": "#/definitions/mcdonalds.ItemComponent"
+ },
+ "type": "array"
},
- "id": {
+ "description": {
"type": "string"
},
"image_url": {
"type": "string"
},
- "is_available": {
- "type": "boolean"
- },
- "name": {
+ "ingredients": {
"type": "string"
},
- "original_price": {
- "type": "number"
- },
- "price": {
- "type": "number"
+ "item_id": {
+ "example": "200466",
+ "type": "string"
},
- "sku": {
+ "name": {
+ "example": "Quarter Pounder with Cheese",
"type": "string"
},
- "stock_amount": {
- "type": "integer"
+ "nutrients": {
+ "items": {
+ "$ref": "#/definitions/mcdonalds.Nutrient"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "pandamart.ProductAttributes": {
+ "mcdonalds.ItemListResponse": {
"properties": {
- "base_content_value": {
- "type": "number"
+ "count": {
+ "example": 3,
+ "type": "integer"
},
- "base_unit": {
+ "country": {
+ "example": "us",
"type": "string"
},
- "nutrition_grade": {
+ "fetched_at": {
"type": "string"
},
- "price_per_base_unit": {
- "type": "number"
+ "items": {
+ "items": {
+ "$ref": "#/definitions/mcdonalds.ItemListEntry"
+ },
+ "type": "array"
+ },
+ "requested": {
+ "description": "Requested echoes the id list as asked for, so a caller can tell which\nids McDonald's returned nothing for.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
}
},
"type": "object"
},
- "pandamart.ProductDetailResponse": {
+ "mcdonalds.ItemResponse": {
"properties": {
- "attributes": {
- "$ref": "#/definitions/pandamart.ProductAttributes"
- },
- "category_id": {
+ "allergens": {
+ "description": "Allergens is McDonald's own allergen statement for the item.",
"type": "string"
},
- "code": {
+ "country": {
+ "description": "Country echoes the market this item was read from. Item ids are NOT\nportable across markets.",
+ "example": "us",
"type": "string"
},
"description": {
"type": "string"
},
- "discount_badge": {
- "type": "string"
- },
- "id": {
+ "fetched_at": {
"type": "string"
},
"image_url": {
"type": "string"
},
- "is_available": {
- "type": "boolean"
+ "ingredients": {
+ "description": "Ingredients is the full ingredient statement.",
+ "type": "string"
},
- "market": {
+ "item_id": {
+ "example": "200463",
"type": "string"
},
"name": {
+ "example": "Big Mac",
"type": "string"
},
- "original_price": {
- "type": "number"
- },
- "price": {
- "type": "number"
+ "nutrients": {
+ "description": "Nutrients are the published per-serving nutrition values.",
+ "items": {
+ "$ref": "#/definitions/mcdonalds.Nutrient"
+ },
+ "type": "array"
},
- "sku": {
+ "source_url": {
"type": "string"
- },
- "stock_amount": {
- "type": "integer"
}
},
"type": "object"
},
- "pandamart.ProductShelf": {
+ "mcdonalds.MenuItemSummary": {
"properties": {
- "items": {
- "items": {
- "$ref": "#/definitions/pandamart.Product"
- },
- "type": "array"
+ "calories": {
+ "description": "Calories is McDonald's own per-item calorie label where the category\npage prints one; often blank.",
+ "example": "460 Cal.",
+ "type": "string"
},
- "title": {
+ "image_url": {
+ "type": "string"
+ },
+ "item_id": {
+ "example": "200300",
+ "type": "string"
+ },
+ "name": {
+ "example": "Bacon, Egg & Cheese Biscuit",
+ "type": "string"
+ },
+ "product_url": {
"type": "string"
}
},
"type": "object"
},
- "pandamart.ProductsResponse": {
+ "mcdonalds.MenuResponse": {
"properties": {
- "code": {
+ "category": {
+ "example": "breakfast",
"type": "string"
},
- "item_count": {
+ "count": {
+ "example": 32,
"type": "integer"
},
- "market": {
+ "country": {
+ "example": "us",
"type": "string"
},
- "shelves": {
+ "fetched_at": {
+ "type": "string"
+ },
+ "items": {
"items": {
- "$ref": "#/definitions/pandamart.ProductShelf"
+ "$ref": "#/definitions/mcdonalds.MenuItemSummary"
},
"type": "array"
+ },
+ "source_url": {
+ "type": "string"
}
},
"type": "object"
},
- "pandamart.SearchResponse": {
+ "mcdonalds.Nutrient": {
"properties": {
- "available_count": {
- "type": "integer"
+ "daily_value": {
+ "description": "DailyValue is the percent-daily-value where McDonald's prints one.",
+ "example": "45",
+ "type": "string"
},
- "market": {
+ "key": {
+ "description": "Key is McDonald's stable machine identifier for the nutrient\n(e.g. \"calories\"), safer to match on than the display name.",
+ "example": "calories",
"type": "string"
},
- "offset": {
- "type": "integer"
+ "name": {
+ "example": "Calories",
+ "type": "string"
},
- "returned_count": {
- "type": "integer"
+ "unit": {
+ "example": "Cal.",
+ "type": "string"
},
- "stores": {
- "items": {
- "$ref": "#/definitions/pandamart.Store"
- },
- "type": "array"
+ "value": {
+ "description": "Value is kept as a string because McDonald's publishes values like\n\"580\", \"1060\" and occasionally non-numeric qualifiers; parsing to a\nnumber here would silently drop the latter.",
+ "example": "580",
+ "type": "string"
}
},
"type": "object"
},
- "pandamart.Store": {
+ "mcdonalds.Restaurant": {
"properties": {
"address": {
+ "example": "160 Broadway",
"type": "string"
},
- "budget": {
- "type": "integer"
- },
- "chain": {
- "$ref": "#/definitions/pandamart.Chain"
- },
"city": {
+ "example": "New York",
"type": "string"
},
- "code": {
+ "delivery_url": {
+ "description": "DeliveryURL is the store's delivery deep link when one is published.\nNote McDonald's points this at a third-party delivery platform.",
"type": "string"
},
- "distance_km": {
- "type": "number"
- },
- "has_discount": {
- "type": "boolean"
- },
- "hero_image_url": {
+ "drive_thru_hours": {
"type": "string"
},
- "is_delivery_available": {
- "type": "boolean"
+ "facilities": {
+ "description": "Facilities are McDonald's own amenity codes for the restaurant\n(e.g. GIFTCARDS, MOBILEOFFERS, DRIVETHRU, WIFI).",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "is_pickup_available": {
- "type": "boolean"
+ "hours": {
+ "description": "Hours is the full week where McDonald's publishes it.",
+ "items": {
+ "$ref": "#/definitions/mcdonalds.RestaurantHours"
+ },
+ "type": "array"
},
"latitude": {
+ "example": 40.709438,
"type": "number"
},
"longitude": {
+ "example": -74.010086,
"type": "number"
},
- "minimum_delivery_fee": {
- "type": "number"
+ "name": {
+ "example": "160 BROADWAY",
+ "type": "string"
},
- "minimum_delivery_time_minutes": {
- "type": "number"
+ "open_status": {
+ "example": "OPEN",
+ "type": "string"
},
- "minimum_order_amount": {
- "type": "number"
+ "postal_code": {
+ "example": "10038",
+ "type": "string"
},
- "name": {
+ "state": {
+ "example": "NY",
"type": "string"
},
- "tags": {
- "items": {
- "$ref": "#/definitions/pandamart.Tag"
- },
- "type": "array"
+ "store_id": {
+ "example": "10528",
+ "type": "string"
+ },
+ "telephone": {
+ "example": "(212) 385-2066",
+ "type": "string"
},
"timezone": {
"type": "string"
},
- "web_path": {
+ "today_hours": {
+ "description": "TodayHours and DriveThruHours are the published windows for today.",
"type": "string"
}
},
"type": "object"
},
- "pandamart.StoreResponse": {
+ "mcdonalds.RestaurantHours": {
"properties": {
- "address": {
- "type": "string"
- },
- "budget": {
- "type": "integer"
- },
- "chain": {
- "$ref": "#/definitions/pandamart.Chain"
- },
- "city": {
+ "day_of_week": {
+ "example": "monday",
"type": "string"
},
- "code": {
+ "hours": {
+ "example": "00:00 - 00:00",
"type": "string"
- },
- "distance_km": {
- "type": "number"
- },
- "has_discount": {
- "type": "boolean"
- },
- "hero_image_url": {
+ }
+ },
+ "type": "object"
+ },
+ "mcdonalds.RestaurantMenuChoice": {
+ "properties": {
+ "options": {
+ "items": {
+ "$ref": "#/definitions/mcdonalds.RestaurantMenuChoiceOption"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "mcdonalds.RestaurantMenuChoiceOption": {
+ "properties": {
+ "item_id": {
+ "example": "14877",
"type": "string"
},
- "is_delivery_available": {
- "type": "boolean"
- },
- "is_pickup_available": {
- "type": "boolean"
- },
- "latitude": {
- "type": "number"
- },
- "longitude": {
- "type": "number"
- },
- "market": {
+ "name": {
+ "example": "Lemonade",
"type": "string"
},
- "minimum_delivery_fee": {
+ "price_delta": {
+ "description": "PriceDelta is the additional eat-in/pickup cost of choosing this\noption instead of what's already included: 0 for a same-priced\nswap, negative for a cheaper one, and equal to the option's own\nfull price for an add-on choice (nothing is included to offset\nagainst).",
+ "example": 0.4,
"type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "mcdonalds.RestaurantMenuItem": {
+ "properties": {
+ "choices": {
+ "description": "Choices lists this item's customizable components McDonald's\npublishes a curated substitute/add-on list for -- e.g. a meal's\ndrink upgrade options, or a dip-able item's sauce choices -- with\nthe live eat-in/pickup price delta for each real alternative.\nPresent only when the upstream payload exposed at least one such\nchoice for this item; see the package doc comment for how these are\nderived and the deliberate fail-closed rule behind what gets left\nout (in particular, plain entree/side substitution is not exposed\nat all -- McDonald's does not publish a curated candidate list for\nit, only for upgrade/add-on style choices).",
+ "items": {
+ "$ref": "#/definitions/mcdonalds.RestaurantMenuChoice"
+ },
+ "type": "array"
},
- "minimum_delivery_time_minutes": {
+ "delivery_price": {
+ "example": 8.39,
"type": "number"
},
- "minimum_order_amount": {
+ "eat_in_price": {
+ "example": 7.29,
"type": "number"
},
- "name": {
+ "family_group": {
+ "description": "FamilyGroup is McDonald's own internal product classification (e.g.\nREGULAR_ENTREE, DESSERT) -- not the same category list\n/mcdonalds/categories returns, and not always present.",
+ "example": "REGULAR_ENTREE",
"type": "string"
},
- "tags": {
- "items": {
- "$ref": "#/definitions/pandamart.Tag"
- },
- "type": "array"
+ "image_url": {
+ "type": "string"
},
- "timezone": {
+ "item_id": {
+ "example": "5",
"type": "string"
},
- "web_path": {
+ "name": {
+ "example": "Big Mac®",
"type": "string"
+ },
+ "pickup_price": {
+ "example": 7.29,
+ "type": "number"
}
},
"type": "object"
},
- "pandamart.StoreSearchResponse": {
+ "mcdonalds.RestaurantMenuResponse": {
"properties": {
- "code": {
- "type": "string"
- },
- "has_more": {
- "type": "boolean"
- },
- "limit": {
+ "count": {
+ "example": 563,
"type": "integer"
},
- "market": {
+ "currency": {
+ "example": "$",
"type": "string"
},
- "page": {
- "type": "integer"
+ "fetched_at": {
+ "type": "string"
},
- "products": {
+ "items": {
"items": {
- "$ref": "#/definitions/pandamart.Product"
+ "$ref": "#/definitions/mcdonalds.RestaurantMenuItem"
},
"type": "array"
},
- "query": {
+ "source_url": {
"type": "string"
},
- "sort": {
+ "store_id": {
+ "example": "10528",
"type": "string"
- },
- "total_products": {
- "type": "integer"
}
},
"type": "object"
},
- "pandamart.Tag": {
+ "mcdonalds.RestaurantsResponse": {
"properties": {
- "code": {
+ "count": {
+ "example": 5,
+ "type": "integer"
+ },
+ "country": {
+ "description": "Country echoes the market searched, so a response is self-describing\nwhen several markets are queried in one workflow.",
+ "example": "us",
"type": "string"
},
- "text": {
+ "fetched_at": {
+ "type": "string"
+ },
+ "restaurants": {
+ "items": {
+ "$ref": "#/definitions/mcdonalds.Restaurant"
+ },
+ "type": "array"
+ },
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "pandamart.categoriesResponseDoc": {
+ "mcdonalds.categoriesResponseDoc": {
"properties": {
"code": {
"description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/pandamart.CategoriesResponse"
+ "$ref": "#/definitions/mcdonalds.CategoriesResponse"
},
"msg": {
"description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
@@ -150429,14 +157148,14 @@
},
"type": "object"
},
- "pandamart.productDetailResponseDoc": {
+ "mcdonalds.itemListResponseDoc": {
"properties": {
"code": {
"description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/pandamart.ProductDetailResponse"
+ "$ref": "#/definitions/mcdonalds.ItemListResponse"
},
"msg": {
"description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
@@ -150444,14 +157163,14 @@
},
"type": "object"
},
- "pandamart.productsResponseDoc": {
+ "mcdonalds.itemResponseDoc": {
"properties": {
"code": {
"description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/pandamart.ProductsResponse"
+ "$ref": "#/definitions/mcdonalds.ItemResponse"
},
"msg": {
"description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
@@ -150459,14 +157178,14 @@
},
"type": "object"
},
- "pandamart.searchResponseDoc": {
+ "mcdonalds.menuResponseDoc": {
"properties": {
"code": {
"description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/pandamart.SearchResponse"
+ "$ref": "#/definitions/mcdonalds.MenuResponse"
},
"msg": {
"description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
@@ -150474,14 +157193,14 @@
},
"type": "object"
},
- "pandamart.storeResponseDoc": {
+ "mcdonalds.restaurantMenuResponseDoc": {
"properties": {
"code": {
"description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/pandamart.StoreResponse"
+ "$ref": "#/definitions/mcdonalds.RestaurantMenuResponse"
},
"msg": {
"description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
@@ -150489,14 +157208,14 @@
},
"type": "object"
},
- "pandamart.storeSearchResponseDoc": {
+ "mcdonalds.restaurantsResponseDoc": {
"properties": {
"code": {
"description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/pandamart.StoreSearchResponse"
+ "$ref": "#/definitions/mcdonalds.RestaurantsResponse"
},
"msg": {
"description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
@@ -150504,1605 +157223,1374 @@
},
"type": "object"
},
- "panera.AtWorkDropOff": {
+ "mediaite.AuthorArticle": {
"properties": {
- "cutoff_time": {
- "example": "09:00",
+ "date": {
"type": "string"
},
- "day_of_week": {
- "example": "Monday",
+ "title": {
"type": "string"
},
- "drop_off_time": {
- "example": "10:45",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "panera.AtWorkLocation": {
+ "mediaite.AuthorResponse": {
"properties": {
- "active": {
- "example": true,
- "type": "boolean"
- },
- "city": {
- "example": "Fenton",
- "type": "string"
- },
- "contact_name": {
- "type": "string"
- },
- "contact_phone": {
- "type": "string"
- },
- "country": {
- "example": "US",
- "type": "string"
- },
- "drop_off_schedule": {
+ "articles": {
"items": {
- "$ref": "#/definitions/panera.AtWorkDropOff"
+ "$ref": "#/definitions/mediaite.AuthorArticle"
},
"type": "array"
},
- "id": {
- "example": "P2U-000320",
+ "avatar_url": {
"type": "string"
},
- "latitude": {
- "example": 38.5401336,
- "type": "number"
- },
- "lead_time_minutes": {
- "example": 90,
- "type": "integer"
- },
- "location_type": {
- "example": "Office/Production Facility/Other",
+ "bio": {
"type": "string"
},
- "longitude": {
- "example": -90.4772361,
- "type": "number"
- },
- "name": {
- "example": "Panera Bread Support Center",
+ "email": {
"type": "string"
},
- "postal_code": {
- "example": "63026",
+ "name": {
"type": "string"
},
- "service_cafe_id": {
- "example": "600668",
+ "slug": {
"type": "string"
},
- "state": {
- "example": "MO",
+ "twitter": {
"type": "string"
},
- "street": {
- "example": "1400 S Hwy Dr",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "panera.AtWorkLocationsResponse": {
+ "medicalnewstoday.ArticleResponse": {
"properties": {
- "count": {
- "example": 2,
- "type": "integer"
- },
- "fetched_at": {
- "type": "string"
- },
- "locations": {
+ "authors": {
"items": {
- "$ref": "#/definitions/panera.AtWorkLocation"
+ "type": "string"
},
"type": "array"
},
- "source_url": {
+ "description": {
"type": "string"
- }
- },
- "type": "object"
- },
- "panera.CafeResponse": {
- "properties": {
- "available": {
- "example": true,
- "type": "boolean"
- },
- "cafe_id": {
- "example": 601447,
- "type": "integer"
},
- "city": {
- "example": "Addison",
+ "image_url": {
"type": "string"
},
- "features": {
- "description": "Features are Panera's own per-cafe amenity flags that are true for\nthis cafe (e.g. hasDriveThru, hasDelivery, hasCurbside, hasKiosk).",
+ "paragraphs": {
"items": {
"type": "string"
},
"type": "array"
},
- "fetched_at": {
- "type": "string"
- },
- "fulfillment": {
- "description": "Fulfillment is one entry per channel Panera publishes availability\nfor at this cafe.",
- "items": {
- "$ref": "#/definitions/panera.Fulfillment"
- },
- "type": "array"
- },
- "latitude": {
- "example": 41.948594,
- "type": "number"
- },
- "longitude": {
- "example": -88.026398,
- "type": "number"
- },
- "name": {
- "example": "Addison - W Lake St east of Rohlwing Rd",
- "type": "string"
- },
- "open_now": {
- "example": true,
+ "paywalled": {
+ "description": "Paywalled is true when the publisher serves only a teaser of this\narticle to anonymous readers, so Paragraphs is a partial body rather than\nthe full text. It is omitted when the full public body was returned.",
"type": "boolean"
},
- "phone": {
- "example": "630-250-4952",
- "type": "string"
- },
- "postal_code": {
- "example": "60101",
+ "published_at": {
"type": "string"
},
- "source_url": {
+ "section": {
"type": "string"
},
- "state": {
- "example": "IL",
+ "title": {
"type": "string"
},
- "street": {
- "example": "1600 West Lake Street",
+ "updated_at": {
"type": "string"
},
- "timezone": {
- "example": "America/Chicago",
+ "url": {
"type": "string"
- },
- "upcoming_hours": {
- "description": "UpcomingHours is the published storefront schedule for the next\ncalendar week, with concrete dates rather than abstract weekdays.",
- "items": {
- "$ref": "#/definitions/panera.UpcomingDay"
- },
- "type": "array"
}
},
"type": "object"
},
- "panera.CateringCategory": {
+ "medicalnewstoday.AuthorResponse": {
"properties": {
- "cat_id": {
- "example": 181,
- "type": "integer"
- },
- "image_key": {
- "type": "string"
- },
- "item_ids": {
- "description": "ItemIDs are the items under this category. Look them up in the\nresponse's top-level Items list.",
+ "articles": {
"items": {
- "type": "integer"
+ "$ref": "#/definitions/newsplatform.HeadlineItem"
},
"type": "array"
},
+ "bio": {
+ "type": "string"
+ },
"name": {
- "example": "Sandwiches",
"type": "string"
},
- "sort_weight": {
- "type": "integer"
+ "slug": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "panera.CateringDeliveryInfoResponse": {
+ "medicalnewstoday.HeadlinesResponse": {
"properties": {
- "available_dates": {
- "items": {
- "$ref": "#/definitions/panera.CateringDeliverySlotDay"
- },
- "type": "array"
- },
- "cafe_id": {
- "example": 606477,
- "type": "integer"
- },
- "delivery_fee": {
- "example": 15,
- "type": "number"
- },
- "fetched_at": {
- "type": "string"
- },
- "hours": {
- "items": {
- "$ref": "#/definitions/panera.DayHours"
- },
- "type": "array"
- },
- "lead_times": {
+ "items": {
"items": {
- "$ref": "#/definitions/panera.CateringDeliveryLeadTime"
+ "$ref": "#/definitions/newsplatform.HeadlineItem"
},
"type": "array"
},
- "min_order_amount": {
- "example": 50,
- "type": "number"
- },
- "source_url": {
+ "section": {
"type": "string"
}
},
"type": "object"
},
- "panera.CateringDeliveryLeadTime": {
+ "medicalnewstoday.NewsResponse": {
"properties": {
- "is_large_order_tier": {
- "example": true,
- "type": "boolean"
- },
- "lead_time_minutes": {
- "example": 240,
- "type": "integer"
- },
- "min_order_amount": {
- "example": 750,
- "type": "number"
+ "items": {
+ "items": {
+ "$ref": "#/definitions/newsplatform.HeadlineItem"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "panera.CateringDeliverySlotDay": {
+ "medicalnewstoday.SectionsResponse": {
"properties": {
- "date": {
- "example": "2026-09-10",
- "type": "string"
- },
- "ranges": {
+ "sections": {
"items": {
- "$ref": "#/definitions/panera.HourRange"
+ "$ref": "#/definitions/newsplatform.Section"
},
"type": "array"
}
},
"type": "object"
},
- "panera.CateringMenuItem": {
+ "medicalnewstoday.articleResponseDoc": {
"properties": {
- "allergens": {
- "$ref": "#/definitions/panera.MenuAllergens"
- },
- "customizable": {
- "example": true,
- "type": "boolean"
- },
- "description": {
- "type": "string"
- },
- "image_key": {
- "type": "string"
- },
- "in_stock": {
- "description": "InStock reflects this cafe's live catering stockout feed for today's\nfulfillment date. false means Panera currently has this item\nunavailable to order for catering at this specific cafe.",
- "example": true,
- "type": "boolean"
- },
- "item_id": {
- "example": 647093,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "name": {
- "example": "Ciabatta Sausage, Egg & Cheese Sandwich",
- "type": "string"
- },
- "nutrients": {
- "items": {
- "$ref": "#/definitions/panera.MenuNutrient"
- },
- "type": "array"
- },
- "portion": {
- "example": "Individual",
- "type": "string"
- },
- "price": {
- "example": 10.99,
- "type": "number"
+ "data": {
+ "$ref": "#/definitions/medicalnewstoday.ArticleResponse"
},
- "product_type": {
- "example": "SANDWICH",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "panera.CateringMenuResponse": {
+ "medicalnewstoday.authorResponseDoc": {
"properties": {
- "cafe_id": {
- "example": 601447,
- "type": "integer"
- },
- "categories": {
- "items": {
- "$ref": "#/definitions/panera.CateringCategory"
- },
- "type": "array"
- },
- "count": {
- "example": 257,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "fetched_at": {
- "type": "string"
- },
- "items": {
- "items": {
- "$ref": "#/definitions/panera.CateringMenuItem"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/medicalnewstoday.AuthorResponse"
},
- "source_url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "panera.DayHours": {
+ "medicalnewstoday.headlinesResponseDoc": {
"properties": {
- "day_of_week": {
- "example": "Monday",
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "ranges": {
- "items": {
- "$ref": "#/definitions/panera.HourRange"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/medicalnewstoday.HeadlinesResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "panera.Fulfillment": {
+ "medicalnewstoday.newsResponseDoc": {
"properties": {
- "available": {
- "example": true,
- "type": "boolean"
- },
- "hours": {
- "items": {
- "$ref": "#/definitions/panera.DayHours"
- },
- "type": "array"
- },
- "lead_time_minutes": {
- "example": 20,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "open_now": {
- "example": true,
- "type": "boolean"
+ "data": {
+ "$ref": "#/definitions/medicalnewstoday.NewsResponse"
},
- "type": {
- "example": "delivery",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "panera.GeocodeResponse": {
+ "medicalnewstoday.sectionsResponseDoc": {
"properties": {
- "address": {
- "example": "Chicago, IL",
- "type": "string"
- },
- "count": {
- "example": 1,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "fetched_at": {
- "type": "string"
- },
- "results": {
- "items": {
- "$ref": "#/definitions/panera.GeocodeResult"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/medicalnewstoday.SectionsResponse"
},
- "source_url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "panera.GeocodeResult": {
+ "men.AuthorArticle": {
"properties": {
- "city": {
- "example": "Chicago",
+ "label": {
"type": "string"
},
- "country": {
- "example": "US",
+ "label_url": {
"type": "string"
},
- "formatted_address": {
- "example": "Chicago, IL US",
+ "title": {
"type": "string"
},
- "latitude": {
- "example": 41.85003,
- "type": "number"
- },
- "longitude": {
- "example": -87.65005,
- "type": "number"
- },
- "resolved": {
- "description": "Resolved is false when Panera could not geocode the address at all\n(an empty, malformed, or nonsense query).",
- "example": true,
- "type": "boolean"
- },
- "state": {
- "example": "IL",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "panera.HourRange": {
+ "men.AuthorResponse": {
"properties": {
- "close": {
- "example": "21:00",
- "type": "string"
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/men.AuthorArticle"
+ },
+ "type": "array"
},
- "open": {
- "example": "06:00",
+ "bio": {
"type": "string"
- }
- },
- "type": "object"
- },
- "panera.ItemDetailResponse": {
- "properties": {
- "allergens": {
- "$ref": "#/definitions/panera.MenuAllergens"
- },
- "cafe_id": {
- "example": 601447,
- "type": "integer"
},
- "description": {
+ "email": {
"type": "string"
},
- "fetched_at": {
+ "job_title": {
"type": "string"
},
- "ingredient_statement": {
+ "name": {
"type": "string"
},
- "item_id": {
- "example": 650115,
- "type": "integer"
+ "slug": {
+ "type": "string"
},
- "name": {
- "example": "Almond Pastry",
+ "twitter": {
"type": "string"
},
- "nutrients": {
- "items": {
- "$ref": "#/definitions/panera.MenuNutrient"
- },
- "type": "array"
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "mercari.AutocompleteResponse": {
+ "properties": {
+ "query": {
+ "type": "string"
},
- "sizes": {
+ "suggestions": {
"items": {
- "$ref": "#/definitions/panera.ItemDetailSize"
+ "type": "string"
},
"type": "array"
- },
- "source_url": {
- "type": "string"
}
},
"type": "object"
},
- "panera.ItemDetailSize": {
+ "mercari.Brand": {
"properties": {
- "calories": {
- "example": 120,
- "type": "number"
- },
- "is_default": {
- "example": true,
- "type": "boolean"
- },
- "item_id": {
- "example": 646541,
+ "id": {
"type": "integer"
},
"name": {
- "example": "Regular",
"type": "string"
- },
- "price": {
- "example": 3.49,
- "type": "number"
}
},
"type": "object"
},
- "panera.ItemOption": {
+ "mercari.Category": {
"properties": {
- "allergens": {
- "$ref": "#/definitions/panera.MenuAllergens"
+ "icon_url": {
+ "type": "string"
},
- "default_qty": {
- "example": 1,
+ "id": {
"type": "integer"
},
- "image_key": {
- "example": "pecans-whole-r",
+ "name": {
"type": "string"
},
- "is_default": {
- "example": true,
- "type": "boolean"
- },
- "item_id": {
- "example": 4266,
+ "parent_id": {
"type": "integer"
- },
- "variants": {
+ }
+ },
+ "type": "object"
+ },
+ "mercari.HomeResponse": {
+ "properties": {
+ "items": {
"items": {
- "$ref": "#/definitions/panera.ItemOptionVariant"
+ "$ref": "#/definitions/mercari.ItemSummary"
},
"type": "array"
}
},
"type": "object"
},
- "panera.ItemOptionGroup": {
+ "mercari.ItemDetailResponse": {
"properties": {
- "group_id": {
- "example": 1080,
+ "category_code": {
"type": "integer"
},
- "max_allowed": {
- "example": 5,
+ "condition_code": {
"type": "integer"
},
- "min_allowed": {
- "example": 0,
- "type": "integer"
+ "description": {
+ "type": "string"
},
- "options": {
+ "hashtags": {
"items": {
- "$ref": "#/definitions/panera.ItemOption"
+ "type": "string"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "panera.ItemOptionVariant": {
- "properties": {
- "item_id": {
- "example": 5741,
- "type": "integer"
- },
- "price": {
- "example": 0.69,
- "type": "number"
},
- "variant_type": {
- "example": "Light",
+ "id": {
"type": "string"
- }
- },
- "type": "object"
- },
- "panera.ItemOptionsResponse": {
- "properties": {
- "cafe_id": {
- "example": 601447,
+ },
+ "photos": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "price_cents": {
"type": "integer"
},
- "fetched_at": {
+ "shipping_from_state": {
"type": "string"
},
- "groups": {
+ "similar_items": {
"items": {
- "$ref": "#/definitions/panera.ItemOptionGroup"
+ "$ref": "#/definitions/mercari.ItemSummary"
},
"type": "array"
},
- "item_id": {
- "example": 643423,
- "type": "integer"
+ "title": {
+ "type": "string"
},
- "source_url": {
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "panera.LocationCafe": {
+ "mercari.ItemSummary": {
"properties": {
- "cafe_id": {
- "example": 601447,
+ "condition_code": {
"type": "integer"
},
- "city": {
- "example": "Addison",
- "type": "string"
+ "created_at_unix": {
+ "type": "integer"
},
- "country_code": {
- "example": "US",
+ "id": {
"type": "string"
},
- "features": {
- "description": "Features are Panera's own per-cafe capability flags that are true for\nthis cafe (e.g. hasDriveThru, hasDelivery, hasCurbside, hasKiosk).",
- "items": {
- "type": "string"
- },
- "type": "array"
+ "num_likes": {
+ "type": "integer"
},
- "latitude": {
- "example": 41.948594,
- "type": "number"
+ "original_price_cents": {
+ "type": "integer"
},
- "longitude": {
- "example": -88.026398,
- "type": "number"
+ "price_cents": {
+ "type": "integer"
},
- "name": {
- "example": "Addison - W Lake St east of Rohlwing Rd",
+ "seller_id": {
"type": "string"
},
- "phone": {
- "example": "630-250-4952",
+ "thumbnail_url": {
"type": "string"
},
- "postal_code": {
- "example": "60101",
+ "title": {
"type": "string"
},
- "state": {
- "example": "IL",
- "type": "string"
+ "updated_at_unix": {
+ "type": "integer"
},
- "street": {
- "example": "1600 West Lake Street",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "panera.LocationCity": {
+ "mercari.MasterResponse": {
"properties": {
- "cafe_count": {
- "example": 1,
- "type": "integer"
+ "brands": {
+ "items": {
+ "$ref": "#/definitions/mercari.Brand"
+ },
+ "type": "array"
},
- "cafes": {
+ "categories": {
"items": {
- "$ref": "#/definitions/panera.LocationCafe"
+ "$ref": "#/definitions/mercari.Category"
},
"type": "array"
},
- "city": {
- "example": "Addison",
- "type": "string"
+ "sizes": {
+ "items": {
+ "$ref": "#/definitions/mercari.Size"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "panera.LocationsResponse": {
+ "mercari.SearchResponse": {
"properties": {
- "cities": {
- "description": "Cities lists every city in the requested state (or just the one\nmatching city, when both are given), each with its cafes. Populated\nonly when state is given.",
+ "items": {
"items": {
- "$ref": "#/definitions/panera.LocationCity"
+ "$ref": "#/definitions/mercari.ItemSummary"
},
"type": "array"
},
- "city": {
- "example": "Addison",
+ "query": {
"type": "string"
},
- "count": {
- "example": 50,
+ "total_results": {
"type": "integer"
- },
- "fetched_at": {
+ }
+ },
+ "type": "object"
+ },
+ "mercari.Size": {
+ "properties": {
+ "code": {
"type": "string"
},
- "source_url": {
- "type": "string"
+ "id": {
+ "type": "integer"
},
- "state": {
- "example": "IL",
+ "name": {
"type": "string"
},
- "states": {
- "description": "States lists every state Panera serves, with its cafe count. Populated\nonly when neither state nor city is given.",
- "items": {
- "$ref": "#/definitions/panera.StateSummary"
- },
- "type": "array"
+ "short_name": {
+ "type": "string"
}
},
"type": "object"
},
- "panera.MenuAllergenEntry": {
+ "mercari.autocompleteResponseDoc": {
"properties": {
- "id": {
- "example": "TREENUTS",
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "name": {
- "example": "Tree Nuts",
+ "data": {
+ "$ref": "#/definitions/mercari.AutocompleteResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "panera.MenuAllergens": {
+ "mercari.homeResponseDoc": {
"properties": {
- "contains": {
- "items": {
- "$ref": "#/definitions/panera.MenuAllergenEntry"
- },
- "type": "array"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "may_contain": {
- "items": {
- "$ref": "#/definitions/panera.MenuAllergenEntry"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/mercari.HomeResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "panera.MenuCategory": {
+ "mercari.masterResponseDoc": {
"properties": {
- "cat_id": {
- "example": 20,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "image_key": {
- "example": "panini-and-sandwiches",
- "type": "string"
- },
- "item_ids": {
- "description": "ItemIDs are the items directly under this category. Look them up in\nthe response's top-level Items list.",
- "items": {
- "type": "integer"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/mercari.MasterResponse"
},
- "name": {
- "example": "Sandwiches",
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "sort_weight": {
- "example": 6,
- "type": "integer"
- },
- "subcategories": {
- "items": {
- "$ref": "#/definitions/panera.MenuCategory"
- },
- "type": "array"
}
},
"type": "object"
},
- "panera.MenuItem": {
+ "mercari.searchResponseDoc": {
"properties": {
- "allergens": {
- "$ref": "#/definitions/panera.MenuAllergens"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "customizable": {
- "example": true,
- "type": "boolean"
+ "data": {
+ "$ref": "#/definitions/mercari.SearchResponse"
},
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "metacritic.BrowseItem": {
+ "properties": {
"description": {
"type": "string"
},
- "image_key": {
- "example": "strawberry-poppyseed-salad-pantry-reno-half",
+ "genres": {
+ "items": {
+ "$ref": "#/definitions/metacritic.Genre"
+ },
+ "type": "array"
+ },
+ "id": {
+ "type": "integer"
+ },
+ "image": {
"type": "string"
},
- "in_stock": {
- "description": "InStock reflects this cafe's live stockout feed. false means Panera\ncurrently has this item unavailable to order at this specific cafe.",
- "example": true,
- "type": "boolean"
+ "metascore": {
+ "$ref": "#/definitions/metacritic.ScoreSummary"
},
- "item_id": {
- "example": 1805,
+ "premiere_year": {
"type": "integer"
},
- "name": {
- "example": "Half Strawberry Poppyseed Salad",
+ "rating": {
"type": "string"
},
- "nutrients": {
- "items": {
- "$ref": "#/definitions/panera.MenuNutrient"
- },
- "type": "array"
+ "release_date": {
+ "type": "string"
},
- "price": {
- "example": 6.19,
- "type": "number"
+ "season_count": {
+ "type": "integer"
},
- "product_type": {
- "example": "SALAD",
+ "slug": {
"type": "string"
},
- "tags": {
- "description": "Tags are Panera's own merchandising badges for this item (e.g.\nNEW_PRODUCT, LIMITED_TIME, IN_SEASON, ITS_BACK, MY_PANERA_EXCLUSIVE).\nBest-effort: badges are fetched from a separate feed keyed to a\ndifferent id space than the rest of this catalog, so not every item\nresolves one -- see common.go's package doc.",
- "items": {
- "type": "string"
- },
- "type": "array"
+ "title": {
+ "type": "string"
},
- "wellness": {
- "description": "Wellness are Panera's own dietary labels (e.g. Vegan, Vegetarian,\nGluten Conscious).",
- "items": {
- "type": "string"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "panera.MenuNutrient": {
- "properties": {
- "name": {
- "example": "Calories",
+ "type": {
+ "example": "game",
"type": "string"
},
- "unit": {
- "example": "Cal",
+ "url": {
"type": "string"
},
- "value": {
- "example": 580,
+ "user_score": {
"type": "number"
}
},
"type": "object"
},
- "panera.MenuResponse": {
+ "metacritic.BrowseResponse": {
"properties": {
- "cafe_id": {
- "example": 601447,
- "type": "integer"
+ "genre": {
+ "type": "string"
},
- "categories": {
+ "items": {
"items": {
- "$ref": "#/definitions/panera.MenuCategory"
+ "$ref": "#/definitions/metacritic.BrowseItem"
},
"type": "array"
},
- "count": {
- "example": 343,
+ "page": {
"type": "integer"
},
- "fetched_at": {
+ "per_page": {
+ "type": "integer"
+ },
+ "sort": {
"type": "string"
},
- "items": {
- "items": {
- "$ref": "#/definitions/panera.MenuItem"
- },
- "type": "array"
+ "total": {
+ "type": "integer"
},
- "source_url": {
+ "type": {
"type": "string"
}
},
"type": "object"
},
- "panera.QuantityRule": {
+ "metacritic.Credit": {
"properties": {
- "item_ids": {
- "items": {
- "type": "integer"
- },
- "type": "array"
- },
"name": {
- "example": "Souffle",
+ "description": "Name of the person credited.",
"type": "string"
},
- "scope": {
- "example": "group",
+ "role": {
+ "description": "Role of the person on the title, for example `Director`.",
+ "example": "Director",
"type": "string"
- },
- "windows": {
- "items": {
- "$ref": "#/definitions/panera.QuantityRuleWindow"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "panera.QuantityRuleWindow": {
- "properties": {
- "from_offset_days": {
- "example": 0,
- "type": "integer"
- },
- "max_quantity": {
- "example": 6,
- "type": "integer"
- },
- "to_offset_days": {
- "example": 2,
- "type": "integer"
}
},
"type": "object"
},
- "panera.QuantityRulesResponse": {
+ "metacritic.CriticReview": {
"properties": {
- "cafe_id": {
- "example": 601447,
- "type": "integer"
- },
- "count": {
- "example": 3,
- "type": "integer"
- },
- "fetched_at": {
+ "author": {
+ "description": "Name of the critic who wrote the review.",
"type": "string"
},
- "rules": {
- "items": {
- "$ref": "#/definitions/panera.QuantityRule"
- },
- "type": "array"
+ "date": {
+ "description": "Date the review was published, in YYYY-MM-DD.",
+ "example": "2022-02-23",
+ "type": "string"
},
- "source_url": {
+ "platform": {
+ "description": "Platform the game was reviewed on. Set for game reviews.",
"type": "string"
- }
- },
- "type": "object"
- },
- "panera.RetiredProduct": {
- "properties": {
- "availability_stage": {
- "description": "AvailabilityStage is Panera's own classification -- observed values\nare RETIRED (permanently discontinued) and SEASONAL (currently out of\nrotation, may return).",
- "example": "SEASONAL",
+ },
+ "publication": {
+ "description": "Name of the publication that published the review.",
"type": "string"
},
- "description": {
+ "publication_slug": {
+ "description": "Metacritic slug of the publication.",
"type": "string"
},
- "image_key": {
+ "quote": {
+ "description": "Excerpt or summary of the review text.",
"type": "string"
},
- "item_id": {
- "example": 650699,
+ "score": {
+ "description": "Score the critic gave, out of 100. Omitted when the review has no score.",
"type": "integer"
},
- "name": {
- "example": "Italian Steak & Mozz",
- "type": "string"
- },
- "portion": {
- "example": "Whole",
+ "url": {
+ "description": "URL of the full review on the publication's site.",
"type": "string"
}
},
"type": "object"
},
- "panera.RetiredProductsResponse": {
+ "metacritic.CriticReviewsResponse": {
"properties": {
- "cafe_id": {
- "example": 601447,
+ "page": {
+ "description": "Page number returned, starting at 1.",
"type": "integer"
},
- "count": {
- "example": 332,
+ "per_page": {
+ "description": "Number of reviews per page.",
"type": "integer"
},
- "fetched_at": {
- "type": "string"
- },
- "items": {
+ "reviews": {
+ "description": "Critic reviews on this page.",
"items": {
- "$ref": "#/definitions/panera.RetiredProduct"
+ "$ref": "#/definitions/metacritic.CriticReview"
},
"type": "array"
},
- "source_url": {
+ "slug": {
+ "description": "Metacritic slug of the title the reviews belong to.",
+ "type": "string"
+ },
+ "sort": {
+ "description": "Sort order applied: `date`, `score` or `publication`.",
+ "type": "string"
+ },
+ "total": {
+ "description": "Total number of critic reviews for the title.",
+ "type": "integer"
+ },
+ "type": {
+ "description": "Content type of the title: `game`, `movie` or `tv`.",
"type": "string"
}
},
"type": "object"
},
- "panera.StateSummary": {
+ "metacritic.Genre": {
"properties": {
- "cafe_count": {
- "example": 85,
+ "id": {
+ "description": "Metacritic genre id.",
"type": "integer"
},
- "country_code": {
- "example": "US",
- "type": "string"
- },
- "state": {
- "example": "IL",
+ "name": {
+ "description": "Genre name, for example `Action RPG`.",
"type": "string"
}
},
"type": "object"
},
- "panera.TimeSlotWindow": {
+ "metacritic.Platform": {
"properties": {
- "end_time": {
- "example": "2026-09-10T11:15:00-05:00",
+ "id": {
+ "description": "Metacritic platform id.",
+ "type": "integer"
+ },
+ "is_lead": {
+ "description": "Whether this is the game's lead platform.",
+ "type": "boolean"
+ },
+ "metascore": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/metacritic.ScoreSummary"
+ }
+ ],
+ "description": "Critic score summary for the game on this platform."
+ },
+ "name": {
+ "description": "Platform name, for example `PlayStation 5`.",
+ "example": "PlayStation 5",
"type": "string"
},
- "start_time": {
- "example": "2026-09-10T11:10:00-05:00",
+ "release_date": {
+ "description": "Release date of the game on this platform.",
"type": "string"
}
},
"type": "object"
},
- "panera.TimeSlotsResponse": {
+ "metacritic.Product": {
"properties": {
- "cafe_id": {
- "example": 601447,
- "type": "integer"
+ "countries": {
+ "description": "Countries Metacritic lists for the title.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "close": {
- "example": "21:00",
+ "description": {
+ "description": "Plot or game summary as shown on Metacritic.",
"type": "string"
},
- "count": {
- "example": 178,
+ "duration": {
+ "description": "Running time of the title as Metacritic lists it.",
"type": "integer"
},
- "date": {
- "example": "2026-09-10",
- "type": "string"
+ "genres": {
+ "description": "Genres Metacritic assigns to the title.",
+ "items": {
+ "$ref": "#/definitions/metacritic.Genre"
+ },
+ "type": "array"
},
- "fetched_at": {
+ "id": {
+ "description": "Metacritic's numeric id for the title.",
+ "type": "integer"
+ },
+ "image": {
+ "description": "Main image of the title as Metacritic lists it.",
"type": "string"
},
- "open": {
- "example": "06:00",
+ "imdb_id": {
+ "description": "IMDb id of the title, for example `tt0903747`.",
"type": "string"
},
- "source_url": {
+ "imdb_url": {
+ "description": "URL of the title's IMDb page.",
"type": "string"
},
- "windows": {
+ "in_theaters": {
+ "description": "Whether the movie is currently in theaters. Omitted when false.",
+ "type": "boolean"
+ },
+ "metascore": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/metacritic.ScoreSummary"
+ }
+ ],
+ "description": "Critic score summary for the title."
+ },
+ "networks": {
+ "description": "TV networks that air the show.",
"items": {
- "$ref": "#/definitions/panera.TimeSlotWindow"
+ "type": "string"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "panera.UpcomingDay": {
- "properties": {
- "close": {
- "example": "21:00",
- "type": "string"
},
- "closed": {
- "example": false,
- "type": "boolean"
+ "platforms": {
+ "description": "Platforms the game is released on, each with its own Metascore.",
+ "items": {
+ "$ref": "#/definitions/metacritic.Platform"
+ },
+ "type": "array"
},
- "date": {
- "example": "2026-09-02",
- "type": "string"
+ "premiere_year": {
+ "description": "Year the title premiered or was first released.",
+ "type": "integer"
},
- "day_of_week": {
- "example": "Wednesday",
+ "production": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/metacritic.Production"
+ }
+ ],
+ "description": "Companies, crew and official site for the title."
+ },
+ "rating": {
+ "description": "Content rating of the title, for example `M` or `TV-MA`.",
+ "example": "M",
"type": "string"
},
- "open": {
- "example": "06:00",
+ "release_date": {
+ "description": "Release date of the title, in YYYY-MM-DD.",
+ "example": "2022-02-25",
"type": "string"
- }
- },
- "type": "object"
- },
- "panera.UpsellSuggestion": {
- "properties": {
- "item_id": {
- "example": 7392,
+ },
+ "season_count": {
+ "description": "Number of seasons of the show.",
"type": "integer"
},
- "item_name": {
- "example": "Bacon Turkey Bravo Sandwich on Thin Tom Basil - Retail - Half Portion",
+ "slug": {
+ "description": "Metacritic URL slug of the title. Use it with the review endpoints.",
"type": "string"
},
- "suggestions": {
- "items": {
- "$ref": "#/definitions/panera.UpsellSuggestionItem"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "panera.UpsellSuggestionItem": {
- "properties": {
- "item_id": {
- "example": 801215,
- "type": "integer"
+ "tagline": {
+ "description": "Marketing tagline of the title.",
+ "type": "string"
},
- "name": {
- "example": "Extra Turkey",
+ "title": {
+ "description": "Title name as shown on Metacritic.",
+ "type": "string"
+ },
+ "type": {
+ "description": "Content type of the title: `game`, `movie` or `tv`.",
+ "example": "game",
+ "type": "string"
+ },
+ "url": {
+ "description": "Metacritic page URL of the title.",
"type": "string"
+ },
+ "user_score": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/metacritic.ScoreSummary"
+ }
+ ],
+ "description": "User score summary for the title. Omitted when it has no user score yet."
+ },
+ "video": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/metacritic.Video"
+ }
+ ],
+ "description": "Trailer or clip Metacritic links for the title."
}
},
"type": "object"
},
- "panera.UpsellSuggestionsResponse": {
+ "metacritic.Production": {
"properties": {
- "cafe_id": {
- "example": 601447,
- "type": "integer"
- },
- "count": {
- "example": 513,
- "type": "integer"
- },
- "fetched_at": {
- "type": "string"
+ "companies": {
+ "description": "Companies involved in making or publishing the title, without duplicates (up to 12).",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "items": {
+ "crew": {
+ "description": "Crew credits for the title.",
"items": {
- "$ref": "#/definitions/panera.UpsellSuggestion"
+ "$ref": "#/definitions/metacritic.Credit"
},
"type": "array"
},
- "source_url": {
+ "official_site": {
+ "description": "URL of the title's official website.",
"type": "string"
}
},
"type": "object"
},
- "panera.atWorkLocationsResponseDoc": {
+ "metacritic.ScoreSummary": {
"properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "max": {
+ "description": "Highest possible value of `score`, for example `100`.",
+ "example": 100,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/panera.AtWorkLocationsResponse"
+ "negative_count": {
+ "description": "Number of negative reviews counted in the score.",
+ "type": "integer"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
- }
- },
- "type": "object"
- },
- "panera.cafeResponseDoc": {
- "properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "neutral_count": {
+ "description": "Number of neutral (mixed) reviews counted in the score.",
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/panera.CafeResponse"
+ "positive_count": {
+ "description": "Number of positive reviews counted in the score.",
+ "type": "integer"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
- }
- },
- "type": "object"
- },
- "panera.cateringDeliveryInfoResponseDoc": {
- "properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "review_count": {
+ "description": "Number of reviews the score is based on.",
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/panera.CateringDeliveryInfoResponse"
+ "score": {
+ "description": "Score value on the scale given by `max`. Metascores are out of 100 and user scores out of 10.",
+ "type": "number"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "sentiment": {
+ "description": "Metacritic's verdict for the score, for example `Universal acclaim`.",
+ "example": "Universal acclaim",
+ "type": "string"
+ },
+ "url": {
+ "description": "Metacritic page listing the reviews behind the score.",
+ "type": "string"
}
},
"type": "object"
},
- "panera.cateringMenuResponseDoc": {
+ "metacritic.UserReview": {
"properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
+ "author": {
+ "description": "Username of the member who wrote the review.",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/panera.CateringMenuResponse"
+ "date": {
+ "description": "Date the review was posted, in YYYY-MM-DD.",
+ "type": "string"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
- }
- },
- "type": "object"
- },
- "panera.geocodeResponseDoc": {
- "properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
+ "id": {
+ "description": "Metacritic review id.",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/panera.GeocodeResponse"
+ "platform": {
+ "description": "Platform the game was reviewed on. Set for game reviews.",
+ "type": "string"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
- }
- },
- "type": "object"
- },
- "panera.itemDetailResponseDoc": {
- "properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "quote": {
+ "description": "Text of the user review.",
+ "type": "string"
+ },
+ "score": {
+ "description": "Score the user gave, out of 10. Omitted when the review has no score.",
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/panera.ItemDetailResponse"
+ "spoiler": {
+ "description": "Whether the review is flagged as containing spoilers.",
+ "type": "boolean"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
- }
- },
- "type": "object"
- },
- "panera.itemOptionsResponseDoc": {
- "properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "thumbs_down": {
+ "description": "Number of members who voted the review not helpful.",
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/panera.ItemOptionsResponse"
- },
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "thumbs_up": {
+ "description": "Number of members who voted the review helpful.",
+ "type": "integer"
}
},
"type": "object"
},
- "panera.locationsResponseDoc": {
+ "metacritic.UserReviewsResponse": {
"properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "page": {
+ "description": "Page number returned, starting at 1.",
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/panera.LocationsResponse"
+ "per_page": {
+ "description": "Number of reviews per page.",
+ "type": "integer"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "reviews": {
+ "description": "User reviews on this page.",
+ "items": {
+ "$ref": "#/definitions/metacritic.UserReview"
+ },
+ "type": "array"
+ },
+ "slug": {
+ "description": "Metacritic slug of the title the reviews belong to.",
+ "type": "string"
+ },
+ "sort": {
+ "description": "Sort order applied: `date`, `score` or `helpful`.",
+ "type": "string"
+ },
+ "total": {
+ "description": "Total number of user reviews for the title.",
+ "type": "integer"
+ },
+ "type": {
+ "description": "Content type of the title: `game`, `movie` or `tv`.",
+ "type": "string"
}
},
"type": "object"
},
- "panera.menuResponseDoc": {
+ "metacritic.Video": {
"properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "duration": {
+ "description": "Length of the video as Metacritic lists it.",
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/panera.MenuResponse"
+ "embed_url": {
+ "description": "URL for embedding the video player.",
+ "type": "string"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "title": {
+ "description": "Title of the video.",
+ "type": "string"
+ },
+ "url": {
+ "description": "URL of the video.",
+ "type": "string"
}
},
"type": "object"
},
- "panera.quantityRulesResponseDoc": {
+ "metacritic.browseResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/panera.QuantityRulesResponse"
+ "$ref": "#/definitions/metacritic.BrowseResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "panera.retiredProductsResponseDoc": {
+ "metacritic.criticReviewsResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/panera.RetiredProductsResponse"
+ "$ref": "#/definitions/metacritic.CriticReviewsResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "panera.timeSlotsResponseDoc": {
+ "metacritic.productResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/panera.TimeSlotsResponse"
+ "$ref": "#/definitions/metacritic.Product"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "panera.upsellSuggestionsResponseDoc": {
+ "metacritic.userReviewsResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/panera.UpsellSuggestionsResponse"
+ "$ref": "#/definitions/metacritic.UserReviewsResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "papajohns.AllergenFlags": {
+ "metaculus.ForecastHistoryPoint": {
"properties": {
- "egg": {
- "type": "boolean"
- },
- "fish": {
- "type": "boolean"
+ "center": {
+ "description": "Central value of the community forecast, as Metaculus reports it. Same as the first value in `centers`.",
+ "example": 0.36,
+ "type": "number"
},
- "milk": {
- "type": "boolean"
+ "centers": {
+ "description": "All central values of the forecast, as Metaculus reports them. Multiple-choice questions have one per option.",
+ "items": {
+ "type": "number"
+ },
+ "type": "array"
},
- "peanut": {
- "type": "boolean"
+ "end_time": {
+ "description": "End of the period this point covers, in UTC (RFC 3339).",
+ "example": "2026-06-01T17:06:20Z",
+ "type": "string"
},
- "sesame": {
- "type": "boolean"
+ "end_ts": {
+ "description": "End of the period this point covers, in Unix seconds.",
+ "example": 1780333580.206417,
+ "type": "number"
},
- "shellfish": {
- "type": "boolean"
+ "forecaster_count": {
+ "description": "Number of forecasters behind this point.",
+ "example": 17,
+ "type": "integer"
},
- "soy": {
- "type": "boolean"
+ "interval_lower_bounds": {
+ "description": "All lower interval bounds of the forecast, in the same order as `centers`.",
+ "items": {
+ "type": "number"
+ },
+ "type": "array"
},
- "tree_nut": {
- "type": "boolean"
+ "interval_upper_bounds": {
+ "description": "All upper interval bounds of the forecast, in the same order as `centers`.",
+ "items": {
+ "type": "number"
+ },
+ "type": "array"
},
- "wheat": {
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "papajohns.AllergenItem": {
- "properties": {
- "allergens": {
- "$ref": "#/definitions/papajohns.AllergenFlags"
+ "lower": {
+ "description": "Lower bound of the forecast interval, as Metaculus reports it.",
+ "example": 0.26,
+ "type": "number"
},
- "name": {
- "example": "Original Crust",
+ "start_time": {
+ "description": "Start of the period this point covers, in UTC (RFC 3339).",
+ "example": "2026-06-01T17:00:00Z",
"type": "string"
},
- "section": {
- "example": "Crust Options",
- "type": "string"
+ "start_ts": {
+ "description": "Start of the period this point covers, in Unix seconds.",
+ "example": 1780333200,
+ "type": "number"
+ },
+ "upper": {
+ "description": "Upper bound of the forecast interval, as Metaculus reports it.",
+ "example": 0.61,
+ "type": "number"
}
},
"type": "object"
},
- "papajohns.AllergensResponse": {
+ "metaculus.ForecastHistoryResponse": {
"properties": {
- "count": {
- "example": 170,
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-06-07T14:00:00Z",
+ "type": "string"
+ },
+ "max_points": {
+ "description": "Maximum number of history points requested. When there are more, the most recent are returned.",
+ "example": 500,
"type": "integer"
},
- "fetched_at": {
+ "method": {
+ "description": "Aggregation method used: `recency_weighted`, `unweighted` or `single_aggregation`.",
+ "example": "recency_weighted",
"type": "string"
},
- "items": {
+ "points": {
+ "description": "Forecast history points in time order, one item per period.",
"items": {
- "$ref": "#/definitions/papajohns.AllergenItem"
+ "$ref": "#/definitions/metaculus.ForecastHistoryPoint"
},
"type": "array"
},
+ "points_count": {
+ "description": "Number of history points returned.",
+ "example": 25,
+ "type": "integer"
+ },
+ "public_page_derived": {
+ "description": "Always `true`: the values are those shown publicly on Metaculus, without a login.",
+ "example": true,
+ "type": "boolean"
+ },
+ "question": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/metaculus.QuestionRow"
+ }
+ ],
+ "description": "Summary of the Metaculus question this response is about."
+ },
"source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://www.metaculus.com/questions/43612/",
"type": "string"
}
},
"type": "object"
},
- "papajohns.Deal": {
+ "metaculus.ForecastSummary": {
"properties": {
- "description": {
- "type": "string"
+ "center": {
+ "description": "Central value of the community forecast, as Metaculus reports it.",
+ "example": 0.52,
+ "type": "number"
},
- "id": {
- "example": "66262",
- "type": "string"
+ "centers": {
+ "description": "All central values of the forecast, as Metaculus reports them. Multiple-choice questions have one per option.",
+ "items": {
+ "type": "number"
+ },
+ "type": "array"
},
- "image_url": {
- "type": "string"
+ "forecaster_count": {
+ "description": "Number of forecasters behind the latest forecast.",
+ "example": 54,
+ "type": "integer"
},
- "offer_code": {
- "description": "OfferCode is the code the offer is redeemed with.",
- "example": "EDNJX",
- "type": "string"
+ "history_points": {
+ "description": "Number of history points available for this method.",
+ "example": 25,
+ "type": "integer"
},
- "price": {
- "description": "Price is the offer price where the deal advertises one. A deal whose\nprice depends on what the customer builds reports 0.",
- "example": 12.99,
- "type": "number"
+ "interval_lower_bounds": {
+ "description": "All lower interval bounds of the forecast, in the same order as `centers`.",
+ "items": {
+ "type": "number"
+ },
+ "type": "array"
},
- "regular_price": {
- "description": "RegularPrice is the struck-through pre-offer price, present only when\nthe deal actually advertises a saving.",
- "example": 23.49,
- "type": "number"
+ "interval_upper_bounds": {
+ "description": "All upper interval bounds of the forecast, in the same order as `centers`.",
+ "items": {
+ "type": "number"
+ },
+ "type": "array"
},
- "tag": {
- "description": "Tag is the merchandising label, e.g. \"Featured Deal\".",
- "example": "Featured Deal",
- "type": "string"
+ "lower": {
+ "description": "Lower bound of the forecast interval, as Metaculus reports it.",
+ "example": 0.37,
+ "type": "number"
},
- "title": {
- "example": "Ultimate Pepperoni Pizza",
+ "method": {
+ "description": "Aggregation method name, for example `recency_weighted`, `unweighted` or `single_aggregation`.",
+ "example": "recency_weighted",
"type": "string"
},
- "url": {
- "description": "URL is the deal-builder link for this offer.",
- "type": "string"
+ "upper": {
+ "description": "Upper bound of the forecast interval, as Metaculus reports it.",
+ "example": 0.66,
+ "type": "number"
}
},
"type": "object"
},
- "papajohns.DealsResponse": {
+ "metaculus.ForecastsResponse": {
"properties": {
- "count": {
- "example": 16,
- "type": "integer"
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-06-07T14:00:00Z",
+ "type": "string"
},
- "deals": {
+ "methods": {
+ "description": "Latest forecast per aggregation method, with the preferred methods first.",
"items": {
- "$ref": "#/definitions/papajohns.Deal"
+ "$ref": "#/definitions/metaculus.ForecastSummary"
},
"type": "array"
},
- "fetched_at": {
- "type": "string"
+ "methods_count": {
+ "description": "Number of aggregation methods returned.",
+ "example": 3,
+ "type": "integer"
},
- "national_default": {
- "description": "NationalDefault is true when no store was selected. National promotions\nare frequently placeholders prompting the customer to pick a store, so a\ncaller should prefer passing a store_id.",
- "example": false,
+ "public_page_derived": {
+ "description": "Always `true`: the values are those shown publicly on Metaculus, without a login.",
+ "example": true,
"type": "boolean"
},
+ "question": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/metaculus.QuestionRow"
+ }
+ ],
+ "description": "Summary of the Metaculus question this response is about."
+ },
"source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://www.metaculus.com/questions/43612/",
"type": "string"
- },
- "store_id": {
- "example": 5054,
- "type": "integer"
}
},
"type": "object"
},
- "papajohns.DirectoryChild": {
+ "metaculus.OptionForecast": {
"properties": {
- "is_store": {
- "description": "IsStore marks a child that is a store page rather than another\ndirectory level -- call /papajohns/store with its path.",
- "example": false,
- "type": "boolean"
- },
- "name": {
- "example": "CA",
- "type": "string"
+ "center": {
+ "description": "Central value of the community forecast for this option.",
+ "example": 0.42,
+ "type": "number"
},
- "path": {
- "example": "united-states/ca",
- "type": "string"
+ "forecast_value": {
+ "description": "Forecast value for this option, as Metaculus reports it.",
+ "example": 0.42,
+ "type": "number"
},
- "store_count": {
- "description": "StoreCount is how many stores sit under this branch, as Yext reports\nit. Absent once children are stores themselves.",
- "example": 222,
+ "forecaster_count": {
+ "description": "Number of forecasters behind this option's forecast.",
+ "example": 5,
"type": "integer"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "papajohns.DirectoryResponse": {
- "properties": {
- "children": {
- "items": {
- "$ref": "#/definitions/papajohns.DirectoryChild"
- },
- "type": "array"
- },
- "count": {
- "example": 120,
+ "index": {
+ "description": "Position of the option in the question's option list, starting at 0.",
+ "example": 0,
"type": "integer"
},
- "fetched_at": {
+ "label": {
+ "description": "Name of the option, for example `OpenAI`.",
+ "example": "OpenAI",
"type": "string"
},
- "name": {
- "type": "string"
+ "lower": {
+ "description": "Lower bound of the forecast interval for this option.",
+ "example": 0.31,
+ "type": "number"
},
- "path": {
- "example": "united-states/ca",
- "type": "string"
+ "mean": {
+ "description": "Mean of the community forecast for this option.",
+ "example": 0.39,
+ "type": "number"
},
- "source_url": {
- "type": "string"
+ "upper": {
+ "description": "Upper bound of the forecast interval for this option.",
+ "example": 0.43,
+ "type": "number"
}
},
"type": "object"
},
- "papajohns.IndiaAvailability": {
+ "metaculus.OptionsChange": {
"properties": {
- "blacked_out_channel_ids": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "blacked_out_days": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "changed_at": {
+ "description": "Time the option list changed, as Metaculus reports it.",
+ "example": "0001-01-01T00:00:00",
+ "type": "string"
},
- "blacked_out_store_ids": {
+ "options": {
+ "description": "Option labels in effect from that time.",
"items": {
"type": "string"
},
@@ -152111,698 +158599,773 @@
},
"type": "object"
},
- "papajohns.IndiaCurrency": {
+ "metaculus.OptionsResponse": {
"properties": {
- "code": {
- "example": "₹",
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-06-07T14:00:00Z",
"type": "string"
},
- "country_code": {
- "example": "91",
+ "method": {
+ "description": "Aggregation method used: `recency_weighted`, `unweighted` or `single_aggregation`.",
+ "example": "recency_weighted",
"type": "string"
},
- "locale": {
- "example": "en-IN",
- "type": "string"
+ "options": {
+ "description": "Latest forecast for each option of the question.",
+ "items": {
+ "$ref": "#/definitions/metaculus.OptionForecast"
+ },
+ "type": "array"
},
- "name": {
- "example": "Indian Rupee",
+ "options_count": {
+ "description": "Number of options returned.",
+ "example": 2,
+ "type": "integer"
+ },
+ "options_history": {
+ "description": "Earlier versions of the option list, when the options changed.",
+ "items": {
+ "$ref": "#/definitions/metaculus.OptionsChange"
+ },
+ "type": "array"
+ },
+ "public_page_derived": {
+ "description": "Always `true`: the values are those shown publicly on Metaculus, without a login.",
+ "example": true,
+ "type": "boolean"
+ },
+ "question": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/metaculus.QuestionRow"
+ }
+ ],
+ "description": "Summary of the Metaculus question this response is about."
+ },
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://www.metaculus.com/questions/43731/",
"type": "string"
}
},
"type": "object"
},
- "papajohns.IndiaDealChoice": {
+ "metaculus.Project": {
"properties": {
- "category": {
- "example": "Pizzas",
+ "emoji": {
+ "description": "Emoji shown next to the category or project on Metaculus.",
+ "example": "💼",
"type": "string"
},
- "item_id": {
- "example": "71",
- "type": "string"
+ "id": {
+ "description": "Metaculus id of the category or project.",
+ "example": 3698,
+ "type": "integer"
},
"name": {
- "example": "MARGHERITA",
+ "description": "Display name, for example `Economy & Business`.",
+ "example": "Economy & Business",
"type": "string"
},
- "price": {
- "example": 399,
- "type": "number"
- },
- "size": {
- "example": "Medium",
+ "slug": {
+ "description": "URL slug, for example `economy-business`.",
+ "example": "economy-business",
"type": "string"
},
- "size_id": {
- "example": "2",
+ "type": {
+ "description": "Kind of project, for example `category` or `tournament`.",
+ "example": "category",
"type": "string"
}
},
"type": "object"
},
- "papajohns.IndiaDealResponse": {
+ "metaculus.QuestionMetadataResponse": {
"properties": {
- "buy_x": {
- "type": "integer"
+ "actual_close_time": {
+ "description": "Time the question actually closed to forecasts, as Metaculus reports it.",
+ "example": "2026-12-30T23:59:00Z",
+ "type": "string"
},
- "category_id": {
- "example": "11",
+ "actual_resolve_time": {
+ "description": "Time the question actually resolved, as Metaculus reports it.",
+ "example": "2027-01-02T00:00:00Z",
"type": "string"
},
- "currency": {
- "$ref": "#/definitions/papajohns.IndiaCurrency"
+ "all_options_ever": {
+ "description": "Every option label the question has ever had.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "description": {
- "example": "Sakkath Combo",
+ "default_aggregation_method": {
+ "description": "Aggregation method Metaculus shows by default, for example `recency_weighted`.",
+ "example": "recency_weighted",
"type": "string"
},
- "end_time": {
- "example": "23:59:59",
+ "default_score_type": {
+ "description": "Score type Metaculus uses by default, for example `peer`.",
+ "example": "peer",
"type": "string"
},
"fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-06-07T14:00:00Z",
"type": "string"
},
- "get_y": {
+ "group_variable": {
+ "description": "Name of the variable that distinguishes the questions in a group, for example `Company`.",
+ "example": "Company",
+ "type": "string"
+ },
+ "inbound_outcome_count": {
+ "description": "Number of outcomes inside the question's range.",
+ "example": 10,
"type": "integer"
},
- "highest_of_two": {
+ "include_bots_in_aggregates": {
+ "description": "Whether bot forecasts are included in the aggregate forecasts.",
+ "example": false,
"type": "boolean"
},
- "id": {
- "example": "17",
- "type": "string"
+ "open_lower_bound": {
+ "description": "Whether the answer can fall below the lower end of the range.",
+ "example": false,
+ "type": "boolean"
},
- "image_url": {
+ "open_upper_bound": {
+ "description": "Whether the answer can fall above the upper end of the range.",
+ "example": false,
+ "type": "boolean"
+ },
+ "options": {
+ "description": "Current option labels of a multiple-choice question.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "options_history": {
+ "description": "Earlier versions of the option list, when the options changed.",
+ "items": {
+ "$ref": "#/definitions/metaculus.OptionsChange"
+ },
+ "type": "array"
+ },
+ "options_order": {
+ "description": "How the options are ordered, for example `DEFAULT`.",
+ "example": "DEFAULT",
"type": "string"
},
- "market": {
- "example": "india",
+ "possibilities": {
+ "description": "Possible outcomes of the question, as Metaculus describes them."
+ },
+ "public_page_derived": {
+ "description": "Always `true`: the values are those shown publicly on Metaculus, without a login.",
+ "example": true,
+ "type": "boolean"
+ },
+ "question": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/metaculus.QuestionRow"
+ }
+ ],
+ "description": "Summary of the Metaculus question this response is about."
+ },
+ "resolution": {
+ "description": "Resolution of the question, as Metaculus reports it. Omitted while unresolved.",
"type": "string"
},
- "name": {
- "example": "Sakkath Veg Combo - Dine In",
+ "resolution_set_time": {
+ "description": "Time the resolution was set, as Metaculus reports it.",
+ "example": "2027-01-02T00:00:00Z",
"type": "string"
},
- "price": {
- "description": "Price is the deal's fixed price when price_type is fixedPrice, and 0\nfor a computed deal (BuyXGetY, HalfAndHalf, variablePrice).",
- "example": 699,
- "type": "number"
+ "scaling": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/metaculus.QuestionScaling"
+ }
+ ],
+ "description": "Range and scale settings of a numeric or date question."
},
- "price_type": {
- "example": "fixedPrice",
+ "short_title": {
+ "description": "Short form of the question title.",
+ "example": "OpenAI or Anthropic - higher valuation on Jan 1, 2027?",
"type": "string"
},
- "slots": {
- "items": {
- "$ref": "#/definitions/papajohns.IndiaDealSlot"
- },
- "type": "array"
- },
"source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://www.metaculus.com/questions/43731/",
"type": "string"
- },
- "start_time": {
- "example": "00:00:00",
+ }
+ },
+ "type": "object"
+ },
+ "metaculus.QuestionResponse": {
+ "properties": {
+ "fetched_at": {
+ "example": "2026-06-07T14:00:00Z",
"type": "string"
},
- "sum_of_two": {
- "description": "SumOfTwo and HighestOfTwo describe how a two-item deal is priced when\nprice_type is HalfAndHalf.",
- "type": "boolean"
+ "question": {
+ "$ref": "#/definitions/metaculus.QuestionRow"
+ },
+ "source_url": {
+ "example": "https://www.metaculus.com/questions/43612/",
+ "type": "string"
}
},
"type": "object"
},
- "papajohns.IndiaDealSlot": {
+ "metaculus.QuestionRow": {
"properties": {
- "choice_count": {
- "example": 5,
- "type": "integer"
- },
- "choices": {
+ "categories": {
+ "description": "Categories the question is filed under.",
"items": {
- "$ref": "#/definitions/papajohns.IndiaDealChoice"
+ "$ref": "#/definitions/metaculus.Project"
},
"type": "array"
},
- "id": {
- "example": "1376",
- "type": "string"
+ "comment_count": {
+ "description": "Number of comments on the question.",
+ "example": 16,
+ "type": "integer"
},
- "name": {
+ "edited_at": {
+ "description": "Time the question was last edited, in UTC (RFC 3339).",
+ "example": "2026-06-07T13:14:34Z",
"type": "string"
},
- "optional": {
- "example": false,
- "type": "boolean"
+ "forecaster_count": {
+ "description": "Number of forecasters who have forecast on the question.",
+ "example": 54,
+ "type": "integer"
},
- "percentage_off": {
- "type": "number"
+ "forecasts_count": {
+ "description": "Total number of forecasts submitted on the question.",
+ "example": 149,
+ "type": "integer"
},
- "quantity": {
- "example": 1,
+ "id": {
+ "description": "Metaculus post id of the question. Use it with the question endpoints.",
+ "example": 43612,
"type": "integer"
},
- "size": {
- "example": "Medium",
- "type": "string"
- }
- },
- "type": "object"
- },
- "papajohns.IndiaMenuCategory": {
- "properties": {
- "description": {
- "type": "string"
+ "latest_forecast_center": {
+ "description": "Central value of the latest community forecast, as Metaculus reports it.",
+ "example": 0.52,
+ "type": "number"
},
- "id": {
- "example": "6",
- "type": "string"
+ "latest_forecast_lower": {
+ "description": "Lower bound of the latest community forecast interval.",
+ "example": 0.37,
+ "type": "number"
},
- "image_url": {
- "type": "string"
+ "latest_forecast_upper": {
+ "description": "Upper bound of the latest community forecast interval.",
+ "example": 0.66,
+ "type": "number"
},
- "item_count": {
- "example": 29,
- "type": "integer"
+ "open_time": {
+ "description": "Time the question opened for forecasts, in UTC (RFC 3339).",
+ "example": "2026-06-01T17:00:00Z",
+ "type": "string"
},
- "items": {
+ "projects": {
+ "description": "Tournaments and projects the question belongs to.",
"items": {
- "$ref": "#/definitions/papajohns.IndiaMenuItem"
+ "$ref": "#/definitions/metaculus.Project"
},
"type": "array"
},
- "name": {
- "example": "Pizzas",
+ "public_page_derived": {
+ "description": "Always `true`: the values are those shown publicly on Metaculus, without a login.",
+ "example": true,
+ "type": "boolean"
+ },
+ "published_at": {
+ "description": "Time the question was published, in UTC (RFC 3339).",
+ "example": "2026-05-29T15:33:53Z",
"type": "string"
},
- "rank": {
- "example": 7,
+ "question_id": {
+ "description": "Metaculus id of the underlying question, which can differ from the post `id`.",
+ "example": 43609,
"type": "integer"
},
- "subcategories": {
- "items": {
- "$ref": "#/definitions/papajohns.IndiaMenuSubcategory"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "papajohns.IndiaMenuFilters": {
- "properties": {
- "availability_filter_applied": {
- "description": "AvailabilityFilterApplied is false unless store_id, channel_id, and day\nwere all supplied -- the operator's blackout rules need all three.",
+ "question_title": {
+ "description": "Full wording of the question.",
+ "example": "What will be the World Bank monthly price of liquid sulphur in June 2026?",
+ "type": "string"
+ },
+ "question_type": {
+ "description": "Question type, for example `binary`, `numeric` or `multiple_choice`.",
+ "example": "numeric",
+ "type": "string"
+ },
+ "resolved": {
+ "description": "Whether the question has been resolved.",
"example": false,
"type": "boolean"
},
- "category_id": {
+ "scheduled_close_time": {
+ "description": "Time the question is scheduled to close to forecasts, in UTC (RFC 3339).",
+ "example": "2026-07-15T00:00:00Z",
"type": "string"
},
- "channel": {
- "example": "Delivery",
+ "scheduled_resolve_time": {
+ "description": "Time the question is scheduled to resolve, in UTC (RFC 3339).",
+ "example": "2026-09-07T00:00:00Z",
"type": "string"
},
- "channel_id": {
+ "slug": {
+ "description": "URL slug of the question.",
+ "example": "tampa-sulphur-price-in-june-2026",
"type": "string"
},
- "day": {
+ "status": {
+ "description": "Question status on Metaculus, for example `open`.",
+ "example": "open",
"type": "string"
},
- "day_name": {
- "example": "Monday",
+ "title": {
+ "description": "Question title as shown on Metaculus.",
+ "example": "Tampa sulphur price in June 2026?",
"type": "string"
},
- "store_id": {
+ "unit": {
+ "description": "Unit of the answer for numeric questions, for example `USD/metric ton`.",
+ "example": "USD/metric ton",
"type": "string"
},
- "tag": {
+ "url": {
+ "description": "Metaculus page URL of the question.",
+ "example": "https://www.metaculus.com/questions/43612/tampa-sulphur-price-in-june-2026/",
"type": "string"
}
},
"type": "object"
},
- "papajohns.IndiaMenuItem": {
+ "metaculus.QuestionScaling": {
"properties": {
- "availability": {
- "allOf": [
- {
- "$ref": "#/definitions/papajohns.IndiaAvailability"
- }
- ],
- "description": "Availability lists the store/channel/day combinations where this item is\nblacked out. The item is unavailable only where all three match; empty\nlists mean it is available everywhere."
+ "continuous_range": {
+ "description": "ContinuousRange passes through Metaculus's scaling.continuous_range: null\nfor discrete questions, an array of numbers (the CDF internal locations)\nfor continuous/numeric ones. It was previously typed []string, so hydrating\na commented continuous question failed to decode and 503'd the comments\nfeeds; numbers are the correct element type.",
+ "items": {},
+ "type": "array"
},
- "buy_x": {
+ "inbound_outcome_count": {
+ "description": "Number of outcomes inside the question's range.",
+ "example": 10,
"type": "integer"
},
- "category_id": {
- "example": "6",
- "type": "string"
- },
- "customizable": {
- "description": "Customizable reports whether the item exposes a size/crust/topping tree.",
- "example": true,
- "type": "boolean"
+ "nominal_max": {
+ "description": "Highest value of the range as shown to forecasters.",
+ "example": 100,
+ "type": "number"
},
- "description": {
- "type": "string"
+ "nominal_min": {
+ "description": "Lowest value of the range as shown to forecasters.",
+ "example": 0,
+ "type": "number"
},
- "discounted": {
+ "open_lower_bound": {
+ "description": "Whether the answer can fall below the lower end of the range.",
"example": false,
"type": "boolean"
},
- "get_y": {
- "type": "integer"
- },
- "id": {
- "example": "71",
- "type": "string"
- },
- "image_url": {
- "type": "string"
+ "open_upper_bound": {
+ "description": "Whether the answer can fall above the upper end of the range.",
+ "example": false,
+ "type": "boolean"
},
- "kind": {
- "description": "Kind is \"item\" for an a la carte product or \"deal\" for a combo/offer.",
- "example": "item",
- "type": "string"
+ "range_max": {
+ "description": "Upper end of the question's range.",
+ "example": 100,
+ "type": "number"
},
- "name": {
- "example": "MARGHERITA",
- "type": "string"
+ "range_min": {
+ "description": "Lower end of the question's range.",
+ "example": 0,
+ "type": "number"
},
- "price": {
- "description": "Price is the item's list price in the franchise currency. A deal with a\ncomputed price (BuyXGetY, HalfAndHalf, variablePrice) reports 0 here --\nread price_type instead.",
- "example": 399,
+ "zero_point": {
+ "description": "Zero point of the question's range, when Metaculus defines one.",
+ "example": 0,
"type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "metaculus.QuestionsResponse": {
+ "properties": {
+ "feed": {
+ "description": "Feed the questions came from, for example `questions`.",
+ "example": "questions",
+ "type": "string"
},
- "price_type": {
- "description": "PriceType is set on deals only: fixedPrice, BuyXGetY, HalfAndHalf, or\nvariablePrice.",
- "example": "BuyXGetY",
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-06-07T14:00:00Z",
"type": "string"
},
- "rank": {
- "example": 1,
+ "limit": {
+ "description": "Maximum number of questions requested.",
+ "example": 10,
"type": "integer"
},
- "sizes": {
- "description": "Sizes is populated only when include_options=true.",
+ "questions": {
+ "description": "Questions in the feed, one item per question.",
"items": {
- "$ref": "#/definitions/papajohns.IndiaMenuSize"
+ "$ref": "#/definitions/metaculus.QuestionRow"
},
"type": "array"
},
- "strike_off_price": {
- "example": 499,
- "type": "number"
- },
- "sub_category_id": {
- "example": "4",
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://www.metaculus.com/questions/",
"type": "string"
- },
- "tags": {
- "description": "Tags are the item's dietary/attribute markers, e.g. Veg, Non Veg, Spicy.",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "upsell": {
- "example": false,
- "type": "boolean"
}
},
"type": "object"
},
- "papajohns.IndiaMenuItemResponse": {
+ "metaculus.forecastHistoryResponseDoc": {
"properties": {
- "category": {
- "description": "Category is the section this item was found under.",
- "example": "Pizzas",
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "currency": {
- "$ref": "#/definitions/papajohns.IndiaCurrency"
+ "data": {
+ "$ref": "#/definitions/metaculus.ForecastHistoryResponse"
},
- "fetched_at": {
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "metaculus.forecastsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "item": {
- "$ref": "#/definitions/papajohns.IndiaMenuItem"
+ "data": {
+ "$ref": "#/definitions/metaculus.ForecastsResponse"
},
- "market": {
- "example": "india",
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "metaculus.metadataResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "source_url": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/metaculus.QuestionMetadataResponse"
},
- "taxes": {
- "items": {
- "$ref": "#/definitions/papajohns.IndiaTax"
- },
- "type": "array"
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "papajohns.IndiaMenuOptionChoice": {
+ "metaculus.optionsResponseDoc": {
"properties": {
- "default": {
- "example": true,
- "type": "boolean"
- },
- "extra": {
- "example": false,
- "type": "boolean"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "half_price": {
- "example": 399.5,
- "type": "number"
+ "data": {
+ "$ref": "#/definitions/metaculus.OptionsResponse"
},
- "id": {
- "example": "1",
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "metaculus.questionResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "image_url": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/metaculus.QuestionResponse"
},
- "name": {
- "example": "Original Crust",
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "metaculus.questionsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "price": {
- "example": 799,
- "type": "number"
- },
- "removable": {
- "example": false,
- "type": "boolean"
+ "data": {
+ "$ref": "#/definitions/metaculus.QuestionsResponse"
},
- "strike_off_price": {
- "type": "number"
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "papajohns.IndiaMenuOptionGroup": {
+ "metajobs.ListResponse": {
"properties": {
- "base_price": {
- "example": true,
- "type": "boolean"
- },
- "choices": {
+ "listings": {
"items": {
- "$ref": "#/definitions/papajohns.IndiaMenuOptionChoice"
+ "$ref": "#/definitions/metajobs.MetaJobListing"
},
"type": "array"
},
- "halves_enabled": {
- "example": true,
- "type": "boolean"
- },
- "id": {
- "example": "1",
- "type": "string"
+ "page": {
+ "example": 1,
+ "type": "integer"
},
- "name": {
- "example": "Crust",
- "type": "string"
+ "page_size": {
+ "example": 50,
+ "type": "integer"
},
- "selection_rule": {
- "example": "Exactly",
+ "source_url": {
"type": "string"
},
- "selection_spec": {
- "example": "1",
- "type": "string"
+ "total": {
+ "example": 754,
+ "type": "integer"
}
},
"type": "object"
},
- "papajohns.IndiaMenuResponse": {
+ "metajobs.MetaJob": {
"properties": {
- "categories": {
- "items": {
- "$ref": "#/definitions/papajohns.IndiaMenuCategory"
- },
- "type": "array"
- },
- "currency": {
- "$ref": "#/definitions/papajohns.IndiaCurrency"
+ "compensation_country": {
+ "example": "US",
+ "type": "string"
},
- "fetched_at": {
+ "compensation_max": {
+ "example": "$241,000/year",
"type": "string"
},
- "filters": {
- "$ref": "#/definitions/papajohns.IndiaMenuFilters"
+ "compensation_min": {
+ "example": "$173,000/year",
+ "type": "string"
},
- "item_count": {
- "example": 114,
- "type": "integer"
+ "departments": {
+ "example": [
+ "Product Management"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "market": {
- "example": "india",
+ "description": {
"type": "string"
},
- "source_url": {
+ "id": {
+ "example": "1238249364564427",
"type": "string"
},
- "tags": {
+ "locations": {
+ "example": [
+ "Menlo Park",
+ " CA"
+ ],
"items": {
"type": "string"
},
"type": "array"
},
- "taxes": {
+ "minimum_qualifications": {
"items": {
- "$ref": "#/definitions/papajohns.IndiaTax"
+ "type": "string"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "papajohns.IndiaMenuSize": {
- "properties": {
- "default": {
- "example": true,
- "type": "boolean"
- },
- "id": {
- "example": "3",
- "type": "string"
},
- "name": {
- "example": "Large",
- "type": "string"
+ "preferred_qualifications": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "option_groups": {
+ "responsibilities": {
"items": {
- "$ref": "#/definitions/papajohns.IndiaMenuOptionGroup"
+ "type": "string"
},
"type": "array"
},
- "rank": {
- "example": 1,
- "type": "integer"
+ "title": {
+ "example": "Product Manager",
+ "type": "string"
+ },
+ "url": {
+ "example": "https://www.metacareers.com/profile/job_details/1238249364564427/",
+ "type": "string"
}
},
"type": "object"
},
- "papajohns.IndiaMenuSubcategory": {
+ "metajobs.MetaJobListing": {
"properties": {
"id": {
- "example": "8",
+ "example": "1238249364564427",
"type": "string"
},
- "items": {
- "items": {
- "$ref": "#/definitions/papajohns.IndiaMenuItem"
- },
- "type": "array"
+ "last_modified": {
+ "example": "2026-07-29T01:17:34-07:00",
+ "type": "string"
},
- "name": {
- "example": "India Special",
+ "url": {
+ "example": "https://www.metacareers.com/profile/job_details/1238249364564427/",
"type": "string"
}
},
"type": "object"
},
- "papajohns.IndiaStore": {
+ "metajobs.MetaJobSearchResult": {
"properties": {
- "address": {
+ "id": {
+ "example": "1010234865172301",
"type": "string"
},
- "channels": {
- "description": "Channels lists the order channels this store publishes hours for.",
+ "locations": {
+ "example": [
+ "Sunnyvale",
+ " CA"
+ ],
"items": {
"type": "string"
},
"type": "array"
},
- "email": {
- "type": "string"
- },
- "hours": {
+ "sub_teams": {
+ "example": [
+ "Hardware"
+ ],
"items": {
- "$ref": "#/definitions/papajohns.IndiaStoreHours"
+ "type": "string"
},
"type": "array"
},
- "id": {
- "example": "7",
- "type": "string"
- },
- "latitude": {
- "example": 12.840903161072498,
- "type": "number"
- },
- "longitude": {
- "example": 77.65593675511532,
- "type": "number"
- },
- "name": {
- "example": "PJPB - 360° Business Park, Electronics City BLR",
- "type": "string"
+ "teams": {
+ "example": [
+ "Infrastructure"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "phone": {
- "example": "9240244043",
+ "title": {
+ "example": "ASIC Engineer, Design",
"type": "string"
},
- "store_code": {
- "example": "QRyCHD",
+ "url": {
+ "example": "https://www.metacareers.com/profile/job_details/1010234865172301/",
"type": "string"
}
},
"type": "object"
},
- "papajohns.IndiaStoreHours": {
+ "metajobs.SearchResponse": {
"properties": {
- "channel": {
- "example": "Take Away",
- "type": "string"
- },
- "channel_id": {
- "example": "2",
- "type": "string"
- },
- "closes": {
- "example": "23:00:59",
- "type": "string"
+ "jobs": {
+ "items": {
+ "$ref": "#/definitions/metajobs.MetaJobSearchResult"
+ },
+ "type": "array"
},
- "day": {
- "example": "Monday",
+ "source_url": {
"type": "string"
},
- "opens": {
- "example": "11:00:00",
- "type": "string"
+ "total": {
+ "example": 58,
+ "type": "integer"
}
},
"type": "object"
},
- "papajohns.IndiaStoresResponse": {
+ "metajobs.jobResponseDoc": {
"properties": {
- "channel": {
- "example": "Delivery",
- "type": "string"
- },
- "channel_id": {
- "type": "string"
- },
- "count": {
- "example": 9,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "fetched_at": {
- "type": "string"
- },
- "market": {
- "example": "india",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/metajobs.MetaJob"
},
- "source_url": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "stores": {
- "items": {
- "$ref": "#/definitions/papajohns.IndiaStore"
- },
- "type": "array"
}
},
"type": "object"
},
- "papajohns.IndiaTax": {
+ "metajobs.listResponseDoc": {
"properties": {
- "inclusive": {
- "example": false,
- "type": "boolean"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "name": {
- "example": "GST",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/metajobs.ListResponse"
},
- "type": {
- "example": "percentage",
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "value": {
- "example": 5,
- "type": "number"
}
},
"type": "object"
},
- "papajohns.IntlDeal": {
+ "metajobs.searchResponseDoc": {
"properties": {
- "availability": {
- "description": "Availability lists the weekdays the offer runs on.",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "category": {
- "example": "app",
- "type": "string"
- },
- "description": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "dispatch_method": {
- "description": "DispatchMethod is the fulfillment this offer applies to.",
- "example": "pj_delivery",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/metajobs.SearchResponse"
},
- "end_date": {
- "example": "2026-09-30T23:45:00Z",
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "id": {
- "example": 955,
- "type": "integer"
- },
+ }
+ },
+ "type": "object"
+ },
+ "metro.AuthorArticle": {
+ "properties": {
"image_url": {
"type": "string"
},
- "name": {
- "example": "Combo Veranito delivery",
+ "published_at": {
"type": "string"
},
- "offer_id": {
- "description": "OfferID is set when this promotion is backed by a structured offer, and\nis the id GET /papajohns/intl/offer takes to return its full\ncomposition. Absent when the banner points at something else.",
- "example": 660,
- "type": "integer"
+ "section": {
+ "type": "string"
},
- "product": {
- "description": "Product is the offer's headline product name.",
- "example": "Combo Veranito",
+ "summary": {
"type": "string"
},
- "start_date": {
- "example": "2025-10-24T00:00:00Z",
+ "title": {
"type": "string"
},
"url": {
@@ -152811,152 +159374,153 @@
},
"type": "object"
},
- "papajohns.IntlDealsResponse": {
+ "metro.AuthorResponse": {
"properties": {
- "count": {
- "example": 1,
- "type": "integer"
- },
- "deals": {
+ "articles": {
"items": {
- "$ref": "#/definitions/papajohns.IntlDeal"
+ "$ref": "#/definitions/metro.AuthorArticle"
},
"type": "array"
},
- "dispatch_method": {
- "example": "pj_delivery",
+ "bio": {
"type": "string"
},
- "fetched_at": {
+ "image_url": {
"type": "string"
},
- "market": {
- "example": "spain",
+ "job_title": {
"type": "string"
},
- "source_url": {
+ "knows_about": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "name": {
+ "type": "string"
+ },
+ "same_as": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "papajohns.IntlDeliveryZone": {
+ "microsoftstore.AgeRating": {
"properties": {
- "delivery_price": {
- "example": 0,
- "type": "number"
+ "age": {
+ "example": 13,
+ "type": "integer"
},
- "minimum_order_for_delivery": {
- "type": "number"
+ "description": {
+ "example": "For ages 13 and up",
+ "type": "string"
},
- "minimum_order_for_free_delivery": {
- "type": "number"
+ "descriptors": {
+ "example": [
+ "[\"Diverse Content: Discretion Advised\"]"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "name": {
- "example": "Zona 1",
+ "system": {
+ "example": "ESRB",
+ "type": "string"
+ },
+ "value": {
+ "example": "TEEN",
"type": "string"
}
},
"type": "object"
},
- "papajohns.IntlIngredient": {
+ "microsoftstore.Award": {
"properties": {
- "available_as_half": {
- "description": "AvailableAsHalf reports whether it can be applied to just one half.",
- "example": true,
- "type": "boolean"
- },
- "base": {
- "description": "Base marks an ingredient included on the pizza by default.",
- "example": false,
- "type": "boolean"
- },
"category": {
- "description": "Category is the ingredient family, e.g. meat or vegetable.",
- "example": "base_sauce",
+ "example": "Productivity category",
"type": "string"
},
"description": {
+ "example": "The Microsoft Store Awards celebrate apps and games that emphasize exceptional experiences for their users.",
"type": "string"
},
- "id": {
- "example": 25,
- "type": "integer"
+ "editorial_id": {
+ "example": "Editorials/Awards_2025/Global/Notion_xpdbvss44r0l9h",
+ "type": "string"
},
- "image_url": {
+ "title": {
+ "example": "Microsoft Store Awards 2025",
"type": "string"
},
- "name": {
- "example": "Salsa de Tomate",
+ "year": {
+ "example": 2025,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "microsoftstore.Badge": {
+ "properties": {
+ "icon_id": {
+ "example": "AI",
"type": "string"
},
- "premium": {
- "description": "Premium marks an ingredient charged at the premium rate rather than the\nnormal one.",
- "example": false,
- "type": "boolean"
+ "text": {
+ "example": "Uses AI features",
+ "type": "string"
}
},
"type": "object"
},
- "papajohns.IntlIngredientPrices": {
+ "microsoftstore.CategoriesResponse": {
"properties": {
- "normal": {
- "additionalProperties": {
- "format": "float64",
- "type": "number"
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/microsoftstore.CategoryTaxonomy"
},
- "type": "object"
+ "type": "array"
},
- "premium": {
- "additionalProperties": {
- "format": "float64",
- "type": "number"
- },
- "type": "object"
+ "media_type": {
+ "example": "apps",
+ "type": "string"
}
},
"type": "object"
},
- "papajohns.IntlIngredientsResponse": {
+ "microsoftstore.CategoryResponse": {
"properties": {
"category": {
- "example": "meat",
+ "example": "Photo & video",
"type": "string"
},
"count": {
- "example": 39,
+ "example": 20,
"type": "integer"
},
- "fetched_at": {
- "type": "string"
+ "has_more": {
+ "example": true,
+ "type": "boolean"
},
- "ingredients": {
+ "items": {
"items": {
- "$ref": "#/definitions/papajohns.IntlIngredient"
+ "$ref": "#/definitions/microsoftstore.Product"
},
"type": "array"
},
- "market": {
- "example": "spain",
+ "media_type": {
+ "example": "apps",
"type": "string"
},
- "menu_id": {
- "example": 8,
- "type": "integer"
- },
- "prices": {
- "allOf": [
- {
- "$ref": "#/definitions/papajohns.IntlIngredientPrices"
- }
- ],
- "description": "Prices is what adding one extra ingredient costs, keyed by size code."
- },
- "sizes": {
- "additionalProperties": {
- "type": "string"
- },
- "type": "object"
+ "next_cursor": {
+ "type": "string"
},
"source_url": {
"type": "string"
@@ -152964,7529 +159528,6285 @@
},
"type": "object"
},
- "papajohns.IntlMenuProduct": {
+ "microsoftstore.CategoryTaxonomy": {
"properties": {
- "alcohol": {
- "type": "boolean"
- },
"category": {
- "example": "pizza",
- "type": "string"
- },
- "currency": {
- "example": "EUR",
- "type": "string"
- },
- "customizable": {
- "type": "boolean"
- },
- "description": {
+ "example": "Books & reference",
"type": "string"
},
- "discount": {
- "type": "number"
- },
- "food_type": {
- "description": "FoodType carries dietary markers the platform publishes, e.g. vegetarian.",
+ "subcategories": {
+ "example": [
+ "[\"E-reader\"",
+ "\"Fiction\"",
+ "\"Nonfiction\"",
+ "\"Reference\"]"
+ ],
"items": {
"type": "string"
},
"type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "microsoftstore.ChartsResponse": {
+ "properties": {
+ "category": {
+ "example": "Photo & video",
+ "type": "string"
},
- "id": {
- "example": 8,
+ "count": {
+ "example": 20,
"type": "integer"
},
- "image_url": {
+ "discount_filter": {
+ "example": "onsale",
"type": "string"
},
- "initial_price": {
- "type": "number"
+ "items": {
+ "items": {
+ "$ref": "#/definitions/microsoftstore.Product"
+ },
+ "type": "array"
},
- "kind": {
- "description": "Kind is \"pizza\" or \"side\" -- the platform's two product families.",
- "example": "pizza",
+ "list": {
+ "example": "TopFree",
"type": "string"
},
- "name": {
- "example": "Super Papa",
+ "media_type": {
+ "example": "apps",
"type": "string"
},
- "price": {
- "description": "Price is set only for a product the platform prices directly rather than\nthrough variants. Read variants for anything with sizes or crusts.",
- "type": "number"
+ "num_players_filter": {
+ "example": "SinglePlayer",
+ "type": "string"
},
- "price_from": {
- "description": "PriceFrom is the cheapest variant price, so a caller can rank products\nwithout walking every variant. Absent when the product has no priced\nvariant and no direct price.",
- "example": 14.99,
- "type": "number"
- },
- "variants": {
- "items": {
- "$ref": "#/definitions/papajohns.IntlMenuVariant"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "papajohns.IntlMenuResponse": {
- "properties": {
- "count": {
- "example": 43,
+ "page": {
+ "example": 1,
"type": "integer"
},
- "crusts": {
- "additionalProperties": {
- "type": "string"
- },
- "type": "object"
+ "page_size": {
+ "example": 20,
+ "type": "integer"
},
- "currency": {
- "example": "EUR",
+ "source_url": {
"type": "string"
},
- "fetched_at": {
+ "subcategory": {
+ "example": "E-reader",
"type": "string"
},
- "food_type": {
- "example": "vegetarian",
+ "subscription_filter": {
+ "example": "gamepass",
"type": "string"
},
- "kind": {
- "example": "pizza",
+ "title": {
+ "example": "Must-have free apps",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "microsoftstore.EditorialResponse": {
+ "properties": {
+ "editorial_id": {
+ "example": "Editorials/Awards_2025/Global/Notion_xpdbvss44r0l9h",
"type": "string"
},
- "market": {
- "example": "spain",
+ "header_image": {
"type": "string"
},
- "products": {
+ "paragraphs": {
"items": {
- "$ref": "#/definitions/papajohns.IntlMenuProduct"
+ "type": "string"
},
"type": "array"
},
- "sizes": {
- "additionalProperties": {
- "type": "string"
+ "relevant_products": {
+ "items": {
+ "$ref": "#/definitions/microsoftstore.Product"
},
- "description": "Sizes and Crusts map every machine code used in this response to the\nmarket's own display label.",
- "type": "object"
+ "type": "array"
},
"source_url": {
"type": "string"
},
- "store_id": {
- "example": 9,
- "type": "integer"
+ "subtitle": {
+ "$ref": "#/definitions/microsoftstore.EditorialSubtitle"
+ },
+ "title": {
+ "example": "Productivity category",
+ "type": "string"
}
},
"type": "object"
},
- "papajohns.IntlMenuVariant": {
+ "microsoftstore.EditorialSubtitle": {
"properties": {
- "crust": {
- "example": "traditional",
- "type": "string"
- },
- "crust_label": {
- "example": "Original",
+ "icon": {
"type": "string"
},
- "currency": {
- "example": "EUR",
+ "text": {
+ "example": "Microsoft Store Awards 2025",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "microsoftstore.EventsResponse": {
+ "properties": {
+ "count": {
+ "example": 7,
+ "type": "integer"
},
- "discount": {
- "type": "number"
- },
- "initial_price": {
- "description": "InitialPrice is the pre-discount price when a promotion is active.",
- "type": "number"
+ "items": {
+ "items": {
+ "$ref": "#/definitions/microsoftstore.Product"
+ },
+ "type": "array"
},
- "name": {
- "description": "Name is the variant's own label where the platform gives it one, e.g. a\ndrink's \"500ML\". Pizza variants are identified by size and crust instead.",
- "example": "500ML",
+ "media_type": {
+ "example": "apps",
"type": "string"
},
- "nutrition": {
- "$ref": "#/definitions/papajohns.IntlNutrition"
+ "page": {
+ "example": 1,
+ "type": "integer"
},
- "price": {
- "example": 19.98,
- "type": "number"
+ "page_size": {
+ "example": 20,
+ "type": "integer"
},
- "size": {
- "description": "Size and Crust are the platform's stable machine codes.",
- "example": "family",
+ "source_url": {
"type": "string"
},
- "size_label": {
- "description": "SizeLabel and CrustLabel are the market's own display names for those\ncodes, in the local language.",
- "example": "Familiar",
+ "title": {
+ "example": "Special events",
"type": "string"
}
},
"type": "object"
},
- "papajohns.IntlNutrition": {
+ "microsoftstore.Feature": {
"properties": {
- "calories": {
- "example": 1090,
- "type": "number"
- },
- "grams": {
- "example": 470,
- "type": "number"
+ "description": {
+ "example": "Get answers, writing help, and image generation.",
+ "type": "string"
},
- "portions": {
- "example": "8",
+ "title": {
+ "example": "AI assistant",
"type": "string"
}
},
"type": "object"
},
- "papajohns.IntlOfferChoice": {
+ "microsoftstore.Image": {
"properties": {
- "crust": {
- "example": "traditional",
- "type": "string"
- },
- "crust_label": {
- "example": "Original",
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "name": {
- "example": "Italiana Ranch",
- "type": "string"
- },
- "product_id": {
- "description": "ProductID is the underlying product, usable with\nGET /papajohns/intl/product.",
- "example": 336,
+ "height": {
+ "example": 1080,
"type": "integer"
},
- "size": {
- "example": "family",
+ "type": {
+ "example": "Screenshot",
"type": "string"
},
- "size_label": {
- "description": "SizeLabel and CrustLabel are the market's own display names.",
- "example": "Familiar",
+ "url": {
+ "example": "https://store-images.s-microsoft.com/image/apps.19060...f4dfc459-dae3-4ab8-8f40-18aa7ae9762f",
"type": "string"
},
- "surcharge": {
- "description": "Surcharge is what picking this choice adds to the offer price. Absent\nwhen the choice costs nothing extra.",
- "example": 1.9,
- "type": "number"
- },
- "variant_id": {
- "example": 830,
+ "width": {
+ "example": 1920,
"type": "integer"
}
},
"type": "object"
},
- "papajohns.IntlOfferResponse": {
+ "microsoftstore.Product": {
"properties": {
- "availability": {
- "description": "Availability lists the weekdays the offer runs on.",
+ "average_rating": {
+ "example": 4.3,
+ "type": "number"
+ },
+ "award": {
+ "$ref": "#/definitions/microsoftstore.Award"
+ },
+ "categories": {
+ "example": [
+ "[\"Music\"]"
+ ],
"items": {
"type": "string"
},
"type": "array"
},
- "currency": {
- "example": "EUR",
+ "description": {
+ "example": "Love music and podcasts? Play your favorite songs...",
"type": "string"
},
- "customizable": {
+ "display_price": {
+ "example": "Free",
+ "type": "string"
+ },
+ "free": {
"example": true,
"type": "boolean"
},
- "description": {
+ "icon_url": {
+ "example": "https://store-images.s-microsoft.com/image/apps.10546...",
"type": "string"
},
- "discount": {
- "type": "number"
- },
- "dispatch_method": {
- "description": "DispatchMethod is the fulfillment this offer applies to, e.g. both.",
- "example": "both",
- "type": "string"
+ "is_application": {
+ "example": true,
+ "type": "boolean"
},
- "end_date": {
- "example": "2026-09-21T23:45:00Z",
- "type": "string"
+ "is_game": {
+ "type": "boolean"
},
- "fetched_at": {
- "type": "string"
+ "is_pwa": {
+ "type": "boolean"
},
- "free_extras": {
- "description": "FreeExtras is how many extra ingredients are included at no charge, and\nMinIngredients/MaxIngredients bound how many may be chosen.",
- "example": 2,
- "type": "integer"
+ "is_subscription": {
+ "type": "boolean"
},
- "id": {
- "example": 660,
- "type": "integer"
+ "is_theme": {
+ "type": "boolean"
},
- "image_url": {
+ "kind": {
+ "example": "app",
"type": "string"
},
- "ingredient_categories": {
- "description": "IngredientCategories lists the ingredient families this offer allows.",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "market": {
- "example": "spain",
+ "media_type": {
+ "example": "Apps",
"type": "string"
},
- "max_ingredients": {
- "example": 10,
- "type": "integer"
+ "poster_art_url": {
+ "type": "string"
},
- "min_ingredients": {
- "example": 1,
- "type": "integer"
+ "price": {
+ "example": 0,
+ "type": "number"
},
- "name": {
- "example": "Combo Veranito",
+ "product_id": {
+ "example": "9ncbcszsjrsb",
"type": "string"
},
- "offer_type": {
- "description": "OfferType is the platform's own classification, e.g. Combo.",
- "example": "Combo",
+ "publisher": {
+ "example": "Spotify AB",
"type": "string"
},
- "price": {
- "example": 19.98,
- "type": "number"
- },
- "promoted": {
- "example": true,
- "type": "boolean"
+ "rating_count": {
+ "example": "34K",
+ "type": "string"
},
- "source_url": {
+ "release_date_utc": {
+ "example": "2017-10-24T12:04:25Z",
"type": "string"
},
- "start_date": {
- "example": "2023-09-19T01:00:00Z",
+ "title": {
+ "example": "Spotify - Music and Podcasts",
"type": "string"
},
- "steps": {
- "items": {
- "$ref": "#/definitions/papajohns.IntlOfferStep"
- },
- "type": "array"
+ "url": {
+ "example": "https://apps.microsoft.com/detail/9ncbcszsjrsb",
+ "type": "string"
}
},
"type": "object"
},
- "papajohns.IntlOfferStep": {
+ "microsoftstore.ProductDetail": {
"properties": {
- "choice_count": {
- "example": 12,
- "type": "integer"
- },
- "choices": {
+ "age_ratings": {
"items": {
- "$ref": "#/definitions/papajohns.IntlOfferChoice"
+ "$ref": "#/definitions/microsoftstore.AgeRating"
},
"type": "array"
},
- "id": {
- "example": 1919,
- "type": "integer"
- },
- "name": {
- "example": "❶ Elige tu pizza familiar",
- "type": "string"
- },
- "optional": {
- "description": "Optional reports whether the step may be skipped.",
- "example": false,
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "papajohns.IntlProductResponse": {
- "properties": {
- "available_as_half": {
- "description": "AvailableAsHalf reports whether this product may be used as one half of\na half-and-half pizza.",
- "example": true,
- "type": "boolean"
- },
- "category": {
- "example": "pizza",
- "type": "string"
- },
- "cheese_changeable": {
- "example": true,
- "type": "boolean"
- },
- "customizable": {
- "description": "Customizable reports whether toppings may be changed on this product.",
- "example": true,
- "type": "boolean"
- },
- "description": {
- "type": "string"
- },
- "fetched_at": {
- "type": "string"
- },
- "food_type": {
+ "allowed_platforms": {
+ "example": [
+ "[\"Windows.Desktop\"",
+ "\"Windows.Xbox\"]"
+ ],
"items": {
"type": "string"
},
"type": "array"
},
- "free_extras": {
- "description": "FreeExtras is how many extra ingredients are included at no charge.",
- "example": 2,
- "type": "integer"
- },
- "id": {
- "example": 8,
+ "approximate_size_bytes": {
+ "example": 210105174,
"type": "integer"
},
- "image_url": {
- "type": "string"
+ "average_rating": {
+ "example": 4.3,
+ "type": "number"
},
- "image_urls": {
+ "badges": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/microsoftstore.Badge"
},
"type": "array"
},
- "market": {
- "example": "spain",
- "type": "string"
- },
- "name": {
- "example": "Super Papa",
- "type": "string"
- },
- "slug": {
- "example": "super-papa",
- "type": "string"
- },
- "source_url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "papajohns.IntlStore": {
- "properties": {
- "address": {
- "type": "string"
- },
- "city": {
- "example": "Madrid",
+ "box_art_url": {
"type": "string"
},
- "delivery_open": {
- "example": true,
- "type": "boolean"
- },
- "delivery_wait_minutes": {
- "example": 30,
- "type": "integer"
- },
- "delivery_zones": {
+ "capabilities": {
"items": {
- "$ref": "#/definitions/papajohns.IntlDeliveryZone"
+ "type": "string"
},
"type": "array"
},
- "external_delivery": {
- "example": true,
- "type": "boolean"
- },
- "future_orders": {
- "example": true,
- "type": "boolean"
- },
- "hours": {
+ "card_actions": {
+ "example": [
+ "[\"Install\"",
+ "\"Launch\"]"
+ ],
"items": {
- "$ref": "#/definitions/papajohns.IntlStoreHours"
+ "type": "string"
},
"type": "array"
},
- "id": {
- "example": 9,
- "type": "integer"
- },
- "latitude": {
- "example": 40.401686,
- "type": "number"
- },
- "longitude": {
- "example": -3.708348,
- "type": "number"
+ "categories": {
+ "example": [
+ "[\"Music\"]"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "map_url": {
+ "category": {
+ "example": "Music",
"type": "string"
},
- "menu_id": {
- "description": "MenuID identifies the catalog this restaurant serves. Several\nrestaurants usually share one.",
- "example": 8,
- "type": "integer"
+ "currency_code": {
+ "example": "USD",
+ "type": "string"
},
- "name": {
- "example": "Vallejo Nájera",
+ "description": {
"type": "string"
},
- "order_method": {
- "description": "OrderMethod is the fulfillment the restaurant supports, as upstream\nreports it, e.g. both, delivery, or pick_up.",
- "example": "both",
+ "display_price": {
+ "example": "Free",
"type": "string"
},
- "payment_methods": {
- "description": "PaymentMethods lists only the methods this restaurant actually accepts.",
+ "features": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/microsoftstore.Feature"
},
"type": "array"
},
- "phone": {
- "example": "+34910493017",
- "type": "string"
- },
- "pickup_open": {
+ "free": {
"example": true,
"type": "boolean"
},
- "pickup_wait_minutes": {
- "example": 15,
- "type": "integer"
- },
- "region": {
- "example": "Madrid",
- "type": "string"
- }
- },
- "type": "object"
- },
- "papajohns.IntlStoreHours": {
- "properties": {
- "closes": {
- "example": "23:59:59",
- "type": "string"
- },
- "day": {
- "example": "monday",
- "type": "string"
- },
- "dispatch_method": {
- "description": "DispatchMethod is the fulfillment channel this window applies to,\ne.g. in_store or pj_delivery.",
- "example": "in_store",
+ "hero_image_url": {
"type": "string"
},
- "opens": {
- "example": "12:00:00",
+ "icon_url": {
"type": "string"
- }
- },
- "type": "object"
- },
- "papajohns.IntlStoresResponse": {
- "properties": {
- "count": {
- "description": "Count is how many restaurants this response carries.",
- "example": 5,
- "type": "integer"
},
- "fetched_at": {
- "type": "string"
+ "is_application": {
+ "type": "boolean"
},
- "fulfillment": {
- "description": "Fulfillment, Latitude and Longitude echo a coordinate search and are\nabsent on a store_id lookup, which has no search origin. They are\nomitted rather than zeroed because 0,0 is itself a real coordinate.",
- "example": "delivery",
- "type": "string"
+ "is_game": {
+ "type": "boolean"
},
- "latitude": {
- "example": 40.4168,
- "type": "number"
+ "is_purchase_enabled": {
+ "type": "boolean"
},
- "longitude": {
- "example": -3.7038,
- "type": "number"
+ "is_pwa": {
+ "type": "boolean"
},
- "market": {
- "example": "spain",
- "type": "string"
+ "is_subscription": {
+ "type": "boolean"
},
- "page": {
- "description": "Page, TotalPages and TotalCount describe the rest of the result set, so\na caller can tell a first page from the whole of it. TotalCount is the\nmarket-wide restaurant total rather than a match count, because the\nsearch has no radius cut-off -- every restaurant in the market is\nranked, and this is where in that ranking the response sits. All three\nare absent for a store_id lookup and for pickup, neither of which\nupstream paginates.",
- "example": 1,
- "type": "integer"
+ "is_theme": {
+ "type": "boolean"
},
- "source_url": {
+ "kind": {
+ "example": "app",
"type": "string"
},
- "stores": {
- "items": {
- "$ref": "#/definitions/papajohns.IntlStore"
- },
- "type": "array"
- },
- "total_count": {
- "example": 97,
- "type": "integer"
- },
- "total_pages": {
- "example": 20,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "papajohns.LatamCategory": {
- "properties": {
- "id": {
- "example": "1",
+ "last_update_date_utc": {
+ "example": "2026-09-22T14:30:28Z",
"type": "string"
},
- "name": {
- "example": "Pizzas",
+ "media_type": {
+ "example": "Apps",
"type": "string"
},
- "product_count": {
- "example": 25,
- "type": "integer"
- },
- "products": {
+ "package_family_names": {
+ "example": [
+ "[\"SpotifyAB.SpotifyMusic_zpdnekdrzrea0\"]"
+ ],
"items": {
- "$ref": "#/definitions/papajohns.LatamProduct"
+ "type": "string"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "papajohns.LatamMenuResponse": {
- "properties": {
- "categories": {
+ },
+ "platforms": {
+ "example": [
+ "[\"x86\"",
+ "\"x64\"]"
+ ],
"items": {
- "$ref": "#/definitions/papajohns.LatamCategory"
+ "type": "string"
},
"type": "array"
},
- "category": {
+ "poster_art_url": {
"type": "string"
},
- "currency": {
- "example": "USD",
- "type": "string"
+ "price": {
+ "example": 0,
+ "type": "number"
},
- "fetched_at": {
+ "privacy_url": {
+ "example": "https://www.spotify.com/legal/privacy-policy/",
"type": "string"
},
- "market": {
- "example": "el-salvador",
+ "product_id": {
+ "example": "9ncbcszsjrsb",
"type": "string"
},
- "partial": {
- "description": "Partial is true when a paginated upstream failed part-way and the\nresponse carries only the pages that were retrieved. A menu that is\nquietly short is indistinguishable from one that genuinely has fewer\nitems, so it is flagged rather than left to look complete.",
- "example": false,
- "type": "boolean"
- },
- "product_count": {
- "description": "ProductCount is how many products the response carries. Where the\nupstream paginates, every page is followed before returning.",
- "example": 25,
- "type": "integer"
- },
- "source_url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "papajohns.LatamProduct": {
- "properties": {
- "category": {
- "example": "Pizzas",
+ "product_type": {
+ "example": "Application",
"type": "string"
},
- "currency": {
- "example": "USD",
+ "publisher": {
+ "example": "Spotify AB",
"type": "string"
},
- "description": {
+ "publisher_address": {
"type": "string"
},
- "id": {
- "example": "8",
+ "publisher_id": {
+ "example": "10113470",
"type": "string"
},
- "image_url": {
- "type": "string"
+ "rating_count": {
+ "example": 34225,
+ "type": "integer"
},
- "name": {
- "example": "The Works",
+ "rating_count_formatted": {
+ "example": "34.2K",
"type": "string"
},
- "price_from": {
- "description": "PriceFrom is the cheapest priced variant, so a caller can rank products\nwithout walking every variant.",
- "example": 11.99,
- "type": "number"
- },
- "url": {
+ "release_date_utc": {
+ "example": "2017-10-24T12:04:25Z",
"type": "string"
},
- "variants": {
+ "screenshots": {
"items": {
- "$ref": "#/definitions/papajohns.LatamVariant"
+ "$ref": "#/definitions/microsoftstore.Image"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "papajohns.LatamVariant": {
- "properties": {
- "available": {
- "example": true,
- "type": "boolean"
- },
- "crust": {
- "example": "Masa Original",
- "type": "string"
- },
- "currency": {
- "example": "USD",
- "type": "string"
- },
- "fulfillment": {
- "description": "Fulfillment is the order channel this price applies to, where the market\nprices delivery and pickup differently. Colombia does: the same item is\ncommonly ~15% dearer for \"Domicilio\" than \"Recoger en Tienda\", so two\nvariants that look otherwise identical are not duplicates.",
- "example": "Domicilio",
- "type": "string"
- },
- "list_price": {
- "description": "ListPrice is the pre-discount price where the market publishes one and\nit actually differs from price.",
- "type": "number"
- },
- "name": {
- "description": "Name is the market's own label for the variant where it gives one.",
- "example": "Gigante",
- "type": "string"
- },
- "price": {
- "example": 14.99,
- "type": "number"
- },
- "sauce": {
- "description": "Sauce is populated only by Colombia, whose SKUs vary by sauce too.",
- "example": "Salsa Pizza",
- "type": "string"
- },
- "size": {
- "description": "Size and Crust are populated where the market distinguishes them.",
- "example": "GIGANTE",
- "type": "string"
- },
- "sku": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "papajohns.MenuCategory": {
- "properties": {
- "id": {
- "example": "pizza",
- "type": "string"
},
- "image_url": {
- "type": "string"
+ "skus_summary": {
+ "items": {
+ "$ref": "#/definitions/microsoftstore.SkuPrice"
+ },
+ "type": "array"
},
- "name": {
- "example": "Pizza",
+ "source_url": {
"type": "string"
},
- "product_count": {
- "description": "ProductCount is how many priced SKUs this category contains.",
- "example": 96,
- "type": "integer"
- },
- "sections": {
+ "supported_languages": {
"items": {
- "$ref": "#/definitions/papajohns.MenuSection"
+ "type": "string"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "papajohns.MenuCrust": {
- "properties": {
- "code": {
- "example": "PIZZA_ORIGINAL",
- "type": "string"
- },
- "default": {
- "example": true,
- "type": "boolean"
- },
- "id": {
- "example": 1,
- "type": "integer"
},
- "name": {
- "example": "Original Crust",
+ "title": {
+ "example": "Spotify - Music and Podcasts",
"type": "string"
},
- "sub_type": {
- "example": "Original",
- "type": "string"
- }
- },
- "type": "object"
- },
- "papajohns.MenuInstruction": {
- "properties": {
- "choices": {
+ "trailers": {
"items": {
- "$ref": "#/definitions/papajohns.MenuInstructionChoice"
+ "$ref": "#/definitions/microsoftstore.Image"
},
"type": "array"
},
- "description": {
- "example": "How much cheese?",
+ "url": {
+ "example": "https://apps.microsoft.com/detail/9ncbcszsjrsb",
"type": "string"
},
- "id": {
- "example": 2,
- "type": "integer"
+ "version": {
+ "type": "string"
},
- "name": {
- "example": "CHEESE",
+ "website": {
+ "example": "https://www.spotify.com",
"type": "string"
}
},
"type": "object"
},
- "papajohns.MenuInstructionChoice": {
+ "microsoftstore.PublisherResponse": {
"properties": {
- "code": {
- "example": "ILC",
- "type": "string"
+ "count": {
+ "example": 3,
+ "type": "integer"
},
- "default": {
+ "has_more": {
"example": false,
"type": "boolean"
},
- "id": {
- "example": 6,
- "type": "integer"
- },
- "name": {
- "example": "Light Cheese",
- "type": "string"
- }
- },
- "type": "object"
- },
- "papajohns.MenuItemResponse": {
- "properties": {
- "category": {
- "example": "pizza",
- "type": "string"
+ "items": {
+ "items": {
+ "$ref": "#/definitions/microsoftstore.Product"
+ },
+ "type": "array"
},
- "fetched_at": {
+ "next_cursor": {
"type": "string"
},
- "group": {
- "allOf": [
- {
- "$ref": "#/definitions/papajohns.MenuProductGroup"
- }
- ],
- "description": "Group is the product group this SKU belongs to, carrying the full\ncustomization axes for it."
- },
- "national_default": {
- "example": false,
- "type": "boolean"
- },
- "product": {
- "$ref": "#/definitions/papajohns.MenuProduct"
- },
- "section": {
- "example": "Most Popular",
+ "publisher_name": {
+ "example": "Spotify AB",
"type": "string"
},
"source_url": {
"type": "string"
- },
- "store_id": {
- "example": 5054,
- "type": "integer"
}
},
"type": "object"
},
- "papajohns.MenuProduct": {
+ "microsoftstore.RecommendedProduct": {
"properties": {
- "calories": {
- "description": "Calories is per the serving described by serving_label.",
- "example": 210,
- "type": "integer"
- },
- "code": {
- "example": "PR10Q1",
- "type": "string"
- },
- "crust_id": {
- "example": 1,
- "type": "integer"
- },
- "description": {
- "type": "string"
- },
- "disclaimer": {
- "type": "string"
- },
- "image_url": {
- "type": "string"
- },
- "name": {
- "example": "10 Inch Original Pepperoni Pizza",
- "type": "string"
- },
- "price": {
- "description": "Price is this store's price. A build-your-own SKU whose price depends\nentirely on the customer's choices reports 0.",
- "example": 14.99,
- "type": "number"
- },
- "regular_price": {
- "description": "RegularPrice is the pre-promotion menu price where it differs.",
- "example": 14.99,
- "type": "number"
- },
- "serving_label": {
- "description": "ServingLabel describes what calories are counted per, e.g. \"/slice, 6 slices\".",
- "example": "/slice, 6 slices",
- "type": "string"
- },
- "size": {
- "description": "Size is the size label this SKU represents within its group.",
- "example": "Small",
- "type": "string"
- },
- "size_id": {
- "example": 2,
- "type": "integer"
- },
- "sku": {
- "example": "1-1-2-115",
- "type": "string"
- },
- "slices": {
- "example": 6,
- "type": "integer"
- },
- "surcharge": {
+ "average_rating": {
+ "example": 4.5,
"type": "number"
},
- "title": {
- "description": "Title is the shorter in-menu label, e.g. \"Small Original Crust - Pepperoni\".",
- "type": "string"
- }
- },
- "type": "object"
- },
- "papajohns.MenuProductGroup": {
- "properties": {
- "allow_half_toppings": {
- "example": true,
- "type": "boolean"
- },
- "available_topping_ids": {
- "items": {
- "type": "integer"
- },
- "type": "array"
- },
- "crusts": {
+ "categories": {
+ "example": [
+ "[\"Action & adventure\"]"
+ ],
"items": {
- "$ref": "#/definitions/papajohns.MenuCrust"
+ "type": "string"
},
"type": "array"
},
- "customizable": {
- "description": "Customizable reports how far the product can be customized, as upstream\nclassifies it, e.g. full or none.",
- "example": "full",
- "type": "string"
- },
- "description": {
+ "icon_url": {
"type": "string"
},
- "featured": {
- "type": "boolean"
- },
- "free_toppings": {
- "type": "integer"
- },
- "id": {
- "example": "cyo",
+ "product_id": {
+ "example": "9p4qk476j199",
"type": "string"
},
- "image_url": {
+ "title": {
+ "example": "Bermuda Adventures: Farm Games",
"type": "string"
},
- "instructions": {
- "items": {
- "$ref": "#/definitions/papajohns.MenuInstruction"
- },
- "type": "array"
- },
- "max_same_topping": {
- "example": 2,
- "type": "integer"
- },
- "max_toppings": {
- "description": "Topping rules. AvailableToppingIDs are upstream's own numeric ids; this\nAPI publishes no name for them, so they are exposed as ids rather than\ninvented labels.",
- "example": 7,
- "type": "integer"
- },
- "price_from": {
- "description": "PriceFrom is the cheapest priced SKU in the group, so a caller can rank\nproducts without walking every SKU.",
- "example": 14.99,
- "type": "number"
- },
- "products": {
- "items": {
- "$ref": "#/definitions/papajohns.MenuProduct"
- },
- "type": "array"
- },
- "sizes": {
- "description": "Sizes, Crusts and Instructions are populated only when\ninclude_options=true.",
- "items": {
- "$ref": "#/definitions/papajohns.MenuSize"
- },
- "type": "array"
- },
- "title": {
- "example": "Create Your Own Pizza",
+ "url": {
+ "example": "https://apps.microsoft.com/detail/9p4qk476j199",
"type": "string"
}
},
"type": "object"
},
- "papajohns.MenuResponse": {
+ "microsoftstore.RecommendedResponse": {
"properties": {
- "categories": {
+ "items": {
"items": {
- "$ref": "#/definitions/papajohns.MenuCategory"
+ "$ref": "#/definitions/microsoftstore.RecommendedProduct"
},
"type": "array"
},
- "category": {
- "example": "pizza",
- "type": "string"
- },
- "fetched_at": {
+ "section_title": {
+ "example": "Recommended for you",
"type": "string"
},
- "national_default": {
- "description": "NationalDefault is true when no store was selected, so a caller can tell\na real store's prices from the fallback menu.",
- "example": false,
- "type": "boolean"
- },
- "product_count": {
- "example": 206,
- "type": "integer"
- },
"source_url": {
"type": "string"
- },
- "store_id": {
- "description": "StoreID echoes the restaurant the prices belong to. 0 is the national\ndefault menu.",
- "example": 5054,
- "type": "integer"
}
},
"type": "object"
},
- "papajohns.MenuSection": {
+ "microsoftstore.RelatedResponse": {
"properties": {
- "description": {
- "type": "string"
- },
- "id": {
- "example": "most_popular",
- "type": "string"
- },
- "name": {
- "example": "Most Popular",
- "type": "string"
+ "has_more_pages": {
+ "example": true,
+ "type": "boolean"
},
- "product_groups": {
+ "items": {
"items": {
- "$ref": "#/definitions/papajohns.MenuProductGroup"
+ "$ref": "#/definitions/microsoftstore.Product"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "papajohns.MenuSize": {
- "properties": {
- "default": {
- "example": false,
- "type": "boolean"
},
- "id": {
- "example": 2,
+ "page": {
+ "example": 1,
"type": "integer"
},
- "measure": {
- "description": "Measure is the physical size where the group has one, e.g. 10\".",
- "example": "10\"",
- "type": "string"
- },
- "name": {
- "description": "Name is the size's marketing name, e.g. Small.",
- "example": "Small",
- "type": "string"
- }
- },
- "type": "object"
- },
- "papajohns.NearbyResponse": {
- "properties": {
- "count": {
+ "page_size": {
"example": 10,
"type": "integer"
},
- "fetched_at": {
+ "product_id": {
+ "example": "9ncbcszsjrsb",
"type": "string"
},
- "radius": {
- "example": 25,
- "type": "integer"
+ "product_type": {
+ "example": "Application",
+ "type": "string"
},
"source_url": {
"type": "string"
},
- "stores": {
- "items": {
- "$ref": "#/definitions/papajohns.NearbyStore"
- },
- "type": "array"
- },
- "total_in_radius": {
- "description": "TotalInRadius is how many stores fall inside the radius overall,\nwhich is usually far more than one page. Use it with `offset` to\npage.",
- "example": 73,
+ "total_count": {
+ "example": 50,
"type": "integer"
}
},
"type": "object"
},
- "papajohns.NearbyStore": {
+ "microsoftstore.Review": {
"properties": {
- "address": {
- "$ref": "#/definitions/papajohns.StoreAddress"
- },
- "delivery_hours": {
- "description": "DeliveryHours and TakeoutHours are Papa John's own per-channel hours,\npublished separately from Hours and commonly later-closing.",
- "items": {
- "$ref": "#/definitions/papajohns.StoreHours"
- },
- "type": "array"
- },
- "distance_kilometers": {
- "example": 0.97,
- "type": "number"
+ "device_family": {
+ "example": "Windows.Desktop",
+ "type": "string"
},
- "distance_miles": {
- "description": "DistanceMiles and DistanceKilometers are measured from the requested\ncoordinate.",
- "example": 0.6,
- "type": "number"
+ "helpful_negative": {
+ "example": 30,
+ "type": "integer"
},
- "hours": {
- "description": "Hours is the store's general published week of hours.",
- "items": {
- "$ref": "#/definitions/papajohns.StoreHours"
- },
- "type": "array"
+ "helpful_positive": {
+ "example": 74,
+ "type": "integer"
},
- "latitude": {
- "example": 34.0614412,
- "type": "number"
+ "id": {
+ "example": "74a23681-6299-5cc4-5e83-a48d1c49ece6",
+ "type": "string"
},
- "longitude": {
- "example": -118.2439367,
- "type": "number"
+ "is_revised": {
+ "type": "boolean"
},
- "name": {
- "example": "Papa Johns Pizza",
+ "locale": {
+ "example": "EN-US",
"type": "string"
},
- "order_url": {
- "description": "OrderURL is Papa John's own carryout ordering deep link for this\nstore.",
+ "market": {
+ "example": "US",
"type": "string"
},
- "path": {
- "description": "Path is the /papajohns/store path for this store, so a caller can go\nstraight to the detail endpoint.",
+ "os_version": {
+ "example": "10.0.26200.8524",
"type": "string"
},
- "payment_options": {
- "description": "PaymentOptions are the payment methods this store accepts, e.g.\nAPPLEPAY, CASH, VISA.",
- "items": {
- "type": "string"
- },
- "type": "array"
+ "rating": {
+ "example": 1,
+ "type": "integer"
},
- "phone_number": {
- "description": "PhoneNumber is Papa John's own E.164-shaped mainPhone, e.g.\n\"+12136172727\" -- deliberately left as published rather than\nreformatted, since geosearch and the store page publish phone\nnumbers in different shapes (mainPhone here vs. a display-formatted\nstring on /papajohns/store).",
- "example": "+12136172727",
+ "reviewer_name": {
+ "example": "constance",
"type": "string"
},
- "pickup_and_delivery_services": {
- "description": "PickupAndDeliveryServices are the fulfillment flags Papa John's\npublishes for this store, e.g. IN_STORE_PICKUP, SAME_DAY_DELIVERY.",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "price_range": {
- "description": "PriceRange is Papa John's own relative price tier, e.g. ONE, TWO.",
- "example": "TWO",
+ "submitted_at_utc": {
+ "example": "2026-07-12T21:41:45Z",
"type": "string"
},
- "store_id": {
- "example": "4269",
+ "text": {
+ "example": "so, the app used to be great...",
"type": "string"
},
- "takeout_hours": {
- "items": {
- "$ref": "#/definitions/papajohns.StoreHours"
- },
- "type": "array"
+ "title": {
+ "example": "spotify has fallen off. HARD.",
+ "type": "string"
},
- "timezone": {
- "example": "America/Los_Angeles",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "papajohns.NutritionFacts": {
+ "microsoftstore.ReviewsResponse": {
"properties": {
- "calories": {
- "example": 200,
- "type": "number"
- },
- "calories_from_fat": {
- "example": 25,
- "type": "number"
+ "has_more_pages": {
+ "example": true,
+ "type": "boolean"
},
- "cholesterol_mg": {
- "type": "number"
+ "next_page": {
+ "example": 2,
+ "type": "integer"
},
- "dietary_fiber_g": {
+ "page": {
"example": 1,
- "type": "number"
- },
- "protein_g": {
- "example": 6,
- "type": "number"
- },
- "saturated_fat_g": {
- "example": 0.5,
- "type": "number"
- },
- "sodium_mg": {
- "example": 360,
- "type": "number"
- },
- "sugars_g": {
- "example": 3,
- "type": "number"
- },
- "total_carbohydrate_g": {
- "example": 36,
- "type": "number"
+ "type": "integer"
},
- "total_fat_g": {
- "example": 3,
- "type": "number"
+ "page_size": {
+ "example": 20,
+ "type": "integer"
},
- "trans_fat_g": {
- "type": "number"
- }
- },
- "type": "object"
- },
- "papajohns.NutritionItem": {
- "properties": {
- "name": {
- "example": "Cheese Pizza",
+ "product_id": {
+ "example": "9ncbcszsjrsb",
"type": "string"
},
- "variants": {
+ "reviews": {
"items": {
- "$ref": "#/definitions/papajohns.NutritionVariant"
+ "$ref": "#/definitions/microsoftstore.Review"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "papajohns.NutritionResponse": {
- "properties": {
- "category": {
- "example": "pizzas",
- "type": "string"
- },
- "count": {
- "example": 34,
- "type": "integer"
},
- "fetched_at": {
+ "sort": {
+ "example": "MostHelpful",
"type": "string"
},
- "items": {
- "items": {
- "$ref": "#/definitions/papajohns.NutritionItem"
- },
- "type": "array"
- },
"source_url": {
"type": "string"
+ },
+ "total_count": {
+ "example": 307,
+ "type": "integer"
}
},
"type": "object"
},
- "papajohns.NutritionVariant": {
+ "microsoftstore.ReviewsSummaryResponse": {
"properties": {
- "label": {
- "description": "Label combines every column header Papa John's own table used to\ndistinguish this variant (crust type and/or size), joined with \" - \".\nA single-column table (most non-pizza items) yields the lone column\nheader verbatim, e.g. \"Regular\".",
- "example": "Original Crust - Large",
- "type": "string"
+ "average_rating": {
+ "example": 4.3,
+ "type": "number"
},
- "nutrition": {
- "$ref": "#/definitions/papajohns.NutritionFacts"
+ "most_critical_review": {
+ "$ref": "#/definitions/microsoftstore.Review"
},
- "serving_size": {
- "example": "1 slice",
- "type": "string"
+ "most_favorable_review": {
+ "$ref": "#/definitions/microsoftstore.Review"
},
- "servings": {
- "example": "8 slices per pizza",
- "type": "string"
- }
- },
- "type": "object"
- },
- "papajohns.StoreAddress": {
- "properties": {
- "city": {
- "example": "Alhambra",
+ "product_id": {
+ "example": "9ncbcszsjrsb",
"type": "string"
},
- "country": {
- "example": "US",
- "type": "string"
+ "rating_distribution": {
+ "type": "object"
},
- "line1": {
- "example": "2136 S FREMONT AVE",
+ "rating_status": {
+ "example": "RatingAvailable",
"type": "string"
},
- "postal_code": {
- "example": "91803",
- "type": "string"
+ "review_count": {
+ "example": 307,
+ "type": "integer"
},
- "region": {
- "example": "CA",
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "papajohns.StoreHours": {
+ "microsoftstore.SearchResponse": {
"properties": {
- "closed": {
- "description": "Closed is true when Papa John's publishes the day with no open\ninterval.",
- "example": false,
- "type": "boolean"
- },
- "closes": {
- "example": "00:15",
- "type": "string"
- },
- "day_of_week": {
- "example": "Monday",
+ "age": {
+ "example": "all",
"type": "string"
},
- "opens": {
- "example": "10:30",
+ "category": {
+ "example": "all",
"type": "string"
- }
- },
- "type": "object"
- },
- "papajohns.StoreResponse": {
- "properties": {
- "address": {
- "$ref": "#/definitions/papajohns.StoreAddress"
},
- "fetched_at": {
- "type": "string"
+ "count": {
+ "example": 20,
+ "type": "integer"
},
- "google_place_id": {
- "type": "string"
+ "has_more": {
+ "example": true,
+ "type": "boolean"
},
- "hours": {
- "description": "Hours is the store's general published week of hours.",
+ "items": {
"items": {
- "$ref": "#/definitions/papajohns.StoreHours"
+ "$ref": "#/definitions/microsoftstore.Product"
},
"type": "array"
},
- "latitude": {
- "example": 34.06838390790909,
- "type": "number"
- },
- "longitude": {
- "example": -118.14934906165672,
- "type": "number"
- },
- "name": {
- "example": "Papa Johns Pizza",
+ "media_type": {
+ "example": "all",
"type": "string"
},
- "order_url": {
- "description": "OrderURL is Papa John's own carryout ordering deep link for this\nstore, which embeds the same store_id.",
+ "next_cursor": {
+ "example": "bz0wJmI9OU5DQkNTWlNKUlNCLD...",
"type": "string"
},
- "path": {
+ "price": {
+ "example": "all",
"type": "string"
},
- "phone_number": {
- "example": "(626) 642-5645",
+ "query": {
+ "example": "spotify",
"type": "string"
},
- "pickup_hours": {
- "description": "PickupHours is Papa John's own published carryout/pickup hours,\npublished separately from Hours and sometimes shorter.",
- "items": {
- "$ref": "#/definitions/papajohns.StoreHours"
- },
- "type": "array"
- },
"source_url": {
"type": "string"
- },
- "store_id": {
- "example": "5054",
- "type": "string"
- },
- "timezone": {
- "example": "America/Los_Angeles",
- "type": "string"
}
},
"type": "object"
},
- "papajohns.StorefrontCategory": {
+ "microsoftstore.SkuPrice": {
"properties": {
- "alias": {
- "description": "Alias is upstream's own stable slug for the section, which survives the\ndisplay name being renamed for a season.",
- "example": "pizza",
- "type": "string"
- },
- "id": {
- "example": "1",
+ "display_msrp": {
+ "example": "Free",
"type": "string"
},
- "name": {
- "example": "Пицца",
+ "display_price": {
+ "example": "Free",
"type": "string"
},
- "product_count": {
- "example": 25,
- "type": "integer"
+ "msrp": {
+ "example": 0,
+ "type": "number"
},
- "products": {
- "items": {
- "$ref": "#/definitions/papajohns.StorefrontProduct"
- },
- "type": "array"
+ "price": {
+ "example": 0,
+ "type": "number"
}
},
"type": "object"
},
- "papajohns.StorefrontMenuResponse": {
+ "microsoftstore.SpotlightResponse": {
"properties": {
- "categories": {
- "description": "Categories carry the whole national catalog. The menu does not vary by\ncity, so there is no city to report.",
+ "count": {
+ "example": 8,
+ "type": "integer"
+ },
+ "items": {
"items": {
- "$ref": "#/definitions/papajohns.StorefrontCategory"
+ "$ref": "#/definitions/microsoftstore.Product"
},
"type": "array"
},
- "category": {
- "type": "string"
- },
- "currency": {
- "example": "RUB",
- "type": "string"
- },
- "fetched_at": {
- "type": "string"
- },
- "market": {
- "example": "russia",
+ "media_type": {
+ "example": "home",
"type": "string"
},
- "product_count": {
- "example": 185,
- "type": "integer"
- },
"source_url": {
"type": "string"
- },
- "variant_count": {
- "example": 892,
- "type": "integer"
}
},
"type": "object"
},
- "papajohns.StorefrontProduct": {
+ "microsoftstore.SuggestResponse": {
"properties": {
- "category": {
- "example": "Пицца",
- "type": "string"
- },
- "currency": {
- "example": "RUB",
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "id": {
- "example": "12345",
- "type": "string"
- },
- "image_url": {
- "type": "string"
- },
- "name": {
- "example": "Прайм говядина Барбекю",
- "type": "string"
- },
- "price_from": {
- "description": "PriceFrom is the cheapest priced variant, so a caller can rank products\nwithout walking every variant.",
- "example": 680,
- "type": "number"
+ "completions": {
+ "example": [
+ "[\"spotify\"",
+ "\"spot\"",
+ "\"spotify for podcasters\"]"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "url": {
+ "prefix": {
+ "example": "spot",
"type": "string"
},
- "variants": {
+ "products": {
"items": {
- "$ref": "#/definitions/papajohns.StorefrontVariant"
+ "$ref": "#/definitions/microsoftstore.SuggestedProduct"
},
"type": "array"
+ },
+ "source_url": {
+ "type": "string"
}
},
"type": "object"
},
- "papajohns.StorefrontVariant": {
+ "microsoftstore.SuggestedProduct": {
"properties": {
- "available": {
+ "icon_url": {
+ "type": "string"
+ },
+ "is_application": {
"example": true,
"type": "boolean"
},
- "crust": {
- "description": "Crust is the dough the variant is made with. Russia publishes two\n(Традиционное, Тонкое); Poland publishes none, so this is empty there.",
- "example": "Традиционное",
- "type": "string"
+ "is_game": {
+ "type": "boolean"
},
- "currency": {
- "example": "RUB",
+ "media_type": {
+ "example": "apps",
"type": "string"
},
- "price": {
- "example": 680,
- "type": "number"
- },
- "size": {
- "description": "Size is the pizza diameter where the market publishes one, with its own\nunit (\"23 см\").",
- "example": "23 см",
+ "product_id": {
+ "example": "9ncbcszsjrsb",
"type": "string"
},
- "sku": {
- "example": "172764",
+ "title": {
+ "example": "Spotify - Music and Podcasts",
"type": "string"
},
- "stuffed_crust": {
- "description": "StuffedCrust names the filling baked into the rim, where the variant has\none. Upstream reports none/cheese/sausage/sausage_cheese; \"none\" is\nreported here as an empty value rather than the literal word.",
- "example": "cheese",
+ "url": {
+ "example": "https://apps.microsoft.com/detail/9ncbcszsjrsb",
"type": "string"
}
},
"type": "object"
},
- "papajohns.allergensResponseDoc": {
+ "microsoftstore.categoriesResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/papajohns.AllergensResponse"
+ "$ref": "#/definitions/microsoftstore.CategoriesResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "papajohns.dealsResponseDoc": {
+ "microsoftstore.categoryResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/papajohns.DealsResponse"
+ "$ref": "#/definitions/microsoftstore.CategoryResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "papajohns.directoryResponseDoc": {
+ "microsoftstore.chartsResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/papajohns.DirectoryResponse"
+ "$ref": "#/definitions/microsoftstore.ChartsResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "papajohns.indiaDealResponseDoc": {
+ "microsoftstore.editorialResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/papajohns.IndiaDealResponse"
+ "$ref": "#/definitions/microsoftstore.EditorialResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "papajohns.indiaMenuItemResponseDoc": {
+ "microsoftstore.eventsResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/papajohns.IndiaMenuItemResponse"
+ "$ref": "#/definitions/microsoftstore.EventsResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "papajohns.indiaMenuResponseDoc": {
+ "microsoftstore.productResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/papajohns.IndiaMenuResponse"
+ "$ref": "#/definitions/microsoftstore.ProductDetail"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "papajohns.indiaStoresResponseDoc": {
+ "microsoftstore.publisherResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/papajohns.IndiaStoresResponse"
+ "$ref": "#/definitions/microsoftstore.PublisherResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "papajohns.intlDealsResponseDoc": {
+ "microsoftstore.recommendedResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/papajohns.IntlDealsResponse"
+ "$ref": "#/definitions/microsoftstore.RecommendedResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "papajohns.intlIngredientsResponseDoc": {
+ "microsoftstore.relatedResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/papajohns.IntlIngredientsResponse"
+ "$ref": "#/definitions/microsoftstore.RelatedResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "papajohns.intlMenuResponseDoc": {
+ "microsoftstore.reviewsResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/papajohns.IntlMenuResponse"
+ "$ref": "#/definitions/microsoftstore.ReviewsResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "papajohns.intlOfferResponseDoc": {
+ "microsoftstore.reviewsSummaryResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/papajohns.IntlOfferResponse"
+ "$ref": "#/definitions/microsoftstore.ReviewsSummaryResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "papajohns.intlProductResponseDoc": {
+ "microsoftstore.searchResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/papajohns.IntlProductResponse"
+ "$ref": "#/definitions/microsoftstore.SearchResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "papajohns.intlStoresResponseDoc": {
+ "microsoftstore.spotlightResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/papajohns.IntlStoresResponse"
+ "$ref": "#/definitions/microsoftstore.SpotlightResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "papajohns.latamMenuResponseDoc": {
+ "microsoftstore.suggestResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/papajohns.LatamMenuResponse"
+ "$ref": "#/definitions/microsoftstore.SuggestResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "papajohns.menuItemResponseDoc": {
+ "mirror.AuthorArticle": {
"properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
+ "label": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/papajohns.MenuItemResponse"
+ "label_url": {
+ "type": "string"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "papajohns.menuResponseDoc": {
+ "mirror.AuthorResponse": {
"properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/mirror.AuthorArticle"
+ },
+ "type": "array"
},
- "data": {
- "$ref": "#/definitions/papajohns.MenuResponse"
+ "bio": {
+ "type": "string"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "email": {
+ "type": "string"
+ },
+ "job_title": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "slug": {
+ "type": "string"
+ },
+ "twitter": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "papajohns.nearbyResponseDoc": {
+ "mlb.BoxscorePlayer": {
"properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
+ "batting_order": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/papajohns.NearbyResponse"
+ "person": {
+ "$ref": "#/definitions/mlb.NamedRef"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "position": {
+ "type": "string"
+ },
+ "stats": {
+ "additionalProperties": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "type": "object"
}
},
"type": "object"
},
- "papajohns.nutritionResponseDoc": {
+ "mlb.BoxscoreResponse": {
"properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "away": {
+ "$ref": "#/definitions/mlb.BoxscoreTeam"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "game_id": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/papajohns.NutritionResponse"
+ "home": {
+ "$ref": "#/definitions/mlb.BoxscoreTeam"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "source_url": {
+ "type": "string"
}
},
"type": "object"
},
- "papajohns.storeResponseDoc": {
+ "mlb.BoxscoreTeam": {
"properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
+ "players": {
+ "items": {
+ "$ref": "#/definitions/mlb.BoxscorePlayer"
+ },
+ "type": "array"
},
- "data": {
- "$ref": "#/definitions/papajohns.StoreResponse"
+ "team": {
+ "$ref": "#/definitions/mlb.TeamRef"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "team_stats": {
+ "additionalProperties": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "type": "object"
}
},
"type": "object"
},
- "papajohns.storefrontMenuResponseDoc": {
+ "mlb.Decision": {
"properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
+ "loser": {
+ "$ref": "#/definitions/mlb.NamedRef"
},
- "data": {
- "$ref": "#/definitions/papajohns.StorefrontMenuResponse"
+ "save": {
+ "$ref": "#/definitions/mlb.NamedRef"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "winner": {
+ "$ref": "#/definitions/mlb.NamedRef"
}
},
"type": "object"
},
- "patreon.Creator": {
+ "mlb.EditorialFeedResponse": {
"properties": {
- "avatar_url": {
+ "fetched_at": {
"type": "string"
},
- "collection_count": {
- "type": "integer"
+ "items": {
+ "items": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "type": "array"
},
- "cover_url": {
+ "language": {
"type": "string"
},
- "creation_count": {
+ "limit": {
"type": "integer"
},
- "currency": {
- "example": "EUR",
- "type": "string"
+ "skip": {
+ "type": "integer"
},
- "handle": {
- "example": "CachyOS",
+ "slug": {
"type": "string"
},
- "has_public_rss": {
- "type": "boolean"
- },
- "id": {
- "example": "8655479",
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "mlb.EnumValue": {
+ "properties": {
+ "description": {
"type": "string"
},
- "is_monthly": {
- "type": "boolean"
+ "value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "mlb.GameResponse": {
+ "properties": {
+ "away_boxscore": {
+ "$ref": "#/definitions/mlb.TeamBoxscore"
},
- "is_nsfw": {
- "type": "boolean"
+ "decisions": {
+ "$ref": "#/definitions/mlb.Decision"
},
- "name": {
- "example": "CachyOS",
+ "fetched_at": {
"type": "string"
},
- "offers_free_membership": {
- "type": "boolean"
+ "game": {
+ "$ref": "#/definitions/mlb.GameSummary"
},
- "offers_paid_membership": {
- "type": "boolean"
+ "home_boxscore": {
+ "$ref": "#/definitions/mlb.TeamBoxscore"
},
- "paid_member_count": {
- "type": "integer"
+ "linescore": {
+ "$ref": "#/definitions/mlb.Linescore"
},
- "patron_count": {
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "mlb.GameSide": {
+ "properties": {
+ "losses": {
"type": "integer"
},
- "pledge_sum_cents": {
- "type": "integer"
+ "probable_pitcher": {
+ "$ref": "#/definitions/mlb.NamedRef"
},
- "show_count": {
+ "score": {
"type": "integer"
},
- "social_links": {
- "items": {
- "$ref": "#/definitions/patreon.CreatorSocialLink"
- },
- "type": "array"
- },
- "summary": {
- "type": "string"
+ "team": {
+ "$ref": "#/definitions/mlb.TeamRef"
},
- "url": {
- "example": "https://www.patreon.com/CachyOS",
- "type": "string"
+ "wins": {
+ "type": "integer"
}
},
"type": "object"
},
- "patreon.CreatorSocialLink": {
+ "mlb.GameStatus": {
"properties": {
- "label": {
- "example": "CachyOS",
+ "abstract": {
"type": "string"
},
- "platform": {
- "example": "twitter",
+ "code": {
"type": "string"
},
- "url": {
- "example": "https://twitter.com/CachyOS",
+ "detailed": {
+ "type": "string"
+ },
+ "reason": {
"type": "string"
}
},
"type": "object"
},
- "patreon.ExploreCreator": {
+ "mlb.GameSummary": {
"properties": {
- "avatar_url": {
+ "away": {
+ "$ref": "#/definitions/mlb.GameSide"
+ },
+ "day_night": {
"type": "string"
},
- "creation_name": {
- "example": "creating YouTube videos",
+ "double_header": {
"type": "string"
},
- "id": {
- "example": "4270549",
+ "game_date": {
"type": "string"
},
- "is_nsfw": {
- "type": "boolean"
+ "game_number": {
+ "type": "integer"
},
- "name": {
- "example": "Reckless Ben",
+ "game_type": {
"type": "string"
},
- "url": {
- "example": "https://www.patreon.com/RecklessBen",
+ "home": {
+ "$ref": "#/definitions/mlb.GameSide"
+ },
+ "id": {
+ "type": "integer"
+ },
+ "official_date": {
"type": "string"
- }
- },
- "type": "object"
- },
- "patreon.ExploreResult": {
- "properties": {
- "sections": {
- "items": {
- "$ref": "#/definitions/patreon.ExploreSection"
- },
- "type": "array"
},
- "topic": {
- "example": "podcasts_and_shows",
+ "scheduled_innings": {
+ "type": "integer"
+ },
+ "season": {
+ "type": "string"
+ },
+ "series_description": {
"type": "string"
+ },
+ "status": {
+ "$ref": "#/definitions/mlb.GameStatus"
+ },
+ "venue": {
+ "$ref": "#/definitions/mlb.VenueRef"
}
},
"type": "object"
},
- "patreon.ExploreSection": {
+ "mlb.ImageRef": {
"properties": {
- "creators": {
- "items": {
- "$ref": "#/definitions/patreon.ExploreCreator"
- },
- "type": "array"
- },
- "title": {
- "example": "Top creators",
+ "type": {
"type": "string"
},
- "type": {
- "enum": [
- "popular-campaigns",
- "trending-campaigns",
- "new-campaigns"
- ],
- "example": "popular-campaigns",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "patreon.MembershipTier": {
+ "mlb.Inning": {
"properties": {
- "amount_cents": {
- "example": 500,
+ "away_errors": {
"type": "integer"
},
- "benefits": {
- "items": {
- "$ref": "#/definitions/patreon.MembershipTierBenefit"
- },
- "type": "array"
+ "away_hits": {
+ "type": "integer"
},
- "currency": {
- "example": "USD",
- "type": "string"
+ "away_runs": {
+ "type": "integer"
},
- "description": {
- "type": "string"
+ "home_errors": {
+ "type": "integer"
},
- "id": {
- "example": "17218833",
- "type": "string"
+ "home_hits": {
+ "type": "integer"
},
- "title": {
- "example": "Supporter",
- "type": "string"
+ "home_runs": {
+ "type": "integer"
+ },
+ "number": {
+ "type": "integer"
}
},
"type": "object"
},
- "patreon.MembershipTierBenefit": {
+ "mlb.LeaderCategory": {
"properties": {
- "description": {
+ "category": {
"type": "string"
},
- "title": {
- "example": "Support the project",
- "type": "string"
- }
- },
- "type": "object"
- },
- "patreon.MembershipTiersResult": {
- "properties": {
- "creator_id": {
- "example": "8655479",
+ "game_type": {
"type": "string"
},
- "handle": {
- "example": "CachyOS",
+ "group": {
"type": "string"
},
- "tiers": {
+ "leaders": {
"items": {
- "$ref": "#/definitions/patreon.MembershipTier"
+ "$ref": "#/definitions/mlb.LeaderEntry"
},
"type": "array"
+ },
+ "season": {
+ "type": "string"
+ },
+ "total": {
+ "type": "integer"
}
},
"type": "object"
},
- "patreon.PublicRSSEpisode": {
+ "mlb.LeaderEntry": {
"properties": {
- "description": {
- "type": "string"
- },
- "duration": {
- "type": "string"
- },
- "enclosure_type": {
- "type": "string"
- },
- "enclosure_url": {
- "type": "string"
+ "league": {
+ "$ref": "#/definitions/mlb.NamedRef"
},
- "episode_type": {
- "type": "string"
+ "player": {
+ "$ref": "#/definitions/mlb.NamedRef"
},
- "guid": {
- "type": "string"
+ "rank": {
+ "type": "integer"
},
- "image_url": {
+ "season": {
"type": "string"
},
- "link": {
- "type": "string"
+ "stats": {
+ "additionalProperties": {},
+ "type": "object"
},
- "published_at": {
- "type": "string"
+ "team": {
+ "$ref": "#/definitions/mlb.TeamRef"
},
- "title": {
+ "value": {
"type": "string"
}
},
"type": "object"
},
- "patreon.PublicRSSFeed": {
+ "mlb.LeagueLeadersResponse": {
"properties": {
- "author": {
- "type": "string"
- },
- "campaign_id": {
- "example": "80117",
- "type": "string"
- },
- "copyright": {
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "episodes": {
+ "categories": {
"items": {
- "$ref": "#/definitions/patreon.PublicRSSEpisode"
+ "type": "string"
},
"type": "array"
},
- "explicit": {
- "type": "string"
- },
- "image_url": {
- "type": "string"
- },
- "language": {
- "type": "string"
+ "count": {
+ "type": "integer"
},
- "link": {
+ "fetched_at": {
"type": "string"
},
- "show_id": {
- "example": "1322380",
- "type": "string"
+ "results": {
+ "items": {
+ "$ref": "#/definitions/mlb.LeaderCategory"
+ },
+ "type": "array"
},
- "title": {
- "type": "string"
+ "season": {
+ "type": "integer"
},
- "type": {
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "patreon.creatorResponseDoc": {
+ "mlb.Linescore": {
"properties": {
- "code": {
- "example": 200,
+ "away_errors": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/patreon.Creator"
- },
- "msg": {
- "example": "success",
- "type": "string"
- }
- },
- "type": "object"
- },
- "patreon.exploreResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ "away_hits": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/patreon.ExploreResult"
+ "away_runs": {
+ "type": "integer"
},
- "msg": {
- "example": "success",
- "type": "string"
- }
- },
- "type": "object"
- },
- "patreon.membershipTiersResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ "current_inning": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/patreon.MembershipTiersResult"
+ "home_errors": {
+ "type": "integer"
},
- "msg": {
- "example": "success",
- "type": "string"
- }
- },
- "type": "object"
- },
- "patreon.publicRSSResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ "home_hits": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/patreon.PublicRSSFeed"
+ "home_runs": {
+ "type": "integer"
},
- "msg": {
- "example": "success",
+ "inning_state": {
"type": "string"
+ },
+ "innings": {
+ "items": {
+ "$ref": "#/definitions/mlb.Inning"
+ },
+ "type": "array"
+ },
+ "scheduled_innings": {
+ "type": "integer"
}
},
"type": "object"
},
- "pcgamer.AuthorResponse": {
+ "mlb.MLBDiscoveryResponse": {
"properties": {
- "articles": {
+ "divisions": {
"items": {
- "$ref": "#/definitions/newsplatform.HeadlineItem"
+ "$ref": "#/definitions/mlb.NamedRef"
},
"type": "array"
},
- "biography": {
+ "fetched_at": {
+ "type": "string"
+ },
+ "game_types": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/mlb.EnumValue"
},
"type": "array"
},
- "has_next_page": {
- "type": "boolean"
+ "leader_categories": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "job_title": {
- "type": "string"
+ "leagues": {
+ "items": {
+ "$ref": "#/definitions/mlb.NamedRef"
+ },
+ "type": "array"
},
- "name": {
- "type": "string"
+ "prospect_date_ranges": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "page": {
- "type": "integer"
+ "prospect_minimum_pa": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
},
- "slug": {
- "type": "string"
+ "prospect_positions": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "social_links": {
+ "prospect_ranking_positions": {
"items": {
- "$ref": "#/definitions/pcgamer.AuthorSocialLink"
+ "$ref": "#/definitions/mlb.EnumValue"
},
"type": "array"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "pcgamer.AuthorSocialLink": {
- "properties": {
- "platform": {
- "type": "string"
+ "prospect_ranking_sort_directions": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "pcmag.AuthorResponse": {
- "properties": {
- "articles": {
+ "prospect_ranking_sort_fields": {
"items": {
- "$ref": "#/definitions/newsplatform.HeadlineItem"
+ "$ref": "#/definitions/mlb.EnumValue"
},
"type": "array"
},
- "biography": {
- "type": "string"
+ "prospect_ranking_teams": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "expertise": {
+ "prospect_ranking_views": {
"items": {
- "$ref": "#/definitions/pcmag.AuthorTopic"
+ "$ref": "#/definitions/mlb.EnumValue"
},
"type": "array"
},
- "image_url": {
- "type": "string"
+ "prospect_ranking_years": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "name": {
- "type": "string"
+ "roster_types": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "role": {
- "type": "string"
+ "sections": {
+ "items": {
+ "$ref": "#/definitions/mlb.NavigationItem"
+ },
+ "type": "array"
},
- "slug": {
+ "source_url": {
"type": "string"
},
- "social_links": {
+ "sports": {
"items": {
- "$ref": "#/definitions/pcmag.AuthorSocialLink"
+ "$ref": "#/definitions/mlb.NamedRef"
},
"type": "array"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "pcmag.AuthorSocialLink": {
- "properties": {
- "platform": {
- "type": "string"
- },
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "pcmag.AuthorTopic": {
- "properties": {
- "name": {
- "type": "string"
+ "standings_types": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "people.AuthorInfoItem": {
- "properties": {
- "label": {
- "type": "string"
+ "stat_groups": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "url": {
- "type": "string"
+ "stat_hitter_positions": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "value": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "people.AuthorResponse": {
- "properties": {
- "articles": {
+ "stat_player_pools": {
"items": {
- "$ref": "#/definitions/people.HeadlineItem"
+ "$ref": "#/definitions/mlb.EnumValue"
},
"type": "array"
},
- "biography": {
+ "stat_types": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/mlb.EnumValue"
},
"type": "array"
},
- "info": {
+ "statcast_abs_challenge_filters": {
+ "$ref": "#/definitions/mlb.StatcastABSChallengeFilters"
+ },
+ "statcast_active_spin_hands": {
"items": {
- "$ref": "#/definitions/people.AuthorInfoItem"
+ "$ref": "#/definitions/mlb.EnumValue"
},
"type": "array"
},
- "job_title": {
- "type": "string"
+ "statcast_active_spin_minimums": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "name": {
- "type": "string"
+ "statcast_active_spin_seasons": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "people.HeadlineItem": {
- "properties": {
- "author": {
- "type": "string"
+ "statcast_active_spin_sort_directions": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "image_url": {
- "type": "string"
+ "statcast_active_spin_sort_fields": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "published_at": {
- "type": "string"
+ "statcast_arm_angle_game_types": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "summary": {
- "type": "string"
+ "statcast_arm_angle_group_by": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "title": {
- "type": "string"
+ "statcast_arm_angle_group_minimum_pitches": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "type": {
- "type": "string"
+ "statcast_arm_angle_hands": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "phillyinquirer.AuthorResponse": {
- "properties": {
- "articles": {
+ "statcast_arm_angle_minimums": {
"items": {
- "$ref": "#/definitions/newsplatform.HeadlineItem"
+ "$ref": "#/definitions/mlb.EnumValue"
},
"type": "array"
},
- "biography": {
+ "statcast_arm_angle_pitch_types": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/mlb.EnumValue"
},
"type": "array"
},
- "image_url": {
- "type": "string"
+ "statcast_arm_angle_seasons": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "name": {
- "type": "string"
+ "statcast_arm_angle_sort_directions": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "role": {
- "type": "string"
+ "statcast_arm_angle_sort_fields": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "slug": {
- "type": "string"
+ "statcast_arm_angle_team_ids": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "social_links": {
+ "statcast_arm_strength_min_throws": {
"items": {
- "$ref": "#/definitions/phillyinquirer.AuthorSocialLink"
+ "$ref": "#/definitions/mlb.EnumValue"
},
"type": "array"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "phillyinquirer.AuthorSocialLink": {
- "properties": {
- "platform": {
- "type": "string"
+ "statcast_arm_strength_positions": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "philstar.AuthorArticle": {
- "properties": {
- "published_at": {
- "type": "string"
+ "statcast_arm_strength_sort_directions": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "section": {
- "type": "string"
+ "statcast_arm_strength_sort_fields": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "summary": {
- "type": "string"
+ "statcast_arm_strength_team_ids": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "title": {
- "type": "string"
+ "statcast_arm_strength_types": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "philstar.AuthorResponse": {
- "properties": {
- "articles": {
+ "statcast_arm_strength_years": {
"items": {
- "$ref": "#/definitions/philstar.AuthorArticle"
+ "$ref": "#/definitions/mlb.EnumValue"
},
"type": "array"
},
- "id": {
- "type": "string"
+ "statcast_arm_value_game_types": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "name": {
- "type": "string"
+ "statcast_arm_value_max_year": {
+ "type": "integer"
},
- "photo_url": {
- "type": "string"
+ "statcast_arm_value_min_year": {
+ "type": "integer"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "phonearena.AuthorResponse": {
- "properties": {
- "articles": {
+ "statcast_arm_value_minimum_opportunities": {
"items": {
- "$ref": "#/definitions/newsplatform.HeadlineItem"
+ "$ref": "#/definitions/mlb.EnumValue"
},
"type": "array"
},
- "biography": {
+ "statcast_arm_value_situations": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/mlb.EnumValue"
},
"type": "array"
},
- "image_url": {
- "type": "string"
+ "statcast_arm_value_sort_directions": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "name": {
- "type": "string"
+ "statcast_arm_value_sort_fields": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "role": {
- "type": "string"
+ "statcast_arm_value_split_years": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "slug": {
- "type": "string"
+ "statcast_arm_value_team_ids": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "social_links": {
+ "statcast_arm_value_types": {
"items": {
- "$ref": "#/definitions/phonearena.AuthorSocialLink"
+ "$ref": "#/definitions/mlb.EnumValue"
},
"type": "array"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "phonearena.AuthorSocialLink": {
- "properties": {
- "platform": {
- "type": "string"
+ "statcast_arm_value_with_team_only": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "pick6.Pick6RuleDetailResponse": {
- "properties": {
- "fetched_at": {
- "type": "string"
+ "statcast_arm_value_years": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
},
- "section_count": {
- "type": "integer"
+ "statcast_baserunning_filters": {
+ "$ref": "#/definitions/mlb.StatcastBaserunningFilters"
},
- "sections": {
+ "statcast_bat_tracking_attack_zones": {
"items": {
- "$ref": "#/definitions/pick6.Pick6RuleSection"
+ "$ref": "#/definitions/mlb.EnumValue"
},
"type": "array"
},
- "slug": {
- "type": "string"
- },
- "source_url": {
- "type": "string"
+ "statcast_bat_tracking_bat_sides": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "sport": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "pick6.Pick6RulePage": {
- "properties": {
- "detail_endpoint_supported": {
- "type": "boolean"
+ "statcast_bat_tracking_contact_types": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "slug": {
- "type": "string"
+ "statcast_bat_tracking_counts": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "title": {
- "type": "string"
+ "statcast_bat_tracking_game_types": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "pick6.Pick6RuleSection": {
- "properties": {
- "text": {
- "type": "string"
+ "statcast_bat_tracking_group_by": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "title": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "pick6.Pick6RulesResponse": {
- "properties": {
- "fetched_at": {
- "type": "string"
+ "statcast_bat_tracking_hard_hit_values": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "rule_page_count": {
- "type": "integer"
+ "statcast_bat_tracking_min_group_swings": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "rule_pages": {
+ "statcast_bat_tracking_min_swings": {
"items": {
- "$ref": "#/definitions/pick6.Pick6RulePage"
+ "$ref": "#/definitions/mlb.EnumValue"
},
"type": "array"
},
- "section_count": {
- "type": "integer"
+ "statcast_bat_tracking_pitch_hands": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "sections": {
+ "statcast_bat_tracking_pitch_types": {
"items": {
- "$ref": "#/definitions/pick6.Pick6RuleSection"
+ "$ref": "#/definitions/mlb.EnumValue"
},
"type": "array"
},
- "source_url": {
- "type": "string"
+ "statcast_bat_tracking_seasons": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "sport": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "pick6.Pick6Sport": {
- "properties": {
- "has_help_center_link": {
- "type": "boolean"
+ "statcast_bat_tracking_sort_directions": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "name": {
- "type": "string"
+ "statcast_bat_tracking_sort_fields": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "sport_code": {
- "type": "string"
+ "statcast_bat_tracking_team_ids": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "pick6.Pick6SportCategory": {
- "properties": {
- "items": {
+ "statcast_bat_tracking_types": {
"items": {
- "$ref": "#/definitions/pick6.Pick6Sport"
+ "$ref": "#/definitions/mlb.EnumValue"
},
"type": "array"
},
- "name": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "pick6.Pick6SportsResponse": {
- "properties": {
- "categories": {
+ "statcast_batted_ball_game_types": {
"items": {
- "$ref": "#/definitions/pick6.Pick6SportCategory"
+ "$ref": "#/definitions/mlb.EnumValue"
},
"type": "array"
},
- "category_count": {
+ "statcast_batted_ball_max_year": {
"type": "integer"
},
- "linked_page_count": {
- "type": "integer"
+ "statcast_batted_ball_min_splits": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "listed_item_count": {
+ "statcast_batted_ball_min_year": {
"type": "integer"
},
- "restrictions": {
+ "statcast_batted_ball_minimums": {
"items": {
- "$ref": "#/definitions/pick6.Pick6SportsRestriction"
+ "$ref": "#/definitions/mlb.EnumValue"
},
"type": "array"
},
- "source_url": {
- "type": "string"
+ "statcast_batted_ball_pitch_types": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "verified_on": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "pick6.Pick6SportsRestriction": {
- "properties": {
- "jurisdictions": {
+ "statcast_batted_ball_seasons": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/mlb.EnumValue"
},
"type": "array"
},
- "note": {
- "type": "string"
+ "statcast_batted_ball_sides": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "sport_codes": {
+ "statcast_batted_ball_sort_directions": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/mlb.EnumValue"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "pick6.pick6RuleDetailResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/pick6.Pick6RuleDetailResponse"
+ "statcast_batted_ball_sort_fields": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
- "type": "string"
- }
- },
- "type": "object"
- },
- "pick6.pick6RulesResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "statcast_batted_ball_split_years": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "data": {
- "$ref": "#/definitions/pick6.Pick6RulesResponse"
+ "statcast_batted_ball_splits": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
- "type": "string"
- }
- },
- "type": "object"
- },
- "pick6.pick6SportsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "statcast_batted_ball_team_ids": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "data": {
- "$ref": "#/definitions/pick6.Pick6SportsResponse"
+ "statcast_batted_ball_types": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
- "type": "string"
- }
- },
- "type": "object"
- },
- "pinterest.Board": {
- "properties": {
- "cover_image_url": {
- "type": "string"
+ "statcast_catcher_blocking_game_types": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "description": {
- "type": "string"
+ "statcast_catcher_blocking_minimums": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "follower_count": {
- "type": "integer"
+ "statcast_catcher_blocking_sort_directions": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "id": {
- "type": "string"
+ "statcast_catcher_blocking_sort_fields": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "name": {
- "type": "string"
+ "statcast_catcher_blocking_team_ids": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "owner_username": {
- "type": "string"
+ "statcast_catcher_blocking_types": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "pin_count": {
- "type": "integer"
+ "statcast_catcher_blocking_years": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "privacy": {
- "type": "string"
+ "statcast_catcher_framing_ball_strike": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "pinterest.BoardResponse": {
- "properties": {
- "cover_image_url": {
- "type": "string"
+ "statcast_catcher_framing_bat_sides": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "description": {
- "type": "string"
+ "statcast_catcher_framing_calls": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "follower_count": {
- "type": "integer"
+ "statcast_catcher_framing_game_types": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "id": {
- "type": "string"
+ "statcast_catcher_framing_min_pitches": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "name": {
- "type": "string"
+ "statcast_catcher_framing_min_results": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "owner_username": {
- "type": "string"
+ "statcast_catcher_framing_pitch_hands": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "pin_count": {
- "type": "integer"
+ "statcast_catcher_framing_pitch_types": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "pins": {
+ "statcast_catcher_framing_sort_directions": {
"items": {
- "$ref": "#/definitions/pinterest.PinSummary"
+ "$ref": "#/definitions/mlb.EnumValue"
},
"type": "array"
},
- "privacy": {
- "type": "string"
+ "statcast_catcher_framing_sort_fields": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "pinterest.CategoriesResponse": {
- "properties": {
- "categories": {
- "description": "Top-level Pinterest Ideas categories.",
+ "statcast_catcher_framing_team_ids": {
"items": {
- "$ref": "#/definitions/pinterest.Category"
+ "$ref": "#/definitions/mlb.EnumValue"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "pinterest.Category": {
- "properties": {
- "id": {
- "description": "Pinterest category id. Use it with the ideas endpoint.",
- "type": "string"
},
- "name": {
- "description": "Category name as shown on Pinterest.",
- "type": "string"
+ "statcast_catcher_framing_types": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "slug": {
- "description": "URL slug of the category.",
- "type": "string"
- }
- },
- "type": "object"
- },
- "pinterest.IdeaResponse": {
- "properties": {
- "description": {
- "type": "string"
+ "statcast_catcher_framing_years": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "follower_count": {
- "type": "integer"
+ "statcast_catcher_pop_time_min_2b_attempts": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "id": {
- "type": "string"
+ "statcast_catcher_pop_time_min_3b_attempts": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "name": {
- "type": "string"
+ "statcast_catcher_pop_time_sort_directions": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "pins": {
+ "statcast_catcher_pop_time_sort_fields": {
"items": {
- "$ref": "#/definitions/pinterest.PinSummary"
+ "$ref": "#/definitions/mlb.EnumValue"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "pinterest.PinDetail": {
- "properties": {
- "board_name": {
- "description": "Name of the board the pin is saved to.",
- "type": "string"
},
- "comment_count": {
- "type": "integer"
+ "statcast_catcher_pop_time_team_ids": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "created_at": {
- "type": "string"
+ "statcast_catcher_pop_time_years": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "description": {
- "description": "Description text of the pin as Pinterest shows it.",
- "type": "string"
+ "statcast_catcher_stance_game_types": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "domain": {
- "description": "Domain of the website the pin links to, or `Uploaded by user` for pins uploaded directly.",
- "type": "string"
+ "statcast_catcher_stance_group_by": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "dominant_color": {
- "description": "Dominant color of the pin image, as a hex code such as `#6a2f18`.",
- "type": "string"
+ "statcast_catcher_stance_knee_codes": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "id": {
- "description": "Pinterest pin id.",
- "type": "string"
+ "statcast_catcher_stance_min_pitches": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "image_url": {
- "description": "URL of the pin image.",
- "type": "string"
+ "statcast_catcher_stance_min_results": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "link": {
- "description": "Destination URL the pin links to.",
- "type": "string"
+ "statcast_catcher_stance_pitch_types": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "pinner_username": {
- "description": "Username of the account that saved the pin.",
- "type": "string"
+ "statcast_catcher_stance_seasons": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "repin_count": {
- "type": "integer"
+ "statcast_catcher_stance_sides": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "title": {
- "description": "Title of the pin as Pinterest shows it.",
- "type": "string"
+ "statcast_catcher_stance_sort_directions": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "url": {
- "description": "URL of the pin's page on Pinterest.",
- "type": "string"
- }
- },
- "type": "object"
- },
- "pinterest.PinSummary": {
- "properties": {
- "board_name": {
- "description": "Name of the board the pin is saved to.",
- "type": "string"
+ "statcast_catcher_stance_sort_fields": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "description": {
- "description": "Description text of the pin as Pinterest shows it.",
- "type": "string"
+ "statcast_catcher_stance_team_ids": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "domain": {
- "description": "Domain of the website the pin links to, or `Uploaded by user` for pins uploaded directly.",
- "type": "string"
+ "statcast_catcher_stance_types": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "dominant_color": {
- "description": "Dominant color of the pin image, as a hex code such as `#6a2f18`.",
- "type": "string"
+ "statcast_catcher_throwing_game_types": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "id": {
- "description": "Pinterest pin id.",
- "type": "string"
+ "statcast_catcher_throwing_minimum_attempts": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "image_url": {
- "description": "URL of the pin image.",
- "type": "string"
+ "statcast_catcher_throwing_seasons": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "link": {
- "description": "Destination URL the pin links to.",
- "type": "string"
+ "statcast_catcher_throwing_sort_directions": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "pinner_username": {
- "description": "Username of the account that saved the pin.",
- "type": "string"
+ "statcast_catcher_throwing_sort_fields": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "title": {
- "description": "Title of the pin as Pinterest shows it.",
- "type": "string"
+ "statcast_catcher_throwing_target_bases": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "url": {
- "description": "URL of the pin's page on Pinterest.",
- "type": "string"
- }
- },
- "type": "object"
- },
- "pinterest.SearchResponse": {
- "properties": {
- "pins": {
+ "statcast_catcher_throwing_team_ids": {
"items": {
- "$ref": "#/definitions/pinterest.PinSummary"
+ "$ref": "#/definitions/mlb.EnumValue"
},
"type": "array"
},
- "query": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "pinterest.User": {
- "properties": {
- "about": {
- "description": "Bio text from the profile.",
- "type": "string"
+ "statcast_catcher_throwing_types": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "avatar_url": {
- "description": "URL of the profile picture.",
- "type": "string"
+ "statcast_entity_types": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "board_count": {
- "description": "Number of boards on the profile.",
- "type": "integer"
+ "statcast_expected_filter_types": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "follower_count": {
- "description": "Number of accounts following the user.",
+ "statcast_expected_max_year": {
"type": "integer"
},
- "following_count": {
- "description": "Number of accounts the user follows.",
+ "statcast_expected_min_year": {
"type": "integer"
},
- "full_name": {
- "description": "Display name shown on the profile.",
- "type": "string"
- },
- "is_verified_merchant": {
- "description": "Whether Pinterest marks the account as a verified merchant.",
- "type": "boolean"
+ "statcast_expected_minimums": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "pin_count": {
- "description": "Number of pins on the profile.",
- "type": "integer"
+ "statcast_expected_sort_directions": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "username": {
- "description": "Pinterest username of the profile.",
- "type": "string"
+ "statcast_expected_sort_fields": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "website_url": {
- "description": "Website URL listed on the profile.",
- "type": "string"
- }
- },
- "type": "object"
- },
- "pinterest.UserBoardsResponse": {
- "properties": {
- "boards": {
+ "statcast_expected_types": {
"items": {
- "$ref": "#/definitions/pinterest.Board"
+ "$ref": "#/definitions/mlb.EnumValue"
},
"type": "array"
},
- "username": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "pinterest.UserPinsResponse": {
- "properties": {
- "pins": {
- "description": "Pins from the user's profile.",
+ "statcast_fielding_run_value_batting_minimums": {
"items": {
- "$ref": "#/definitions/pinterest.PinSummary"
+ "$ref": "#/definitions/mlb.EnumValue"
},
"type": "array"
},
- "username": {
- "description": "Pinterest username that was requested.",
- "type": "string"
- }
- },
- "type": "object"
- },
- "pinterest.boardResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "statcast_fielding_run_value_fielding_minimums": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "data": {
- "$ref": "#/definitions/pinterest.BoardResponse"
+ "statcast_fielding_run_value_game_types": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
- "type": "string"
- }
- },
- "type": "object"
- },
- "pinterest.categoriesResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "statcast_fielding_run_value_group_by": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "data": {
- "$ref": "#/definitions/pinterest.CategoriesResponse"
+ "statcast_fielding_run_value_positions": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
- "type": "string"
- }
- },
- "type": "object"
- },
- "pinterest.ideaResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "statcast_fielding_run_value_seasons": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "data": {
- "$ref": "#/definitions/pinterest.IdeaResponse"
+ "statcast_fielding_run_value_sort_directions": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
- "type": "string"
- }
- },
- "type": "object"
- },
- "pinterest.pinResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "statcast_fielding_run_value_sort_fields": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "data": {
- "$ref": "#/definitions/pinterest.PinDetail"
+ "statcast_fielding_run_value_team_ids": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
- "type": "string"
- }
- },
- "type": "object"
- },
- "pinterest.searchResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "statcast_fielding_run_value_types": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "data": {
- "$ref": "#/definitions/pinterest.SearchResponse"
+ "statcast_first_base_receiving_field_out_values": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
- "type": "string"
- }
- },
- "type": "object"
- },
- "pinterest.userBoardsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "statcast_first_base_receiving_game_types": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "data": {
- "$ref": "#/definitions/pinterest.UserBoardsResponse"
+ "statcast_first_base_receiving_hands": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
- "type": "string"
- }
- },
- "type": "object"
- },
- "pinterest.userPinsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "statcast_first_base_receiving_minimum_heights": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "data": {
- "$ref": "#/definitions/pinterest.UserPinsResponse"
+ "statcast_first_base_receiving_minimum_split_values": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
- "type": "string"
- }
- },
- "type": "object"
- },
- "pinterest.userResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "statcast_first_base_receiving_minimums": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "data": {
- "$ref": "#/definitions/pinterest.User"
+ "statcast_first_base_receiving_runner_states": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
- "type": "string"
- }
- },
- "type": "object"
- },
- "pitchbook.DataTable": {
- "properties": {
- "columns": {
- "description": "Column headings of the table.",
+ "statcast_first_base_receiving_seasons": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/mlb.EnumValue"
},
"type": "array"
},
- "name": {
- "description": "Name of the profile section the table comes from, such as `Investors`.",
- "example": "Investors",
- "type": "string"
+ "statcast_first_base_receiving_secondary_splits": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "row_ids": {
- "description": "Profile each cell links to as `kind/id`, such as `company/157986-91`, matching `rows` by position. Empty for cells without a link.",
+ "statcast_first_base_receiving_sort_directions": {
"items": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "$ref": "#/definitions/mlb.EnumValue"
},
"type": "array"
},
- "rows": {
- "description": "Table rows, each a list of cell texts. Cells PitchBook hides behind a subscription are empty.",
+ "statcast_first_base_receiving_sort_fields": {
"items": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "$ref": "#/definitions/mlb.EnumValue"
},
"type": "array"
},
- "total": {
- "description": "Full count of entries PitchBook states for the section, usually more than the rows returned.",
- "example": 23,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "pitchbook.FAQ": {
- "properties": {
- "answer": {
- "description": "Answer to the question.",
- "example": "Thinking Machines Lab was founded in 2024.",
- "type": "string"
+ "statcast_first_base_receiving_split_year_values": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "question": {
- "description": "Question as shown in the profile's FAQ section.",
- "example": "When was Thinking Machines Lab founded?",
- "type": "string"
- }
- },
- "type": "object"
- },
- "pitchbook.ProfileResponse": {
- "properties": {
- "contact": {
- "additionalProperties": {
- "type": "string"
+ "statcast_first_base_receiving_throw_heights": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
},
- "description": "Contact and company details from the profile as label and value pairs, such as `Website`.",
- "type": "object"
+ "type": "array"
},
- "description": {
- "description": "Profile description as PitchBook shows it.",
- "type": "string"
+ "statcast_first_base_receiving_throw_locations": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "faqs": {
- "description": "Question and answer pairs from the profile's FAQ section.",
+ "statcast_first_base_receiving_throw_positions": {
"items": {
- "$ref": "#/definitions/pitchbook.FAQ"
+ "$ref": "#/definitions/mlb.EnumValue"
},
"type": "array"
},
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-07-08T20:00:00Z",
- "type": "string"
+ "statcast_first_base_receiving_time_bins": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "id": {
- "description": "PitchBook profile id, such as `752821-12`.",
- "example": "752821-12",
- "type": "string"
+ "statcast_first_base_receiving_types": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "kind": {
- "description": "Profile type: `company`, `investor`, `fund`, `advisor` or `limited-partner`.",
- "example": "company",
- "type": "string"
+ "statcast_home_runs_categories": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "name": {
- "description": "Name of the company, investor, fund, advisor or limited partner.",
- "example": "Thinking Machines Lab",
- "type": "string"
+ "statcast_home_runs_minimum_home_runs": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "overview": {
- "additionalProperties": {
- "type": "string"
+ "statcast_home_runs_player_types": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
},
- "description": "Quick facts from the profile as label and value pairs, such as `Year Founded`.",
- "type": "object"
+ "type": "array"
},
- "source_url": {
- "description": "URL the data was read from.",
- "example": "https://pitchbook.com/profiles/company/752821-12",
- "type": "string"
+ "statcast_home_runs_sort_directions": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "tables": {
- "description": "Tables from the profile's sections, such as Investors.",
+ "statcast_home_runs_sort_fields": {
"items": {
- "$ref": "#/definitions/pitchbook.DataTable"
+ "$ref": "#/definitions/mlb.EnumValue"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "pitchbook.advisorResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/pitchbook.ProfileResponse"
+ "statcast_home_runs_team_ids": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
- "type": "string"
- }
- },
- "type": "object"
- },
- "pitchbook.companyResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "statcast_home_runs_years": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "data": {
- "$ref": "#/definitions/pitchbook.ProfileResponse"
+ "statcast_leaderboards": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
- "type": "string"
- }
- },
- "type": "object"
- },
- "pitchbook.fundResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ "statcast_max_year": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/pitchbook.ProfileResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
- }
- },
- "type": "object"
- },
- "pitchbook.investorResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ "statcast_min_year": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/pitchbook.ProfileResponse"
+ "statcast_minimum_bbe": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
- "type": "string"
- }
- },
- "type": "object"
- },
- "pitchbook.limitedPartnerResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ "statcast_oaa_max_year": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/pitchbook.ProfileResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
- }
- },
- "type": "object"
- },
- "pizzahut.Address": {
- "properties": {
- "address1": {
- "example": "932 8th Ave",
- "type": "string"
+ "statcast_oaa_min_year": {
+ "type": "integer"
},
- "address2": {
- "type": "string"
+ "statcast_oaa_minimums": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "city": {
- "example": "New York",
- "type": "string"
+ "statcast_oaa_positions": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "country_code": {
- "example": "US",
- "type": "string"
+ "statcast_oaa_ranges": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "latitude": {
- "example": 40.7655,
- "type": "number"
+ "statcast_oaa_roles": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "longitude": {
- "example": -73.9835,
- "type": "number"
+ "statcast_oaa_sort_directions": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "phone": {
- "example": "+19296452154",
- "type": "string"
+ "statcast_oaa_sort_fields": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "postal_code": {
- "example": "10019",
- "type": "string"
+ "statcast_oaa_types": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "state": {
- "example": "NY",
- "type": "string"
- }
- },
- "type": "object"
- },
- "pizzahut.BundleChoice": {
- "properties": {
- "choice_code": {
- "example": "748",
- "type": "string"
+ "statcast_park_factor_bat_sides": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "max_allowed_selections": {
- "example": 1,
- "type": "integer"
+ "statcast_park_factor_conditions": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "min_allowed_selections": {
- "example": 1,
- "type": "integer"
+ "statcast_park_factor_dimension_years": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "name": {
- "example": "1st Pizza",
- "type": "string"
+ "statcast_park_factor_parks": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "variants": {
+ "statcast_park_factor_rolling_windows": {
"items": {
- "$ref": "#/definitions/pizzahut.BundleChoiceVariant"
+ "$ref": "#/definitions/mlb.EnumValue"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "pizzahut.BundleChoiceVariant": {
- "properties": {
- "name": {
- "example": "Medium Hand-Tossed Create Your Own 1-Top Pizza",
- "type": "string"
},
- "upcharge": {
- "$ref": "#/definitions/pizzahut.Money"
+ "statcast_park_factor_sort_directions": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "variant_code": {
- "example": "variant_CLSS001_010BCYO1T_SIZE050M_BASE020H",
- "type": "string"
- }
- },
- "type": "object"
- },
- "pizzahut.BundleChoicesResponse": {
- "properties": {
- "bundle_code": {
- "example": "MEAL501BD",
- "type": "string"
+ "statcast_park_factor_statcast_years": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "channel": {
- "example": "WEB",
- "type": "string"
+ "statcast_park_factor_stats": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "choice_count": {
- "example": 4,
- "type": "integer"
+ "statcast_park_factor_types": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "choices": {
+ "statcast_park_factor_years": {
"items": {
- "$ref": "#/definitions/pizzahut.BundleChoice"
+ "$ref": "#/definitions/mlb.EnumValue"
},
"type": "array"
},
- "description": {
- "example": "All your faves - 2 medium 1-topping pizzas, 8 boneless wings, and 5 breadsticks!",
- "type": "string"
+ "statcast_percentile_batter_fields": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "fetched_at": {
- "type": "string"
+ "statcast_percentile_batter_sort_fields": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "name": {
- "example": "Big Dinner Box",
- "type": "string"
+ "statcast_percentile_comparators": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "price": {
- "$ref": "#/definitions/pizzahut.Money"
+ "statcast_percentile_pitcher_fields": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "source_url": {
- "type": "string"
+ "statcast_percentile_pitcher_sort_fields": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "store_number": {
- "example": "040937",
- "type": "string"
- }
- },
- "type": "object"
- },
- "pizzahut.DeliveryEstimateResponse": {
- "properties": {
- "delivery_provider": {
- "example": "INTERNAL",
- "type": "string"
+ "statcast_percentile_sort_directions": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "dropoff_at": {
- "type": "string"
+ "statcast_percentile_team_ids": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "fee": {
- "allOf": [
- {
- "$ref": "#/definitions/pizzahut.Money"
- }
- ],
- "description": "Fee is the total delivery fee; Fees breaks it down by line item."
+ "statcast_percentile_types": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "fees": {
+ "statcast_percentile_years": {
"items": {
- "$ref": "#/definitions/pizzahut.DeliveryFeeLine"
+ "$ref": "#/definitions/mlb.EnumValue"
},
"type": "array"
},
- "fetched_at": {
- "type": "string"
+ "statcast_pitch_arsenal_min_pa": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "pickup_at": {
- "type": "string"
+ "statcast_pitch_arsenal_min_pitches": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "reason": {
- "example": "The requested StoreDeliveryProvider has not be enabled at this store",
- "type": "string"
+ "statcast_pitch_arsenal_pitch_aliases": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "serviceable": {
- "description": "Serviceable is true only when the upstream returned a real estimate.\nA false value with Reason populated covers every other case this\nfamily has seen live: the provider not enabled at this store\n(confirmed live for DOORDASH against a real INTERNAL-only store) or\nthe upstream delivery marketplace itself reporting an error --\nPizza Hut's schema represents these as distinct typed results, not\none boolean. See this type's own doc comment for a caveat about\nwhat Serviceable:true does and does not confirm for INTERNAL.",
- "example": true,
- "type": "boolean"
+ "statcast_pitch_arsenal_pitch_types": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "source_url": {
- "type": "string"
+ "statcast_pitch_arsenal_sort_directions": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "store_number": {
- "example": "040937",
- "type": "string"
- }
- },
- "type": "object"
- },
- "pizzahut.DeliveryFeeLine": {
- "properties": {
- "amount": {
- "$ref": "#/definitions/pizzahut.Money"
+ "statcast_pitch_arsenal_sort_fields": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "name": {
- "example": "Delivery fee",
- "type": "string"
+ "statcast_pitch_arsenal_types": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "type": {
- "example": "DELIVERY_FEE",
- "type": "string"
- }
- },
- "type": "object"
- },
- "pizzahut.DeliveryProvider": {
- "properties": {
- "enabled": {
- "example": true,
- "type": "boolean"
+ "statcast_pitch_arsenal_years": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "provider": {
- "example": "INTERNAL",
- "type": "string"
- }
- },
- "type": "object"
- },
- "pizzahut.MenuCategory": {
- "properties": {
- "category_code": {
- "example": "pizza",
- "type": "string"
+ "statcast_pitch_arsenals_hands": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "description": {
- "type": "string"
+ "statcast_pitch_arsenals_minimum_pitches": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "items": {
+ "statcast_pitch_arsenals_sort_directions": {
"items": {
- "$ref": "#/definitions/pizzahut.MenuItem"
+ "$ref": "#/definitions/mlb.EnumValue"
},
"type": "array"
},
- "name": {
- "example": "Pizza",
- "type": "string"
- }
- },
- "type": "object"
- },
- "pizzahut.MenuItem": {
- "properties": {
- "available": {
- "description": "Available is false when this item (or, for a product, every one of\nits variants at once) is currently blacked out -- a real,\nlive-confirmed \"temporarily unavailable\"/\"sold out\" signal (a\ndessert item was found blacked out at a real store, 2026-09-06),\ndistinct from an item genuinely being removed from the menu (which\nsimply would not appear here at all). Check a product's own\nVariants[].Available too -- a product itself can be orderable while\none specific size/style variant is blacked out, and vice versa.",
- "example": true,
- "type": "boolean"
+ "statcast_pitch_arsenals_sort_fields": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "code": {
- "example": "CLSS001P|PROD220P",
- "type": "string"
+ "statcast_pitch_arsenals_spin_cutoff_year": {
+ "type": "integer"
},
- "description": {
- "type": "string"
+ "statcast_pitch_arsenals_team_abbreviations": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "image_url": {
- "type": "string"
+ "statcast_pitch_arsenals_types": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "name": {
- "example": "Pepperoni Pizza",
- "type": "string"
+ "statcast_pitch_arsenals_years": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "price": {
- "$ref": "#/definitions/pizzahut.Money"
+ "statcast_pitch_movement_hands": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "type": {
- "example": "product",
- "type": "string"
+ "statcast_pitch_movement_minimums": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "variant_code": {
- "description": "VariantCode is the specific priced variant this item's Price\nreflects (present for type=product, whose price comes from its\ndefault variant).",
- "example": "variant_CLSS001_220P_SIZE060L_BASE020H",
- "type": "string"
+ "statcast_pitch_movement_sort_directions": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "variants": {
- "description": "Variants lists every other priced size/crust/style variant this\nproduct item offers beyond its default (type=product only). Empty\nwhen the product has no additional variants beyond the default, or\nfor bundle/variant items.",
+ "statcast_pitch_movement_sort_fields": {
"items": {
- "$ref": "#/definitions/pizzahut.MenuVariant"
+ "$ref": "#/definitions/mlb.EnumValue"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "pizzahut.MenuResponse": {
- "properties": {
- "categories": {
+ },
+ "statcast_pitch_movement_types": {
"items": {
- "$ref": "#/definitions/pizzahut.MenuCategory"
+ "$ref": "#/definitions/mlb.EnumValue"
},
"type": "array"
},
- "channel": {
- "example": "WEB",
- "type": "string"
+ "statcast_pitch_movement_years": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "currency": {
- "example": "USD",
- "type": "string"
+ "statcast_pitch_tempo_game_types": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "fetched_at": {
- "type": "string"
+ "statcast_pitch_tempo_minimum_pitches": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "item_count": {
- "description": "ItemCount counts only items reachable through Categories, matching\nthis field's original meaning -- it does not include\nUncategorizedItems.",
- "example": 120,
- "type": "integer"
+ "statcast_pitch_tempo_player_types": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "menu_id": {
- "example": "22590d80-9482-4f7b-9594-d7ba2885b928",
- "type": "string"
+ "statcast_pitch_tempo_sort_directions": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "source_url": {
- "type": "string"
+ "statcast_pitch_tempo_sort_fields": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "store_number": {
- "example": "040937",
- "type": "string"
+ "statcast_pitch_tempo_split_years": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "uncategorized_items": {
- "description": "UncategorizedItems lists real, separately-priced products and bundles\nthis restaurant's menu carries that are not linked to any category --\nconfirmed live 2026-09-06 (coverage-expansion round 2): Pizza Hut's\n`Menu.products`/`Menu.bundles` support a `categorized: false` filter,\nand at least one store sampled had 9 such products (e.g. a $0.99\n\"Ranch Dip Cup\", \"Garlic Dip Cup\") that Categories' own category walk\nnever surfaces at all -- a real gap in the prior category-walk-only\napproach, not a parser omission. A platform-wide placeholder product\nnamed \"Reserved\" (price $0.00) appears in this list at every store\nsampled; it is included as upstream returns it rather than filtered,\nsince this repo does not invent filtering heuristics without a\nconfirmed upstream signal to key on. Empty when every product/bundle\nis reachable through Categories (no uncategorized bundle has been\nobserved on any store sampled).",
+ "statcast_pitch_tempo_team_ids": {
"items": {
- "$ref": "#/definitions/pizzahut.MenuItem"
+ "$ref": "#/definitions/mlb.EnumValue"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "pizzahut.MenuVariant": {
- "properties": {
- "available": {
- "description": "Available is false when this specific variant is currently blacked\nout (temporarily unavailable) -- confirmed live 2026-09-06 that this\ngenuinely varies independently per variant, not just per product.",
- "example": true,
- "type": "boolean"
},
- "name": {
- "example": "Large Original Stuffed Crust® Pepperoni Pizza",
- "type": "string"
+ "statcast_pitch_tempo_types": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "price": {
- "$ref": "#/definitions/pizzahut.Money"
+ "statcast_pitch_tempo_with_team_only": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "variant_code": {
- "example": "variant_CLSS001_220P_SIZE060L_BASE431S",
- "type": "string"
- }
- },
- "type": "object"
- },
- "pizzahut.Modifier": {
- "properties": {
- "modifier_code": {
- "example": "CLSS001P|TOPP012P",
- "type": "string"
+ "statcast_pitch_tempo_years": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "name": {
- "example": "Pepperoni",
- "type": "string"
+ "statcast_pitch_timer_chart_sorts": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "weights": {
+ "statcast_pitch_timer_include_zeroes": {
"items": {
- "$ref": "#/definitions/pizzahut.ModifierWeight"
+ "$ref": "#/definitions/mlb.EnumValue"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "pizzahut.ModifierSlot": {
- "properties": {
- "max_allowed_selections": {
- "example": 5,
- "type": "integer"
},
- "min_allowed_selections": {
- "example": 0,
- "type": "integer"
+ "statcast_pitch_timer_minimum_pitches": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "modifiers": {
+ "statcast_pitch_timer_seasons": {
"items": {
- "$ref": "#/definitions/pizzahut.Modifier"
+ "$ref": "#/definitions/mlb.EnumValue"
},
"type": "array"
},
- "name": {
- "example": "Pizza Toppings",
- "type": "string"
+ "statcast_pitch_timer_sort_directions": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "slot_code": {
- "example": "slot_pizza_toppings",
- "type": "string"
- }
- },
- "type": "object"
- },
- "pizzahut.ModifierWeight": {
- "properties": {
- "modifier_weight_code": {
- "example": "CLSS001P|TOPP200XC",
- "type": "string"
+ "statcast_pitch_timer_sort_fields": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "name": {
- "example": "Extra Cheese",
- "type": "string"
+ "statcast_pitch_timer_types": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "price": {
- "$ref": "#/definitions/pizzahut.Money"
- }
- },
- "type": "object"
- },
- "pizzahut.ModifiersResponse": {
- "properties": {
- "channel": {
- "example": "WEB",
- "type": "string"
+ "statcast_player_detail_types": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "fetched_at": {
- "type": "string"
+ "statcast_positions": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "name": {
- "example": "Large Hand-Tossed Create Your Own 1-Top Pizza",
- "type": "string"
+ "statcast_rolling_metrics": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "price": {
- "$ref": "#/definitions/pizzahut.Money"
+ "statcast_rolling_roles": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "slot_count": {
- "example": 6,
- "type": "integer"
+ "statcast_rolling_window_pa_values": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "slots": {
+ "statcast_run_value_groups": {
"items": {
- "$ref": "#/definitions/pizzahut.ModifierSlot"
+ "$ref": "#/definitions/mlb.EnumValue"
},
"type": "array"
},
- "source_url": {
- "type": "string"
+ "statcast_run_value_leverages": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "store_number": {
- "example": "040937",
- "type": "string"
+ "statcast_run_value_minimums": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "variant_code": {
- "example": "variant_CLSS001_010BCYO1T_SIZE060L_BASE020H",
- "type": "string"
- }
- },
- "type": "object"
- },
- "pizzahut.Money": {
- "properties": {
- "amount": {
- "example": 20.99,
- "type": "number"
+ "statcast_run_value_sort_directions": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "amount_cents": {
- "example": 2099,
- "type": "integer"
+ "statcast_run_value_sort_fields": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "currency_code": {
- "example": "USD",
- "type": "string"
- }
- },
- "type": "object"
- },
- "pizzahut.OccasionHours": {
- "properties": {
- "allow_tip": {
- "example": true,
- "type": "boolean"
+ "statcast_run_value_subtypes": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "enabled": {
- "example": true,
- "type": "boolean"
+ "statcast_run_value_types": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "max_order_amount": {
- "$ref": "#/definitions/pizzahut.Money"
+ "statcast_run_value_years": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "min_order_amount": {
- "$ref": "#/definitions/pizzahut.Money"
+ "statcast_running_game_filters": {
+ "$ref": "#/definitions/mlb.StatcastRunningGameFilters"
},
- "occasion": {
- "example": "CARRYOUT",
- "type": "string"
+ "statcast_sort_directions": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "payment_types": {
+ "statcast_sort_fields": {
"items": {
- "$ref": "#/definitions/pizzahut.PaymentType"
+ "$ref": "#/definitions/mlb.EnumValue"
},
"type": "array"
},
- "windows": {
+ "statcast_sprint_speed_minimum_runs": {
"items": {
- "$ref": "#/definitions/pizzahut.TimeWindow"
+ "$ref": "#/definitions/mlb.EnumValue"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "pizzahut.PaymentType": {
- "properties": {
- "name": {
- "example": "APPLEPAY",
- "type": "string"
},
- "type": {
- "example": "CARD",
- "type": "string"
- }
- },
- "type": "object"
- },
- "pizzahut.Store": {
- "properties": {
- "accepting_online_orders": {
- "example": true,
- "type": "boolean"
+ "statcast_sprint_speed_positions": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "address": {
- "$ref": "#/definitions/pizzahut.Address"
+ "statcast_sprint_speed_seasons": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "archived": {
- "example": false,
- "type": "boolean"
+ "statcast_sprint_speed_sort_directions": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "delivery_providers": {
+ "statcast_sprint_speed_sort_fields": {
"items": {
- "$ref": "#/definitions/pizzahut.DeliveryProvider"
+ "$ref": "#/definitions/mlb.EnumValue"
},
"type": "array"
},
- "name": {
- "example": "040937",
- "type": "string"
+ "statcast_sprint_speed_team_abbreviations": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "store_number": {
- "example": "040937",
- "type": "string"
+ "statcast_sprint_speed_team_ids": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "timezone": {
- "example": "America/New_York",
- "type": "string"
- }
- },
- "type": "object"
- },
- "pizzahut.StoreResponse": {
- "properties": {
- "accepting_online_orders": {
- "example": true,
- "type": "boolean"
+ "statcast_sprint_speed_team_sort_fields": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "address": {
- "$ref": "#/definitions/pizzahut.Address"
+ "statcast_swing_path_game_types": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "archived": {
- "example": false,
- "type": "boolean"
+ "statcast_swing_path_sort_fields": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "delivery_providers": {
+ "statcast_swing_path_types": {
"items": {
- "$ref": "#/definitions/pizzahut.DeliveryProvider"
+ "$ref": "#/definitions/mlb.EnumValue"
},
"type": "array"
},
- "fetched_at": {
- "type": "string"
+ "statcast_swing_timing_flags": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "hours": {
- "description": "Hours is this restaurant's recurring open windows per order channel\n(occasion) -- CARRYOUT, DELIVERY, DINE_IN, DRIVE_THRU,\nCATERING_CARRYOUT -- plus each occasion's ordering constraints\n(minimum/maximum order amount, whether tipping is offered, accepted\npayment methods; see OccasionHours). A restaurant that does not offer\na given occasion at all omits it from this list. Every real store\nsampled during this family's builds only offers CARRYOUT and\nDELIVERY; DINE_IN/DRIVE_THRU/CATERING_CARRYOUT are schema-valid but\nhave not been observed live.",
+ "statcast_swing_timing_game_types": {
"items": {
- "$ref": "#/definitions/pizzahut.OccasionHours"
+ "$ref": "#/definitions/mlb.EnumValue"
},
"type": "array"
},
- "name": {
- "example": "040937",
- "type": "string"
+ "statcast_swing_timing_groups_x": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "source_url": {
- "type": "string"
+ "statcast_swing_timing_groups_y": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "store_number": {
- "example": "040937",
- "type": "string"
+ "statcast_swing_timing_groups_z": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "timezone": {
- "example": "America/New_York",
- "type": "string"
- }
- },
- "type": "object"
- },
- "pizzahut.StoresResponse": {
- "properties": {
- "count": {
- "example": 5,
- "type": "integer"
+ "statcast_swing_timing_sort_directions": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "fetched_at": {
- "type": "string"
+ "statcast_swing_timing_sort_fields": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "has_more": {
- "example": false,
- "type": "boolean"
+ "statcast_swing_timing_splits": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "source_url": {
- "type": "string"
+ "statcast_swing_timing_types": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "stores": {
+ "statcast_top_performers_years": {
"items": {
- "$ref": "#/definitions/pizzahut.Store"
+ "type": "integer"
},
"type": "array"
},
- "total_count": {
- "description": "TotalCount is how many restaurants matched upstream; it can exceed\nCount when more results exist than max_results asked for.",
- "example": 9,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "pizzahut.TimeWindow": {
- "properties": {
- "blackout": {
- "example": false,
- "type": "boolean"
+ "statcast_year_to_year_comparison_years": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "days": {
- "example": [
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7
- ],
+ "statcast_year_to_year_groups": {
"items": {
- "type": "integer"
+ "$ref": "#/definitions/mlb.EnumValue"
},
"type": "array"
},
- "duration": {
- "example": "16:00:00",
- "type": "string"
+ "statcast_year_to_year_sort_directions": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "start_time": {
- "example": "11:00:00",
- "type": "string"
+ "statcast_year_to_year_types": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "pizzahut.bundleChoicesResponseDoc": {
+ "mlb.NamedRef": {
"properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "id": {
+ "description": "MLB id of the player or league.",
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/pizzahut.BundleChoicesResponse"
- },
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "name": {
+ "description": "Name of the player or league.",
+ "type": "string"
}
},
"type": "object"
},
- "pizzahut.deliveryEstimateResponseDoc": {
+ "mlb.NavigationItem": {
"properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
+ "children": {
+ "items": {
+ "$ref": "#/definitions/mlb.NavigationItem"
+ },
+ "type": "array"
},
- "data": {
- "$ref": "#/definitions/pizzahut.DeliveryEstimateResponse"
+ "label": {
+ "type": "string"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "url": {
+ "type": "string"
+ },
+ "visible": {
+ "type": "boolean"
}
},
"type": "object"
},
- "pizzahut.menuResponseDoc": {
+ "mlb.Play": {
"properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "at_bat_index": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/pizzahut.MenuResponse"
+ "batter": {
+ "$ref": "#/definitions/mlb.NamedRef"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
- }
- },
- "type": "object"
- },
- "pizzahut.modifiersResponseDoc": {
- "properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "description": {
+ "type": "string"
+ },
+ "event": {
+ "type": "string"
+ },
+ "event_type": {
+ "type": "string"
+ },
+ "events": {
+ "items": {
+ "$ref": "#/definitions/mlb.PlayEvent"
+ },
+ "type": "array"
+ },
+ "half_inning": {
+ "type": "string"
+ },
+ "inning": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/pizzahut.ModifiersResponse"
+ "is_complete": {
+ "type": "boolean"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "pitcher": {
+ "$ref": "#/definitions/mlb.NamedRef"
}
},
"type": "object"
},
- "pizzahut.storeResponseDoc": {
+ "mlb.PlayByPlayResponse": {
"properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "fetched_at": {
+ "type": "string"
+ },
+ "game_id": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/pizzahut.StoreResponse"
+ "plays": {
+ "items": {
+ "$ref": "#/definitions/mlb.Play"
+ },
+ "type": "array"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "source_url": {
+ "type": "string"
+ },
+ "total": {
+ "type": "integer"
}
},
"type": "object"
},
- "pizzahut.storesResponseDoc": {
+ "mlb.PlayEvent": {
"properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "description": {
+ "type": "string"
+ },
+ "details": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "end_time": {
+ "type": "string"
+ },
+ "index": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/pizzahut.StoresResponse"
+ "is_pitch": {
+ "type": "boolean"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "pitch_data": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "pitch_number": {
+ "type": "integer"
+ },
+ "start_time": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
}
},
"type": "object"
},
- "playstation.AddOn": {
+ "mlb.Player": {
"properties": {
- "classification": {
- "description": "Store classification of the add-on, for example `ADD_ON_PACK`.",
+ "active": {
+ "type": "boolean"
+ },
+ "bat_side": {
"type": "string"
},
- "name": {
- "description": "Add-on name as shown on the PlayStation Store.",
+ "birth_city": {
"type": "string"
},
- "price": {
- "allOf": [
- {
- "$ref": "#/definitions/playstation.DetailPrice"
- }
- ],
- "description": "Purchase price of the add-on."
+ "birth_country": {
+ "type": "string"
},
- "product_id": {
- "description": "PlayStation Store product id of the add-on. Use it with the product endpoint.",
+ "birth_date": {
+ "type": "string"
+ },
+ "current_age": {
+ "type": "integer"
+ },
+ "current_team": {
+ "$ref": "#/definitions/mlb.TeamRef"
+ },
+ "full_name": {
+ "type": "string"
+ },
+ "height": {
+ "type": "string"
+ },
+ "id": {
+ "type": "integer"
+ },
+ "mlb_debut_date": {
+ "type": "string"
+ },
+ "pitch_hand": {
+ "type": "string"
+ },
+ "position": {
+ "type": "string"
+ },
+ "position_code": {
+ "type": "string"
+ },
+ "primary_number": {
"type": "string"
+ },
+ "weight": {
+ "type": "integer"
}
},
"type": "object"
},
- "playstation.CollectionLink": {
+ "mlb.PlayerResponse": {
"properties": {
- "category_id": {
+ "fetched_at": {
"type": "string"
},
- "link_type": {
- "type": "string"
+ "player": {
+ "$ref": "#/definitions/mlb.Player"
},
- "name": {
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "playstation.ConceptDetail": {
+ "mlb.PlayerSuggestion": {
"properties": {
- "add_ons": {
- "description": "Downloadable add-ons, such as expansions or in-game currency, sold for the title.",
- "items": {
- "$ref": "#/definitions/playstation.AddOn"
- },
- "type": "array"
- },
- "content_rating": {
- "allOf": [
- {
- "$ref": "#/definitions/playstation.ContentRating"
- }
- ],
- "description": "Age rating of the title."
+ "active": {
+ "type": "boolean"
},
- "default_product_id": {
- "description": "Product id of the title's default edition. Use it with the product endpoint.",
+ "boxscore_name": {
"type": "string"
},
- "description": {
- "description": "Long description of the title from its PlayStation Store page.",
+ "display_name": {
"type": "string"
},
- "editions": {
- "description": "Purchasable game editions and bundles of the title.",
- "items": {
- "$ref": "#/definitions/playstation.Edition"
- },
- "type": "array"
- },
- "genres": {
- "description": "Genre names the title is filed under.",
+ "headshots": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/mlb.ImageRef"
},
"type": "array"
},
"id": {
- "description": "PlayStation Store concept id, which groups every edition and add-on of a title.",
- "type": "string"
- },
- "invariant_name": {
- "description": "Language-independent name of the title.",
- "type": "string"
- },
- "media": {
- "description": "Images and videos shown on the title's store page.",
- "items": {
- "$ref": "#/definitions/playstation.Media"
- },
- "type": "array"
+ "type": "integer"
},
"name": {
- "description": "Title name as shown on the PlayStation Store.",
"type": "string"
},
- "platforms": {
- "description": "PlayStation platforms the title is available on, for example `PS4` or `PS5`.",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "price": {
- "allOf": [
- {
- "$ref": "#/definitions/playstation.DetailPrice"
- }
- ],
- "description": "Purchase price of the title's default edition."
+ "team_id": {
+ "type": "integer"
},
- "publisher": {
- "description": "Publisher of the title.",
+ "team_tri_code": {
"type": "string"
},
- "release_date": {
- "description": "Release date of the title, in ISO 8601.",
+ "use_last_name": {
"type": "string"
},
- "source_url": {
- "description": "PlayStation Store page the data was read from.",
+ "use_name": {
"type": "string"
- },
- "star_rating": {
- "allOf": [
- {
- "$ref": "#/definitions/playstation.StarRating"
- }
- ],
- "description": "Aggregate user rating of the title."
}
},
"type": "object"
},
- "playstation.ConceptReview": {
+ "mlb.ProspectRanking": {
"properties": {
- "author": {
- "$ref": "#/definitions/playstation.ReviewAuthor"
- },
- "comment": {
+ "affiliate": {
"type": "string"
},
- "edition_name": {
- "type": "string"
+ "affiliate_id": {
+ "type": "integer"
},
- "helpful_count": {
+ "age": {
"type": "integer"
},
- "id": {
+ "bats": {
"type": "string"
},
- "is_spoiler": {
- "type": "boolean"
+ "birth_city": {
+ "type": "string"
},
- "last_updated": {
+ "birth_country": {
"type": "string"
},
- "product_name": {
+ "birth_date": {
"type": "string"
},
- "rating": {
+ "college": {
+ "type": "string"
+ },
+ "draft_pick": {
"type": "integer"
},
- "title": {
+ "draft_round": {
"type": "string"
- }
- },
- "type": "object"
- },
- "playstation.ConceptReviewsResponse": {
- "properties": {
- "concept_id": {
+ },
+ "draft_year": {
+ "type": "integer"
+ },
+ "eta": {
"type": "string"
},
- "has_next_page": {
- "type": "boolean"
+ "headshot_url": {
+ "type": "string"
},
- "name": {
+ "height": {
"type": "string"
},
- "page": {
- "type": "integer"
+ "level": {
+ "type": "string"
},
- "page_size": {
- "type": "integer"
+ "name": {
+ "type": "string"
},
- "rating": {
+ "player_id": {
"type": "integer"
},
- "returned": {
+ "position": {
+ "type": "string"
+ },
+ "rank": {
"type": "integer"
},
- "reviews": {
- "items": {
- "$ref": "#/definitions/playstation.ConceptReview"
- },
- "type": "array"
+ "school": {
+ "type": "string"
},
- "sort": {
+ "slug": {
"type": "string"
},
- "source_url": {
+ "team": {
"type": "string"
},
- "star_rating": {
- "$ref": "#/definitions/playstation.StarRating"
+ "team_id": {
+ "type": "integer"
},
- "total_count": {
+ "throws": {
+ "type": "string"
+ },
+ "weight": {
"type": "integer"
}
},
"type": "object"
},
- "playstation.ContentRating": {
+ "mlb.ProspectRankingsResponse": {
"properties": {
- "authority": {
- "description": "Rating board that issued the rating, for example `ESRB`.",
- "type": "string"
+ "count": {
+ "type": "integer"
},
- "description": {
- "description": "Rating label in plain words, for example `ESRB Mature 17+`.",
+ "fetched_at": {
"type": "string"
},
- "descriptors": {
- "description": "Descriptors are the human-readable content/interactivity disclosures the\nrating carries (e.g. \"Blood\", \"Violence\", \"In-Game Purchases\", \"Users\nInteract\"), merged from the store's descriptors + interactiveElements lists.",
+ "limit": {
+ "type": "integer"
+ },
+ "offset": {
+ "type": "integer"
+ },
+ "players": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/mlb.ProspectRanking"
},
"type": "array"
},
- "name": {
- "description": "Rating identifier as the store gives it, for example `ESRB_MATURE_17`.",
+ "position": {
"type": "string"
},
- "url": {
- "description": "URL of the rating board's page for this rating.",
+ "query": {
"type": "string"
+ },
+ "sort": {
+ "type": "string"
+ },
+ "sort_dir": {
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "team_slug": {
+ "type": "string"
+ },
+ "total": {
+ "type": "integer"
+ },
+ "view": {
+ "type": "string"
+ },
+ "year": {
+ "type": "integer"
}
},
"type": "object"
},
- "playstation.DetailPrice": {
+ "mlb.ProspectStat": {
"properties": {
- "applicability": {
- "description": "How the price applies, for example `OUTRIGHT` for a one-time purchase.",
- "type": "string"
+ "age": {
+ "type": "integer"
},
- "base_price": {
- "description": "Regular price as a formatted string, for example `$59.99`.",
+ "average": {
"type": "string"
},
- "base_price_value": {
- "description": "Regular price in the smallest currency unit, for example cents for USD.",
+ "batting_stats": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "blown_saves": {
"type": "integer"
},
- "currency_code": {
- "description": "Currency code of the price, for example `USD`.",
+ "era": {
"type": "string"
},
- "discount_text": {
- "description": "Discount label shown on the store, for example `-67%`.",
- "type": "string"
+ "holds": {
+ "type": "integer"
},
- "discounted_price": {
- "description": "Current price after discount as a formatted string.",
+ "losses": {
+ "type": "integer"
+ },
+ "name": {
"type": "string"
},
- "discounted_value": {
- "description": "Current price after discount in the smallest currency unit, for example cents for USD.",
+ "pitching_stats": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "player_id": {
"type": "integer"
},
- "end_time": {
- "description": "Time the offer ends, as the store gives it.",
+ "position": {
"type": "string"
},
- "is_exclusive": {
- "description": "Whether the store marks the price as exclusive to a membership.",
- "type": "boolean"
+ "rank": {
+ "type": "integer"
},
- "is_free": {
- "description": "Whether the item is free.",
- "type": "boolean"
+ "saves": {
+ "type": "integer"
},
- "is_tied_to_subscription": {
- "description": "Whether the store marks the price as tied to a subscription.",
- "type": "boolean"
+ "slug": {
+ "type": "string"
},
- "service_branding": {
- "description": "Names of the PlayStation services the price is tied to.",
- "items": {
- "type": "string"
- },
- "type": "array"
+ "team": {
+ "type": "string"
},
- "upsell_text": {
- "description": "Promotional text the store shows next to the price.",
+ "team_id": {
+ "type": "integer"
+ },
+ "team_level": {
"type": "string"
+ },
+ "wins": {
+ "type": "integer"
}
},
"type": "object"
},
- "playstation.Edition": {
+ "mlb.ProspectStatsResponse": {
"properties": {
- "classification": {
- "description": "Store classification of the edition, for example `FULL_GAME`.",
+ "count": {
+ "type": "integer"
+ },
+ "date_range": {
"type": "string"
},
- "name": {
- "description": "Edition name as shown on the PlayStation Store.",
+ "fetched_at": {
"type": "string"
},
- "platforms": {
- "description": "PlayStation platforms the edition is available on.",
+ "limit": {
+ "type": "integer"
+ },
+ "list_type": {
+ "type": "string"
+ },
+ "min_pa": {
+ "type": "integer"
+ },
+ "offset": {
+ "type": "integer"
+ },
+ "player_type": {
+ "type": "string"
+ },
+ "players": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/mlb.ProspectStat"
},
"type": "array"
},
- "price": {
- "allOf": [
- {
- "$ref": "#/definitions/playstation.DetailPrice"
- }
- ],
- "description": "Purchase price of the edition."
+ "position": {
+ "type": "string"
},
- "product_id": {
- "description": "PlayStation Store product id of the edition. Use it with the product endpoint.",
+ "query": {
+ "type": "string"
+ },
+ "source_url": {
"type": "string"
+ },
+ "team_id": {
+ "type": "integer"
+ },
+ "total": {
+ "type": "integer"
}
},
"type": "object"
},
- "playstation.Facet": {
+ "mlb.Record": {
"properties": {
- "display_name": {
- "description": "Filter name as shown on the store, for example `Price`.",
- "type": "string"
+ "losses": {
+ "type": "integer"
},
- "name": {
- "description": "Filter key, for example `webBasePrice`.",
+ "pct": {
"type": "string"
},
- "values": {
- "description": "Selectable values of the filter.",
- "items": {
- "$ref": "#/definitions/playstation.FacetValue"
- },
- "type": "array"
+ "wins": {
+ "type": "integer"
}
},
"type": "object"
},
- "playstation.FacetValue": {
+ "mlb.RosterPlayer": {
"properties": {
- "count": {
- "description": "Number of items matching this filter value.",
- "type": "integer"
+ "jersey_number": {
+ "type": "string"
},
- "display_name": {
- "description": "Filter value as shown on the store, for example `Free`.",
+ "person": {
+ "$ref": "#/definitions/mlb.NamedRef"
+ },
+ "position": {
"type": "string"
},
- "key": {
- "description": "Value to select this filter option, for example `0-0`.",
+ "position_code": {
+ "type": "string"
+ },
+ "status": {
"type": "string"
}
},
"type": "object"
},
- "playstation.GridResponse": {
+ "mlb.RosterResponse": {
"properties": {
"count": {
- "description": "Number of items returned on this page.",
"type": "integer"
},
- "facets": {
- "description": "Filters available for the grid, each with its values and counts.",
- "items": {
- "$ref": "#/definitions/playstation.Facet"
- },
- "type": "array"
- },
- "id": {
- "description": "PlayStation Store category id of the grid.",
+ "fetched_at": {
"type": "string"
},
- "items": {
- "description": "Items on this page of the grid.",
+ "players": {
"items": {
- "$ref": "#/definitions/playstation.StoreItem"
+ "$ref": "#/definitions/mlb.RosterPlayer"
},
"type": "array"
},
- "name": {
- "description": "Category name as shown on the store, for example `All games`.",
+ "roster_type": {
"type": "string"
},
- "next_page": {
- "description": "Number of the next page. Omitted on the last page.",
+ "season": {
"type": "integer"
},
- "page_info": {
- "allOf": [
- {
- "$ref": "#/definitions/playstation.PageInfo"
- }
- ],
- "description": "Pagination details of the grid."
- },
"source_url": {
- "description": "PlayStation Store page the data was read from.",
"type": "string"
+ },
+ "team_id": {
+ "type": "integer"
}
},
"type": "object"
},
- "playstation.ListPrice": {
+ "mlb.ScheduleResponse": {
"properties": {
- "base_price": {
- "description": "Regular price as a formatted string, for example `$19.99`.",
+ "date": {
"type": "string"
},
- "discount_text": {
- "description": "Discount label shown on the store, for example `-50%`.",
+ "end_date": {
"type": "string"
},
- "discounted_price": {
- "description": "Current price after discount as a formatted string.",
+ "fetched_at": {
"type": "string"
},
- "is_exclusive": {
- "description": "Whether the store marks the price as exclusive to a membership.",
- "type": "boolean"
- },
- "is_free": {
- "description": "Whether the item is free.",
- "type": "boolean"
- },
- "is_tied_to_subscription": {
- "description": "Whether the store marks the price as tied to a subscription.",
- "type": "boolean"
- },
- "service_branding": {
- "description": "Names of the PlayStation services the price is tied to.",
+ "games": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/mlb.GameSummary"
},
"type": "array"
},
- "upsell_service_branding": {
- "description": "Names of the PlayStation services the upsell offer refers to.",
- "items": {
- "type": "string"
- },
- "type": "array"
+ "source_url": {
+ "type": "string"
},
- "upsell_text": {
- "description": "Promotional text the store shows next to the price.",
+ "start_date": {
"type": "string"
+ },
+ "team_id": {
+ "type": "integer"
+ },
+ "total_games": {
+ "type": "integer"
}
},
"type": "object"
},
- "playstation.Media": {
+ "mlb.SearchResponse": {
"properties": {
- "role": {
- "description": "Role of the asset on the store page, as the store labels it.",
+ "fetched_at": {
"type": "string"
},
- "type": {
- "description": "Kind of asset, such as an image or a video.",
- "type": "string"
+ "players": {
+ "items": {
+ "$ref": "#/definitions/mlb.PlayerSuggestion"
+ },
+ "type": "array"
},
- "url": {
- "description": "URL of the image or video.",
+ "query": {
"type": "string"
- }
- },
- "type": "object"
- },
- "playstation.MerchResponse": {
- "properties": {
- "collections": {
+ },
+ "search_terms": {
"items": {
- "$ref": "#/definitions/playstation.CollectionLink"
+ "$ref": "#/definitions/mlb.TermSuggestion"
},
"type": "array"
},
- "count": {
- "type": "integer"
+ "source_url": {
+ "type": "string"
},
- "items": {
+ "teams": {
"items": {
- "$ref": "#/definitions/playstation.StoreItem"
+ "$ref": "#/definitions/mlb.TeamSuggestion"
},
"type": "array"
},
- "sections": {
+ "topics": {
"items": {
- "$ref": "#/definitions/playstation.Section"
+ "$ref": "#/definitions/mlb.TopicSuggestion"
},
"type": "array"
- },
- "source_url": {
- "type": "string"
}
},
"type": "object"
},
- "playstation.PageInfo": {
+ "mlb.StandingsGroup": {
"properties": {
- "is_last": {
- "description": "Whether this is the last page of results.",
- "type": "boolean"
+ "division": {
+ "$ref": "#/definitions/mlb.NamedRef"
},
- "offset": {
- "description": "Position of the first item on this page within all results.",
- "type": "integer"
+ "league": {
+ "$ref": "#/definitions/mlb.NamedRef"
},
- "size": {
- "description": "Number of items per page.",
- "type": "integer"
+ "teams": {
+ "items": {
+ "$ref": "#/definitions/mlb.StandingsTeam"
+ },
+ "type": "array"
},
- "total_count": {
- "description": "Total number of results across all pages.",
- "type": "integer"
+ "type": {
+ "type": "string"
}
},
"type": "object"
},
- "playstation.ProductDetail": {
+ "mlb.StandingsResponse": {
"properties": {
- "classification": {
- "type": "string"
- },
- "concept_id": {
+ "date": {
"type": "string"
},
- "content_rating": {
- "$ref": "#/definitions/playstation.ContentRating"
- },
- "edition_name": {
+ "fetched_at": {
"type": "string"
},
- "genres": {
+ "groups": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/mlb.StandingsGroup"
},
"type": "array"
},
- "id": {
- "type": "string"
- },
- "media": {
- "items": {
- "$ref": "#/definitions/playstation.Media"
- },
- "type": "array"
+ "season": {
+ "type": "integer"
},
- "name": {
+ "source_url": {
"type": "string"
},
- "np_title_id": {
+ "type": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "mlb.StandingsTeam": {
+ "properties": {
+ "away_record": {
+ "$ref": "#/definitions/mlb.Record"
},
- "platforms": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "clinched": {
+ "type": "boolean"
},
- "price": {
- "$ref": "#/definitions/playstation.DetailPrice"
+ "division_leader": {
+ "type": "boolean"
},
- "publisher": {
+ "division_rank": {
"type": "string"
},
- "release_date": {
+ "elimination_number": {
"type": "string"
},
- "screen_languages": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "expected_record": {
+ "$ref": "#/definitions/mlb.Record"
},
- "source_url": {
+ "games_back": {
"type": "string"
},
- "spoken_languages": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "games_played": {
+ "type": "integer"
},
- "star_rating": {
- "$ref": "#/definitions/playstation.StarRating"
+ "home_record": {
+ "$ref": "#/definitions/mlb.Record"
},
- "type": {
+ "last_ten_record": {
+ "$ref": "#/definitions/mlb.Record"
+ },
+ "league_rank": {
"type": "string"
- }
- },
- "type": "object"
- },
- "playstation.ReviewAuthor": {
- "properties": {
- "avatar_url": {
+ },
+ "losses": {
+ "type": "integer"
+ },
+ "magic_number": {
"type": "string"
},
- "is_officially_verified": {
- "type": "boolean"
+ "run_differential": {
+ "type": "integer"
},
- "is_ps_plus_subscriber": {
- "type": "boolean"
+ "runs_allowed": {
+ "type": "integer"
},
- "online_id": {
+ "runs_scored": {
+ "type": "integer"
+ },
+ "streak": {
+ "type": "string"
+ },
+ "team": {
+ "$ref": "#/definitions/mlb.TeamRef"
+ },
+ "wild_card_games_back": {
"type": "string"
+ },
+ "winning_percentage": {
+ "type": "string"
+ },
+ "wins": {
+ "type": "integer"
}
},
"type": "object"
},
- "playstation.SearchResponse": {
+ "mlb.StatSplit": {
"properties": {
- "count": {
- "description": "Number of items returned on this page.",
- "type": "integer"
- },
- "items": {
- "description": "Search results on this page.",
- "items": {
- "$ref": "#/definitions/playstation.StoreItem"
- },
- "type": "array"
- },
- "next_page": {
- "description": "Number of the next page. Omitted on the last page.",
- "type": "integer"
+ "league": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/mlb.NamedRef"
+ }
+ ],
+ "description": "League the row belongs to. Omitted when MLB gives none."
},
- "page_info": {
+ "player": {
"allOf": [
{
- "$ref": "#/definitions/playstation.PageInfo"
+ "$ref": "#/definitions/mlb.NamedRef"
}
],
- "description": "Pagination details of the results."
+ "description": "Player the row belongs to. Omitted when MLB gives none."
},
- "source_url": {
- "description": "PlayStation Store page the data was read from.",
+ "position": {
+ "description": "Position name as MLB lists it. Omitted when MLB gives none.",
"type": "string"
},
- "term": {
- "description": "Search term that was run.",
+ "rank": {
+ "description": "Position of the row in the ranking. Omitted when the table is not ranked.",
+ "type": "integer"
+ },
+ "season": {
+ "description": "Season the row covers, as a year. Omitted for rows that are not tied to one season.",
"type": "string"
+ },
+ "stats": {
+ "additionalProperties": {},
+ "description": "Statistics for the row, as named values such as `homeRuns`. The set of stats depends on `group` and `type`.",
+ "type": "object"
+ },
+ "team": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/mlb.TeamRef"
+ }
+ ],
+ "description": "Team the row belongs to. Omitted when MLB gives none."
}
},
"type": "object"
},
- "playstation.Section": {
+ "mlb.StatcastABSChallengeFilters": {
"properties": {
- "count": {
- "type": "integer"
+ "ball_strike": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "id": {
- "type": "string"
+ "breakeven": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "items": {
+ "challenge_types": {
"items": {
- "$ref": "#/definitions/playstation.StoreItem"
+ "$ref": "#/definitions/mlb.EnumValue"
},
"type": "array"
},
- "name": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "playstation.StarRating": {
- "properties": {
- "average": {
- "description": "Average user rating out of 5.",
- "type": "number"
+ "data_counts": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "count": {
- "description": "Number of user ratings.",
- "type": "integer"
+ "data_modes": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "distribution": {
- "description": "Share of ratings at each star value, from 1 to 5.",
+ "game_types": {
"items": {
- "$ref": "#/definitions/playstation.StarRatingCount"
+ "$ref": "#/definitions/mlb.EnumValue"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "playstation.StarRatingCount": {
- "properties": {
- "percent": {
- "description": "Percentage of ratings that gave this star value.",
- "type": "integer"
},
- "stars": {
- "description": "Star value, from 1 to 5.",
- "type": "integer"
+ "levels": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
+ },
+ "leverage": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
+ },
+ "minimum_challenges": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
+ },
+ "pitch_types": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
+ },
+ "seasons": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
+ },
+ "shadow_zones": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
+ },
+ "split_year": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
+ },
+ "splits": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
+ },
+ "team_ids": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "playstation.StoreItem": {
+ "mlb.StatcastABSChallengesOption": {
"properties": {
- "classification": {
- "description": "Store classification of the item, for example `FULL_GAME`.",
- "type": "string"
- },
- "id": {
- "description": "PlayStation Store id of the item. Use it with the concept endpoint when `kind` is `concept`, or with the product endpoint when it is `product`.",
+ "ball_strike": {
"type": "string"
},
- "kind": {
- "description": "Type of store entry: `concept` or `product`.",
+ "breakeven": {
"type": "string"
},
- "media": {
- "description": "Images and videos for the item.",
+ "challenge_team_ids": {
"items": {
- "$ref": "#/definitions/playstation.Media"
+ "type": "string"
},
"type": "array"
},
- "name": {
- "description": "Item name as shown on the PlayStation Store.",
+ "challenge_type": {
"type": "string"
},
- "np_title_id": {
- "description": "PlayStation title id of the item, for example `CUSA07408_00`.",
+ "data_count": {
"type": "string"
},
- "platforms": {
- "description": "PlayStation platforms the item is available on.",
+ "data_mode": {
+ "type": "string"
+ },
+ "game_types": {
"items": {
"type": "string"
},
"type": "array"
},
- "price": {
- "allOf": [
- {
- "$ref": "#/definitions/playstation.ListPrice"
- }
- ],
- "description": "Price of the item."
- }
- },
- "type": "object"
- },
- "playstation.SuggestItem": {
- "properties": {
- "classification": {
+ "level": {
"type": "string"
},
- "id": {
+ "leverage": {
"type": "string"
},
- "image": {
- "$ref": "#/definitions/playstation.Media"
+ "min_challenges": {
+ "type": "string"
},
- "name": {
+ "min_opponent_challenges": {
"type": "string"
},
- "platforms": {
+ "opponent_team_ids": {
"items": {
"type": "string"
},
"type": "array"
},
- "price": {
- "$ref": "#/definitions/playstation.SuggestPrice"
+ "pitch_types": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "publisher": {
- "type": "string"
+ "seasons": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "release_date": {
- "type": "string"
+ "shadow_zones": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "short_name": {
+ "split_year": {
"type": "string"
},
- "store_url": {
- "type": "string"
+ "splits": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "playstation.SuggestPrice": {
+ "mlb.StatcastABSChallengesResponse": {
"properties": {
- "display": {
+ "board": {
"type": "string"
},
- "value": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "playstation.SuggestResponse": {
- "properties": {
- "cc": {
+ "fetched_at": {
"type": "string"
},
- "items": {
+ "filters": {
+ "$ref": "#/definitions/mlb.StatcastABSChallengesOption"
+ },
+ "rows": {
"items": {
- "$ref": "#/definitions/playstation.SuggestItem"
+ "additionalProperties": {},
+ "type": "object"
},
"type": "array"
},
- "l": {
- "type": "string"
- },
"source_url": {
"type": "string"
},
- "term": {
- "type": "string"
- },
"total": {
"type": "integer"
}
},
"type": "object"
},
- "playstation.conceptResponseDoc": {
+ "mlb.StatcastArmStrengthPlayerResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "fetched_at": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/playstation.ConceptDetail"
+ "player_id": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "source_url": {
"type": "string"
- }
- },
- "type": "object"
- },
- "playstation.conceptReviewsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/playstation.ConceptReviewsResponse"
+ "throws": {
+ "items": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
- "type": "string"
- }
- },
- "type": "object"
- },
- "playstation.gridResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ "total": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/playstation.GridResponse"
- },
- "msg": {
- "example": "OK",
+ "year": {
"type": "string"
}
},
"type": "object"
},
- "playstation.merchResponseDoc": {
+ "mlb.StatcastArmStrengthResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "board": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/playstation.MerchResponse"
+ "fetched_at": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "limit": {
+ "type": "integer"
+ },
+ "min_throws": {
"type": "string"
- }
- },
- "type": "object"
- },
- "playstation.productResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ },
+ "offset": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/playstation.ProductDetail"
+ "position": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "rows": {
+ "items": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "sort": {
"type": "string"
- }
- },
- "type": "object"
- },
- "playstation.searchResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/playstation.SearchResponse"
+ "sort_dir": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "source_url": {
"type": "string"
- }
- },
- "type": "object"
- },
- "playstation.suggestResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ },
+ "team_id": {
+ "type": "string"
+ },
+ "total": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/playstation.SuggestResponse"
+ "type": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "year": {
"type": "string"
}
},
"type": "object"
},
- "politico.ArticleResponse": {
+ "mlb.StatcastArmValueDetailsResponse": {
"properties": {
- "authors": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "description": {
+ "entity_id": {
"type": "string"
},
- "image_url": {
+ "fetched_at": {
"type": "string"
},
- "paragraphs": {
+ "plays": {
"items": {
- "type": "string"
+ "additionalProperties": {},
+ "type": "object"
},
"type": "array"
},
- "published_at": {
- "type": "string"
- },
- "title": {
+ "source_url": {
"type": "string"
},
- "updated_at": {
- "type": "string"
+ "total": {
+ "type": "integer"
},
- "url": {
+ "type": {
"type": "string"
}
},
"type": "object"
},
- "politico.AuthorArticle": {
+ "mlb.StatcastArmValueResponse": {
"properties": {
- "published_at": {
+ "board": {
"type": "string"
},
- "title": {
+ "end_year": {
+ "type": "integer"
+ },
+ "fetched_at": {
"type": "string"
},
- "url": {
+ "game_type": {
"type": "string"
- }
- },
- "type": "object"
- },
- "politico.AuthorResponse": {
- "properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/politico.AuthorArticle"
- },
- "type": "array"
},
- "bio": {
+ "key_base_out": {
"type": "string"
},
- "image_url": {
+ "limit": {
+ "type": "integer"
+ },
+ "minimum_opps": {
"type": "string"
},
- "job_title": {
+ "offset": {
+ "type": "integer"
+ },
+ "q": {
"type": "string"
},
- "name": {
+ "rows": {
+ "items": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "sort": {
"type": "string"
},
- "slug": {
+ "sort_dir": {
"type": "string"
},
- "url": {
+ "source_url": {
"type": "string"
- }
- },
- "type": "object"
- },
- "politico.CategoriesResponse": {
- "properties": {
- "groups": {
- "items": {
- "$ref": "#/definitions/politico.CategoryGroup"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "politico.Category": {
- "properties": {
- "name": {
+ },
+ "split": {
"type": "string"
},
- "slug": {
+ "start_year": {
+ "type": "integer"
+ },
+ "team_id": {
"type": "string"
+ },
+ "total": {
+ "type": "integer"
+ },
+ "type": {
+ "type": "string"
+ },
+ "with_team_only": {
+ "type": "boolean"
}
},
"type": "object"
},
- "politico.CategoryGroup": {
+ "mlb.StatcastBaserunningFilters": {
"properties": {
- "name": {
- "type": "string"
+ "boards": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "sections": {
+ "game_types": {
"items": {
- "$ref": "#/definitions/politico.Category"
+ "$ref": "#/definitions/mlb.EnumValue"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "politico.HeadlineItem": {
- "properties": {
- "author": {
- "type": "string"
},
- "published_at": {
- "type": "string"
+ "groups": {
+ "additionalProperties": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
+ },
+ "type": "object"
},
- "summary": {
- "type": "string"
+ "key_base_outs": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "title": {
- "type": "string"
+ "minimums": {
+ "additionalProperties": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
+ },
+ "type": "object"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "politico.HeadlinesResponse": {
- "properties": {
- "items": {
+ "pitch_hands": {
"items": {
- "$ref": "#/definitions/politico.HeadlineItem"
+ "$ref": "#/definitions/mlb.EnumValue"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "politico.TopicItem": {
- "properties": {
- "authors": {
+ },
+ "prior_pickoffs": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/mlb.EnumValue"
},
"type": "array"
},
- "published_at": {
- "type": "string"
+ "runner_moved": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "title": {
- "type": "string"
+ "seasons": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "politico.TopicResponse": {
- "properties": {
- "items": {
+ "sort_directions": {
"items": {
- "$ref": "#/definitions/politico.TopicItem"
+ "$ref": "#/definitions/mlb.EnumValue"
},
"type": "array"
},
- "topic": {
- "type": "string"
+ "sort_fields": {
+ "additionalProperties": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
+ },
+ "type": "object"
+ },
+ "splits": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
+ },
+ "target_bases": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
+ },
+ "teams": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "politico.articleResponseDoc": {
+ "mlb.StatcastBaserunningOption": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "board": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/politico.ArticleResponse"
+ "game_type": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "key_base_out": {
"type": "string"
- }
- },
- "type": "object"
- },
- "politico.authorResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/politico.AuthorResponse"
+ "limit": {
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "n": {
"type": "string"
- }
- },
- "type": "object"
- },
- "politico.categoriesResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ },
+ "offset": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/politico.CategoriesResponse"
+ "pitch_hand": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "prior_pk": {
"type": "string"
- }
- },
- "type": "object"
- },
- "politico.headlinesResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/politico.HeadlinesResponse"
+ "runner_moved": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "search": {
"type": "string"
- }
- },
- "type": "object"
- },
- "politico.topicResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ },
+ "season_end": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/politico.TopicResponse"
+ "season_start": {
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "sort": {
"type": "string"
- }
- },
- "type": "object"
- },
- "polygon.AuthorResponse": {
- "properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/newsplatform.HeadlineItem"
- },
- "type": "array"
},
- "biography": {
+ "sort_dir": {
"type": "string"
},
- "image_url": {
+ "split": {
"type": "string"
},
- "name": {
+ "target_base": {
"type": "string"
},
- "social_links": {
- "items": {
- "$ref": "#/definitions/polygon.AuthorSocialLink"
- },
- "type": "array"
- },
- "title": {
+ "team": {
"type": "string"
},
- "url": {
+ "type": {
"type": "string"
+ },
+ "with_team_only": {
+ "type": "boolean"
}
},
"type": "object"
},
- "polygon.AuthorSocialLink": {
+ "mlb.StatcastBaserunningResponse": {
"properties": {
- "type": {
+ "board": {
"type": "string"
},
- "url": {
+ "fetched_at": {
+ "type": "string"
+ },
+ "filters": {
+ "$ref": "#/definitions/mlb.StatcastBaserunningOption"
+ },
+ "limit": {
+ "type": "integer"
+ },
+ "offset": {
+ "type": "integer"
+ },
+ "rows": {
+ "items": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "source_url": {
"type": "string"
+ },
+ "total": {
+ "type": "integer"
}
},
"type": "object"
},
- "polymarket.ActivityTradesResponse": {
+ "mlb.StatcastBoardResponse": {
"properties": {
- "event_id": {
- "description": "Polymarket event id the trades were limited to.",
- "example": "101772",
+ "board": {
"type": "string"
},
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-06-07T11:00:00Z",
- "type": "string"
+ "end_year": {
+ "type": "integer"
},
- "filter_amount": {
- "description": "Minimum trade amount the filter applied.",
- "example": "1",
+ "fetched_at": {
"type": "string"
},
"filter_type": {
- "description": "Type of amount filter applied, for example `CASH`.",
- "example": "CASH",
"type": "string"
},
+ "league_average": {
+ "items": {},
+ "type": "array"
+ },
"limit": {
- "description": "Maximum number of trades requested.",
- "example": 50,
"type": "integer"
},
- "market": {
- "description": "Market condition id the trades were limited to.",
- "example": "0x3f2604d62ac3ee496ffd6d30156f30663fbaf22097f17f09d7364c35db255d2b",
+ "minimum": {
"type": "string"
},
"offset": {
- "description": "Number of trades skipped before this page.",
- "example": 0,
"type": "integer"
},
- "source_url": {
- "description": "URL the data was read from.",
- "example": "https://data-api.polymarket.com/trades?takerOnly=true&limit=50&offset=0&filterType=CASH&filterAmount=1",
+ "position": {
"type": "string"
},
- "taker_only": {
- "description": "`true` when only taker trades are returned, `false` otherwise.",
- "example": "true",
+ "range": {
"type": "string"
},
- "trades": {
- "description": "Recent trades on this page, one item per trade.",
+ "roles": {
"items": {
- "$ref": "#/definitions/polymarket.TradeSummary"
+ "type": "string"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "polymarket.BatchTokenMidpoint": {
- "properties": {
- "midpoint": {
- "description": "Midpoint between the best bid and best ask for the token.",
- "example": 0.285,
- "type": "number"
},
- "token_id": {
- "description": "Token id of the outcome.",
- "example": "81927025054404355287140018940169293739219157042658469116956164881873598220211",
- "type": "string"
- }
- },
- "type": "object"
- },
- "polymarket.BatchTokenMidpointsOption": {
- "properties": {
- "token_ids": {
+ "rows": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/mlb.StatcastRow"
},
"type": "array"
+ },
+ "sort": {
+ "type": "string"
+ },
+ "sort_dir": {
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "split": {
+ "type": "string"
+ },
+ "start_year": {
+ "type": "integer"
+ },
+ "team_id": {
+ "type": "integer"
+ },
+ "total": {
+ "type": "integer"
+ },
+ "type": {
+ "type": "string"
+ },
+ "year": {
+ "type": "integer"
}
},
- "required": [
- "token_ids"
- ],
"type": "object"
},
- "polymarket.BatchTokenMidpointsResponse": {
+ "mlb.StatcastCatcherPopTimeResponse": {
"properties": {
+ "board": {
+ "type": "string"
+ },
"fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-06-07T11:00:00Z",
"type": "string"
},
- "midpoints": {
- "description": "Midpoints for the requested tokens, one item per token found.",
- "items": {
- "$ref": "#/definitions/polymarket.BatchTokenMidpoint"
- },
- "type": "array"
+ "limit": {
+ "type": "integer"
},
- "missing": {
- "description": "Requested token ids for which no midpoint was returned.",
+ "min_2b_attempts": {
+ "type": "string"
+ },
+ "min_3b_attempts": {
+ "type": "string"
+ },
+ "offset": {
+ "type": "integer"
+ },
+ "rows": {
"items": {
- "type": "string"
+ "additionalProperties": {},
+ "type": "object"
},
"type": "array"
},
+ "sort": {
+ "type": "string"
+ },
+ "sort_dir": {
+ "type": "string"
+ },
"source_url": {
- "description": "URL the data was read from.",
- "example": "https://clob.polymarket.com/midpoints",
"type": "string"
},
- "token_ids": {
- "description": "Token ids that were requested.",
- "items": {
- "type": "string"
- },
- "type": "array"
+ "team_id": {
+ "type": "string"
+ },
+ "total": {
+ "type": "integer"
+ },
+ "year": {
+ "type": "string"
}
},
"type": "object"
},
- "polymarket.BatchTokenOrderBooksOption": {
+ "mlb.StatcastCatcherStanceResponse": {
"properties": {
- "token_ids": {
+ "board": {
+ "type": "string"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "game_type": {
+ "type": "string"
+ },
+ "group_by": {
"items": {
"type": "string"
},
"type": "array"
+ },
+ "limit": {
+ "type": "integer"
+ },
+ "min_pitches": {
+ "type": "string"
+ },
+ "min_results": {
+ "type": "string"
+ },
+ "offset": {
+ "type": "integer"
+ },
+ "rows": {
+ "items": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "season_end": {
+ "type": "string"
+ },
+ "season_start": {
+ "type": "string"
+ },
+ "sort": {
+ "type": "string"
+ },
+ "sort_dir": {
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "total": {
+ "type": "integer"
+ },
+ "type": {
+ "type": "string"
}
},
- "required": [
- "token_ids"
- ],
"type": "object"
},
- "polymarket.BatchTokenOrderBooksResponse": {
+ "mlb.StatcastCatcherThrowingDetailsResponse": {
"properties": {
- "books": {
- "description": "Order books for the requested tokens, one item per token found.",
- "items": {
- "$ref": "#/definitions/polymarket.OrderBookSummary"
- },
- "type": "array"
+ "entity_id": {
+ "type": "integer"
},
"fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-06-07T11:00:00Z",
"type": "string"
},
- "missing": {
- "description": "Requested token ids for which no order book was returned.",
+ "limit": {
+ "type": "integer"
+ },
+ "offset": {
+ "type": "integer"
+ },
+ "rows": {
"items": {
- "type": "string"
+ "additionalProperties": {},
+ "type": "object"
},
"type": "array"
},
"source_url": {
- "description": "URL the data was read from.",
- "example": "https://clob.polymarket.com/books",
"type": "string"
},
- "token_ids": {
- "description": "Token ids that were requested.",
- "items": {
- "type": "string"
- },
- "type": "array"
+ "total": {
+ "type": "integer"
}
},
"type": "object"
},
- "polymarket.BatchTokenPrice": {
+ "mlb.StatcastCatcherThrowingResponse": {
"properties": {
- "buy_price": {
- "example": 0.03,
- "type": "number"
+ "board": {
+ "type": "string"
},
- "sell_price": {
- "example": 0.54,
- "type": "number"
+ "fetched_at": {
+ "type": "string"
},
- "token_id": {
- "example": "81927025054404355287140018940169293739219157042658469116956164881873598220211",
+ "game_type": {
"type": "string"
- }
- },
- "type": "object"
- },
- "polymarket.BatchTokenPricesOption": {
- "properties": {
- "side": {
+ },
+ "limit": {
+ "type": "integer"
+ },
+ "minimum_attempts": {
"type": "string"
},
- "token_ids": {
+ "offset": {
+ "type": "integer"
+ },
+ "rows": {
"items": {
- "type": "string"
+ "additionalProperties": {},
+ "type": "object"
},
"type": "array"
+ },
+ "season_end": {
+ "type": "string"
+ },
+ "season_start": {
+ "type": "string"
+ },
+ "sort": {
+ "type": "string"
+ },
+ "sort_dir": {
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "split": {
+ "type": "string"
+ },
+ "target_base": {
+ "type": "string"
+ },
+ "team": {
+ "type": "string"
+ },
+ "total": {
+ "type": "integer"
+ },
+ "type": {
+ "type": "string"
+ },
+ "with_team_only": {
+ "type": "boolean"
}
},
- "required": [
- "token_ids"
- ],
"type": "object"
},
- "polymarket.BatchTokenPricesResponse": {
+ "mlb.StatcastFieldingRunValueResponse": {
"properties": {
+ "board": {
+ "type": "string"
+ },
+ "date_end": {
+ "type": "string"
+ },
+ "date_start": {
+ "type": "string"
+ },
"fetched_at": {
- "example": "2026-06-07T11:00:00Z",
"type": "string"
},
- "missing": {
+ "game_type": {
+ "type": "string"
+ },
+ "group_by": {
"items": {
"type": "string"
},
"type": "array"
},
- "prices": {
+ "limit": {
+ "type": "integer"
+ },
+ "minimum": {
+ "type": "string"
+ },
+ "minimum_split": {
+ "type": "string"
+ },
+ "offset": {
+ "type": "integer"
+ },
+ "position": {
+ "type": "string"
+ },
+ "rows": {
"items": {
- "$ref": "#/definitions/polymarket.BatchTokenPrice"
+ "additionalProperties": {},
+ "type": "object"
},
"type": "array"
},
- "side": {
- "example": "buy",
+ "season_end": {
+ "type": "string"
+ },
+ "season_start": {
+ "type": "string"
+ },
+ "sort": {
+ "type": "string"
+ },
+ "sort_dir": {
"type": "string"
},
"source_url": {
- "example": "https://clob.polymarket.com/prices",
"type": "string"
},
- "token_ids": {
+ "teams": {
"items": {
"type": "string"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "polymarket.BatchTokenSpread": {
- "properties": {
- "spread": {
- "description": "Spread between the best bid and best ask for the token.",
- "example": 0.51,
- "type": "number"
},
- "token_id": {
- "description": "Token id of the outcome.",
- "example": "81927025054404355287140018940169293739219157042658469116956164881873598220211",
+ "total": {
+ "type": "integer"
+ },
+ "type": {
"type": "string"
}
},
"type": "object"
},
- "polymarket.BatchTokenSpreadsOption": {
+ "mlb.StatcastFirstBaseReceivingDetailsResponse": {
"properties": {
- "token_ids": {
+ "fetched_at": {
+ "type": "string"
+ },
+ "limit": {
+ "type": "integer"
+ },
+ "offset": {
+ "type": "integer"
+ },
+ "player_id": {
+ "type": "integer"
+ },
+ "rows": {
"items": {
- "type": "string"
+ "additionalProperties": {},
+ "type": "object"
},
"type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "total": {
+ "type": "integer"
}
},
- "required": [
- "token_ids"
- ],
"type": "object"
},
- "polymarket.BatchTokenSpreadsResponse": {
+ "mlb.StatcastFirstBaseReceivingResponse": {
"properties": {
+ "board": {
+ "type": "string"
+ },
"fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-06-07T11:00:00Z",
"type": "string"
},
- "missing": {
- "description": "Requested token ids for which no spread was returned.",
+ "game_types": {
"items": {
"type": "string"
},
"type": "array"
},
- "source_url": {
- "description": "URL the data was read from.",
- "example": "https://clob.polymarket.com/spreads",
+ "limit": {
+ "type": "integer"
+ },
+ "minimum": {
"type": "string"
},
- "spreads": {
- "description": "Spreads for the requested tokens, one item per token found.",
+ "minimum_split": {
+ "type": "string"
+ },
+ "offset": {
+ "type": "integer"
+ },
+ "rows": {
"items": {
- "$ref": "#/definitions/polymarket.BatchTokenSpread"
+ "additionalProperties": {},
+ "type": "object"
},
"type": "array"
},
- "token_ids": {
- "description": "Token ids that were requested.",
+ "seasons": {
"items": {
"type": "string"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "polymarket.ClobMarketResponse": {
- "properties": {
- "condition_id": {
- "description": "Condition id of the market that was requested.",
- "example": "0x1a987cd4e88488fd12905fa9ae82cef381e03f4af68289275c4c0c2613db9327",
- "type": "string"
},
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-06-07T11:00:00Z",
+ "sort": {
"type": "string"
},
- "market": {
- "allOf": [
- {
- "$ref": "#/definitions/polymarket.ClobMarketSummary"
- }
- ],
- "description": "Order-book trading details of the market."
+ "sort_direction": {
+ "type": "string"
},
"source_url": {
- "description": "URL the data was read from.",
- "example": "https://clob.polymarket.com/markets/0x1a987cd4e88488fd12905fa9ae82cef381e03f4af68289275c4c0c2613db9327",
+ "type": "string"
+ },
+ "split_year": {
+ "type": "string"
+ },
+ "splits": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "total": {
+ "type": "integer"
+ },
+ "type": {
"type": "string"
}
},
"type": "object"
},
- "polymarket.ClobMarketSummary": {
+ "mlb.StatcastPercentileFilter": {
"properties": {
- "accepting_order_timestamp": {
- "description": "Timestamp from which the market accepts orders.",
+ "comparator": {
"type": "string"
},
- "accepting_orders": {
- "description": "`true` when the market currently accepts orders.",
- "type": "boolean"
- },
- "active": {
- "description": "`true` when the market is active.",
- "type": "boolean"
- },
- "archived": {
- "description": "`true` when the market is archived.",
- "type": "boolean"
- },
- "closed": {
- "description": "`true` when the market is closed.",
- "type": "boolean"
- },
- "condition_id": {
- "description": "Condition id that identifies the market on Polymarket.",
- "example": "0x1a987cd4e88488fd12905fa9ae82cef381e03f4af68289275c4c0c2613db9327",
+ "field": {
"type": "string"
},
- "description": {
- "description": "Market description, including its resolution rules as Polymarket shows them.",
+ "value": {
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "mlb.StatcastPlayerDetailsResponse": {
+ "properties": {
+ "fetched_at": {
"type": "string"
},
- "enable_order_book": {
- "description": "`true` when the order book is enabled for the market.",
- "type": "boolean"
- },
- "end_date": {
- "description": "Date and time the market is scheduled to end (ISO 8601).",
- "example": "2026-06-08T00:00:00Z",
+ "player_id": {
"type": "string"
},
- "game_start_time": {
- "description": "Start time of the game the market is about (ISO 8601). Omitted when not provided.",
- "example": "2026-06-07T20:30:00Z",
+ "player_type": {
"type": "string"
},
- "icon_url": {
- "description": "URL of the market's icon image.",
- "type": "string"
+ "plays": {
+ "items": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "type": "array"
},
- "image_url": {
- "description": "URL of the market's main image.",
+ "source_url": {
"type": "string"
},
- "is_50_50_outcome": {
- "description": "`true` when the market is flagged as resolving 50-50.",
- "type": "boolean"
- },
- "maker_base_fee": {
- "description": "Base fee charged to makers on the market.",
- "example": 1000,
+ "total": {
"type": "integer"
},
- "market_slug": {
- "description": "URL slug of the market.",
- "example": "codmw-par-tex-2026-06-07-game4",
- "type": "string"
- },
- "market_url": {
- "description": "Link to the market on polymarket.com.",
- "example": "https://polymarket.com/event/codmw-par-tex-2026-06-07/codmw-par-tex-2026-06-07-game4",
+ "year": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "mlb.StatcastResponse": {
+ "properties": {
+ "fetched_at": {
"type": "string"
},
- "minimum_order_size": {
- "description": "Smallest order size the market accepts.",
- "example": 5,
- "type": "number"
- },
- "minimum_tick_size": {
- "description": "Smallest price increment the market accepts.",
- "example": 0.01,
- "type": "number"
- },
- "neg_risk": {
- "description": "`true` when the market is part of a negative-risk group of linked outcomes.",
- "type": "boolean"
+ "limit": {
+ "type": "integer"
},
- "neg_risk_market_id": {
- "description": "Id of the negative-risk group the market belongs to.",
+ "min_bbe": {
"type": "string"
},
- "neg_risk_request_id": {
- "description": "Request id of the negative-risk group the market belongs to.",
+ "offset": {
+ "type": "integer"
+ },
+ "position": {
"type": "string"
},
- "notifications_enabled": {
- "description": "`true` when notifications are enabled for the market.",
- "type": "boolean"
+ "rows": {
+ "items": {
+ "$ref": "#/definitions/mlb.StatcastRow"
+ },
+ "type": "array"
},
- "question": {
- "description": "Question the market asks.",
- "example": "Call of Duty: Paris Gentle Mates vs OpTic Texas - Game 4 Winner",
+ "sort": {
"type": "string"
},
- "question_id": {
- "description": "Id of the question the market resolves.",
- "example": "0xf693b08c99a00ca87098bc122ccc956434c2ac8720d8ed77e612d008cf33c2c1",
+ "sort_dir": {
"type": "string"
},
- "rewards": {
- "allOf": [
- {
- "$ref": "#/definitions/polymarket.ClobRewardsSummary"
- }
- ],
- "description": "Liquidity reward settings for the market."
+ "source_url": {
+ "type": "string"
},
- "seconds_delay": {
- "description": "Delay applied to orders on the market, in seconds.",
- "example": 1,
+ "team_id": {
"type": "integer"
},
- "tags": {
- "description": "Tag labels attached to the market.",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "taker_base_fee": {
- "description": "Base fee charged to takers on the market.",
- "example": 1000,
+ "total": {
"type": "integer"
},
- "tokens": {
- "description": "Outcome tokens of the market, one item per outcome.",
- "items": {
- "$ref": "#/definitions/polymarket.ClobTokenSummary"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "polymarket.ClobRewardRate": {
- "properties": {
- "asset_address": {
- "description": "Contract address of the token paid out as the reward.",
- "example": "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174",
+ "type": {
"type": "string"
},
- "rewards_daily_rate": {
- "description": "Reward amount paid per day in this asset.",
- "example": 5,
- "type": "number"
+ "year": {
+ "type": "integer"
}
},
"type": "object"
},
- "polymarket.ClobRewardsSummary": {
+ "mlb.StatcastRollingGroup": {
"properties": {
- "max_spread": {
- "description": "Maximum spread an order can have and still qualify for rewards.",
- "example": 2.5,
- "type": "number"
+ "limit": {
+ "type": "integer"
},
- "min_size": {
- "description": "Minimum order size that qualifies for rewards.",
- "example": 500,
- "type": "number"
+ "offset": {
+ "type": "integer"
},
- "rates": {
- "description": "Daily reward rates, one item per reward asset.",
+ "role": {
+ "type": "string"
+ },
+ "rows": {
"items": {
- "$ref": "#/definitions/polymarket.ClobRewardRate"
+ "additionalProperties": {},
+ "type": "object"
},
"type": "array"
+ },
+ "total": {
+ "type": "integer"
+ },
+ "window_pa": {
+ "type": "integer"
}
},
"type": "object"
},
- "polymarket.ClobTokenSummary": {
+ "mlb.StatcastRow": {
"properties": {
- "outcome": {
- "description": "Name of the outcome the token represents.",
- "example": "Paris Gentle Mates",
+ "entity_id": {
"type": "string"
},
- "price": {
- "description": "Current price of the outcome token.",
- "example": 0.285,
- "type": "number"
+ "metrics": {
+ "additionalProperties": {},
+ "type": "object"
},
- "token_id": {
- "description": "Token id of the outcome.",
- "example": "81927025054404355287140018940169293739219157042658469116956164881873598220211",
+ "name": {
"type": "string"
},
- "winner": {
- "description": "`true` when this outcome won the resolved market.",
+ "position": {
+ "type": "string"
+ },
+ "qualified": {
"type": "boolean"
- }
- },
- "type": "object"
- },
- "polymarket.EventDetailResponse": {
- "properties": {
- "event": {
- "allOf": [
- {
- "$ref": "#/definitions/polymarket.EventSummary"
- }
- ],
- "description": "Full details of the event."
},
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-06-07T11:00:00Z",
- "type": "string"
+ "rank": {
+ "type": "integer"
},
- "slug": {
- "description": "URL slug of the event that was requested.",
- "example": "world-cup-winner",
+ "team": {
"type": "string"
},
- "source_url": {
- "description": "URL the data was read from.",
- "example": "https://gamma-api.polymarket.com/events/slug/world-cup-winner",
+ "team_id": {
"type": "string"
}
},
"type": "object"
},
- "polymarket.EventSummary": {
+ "mlb.StatcastRunningGameDetailsOption": {
"properties": {
- "active": {
- "description": "`true` when the event is active.",
- "type": "boolean"
+ "entity_id": {
+ "type": "string"
},
- "closed": {
- "description": "`true` when the event is closed.",
- "type": "boolean"
+ "game_type": {
+ "type": "string"
},
- "comment_count": {
- "description": "Number of comments on the event.",
+ "limit": {
"type": "integer"
},
- "description": {
- "description": "Event description as shown on Polymarket.",
- "type": "string"
- },
- "end_date": {
- "description": "Date and time the event is scheduled to end (ISO 8601).",
+ "min_pitches": {
"type": "string"
},
- "featured": {
- "description": "`true` when Polymarket features the event.",
- "type": "boolean"
+ "offset": {
+ "type": "integer"
},
- "icon_url": {
- "description": "URL of the event's icon image.",
+ "pitch_hand": {
"type": "string"
},
- "id": {
- "description": "Polymarket event id.",
- "example": "545095",
+ "prior_pk": {
"type": "string"
},
- "image_url": {
- "description": "URL of the event's main image.",
+ "runner_moved": {
"type": "string"
},
- "liquidity": {
- "description": "Liquidity Polymarket reports for the event.",
- "type": "number"
- },
- "markets": {
- "description": "Markets inside the event, one item per market.",
- "items": {
- "$ref": "#/definitions/polymarket.MarketSummary"
- },
- "type": "array"
- },
- "markets_count": {
- "description": "Number of markets inside the event.",
- "example": 15,
+ "season_end": {
"type": "integer"
},
- "open_interest": {
- "description": "Open interest Polymarket reports for the event.",
- "type": "number"
- },
- "restricted": {
- "description": "`true` when Polymarket marks the event as restricted.",
- "type": "boolean"
- },
- "slug": {
- "description": "URL slug of the event.",
- "example": "bitcoin-above-on-june-7-2026",
- "type": "string"
+ "season_start": {
+ "type": "integer"
},
- "start_date": {
- "description": "Date and time the event starts (ISO 8601).",
+ "split": {
"type": "string"
},
- "tags": {
- "description": "Tags attached to the event, one item per tag.",
- "items": {
- "$ref": "#/definitions/polymarket.TagSummary"
- },
- "type": "array"
- },
- "title": {
- "description": "Event title as shown on Polymarket.",
- "example": "Bitcoin above ___ on June 7?",
+ "target_base": {
"type": "string"
},
- "updated_at": {
- "description": "Time Polymarket last updated the event (ISO 8601).",
+ "team": {
"type": "string"
},
- "url": {
- "description": "Link to the event on polymarket.com.",
- "example": "https://polymarket.com/event/bitcoin-above-on-june-7-2026",
+ "type": {
"type": "string"
},
- "volume": {
- "description": "Total trading volume of the event.",
- "type": "number"
- },
- "volume_24h": {
- "description": "Trading volume of the event over the last 24 hours.",
- "type": "number"
+ "with_team_only": {
+ "type": "boolean"
}
},
"type": "object"
},
- "polymarket.EventsResponse": {
+ "mlb.StatcastRunningGameDetailsResponse": {
"properties": {
- "ascending": {
- "description": "`true` when events are sorted in ascending order.",
- "type": "boolean"
- },
- "closed": {
- "description": "Closed filter applied, `true` or `false`.",
- "example": "false",
+ "board": {
"type": "string"
},
- "events": {
- "description": "Events on this page, one item per event.",
- "items": {
- "$ref": "#/definitions/polymarket.EventSummary"
- },
- "type": "array"
+ "entity_id": {
+ "type": "integer"
},
"fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-06-07T11:00:00Z",
"type": "string"
},
+ "filters": {
+ "$ref": "#/definitions/mlb.StatcastRunningGameDetailsOption"
+ },
"limit": {
- "description": "Maximum number of events requested.",
- "example": 25,
"type": "integer"
},
"offset": {
- "description": "Number of events skipped before this page.",
- "example": 0,
"type": "integer"
},
- "order": {
- "description": "Field the events are sorted by, for example `volume24hr`.",
- "example": "volume24hr",
- "type": "string"
+ "rows": {
+ "items": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "type": "array"
},
"source_url": {
- "description": "URL the data was read from.",
- "example": "https://gamma-api.polymarket.com/events?limit=25",
+ "type": "string"
+ },
+ "total": {
+ "type": "integer"
+ },
+ "type": {
"type": "string"
}
},
"type": "object"
},
- "polymarket.HomepageFeedResponse": {
+ "mlb.StatcastRunningGameFilters": {
"properties": {
- "cursor": {
- "description": "Cursor that was used to fetch this page.",
- "type": "string"
+ "game_types": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "events": {
- "description": "Event rows in the feed, one item per event.",
+ "minimum_pitches": {
"items": {
- "$ref": "#/definitions/polymarket.EventSummary"
+ "$ref": "#/definitions/mlb.EnumValue"
},
"type": "array"
},
- "feed": {
- "description": "Homepage feed that was requested, for example `politics`.",
- "example": "politics",
- "type": "string"
+ "pitch_hands": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-06-07T11:00:00Z",
- "type": "string"
+ "prior_pickoffs": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "has_more": {
- "description": "`true` when more rows are available after this page.",
- "type": "boolean"
+ "runner_moved": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "limit": {
- "description": "Maximum number of rows requested.",
- "example": 20,
- "type": "integer"
+ "seasons": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "markets": {
- "description": "Market rows in the feed, one item per market. Returned by the `breaking` feed.",
+ "sort_directions": {
"items": {
- "$ref": "#/definitions/polymarket.MarketSummary"
+ "$ref": "#/definitions/mlb.EnumValue"
},
"type": "array"
},
- "next_cursor": {
- "description": "Cursor to pass to fetch the next page.",
- "type": "string"
+ "sort_fields": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "source_kind": {
- "description": "Kind of rows the feed returns: `events_keyset`, `markets_movers` or `public_search`.",
- "example": "events_keyset",
- "type": "string"
+ "target_bases": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
},
- "source_url": {
- "description": "URL the data was read from.",
- "example": "https://gamma-api.polymarket.com/events/keyset?limit=20&tag_slug=politics",
- "type": "string"
+ "teams": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
+ },
+ "types": {
+ "items": {
+ "$ref": "#/definitions/mlb.EnumValue"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "polymarket.LeaderboardEntry": {
+ "mlb.StatcastRunningGameOption": {
"properties": {
- "profile_image_url": {
+ "game_type": {
"type": "string"
},
- "profit_loss": {
- "example": 322870.79601049656,
- "type": "number"
+ "limit": {
+ "type": "integer"
},
- "proxy_wallet": {
- "example": "0x4bff30af91642dc7d2b19a8664378fe55c45fc26",
+ "min_pitches": {
"type": "string"
},
- "rank": {
- "example": "1",
+ "offset": {
+ "type": "integer"
+ },
+ "pitch_hand": {
"type": "string"
},
- "user_name": {
- "example": "Sassy-Bucket",
+ "prior_pk": {
"type": "string"
},
- "verified_badge": {
- "type": "boolean"
+ "runner_moved": {
+ "type": "string"
},
- "volume": {
- "example": 770358.109102,
- "type": "number"
+ "search": {
+ "type": "string"
},
- "x_username": {
- "example": "polymarket",
+ "season_end": {
+ "type": "integer"
+ },
+ "season_start": {
+ "type": "integer"
+ },
+ "sort": {
+ "type": "string"
+ },
+ "sort_dir": {
+ "type": "string"
+ },
+ "split": {
+ "type": "string"
+ },
+ "target_base": {
+ "type": "string"
+ },
+ "team": {
"type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "with_team_only": {
+ "type": "boolean"
}
},
"type": "object"
},
- "polymarket.LeaderboardResponse": {
+ "mlb.StatcastRunningGameResponse": {
"properties": {
+ "board": {
+ "type": "string"
+ },
"fetched_at": {
- "example": "2026-06-07T11:00:00Z",
"type": "string"
},
+ "filters": {
+ "$ref": "#/definitions/mlb.StatcastRunningGameOption"
+ },
"limit": {
- "example": 20,
+ "type": "integer"
+ },
+ "offset": {
"type": "integer"
},
"rows": {
"items": {
- "$ref": "#/definitions/polymarket.LeaderboardEntry"
+ "additionalProperties": {},
+ "type": "object"
},
"type": "array"
},
- "sort_by": {
- "example": "profit",
- "type": "string"
- },
"source_url": {
- "example": "https://data-api.polymarket.com/v1/leaderboard?window=30d&sortBy=profit&limit=20",
"type": "string"
},
- "window": {
- "example": "30d",
- "type": "string"
+ "total": {
+ "type": "integer"
}
},
"type": "object"
},
- "polymarket.MacroDashboardResponse": {
+ "mlb.StatcastSprintSpeedResponse": {
"properties": {
- "cursor": {
- "description": "Cursor that was used to fetch this page.",
+ "board": {
"type": "string"
},
- "events": {
- "description": "Macro events on this page, one item per event.",
- "items": {
- "$ref": "#/definitions/polymarket.EventSummary"
- },
- "type": "array"
- },
"fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-06-07T11:00:00Z",
"type": "string"
},
- "has_more": {
- "description": "`true` when more events are available after this page.",
- "type": "boolean"
- },
"limit": {
- "description": "Maximum number of events requested.",
- "example": 20,
"type": "integer"
},
- "next_cursor": {
- "description": "Cursor to pass to fetch the next page.",
+ "max_season": {
+ "type": "string"
+ },
+ "min_season": {
+ "type": "string"
+ },
+ "minimum_runs": {
+ "type": "string"
+ },
+ "offset": {
+ "type": "integer"
+ },
+ "position": {
+ "type": "string"
+ },
+ "rows": {
+ "items": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "sort": {
+ "type": "string"
+ },
+ "sort_dir": {
"type": "string"
},
"source_url": {
- "description": "URL the data was read from.",
- "example": "https://gamma-api.polymarket.com/events/keyset?tag_slug=macro&limit=20",
"type": "string"
+ },
+ "team_id": {
+ "type": "string"
+ },
+ "total": {
+ "type": "integer"
}
},
"type": "object"
},
- "polymarket.MarketDetailResponse": {
+ "mlb.StatcastSprintSpeedTeamsResponse": {
"properties": {
- "condition_id": {
- "description": "Condition id of the market that was requested.",
- "example": "0x1a987cd4e88488fd12905fa9ae82cef381e03f4af68289275c4c0c2613db9327",
+ "board": {
"type": "string"
},
"fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-06-07T11:00:00Z",
"type": "string"
},
- "id": {
- "description": "Polymarket market id that was requested.",
- "example": "558934",
+ "limit": {
+ "type": "integer"
+ },
+ "offset": {
+ "type": "integer"
+ },
+ "rows": {
+ "items": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "season": {
"type": "string"
},
- "market": {
- "allOf": [
- {
- "$ref": "#/definitions/polymarket.MarketSummary"
- }
- ],
- "description": "Full details of the market."
+ "sort": {
+ "type": "string"
},
- "slug": {
- "description": "URL slug of the market that was requested.",
- "example": "will-spain-win-the-2026-fifa-world-cup-963",
+ "sort_dir": {
"type": "string"
},
"source_url": {
- "description": "URL the data was read from.",
- "example": "https://gamma-api.polymarket.com/markets/558934",
"type": "string"
+ },
+ "team": {
+ "type": "string"
+ },
+ "total": {
+ "type": "integer"
}
},
"type": "object"
},
- "polymarket.MarketLiquidityResponse": {
+ "mlb.StatcastTopPerformerCard": {
"properties": {
- "clob_market": {
- "allOf": [
- {
- "$ref": "#/definitions/polymarket.ClobMarketSummary"
- }
- ],
- "description": "Order-book trading settings and outcome prices for the market."
- },
- "condition_id": {
- "description": "Condition id of the market that was requested.",
- "example": "0x1a987cd4e88488fd12905fa9ae82cef381e03f4af68289275c4c0c2613db9327",
+ "complete_leaderboard_url": {
"type": "string"
},
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-06-07T11:00:00Z",
+ "definition_url": {
"type": "string"
},
"id": {
- "description": "Polymarket market id that was requested.",
- "example": "558934",
- "type": "string"
- },
- "market": {
- "allOf": [
- {
- "$ref": "#/definitions/polymarket.MarketSummary"
- }
- ],
- "description": "Summary of the market the liquidity snapshot belongs to."
- },
- "slug": {
- "description": "URL slug of the market that was requested.",
- "example": "will-spain-win-the-2026-fifa-world-cup-963",
"type": "string"
},
- "source_urls": {
- "description": "URLs the data was read from.",
+ "leaders": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/mlb.StatcastTopPerformerLeader"
},
"type": "array"
},
- "tokens": {
- "description": "Liquidity figures for each outcome token of the market.",
- "items": {
- "$ref": "#/definitions/polymarket.MarketLiquidityTokenSummary"
- },
- "type": "array"
+ "metric": {
+ "type": "string"
+ },
+ "player_type": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
}
},
"type": "object"
},
- "polymarket.MarketLiquidityTokenSummary": {
+ "mlb.StatcastTopPerformerLeader": {
"properties": {
- "ask_depth": {
- "description": "Total size of all ask levels in the token's order book.",
- "example": 654.33,
- "type": "number"
- },
- "bid_depth": {
- "description": "Total size of all bid levels in the token's order book.",
- "example": 117.57,
- "type": "number"
- },
- "buy_price": {
- "description": "Price quoted for buying one share of the outcome.",
- "example": 0.16,
- "type": "number"
- },
- "clob_price": {
- "description": "Outcome price taken from the order-book market data.",
- "example": 0.161,
- "type": "number"
- },
- "gamma_price": {
- "description": "Outcome price taken from the market listing.",
- "example": 0.16,
- "type": "number"
- },
- "last_trade_price": {
- "description": "Price of the most recent trade on the token.",
- "example": 0.162,
- "type": "number"
+ "headshot_url": {
+ "type": "string"
},
- "midpoint": {
- "description": "Midpoint between the best bid and best ask for the token.",
- "example": 0.165,
- "type": "number"
+ "player_id": {
+ "type": "string"
},
- "orderbook_best_ask": {
- "description": "Lowest ask price in the token's order book.",
- "example": 0.17,
- "type": "number"
+ "player_name": {
+ "type": "string"
},
- "orderbook_best_bid": {
- "description": "Highest bid price in the token's order book.",
- "example": 0.16,
- "type": "number"
+ "player_url": {
+ "type": "string"
},
- "orderbook_spread": {
- "description": "Best ask price minus best bid price in the token's order book.",
- "example": 0.01,
- "type": "number"
+ "rank": {
+ "type": "integer"
},
- "outcome": {
- "description": "Name of the outcome the token represents, for example `Yes`.",
- "example": "Yes",
+ "team_id": {
"type": "string"
},
- "sell_price": {
- "description": "Price quoted for selling one share of the outcome.",
- "example": 0.17,
- "type": "number"
- },
- "spread": {
- "description": "Spread Polymarket reports for the token.",
- "example": 0.01,
- "type": "number"
+ "team_logo_url": {
+ "type": "string"
},
- "token_id": {
- "description": "Token id of the outcome. Use it with the order book and price endpoints.",
- "example": "81927025054404355287140018940169293739219157042658469116956164881873598220211",
+ "value": {
"type": "string"
}
},
"type": "object"
},
- "polymarket.MarketSummary": {
+ "mlb.StatcastTopPerformersResponse": {
"properties": {
- "active": {
- "description": "`true` when the market is active.",
- "type": "boolean"
- },
- "best_ask": {
- "description": "Lowest ask price currently offered on the market.",
- "type": "number"
+ "card_count": {
+ "type": "integer"
},
- "best_bid": {
- "description": "Highest bid price currently offered on the market.",
- "type": "number"
+ "cards": {
+ "items": {
+ "$ref": "#/definitions/mlb.StatcastTopPerformerCard"
+ },
+ "type": "array"
},
- "closed": {
- "description": "`true` when the market is closed.",
- "type": "boolean"
+ "fetched_at": {
+ "type": "string"
},
- "condition_id": {
- "description": "Condition id that identifies the market on Polymarket.",
- "example": "0x1a987cd4e88488fd12905fa9ae82cef381e03f4af68289275c4c0c2613db9327",
+ "source_url": {
"type": "string"
},
- "end_date": {
- "description": "Date and time the market is scheduled to end (ISO 8601).",
+ "year": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "mlb.StatsResponse": {
+ "properties": {
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
"type": "string"
},
- "id": {
- "description": "Polymarket market id.",
- "example": "558934",
+ "group": {
+ "description": "Stat group that was returned, for example `hitting` or `pitching`.",
"type": "string"
},
- "last_trade_price": {
- "description": "Price of the most recent trade on the market.",
- "type": "number"
+ "limit": {
+ "description": "Maximum number of rows requested. Omitted when no limit applies.",
+ "type": "integer"
},
- "liquidity": {
- "description": "Liquidity Polymarket reports for the market.",
- "type": "number"
+ "offset": {
+ "description": "Number of rows skipped before this page. Omitted when zero.",
+ "type": "integer"
},
- "outcomes": {
- "description": "Outcomes of the market with their current prices, one item per outcome.",
- "items": {
- "$ref": "#/definitions/polymarket.OutcomePricePoint"
- },
- "type": "array"
+ "player_id": {
+ "description": "MLB player id the stats are for. Omitted for team and league-wide tables.",
+ "type": "integer"
},
- "question": {
- "description": "Question the market asks, for example `Will Spain win the 2026 FIFA World Cup?`.",
- "example": "Will Spain win the 2026 FIFA World Cup?",
- "type": "string"
+ "season": {
+ "description": "Season the stats cover, as a year.",
+ "type": "integer"
},
- "slug": {
- "description": "URL slug of the market.",
- "example": "will-spain-win-the-2026-fifa-world-cup-963",
+ "source_url": {
+ "description": "URL the data was read from.",
"type": "string"
},
- "token_ids": {
- "description": "Token ids of the market outcomes, in the same order as `outcomes`.",
+ "splits": {
+ "description": "Rows of statistics, one item per player, team or period.",
"items": {
- "type": "string"
+ "$ref": "#/definitions/mlb.StatSplit"
},
"type": "array"
},
- "url": {
- "description": "Link to the market on polymarket.com.",
- "example": "https://polymarket.com/event/world-cup-winner/will-spain-win-the-2026-fifa-world-cup-963",
- "type": "string"
+ "team_id": {
+ "description": "MLB team id the stats are limited to. Omitted when not limited to a team.",
+ "type": "integer"
},
- "volume": {
- "description": "Total trading volume of the market.",
- "type": "number"
+ "total": {
+ "description": "Total number of rows available.",
+ "type": "integer"
},
- "volume_24h": {
- "description": "Trading volume of the market over the last 24 hours.",
- "type": "number"
+ "type": {
+ "description": "Stats type label. Always `season`.",
+ "type": "string"
}
},
"type": "object"
},
- "polymarket.MarketsResponse": {
+ "mlb.Team": {
"properties": {
- "ascending": {
- "description": "`true` when markets are sorted in ascending order.",
+ "abbreviation": {
+ "description": "Short team abbreviation, for example `NYY`. Omitted when not available.",
+ "type": "string"
+ },
+ "active": {
"type": "boolean"
},
- "closed": {
- "description": "Closed filter applied, `true` or `false`.",
- "example": "false",
+ "club_name": {
"type": "string"
},
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-06-07T11:00:00Z",
+ "division": {
+ "$ref": "#/definitions/mlb.NamedRef"
+ },
+ "first_year_of_play": {
"type": "string"
},
- "limit": {
- "description": "Maximum number of markets requested.",
- "example": 25,
+ "id": {
+ "description": "MLB team id.",
"type": "integer"
},
- "markets": {
- "description": "Markets on this page, one item per market.",
- "items": {
- "$ref": "#/definitions/polymarket.MarketSummary"
- },
- "type": "array"
- },
- "offset": {
- "description": "Number of markets skipped before this page.",
- "example": 0,
- "type": "integer"
+ "league": {
+ "$ref": "#/definitions/mlb.NamedRef"
},
- "order": {
- "description": "Field the markets are sorted by, for example `volume24hr`.",
- "example": "volume24hr",
+ "location_name": {
"type": "string"
},
- "source_url": {
- "description": "URL the data was read from.",
- "example": "https://gamma-api.polymarket.com/markets?limit=25",
+ "name": {
+ "description": "Full team name.",
"type": "string"
- }
- },
- "type": "object"
- },
- "polymarket.OrderBookLevel": {
- "properties": {
- "price": {
- "description": "Price of this order book level.",
- "example": 0.03,
- "type": "number"
},
- "size": {
- "description": "Total size of the orders resting at this price.",
- "example": 5,
- "type": "number"
+ "season": {
+ "type": "integer"
+ },
+ "venue": {
+ "$ref": "#/definitions/mlb.VenueRef"
}
},
"type": "object"
},
- "polymarket.OrderBookSummary": {
+ "mlb.TeamBoxscore": {
"properties": {
- "asks": {
- "description": "Ask levels in the order book, one item per price level.",
+ "batters": {
"items": {
- "$ref": "#/definitions/polymarket.OrderBookLevel"
+ "type": "integer"
},
"type": "array"
},
- "bids": {
- "description": "Bid levels in the order book, one item per price level.",
+ "pitchers": {
"items": {
- "$ref": "#/definitions/polymarket.OrderBookLevel"
+ "type": "integer"
},
"type": "array"
},
- "condition_id": {
- "description": "Condition id of the market the token belongs to.",
- "example": "0x1a987cd4e88488fd12905fa9ae82cef381e03f4af68289275c4c0c2613db9327",
- "type": "string"
- },
- "hash": {
- "description": "Hash of the order book snapshot.",
- "example": "31facd52b62495bbc142facb81275400d978f6bf",
- "type": "string"
- },
- "last_trade_price": {
- "description": "Price of the most recent trade on the token.",
- "example": 0.285,
- "type": "number"
- },
- "min_order_size": {
- "description": "Smallest order size the market accepts.",
- "example": 5,
- "type": "number"
- },
- "neg_risk": {
- "description": "`true` when the market is part of a negative-risk group of linked outcomes.",
- "type": "boolean"
- },
- "tick_size": {
- "description": "Smallest price increment the market accepts.",
- "example": 0.01,
- "type": "number"
+ "players_used": {
+ "type": "integer"
},
- "timestamp": {
- "description": "Time of the order book snapshot, in Unix milliseconds.",
- "example": "1780837460175",
- "type": "string"
+ "team": {
+ "$ref": "#/definitions/mlb.TeamRef"
},
- "token_id": {
- "description": "Token id of the outcome the order book belongs to.",
- "example": "81927025054404355287140018940169293739219157042658469116956164881873598220211",
- "type": "string"
+ "team_stats": {
+ "additionalProperties": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "type": "object"
}
},
"type": "object"
},
- "polymarket.OutcomePricePoint": {
+ "mlb.TeamRef": {
"properties": {
- "best_ask": {
- "description": "Lowest ask price currently offered for the outcome.",
- "example": 0.162,
- "type": "number"
- },
- "best_bid": {
- "description": "Highest bid price currently offered for the outcome.",
- "example": 0.161,
- "type": "number"
- },
- "last_trade_price": {
- "description": "Price of the most recent trade on the outcome.",
- "example": 0.162,
- "type": "number"
- },
- "liquidity": {
- "description": "Liquidity Polymarket reports for the outcome.",
- "example": 1093391.84,
- "type": "number"
- },
- "market_id": {
- "description": "Polymarket id of the market the outcome belongs to.",
- "example": "558934",
- "type": "string"
- },
- "market_slug": {
- "description": "URL slug of the market the outcome belongs to.",
- "example": "will-spain-win-the-2026-fifa-world-cup-963",
- "type": "string"
- },
- "outcome": {
- "description": "Name of the outcome, for example `Yes`.",
- "example": "Yes",
+ "abbreviation": {
+ "description": "Short team abbreviation, for example `NYY`. Omitted when not available.",
"type": "string"
},
- "price": {
- "description": "Current price of the outcome.",
- "example": 0.1615,
- "type": "number"
+ "id": {
+ "description": "MLB team id.",
+ "type": "integer"
},
- "question": {
- "description": "Question of the market the outcome belongs to.",
- "example": "Will Spain win the 2026 FIFA World Cup?",
+ "name": {
+ "description": "Full team name.",
"type": "string"
- },
- "volume": {
- "description": "Trading volume Polymarket reports for the outcome.",
- "example": 30983849.24,
- "type": "number"
}
},
"type": "object"
},
- "polymarket.PredictionsResponse": {
+ "mlb.TeamSuggestion": {
"properties": {
- "cursor": {
- "description": "Cursor that was used to fetch this page.",
+ "club_name": {
"type": "string"
},
- "events": {
- "description": "Events on this page, one item per event.",
+ "display_name": {
+ "type": "string"
+ },
+ "franchise_name": {
+ "type": "string"
+ },
+ "id": {
+ "type": "integer"
+ },
+ "logos": {
"items": {
- "$ref": "#/definitions/polymarket.EventSummary"
+ "$ref": "#/definitions/mlb.ImageRef"
},
"type": "array"
},
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-06-07T11:00:00Z",
+ "name": {
"type": "string"
},
- "has_more": {
- "description": "`true` when more events are available after this page.",
- "type": "boolean"
- },
- "limit": {
- "description": "Maximum number of events requested.",
- "example": 20,
+ "sport_id": {
"type": "integer"
},
- "next_cursor": {
- "description": "Cursor to pass to fetch the next page.",
+ "team_name": {
"type": "string"
},
- "recurrence": {
- "description": "Recurrence filter applied: `hourly`, `daily`, `weekly`, `monthly` or `yearly`.",
- "example": "daily",
+ "tri_code": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "mlb.TeamsResponse": {
+ "properties": {
+ "count": {
+ "type": "integer"
},
- "sort": {
- "description": "Sort order applied, for example `competitive`.",
- "example": "competitive",
+ "fetched_at": {
"type": "string"
},
- "source_url": {
- "description": "URL the data was read from.",
- "example": "https://gamma-api.polymarket.com/events/keyset?limit=20&order=competitive",
- "type": "string"
+ "season": {
+ "type": "integer"
},
- "status": {
- "description": "Prediction status filter applied: `active`, `resolved` or `all`.",
- "example": "all",
+ "source_url": {
"type": "string"
},
- "tag": {
- "description": "Polymarket tag slug the events were filtered by.",
- "example": "politics",
- "type": "string"
+ "teams": {
+ "items": {
+ "$ref": "#/definitions/mlb.Team"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "polymarket.PriceHistoryPoint": {
+ "mlb.TermSuggestion": {
"properties": {
- "price": {
- "example": 0.48,
- "type": "number"
+ "display_name": {
+ "type": "string"
},
- "timestamp": {
- "example": 1780826405,
- "type": "integer"
+ "name": {
+ "type": "string"
}
},
"type": "object"
},
- "polymarket.ProfileMatch": {
+ "mlb.TopicSuggestion": {
"properties": {
- "id": {
- "description": "Polymarket profile id.",
- "example": "123",
+ "display_name": {
"type": "string"
},
+ "fields": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
"name": {
- "description": "Display name of the profile.",
- "example": "Trader",
"type": "string"
},
- "username": {
- "description": "Username of the profile.",
- "example": "trader",
+ "slug": {
"type": "string"
}
},
"type": "object"
},
- "polymarket.PublicDataResponse": {
+ "mlb.Transaction": {
"properties": {
- "data": {
- "description": "Content returned for the requested route, as Polymarket returns it.",
- "type": "object"
+ "date": {
+ "type": "string"
},
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-06-07T11:00:00Z",
+ "description": {
"type": "string"
},
- "route": {
- "description": "Route key that was requested, for example `sports`.",
- "example": "sports",
+ "effective_date": {
"type": "string"
},
- "source_url": {
- "description": "URL the data was read from.",
- "example": "https://gamma-api.polymarket.com/sports",
+ "from_team": {
+ "$ref": "#/definitions/mlb.TeamRef"
+ },
+ "id": {
+ "type": "integer"
+ },
+ "player": {
+ "$ref": "#/definitions/mlb.NamedRef"
+ },
+ "to_team": {
+ "$ref": "#/definitions/mlb.TeamRef"
+ },
+ "type": {
"type": "string"
}
},
"type": "object"
},
- "polymarket.RewardsConfigSummary": {
+ "mlb.TransactionsResponse": {
"properties": {
- "asset_address": {
- "description": "Contract address of the token paid out as the reward.",
- "example": "0xC011a7E12a19f7B1f670d46F03B03f3342E82DFB",
- "type": "string"
+ "count": {
+ "type": "integer"
},
"end_date": {
- "description": "Date the reward program ends, in YYYY-MM-DD.",
- "example": "2500-12-31",
"type": "string"
},
- "id": {
- "description": "Id of the reward program configuration.",
- "example": 0,
- "type": "integer"
+ "fetched_at": {
+ "type": "string"
},
- "rate_per_day": {
- "description": "Reward amount paid per day.",
- "example": 10.00036,
- "type": "number"
+ "source_url": {
+ "type": "string"
},
"start_date": {
- "description": "Date the reward program starts, in YYYY-MM-DD.",
- "example": "2026-06-07",
"type": "string"
},
- "total_rewards": {
- "description": "Total reward amount configured for the program.",
- "example": 0,
- "type": "number"
+ "transactions": {
+ "items": {
+ "$ref": "#/definitions/mlb.Transaction"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "polymarket.RewardsMarketResponse": {
+ "mlb.VenueRef": {
"properties": {
- "condition_id": {
- "description": "Condition id of the market that was requested.",
- "example": "0x1a987cd4e88488fd12905fa9ae82cef381e03f4af68289275c4c0c2613db9327",
- "type": "string"
- },
- "count": {
- "description": "Number of reward markets returned.",
- "example": 1,
+ "id": {
"type": "integer"
},
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-06-07T11:00:00Z",
+ "name": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "mlb.boxscoreResponseDoc": {
+ "properties": {
+ "code": {
+ "type": "integer"
},
- "market": {
- "allOf": [
- {
- "$ref": "#/definitions/polymarket.RewardsMarketSummary"
- }
- ],
- "description": "Rewards details of the market."
+ "data": {
+ "$ref": "#/definitions/mlb.BoxscoreResponse"
},
- "source_url": {
- "description": "URL the data was read from.",
- "example": "https://clob.polymarket.com/rewards/markets/0x1a987cd4e88488fd12905fa9ae82cef381e03f4af68289275c4c0c2613db9327?sponsored=true",
+ "msg": {
"type": "string"
}
},
"type": "object"
},
- "polymarket.RewardsMarketSummary": {
+ "mlb.discoveryResponseDoc": {
"properties": {
- "condition_id": {
- "description": "Condition id that identifies the market on Polymarket.",
- "example": "0x2d293b8d8141edcc3317f6e677a01623dc482e7fe8eb4c4e207c9a0987c37d22",
- "type": "string"
- },
- "daily_reward_rate": {
- "description": "Daily reward rate offered for the market.",
- "example": 10.00036,
- "type": "number"
- },
- "earning_percentage": {
- "description": "Earning percentage Polymarket shows for the market.",
- "example": 0,
- "type": "number"
- },
- "earnings": {
- "description": "Reward earnings records for the market, as Polymarket returns them.",
- "items": {
- "type": "object"
- },
- "type": "array"
- },
- "event_id": {
- "description": "Polymarket id of the event the market belongs to.",
- "example": "568951",
- "type": "string"
- },
- "event_slug": {
- "description": "URL slug of the event the market belongs to.",
- "example": "sc2-hero-cure-2026-06-07",
- "type": "string"
- },
- "event_url": {
- "description": "Link to the event on polymarket.com.",
- "example": "https://polymarket.com/event/sc2-hero-cure-2026-06-07",
- "type": "string"
- },
- "image_url": {
- "description": "URL of the market's image.",
- "type": "string"
- },
- "maker_address": {
- "description": "Maker address Polymarket reports for the market's rewards.",
- "example": "0x0000000000000000000000000000000000000000",
- "type": "string"
- },
- "market_competitiveness": {
- "description": "Competitiveness score Polymarket shows for the market's rewards.",
- "example": 2.83,
- "type": "number"
- },
- "market_id": {
- "description": "Polymarket market id.",
- "example": "2461586",
- "type": "string"
- },
- "market_slug": {
- "description": "URL slug of the market.",
- "example": "sc2-hero-cure-2026-06-07",
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "market_url": {
- "description": "Link to the market on polymarket.com.",
- "example": "https://polymarket.com/event/sc2-hero-cure-2026-06-07/sc2-hero-cure-2026-06-07",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/mlb.MLBDiscoveryResponse"
},
- "question": {
- "description": "Question the market asks.",
- "example": "StarCraft II: herO vs Cure (BO7) - Global StarCraft II League Playoffs",
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "rewards_config": {
- "description": "Reward programs configured for the market, one item per program.",
- "items": {
- "$ref": "#/definitions/polymarket.RewardsConfigSummary"
- },
- "type": "array"
- },
- "rewards_max_spread": {
- "description": "Maximum spread an order can have and still qualify for rewards.",
- "example": 4.5,
- "type": "number"
- },
- "rewards_min_size": {
- "description": "Minimum order size that qualifies for rewards.",
- "example": 50,
- "type": "number"
- },
- "spread": {
- "description": "Current spread of the market.",
- "example": 0.01,
- "type": "number"
- },
- "tokens": {
- "description": "Outcome tokens of the market with their prices, one item per outcome.",
- "items": {
- "$ref": "#/definitions/polymarket.RewardsTokenSummary"
- },
- "type": "array"
- },
- "total_configured_rewards": {
- "description": "Total rewards configured for the market.",
- "example": 0,
- "type": "number"
- },
- "volume_24h": {
- "description": "Trading volume of the market over the last 24 hours.",
- "example": 79.9901,
- "type": "number"
}
},
"type": "object"
},
- "polymarket.RewardsMarketsResponse": {
+ "mlb.editorialFeedResponseDoc": {
"properties": {
- "count": {
- "description": "Number of reward markets returned on this page.",
- "example": 100,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "cursor": {
- "description": "Cursor that was used to fetch this page.",
- "example": "MA==",
- "type": "string"
- },
- "date": {
- "description": "Reward program date the markets apply to, in YYYY-MM-DD.",
- "example": "2026-06-07",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/mlb.EditorialFeedResponse"
},
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-06-07T11:00:00Z",
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "has_more": {
- "description": "`true` when more reward markets are available after this page.",
- "type": "boolean"
- },
- "limit": {
- "description": "Maximum number of rows requested.",
- "example": 100,
+ }
+ },
+ "type": "object"
+ },
+ "mlb.gameResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "markets": {
- "description": "Reward markets on this page, one item per market.",
- "items": {
- "$ref": "#/definitions/polymarket.RewardsMarketSummary"
- },
- "type": "array"
- },
- "next_cursor": {
- "description": "Cursor to pass to fetch the next page.",
- "example": "MTAw",
- "type": "string"
- },
- "order_by": {
- "description": "Field the markets are sorted by, for example `market`.",
- "example": "market",
- "type": "string"
- },
- "position": {
- "description": "Sort direction applied: `asc` or `desc`.",
- "example": "desc",
- "type": "string"
- },
- "q": {
- "description": "Market question search text that was applied.",
- "example": "bitcoin",
- "type": "string"
- },
- "source_url": {
- "description": "URL the data was read from.",
- "example": "https://polymarket.com/api/rewards/markets?orderBy=market",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/mlb.GameResponse"
},
- "tag_slug": {
- "description": "Rewards category the markets were filtered by, for example `all` or `politics`.",
- "example": "all",
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "total_count": {
- "description": "Total number of reward markets matching the filters.",
- "example": 5430,
- "type": "integer"
}
},
"type": "object"
},
- "polymarket.RewardsTokenSummary": {
+ "mlb.leagueLeadersResponseDoc": {
"properties": {
- "outcome": {
- "description": "Name of the outcome the token represents.",
- "example": "herO",
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "price": {
- "description": "Current price of the outcome token.",
- "example": 0.995,
- "type": "number"
+ "data": {
+ "$ref": "#/definitions/mlb.LeagueLeadersResponse"
},
- "token_id": {
- "description": "Token id of the outcome.",
- "example": "49033998602764986470838384384660931821099068366428064235699748485619139146655",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "polymarket.SearchResponse": {
+ "mlb.playByPlayResponseDoc": {
"properties": {
- "ascending": {
- "description": "`true` when results are sorted in ascending order.",
- "type": "boolean"
- },
- "events": {
- "description": "Events matching the search query, one item per event.",
- "items": {
- "$ref": "#/definitions/polymarket.EventSummary"
- },
- "type": "array"
- },
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-06-07T11:00:00Z",
- "type": "string"
- },
- "has_more": {
- "description": "`true` when more matching results exist beyond this page.",
- "type": "boolean"
- },
- "limit": {
- "description": "Maximum number of events requested.",
- "example": 10,
+ "code": {
"type": "integer"
},
- "profiles": {
- "description": "Polymarket profiles matching the query, one item per profile.",
- "items": {
- "$ref": "#/definitions/polymarket.ProfileMatch"
- },
- "type": "array"
- },
- "query": {
- "description": "Search text that was run.",
- "example": "bitcoin",
- "type": "string"
- },
- "sort": {
- "description": "Sort order applied to the results, for example `relevance`.",
- "example": "relevance",
- "type": "string"
- },
- "source_url": {
- "description": "URL the data was read from.",
- "example": "https://gamma-api.polymarket.com/public-search?q=bitcoin&limit_per_type=10",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/mlb.PlayByPlayResponse"
},
- "status": {
- "description": "Event status filter applied: `open`, `closed` or `all`.",
- "example": "open",
+ "msg": {
"type": "string"
- },
- "tags": {
- "description": "Tags matching the query, one item per tag.",
- "items": {
- "$ref": "#/definitions/polymarket.TagSummary"
- },
- "type": "array"
- },
- "total_results": {
- "description": "Total number of events matching the query.",
- "example": 123,
- "type": "integer"
}
},
"type": "object"
},
- "polymarket.SimilarEventsResponse": {
+ "mlb.playerResponseDoc": {
"properties": {
- "events": {
- "items": {
- "$ref": "#/definitions/polymarket.EventSummary"
- },
- "type": "array"
- },
- "fetched_at": {
- "example": "2026-06-07T11:00:00Z",
- "type": "string"
- },
- "limit": {
- "example": 10,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "source_url": {
- "example": "https://gamma-api.polymarket.com/events/similar?event_slug=world-cup-winner",
+ "data": {
+ "$ref": "#/definitions/mlb.PlayerResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "polymarket.TagResponse": {
+ "mlb.prospectRankingsResponseDoc": {
"properties": {
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-06-07T11:00:00Z",
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "source_url": {
- "description": "URL the data was read from.",
- "example": "https://gamma-api.polymarket.com/tags/slug/crypto",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/mlb.ProspectRankingsResponse"
},
- "tag": {
- "allOf": [
- {
- "$ref": "#/definitions/polymarket.TagSummary"
- }
- ],
- "description": "Tag that was requested."
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "polymarket.TagSummary": {
+ "mlb.prospectStatsResponseDoc": {
"properties": {
- "id": {
- "description": "Polymarket tag id.",
- "example": "21",
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "label": {
- "description": "Display name of the tag, for example `Crypto`.",
- "example": "Crypto",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/mlb.ProspectStatsResponse"
},
- "slug": {
- "description": "URL slug of the tag, for example `crypto`.",
- "example": "crypto",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "polymarket.TagsResponse": {
+ "mlb.rosterResponseDoc": {
"properties": {
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-06-07T11:00:00Z",
- "type": "string"
- },
- "limit": {
- "description": "Maximum number of tags requested.",
- "example": 25,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "offset": {
- "description": "Number of tags skipped before this page.",
- "example": 0,
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/mlb.RosterResponse"
},
- "source_url": {
- "description": "URL the data was read from.",
- "example": "https://gamma-api.polymarket.com/tags?limit=25",
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "tags": {
- "description": "Tags on this page, one item per tag.",
- "items": {
- "$ref": "#/definitions/polymarket.TagSummary"
- },
- "type": "array"
}
},
"type": "object"
},
- "polymarket.TokenMidpointResponse": {
+ "mlb.scheduleResponseDoc": {
"properties": {
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-06-07T11:00:00Z",
- "type": "string"
- },
- "midpoint": {
- "description": "Midpoint between the best bid and best ask for the token.",
- "example": 0.285,
- "type": "number"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "source_url": {
- "description": "URL the data was read from.",
- "example": "https://clob.polymarket.com/midpoint?token_id=81927025054404355287140018940169293739219157042658469116956164881873598220211",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/mlb.ScheduleResponse"
},
- "token_id": {
- "description": "Token id of the outcome that was requested.",
- "example": "81927025054404355287140018940169293739219157042658469116956164881873598220211",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "polymarket.TokenOrderBookResponse": {
+ "mlb.searchResponseDoc": {
"properties": {
- "book": {
- "allOf": [
- {
- "$ref": "#/definitions/polymarket.OrderBookSummary"
- }
- ],
- "description": "Order book for the token with its bids and asks."
- },
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-06-07T11:00:00Z",
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "source_url": {
- "description": "URL the data was read from.",
- "example": "https://clob.polymarket.com/book?token_id=81927025054404355287140018940169293739219157042658469116956164881873598220211",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/mlb.SearchResponse"
},
- "token_id": {
- "description": "Token id of the outcome that was requested.",
- "example": "81927025054404355287140018940169293739219157042658469116956164881873598220211",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "polymarket.TokenPriceHistoryResponse": {
+ "mlb.standingsResponseDoc": {
"properties": {
- "end_ts": {
- "example": 1780840800,
- "type": "integer"
- },
- "fetched_at": {
- "example": "2026-06-07T11:00:00Z",
- "type": "string"
- },
- "fidelity": {
- "example": 60,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "interval": {
- "example": "1d",
- "type": "string"
- },
- "points": {
- "items": {
- "$ref": "#/definitions/polymarket.PriceHistoryPoint"
- },
- "type": "array"
- },
- "source_url": {
- "example": "https://clob.polymarket.com/prices-history?fidelity=60&interval=1d&market=81927025054404355287140018940169293739219157042658469116956164881873598220211",
- "type": "string"
- },
- "start_ts": {
- "example": 1780754400,
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/mlb.StandingsResponse"
},
- "token_id": {
- "example": "81927025054404355287140018940169293739219157042658469116956164881873598220211",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "polymarket.TokenPriceResponse": {
+ "mlb.statcastABSChallengesResponseDoc": {
"properties": {
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-06-07T11:00:00Z",
- "type": "string"
- },
- "price": {
- "description": "Price quoted for the requested side.",
- "example": 0.03,
- "type": "number"
- },
- "side": {
- "description": "Order side the price applies to: `buy` or `sell`.",
- "example": "buy",
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "source_url": {
- "description": "URL the data was read from.",
- "example": "https://clob.polymarket.com/price?side=buy&token_id=81927025054404355287140018940169293739219157042658469116956164881873598220211",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/mlb.StatcastABSChallengesResponse"
},
- "token_id": {
- "description": "Token id of the outcome that was requested.",
- "example": "81927025054404355287140018940169293739219157042658469116956164881873598220211",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "polymarket.TokenSpreadResponse": {
+ "mlb.statcastActiveSpinResponseDoc": {
"properties": {
- "fetched_at": {
- "example": "2026-06-07T11:00:00Z",
+ "board": {
+ "example": "active-spin",
"type": "string"
},
- "source_url": {
- "example": "https://clob.polymarket.com/spread?token_id=81927025054404355287140018940169293739219157042658469116956164881873598220211",
+ "hand": {
+ "example": "R",
"type": "string"
},
- "spread": {
- "example": 0.51,
- "type": "number"
+ "min": {
+ "example": "50",
+ "type": "string"
},
- "token_id": {
- "example": "81927025054404355287140018940169293739219157042658469116956164881873598220211",
+ "rows": {
+ "items": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "total": {
+ "example": 712,
+ "type": "integer"
+ },
+ "year": {
+ "example": "2026_spin-based",
"type": "string"
}
},
"type": "object"
},
- "polymarket.TradeSummary": {
+ "mlb.statcastArmAngleResponseDoc": {
"properties": {
- "asset": {
- "description": "Token id of the outcome that was traded.",
- "example": "90219780179584544303349592653084019110196125806694819219181473744581426681835",
- "type": "string"
- },
- "bio": {
- "description": "Biography text from the trader's Polymarket profile.",
+ "bat_side": {
+ "example": "L",
"type": "string"
},
- "condition_id": {
- "description": "Condition id of the market the trade was made on.",
- "example": "0x3f2604d62ac3ee496ffd6d30156f30663fbaf22097f17f09d7364c35db255d2b",
+ "board": {
+ "example": "pitcher-arm-angle",
"type": "string"
},
- "event_slug": {
- "description": "URL slug of the event the trade belongs to.",
- "example": "btc-updown-15m-1780835400",
+ "date_end": {
+ "example": "2026-04-15",
"type": "string"
},
- "icon_url": {
- "description": "URL of the icon image for the traded market.",
+ "date_start": {
+ "example": "2026-03-25",
"type": "string"
},
- "name": {
- "description": "Display name from the trader's Polymarket profile.",
- "example": "trader",
+ "fetched_at": {
"type": "string"
},
- "outcome": {
- "description": "Name of the outcome that was traded, for example `Up`.",
- "example": "Up",
- "type": "string"
+ "game_types": {
+ "example": [
+ "R"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "outcome_index": {
- "description": "Position of the traded outcome within the market's outcomes, starting at 0.",
- "example": 0,
- "type": "integer"
+ "group_by": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "price": {
- "description": "Price per share at which the trade was made.",
- "example": 0.52744,
- "type": "number"
+ "league_average": {
+ "items": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "type": "array"
},
- "profile_image_optimized": {
- "description": "URL of an optimized version of the trader's profile image.",
- "type": "string"
+ "limit": {
+ "example": 100,
+ "type": "integer"
},
- "profile_image_url": {
- "description": "URL of the trader's profile image.",
+ "min": {
+ "example": "q",
"type": "string"
},
- "proxy_wallet": {
- "description": "Wallet address of the trader's Polymarket account.",
- "example": "0x400e9b5e37f7209adb6938d49d63c48f154319d2",
+ "min_group_pitches": {
+ "example": "1",
"type": "string"
},
- "pseudonym": {
- "description": "Pseudonym Polymarket assigned to the trader.",
- "example": "Noisy-Dimple",
- "type": "string"
+ "offset": {
+ "example": 0,
+ "type": "integer"
},
- "side": {
- "description": "Side of the trade: `BUY` or `SELL`.",
- "example": "BUY",
+ "pitch_hand": {
+ "example": "R",
"type": "string"
},
- "size": {
- "description": "Number of shares traded.",
- "example": 25,
- "type": "number"
+ "pitch_types": {
+ "example": [
+ "FF"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "slug": {
- "description": "URL slug of the market the trade was made on.",
- "example": "btc-updown-15m-1780835400",
- "type": "string"
+ "rows": {
+ "items": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "type": "array"
},
- "timestamp": {
- "description": "Time the trade was made, in Unix seconds.",
- "example": 1780835568,
- "type": "integer"
+ "seasons": {
+ "example": [
+ "2026"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "title": {
- "description": "Title of the market the trade was made on.",
- "example": "Bitcoin Up or Down - June 7, 8:30AM-8:45AM ET",
+ "sort": {
+ "example": "arm_angle",
"type": "string"
},
- "transaction_hash": {
- "description": "Hash of the transaction that settled the trade.",
- "example": "0x7ef90efb7e9f921509d8e82ecc76ed3d8384a3740d7ebd81d3bbbfd017899245",
+ "sort_dir": {
+ "example": "asc",
"type": "string"
},
- "url": {
- "description": "Link to the traded event on polymarket.com.",
- "example": "https://polymarket.com/event/btc-updown-15m-1780835400",
+ "source_url": {
"type": "string"
},
- "value": {
- "description": "Value of the trade, equal to `size` multiplied by `price`.",
- "example": 13.186,
- "type": "number"
+ "teams": {
+ "example": [
+ "147"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "total": {
+ "example": 276,
+ "type": "integer"
}
},
"type": "object"
},
- "polymarket.activityTradesResponseDoc": {
+ "mlb.statcastArmStrengthPlayerResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/polymarket.ActivityTradesResponse"
+ "$ref": "#/definitions/mlb.StatcastArmStrengthPlayerResponse"
},
"msg": {
"example": "OK",
@@ -160495,14 +165815,14 @@
},
"type": "object"
},
- "polymarket.batchTokenMidpointsResponseDoc": {
+ "mlb.statcastArmStrengthResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/polymarket.BatchTokenMidpointsResponse"
+ "$ref": "#/definitions/mlb.StatcastArmStrengthResponse"
},
"msg": {
"example": "OK",
@@ -160511,14 +165831,14 @@
},
"type": "object"
},
- "polymarket.batchTokenOrderBooksResponseDoc": {
+ "mlb.statcastArmValueDetailsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/polymarket.BatchTokenOrderBooksResponse"
+ "$ref": "#/definitions/mlb.StatcastArmValueDetailsResponse"
},
"msg": {
"example": "OK",
@@ -160527,14 +165847,14 @@
},
"type": "object"
},
- "polymarket.batchTokenPricesResponseDoc": {
+ "mlb.statcastArmValueResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/polymarket.BatchTokenPricesResponse"
+ "$ref": "#/definitions/mlb.StatcastArmValueResponse"
},
"msg": {
"example": "OK",
@@ -160543,190 +165863,217 @@
},
"type": "object"
},
- "polymarket.batchTokenSpreadsResponseDoc": {
+ "mlb.statcastBaserunningResponseDoc": {
"properties": {
"code": {
- "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/polymarket.BatchTokenSpreadsResponse"
+ "$ref": "#/definitions/mlb.StatcastBaserunningResponse"
},
"msg": {
- "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "polymarket.clobMarketResponseDoc": {
+ "mlb.statcastBatTrackingResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "board": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/polymarket.ClobMarketResponse"
+ "date_end": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "date_start": {
"type": "string"
- }
- },
- "type": "object"
- },
- "polymarket.eventDetailResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/polymarket.EventDetailResponse"
+ "fetched_at": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "game_type": {
"type": "string"
- }
- },
- "type": "object"
- },
- "polymarket.eventsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ },
+ "limit": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/polymarket.EventsResponse"
+ "min_group_swings": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "min_swings": {
"type": "string"
- }
- },
- "type": "object"
- },
- "polymarket.homepageFeedResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ },
+ "offset": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/polymarket.HomepageFeedResponse"
+ "rows": {
+ "items": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "season_end": {
"type": "string"
- }
- },
- "type": "object"
- },
- "polymarket.leaderboardResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/polymarket.LeaderboardResponse"
+ "season_start": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "sort": {
"type": "string"
- }
- },
- "type": "object"
- },
- "polymarket.macroDashboardResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/polymarket.MacroDashboardResponse"
+ "sort_dir": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "source_url": {
"type": "string"
- }
- },
- "type": "object"
- },
- "polymarket.marketDetailResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/polymarket.MarketDetailResponse"
+ "total": {
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "type": {
"type": "string"
}
},
"type": "object"
},
- "polymarket.marketLiquidityResponseDoc": {
+ "mlb.statcastBattedBallResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "board": {
+ "example": "batted-ball",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/polymarket.MarketLiquidityResponse"
+ "game_types": {
+ "example": [
+ "R"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "league_average": {
+ "items": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "min": {
+ "example": "q",
"type": "string"
- }
- },
- "type": "object"
- },
- "polymarket.marketsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/polymarket.MarketsResponse"
+ "min_split": {
+ "example": "1",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "rows": {
+ "items": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "seasons": {
+ "example": [
+ "2026"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "show_league_average": {
+ "example": true,
+ "type": "boolean"
+ },
+ "total": {
+ "example": 346,
+ "type": "integer"
+ },
+ "type": {
+ "example": "batter",
"type": "string"
}
},
"type": "object"
},
- "polymarket.predictionsResponseDoc": {
+ "mlb.statcastBirthdayIndexResponseDoc": {
"properties": {
- "code": {
- "example": 200,
+ "date": {
+ "example": "5-2",
+ "type": "string"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "limit": {
+ "example": 100,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/polymarket.PredictionsResponse"
+ "min_games": {
+ "example": 1,
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "offset": {
+ "example": 0,
+ "type": "integer"
+ },
+ "rows": {
+ "items": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "show_inactives": {
+ "example": false,
+ "type": "boolean"
+ },
+ "sort": {
+ "example": "daysUntil",
+ "type": "string"
+ },
+ "sort_dir": {
+ "example": "asc",
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "today_batters": {
+ "items": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "today_pitchers": {
+ "items": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "total": {
+ "example": 241,
+ "type": "integer"
+ },
+ "type": {
+ "example": "batter",
"type": "string"
}
},
"type": "object"
},
- "polymarket.publicDataResponseDoc": {
+ "mlb.statcastBoardResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/polymarket.PublicDataResponse"
+ "$ref": "#/definitions/mlb.StatcastBoardResponse"
},
"msg": {
"example": "OK",
@@ -160735,78 +166082,170 @@
},
"type": "object"
},
- "polymarket.rewardsMarketResponseDoc": {
+ "mlb.statcastCatcherBlockingDetailsResponseDoc": {
"properties": {
- "code": {
- "example": 200,
+ "board": {
+ "example": "catcher-blocking-details",
+ "type": "string"
+ },
+ "entity_id": {
+ "example": 682626,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/polymarket.RewardsMarketResponse"
+ "fetched_at": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "limit": {
+ "example": 100,
+ "type": "integer"
+ },
+ "offset": {
+ "example": 0,
+ "type": "integer"
+ },
+ "rows": {
+ "items": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "source_url": {
"type": "string"
+ },
+ "total": {
+ "example": 3319,
+ "type": "integer"
}
},
"type": "object"
},
- "polymarket.rewardsMarketsResponseDoc": {
+ "mlb.statcastCatcherBlockingResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "board": {
+ "example": "catcher-blocking",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/polymarket.RewardsMarketsResponse"
+ "fetched_at": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "game_type": {
+ "example": "Regular",
+ "type": "string"
+ },
+ "minimum": {
+ "example": "q",
+ "type": "string"
+ },
+ "rows": {
+ "items": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "total": {
+ "example": 74,
+ "type": "integer"
+ },
+ "type": {
+ "example": "Cat",
"type": "string"
}
},
"type": "object"
},
- "polymarket.searchResponseDoc": {
+ "mlb.statcastCatcherFramingDetailsResponseDoc": {
"properties": {
- "code": {
- "example": 200,
+ "board": {
+ "example": "catcher-framing-details",
+ "type": "string"
+ },
+ "entity_id": {
+ "example": 663886,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/polymarket.SearchResponse"
+ "fetched_at": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "limit": {
+ "example": 100,
+ "type": "integer"
+ },
+ "offset": {
+ "example": 0,
+ "type": "integer"
+ },
+ "rows": {
+ "items": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "source_url": {
"type": "string"
+ },
+ "total": {
+ "example": 8570,
+ "type": "integer"
}
},
"type": "object"
},
- "polymarket.similarEventsResponseDoc": {
+ "mlb.statcastCatcherFramingResponseDoc": {
"properties": {
- "code": {
- "example": 200,
+ "board": {
+ "example": "catcher-framing",
+ "type": "string"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "game_type": {
+ "example": "Regular",
+ "type": "string"
+ },
+ "limit": {
+ "example": 100,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/polymarket.SimilarEventsResponse"
+ "offset": {
+ "example": 0,
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "rows": {
+ "items": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "total": {
+ "example": 56,
+ "type": "integer"
+ },
+ "type": {
+ "example": "catcher",
"type": "string"
}
},
"type": "object"
},
- "polymarket.tagResponseDoc": {
+ "mlb.statcastCatcherPopTimeResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/polymarket.TagResponse"
+ "$ref": "#/definitions/mlb.StatcastCatcherPopTimeResponse"
},
"msg": {
"example": "OK",
@@ -160815,14 +166254,14 @@
},
"type": "object"
},
- "polymarket.tagsResponseDoc": {
+ "mlb.statcastCatcherStanceResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/polymarket.TagsResponse"
+ "$ref": "#/definitions/mlb.StatcastCatcherStanceResponse"
},
"msg": {
"example": "OK",
@@ -160831,14 +166270,14 @@
},
"type": "object"
},
- "polymarket.tokenMidpointResponseDoc": {
+ "mlb.statcastCatcherThrowingDetailsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/polymarket.TokenMidpointResponse"
+ "$ref": "#/definitions/mlb.StatcastCatcherThrowingDetailsResponse"
},
"msg": {
"example": "OK",
@@ -160847,14 +166286,14 @@
},
"type": "object"
},
- "polymarket.tokenOrderBookResponseDoc": {
+ "mlb.statcastCatcherThrowingResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/polymarket.TokenOrderBookResponse"
+ "$ref": "#/definitions/mlb.StatcastCatcherThrowingResponse"
},
"msg": {
"example": "OK",
@@ -160863,14 +166302,14 @@
},
"type": "object"
},
- "polymarket.tokenPriceHistoryResponseDoc": {
+ "mlb.statcastFieldingRunValueResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/polymarket.TokenPriceHistoryResponse"
+ "$ref": "#/definitions/mlb.StatcastFieldingRunValueResponse"
},
"msg": {
"example": "OK",
@@ -160879,14 +166318,14 @@
},
"type": "object"
},
- "polymarket.tokenPriceResponseDoc": {
+ "mlb.statcastFirstBaseReceivingDetailsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/polymarket.TokenPriceResponse"
+ "$ref": "#/definitions/mlb.StatcastFirstBaseReceivingDetailsResponse"
},
"msg": {
"example": "OK",
@@ -160895,14 +166334,14 @@
},
"type": "object"
},
- "polymarket.tokenSpreadResponseDoc": {
+ "mlb.statcastFirstBaseReceivingResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/polymarket.TokenSpreadResponse"
+ "$ref": "#/definitions/mlb.StatcastFirstBaseReceivingResponse"
},
"msg": {
"example": "OK",
@@ -160911,1542 +166350,1072 @@
},
"type": "object"
},
- "popeyes.Allergens": {
+ "mlb.statcastHomeRunsDetailsResponseDoc": {
"properties": {
- "celery": {
- "type": "number"
- },
- "eggs": {
- "type": "number"
- },
- "fish": {
- "type": "number"
- },
- "gluten": {
- "type": "number"
- },
- "lupin": {
- "type": "number"
- },
- "milk": {
- "type": "number"
- },
- "mustard": {
- "type": "number"
- },
- "peanuts": {
- "type": "number"
- },
- "sesame": {
- "type": "number"
+ "cat": {
+ "example": "adj_xhr",
+ "type": "string"
},
- "shellfish": {
- "type": "number"
+ "player_id": {
+ "example": "691718",
+ "type": "string"
},
- "soy": {
- "type": "number"
+ "player_type": {
+ "example": "Batter",
+ "type": "string"
},
- "sulphur_dioxide": {
- "type": "number"
+ "plays": {
+ "items": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "type": "array"
},
- "tree_nuts": {
- "type": "number"
+ "total": {
+ "example": 61,
+ "type": "integer"
},
- "wheat": {
- "type": "number"
+ "year": {
+ "example": "2026",
+ "type": "string"
}
},
"type": "object"
},
- "popeyes.DayHours": {
+ "mlb.statcastHomeRunsResponseDoc": {
"properties": {
- "close": {
- "example": "23:00:00",
- "type": "string"
- },
- "day": {
- "example": "monday",
+ "board": {
+ "example": "home-runs",
"type": "string"
},
- "open": {
- "example": "07:00:00",
- "type": "string"
- }
- },
- "type": "object"
- },
- "popeyes.FAQEntry": {
- "properties": {
- "answer": {
- "description": "Answer is the FAQ's own answer copy, plain-text extracted from\nPortable Text (links are dropped -- this is a display string, not a\nre-editable document).",
+ "cat": {
+ "example": "adj_xhr",
"type": "string"
},
- "id": {
- "example": "032999c6-ba27-4f8e-b20e-a4cb28e3c37c",
+ "min": {
+ "example": "10",
"type": "string"
},
- "question": {
- "example": "How do I remove items from my cart?",
+ "player_type": {
+ "example": "Batter",
"type": "string"
- }
- },
- "type": "object"
- },
- "popeyes.FAQResponse": {
- "properties": {
- "count": {
- "example": 20,
- "type": "integer"
},
- "entries": {
+ "rows": {
"items": {
- "$ref": "#/definitions/popeyes.FAQEntry"
+ "additionalProperties": {},
+ "type": "object"
},
"type": "array"
},
- "fetched_at": {
+ "sort": {
+ "example": "xhr",
"type": "string"
},
- "has_more": {
- "description": "HasMore is a paging heuristic -- see OffersResponse.HasMore.",
- "example": true,
- "type": "boolean"
+ "sort_dir": {
+ "example": "desc",
+ "type": "string"
},
- "source_url": {
+ "team": {
+ "example": "112",
+ "type": "string"
+ },
+ "total": {
+ "example": 49,
+ "type": "integer"
+ },
+ "year": {
+ "example": "2026",
"type": "string"
}
},
"type": "object"
},
- "popeyes.LocationResponse": {
+ "mlb.statcastParkFactorsResponseDoc": {
"properties": {
- "fetched_at": {
+ "board": {
+ "example": "statcast-park-factors",
"type": "string"
},
- "restaurant": {
- "$ref": "#/definitions/popeyes.Restaurant"
+ "rows": {
+ "items": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "type": "array"
},
- "source_url": {
+ "total": {
+ "example": 29,
+ "type": "integer"
+ },
+ "type": {
+ "example": "year",
"type": "string"
}
},
"type": "object"
},
- "popeyes.LocationsResponse": {
+ "mlb.statcastPercentileResponseDoc": {
"properties": {
- "count": {
- "example": 20,
- "type": "integer"
+ "board": {
+ "example": "percentile-rankings",
+ "type": "string"
},
"fetched_at": {
"type": "string"
},
- "has_more": {
- "example": true,
- "type": "boolean"
+ "filters": {
+ "items": {
+ "$ref": "#/definitions/mlb.StatcastPercentileFilter"
+ },
+ "type": "array"
},
- "restaurants": {
+ "limit": {
+ "example": 100,
+ "type": "integer"
+ },
+ "offset": {
+ "example": 0,
+ "type": "integer"
+ },
+ "rows": {
"items": {
- "$ref": "#/definitions/popeyes.Restaurant"
+ "additionalProperties": {},
+ "type": "object"
},
"type": "array"
},
+ "sort": {
+ "example": "percent_rank_xwoba",
+ "type": "string"
+ },
+ "sort_dir": {
+ "example": "desc",
+ "type": "string"
+ },
"source_url": {
"type": "string"
},
- "total_count": {
- "description": "TotalCount is how many restaurants matched upstream; it can exceed\nCount when more results exist than max_results asked for.",
- "example": 236,
+ "team": {
+ "example": "147",
+ "type": "string"
+ },
+ "total": {
+ "example": 28,
"type": "integer"
+ },
+ "type": {
+ "example": "batter",
+ "type": "string"
+ },
+ "year": {
+ "example": "2026",
+ "type": "string"
}
},
"type": "object"
},
- "popeyes.MenuCategory": {
+ "mlb.statcastPitchArsenalDetailsResponseDoc": {
"properties": {
- "featured": {
- "type": "boolean"
+ "pitch_type": {
+ "example": "FF",
+ "type": "string"
},
- "id": {
+ "player_id": {
+ "example": "592332",
"type": "string"
},
- "items": {
+ "player_type": {
+ "example": "pitcher",
+ "type": "string"
+ },
+ "plays": {
"items": {
- "$ref": "#/definitions/popeyes.MenuItem"
+ "additionalProperties": {},
+ "type": "object"
},
"type": "array"
},
- "name": {
- "example": "Chicken Wraps",
+ "total": {
+ "example": 416,
+ "type": "integer"
+ },
+ "year": {
+ "example": "2026",
"type": "string"
}
},
"type": "object"
},
- "popeyes.MenuItem": {
+ "mlb.statcastPitchArsenalResponseDoc": {
"properties": {
- "allergens": {
- "$ref": "#/definitions/popeyes.Allergens"
- },
- "id": {
- "example": "item_103182",
+ "board": {
+ "example": "pitch-arsenal-stats",
"type": "string"
},
- "image_url": {
+ "min_pa": {
+ "example": "1",
"type": "string"
},
- "name": {
- "example": "Cheese Bites",
+ "min_pitches": {
+ "example": "q",
"type": "string"
},
- "nutrition": {
- "$ref": "#/definitions/popeyes.Nutrition"
+ "rows": {
+ "items": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "type": "array"
},
- "price": {
- "$ref": "#/definitions/popeyes.Price"
+ "total": {
+ "example": 523,
+ "type": "integer"
},
"type": {
- "example": "ITEM",
+ "example": "pitcher",
+ "type": "string"
+ },
+ "year": {
+ "example": "2026",
"type": "string"
}
},
"type": "object"
},
- "popeyes.MenuResponse": {
+ "mlb.statcastPitchArsenalsResponseDoc": {
"properties": {
- "categories": {
- "items": {
- "$ref": "#/definitions/popeyes.MenuCategory"
- },
- "type": "array"
+ "board": {
+ "example": "pitch-arsenals",
+ "type": "string"
},
- "currency": {
- "example": "USD",
+ "hand": {
+ "example": "R",
"type": "string"
},
- "fetched_at": {
+ "min_pitches": {
+ "example": "q",
"type": "string"
},
- "item_count": {
- "example": 120,
+ "rows": {
+ "items": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "total": {
+ "example": 231,
"type": "integer"
},
- "source_url": {
+ "type": {
+ "example": "avg_speed",
"type": "string"
},
- "store_id": {
- "example": "14156",
+ "year": {
+ "example": "2026",
"type": "string"
}
},
"type": "object"
},
- "popeyes.Nutrition": {
+ "mlb.statcastPitchMovementResponseDoc": {
"properties": {
- "calories": {
- "example": 560,
- "type": "number"
- },
- "carbohydrates_g": {
- "example": 23,
- "type": "number"
- },
- "cholesterol_mg": {
- "example": 75,
- "type": "number"
- },
- "fat_g": {
- "example": 44,
- "type": "number"
- },
- "fiber_g": {
- "example": 2,
- "type": "number"
+ "board": {
+ "example": "pitch-movement",
+ "type": "string"
},
- "proteins_g": {
- "example": 17,
- "type": "number"
+ "hand": {
+ "example": "R",
+ "type": "string"
},
- "saturated_fat_g": {
- "type": "number"
+ "min": {
+ "example": "q",
+ "type": "string"
},
- "serving_weight_g": {
- "type": "number"
+ "pitch_type": {
+ "example": "FF",
+ "type": "string"
},
- "sodium_mg": {
- "example": 1470,
- "type": "number"
+ "rows": {
+ "items": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "type": "array"
},
- "sugar_g": {
- "example": 2,
- "type": "number"
+ "total": {
+ "example": 431,
+ "type": "integer"
},
- "trans_fat_g": {
- "example": 1,
- "type": "number"
+ "year": {
+ "example": "2026",
+ "type": "string"
}
},
"type": "object"
},
- "popeyes.Offer": {
+ "mlb.statcastPitchTempoPlayerResponseDoc": {
"properties": {
- "daypart": {
- "description": "Daypart restricts the offer to specific times of day (e.g.\n[\"allDay\"]), when Popeyes publishes a restriction.",
+ "entity_id": {
+ "example": "608718",
+ "type": "string"
+ },
+ "game_type": {
+ "example": "Regular",
+ "type": "string"
+ },
+ "rows": {
"items": {
- "type": "string"
+ "additionalProperties": {},
+ "type": "object"
},
"type": "array"
},
- "description": {
- "description": "Description is the offer's own short copy (e.g. what's included),\nwhen Popeyes publishes one.",
- "example": "3 Piece Chicken",
+ "season_end": {
+ "example": "2026",
"type": "string"
},
- "id": {
- "example": "00a369e5-1b33-4d35-b153-e372e3ebf17f",
+ "season_start": {
+ "example": "2026",
"type": "string"
},
- "mobile_order_only": {
- "description": "MobileOrderOnly is true when the offer is only redeemable through\nPopeyes' own mobile ordering flow.",
- "type": "boolean"
+ "total": {
+ "example": 10,
+ "type": "integer"
},
- "name": {
- "example": "3Pc Signature Chicken for $5",
+ "type": {
+ "example": "Pit",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "mlb.statcastPitchTempoResponseDoc": {
+ "properties": {
+ "board": {
+ "example": "pitch_tempo",
"type": "string"
},
- "offer_tag": {
- "description": "OfferTag is Popeyes' own short badge for the offer's kind (e.g.\nVALUE_DEAL, PERCENTAGE_OFF), when published.",
- "example": "VALUE_DEAL",
+ "game_type": {
+ "example": "Regular",
"type": "string"
},
- "price": {
- "example": 5,
- "type": "number"
+ "minimum_pitches": {
+ "example": "q",
+ "type": "string"
},
- "price_cents": {
- "description": "PriceCents/Price are the offer's flat price when it has one (e.g. \"3Pc\nSignature Chicken for $5\" prices at 500 cents). A value of 0 does not\nmean free -- it means the offer's discount is not expressed as a flat\nprice (see OfferTag/Name instead, e.g. a percentage-off or BOGO deal).",
- "example": 500,
- "type": "integer"
+ "rows": {
+ "items": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "type": "array"
},
- "redemption_type": {
- "description": "RedemptionType is how the offer is redeemed -- observed live values\ninclude STANDARD (in-app/online) and PAPER_COUPON.",
- "example": "STANDARD",
+ "season_end": {
+ "example": "2026",
"type": "string"
},
- "requires_authentication": {
- "description": "RequiresAuthentication is true when the offer's own published rules\nmark it as needing a signed-in Popeyes Rewards account to redeem --\nderived from the offer's rules, not assumed. This build does not\ncall any account/loyalty-scoped API; it only reports what the\noffer's own public CMS record says about itself.",
- "type": "boolean"
- },
- "section": {
- "description": "Section is the offer catalog's own grouping (e.g. \"For Two\"), when\nPopeyes assigns one -- most offers do not have one.",
- "example": "For Two",
+ "season_start": {
+ "example": "2026",
"type": "string"
},
- "short_code": {
- "description": "ShortCode is the offer's own promo/redemption code, when published.",
- "example": "8438",
+ "total": {
+ "example": 348,
+ "type": "integer"
+ },
+ "type": {
+ "example": "Pit",
"type": "string"
}
},
"type": "object"
},
- "popeyes.OffersResponse": {
+ "mlb.statcastPitchTimerResponseDoc": {
"properties": {
- "count": {
- "example": 20,
- "type": "integer"
- },
- "fetched_at": {
+ "board": {
+ "example": "pitch-timer-infractions",
"type": "string"
},
- "has_more": {
- "description": "HasMore is true when this page returned as many offers as Limit\nasked for, meaning more may exist at the next Offset. Sanity's\nGraphQL API for this dataset does not publish a total count for\nallSystemwideOffers, so this is a paging heuristic, not an exact\ntotal.",
- "example": true,
- "type": "boolean"
- },
- "offers": {
+ "rows": {
"items": {
- "$ref": "#/definitions/popeyes.Offer"
+ "additionalProperties": {},
+ "type": "object"
},
"type": "array"
},
- "source_url": {
+ "season": {
+ "example": "2026",
+ "type": "string"
+ },
+ "total": {
+ "example": 30,
+ "type": "integer"
+ },
+ "type": {
+ "example": "Team",
"type": "string"
}
},
"type": "object"
},
- "popeyes.Price": {
+ "mlb.statcastPlayerDetailsResponseDoc": {
"properties": {
- "default": {
- "example": 3.99,
- "type": "number"
- },
- "default_cents": {
- "example": 399,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "max": {
- "type": "number"
+ "data": {
+ "$ref": "#/definitions/mlb.StatcastPlayerDetailsResponse"
},
- "max_cents": {
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "mlb.statcastResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "min": {
- "type": "number"
+ "data": {
+ "$ref": "#/definitions/mlb.StatcastResponse"
},
- "min_cents": {
- "type": "integer"
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "popeyes.Promotion": {
+ "mlb.statcastRollingResponseDoc": {
"properties": {
- "bonus_points": {
- "description": "BonusPoints is set for a flat bonus-points promotion.",
- "example": 300,
- "type": "integer"
- },
- "end_date": {
- "example": "2021-08-16T04:00:00.000Z",
+ "fetched_at": {
"type": "string"
},
- "id": {
- "example": "11d41e3c-75b5-458c-8166-7cdfb20a635a",
- "type": "string"
+ "groups": {
+ "items": {
+ "$ref": "#/definitions/mlb.StatcastRollingGroup"
+ },
+ "type": "array"
},
- "message": {
- "description": "Message is the promotion's own display copy, when Popeyes publishes\none distinct from Name.",
- "example": "Get Double Bonus Points on Your Cart, minimum $20",
- "type": "string"
+ "limit": {
+ "example": 100,
+ "type": "integer"
},
- "name": {
- "description": "Name is the promotion's own internal/public label.",
- "example": "Get Double Bonus Points on Your Cart, minimum $20",
+ "metric": {
+ "example": "xwoba",
"type": "string"
},
- "points_multiplier": {
- "description": "PointsMultiplier is set for a \"Nx points\" style promotion (e.g. 2 for\ndouble points); mutually exclusive in practice with BonusPoints.",
- "example": 2,
- "type": "number"
+ "offset": {
+ "example": 0,
+ "type": "integer"
},
- "start_date": {
- "description": "StartDate/EndDate bound the promotion's active window, when Popeyes\npublishes one -- both empty means no published window restriction.",
- "example": "2021-08-02T04:00:00.000Z",
+ "source_url": {
"type": "string"
+ },
+ "total": {
+ "example": 2509,
+ "type": "integer"
}
},
"type": "object"
},
- "popeyes.PromotionsResponse": {
+ "mlb.statcastRunValueResponseDoc": {
"properties": {
- "count": {
- "example": 20,
- "type": "integer"
- },
- "fetched_at": {
+ "board": {
+ "example": "swing-take",
"type": "string"
},
- "has_more": {
- "description": "HasMore is a paging heuristic -- see OffersResponse.HasMore.",
- "example": true,
- "type": "boolean"
+ "group": {
+ "example": "Batter",
+ "type": "string"
},
- "promotions": {
+ "rows": {
"items": {
- "$ref": "#/definitions/popeyes.Promotion"
+ "additionalProperties": {},
+ "type": "object"
},
"type": "array"
},
- "source_url": {
+ "total": {
+ "example": 300,
+ "type": "integer"
+ },
+ "year": {
+ "example": "2026",
"type": "string"
}
},
"type": "object"
},
- "popeyes.Quest": {
+ "mlb.statcastRunningGameDetailsResponseDoc": {
"properties": {
- "bonus_points": {
- "description": "BonusPoints is the loyalty points awarded on completion, when the\nincentive is points-based.",
- "example": 550,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "id": {
- "example": "38fe1c9c-6c2b-4d1b-ab86-7bf61105fdfb",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/mlb.StatcastRunningGameDetailsResponse"
},
- "incentive_type": {
- "description": "IncentiveType is the reward mechanic -- observed live value is\nBONUS_POINTS; kept as a raw pass-through string since other values may\nexist that this pass did not observe.",
- "example": "BONUS_POINTS",
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "mlb.statcastRunningGameResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "is_sequential": {
- "description": "IsSequential is true when the quest's steps must be completed in\norder.",
- "type": "boolean"
- },
- "must_activate_by": {
- "description": "MustActivateBy is the last date a member could opt in to this quest,\nwhen Popeyes publishes one.",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/mlb.StatcastRunningGameResponse"
},
- "name": {
- "description": "Name is the quest's own public display copy.",
- "example": "July Challenge: Make Two Purchases, Get FREE Chicken Sandwich in the form of 550 Bonus Points",
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "on_distinct_purchases": {
- "description": "OnDistinctPurchases is true when each qualifying step must be a\nseparate purchase (observed true on every live quest sampled).",
- "type": "boolean"
- },
- "step_count": {
- "description": "StepCount is how many steps make up the quest. This endpoint does not\nexpose each step's own purchase-requirement rules.",
- "type": "integer"
}
},
"type": "object"
},
- "popeyes.QuestsResponse": {
+ "mlb.statcastSprintSpeedResponseDoc": {
"properties": {
- "count": {
- "example": 10,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "fetched_at": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/mlb.StatcastSprintSpeedResponse"
},
- "has_more": {
- "description": "HasMore is a paging heuristic -- see OffersResponse.HasMore.",
- "example": false,
- "type": "boolean"
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "mlb.statcastSprintSpeedTeamsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "quests": {
- "items": {
- "$ref": "#/definitions/popeyes.Quest"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/mlb.StatcastSprintSpeedTeamsResponse"
},
- "source_url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "popeyes.Restaurant": {
+ "mlb.statcastSwingPathResponseDoc": {
"properties": {
- "address": {
- "example": "111 Fulton St",
+ "board": {
+ "example": "swing-path-attack-angle",
"type": "string"
},
- "address2": {
+ "game_type": {
+ "example": "Regular",
"type": "string"
},
- "city": {
- "example": "New York",
- "type": "string"
+ "rows": {
+ "items": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "type": "array"
},
- "country": {
- "example": "USA",
+ "season_end": {
+ "example": "2026",
"type": "string"
},
- "has_breakfast": {
- "example": false,
- "type": "boolean"
- },
- "has_delivery": {
- "example": true,
- "type": "boolean"
- },
- "has_drive_thru": {
- "example": false,
- "type": "boolean"
- },
- "has_playground": {
- "example": false,
- "type": "boolean"
- },
- "has_takeout": {
- "example": true,
- "type": "boolean"
- },
- "has_wifi": {
- "example": false,
- "type": "boolean"
- },
- "hours": {
- "$ref": "#/definitions/popeyes.RestaurantHours"
- },
- "id": {
- "example": "restaurant_242928",
+ "season_start": {
+ "example": "2026",
"type": "string"
},
- "is_dark_kitchen": {
- "example": false,
- "type": "boolean"
- },
- "is_halal": {
- "example": false,
- "type": "boolean"
- },
- "latitude": {
- "example": 40.709873,
- "type": "number"
- },
- "longitude": {
- "example": -74.006601,
- "type": "number"
- },
- "name": {
- "example": "111 Fulton St New York, New York 10038 - USA",
- "type": "string"
+ "total": {
+ "example": 203,
+ "type": "integer"
},
- "operator": {
- "description": "Operator is the franchise group operating this location, when RBI\npublishes one.",
+ "type": {
+ "example": "batter",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "mlb.statcastSwingTimingDetailsResponseDoc": {
+ "properties": {
+ "details": {
+ "additionalProperties": {
+ "items": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "type": "object"
},
- "phone": {
- "example": "929-579-0553",
+ "fetched_at": {
"type": "string"
},
- "postal_code": {
- "example": "10038",
+ "row_id": {
"type": "string"
},
- "state": {
- "example": "NY",
+ "source_url": {
"type": "string"
},
- "store_id": {
- "example": "14156",
- "type": "string"
+ "total": {
+ "type": "integer"
},
- "website_url": {
- "example": "https://www.popeyes.com/store-locator/store/restaurant_242928",
+ "type": {
"type": "string"
}
},
"type": "object"
},
- "popeyes.RestaurantHours": {
+ "mlb.statcastSwingTimingResponseDoc": {
"properties": {
- "curbside": {
+ "board": {
+ "example": "swing-timing-miss-distance",
+ "type": "string"
+ },
+ "game_types": {
+ "example": [
+ "R"
+ ],
"items": {
- "$ref": "#/definitions/popeyes.DayHours"
+ "type": "string"
},
"type": "array"
},
- "delivery": {
+ "rows": {
"items": {
- "$ref": "#/definitions/popeyes.DayHours"
+ "additionalProperties": {},
+ "type": "object"
},
"type": "array"
},
- "dining_room": {
+ "seasons": {
+ "example": [
+ "2026"
+ ],
"items": {
- "$ref": "#/definitions/popeyes.DayHours"
+ "type": "string"
},
"type": "array"
},
- "drive_thru": {
+ "splits": {
+ "example": [
+ "api_pitch_type_group09"
+ ],
"items": {
- "$ref": "#/definitions/popeyes.DayHours"
+ "type": "string"
},
"type": "array"
+ },
+ "total": {
+ "example": 926,
+ "type": "integer"
+ },
+ "type": {
+ "example": "batter",
+ "type": "string"
}
},
"type": "object"
},
- "popeyes.Reward": {
+ "mlb.statcastTopPerformersResponseDoc": {
"properties": {
- "id": {
- "example": "09acd09f-2ca5-4259-934c-0345356b2bb0",
- "type": "string"
- },
- "incentive_not_in_menu": {
- "description": "IncentiveNotInMenu is true when Popeyes marks the reward's item as\nnot otherwise purchasable on the regular menu (a rewards-exclusive\nitem or bundle).",
- "type": "boolean"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "mobile_order_only": {
- "description": "MobileOrderOnly is true when the reward is only redeemable through\nPopeyes' own mobile ordering flow, when Popeyes publishes that\nrestriction.",
- "type": "boolean"
+ "data": {
+ "$ref": "#/definitions/mlb.StatcastTopPerformersResponse"
},
- "name": {
- "description": "Name is the reward's own public display copy -- typically the menu\nitem or combo name it redeems.",
- "example": "Large Mashed Potatoes",
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "points": {
- "description": "Points is the loyalty points cost to redeem, from the reward's own\nLoyaltyPoints rule.",
- "example": 600,
- "type": "integer"
}
},
"type": "object"
},
- "popeyes.RewardsResponse": {
+ "mlb.statcastYearToYearResponseDoc": {
"properties": {
- "count": {
- "example": 20,
- "type": "integer"
+ "board": {
+ "example": "year-to-year",
+ "type": "string"
},
"fetched_at": {
"type": "string"
},
- "has_more": {
- "description": "HasMore is a paging heuristic -- see OffersResponse.HasMore.",
- "example": true,
- "type": "boolean"
+ "group": {
+ "example": "Batter",
+ "type": "string"
},
- "rewards": {
+ "limit": {
+ "example": 100,
+ "type": "integer"
+ },
+ "next_year": {
+ "example": 2026,
+ "type": "integer"
+ },
+ "offset": {
+ "example": 0,
+ "type": "integer"
+ },
+ "rows": {
"items": {
- "$ref": "#/definitions/popeyes.Reward"
+ "additionalProperties": {},
+ "type": "object"
},
"type": "array"
},
+ "sort": {
+ "example": "hard_hit_percent_diff_2025",
+ "type": "string"
+ },
+ "sort_dir": {
+ "example": "desc",
+ "type": "string"
+ },
"source_url": {
"type": "string"
+ },
+ "total": {
+ "example": 177,
+ "type": "integer"
+ },
+ "type": {
+ "example": "hard_hit_percent",
+ "type": "string"
+ },
+ "year": {
+ "example": "2025",
+ "type": "string"
}
},
"type": "object"
},
- "popeyes.faqResponseDoc": {
+ "mlb.statsResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/popeyes.FAQResponse"
+ "$ref": "#/definitions/mlb.StatsResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "popeyes.locationResponseDoc": {
+ "mlb.teamsResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/popeyes.LocationResponse"
- },
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
- }
- },
- "type": "object"
- },
- "popeyes.locationsResponseDoc": {
- "properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/popeyes.LocationsResponse"
- },
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
- }
- },
- "type": "object"
- },
- "popeyes.menuResponseDoc": {
- "properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/popeyes.MenuResponse"
+ "$ref": "#/definitions/mlb.TeamsResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "popeyes.offersResponseDoc": {
+ "mlb.transactionsResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/popeyes.OffersResponse"
+ "$ref": "#/definitions/mlb.TransactionsResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "type": "string"
}
},
"type": "object"
},
- "popeyes.promotionsResponseDoc": {
+ "modaoperandi.CategoriesResponse": {
"properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/popeyes.PromotionsResponse"
+ "availability": {
+ "additionalProperties": {
+ "type": "integer"
+ },
+ "type": "object"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
- }
- },
- "type": "object"
- },
- "popeyes.questsResponseDoc": {
- "properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/modaoperandi.Category"
+ },
+ "type": "array"
},
- "data": {
- "$ref": "#/definitions/popeyes.QuestsResponse"
+ "colors": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
- }
- },
- "type": "object"
- },
- "popeyes.rewardsResponseDoc": {
- "properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
+ "designers": {
+ "items": {
+ "$ref": "#/definitions/modaoperandi.Designer"
+ },
+ "type": "array"
},
- "data": {
- "$ref": "#/definitions/popeyes.RewardsResponse"
+ "gender": {
+ "type": "string"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
- }
- },
- "type": "object"
- },
- "popularTrend.CountryIndustryMeta": {
- "properties": {
- "country": {
- "description": "Countries TikTok Creative Center offers as filters, each with its code and name.",
+ "sizes": {
"items": {
- "$ref": "#/definitions/popularTrend.CountryIndustryMetaItem"
+ "type": "string"
},
"type": "array"
},
- "industry": {
- "description": "Industries TikTok Creative Center offers as filters, each with its id and name.",
+ "sorts": {
"items": {
- "$ref": "#/definitions/popularTrend.CountryIndustryMetaItem"
+ "type": "string"
},
"type": "array"
}
},
"type": "object"
},
- "popularTrend.CountryIndustryMetaItem": {
+ "modaoperandi.Category": {
"properties": {
- "id": {
- "description": "Country code or industry id, for example `AR` or `22000000000`.",
+ "name": {
"type": "string"
},
- "value": {
- "description": "Display name of the country or industry.",
+ "slug": {
"type": "string"
- }
- },
- "type": "object"
- },
- "popularTrend.TopAdsAnalysisPoint": {
- "properties": {
- "second": {
- "description": "Second of the ad video the point refers to.",
- "type": "integer"
},
- "value": {
- "description": "Value of the selected metric at that second.",
- "type": "number"
- }
- },
- "type": "object"
- },
- "popularTrend.TopAdsAnalysisResp": {
- "properties": {
- "code": {
+ "total_items": {
"type": "integer"
},
- "data": {
- "description": "Time analysis of the ad for the chosen metric, with its percentile, chart points and highlighted seconds.",
- "properties": {
- "analysis": {
- "items": {
- "$ref": "#/definitions/popularTrend.TopAdsAnalysisPoint"
- },
- "type": "array"
- },
- "duration": {
- "type": "number"
- },
- "highlight": {
- "items": {
- "type": "integer"
- },
- "type": "array"
- },
- "metric": {
- "type": "string"
- },
- "metric_label": {
- "type": "string"
- },
- "percentile": {
- "type": "number"
- },
- "percentile_data": {
- "additionalProperties": {
- "format": "float64",
- "type": "number"
- },
- "type": "object"
- },
- "percentile_metric": {
- "type": "string"
- },
- "period_type": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "msg": {
- "type": "string"
- },
- "request_id": {
- "description": "Request id returned by TikTok Creative Center.",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "popularTrend.TopAdsDetailResp": {
+ "modaoperandi.Designer": {
"properties": {
- "code": {
- "type": "integer"
- },
- "data": {
- "allOf": [
- {
- "$ref": "#/definitions/popularTrend.TopAdsMaterial"
- }
- ],
- "description": "Details of the requested top ad."
- },
- "msg": {
- "type": "string"
- },
- "request_id": {
- "description": "Request id returned by TikTok Creative Center.",
+ "name": {
"type": "string"
- }
- },
- "type": "object"
- },
- "popularTrend.TopAdsFilterItem": {
- "properties": {
- "has_conversion": {
- "description": "Whether the objective is one that tracks conversions. Only set on objective options.",
- "type": "boolean"
- },
- "id": {
- "description": "Filter option id in TikTok's own format, a string or a number depending on the filter.",
- "type": "object"
},
- "label": {
- "description": "Label key TikTok uses for the option.",
+ "slug": {
"type": "string"
},
- "parent_id": {
- "description": "Id of the parent option, for example the top-level industry of a sub-industry.",
- "type": "object"
- },
- "value": {
- "description": "Display value of the option, always returned as a string.",
- "type": "string"
+ "total_items": {
+ "type": "integer"
}
},
"type": "object"
},
- "popularTrend.TopAdsFiltersResp": {
+ "modaoperandi.DesignersResponse": {
"properties": {
- "code": {
+ "count": {
"type": "integer"
},
- "data": {
- "description": "Filter options available for top ads, grouped by filter name.",
- "properties": {
- "ad_format": {
- "items": {
- "$ref": "#/definitions/popularTrend.TopAdsFilterItem"
- },
- "type": "array"
- },
- "ad_language": {
- "items": {
- "$ref": "#/definitions/popularTrend.TopAdsFilterItem"
- },
- "type": "array"
- },
- "analysis_metric": {
- "items": {
- "$ref": "#/definitions/popularTrend.TopAdsFilterItem"
- },
- "type": "array"
- },
- "country": {
- "items": {
- "$ref": "#/definitions/popularTrend.TopAdsFilterItem"
- },
- "type": "array"
- },
- "duration": {
- "items": {
- "$ref": "#/definitions/popularTrend.TopAdsFilterItem"
- },
- "type": "array"
- },
- "industry": {
- "items": {
- "$ref": "#/definitions/popularTrend.TopAdsFilterItem"
- },
- "type": "array"
- },
- "like": {
- "items": {
- "$ref": "#/definitions/popularTrend.TopAdsFilterItem"
- },
- "type": "array"
- },
- "objective": {
- "items": {
- "$ref": "#/definitions/popularTrend.TopAdsFilterItem"
- },
- "type": "array"
- },
- "order_by": {
- "items": {
- "$ref": "#/definitions/popularTrend.TopAdsFilterItem"
- },
- "type": "array"
- },
- "pattern_label": {
- "items": {
- "$ref": "#/definitions/popularTrend.TopAdsFilterItem"
- },
- "type": "array"
- },
- "period": {
- "items": {
- "$ref": "#/definitions/popularTrend.TopAdsFilterItem"
- },
- "type": "array"
- }
+ "designers": {
+ "items": {
+ "$ref": "#/definitions/modaoperandi.Designer"
},
- "type": "object"
- },
- "msg": {
- "type": "string"
+ "type": "array"
},
- "request_id": {
- "description": "Request id returned by TikTok Creative Center.",
+ "gender": {
"type": "string"
}
},
"type": "object"
},
- "popularTrend.TopAdsListResp": {
+ "modaoperandi.Detail": {
"properties": {
- "code": {
- "type": "integer"
- },
- "data": {
- "description": "Page of top ads with its paging information.",
- "properties": {
- "materials": {
- "items": {
- "$ref": "#/definitions/popularTrend.TopAdsMaterial"
- },
- "type": "array"
- },
- "pagination": {
- "$ref": "#/definitions/popularTrend.TopAdsPagination"
- }
- },
- "type": "object"
- },
- "msg": {
+ "availability": {
"type": "string"
},
- "request_id": {
- "description": "Request id returned by TikTok Creative Center.",
+ "color": {
"type": "string"
- }
- },
- "type": "object"
- },
- "popularTrend.TopAdsLocationInfoResp": {
- "properties": {
- "code": {
- "type": "integer"
- },
- "data": {
- "description": "Initial country and industry targeting that TikTok Creative Center infers.",
- "properties": {
- "first_industry": {
- "type": "object"
- },
- "initial_country": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "l1_industry": {
- "type": "integer"
- },
- "l2_industry": {
- "type": "integer"
- },
- "second_industry": {
- "type": "object"
- }
- },
- "type": "object"
},
- "msg": {
+ "currency": {
"type": "string"
},
- "request_id": {
- "description": "Request id returned by TikTok Creative Center.",
+ "description": {
"type": "string"
- }
- },
- "type": "object"
- },
- "popularTrend.TopAdsLocationsResp": {
- "properties": {
- "code": {
- "type": "integer"
- },
- "data": {
- "description": "Countries available for top ads targeting.",
- "properties": {
- "country": {
- "items": {
- "$ref": "#/definitions/popularTrend.TopAdsFilterItem"
- },
- "type": "array"
- }
- },
- "type": "object"
},
- "msg": {
+ "designer": {
"type": "string"
},
- "request_id": {
- "description": "Request id returned by TikTok Creative Center.",
- "type": "string"
- }
- },
- "type": "object"
- },
- "popularTrend.TopAdsMaterial": {
- "properties": {
- "ad_title": {
- "description": "Title of the ad.",
+ "details": {
"type": "string"
},
- "brand_name": {
- "description": "Name of the advertiser brand.",
+ "id": {
"type": "string"
},
- "comment": {
- "description": "Number of comments on the ad.",
- "type": "integer"
- },
- "cost": {
- "description": "Cost figure for the ad as TikTok Creative Center reports it.",
- "type": "integer"
- },
- "country_code": {
- "description": "Country codes the ad runs in.",
+ "images": {
"items": {
"type": "string"
},
"type": "array"
},
- "ctr": {
- "description": "Click-through rate of the ad as TikTok Creative Center reports it.",
- "type": "number"
- },
- "favorite": {
- "description": "Whether the ad is marked as a favorite.",
- "type": "boolean"
- },
- "has_summary": {
- "description": "Whether TikTok has an ad summary available for the ad.",
+ "in_stock": {
"type": "boolean"
},
- "highlight": {
- "description": "Highlight note TikTok attaches to the ad.",
- "type": "string"
- },
- "highlight_text": {
- "description": "Text shown for the ad's highlight.",
- "type": "string"
- },
- "id": {
- "description": "Top Ads material id. Use it with the detail, analysis and recommend endpoints.",
- "type": "string"
- },
- "industry_key": {
- "description": "Key of the industry the ad is classified under.",
+ "name": {
"type": "string"
},
- "is_search": {
- "description": "Search flag TikTok sets on the ad.",
- "type": "boolean"
+ "price": {
+ "type": "number"
},
- "keyword_list": {
- "description": "Keywords associated with the ad.",
+ "sizes": {
"items": {
"type": "string"
},
"type": "array"
},
- "landing_page": {
- "description": "URL of the ad's landing page.",
- "type": "string"
- },
- "like": {
- "description": "Number of likes on the ad.",
- "type": "integer"
- },
- "objective_key": {
- "description": "Key of the campaign objective of the ad.",
+ "url": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "modaoperandi.Facets": {
+ "properties": {
+ "availability": {
+ "additionalProperties": {
+ "type": "integer"
+ },
+ "type": "object"
},
- "objectives": {
- "description": "Campaign objectives of the ad, each with its id, value and label.",
+ "categories": {
"items": {
- "$ref": "#/definitions/popularTrend.TopAdsFilterItem"
+ "$ref": "#/definitions/modaoperandi.Category"
},
"type": "array"
},
- "pattern_label": {
- "description": "Creative pattern labels assigned to the ad.",
+ "colors": {
"items": {
- "$ref": "#/definitions/popularTrend.TopAdsFilterItem"
+ "type": "string"
},
"type": "array"
},
- "share": {
- "description": "Number of shares of the ad.",
- "type": "integer"
- },
- "source": {
- "description": "Source label of the ad as TikTok Creative Center shows it.",
- "type": "string"
- },
- "source_key": {
- "description": "Numeric key of the ad's source.",
- "type": "integer"
- },
- "video_info": {
- "allOf": [
- {
- "$ref": "#/definitions/popularTrend.TopAdsVideoInfo"
- }
- ],
- "description": "Video file details of the ad."
- },
- "voice_over": {
- "description": "Whether the ad video has a voice-over.",
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "popularTrend.TopAdsPagination": {
- "properties": {
- "has_more": {
- "description": "Whether more pages of ads are available.",
- "type": "boolean"
- },
- "page": {
- "description": "Page number returned.",
- "type": "integer"
- },
- "size": {
- "description": "Number of ads per page.",
- "type": "integer"
+ "designers": {
+ "items": {
+ "$ref": "#/definitions/modaoperandi.Designer"
+ },
+ "type": "array"
},
- "total": {
- "description": "Total number of matching ads. Set on spotlight responses.",
- "type": "integer"
+ "sizes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "total_count": {
- "description": "Total number of matching ads. Set on list responses.",
- "type": "integer"
+ "sorts": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "popularTrend.TopAdsRecommendResp": {
+ "modaoperandi.Product": {
"properties": {
- "code": {
- "type": "integer"
- },
- "data": {
- "description": "Ads related to the requested ad.",
- "properties": {
- "materials": {
- "items": {
- "$ref": "#/definitions/popularTrend.TopAdsMaterial"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "msg": {
+ "availability": {
"type": "string"
},
- "request_id": {
- "description": "Request id returned by TikTok Creative Center.",
+ "color": {
"type": "string"
- }
- },
- "type": "object"
- },
- "popularTrend.TopAdsSafetyResp": {
- "properties": {
- "code": {
- "type": "integer"
- },
- "data": {
- "description": "Creative Center safety configuration flags for its search surfaces.",
- "properties": {
- "cc_banner_key": {
- "type": "string"
- },
- "creator_search": {
- "type": "integer"
- },
- "hashtag_search": {
- "type": "integer"
- },
- "keyword_search": {
- "type": "integer"
- },
- "sound_search": {
- "type": "integer"
- },
- "top_ads_search": {
- "type": "integer"
- }
- },
- "type": "object"
},
- "msg": {
+ "currency": {
"type": "string"
},
- "request_id": {
- "description": "Request id returned by TikTok Creative Center.",
+ "designer": {
"type": "string"
- }
- },
- "type": "object"
- },
- "popularTrend.TopAdsSpotlightResp": {
- "properties": {
- "code": {
- "type": "integer"
},
- "data": {
- "description": "Page of spotlight top ads with its paging information.",
- "properties": {
- "materials": {
- "items": {
- "$ref": "#/definitions/popularTrend.TopAdsMaterial"
- },
- "type": "array"
- },
- "pagination": {
- "$ref": "#/definitions/popularTrend.TopAdsPagination"
- }
- },
- "type": "object"
- },
- "msg": {
+ "id": {
"type": "string"
},
- "request_id": {
- "description": "Request id returned by TikTok Creative Center.",
+ "image_url": {
"type": "string"
- }
- },
- "type": "object"
- },
- "popularTrend.TopAdsSuggestionsResp": {
- "properties": {
- "code": {
- "type": "integer"
},
- "data": {
- "description": "Suggested search queries for top ads.",
- "properties": {
- "query": {
- "items": {
- "type": "string"
- },
- "type": "array"
- }
- },
- "type": "object"
+ "in_stock": {
+ "type": "boolean"
},
- "msg": {
+ "name": {
"type": "string"
},
- "request_id": {
- "description": "Request id returned by TikTok Creative Center.",
+ "price": {
+ "type": "number"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "popularTrend.TopAdsVideoInfo": {
+ "modaoperandi.SearchResponse": {
"properties": {
- "cover": {
- "description": "URL of the video cover image.",
+ "category": {
"type": "string"
},
- "duration": {
- "description": "Video length in seconds.",
- "type": "number"
- },
- "height": {
- "description": "Video height as TikTok reports it.",
+ "count": {
"type": "integer"
},
- "vid": {
- "description": "TikTok video id.",
- "type": "string"
+ "facets": {
+ "$ref": "#/definitions/modaoperandi.Facets"
},
- "video_url": {
- "additionalProperties": {
- "type": "string"
- },
- "description": "Video file URLs keyed by resolution label, for example `720p`.",
- "type": "object"
+ "gender": {
+ "type": "string"
},
- "width": {
- "description": "Video width as TikTok reports it.",
- "type": "integer"
- }
- },
- "type": "object"
- },
- "populartrend.countryIndustryMetaResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ "limit": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/popularTrend.CountryIndustryMeta"
- },
- "msg": {
- "example": "OK",
- "type": "string"
- }
- },
- "type": "object"
- },
- "populartrend.topAdsAnalysisResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ "page": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/popularTrend.TopAdsAnalysisResp"
+ "products": {
+ "items": {
+ "$ref": "#/definitions/modaoperandi.Product"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "query": {
"type": "string"
- }
- },
- "type": "object"
- },
- "populartrend.topAdsDetailResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/popularTrend.TopAdsDetailResp"
- },
- "msg": {
- "example": "OK",
+ "source_url": {
"type": "string"
- }
- },
- "type": "object"
- },
- "populartrend.topAdsFiltersResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/popularTrend.TopAdsFiltersResp"
},
- "msg": {
- "example": "OK",
- "type": "string"
- }
- },
- "type": "object"
- },
- "populartrend.topAdsListResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ "total": {
"type": "integer"
- },
- "data": {
- "$ref": "#/definitions/popularTrend.TopAdsListResp"
- },
- "msg": {
- "example": "OK",
- "type": "string"
}
},
"type": "object"
},
- "populartrend.topAdsLocationInfoResponseDoc": {
+ "modaoperandi.categoriesDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/popularTrend.TopAdsLocationInfoResp"
+ "$ref": "#/definitions/modaoperandi.CategoriesResponse"
},
"msg": {
"example": "OK",
@@ -162455,14 +167424,14 @@
},
"type": "object"
},
- "populartrend.topAdsLocationsResponseDoc": {
+ "modaoperandi.designersDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/popularTrend.TopAdsLocationsResp"
+ "$ref": "#/definitions/modaoperandi.DesignersResponse"
},
"msg": {
"example": "OK",
@@ -162471,14 +167440,14 @@
},
"type": "object"
},
- "populartrend.topAdsRecommendResponseDoc": {
+ "modaoperandi.productDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/popularTrend.TopAdsRecommendResp"
+ "$ref": "#/definitions/modaoperandi.Detail"
},
"msg": {
"example": "OK",
@@ -162487,14 +167456,14 @@
},
"type": "object"
},
- "populartrend.topAdsSafetyResponseDoc": {
+ "modaoperandi.searchDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/popularTrend.TopAdsSafetyResp"
+ "$ref": "#/definitions/modaoperandi.SearchResponse"
},
"msg": {
"example": "OK",
@@ -162503,1133 +167472,680 @@
},
"type": "object"
},
- "populartrend.topAdsSpotlightResponseDoc": {
+ "modrinth.ArrayResponseDoc": {
"properties": {
"code": {
- "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/popularTrend.TopAdsSpotlightResp"
+ "items": {},
+ "type": "array"
},
"msg": {
- "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "populartrend.topAdsSuggestionsResponseDoc": {
+ "modrinth.FiltersRequest": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/popularTrend.TopAdsSuggestionsResp"
+ "game_versions": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
- "type": "string"
+ "loaders": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "poshmark.BrandDirectoryEntry": {
+ "modrinth.HashFilter": {
"properties": {
- "aliases": {
+ "game_versions": {
"items": {
"type": "string"
},
"type": "array"
},
- "id": {
- "example": "4be6779b4630c50002000039",
- "type": "string"
- },
- "logo_url": {
- "type": "string"
- },
- "name": {
- "example": "Nike",
+ "hash": {
"type": "string"
},
- "slug": {
- "example": "Nike",
- "type": "string"
+ "loaders": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
}
},
+ "required": [
+ "hash"
+ ],
"type": "object"
},
- "poshmark.BrandResponse": {
+ "modrinth.HashUpdatesRequest": {
"properties": {
- "has_more": {
- "example": true,
- "type": "boolean"
+ "algorithm": {
+ "enum": [
+ "sha1",
+ "sha512"
+ ],
+ "type": "string"
},
- "listings": {
+ "game_versions": {
"items": {
- "$ref": "#/definitions/poshmark.Listing"
+ "type": "string"
},
"type": "array"
},
- "next_max_id": {
- "type": "string"
- },
- "source_url": {
- "type": "string"
- },
- "total": {
- "example": 210000,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "poshmark.BrandsResponse": {
- "properties": {
- "brands": {
+ "hashes": {
"items": {
- "$ref": "#/definitions/poshmark.BrandDirectoryEntry"
+ "type": "string"
},
"type": "array"
},
- "source_url": {
- "type": "string"
- },
- "total": {
- "example": 29887,
- "type": "integer"
+ "loaders": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
}
},
+ "required": [
+ "hashes"
+ ],
"type": "object"
},
- "poshmark.CategoriesResponse": {
+ "modrinth.HashesRequest": {
"properties": {
- "departments": {
+ "algorithm": {
+ "enum": [
+ "sha1",
+ "sha512"
+ ],
+ "type": "string"
+ },
+ "hashes": {
"items": {
- "$ref": "#/definitions/poshmark.DepartmentTaxonomy"
+ "type": "string"
},
"type": "array"
}
},
+ "required": [
+ "hashes"
+ ],
"type": "object"
},
- "poshmark.CategoryResponse": {
+ "modrinth.IndividualUpdatesRequest": {
"properties": {
- "has_more": {
- "description": "Whether more listings are available after this page.",
- "example": true,
- "type": "boolean"
+ "algorithm": {
+ "enum": [
+ "sha1",
+ "sha512"
+ ],
+ "type": "string"
},
- "listings": {
- "description": "Listings on this page of the category.",
+ "hashes": {
"items": {
- "$ref": "#/definitions/poshmark.Listing"
+ "$ref": "#/definitions/modrinth.HashFilter"
},
"type": "array"
- },
- "next_max_id": {
- "description": "Cursor to pass as `max_id` to get the next page. Omitted on the last page.",
- "type": "string"
- },
- "source_url": {
- "description": "URL the data was read from.",
- "type": "string"
- },
- "total": {
- "description": "Total number of listings Poshmark reports for the category.",
- "example": 84000,
- "type": "integer"
}
},
+ "required": [
+ "hashes"
+ ],
"type": "object"
},
- "poshmark.CategoryTaxonomyEntry": {
+ "modrinth.ObjectResponseDoc": {
"properties": {
- "id": {
- "example": "00268975d97b4e80ef00a955",
- "type": "string"
+ "code": {
+ "type": "integer"
},
- "name": {
- "example": "Shoes",
- "type": "string"
+ "data": {
+ "additionalProperties": true,
+ "type": "object"
},
- "path": {
- "description": "Path is the exact value the category endpoint's path parameter\nexpects, e.g. \"Women-Shoes\".",
- "example": "Women-Shoes",
+ "msg": {
"type": "string"
}
},
"type": "object"
},
- "poshmark.ClosetResponse": {
+ "modrinth.SearchV3BodyRequest": {
"properties": {
- "has_more": {
- "example": true,
- "type": "boolean"
- },
- "listings": {
- "items": {
- "$ref": "#/definitions/poshmark.Listing"
- },
- "type": "array"
- },
- "next_max_id": {
+ "facets": {
"type": "string"
},
- "seller": {
- "$ref": "#/definitions/poshmark.Seller"
- },
- "source_url": {
+ "filters": {
"type": "string"
},
- "total_count": {
- "example": 107,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "poshmark.Comment": {
- "properties": {
- "comment": {
- "description": "Text of the comment as posted on the listing.",
- "example": "Hi can you tell me the width of the waist?",
+ "index": {
+ "enum": [
+ "relevance",
+ "downloads",
+ "follows",
+ "newest",
+ "updated",
+ "date_created",
+ "date_modified",
+ "minecraft_java_server.verified_plays_2w",
+ "minecraft_java_server.ping.data.players_online"
+ ],
"type": "string"
},
- "created_at": {
- "description": "Time the comment was posted, in ISO 8601 with a UTC offset.",
- "example": "2026-07-05T09:28:09-07:00",
+ "limit": {
"type": "string"
},
- "creator_full_name": {
- "description": "Display name of the member who wrote the comment.",
- "example": "Jen Muston",
+ "new_filters": {
"type": "string"
},
- "creator_picture_url": {
- "description": "Profile picture URL of the member who wrote the comment.",
+ "offset": {
"type": "string"
},
- "creator_username": {
- "description": "Username of the member who wrote the comment.",
- "example": "muvlax20",
+ "query": {
"type": "string"
},
- "id": {
- "description": "Poshmark comment id.",
- "example": "6a4a86191fea02ce69f41484",
+ "show_metadata": {
+ "type": "boolean"
+ },
+ "version": {
"type": "string"
}
},
"type": "object"
},
- "poshmark.DepartmentTaxonomy": {
+ "modrinth.StringListResponseDoc": {
"properties": {
- "categories": {
+ "code": {
+ "type": "integer"
+ },
+ "data": {
"items": {
- "$ref": "#/definitions/poshmark.CategoryTaxonomyEntry"
+ "type": "string"
},
"type": "array"
},
- "id": {
- "example": "000e8975d97b4e80ef00a955",
- "type": "string"
- },
- "name": {
- "example": "Women",
- "type": "string"
- },
- "path": {
- "description": "Path is the exact value the category endpoint's path parameter\nexpects for browsing the department itself, e.g. \"Women\".",
- "example": "Women",
+ "msg": {
"type": "string"
}
},
"type": "object"
},
- "poshmark.Listing": {
+ "moncler.CategoriesResponse": {
"properties": {
- "brand": {
- "description": "Brand name of the item.",
- "example": "FARM Rio",
- "type": "string"
- },
- "category": {
- "description": "Poshmark category of the item, for example `Shorts`.",
- "example": "Shorts",
- "type": "string"
- },
- "colors": {
- "description": "Colors the seller selected for the item.",
- "example": [
- "Red",
- "Yellow"
- ],
+ "categories": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/moncler.Category"
},
"type": "array"
- },
- "comment_count": {
- "description": "Number of comments on the listing.",
- "example": 4,
- "type": "integer"
- },
- "condition": {
- "description": "Item condition code set by the seller, for example `nwt` for new with tags.",
- "example": "nwt",
- "type": "string"
- },
- "cover_shot": {
- "description": "URL of the listing's cover photo.",
- "example": "https://di2ponv0v5otw.cloudfront.net/posts/2026/06/27/6a3fed1de9c77df92e2c0cc6/s_6a3fed24bd4ce3ff762126e5.jpg",
- "type": "string"
- },
- "created_at": {
- "description": "Time the listing was created, in ISO 8601 with a UTC offset.",
- "example": "2026-06-27T08:32:58-07:00",
- "type": "string"
- },
- "department": {
- "description": "Poshmark department of the item, for example `Women`.",
- "example": "Women",
- "type": "string"
- },
- "description": {
- "description": "Seller's description of the item. Set on the listing detail response.",
- "type": "string"
- },
- "first_available_at": {
- "description": "Time the listing first became available for sale, as Poshmark reports it.",
- "type": "string"
- },
- "id": {
- "description": "Poshmark listing id. Use it with the listing endpoint.",
- "example": "6a3fed1de9c77df92e2c0cc6",
- "type": "string"
- },
- "inventory_status": {
- "description": "Availability status of the item, for example `available`.",
- "example": "available",
+ }
+ },
+ "type": "object"
+ },
+ "moncler.Category": {
+ "properties": {
+ "category_id": {
"type": "string"
},
- "like_count": {
- "description": "Number of members who liked the listing.",
- "example": 111,
- "type": "integer"
- },
- "original_price": {
- "description": "Original retail price the seller entered for the item.",
- "example": 95,
- "type": "number"
- },
- "pictures": {
- "description": "URLs of all photos on the listing. Set on the listing detail response.",
+ "children": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/moncler.Category"
},
"type": "array"
},
- "price": {
- "description": "Current asking price of the listing.",
- "example": 55,
- "type": "number"
- },
- "quantity_available": {
- "description": "Total number of units still available across all sizes.",
- "example": 1,
- "type": "integer"
- },
- "seller_display_handle": {
- "description": "Display handle of the seller who posted the listing.",
- "example": "maltimar",
- "type": "string"
- },
- "seller_full_name": {
- "description": "Display name of the seller who posted the listing.",
- "example": "Mary Altimar",
- "type": "string"
- },
- "seller_picture_url": {
- "description": "Profile picture URL of the seller who posted the listing.",
- "type": "string"
- },
- "seller_username": {
- "description": "Username of the seller who posted the listing.",
- "example": "maltimar",
- "type": "string"
- },
- "share_count": {
- "description": "Number of times the listing was shared.",
- "example": 13,
- "type": "integer"
- },
- "size": {
- "description": "Size of the item as entered by the seller.",
- "example": "S",
- "type": "string"
- },
- "status": {
- "description": "Publication status of the listing, for example `published`.",
- "example": "published",
+ "description": {
"type": "string"
},
- "title": {
- "description": "Listing title as shown on Poshmark.",
- "example": "NWT Farm Rio Shorts",
+ "name": {
"type": "string"
},
- "url": {
- "description": "Poshmark page URL of the listing.",
- "example": "https://poshmark.com/listing/6a3fed1de9c77df92e2c0cc6",
+ "parent_id": {
"type": "string"
}
},
"type": "object"
},
- "poshmark.ListingResponse": {
+ "moncler.CategoryResponse": {
"properties": {
- "brand": {
- "description": "Brand name of the item.",
- "example": "FARM Rio",
- "type": "string"
- },
- "category": {
- "description": "Poshmark category of the item, for example `Shorts`.",
- "example": "Shorts",
+ "category_id": {
"type": "string"
},
- "colors": {
- "description": "Colors the seller selected for the item.",
- "example": [
- "Red",
- "Yellow"
- ],
+ "facets": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/moncler.SearchFacet"
},
"type": "array"
},
- "comment_count": {
- "description": "Number of comments on the listing.",
- "example": 4,
+ "limit": {
"type": "integer"
},
- "comments": {
- "description": "Public comments on the listing.",
+ "offset": {
+ "type": "integer"
+ },
+ "results": {
"items": {
- "$ref": "#/definitions/poshmark.Comment"
+ "$ref": "#/definitions/moncler.SearchHit"
},
"type": "array"
},
- "condition": {
- "description": "Item condition code set by the seller, for example `nwt` for new with tags.",
- "example": "nwt",
- "type": "string"
+ "sort_options": {
+ "items": {
+ "$ref": "#/definitions/moncler.SortOption"
+ },
+ "type": "array"
},
- "cover_shot": {
- "description": "URL of the listing's cover photo.",
- "example": "https://di2ponv0v5otw.cloudfront.net/posts/2026/06/27/6a3fed1de9c77df92e2c0cc6/s_6a3fed24bd4ce3ff762126e5.jpg",
+ "total": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "moncler.Product": {
+ "properties": {
+ "brand": {
"type": "string"
},
- "created_at": {
- "description": "Time the listing was created, in ISO 8601 with a UTC offset.",
- "example": "2026-06-27T08:32:58-07:00",
+ "care_instructions": {
"type": "string"
},
- "department": {
- "description": "Poshmark department of the item, for example `Women`.",
- "example": "Women",
+ "collection": {
"type": "string"
},
- "description": {
- "description": "Seller's description of the item. Set on the listing detail response.",
+ "color": {
"type": "string"
},
- "first_available_at": {
- "description": "Time the listing first became available for sale, as Poshmark reports it.",
+ "composition": {
"type": "string"
},
- "id": {
- "description": "Poshmark listing id. Use it with the listing endpoint.",
- "example": "6a3fed1de9c77df92e2c0cc6",
+ "currency": {
"type": "string"
},
- "inventory_status": {
- "description": "Availability status of the item, for example `available`.",
- "example": "available",
+ "gender": {
"type": "string"
},
- "like_count": {
- "description": "Number of members who liked the listing.",
- "example": 111,
- "type": "integer"
- },
- "original_price": {
- "description": "Original retail price the seller entered for the item.",
- "example": 95,
- "type": "number"
- },
- "pictures": {
- "description": "URLs of all photos on the listing. Set on the listing detail response.",
+ "images": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/moncler.ProductImageGroup"
},
"type": "array"
},
- "price": {
- "description": "Current asking price of the listing.",
- "example": 55,
- "type": "number"
- },
- "quantity_available": {
- "description": "Total number of units still available across all sizes.",
- "example": 1,
- "type": "integer"
+ "in_stock": {
+ "type": "boolean"
},
- "seller": {
- "allOf": [
- {
- "$ref": "#/definitions/poshmark.Seller"
- }
- ],
- "description": "Public profile of the seller. Omitted when Poshmark's page does not include it."
+ "long_description": {
+ "type": "string"
},
- "seller_display_handle": {
- "description": "Display handle of the seller who posted the listing.",
- "example": "maltimar",
+ "made_in": {
"type": "string"
},
- "seller_full_name": {
- "description": "Display name of the seller who posted the listing.",
- "example": "Mary Altimar",
+ "master_id": {
"type": "string"
},
- "seller_picture_url": {
- "description": "Profile picture URL of the seller who posted the listing.",
+ "name": {
"type": "string"
},
- "seller_username": {
- "description": "Username of the seller who posted the listing.",
- "example": "maltimar",
+ "price": {
+ "type": "number"
+ },
+ "product_id": {
"type": "string"
},
- "share_count": {
- "description": "Number of times the listing was shared.",
- "example": 13,
- "type": "integer"
+ "product_url": {
+ "type": "string"
},
- "similar_listings": {
- "description": "Similar listings Poshmark shows on the same page. Omitted when the page has none.",
+ "related_products": {
+ "description": "RelatedProducts are \"styled with\" items Moncler's own product page\nsuggests alongside this product.",
"items": {
- "$ref": "#/definitions/poshmark.Listing"
+ "$ref": "#/definitions/moncler.RelatedProduct"
},
"type": "array"
},
- "size": {
- "description": "Size of the item as entered by the seller.",
- "example": "S",
+ "short_description": {
"type": "string"
},
- "source_url": {
- "description": "URL the data was read from.",
- "type": "string"
+ "size_guide": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/moncler.SizeGuide"
+ }
+ ],
+ "description": "SizeGuide is this product's size chart (per-size body measurements\nand/or a cross-region size conversion table), when the upstream\nprovides one."
},
- "status": {
- "description": "Publication status of the listing, for example `published`.",
- "example": "published",
- "type": "string"
+ "stock_level": {
+ "type": "number"
},
- "title": {
- "description": "Listing title as shown on Poshmark.",
- "example": "NWT Farm Rio Shorts",
- "type": "string"
+ "variants": {
+ "items": {
+ "$ref": "#/definitions/moncler.ProductVariant"
+ },
+ "type": "array"
},
- "url": {
- "description": "Poshmark page URL of the listing.",
- "example": "https://poshmark.com/listing/6a3fed1de9c77df92e2c0cc6",
- "type": "string"
+ "variation_attributes": {
+ "items": {
+ "$ref": "#/definitions/moncler.ProductVariationAttribute"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "poshmark.RatingBreakdown": {
+ "moncler.ProductImage": {
"properties": {
- "five_star": {
- "description": "Number of 5-star ratings the seller received.",
- "example": 355,
- "type": "integer"
- },
- "four_star": {
- "description": "Number of 4-star ratings the seller received.",
- "example": 7,
- "type": "integer"
- },
- "one_star": {
- "description": "Number of 1-star ratings the seller received.",
- "example": 1,
- "type": "integer"
- },
- "three_star": {
- "description": "Number of 3-star ratings the seller received.",
- "example": 2,
- "type": "integer"
+ "alt": {
+ "type": "string"
},
- "two_star": {
- "description": "Number of 2-star ratings the seller received.",
- "example": 3,
- "type": "integer"
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "poshmark.SearchResponse": {
+ "moncler.ProductImageGroup": {
"properties": {
- "has_more": {
- "example": true,
- "type": "boolean"
+ "color": {
+ "type": "string"
},
- "listings": {
+ "images": {
"items": {
- "$ref": "#/definitions/poshmark.Listing"
+ "$ref": "#/definitions/moncler.ProductImage"
},
"type": "array"
},
- "next_max_id": {
- "example": "ENC_eyJtYXhfaWRzIjpbNDksMSwxXSwicGFnZV9udW0iOjIsInBhZ2VfZ3JvdXBfaWQiOiI2YTcyZTE3OTI1MzYyMTUzMDNhMmVmMWEifQ",
- "type": "string"
- },
- "source_url": {
+ "view_type": {
"type": "string"
- },
- "total": {
- "example": 120000,
- "type": "integer"
}
},
"type": "object"
},
- "poshmark.Seller": {
+ "moncler.ProductVariant": {
"properties": {
- "cover_shot_url": {
- "description": "URL of the seller's closet cover image.",
- "type": "string"
- },
- "display_handle": {
- "description": "Seller's display handle on Poshmark.",
- "example": "maltimar",
- "type": "string"
- },
- "followers": {
- "description": "Number of members following the seller.",
- "example": 9096,
- "type": "integer"
- },
- "following": {
- "description": "Number of members the seller follows.",
- "example": 89,
- "type": "integer"
- },
- "full_name": {
- "description": "Seller's display name.",
- "example": "Mary Altimar",
- "type": "string"
- },
- "id": {
- "description": "Poshmark user id of the seller.",
- "example": "5a4f84cb7d70fb0f0f05a37f",
- "type": "string"
- },
- "items_sold_display": {
- "description": "Items sold as Poshmark displays it, for example `500+`.",
- "example": "500+",
- "type": "string"
- },
- "last_active_at": {
- "description": "Time the seller was last active, in ISO 8601 with a UTC offset.",
- "example": "2026-08-04T19:52:16-07:00",
- "type": "string"
- },
- "member_since": {
- "description": "Time the seller joined Poshmark, in ISO 8601 with a UTC offset.",
- "example": "2018-01-05T05:59:39-08:00",
- "type": "string"
- },
- "orders_shipped": {
- "description": "Number of orders the seller has shipped.",
- "example": 522,
- "type": "integer"
- },
- "picture_url": {
- "description": "URL of the seller's profile picture.",
- "example": "https://di2ponv0v5otw.cloudfront.net/users/2018/04/23/5a4f84cb7d70fb0f0f05a37f/t_5ade0fdbd0492dff500c741a.jpg",
- "type": "string"
- },
- "posts_count": {
- "description": "Number of listings the seller has posted.",
- "example": 698,
- "type": "integer"
+ "orderable": {
+ "type": "boolean"
},
- "rating_average": {
- "description": "Average of the seller's star ratings, rounded to two decimals. Omitted when the seller has no ratings.",
- "example": 4.93,
+ "price": {
"type": "number"
},
- "rating_breakdown": {
- "allOf": [
- {
- "$ref": "#/definitions/poshmark.RatingBreakdown"
- }
- ],
- "description": "Number of ratings the seller received at each star level."
- },
- "rating_count": {
- "description": "Total number of ratings the seller received.",
- "example": 368,
- "type": "integer"
- },
- "url": {
- "description": "Poshmark closet URL of the seller.",
- "example": "https://poshmark.com/closet/maltimar",
+ "product_id": {
"type": "string"
},
- "username": {
- "description": "Seller's Poshmark username, as used in the closet URL.",
- "example": "maltimar",
- "type": "string"
+ "variation_values": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
}
},
"type": "object"
},
- "poshmark.TrendResponse": {
+ "moncler.ProductVariationAttribute": {
"properties": {
- "cover_shot": {
+ "id": {
"type": "string"
},
- "description": {
+ "label": {
"type": "string"
},
- "has_more": {
- "example": true,
- "type": "boolean"
- },
- "listings": {
+ "values": {
"items": {
- "$ref": "#/definitions/poshmark.Listing"
+ "$ref": "#/definitions/moncler.ProductVariationValue"
},
"type": "array"
- },
- "name": {
- "example": "Vintage Celine Handbags",
- "type": "string"
- },
- "next_max_id": {
- "type": "string"
- },
- "source_url": {
- "type": "string"
- },
- "total": {
- "example": 5000,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "poshmark.brandsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/poshmark.BrandsResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
}
},
"type": "object"
},
- "poshmark.categoriesResponseDoc": {
+ "moncler.ProductVariationValue": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/poshmark.CategoriesResponse"
- },
- "msg": {
- "example": "OK",
+ "label": {
"type": "string"
- }
- },
- "type": "object"
- },
- "poshmark.searchResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/poshmark.SearchResponse"
+ "orderable": {
+ "type": "boolean"
},
- "msg": {
- "example": "OK",
+ "value": {
"type": "string"
}
},
"type": "object"
},
- "prada.CategoriesResponse": {
+ "moncler.RelatedProduct": {
"properties": {
- "categories": {
- "items": {
- "$ref": "#/definitions/prada.Category"
- },
- "type": "array"
- },
- "count": {
- "type": "integer"
- },
- "fetched_at": {
+ "currency": {
"type": "string"
},
- "genders": {
- "items": {
- "$ref": "#/definitions/prada.FacetCount"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "prada.Category": {
- "properties": {
- "id": {
+ "image_url": {
"type": "string"
},
"name": {
"type": "string"
},
- "path": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "path_ids": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "price": {
+ "type": "number"
},
- "url": {
+ "product_id": {
"type": "string"
}
},
"type": "object"
},
- "prada.CategoryResponse": {
+ "moncler.SearchFacet": {
"properties": {
- "category_id": {
- "type": "string"
- },
- "count": {
- "type": "integer"
- },
- "country": {
- "type": "string"
- },
- "fetched_at": {
+ "id": {
"type": "string"
},
- "gender": {
+ "label": {
"type": "string"
},
- "limit": {
- "type": "integer"
- },
- "page": {
- "type": "integer"
- },
- "products": {
+ "values": {
"items": {
- "$ref": "#/definitions/prada.Product"
+ "$ref": "#/definitions/moncler.SearchFacetValue"
},
"type": "array"
- },
- "sort": {
- "type": "string"
- },
- "total_pages": {
- "type": "integer"
- },
- "total_results": {
- "type": "integer"
}
},
"type": "object"
},
- "prada.FacetCount": {
+ "moncler.SearchFacetValue": {
"properties": {
"count": {
"type": "integer"
},
+ "label": {
+ "type": "string"
+ },
"value": {
"type": "string"
}
},
"type": "object"
},
- "prada.Product": {
+ "moncler.SearchHit": {
"properties": {
- "color": {
- "type": "string"
- },
- "color_hex": {
- "type": "string"
- },
"currency": {
"type": "string"
},
- "gender": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "image_url": {
- "type": "string"
- },
- "in_stock": {
- "type": "boolean"
- },
- "material": {
+ "image_alt": {
"type": "string"
},
- "model": {
+ "image_url": {
"type": "string"
},
"name": {
"type": "string"
},
+ "orderable": {
+ "type": "boolean"
+ },
"price": {
"type": "number"
},
- "product_type": {
- "type": "string"
- },
- "pv": {
- "type": "string"
- },
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "prada.ProductColorOption": {
- "properties": {
- "code": {
- "type": "string"
- },
- "hex": {
+ "product_id": {
"type": "string"
},
- "name": {
- "type": "string"
+ "stock_level": {
+ "type": "number"
},
- "url": {
- "type": "string"
+ "variant_ids": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "prada.ProductResponse": {
+ "moncler.SearchResponse": {
"properties": {
- "breadcrumbs": {
+ "facets": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/moncler.SearchFacet"
},
"type": "array"
},
- "color": {
- "type": "string"
- },
- "color_hex": {
- "type": "string"
- },
- "country": {
- "type": "string"
- },
- "currency": {
- "type": "string"
- },
- "description": {
- "type": "string"
+ "limit": {
+ "type": "integer"
},
- "discounted_price": {
- "type": "number"
+ "offset": {
+ "type": "integer"
},
- "fetched_at": {
+ "query": {
"type": "string"
},
- "gender": {
+ "results": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/moncler.SearchHit"
},
"type": "array"
},
- "images": {
+ "sort_options": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/moncler.SortOption"
},
"type": "array"
},
- "in_stock": {
- "type": "boolean"
- },
- "material": {
- "type": "string"
- },
- "model": {
- "type": "string"
- },
- "name": {
- "type": "string"
- },
- "other_colors": {
+ "total": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "moncler.SizeGuide": {
+ "properties": {
+ "country_sizes": {
"items": {
- "$ref": "#/definitions/prada.ProductColorOption"
+ "$ref": "#/definitions/moncler.SizeGuideCountrySizes"
},
"type": "array"
},
- "price": {
- "type": "number"
- },
- "product_type": {
- "type": "string"
- },
- "pv": {
+ "description": {
"type": "string"
},
- "sizes": {
+ "rows": {
"items": {
- "$ref": "#/definitions/prada.ProductSize"
+ "$ref": "#/definitions/moncler.SizeGuideRow"
},
"type": "array"
- },
- "stock_quantity": {
- "type": "integer"
- },
- "url": {
- "type": "string"
}
},
"type": "object"
},
- "prada.ProductSize": {
+ "moncler.SizeGuideCountrySizes": {
"properties": {
- "code": {
+ "country": {
"type": "string"
},
- "label": {
- "type": "string"
+ "sizes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "prada.SearchResponse": {
+ "moncler.SizeGuideMeasurement": {
"properties": {
- "count": {
- "type": "integer"
- },
- "country": {
+ "cm": {
"type": "string"
},
- "fetched_at": {
+ "inches": {
"type": "string"
},
- "gender": {
+ "label": {
"type": "string"
- },
- "limit": {
- "type": "integer"
- },
- "page": {
- "type": "integer"
- },
- "products": {
+ }
+ },
+ "type": "object"
+ },
+ "moncler.SizeGuideRow": {
+ "properties": {
+ "measurements": {
"items": {
- "$ref": "#/definitions/prada.Product"
+ "$ref": "#/definitions/moncler.SizeGuideMeasurement"
},
"type": "array"
},
- "query": {
+ "size": {
"type": "string"
- },
- "sort": {
+ }
+ },
+ "type": "object"
+ },
+ "moncler.SortOption": {
+ "properties": {
+ "id": {
"type": "string"
},
- "total_pages": {
- "type": "integer"
- },
- "total_results": {
- "type": "integer"
+ "label": {
+ "type": "string"
}
},
"type": "object"
},
- "prada.Store": {
+ "moncler.Store": {
"properties": {
- "categories": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "address": {
+ "type": "string"
},
"city": {
"type": "string"
},
- "country": {
+ "country_code": {
"type": "string"
},
- "distance_km": {
- "type": "number"
+ "country_name": {
+ "type": "string"
+ },
+ "email": {
+ "type": "string"
},
"hours": {
"items": {
- "$ref": "#/definitions/prada.StoreDay"
+ "$ref": "#/definitions/moncler.StoreHours"
},
"type": "array"
},
- "id": {
- "type": "string"
+ "hours_schedule": {
+ "items": {
+ "$ref": "#/definitions/moncler.StoreDaySchedule"
+ },
+ "type": "array"
},
"latitude": {
"type": "number"
},
- "line1": {
- "type": "string"
- },
- "line2": {
- "type": "string"
- },
"longitude": {
"type": "number"
},
"name": {
"type": "string"
},
- "permanently_closed": {
- "type": "boolean"
- },
"phone": {
"type": "string"
},
@@ -163639,26 +168155,48 @@
"region": {
"type": "string"
},
- "services": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "state_code": {
+ "type": "string"
},
- "timezone": {
+ "store_id": {
+ "type": "string"
+ },
+ "store_type": {
"type": "string"
}
},
"type": "object"
},
- "prada.StoreDay": {
+ "moncler.StoreDaySchedule": {
"properties": {
- "closed": {
+ "day": {
+ "type": "string"
+ },
+ "is_closed": {
"type": "boolean"
},
+ "slots": {
+ "items": {
+ "$ref": "#/definitions/moncler.StoreHoursSlot"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "moncler.StoreHours": {
+ "properties": {
"day": {
"type": "string"
},
+ "text": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "moncler.StoreHoursSlot": {
+ "properties": {
"end": {
"type": "string"
},
@@ -163668,86 +168206,76 @@
},
"type": "object"
},
- "prada.StoresResponse": {
+ "moncler.StoresResponse": {
"properties": {
- "count": {
- "type": "integer"
- },
- "fetched_at": {
- "type": "string"
- },
- "lat": {
- "type": "number"
- },
- "limit": {
- "type": "integer"
- },
- "lng": {
- "type": "number"
- },
- "offset": {
- "type": "integer"
- },
- "query": {
- "type": "string"
- },
- "radius_km": {
- "type": "number"
- },
"stores": {
"items": {
- "$ref": "#/definitions/prada.Store"
+ "$ref": "#/definitions/moncler.Store"
},
"type": "array"
- },
- "total_results": {
- "type": "integer"
}
},
"type": "object"
},
- "prada.SuggestResponse": {
+ "moncler.SuggestResponse": {
"properties": {
- "count": {
- "type": "integer"
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/moncler.SuggestedCategory"
+ },
+ "type": "array"
},
- "fetched_at": {
- "type": "string"
+ "phrases": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
"query": {
"type": "string"
},
- "suggestions": {
+ "terms": {
"items": {
- "$ref": "#/definitions/prada.Suggestion"
+ "$ref": "#/definitions/moncler.SuggestedTerm"
},
"type": "array"
}
},
"type": "object"
},
- "prada.Suggestion": {
+ "moncler.SuggestedCategory": {
"properties": {
- "popularity": {
- "type": "integer"
+ "category_id": {
+ "type": "string"
},
- "query": {
+ "name": {
"type": "string"
},
- "result_count": {
- "type": "integer"
+ "parent_category_name": {
+ "type": "string"
}
},
"type": "object"
},
- "prada.categoriesResponseDoc": {
+ "moncler.SuggestedTerm": {
+ "properties": {
+ "corrected": {
+ "type": "boolean"
+ },
+ "term": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "moncler.categoriesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/prada.CategoriesResponse"
+ "$ref": "#/definitions/moncler.CategoriesResponse"
},
"msg": {
"example": "OK",
@@ -163756,14 +168284,14 @@
},
"type": "object"
},
- "prada.categoryResponseDoc": {
+ "moncler.categoryResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/prada.CategoryResponse"
+ "$ref": "#/definitions/moncler.CategoryResponse"
},
"msg": {
"example": "OK",
@@ -163772,14 +168300,14 @@
},
"type": "object"
},
- "prada.productResponseDoc": {
+ "moncler.productResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/prada.ProductResponse"
+ "$ref": "#/definitions/moncler.Product"
},
"msg": {
"example": "OK",
@@ -163788,14 +168316,14 @@
},
"type": "object"
},
- "prada.searchResponseDoc": {
+ "moncler.searchResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/prada.SearchResponse"
+ "$ref": "#/definitions/moncler.SearchResponse"
},
"msg": {
"example": "OK",
@@ -163804,14 +168332,14 @@
},
"type": "object"
},
- "prada.storesResponseDoc": {
+ "moncler.storesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/prada.StoresResponse"
+ "$ref": "#/definitions/moncler.StoresResponse"
},
"msg": {
"example": "OK",
@@ -163820,14 +168348,14 @@
},
"type": "object"
},
- "prada.suggestResponseDoc": {
+ "moncler.suggestResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/prada.SuggestResponse"
+ "$ref": "#/definitions/moncler.SuggestResponse"
},
"msg": {
"example": "OK",
@@ -163836,115 +168364,186 @@
},
"type": "object"
},
- "predictions.PredictionsAvailabilityRegion": {
+ "moneycontrol.AuthorResponse": {
"properties": {
- "description": {
- "type": "string"
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/moneycontrol.HeadlineItem"
+ },
+ "type": "array"
},
- "name": {
+ "biography": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "job_title": {
"type": "string"
},
- "region_id": {
+ "name": {
"type": "string"
},
- "status": {
- "allOf": [
- {
- "$ref": "#/definitions/predictions.PredictionsAvailabilityStatus"
- }
- ],
- "enum": [
- "all_markets_available",
- "financial_markets_only",
- "sports_markets_unavailable",
- "no_markets_available"
- ]
+ "social_links": {
+ "items": {
+ "$ref": "#/definitions/moneycontrol.AuthorSocialLink"
+ },
+ "type": "array"
},
- "status_description": {
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "moneycontrol.AuthorSocialLink": {
+ "properties": {
+ "type": {
"type": "string"
},
- "status_label": {
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "predictions.PredictionsAvailabilityResponse": {
+ "moneycontrol.HeadlineItem": {
"properties": {
- "fetched_at": {
+ "author": {
"type": "string"
},
- "map_note": {
+ "image_url": {
"type": "string"
},
- "map_title": {
+ "published_at": {
"type": "string"
},
- "region_count": {
- "type": "integer"
+ "summary": {
+ "type": "string"
},
- "regions": {
- "items": {
- "$ref": "#/definitions/predictions.PredictionsAvailabilityRegion"
- },
- "type": "array"
+ "title": {
+ "type": "string"
},
- "source_url": {
+ "type": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "predictions.PredictionsAvailabilityStatus": {
- "enum": [
- "all_markets_available",
- "financial_markets_only",
- "sports_markets_unavailable",
- "no_markets_available"
- ],
- "type": "string",
- "x-enum-varnames": [
- "PredictionsAvailabilityAllMarketsAvailable",
- "PredictionsAvailabilityFinancialMarketsOnly",
- "PredictionsAvailabilitySportsMarketsUnavailable",
- "PredictionsAvailabilityNoMarketsAvailable"
- ]
- },
- "predictions.PredictionsCategoriesResponse": {
+ "motleyfool.AuthorResponse": {
"properties": {
- "categories": {
+ "articles": {
"items": {
- "$ref": "#/definitions/predictions.PredictionsCategory"
+ "$ref": "#/definitions/newsplatform.HeadlineItem"
},
"type": "array"
},
- "count": {
+ "biography": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "motogp.ArrayResponseDoc": {
+ "properties": {
+ "code": {
"type": "integer"
},
- "fetched_at": {
+ "data": {
+ "items": {
+ "additionalProperties": true,
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "msg": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "motogp.ObjectResponseDoc": {
+ "properties": {
+ "code": {
+ "type": "integer"
},
- "league_count": {
+ "data": {
+ "additionalProperties": true,
+ "type": "object"
+ },
+ "msg": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "nascar.ResponseDoc": {
+ "properties": {
+ "code": {
"type": "integer"
},
- "source_url": {
+ "data": {
+ "additionalProperties": true,
+ "type": "object"
+ },
+ "msg": {
"type": "string"
}
},
"type": "object"
},
- "predictions.PredictionsCategory": {
+ "nascar.Series": {
"properties": {
- "id": {
+ "series_id": {
+ "type": "integer"
+ },
+ "source_key": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "nascar.SeriesResponseDoc": {
+ "properties": {
+ "code": {
+ "type": "integer"
},
- "leagues": {
+ "data": {
"items": {
- "$ref": "#/definitions/predictions.PredictionsLeague"
+ "$ref": "#/definitions/nascar.Series"
},
"type": "array"
},
- "name": {
+ "msg": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "nationafrica.AuthorArticle": {
+ "properties": {
+ "premium": {
+ "type": "boolean"
+ },
+ "summary": {
+ "type": "string"
+ },
+ "title": {
"type": "string"
},
"url": {
@@ -163953,452 +168552,842 @@
},
"type": "object"
},
- "predictions.PredictionsLeague": {
+ "nationafrica.AuthorResponse": {
"properties": {
- "id": {
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/nationafrica.AuthorArticle"
+ },
+ "type": "array"
+ },
+ "bio": {
+ "type": "string"
+ },
+ "image_url": {
"type": "string"
},
"name": {
"type": "string"
},
+ "slug": {
+ "type": "string"
+ },
"url": {
"type": "string"
}
},
"type": "object"
},
- "predictions.PredictionsRuleSource": {
+ "national.AuthorResponse": {
"properties": {
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/newsplatform.HeadlineItem"
+ },
+ "type": "array"
+ },
+ "image_url": {
+ "type": "string"
+ },
"name": {
"type": "string"
},
+ "slug": {
+ "type": "string"
+ },
"url": {
"type": "string"
}
},
"type": "object"
},
- "predictions.PredictionsRulesResponse": {
+ "nationalpost.AuthorArticle": {
"properties": {
- "fetched_at": {
+ "category": {
"type": "string"
},
- "rule_source_count": {
+ "summary": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "nationalpost.AuthorResponse": {
+ "properties": {
+ "article_count": {
"type": "integer"
},
- "rule_sources": {
+ "articles": {
"items": {
- "$ref": "#/definitions/predictions.PredictionsRuleSource"
+ "$ref": "#/definitions/nationalpost.AuthorArticle"
},
"type": "array"
},
- "settlement_category_count": {
- "type": "integer"
+ "bio": {
+ "type": "string"
},
- "settlement_link_count": {
- "type": "integer"
+ "name": {
+ "type": "string"
},
- "settlement_sources": {
- "items": {
- "$ref": "#/definitions/predictions.PredictionsSettlementSource"
- },
- "type": "array"
+ "slug": {
+ "type": "string"
},
- "source_url": {
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "predictions.PredictionsSettlementSource": {
+ "nba.Arena": {
"properties": {
- "category": {
+ "arena_id": {
+ "$ref": "#/definitions/nba.FlexInt"
+ },
+ "city": {
"type": "string"
},
- "links": {
- "items": {
- "$ref": "#/definitions/predictions.PredictionsRuleSource"
- },
- "type": "array"
+ "country": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "state": {
+ "type": "string"
+ },
+ "timezone": {
+ "type": "string"
}
},
"type": "object"
},
- "predictions.predictionsAvailabilityResponseDoc": {
+ "nba.Article": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "category": {
+ "$ref": "#/definitions/nba.ArticleCategory"
},
- "data": {
- "$ref": "#/definitions/predictions.PredictionsAvailabilityResponse"
+ "date": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "excerpt": {
+ "type": "string"
+ },
+ "id": {
+ "$ref": "#/definitions/nba.FlexInt"
+ },
+ "modified": {
"type": "string"
+ },
+ "permalink": {
+ "type": "string"
+ },
+ "slug": {
+ "type": "string"
+ },
+ "status": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "word_count": {
+ "$ref": "#/definitions/nba.FlexInt"
}
},
"type": "object"
},
- "predictions.predictionsCategoriesResponseDoc": {
+ "nba.ArticleCategory": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/predictions.PredictionsCategoriesResponse"
+ "name": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "slug": {
"type": "string"
}
},
"type": "object"
},
- "predictions.predictionsRulesResponseDoc": {
+ "nba.BoxPlayer": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "assists": {
+ "$ref": "#/definitions/nba.FlexInt"
},
- "data": {
- "$ref": "#/definitions/predictions.PredictionsRulesResponse"
+ "family_name": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "field_goals_made": {
+ "$ref": "#/definitions/nba.FlexInt"
+ },
+ "first_name": {
+ "type": "string"
+ },
+ "jersey_num": {
+ "type": "string"
+ },
+ "minutes": {
+ "type": "string"
+ },
+ "name_initial": {
+ "type": "string"
+ },
+ "person_id": {
+ "$ref": "#/definitions/nba.FlexInt"
+ },
+ "points": {
+ "$ref": "#/definitions/nba.FlexInt"
+ },
+ "position": {
"type": "string"
+ },
+ "rebounds": {
+ "$ref": "#/definitions/nba.FlexInt"
+ },
+ "starter": {
+ "$ref": "#/definitions/nba.FlexInt"
}
},
"type": "object"
},
- "pricecharting.BigMover": {
+ "nba.BoxScoreResponse": {
"properties": {
- "change": {
- "description": "Change is signed: US dollars when change_unit is usd, a percentage when\nit is percent.",
- "type": "number"
+ "away_team": {
+ "$ref": "#/definitions/nba.BoxTeam"
},
- "console": {
+ "count": {
+ "type": "integer"
+ },
+ "fetched_at": {
"type": "string"
},
- "console_slug": {
+ "game_id": {
"type": "string"
},
- "id": {
+ "home_team": {
+ "$ref": "#/definitions/nba.BoxTeam"
+ },
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "nba.BoxScoreStatsResponse": {
+ "properties": {
+ "away_team": {
+ "$ref": "#/definitions/nba.RichStatTeam"
+ },
+ "count": {
"type": "integer"
},
- "name": {
+ "fetched_at": {
"type": "string"
},
- "price": {
- "type": "number"
+ "game_id": {
+ "type": "string"
},
- "slug": {
+ "home_team": {
+ "$ref": "#/definitions/nba.RichStatTeam"
+ },
+ "source_url": {
"type": "string"
},
- "url": {
+ "stat_group": {
"type": "string"
}
},
"type": "object"
},
- "pricecharting.BigMoversResponse": {
+ "nba.BoxTeam": {
"properties": {
- "categories": {
+ "players": {
"items": {
- "$ref": "#/definitions/pricecharting.Category"
+ "$ref": "#/definitions/nba.BoxPlayer"
},
"type": "array"
},
- "category": {
- "type": "string"
+ "team_id": {
+ "$ref": "#/definitions/nba.FlexInt"
},
- "change_unit": {
+ "team_name": {
"type": "string"
},
- "price_label": {
- "description": "PriceLabel names the price column, for example Loose Price (the\nungraded price of a card).",
+ "team_tricode": {
"type": "string"
- },
- "products": {
+ }
+ },
+ "type": "object"
+ },
+ "nba.DetailTeam": {
+ "properties": {
+ "periods": {
"items": {
- "$ref": "#/definitions/pricecharting.BigMover"
+ "$ref": "#/definitions/nba.PeriodScore"
},
"type": "array"
},
- "region": {
- "type": "string"
- },
- "sort": {
- "type": "string"
+ "score": {
+ "$ref": "#/definitions/nba.FlexInt"
},
- "title": {
- "type": "string"
+ "team_id": {
+ "$ref": "#/definitions/nba.FlexInt"
}
},
"type": "object"
},
- "pricecharting.CategoriesResponse": {
+ "nba.EnumsData": {
"properties": {
- "categories": {
+ "blocked": {
"items": {
- "$ref": "#/definitions/pricecharting.Category"
+ "type": "string"
},
"type": "array"
},
- "category": {
+ "defense_categories": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "game_date_format": {
"type": "string"
},
- "consoles": {
+ "league_ids": {
"items": {
- "$ref": "#/definitions/pricecharting.Console"
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "measure_types": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "notes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "per_modes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "scopes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "season_format": {
+ "type": "string"
+ },
+ "season_types": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "stat_categories": {
+ "items": {
+ "type": "string"
},
"type": "array"
+ },
+ "verified_on": {
+ "type": "string"
}
},
"type": "object"
},
- "pricecharting.Category": {
+ "nba.EnumsResponse": {
"properties": {
- "name": {
+ "count": {
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/nba.EnumsData"
+ },
+ "fetched_at": {
"type": "string"
},
- "slug": {
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "pricecharting.Console": {
+ "nba.FlexInt": {
"properties": {
- "name": {
- "type": "string"
- },
- "slug": {
- "type": "string"
+ "value": {
+ "type": "integer"
}
},
"type": "object"
},
- "pricecharting.ConsoleProduct": {
+ "nba.Game": {
"properties": {
- "complete_price": {
- "type": "number"
+ "away_team": {
+ "$ref": "#/definitions/nba.GameSide"
},
- "id": {
- "type": "integer"
+ "game_clock": {
+ "type": "string"
},
- "image_url": {
+ "game_code": {
"type": "string"
},
- "loose_price": {
- "type": "number"
+ "game_et": {
+ "type": "string"
},
- "name": {
+ "game_id": {
"type": "string"
},
- "new_price": {
- "type": "number"
+ "game_status": {
+ "$ref": "#/definitions/nba.FlexInt"
},
- "slug": {
+ "game_status_text": {
"type": "string"
},
- "url": {
+ "game_time_utc": {
"type": "string"
+ },
+ "home_team": {
+ "$ref": "#/definitions/nba.GameSide"
+ },
+ "period": {
+ "$ref": "#/definitions/nba.FlexInt"
}
},
"type": "object"
},
- "pricecharting.ConsoleResponse": {
+ "nba.GameDetail": {
"properties": {
- "console": {
+ "arena": {
+ "$ref": "#/definitions/nba.Arena"
+ },
+ "attendance": {
+ "$ref": "#/definitions/nba.FlexInt"
+ },
+ "away_team": {
+ "$ref": "#/definitions/nba.DetailTeam"
+ },
+ "duration": {
"type": "string"
},
- "cursor": {
- "type": "integer"
+ "game_clock": {
+ "type": "string"
},
- "next_cursor": {
- "type": "integer"
+ "game_code": {
+ "type": "string"
},
- "price_labels": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "game_et": {
+ "type": "string"
},
- "products": {
+ "game_id": {
+ "type": "string"
+ },
+ "game_label": {
+ "type": "string"
+ },
+ "game_status": {
+ "$ref": "#/definitions/nba.FlexInt"
+ },
+ "game_status_text": {
+ "type": "string"
+ },
+ "game_sub_label": {
+ "type": "string"
+ },
+ "game_time_utc": {
+ "type": "string"
+ },
+ "home_team": {
+ "$ref": "#/definitions/nba.DetailTeam"
+ },
+ "if_necessary": {
+ "type": "boolean"
+ },
+ "is_neutral": {
+ "type": "boolean"
+ },
+ "officials": {
"items": {
- "$ref": "#/definitions/pricecharting.ConsoleProduct"
+ "$ref": "#/definitions/nba.Official"
},
"type": "array"
},
- "sort": {
+ "period": {
+ "$ref": "#/definitions/nba.FlexInt"
+ },
+ "sellout": {
+ "$ref": "#/definitions/nba.FlexInt"
+ },
+ "series_game_number": {
"type": "string"
},
- "title": {
+ "series_text": {
"type": "string"
}
},
"type": "object"
},
- "pricecharting.GradeCount": {
+ "nba.GameDetailResponse": {
"properties": {
"count": {
"type": "integer"
},
- "grade": {
- "type": "integer"
+ "fetched_at": {
+ "type": "string"
+ },
+ "game": {
+ "$ref": "#/definitions/nba.GameDetail"
+ },
+ "source_url": {
+ "type": "string"
}
},
"type": "object"
},
- "pricecharting.Population": {
+ "nba.GameSide": {
"properties": {
- "cgc": {
+ "losses": {
+ "$ref": "#/definitions/nba.FlexInt"
+ },
+ "score": {
+ "$ref": "#/definitions/nba.FlexInt"
+ },
+ "team_city": {
+ "type": "string"
+ },
+ "team_id": {
+ "$ref": "#/definitions/nba.FlexInt"
+ },
+ "team_name": {
+ "type": "string"
+ },
+ "team_tricode": {
+ "type": "string"
+ },
+ "wins": {
+ "$ref": "#/definitions/nba.FlexInt"
+ }
+ },
+ "type": "object"
+ },
+ "nba.GamesResponse": {
+ "properties": {
+ "count": {
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "games": {
"items": {
- "$ref": "#/definitions/pricecharting.GradeCount"
+ "$ref": "#/definitions/nba.Game"
},
"type": "array"
},
- "psa": {
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "nba.NewsResponse": {
+ "properties": {
+ "articles": {
"items": {
- "$ref": "#/definitions/pricecharting.GradeCount"
+ "$ref": "#/definitions/nba.Article"
},
"type": "array"
+ },
+ "count": {
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
}
},
"type": "object"
},
- "pricecharting.PriceCell": {
+ "nba.Official": {
"properties": {
- "change": {
- "type": "number"
+ "family_name": {
+ "type": "string"
},
- "label": {
+ "first_name": {
"type": "string"
},
- "price": {
- "type": "number"
+ "jersey_num": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "name_initial": {
+ "type": "string"
+ },
+ "person_id": {
+ "$ref": "#/definitions/nba.FlexInt"
}
},
"type": "object"
},
- "pricecharting.PriceHistoryResponse": {
+ "nba.PeriodScore": {
"properties": {
- "currency": {
+ "period": {
+ "$ref": "#/definitions/nba.FlexInt"
+ },
+ "period_type": {
"type": "string"
},
- "population": {
- "$ref": "#/definitions/pricecharting.Population"
+ "score": {
+ "$ref": "#/definitions/nba.FlexInt"
+ }
+ },
+ "type": "object"
+ },
+ "nba.PlayAction": {
+ "properties": {
+ "action_number": {
+ "$ref": "#/definitions/nba.FlexInt"
},
- "product": {
- "$ref": "#/definitions/pricecharting.ProductRef"
+ "action_type": {
+ "type": "string"
},
- "series": {
+ "clock": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "is_field_goal": {
+ "$ref": "#/definitions/nba.FlexInt"
+ },
+ "period": {
+ "$ref": "#/definitions/nba.FlexInt"
+ },
+ "person_id": {
+ "$ref": "#/definitions/nba.FlexInt"
+ },
+ "player_name": {
+ "type": "string"
+ },
+ "points_total": {
+ "$ref": "#/definitions/nba.FlexInt"
+ },
+ "score_away": {
+ "$ref": "#/definitions/nba.FlexInt"
+ },
+ "score_home": {
+ "$ref": "#/definitions/nba.FlexInt"
+ },
+ "shot_result": {
+ "type": "string"
+ },
+ "shot_value": {
+ "$ref": "#/definitions/nba.FlexInt"
+ },
+ "sub_type": {
+ "type": "string"
+ },
+ "team_id": {
+ "$ref": "#/definitions/nba.FlexInt"
+ },
+ "team_tricode": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "nba.PlayByPlayResponse": {
+ "properties": {
+ "actions": {
"items": {
- "$ref": "#/definitions/pricecharting.PriceSeries"
+ "$ref": "#/definitions/nba.PlayAction"
},
"type": "array"
+ },
+ "count": {
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "game_id": {
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "video_available": {
+ "$ref": "#/definitions/nba.FlexInt"
}
},
"type": "object"
},
- "pricecharting.PricePoint": {
+ "nba.PlayerStatLine": {
"properties": {
- "date": {
- "description": "Date is the first day of the month the price describes (YYYY-MM-DD).",
+ "family_name": {
"type": "string"
},
- "price": {
- "type": "number"
+ "first_name": {
+ "type": "string"
+ },
+ "jersey_num": {
+ "type": "string"
+ },
+ "name_initial": {
+ "type": "string"
+ },
+ "person_id": {
+ "$ref": "#/definitions/nba.FlexInt"
+ },
+ "position": {
+ "type": "string"
+ },
+ "statistics": {
+ "additionalProperties": {},
+ "type": "object"
}
},
"type": "object"
},
- "pricecharting.PriceSeries": {
+ "nba.RichStatTeam": {
"properties": {
- "label": {
- "description": "Label is the column's name on this product, for example Ungraded, Grade 9\nor PSA 10 on a card and Loose, Complete or New on a game.",
- "type": "string"
- },
- "points": {
+ "players": {
"items": {
- "$ref": "#/definitions/pricecharting.PricePoint"
+ "$ref": "#/definitions/nba.PlayerStatLine"
},
"type": "array"
},
- "tab": {
- "description": "Tab is the column's sales tab id, the same value as recent_sales[].tab in\npricecharting-product: used, cib, new, graded, box-only or manual-only.",
+ "team_id": {
+ "$ref": "#/definitions/nba.FlexInt"
+ },
+ "team_name": {
+ "type": "string"
+ },
+ "team_tricode": {
"type": "string"
}
},
"type": "object"
},
- "pricecharting.Product": {
+ "nba.Row": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "nba.ScoreboardResponse": {
"properties": {
- "attributes": {
- "additionalProperties": {
- "type": "string"
- },
- "type": "object"
+ "count": {
+ "type": "integer"
},
- "console": {
+ "fetched_at": {
"type": "string"
},
- "console_slug": {
+ "game_date": {
"type": "string"
},
- "full_prices": {
+ "games": {
"items": {
- "$ref": "#/definitions/pricecharting.PriceCell"
+ "$ref": "#/definitions/nba.Game"
},
"type": "array"
},
- "id": {
- "type": "integer"
- },
- "image_url": {
+ "league_id": {
"type": "string"
},
- "name": {
+ "league_name": {
"type": "string"
},
- "prices": {
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "nba.Table": {
+ "properties": {
+ "headers": {
"items": {
- "$ref": "#/definitions/pricecharting.PriceCell"
+ "type": "string"
},
"type": "array"
},
- "recent_sales": {
+ "name": {
+ "type": "string"
+ },
+ "rows": {
"items": {
- "$ref": "#/definitions/pricecharting.Sale"
+ "$ref": "#/definitions/nba.Row"
},
"type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "nba.TablesResponse": {
+ "properties": {
+ "count": {
+ "type": "integer"
},
- "slug": {
+ "fetched_at": {
"type": "string"
},
- "url": {
+ "source_url": {
"type": "string"
+ },
+ "tables": {
+ "items": {
+ "$ref": "#/definitions/nba.Table"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "pricecharting.ProductRef": {
+ "nbc.ArticleResponse": {
"properties": {
- "console": {
+ "authors": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "description": {
"type": "string"
},
- "console_slug": {
+ "image_url": {
"type": "string"
},
- "id": {
- "type": "integer"
+ "paragraphs": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "name": {
+ "published_at": {
"type": "string"
},
- "slug": {
+ "section": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "updated_at": {
"type": "string"
},
"url": {
@@ -164407,119 +169396,152 @@
},
"type": "object"
},
- "pricecharting.ProductResponse": {
+ "nbc.AuthorArticle": {
"properties": {
- "product": {
- "$ref": "#/definitions/pricecharting.Product"
+ "image_url": {
+ "type": "string"
+ },
+ "published_at": {
+ "description": "PublishedAt is NBC News' own relative time string for this feed (e.g.\n\"4h ago\", \"2d ago\") -- the author feed's markup carries no\nmachine-readable timestamp to convert to an absolute date.",
+ "type": "string"
+ },
+ "section": {
+ "description": "Section is the article's topic label as NBC News' own byline shows it\n(e.g. \"Immigration\"), distinct from the \"news\"/\"world\"/etc. site\nbrand label shown alongside it.",
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "pricecharting.Sale": {
+ "nbc.AuthorResponse": {
"properties": {
- "date": {
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/nbc.AuthorArticle"
+ },
+ "type": "array"
+ },
+ "bio": {
"type": "string"
},
- "grade": {
+ "image_url": {
"type": "string"
},
- "item_id": {
+ "job_title": {
"type": "string"
},
- "item_url": {
+ "name": {
"type": "string"
},
- "price": {
- "type": "number"
+ "social_links": {
+ "items": {
+ "$ref": "#/definitions/nbc.AuthorSocialLink"
+ },
+ "type": "array"
},
- "source": {
+ "url": {
"type": "string"
- },
- "tab": {
+ }
+ },
+ "type": "object"
+ },
+ "nbc.AuthorSocialLink": {
+ "properties": {
+ "platform": {
"type": "string"
},
- "title": {
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "pricecharting.SearchProduct": {
+ "nbc.HeadlineItem": {
"properties": {
- "category": {
+ "author": {
"type": "string"
},
- "complete_price": {
- "type": "number"
- },
- "console": {
+ "image_url": {
"type": "string"
},
- "console_uid": {
+ "published_at": {
"type": "string"
},
- "id": {
- "type": "integer"
- },
- "image_url": {
+ "summary": {
"type": "string"
},
- "loose_price": {
- "type": "number"
- },
- "name": {
+ "title": {
"type": "string"
},
- "new_price": {
- "type": "number"
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "pricecharting.SearchResponse": {
+ "nbc.HeadlinesResponse": {
"properties": {
- "products": {
+ "items": {
"items": {
- "$ref": "#/definitions/pricecharting.SearchProduct"
+ "$ref": "#/definitions/nbc.HeadlineItem"
},
"type": "array"
},
- "query": {
- "type": "string"
- },
- "sort": {
+ "section": {
"type": "string"
- },
- "total": {
- "type": "integer"
}
},
"type": "object"
},
- "pricecharting.bigMoversResponseDoc": {
+ "nbc.NewsResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "items": {
+ "items": {
+ "$ref": "#/definitions/nbc.HeadlineItem"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "nbc.Section": {
+ "properties": {
+ "name": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/pricecharting.BigMoversResponse"
+ "slug": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "pricecharting.categoriesResponseDoc": {
+ "nbc.SectionsResponse": {
+ "properties": {
+ "sections": {
+ "items": {
+ "$ref": "#/definitions/nbc.Section"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "nbc.articleResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/pricecharting.CategoriesResponse"
+ "$ref": "#/definitions/nbc.ArticleResponse"
},
"msg": {
"example": "OK",
@@ -164528,14 +169550,14 @@
},
"type": "object"
},
- "pricecharting.consoleResponseDoc": {
+ "nbc.authorResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/pricecharting.ConsoleResponse"
+ "$ref": "#/definitions/nbc.AuthorResponse"
},
"msg": {
"example": "OK",
@@ -164544,14 +169566,14 @@
},
"type": "object"
},
- "pricecharting.priceHistoryResponseDoc": {
+ "nbc.headlinesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/pricecharting.PriceHistoryResponse"
+ "$ref": "#/definitions/nbc.HeadlinesResponse"
},
"msg": {
"example": "OK",
@@ -164560,14 +169582,14 @@
},
"type": "object"
},
- "pricecharting.productResponseDoc": {
+ "nbc.newsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/pricecharting.ProductResponse"
+ "$ref": "#/definitions/nbc.NewsResponse"
},
"msg": {
"example": "OK",
@@ -164576,14 +169598,14 @@
},
"type": "object"
},
- "pricecharting.searchResponseDoc": {
+ "nbc.sectionsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/pricecharting.SearchResponse"
+ "$ref": "#/definitions/nbc.SectionsResponse"
},
"msg": {
"example": "OK",
@@ -164592,4036 +169614,3782 @@
},
"type": "object"
},
- "pristineauction.AuctionStatus": {
+ "ndtv.ArticleResponse": {
"properties": {
- "slug": {
- "example": "completed",
+ "authors": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "description": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "paragraphs": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "paywalled": {
+ "description": "Paywalled is true when the publisher serves only a teaser of this\narticle to anonymous readers, so Paragraphs is a partial body rather than\nthe full text. It is omitted when the full public body was returned.",
+ "type": "boolean"
+ },
+ "premium": {
+ "type": "boolean"
+ },
+ "published_at": {
+ "type": "string"
+ },
+ "section": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "updated_at": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "pristineauction.AuctionType": {
+ "ndtv.AuthorArticle": {
"properties": {
- "slug": {
- "example": "daily",
+ "image_url": {
+ "type": "string"
+ },
+ "published_on": {
+ "type": "string"
+ },
+ "section": {
+ "type": "string"
+ },
+ "summary": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "pristineauction.CategoriesResponse": {
+ "ndtv.AuthorResponse": {
"properties": {
- "auction_types": {
+ "articles": {
"items": {
- "$ref": "#/definitions/pristineauction.AuctionType"
+ "$ref": "#/definitions/ndtv.AuthorArticle"
},
"type": "array"
},
- "categories": {
- "items": {
- "$ref": "#/definitions/pristineauction.Category"
- },
- "type": "array"
+ "bio": {
+ "type": "string"
},
- "sort": {
- "items": {
- "$ref": "#/definitions/pristineauction.SortOption"
- },
- "type": "array"
+ "image_url": {
+ "type": "string"
},
- "statuses": {
+ "job_title": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "page": {
+ "type": "integer"
+ },
+ "same_as": {
"items": {
- "$ref": "#/definitions/pristineauction.AuctionStatus"
+ "type": "string"
},
"type": "array"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "pristineauction.Category": {
+ "ndtv.HeadlineItem": {
"properties": {
- "count": {
- "example": 8608,
- "type": "integer"
+ "author": {
+ "type": "string"
},
- "label": {
- "example": "BASEBALL",
+ "image_url": {
"type": "string"
},
- "slug": {
- "example": "baseball",
+ "published_at": {
+ "type": "string"
+ },
+ "summary": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "type": {
"type": "string"
},
"url": {
- "example": "https://www.pristineauction.com/auction/category/baseball",
"type": "string"
}
},
"type": "object"
},
- "pristineauction.LotDetailResponse": {
+ "ndtv.LatestVideosResponse": {
"properties": {
- "auction_type": {
- "example": "CARD AUCTION",
- "type": "string"
- },
- "auction_type_url": {
- "type": "string"
+ "items": {
+ "items": {
+ "$ref": "#/definitions/ndtv.VideoCard"
+ },
+ "type": "array"
},
- "availability": {
- "example": "InStock",
+ "page": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "ndtv.LiveBlogCard": {
+ "properties": {
+ "image_url": {
"type": "string"
},
- "category": {
- "example": "trading-cards",
+ "published_at": {
"type": "string"
},
- "currency": {
- "example": "USD",
+ "summary": {
"type": "string"
},
- "description": {
+ "title": {
"type": "string"
},
- "ends_at": {
- "example": "2026-09-21T03:00:00-07:00",
+ "url": {
"type": "string"
- },
- "images": {
+ }
+ },
+ "type": "object"
+ },
+ "ndtv.LiveBlogResponse": {
+ "properties": {
+ "authors": {
"items": {
"type": "string"
},
"type": "array"
},
- "lot_number": {
- "example": 13154611,
- "type": "integer"
+ "description": {
+ "type": "string"
},
- "no_reserve": {
- "type": "boolean"
+ "image_url": {
+ "type": "string"
},
- "price": {
- "example": 256.66,
- "type": "number"
+ "published_at": {
+ "type": "string"
},
- "sku": {
- "example": "LOT-13154611",
+ "section": {
"type": "string"
},
"title": {
- "example": "Mickey Mantle 1969 Topps #500 (PSA 8) (MC)",
"type": "string"
},
- "total_bids": {
- "type": "integer"
- },
- "total_views": {
- "type": "integer"
+ "updated_at": {
+ "type": "string"
},
- "total_watching": {
- "type": "integer"
+ "updates": {
+ "items": {
+ "$ref": "#/definitions/ndtv.LiveBlogUpdate"
+ },
+ "type": "array"
},
"url": {
- "example": "https://www.pristineauction.com/a13154611",
"type": "string"
}
},
"type": "object"
},
- "pristineauction.LotSummary": {
+ "ndtv.LiveBlogUpdate": {
"properties": {
- "auction_type": {
- "example": "CARD AUCTION",
- "type": "string"
- },
- "auction_type_url": {
- "type": "string"
- },
- "currency": {
- "example": "USD",
- "type": "string"
+ "authors": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "ends_at": {
- "example": "2026-09-21T03:00:00Z",
+ "body": {
"type": "string"
},
- "high_bid": {
- "example": 256.66,
- "type": "number"
- },
"image_url": {
"type": "string"
},
- "lot_number": {
- "example": 13154611,
- "type": "integer"
- },
- "no_reserve": {
- "type": "boolean"
- },
- "subtitle": {
- "example": "Rookie Card",
+ "published_at": {
"type": "string"
},
"title": {
- "example": "Mickey Mantle 1969 Topps #500 (PSA 8) (MC)",
+ "type": "string"
+ },
+ "updated_at": {
"type": "string"
},
"url": {
- "example": "https://www.pristineauction.com/a13154611",
"type": "string"
}
},
"type": "object"
},
- "pristineauction.SearchResponse": {
+ "ndtv.LiveBlogsResponse": {
"properties": {
- "page": {
- "type": "integer"
+ "items": {
+ "items": {
+ "$ref": "#/definitions/ndtv.LiveBlogCard"
+ },
+ "type": "array"
},
- "per_page": {
+ "page": {
"type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "ndtv.SearchResponse": {
+ "properties": {
+ "has_more": {
+ "type": "boolean"
},
- "results": {
+ "items": {
"items": {
- "$ref": "#/definitions/pristineauction.LotSummary"
+ "$ref": "#/definitions/ndtv.HeadlineItem"
},
"type": "array"
},
- "total": {
+ "page": {
"type": "integer"
},
- "total_pages": {
+ "query": {
+ "type": "string"
+ },
+ "total_results": {
"type": "integer"
}
},
"type": "object"
},
- "pristineauction.SortOption": {
+ "ndtv.VideoCard": {
"properties": {
- "slug": {
- "example": "ending-soonest",
+ "duration": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "published_at": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "pristineauction.categoriesResponseDoc": {
+ "ndtv.VideoCategoriesResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/pristineauction.CategoriesResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/ndtv.VideoCategory"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "pristineauction.lotDetailResponseDoc": {
+ "ndtv.VideoCategory": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "name": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/pristineauction.LotDetailResponse"
+ "slug": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "pristineauction.searchResponseDoc": {
+ "ndtv.VideoResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "description": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/pristineauction.SearchResponse"
+ "duration": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "image_url": {
+ "type": "string"
+ },
+ "published_at": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "producthunt.LeaderboardAdItem": {
+ "ndtv.VideosResponse": {
"properties": {
- "channel_kind": {
- "description": "Placement type of the ad, for example `feed`.",
+ "category": {
"type": "string"
},
- "id": {
- "description": "Product Hunt ID of the ad.",
- "type": "string"
+ "items": {
+ "items": {
+ "$ref": "#/definitions/ndtv.VideoCard"
+ },
+ "type": "array"
},
- "large_asset_uuid": {
- "description": "Identifier of the large ad image on Product Hunt's image host.",
+ "page": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "netshort.Card": {
+ "properties": {
+ "cover": {
+ "description": "Cover image with the CDN's ~tplv- resizing suffix removed.",
"type": "string"
},
- "name": {
- "description": "Name shown on the ad.",
+ "episode_count": {
+ "description": "totalEpisode: episode count the card prints.",
+ "example": 35,
+ "type": "integer"
+ },
+ "id": {
+ "description": "shortPlayId: the title's 19-digit snowflake id, and the id every other\nendpoint takes.",
+ "example": "2112388670085812226",
"type": "string"
},
- "post": {
- "allOf": [
- {
- "$ref": "#/definitions/producthunt.LeaderboardAdPost"
- }
- ],
- "description": "Launch post the ad promotes, when it promotes one."
+ "is_finished": {
+ "description": "True when the card is flagged finished.",
+ "type": "boolean"
},
- "small_asset_uuid": {
- "description": "Identifier of the small ad image on Product Hunt's image host.",
- "type": "string"
+ "labels": {
+ "description": "Labels attached to the card (the type-1 label space). Pass the id and\nname of a type-2 label (from netshort-genres) to netshort-label.",
+ "items": {
+ "$ref": "#/definitions/netshort.Label"
+ },
+ "type": "array"
},
- "subject": {
- "description": "Kind of ad entry as Product Hunt labels it, for example `Channel`.",
+ "library_id": {
+ "description": "shortPlayLibraryId: the library (series) id the title belongs to.",
+ "example": "2112388666566791169",
"type": "string"
},
- "tagline": {
- "description": "Short tagline shown on the ad.",
+ "name": {
+ "description": "Display title with the upstream's match-highlight markup removed.",
+ "example": "The Dragon's Silly Captive",
"type": "string"
},
- "thumbnail_uuid": {
- "description": "Identifier of the ad thumbnail image on Product Hunt's image host.",
+ "synopsis": {
+ "description": "Synopsis line the card prints.",
"type": "string"
},
"url": {
- "description": "Link the ad points to.",
- "type": "string"
- },
- "variation_id": {
- "description": "Identifier of the ad variation shown.",
+ "description": "Site-relative episode path from the card, e.g. /episode/-.",
+ "example": "/episode/the-dragons-silly-captive-2112388670085812226",
"type": "string"
}
},
"type": "object"
},
- "producthunt.LeaderboardAdPost": {
+ "netshort.Episode": {
"properties": {
- "comments_count": {
- "description": "Number of comments on the launch.",
- "type": "integer"
+ "cover": {
+ "type": "string"
},
- "created_at": {
- "description": "ISO 8601 timestamp of when the launch was created.",
+ "episode_id": {
+ "example": "2112388670085812227",
"type": "string"
},
- "disabled_when_scheduled": {
- "description": "Whether upvoting is disabled while the launch is scheduled.",
+ "locked": {
+ "description": "True when the upstream locks the episode (paid/app-only window).",
"type": "boolean"
},
- "embargo_preview_at": {
- "description": "ISO 8601 timestamp of the embargo preview, when the launch has one.",
+ "number": {
+ "example": 1,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "netshort.GenreLabel": {
+ "properties": {
+ "id": {
+ "description": "labelId; pass it (with the name) to netshort-label.",
+ "example": "2117547232532922378",
"type": "string"
},
- "featured_at": {
- "description": "ISO 8601 timestamp of when Product Hunt featured the launch.",
+ "name": {
+ "example": "Young Adult",
"type": "string"
},
- "featured_comment": {
- "allOf": [
- {
- "$ref": "#/definitions/producthunt.ProductCategoryAdComment"
- }
- ],
- "description": "Comment Product Hunt features on the launch."
+ "path": {
+ "description": "Site-relative label path, e.g. /drama/Young%20Adult--2.",
+ "type": "string"
},
- "has_voted": {
- "description": "Whether the viewer has upvoted this launch.",
- "type": "boolean"
+ "play_count": {
+ "description": "playCount the payload reports for the label.",
+ "example": 10244,
+ "type": "integer"
},
- "hide_votes_count": {
- "description": "Whether the maker hides the vote count for this launch.",
+ "tab": {
+ "description": "Tab key this label belongs to.",
+ "example": "all-plots",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "netshort.GenreTab": {
+ "properties": {
+ "capped": {
+ "description": "True when this tab returned exactly the upstream's 50-label cap, so more\nvalues may exist. The site's own encrypted nav route returned the same\nrows, so the cap is upstream's, not this parser's.",
+ "example": true,
"type": "boolean"
},
- "id": {
- "description": "Product Hunt ID of the promoted launch post.",
+ "key": {
+ "description": "tab key from the payload, e.g. \"story\".",
+ "example": "story",
"type": "string"
},
- "latest_score": {
- "description": "Current upvote score of the launch.",
- "type": "integer"
- },
- "launch_day_score": {
- "description": "Upvote score the launch had on its launch day.",
+ "label_count": {
+ "description": "Number of labels the payload carried for this tab.",
+ "example": 50,
"type": "integer"
},
"name": {
- "description": "Name of the promoted launch.",
+ "example": "Story",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "netshort.GenresResponse": {
+ "properties": {
+ "capped": {
+ "description": "True when at least one tab hit the upstream's 50-label cap. When true the\nlist is the site's complete navigation, but the site's own navigation is\nitself capped — do not describe it as exhaustive.",
+ "example": true,
+ "type": "boolean"
},
- "product": {
- "allOf": [
- {
- "$ref": "#/definitions/producthunt.LeaderboardProductRef"
- }
- ],
- "description": "Product the launch belongs to."
- },
- "randomization_status": {
- "allOf": [
- {
- "$ref": "#/definitions/producthunt.LeaderboardRandomizationStatus"
- }
- ],
- "description": "Whether and when Product Hunt randomizes where this launch appears."
+ "labels": {
+ "items": {
+ "$ref": "#/definitions/netshort.GenreLabel"
+ },
+ "type": "array"
},
- "slug": {
- "description": "URL slug of the promoted launch post.",
+ "language": {
+ "example": "en",
"type": "string"
},
- "topics": {
- "description": "Topics the launch is tagged with.",
+ "tabs": {
"items": {
- "$ref": "#/definitions/producthunt.LeaderboardTopic"
+ "$ref": "#/definitions/netshort.GenreTab"
},
"type": "array"
- },
- "updated_at": {
- "description": "ISO 8601 timestamp of the last update to the launch.",
- "type": "string"
}
},
"type": "object"
},
- "producthunt.LeaderboardGhostItem": {
+ "netshort.HomeResponse": {
"properties": {
- "id": {
- "description": "Product Hunt ID of the empty ad slot.",
+ "language": {
+ "description": "Locale the shelves were read for.",
+ "example": "en",
"type": "string"
},
- "subject": {
- "description": "Kind of entry as Product Hunt labels it. Always `Ghost`.",
- "type": "string"
+ "shelves": {
+ "items": {
+ "$ref": "#/definitions/netshort.Shelf"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "producthunt.LeaderboardItem": {
+ "netshort.Label": {
"properties": {
- "ad": {
- "allOf": [
- {
- "$ref": "#/definitions/producthunt.LeaderboardAdItem"
- }
- ],
- "description": "Ad details. Set when `type` is `ad`."
- },
- "ghost_ad": {
- "allOf": [
- {
- "$ref": "#/definitions/producthunt.LeaderboardGhostItem"
- }
- ],
- "description": "Empty ad slot details. Set when `type` is `ghost_ad`."
+ "id": {
+ "example": "2117547232532922378",
+ "type": "string"
},
- "post": {
- "allOf": [
- {
- "$ref": "#/definitions/producthunt.LeaderboardPostItem"
- }
- ],
- "description": "Launch details. Set when `type` is `post`."
+ "name": {
+ "example": "Revenge",
+ "type": "string"
},
- "type": {
- "description": "Kind of entry: `post` for a launch, `ad` for an ad or `ghost_ad` for an empty ad slot.",
+ "path": {
+ "description": "Site-relative label path as the payload prints it.",
+ "example": "/drama/Revenge-2117547232532922378-2",
"type": "string"
}
},
"type": "object"
},
- "producthunt.LeaderboardPage": {
+ "netshort.ListingResponse": {
"properties": {
- "connection": {
- "description": "Name of the Product Hunt feed the items come from.",
+ "language": {
+ "example": "en",
"type": "string"
},
- "day": {
- "description": "Day of the month of the leaderboard period. Set for daily leaderboards.",
- "example": 29,
+ "page": {
+ "description": "Page actually returned. page/0 and page/1 both canonicalise to 1 upstream.",
+ "example": 1,
"type": "integer"
},
- "end_cursor": {
- "description": "Cursor that points to the end of this page, as Product Hunt returns it.",
- "type": "string"
- },
- "featured": {
- "description": "Whether the leaderboard lists featured launches only.",
- "type": "boolean"
+ "page_size": {
+ "description": "PageSize the route uses: 24 for the plot index and label pages, 10 for\nthe browse index.",
+ "example": 24,
+ "type": "integer"
},
- "golden_kitty_years": {
- "description": "Years that have a Golden Kitty Awards hall of fame entry.",
+ "titles": {
"items": {
- "type": "integer"
+ "$ref": "#/definitions/netshort.Card"
},
"type": "array"
},
- "has_next_page": {
- "description": "Whether Product Hunt has more leaderboard items after this page.",
+ "total": {
+ "description": "totalCount from the payload: the site's own catalogue size.",
+ "example": 11575,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "netshort.SearchResponse": {
+ "properties": {
+ "approximate": {
+ "description": "Always true: the search is fuzzy (an unmatched keyword still returns\ntoken matches) and pages are not a strict partition, so results are\napproximate. Dedupe by `id` when accumulating pages.",
+ "example": true,
"type": "boolean"
},
- "items": {
- "description": "Leaderboard entries in ranked order. Each one is a launch, an ad or an empty ad slot.",
- "items": {
- "$ref": "#/definitions/producthunt.LeaderboardItem"
- },
- "type": "array"
+ "language": {
+ "example": "en_US",
+ "type": "string"
},
- "month": {
- "description": "Month number from the requested date, 1 to 12. Only meaningful for daily and monthly leaderboards.",
+ "page": {
"example": 1,
"type": "integer"
},
- "order": {
- "description": "Ranking order the leaderboard uses, for example `DAILY_RANK`.",
- "example": "DAILY_RANK",
- "type": "string"
- },
- "raw_page_info": {
- "additionalProperties": {},
- "description": "Pagination details for this page as Product Hunt returns them: `endCursor` and `hasNextPage`.",
- "type": "object"
+ "page_size": {
+ "description": "Requested page size. The response may carry more results than this: the\nupstream floors page 1 at 15 items.",
+ "example": 10,
+ "type": "integer"
},
- "scope": {
- "description": "Leaderboard period: `daily`, `weekly`, `monthly` or `yearly`.",
- "example": "daily",
+ "query": {
+ "example": "love",
"type": "string"
},
- "total_count": {
- "description": "Number of items returned on this page.",
- "type": "integer"
- },
- "week": {
- "description": "ISO week number from the requested date. Only meaningful for weekly leaderboards.",
- "example": 5,
- "type": "integer"
+ "results": {
+ "description": "Results in the upstream's own order. `name` has the upstream's match\nhighlighting stripped.",
+ "items": {
+ "$ref": "#/definitions/netshort.Card"
+ },
+ "type": "array"
},
- "year": {
- "description": "Year of the leaderboard period.",
- "example": 2026,
+ "total": {
+ "description": "Upstream total when the route reports one; 0 when it does not.",
"type": "integer"
}
},
"type": "object"
},
- "producthunt.LeaderboardPostItem": {
+ "netshort.Shelf": {
"properties": {
- "comments_count": {
- "description": "Number of comments on the launch.",
- "type": "integer"
- },
- "created_at": {
- "description": "ISO 8601 timestamp of when the launch was created.",
+ "list_page_url": {
+ "description": "listPageUrl the shelf's \"see all\" link points at, site-relative.",
+ "example": "/toplist/trending-short-dramas",
"type": "string"
},
- "daily_rank": {
- "description": "Rank on the daily leaderboard. `0` when Product Hunt gives no rank.",
- "type": "integer"
- },
- "disabled_when_scheduled": {
- "description": "Whether upvoting is disabled while the launch is scheduled.",
- "type": "boolean"
+ "name": {
+ "description": "groupName from the payload, e.g. \"Trending Now\".",
+ "example": "Trending Now",
+ "type": "string"
},
- "embargo_preview_at": {
- "description": "ISO 8601 timestamp of the embargo preview, when the launch has one.",
+ "titles": {
+ "items": {
+ "$ref": "#/definitions/netshort.Card"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "netshort.TitleResponse": {
+ "properties": {
+ "chase_count": {
+ "description": "totalChaseNums as the site prints it (\"2954.4K\").",
+ "example": "2954.4K",
"type": "string"
},
- "featured_at": {
- "description": "ISO 8601 timestamp of when Product Hunt featured the launch.",
+ "cover": {
"type": "string"
},
- "friend_voters_count": {
- "description": "Number of the viewer's friends who upvoted the launch.",
+ "episode_count": {
+ "description": "totalEpisode from the payload.",
+ "example": 35,
"type": "integer"
},
- "has_voted": {
- "description": "Whether the viewer has upvoted this launch.",
- "type": "boolean"
+ "episodes": {
+ "description": "The title's episode window (videoEpisodeInfos, 40 entries in the capture).",
+ "items": {
+ "$ref": "#/definitions/netshort.Episode"
+ },
+ "type": "array"
},
- "hide_votes_count": {
- "description": "Whether the maker hides the vote count for this launch.",
+ "has_more_episodes": {
+ "description": "True when the payload carried the upstream's full 40-episode window, so a\nlonger series continues past it.",
+ "example": false,
"type": "boolean"
},
"id": {
- "description": "Product Hunt ID of the launch post.",
+ "example": "2112388670085812226",
"type": "string"
},
- "is_subscribed": {
- "description": "Whether the viewer is subscribed to this launch.",
+ "is_delisted": {
+ "description": "True when the payload flags the title delisted.",
"type": "boolean"
},
- "latest_score": {
- "description": "Current upvote score of the launch.",
- "type": "integer"
- },
- "launch_day_score": {
- "description": "Upvote score the launch had on its launch day.",
- "type": "integer"
- },
- "monthly_rank": {
- "description": "Rank on the monthly leaderboard. `0` when Product Hunt gives no rank.",
- "type": "integer"
+ "labels": {
+ "description": "Labels the payload lists for the title (type-1 space).",
+ "items": {
+ "$ref": "#/definitions/netshort.Label"
+ },
+ "type": "array"
},
- "name": {
- "description": "Name of the launch as shown on the leaderboard.",
+ "library_id": {
"type": "string"
},
- "product": {
- "allOf": [
- {
- "$ref": "#/definitions/producthunt.LeaderboardProductRef"
- }
- ],
- "description": "Product the launch belongs to."
- },
- "product_state": {
- "description": "Product Hunt's state label for the product, for example `default`.",
+ "like_count": {
+ "description": "totalLikeNums as the site prints it (\"282.6K\"): display text, not an\nexact integer.",
+ "example": "282.6K",
"type": "string"
},
- "randomization_status": {
- "allOf": [
- {
- "$ref": "#/definitions/producthunt.LeaderboardRandomizationStatus"
- }
- ],
- "description": "Whether and when Product Hunt randomizes where this launch appears."
- },
- "scheduled_at": {
- "description": "ISO 8601 timestamp the launch is scheduled for.",
+ "name": {
+ "example": "The Dragon's Silly Captive",
"type": "string"
},
- "shortened_url": {
- "description": "Short Product Hunt link to the launch.",
+ "publish_time": {
+ "description": "publishTime as the payload prints it.",
"type": "string"
},
- "slug": {
- "description": "URL slug of the launch post.",
+ "synopsis": {
"type": "string"
},
- "tagline": {
- "description": "Short tagline of the launch.",
+ "url": {
+ "description": "Site-relative episode path from the payload.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "netshort.ToplistResponse": {
+ "properties": {
+ "board": {
+ "example": "trending-short-dramas",
"type": "string"
},
- "thumbnail_image_uuid": {
- "description": "Identifier of the launch thumbnail image on Product Hunt's image host.",
+ "name": {
+ "description": "Board display name from the site's own nav.",
+ "example": "Trending Now",
"type": "string"
},
- "topics": {
- "description": "Topics the launch is tagged with.",
+ "titles": {
"items": {
- "$ref": "#/definitions/producthunt.LeaderboardTopic"
+ "$ref": "#/definitions/netshort.Card"
},
"type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "netshort.browseResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "updated_at": {
- "description": "ISO 8601 timestamp of the last update to the launch.",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/netshort.ListingResponse"
},
- "weekly_rank": {
- "description": "Rank on the weekly leaderboard. `0` when Product Hunt gives no rank.",
- "type": "integer"
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "producthunt.LeaderboardProductRef": {
+ "netshort.genresResponseDoc": {
"properties": {
- "id": {
- "description": "Product Hunt ID of the product.",
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "is_no_longer_online": {
- "description": "Whether Product Hunt marks the product as no longer online.",
- "type": "boolean"
+ "data": {
+ "$ref": "#/definitions/netshort.GenresResponse"
},
- "is_subscribed": {
- "description": "Whether the viewer follows this product.",
- "type": "boolean"
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "netshort.homeResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "is_top_product": {
- "description": "Whether Product Hunt marks this as a top product.",
- "type": "boolean"
+ "data": {
+ "$ref": "#/definitions/netshort.HomeResponse"
},
- "logo_uuid": {
- "description": "Identifier of the product logo on Product Hunt's image host.",
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "netshort.labelResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "name": {
- "description": "Name of the product.",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/netshort.ListingResponse"
},
- "slug": {
- "description": "URL slug of the product. Use it with the product endpoint.",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "producthunt.LeaderboardRandomizationStatus": {
+ "netshort.plotsResponseDoc": {
"properties": {
- "active": {
- "description": "Whether randomization is currently in effect.",
- "type": "boolean"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "next_transition_at": {
- "description": "ISO 8601 timestamp of the next change to the randomization state, when there is one.",
+ "data": {
+ "$ref": "#/definitions/netshort.ListingResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "netshort.searchResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "random_day": {
- "description": "Whether the launch day is randomized.",
- "type": "boolean"
+ "data": {
+ "$ref": "#/definitions/netshort.SearchResponse"
},
- "randomize_order": {
- "description": "Whether the order of this launch among others is randomized.",
- "type": "boolean"
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "producthunt.LeaderboardTopic": {
+ "netshort.titleResponseDoc": {
"properties": {
- "id": {
- "description": "Product Hunt ID of the topic.",
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "name": {
- "description": "Display name of the topic.",
+ "data": {
+ "$ref": "#/definitions/netshort.TitleResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "netshort.toplistResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "slug": {
- "description": "URL slug of the topic.",
+ "data": {
+ "$ref": "#/definitions/netshort.ToplistResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "producthunt.Product": {
+ "news18.AuthorResponse": {
"properties": {
- "categories": {
- "description": "Names of the Product Hunt categories the product belongs to.",
- "example": [
- "[\"Design\"",
- "\"Productivity\"]"
- ],
+ "articles": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/newsplatform.HeadlineItem"
},
"type": "array"
},
- "daily_rank": {
- "description": "Daily leaderboard rank. `0` when Product Hunt shows none.",
- "example": 1,
- "type": "integer"
+ "biography": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "date_published": {
- "description": "Time the product was first published on Product Hunt, as an RFC 3339 timestamp.",
- "example": "2024-07-21T12:34:56Z",
+ "image_url": {
"type": "string"
},
- "description": {
- "description": "Description of the product from its Product Hunt page.",
- "example": "Chronicle lets designers and developers review every iteration in one place.",
+ "name": {
"type": "string"
},
- "followers_count": {
- "description": "Number of Product Hunt users following the product.",
- "example": 2000,
- "type": "integer"
+ "social_links": {
+ "items": {
+ "$ref": "#/definitions/news18.AuthorSocialLink"
+ },
+ "type": "array"
},
- "id": {
- "description": "Product Hunt slug of the product. Use it with the product endpoint.",
- "example": "chronicle-design",
+ "url": {
"type": "string"
- },
- "monthly_rank": {
- "description": "Monthly leaderboard rank from the product's awards. `0` when Product Hunt shows none.",
- "example": 1,
- "type": "integer"
- },
- "name": {
- "description": "Name of the product.",
- "example": "Chronicle",
+ }
+ },
+ "type": "object"
+ },
+ "news18.AuthorSocialLink": {
+ "properties": {
+ "type": {
"type": "string"
},
- "rating": {
- "description": "Average review rating on Product Hunt, out of 5.",
- "example": 4.8,
- "type": "number"
- },
- "review_count": {
- "description": "Number of reviews the product has on Product Hunt.",
- "example": 152,
- "type": "integer"
- },
- "similar_products": {
- "description": "Products Product Hunt lists as alternatives.",
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "newscomau.AuthorResponse": {
+ "properties": {
+ "articles": {
"items": {
- "$ref": "#/definitions/producthunt.SimilarProduct"
+ "$ref": "#/definitions/newscomau.HeadlineItem"
},
"type": "array"
},
- "social_links": {
- "description": "Links to the product's social and app store pages, sorted alphabetically. Product Hunt's own links are left out.",
- "example": [
- "[\"https://twitter.com/chronicle\"",
- "\"https://github.com/chronicle\"]"
- ],
+ "biography": {
"items": {
"type": "string"
},
"type": "array"
},
- "tagline": {
- "description": "Short tagline of the product.",
- "example": "Visual version control for teams",
+ "image_url": {
"type": "string"
},
- "website": {
- "description": "Product website address.",
- "example": "https://chronicle.design",
+ "job_title": {
"type": "string"
},
- "weekly_rank": {
- "description": "Weekly leaderboard rank from the product's awards. `0` when Product Hunt shows none.",
- "example": 1,
- "type": "integer"
+ "name": {
+ "type": "string"
+ },
+ "social_urls": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "producthunt.ProductAboutAd": {
+ "newscomau.HeadlineItem": {
"properties": {
- "channel_kind": {
- "description": "Placement type of the ad, for example `feed`.",
- "type": "string"
- },
- "id": {
- "description": "Product Hunt ID of the ad.",
- "type": "string"
- },
- "large_asset_uuid": {
- "description": "Identifier of the large ad image on Product Hunt's image host.",
+ "author": {
"type": "string"
},
- "name": {
- "description": "Name shown on the ad.",
+ "image_url": {
"type": "string"
},
- "small_asset_uuid": {
- "description": "Identifier of the small ad image on Product Hunt's image host.",
+ "published_at": {
"type": "string"
},
- "subject": {
- "description": "Kind of ad entry as Product Hunt labels it.",
+ "summary": {
"type": "string"
},
- "tagline": {
- "description": "Short tagline shown on the ad.",
+ "title": {
"type": "string"
},
- "thumbnail_uuid": {
- "description": "Identifier of the ad thumbnail image on Product Hunt's image host.",
+ "type": {
"type": "string"
},
"url": {
- "description": "Link the ad points to.",
- "type": "string"
- },
- "variation_id": {
- "description": "Identifier of the ad variation shown.",
"type": "string"
}
},
"type": "object"
},
- "producthunt.ProductAboutDiscussionForum": {
+ "newsmax.AuthorResponse": {
"properties": {
- "id": {
- "description": "Product Hunt ID of the product's discussion forum.",
- "type": "string"
- },
- "path": {
- "description": "Product Hunt path of the discussion forum.",
- "type": "string"
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/newsplatform.HeadlineItem"
+ },
+ "type": "array"
},
- "threads": {
- "description": "Discussion threads returned for the forum.",
+ "biography": {
"items": {
- "$ref": "#/definitions/producthunt.ProductAboutDiscussionThread"
+ "type": "string"
},
"type": "array"
},
- "total_count": {
- "description": "Total number of discussion threads in the forum.",
- "type": "integer"
+ "image_url": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "producthunt.ProductAboutDiscussionThread": {
+ "newsplatform.ArticleResponse": {
"properties": {
- "commentable_id": {
- "description": "Product Hunt ID used for comments on the thread.",
- "type": "string"
- },
- "comments_count": {
- "description": "Number of comments on the thread.",
- "type": "integer"
- },
- "created_at": {
- "description": "ISO 8601 timestamp of when the thread was created.",
- "type": "string"
+ "authors": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "description_preview": {
- "description": "Short preview of the thread's opening text.",
+ "description": {
"type": "string"
},
- "forum": {
- "allOf": [
- {
- "$ref": "#/definitions/producthunt.ProductAboutForumRef"
- }
- ],
- "description": "Forum the thread belongs to."
- },
- "has_voted": {
- "description": "Whether the viewer has upvoted the thread.",
- "type": "boolean"
- },
- "id": {
- "description": "Product Hunt ID of the thread.",
+ "image_url": {
"type": "string"
},
- "is_featured": {
- "description": "Whether Product Hunt features the thread.",
- "type": "boolean"
+ "paragraphs": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "is_pinned": {
- "description": "Whether the thread is pinned in the forum.",
+ "paywalled": {
+ "description": "Paywalled is true when the publisher serves only a teaser of this\narticle to anonymous readers, so Paragraphs is a partial body rather than\nthe full text. It is omitted when the full public body was returned.",
"type": "boolean"
},
- "path": {
- "description": "Product Hunt path of the thread.",
+ "published_at": {
"type": "string"
},
- "slug": {
- "description": "URL slug of the thread.",
+ "section": {
"type": "string"
},
"title": {
- "description": "Title of the thread.",
"type": "string"
},
- "user": {
- "allOf": [
- {
- "$ref": "#/definitions/producthunt.ProductCategoryUser"
- }
- ],
- "description": "Member who started the thread."
+ "updated_at": {
+ "type": "string"
},
- "votes_count": {
- "description": "Number of upvotes on the thread.",
- "type": "integer"
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "producthunt.ProductAboutForumRef": {
+ "newsplatform.HeadlineItem": {
"properties": {
- "id": {
- "description": "Product Hunt ID of the forum.",
+ "author": {
"type": "string"
},
- "path": {
- "description": "Product Hunt path of the forum.",
+ "image_url": {
"type": "string"
},
- "slug": {
- "description": "URL slug of the forum.",
+ "published_at": {
"type": "string"
},
- "subject": {
- "allOf": [
- {
- "$ref": "#/definitions/producthunt.ProductAboutForumSubject"
- }
- ],
- "description": "Product the forum is about."
- }
- },
- "type": "object"
- },
- "producthunt.ProductAboutForumSubject": {
- "properties": {
- "id": {
- "description": "Product Hunt ID of the product the forum is about.",
+ "summary": {
"type": "string"
},
- "is_no_longer_online": {
- "description": "Whether Product Hunt marks the product as no longer online.",
- "type": "boolean"
+ "title": {
+ "type": "string"
},
- "logo_uuid": {
- "description": "Identifier of the product logo on Product Hunt's image host.",
+ "type": {
"type": "string"
},
- "name": {
- "description": "Name of the product the forum is about.",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "producthunt.ProductAboutGhostAd": {
+ "newsplatform.HeadlinesResponse": {
"properties": {
- "id": {
- "description": "Product Hunt ID of the ad entry.",
- "type": "string"
+ "items": {
+ "items": {
+ "$ref": "#/definitions/newsplatform.HeadlineItem"
+ },
+ "type": "array"
},
- "subject": {
- "description": "Kind of entry as Product Hunt labels it, for example `Ghost`.",
+ "section": {
"type": "string"
}
},
"type": "object"
},
- "producthunt.ProductAboutLatestLaunch": {
+ "newsplatform.NewsResponse": {
+ "properties": {
+ "items": {
+ "items": {
+ "$ref": "#/definitions/newsplatform.HeadlineItem"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "newsplatform.Section": {
"properties": {
- "id": {
- "description": "Product Hunt ID of the latest launch.",
- "type": "string"
- },
- "is_maker": {
- "description": "Whether the viewer is a maker of this launch.",
- "type": "boolean"
- },
- "launch_number": {
- "description": "Sequence number of this launch among the product's launches.",
- "type": "integer"
- },
- "launched_this_week": {
- "description": "Whether the product launched this week.",
- "type": "boolean"
- },
- "launching_today": {
- "description": "Whether the product is launching today.",
- "type": "boolean"
- },
"name": {
- "description": "Name of the latest launch.",
- "type": "string"
- },
- "product_state": {
- "description": "Product Hunt's state label for the product, for example `default`.",
- "type": "string"
- },
- "scheduled_at": {
- "description": "ISO 8601 timestamp the launch is scheduled for.",
"type": "string"
},
"slug": {
- "description": "URL slug of the latest launch.",
- "type": "string"
- },
- "tagline": {
- "description": "Short tagline of the latest launch.",
"type": "string"
},
- "thumbnail_image_uuid": {
- "description": "Identifier of the launch thumbnail image on Product Hunt's image host.",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "producthunt.ProductAboutLaunch": {
+ "newsplatform.SectionsResponse": {
"properties": {
- "ad1": {
- "allOf": [
- {
- "$ref": "#/definitions/producthunt.ProductAboutGhostAd"
- }
- ],
- "description": "First ad slot shown next to the launch."
- },
- "ad2": {
- "allOf": [
- {
- "$ref": "#/definitions/producthunt.ProductAboutGhostAd"
- }
- ],
- "description": "Second ad entry attached to the launch."
- },
- "badges": {
- "description": "Badges the launch has earned, such as leaderboard awards.",
+ "sections": {
"items": {
- "$ref": "#/definitions/producthunt.ProductCategoryListBadge"
+ "$ref": "#/definitions/newsplatform.Section"
},
"type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "newsweek.AuthorArticle": {
+ "properties": {
+ "section": {
+ "type": "string"
},
- "can_deputy_manage": {
- "description": "Whether the viewer can manage the launch as a deputy.",
- "type": "boolean"
- },
- "can_manage": {
- "description": "Whether the viewer can manage the launch.",
- "type": "boolean"
- },
- "comments_count": {
- "description": "Number of comments on the launch.",
- "type": "integer"
- },
- "created_at": {
- "description": "ISO 8601 timestamp of when the launch was created.",
+ "section_url": {
"type": "string"
},
- "daily_rank": {
- "description": "Rank on the daily leaderboard. `0` when Product Hunt gives no rank.",
- "type": "integer"
+ "summary": {
+ "type": "string"
},
- "description": {
- "description": "Description of the launch written by the maker.",
+ "title": {
"type": "string"
},
- "detailed_reviews": {
- "description": "Detailed reviews and shoutouts for the launch.",
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "newsweek.AuthorResponse": {
+ "properties": {
+ "articles": {
"items": {
- "$ref": "#/definitions/producthunt.ProductAboutShoutout"
+ "$ref": "#/definitions/newsweek.AuthorArticle"
},
"type": "array"
},
- "disabled_when_scheduled": {
- "description": "Whether upvoting is disabled while the launch is scheduled.",
- "type": "boolean"
+ "bio": {
+ "type": "string"
},
- "embargo_preview_at": {
- "description": "ISO 8601 timestamp of the embargo preview, when the launch has one.",
+ "email": {
"type": "string"
},
- "featured": {
- "description": "Whether Product Hunt featured the launch.",
+ "has_next_page": {
"type": "boolean"
},
- "featured_at": {
- "description": "ISO 8601 timestamp of when Product Hunt featured the launch.",
+ "image_url": {
"type": "string"
},
- "has_voted": {
- "description": "Whether the viewer has upvoted this launch.",
- "type": "boolean"
+ "job_title": {
+ "type": "string"
},
- "hide_votes_count": {
- "description": "Whether the maker hides the vote count for this launch.",
- "type": "boolean"
+ "name": {
+ "type": "string"
},
- "id": {
- "description": "Product Hunt ID of the launch.",
+ "page": {
+ "type": "integer"
+ },
+ "slug": {
"type": "string"
},
- "is_archived": {
- "description": "Whether the launch is archived.",
- "type": "boolean"
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "newyorker.ArticleResponse": {
+ "properties": {
+ "authors": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "is_available": {
- "description": "Whether Product Hunt marks the launch as available.",
- "type": "boolean"
+ "description": {
+ "type": "string"
},
- "is_hunter": {
- "description": "Whether the viewer is the hunter who posted this launch.",
- "type": "boolean"
+ "image_url": {
+ "type": "string"
},
- "is_maker": {
- "description": "Whether the viewer is a maker of this launch.",
+ "is_accessible_for_free": {
"type": "boolean"
},
- "is_top_launch": {
- "description": "Whether Product Hunt marks this as a top launch.",
+ "is_truncated": {
"type": "boolean"
},
- "latest_score": {
- "description": "Current upvote score of the launch.",
- "type": "integer"
+ "paragraphs": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "launch_day_score": {
- "description": "Upvote score the launch had on its launch day.",
- "type": "integer"
+ "published_at": {
+ "type": "string"
},
- "launch_number": {
- "description": "Sequence number of this launch among the product's launches.",
- "type": "integer"
+ "section": {
+ "type": "string"
},
- "launch_state": {
- "description": "Launch state as Product Hunt labels it, for example `featured`.",
+ "title": {
"type": "string"
},
- "launched_this_week": {
- "description": "Whether the launch happened this week.",
- "type": "boolean"
+ "updated_at": {
+ "type": "string"
},
- "launching_today": {
- "description": "Whether the product is launching today.",
- "type": "boolean"
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "newyorker.AuthorLink": {
+ "properties": {
+ "type": {
+ "type": "string"
},
- "links": {
- "description": "Download or visit links listed on the launch, one per store or website.",
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "newyorker.AuthorResponse": {
+ "properties": {
+ "articles": {
"items": {
- "$ref": "#/definitions/producthunt.ProductAboutLink"
+ "$ref": "#/definitions/newyorker.HeadlineItem"
},
"type": "array"
},
- "makers": {
- "description": "Makers credited on the launch.",
+ "biography": {
"items": {
- "$ref": "#/definitions/producthunt.ProductAboutUser"
+ "type": "string"
},
"type": "array"
},
- "media": {
- "description": "Images and videos attached to the launch.",
+ "image_url": {
+ "type": "string"
+ },
+ "links": {
"items": {
- "$ref": "#/definitions/producthunt.ProductAboutMedia"
+ "$ref": "#/definitions/newyorker.AuthorLink"
},
"type": "array"
},
- "meta": {
- "allOf": [
- {
- "$ref": "#/definitions/producthunt.ProductAboutMeta"
- }
- ],
- "description": "Page metadata for the launch."
- },
- "moderation_reason": {
- "description": "Reason Product Hunt gives when the launch was moderated.",
- "type": "string"
- },
"name": {
- "description": "Name of the launch.",
"type": "string"
},
- "pricing_type": {
- "description": "Pricing model of the product as Product Hunt lists it, for example `free`.",
+ "url": {
"type": "string"
- },
- "primary_link": {
- "allOf": [
- {
- "$ref": "#/definitions/producthunt.ProductAboutPrimaryLink"
- }
- ],
- "description": "Main link of the launch."
- },
- "product": {
- "allOf": [
- {
- "$ref": "#/definitions/producthunt.ProductAboutLaunchProduct"
- }
- ],
- "description": "Product the launch belongs to."
- },
- "product_state": {
- "description": "Product Hunt's state label for the product, for example `default`.",
+ }
+ },
+ "type": "object"
+ },
+ "newyorker.HeadlineItem": {
+ "properties": {
+ "author": {
"type": "string"
},
- "promo": {
- "additionalProperties": {},
- "description": "Promotion attached to the launch, as Product Hunt returns it.",
- "type": "object"
- },
- "redirect_to_product": {
- "allOf": [
- {
- "$ref": "#/definitions/producthunt.LeaderboardProductRef"
- }
- ],
- "description": "Product the launch page redirects to, when it redirects."
+ "image_url": {
+ "type": "string"
},
- "scheduled_at": {
- "description": "ISO 8601 timestamp the launch is scheduled for.",
+ "published_at": {
"type": "string"
},
- "slug": {
- "description": "URL slug of the launch.",
+ "summary": {
"type": "string"
},
- "tagline": {
- "description": "Short tagline of the launch.",
+ "title": {
"type": "string"
},
- "thumbnail_image_uuid": {
- "description": "Identifier of the launch thumbnail image on Product Hunt's image host.",
+ "type": {
"type": "string"
},
- "topics": {
- "description": "Topics the launch is tagged with.",
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "nfhs.ActivitiesResponse": {
+ "properties": {
+ "activities": {
"items": {
- "$ref": "#/definitions/producthunt.ProductCategoryRef"
+ "$ref": "#/definitions/nfhs.Activity"
},
"type": "array"
},
- "trashed_at": {
- "description": "ISO 8601 timestamp of when the launch was trashed, when it was.",
- "type": "string"
+ "count": {
+ "type": "integer"
},
- "updated_at": {
- "description": "ISO 8601 timestamp of the last update to the launch.",
+ "fetched_at": {
"type": "string"
},
- "url": {
- "description": "Product Hunt link to the launch.",
+ "source_url": {
"type": "string"
- },
- "user": {
- "allOf": [
- {
- "$ref": "#/definitions/producthunt.ProductAboutUser"
- }
- ],
- "description": "Member who posted the launch."
- },
- "weekly_rank": {
- "description": "Rank on the weekly leaderboard. `0` when Product Hunt gives no rank.",
- "type": "integer"
}
},
"type": "object"
},
- "producthunt.ProductAboutLaunchFlags": {
+ "nfhs.Activity": {
"properties": {
+ "display_name": {
+ "type": "string"
+ },
+ "icon_path": {
+ "type": "string"
+ },
"id": {
- "description": "Product Hunt ID of the latest launch.",
+ "type": "integer"
+ },
+ "is_championship": {
+ "type": "boolean"
+ },
+ "is_deleted": {
+ "type": "boolean"
+ },
+ "is_indoor": {
+ "type": "boolean"
+ },
+ "is_sport": {
+ "type": "boolean"
+ },
+ "is_top_sport": {
+ "type": "boolean"
+ },
+ "is_two_team": {
+ "type": "boolean"
+ },
+ "mute": {
+ "type": "boolean"
+ },
+ "name": {
"type": "string"
},
- "launched_this_week": {
- "description": "Whether the product launched this week.",
+ "score": {
+ "type": "integer"
+ },
+ "show_genders": {
"type": "boolean"
},
- "launching_today": {
- "description": "Whether the product is launching today.",
+ "show_genders_combined": {
"type": "boolean"
}
},
"type": "object"
},
- "producthunt.ProductAboutLaunchProduct": {
+ "nfhs.Affiliate": {
"properties": {
- "can_claim": {
- "description": "Whether the viewer can claim the product page.",
- "type": "boolean"
+ "about": {
+ "type": "string"
},
- "can_edit": {
- "description": "Whether the viewer can edit the product page.",
- "type": "boolean"
+ "affiliate_type": {
+ "type": "string"
},
- "clean_url": {
- "description": "Product website address without tracking parameters.",
+ "attribution_group": {
"type": "string"
},
- "detailed_review": {
- "additionalProperties": {},
- "description": "Detailed review summary of the product, as Product Hunt returns it.",
- "type": "object"
+ "content_type": {
+ "type": "string"
},
- "first_launch": {
- "description": "Whether this is the product's first launch.",
+ "dto_enabled": {
"type": "boolean"
},
+ "facebook": {
+ "type": "string"
+ },
"id": {
- "description": "Product Hunt ID of the product.",
"type": "string"
},
- "is_claimed": {
- "description": "Whether a team has claimed the product page.",
- "type": "boolean"
+ "instagram": {
+ "type": "string"
},
- "is_no_longer_online": {
- "description": "Whether Product Hunt marks the product as no longer online.",
+ "is_deleted": {
"type": "boolean"
},
- "is_subscribed": {
- "description": "Whether the viewer follows this product.",
+ "is_network": {
"type": "boolean"
},
- "is_top_product": {
- "description": "Whether Product Hunt marks this as a top product.",
+ "is_subscription": {
"type": "boolean"
},
- "is_viewer_team_member": {
- "additionalProperties": {},
- "description": "Whether the viewer is on the product's team, as Product Hunt returns it.",
- "type": "object"
- },
- "latest_launch": {
- "allOf": [
- {
- "$ref": "#/definitions/producthunt.ProductAboutLaunchFlags"
- }
- ],
- "description": "Flags describing the product's latest launch."
+ "key": {
+ "type": "string"
},
- "logo_uuid": {
- "description": "Identifier of the product logo on Product Hunt's image host.",
+ "logo": {
"type": "string"
},
"name": {
- "description": "Name of the product.",
"type": "string"
},
- "posts_count": {
- "description": "Number of launch posts the product has.",
- "type": "integer"
+ "primary_color": {
+ "type": "string"
},
- "pro_con_tags": {
- "description": "Pro and con tags reviewers have attached to the product.",
- "items": {
- "$ref": "#/definitions/producthunt.ProductDetailedReviewTag"
- },
- "type": "array"
+ "producer_key": {
+ "type": "string"
},
- "review_questions": {
- "description": "Questions Product Hunt asks reviewers of the product.",
+ "producer_slug": {
+ "type": "string"
+ },
+ "publisher_key": {
+ "type": "string"
+ },
+ "publisher_location": {
+ "type": "string"
+ },
+ "publisher_slug": {
+ "type": "string"
+ },
+ "secondary_color": {
+ "type": "string"
+ },
+ "slug": {
+ "type": "string"
+ },
+ "states": {
"items": {
- "$ref": "#/definitions/producthunt.ProductAboutReviewQuestion"
+ "$ref": "#/definitions/nfhs.StateRef"
},
"type": "array"
},
- "reviews_rating": {
- "description": "Average review rating on Product Hunt.",
- "type": "number"
+ "twitter": {
+ "type": "string"
},
- "slug": {
- "description": "URL slug of the product. Use it with the product endpoint.",
+ "type": {
"type": "string"
},
- "tagline": {
- "description": "Short tagline of the product.",
+ "website": {
"type": "string"
},
- "twitter_url": {
- "description": "Link to the product's Twitter or X profile.",
+ "youtube": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "nfhs.AffiliateResponse": {
+ "properties": {
+ "affiliate": {
+ "$ref": "#/definitions/nfhs.Affiliate"
},
- "viewer_pending_team_request": {
- "additionalProperties": {},
- "description": "The viewer's pending request to join the product's team, as Product Hunt returns it.",
- "type": "object"
+ "count": {
+ "type": "integer"
},
- "website_domain": {
- "description": "Domain name of the product website.",
+ "fetched_at": {
"type": "string"
},
- "website_url": {
- "description": "Product website address.",
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "producthunt.ProductAboutLink": {
+ "nfhs.AffiliatesResponse": {
"properties": {
- "devices": {
- "description": "Devices the linked app supports.",
+ "affiliates": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/nfhs.Affiliate"
},
"type": "array"
},
- "id": {
- "description": "Product Hunt ID of the link.",
+ "count": {
+ "type": "integer"
+ },
+ "fetched_at": {
"type": "string"
},
- "redirect_path": {
- "description": "Product Hunt redirect path that leads to the link target.",
+ "next_cursor": {
"type": "string"
},
- "store_name": {
- "description": "Name of the app store the link points to, when it points to one.",
+ "size": {
+ "type": "integer"
+ },
+ "source_url": {
"type": "string"
},
- "website_name": {
- "description": "Name of the website the link points to.",
+ "start": {
+ "type": "integer"
+ },
+ "total": {
+ "type": "integer"
+ },
+ "total_relation": {
"type": "string"
}
},
"type": "object"
},
- "producthunt.ProductAboutMedia": {
+ "nfhs.Association": {
"properties": {
- "id": {
- "description": "Product Hunt ID of the media item.",
+ "about": {
"type": "string"
},
- "image_uuid": {
- "description": "Identifier of the image on Product Hunt's image host.",
+ "acronym": {
"type": "string"
},
- "interactive_demo_id": {
- "description": "Identifier of the interactive demo, when the media is one.",
+ "championship_page_url": {
"type": "string"
},
- "interactive_demo_type": {
- "description": "Type of the interactive demo, when the media is one.",
+ "content_type": {
"type": "string"
},
- "media_type": {
- "description": "Type of media, for example `image`.",
+ "disable_rev_share": {
+ "type": "boolean"
+ },
+ "facebook": {
"type": "string"
},
- "original_height": {
- "description": "Height of the original image in pixels.",
- "type": "integer"
+ "id": {
+ "type": "string"
},
- "original_width": {
- "description": "Width of the original image in pixels.",
- "type": "integer"
+ "instagram": {
+ "type": "string"
},
- "platform": {
- "description": "Video platform hosting the media, when it is a video.",
+ "is_deleted": {
+ "type": "boolean"
+ },
+ "is_network": {
+ "type": "boolean"
+ },
+ "key": {
"type": "string"
},
- "thumbnail_height": {
- "description": "Height of the media thumbnail. 0 when not provided.",
- "type": "integer"
+ "logo": {
+ "type": "string"
},
- "thumbnail_width": {
- "description": "Width of the media thumbnail. 0 when not provided.",
- "type": "integer"
+ "name": {
+ "type": "string"
},
- "url": {
- "description": "Link to the media item, for example a video link.",
+ "primary_color": {
"type": "string"
},
- "video_id": {
- "description": "Video identifier on the hosting platform, when the media is a video.",
+ "producer_key": {
"type": "string"
- }
- },
- "type": "object"
- },
- "producthunt.ProductAboutMentionedProduct": {
- "properties": {
- "id": {
- "description": "Product Hunt ID of the product.",
+ },
+ "producer_slug": {
"type": "string"
},
- "is_no_longer_online": {
- "description": "Whether Product Hunt marks the product as no longer online.",
- "type": "boolean"
+ "publisher_key": {
+ "type": "string"
},
- "logo_uuid": {
- "description": "Identifier of the product logo on Product Hunt's image host.",
+ "publisher_location": {
"type": "string"
},
- "name": {
- "description": "Name of the product.",
+ "publisher_url": {
"type": "string"
},
- "path": {
- "description": "Product Hunt path of the product page.",
+ "secondary_color": {
+ "type": "string"
+ },
+ "share_image": {
"type": "string"
},
"slug": {
- "description": "URL slug of the product. Use it with the product endpoint.",
"type": "string"
},
- "tagline": {
- "description": "Short tagline of the product.",
+ "states": {
+ "items": {
+ "$ref": "#/definitions/nfhs.StateRef"
+ },
+ "type": "array"
+ },
+ "timezone": {
+ "type": "string"
+ },
+ "twitter": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "website": {
+ "type": "string"
+ },
+ "youtube": {
"type": "string"
}
},
"type": "object"
},
- "producthunt.ProductAboutMeta": {
+ "nfhs.AssociationResponse": {
"properties": {
- "title": {
- "description": "Page title of the launch.",
+ "association": {
+ "$ref": "#/definitions/nfhs.Association"
+ },
+ "count": {
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "producthunt.ProductAboutPage": {
+ "nfhs.AssociationsResponse": {
"properties": {
- "ad": {
- "allOf": [
- {
- "$ref": "#/definitions/producthunt.ProductAboutAd"
- }
- ],
- "description": "Ad shown on the page."
+ "associations": {
+ "items": {
+ "$ref": "#/definitions/nfhs.Association"
+ },
+ "type": "array"
},
- "launch": {
- "allOf": [
- {
- "$ref": "#/definitions/producthunt.ProductAboutLaunch"
- }
- ],
- "description": "Launch the page highlights, when the layout variant has one."
+ "count": {
+ "type": "integer"
},
- "page_variant_typename": {
- "description": "Layout variant Product Hunt uses for the product page, for example `ProductPageVariantHighlightedLaunch`.",
+ "fetched_at": {
"type": "string"
},
- "product": {
- "allOf": [
- {
- "$ref": "#/definitions/producthunt.ProductAboutProduct"
- }
- ],
- "description": "Product details from the about page."
+ "next_cursor": {
+ "type": "string"
},
- "product_id": {
- "description": "Product Hunt ID of the product.",
+ "size": {
+ "type": "integer"
+ },
+ "source_url": {
"type": "string"
},
- "viewer": {
- "allOf": [
- {
- "$ref": "#/definitions/producthunt.ProductAboutViewer"
- }
- ],
- "description": "Details about the viewer's relationship to the product."
+ "start": {
+ "type": "integer"
+ },
+ "total": {
+ "type": "integer"
+ },
+ "total_relation": {
+ "type": "string"
}
},
"type": "object"
},
- "producthunt.ProductAboutPageVariant": {
+ "nfhs.Event": {
"properties": {
- "launch_id": {
- "description": "Product Hunt ID of the launch the page variant highlights.",
+ "auto_lock": {
+ "type": "boolean"
+ },
+ "away_score": {
+ "type": "integer"
+ },
+ "city": {
"type": "string"
},
- "typename": {
- "description": "Layout variant Product Hunt uses for the product page.",
+ "class_label": {
"type": "string"
- }
- },
- "type": "object"
- },
- "producthunt.ProductAboutPost": {
- "properties": {
- "badges": {
- "description": "Badges the launch has earned, such as leaderboard awards.",
+ },
+ "classification": {
+ "type": "string"
+ },
+ "content_type": {
+ "type": "string"
+ },
+ "created_at": {
+ "type": "string"
+ },
+ "event_tags": {
"items": {
- "$ref": "#/definitions/producthunt.ProductCategoryListBadge"
+ "type": "string"
},
"type": "array"
},
- "comments_count": {
- "description": "Number of comments on the launch.",
- "type": "integer"
+ "extensions": {
+ "items": {
+ "$ref": "#/definitions/nfhs.EventExtension"
+ },
+ "type": "array"
},
- "created_at": {
- "description": "ISO 8601 timestamp of when the launch was created.",
+ "game_type": {
"type": "string"
},
- "daily_rank": {
- "description": "Rank on the daily leaderboard. `0` when Product Hunt gives no rank.",
- "type": "integer"
+ "gender": {
+ "type": "string"
},
- "disabled_when_scheduled": {
- "description": "Whether upvoting is disabled while the launch is scheduled.",
+ "has_broadcast": {
"type": "boolean"
},
- "embargo_preview_at": {
- "description": "ISO 8601 timestamp of the embargo preview, when the launch has one.",
- "type": "string"
+ "has_datacast": {
+ "type": "boolean"
},
- "featured_at": {
- "description": "ISO 8601 timestamp of when Product Hunt featured the launch.",
- "type": "string"
+ "has_dvd": {
+ "type": "boolean"
},
- "has_voted": {
- "description": "Whether the viewer has upvoted this launch.",
+ "has_highlight": {
"type": "boolean"
},
- "hide_votes_count": {
- "description": "Whether the maker hides the vote count for this launch.",
+ "has_power_participant": {
"type": "boolean"
},
- "id": {
- "description": "Product Hunt ID of the launch post.",
- "type": "string"
+ "has_vod": {
+ "type": "boolean"
},
- "latest_score": {
- "description": "Current upvote score of the launch.",
+ "highlight_count": {
"type": "integer"
},
- "launch_day_score": {
- "description": "Upvote score the launch had on its launch day.",
- "type": "integer"
+ "home_participant": {
+ "type": "string"
},
- "monthly_rank": {
- "description": "Rank on the monthly leaderboard. `0` when Product Hunt gives no rank.",
+ "home_score": {
"type": "integer"
},
- "name": {
- "description": "Name of the launch.",
+ "home_team": {
"type": "string"
},
- "product": {
- "allOf": [
- {
- "$ref": "#/definitions/producthunt.LeaderboardProductRef"
- }
- ],
- "description": "Product the launch belongs to."
+ "is_archived": {
+ "type": "boolean"
},
- "product_state": {
- "description": "Product Hunt's state label for the product, for example `default`.",
- "type": "string"
+ "is_cleaned": {
+ "type": "boolean"
},
- "randomization_status": {
- "allOf": [
- {
- "$ref": "#/definitions/producthunt.LeaderboardRandomizationStatus"
- }
- ],
- "description": "Whether and when Product Hunt randomizes where this launch appears."
+ "is_deleted": {
+ "type": "boolean"
},
- "redirect_to_product": {
- "allOf": [
- {
- "$ref": "#/definitions/producthunt.LeaderboardProductRef"
- }
- ],
- "description": "Product the launch redirects to, when it redirects."
+ "is_partner_game": {
+ "type": "boolean"
},
- "shortened_url": {
- "description": "Short Product Hunt link to the launch.",
- "type": "string"
+ "is_pixellot": {
+ "type": "boolean"
},
- "slug": {
- "description": "URL slug of the launch post.",
- "type": "string"
+ "is_postseason": {
+ "type": "boolean"
},
- "tagline": {
- "description": "Short tagline of the launch.",
+ "is_sport": {
+ "type": "boolean"
+ },
+ "is_testing": {
+ "type": "boolean"
+ },
+ "is_tournament": {
+ "type": "boolean"
+ },
+ "key": {
"type": "string"
},
- "thumbnail_image_uuid": {
- "description": "Identifier of the launch thumbnail image on Product Hunt's image host.",
+ "level": {
"type": "string"
},
- "updated_at": {
- "description": "ISO 8601 timestamp of the last update to the launch.",
+ "local_start_time": {
"type": "string"
},
- "weekly_rank": {
- "description": "Rank on the weekly leaderboard. `0` when Product Hunt gives no rank.",
+ "location_to_be_determined": {
+ "type": "boolean"
+ },
+ "overridden_score": {
"type": "integer"
- }
- },
- "type": "object"
- },
- "producthunt.ProductAboutPrimaryLink": {
- "properties": {
- "id": {
- "description": "Product Hunt ID of the link.",
- "type": "string"
},
- "url": {
- "description": "Main link of the launch.",
- "type": "string"
- }
- },
- "type": "object"
- },
- "producthunt.ProductAboutProduct": {
- "properties": {
- "badges": {
- "description": "Badges the product has earned, such as leaderboard awards.",
+ "participants": {
"items": {
- "$ref": "#/definitions/producthunt.ProductCategoryListBadge"
+ "$ref": "#/definitions/nfhs.Team"
},
"type": "array"
},
- "detailed_review": {
- "additionalProperties": {},
- "description": "Detailed review summary of the product, as Product Hunt returns it.",
- "type": "object"
+ "payment_required": {
+ "type": "string"
},
- "discussion_forum": {
- "allOf": [
- {
- "$ref": "#/definitions/producthunt.ProductAboutDiscussionForum"
- }
- ],
- "description": "Discussion forum of the product."
+ "priority": {
+ "type": "string"
},
- "followers_count": {
- "description": "Number of Product Hunt users following the product.",
+ "publishers": {
+ "items": {
+ "$ref": "#/definitions/nfhs.Publisher"
+ },
+ "type": "array"
+ },
+ "score": {
"type": "integer"
},
- "id": {
- "description": "Product Hunt ID of the product.",
+ "share_image": {
"type": "string"
},
- "is_no_longer_online": {
- "description": "Whether Product Hunt marks the product as no longer online.",
- "type": "boolean"
- },
- "is_subscribed": {
- "description": "Whether the viewer follows this product.",
+ "sis_event": {
"type": "boolean"
},
- "latest_launch": {
- "allOf": [
- {
- "$ref": "#/definitions/producthunt.ProductAboutLatestLaunch"
- }
- ],
- "description": "Most recent launch of the product."
+ "site_url": {
+ "type": "string"
},
- "logo_uuid": {
- "description": "Identifier of the product logo on Product Hunt's image host.",
+ "sport": {
"type": "string"
},
- "media": {
- "description": "Images and videos on the product page.",
- "items": {
- "$ref": "#/definitions/producthunt.ProductAboutMedia"
- },
- "type": "array"
+ "start_time": {
+ "type": "string"
},
- "name": {
- "description": "Name of the product.",
+ "state_code": {
"type": "string"
},
- "page_variant": {
- "allOf": [
- {
- "$ref": "#/definitions/producthunt.ProductAboutPageVariant"
- }
- ],
- "description": "Layout variant Product Hunt uses for the product page."
+ "state_name": {
+ "type": "string"
},
- "posts": {
- "description": "Launch posts of the product.",
- "items": {
- "$ref": "#/definitions/producthunt.ProductAboutPost"
- },
- "type": "array"
+ "status": {
+ "type": "string"
},
- "posts_count": {
- "description": "Number of launch posts the product has.",
- "type": "integer"
+ "sublocation": {
+ "type": "string"
},
- "pro_con_tags": {
- "description": "Pro and con tags reviewers have attached to the product.",
- "items": {
- "$ref": "#/definitions/producthunt.ProductDetailedReviewTag"
- },
- "type": "array"
+ "sublocation_detail": {
+ "type": "string"
},
- "review_questions": {
- "description": "Questions Product Hunt asks reviewers of the product.",
+ "teams": {
"items": {
- "$ref": "#/definitions/producthunt.ProductAboutReviewQuestion"
+ "$ref": "#/definitions/nfhs.Team"
},
"type": "array"
},
- "reviews_rating": {
- "description": "Average review rating on Product Hunt.",
- "type": "number"
+ "teams_to_be_determined": {
+ "type": "boolean"
},
- "screenshots": {
- "description": "Screenshots shown on the product page.",
- "items": {
- "$ref": "#/definitions/producthunt.ProductAboutScreenshot"
- },
- "type": "array"
+ "time_to_be_determined": {
+ "type": "boolean"
},
- "slug": {
- "description": "URL slug of the product. Use it with the product endpoint.",
+ "time_zone": {
"type": "string"
},
- "tagline": {
- "description": "Short tagline of the product.",
+ "tournament_info": {
+ "$ref": "#/definitions/nfhs.TournamentInfo"
+ },
+ "track_wrestling": {},
+ "updated_at": {
"type": "string"
},
- "url": {
- "description": "Product Hunt link to the product page.",
+ "venue_id": {
"type": "string"
}
},
"type": "object"
},
- "producthunt.ProductAboutReviewQuestion": {
+ "nfhs.EventExtension": {
"properties": {
- "category": {
- "description": "Review category the question belongs to, for example `Adoption`.",
+ "id": {
+ "type": "integer"
+ },
+ "name": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "nfhs.EventResponse": {
+ "properties": {
+ "count": {
+ "type": "integer"
},
- "id": {
- "description": "Product Hunt ID of the question.",
+ "event": {
+ "$ref": "#/definitions/nfhs.Event"
+ },
+ "fetched_at": {
"type": "string"
},
- "question": {
- "description": "Text of the question reviewers are asked.",
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "producthunt.ProductAboutScreenshot": {
+ "nfhs.EventsResponse": {
"properties": {
- "id": {
- "description": "Product Hunt ID of the screenshot.",
+ "count": {
+ "type": "integer"
+ },
+ "events": {
+ "items": {
+ "$ref": "#/definitions/nfhs.Event"
+ },
+ "type": "array"
+ },
+ "fetched_at": {
"type": "string"
},
- "image_uuid": {
- "description": "Identifier of the image on Product Hunt's image host.",
+ "next_cursor": {
"type": "string"
},
- "media_type": {
- "description": "Type of media, for example `image`.",
+ "size": {
+ "type": "integer"
+ },
+ "source_url": {
"type": "string"
},
- "original_height": {
- "description": "Height of the original screenshot in pixels.",
+ "start": {
"type": "integer"
},
- "original_width": {
- "description": "Width of the original screenshot in pixels.",
+ "total": {
"type": "integer"
+ },
+ "total_relation": {
+ "type": "string"
}
},
"type": "object"
},
- "producthunt.ProductAboutShoutout": {
+ "nfhs.FilterValues": {
"properties": {
- "alternative_products": {
- "description": "Products the reviewer names as alternatives.",
+ "event_sorts": {
"items": {
- "$ref": "#/definitions/producthunt.ProductAboutMentionedProduct"
+ "type": "string"
},
"type": "array"
},
- "id": {
- "description": "Product Hunt ID of the shoutout.",
- "type": "string"
+ "event_types": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "product": {
- "allOf": [
- {
- "$ref": "#/definitions/producthunt.ProductAboutMentionedProduct"
- }
- ],
- "description": "Product the shoutout is about."
+ "genders": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "shoutout_note": {
- "description": "Text of the shoutout written by the reviewer.",
- "type": "string"
+ "highlight_sorts": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "levels": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "school_sorts": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "suggest_scopes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "producthunt.ProductAboutUser": {
+ "nfhs.FiltersResponse": {
"properties": {
- "avatar_url": {
- "description": "Link to the member's profile picture.",
- "type": "string"
- },
- "headline": {
- "description": "Member's profile headline.",
- "type": "string"
+ "count": {
+ "type": "integer"
},
- "id": {
- "description": "Product Hunt ID of the member.",
+ "fetched_at": {
"type": "string"
},
- "name": {
- "description": "Member's display name.",
- "type": "string"
+ "filters": {
+ "$ref": "#/definitions/nfhs.FilterValues"
},
- "username": {
- "description": "Member's Product Hunt username.",
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "producthunt.ProductAboutViewer": {
+ "nfhs.Highlight": {
"properties": {
- "is_featured_post_maker": {
- "description": "Whether the viewer is a maker of a featured post.",
- "type": "boolean"
+ "activity_or_sport": {
+ "type": "string"
},
- "recent_launch": {
- "additionalProperties": {},
- "description": "The viewer's most recent launch, as Product Hunt returns it.",
+ "badges": {
+ "additionalProperties": {
+ "$ref": "#/definitions/nfhs.HighlightBadge"
+ },
"type": "object"
- }
- },
- "type": "object"
- },
- "producthunt.ProductAlternativeBadge": {
- "properties": {
+ },
+ "categories": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "city": {
+ "type": "string"
+ },
+ "classification": {
+ "type": "string"
+ },
+ "content_type": {
+ "type": "string"
+ },
"date": {
- "description": "Date the badge was awarded.",
"type": "string"
},
- "id": {
- "description": "Product Hunt ID of the badge.",
+ "duration": {
+ "type": "number"
+ },
+ "first_logo": {
"type": "string"
},
- "period": {
- "description": "Leaderboard period of the badge, for example `daily` or `weekly`.",
+ "first_primary_color": {
"type": "string"
},
- "position": {
- "description": "Leaderboard position the badge was awarded for.",
- "type": "integer"
+ "first_title": {
+ "type": "string"
},
- "post_name": {
- "description": "Name of the launch post the badge was awarded for.",
+ "game_type": {
"type": "string"
},
- "post_slug": {
- "description": "URL slug of the launch post the badge was awarded for.",
+ "gender": {
"type": "string"
- }
- },
- "type": "object"
- },
- "producthunt.ProductAlternativeDiscussion": {
- "properties": {
- "comments_count": {
- "description": "Number of comments on the discussion.",
- "type": "integer"
},
- "created_at": {
- "description": "ISO 8601 timestamp of when the discussion was created.",
+ "headline": {
"type": "string"
},
- "description_preview": {
- "description": "Short preview of the discussion's opening text.",
+ "icon": {
"type": "string"
},
- "has_voted": {
- "description": "Whether the viewer has upvoted the discussion.",
+ "icon_path": {
+ "type": "string"
+ },
+ "is_sport": {
"type": "boolean"
},
- "id": {
- "description": "Product Hunt ID of the discussion.",
+ "key": {
"type": "string"
},
- "path": {
- "description": "Product Hunt path of the discussion.",
+ "level": {
"type": "string"
},
- "pinned": {
- "description": "Whether the discussion is pinned.",
- "type": "boolean"
+ "progress": {
+ "type": "string"
},
- "primary_forum": {
- "allOf": [
- {
- "$ref": "#/definitions/producthunt.ProductAlternativeDiscussionForum"
- }
- ],
- "description": "Main forum the discussion belongs to."
+ "publisher": {
+ "type": "string"
},
- "slug": {
- "description": "URL slug of the discussion.",
+ "publisher_logo": {
"type": "string"
},
- "title": {
- "description": "Title of the discussion.",
+ "publisher_short_name": {
"type": "string"
},
- "user": {
- "allOf": [
- {
- "$ref": "#/definitions/producthunt.ProductAlternativeDiscussionUser"
- }
- ],
- "description": "Member who started the discussion."
+ "second_logo": {
+ "type": "string"
},
- "votes_count": {
- "description": "Number of upvotes on the discussion.",
- "type": "integer"
- }
- },
- "type": "object"
- },
- "producthunt.ProductAlternativeDiscussionForum": {
- "properties": {
- "id": {
- "description": "Product Hunt id of the discussion forum.",
+ "second_primary_color": {
"type": "string"
},
- "slug": {
- "description": "URL slug of the discussion forum.",
+ "second_title": {
"type": "string"
},
- "subject_id": {
- "description": "Product Hunt id of the product the forum belongs to.",
+ "site_url": {
"type": "string"
},
- "subject_name": {
- "description": "Name of the product the forum belongs to.",
+ "source": {
+ "type": "string"
+ },
+ "state": {
+ "type": "string"
+ },
+ "subtitle": {
+ "type": "string"
+ },
+ "thumbnail": {
+ "type": "string"
+ },
+ "title": {
"type": "string"
}
},
"type": "object"
},
- "producthunt.ProductAlternativeDiscussionUser": {
+ "nfhs.HighlightBadge": {
"properties": {
- "avatar_url": {
- "description": "URL of the user's profile picture.",
- "type": "string"
- },
- "id": {
- "description": "Product Hunt id of the user who started the discussion.",
- "type": "string"
- },
- "name": {
- "description": "Display name of the user.",
+ "icon": {
"type": "string"
},
- "username": {
- "description": "Product Hunt username of the user.",
+ "text": {
"type": "string"
}
},
"type": "object"
},
- "producthunt.ProductAlternativeItem": {
+ "nfhs.HighlightsResponse": {
"properties": {
- "category_score": {
- "type": "number"
+ "count": {
+ "type": "integer"
},
- "category_weight": {
- "type": "number"
+ "fetched_at": {
+ "type": "string"
},
- "combined_score": {
- "type": "number"
+ "highlights": {
+ "items": {
+ "$ref": "#/definitions/nfhs.Highlight"
+ },
+ "type": "array"
},
- "embedding_score": {
- "type": "number"
+ "next_cursor": {
+ "type": "string"
},
- "embedding_weight": {
- "type": "number"
+ "size": {
+ "type": "integer"
},
- "id": {
+ "source_url": {
"type": "string"
},
- "product": {
- "$ref": "#/definitions/producthunt.ProductAlternativeProduct"
+ "start": {
+ "type": "integer"
},
- "rating_score": {
- "type": "number"
+ "total": {
+ "type": "integer"
},
- "rating_weight": {
- "type": "number"
+ "total_relation": {
+ "type": "string"
}
},
"type": "object"
},
- "producthunt.ProductAlternativeProduct": {
+ "nfhs.ProducerProfile": {
"properties": {
- "badges": {
- "items": {
- "$ref": "#/definitions/producthunt.ProductAlternativeBadge"
- },
- "type": "array"
+ "acronym": {
+ "type": "string"
},
- "categories": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "facebook": {
+ "type": "string"
},
- "followers_count": {
- "type": "integer"
+ "formatted_name": {
+ "type": "string"
},
- "id": {
+ "headline_short_name": {
"type": "string"
},
- "is_subscribed": {
- "type": "boolean"
+ "instagram": {
+ "type": "string"
},
- "is_top_product": {
+ "is_deleted": {
"type": "boolean"
},
- "logo_uuid": {
+ "key": {
"type": "string"
},
- "name": {
+ "logo": {
"type": "string"
},
- "reviews_count": {
- "type": "integer"
+ "name": {
+ "type": "string"
},
- "reviews_rating": {
- "type": "number"
+ "pays_license_fee": {
+ "type": "boolean"
},
- "slug": {
+ "primary_color": {
"type": "string"
},
- "structured_data": {
- "$ref": "#/definitions/producthunt.ProductAlternativeStructuredData"
- },
- "tagline": {
+ "producer_key": {
"type": "string"
},
- "tags": {
+ "related_publishers": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/nfhs.RelatedPublisher"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "producthunt.ProductAlternativeStructuredData": {
- "properties": {
- "application_category": {
- "description": "Schema.org application category of the product.",
- "type": "string"
- },
- "context": {
- "description": "Schema.org context URL of the product's structured data block.",
- "type": "string"
},
- "date_modified": {
- "description": "Date the product page was last modified.",
+ "secondary_color": {
"type": "string"
},
- "date_published": {
- "description": "Date the product was published on Product Hunt.",
+ "slug": {
"type": "string"
},
- "description": {
- "description": "Product description as given in its structured data.",
+ "state_association": {
"type": "string"
},
- "id": {
- "description": "Identifier of the product in its structured data block.",
+ "state_association_acronym": {
"type": "string"
},
- "image": {
- "description": "URL of the product's main image.",
+ "state_association_key": {
"type": "string"
},
- "name": {
- "description": "Product name as given in its structured data.",
+ "state_association_url": {
"type": "string"
},
- "operating_system": {
- "description": "Operating systems the product runs on, as listed in its structured data.",
- "type": "string"
+ "state_names": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "screenshot": {
- "description": "URLs of the product's screenshots.",
+ "states": {
"items": {
"type": "string"
},
"type": "array"
},
- "url": {
- "description": "Product Hunt page URL of the product.",
+ "twitter": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "website": {
+ "type": "string"
+ },
+ "youtube": {
"type": "string"
}
},
"type": "object"
},
- "producthunt.ProductAlternativeTag": {
+ "nfhs.ProducerResponse": {
"properties": {
"count": {
"type": "integer"
},
- "name": {
+ "fetched_at": {
+ "type": "string"
+ },
+ "producer": {
+ "$ref": "#/definitions/nfhs.ProducerProfile"
+ },
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "producthunt.ProductAlternativesPage": {
+ "nfhs.Publisher": {
"properties": {
- "alternative_tags": {
- "items": {
- "$ref": "#/definitions/producthunt.ProductAlternativeTag"
- },
- "type": "array"
- },
- "alternatives_markdown_description": {
+ "acronym": {
"type": "string"
},
- "categories": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "championship_page_url": {
+ "type": "string"
},
- "discussions": {
- "items": {
- "$ref": "#/definitions/producthunt.ProductAlternativeDiscussion"
- },
- "type": "array"
+ "city": {
+ "type": "string"
},
- "discussions_has_next_page": {
+ "disable_rev_share": {
"type": "boolean"
},
- "end_cursor": {
- "example": "MTA",
+ "facebook": {
"type": "string"
},
- "followers_count": {
- "example": 577,
- "type": "integer"
+ "formatted_name": {
+ "type": "string"
},
- "has_next_page": {
- "example": true,
+ "instagram": {
+ "type": "string"
+ },
+ "is_deleted": {
"type": "boolean"
},
- "items": {
- "items": {
- "$ref": "#/definitions/producthunt.ProductAlternativeItem"
- },
- "type": "array"
+ "is_network": {
+ "type": "boolean"
+ },
+ "key": {
+ "type": "string"
+ },
+ "logo": {
+ "type": "string"
},
"name": {
- "example": "Clico",
"type": "string"
},
- "product_id": {
- "example": "1191613",
+ "primary_color": {
"type": "string"
},
- "slug": {
- "example": "clico",
+ "publisher_key": {
"type": "string"
},
- "total_count": {
- "example": 50,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "producthunt.ProductCategoryAd": {
- "properties": {
- "channel_kind": {
- "description": "Placement of the ad, for example `feed`.",
+ "school_key": {
"type": "string"
},
- "id": {
- "description": "Product Hunt id of the ad.",
+ "school_url": {
"type": "string"
},
- "large_asset_uuid": {
- "description": "Identifier of the ad's large image asset.",
+ "secondary_color": {
"type": "string"
},
- "name": {
- "description": "Name of the advertised product.",
+ "slug": {
"type": "string"
},
- "post": {
- "allOf": [
- {
- "$ref": "#/definitions/producthunt.ProductCategoryAdPost"
- }
- ],
- "description": "Launch post of the advertised product."
+ "state_association_acronym": {
+ "type": "string"
},
- "small_asset_uuid": {
- "description": "Identifier of the ad's small image asset.",
+ "state_association_key": {
"type": "string"
},
- "subject": {
- "description": "Kind of Product Hunt item the ad is placed on, for example `Channel`.",
+ "state_association_url": {
"type": "string"
},
- "tagline": {
- "description": "Short tagline shown on the ad.",
+ "state_names": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "states": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "time_zone": {
"type": "string"
},
- "thumbnail_uuid": {
- "description": "Identifier of the ad's thumbnail image file.",
+ "twitter": {
"type": "string"
},
- "url": {
- "description": "Path of the ad's link on Product Hunt.",
+ "type": {
"type": "string"
},
- "variation_id": {
- "description": "Identifier of the ad variation shown.",
+ "website": {
+ "type": "string"
+ },
+ "youtube": {
"type": "string"
}
},
"type": "object"
},
- "producthunt.ProductCategoryAdComment": {
+ "nfhs.PublisherProfile": {
"properties": {
- "body_text": {
- "description": "Plain-text body of the comment.",
+ "acronym": {
"type": "string"
},
- "id": {
- "description": "Product Hunt id of the comment.",
+ "championship_page_url": {
"type": "string"
},
- "is_pinned": {
- "description": "Whether the comment is pinned on the launch.",
+ "disable_rev_share": {
"type": "boolean"
},
- "path": {
- "description": "Path of the comment on Product Hunt.",
- "type": "string"
- },
- "subject_id": {
- "description": "Product Hunt id of the launch post the comment is on.",
+ "facebook": {
"type": "string"
},
- "user": {
- "allOf": [
- {
- "$ref": "#/definitions/producthunt.ProductCategoryUser"
- }
- ],
- "description": "Author of the comment."
- }
- },
- "type": "object"
- },
- "producthunt.ProductCategoryAdPost": {
- "properties": {
- "comments_count": {
- "description": "Number of comments on the launch post.",
- "type": "integer"
- },
- "created_at": {
- "description": "Time the launch post was created, in ISO 8601 with a UTC offset.",
+ "formatted_name": {
"type": "string"
},
- "disabled_when_scheduled": {
- "description": "Whether the post is disabled while its launch is still scheduled.",
+ "has_dvd_publisher": {
"type": "boolean"
},
- "embargo_preview_at": {
- "description": "Time the launch post becomes visible as an embargo preview. Omitted when not set.",
+ "headline_short_name": {
"type": "string"
},
- "featured_at": {
- "description": "Time the launch post was featured, in ISO 8601 with a UTC offset.",
+ "instagram": {
"type": "string"
},
- "featured_comment": {
- "allOf": [
- {
- "$ref": "#/definitions/producthunt.ProductCategoryAdComment"
- }
- ],
- "description": "Comment featured on the launch post."
- },
- "has_voted": {
- "description": "Whether the requesting viewer has upvoted the launch post.",
+ "is_deleted": {
"type": "boolean"
},
- "hide_votes_count": {
- "description": "Whether Product Hunt hides the vote count for this post.",
+ "is_dto_enabled": {
"type": "boolean"
},
- "id": {
- "description": "Product Hunt id of the launch post.",
- "type": "string"
- },
- "latest_score": {
- "description": "Latest vote score of the launch post.",
- "type": "integer"
+ "is_network": {
+ "type": "boolean"
},
- "launch_day_score": {
- "description": "Vote score of the launch post on its launch day.",
- "type": "integer"
+ "is_subscription": {
+ "type": "boolean"
},
- "name": {
- "description": "Name of the launch post.",
+ "key": {
"type": "string"
},
- "product_id": {
- "description": "Product Hunt id of the product the post belongs to.",
+ "logo": {
"type": "string"
},
- "product_slug": {
- "description": "URL slug of the product the post belongs to.",
+ "name": {
"type": "string"
},
- "product_subscribed": {
- "description": "Whether the requesting viewer follows the product.",
+ "pays_license_fee": {
"type": "boolean"
},
- "randomization_status": {
- "allOf": [
- {
- "$ref": "#/definitions/producthunt.ProductCategoryRandomizationStatus"
- }
- ],
- "description": "Whether the post currently has randomized ordering in listings, and when that changes."
+ "primary_color": {
+ "type": "string"
},
- "slug": {
- "description": "URL slug of the launch post.",
+ "publisher_key": {
"type": "string"
},
- "topics": {
- "description": "Topics the launch post is filed under.",
+ "publisher_location": {
+ "type": "string"
+ },
+ "related_producers": {
"items": {
- "$ref": "#/definitions/producthunt.ProductCategoryTopic"
+ "$ref": "#/definitions/nfhs.RelatedProducer"
},
"type": "array"
},
- "updated_at": {
- "description": "Time the launch post was last updated, in ISO 8601 with a UTC offset.",
+ "secondary_color": {
"type": "string"
- }
- },
- "type": "object"
- },
- "producthunt.ProductCategoryAnswer": {
- "properties": {
- "body": {
- "allOf": [
- {
- "$ref": "#/definitions/producthunt.ProductCategoryMarkdown"
- }
- ],
- "description": "Text of the answer."
},
- "id": {
- "description": "Product Hunt id of the answer.",
+ "slug": {
"type": "string"
},
- "sources": {
- "description": "Product Hunt items the answer is based on.",
+ "state_association": {
+ "type": "string"
+ },
+ "state_association_acronym": {
+ "type": "string"
+ },
+ "state_association_key": {
+ "type": "string"
+ },
+ "state_association_url": {
+ "type": "string"
+ },
+ "state_names": {
"items": {
- "$ref": "#/definitions/producthunt.ProductCategorySource"
+ "type": "string"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "producthunt.ProductCategoryFounderPost": {
- "properties": {
- "badges": {
- "description": "Badges the launch post has earned.",
+ },
+ "states": {
"items": {
- "$ref": "#/definitions/producthunt.ProductCategoryListBadge"
+ "type": "string"
},
"type": "array"
},
- "id": {
- "description": "Product Hunt id of the launch post.",
- "type": "string"
- },
- "name": {
- "description": "Name of the launch post.",
- "type": "string"
- },
- "product_id": {
- "description": "Product Hunt id of the product the post belongs to.",
+ "time_zone": {
"type": "string"
},
- "product_slug": {
- "description": "URL slug of the product the post belongs to.",
+ "twitter": {
"type": "string"
},
- "product_state": {
- "description": "State of the product on Product Hunt, for example `default`.",
+ "type": {
"type": "string"
},
- "slug": {
- "description": "URL slug of the launch post.",
+ "website": {
"type": "string"
},
- "thumbnail_image_uuid": {
- "description": "Identifier of the launch post's thumbnail image file.",
+ "youtube": {
"type": "string"
}
},
"type": "object"
},
- "producthunt.ProductCategoryFounderShoutout": {
+ "nfhs.PublisherResponse": {
"properties": {
- "from_post": {
- "allOf": [
- {
- "$ref": "#/definitions/producthunt.ProductCategoryFounderPost"
- }
- ],
- "description": "Launch post of the founder who gave the shoutout."
+ "count": {
+ "type": "integer"
},
- "id": {
- "description": "Product Hunt id of the shoutout.",
+ "fetched_at": {
"type": "string"
},
- "product_id": {
- "description": "Product Hunt id of the product that received the shoutout.",
+ "publisher": {
+ "$ref": "#/definitions/nfhs.PublisherProfile"
+ },
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "producthunt.ProductCategoryHeroProduct": {
+ "nfhs.RelatedProducer": {
"properties": {
- "id": {
- "description": "Product Hunt id of the product.",
+ "producer_key": {
"type": "string"
},
- "is_no_longer_online": {
- "description": "Whether Product Hunt marks the product as no longer online.",
- "type": "boolean"
- },
- "logo_uuid": {
- "description": "Identifier of the product's logo image file.",
+ "producer_name": {
"type": "string"
},
- "name": {
- "description": "Name of the product as shown on Product Hunt.",
+ "producer_type": {
"type": "string"
}
},
"type": "object"
},
- "producthunt.ProductCategoryLatestLaunch": {
+ "nfhs.RelatedPublisher": {
"properties": {
- "id": {
- "description": "Product Hunt id of the product's latest launch.",
+ "publisher_key": {
"type": "string"
},
- "scheduled_at": {
- "description": "Time the latest launch was scheduled for, in ISO 8601 with a UTC offset.",
+ "publisher_name": {
+ "type": "string"
+ },
+ "publisher_type": {
"type": "string"
}
},
"type": "object"
},
- "producthunt.ProductCategoryListBadge": {
+ "nfhs.School": {
"properties": {
- "category": {
- "description": "Award category of the badge, for example `Product of the Year`. Omitted for daily and weekly badges.",
+ "about": {
"type": "string"
},
- "date": {
- "description": "Date the badge refers to.",
+ "acronym": {
"type": "string"
},
- "id": {
- "description": "Product Hunt id of the badge.",
+ "address": {
"type": "string"
},
- "period": {
- "description": "Period the badge covers, for example `daily` or `weekly`.",
+ "attribution_group": {
"type": "string"
},
- "position": {
- "description": "Rank the product placed at for this badge.",
- "type": "integer"
- },
- "post_id": {
- "description": "Product Hunt id of the launch post the badge was earned on.",
+ "city": {
"type": "string"
},
- "post_name": {
- "description": "Name of the launch post the badge was earned on.",
+ "content_type": {
"type": "string"
},
- "post_slug": {
- "description": "URL slug of the launch post the badge was earned on.",
+ "country": {
"type": "string"
},
- "year": {
- "description": "Year of the award the badge belongs to.",
- "type": "string"
- }
- },
- "type": "object"
- },
- "producthunt.ProductCategoryListProduct": {
- "properties": {
- "badges": {
- "description": "Badges the product has earned on Product Hunt.",
- "items": {
- "$ref": "#/definitions/producthunt.ProductCategoryListBadge"
- },
- "type": "array"
+ "digital_scout_id": {
+ "type": "integer"
},
- "categories": {
- "description": "Product Hunt categories the product is listed in.",
- "items": {
- "$ref": "#/definitions/producthunt.ProductCategoryRef"
- },
- "type": "array"
+ "disable_cleaning": {
+ "type": "boolean"
},
- "detailed_reviews_count": {
- "description": "Number of detailed reviews the product has.",
- "type": "integer"
+ "disable_communications": {
+ "type": "boolean"
},
- "followers_count": {
- "description": "Number of Product Hunt users following the product.",
- "type": "integer"
+ "district": {
+ "type": "boolean"
},
- "founder_reviews_count": {
- "description": "Number of reviews written by the product's founders.",
- "type": "integer"
+ "dto_enabled": {
+ "type": "boolean"
},
- "founder_shoutouts": {
- "description": "Shoutouts the product received from other founders.",
- "items": {
- "$ref": "#/definitions/producthunt.ProductCategoryFounderShoutout"
- },
- "type": "array"
+ "facebook": {
+ "type": "string"
},
- "id": {
- "description": "Product Hunt id of the product.",
+ "gofan_id": {
"type": "string"
},
- "is_no_longer_online": {
- "description": "Whether Product Hunt marks the product as no longer online.",
+ "hd_enabled": {
"type": "boolean"
},
- "is_subscribed": {
- "description": "Whether the requesting viewer follows the product.",
+ "id": {
+ "type": "string"
+ },
+ "instagram": {
+ "type": "string"
+ },
+ "is_deleted": {
"type": "boolean"
},
- "is_top_product": {
- "description": "Whether Product Hunt flags the product as a top product.",
+ "is_digital_scout": {
"type": "boolean"
},
- "latest_launch": {
- "allOf": [
- {
- "$ref": "#/definitions/producthunt.ProductCategoryLatestLaunch"
- }
- ],
- "description": "Most recent launch of the product."
+ "is_elite": {
+ "type": "boolean"
},
- "logo_uuid": {
- "description": "Identifier of the product's logo image file.",
- "type": "string"
+ "is_network": {
+ "type": "boolean"
},
- "name": {
- "description": "Name of the product as shown on Product Hunt.",
- "type": "string"
+ "is_non_association": {
+ "type": "boolean"
},
- "posts_count": {
- "description": "Number of launch posts the product has.",
- "type": "integer"
+ "is_sbp": {
+ "type": "boolean"
},
- "reviews_count": {
- "description": "Number of reviews the product has.",
- "type": "integer"
+ "is_select": {
+ "type": "boolean"
},
- "reviews_rating": {
- "description": "Average review rating of the product.",
- "type": "number"
+ "is_subscription": {
+ "type": "boolean"
},
- "slug": {
- "description": "URL slug of the product on Product Hunt.",
+ "key": {
"type": "string"
},
- "structured_data": {
- "allOf": [
- {
- "$ref": "#/definitions/producthunt.ProductAlternativeStructuredData"
- }
- ],
- "description": "Schema.org structured data Product Hunt publishes for the product."
+ "latitude": {
+ "type": "string"
},
- "tagline": {
- "description": "Short tagline of the product.",
+ "logo": {
"type": "string"
},
- "tags": {
- "description": "Tags describing the product.",
- "items": {
- "type": "string"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "producthunt.ProductCategoryMarkdown": {
- "properties": {
- "markdown": {
- "description": "Text in Markdown format.",
+ "longitude": {
"type": "string"
},
- "text": {
- "description": "Same text as plain text.",
+ "mascot": {
"type": "string"
- }
- },
- "type": "object"
- },
- "producthunt.ProductCategoryPage": {
- "properties": {
- "description": {
- "description": "Description of the category.",
+ },
+ "maxpreps_url": {
"type": "string"
},
- "discussions": {
- "description": "Community discussions related to the category.",
- "items": {
- "$ref": "#/definitions/producthunt.ProductAlternativeDiscussion"
- },
- "type": "array"
+ "name": {
+ "type": "string"
},
- "discussions_has_next_page": {
- "description": "Whether more discussions exist beyond those returned.",
+ "pays_license_fee": {
"type": "boolean"
},
- "expandable_html": {
- "description": "HTML of the category's expandable description section. Omitted when the category has none.",
+ "playon_id": {
"type": "string"
},
- "hero_products": {
- "description": "Featured products shown at the top of the category page.",
- "items": {
- "$ref": "#/definitions/producthunt.ProductCategoryHeroProduct"
- },
- "type": "array"
+ "postal_code": {
+ "type": "string"
},
- "hero_products_count": {
- "description": "Total number of featured products in the category.",
- "type": "integer"
+ "power_school": {
+ "type": "boolean"
},
- "id": {
- "description": "Product Hunt id of the category.",
+ "primary_color": {
"type": "string"
},
- "last_updated_at": {
- "description": "Time the category page was last updated, in ISO 8601 with a UTC offset.",
+ "producer_key": {
"type": "string"
},
- "meta_title": {
- "description": "Page title Product Hunt uses for the category.",
+ "producer_slug": {
"type": "string"
},
- "name": {
- "description": "Name of the category as shown on Product Hunt.",
+ "publisher_key": {
"type": "string"
},
- "parent": {
- "allOf": [
- {
- "$ref": "#/definitions/producthunt.ProductCategoryParent"
- }
- ],
- "description": "Parent category, with its other sub-categories."
- },
- "path": {
- "description": "Path of the category page on Product Hunt.",
- "example": "/categories/vibe-coding",
+ "publisher_location": {
"type": "string"
},
- "questions": {
- "description": "Questions asked about the category, each with its top answer.",
- "items": {
- "$ref": "#/definitions/producthunt.ProductCategoryQuestion"
- },
- "type": "array"
- },
- "raw_relevant_reviews": {
- "description": "Reviews Product Hunt shows as relevant to the category, as Product Hunt returns them.",
- "items": {
- "additionalProperties": {},
- "type": "object"
- },
- "type": "array"
- },
- "recent_launches_count": {
- "description": "Number of recent launches in the category.",
- "type": "integer"
- },
- "recent_summary": {
- "allOf": [
- {
- "$ref": "#/definitions/producthunt.ProductCategoryRecentSummary"
- }
- ],
- "description": "Summary of recent launches in the category with the products it covers."
- },
- "reviews_count": {
- "description": "Number of reviews across the category's products.",
- "type": "integer"
- },
- "slug": {
- "description": "URL slug of the category.",
- "example": "vibe-coding",
+ "publisher_url": {
"type": "string"
},
- "sub_categories": {
- "description": "Sub-categories of this category.",
+ "related_producers": {
"items": {
- "$ref": "#/definitions/producthunt.ProductCategoryRef"
+ "$ref": "#/definitions/nfhs.RelatedProducer"
},
"type": "array"
},
- "targeted_ad": {
- "allOf": [
- {
- "$ref": "#/definitions/producthunt.ProductCategoryAd"
- }
- ],
- "description": "Sponsored placement shown on the category page. Omitted when there is none."
- }
- },
- "type": "object"
- },
- "producthunt.ProductCategoryParent": {
- "properties": {
- "id": {
- "description": "Product Hunt id of the parent category.",
+ "sbp_rank": {
"type": "string"
},
- "name": {
- "description": "Name of the parent category.",
+ "sbp_team": {
"type": "string"
},
- "path": {
- "description": "Path of the parent category page on Product Hunt.",
+ "school_level": {
"type": "string"
},
- "sub_categories": {
- "description": "Sub-categories of the parent category, including this one.",
- "items": {
- "$ref": "#/definitions/producthunt.ProductCategoryRef"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "producthunt.ProductCategoryProductsPage": {
- "properties": {
- "ai_summary": {
+ "school_type": {
"type": "string"
},
- "category_tags": {
- "items": {
- "$ref": "#/definitions/producthunt.ProductAlternativeTag"
- },
- "type": "array"
+ "scrub_vod": {
+ "type": "boolean"
},
- "connection": {
- "example": "products",
+ "secondary_color": {
"type": "string"
},
- "description": {
+ "share_image": {
"type": "string"
},
- "end_cursor": {
+ "short_name": {
"type": "string"
},
- "featured_only": {
+ "show_ads": {
"type": "boolean"
},
- "has_next_page": {
+ "show_champion_ads": {
"type": "boolean"
},
- "has_previous_page": {
+ "sis_school": {
"type": "boolean"
},
- "id": {
+ "slug": {
"type": "string"
},
- "items": {
- "items": {
- "$ref": "#/definitions/producthunt.ProductCategoryListProduct"
- },
- "type": "array"
+ "state_code": {
+ "type": "string"
},
- "last_updated_at": {
+ "state_name": {
"type": "string"
},
- "name": {
+ "timezone": {
"type": "string"
},
- "order": {
- "example": "highest_rated",
+ "twitter": {
"type": "string"
},
- "page": {
- "example": 1,
- "type": "integer"
+ "type": {
+ "type": "string"
},
- "page_size": {
- "example": 15,
- "type": "integer"
+ "vod_free": {
+ "type": "boolean"
},
- "path": {
- "example": "/categories/vibe-coding",
+ "website": {
"type": "string"
},
- "slug": {
- "example": "vibe-coding",
+ "youtube": {
"type": "string"
- },
- "tags": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "total_count": {
- "type": "integer"
}
},
"type": "object"
},
- "producthunt.ProductCategoryQuestion": {
+ "nfhs.SchoolResponse": {
"properties": {
- "body": {
- "allOf": [
- {
- "$ref": "#/definitions/producthunt.ProductCategoryMarkdown"
- }
- ],
- "description": "Text of the question."
+ "count": {
+ "type": "integer"
},
- "id": {
- "description": "Product Hunt id of the question.",
+ "fetched_at": {
"type": "string"
},
- "top_answer": {
- "allOf": [
- {
- "$ref": "#/definitions/producthunt.ProductCategoryAnswer"
- }
- ],
- "description": "Highest-ranked answer to the question."
+ "school": {
+ "$ref": "#/definitions/nfhs.School"
+ },
+ "source_url": {
+ "type": "string"
}
},
"type": "object"
},
- "producthunt.ProductCategoryRandomizationStatus": {
+ "nfhs.SchoolsResponse": {
"properties": {
- "active": {
- "description": "Whether randomized ordering is currently active for the post.",
- "type": "boolean"
+ "count": {
+ "type": "integer"
},
- "next_transition_at": {
- "description": "Time the randomization status next changes. Omitted when none is scheduled.",
+ "fetched_at": {
"type": "string"
},
- "random_day": {
- "description": "Whether the post's launch day uses randomized ordering.",
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "producthunt.ProductCategoryRecentSummary": {
- "properties": {
- "products": {
- "description": "Products the summary covers.",
+ "next_cursor": {
+ "type": "string"
+ },
+ "schools": {
"items": {
- "$ref": "#/definitions/producthunt.ProductCategorySummaryProduct"
+ "$ref": "#/definitions/nfhs.School"
},
"type": "array"
},
- "summary": {
- "description": "Short text summarising what recently launched in the category.",
+ "size": {
+ "type": "integer"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "start": {
+ "type": "integer"
+ },
+ "total": {
+ "type": "integer"
+ },
+ "total_relation": {
"type": "string"
}
},
"type": "object"
},
- "producthunt.ProductCategoryRef": {
+ "nfhs.SearchItem": {
"properties": {
- "id": {
- "description": "Product Hunt id of the category.",
+ "about": {
"type": "string"
},
- "name": {
- "description": "Name of the category as shown on Product Hunt.",
+ "acronym": {
"type": "string"
},
- "path": {
- "description": "Path of the category page on Product Hunt.",
- "type": "string"
+ "away_score": {
+ "type": "integer"
},
- "slug": {
- "description": "URL slug of the category.",
+ "city": {
"type": "string"
- }
- },
- "type": "object"
- },
- "producthunt.ProductCategorySource": {
- "properties": {
- "badges": {
- "description": "Badges shown next to the source.",
- "items": {
- "type": "string"
- },
- "type": "array"
},
- "id": {
- "description": "Product Hunt id of the source item.",
+ "content_type": {
"type": "string"
},
- "path": {
- "description": "Path of the source item on Product Hunt.",
+ "game_type": {
"type": "string"
},
- "subject_id": {
- "description": "Product Hunt id of the item the source is attached to.",
- "type": "string"
- },
- "type": {
- "description": "Kind of Product Hunt item the source is, for example `Comment`.",
+ "gender": {
"type": "string"
},
- "user": {
- "allOf": [
- {
- "$ref": "#/definitions/producthunt.ProductCategoryUser"
- }
- ],
- "description": "User who wrote the source item."
- },
- "visible_at": {
- "description": "Time the source item became visible, as Product Hunt returns it.",
- "type": "string"
- }
- },
- "type": "object"
- },
- "producthunt.ProductCategorySummaryProduct": {
- "properties": {
- "badges": {
- "description": "Badges the product has earned on Product Hunt.",
- "items": {
- "$ref": "#/definitions/producthunt.ProductAlternativeBadge"
- },
- "type": "array"
+ "has_broadcast": {
+ "type": "boolean"
},
- "categories": {
- "description": "Product Hunt categories the product is listed in.",
- "items": {
- "$ref": "#/definitions/producthunt.ProductCategoryRef"
- },
- "type": "array"
+ "has_vod": {
+ "type": "boolean"
},
- "followers_count": {
- "description": "Number of Product Hunt users following the product.",
+ "home_score": {
"type": "integer"
},
"id": {
- "description": "Product Hunt id of the product.",
"type": "string"
},
- "is_no_longer_online": {
- "description": "Whether Product Hunt marks the product as no longer online.",
+ "is_deleted": {
"type": "boolean"
},
- "is_subscribed": {
- "description": "Whether the requesting viewer follows the product.",
+ "is_network": {
"type": "boolean"
},
- "is_top_product": {
- "description": "Whether Product Hunt flags the product as a top product.",
- "type": "boolean"
+ "key": {
+ "type": "string"
},
- "latest_launch": {
- "allOf": [
- {
- "$ref": "#/definitions/producthunt.ProductCategoryLatestLaunch"
- }
- ],
- "description": "Most recent launch of the product."
+ "level": {
+ "type": "string"
},
- "logo_uuid": {
- "description": "Identifier of the product's logo image file.",
+ "logo": {
+ "type": "string"
+ },
+ "mascot": {
"type": "string"
},
"name": {
- "description": "Name of the product as shown on Product Hunt.",
"type": "string"
},
- "reviews_count": {
- "description": "Number of reviews the product has.",
- "type": "integer"
+ "short_name": {
+ "type": "string"
},
- "reviews_rating": {
- "description": "Average review rating of the product.",
- "type": "number"
+ "site_url": {
+ "type": "string"
},
"slug": {
- "description": "URL slug of the product on Product Hunt.",
"type": "string"
},
- "tagline": {
- "description": "Short tagline of the product.",
+ "sport": {
+ "description": "Game-specific fields.",
"type": "string"
},
- "tags": {
- "description": "Tags describing the product.",
+ "start_time": {
+ "type": "string"
+ },
+ "state_code": {
+ "type": "string"
+ },
+ "state_name": {
+ "type": "string"
+ },
+ "status": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "nfhs.SearchResponse": {
+ "properties": {
+ "count": {
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "items": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/nfhs.SearchItem"
},
"type": "array"
+ },
+ "next_cursor": {
+ "type": "string"
+ },
+ "size": {
+ "type": "integer"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "start": {
+ "type": "integer"
+ },
+ "total": {
+ "type": "integer"
+ },
+ "total_relation": {
+ "type": "string"
}
},
"type": "object"
},
- "producthunt.ProductCategoryTopic": {
+ "nfhs.SportFlags": {
"properties": {
- "id": {
- "description": "Product Hunt id of the topic.",
- "type": "string"
+ "is_two_team": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "nfhs.SportsResponse": {
+ "properties": {
+ "count": {
+ "type": "integer"
},
- "name": {
- "description": "Name of the topic as shown on Product Hunt.",
+ "fetched_at": {
"type": "string"
},
- "slug": {
- "description": "URL slug of the topic.",
+ "source_url": {
"type": "string"
+ },
+ "sports": {
+ "additionalProperties": {
+ "$ref": "#/definitions/nfhs.SportFlags"
+ },
+ "type": "object"
}
},
"type": "object"
},
- "producthunt.ProductCategoryUser": {
+ "nfhs.State": {
"properties": {
- "avatar_url": {
- "description": "URL of the user's profile picture.",
+ "key": {
"type": "string"
},
- "id": {
- "description": "Product Hunt id of the user.",
+ "name": {
"type": "string"
},
- "name": {
- "description": "Display name of the user.",
+ "slug": {
"type": "string"
},
- "username": {
- "description": "Product Hunt username of the user.",
+ "state_code": {
"type": "string"
}
},
"type": "object"
},
- "producthunt.ProductCustomersPage": {
+ "nfhs.StateRef": {
"properties": {
- "connection": {
- "description": "Kind of list the items come from, for example `customers`.",
- "example": "customers",
+ "name": {
"type": "string"
},
- "end_cursor": {
- "description": "Cursor of the last item on this page. Omitted when Product Hunt returns none.",
+ "state_code": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "nfhs.StatesResponse": {
+ "properties": {
+ "count": {
+ "type": "integer"
},
- "has_next_page": {
- "description": "Whether another page of customers follows this one.",
- "type": "boolean"
+ "fetched_at": {
+ "type": "string"
},
- "has_previous_page": {
- "description": "Whether a page of customers precedes this one.",
- "type": "boolean"
+ "source_url": {
+ "type": "string"
},
- "items": {
- "description": "Products that are customers of the product, one per entry.",
+ "states": {
"items": {
- "$ref": "#/definitions/producthunt.ProductCategoryListProduct"
+ "$ref": "#/definitions/nfhs.State"
},
"type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "nfhs.SuggestResponse": {
+ "properties": {
+ "count": {
+ "type": "integer"
},
- "name": {
- "description": "Name of the product.",
- "example": "OpenAI",
+ "fetched_at": {
"type": "string"
},
- "order": {
- "description": "Order the customers are sorted in, `customers` or `latest_launch`.",
- "example": "customers",
+ "items": {
+ "items": {
+ "$ref": "#/definitions/nfhs.School"
+ },
+ "type": "array"
+ },
+ "next_cursor": {
"type": "string"
},
- "page": {
- "description": "Page number returned.",
- "example": 1,
+ "size": {
"type": "integer"
},
- "page_size": {
- "description": "Number of customers requested per page.",
- "example": 10,
- "type": "integer"
+ "source_url": {
+ "type": "string"
},
- "pages_count": {
- "description": "Total number of pages of customers.",
- "example": 12,
+ "start": {
"type": "integer"
},
- "product_id": {
- "description": "Product Hunt id of the product.",
- "example": "594550",
- "type": "string"
- },
- "raw_page_info": {
- "additionalProperties": {},
- "description": "Pagination details for this page as Product Hunt returns them.",
- "type": "object"
+ "total": {
+ "type": "integer"
},
- "slug": {
- "description": "URL slug of the product on Product Hunt.",
- "example": "openai",
+ "total_relation": {
"type": "string"
- },
- "total_count": {
- "description": "Total number of customers the product has.",
- "example": 120,
- "type": "integer"
}
},
"type": "object"
},
- "producthunt.ProductDetailedReview": {
+ "nfhs.Team": {
"properties": {
- "alternative_products": {
- "description": "Products the reviewer names as alternatives.",
- "items": {
- "$ref": "#/definitions/producthunt.ProductDetailedReviewProduct"
- },
- "type": "array"
+ "acronym": {
+ "type": "string"
},
- "alternatives_feedback": {
- "description": "Reviewer's free-text comments on alternatives to the product.",
+ "city": {
"type": "string"
},
- "can_destroy": {
- "description": "Whether the requesting viewer can delete the review.",
- "type": "boolean"
+ "gender": {
+ "type": "string"
},
- "can_moderate": {
- "description": "Whether the requesting viewer can moderate the review.",
+ "is_network": {
"type": "boolean"
},
- "can_reply": {
- "description": "Whether the requesting viewer can reply to the review.",
- "type": "boolean"
+ "key": {
+ "type": "string"
},
- "can_update": {
- "description": "Whether the requesting viewer can edit the review.",
- "type": "boolean"
+ "latitude": {
+ "type": "string"
},
- "comments_count": {
- "description": "Number of comments on the review.",
- "type": "integer"
+ "level": {
+ "type": "string"
},
- "created_at": {
- "description": "Time the review was written.",
+ "logo": {
"type": "string"
},
- "customization_rating": {
- "description": "Reviewer's rating for customization. Omitted when the reviewer gave none.",
- "type": "integer"
+ "longitude": {
+ "type": "string"
},
- "ease_of_use_rating": {
- "description": "Reviewer's rating for ease of use. Omitted when the reviewer gave none.",
- "type": "integer"
+ "mascot": {
+ "type": "string"
},
- "follow_product": {
- "allOf": [
- {
- "$ref": "#/definitions/producthunt.ProductDetailedReviewFollowProduct"
- }
- ],
- "description": "The reviewed product with the viewer's follow state."
+ "name": {
+ "type": "string"
},
- "from_post": {
- "allOf": [
- {
- "$ref": "#/definitions/producthunt.ProductDetailedReviewPost"
- }
- ],
- "description": "Launch post the review was written from."
+ "power_school": {
+ "type": "boolean"
},
- "has_voted": {
- "description": "Whether the requesting viewer has upvoted the review.",
+ "primary_color": {
+ "type": "string"
+ },
+ "school_key": {
+ "type": "string"
+ },
+ "school_url": {
+ "type": "string"
+ },
+ "scrub_vod": {
"type": "boolean"
},
- "id": {
- "description": "Product Hunt id of the review.",
+ "secondary_color": {
"type": "string"
},
- "impression_count": {
- "description": "Number of times the review has been shown.",
- "type": "integer"
+ "short_name": {
+ "type": "string"
},
- "is_hidden": {
- "description": "Whether the review is hidden on Product Hunt.",
+ "sis_school": {
"type": "boolean"
},
- "llm_content_quality_grade": {
- "description": "Quality grade Product Hunt assigned to the review text. Omitted when none is given.",
+ "slug": {
"type": "string"
},
- "llm_content_quality_reason": {
- "description": "Reason given for the review's quality grade. Omitted when none is given.",
+ "sport": {
"type": "string"
},
- "negative_feedback": {
- "description": "Reviewer's free-text comments on what they disliked.",
+ "state_association_acronym": {
"type": "string"
},
- "overall_experience": {
- "description": "Reviewer's free-text summary of their overall experience.",
+ "state_association_key": {
"type": "string"
},
- "overall_rating": {
- "description": "Reviewer's overall rating of the product.",
+ "state_association_url": {
+ "type": "string"
+ },
+ "state_code": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "nfhs.TournamentInfo": {
+ "properties": {
+ "tournament": {},
+ "tournament_game": {}
+ },
+ "type": "object"
+ },
+ "nike.AvailabilityResponse": {
+ "properties": {
+ "count": {
"type": "integer"
},
- "positive_feedback": {
- "description": "Reviewer's free-text comments on what they liked.",
+ "fetched_at": {
"type": "string"
},
- "product": {
- "allOf": [
- {
- "$ref": "#/definitions/producthunt.ProductDetailedReviewProduct"
- }
- ],
- "description": "Product the review is about."
+ "group_key": {
+ "type": "string"
},
- "question_answers": {
- "description": "Reviewer's answers to Product Hunt's review questions.",
+ "sizes": {
"items": {
- "$ref": "#/definitions/producthunt.ProductDetailedReviewQuestionAnswer"
+ "$ref": "#/definitions/nike.SizeAvailability"
},
"type": "array"
},
- "reliability_rating": {
- "description": "Reviewer's rating for reliability. Omitted when the reviewer gave none.",
- "type": "integer"
- },
- "review_type": {
- "description": "Kind of review, for example `founder` or `personal`.",
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "nike.Breadcrumb": {
+ "properties": {
+ "name": {
"type": "string"
},
- "selected_cons": {
- "description": "Downsides the reviewer picked from Product Hunt's tag list.",
+ "path": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "nike.CategoriesResponse": {
+ "properties": {
+ "categories": {
"items": {
- "$ref": "#/definitions/producthunt.ProductDetailedReviewTag"
+ "$ref": "#/definitions/nike.TopLevelCategory"
},
"type": "array"
},
- "selected_pros": {
- "description": "Strengths the reviewer picked from Product Hunt's tag list.",
+ "fetched_at": {
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "nike.CategoryGroup": {
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "path": {
+ "type": "string"
+ },
+ "slug": {
+ "type": "string"
+ },
+ "subcategories": {
"items": {
- "$ref": "#/definitions/producthunt.ProductDetailedReviewTag"
+ "$ref": "#/definitions/nike.CategorySubcategory"
},
"type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "nike.CategorySubcategory": {
+ "properties": {
+ "name": {
+ "type": "string"
},
- "status": {
- "description": "Publication status of the review, for example `submitted`.",
+ "path": {
"type": "string"
},
- "threads_end_cursor": {
- "description": "Cursor of the last comment thread returned. Omitted when none.",
+ "slug": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "nike.ColorDetail": {
+ "properties": {
+ "color_code": {
"type": "string"
},
- "threads_has_next_page": {
- "description": "Whether more comment threads exist on the review.",
- "type": "boolean"
+ "color_description": {
+ "type": "string"
},
- "threads_total_count": {
- "description": "Total number of comment threads on the review.",
+ "currency": {
+ "type": "string"
+ },
+ "discount_percentage": {
"type": "integer"
},
- "user": {
- "allOf": [
- {
- "$ref": "#/definitions/producthunt.ProductDetailedReviewUser"
- }
- ],
- "description": "Reviewer who wrote the review."
+ "grouping_label": {
+ "type": "string"
},
- "value_for_money_rating": {
- "description": "Reviewer's rating for value for money. Omitted when the reviewer gave none.",
- "type": "integer"
+ "images": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "votes_count": {
- "description": "Number of upvotes the review has.",
- "type": "integer"
+ "initial_price": {
+ "type": "number"
+ },
+ "is_buyable": {
+ "type": "boolean"
+ },
+ "price": {
+ "type": "number"
+ },
+ "size_chart_url": {
+ "type": "string"
+ },
+ "sizes": {
+ "items": {
+ "$ref": "#/definitions/nike.ProductSize"
+ },
+ "type": "array"
+ },
+ "style_code": {
+ "type": "string"
+ },
+ "style_color": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "producthunt.ProductDetailedReviewFollowProduct": {
+ "nike.ColorVariant": {
"properties": {
- "id": {
- "description": "Product Hunt id of the product.",
+ "color_description": {
"type": "string"
},
- "is_no_longer_online": {
- "description": "Whether Product Hunt marks the product as no longer online.",
- "type": "boolean"
- },
- "is_subscribed": {
- "description": "Whether the requesting viewer follows the product.",
- "type": "boolean"
+ "color_label": {
+ "type": "string"
},
- "logo_uuid": {
- "description": "Identifier of the product's logo image file.",
+ "currency": {
"type": "string"
},
- "name": {
- "description": "Name of the product as shown on Product Hunt.",
+ "discount_percentage": {
+ "type": "integer"
+ },
+ "image_url": {
"type": "string"
},
+ "initial_price": {
+ "type": "number"
+ },
+ "price": {
+ "type": "number"
+ },
"slug": {
- "description": "URL slug of the product on Product Hunt.",
+ "type": "string"
+ },
+ "style_color": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "producthunt.ProductDetailedReviewPost": {
+ "nike.FacetNav": {
"properties": {
- "badges": {
- "description": "Badges the launch post has earned.",
+ "breadcrumbs": {
"items": {
- "$ref": "#/definitions/producthunt.ProductCategoryListBadge"
+ "$ref": "#/definitions/nike.Breadcrumb"
},
"type": "array"
},
- "id": {
- "description": "Product Hunt id of the launch post.",
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/nike.FacetOption"
+ },
+ "type": "array"
+ },
+ "filters": {
+ "items": {
+ "$ref": "#/definitions/nike.Filter"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "nike.FacetOption": {
+ "properties": {
+ "label": {
"type": "string"
},
- "is_top_launch": {
- "description": "Whether Product Hunt flags the post as a top launch.",
- "type": "boolean"
+ "path": {
+ "type": "string"
},
- "latest_score": {
- "description": "Latest vote score of the launch post.",
+ "result_count": {
"type": "integer"
},
+ "selected": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "nike.Filter": {
+ "properties": {
"name": {
- "description": "Name of the launch post.",
"type": "string"
},
- "product_id": {
- "description": "Product Hunt id of the product the post belongs to.",
+ "options": {
+ "items": {
+ "$ref": "#/definitions/nike.FacetOption"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "nike.ProductDetailResponse": {
+ "properties": {
+ "color_code": {
"type": "string"
},
- "product_is_top_product": {
- "description": "Whether Product Hunt flags the product as a top product.",
+ "color_description": {
+ "type": "string"
+ },
+ "colors": {
+ "items": {
+ "$ref": "#/definitions/nike.ColorVariant"
+ },
+ "type": "array"
+ },
+ "currency": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "discount_percentage": {
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "genders": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "images": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "initial_price": {
+ "type": "number"
+ },
+ "is_buyable": {
"type": "boolean"
},
- "product_slug": {
- "description": "URL slug of the product the post belongs to.",
+ "price": {
+ "type": "number"
+ },
+ "product_details": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "product_type": {
"type": "string"
},
- "product_state": {
- "description": "State of the product on Product Hunt, for example `default`.",
+ "reason_to_buy": {
"type": "string"
},
+ "sizes": {
+ "items": {
+ "$ref": "#/definitions/nike.ProductSize"
+ },
+ "type": "array"
+ },
"slug": {
- "description": "URL slug of the launch post.",
"type": "string"
},
- "thumbnail_image_uuid": {
- "description": "Identifier of the launch post's thumbnail image file.",
+ "source_url": {
"type": "string"
- }
- },
- "type": "object"
- },
- "producthunt.ProductDetailedReviewProduct": {
- "properties": {
- "id": {
- "description": "Product Hunt id of the product.",
+ },
+ "sport_tags": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style_code": {
"type": "string"
},
- "is_no_longer_online": {
- "description": "Whether Product Hunt marks the product as no longer online.",
- "type": "boolean"
+ "style_color": {
+ "type": "string"
},
- "logo_uuid": {
- "description": "Identifier of the product's logo image file.",
+ "subtitle": {
"type": "string"
},
- "name": {
- "description": "Name of the product as shown on Product Hunt.",
+ "title": {
"type": "string"
},
- "slug": {
- "description": "URL slug of the product on Product Hunt.",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "producthunt.ProductDetailedReviewQuestionAnswer": {
+ "nike.ProductDetailsResponse": {
"properties": {
- "answer": {
- "description": "Reviewer's answer to the question.",
+ "colors": {
+ "items": {
+ "$ref": "#/definitions/nike.ColorDetail"
+ },
+ "type": "array"
+ },
+ "count": {
+ "type": "integer"
+ },
+ "description": {
"type": "string"
},
- "id": {
- "description": "Product Hunt id of the answer.",
+ "fetched_at": {
"type": "string"
},
- "question": {
- "description": "Text of the review question.",
+ "genders": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "group_key": {
"type": "string"
},
- "question_id": {
- "description": "Product Hunt id of the review question.",
+ "product_type": {
+ "type": "string"
+ },
+ "reason_to_buy": {
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "subtitle": {
+ "type": "string"
+ },
+ "title": {
"type": "string"
}
},
"type": "object"
},
- "producthunt.ProductDetailedReviewTag": {
+ "nike.ProductGroup": {
"properties": {
- "count": {
- "description": "Number of reviewers who picked this tag for the product.",
- "type": "integer"
+ "badge_label": {
+ "type": "string"
},
- "id": {
- "description": "Product Hunt id of the tag.",
+ "colors": {
+ "items": {
+ "$ref": "#/definitions/nike.ColorVariant"
+ },
+ "type": "array"
+ },
+ "group_key": {
"type": "string"
},
- "name": {
- "description": "Text of the tag as shown on Product Hunt.",
+ "product_type": {
"type": "string"
},
- "type": {
- "description": "Whether the tag is a strength or a downside, for example `Positive`.",
+ "subtitle": {
+ "type": "string"
+ },
+ "title": {
"type": "string"
}
},
"type": "object"
},
- "producthunt.ProductDetailedReviewUser": {
+ "nike.ProductReview": {
"properties": {
- "avatar_url": {
- "description": "URL of the reviewer's profile picture.",
+ "author": {
"type": "string"
},
- "headline": {
- "description": "Reviewer's profile headline.",
+ "body": {
"type": "string"
},
- "id": {
- "description": "Product Hunt id of the reviewer.",
+ "created_at": {
"type": "string"
},
- "is_account_verified": {
- "description": "Whether the reviewer's Product Hunt account is verified.",
- "type": "boolean"
- },
- "is_ambassador": {
- "description": "Whether the reviewer is a Product Hunt ambassador.",
- "type": "boolean"
- },
- "is_followed": {
- "description": "Whether the requesting viewer follows the reviewer.",
- "type": "boolean"
- },
- "name": {
- "description": "Reviewer's display name.",
+ "headline": {
"type": "string"
},
- "reviews_count": {
- "description": "Number of reviews the reviewer has written.",
+ "helpful_votes": {
"type": "integer"
},
- "selected_byline_product": {
- "allOf": [
- {
- "$ref": "#/definitions/producthunt.ProductDetailedReviewProduct"
- }
- ],
- "description": "Product the reviewer shows on their byline."
+ "id": {
+ "type": "string"
},
- "top_hunter_badge": {
- "additionalProperties": {},
- "description": "Top hunter badge on the reviewer's profile, as Product Hunt returns it. Omitted when none.",
- "type": "object"
+ "location": {
+ "type": "string"
},
- "top_launch_badge": {
- "additionalProperties": {},
- "description": "Top launch badge on the reviewer's profile, as Product Hunt returns it. Omitted when none.",
- "type": "object"
+ "not_helpful_votes": {
+ "type": "integer"
},
- "top_product_badge": {
- "additionalProperties": {},
- "description": "Top product badge on the reviewer's profile, as Product Hunt returns it. Omitted when none.",
- "type": "object"
+ "rating": {
+ "type": "integer"
},
- "username": {
- "description": "Reviewer's Product Hunt username.",
- "type": "string"
+ "recommended": {
+ "type": "boolean"
}
},
"type": "object"
},
- "producthunt.ProductDetailedReviewsPage": {
+ "nike.ProductReviewsResponse": {
"properties": {
- "connection": {
- "description": "Kind of list the items come from, for example `detailedReviews`.",
- "example": "detailedReviews",
- "type": "string"
- },
- "detailed_review": {
- "additionalProperties": {},
- "description": "A single detailed review attached to the product, as Product Hunt returns it. Omitted when none.",
- "type": "object"
+ "average_rating": {
+ "type": "number"
},
- "detailed_reviews_count": {
- "description": "Total number of detailed reviews the product has.",
+ "count": {
"type": "integer"
},
- "end_cursor": {
- "description": "Cursor of the last review on this page. Omitted when Product Hunt returns none.",
+ "fetched_at": {
"type": "string"
},
- "founder_detailed_reviews_count": {
- "description": "Number of detailed reviews written by the product's founders.",
+ "page": {
"type": "integer"
},
- "has_next_page": {
- "description": "Whether another page of reviews follows this one.",
- "example": false,
- "type": "boolean"
- },
- "is_maker": {
- "description": "Whether the requesting viewer is a maker of the product.",
- "type": "boolean"
+ "page_size": {
+ "type": "integer"
},
- "is_trashed": {
- "description": "Whether the product has been removed from Product Hunt.",
- "type": "boolean"
+ "rating_histogram": {
+ "description": "RatingHistogram is the count of ratings per star, ascending: index 0\nis 1-star, index 4 is 5-star.",
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
},
- "items": {
- "description": "Detailed reviews of the product, one per entry.",
+ "reviews": {
"items": {
- "$ref": "#/definitions/producthunt.ProductDetailedReview"
+ "$ref": "#/definitions/nike.ProductReview"
},
"type": "array"
},
- "name": {
- "description": "Name of the product.",
+ "slug": {
"type": "string"
},
- "other_detailed_reviews_count": {
- "description": "Number of detailed reviews written by users other than the founders.",
- "type": "integer"
- },
- "product_id": {
- "description": "Product Hunt id of the product.",
- "example": "1191613",
+ "source_url": {
"type": "string"
},
- "raw_page_info": {
- "additionalProperties": {},
- "description": "Pagination details for this page as Product Hunt returns them.",
- "type": "object"
+ "style_color": {
+ "type": "string"
},
- "reviews_count": {
- "description": "Total number of reviews the product has.",
+ "total_pages": {
"type": "integer"
},
- "reviews_rating": {
- "description": "Average review rating of the product.",
- "type": "number"
+ "total_reviews": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "nike.ProductSize": {
+ "properties": {
+ "label": {
+ "type": "string"
},
- "reviews_recent_rating": {
- "description": "Average review rating over recent reviews. Omitted when Product Hunt gives none.",
- "type": "number"
+ "localized_label": {
+ "type": "string"
},
- "slug": {
- "description": "URL slug of the product on Product Hunt.",
- "example": "clico",
+ "sku_id": {
"type": "string"
},
- "total_count": {
- "description": "Total number of detailed reviews in the list.",
- "example": 6,
- "type": "integer"
+ "status": {
+ "type": "string"
}
},
"type": "object"
},
- "producthunt.ProductLaunchesPage": {
+ "nike.RecommendationsResponse": {
"properties": {
- "connection": {
- "description": "Kind of list the items come from, for example `posts`.",
- "example": "posts",
- "type": "string"
+ "count": {
+ "type": "integer"
},
- "end_cursor": {
- "description": "Cursor of the last launch on this page. Pass it as `cursor` to get the next page.",
+ "fetched_at": {
"type": "string"
},
- "has_next_page": {
- "description": "Whether another page of launches follows this one.",
- "type": "boolean"
- },
- "items": {
- "description": "Launch posts of the product, one per entry.",
+ "recommendations": {
"items": {
- "$ref": "#/definitions/producthunt.ProductAboutPost"
+ "$ref": "#/definitions/nike.RecommendedProduct"
},
"type": "array"
},
- "name": {
- "description": "Name of the product.",
- "example": "OpenAI",
+ "source_url": {
"type": "string"
},
- "order": {
- "description": "Order the launches are sorted in, for example `DATE`.",
- "example": "DATE",
+ "style_color": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "nike.RecommendedProduct": {
+ "properties": {
+ "currency": {
"type": "string"
},
- "product_id": {
- "description": "Product Hunt id of the product.",
- "example": "1191613",
+ "image_url": {
"type": "string"
},
- "raw_page_info": {
- "additionalProperties": {},
- "description": "Pagination details for this page as Product Hunt returns them.",
- "type": "object"
+ "initial_price": {
+ "type": "number"
},
- "slug": {
- "description": "URL slug of the product on Product Hunt.",
- "example": "openai",
+ "price": {
+ "type": "number"
+ },
+ "price_type": {
"type": "string"
},
- "total_count": {
- "description": "Total number of launches the product has.",
- "example": 12,
+ "rank": {
"type": "integer"
+ },
+ "style_color": {
+ "type": "string"
+ },
+ "style_type": {
+ "type": "string"
+ },
+ "subtitle": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "producthunt.ProductMaker": {
+ "nike.SearchResponse": {
"properties": {
- "avatar_url": {
- "description": "URL of the maker's profile picture.",
+ "category": {
"type": "string"
},
- "followers_count": {
- "description": "Number of Product Hunt users following the maker.",
+ "count": {
"type": "integer"
},
- "headline": {
- "description": "Maker's profile headline.",
+ "facet_nav": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/nike.FacetNav"
+ }
+ ],
+ "description": "FacetNav is the navigation/filtering data Nike's own response\nalready carries alongside product results -- subcategory\nrefinement options, named filter groups (price/size/color/etc.),\nand (for category browsing) a breadcrumb trail. Nil when the\nupstream returned no navigation data. See FacetNav's doc comment."
+ },
+ "fetched_at": {
"type": "string"
},
- "id": {
- "description": "Product Hunt id of the maker.",
+ "keyword": {
"type": "string"
},
- "is_followed": {
- "description": "Whether the requesting viewer follows the maker.",
- "type": "boolean"
+ "page": {
+ "type": "integer"
},
- "made_posts": {
- "description": "Launch posts the maker worked on.",
+ "page_size": {
+ "type": "integer"
+ },
+ "products": {
"items": {
- "$ref": "#/definitions/producthunt.ProductMakerPost"
+ "$ref": "#/definitions/nike.ProductGroup"
},
"type": "array"
},
- "name": {
- "description": "Maker's display name.",
+ "source_url": {
"type": "string"
},
- "username": {
- "description": "Maker's Product Hunt username.",
- "type": "string"
+ "total_pages": {
+ "type": "integer"
+ },
+ "total_products": {
+ "type": "integer"
}
},
"type": "object"
},
- "producthunt.ProductMakerPost": {
+ "nike.SizeAvailability": {
"properties": {
- "id": {
- "description": "Product Hunt id of the launch post.",
- "type": "string"
+ "available": {
+ "type": "boolean"
},
- "name": {
- "description": "Name of the launch post.",
+ "grouping_label": {
"type": "string"
},
- "product_id": {
- "description": "Product Hunt id of the product the post belongs to.",
+ "gtin": {
"type": "string"
},
- "product_slug": {
- "description": "URL slug of the product the post belongs to.",
+ "label": {
"type": "string"
},
- "product_state": {
- "description": "State of the product on Product Hunt, for example `default`.",
+ "localized_label": {
"type": "string"
},
- "slug": {
- "description": "URL slug of the launch post.",
+ "ship": {
"type": "string"
},
- "thumbnail_image_uuid": {
- "description": "Identifier of the launch post's thumbnail image file.",
+ "style_color": {
"type": "string"
}
},
"type": "object"
},
- "producthunt.ProductMakersPage": {
+ "nike.Store": {
"properties": {
- "can_claim": {
- "description": "Whether the requesting viewer can claim the product.",
- "type": "boolean"
+ "address": {
+ "type": "string"
},
- "connection": {
- "description": "Kind of list the items come from, for example `makers`.",
- "example": "makers",
+ "business_concept": {
"type": "string"
},
- "end_cursor": {
- "description": "Cursor of the last maker on this page. Pass it as `cursor` to get the next page.",
+ "city": {
"type": "string"
},
- "has_next_page": {
- "description": "Whether another page of makers follows this one.",
- "example": false,
- "type": "boolean"
+ "country": {
+ "type": "string"
},
- "is_claimed": {
- "description": "Whether the product page has been claimed by its team.",
- "type": "boolean"
+ "distance_miles": {
+ "type": "number"
},
- "is_trashed": {
- "description": "Whether the product has been removed from Product Hunt.",
- "type": "boolean"
+ "facility_type": {
+ "type": "string"
},
- "items": {
- "description": "Makers of the product, one per entry.",
- "items": {
- "$ref": "#/definitions/producthunt.ProductMaker"
- },
- "type": "array"
+ "image_url": {
+ "type": "string"
+ },
+ "latitude": {
+ "type": "number"
+ },
+ "longitude": {
+ "type": "number"
},
"name": {
- "description": "Name of the product.",
"type": "string"
},
- "product_id": {
- "description": "Product Hunt id of the product.",
- "example": "1191613",
+ "phone": {
"type": "string"
},
- "raw_page_info": {
- "additionalProperties": {},
- "description": "Pagination details for this page as Product Hunt returns them.",
- "type": "object"
+ "postal_code": {
+ "type": "string"
+ },
+ "region": {
+ "type": "string"
},
"slug": {
- "description": "URL slug of the product on Product Hunt.",
- "example": "clico",
"type": "string"
},
- "total_count": {
- "description": "Total number of makers the product has.",
- "example": 3,
- "type": "integer"
+ "store_concept": {
+ "type": "string"
},
- "viewer_pending_team_request": {
- "additionalProperties": {},
- "description": "The viewer's pending request to join the product's team, as Product Hunt returns it. Omitted when none.",
- "type": "object"
+ "store_number": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "producthunt.SimilarProduct": {
+ "nike.StoreResponse": {
"properties": {
- "categories": {
- "description": "Product Hunt categories the similar product is listed in.",
- "example": [
- "[\"Presentation Software\"]"
- ],
+ "count": {
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "lat": {
+ "type": "number"
+ },
+ "lng": {
+ "type": "number"
+ },
+ "page": {
+ "type": "integer"
+ },
+ "page_size": {
+ "type": "integer"
+ },
+ "radius_miles": {
+ "type": "integer"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "stores": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/nike.Store"
},
"type": "array"
},
- "id": {
- "description": "Product Hunt slug of the similar product.",
- "example": "beautiful-ai",
+ "total_stores": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "nike.SuggestResponse": {
+ "properties": {
+ "count": {
+ "type": "integer"
+ },
+ "fetched_at": {
"type": "string"
},
- "name": {
- "description": "Name of the similar product.",
- "example": "Beautiful.ai",
+ "query": {
"type": "string"
},
- "rating": {
- "description": "Average review rating of the similar product.",
- "example": 3.3,
- "type": "number"
+ "source_url": {
+ "type": "string"
},
- "review_count": {
- "description": "Number of reviews the similar product has.",
- "example": 20,
- "type": "integer"
+ "suggestions": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "producthunt.aboutResponseDoc": {
+ "nike.TopLevelCategory": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "groups": {
+ "items": {
+ "$ref": "#/definitions/nike.CategoryGroup"
+ },
+ "type": "array"
},
- "data": {
- "$ref": "#/definitions/producthunt.ProductAboutPage"
+ "name": {
+ "type": "string"
},
- "msg": {
- "example": "Request successful",
+ "path": {
"type": "string"
}
},
"type": "object"
},
- "producthunt.alternativesResponseDoc": {
+ "nike.availabilityResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/producthunt.ProductAlternativesPage"
+ "$ref": "#/definitions/nike.AvailabilityResponse"
},
"msg": {
"example": "OK",
@@ -168630,14 +173398,14 @@
},
"type": "object"
},
- "producthunt.categoryProductsResponseDoc": {
+ "nike.categoriesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/producthunt.ProductCategoryProductsPage"
+ "$ref": "#/definitions/nike.CategoriesResponse"
},
"msg": {
"example": "OK",
@@ -168646,14 +173414,14 @@
},
"type": "object"
},
- "producthunt.categoryResponseDoc": {
+ "nike.productDetailsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/producthunt.ProductCategoryPage"
+ "$ref": "#/definitions/nike.ProductDetailsResponse"
},
"msg": {
"example": "OK",
@@ -168662,14 +173430,14 @@
},
"type": "object"
},
- "producthunt.customersResponseDoc": {
+ "nike.productResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/producthunt.ProductCustomersPage"
+ "$ref": "#/definitions/nike.ProductDetailResponse"
},
"msg": {
"example": "OK",
@@ -168678,14 +173446,14 @@
},
"type": "object"
},
- "producthunt.launchesResponseDoc": {
+ "nike.productReviewsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/producthunt.ProductLaunchesPage"
+ "$ref": "#/definitions/nike.ProductReviewsResponse"
},
"msg": {
"example": "OK",
@@ -168694,30 +173462,30 @@
},
"type": "object"
},
- "producthunt.leaderboardResponseDoc": {
+ "nike.recommendationsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/producthunt.LeaderboardPage"
+ "$ref": "#/definitions/nike.RecommendationsResponse"
},
"msg": {
- "example": "Request successful",
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "producthunt.makersResponseDoc": {
+ "nike.searchResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/producthunt.ProductMakersPage"
+ "$ref": "#/definitions/nike.SearchResponse"
},
"msg": {
"example": "OK",
@@ -168726,14 +173494,14 @@
},
"type": "object"
},
- "producthunt.productResponseDoc": {
+ "nike.storesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/producthunt.Product"
+ "$ref": "#/definitions/nike.StoreResponse"
},
"msg": {
"example": "OK",
@@ -168742,14 +173510,14 @@
},
"type": "object"
},
- "producthunt.reviewsResponseDoc": {
+ "nike.suggestResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/producthunt.ProductDetailedReviewsPage"
+ "$ref": "#/definitions/nike.SuggestResponse"
},
"msg": {
"example": "OK",
@@ -168758,160 +173526,100 @@
},
"type": "object"
},
- "producthunt.searchAggregationsDoc": {
+ "ninetofivegoogle.AuthorResponse": {
"properties": {
- "topics": {
- "description": "Launch counts per topic for the search results.",
+ "articles": {
"items": {
- "$ref": "#/definitions/producthunt.searchTopicDoc"
+ "$ref": "#/definitions/ninetofivegoogle.HeadlineItem"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "producthunt.searchDataDoc": {
- "properties": {
- "aggregations": {
- "allOf": [
- {
- "$ref": "#/definitions/producthunt.searchAggregationsDoc"
- }
- ],
- "description": "Topic counts for the matching launches. Returned for launch searches."
},
- "edges": {
- "description": "Search results on this page, one per entry.",
+ "biography": {
"items": {
- "$ref": "#/definitions/producthunt.searchEdgeDoc"
+ "type": "string"
},
"type": "array"
},
- "pageInfo": {
- "allOf": [
- {
- "$ref": "#/definitions/producthunt.searchPageInfoDoc"
- }
- ],
- "description": "Paging details for the results."
+ "image_url": {
+ "type": "string"
},
- "pagesCount": {
- "description": "Total number of result pages.",
- "example": 394,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "producthunt.searchEdgeDoc": {
- "properties": {
- "node": {
- "description": "Search result: a product, user or launch, depending on `type`.",
- "type": "object"
- }
- },
- "type": "object"
- },
- "producthunt.searchPageInfoDoc": {
- "properties": {
- "hasNextPage": {
- "description": "Whether another page of results follows this one.",
- "type": "boolean"
+ "name": {
+ "type": "string"
},
- "hasPreviousPage": {
- "description": "Whether a page of results precedes this one.",
- "type": "boolean"
+ "social_links": {
+ "items": {
+ "$ref": "#/definitions/ninetofivegoogle.AuthorSocialLink"
+ },
+ "type": "array"
},
- "page": {
- "description": "Page number returned.",
- "example": 1,
- "type": "integer"
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "producthunt.searchResponseDoc": {
+ "ninetofivegoogle.AuthorSocialLink": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/producthunt.searchDataDoc"
+ "type": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "producthunt.searchTopicDoc": {
+ "ninetofivegoogle.HeadlineItem": {
"properties": {
- "count": {
- "description": "Number of matching launches in the topic.",
- "example": 11979,
- "type": "integer"
+ "author": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
},
- "topic": {
- "description": "Topic the count applies to, with its `id` and `name`.",
- "properties": {
- "id": {
- "example": "268",
- "type": "string"
- },
- "name": {
- "example": "Artificial Intelligence",
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "type": "object"
- },
- "propublica.AuthorArticle": {
- "properties": {
"published_at": {
"type": "string"
},
+ "summary": {
+ "type": "string"
+ },
"title": {
"type": "string"
},
+ "type": {
+ "type": "string"
+ },
"url": {
"type": "string"
}
},
"type": "object"
},
- "propublica.AuthorResponse": {
+ "ninetofivemac.AuthorResponse": {
"properties": {
"articles": {
"items": {
- "$ref": "#/definitions/propublica.AuthorArticle"
+ "$ref": "#/definitions/ninetofivemac.HeadlineItem"
},
"type": "array"
},
- "bio": {
+ "biography": {
"items": {
"type": "string"
},
"type": "array"
},
- "contact_email": {
+ "image_url": {
"type": "string"
},
"name": {
"type": "string"
},
- "page": {
- "type": "integer"
- },
"social_links": {
- "additionalProperties": {
- "type": "string"
+ "items": {
+ "$ref": "#/definitions/ninetofivemac.AuthorSocialLink"
},
- "type": "object"
+ "type": "array"
},
"url": {
"type": "string"
@@ -168919,757 +173627,716 @@
},
"type": "object"
},
- "psa.AutographFactsCategoriesResponse": {
- "properties": {
- "categories": {
- "items": {
- "$ref": "#/definitions/psa.AutographFactsCategory"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "psa.AutographFactsCategory": {
+ "ninetofivemac.AuthorSocialLink": {
"properties": {
- "id": {
- "description": "ID is PSA's own numeric category id, confirmed live against every\ncategory this family covers. Distinct from PSA CardFacts'/Price\nGuide's own category id spaces -- do not assume they share values.",
- "type": "integer"
+ "type": {
+ "type": "string"
},
- "name": {
- "description": "Name is PSA's own display label, e.g. \"Baseball\".",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "psa.AutographFactsGalleryImage": {
+ "ninetofivemac.HeadlineItem": {
"properties": {
- "caption": {
- "description": "Caption is PSA's own descriptive caption for this exemplar, e.g.\n\"1977 Hank Aaron Signed Letter\".",
+ "author": {
"type": "string"
},
"image_url": {
- "description": "ImageURL is the full-size image URL.",
+ "type": "string"
+ },
+ "published_at": {
+ "type": "string"
+ },
+ "summary": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "psa.AutographFactsGalleryResult": {
+ "npr.ArticleResponse": {
"properties": {
- "images": {
+ "authors": {
"items": {
- "$ref": "#/definitions/psa.AutographFactsGalleryImage"
+ "type": "string"
},
"type": "array"
},
- "name": {
- "description": "Name is the subject's display name, e.g. \"Hank Aaron\".",
+ "description": {
"type": "string"
},
- "source_url": {
+ "image_url": {
"type": "string"
},
- "subject_id": {
+ "paragraphs": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "published_at": {
"type": "string"
- }
- },
- "type": "object"
- },
- "psa.AutographFactsSubject": {
- "properties": {
- "name": {
- "description": "Name is the subject's display name, e.g. \"Hank Aaron\".",
+ },
+ "section": {
"type": "string"
},
- "subject_id": {
- "description": "SubjectID is PSA's own numeric subject id -- pass as subject_id to\nAutographFactsSubject.",
- "type": "integer"
+ "title": {
+ "type": "string"
+ },
+ "updated_at": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "psa.AutographFactsSubjectResult": {
+ "npr.AuthorArticle": {
"properties": {
- "autograph_profile": {
- "description": "AutographProfile is PSA's own free-text authentication notes for\nthis subject's signature -- signing habits, forgery risk,\nsignature evolution.",
+ "image_url": {
"type": "string"
},
- "name": {
- "description": "Name is the subject's display name, e.g. \"Hank Aaron\".",
+ "published_at": {
"type": "string"
},
- "prices": {
- "additionalProperties": {
- "type": "string"
- },
- "description": "Prices maps PSA's own item-type labels (e.g. \"3x5/AP\", \"Gum Card\",\n\"Photo\", \"Check\", \"SS Bat\", \"SS Ball\" -- these vary by subject, not\na fixed global list) to PSA's own formatted price text for this\nsubject's autograph on that item type, e.g. \"$65\". \"IMP\" marks an\nitem type PSA considers impossible/unavailable for this subject\nrather than a real price.",
- "type": "object"
- },
- "source_url": {
+ "summary": {
"type": "string"
},
- "subject_id": {
+ "title": {
"type": "string"
},
- "subject_profile": {
- "description": "SubjectProfile is PSA's own free-text biography for this subject.",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "psa.AutographFactsSubjectsResponse": {
+ "npr.AuthorResponse": {
"properties": {
- "category_id": {
- "type": "integer"
- },
- "category_name": {
- "type": "string"
- },
- "subjects": {
+ "articles": {
"items": {
- "$ref": "#/definitions/psa.AutographFactsSubject"
+ "$ref": "#/definitions/npr.AuthorArticle"
},
"type": "array"
+ },
+ "bio": {
+ "type": "string"
+ },
+ "job_title": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "psa.CardFactsCategoriesResponse": {
+ "npr.CategoriesResponse": {
"properties": {
"categories": {
"items": {
- "$ref": "#/definitions/psa.CardFactsCategory"
+ "$ref": "#/definitions/npr.Category"
},
"type": "array"
}
},
"type": "object"
},
- "psa.CardFactsCategory": {
+ "npr.Category": {
"properties": {
- "id": {
- "description": "ID is PSA's own numeric category id, confirmed live against every\ncategory this family covers. Distinct from Price Guide's/\nAutographFacts'/TicketFacts'/ProBatFacts' own category id spaces --\nids 10 and 16 in particular mean different things in CardFacts than\nin Price Guide, do not assume they share values.",
- "type": "integer"
- },
"name": {
- "description": "Name is PSA's own display label, e.g. \"Baseball\".",
"type": "string"
- }
- },
- "type": "object"
- },
- "psa.CardFactsChecklistCard": {
- "properties": {
- "name": {
- "description": "Name is the card's display name, e.g. \"Wander Franco\". Some rows\ncarry an embedded HTML anchor around the name in PSA's own raw\nresponse (confirmed live, e.g. a golf set's \"Tiger Woods\" row) --\nstripped here so every row is plain text.",
+ },
+ "slug": {
"type": "string"
},
- "number": {
- "description": "Number is the card's printed number within the set. Some sets (e.g.\nplayer-name-only checklists like autograph card sets) carry no\nnumber at all, confirmed live -- empty in that case, not omitted, so\ncallers can rely on the field always being present.",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "psa.CardFactsChecklistResponse": {
+ "npr.HeadlineItem": {
"properties": {
- "cards": {
- "items": {
- "$ref": "#/definitions/psa.CardFactsChecklistCard"
- },
- "type": "array"
+ "author": {
+ "type": "string"
},
- "has_checklist": {
- "type": "boolean"
+ "published_at": {
+ "type": "string"
},
- "set_id": {
+ "summary": {
"type": "string"
},
- "total_cards": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "psa.CardFactsSet": {
- "properties": {
- "name": {
- "description": "Name is the set's display name, e.g. \"2022 Topps\".",
+ "title": {
"type": "string"
},
- "set_id": {
- "description": "SetID is PSA's own numeric set id -- pass as set_id to\nCardFactsChecklist.",
- "type": "integer"
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "psa.CardFactsSetsResponse": {
+ "npr.HeadlinesResponse": {
"properties": {
- "category_id": {
- "type": "integer"
- },
- "category_name": {
- "type": "string"
- },
- "sets": {
+ "items": {
"items": {
- "$ref": "#/definitions/psa.CardFactsSet"
+ "$ref": "#/definitions/npr.HeadlineItem"
},
"type": "array"
}
},
"type": "object"
},
- "psa.CertLookupResult": {
+ "npr.TopicItem": {
"properties": {
- "brand_title": {
- "description": "BrandTitle is the issuing brand/product line, e.g. \"POKEMON SKYRIDGE\".",
- "type": "string"
- },
- "card_number": {
- "description": "CardNumber is the card's number within its set, e.g. \"146\".",
- "type": "string"
- },
- "category": {
- "description": "Category is PSA's own item category, e.g. \"TCG CARDS\".",
- "type": "string"
- },
- "cert_number": {
- "description": "CertNumber echoes the requested certification number.",
- "type": "string"
- },
- "item_grade": {
- "description": "ItemGrade is PSA's graded condition for this item, e.g. \"GEM MT 10\",\nfrom PSA's own published grade scale (Authentic through Gem Mint 10).",
- "type": "string"
- },
- "label_type": {
- "description": "LabelType is a special label variant PSA applied to this cert, e.g.\n\"W/ FUGITIVE INK TECHNOLOGY\". Empty when the cert carries PSA's\nstandard label.",
- "type": "string"
- },
- "psa_estimate": {
- "description": "PSAEstimate is PSA's own dollar price estimate for this exact\ncert+grade, PSA's own formatted string (e.g. \"$135,624.00\"). Empty\nwhen PSA shows no estimate for this cert.",
- "type": "string"
- },
- "psa_pop_higher": {
- "description": "PSAPopHigher is the number of items PSA has graded higher than this\ncert's own grade for the same card. Nil when PSA shows no figure.",
- "type": "integer"
- },
- "psa_population": {
- "description": "PSAPopulation is the number of items PSA has graded at this exact\ncard+grade combination. Nil when PSA shows no population figure for\nthis cert (e.g. an ungraded/authentic-only cert).",
- "type": "integer"
- },
- "psa_population_url": {
- "description": "PSAPopulationURL is PSA's own Population Report deep link for this\ncard+grade. Informational only -- following it requires a Collectors\naccount login; see the CertLookupResult doc comment above.",
- "type": "string"
- },
- "reverse_cert_barcode": {
- "description": "ReverseCertBarcode reports whether the physical label also carries a\nbarcode on its reverse side.",
- "type": "boolean"
- },
- "set_registry_note": {
- "description": "SetRegistryNote is PSA's own Set Registry membership line for this\ncert, e.g. \"This cert does not appear in any sets.\" when the item is\nnot registered in any PSA Set Registry set.",
- "type": "string"
- },
- "source_url": {
- "description": "SourceURL is the PSA cert-verification page this result was parsed\nfrom.",
+ "published_at": {
"type": "string"
},
- "subject": {
- "description": "Subject is the card's subject/player name, e.g. \"CHARIZARD-HOLO\".",
+ "summary": {
"type": "string"
},
"title": {
- "description": "Title is PSA's own item title line, e.g.\n\"2003 POKEMON SKYRIDGE #146 CHARIZARD-HOLO\".",
"type": "string"
},
- "year": {
- "description": "Year is the card/item's issue year, e.g. \"2003\".",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "psa.PriceGuideCardPrice": {
+ "npr.TopicResponse": {
"properties": {
- "card_number": {
- "description": "CardNumber is the card's number within the set. Empty for\ngroup-summary rows.",
- "type": "string"
+ "items": {
+ "items": {
+ "$ref": "#/definitions/npr.TopicItem"
+ },
+ "type": "array"
},
- "description": {
- "description": "Description is the card/row's own name as PSA Price Guide displays\nit, e.g. \"Ken Griffey, Sr. (R)\" or a group-summary row like\n\"Commons 1-660\".",
+ "topic": {
"type": "string"
- },
- "item_id": {
- "description": "ItemID is PSA's own numeric item id for this specific card, usable\nfor cross-referencing a psa-price-guide-search result. Nil for\ngroup-summary rows, which have no single-item id.",
- "type": "integer"
- },
- "prices": {
- "additionalProperties": {
- "type": "string"
- },
- "description": "Prices maps each of Grades (the set's own grade-column labels, e.g.\n\"NM 7\") to PSA's own formatted price text for this card at that\ngrade, e.g. \"35+\" (a trailing \"+\"/\"-\" is PSA's own monthly-trend\nmarker). A grade with no price for this card is omitted from the map\nrather than present as an empty string.",
- "type": "object"
}
},
"type": "object"
},
- "psa.PriceGuideCategoriesResponse": {
+ "npr.articleResponseDoc": {
"properties": {
- "categories": {
- "items": {
- "$ref": "#/definitions/psa.PriceGuideCategory"
- },
- "type": "array"
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/npr.ArticleResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "psa.PriceGuideCategory": {
+ "npr.authorResponseDoc": {
"properties": {
- "id": {
- "description": "ID is PSA's own numeric category id (SportCategoryID), confirmed live\nagainst every category this family covers.",
+ "code": {
+ "example": 200,
"type": "integer"
},
- "name": {
- "description": "Name is PSA's own display label, e.g. \"Baseball Cards\".",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/npr.AuthorResponse"
},
- "path": {
- "description": "Path is the URL path segment(s) PSA Price Guide uses for this\ncategory, e.g. \"baseball-card-values\" -- most categories are a single\nsegment, but not all (see notes on the shipped enum values).",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "psa.PriceGuideSearchItem": {
+ "npr.categoriesResponseDoc": {
"properties": {
- "item_id": {
- "description": "ItemID is PSA's own numeric item id.",
+ "code": {
+ "example": 200,
"type": "integer"
},
- "name": {
- "description": "Name is the card/item's own descriptive name, e.g.\n\"Ken Griffey, Sr. (R)\".",
+ "data": {
+ "$ref": "#/definitions/npr.CategoriesResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "psa.PriceGuideSearchResponse": {
+ "npr.headlinesResponseDoc": {
"properties": {
- "page": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "page_size": {
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/npr.HeadlinesResponse"
},
- "query": {
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "npr.topicResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "results": {
- "items": {
- "$ref": "#/definitions/psa.PriceGuideSearchResult"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/npr.TopicResponse"
},
- "total_count": {
- "type": "integer"
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "psa.PriceGuideSearchResult": {
+ "numbeo.CityIndexEntry": {
"properties": {
- "category_name": {
- "description": "CategoryName is PSA's own category display name for this set, e.g.\n\"Baseball Card Values\".",
+ "city": {
"type": "string"
},
- "category_path": {
- "description": "CategoryPath is the category's URL path segment -- pass as\ncategory_path to psa-price-guide-set.",
+ "city_slug": {
"type": "string"
},
- "items": {
- "description": "Items are the matching cards/items within this set.",
+ "cost_of_living_index": {
+ "description": "Numbeo Cost of Living Index; a higher value means consumer goods cost more.",
+ "type": "number"
+ },
+ "cost_of_living_plus_rent_index": {
+ "description": "Numbeo Cost of Living Plus Rent Index, which combines consumer prices and rent.",
+ "type": "number"
+ },
+ "groceries_index": {
+ "description": "Numbeo Groceries Index; a higher value means groceries cost more.",
+ "type": "number"
+ },
+ "local_purchasing_power_index": {
+ "description": "Numbeo Local Purchasing Power Index; a higher value means locals can afford more with their wages.",
+ "type": "number"
+ },
+ "rank": {
+ "type": "integer"
+ },
+ "rent_index": {
+ "description": "Numbeo Rent Index; a higher value means rent costs more.",
+ "type": "number"
+ },
+ "restaurant_price_index": {
+ "description": "Numbeo Restaurant Price Index; a higher value means meals and drinks out cost more.",
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "numbeo.CostOfLivingCityResponse": {
+ "properties": {
+ "categories": {
+ "description": "Price categories for the city, each with its priced items.",
"items": {
- "$ref": "#/definitions/psa.PriceGuideSearchItem"
+ "$ref": "#/definitions/numbeo.PriceCategory"
},
"type": "array"
},
- "set_id": {
- "description": "SetID is PSA's own numeric set id -- pass as set_id to\npsa-price-guide-set along with CategoryPath and SetPath.",
+ "city": {
+ "description": "City name as Numbeo shows it, with the state or region where Numbeo adds one, such as `Los Angeles, CA`.",
+ "type": "string"
+ },
+ "city_slug": {
+ "description": "Numbeo city slug that was requested, such as `Los-Angeles`.",
+ "type": "string"
+ },
+ "contributors_12mo": {
+ "description": "Number of different contributors behind the city's prices, as Numbeo reports it.",
"type": "integer"
},
- "set_name": {
- "description": "SetName is the set's display name, e.g. \"1974 Topps\".",
+ "country": {
+ "description": "Country the city is in.",
"type": "string"
},
- "set_path": {
- "description": "SetPath is the set's own URL path segment -- pass as set_path to\npsa-price-guide-set.",
+ "last_update": {
+ "description": "Date Numbeo last updated the city's prices, as Numbeo shows it, such as `13 July 2026`.",
+ "type": "string"
+ },
+ "source_url": {
+ "description": "URL the data was read from.",
"type": "string"
}
},
"type": "object"
},
- "psa.PriceGuideSetResponse": {
+ "numbeo.CostOfLivingCountryResponse": {
"properties": {
- "cards": {
- "description": "Cards is every row of the set's price table, in PSA's own display\norder.",
+ "categories": {
"items": {
- "$ref": "#/definitions/psa.PriceGuideCardPrice"
+ "$ref": "#/definitions/numbeo.PriceCategory"
},
"type": "array"
},
- "grades": {
- "description": "Grades are this set's own grade-column labels, in the order PSA\nitself displays them (e.g. [\"NM 7\",\"NM-MT 8\",\"MT 9\",\"GEM-MT 10\"]).\nConfirmed live that this varies by set -- a vintage set may carry\nmore/lower grade columns than a modern one -- so it is returned per\nresponse rather than assumed fixed.",
+ "cities": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/numbeo.CityIndexEntry"
},
"type": "array"
},
- "set_id": {
+ "contributors_12mo": {
+ "type": "integer"
+ },
+ "country": {
"type": "string"
},
- "source_url": {
+ "last_update": {
"type": "string"
},
- "title": {
- "description": "Title is the set's display name, e.g. \"1974 Topps\".",
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "psa.PriceGuideSetSummary": {
+ "numbeo.CountryIndexEntry": {
"properties": {
- "category_name": {
- "description": "CategoryName is the category's display name from\npsa-price-guide-categories, e.g. \"Baseball Cards\".",
- "type": "string"
+ "cost_of_living_index": {
+ "description": "Numbeo Cost of Living Index; a higher value means consumer goods cost more.",
+ "type": "number"
},
- "category_path": {
- "description": "CategoryPath is the set URL's category segment -- pass as category_path\nto psa-price-guide-set.",
+ "cost_of_living_plus_rent_index": {
+ "description": "Numbeo Cost of Living Plus Rent Index, which combines consumer prices and rent.",
+ "type": "number"
+ },
+ "country": {
+ "description": "Country name as Numbeo shows it.",
"type": "string"
},
- "set_id": {
- "description": "SetID is PSA's own numeric set id.",
+ "groceries_index": {
+ "description": "Numbeo Groceries Index; a higher value means groceries cost more.",
+ "type": "number"
+ },
+ "local_purchasing_power_index": {
+ "description": "Numbeo Local Purchasing Power Index; a higher value means locals can afford more with their wages.",
+ "type": "number"
+ },
+ "rank": {
+ "description": "Position of the country in Numbeo's cost-of-living ranking, starting at 1.",
"type": "integer"
},
- "set_name": {
- "description": "SetName is the set's display name as PSA's category page shows it,\ne.g. \"1974 Topps\".",
- "type": "string"
+ "rent_index": {
+ "description": "Numbeo Rent Index; a higher value means rent costs more.",
+ "type": "number"
},
- "set_path": {
- "description": "SetPath is the set URL's own slug -- pass as set_path to\npsa-price-guide-set.",
- "type": "string"
+ "restaurant_price_index": {
+ "description": "Numbeo Restaurant Price Index; a higher value means meals and drinks out cost more.",
+ "type": "number"
}
},
"type": "object"
},
- "psa.PriceGuideSetsResponse": {
+ "numbeo.IndexRankingEntry": {
"properties": {
- "category_path": {
- "description": "CategoryPath echoes the category filter; empty when every category was\nsearched.",
+ "city": {
+ "description": "City name as Numbeo shows it. Set on city rankings.",
"type": "string"
},
- "page": {
- "type": "integer"
- },
- "page_size": {
- "type": "integer"
+ "city_slug": {
+ "description": "Numbeo city slug. Set on city rankings.",
+ "type": "string"
},
- "query": {
+ "country": {
+ "description": "Country name as Numbeo shows it. Set on country rankings.",
"type": "string"
},
- "sets": {
+ "indices": {
+ "description": "Index values Numbeo publishes for this row, in table column order.",
"items": {
- "$ref": "#/definitions/psa.PriceGuideSetSummary"
+ "$ref": "#/definitions/numbeo.NamedValue"
},
"type": "array"
},
- "total_count": {
- "description": "TotalCount is every matching set across all pages.",
+ "rank": {
+ "description": "Position in the Numbeo ranking, starting at 1.",
"type": "integer"
- },
- "unavailable_categories": {
- "description": "UnavailableCategories lists categories whose set list could not be\nloaded and had no earlier copy to fall back on. When present, Sets and\nTotalCount cover the other categories only.",
- "items": {
- "type": "string"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "psa.ProBatFactsCategoriesResponse": {
- "properties": {
- "categories": {
- "items": {
- "$ref": "#/definitions/psa.ProBatFactsCategory"
- },
- "type": "array"
}
},
"type": "object"
},
- "psa.ProBatFactsCategory": {
+ "numbeo.IndexRow": {
"properties": {
- "id": {
- "description": "ID is PSA's own numeric category id, confirmed live against every\ncategory this family covers. Distinct from CardFacts'/Price Guide's/\nAutographFacts'/TicketFacts' own category id spaces -- do not assume\nthey share values.",
- "type": "integer"
- },
"name": {
- "description": "Name is PSA's own display label, e.g. \"Hall of Fame Players\".",
- "type": "string"
- }
- },
- "type": "object"
- },
- "psa.ProBatFactsGalleryImage": {
- "properties": {
- "caption": {
"type": "string"
},
- "image_url": {
+ "qualifier": {
"type": "string"
+ },
+ "value": {
+ "type": "number"
}
},
"type": "object"
},
- "psa.ProBatFactsGalleryResult": {
+ "numbeo.IndexSection": {
"properties": {
- "images": {
+ "rows": {
"items": {
- "$ref": "#/definitions/psa.ProBatFactsGalleryImage"
+ "$ref": "#/definitions/numbeo.IndexRow"
},
"type": "array"
},
- "name": {
- "type": "string"
- },
- "source_url": {
- "type": "string"
- },
- "subject_id": {
+ "title": {
"type": "string"
}
},
"type": "object"
},
- "psa.ProBatFactsSubject": {
+ "numbeo.IndicesCityResponse": {
"properties": {
- "name": {
- "description": "Name is the player's display name, e.g. \"Hank Aaron\".",
+ "city": {
"type": "string"
},
- "subject_id": {
- "description": "SubjectID is PSA's own numeric subject id -- pass as subject_id to\nProBatFactsSubject.",
- "type": "integer"
- }
- },
- "type": "object"
- },
- "psa.ProBatFactsSubjectResult": {
- "properties": {
- "bat_profile": {
- "description": "BatProfile is PSA's own free-text bat-authentication writeup\n(models used, signature placement, etc.) for this player.",
+ "city_slug": {
"type": "string"
},
- "name": {
- "description": "Name is the player's display name, e.g. \"Hank Aaron\".",
+ "contributors_note": {
"type": "string"
},
- "player_profile": {
- "description": "PlayerProfile is PSA's own free-text player-biography writeup.",
+ "country": {
"type": "string"
},
- "source_url": {
- "type": "string"
+ "headline_indices": {
+ "items": {
+ "$ref": "#/definitions/numbeo.NamedValue"
+ },
+ "type": "array"
},
- "subject_id": {
+ "index": {
"type": "string"
- }
- },
- "type": "object"
- },
- "psa.ProBatFactsSubjectsResponse": {
- "properties": {
- "category_id": {
- "type": "integer"
},
- "category_name": {
+ "last_update": {
"type": "string"
},
- "subjects": {
+ "price_categories": {
"items": {
- "$ref": "#/definitions/psa.ProBatFactsSubject"
+ "$ref": "#/definitions/numbeo.PriceCategory"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "psa.TicketFactsCategoriesResponse": {
- "properties": {
- "categories": {
+ },
+ "sections": {
"items": {
- "$ref": "#/definitions/psa.TicketFactsCategory"
+ "$ref": "#/definitions/numbeo.IndexSection"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "psa.TicketFactsCategory": {
- "properties": {
- "id": {
- "description": "ID is PSA's own numeric category id, confirmed live against every\ncategory this family covers. Distinct from CardFacts'/Price Guide's/\nAutographFacts' own category id spaces -- do not assume they share\nvalues.",
- "type": "integer"
- },
- "name": {
- "description": "Name is PSA's own display label, e.g. \"Super Bowl\".",
- "type": "string"
- }
- },
- "type": "object"
- },
- "psa.TicketFactsGalleryImage": {
- "properties": {
- "caption": {
- "type": "string"
},
- "image_url": {
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "psa.TicketFactsGalleryResult": {
+ "numbeo.IndicesCountryResponse": {
"properties": {
- "images": {
+ "cities": {
"items": {
- "$ref": "#/definitions/psa.TicketFactsGalleryImage"
+ "$ref": "#/definitions/numbeo.IndexRankingEntry"
},
"type": "array"
},
- "name": {
+ "contributors_note": {
"type": "string"
},
- "source_url": {
+ "country": {
"type": "string"
},
- "subject_id": {
+ "headline_indices": {
+ "items": {
+ "$ref": "#/definitions/numbeo.NamedValue"
+ },
+ "type": "array"
+ },
+ "index": {
+ "type": "string"
+ },
+ "last_update": {
+ "type": "string"
+ },
+ "price_categories": {
+ "items": {
+ "$ref": "#/definitions/numbeo.PriceCategory"
+ },
+ "type": "array"
+ },
+ "sections": {
+ "items": {
+ "$ref": "#/definitions/numbeo.IndexSection"
+ },
+ "type": "array"
+ },
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "psa.TicketFactsSubject": {
+ "numbeo.IndicesRankingsByCountryResponse": {
"properties": {
- "name": {
- "description": "Name is the event's display name, e.g. \"Super Bowl I\".",
+ "countries": {
+ "description": "Countries ranked for this index family, in rank order.",
+ "items": {
+ "$ref": "#/definitions/numbeo.IndexRankingEntry"
+ },
+ "type": "array"
+ },
+ "index": {
+ "description": "Index family that was requested, such as `crime` or `traffic`.",
"type": "string"
},
- "subject_id": {
- "description": "SubjectID is PSA's own numeric subject id -- pass as subject_id to\nTicketFactsSubject.",
- "type": "integer"
+ "source_url": {
+ "description": "URL the data was read from.",
+ "type": "string"
}
},
"type": "object"
},
- "psa.TicketFactsSubjectResult": {
+ "numbeo.IndicesRankingsResponse": {
"properties": {
- "name": {
- "description": "Name is the event's display name, e.g. \"Super Bowl I\".",
+ "cities": {
+ "items": {
+ "$ref": "#/definitions/numbeo.IndexRankingEntry"
+ },
+ "type": "array"
+ },
+ "index": {
"type": "string"
},
- "source_url": {
+ "period": {
"type": "string"
},
- "subject_id": {
+ "scope": {
"type": "string"
},
- "ticket_profile": {
- "description": "TicketProfile is PSA's own free-text historical writeup for this\nevent.",
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "psa.TicketFactsSubjectsResponse": {
+ "numbeo.NamedValue": {
"properties": {
- "category_id": {
- "type": "integer"
+ "name": {
+ "description": "Name of the index, as Numbeo labels it, such as `Crime Index`.",
+ "type": "string"
},
- "category_name": {
+ "value": {
+ "description": "Value of the index named in `name`.",
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "numbeo.PriceCategory": {
+ "properties": {
+ "category": {
+ "description": "Numbeo section name, such as Restaurants, Markets or Rent Per Month.",
"type": "string"
},
- "subjects": {
+ "items": {
+ "description": "Priced goods and services listed under this category.",
"items": {
- "$ref": "#/definitions/psa.TicketFactsSubject"
+ "$ref": "#/definitions/numbeo.PriceItem"
},
"type": "array"
}
},
"type": "object"
},
- "psa.autographFactsCategoriesResponseDoc": {
+ "numbeo.PriceItem": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/psa.AutographFactsCategoriesResponse"
+ "currency_symbol": {
+ "description": "Currency symbol Numbeo shows for the city's local currency, such as `$` or `€`.",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "name": {
+ "description": "Name of the good or service, such as a meal at an inexpensive restaurant.",
"type": "string"
+ },
+ "price": {
+ "description": "Price of the item in the city's local currency, as shown on Numbeo.",
+ "type": "number"
+ },
+ "range_high": {
+ "description": "High end of the price range Numbeo reports for the item.",
+ "type": "number"
+ },
+ "range_low": {
+ "description": "Low end of the price range Numbeo reports for the item.",
+ "type": "number"
}
},
"type": "object"
},
- "psa.autographFactsGalleryResponseDoc": {
+ "numbeo.RankingsByCountryResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/psa.AutographFactsGalleryResult"
+ "countries": {
+ "description": "Countries in Numbeo's cost-of-living ranking, in rank order.",
+ "items": {
+ "$ref": "#/definitions/numbeo.CountryIndexEntry"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "source_url": {
+ "description": "URL the data was read from.",
"type": "string"
}
},
"type": "object"
},
- "psa.autographFactsSubjectResponseDoc": {
+ "numbeo.RankingsResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "cities": {
+ "items": {
+ "$ref": "#/definitions/numbeo.CityIndexEntry"
+ },
+ "type": "array"
},
- "data": {
- "$ref": "#/definitions/psa.AutographFactsSubjectResult"
+ "period": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "scope": {
+ "type": "string"
+ },
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "psa.autographFactsSubjectsResponseDoc": {
+ "numbeo.costOfLivingCityResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/psa.AutographFactsSubjectsResponse"
+ "$ref": "#/definitions/numbeo.CostOfLivingCityResponse"
},
"msg": {
"example": "OK",
@@ -169678,14 +174345,14 @@
},
"type": "object"
},
- "psa.cardFactsCategoriesResponseDoc": {
+ "numbeo.costOfLivingCountryResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/psa.CardFactsCategoriesResponse"
+ "$ref": "#/definitions/numbeo.CostOfLivingCountryResponse"
},
"msg": {
"example": "OK",
@@ -169694,14 +174361,14 @@
},
"type": "object"
},
- "psa.cardFactsChecklistResponseDoc": {
+ "numbeo.indicesCityResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/psa.CardFactsChecklistResponse"
+ "$ref": "#/definitions/numbeo.IndicesCityResponse"
},
"msg": {
"example": "OK",
@@ -169710,14 +174377,14 @@
},
"type": "object"
},
- "psa.cardFactsSetsResponseDoc": {
+ "numbeo.indicesCountryResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/psa.CardFactsSetsResponse"
+ "$ref": "#/definitions/numbeo.IndicesCountryResponse"
},
"msg": {
"example": "OK",
@@ -169726,14 +174393,14 @@
},
"type": "object"
},
- "psa.certLookupResponseDoc": {
+ "numbeo.indicesRankingsByCountryResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/psa.CertLookupResult"
+ "$ref": "#/definitions/numbeo.IndicesRankingsByCountryResponse"
},
"msg": {
"example": "OK",
@@ -169742,14 +174409,14 @@
},
"type": "object"
},
- "psa.priceGuideCategoriesResponseDoc": {
+ "numbeo.indicesRankingsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/psa.PriceGuideCategoriesResponse"
+ "$ref": "#/definitions/numbeo.IndicesRankingsResponse"
},
"msg": {
"example": "OK",
@@ -169758,14 +174425,14 @@
},
"type": "object"
},
- "psa.priceGuideSearchResponseDoc": {
+ "numbeo.rankingsByCountryResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/psa.PriceGuideSearchResponse"
+ "$ref": "#/definitions/numbeo.RankingsByCountryResponse"
},
"msg": {
"example": "OK",
@@ -169774,14 +174441,14 @@
},
"type": "object"
},
- "psa.priceGuideSetResponseDoc": {
+ "numbeo.rankingsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/psa.PriceGuideSetResponse"
+ "$ref": "#/definitions/numbeo.RankingsResponse"
},
"msg": {
"example": "OK",
@@ -169790,2586 +174457,5751 @@
},
"type": "object"
},
- "psa.priceGuideSetsResponseDoc": {
+ "nydailynews.AuthorArticle": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "published_at": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/psa.PriceGuideSetsResponse"
+ "summary": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "title": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "psa.probatFactsCategoriesResponseDoc": {
+ "nydailynews.AuthorResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/nydailynews.AuthorArticle"
+ },
+ "type": "array"
},
- "data": {
- "$ref": "#/definitions/psa.ProBatFactsCategoriesResponse"
+ "bio": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "email": {
"type": "string"
- }
- },
- "type": "object"
- },
- "psa.probatFactsGalleryResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/psa.ProBatFactsGalleryResult"
+ "job_title": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "name": {
"type": "string"
- }
- },
- "type": "object"
- },
- "psa.probatFactsSubjectResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/psa.ProBatFactsSubjectResult"
+ "slug": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "twitter": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "psa.probatFactsSubjectsResponseDoc": {
+ "nymag.AuthorArticle": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "excerpt": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/psa.ProBatFactsSubjectsResponse"
+ "published_at": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "section": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "psa.ticketFactsCategoriesResponseDoc": {
+ "nymag.AuthorResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/nymag.AuthorArticle"
+ },
+ "type": "array"
},
- "data": {
- "$ref": "#/definitions/psa.TicketFactsCategoriesResponse"
+ "bio": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "job_title": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "psa.ticketFactsGalleryResponseDoc": {
+ "nypost.AuthorResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/newsplatform.HeadlineItem"
+ },
+ "type": "array"
},
- "data": {
- "$ref": "#/definitions/psa.TicketFactsGalleryResult"
+ "biography": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "image_url": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "social_links": {
+ "items": {
+ "$ref": "#/definitions/nypost.AuthorSocialLink"
+ },
+ "type": "array"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "psa.ticketFactsSubjectResponseDoc": {
+ "nypost.AuthorSocialLink": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/psa.TicketFactsSubjectResult"
+ "type": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "psa.ticketFactsSubjectsResponseDoc": {
+ "nyt.ArticleResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "authors": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "data": {
- "$ref": "#/definitions/psa.TicketFactsSubjectsResponse"
+ "description": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "image_url": {
+ "type": "string"
+ },
+ "keywords": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "paragraphs": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "published_at": {
+ "type": "string"
+ },
+ "section": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "updated_at": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "publicnews.abcNewsAuthorResponseDoc": {
+ "nyt.AuthorAboutSection": {
"properties": {
- "data": {
- "$ref": "#/definitions/abcnews.AuthorResponse"
+ "heading": {
+ "type": "string"
+ },
+ "paragraphs": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "publicnews.abcauAuthorResponseDoc": {
+ "nyt.AuthorArticle": {
"properties": {
- "data": {
- "$ref": "#/definitions/abcau.AuthorResponse"
+ "authors": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "description": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.androidpoliceAuthorResponseDoc": {
+ "nyt.AuthorContactItem": {
"properties": {
- "data": {
- "$ref": "#/definitions/androidpolice.AuthorResponse"
+ "label": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "value": {
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.apNewsAuthorResponseDoc": {
+ "nyt.AuthorResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/apnews.AuthorResponse"
+ "about": {
+ "items": {
+ "$ref": "#/definitions/nyt.AuthorAboutSection"
+ },
+ "type": "array"
+ },
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/nyt.AuthorArticle"
+ },
+ "type": "array"
+ },
+ "contact": {
+ "items": {
+ "$ref": "#/definitions/nyt.AuthorContactItem"
+ },
+ "type": "array"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "tagline": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.arstechnicaAuthorResponseDoc": {
+ "nyt.CategoriesResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/arstechnica.AuthorResponse"
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/nyt.Category"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "publicnews.articleResponseDoc": {
+ "nyt.Category": {
"properties": {
- "data": {
- "$ref": "#/definitions/newsplatform.ArticleResponse"
+ "name": {
+ "type": "string"
+ },
+ "sections": {
+ "items": {
+ "$ref": "#/definitions/nyt.CategoryLink"
+ },
+ "type": "array"
+ },
+ "slug": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.benzingaSearchResponseDoc": {
+ "nyt.CategoryLink": {
"properties": {
- "data": {
- "properties": {
- "items": {
- "items": {
- "properties": {
- "author": {
- "type": "string"
- },
- "image_url": {
- "type": "string"
- },
- "published_at": {
- "type": "string"
- },
- "summary": {
- "type": "string"
- },
- "tickers": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "title": {
- "type": "string"
- },
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "type": "array"
- },
- "query": {
- "type": "string"
- }
- },
- "type": "object"
+ "name": {
+ "type": "string"
+ },
+ "slug": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.billboardAuthorResponseDoc": {
+ "nyt.HeadlineItem": {
"properties": {
- "data": {
- "$ref": "#/definitions/billboard.AuthorResponse"
+ "author": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "published_at": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.bleacherreportAuthorResponseDoc": {
+ "nyt.HeadlinesResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/bleacherreport.AuthorResponse"
+ "items": {
+ "items": {
+ "$ref": "#/definitions/nyt.HeadlineItem"
+ },
+ "type": "array"
+ },
+ "section": {
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.breitbartAuthorResponseDoc": {
+ "nyt.Section": {
"properties": {
- "data": {
- "$ref": "#/definitions/breitbart.AuthorResponse"
+ "name": {
+ "type": "string"
+ },
+ "slug": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.brisbanetimesArticleResponseDoc": {
+ "nyt.SectionsResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/brisbanetimes.ArticleResponse"
+ "sections": {
+ "items": {
+ "$ref": "#/definitions/nyt.Section"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "publicnews.brisbanetimesAuthorResponseDoc": {
+ "nyt.articleResponseDoc": {
"properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
"data": {
- "$ref": "#/definitions/brisbanetimes.AuthorResponse"
+ "$ref": "#/definitions/nyt.ArticleResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.businessInsiderAuthorResponseDoc": {
+ "nyt.authorResponseDoc": {
"properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
"data": {
- "$ref": "#/definitions/businessinsider.AuthorResponse"
+ "$ref": "#/definitions/nyt.AuthorResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.businessstandardAuthorResponseDoc": {
+ "nyt.categoriesResponseDoc": {
"properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
"data": {
- "$ref": "#/definitions/businessstandard.AuthorResponse"
+ "$ref": "#/definitions/nyt.CategoriesResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.cbcAuthorResponseDoc": {
+ "nyt.headlinesResponseDoc": {
"properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
"data": {
- "$ref": "#/definitions/cbc.AuthorResponse"
+ "$ref": "#/definitions/nyt.HeadlinesResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.cbrAuthorResponseDoc": {
+ "nyt.sectionsResponseDoc": {
"properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
"data": {
- "$ref": "#/definitions/cbr.AuthorResponse"
+ "$ref": "#/definitions/nyt.SectionsResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.cbsNewsAuthorResponseDoc": {
+ "nzherald.AuthorResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/cbsnews.AuthorResponse"
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/newsplatform.HeadlineItem"
+ },
+ "type": "array"
+ },
+ "biography": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "email": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "job_title": {
+ "type": "string"
+ },
+ "location": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.cbsSportsAuthorResponseDoc": {
+ "oldnavy.AvailabilityResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/cbssports.AuthorResponse"
+ "brand": {
+ "type": "string"
+ },
+ "count": {
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "pid": {
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "stores": {
+ "items": {
+ "$ref": "#/definitions/oldnavy.StoreStockSummary"
+ },
+ "type": "array"
+ },
+ "style_id": {
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.chicagoTribuneAuthorResponseDoc": {
+ "oldnavy.CategoriesResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/chicagotribune.AuthorResponse"
+ "brand": {
+ "type": "string"
+ },
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/oldnavy.CategoryNavEntry"
+ },
+ "type": "array"
+ },
+ "cid": {
+ "type": "string"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.cnaAuthorResponseDoc": {
+ "oldnavy.CategoryColorSummary": {
"properties": {
- "data": {
- "$ref": "#/definitions/cna.AuthorResponse"
+ "back_order_inventory_count": {
+ "type": "integer"
+ },
+ "back_order_inventory_status": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "inventory_count": {
+ "type": "integer"
+ },
+ "inventory_status": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "percentage_off": {
+ "type": "integer"
+ },
+ "price": {
+ "type": "number"
+ },
+ "regular_price": {
+ "type": "number"
+ },
+ "short_description": {
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.cnetAuthorResponseDoc": {
+ "oldnavy.CategoryGroup": {
"properties": {
- "data": {
- "$ref": "#/definitions/cnet.AuthorResponse"
+ "category_id": {
+ "type": "string"
+ },
+ "category_name": {
+ "type": "string"
+ },
+ "items": {
+ "items": {
+ "$ref": "#/definitions/oldnavy.CategoryGroupItem"
+ },
+ "type": "array"
+ },
+ "sub_category_id": {
+ "type": "string"
+ },
+ "sub_category_name": {
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.colliderAuthorResponseDoc": {
+ "oldnavy.CategoryGroupItem": {
"properties": {
- "data": {
- "$ref": "#/definitions/collider.AuthorResponse"
+ "cc_id": {
+ "type": "string"
+ },
+ "style_id": {
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.ctvnewsAuthorResponseDoc": {
+ "oldnavy.CategoryNavEntry": {
"properties": {
- "data": {
- "$ref": "#/definitions/ctvnews.AuthorResponse"
+ "cid": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.dailyBeastAuthorResponseDoc": {
+ "oldnavy.CategoryProductSummary": {
"properties": {
- "data": {
- "$ref": "#/definitions/thedailybeast.AuthorResponse"
+ "colors": {
+ "items": {
+ "$ref": "#/definitions/oldnavy.CategoryColorSummary"
+ },
+ "type": "array"
+ },
+ "id": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "review_count": {
+ "type": "integer"
+ },
+ "review_score": {
+ "type": "number"
+ },
+ "url": {
+ "type": "string"
+ },
+ "web_product_type": {
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.dailyExpressAuthorResponseDoc": {
+ "oldnavy.CategoryResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/dailyexpress.AuthorResponse"
+ "brand": {
+ "type": "string"
+ },
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/oldnavy.CategoryGroup"
+ },
+ "type": "array"
+ },
+ "category_id": {
+ "type": "string"
+ },
+ "count": {
+ "type": "integer"
+ },
+ "facets": {
+ "items": {
+ "$ref": "#/definitions/oldnavy.Facet"
+ },
+ "type": "array"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "page": {
+ "type": "integer"
+ },
+ "page_size": {
+ "type": "integer"
+ },
+ "products": {
+ "items": {
+ "$ref": "#/definitions/oldnavy.CategoryProductSummary"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "total_colors": {
+ "type": "integer"
+ },
+ "total_pages": {
+ "type": "integer"
}
},
"type": "object"
},
- "publicnews.dailyMailAuthorResponseDoc": {
+ "oldnavy.ColorSummary": {
"properties": {
- "data": {
- "$ref": "#/definitions/dailymail.AuthorResponse"
+ "id": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "percentage_off": {
+ "type": "integer"
+ },
+ "price": {
+ "type": "number"
+ },
+ "regular_price": {
+ "type": "number"
+ },
+ "short_description": {
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.dailyRecordAuthorResponseDoc": {
+ "oldnavy.Facet": {
"properties": {
- "data": {
- "$ref": "#/definitions/dailyrecord.AuthorResponse"
+ "is_range": {
+ "type": "boolean"
+ },
+ "label": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "options": {
+ "items": {
+ "$ref": "#/definitions/oldnavy.FacetOption"
+ },
+ "type": "array"
+ },
+ "range_max": {
+ "type": "number"
+ },
+ "range_min": {
+ "type": "number"
+ },
+ "type": {
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.dailyWireAuthorResponseDoc": {
+ "oldnavy.FacetOption": {
"properties": {
- "data": {
- "$ref": "#/definitions/dailywire.AuthorResponse"
+ "count": {
+ "type": "integer"
+ },
+ "label": {
+ "type": "string"
+ },
+ "value": {
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.dailycallerAuthorResponseDoc": {
+ "oldnavy.ProductDetailResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/dailycaller.AuthorResponse"
+ "brand": {
+ "type": "string"
+ },
+ "color": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "images": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "name": {
+ "type": "string"
+ },
+ "offers": {
+ "items": {
+ "$ref": "#/definitions/oldnavy.ProductOffer"
+ },
+ "type": "array"
+ },
+ "pid": {
+ "type": "string"
+ },
+ "rating_count": {
+ "type": "integer"
+ },
+ "rating_value": {
+ "type": "number"
+ },
+ "related_items": {
+ "items": {
+ "$ref": "#/definitions/oldnavy.RelatedItem"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.dawnAuthorResponseDoc": {
+ "oldnavy.ProductOffer": {
"properties": {
- "data": {
- "$ref": "#/definitions/dawn.AuthorResponse"
+ "availability": {
+ "type": "string"
+ },
+ "currency": {
+ "type": "string"
+ },
+ "price": {
+ "type": "number"
+ },
+ "sku": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.deadlineAuthorResponseDoc": {
+ "oldnavy.ProductReviewsResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/deadline.AuthorResponse"
+ "average_rating": {
+ "type": "number"
+ },
+ "brand": {
+ "type": "string"
+ },
+ "count": {
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "page": {
+ "type": "integer"
+ },
+ "page_size": {
+ "type": "integer"
+ },
+ "pid": {
+ "type": "string"
+ },
+ "rating_count": {
+ "type": "integer"
+ },
+ "rating_histogram": {
+ "description": "RatingHistogram is the count of ratings per star, ascending: index 0\nis 1-star, index 4 is 5-star.",
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "recommended_ratio": {
+ "type": "number"
+ },
+ "reviews": {
+ "items": {
+ "$ref": "#/definitions/oldnavy.Review"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "total_pages": {
+ "type": "integer"
+ },
+ "total_reviews": {
+ "type": "integer"
}
},
"type": "object"
},
- "publicnews.denverPostAuthorResponseDoc": {
+ "oldnavy.ProductSummary": {
"properties": {
- "data": {
- "$ref": "#/definitions/denverpost.AuthorResponse"
+ "colors": {
+ "items": {
+ "$ref": "#/definitions/oldnavy.ColorSummary"
+ },
+ "type": "array"
+ },
+ "id": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "price_max": {
+ "type": "number"
+ },
+ "price_min": {
+ "type": "number"
+ },
+ "review_count": {
+ "type": "integer"
+ },
+ "review_score": {
+ "type": "number"
+ },
+ "sale_price_max": {
+ "type": "number"
+ },
+ "sale_price_min": {
+ "type": "number"
+ },
+ "thumbnail_url": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "web_product_type": {
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.dwAuthorResponseDoc": {
+ "oldnavy.RelatedItem": {
"properties": {
- "data": {
- "$ref": "#/definitions/dw.AuthorResponse"
+ "name": {
+ "type": "string"
+ },
+ "pid": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.economicTimesAuthorResponseDoc": {
+ "oldnavy.Review": {
"properties": {
- "data": {
- "$ref": "#/definitions/economictimes.AuthorResponse"
+ "author": {
+ "type": "string"
+ },
+ "body": {
+ "type": "string"
+ },
+ "created_at": {
+ "type": "string"
+ },
+ "headline": {
+ "type": "string"
+ },
+ "helpful_votes": {
+ "type": "integer"
+ },
+ "id": {
+ "type": "string"
+ },
+ "location": {
+ "type": "string"
+ },
+ "not_helpful_votes": {
+ "type": "integer"
+ },
+ "rating": {
+ "type": "integer"
+ },
+ "updated_at": {
+ "type": "string"
+ },
+ "verified_purchase": {
+ "type": "boolean"
}
},
"type": "object"
},
- "publicnews.engadgetAuthorResponseDoc": {
+ "oldnavy.SearchResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/engadget.AuthorResponse"
+ "brand": {
+ "type": "string"
+ },
+ "count": {
+ "type": "integer"
+ },
+ "facets": {
+ "items": {
+ "$ref": "#/definitions/oldnavy.Facet"
+ },
+ "type": "array"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "keyword": {
+ "type": "string"
+ },
+ "page": {
+ "type": "integer"
+ },
+ "page_size": {
+ "type": "integer"
+ },
+ "products": {
+ "items": {
+ "$ref": "#/definitions/oldnavy.ProductSummary"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "total_pages": {
+ "type": "integer"
+ },
+ "total_products": {
+ "type": "integer"
}
},
"type": "object"
},
- "publicnews.eonlineAuthorResponseDoc": {
+ "oldnavy.SizeStock": {
"properties": {
- "data": {
- "$ref": "#/definitions/eonline.AuthorResponse"
+ "fit": {
+ "type": "string"
+ },
+ "sku": {
+ "type": "string"
+ },
+ "status": {
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.euronewsAuthorResponseDoc": {
+ "oldnavy.Store": {
"properties": {
- "data": {
- "$ref": "#/definitions/euronews.AuthorResponse"
+ "address": {
+ "type": "string"
+ },
+ "city": {
+ "type": "string"
+ },
+ "country": {
+ "type": "string"
+ },
+ "distance_miles": {
+ "type": "number"
+ },
+ "latitude": {
+ "type": "number"
+ },
+ "longitude": {
+ "type": "number"
+ },
+ "name": {
+ "type": "string"
+ },
+ "phone": {
+ "type": "string"
+ },
+ "postal_code": {
+ "type": "string"
+ },
+ "region": {
+ "type": "string"
+ },
+ "specialties": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.ewAuthorResponseDoc": {
+ "oldnavy.StoreResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/ew.AuthorResponse"
+ "brand": {
+ "type": "string"
+ },
+ "count": {
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "lat": {
+ "type": "number"
+ },
+ "lng": {
+ "type": "number"
+ },
+ "search": {
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "stores": {
+ "items": {
+ "$ref": "#/definitions/oldnavy.Store"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "publicnews.expresstribuneAuthorResponseDoc": {
+ "oldnavy.StoreStockSummary": {
"properties": {
- "data": {
- "$ref": "#/definitions/expresstribune.AuthorResponse"
+ "address": {
+ "type": "string"
+ },
+ "city": {
+ "type": "string"
+ },
+ "distance_miles": {
+ "type": "number"
+ },
+ "name": {
+ "type": "string"
+ },
+ "phone": {
+ "type": "string"
+ },
+ "postal_code": {
+ "type": "string"
+ },
+ "region": {
+ "type": "string"
+ },
+ "sizes": {
+ "items": {
+ "$ref": "#/definitions/oldnavy.SizeStock"
+ },
+ "type": "array"
+ },
+ "store_id": {
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.fastCompanyAuthorResponseDoc": {
+ "oldnavy.availabilityResponseDoc": {
"properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
"data": {
- "$ref": "#/definitions/fastcompany.AuthorResponse"
+ "$ref": "#/definitions/oldnavy.AvailabilityResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.fortuneAuthorResponseDoc": {
+ "oldnavy.categoriesResponseDoc": {
"properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
"data": {
- "$ref": "#/definitions/fortune.AuthorResponse"
+ "$ref": "#/definitions/oldnavy.CategoriesResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.fortuneCompaniesResponseDoc": {
+ "oldnavy.categoryResponseDoc": {
"properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
"data": {
- "$ref": "#/definitions/fortune.CompaniesResponse"
+ "$ref": "#/definitions/oldnavy.CategoryResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.fortuneCompanyFiltersResponseDoc": {
+ "oldnavy.productResponseDoc": {
"properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
"data": {
- "$ref": "#/definitions/fortune.CompanyFiltersResponse"
+ "$ref": "#/definitions/oldnavy.ProductDetailResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.fortuneCompanyResponseDoc": {
+ "oldnavy.productReviewsResponseDoc": {
"properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
"data": {
- "$ref": "#/definitions/fortune.CompanyResponse"
+ "$ref": "#/definitions/oldnavy.ProductReviewsResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.fortuneRankingFiltersResponseDoc": {
+ "oldnavy.searchResponseDoc": {
"properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
"data": {
- "$ref": "#/definitions/fortune.RankingFiltersResponse"
+ "$ref": "#/definitions/oldnavy.SearchResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.fortuneRankingListsResponseDoc": {
+ "oldnavy.storesResponseDoc": {
"properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
"data": {
- "$ref": "#/definitions/fortune.RankingListsResponse"
+ "$ref": "#/definitions/oldnavy.StoreResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.fortuneRankingResponseDoc": {
+ "opendota.AbilitiesResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/fortune.RankingResponse"
+ "abilities": {
+ "items": {
+ "$ref": "#/definitions/opendota.AbilitySummary"
+ },
+ "type": "array"
+ },
+ "count": {
+ "example": 50,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "total": {
+ "example": 2804,
+ "type": "integer"
}
},
"type": "object"
},
- "publicnews.fortuneRankingYearsResponseDoc": {
+ "opendota.AbilitySummary": {
"properties": {
- "data": {
- "$ref": "#/definitions/fortune.RankingYearsResponse"
+ "behavior": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "bkb_pierce": {
+ "example": "Yes",
+ "type": "string"
+ },
+ "cooldown": {
+ "example": "15 12 9 6",
+ "type": "string"
+ },
+ "damage_type": {
+ "example": "Magical",
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "dispellable": {
+ "example": "No",
+ "type": "string"
+ },
+ "innate": {
+ "example": false,
+ "type": "boolean"
+ },
+ "key": {
+ "example": "antimage_blink",
+ "type": "string"
+ },
+ "mana_cost": {
+ "example": "60 70 80 90",
+ "type": "string"
+ },
+ "name": {
+ "example": "Blink",
+ "type": "string"
+ },
+ "target_team": {
+ "example": "Enemy",
+ "type": "string"
+ },
+ "target_type": {
+ "example": "Hero",
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.france24AuthorResponseDoc": {
+ "opendota.AghanimUpgrade": {
"properties": {
- "data": {
- "$ref": "#/definitions/france24.AuthorResponse"
+ "available": {
+ "example": true,
+ "type": "boolean"
+ },
+ "description": {
+ "type": "string"
+ },
+ "new_skill": {
+ "example": false,
+ "type": "boolean"
+ },
+ "skill_name": {
+ "example": "Blink",
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.gamerantAuthorResponseDoc": {
+ "opendota.Benchmark": {
"properties": {
- "data": {
- "$ref": "#/definitions/gamerant.AuthorResponse"
+ "metric": {
+ "example": "gold_per_min",
+ "type": "string"
+ },
+ "points": {
+ "items": {
+ "$ref": "#/definitions/opendota.BenchmarkPoint"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "publicnews.gamesradarAuthorResponseDoc": {
+ "opendota.BenchmarkPoint": {
"properties": {
- "data": {
- "$ref": "#/definitions/gamesradar.AuthorResponse"
+ "percentile": {
+ "example": 0.5,
+ "type": "number"
+ },
+ "value": {
+ "example": 545.5,
+ "type": "number"
}
},
"type": "object"
},
- "publicnews.gbnewsAuthorResponseDoc": {
+ "opendota.BenchmarksResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/gbnews.AuthorResponse"
+ "benchmarks": {
+ "items": {
+ "$ref": "#/definitions/opendota.Benchmark"
+ },
+ "type": "array"
+ },
+ "bracket": {
+ "example": 4,
+ "type": "integer"
+ },
+ "bracket_name": {
+ "example": "Archon",
+ "type": "string"
+ },
+ "count": {
+ "example": 10,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
+ "type": "string"
+ },
+ "hero_id": {
+ "example": 1,
+ "type": "integer"
+ },
+ "hero_name": {
+ "example": "Anti-Mage",
+ "type": "string"
+ },
+ "role": {
+ "enum": [
+ "core",
+ "support"
+ ],
+ "example": "core",
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.ghanawebArchiveMonthsResponseDoc": {
+ "opendota.ConstantEntry": {
"properties": {
- "data": {
- "$ref": "#/definitions/ghanaweb.ArchiveMonthsResponse"
+ "balanced": {
+ "example": true,
+ "type": "boolean"
+ },
+ "date": {
+ "example": "2024-08-14T00:00:00Z",
+ "type": "string"
+ },
+ "id": {
+ "example": "2",
+ "type": "string"
+ },
+ "name": {
+ "example": "game_mode_captains_mode",
+ "type": "string"
+ },
+ "text": {
+ "example": "Careful!",
+ "type": "string"
+ },
+ "value": {
+ "example": 240,
+ "type": "integer"
}
},
"type": "object"
},
- "publicnews.ghanawebArchiveResponseDoc": {
+ "opendota.ConstantsResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/ghanaweb.ArchiveResponse"
+ "count": {
+ "example": 26,
+ "type": "integer"
+ },
+ "entries": {
+ "items": {
+ "$ref": "#/definitions/opendota.ConstantEntry"
+ },
+ "type": "array"
+ },
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
+ "type": "string"
+ },
+ "resource": {
+ "example": "game_mode",
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.ghanawebVideoResponseDoc": {
+ "opendota.DistributionsResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/ghanaweb.VideoResponse"
+ "count": {
+ "example": 36,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
+ "type": "string"
+ },
+ "ranks": {
+ "items": {
+ "$ref": "#/definitions/opendota.RankTierRow"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "total_players": {
+ "example": 8745631,
+ "type": "integer"
}
},
"type": "object"
},
- "publicnews.ghanawebVideoSectionsResponseDoc": {
+ "opendota.DurationBin": {
"properties": {
- "data": {
- "$ref": "#/definitions/ghanaweb.VideoSectionsResponse"
+ "games": {
+ "example": 2400,
+ "type": "integer"
+ },
+ "start_minute": {
+ "example": 20,
+ "type": "integer"
+ },
+ "win_rate_percent": {
+ "example": 54.17,
+ "type": "number"
+ },
+ "wins": {
+ "example": 1300,
+ "type": "integer"
}
},
"type": "object"
},
- "publicnews.ghanawebVideosResponseDoc": {
+ "opendota.FindMatchRow": {
"properties": {
- "data": {
- "$ref": "#/definitions/ghanaweb.VideosResponse"
+ "dire": {
+ "items": {
+ "$ref": "#/definitions/opendota.PickedHero"
+ },
+ "type": "array"
+ },
+ "match_id": {
+ "example": 9066484102,
+ "type": "integer"
+ },
+ "radiant": {
+ "items": {
+ "$ref": "#/definitions/opendota.PickedHero"
+ },
+ "type": "array"
+ },
+ "radiant_win": {
+ "example": true,
+ "type": "boolean"
+ },
+ "start_time": {
+ "example": "2026-10-29T00:37:42Z",
+ "type": "string"
+ },
+ "team_a_side": {
+ "enum": [
+ "radiant",
+ "dire"
+ ],
+ "example": "dire",
+ "type": "string"
+ },
+ "team_a_win": {
+ "example": false,
+ "type": "boolean"
}
},
"type": "object"
},
- "publicnews.gizmodoAuthorResponseDoc": {
+ "opendota.FindMatchesResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/gizmodo.AuthorResponse"
+ "count": {
+ "example": 20,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
+ "type": "string"
+ },
+ "matches": {
+ "items": {
+ "$ref": "#/definitions/opendota.FindMatchRow"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "team_a_hero_ids": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "team_b_hero_ids": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "publicnews.globalnewsAuthorResponseDoc": {
+ "opendota.Hero": {
"properties": {
- "data": {
- "$ref": "#/definitions/globalnews.AuthorResponse"
+ "attack_type": {
+ "enum": [
+ "Melee",
+ "Ranged"
+ ],
+ "example": "Melee",
+ "type": "string"
+ },
+ "id": {
+ "example": 93,
+ "type": "integer"
+ },
+ "localized_name": {
+ "example": "Slark",
+ "type": "string"
+ },
+ "name": {
+ "example": "npc_dota_hero_slark",
+ "type": "string"
+ },
+ "primary_attr": {
+ "enum": [
+ "agi",
+ "all",
+ "int",
+ "str"
+ ],
+ "example": "agi",
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.gqAuthorResponseDoc": {
+ "opendota.HeroDescription": {
"properties": {
- "data": {
- "$ref": "#/definitions/gq.AuthorResponse"
+ "hero_id": {
+ "example": 1,
+ "type": "integer"
+ },
+ "key": {
+ "example": "antimage",
+ "type": "string"
+ },
+ "lore": {
+ "type": "string"
+ },
+ "name": {
+ "example": "npc_dota_hero_antimage",
+ "type": "string"
+ },
+ "scepter": {
+ "$ref": "#/definitions/opendota.AghanimUpgrade"
+ },
+ "shard": {
+ "$ref": "#/definitions/opendota.AghanimUpgrade"
}
},
"type": "object"
},
- "publicnews.gulfNewsAuthorResponseDoc": {
+ "opendota.HeroDescriptionsResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/gulfnews.AuthorResponse"
+ "count": {
+ "example": 127,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
+ "type": "string"
+ },
+ "hero_id": {
+ "example": 1,
+ "type": "integer"
+ },
+ "heroes": {
+ "items": {
+ "$ref": "#/definitions/opendota.HeroDescription"
+ },
+ "type": "array"
+ },
+ "include_lore": {
+ "example": false,
+ "type": "boolean"
+ },
+ "source_url": {
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.headlinesResponseDoc": {
+ "opendota.HeroDurationsResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/newsplatform.HeadlinesResponse"
+ "bins": {
+ "items": {
+ "$ref": "#/definitions/opendota.DurationBin"
+ },
+ "type": "array"
+ },
+ "count": {
+ "example": 23,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
+ "type": "string"
+ },
+ "hero_id": {
+ "example": 1,
+ "type": "integer"
+ },
+ "source_url": {
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.hindustanTimesAuthorResponseDoc": {
+ "opendota.HeroItemsResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/hindustantimes.AuthorResponse"
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
+ "type": "string"
+ },
+ "hero_id": {
+ "example": 1,
+ "type": "integer"
+ },
+ "phases": {
+ "items": {
+ "$ref": "#/definitions/opendota.ItemPhase"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.hollywoodReporterAuthorResponseDoc": {
+ "opendota.HeroMatchRow": {
"properties": {
- "data": {
- "$ref": "#/definitions/hollywoodreporter.AuthorResponse"
+ "assists": {
+ "example": 5,
+ "type": "integer"
+ },
+ "deaths": {
+ "example": 9,
+ "type": "integer"
+ },
+ "duration_seconds": {
+ "example": 2767,
+ "type": "integer"
+ },
+ "kills": {
+ "example": 5,
+ "type": "integer"
+ },
+ "league_id": {
+ "example": 20395,
+ "type": "integer"
+ },
+ "league_name": {
+ "example": "PARI UNIVERSE by FISSURE",
+ "type": "string"
+ },
+ "match_id": {
+ "example": 9066084051,
+ "type": "integer"
+ },
+ "played_radiant": {
+ "example": false,
+ "type": "boolean"
+ },
+ "start_time": {
+ "example": "2026-10-28T16:08:19Z",
+ "type": "string"
+ },
+ "won": {
+ "example": false,
+ "type": "boolean"
}
},
"type": "object"
},
- "publicnews.houstonChronicleAuthorResponseDoc": {
+ "opendota.HeroMatchesResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/houstonchronicle.AuthorResponse"
+ "count": {
+ "example": 100,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
+ "type": "string"
+ },
+ "hero_id": {
+ "example": 1,
+ "type": "integer"
+ },
+ "localized_name": {
+ "example": "Anti-Mage",
+ "type": "string"
+ },
+ "matches": {
+ "items": {
+ "$ref": "#/definitions/opendota.HeroMatchRow"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.huffPostAuthorResponseDoc": {
+ "opendota.HeroMatchupsResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/huffpost.AuthorResponse"
+ "count": {
+ "example": 126,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
+ "type": "string"
+ },
+ "hero_id": {
+ "example": 1,
+ "type": "integer"
+ },
+ "matchups": {
+ "items": {
+ "$ref": "#/definitions/opendota.HeroRecord"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.ignAuthorResponseDoc": {
+ "opendota.HeroRecord": {
"properties": {
- "data": {
- "$ref": "#/definitions/ign.AuthorResponse"
+ "games": {
+ "example": 82,
+ "type": "integer"
+ },
+ "hero_id": {
+ "example": 17,
+ "type": "integer"
+ },
+ "localized_name": {
+ "example": "Storm Spirit",
+ "type": "string"
+ },
+ "win_rate_percent": {
+ "example": 50,
+ "type": "number"
+ },
+ "wins": {
+ "example": 41,
+ "type": "integer"
}
},
"type": "object"
},
- "publicnews.independentAuthorResponseDoc": {
+ "opendota.HeroStat": {
"properties": {
- "data": {
- "$ref": "#/definitions/independent.AuthorResponse"
+ "attack_range": {
+ "example": 150,
+ "type": "integer"
+ },
+ "attack_type": {
+ "enum": [
+ "Melee",
+ "Ranged"
+ ],
+ "example": "Melee",
+ "type": "string"
+ },
+ "base_armor": {
+ "example": 2,
+ "type": "number"
+ },
+ "base_attack_max": {
+ "example": 33,
+ "type": "integer"
+ },
+ "base_attack_min": {
+ "example": 29,
+ "type": "integer"
+ },
+ "base_health": {
+ "example": 120,
+ "type": "integer"
+ },
+ "base_mana": {
+ "example": 75,
+ "type": "integer"
+ },
+ "id": {
+ "example": 1,
+ "type": "integer"
+ },
+ "localized_name": {
+ "example": "Anti-Mage",
+ "type": "string"
+ },
+ "move_speed": {
+ "example": 310,
+ "type": "integer"
+ },
+ "name": {
+ "example": "npc_dota_hero_antimage",
+ "type": "string"
+ },
+ "primary_attr": {
+ "enum": [
+ "agi",
+ "all",
+ "int",
+ "str"
+ ],
+ "example": "agi",
+ "type": "string"
+ },
+ "pro": {
+ "$ref": "#/definitions/opendota.PickWin"
+ },
+ "public": {
+ "$ref": "#/definitions/opendota.PickWin"
+ },
+ "rank_brackets": {
+ "items": {
+ "$ref": "#/definitions/opendota.RankBracket"
+ },
+ "type": "array"
+ },
+ "roles": {
+ "example": [
+ "Carry"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "turbo": {
+ "$ref": "#/definitions/opendota.PickWin"
}
},
"type": "object"
},
- "publicnews.indiaTodayAuthorResponseDoc": {
+ "opendota.HeroStatsResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/indiatoday.AuthorResponse"
+ "count": {
+ "example": 127,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
+ "type": "string"
+ },
+ "heroes": {
+ "items": {
+ "$ref": "#/definitions/opendota.HeroStat"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.indianExpressAuthorResponseDoc": {
+ "opendota.HeroesResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/indianexpress.AuthorResponse"
+ "count": {
+ "example": 127,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
+ "type": "string"
+ },
+ "heroes": {
+ "items": {
+ "$ref": "#/definitions/opendota.Hero"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.indiewireAuthorResponseDoc": {
+ "opendota.ItemAbility": {
"properties": {
- "data": {
- "$ref": "#/definitions/indiewire.AuthorResponse"
+ "description": {
+ "type": "string"
+ },
+ "title": {
+ "example": "Blink",
+ "type": "string"
+ },
+ "type": {
+ "example": "active",
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.inewsAuthorResponseDoc": {
+ "opendota.ItemAttribute": {
"properties": {
- "data": {
- "$ref": "#/definitions/inews.AuthorResponse"
+ "key": {
+ "example": "blink_range",
+ "type": "string"
+ },
+ "value": {
+ "example": "1200",
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.inquirerAuthorResponseDoc": {
+ "opendota.ItemCount": {
"properties": {
- "data": {
- "$ref": "#/definitions/inquirer.AuthorResponse"
+ "count": {
+ "example": 97,
+ "type": "integer"
+ },
+ "item_id": {
+ "example": 63,
+ "type": "integer"
+ },
+ "name": {
+ "example": "power_treads",
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.investopediaAuthorResponseDoc": {
+ "opendota.ItemPhase": {
"properties": {
- "data": {
- "$ref": "#/definitions/investopedia.AuthorResponse"
+ "items": {
+ "items": {
+ "$ref": "#/definitions/opendota.ItemCount"
+ },
+ "type": "array"
+ },
+ "phase": {
+ "enum": [
+ "start_game",
+ "early_game",
+ "mid_game",
+ "late_game"
+ ],
+ "example": "early_game",
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.iolAuthorResponseDoc": {
+ "opendota.ItemSummary": {
"properties": {
- "data": {
- "$ref": "#/definitions/iol.AuthorResponse"
+ "abilities": {
+ "items": {
+ "$ref": "#/definitions/opendota.ItemAbility"
+ },
+ "type": "array"
+ },
+ "attributes": {
+ "items": {
+ "$ref": "#/definitions/opendota.ItemAttribute"
+ },
+ "type": "array"
+ },
+ "behavior": {
+ "example": "Point Target",
+ "type": "string"
+ },
+ "components": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "cooldown": {
+ "example": "15",
+ "type": "string"
+ },
+ "cost_gold": {
+ "example": 2250,
+ "type": "integer"
+ },
+ "id": {
+ "example": 1,
+ "type": "integer"
+ },
+ "key": {
+ "example": "blink",
+ "type": "string"
+ },
+ "mana_cost": {
+ "example": "0",
+ "type": "string"
+ },
+ "name": {
+ "example": "Blink Dagger",
+ "type": "string"
+ },
+ "quality": {
+ "example": "component",
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.irishindependentAuthorResponseDoc": {
+ "opendota.ItemsResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/irishindependent.AuthorResponse"
+ "count": {
+ "example": 50,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
+ "type": "string"
+ },
+ "items": {
+ "items": {
+ "$ref": "#/definitions/opendota.ItemSummary"
+ },
+ "type": "array"
+ },
+ "qualities": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "total": {
+ "example": 501,
+ "type": "integer"
}
},
"type": "object"
},
- "publicnews.irishtimesAuthorResponseDoc": {
+ "opendota.League": {
"properties": {
- "data": {
- "$ref": "#/definitions/irishtimes.AuthorResponse"
+ "banner": {
+ "example": "https://cdn.opendota.com/leagues/20395.png",
+ "type": "string"
+ },
+ "id": {
+ "example": 20395,
+ "type": "integer"
+ },
+ "name": {
+ "example": "PARI UNIVERSE by FISSURE",
+ "type": "string"
+ },
+ "ticket": {
+ "example": "DPC2023",
+ "type": "string"
+ },
+ "tier": {
+ "example": "professional",
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.japantimesAuthorResponseDoc": {
+ "opendota.LeagueDetailResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/japantimes.AuthorResponse"
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
+ "type": "string"
+ },
+ "league": {
+ "$ref": "#/definitions/opendota.League"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "teams": {
+ "items": {
+ "$ref": "#/definitions/opendota.Team"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "publicnews.jerusalemPostAuthorResponseDoc": {
+ "opendota.LeagueMatch": {
"properties": {
- "data": {
- "$ref": "#/definitions/jerusalempost.AuthorResponse"
+ "dire_name": {
+ "example": "LEGION",
+ "type": "string"
+ },
+ "dire_score": {
+ "example": 9,
+ "type": "integer"
+ },
+ "dire_team_id": {
+ "example": 10291652,
+ "type": "integer"
+ },
+ "duration_seconds": {
+ "example": 2052,
+ "type": "integer"
+ },
+ "league_id": {
+ "example": 20395,
+ "type": "integer"
+ },
+ "match_id": {
+ "example": 9063495955,
+ "type": "integer"
+ },
+ "radiant_name": {
+ "example": "BETBOOM TEAM",
+ "type": "string"
+ },
+ "radiant_score": {
+ "example": 32,
+ "type": "integer"
+ },
+ "radiant_team_id": {
+ "example": 8255888,
+ "type": "integer"
+ },
+ "radiant_win": {
+ "example": true,
+ "type": "boolean"
+ },
+ "series_id": {
+ "example": 1160235,
+ "type": "integer"
+ },
+ "series_type": {
+ "example": 3,
+ "type": "integer"
+ },
+ "start_time": {
+ "example": "2026-10-26T20:56:07Z",
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.jerusalemPostAuthorsResponseDoc": {
+ "opendota.LeagueMatchIDsResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/jerusalempost.AuthorsResponse"
+ "count": {
+ "example": 45,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
+ "type": "string"
+ },
+ "league_id": {
+ "example": 20395,
+ "type": "integer"
+ },
+ "match_ids": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.khaleejTimesAuthorResponseDoc": {
+ "opendota.LeagueMatchesResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/khaleejtimes.AuthorResponse"
+ "count": {
+ "example": 45,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
+ "type": "string"
+ },
+ "league_id": {
+ "example": 20395,
+ "type": "integer"
+ },
+ "matches": {
+ "items": {
+ "$ref": "#/definitions/opendota.LeagueMatch"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "team_id": {
+ "example": 8255888,
+ "type": "integer"
}
},
"type": "object"
},
- "publicnews.kotakuAuthorResponseDoc": {
+ "opendota.LeaguesResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/kotaku.AuthorResponse"
+ "count": {
+ "example": 10411,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
+ "type": "string"
+ },
+ "leagues": {
+ "items": {
+ "$ref": "#/definitions/opendota.League"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "tier_filter": {
+ "example": "professional",
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.livemintAuthorResponseDoc": {
+ "opendota.LiveMatch": {
"properties": {
- "data": {
- "$ref": "#/definitions/livemint.AuthorResponse"
+ "delay_seconds": {
+ "example": 120,
+ "type": "integer"
+ },
+ "dire_name": {
+ "example": "Team Dire",
+ "type": "string"
+ },
+ "dire_score": {
+ "example": 26,
+ "type": "integer"
+ },
+ "game_time_seconds": {
+ "example": 1820,
+ "type": "integer"
+ },
+ "last_update_time": {
+ "example": 1793055400,
+ "type": "integer"
+ },
+ "league_id": {
+ "example": 19350,
+ "type": "integer"
+ },
+ "match_id": {
+ "example": 9063586855,
+ "type": "integer"
+ },
+ "players": {
+ "items": {
+ "$ref": "#/definitions/opendota.LivePlayer"
+ },
+ "type": "array"
+ },
+ "radiant_lead": {
+ "example": -500,
+ "type": "integer"
+ },
+ "radiant_name": {
+ "example": "Team Radiant",
+ "type": "string"
+ },
+ "radiant_score": {
+ "example": 31,
+ "type": "integer"
+ },
+ "spectators": {
+ "example": 24,
+ "type": "integer"
}
},
"type": "object"
},
- "publicnews.livescienceAuthorResponseDoc": {
+ "opendota.LiveMatchesResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/livescience.AuthorResponse"
+ "count": {
+ "example": 1,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
+ "type": "string"
+ },
+ "matches": {
+ "items": {
+ "$ref": "#/definitions/opendota.LiveMatch"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.macRumorsAuthorResponseDoc": {
+ "opendota.LivePlayer": {
"properties": {
- "data": {
- "$ref": "#/definitions/macrumors.AuthorResponse"
+ "hero_id": {
+ "example": 93,
+ "type": "integer"
+ },
+ "name": {
+ "example": "player-name",
+ "type": "string"
+ },
+ "team_code": {
+ "enum": [
+ 0,
+ 1
+ ],
+ "example": 0,
+ "type": "integer"
+ },
+ "team_slot": {
+ "enum": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5
+ ],
+ "example": 1,
+ "type": "integer"
}
},
"type": "object"
},
- "publicnews.makeuseofAuthorResponseDoc": {
+ "opendota.MatchDetail": {
"properties": {
- "data": {
- "$ref": "#/definitions/makeuseof.AuthorResponse"
+ "dire": {
+ "$ref": "#/definitions/opendota.MatchTeam"
+ },
+ "dire_score": {
+ "example": 9,
+ "type": "integer"
+ },
+ "duration_seconds": {
+ "example": 2052,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
+ "type": "string"
+ },
+ "league_id": {
+ "example": 20395,
+ "type": "integer"
+ },
+ "league_name": {
+ "example": "PARI UNIVERSE by FISSURE",
+ "type": "string"
+ },
+ "match_id": {
+ "example": 9063495955,
+ "type": "integer"
+ },
+ "patch": {
+ "example": 59,
+ "type": "integer"
+ },
+ "players": {
+ "items": {
+ "$ref": "#/definitions/opendota.MatchPlayer"
+ },
+ "type": "array"
+ },
+ "radiant": {
+ "$ref": "#/definitions/opendota.MatchTeam"
+ },
+ "radiant_score": {
+ "example": 32,
+ "type": "integer"
+ },
+ "radiant_win": {
+ "example": true,
+ "type": "boolean"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "start_time": {
+ "example": "2026-10-26T20:56:07Z",
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.marketWatchAuthorResponseDoc": {
+ "opendota.MatchPlayer": {
"properties": {
- "data": {
- "$ref": "#/definitions/marketwatch.AuthorResponse"
+ "assists": {
+ "example": 16,
+ "type": "integer"
+ },
+ "deaths": {
+ "example": 1,
+ "type": "integer"
+ },
+ "denies": {
+ "example": 12,
+ "type": "integer"
+ },
+ "gold_per_min": {
+ "example": 656,
+ "type": "integer"
+ },
+ "hero_damage": {
+ "example": 24331,
+ "type": "integer"
+ },
+ "hero_id": {
+ "example": 93,
+ "type": "integer"
+ },
+ "is_radiant": {
+ "example": true,
+ "type": "boolean"
+ },
+ "kills": {
+ "example": 5,
+ "type": "integer"
+ },
+ "last_hits": {
+ "example": 287,
+ "type": "integer"
+ },
+ "level": {
+ "example": 28,
+ "type": "integer"
+ },
+ "name": {
+ "example": "player-name",
+ "type": "string"
+ },
+ "net_worth": {
+ "example": 21553,
+ "type": "integer"
+ },
+ "tower_damage": {
+ "example": 1234,
+ "type": "integer"
+ },
+ "xp_per_min": {
+ "example": 781,
+ "type": "integer"
}
},
"type": "object"
},
- "publicnews.mashableAuthorResponseDoc": {
+ "opendota.MatchTeam": {
"properties": {
- "data": {
- "$ref": "#/definitions/mashable.AuthorResponse"
+ "id": {
+ "example": 8255888,
+ "type": "integer"
+ },
+ "logo_url": {
+ "example": "https://cdn.opendota.com/team-logo.png",
+ "type": "string"
+ },
+ "name": {
+ "example": "BETBOOM TEAM",
+ "type": "string"
+ },
+ "tag": {
+ "example": "BB",
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.mediaiteAuthorResponseDoc": {
+ "opendota.PatchAbilityChange": {
"properties": {
- "data": {
- "$ref": "#/definitions/mediaite.AuthorResponse"
+ "key": {
+ "example": "abaddon_death_coil",
+ "type": "string"
+ },
+ "notes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "publicnews.menAuthorResponseDoc": {
+ "opendota.PatchHeroChange": {
"properties": {
- "data": {
- "$ref": "#/definitions/men.AuthorResponse"
+ "abilities": {
+ "items": {
+ "$ref": "#/definitions/opendota.PatchAbilityChange"
+ },
+ "type": "array"
+ },
+ "general": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "hero_id": {
+ "example": 102,
+ "type": "integer"
+ },
+ "key": {
+ "example": "abaddon",
+ "type": "string"
+ },
+ "name": {
+ "example": "Abaddon",
+ "type": "string"
+ },
+ "talents": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "publicnews.metroAuthorResponseDoc": {
+ "opendota.PatchIndexEntry": {
"properties": {
- "data": {
- "$ref": "#/definitions/metro.AuthorResponse"
+ "heroes_changed": {
+ "example": 96,
+ "type": "integer"
+ },
+ "items_changed": {
+ "example": 60,
+ "type": "integer"
+ },
+ "patch": {
+ "example": "7_38",
+ "type": "string"
+ },
+ "version": {
+ "example": "7.38",
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.mirrorAuthorResponseDoc": {
+ "opendota.PatchItemChange": {
"properties": {
- "data": {
- "$ref": "#/definitions/mirror.AuthorResponse"
+ "key": {
+ "example": "blink",
+ "type": "string"
+ },
+ "notes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "publicnews.moneycontrolAuthorResponseDoc": {
+ "opendota.PatchNotesResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/moneycontrol.AuthorResponse"
+ "count": {
+ "example": 116,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
+ "type": "string"
+ },
+ "general": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "heroes": {
+ "items": {
+ "$ref": "#/definitions/opendota.PatchHeroChange"
+ },
+ "type": "array"
+ },
+ "items": {
+ "items": {
+ "$ref": "#/definitions/opendota.PatchItemChange"
+ },
+ "type": "array"
+ },
+ "misc": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "patch": {
+ "example": "7_38",
+ "type": "string"
+ },
+ "patches": {
+ "items": {
+ "$ref": "#/definitions/opendota.PatchIndexEntry"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "version": {
+ "example": "7.38",
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.motleyfoolAuthorResponseDoc": {
+ "opendota.PickWin": {
"properties": {
- "data": {
- "$ref": "#/definitions/motleyfool.AuthorResponse"
+ "bans": {
+ "example": 36,
+ "type": "integer"
+ },
+ "picks": {
+ "example": 13,
+ "type": "integer"
+ },
+ "win_rate_percent": {
+ "example": 53.85,
+ "type": "number"
+ },
+ "wins": {
+ "example": 7,
+ "type": "integer"
}
},
"type": "object"
},
- "publicnews.nationAfricaAuthorResponseDoc": {
+ "opendota.PickedHero": {
"properties": {
- "data": {
- "$ref": "#/definitions/nationafrica.AuthorResponse"
+ "hero_id": {
+ "example": 1,
+ "type": "integer"
+ },
+ "localized_name": {
+ "example": "Anti-Mage",
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.nationalAuthorResponseDoc": {
+ "opendota.ProMatch": {
"properties": {
- "data": {
- "$ref": "#/definitions/national.AuthorResponse"
+ "dire_name": {
+ "example": "LEGION",
+ "type": "string"
+ },
+ "dire_score": {
+ "example": 9,
+ "type": "integer"
+ },
+ "dire_team_id": {
+ "example": 10291652,
+ "type": "integer"
+ },
+ "duration_seconds": {
+ "example": 2052,
+ "type": "integer"
+ },
+ "league_id": {
+ "example": 20395,
+ "type": "integer"
+ },
+ "league_name": {
+ "example": "PARI UNIVERSE by FISSURE",
+ "type": "string"
+ },
+ "match_id": {
+ "example": 9063495955,
+ "type": "integer"
+ },
+ "radiant_name": {
+ "example": "BETBOOM TEAM",
+ "type": "string"
+ },
+ "radiant_score": {
+ "example": 32,
+ "type": "integer"
+ },
+ "radiant_team_id": {
+ "example": 8255888,
+ "type": "integer"
+ },
+ "radiant_win": {
+ "example": true,
+ "type": "boolean"
+ },
+ "series_id": {
+ "example": 1160235,
+ "type": "integer"
+ },
+ "start_time": {
+ "example": "2026-10-26T20:56:07Z",
+ "type": "string"
+ },
+ "version": {
+ "example": 22,
+ "type": "integer"
}
},
"type": "object"
},
- "publicnews.nationalPostAuthorResponseDoc": {
+ "opendota.ProMatchesResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/nationalpost.AuthorResponse"
+ "count": {
+ "example": 100,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
+ "type": "string"
+ },
+ "matches": {
+ "items": {
+ "$ref": "#/definitions/opendota.ProMatch"
+ },
+ "type": "array"
+ },
+ "next_less_than_match_id": {
+ "example": 9055842613,
+ "type": "integer"
+ },
+ "source_url": {
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.ndtvArticleResponseDoc": {
+ "opendota.ProPlayer": {
"properties": {
- "data": {
- "$ref": "#/definitions/ndtv.ArticleResponse"
+ "country_code": {
+ "example": "US",
+ "type": "string"
+ },
+ "is_pro": {
+ "example": true,
+ "type": "boolean"
+ },
+ "name": {
+ "example": "player-name",
+ "type": "string"
+ },
+ "persona_name": {
+ "example": "Player Name",
+ "type": "string"
+ },
+ "team_id": {
+ "example": 8255888,
+ "type": "integer"
+ },
+ "team_name": {
+ "example": "BETBOOM TEAM",
+ "type": "string"
+ },
+ "team_tag": {
+ "example": "BETBOOM",
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.ndtvAuthorResponseDoc": {
+ "opendota.ProPlayersResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/ndtv.AuthorResponse"
+ "count": {
+ "example": 1,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
+ "type": "string"
+ },
+ "limit": {
+ "example": 50,
+ "type": "integer"
+ },
+ "next_offset": {
+ "example": 50,
+ "type": "integer"
+ },
+ "offset": {
+ "example": 0,
+ "type": "integer"
+ },
+ "players": {
+ "items": {
+ "$ref": "#/definitions/opendota.ProPlayer"
+ },
+ "type": "array"
+ },
+ "q": {
+ "example": "player",
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "team_id": {
+ "example": 8255888,
+ "type": "integer"
+ },
+ "total_count": {
+ "example": 1,
+ "type": "integer"
}
},
"type": "object"
},
- "publicnews.ndtvLatestVideosResponseDoc": {
+ "opendota.PublicMatchRow": {
"properties": {
- "data": {
- "$ref": "#/definitions/ndtv.LatestVideosResponse"
+ "avg_rank_medal": {
+ "example": "Divine",
+ "type": "string"
+ },
+ "avg_rank_tier": {
+ "example": 71,
+ "type": "integer"
+ },
+ "cluster": {
+ "example": 171,
+ "type": "integer"
+ },
+ "dire_heroes": {
+ "items": {
+ "$ref": "#/definitions/opendota.PickedHero"
+ },
+ "type": "array"
+ },
+ "duration_seconds": {
+ "example": 1329,
+ "type": "integer"
+ },
+ "game_mode": {
+ "example": 22,
+ "type": "integer"
+ },
+ "lobby_type": {
+ "example": 0,
+ "type": "integer"
+ },
+ "match_id": {
+ "example": 9066504584,
+ "type": "integer"
+ },
+ "radiant_heroes": {
+ "items": {
+ "$ref": "#/definitions/opendota.PickedHero"
+ },
+ "type": "array"
+ },
+ "radiant_win": {
+ "example": true,
+ "type": "boolean"
+ },
+ "ranked_players": {
+ "example": 6,
+ "type": "integer"
+ },
+ "start_time": {
+ "example": "2026-10-29T01:16:41Z",
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.ndtvLiveBlogResponseDoc": {
+ "opendota.PublicMatchesResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/ndtv.LiveBlogResponse"
+ "count": {
+ "example": 100,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
+ "type": "string"
+ },
+ "matches": {
+ "items": {
+ "$ref": "#/definitions/opendota.PublicMatchRow"
+ },
+ "type": "array"
+ },
+ "max_rank": {
+ "example": 85,
+ "type": "integer"
+ },
+ "min_rank": {
+ "example": 71,
+ "type": "integer"
+ },
+ "next_less_than_match_id": {
+ "example": 9066000000,
+ "type": "integer"
+ },
+ "source_url": {
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.ndtvLiveBlogsResponseDoc": {
+ "opendota.RankBracket": {
"properties": {
- "data": {
- "$ref": "#/definitions/ndtv.LiveBlogsResponse"
+ "bracket": {
+ "enum": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8
+ ],
+ "example": 5,
+ "type": "integer"
+ },
+ "name": {
+ "enum": [
+ "Herald",
+ "Guardian",
+ "Crusader",
+ "Archon",
+ "Legend",
+ "Ancient",
+ "Divine",
+ "Immortal"
+ ],
+ "example": "Legend",
+ "type": "string"
+ },
+ "picks": {
+ "example": 173376,
+ "type": "integer"
+ },
+ "win_rate_percent": {
+ "example": 51.23,
+ "type": "number"
+ },
+ "wins": {
+ "example": 88824,
+ "type": "integer"
}
},
"type": "object"
},
- "publicnews.ndtvSearchResponseDoc": {
+ "opendota.RankTierRow": {
"properties": {
- "data": {
- "$ref": "#/definitions/ndtv.SearchResponse"
+ "cumulative_percent": {
+ "example": 46.9,
+ "type": "number"
+ },
+ "cumulative_players": {
+ "example": 4100000,
+ "type": "integer"
+ },
+ "medal": {
+ "example": "Legend",
+ "type": "string"
+ },
+ "players": {
+ "example": 512000,
+ "type": "integer"
+ },
+ "rank_tier": {
+ "example": 54,
+ "type": "integer"
+ },
+ "share_percent": {
+ "example": 5.85,
+ "type": "number"
+ },
+ "stars": {
+ "example": 4,
+ "type": "integer"
}
},
"type": "object"
},
- "publicnews.ndtvVideoCategoriesResponseDoc": {
+ "opendota.RecordRow": {
"properties": {
- "data": {
- "$ref": "#/definitions/ndtv.VideoCategoriesResponse"
+ "hero_id": {
+ "example": 42,
+ "type": "integer"
+ },
+ "hero_name": {
+ "example": "Wraith King",
+ "type": "string"
+ },
+ "match_id": {
+ "example": 9062756621,
+ "type": "integer"
+ },
+ "rank": {
+ "example": 1,
+ "type": "integer"
+ },
+ "score": {
+ "example": 114,
+ "type": "integer"
+ },
+ "start_time": {
+ "example": "2026-10-24T10:11:37Z",
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.ndtvVideoResponseDoc": {
+ "opendota.RecordsResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/ndtv.VideoResponse"
+ "count": {
+ "example": 100,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
+ "type": "string"
+ },
+ "field": {
+ "example": "kills",
+ "type": "string"
+ },
+ "rows": {
+ "items": {
+ "$ref": "#/definitions/opendota.RecordRow"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.ndtvVideosResponseDoc": {
+ "opendota.ScenarioRow": {
"properties": {
- "data": {
- "$ref": "#/definitions/ndtv.VideosResponse"
+ "games": {
+ "example": 1023,
+ "type": "integer"
+ },
+ "hero_id": {
+ "example": 1,
+ "type": "integer"
+ },
+ "hero_name": {
+ "example": "Anti-Mage",
+ "type": "string"
+ },
+ "is_radiant": {
+ "example": true,
+ "type": "boolean"
+ },
+ "item": {
+ "example": "bfury",
+ "type": "string"
+ },
+ "lane_role": {
+ "example": 2,
+ "type": "integer"
+ },
+ "region_id": {
+ "example": 3,
+ "type": "integer"
+ },
+ "scenario": {
+ "example": "courier_kill",
+ "type": "string"
+ },
+ "time_seconds": {
+ "example": 900,
+ "type": "integer"
+ },
+ "win_rate_percent": {
+ "example": 49.76,
+ "type": "number"
+ },
+ "wins": {
+ "example": 509,
+ "type": "integer"
}
},
"type": "object"
},
- "publicnews.news18AuthorResponseDoc": {
+ "opendota.ScenariosResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/news18.AuthorResponse"
+ "count": {
+ "example": 7,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
+ "type": "string"
+ },
+ "kind": {
+ "enum": [
+ "item-timings",
+ "lane-roles",
+ "misc"
+ ],
+ "example": "item-timings",
+ "type": "string"
+ },
+ "rows": {
+ "items": {
+ "$ref": "#/definitions/opendota.ScenarioRow"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "timings": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "total": {
+ "example": 1600,
+ "type": "integer"
}
},
"type": "object"
},
- "publicnews.newsResponseDoc": {
+ "opendota.Team": {
"properties": {
- "data": {
- "$ref": "#/definitions/newsplatform.NewsResponse"
+ "delta": {
+ "example": 4.2,
+ "type": "number"
+ },
+ "id": {
+ "example": 8255888,
+ "type": "integer"
+ },
+ "last_match_id": {
+ "example": 9063495955,
+ "type": "integer"
+ },
+ "last_match_time": {
+ "example": "2026-10-26T20:56:07Z",
+ "type": "string"
+ },
+ "logo_url": {
+ "example": "https://cdn.opendota.com/team-logo.png",
+ "type": "string"
+ },
+ "losses": {
+ "example": 559,
+ "type": "integer"
+ },
+ "name": {
+ "example": "BETBOOM TEAM",
+ "type": "string"
+ },
+ "rating": {
+ "example": 1271.94,
+ "type": "number"
+ },
+ "tag": {
+ "example": "BETBOOM",
+ "type": "string"
+ },
+ "wins": {
+ "example": 707,
+ "type": "integer"
}
},
"type": "object"
},
- "publicnews.newscomauAuthorResponseDoc": {
+ "opendota.TeamHeroesResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/newscomau.AuthorResponse"
+ "count": {
+ "example": 127,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
+ "type": "string"
+ },
+ "heroes": {
+ "items": {
+ "$ref": "#/definitions/opendota.HeroRecord"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "team_id": {
+ "example": 8255888,
+ "type": "integer"
}
},
"type": "object"
},
- "publicnews.newsmaxAuthorResponseDoc": {
+ "opendota.TeamMatch": {
"properties": {
- "data": {
- "$ref": "#/definitions/newsmax.AuthorResponse"
+ "dire_score": {
+ "example": 9,
+ "type": "integer"
+ },
+ "duration_seconds": {
+ "example": 2052,
+ "type": "integer"
+ },
+ "league_id": {
+ "example": 20395,
+ "type": "integer"
+ },
+ "league_name": {
+ "example": "PARI UNIVERSE by FISSURE",
+ "type": "string"
+ },
+ "match_id": {
+ "example": 9063495955,
+ "type": "integer"
+ },
+ "opposing_team_id": {
+ "example": 10291652,
+ "type": "integer"
+ },
+ "opposing_team_logo_url": {
+ "example": "https://cdn.opendota.com/team-logo.png",
+ "type": "string"
+ },
+ "opposing_team_name": {
+ "example": "LEGION",
+ "type": "string"
+ },
+ "radiant": {
+ "example": true,
+ "type": "boolean"
+ },
+ "radiant_score": {
+ "example": 32,
+ "type": "integer"
+ },
+ "radiant_win": {
+ "example": true,
+ "type": "boolean"
+ },
+ "start_time": {
+ "example": "2026-10-26T20:56:07Z",
+ "type": "string"
+ },
+ "team_win": {
+ "example": true,
+ "type": "boolean"
}
},
"type": "object"
},
- "publicnews.newsweekAuthorResponseDoc": {
+ "opendota.TeamMatchesResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/newsweek.AuthorResponse"
+ "count": {
+ "example": 1266,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
+ "type": "string"
+ },
+ "matches": {
+ "items": {
+ "$ref": "#/definitions/opendota.TeamMatch"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "team_id": {
+ "example": 8255888,
+ "type": "integer"
}
},
"type": "object"
},
- "publicnews.newyorkerArticleResponseDoc": {
+ "opendota.TeamPlayer": {
"properties": {
- "data": {
- "$ref": "#/definitions/newyorker.ArticleResponse"
+ "games_played": {
+ "example": 1014,
+ "type": "integer"
+ },
+ "is_current_team_member": {
+ "example": true,
+ "type": "boolean"
+ },
+ "name": {
+ "example": "Save-",
+ "type": "string"
+ },
+ "wins": {
+ "example": 590,
+ "type": "integer"
}
},
"type": "object"
},
- "publicnews.newyorkerAuthorResponseDoc": {
+ "opendota.TeamPlayersResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/newyorker.AuthorResponse"
+ "count": {
+ "example": 28,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
+ "type": "string"
+ },
+ "players": {
+ "items": {
+ "$ref": "#/definitions/opendota.TeamPlayer"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "team_id": {
+ "example": 8255888,
+ "type": "integer"
}
},
"type": "object"
},
- "publicnews.ninetofivegoogleAuthorResponseDoc": {
+ "opendota.TeamResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/ninetofivegoogle.AuthorResponse"
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "team": {
+ "$ref": "#/definitions/opendota.Team"
}
},
"type": "object"
},
- "publicnews.ninetofivemacAuthorResponseDoc": {
+ "opendota.TeamsResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/ninetofivemac.AuthorResponse"
+ "count": {
+ "example": 1000,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
+ "type": "string"
+ },
+ "next_page": {
+ "example": 1,
+ "type": "integer"
+ },
+ "page": {
+ "example": 0,
+ "type": "integer"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "teams": {
+ "items": {
+ "$ref": "#/definitions/opendota.Team"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "publicnews.nyDailyNewsAuthorResponseDoc": {
+ "openf1.CarData": {
"properties": {
- "data": {
- "$ref": "#/definitions/nydailynews.AuthorResponse"
+ "brake": {
+ "type": "integer"
+ },
+ "date": {
+ "type": "string"
+ },
+ "driver_number": {
+ "type": "integer"
+ },
+ "drs": {
+ "type": "integer"
+ },
+ "meeting_key": {
+ "type": "integer"
+ },
+ "n_gear": {
+ "type": "integer"
+ },
+ "rpm": {
+ "type": "integer"
+ },
+ "session_key": {
+ "type": "integer"
+ },
+ "speed": {
+ "type": "integer"
+ },
+ "throttle": {
+ "type": "integer"
}
},
"type": "object"
},
- "publicnews.nymagAuthorResponseDoc": {
+ "openf1.CarDataResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/nymag.AuthorResponse"
+ "car_data": {
+ "items": {
+ "$ref": "#/definitions/openf1.CarData"
+ },
+ "type": "array"
+ },
+ "count": {
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.nypostAuthorResponseDoc": {
+ "openf1.ChampionshipDriver": {
"properties": {
- "data": {
- "$ref": "#/definitions/nypost.AuthorResponse"
+ "driver_number": {
+ "type": "integer"
+ },
+ "meeting_key": {
+ "type": "integer"
+ },
+ "points_current": {
+ "type": "number"
+ },
+ "points_start": {
+ "type": "number"
+ },
+ "position_current": {
+ "type": "integer"
+ },
+ "position_start": {
+ "type": "integer"
+ },
+ "session_key": {
+ "type": "integer"
}
},
"type": "object"
},
- "publicnews.nzheraldAuthorResponseDoc": {
+ "openf1.ChampionshipDriversResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/nzherald.AuthorResponse"
+ "championship_drivers": {
+ "items": {
+ "$ref": "#/definitions/openf1.ChampionshipDriver"
+ },
+ "type": "array"
+ },
+ "count": {
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.pagesixAuthorResponseDoc": {
+ "openf1.ChampionshipTeam": {
"properties": {
- "data": {
- "$ref": "#/definitions/pagesix.AuthorResponse"
+ "meeting_key": {
+ "type": "integer"
+ },
+ "points_current": {
+ "type": "number"
+ },
+ "points_start": {
+ "type": "number"
+ },
+ "position_current": {
+ "type": "integer"
+ },
+ "position_start": {
+ "type": "integer"
+ },
+ "session_key": {
+ "type": "integer"
+ },
+ "team_name": {
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.pcgamerAuthorResponseDoc": {
+ "openf1.ChampionshipTeamsResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/pcgamer.AuthorResponse"
+ "championship_teams": {
+ "items": {
+ "$ref": "#/definitions/openf1.ChampionshipTeam"
+ },
+ "type": "array"
+ },
+ "count": {
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.pcmagAuthorResponseDoc": {
+ "openf1.Driver": {
"properties": {
- "data": {
- "$ref": "#/definitions/pcmag.AuthorResponse"
+ "broadcast_name": {
+ "type": "string"
+ },
+ "country_code": {
+ "description": "CountryCode is deprecated upstream and will be removed at the end of the\n2026 season; it is still mirrored while the source sends it.",
+ "type": "string"
+ },
+ "driver_number": {
+ "type": "integer"
+ },
+ "first_name": {
+ "type": "string"
+ },
+ "full_name": {
+ "type": "string"
+ },
+ "headshot_url": {
+ "type": "string"
+ },
+ "last_name": {
+ "type": "string"
+ },
+ "meeting_key": {
+ "type": "integer"
+ },
+ "name_acronym": {
+ "type": "string"
+ },
+ "session_key": {
+ "type": "integer"
+ },
+ "team_colour": {
+ "type": "string"
+ },
+ "team_name": {
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.peopleAuthorResponseDoc": {
+ "openf1.DriversResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/people.AuthorResponse"
+ "count": {
+ "type": "integer"
+ },
+ "drivers": {
+ "items": {
+ "$ref": "#/definitions/openf1.Driver"
+ },
+ "type": "array"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.phillyinquirerAuthorResponseDoc": {
+ "openf1.Interval": {
"properties": {
- "data": {
- "$ref": "#/definitions/phillyinquirer.AuthorResponse"
+ "date": {
+ "type": "string"
+ },
+ "driver_number": {
+ "type": "integer"
+ },
+ "gap_to_leader": {},
+ "interval": {},
+ "meeting_key": {
+ "type": "integer"
+ },
+ "session_key": {
+ "type": "integer"
}
},
"type": "object"
},
- "publicnews.philstarAuthorResponseDoc": {
+ "openf1.IntervalsResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/philstar.AuthorResponse"
+ "count": {
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "intervals": {
+ "items": {
+ "$ref": "#/definitions/openf1.Interval"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.phonearenaAuthorResponseDoc": {
+ "openf1.Lap": {
"properties": {
- "data": {
- "$ref": "#/definitions/phonearena.AuthorResponse"
+ "date_start": {
+ "type": "string"
+ },
+ "driver_number": {
+ "type": "integer"
+ },
+ "duration_sector_1": {
+ "type": "number"
+ },
+ "duration_sector_2": {
+ "type": "number"
+ },
+ "duration_sector_3": {
+ "type": "number"
+ },
+ "i1_speed": {
+ "type": "integer"
+ },
+ "i2_speed": {
+ "type": "integer"
+ },
+ "is_pit_out_lap": {
+ "type": "boolean"
+ },
+ "lap_duration": {
+ "type": "number"
+ },
+ "lap_number": {
+ "type": "integer"
+ },
+ "meeting_key": {
+ "type": "integer"
+ },
+ "segments_sector_1": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "segments_sector_2": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "segments_sector_3": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "session_key": {
+ "type": "integer"
+ },
+ "st_speed": {
+ "type": "integer"
}
},
"type": "object"
},
- "publicnews.polygonAuthorResponseDoc": {
+ "openf1.LapsResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/polygon.AuthorResponse"
+ "count": {
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "laps": {
+ "items": {
+ "$ref": "#/definitions/openf1.Lap"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.propublicaAuthorResponseDoc": {
+ "openf1.Location": {
"properties": {
- "data": {
- "$ref": "#/definitions/propublica.AuthorResponse"
+ "date": {
+ "type": "string"
+ },
+ "driver_number": {
+ "type": "integer"
+ },
+ "meeting_key": {
+ "type": "integer"
+ },
+ "session_key": {
+ "type": "integer"
+ },
+ "x": {
+ "type": "integer"
+ },
+ "y": {
+ "type": "integer"
+ },
+ "z": {
+ "type": "integer"
}
},
"type": "object"
},
- "publicnews.punchAuthorResponseDoc": {
+ "openf1.LocationResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/punch.AuthorResponse"
+ "count": {
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "location": {
+ "items": {
+ "$ref": "#/definitions/openf1.Location"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.rapplerAuthorResponseDoc": {
+ "openf1.Meeting": {
"properties": {
- "data": {
- "$ref": "#/definitions/rappler.AuthorResponse"
+ "circuit_image": {
+ "type": "string"
+ },
+ "circuit_info_url": {
+ "type": "string"
+ },
+ "circuit_key": {
+ "type": "integer"
+ },
+ "circuit_short_name": {
+ "type": "string"
+ },
+ "circuit_type": {
+ "type": "string"
+ },
+ "country_code": {
+ "type": "string"
+ },
+ "country_flag": {
+ "type": "string"
+ },
+ "country_key": {
+ "type": "integer"
+ },
+ "country_name": {
+ "type": "string"
+ },
+ "date_end": {
+ "type": "string"
+ },
+ "date_start": {
+ "type": "string"
+ },
+ "gmt_offset": {
+ "type": "string"
+ },
+ "is_cancelled": {
+ "type": "boolean"
+ },
+ "location": {
+ "type": "string"
+ },
+ "meeting_key": {
+ "type": "integer"
+ },
+ "meeting_name": {
+ "type": "string"
+ },
+ "meeting_official_name": {
+ "type": "string"
+ },
+ "year": {
+ "type": "integer"
}
},
"type": "object"
},
- "publicnews.rawstoryAuthorResponseDoc": {
+ "openf1.MeetingsResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/rawstory.AuthorResponse"
+ "count": {
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "meetings": {
+ "items": {
+ "$ref": "#/definitions/openf1.Meeting"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.reachAuthorResponseDoc": {
+ "openf1.Overtake": {
"properties": {
- "data": {
- "$ref": "#/definitions/reachplc.AuthorResponse"
+ "date": {
+ "type": "string"
+ },
+ "meeting_key": {
+ "type": "integer"
+ },
+ "overtaken_driver_number": {
+ "type": "integer"
+ },
+ "overtaking_driver_number": {
+ "type": "integer"
+ },
+ "position": {
+ "type": "integer"
+ },
+ "session_key": {
+ "type": "integer"
}
},
"type": "object"
},
- "publicnews.rnzAuthorResponseDoc": {
+ "openf1.OvertakesResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/rnz.AuthorResponse"
+ "count": {
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "overtakes": {
+ "items": {
+ "$ref": "#/definitions/openf1.Overtake"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.rollingStoneAuthorResponseDoc": {
+ "openf1.Pit": {
"properties": {
- "data": {
- "$ref": "#/definitions/rollingstone.AuthorResponse"
+ "date": {
+ "type": "string"
+ },
+ "driver_number": {
+ "type": "integer"
+ },
+ "lane_duration": {
+ "type": "number"
+ },
+ "lap_number": {
+ "type": "integer"
+ },
+ "meeting_key": {
+ "type": "integer"
+ },
+ "pit_duration": {
+ "type": "number"
+ },
+ "session_key": {
+ "type": "integer"
+ },
+ "stop_duration": {
+ "type": "number"
}
},
"type": "object"
},
- "publicnews.rteAuthorResponseDoc": {
+ "openf1.PitResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/rte.AuthorResponse"
+ "count": {
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "pit": {
+ "items": {
+ "$ref": "#/definitions/openf1.Pit"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.salonAuthorResponseDoc": {
+ "openf1.Position": {
"properties": {
- "data": {
- "$ref": "#/definitions/salon.AuthorResponse"
+ "date": {
+ "type": "string"
+ },
+ "driver_number": {
+ "type": "integer"
+ },
+ "meeting_key": {
+ "type": "integer"
+ },
+ "position": {
+ "type": "integer"
+ },
+ "session_key": {
+ "type": "integer"
}
},
"type": "object"
},
- "publicnews.sbsnewsAuthorResponseDoc": {
+ "openf1.PositionResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/sbsnews.AuthorResponse"
+ "count": {
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "position": {
+ "items": {
+ "$ref": "#/definitions/openf1.Position"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.scienceAlertAuthorResponseDoc": {
+ "openf1.RaceControl": {
"properties": {
- "data": {
- "$ref": "#/definitions/sciencealert.AuthorResponse"
+ "category": {
+ "type": "string"
+ },
+ "date": {
+ "type": "string"
+ },
+ "driver_number": {
+ "type": "integer"
+ },
+ "flag": {
+ "type": "string"
+ },
+ "lap_number": {
+ "type": "integer"
+ },
+ "meeting_key": {
+ "type": "integer"
+ },
+ "message": {
+ "type": "string"
+ },
+ "qualifying_phase": {
+ "type": "integer"
+ },
+ "scope": {
+ "type": "string"
+ },
+ "sector": {
+ "type": "integer"
+ },
+ "session_key": {
+ "type": "integer"
}
},
"type": "object"
},
- "publicnews.screenrantAuthorResponseDoc": {
+ "openf1.RaceControlResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/screenrant.AuthorResponse"
+ "count": {
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "race_control": {
+ "items": {
+ "$ref": "#/definitions/openf1.RaceControl"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.seattleTimesAuthorResponseDoc": {
+ "openf1.Session": {
"properties": {
- "data": {
- "$ref": "#/definitions/seattletimes.AuthorResponse"
+ "circuit_key": {
+ "type": "integer"
+ },
+ "circuit_short_name": {
+ "type": "string"
+ },
+ "country_code": {
+ "type": "string"
+ },
+ "country_key": {
+ "type": "integer"
+ },
+ "country_name": {
+ "type": "string"
+ },
+ "date_end": {
+ "type": "string"
+ },
+ "date_start": {
+ "type": "string"
+ },
+ "gmt_offset": {
+ "type": "string"
+ },
+ "is_cancelled": {
+ "type": "boolean"
+ },
+ "location": {
+ "type": "string"
+ },
+ "meeting_key": {
+ "type": "integer"
+ },
+ "session_key": {
+ "type": "integer"
+ },
+ "session_name": {
+ "type": "string"
+ },
+ "session_type": {
+ "type": "string"
+ },
+ "year": {
+ "type": "integer"
}
},
"type": "object"
},
- "publicnews.sectionsResponseDoc": {
+ "openf1.SessionResult": {
"properties": {
- "data": {
- "$ref": "#/definitions/newsplatform.SectionsResponse"
+ "dnf": {
+ "type": "boolean"
+ },
+ "dns": {
+ "type": "boolean"
+ },
+ "driver_number": {
+ "type": "integer"
+ },
+ "dsq": {
+ "type": "boolean"
+ },
+ "duration": {},
+ "gap_to_leader": {},
+ "meeting_key": {
+ "type": "integer"
+ },
+ "number_of_laps": {
+ "type": "integer"
+ },
+ "points": {
+ "type": "number"
+ },
+ "position": {
+ "type": "integer"
+ },
+ "session_key": {
+ "type": "integer"
}
},
"type": "object"
},
- "publicnews.sevennewsauAuthorResponseDoc": {
+ "openf1.SessionResultResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/sevennewsau.AuthorResponse"
+ "count": {
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "session_result": {
+ "items": {
+ "$ref": "#/definitions/openf1.SessionResult"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.sfgateAuthorResponseDoc": {
+ "openf1.SessionsResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/sfgate.AuthorResponse"
+ "count": {
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "sessions": {
+ "items": {
+ "$ref": "#/definitions/openf1.Session"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.skyNewsAuthorResponseDoc": {
+ "openf1.StartingGrid": {
"properties": {
- "data": {
- "$ref": "#/definitions/skynews.AuthorResponse"
+ "driver_number": {
+ "type": "integer"
+ },
+ "lap_duration": {
+ "type": "number"
+ },
+ "meeting_key": {
+ "type": "integer"
+ },
+ "position": {
+ "type": "integer"
+ },
+ "session_key": {
+ "type": "integer"
}
},
"type": "object"
},
- "publicnews.skyNewsVideoResponseDoc": {
+ "openf1.StartingGridResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/skynews.VideoResponse"
+ "count": {
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "starting_grid": {
+ "items": {
+ "$ref": "#/definitions/openf1.StartingGrid"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "publicnews.skyNewsVideosResponseDoc": {
+ "openf1.Stint": {
"properties": {
- "data": {
- "$ref": "#/definitions/skynews.VideosResponse"
+ "compound": {
+ "type": "string"
+ },
+ "driver_number": {
+ "type": "integer"
+ },
+ "lap_end": {
+ "type": "integer"
+ },
+ "lap_start": {
+ "type": "integer"
+ },
+ "meeting_key": {
+ "type": "integer"
+ },
+ "session_key": {
+ "type": "integer"
+ },
+ "stint_number": {
+ "type": "integer"
+ },
+ "tyre_age_at_start": {
+ "type": "integer"
}
},
"type": "object"
},
- "publicnews.skySportsAuthorResponseDoc": {
+ "openf1.StintsResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/skysports.AuthorResponse"
+ "count": {
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "stints": {
+ "items": {
+ "$ref": "#/definitions/openf1.Stint"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "publicnews.smhArticleResponseDoc": {
+ "openf1.TeamRadio": {
"properties": {
- "data": {
- "$ref": "#/definitions/smh.ArticleResponse"
+ "date": {
+ "type": "string"
+ },
+ "driver_number": {
+ "type": "integer"
+ },
+ "meeting_key": {
+ "type": "integer"
+ },
+ "recording_url": {
+ "type": "string"
+ },
+ "session_key": {
+ "type": "integer"
}
},
"type": "object"
},
- "publicnews.smhAuthorResponseDoc": {
+ "openf1.TeamRadioResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/smh.AuthorResponse"
+ "count": {
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "team_radio": {
+ "items": {
+ "$ref": "#/definitions/openf1.TeamRadio"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "publicnews.spaceAuthorResponseDoc": {
+ "openf1.Weather": {
"properties": {
- "data": {
- "$ref": "#/definitions/space.AuthorResponse"
- }
- },
- "type": "object"
- },
- "publicnews.sportingNewsAuthorResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/sportingnews.AuthorResponse"
- }
- },
- "type": "object"
- },
- "publicnews.sportskeedaAuthorResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/sportskeeda.AuthorResponse"
- }
- },
- "type": "object"
- },
- "publicnews.sportskeedaCollegeBasketballScheduleOptionsResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/sportskeeda.CollegeBasketballScheduleOptionsResponse"
- }
- },
- "type": "object"
- },
- "publicnews.sportskeedaCollegeBasketballScheduleResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/sportskeeda.CollegeBasketballScheduleResponse"
- }
- },
- "type": "object"
- },
- "publicnews.sportskeedaCricketCommentaryResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/sportskeeda.CricketCommentaryResponse"
- }
- },
- "type": "object"
- },
- "publicnews.sportskeedaCricketMatchResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/sportskeeda.CricketMatchResponse"
- }
- },
- "type": "object"
- },
- "publicnews.sportskeedaDepthChartResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/sportskeeda.DepthChartResponse"
- }
- },
- "type": "object"
- },
- "publicnews.sportskeedaDraftPicksOptionsResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/sportskeeda.DraftPicksOptionsResponse"
- }
- },
- "type": "object"
- },
- "publicnews.sportskeedaDraftPicksResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/sportskeeda.DraftPicksResponse"
- }
- },
- "type": "object"
- },
- "publicnews.sportskeedaEventCalendarOptionsResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/sportskeeda.EventCalendarOptionsResponse"
- }
- },
- "type": "object"
- },
- "publicnews.sportskeedaEventCalendarResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/sportskeeda.EventCalendarResponse"
- }
- },
- "type": "object"
- },
- "publicnews.sportskeedaFeedResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/sportskeeda.FeedResponse"
- }
- },
- "type": "object"
- },
- "publicnews.sportskeedaFootballDataResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/sportskeeda.FootballDataResponse"
- }
- },
- "type": "object"
- },
- "publicnews.sportskeedaFootballOptionsResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/sportskeeda.FootballOptionsResponse"
- }
- },
- "type": "object"
- },
- "publicnews.sportskeedaGuessingGameEntitiesResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/sportskeeda.GuessingGameEntitiesResponse"
- }
- },
- "type": "object"
- },
- "publicnews.sportskeedaGuessingGameResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/sportskeeda.GuessingGameDataResponse"
- }
- },
- "type": "object"
- },
- "publicnews.sportskeedaGuessingGamesResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/sportskeeda.GuessingGamesResponse"
- }
- },
- "type": "object"
- },
- "publicnews.sportskeedaNBAQueriesResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/sportskeeda.NBAQueriesResponse"
- }
- },
- "type": "object"
- },
- "publicnews.sportskeedaPageOptionsResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/sportskeeda.PageOptionsResponse"
- }
- },
- "type": "object"
- },
- "publicnews.sportskeedaPlayerStatsResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/sportskeeda.PlayerStatsResponse"
- }
- },
- "type": "object"
- },
- "publicnews.sportskeedaProfileResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/sportskeeda.ProfileResponse"
- }
- },
- "type": "object"
- },
- "publicnews.sportskeedaQuizCategoriesResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/sportskeeda.QuizCategoriesResponse"
- }
- },
- "type": "object"
- },
- "publicnews.sportskeedaQuizResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/sportskeeda.QuizResponse"
- }
- },
- "type": "object"
- },
- "publicnews.sportskeedaQuizzesResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/sportskeeda.QuizzesResponse"
- }
- },
- "type": "object"
- },
- "publicnews.sportskeedaSalaryCapResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/sportskeeda.SalaryCapResponse"
- }
- },
- "type": "object"
- },
- "publicnews.sportskeedaSectionsResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/sportskeeda.SectionsResponse"
- }
- },
- "type": "object"
- },
- "publicnews.sportskeedaSitemapItemsResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/sportskeeda.SitemapItemsResponse"
- }
- },
- "type": "object"
- },
- "publicnews.sportskeedaSitemapsResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/sportskeeda.SitemapsResponse"
- }
- },
- "type": "object"
- },
- "publicnews.sportskeedaStandingsOptionsResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/sportskeeda.StandingsOptionsResponse"
- }
- },
- "type": "object"
- },
- "publicnews.sportskeedaTablesResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/sportskeeda.TablesResponse"
- }
- },
- "type": "object"
- },
- "publicnews.sportskeedaTaxonomySearchResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/sportskeeda.TaxonomySearchResponse"
- }
- },
- "type": "object"
- },
- "publicnews.sportskeedaTopicResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/sportskeeda.TopicResponse"
- }
- },
- "type": "object"
- },
- "publicnews.sportskeedaTradeValuesResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/sportskeeda.TradeValuesResponse"
- }
- },
- "type": "object"
- },
- "publicnews.sportskeedaTransactionsOptionsResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/sportskeeda.TransactionsOptionsResponse"
- }
- },
- "type": "object"
- },
- "publicnews.sportskeedaTransactionsResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/sportskeeda.TransactionsResponse"
- }
- },
- "type": "object"
- },
- "publicnews.sportskeedaVideoResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/sportskeeda.VideoResponse"
- }
- },
- "type": "object"
- },
- "publicnews.sportskeedaVideosResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/sportskeeda.VideosResponse"
- }
- },
- "type": "object"
- },
- "publicnews.sportskeedaWikiActivityResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/sportskeeda.WikiActivityResponse"
- }
- },
- "type": "object"
- },
- "publicnews.sportskeedaWikiArticleResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/sportskeeda.WikiArticleResponse"
- }
- },
- "type": "object"
- },
- "publicnews.sportskeedaWikiCategoriesResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/sportskeeda.WikiCategoriesResponse"
- }
- },
- "type": "object"
- },
- "publicnews.sportskeedaWikiContributorsResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/sportskeeda.WikiContributorsResponse"
- }
- },
- "type": "object"
- },
- "publicnews.sportskeedaWikiIssuesResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/sportskeeda.WikiIssuesResponse"
- }
- },
- "type": "object"
- },
- "publicnews.sportskeedaWikiOptionsResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/sportskeeda.WikiOptionsResponse"
- }
- },
- "type": "object"
- },
- "publicnews.sportskeedaWikiPagesResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/sportskeeda.WikiPagesResponse"
- }
- },
- "type": "object"
- },
- "publicnews.sportskeedaWikiSummaryResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/sportskeeda.WikiSummaryResponse"
- }
- },
- "type": "object"
- },
- "publicnews.standardAuthorResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/standard.AuthorResponse"
- }
- },
- "type": "object"
- },
- "publicnews.straitstimesAuthorResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/straitstimes.AuthorResponse"
- }
- },
- "type": "object"
- },
- "publicnews.stuffAuthorResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/stuff.AuthorResponse"
- }
- },
- "type": "object"
- },
- "publicnews.sunAuthorResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/sun.AuthorResponse"
- }
- },
- "type": "object"
- },
- "publicnews.techCrunchAuthorResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/techcrunch.AuthorResponse"
- }
- },
- "type": "object"
- },
- "publicnews.techradarAuthorResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/techradar.AuthorResponse"
- }
- },
- "type": "object"
- },
- "publicnews.telegraphAuthorResponseDoc": {
- "properties": {
- "data": {
- "$ref": "#/definitions/telegraph.AuthorResponse"
+ "air_temperature": {
+ "type": "number"
+ },
+ "date": {
+ "type": "string"
+ },
+ "humidity": {
+ "type": "number"
+ },
+ "meeting_key": {
+ "type": "integer"
+ },
+ "pressure": {
+ "type": "number"
+ },
+ "rainfall": {
+ "type": "integer"
+ },
+ "session_key": {
+ "type": "integer"
+ },
+ "track_temperature": {
+ "type": "number"
+ },
+ "wind_direction": {
+ "type": "integer"
+ },
+ "wind_speed": {
+ "type": "number"
}
},
"type": "object"
},
- "publicnews.theBlazeAuthorResponseDoc": {
+ "openf1.WeatherResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/theblaze.AuthorResponse"
+ "count": {
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "weather": {
+ "items": {
+ "$ref": "#/definitions/openf1.Weather"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "publicnews.theHillAuthorResponseDoc": {
+ "openligadb.listResponseDoc": {
"properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
"data": {
- "$ref": "#/definitions/thehill.AuthorResponse"
+ "$ref": "#/definitions/openligadb.listSourceDataDoc"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.theHinduAuthorResponseDoc": {
+ "openligadb.listSourceDataDoc": {
"properties": {
+ "attribution": {
+ "example": "Contains information from OpenLigaDB (https://openligadb.de/), licensed under the Open Database License (ODbL) (https://opendatacommons.org/licenses/odbl/1-0/).",
+ "type": "string"
+ },
"data": {
- "$ref": "#/definitions/thehindu.AuthorResponse"
+ "items": {
+ "additionalProperties": true,
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "fetched_at": {
+ "example": "2026-10-31T12:00:00Z",
+ "type": "string"
+ },
+ "source_license": {
+ "example": "Open Data Commons Open Database License (ODbL) v1.0",
+ "type": "string"
+ },
+ "source_license_url": {
+ "example": "https://opendatacommons.org/licenses/odbl/1-0/",
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.theJournalAuthorResponseDoc": {
+ "openligadb.objectResponseDoc": {
"properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
"data": {
- "$ref": "#/definitions/thejournal.AuthorResponse"
+ "$ref": "#/definitions/openligadb.objectSourceDataDoc"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.theageArticleResponseDoc": {
+ "openligadb.objectSourceDataDoc": {
"properties": {
+ "attribution": {
+ "example": "Contains information from OpenLigaDB (https://openligadb.de/), licensed under the Open Database License (ODbL) (https://opendatacommons.org/licenses/odbl/1-0/).",
+ "type": "string"
+ },
"data": {
- "$ref": "#/definitions/theage.ArticleResponse"
+ "additionalProperties": true,
+ "type": "object"
+ },
+ "fetched_at": {
+ "example": "2026-10-31T12:00:00Z",
+ "type": "string"
+ },
+ "source_license": {
+ "example": "Open Data Commons Open Database License (ODbL) v1.0",
+ "type": "string"
+ },
+ "source_license_url": {
+ "example": "https://opendatacommons.org/licenses/odbl/1-0/",
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.theageAuthorResponseDoc": {
+ "openligadb.stringResponseDoc": {
"properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
"data": {
- "$ref": "#/definitions/theage.AuthorResponse"
+ "$ref": "#/definitions/openligadb.stringSourceDataDoc"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.thenextwebAuthorResponseDoc": {
+ "openligadb.stringSourceDataDoc": {
"properties": {
+ "attribution": {
+ "example": "Contains information from OpenLigaDB (https://openligadb.de/), licensed under the Open Database License (ODbL) (https://opendatacommons.org/licenses/odbl/1-0/).",
+ "type": "string"
+ },
"data": {
- "$ref": "#/definitions/thenextweb.AuthorResponse"
+ "example": "2026-10-31T14:20:10.123",
+ "type": "string"
+ },
+ "fetched_at": {
+ "example": "2026-10-31T12:00:00Z",
+ "type": "string"
+ },
+ "source_license": {
+ "example": "Open Data Commons Open Database License (ODbL) v1.0",
+ "type": "string"
+ },
+ "source_license_url": {
+ "example": "https://opendatacommons.org/licenses/odbl/1-0/",
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.thestarmyAuthorResponseDoc": {
+ "opensea.Account": {
"properties": {
- "data": {
- "$ref": "#/definitions/thestarmy.AuthorResponse"
+ "address": {
+ "example": "0x46efbaedc92067e6d60e84ed6395099723252496",
+ "type": "string"
+ },
+ "display_name": {
+ "example": "gordongoner",
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.thevergeAuthorResponseDoc": {
+ "opensea.ActivityEvent": {
"properties": {
- "data": {
- "$ref": "#/definitions/theverge.AuthorResponse"
+ "chain": {
+ "type": "string"
+ },
+ "collection_name": {
+ "type": "string"
+ },
+ "collection_slug": {
+ "example": "boredapeyachtclub",
+ "type": "string"
+ },
+ "contract_address": {
+ "type": "string"
+ },
+ "event_time": {
+ "example": "2026-08-30T08:38:47.235Z",
+ "type": "string"
+ },
+ "from": {
+ "$ref": "#/definitions/opensea.Account"
+ },
+ "id": {
+ "type": "string"
+ },
+ "item_image_url": {
+ "type": "string"
+ },
+ "item_name": {
+ "type": "string"
+ },
+ "marketplace": {
+ "example": "opensea",
+ "type": "string"
+ },
+ "price": {
+ "$ref": "#/definitions/opensea.Price"
+ },
+ "quantity": {
+ "example": "1",
+ "type": "string"
+ },
+ "sale_type": {
+ "type": "string"
+ },
+ "to": {
+ "$ref": "#/definitions/opensea.Account"
+ },
+ "token_id": {
+ "example": "3766",
+ "type": "string"
+ },
+ "transaction_hash": {
+ "type": "string"
+ },
+ "type": {
+ "example": "Sale",
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.thisIsMoneyAuthorResponseDoc": {
+ "opensea.ActivityResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/thisismoney.AuthorResponse"
+ "events": {
+ "items": {
+ "$ref": "#/definitions/opensea.ActivityEvent"
+ },
+ "type": "array"
+ },
+ "next_page_cursor": {
+ "type": "string"
+ },
+ "slug": {
+ "example": "boredapeyachtclub",
+ "type": "string"
+ },
+ "token_id": {
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.timeAuthorResponseDoc": {
+ "opensea.CategoriesResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/time.AuthorResponse"
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/opensea.Category"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "publicnews.timesOfIndiaAuthorResponseDoc": {
+ "opensea.Category": {
"properties": {
- "data": {
- "$ref": "#/definitions/timesofindia.AuthorResponse"
+ "children": {
+ "items": {
+ "$ref": "#/definitions/opensea.CategoryChild"
+ },
+ "type": "array"
+ },
+ "slug": {
+ "example": "collections",
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.timesOfIsraelAuthorResponseDoc": {
+ "opensea.CategoryChild": {
"properties": {
- "data": {
- "$ref": "#/definitions/timesofisrael.AuthorResponse"
+ "display_name": {
+ "example": "PFPs",
+ "type": "string"
+ },
+ "slug": {
+ "example": "pfps",
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.tmzAuthorResponseDoc": {
+ "opensea.Chain": {
"properties": {
- "data": {
- "$ref": "#/definitions/tmz.AuthorResponse"
+ "arch": {
+ "example": "EVM",
+ "type": "string"
+ },
+ "identifier": {
+ "example": "ethereum",
+ "type": "string"
+ },
+ "name": {
+ "example": "Ethereum",
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.tomsguideAuthorResponseDoc": {
+ "opensea.ChainsResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/tomsguide.AuthorResponse"
+ "chains": {
+ "items": {
+ "$ref": "#/definitions/opensea.Chain"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "publicnews.tomshardwareAuthorResponseDoc": {
+ "opensea.ChartPoint": {
"properties": {
- "data": {
- "$ref": "#/definitions/tomshardware.AuthorResponse"
+ "currency": {
+ "example": "ETH",
+ "type": "string"
+ },
+ "time": {
+ "example": "2026-08-23T13:11:15.715Z",
+ "type": "string"
+ },
+ "usd": {
+ "example": 19182.64,
+ "type": "number"
+ },
+ "value": {
+ "example": 7.899,
+ "type": "number"
}
},
"type": "object"
},
- "publicnews.torontoStarAuthorResponseDoc": {
+ "opensea.ChartResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/torontostar.AuthorResponse"
+ "metric": {
+ "example": "floor_price",
+ "type": "string"
+ },
+ "points": {
+ "items": {
+ "$ref": "#/definitions/opensea.ChartPoint"
+ },
+ "type": "array"
+ },
+ "slug": {
+ "example": "boredapeyachtclub",
+ "type": "string"
+ },
+ "timeframe": {
+ "example": "SEVEN_DAYS",
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.townhallAuthorResponseDoc": {
+ "opensea.Collection": {
"properties": {
- "data": {
- "$ref": "#/definitions/townhall.AuthorResponse"
+ "banner_image_url": {
+ "type": "string"
+ },
+ "category": {
+ "example": "PFPS",
+ "type": "string"
+ },
+ "chain": {
+ "example": "ethereum",
+ "type": "string"
+ },
+ "contract_address": {
+ "example": "0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d",
+ "type": "string"
+ },
+ "created_at": {
+ "example": "2021-04-22T23:14:24.000Z",
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "discord_url": {
+ "type": "string"
+ },
+ "external_url": {
+ "type": "string"
+ },
+ "floor_price": {
+ "$ref": "#/definitions/opensea.Price"
+ },
+ "id": {
+ "example": "46188685bcac4206ace63c9d017abbb7",
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "instagram_username": {
+ "type": "string"
+ },
+ "is_verified": {
+ "example": true,
+ "type": "boolean"
+ },
+ "name": {
+ "example": "Bored Ape Yacht Club",
+ "type": "string"
+ },
+ "slug": {
+ "example": "boredapeyachtclub",
+ "type": "string"
+ },
+ "stats": {
+ "$ref": "#/definitions/opensea.CollectionStats"
+ },
+ "top_offer": {
+ "$ref": "#/definitions/opensea.Price"
+ },
+ "twitter_username": {
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.usmagazineAuthorResponseDoc": {
+ "opensea.CollectionHoldersResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/usmagazine.AuthorResponse"
+ "holders": {
+ "items": {
+ "$ref": "#/definitions/opensea.Holder"
+ },
+ "type": "array"
+ },
+ "next_page_cursor": {
+ "type": "string"
+ },
+ "slug": {
+ "example": "boredapeyachtclub",
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.vanguardngAuthorResponseDoc": {
+ "opensea.CollectionItemsResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/vanguardng.AuthorResponse"
+ "items": {
+ "items": {
+ "$ref": "#/definitions/opensea.Item"
+ },
+ "type": "array"
+ },
+ "next_page_cursor": {
+ "type": "string"
+ },
+ "slug": {
+ "example": "boredapeyachtclub",
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.vanityFairAuthorResponseDoc": {
+ "opensea.CollectionItemsShelfResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/vanityfair.AuthorResponse"
+ "items": {
+ "items": {
+ "$ref": "#/definitions/opensea.Item"
+ },
+ "type": "array"
+ },
+ "shelf": {
+ "example": "best_deals",
+ "type": "string"
+ },
+ "slug": {
+ "example": "boredapeyachtclub",
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.varietyAuthorResponseDoc": {
+ "opensea.CollectionOffersResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/variety.AuthorResponse"
+ "next_page_cursor": {
+ "type": "string"
+ },
+ "offers": {
+ "items": {
+ "$ref": "#/definitions/opensea.OfferAggregate"
+ },
+ "type": "array"
+ },
+ "slug": {
+ "example": "boredapeyachtclub",
+ "type": "string"
+ },
+ "total_currency": {
+ "example": "WETH",
+ "type": "string"
+ },
+ "total_offers": {
+ "example": 314,
+ "type": "integer"
+ },
+ "total_value_token": {
+ "example": 55.0032,
+ "type": "number"
+ },
+ "total_value_usd": {
+ "example": 135216.02,
+ "type": "number"
}
},
"type": "object"
},
- "publicnews.viceAuthorResponseDoc": {
+ "opensea.CollectionSearchResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/vice.AuthorResponse"
+ "collections": {
+ "items": {
+ "$ref": "#/definitions/opensea.CollectionSummary"
+ },
+ "type": "array"
+ },
+ "query": {
+ "example": "ape",
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.voxAuthorResponseDoc": {
+ "opensea.CollectionShelfResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/vox.AuthorResponse"
+ "collections": {
+ "items": {
+ "$ref": "#/definitions/opensea.CollectionSummary"
+ },
+ "type": "array"
+ },
+ "next_page_cursor": {
+ "type": "string"
+ },
+ "shelf": {
+ "example": "top_movers",
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.wccftechAuthorResponseDoc": {
+ "opensea.CollectionStats": {
"properties": {
- "data": {
- "$ref": "#/definitions/wccftech.AuthorResponse"
+ "listed_item_count": {
+ "example": 298,
+ "type": "integer"
+ },
+ "one_day": {
+ "$ref": "#/definitions/opensea.WindowStats"
+ },
+ "one_hour": {
+ "$ref": "#/definitions/opensea.WindowStats"
+ },
+ "sales": {
+ "example": 57369,
+ "type": "integer"
+ },
+ "seven_days": {
+ "$ref": "#/definitions/opensea.WindowStats"
+ },
+ "thirty_days": {
+ "$ref": "#/definitions/opensea.WindowStats"
+ },
+ "total_supply": {
+ "example": 9998,
+ "type": "integer"
+ },
+ "unique_item_count": {
+ "example": 9998,
+ "type": "integer"
+ },
+ "volume_currency": {
+ "example": "ETH",
+ "type": "string"
+ },
+ "volume_native": {
+ "example": 1580610.96,
+ "type": "number"
+ },
+ "volume_usd": {
+ "example": 3756342321.66,
+ "type": "number"
}
},
"type": "object"
},
- "publicnews.xdaAuthorResponseDoc": {
+ "opensea.CollectionSummary": {
"properties": {
- "data": {
- "$ref": "#/definitions/xda.AuthorResponse"
+ "category": {
+ "example": "PFPS",
+ "type": "string"
+ },
+ "chain": {
+ "example": "ethereum",
+ "type": "string"
+ },
+ "contract_address": {
+ "type": "string"
+ },
+ "floor_price": {
+ "$ref": "#/definitions/opensea.Price"
+ },
+ "id": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "is_verified": {
+ "type": "boolean"
+ },
+ "markets": {
+ "items": {
+ "$ref": "#/definitions/opensea.MarketListing"
+ },
+ "type": "array"
+ },
+ "name": {
+ "example": "Bored Ape Yacht Club",
+ "type": "string"
+ },
+ "slug": {
+ "example": "boredapeyachtclub",
+ "type": "string"
+ },
+ "stats": {
+ "$ref": "#/definitions/opensea.CollectionStats"
}
},
"type": "object"
},
- "publicnews.yardbarkerAuthorResponseDoc": {
+ "opensea.CollectionTopSalesResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/yardbarker.AuthorResponse"
+ "sales": {
+ "items": {
+ "$ref": "#/definitions/opensea.ActivityEvent"
+ },
+ "type": "array"
+ },
+ "slug": {
+ "example": "boredapeyachtclub",
+ "type": "string"
}
},
"type": "object"
},
- "publicnews.zdnetAuthorResponseDoc": {
+ "opensea.CollectionTrait": {
"properties": {
- "data": {
- "$ref": "#/definitions/zdnet.AuthorResponse"
+ "comparison_operator": {
+ "type": "string"
+ },
+ "trait_type": {
+ "example": "Background",
+ "type": "string"
+ },
+ "values": {
+ "items": {
+ "$ref": "#/definitions/opensea.TraitValue"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "punch.AuthorResponse": {
+ "opensea.CollectionTraitOffersResponse": {
"properties": {
- "articles": {
+ "next_page_cursor": {
+ "type": "string"
+ },
+ "offers": {
"items": {
- "$ref": "#/definitions/newsplatform.HeadlineItem"
+ "$ref": "#/definitions/opensea.TraitOfferAggregate"
},
"type": "array"
},
- "name": {
+ "slug": {
+ "example": "boredapeyachtclub",
"type": "string"
},
- "total_pages": {
+ "total_currency": {
+ "example": "WETH",
+ "type": "string"
+ },
+ "total_offers": {
+ "example": 6,
"type": "integer"
},
- "url": {
- "type": "string"
+ "total_value_token": {
+ "example": 96.13,
+ "type": "number"
+ },
+ "total_value_usd": {
+ "example": 96.13,
+ "type": "number"
}
},
"type": "object"
},
- "quince.CategoriesResponse": {
+ "opensea.CollectionTraitsResponse": {
"properties": {
- "business_departments": {
- "items": {
- "$ref": "#/definitions/quince.FacetCount"
- },
- "type": "array"
- },
- "categories": {
- "items": {
- "$ref": "#/definitions/quince.FacetCount"
- },
- "type": "array"
- },
- "colors": {
- "items": {
- "$ref": "#/definitions/quince.FacetCount"
- },
- "type": "array"
- },
- "departments": {
- "items": {
- "$ref": "#/definitions/quince.FacetCount"
- },
- "type": "array"
+ "next_page_cursor": {
+ "type": "string"
},
- "fetched_at": {
+ "slug": {
+ "example": "boredapeyachtclub",
"type": "string"
},
- "materials": {
+ "traits": {
"items": {
- "$ref": "#/definitions/quince.FacetCount"
+ "$ref": "#/definitions/opensea.CollectionTrait"
},
"type": "array"
- },
- "sizes": {
+ }
+ },
+ "type": "object"
+ },
+ "opensea.CollectionsResponse": {
+ "properties": {
+ "collections": {
"items": {
- "$ref": "#/definitions/quince.FacetCount"
+ "$ref": "#/definitions/opensea.CollectionSummary"
},
"type": "array"
}
},
"type": "object"
},
- "quince.FacetCount": {
+ "opensea.DepthLevel": {
"properties": {
- "count": {
- "type": "integer"
+ "price": {
+ "$ref": "#/definitions/opensea.Price"
},
- "value": {
- "type": "string"
+ "quantity": {
+ "example": 2,
+ "type": "integer"
}
},
"type": "object"
},
- "quince.NavCategory": {
+ "opensea.DepthResponse": {
"properties": {
- "groups": {
+ "chain": {
+ "type": "string"
+ },
+ "contract_address": {
+ "type": "string"
+ },
+ "listings": {
"items": {
- "$ref": "#/definitions/quince.NavGroup"
+ "$ref": "#/definitions/opensea.DepthLevel"
},
"type": "array"
},
- "slug": {
- "type": "string"
- },
- "title": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "quince.NavGroup": {
- "properties": {
- "links": {
+ "offers": {
"items": {
- "$ref": "#/definitions/quince.NavLink"
+ "$ref": "#/definitions/opensea.DepthLevel"
},
"type": "array"
},
- "title": {
+ "slug": {
+ "example": "boredapeyachtclub",
+ "type": "string"
+ },
+ "token_id": {
"type": "string"
}
},
"type": "object"
},
- "quince.NavLink": {
+ "opensea.Drop": {
"properties": {
- "slug": {
+ "chain": {
+ "example": "base",
"type": "string"
},
- "text": {
+ "collection": {
+ "$ref": "#/definitions/opensea.CollectionSummary"
+ },
+ "contract_address": {
+ "type": "string"
+ },
+ "type": {
+ "example": "Erc721SeaDropV1",
"type": "string"
}
},
"type": "object"
},
- "quince.NavigationResponse": {
+ "opensea.DropsResponse": {
"properties": {
- "categories": {
+ "drops": {
"items": {
- "$ref": "#/definitions/quince.NavCategory"
+ "$ref": "#/definitions/opensea.Drop"
},
"type": "array"
},
- "fetched_at": {
+ "next_page_cursor": {
"type": "string"
},
- "source_url": {
+ "type": {
+ "example": "UPCOMING",
"type": "string"
}
},
"type": "object"
},
- "quince.Product": {
+ "opensea.Holder": {
"properties": {
- "business_department": {
- "type": "string"
+ "account": {
+ "$ref": "#/definitions/opensea.Account"
},
- "category": {
+ "quantity": {
+ "example": 143,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "opensea.Item": {
+ "properties": {
+ "best_listing": {
+ "$ref": "#/definitions/opensea.Price"
+ },
+ "best_offer": {
+ "$ref": "#/definitions/opensea.Price"
+ },
+ "chain": {
+ "example": "ethereum",
"type": "string"
},
- "color": {
+ "collection_name": {
+ "example": "Bored Ape Yacht Club",
"type": "string"
},
- "currency": {
+ "collection_slug": {
+ "example": "boredapeyachtclub",
"type": "string"
},
- "department": {
+ "contract_address": {
"type": "string"
},
- "description": {
+ "created_at": {
"type": "string"
},
- "gender": {
+ "description": {
"type": "string"
},
- "handle": {
+ "id": {
"type": "string"
},
"image_url": {
"type": "string"
},
- "in_stock": {
+ "is_fungible": {
"type": "boolean"
},
- "material": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "last_sale": {
+ "$ref": "#/definitions/opensea.Price"
},
- "max_price": {
- "type": "number"
+ "last_sale_at": {
+ "type": "string"
},
- "min_price": {
- "type": "number"
+ "marketplace": {
+ "example": "opensea",
+ "type": "string"
},
- "primary_colors": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "name": {
+ "example": "#1",
+ "type": "string"
},
- "product_id": {
+ "owner": {
+ "$ref": "#/definitions/opensea.Account"
+ },
+ "rarity_rank": {
+ "example": 1204,
"type": "integer"
},
- "product_type": {
+ "token_id": {
+ "example": "1",
"type": "string"
},
- "sizes": {
+ "traits": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/opensea.Trait"
},
"type": "array"
- },
- "title": {
- "type": "string"
- },
- "url": {
- "type": "string"
}
},
"type": "object"
},
- "quince.ProductFAQItem": {
+ "opensea.ItemOrdersResponse": {
"properties": {
- "answer": {
+ "chain": {
+ "example": "ethereum",
"type": "string"
},
- "question": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "quince.ProductFAQResponse": {
- "properties": {
- "fetched_at": {
+ "contract_address": {
+ "example": "0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d",
"type": "string"
},
- "handle": {
+ "next_page_cursor": {
"type": "string"
},
- "questions": {
+ "orders": {
"items": {
- "$ref": "#/definitions/quince.ProductFAQItem"
+ "$ref": "#/definitions/opensea.Order"
},
"type": "array"
},
- "source_url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "quince.ProductOptionGroup": {
- "properties": {
- "name": {
+ "token_id": {
+ "example": "1",
"type": "string"
- },
- "values": {
- "items": {
- "$ref": "#/definitions/quince.ProductOptionValue"
- },
- "type": "array"
}
},
"type": "object"
},
- "quince.ProductOptionValue": {
+ "opensea.ItemOwner": {
"properties": {
- "display_name": {
- "type": "string"
- },
- "display_type": {
- "type": "string"
- },
- "hex_code": {
- "type": "string"
+ "account": {
+ "$ref": "#/definitions/opensea.Account"
},
- "value": {
+ "quantity": {
+ "example": "1",
"type": "string"
}
},
"type": "object"
},
- "quince.ProductResponse": {
+ "opensea.ItemOwnersResponse": {
"properties": {
- "average_rating": {
- "type": "number"
- },
- "country": {
- "type": "string"
- },
- "description": {
+ "chain": {
+ "example": "ethereum",
"type": "string"
},
- "fetched_at": {
+ "contract_address": {
"type": "string"
},
- "gender": {
- "type": "string"
+ "has_more": {
+ "type": "boolean"
},
- "handle": {
+ "next_page_cursor": {
"type": "string"
},
- "images": {
+ "owners": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/opensea.ItemOwner"
},
"type": "array"
},
- "options": {
+ "token_id": {
+ "example": "1",
+ "type": "string"
+ },
+ "total_owners": {
+ "example": 1,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "opensea.ItemSearchResponse": {
+ "properties": {
+ "items": {
"items": {
- "$ref": "#/definitions/quince.ProductOptionGroup"
+ "$ref": "#/definitions/opensea.Item"
},
"type": "array"
},
- "product_id": {
- "type": "integer"
- },
- "product_type": {
+ "query": {
+ "example": "gold",
"type": "string"
},
- "review_count": {
- "type": "integer"
- },
- "source_url": {
+ "slug": {
+ "example": "boredapeyachtclub",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "opensea.MarketListing": {
+ "properties": {
+ "listed_item_count": {
+ "example": 190,
+ "type": "integer"
},
- "title": {
+ "marketplace": {
+ "example": "opensea",
"type": "string"
},
- "url": {
+ "name": {
+ "example": "OpenSea",
"type": "string"
- },
- "variants": {
- "items": {
- "$ref": "#/definitions/quince.ProductVariant"
- },
- "type": "array"
}
},
"type": "object"
},
- "quince.ProductReviewsResponse": {
+ "opensea.OfferAggregate": {
"properties": {
- "average_rating": {
- "type": "number"
- },
- "fetched_at": {
+ "id": {
"type": "string"
},
- "handle": {
- "type": "string"
+ "price": {
+ "$ref": "#/definitions/opensea.Price"
},
- "review_count": {
+ "total_offers": {
+ "example": 1,
"type": "integer"
- },
- "reviews": {
- "items": {
- "$ref": "#/definitions/quince.Review"
- },
- "type": "array"
- },
- "source_url": {
- "type": "string"
}
},
"type": "object"
},
- "quince.ProductVariant": {
+ "opensea.Order": {
"properties": {
- "currency": {
+ "end_time": {
"type": "string"
},
"id": {
- "type": "integer"
- },
- "in_stock": {
- "type": "boolean"
- },
- "options": {
- "additionalProperties": {
- "type": "string"
- },
- "type": "object"
+ "type": "string"
},
- "price": {
- "type": "number"
+ "maker": {
+ "$ref": "#/definitions/opensea.Account"
},
- "savings": {
+ "marketplace": {
+ "example": "opensea",
"type": "string"
},
- "sku": {
- "type": "string"
+ "price": {
+ "$ref": "#/definitions/opensea.Price"
},
- "status": {
+ "quantity": {
+ "example": "1",
"type": "string"
},
- "title": {
+ "start_time": {
"type": "string"
- },
- "traditional_retail_price": {
- "type": "number"
}
},
"type": "object"
},
- "quince.Review": {
+ "opensea.Price": {
"properties": {
- "author": {
+ "amount": {
+ "example": 7.85,
+ "type": "number"
+ },
+ "chain": {
+ "example": "ethereum",
"type": "string"
},
- "body": {
+ "contract_address": {
+ "example": "0x0000000000000000000000000000000000000000",
"type": "string"
},
- "date_published": {
+ "currency": {
+ "example": "ETH",
"type": "string"
},
- "rating": {
+ "usd": {
+ "example": 19295.3,
"type": "number"
}
},
"type": "object"
},
- "quince.SearchResponse": {
+ "opensea.Profile": {
"properties": {
- "category": {
+ "address": {
+ "example": "0xd8da6bf26964af9d7eed9e03e53415d37aa96045",
"type": "string"
},
- "color": {
+ "banner_image_url": {
"type": "string"
},
- "count": {
- "type": "integer"
- },
- "country": {
+ "display_name": {
+ "example": "vitalik.eth",
"type": "string"
},
- "department": {
+ "external_url": {
"type": "string"
},
- "fetched_at": {
+ "image_url": {
"type": "string"
},
- "limit": {
- "type": "integer"
+ "is_verified": {
+ "type": "boolean"
},
- "material": {
+ "kind": {
+ "example": "WALLET",
"type": "string"
},
- "max_price": {
- "type": "number"
+ "twitter_username": {
+ "type": "string"
},
- "min_price": {
- "type": "number"
+ "username": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "opensea.ProfileCollection": {
+ "properties": {
+ "collection": {
+ "$ref": "#/definitions/opensea.CollectionSummary"
},
- "page": {
+ "item_count": {
+ "example": 1,
"type": "integer"
},
- "products": {
+ "total_quantity": {
+ "example": 1,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "opensea.ProfileCollectionsResponse": {
+ "properties": {
+ "address": {
+ "type": "string"
+ },
+ "collections": {
"items": {
- "$ref": "#/definitions/quince.Product"
+ "$ref": "#/definitions/opensea.ProfileCollection"
},
"type": "array"
},
- "query": {
+ "next_page_cursor": {
"type": "string"
- },
- "size": {
+ }
+ },
+ "type": "object"
+ },
+ "opensea.ProfileItemsResponse": {
+ "properties": {
+ "address": {
+ "example": "0xd8da6bf26964af9d7eed9e03e53415d37aa96045",
"type": "string"
},
- "source_url": {
- "type": "string"
+ "items": {
+ "items": {
+ "$ref": "#/definitions/opensea.Item"
+ },
+ "type": "array"
},
- "total_pages": {
- "type": "integer"
+ "next_page_cursor": {
+ "type": "string"
},
- "total_results": {
+ "total_items": {
+ "example": 3441,
"type": "integer"
}
},
"type": "object"
},
- "quince.SitemapItem": {
+ "opensea.RankedCollection": {
"properties": {
- "loc": {
- "type": "string"
+ "collection": {
+ "$ref": "#/definitions/opensea.CollectionSummary"
},
- "type": {
+ "score": {
+ "example": "28.3713030851",
"type": "string"
}
},
"type": "object"
},
- "quince.SitemapURLItem": {
+ "opensea.RankingsResponse": {
"properties": {
- "handle": {
+ "collections": {
+ "items": {
+ "$ref": "#/definitions/opensea.RankedCollection"
+ },
+ "type": "array"
+ },
+ "next_page_cursor": {
"type": "string"
},
- "loc": {
+ "ranking": {
+ "example": "TRENDING",
"type": "string"
},
- "type": {
+ "timeframe": {
+ "example": "ONE_DAY",
"type": "string"
}
},
"type": "object"
},
- "quince.SitemapURLsResponse": {
+ "opensea.SocialProofResponse": {
"properties": {
- "fetched_at": {
+ "notable_collectors": {
+ "items": {
+ "$ref": "#/definitions/opensea.Account"
+ },
+ "type": "array"
+ },
+ "slug": {
+ "example": "boredapeyachtclub",
"type": "string"
},
- "limit": {
+ "social_count": {
+ "example": 5605,
"type": "integer"
- },
- "source_url": {
+ }
+ },
+ "type": "object"
+ },
+ "opensea.Trait": {
+ "properties": {
+ "trait_type": {
+ "example": "Background",
"type": "string"
},
- "type": {
+ "value": {
+ "example": "Orange",
"type": "string"
- },
- "urls": {
- "items": {
- "$ref": "#/definitions/quince.SitemapURLItem"
- },
- "type": "array"
}
},
"type": "object"
},
- "quince.SitemapsResponse": {
+ "opensea.TraitOfferAggregate": {
"properties": {
- "fetched_at": {
+ "id": {
"type": "string"
},
- "sitemaps": {
- "items": {
- "$ref": "#/definitions/quince.SitemapItem"
- },
- "type": "array"
+ "price": {
+ "$ref": "#/definitions/opensea.Price"
},
- "source_url": {
+ "total_offers": {
+ "example": 1,
+ "type": "integer"
+ },
+ "trait_type": {
+ "example": "Fur",
+ "type": "string"
+ },
+ "trait_value": {
+ "example": "Solid Gold",
"type": "string"
}
},
"type": "object"
},
- "quince.SuggestResponse": {
+ "opensea.TraitValue": {
"properties": {
- "fetched_at": {
- "type": "string"
+ "count": {
+ "example": 1170,
+ "type": "integer"
},
- "query": {
+ "value": {
+ "example": "Gray",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "opensea.WindowStats": {
+ "properties": {
+ "floor_price_change": {
+ "example": 0.0065,
+ "type": "number"
},
- "source_url": {
- "type": "string"
+ "sales": {
+ "example": 42,
+ "type": "integer"
},
- "suggestions": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "volume_native": {
+ "example": 318.4,
+ "type": "number"
+ },
+ "volume_usd": {
+ "example": 782344.1,
+ "type": "number"
}
},
"type": "object"
},
- "quince.categoriesResponseDoc": {
+ "opensea.activityResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/quince.CategoriesResponse"
+ "$ref": "#/definitions/opensea.ActivityResponse"
},
"msg": {
"example": "OK",
@@ -172378,14 +180210,14 @@
},
"type": "object"
},
- "quince.navigationResponseDoc": {
+ "opensea.categoriesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/quince.NavigationResponse"
+ "$ref": "#/definitions/opensea.CategoriesResponse"
},
"msg": {
"example": "OK",
@@ -172394,14 +180226,14 @@
},
"type": "object"
},
- "quince.productFAQResponseDoc": {
+ "opensea.chainsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/quince.ProductFAQResponse"
+ "$ref": "#/definitions/opensea.ChainsResponse"
},
"msg": {
"example": "OK",
@@ -172410,14 +180242,14 @@
},
"type": "object"
},
- "quince.productResponseDoc": {
+ "opensea.chartResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/quince.ProductResponse"
+ "$ref": "#/definitions/opensea.ChartResponse"
},
"msg": {
"example": "OK",
@@ -172426,14 +180258,14 @@
},
"type": "object"
},
- "quince.productReviewsResponseDoc": {
+ "opensea.collectionHoldersResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/quince.ProductReviewsResponse"
+ "$ref": "#/definitions/opensea.CollectionHoldersResponse"
},
"msg": {
"example": "OK",
@@ -172442,14 +180274,14 @@
},
"type": "object"
},
- "quince.searchResponseDoc": {
+ "opensea.collectionItemsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/quince.SearchResponse"
+ "$ref": "#/definitions/opensea.CollectionItemsResponse"
},
"msg": {
"example": "OK",
@@ -172458,14 +180290,14 @@
},
"type": "object"
},
- "quince.sitemapURLsResponseDoc": {
+ "opensea.collectionOffersResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/quince.SitemapURLsResponse"
+ "$ref": "#/definitions/opensea.CollectionOffersResponse"
},
"msg": {
"example": "OK",
@@ -172474,14 +180306,14 @@
},
"type": "object"
},
- "quince.sitemapsResponseDoc": {
+ "opensea.collectionResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/quince.SitemapsResponse"
+ "$ref": "#/definitions/opensea.Collection"
},
"msg": {
"example": "OK",
@@ -172490,14 +180322,14 @@
},
"type": "object"
},
- "quince.suggestResponseDoc": {
+ "opensea.collectionSearchResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/quince.SuggestResponse"
+ "$ref": "#/definitions/opensea.CollectionSearchResponse"
},
"msg": {
"example": "OK",
@@ -172506,14 +180338,14 @@
},
"type": "object"
},
- "qwant.suggestResponseDoc": {
+ "opensea.collectionShelfResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/suggest.Response"
+ "$ref": "#/definitions/opensea.CollectionShelfResponse"
},
"msg": {
"example": "OK",
@@ -172522,281 +180354,190 @@
},
"type": "object"
},
- "racing.RacingHorse": {
+ "opensea.collectionTopSalesResponseDoc": {
"properties": {
- "age": {
- "type": "string"
- },
- "color": {
- "type": "string"
- },
- "dam_name": {
- "type": "string"
- },
- "name": {
- "type": "string"
- },
- "sex": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "sire_name": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/opensea.CollectionTopSalesResponse"
},
- "where_bred": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "year_of_birth": {
- "type": "integer"
}
},
"type": "object"
},
- "racing.RacingRace": {
+ "opensea.collectionTraitOffersResponseDoc": {
"properties": {
- "post_time_utc": {
- "type": "string"
- },
- "race_id": {
- "type": "string"
- },
- "race_number": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "status": {
- "type": "string"
- },
- "track_id": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/opensea.CollectionTraitOffersResponse"
},
- "track_name": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "racing.RacingRaceCard": {
+ "opensea.collectionTraitsResponseDoc": {
"properties": {
- "distance": {
- "type": "string"
- },
- "entries": {
- "items": {
- "$ref": "#/definitions/racing.RacingRaceEntry"
- },
- "type": "array"
- },
- "entry_count": {
- "type": "integer"
- },
- "has_changes": {
- "type": "boolean"
- },
- "has_results": {
- "type": "boolean"
- },
- "id": {
- "type": "string"
- },
- "live_odds_available": {
- "type": "boolean"
- },
- "live_stream_status": {
- "type": "string"
- },
- "name": {
- "type": "string"
- },
- "number": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "post_time_utc": {
- "type": "string"
- },
- "purse": {
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/opensea.CollectionTraitsResponse"
},
- "replay_status": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "runner_count": {
+ }
+ },
+ "type": "object"
+ },
+ "opensea.collectionsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "status": {
- "type": "string"
- },
- "surface": {
- "type": "string"
- },
- "surface_condition": {
- "type": "string"
- },
- "track_type": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/opensea.CollectionsResponse"
},
- "type": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "racing.RacingRaceEntry": {
+ "opensea.depthResponseDoc": {
"properties": {
- "finish_position": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "horse": {
- "$ref": "#/definitions/racing.RacingHorse"
- },
- "live_odds": {
- "type": "string"
- },
- "live_odds_favorite": {
- "type": "boolean"
- },
- "morning_line_favorite": {
- "type": "boolean"
+ "data": {
+ "$ref": "#/definitions/opensea.DepthResponse"
},
- "morning_line_odds": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "post_position": {
+ }
+ },
+ "type": "object"
+ },
+ "opensea.dropsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "program_number": {
- "type": "string"
- },
- "scratched": {
- "type": "boolean"
+ "data": {
+ "$ref": "#/definitions/opensea.DropsResponse"
},
- "weight": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "racing.RacingRaceInfoResponse": {
+ "opensea.itemOrdersResponseDoc": {
"properties": {
- "fetched_at": {
- "type": "string"
- },
- "is_historic": {
- "type": "boolean"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "race": {
- "$ref": "#/definitions/racing.RacingRaceCard"
+ "data": {
+ "$ref": "#/definitions/opensea.ItemOrdersResponse"
},
- "source_url": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "track": {
- "$ref": "#/definitions/racing.RacingRaceTrack"
}
},
"type": "object"
},
- "racing.RacingRaceTrack": {
+ "opensea.itemOwnersResponseDoc": {
"properties": {
"code": {
- "type": "string"
- },
- "country_code": {
- "type": "string"
- },
- "id": {
- "type": "string"
+ "example": 200,
+ "type": "integer"
},
- "name": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/opensea.ItemOwnersResponse"
},
- "type": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "racing.RacingScheduleResponse": {
+ "opensea.itemResponseDoc": {
"properties": {
- "count": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "fetched_at": {
- "type": "string"
- },
- "races": {
- "items": {
- "$ref": "#/definitions/racing.RacingRace"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/opensea.Item"
},
- "source_url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "racing.RacingTrack": {
+ "opensea.itemSearchResponseDoc": {
"properties": {
- "active": {
- "type": "boolean"
- },
"code": {
- "type": "string"
- },
- "country_code": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "live_stream_state": {
- "type": "string"
- },
- "name": {
- "type": "string"
- },
- "race_count": {
+ "example": 200,
"type": "integer"
},
- "start_time": {
- "type": "string"
- },
- "status": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/opensea.ItemSearchResponse"
},
- "type": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "racing.RacingTracksResponse": {
+ "opensea.itemsShelfResponseDoc": {
"properties": {
- "count": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "fetched_at": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/opensea.CollectionItemsShelfResponse"
},
- "source_url": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "tracks": {
- "items": {
- "$ref": "#/definitions/racing.RacingTrack"
- },
- "type": "array"
}
},
"type": "object"
},
- "racing.racingRaceInfoResponseDoc": {
+ "opensea.profileCollectionsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/racing.RacingRaceInfoResponse"
+ "$ref": "#/definitions/opensea.ProfileCollectionsResponse"
},
"msg": {
"example": "OK",
@@ -172805,14 +180546,14 @@
},
"type": "object"
},
- "racing.racingScheduleResponseDoc": {
+ "opensea.profileItemsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/racing.RacingScheduleResponse"
+ "$ref": "#/definitions/opensea.ProfileItemsResponse"
},
"msg": {
"example": "OK",
@@ -172821,14 +180562,14 @@
},
"type": "object"
},
- "racing.racingTracksResponseDoc": {
+ "opensea.profileResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/racing.RacingTracksResponse"
+ "$ref": "#/definitions/opensea.Profile"
},
"msg": {
"example": "OK",
@@ -172837,500 +180578,501 @@
},
"type": "object"
},
- "raisingcanes.DirectoryChild": {
+ "opensea.rankingsResponseDoc": {
"properties": {
- "is_store": {
- "description": "IsStore marks a child that is a store page rather than another\ndirectory level -- call /raisingcanes/store with its path.",
- "example": false,
- "type": "boolean"
- },
- "name": {
- "example": "Louisiana",
- "type": "string"
- },
- "path": {
- "example": "la",
- "type": "string"
- },
- "store_count": {
- "description": "StoreCount is how many stores sit under this branch, as Yext reports\nit. Absent on the deepest level, where children are stores themselves.",
- "example": 144,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "url": {
+ "data": {
+ "$ref": "#/definitions/opensea.RankingsResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "raisingcanes.DirectoryResponse": {
+ "opensea.socialProofResponseDoc": {
"properties": {
- "children": {
- "items": {
- "$ref": "#/definitions/raisingcanes.DirectoryChild"
- },
- "type": "array"
- },
- "count": {
- "example": 38,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "fetched_at": {
- "type": "string"
- },
- "name": {
- "type": "string"
- },
- "path": {
- "example": "la",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/opensea.SocialProofResponse"
},
- "source_url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "raisingcanes.MenuItem": {
+ "opentable.Cuisine": {
"properties": {
- "description": {
- "description": "Description is Raising Cane's own published item description,\nexactly as written -- it commonly ends with a calorie count or range\n(e.g. \"... 1290 - 1720 Cal\"), but the wording is not structured\nenough to split into separate fields reliably across every item.",
- "example": "4 Chicken Fingers, Crinkle-Cut Fries, One Cane's Sauce®, Texas Toast, Coleslaw, Regular Fountain Drink/Tea (22 oz.) 1290 - 1720 Cal",
- "type": "string"
- },
- "image_url": {
+ "id": {
"type": "string"
},
"name": {
- "example": "The Box Combo®",
+ "example": "Steakhouse",
"type": "string"
+ },
+ "primary": {
+ "type": "boolean"
}
},
"type": "object"
},
- "raisingcanes.MenuResponse": {
+ "opentable.Menu": {
"properties": {
- "count": {
- "example": 23,
- "type": "integer"
- },
- "fetched_at": {
+ "currency": {
"type": "string"
},
"sections": {
"items": {
- "$ref": "#/definitions/raisingcanes.MenuSection"
+ "$ref": "#/definitions/opentable.MenuSection"
},
"type": "array"
},
- "source_url": {
+ "title": {
"type": "string"
}
},
"type": "object"
},
- "raisingcanes.MenuSection": {
+ "opentable.MenuItem": {
"properties": {
- "anchor": {
- "description": "Anchor is the section's in-page anchor slug, e.g. \"combos\".",
- "example": "combos",
+ "description": {
"type": "string"
},
- "headline": {
- "example": "Combos",
+ "price": {
"type": "string"
},
+ "title": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "opentable.MenuSection": {
+ "properties": {
"items": {
"items": {
- "$ref": "#/definitions/raisingcanes.MenuItem"
+ "$ref": "#/definitions/opentable.MenuItem"
},
"type": "array"
+ },
+ "title": {
+ "type": "string"
}
},
"type": "object"
},
- "raisingcanes.NearbyResponse": {
+ "opentable.MenusResponse": {
"properties": {
- "count": {
- "example": 10,
- "type": "integer"
+ "menus": {
+ "items": {
+ "$ref": "#/definitions/opentable.Menu"
+ },
+ "type": "array"
},
- "fetched_at": {
+ "restaurant_id": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "opentable.PriceBand": {
+ "properties": {
+ "band": {
+ "example": "3",
"type": "string"
},
- "radius": {
- "example": 25,
- "type": "integer"
+ "label": {
+ "example": "$31 to $50",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "opentable.RestaurantResponse": {
+ "properties": {
+ "availability_date_time": {
+ "description": "AvailabilityDateTime echoes the DateTime the Timeslots below were\ncomputed for (either the caller's or the now-default GetRestaurant\napplies -- see its doc comment).",
+ "type": "string"
},
- "source_url": {
+ "city": {
"type": "string"
},
- "stores": {
+ "country": {
+ "type": "string"
+ },
+ "country_code": {
+ "type": "string"
+ },
+ "cuisines": {
"items": {
- "$ref": "#/definitions/raisingcanes.NearbyStore"
+ "$ref": "#/definitions/opentable.Cuisine"
},
"type": "array"
},
- "total_in_radius": {
- "description": "TotalInRadius is how many stores fall inside the radius overall, which\nis usually far more than one page. Use it with `offset` to page.",
- "example": 69,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "raisingcanes.NearbyStore": {
- "properties": {
- "address": {
- "$ref": "#/definitions/raisingcanes.StoreAddress"
+ "currency_code": {
+ "type": "string"
},
- "distance_kilometers": {
- "example": 0.42,
- "type": "number"
+ "description": {
+ "type": "string"
},
- "distance_miles": {
- "description": "DistanceMiles is measured from the requested coordinate.",
- "example": 0.26,
- "type": "number"
+ "dining_style": {
+ "type": "string"
},
- "fulfillment_services": {
- "description": "FulfillmentServices are the pickup/delivery service flags Raising\nCane's publishes for this store, e.g. IN_STORE_PICKUP,\nDELIVERY_NOT_OFFERED.",
+ "dress_code": {
+ "type": "string"
+ },
+ "email": {
+ "type": "string"
+ },
+ "features": {
"items": {
"type": "string"
},
"type": "array"
},
+ "hours": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
"latitude": {
- "example": 40.710412,
"type": "number"
},
+ "line1": {
+ "type": "string"
+ },
+ "line2": {
+ "type": "string"
+ },
"longitude": {
- "example": -74.009937,
"type": "number"
},
+ "max_advance_days": {
+ "type": "integer"
+ },
+ "max_party_size": {
+ "type": "integer"
+ },
"name": {
- "example": "Raising Cane's Chicken Fingers",
"type": "string"
},
- "path": {
- "description": "Path is the /raisingcanes/store path for this store, so a caller can\ngo straight to the detail endpoint.",
+ "phone_number": {
"type": "string"
},
- "price_range": {
- "description": "PriceRange is Raising Cane's own relative price tier, e.g. ONE.",
- "example": "ONE",
- "type": "string"
+ "photos_count": {
+ "type": "integer"
},
- "store_id": {
- "example": "C986",
+ "postal_code": {
"type": "string"
},
- "timezone": {
- "example": "America/New_York",
- "type": "string"
- }
- },
- "type": "object"
- },
- "raisingcanes.PromotionCategory": {
- "properties": {
- "heading": {
- "example": "Sweepstakes & Giveaways",
+ "price_band": {
+ "$ref": "#/definitions/opentable.PriceBand"
+ },
+ "reviews": {
+ "$ref": "#/definitions/opentable.ReviewSummary"
+ },
+ "state": {
"type": "string"
},
- "promotions": {
+ "timeslots": {
"items": {
- "$ref": "#/definitions/raisingcanes.PromotionSummary"
+ "$ref": "#/definitions/opentable.Timeslot"
},
"type": "array"
+ },
+ "website": {
+ "type": "string"
}
},
"type": "object"
},
- "raisingcanes.PromotionResponse": {
+ "opentable.Review": {
"properties": {
- "description": {
- "description": "Description is Raising Cane's own official-rules text for this\npromotion, kept as separate paragraphs in publication order rather\nthan joined into one string -- unlike a menu item's short blurb, this\nis often multi-paragraph legal text (eligibility, prize value,\neffective date each their own paragraph) where the paragraph breaks\ncarry real structure.",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "fetched_at": {
+ "author": {
"type": "string"
},
- "path": {
- "example": "first-50-promotion",
+ "author_metro": {
"type": "string"
},
- "source_url": {
+ "id": {
"type": "string"
},
- "title": {
- "example": "First 50 Promotion Details",
+ "posted_date": {
"type": "string"
- }
- },
- "type": "object"
- },
- "raisingcanes.PromotionSummary": {
- "properties": {
- "name": {
- "example": "First 50 Promotion Details",
+ },
+ "recommended": {
+ "type": "boolean"
+ },
+ "reservation_date": {
"type": "string"
},
- "path": {
- "description": "Path is the promotion's page slug, usable as the path parameter on\nGET /raisingcanes/promotion. It is empty when Raising Cane's own\nindex links a since-expired promotion back to the homepage instead\nof removing the entry (a real, observed upstream data quality\npattern) -- a caller should treat an empty path as \"no longer\nresolvable\" rather than retry it.",
- "example": "first-50-promotion",
+ "statistics": {
+ "$ref": "#/definitions/opentable.ReviewStatistics"
+ },
+ "text": {
"type": "string"
}
},
"type": "object"
},
- "raisingcanes.PromotionsResponse": {
+ "opentable.ReviewStatistics": {
"properties": {
- "categories": {
- "items": {
- "$ref": "#/definitions/raisingcanes.PromotionCategory"
- },
- "type": "array"
+ "ambience": {
+ "type": "number"
},
- "count": {
- "example": 53,
- "type": "integer"
+ "food": {
+ "type": "number"
},
- "fetched_at": {
- "type": "string"
+ "noise": {
+ "type": "number"
},
- "source_url": {
- "type": "string"
+ "overall_rating": {
+ "type": "number"
+ },
+ "service": {
+ "type": "number"
+ },
+ "value": {
+ "type": "number"
}
},
"type": "object"
},
- "raisingcanes.StoreAddress": {
+ "opentable.ReviewSummary": {
"properties": {
- "city": {
- "example": "Gonzales",
- "type": "string"
+ "ambience": {
+ "type": "number"
},
- "country": {
- "example": "US",
- "type": "string"
+ "count": {
+ "type": "integer"
},
- "line1": {
- "example": "625 Airline Hwy",
- "type": "string"
+ "food": {
+ "type": "number"
},
- "line2": {
- "type": "string"
+ "noise": {
+ "type": "number"
},
- "postal_code": {
- "example": "70737",
- "type": "string"
+ "overall_rating": {
+ "example": 4.8,
+ "type": "number"
},
- "region": {
- "example": "LA",
- "type": "string"
+ "review_count": {
+ "type": "integer"
+ },
+ "service": {
+ "type": "number"
+ },
+ "value": {
+ "type": "number"
}
},
"type": "object"
},
- "raisingcanes.StoreHours": {
+ "opentable.ReviewsResponse": {
"properties": {
- "closed": {
- "description": "Closed is true when Raising Cane's publishes the day with no open\ninterval.",
- "example": false,
- "type": "boolean"
- },
- "closes": {
- "example": "00:00",
- "type": "string"
+ "page": {
+ "type": "integer"
},
- "day_of_week": {
- "example": "Monday",
+ "restaurant_id": {
"type": "string"
},
- "opens": {
- "example": "09:00",
- "type": "string"
+ "reviews": {
+ "items": {
+ "$ref": "#/definitions/opentable.Review"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "raisingcanes.StoreResponse": {
+ "opentable.SearchResponse": {
"properties": {
- "address": {
- "$ref": "#/definitions/raisingcanes.StoreAddress"
- },
- "amenities": {
- "description": "Amenities are Raising Cane's own per-store amenity labels, e.g.\nDRIVE_THRU, LATE_NIGHT, CURBSIDE_PICKUP.",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "dine_in_hours": {
- "description": "DineInHours and DriveThroughHours are Raising Cane's own per-channel\nhours. They commonly match Hours but are published separately and can\ndiffer (e.g. a later drive-thru close).",
+ "results": {
"items": {
- "$ref": "#/definitions/raisingcanes.StoreHours"
+ "$ref": "#/definitions/opentable.SearchResult"
},
"type": "array"
},
- "drive_through_hours": {
- "items": {
- "$ref": "#/definitions/raisingcanes.StoreHours"
- },
- "type": "array"
+ "term": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "opentable.SearchResult": {
+ "properties": {
+ "availability_date_time": {
+ "description": "AvailabilityDateTime/Timeslots mirror RestaurantResponse's inline\navailability -- search returns the same nested shape per result.",
+ "type": "string"
},
- "fetched_at": {
+ "city": {
"type": "string"
},
- "fulfillment_services": {
- "description": "FulfillmentServices are the pickup/delivery service flags Raising\nCane's publishes for this store, e.g. IN_STORE_PICKUP,\nCURBSIDE_PICKUP, DELIVERY_NOT_OFFERED.",
- "items": {
- "type": "string"
- },
- "type": "array"
+ "country": {
+ "type": "string"
},
- "google_place_id": {
+ "description": {
"type": "string"
},
- "hours": {
- "description": "Hours is the store's general published week of hours.",
- "items": {
- "$ref": "#/definitions/raisingcanes.StoreHours"
- },
- "type": "array"
+ "id": {
+ "type": "string"
},
"latitude": {
- "example": 30.2371547,
"type": "number"
},
+ "line1": {
+ "type": "string"
+ },
+ "line2": {
+ "type": "string"
+ },
"longitude": {
- "example": -90.9132179,
"type": "number"
},
"name": {
- "example": "Raising Cane's Chicken Fingers",
- "type": "string"
- },
- "path": {
"type": "string"
},
- "phone_number": {
- "example": "(225) 407-4134",
+ "postal_code": {
"type": "string"
},
- "source_url": {
+ "state": {
"type": "string"
},
- "store_id": {
- "example": "C10",
- "type": "string"
+ "timeslots": {
+ "items": {
+ "$ref": "#/definitions/opentable.Timeslot"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "raisingcanes.directoryResponseDoc": {
+ "opentable.Timeslot": {
"properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "available": {
+ "type": "boolean"
+ },
+ "date_time": {
+ "example": "2026-08-03T19:00",
+ "type": "string"
+ },
+ "points": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/raisingcanes.DirectoryResponse"
+ "price_amount": {
+ "type": "integer"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "redemption_tier": {
+ "type": "string"
+ },
+ "token": {
+ "description": "Token is the upstream booking token for this slot. It is opaque and\nonly meaningful back to OpenTable's own booking flow -- this service\ndoes not implement booking, only discovery.",
+ "type": "string"
+ },
+ "type": {
+ "example": "Standard",
+ "type": "string"
}
},
"type": "object"
},
- "raisingcanes.menuResponseDoc": {
+ "opentable.menusResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/raisingcanes.MenuResponse"
+ "$ref": "#/definitions/opentable.MenusResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "raisingcanes.nearbyResponseDoc": {
+ "opentable.restaurantResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/raisingcanes.NearbyResponse"
+ "$ref": "#/definitions/opentable.RestaurantResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "raisingcanes.promotionResponseDoc": {
+ "opentable.reviewsResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/raisingcanes.PromotionResponse"
+ "$ref": "#/definitions/opentable.ReviewsResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "raisingcanes.promotionsResponseDoc": {
+ "opentable.searchResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/raisingcanes.PromotionsResponse"
+ "$ref": "#/definitions/opentable.SearchResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "raisingcanes.storeResponseDoc": {
+ "otto.CategoriesResponse": {
"properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/otto.Category"
+ },
+ "type": "array"
+ },
+ "count": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/raisingcanes.StoreResponse"
+ "fetched_at": {
+ "type": "string"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "source_url": {
+ "type": "string"
}
},
"type": "object"
},
- "rappler.AuthorArticle": {
+ "otto.Category": {
"properties": {
- "published_at": {
- "type": "string"
- },
- "section": {
- "type": "string"
- },
- "title": {
+ "name": {
"type": "string"
},
"url": {
@@ -173339,24 +181081,33 @@
},
"type": "object"
},
- "rappler.AuthorResponse": {
+ "otto.Product": {
"properties": {
- "articles": {
+ "brand": {
+ "type": "string"
+ },
+ "colors": {
"items": {
- "$ref": "#/definitions/rappler.AuthorArticle"
+ "type": "string"
},
"type": "array"
},
- "bio": {
+ "currency": {
"type": "string"
},
+ "images": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
"name": {
"type": "string"
},
- "slug": {
- "type": "string"
+ "price": {
+ "type": "number"
},
- "social_links": {
+ "sizes": {
"items": {
"type": "string"
},
@@ -173368,101 +181119,148 @@
},
"type": "object"
},
- "rawstory.AuthorArticle": {
+ "otto.ProductResponse": {
"properties": {
- "published_at": {
- "description": "PublishedAt is the story's publication date (YYYY-MM-DD); the author\nlisting carries the date but not the time of day.",
- "type": "string"
+ "browser_rendered": {
+ "type": "boolean"
},
- "title": {
+ "fetched_at": {
"type": "string"
},
- "url": {
- "type": "string"
+ "product": {
+ "$ref": "#/definitions/otto.Product"
}
},
"type": "object"
},
- "rawstory.AuthorResponse": {
+ "otto.ProductSummary": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/rawstory.AuthorArticle"
- },
- "type": "array"
+ "brand": {
+ "type": "string"
},
- "bio": {
+ "currency": {
"type": "string"
},
- "image_url": {
+ "image": {
"type": "string"
},
"name": {
"type": "string"
},
- "slug": {
+ "price": {
+ "type": "number"
+ },
+ "product_id": {
"type": "string"
},
- "social_links": {
+ "url": {
+ "type": "string"
+ },
+ "variation_id": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "otto.SearchResponse": {
+ "properties": {
+ "count": {
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "offset": {
+ "type": "integer"
+ },
+ "products": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/otto.ProductSummary"
},
"type": "array"
},
- "url": {
+ "query": {
+ "type": "string"
+ },
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "reachplc.AuthorArticle": {
+ "otto.categoriesResponseDoc": {
"properties": {
- "label": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "label_url": {
+ "data": {
+ "$ref": "#/definitions/otto.CategoriesResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "otto.productResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "title": {
+ "data": {
+ "$ref": "#/definitions/otto.ProductResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "otto.searchResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "url": {
+ "data": {
+ "$ref": "#/definitions/otto.SearchResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "reachplc.AuthorResponse": {
+ "pagesix.AuthorResponse": {
"properties": {
"articles": {
"items": {
- "$ref": "#/definitions/reachplc.AuthorArticle"
+ "$ref": "#/definitions/newsplatform.HeadlineItem"
},
"type": "array"
},
- "bio": {
- "type": "string"
- },
- "email": {
- "type": "string"
- },
- "has_next_page": {
- "type": "boolean"
+ "biography": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "job_title": {
+ "image_url": {
"type": "string"
},
"name": {
"type": "string"
},
- "page": {
- "type": "integer"
- },
- "slug": {
- "type": "string"
- },
- "twitter": {
- "type": "string"
+ "social_links": {
+ "items": {
+ "$ref": "#/definitions/pagesix.AuthorSocialLink"
+ },
+ "type": "array"
},
"url": {
"type": "string"
@@ -173470,367 +181268,377 @@
},
"type": "object"
},
- "reddit.ArchiveBatchSource": {
+ "pagesix.AuthorSocialLink": {
"properties": {
- "requests": {
- "example": 2,
- "type": "integer"
- },
"type": {
- "example": "arctic_shift",
"type": "string"
},
"url": {
- "example": "https://arctic-shift.photon-reddit.com/api/posts/ids",
"type": "string"
}
},
"type": "object"
},
- "reddit.ArchiveComment": {
+ "pandamart.CategoriesResponse": {
"properties": {
- "author": {
- "example": "reddit_user",
- "type": "string"
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/pandamart.Category"
+ },
+ "type": "array"
},
- "author_flair_text": {
+ "code": {
"type": "string"
},
- "author_fullname": {
+ "market": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "pandamart.Category": {
+ "properties": {
+ "id": {
"type": "string"
},
- "body": {
+ "image_url": {
"type": "string"
},
- "created_utc": {
- "example": 1713484800,
- "type": "integer"
+ "name": {
+ "type": "string"
},
- "depth": {
+ "product_count": {
"type": "integer"
},
- "distinguished": {
+ "sub_categories": {
+ "items": {
+ "$ref": "#/definitions/pandamart.Category"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "pandamart.Chain": {
+ "properties": {
+ "code": {
"type": "string"
},
- "id": {
- "example": "kabc123",
+ "name": {
"type": "string"
- },
- "link_id": {
- "example": "t3_1abcxyz",
+ }
+ },
+ "type": "object"
+ },
+ "pandamart.Product": {
+ "properties": {
+ "description": {
"type": "string"
},
- "name": {
- "example": "t1_kabc123",
+ "discount_badge": {
"type": "string"
},
- "parent_id": {
- "example": "t3_1abcxyz",
+ "id": {
"type": "string"
},
- "permalink": {
+ "image_url": {
"type": "string"
},
- "removed_by_category": {
+ "is_available": {
+ "type": "boolean"
+ },
+ "name": {
"type": "string"
},
- "retrieved_on": {
- "example": 1713484820,
- "type": "integer"
+ "original_price": {
+ "type": "number"
},
- "score": {
- "example": 3,
- "type": "integer"
+ "price": {
+ "type": "number"
},
- "subreddit": {
- "example": "OpenAI",
+ "sku": {
"type": "string"
},
- "subreddit_id": {
- "type": "string"
+ "stock_amount": {
+ "type": "integer"
}
},
"type": "object"
},
- "reddit.ArchiveCommentTreeEntry": {
+ "pandamart.ProductAttributes": {
"properties": {
- "comment": {
- "$ref": "#/definitions/reddit.ArchiveCommentTreeNode"
+ "base_content_value": {
+ "type": "number"
},
- "kind": {
- "enum": [
- "t1",
- "more"
- ],
- "example": "t1",
+ "base_unit": {
"type": "string"
},
- "more": {
- "$ref": "#/definitions/reddit.ArchiveMoreComments"
- }
- },
- "type": "object"
- },
- "reddit.ArchiveCommentTreeNode": {
- "properties": {
- "comment": {
- "$ref": "#/definitions/reddit.ArchiveComment"
+ "nutrition_grade": {
+ "type": "string"
},
- "replies": {
- "items": {
- "$ref": "#/definitions/reddit.ArchiveCommentTreeEntry"
- },
- "type": "array"
+ "price_per_base_unit": {
+ "type": "number"
}
},
"type": "object"
},
- "reddit.ArchiveCommentsIDsResponse": {
+ "pandamart.ProductDetailResponse": {
"properties": {
- "comments": {
- "items": {
- "$ref": "#/definitions/reddit.ArchiveComment"
- },
- "type": "array"
- },
- "missing_ids": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "requested_count": {
- "type": "integer"
- },
- "returned_count": {
- "type": "integer"
+ "attributes": {
+ "$ref": "#/definitions/pandamart.ProductAttributes"
},
- "source": {
- "$ref": "#/definitions/reddit.ArchiveBatchSource"
- }
- },
- "type": "object"
- },
- "reddit.ArchiveCommentsSearchResponse": {
- "properties": {
- "author": {
+ "category_id": {
"type": "string"
},
- "comments": {
- "items": {
- "$ref": "#/definitions/reddit.ArchiveComment"
- },
- "type": "array"
- },
- "created_after": {
+ "code": {
"type": "string"
},
- "created_before": {
+ "description": {
"type": "string"
},
- "limit": {
- "example": 25,
- "type": "integer"
+ "discount_badge": {
+ "type": "string"
},
- "link_id": {
+ "id": {
"type": "string"
},
- "parent_id": {
+ "image_url": {
"type": "string"
},
- "query": {
+ "is_available": {
+ "type": "boolean"
+ },
+ "market": {
"type": "string"
},
- "sort": {
- "example": "desc",
+ "name": {
"type": "string"
},
- "source": {
- "$ref": "#/definitions/reddit.SourceDetail"
+ "original_price": {
+ "type": "number"
},
- "subreddit": {
+ "price": {
+ "type": "number"
+ },
+ "sku": {
"type": "string"
+ },
+ "stock_amount": {
+ "type": "integer"
}
},
"type": "object"
},
- "reddit.ArchiveCommentsTreeResponse": {
+ "pandamart.ProductShelf": {
"properties": {
- "comments": {
+ "items": {
"items": {
- "$ref": "#/definitions/reddit.ArchiveCommentTreeEntry"
+ "$ref": "#/definitions/pandamart.Product"
},
"type": "array"
},
- "limit": {
- "example": 50,
- "type": "integer"
- },
- "parent_id": {
+ "title": {
"type": "string"
- },
- "post_id": {
- "example": "7cff0b",
+ }
+ },
+ "type": "object"
+ },
+ "pandamart.ProductsResponse": {
+ "properties": {
+ "code": {
"type": "string"
},
- "source": {
- "$ref": "#/definitions/reddit.SourceDetail"
- },
- "start_breadth": {
- "example": 2,
+ "item_count": {
"type": "integer"
},
- "start_depth": {
- "example": 3,
- "type": "integer"
+ "market": {
+ "type": "string"
+ },
+ "shelves": {
+ "items": {
+ "$ref": "#/definitions/pandamart.ProductShelf"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "reddit.ArchiveMoreComments": {
+ "pandamart.SearchResponse": {
"properties": {
- "children": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "count": {
- "example": 12,
- "type": "integer"
- },
- "depth": {
- "example": 3,
+ "available_count": {
"type": "integer"
},
- "id": {
+ "market": {
"type": "string"
},
- "name": {
- "type": "string"
+ "offset": {
+ "type": "integer"
},
- "parent_id": {
- "type": "string"
+ "returned_count": {
+ "type": "integer"
+ },
+ "stores": {
+ "items": {
+ "$ref": "#/definitions/pandamart.Store"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "reddit.ArchivePost": {
+ "pandamart.Store": {
"properties": {
- "author": {
- "example": "reddit_user",
+ "address": {
"type": "string"
},
- "author_flair_text": {
+ "budget": {
+ "type": "integer"
+ },
+ "chain": {
+ "$ref": "#/definitions/pandamart.Chain"
+ },
+ "city": {
"type": "string"
},
- "author_fullname": {
+ "code": {
"type": "string"
},
- "created_utc": {
- "example": 1713484800,
- "type": "integer"
+ "distance_km": {
+ "type": "number"
},
- "crosspost_parent": {
+ "has_discount": {
+ "type": "boolean"
+ },
+ "hero_image_url": {
"type": "string"
},
- "distinguished": {
+ "is_delivery_available": {
+ "type": "boolean"
+ },
+ "is_pickup_available": {
+ "type": "boolean"
+ },
+ "latitude": {
+ "type": "number"
+ },
+ "longitude": {
+ "type": "number"
+ },
+ "minimum_delivery_fee": {
+ "type": "number"
+ },
+ "minimum_delivery_time_minutes": {
+ "type": "number"
+ },
+ "minimum_order_amount": {
+ "type": "number"
+ },
+ "name": {
"type": "string"
},
- "id": {
- "example": "1abcxyz",
+ "tags": {
+ "items": {
+ "$ref": "#/definitions/pandamart.Tag"
+ },
+ "type": "array"
+ },
+ "timezone": {
"type": "string"
},
- "link_flair_text": {
+ "web_path": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "pandamart.StoreResponse": {
+ "properties": {
+ "address": {
"type": "string"
},
- "num_comments": {
- "example": 12,
+ "budget": {
"type": "integer"
},
- "over_18": {
- "type": "boolean"
+ "chain": {
+ "$ref": "#/definitions/pandamart.Chain"
},
- "post_hint": {
+ "city": {
"type": "string"
},
- "removed_by_category": {
+ "code": {
"type": "string"
},
- "retrieved_on": {
- "example": 1713484820,
- "type": "integer"
+ "distance_km": {
+ "type": "number"
},
- "score": {
- "example": 42,
- "type": "integer"
+ "has_discount": {
+ "type": "boolean"
},
- "selftext": {
+ "hero_image_url": {
"type": "string"
},
- "spoiler": {
+ "is_delivery_available": {
"type": "boolean"
},
- "subreddit": {
- "example": "OpenAI",
- "type": "string"
+ "is_pickup_available": {
+ "type": "boolean"
},
- "subreddit_id": {
- "type": "string"
+ "latitude": {
+ "type": "number"
},
- "title": {
+ "longitude": {
+ "type": "number"
+ },
+ "market": {
"type": "string"
},
- "url": {
+ "minimum_delivery_fee": {
+ "type": "number"
+ },
+ "minimum_delivery_time_minutes": {
+ "type": "number"
+ },
+ "minimum_order_amount": {
+ "type": "number"
+ },
+ "name": {
"type": "string"
- }
- },
- "type": "object"
- },
- "reddit.ArchivePostsIDsResponse": {
- "properties": {
- "missing_ids": {
- "items": {
- "type": "string"
- },
- "type": "array"
},
- "posts": {
+ "tags": {
"items": {
- "$ref": "#/definitions/reddit.ArchivePost"
+ "$ref": "#/definitions/pandamart.Tag"
},
"type": "array"
},
- "requested_count": {
- "type": "integer"
- },
- "returned_count": {
- "type": "integer"
+ "timezone": {
+ "type": "string"
},
- "source": {
- "$ref": "#/definitions/reddit.ArchiveBatchSource"
+ "web_path": {
+ "type": "string"
}
},
"type": "object"
},
- "reddit.ArchivePostsSearchResponse": {
+ "pandamart.StoreSearchResponse": {
"properties": {
- "author": {
+ "code": {
"type": "string"
},
- "created_after": {
- "type": "string"
+ "has_more": {
+ "type": "boolean"
},
- "created_before": {
+ "limit": {
+ "type": "integer"
+ },
+ "market": {
"type": "string"
},
- "limit": {
- "example": 25,
+ "page": {
"type": "integer"
},
- "posts": {
+ "products": {
"items": {
- "$ref": "#/definitions/reddit.ArchivePost"
+ "$ref": "#/definitions/pandamart.Product"
},
"type": "array"
},
@@ -173838,2083 +181646,2414 @@
"type": "string"
},
"sort": {
- "example": "desc",
"type": "string"
},
- "source": {
- "$ref": "#/definitions/reddit.SourceDetail"
- },
- "subreddit": {
+ "total_products": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "pandamart.Tag": {
+ "properties": {
+ "code": {
"type": "string"
},
- "url": {
+ "text": {
"type": "string"
- },
- "url_exact": {
- "type": "boolean"
}
},
"type": "object"
},
- "reddit.ArchiveSubreddit": {
+ "pandamart.categoriesResponseDoc": {
"properties": {
- "created_utc": {
- "example": 1449870564,
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
- "display_name": {
- "example": "OpenAI",
- "type": "string"
- },
- "id": {
- "example": "3b9u5",
- "type": "string"
- },
- "over_18": {
- "type": "boolean"
+ "data": {
+ "$ref": "#/definitions/pandamart.CategoriesResponse"
},
- "retrieved_on": {
- "example": 1739566084,
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "pandamart.productDetailResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
- "subscribers": {
- "example": 2239919,
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/pandamart.ProductDetailResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "reddit.ArchiveSubredditsSearchResponse": {
+ "pandamart.productsResponseDoc": {
"properties": {
- "limit": {
- "example": 25,
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
- "max_subscribers": {
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/pandamart.ProductsResponse"
},
- "min_subscribers": {
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "pandamart.searchResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
- "over_18": {
- "type": "boolean"
+ "data": {
+ "$ref": "#/definitions/pandamart.SearchResponse"
},
- "query": {
- "type": "string"
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "pandamart.storeResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
},
- "sort": {
- "example": "desc",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/pandamart.StoreResponse"
},
- "sort_by": {
- "example": "subscribers",
- "type": "string"
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "pandamart.storeSearchResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
},
- "source": {
- "$ref": "#/definitions/reddit.SourceDetail"
+ "data": {
+ "$ref": "#/definitions/pandamart.StoreSearchResponse"
},
- "subreddits": {
- "items": {
- "$ref": "#/definitions/reddit.ArchiveSubreddit"
- },
- "type": "array"
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "reddit.ArchiveTimeSeriesPoint": {
+ "panera.AtWorkDropOff": {
"properties": {
- "date": {
- "example": 1704067200,
- "type": "integer"
+ "cutoff_time": {
+ "example": "09:00",
+ "type": "string"
},
- "value": {
- "example": 24979,
- "type": "number"
+ "day_of_week": {
+ "example": "Monday",
+ "type": "string"
+ },
+ "drop_off_time": {
+ "example": "10:45",
+ "type": "string"
}
},
"type": "object"
},
- "reddit.ArchiveTimeSeriesResponse": {
+ "panera.AtWorkLocation": {
"properties": {
- "created_after": {
- "example": "2024-01-01",
+ "active": {
+ "example": true,
+ "type": "boolean"
+ },
+ "city": {
+ "example": "Fenton",
"type": "string"
},
- "created_before": {
- "example": "2025-01-01",
+ "contact_name": {
"type": "string"
},
- "metric": {
- "example": "posts_count",
+ "contact_phone": {
"type": "string"
},
- "points": {
+ "country": {
+ "example": "US",
+ "type": "string"
+ },
+ "drop_off_schedule": {
"items": {
- "$ref": "#/definitions/reddit.ArchiveTimeSeriesPoint"
+ "$ref": "#/definitions/panera.AtWorkDropOff"
},
"type": "array"
},
- "precision": {
- "example": "year",
+ "id": {
+ "example": "P2U-000320",
"type": "string"
},
- "source": {
- "$ref": "#/definitions/reddit.SourceDetail"
+ "latitude": {
+ "example": 38.5401336,
+ "type": "number"
},
- "subreddit": {
- "example": "OpenAI",
+ "lead_time_minutes": {
+ "example": 90,
+ "type": "integer"
+ },
+ "location_type": {
+ "example": "Office/Production Facility/Other",
+ "type": "string"
+ },
+ "longitude": {
+ "example": -90.4772361,
+ "type": "number"
+ },
+ "name": {
+ "example": "Panera Bread Support Center",
+ "type": "string"
+ },
+ "postal_code": {
+ "example": "63026",
+ "type": "string"
+ },
+ "service_cafe_id": {
+ "example": "600668",
+ "type": "string"
+ },
+ "state": {
+ "example": "MO",
+ "type": "string"
+ },
+ "street": {
+ "example": "1400 S Hwy Dr",
"type": "string"
}
},
"type": "object"
},
- "reddit.Author": {
+ "panera.AtWorkLocationsResponse": {
"properties": {
- "name": {
- "description": "Reddit username of the author.",
- "example": "reddit_user",
+ "count": {
+ "example": 2,
+ "type": "integer"
+ },
+ "fetched_at": {
"type": "string"
},
- "profile_url": {
- "description": "URL of the author's Reddit profile page.",
- "example": "https://www.reddit.com/user/reddit_user/",
+ "locations": {
+ "items": {
+ "$ref": "#/definitions/panera.AtWorkLocation"
+ },
+ "type": "array"
+ },
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "reddit.Comment": {
+ "panera.CafeResponse": {
"properties": {
- "author": {
- "allOf": [
- {
- "$ref": "#/definitions/reddit.Author"
- }
- ],
- "description": "Reddit user who wrote the comment."
+ "available": {
+ "example": true,
+ "type": "boolean"
},
- "award_count": {
- "description": "Number of awards the comment received. Set only when metrics are requested.",
+ "cafe_id": {
+ "example": 601447,
"type": "integer"
},
- "body": {
- "description": "Text of the comment as written by the author.",
- "example": "I agree with this post.",
+ "city": {
+ "example": "Addison",
"type": "string"
},
- "created": {
- "description": "Time the comment was posted, in UTC (RFC 3339).",
- "example": "2024-04-19T00:00:00Z",
+ "features": {
+ "description": "Features are Panera's own per-cafe amenity flags that are true for\nthis cafe (e.g. hasDriveThru, hasDelivery, hasCurbside, hasKiosk).",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "fetched_at": {
"type": "string"
},
- "created_utc": {
- "description": "Time the comment was posted, in Unix seconds.",
- "example": 1713484800,
- "type": "integer"
+ "fulfillment": {
+ "description": "Fulfillment is one entry per channel Panera publishes availability\nfor at this cafe.",
+ "items": {
+ "$ref": "#/definitions/panera.Fulfillment"
+ },
+ "type": "array"
},
- "depth": {
- "description": "Nesting level of the comment in the thread.",
- "example": 1,
- "type": "integer"
+ "latitude": {
+ "example": 41.948594,
+ "type": "number"
},
- "id": {
- "description": "Reddit comment id.",
- "example": "kabc123",
- "type": "string"
+ "longitude": {
+ "example": -88.026398,
+ "type": "number"
},
"name": {
- "description": "Reddit full name of the comment, the id prefixed with `t1_`.",
- "example": "t1_kabc123",
+ "example": "Addison - W Lake St east of Rohlwing Rd",
"type": "string"
},
- "parent_id": {
- "description": "Full name of the post or comment this comment replies to, for example `t3_1abcxyz`.",
- "example": "t3_1abcxyz",
+ "open_now": {
+ "example": true,
+ "type": "boolean"
+ },
+ "phone": {
+ "example": "630-250-4952",
"type": "string"
},
- "permalink": {
- "description": "Reddit URL of the comment.",
- "example": "https://www.reddit.com/r/OpenAI/comments/1abcxyz/openai_discussion_thread/kabc123/",
+ "postal_code": {
+ "example": "60101",
"type": "string"
},
- "replies": {
- "description": "Replies to this comment, in the same shape.",
+ "source_url": {
+ "type": "string"
+ },
+ "state": {
+ "example": "IL",
+ "type": "string"
+ },
+ "street": {
+ "example": "1600 West Lake Street",
+ "type": "string"
+ },
+ "timezone": {
+ "example": "America/Chicago",
+ "type": "string"
+ },
+ "upcoming_hours": {
+ "description": "UpcomingHours is the published storefront schedule for the next\ncalendar week, with concrete dates rather than abstract weekdays.",
"items": {
- "$ref": "#/definitions/reddit.Comment"
+ "$ref": "#/definitions/panera.UpcomingDay"
},
"type": "array"
- },
- "score": {
- "description": "Net score of the comment. Set only when metrics are requested.",
- "type": "integer"
}
},
"type": "object"
},
- "reddit.CommentsResponse": {
+ "panera.CateringCategory": {
"properties": {
- "comments": {
- "description": "Comments on the post.",
+ "cat_id": {
+ "example": 181,
+ "type": "integer"
+ },
+ "image_key": {
+ "type": "string"
+ },
+ "item_ids": {
+ "description": "ItemIDs are the items under this category. Look them up in the\nresponse's top-level Items list.",
"items": {
- "$ref": "#/definitions/reddit.Comment"
+ "type": "integer"
},
"type": "array"
},
- "metrics_source": {
- "allOf": [
- {
- "$ref": "#/definitions/reddit.SourceDetail"
- }
- ],
- "description": "Source the engagement metrics were read from, with its type and URL. Set only when metrics are requested."
- },
- "post": {
- "allOf": [
- {
- "$ref": "#/definitions/reddit.Post"
- }
- ],
- "description": "Post the comments belong to."
+ "name": {
+ "example": "Sandwiches",
+ "type": "string"
},
- "source": {
- "allOf": [
- {
- "$ref": "#/definitions/reddit.SourceDetail"
- }
- ],
- "description": "Reddit page the comments were read from."
+ "sort_weight": {
+ "type": "integer"
}
},
"type": "object"
},
- "reddit.DomainPostsResponse": {
+ "panera.CateringDeliveryInfoResponse": {
"properties": {
- "domain": {
- "example": "openai.com",
- "type": "string"
- },
- "pagination": {
- "$ref": "#/definitions/reddit.Pagination"
- },
- "posts": {
+ "available_dates": {
"items": {
- "$ref": "#/definitions/reddit.Post"
+ "$ref": "#/definitions/panera.CateringDeliverySlotDay"
},
"type": "array"
},
- "sort": {
- "example": "hot",
- "type": "string"
+ "cafe_id": {
+ "example": 606477,
+ "type": "integer"
},
- "source": {
- "$ref": "#/definitions/reddit.SourceDetail"
+ "delivery_fee": {
+ "example": 15,
+ "type": "number"
},
- "time": {
- "example": "week",
+ "fetched_at": {
"type": "string"
- }
- },
- "type": "object"
- },
- "reddit.MultiSubredditPostsResponse": {
- "properties": {
- "pagination": {
- "allOf": [
- {
- "$ref": "#/definitions/reddit.Pagination"
- }
- ],
- "description": "Page size and cursor for the next page."
},
- "posts": {
- "description": "Posts from the requested subreddits.",
+ "hours": {
"items": {
- "$ref": "#/definitions/reddit.Post"
+ "$ref": "#/definitions/panera.DayHours"
},
"type": "array"
},
- "sort": {
- "description": "Sort order that was applied, for example `hot`.",
- "example": "hot",
- "type": "string"
- },
- "source": {
- "allOf": [
- {
- "$ref": "#/definitions/reddit.SourceDetail"
- }
- ],
- "description": "Reddit page the posts were read from."
- },
- "subreddits": {
- "description": "Names of the subreddits that were queried.",
- "example": [
- "OpenAI",
- "MachineLearning"
- ],
+ "lead_times": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/panera.CateringDeliveryLeadTime"
},
"type": "array"
},
- "time": {
- "description": "Time window that was applied, for example `week`.",
- "example": "week",
+ "min_order_amount": {
+ "example": 50,
+ "type": "number"
+ },
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "reddit.Pagination": {
+ "panera.CateringDeliveryLeadTime": {
"properties": {
- "after": {
- "description": "Cursor to pass as the `after` parameter to fetch the next page.",
- "example": "t3_1abcxyz",
- "type": "string"
+ "is_large_order_tier": {
+ "example": true,
+ "type": "boolean"
},
- "limit": {
- "description": "Maximum number of items requested for this page.",
- "example": 25,
+ "lead_time_minutes": {
+ "example": 240,
"type": "integer"
+ },
+ "min_order_amount": {
+ "example": 750,
+ "type": "number"
}
},
"type": "object"
},
- "reddit.Post": {
+ "panera.CateringDeliverySlotDay": {
"properties": {
- "author": {
- "allOf": [
- {
- "$ref": "#/definitions/reddit.Author"
- }
- ],
- "description": "Reddit user who submitted the post."
- },
- "award_count": {
- "description": "Number of awards the post received. Set only when metrics are requested.",
- "type": "integer"
- },
- "comment_count": {
- "description": "Number of comments on the post. Set only when metrics are requested.",
- "type": "integer"
- },
- "created": {
- "description": "Time the post was submitted, in UTC (RFC 3339).",
- "example": "2024-04-19T00:00:00Z",
- "type": "string"
- },
- "created_utc": {
- "description": "Time the post was submitted, in Unix seconds.",
- "example": 1713484800,
- "type": "integer"
- },
- "domain": {
- "description": "Domain of the linked content, or `self.` for text posts.",
- "example": "self.OpenAI",
+ "date": {
+ "example": "2026-09-10",
"type": "string"
},
- "estimated_downvotes": {
- "description": "Approximate downvote total worked out from the score and upvote ratio. Reddit does not publish exact counts.",
- "type": "integer"
+ "ranges": {
+ "items": {
+ "$ref": "#/definitions/panera.HourRange"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "panera.CateringMenuItem": {
+ "properties": {
+ "allergens": {
+ "$ref": "#/definitions/panera.MenuAllergens"
},
- "estimated_upvotes": {
- "description": "Approximate upvote total worked out from the score and upvote ratio. Reddit does not publish exact counts.",
- "type": "integer"
+ "customizable": {
+ "example": true,
+ "type": "boolean"
},
- "flair": {
- "description": "Flair text attached to the post.",
- "example": "Discussion",
+ "description": {
"type": "string"
},
- "id": {
- "description": "Reddit post id.",
- "example": "1abcxyz",
+ "image_key": {
"type": "string"
},
- "is_self": {
- "description": "Whether the post is a text post rather than a link.",
- "type": "boolean"
- },
- "is_video": {
- "description": "Whether the post is a video.",
+ "in_stock": {
+ "description": "InStock reflects this cafe's live catering stockout feed for today's\nfulfillment date. false means Panera currently has this item\nunavailable to order for catering at this specific cafe.",
+ "example": true,
"type": "boolean"
},
- "locked": {
- "description": "Whether the post is locked against new comments.",
- "type": "boolean"
+ "item_id": {
+ "example": 647093,
+ "type": "integer"
},
"name": {
- "description": "Reddit full name of the post, the id prefixed with `t3_`.",
- "example": "t3_1abcxyz",
+ "example": "Ciabatta Sausage, Egg & Cheese Sandwich",
"type": "string"
},
- "over_18": {
- "description": "Whether the post is marked as 18+ content.",
- "type": "boolean"
+ "nutrients": {
+ "items": {
+ "$ref": "#/definitions/panera.MenuNutrient"
+ },
+ "type": "array"
},
- "permalink": {
- "description": "Reddit URL of the post's comments page.",
- "example": "https://www.reddit.com/r/OpenAI/comments/1abcxyz/openai_discussion_thread/",
+ "portion": {
+ "example": "Individual",
"type": "string"
},
- "score": {
- "description": "Net score of the post, upvotes minus downvotes as Reddit shows it. Set only when metrics are requested.",
- "type": "integer"
+ "price": {
+ "example": 10.99,
+ "type": "number"
},
- "selftext": {
- "description": "Body text of a text post.",
- "example": "Discussion body",
+ "product_type": {
+ "example": "SANDWICH",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "panera.CateringMenuResponse": {
+ "properties": {
+ "cafe_id": {
+ "example": 601447,
+ "type": "integer"
},
- "source_feed_url": {
- "description": "URL of the Reddit feed the post was read from.",
- "example": "https://www.reddit.com/r/OpenAI/.rss",
- "type": "string"
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/panera.CateringCategory"
+ },
+ "type": "array"
},
- "stickied": {
- "description": "Whether the post is pinned to the top of its subreddit.",
- "type": "boolean"
+ "count": {
+ "example": 257,
+ "type": "integer"
},
- "subreddit": {
- "description": "Name of the subreddit the post belongs to, without `r/`.",
- "example": "OpenAI",
+ "fetched_at": {
"type": "string"
},
- "thumbnail": {
- "description": "URL of the post thumbnail image.",
- "example": "https://b.thumbs.redditmedia.com/example.jpg",
- "type": "string"
+ "items": {
+ "items": {
+ "$ref": "#/definitions/panera.CateringMenuItem"
+ },
+ "type": "array"
},
- "title": {
- "description": "Title of the post as submitted.",
- "example": "OpenAI discussion thread",
+ "source_url": {
"type": "string"
- },
- "upvote_ratio": {
- "description": "Share of votes that are upvotes, from 0 to 1. Set only when metrics are requested.",
- "type": "number"
- },
- "url": {
- "description": "Reddit URL of the post.",
- "example": "https://www.reddit.com/r/OpenAI/comments/1abcxyz/openai_discussion_thread/",
+ }
+ },
+ "type": "object"
+ },
+ "panera.DayHours": {
+ "properties": {
+ "day_of_week": {
+ "example": "Monday",
"type": "string"
},
- "vote_counts_estimated": {
- "description": "Whether `estimated_upvotes` and `estimated_downvotes` are estimates.",
- "type": "boolean"
+ "ranges": {
+ "items": {
+ "$ref": "#/definitions/panera.HourRange"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "reddit.PostResponse": {
+ "panera.Fulfillment": {
"properties": {
- "metrics_source": {
- "allOf": [
- {
- "$ref": "#/definitions/reddit.SourceDetail"
- }
- ],
- "description": "Source the engagement metrics were read from, with its type and URL. Set only when metrics are requested."
+ "available": {
+ "example": true,
+ "type": "boolean"
},
- "post": {
- "allOf": [
- {
- "$ref": "#/definitions/reddit.Post"
- }
- ],
- "description": "The requested post."
+ "hours": {
+ "items": {
+ "$ref": "#/definitions/panera.DayHours"
+ },
+ "type": "array"
},
- "source": {
- "allOf": [
- {
- "$ref": "#/definitions/reddit.SourceDetail"
- }
- ],
- "description": "Reddit page the post was read from."
+ "lead_time_minutes": {
+ "example": 20,
+ "type": "integer"
+ },
+ "open_now": {
+ "example": true,
+ "type": "boolean"
+ },
+ "type": {
+ "example": "delivery",
+ "type": "string"
}
},
"type": "object"
},
- "reddit.SearchResponse": {
+ "panera.GeocodeResponse": {
"properties": {
- "pagination": {
- "allOf": [
- {
- "$ref": "#/definitions/reddit.Pagination"
- }
- ],
- "description": "Page size and cursor for the next page."
+ "address": {
+ "example": "Chicago, IL",
+ "type": "string"
},
- "posts": {
- "description": "Posts matching the search.",
+ "count": {
+ "example": 1,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "results": {
"items": {
- "$ref": "#/definitions/reddit.Post"
+ "$ref": "#/definitions/panera.GeocodeResult"
},
"type": "array"
},
- "query": {
- "description": "Search query that was run.",
- "example": "openai",
+ "source_url": {
"type": "string"
- },
- "sort": {
- "description": "Sort order that was applied, for example `relevance`.",
- "example": "relevance",
+ }
+ },
+ "type": "object"
+ },
+ "panera.GeocodeResult": {
+ "properties": {
+ "city": {
+ "example": "Chicago",
"type": "string"
},
- "source": {
- "allOf": [
- {
- "$ref": "#/definitions/reddit.SourceDetail"
- }
- ],
- "description": "Reddit page the results were read from."
+ "country": {
+ "example": "US",
+ "type": "string"
},
- "subreddit": {
- "description": "Subreddit the search was limited to. Omitted when the search covered all of Reddit.",
- "example": "OpenAI",
+ "formatted_address": {
+ "example": "Chicago, IL US",
"type": "string"
},
- "time": {
- "description": "Time window that was applied, for example `week`.",
- "example": "week",
+ "latitude": {
+ "example": 41.85003,
+ "type": "number"
+ },
+ "longitude": {
+ "example": -87.65005,
+ "type": "number"
+ },
+ "resolved": {
+ "description": "Resolved is false when Panera could not geocode the address at all\n(an empty, malformed, or nonsense query).",
+ "example": true,
+ "type": "boolean"
+ },
+ "state": {
+ "example": "IL",
"type": "string"
}
},
"type": "object"
},
- "reddit.SourceDetail": {
+ "panera.HourRange": {
"properties": {
- "type": {
- "description": "Kind of Reddit source the data was read from.",
- "example": "rss",
+ "close": {
+ "example": "21:00",
"type": "string"
},
- "url": {
- "description": "Reddit URL the data was read from.",
- "example": "https://www.reddit.com/r/OpenAI/.rss",
+ "open": {
+ "example": "06:00",
"type": "string"
}
},
"type": "object"
},
- "reddit.SubredditAboutResponse": {
+ "panera.ItemDetailResponse": {
"properties": {
- "display_name": {
- "description": "Subreddit name in `r/name` form.",
- "example": "r/OpenAI",
+ "allergens": {
+ "$ref": "#/definitions/panera.MenuAllergens"
+ },
+ "cafe_id": {
+ "example": 601447,
+ "type": "integer"
+ },
+ "description": {
"type": "string"
},
- "feed_url": {
- "description": "URL of the subreddit's Reddit feed that the recent posts were read from.",
- "example": "https://www.reddit.com/r/OpenAI.rss?limit=10",
+ "fetched_at": {
"type": "string"
},
- "latest_post_created": {
- "description": "Time the newest recent post was submitted, in UTC (RFC 3339).",
- "example": "2024-04-19T00:00:00Z",
+ "ingredient_statement": {
"type": "string"
},
- "latest_post_created_utc": {
- "description": "Time the newest recent post was submitted, in Unix seconds.",
- "example": 1713484800,
+ "item_id": {
+ "example": 650115,
"type": "integer"
},
- "public_url": {
- "description": "Public Reddit URL of the subreddit.",
- "example": "https://www.reddit.com/r/OpenAI/",
+ "name": {
+ "example": "Almond Pastry",
"type": "string"
},
- "recent_post_count": {
- "description": "Number of recent posts that were inspected.",
- "example": 10,
- "type": "integer"
- },
- "sample_posts": {
- "description": "Recent posts from the subreddit.",
+ "nutrients": {
"items": {
- "$ref": "#/definitions/reddit.Post"
+ "$ref": "#/definitions/panera.MenuNutrient"
},
"type": "array"
},
- "source": {
- "allOf": [
- {
- "$ref": "#/definitions/reddit.SourceDetail"
- }
- ],
- "description": "Reddit page the data was read from."
- },
- "subreddit": {
- "description": "Subreddit name, without `r/`.",
- "example": "OpenAI",
- "type": "string"
+ "sizes": {
+ "items": {
+ "$ref": "#/definitions/panera.ItemDetailSize"
+ },
+ "type": "array"
},
- "title": {
- "description": "Subreddit title as shown on Reddit.",
- "example": "OpenAI",
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "reddit.SubredditCommentsResponse": {
+ "panera.ItemDetailSize": {
"properties": {
- "comments": {
- "description": "Recent comments in the subreddit.",
- "items": {
- "$ref": "#/definitions/reddit.Comment"
- },
- "type": "array"
+ "calories": {
+ "example": 120,
+ "type": "number"
},
- "pagination": {
- "allOf": [
- {
- "$ref": "#/definitions/reddit.Pagination"
- }
- ],
- "description": "Page size and cursor for the next page."
+ "is_default": {
+ "example": true,
+ "type": "boolean"
},
- "source": {
- "allOf": [
- {
- "$ref": "#/definitions/reddit.SourceDetail"
- }
- ],
- "description": "Reddit page the comments were read from."
+ "item_id": {
+ "example": 646541,
+ "type": "integer"
},
- "subreddit": {
- "description": "Subreddit name, without `r/`.",
- "example": "OpenAI",
+ "name": {
+ "example": "Regular",
"type": "string"
+ },
+ "price": {
+ "example": 3.49,
+ "type": "number"
}
},
"type": "object"
},
- "reddit.SubredditPostsResponse": {
+ "panera.ItemOption": {
"properties": {
- "pagination": {
- "allOf": [
- {
- "$ref": "#/definitions/reddit.Pagination"
- }
- ],
- "description": "Page size and cursor for the next page."
+ "allergens": {
+ "$ref": "#/definitions/panera.MenuAllergens"
},
- "posts": {
- "description": "Posts in the subreddit.",
- "items": {
- "$ref": "#/definitions/reddit.Post"
- },
- "type": "array"
+ "default_qty": {
+ "example": 1,
+ "type": "integer"
},
- "sort": {
- "description": "Sort order that was applied, for example `hot`.",
- "example": "hot",
+ "image_key": {
+ "example": "pecans-whole-r",
"type": "string"
},
- "source": {
- "allOf": [
- {
- "$ref": "#/definitions/reddit.SourceDetail"
- }
- ],
- "description": "Reddit page the posts were read from."
+ "is_default": {
+ "example": true,
+ "type": "boolean"
},
- "subreddit": {
- "description": "Subreddit name, without `r/`.",
- "example": "OpenAI",
- "type": "string"
+ "item_id": {
+ "example": 4266,
+ "type": "integer"
},
- "time": {
- "description": "Time window that was applied, for example `week`.",
- "example": "week",
- "type": "string"
+ "variants": {
+ "items": {
+ "$ref": "#/definitions/panera.ItemOptionVariant"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "reddit.TrendsResponse": {
+ "panera.ItemOptionGroup": {
"properties": {
- "pagination": {
- "$ref": "#/definitions/reddit.Pagination"
+ "group_id": {
+ "example": 1080,
+ "type": "integer"
},
- "posts": {
+ "max_allowed": {
+ "example": 5,
+ "type": "integer"
+ },
+ "min_allowed": {
+ "example": 0,
+ "type": "integer"
+ },
+ "options": {
"items": {
- "$ref": "#/definitions/reddit.Post"
+ "$ref": "#/definitions/panera.ItemOption"
},
"type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "panera.ItemOptionVariant": {
+ "properties": {
+ "item_id": {
+ "example": 5741,
+ "type": "integer"
},
- "sort": {
- "example": "hot",
- "type": "string"
- },
- "source": {
- "$ref": "#/definitions/reddit.SourceDetail"
+ "price": {
+ "example": 0.69,
+ "type": "number"
},
- "time": {
- "example": "day",
+ "variant_type": {
+ "example": "Light",
"type": "string"
}
},
"type": "object"
},
- "reddit.UserCommentsResponse": {
+ "panera.ItemOptionsResponse": {
"properties": {
- "comments": {
- "description": "Recent public comments by the user.",
+ "cafe_id": {
+ "example": 601447,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "groups": {
"items": {
- "$ref": "#/definitions/reddit.Comment"
+ "$ref": "#/definitions/panera.ItemOptionGroup"
},
"type": "array"
},
- "pagination": {
- "allOf": [
- {
- "$ref": "#/definitions/reddit.Pagination"
- }
- ],
- "description": "Page size and cursor for the next page."
- },
- "source": {
- "allOf": [
- {
- "$ref": "#/definitions/reddit.SourceDetail"
- }
- ],
- "description": "Reddit page the comments were read from."
+ "item_id": {
+ "example": 643423,
+ "type": "integer"
},
- "username": {
- "description": "Reddit username that was queried.",
- "example": "reddit",
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "reddit.UserPostsResponse": {
+ "panera.LocationCafe": {
"properties": {
- "pagination": {
- "allOf": [
- {
- "$ref": "#/definitions/reddit.Pagination"
- }
- ],
- "description": "Page size and cursor for the next page."
+ "cafe_id": {
+ "example": 601447,
+ "type": "integer"
},
- "posts": {
- "description": "Recent public posts by the user.",
+ "city": {
+ "example": "Addison",
+ "type": "string"
+ },
+ "country_code": {
+ "example": "US",
+ "type": "string"
+ },
+ "features": {
+ "description": "Features are Panera's own per-cafe capability flags that are true for\nthis cafe (e.g. hasDriveThru, hasDelivery, hasCurbside, hasKiosk).",
"items": {
- "$ref": "#/definitions/reddit.Post"
+ "type": "string"
},
"type": "array"
},
- "source": {
- "allOf": [
- {
- "$ref": "#/definitions/reddit.SourceDetail"
- }
- ],
- "description": "Reddit page the posts were read from."
+ "latitude": {
+ "example": 41.948594,
+ "type": "number"
},
- "username": {
- "description": "Reddit username that was queried.",
- "example": "reddit",
+ "longitude": {
+ "example": -88.026398,
+ "type": "number"
+ },
+ "name": {
+ "example": "Addison - W Lake St east of Rohlwing Rd",
+ "type": "string"
+ },
+ "phone": {
+ "example": "630-250-4952",
+ "type": "string"
+ },
+ "postal_code": {
+ "example": "60101",
+ "type": "string"
+ },
+ "state": {
+ "example": "IL",
+ "type": "string"
+ },
+ "street": {
+ "example": "1600 West Lake Street",
"type": "string"
}
},
"type": "object"
},
- "reddit.archiveCommentsIDsResponseDoc": {
+ "panera.LocationCity": {
"properties": {
- "code": {
- "example": 200,
+ "cafe_count": {
+ "example": 1,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/reddit.ArchiveCommentsIDsResponse"
+ "cafes": {
+ "items": {
+ "$ref": "#/definitions/panera.LocationCafe"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "city": {
+ "example": "Addison",
"type": "string"
}
},
"type": "object"
},
- "reddit.archiveCommentsSearchResponseDoc": {
+ "panera.LocationsResponse": {
"properties": {
- "code": {
- "example": 200,
+ "cities": {
+ "description": "Cities lists every city in the requested state (or just the one\nmatching city, when both are given), each with its cafes. Populated\nonly when state is given.",
+ "items": {
+ "$ref": "#/definitions/panera.LocationCity"
+ },
+ "type": "array"
+ },
+ "city": {
+ "example": "Addison",
+ "type": "string"
+ },
+ "count": {
+ "example": 50,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/reddit.ArchiveCommentsSearchResponse"
+ "fetched_at": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "source_url": {
+ "type": "string"
+ },
+ "state": {
+ "example": "IL",
+ "type": "string"
+ },
+ "states": {
+ "description": "States lists every state Panera serves, with its cafe count. Populated\nonly when neither state nor city is given.",
+ "items": {
+ "$ref": "#/definitions/panera.StateSummary"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "panera.MenuAllergenEntry": {
+ "properties": {
+ "id": {
+ "example": "TREENUTS",
+ "type": "string"
+ },
+ "name": {
+ "example": "Tree Nuts",
"type": "string"
}
},
"type": "object"
},
- "reddit.archiveCommentsTreeResponseDoc": {
+ "panera.MenuAllergens": {
"properties": {
- "code": {
- "example": 200,
+ "contains": {
+ "items": {
+ "$ref": "#/definitions/panera.MenuAllergenEntry"
+ },
+ "type": "array"
+ },
+ "may_contain": {
+ "items": {
+ "$ref": "#/definitions/panera.MenuAllergenEntry"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "panera.MenuCategory": {
+ "properties": {
+ "cat_id": {
+ "example": 20,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/reddit.ArchiveCommentsTreeResponse"
+ "image_key": {
+ "example": "panini-and-sandwiches",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "item_ids": {
+ "description": "ItemIDs are the items directly under this category. Look them up in\nthe response's top-level Items list.",
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "name": {
+ "example": "Sandwiches",
"type": "string"
+ },
+ "sort_weight": {
+ "example": 6,
+ "type": "integer"
+ },
+ "subcategories": {
+ "items": {
+ "$ref": "#/definitions/panera.MenuCategory"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "reddit.archivePostsIDsResponseDoc": {
+ "panera.MenuItem": {
"properties": {
- "code": {
- "example": 200,
+ "allergens": {
+ "$ref": "#/definitions/panera.MenuAllergens"
+ },
+ "customizable": {
+ "example": true,
+ "type": "boolean"
+ },
+ "description": {
+ "type": "string"
+ },
+ "image_key": {
+ "example": "strawberry-poppyseed-salad-pantry-reno-half",
+ "type": "string"
+ },
+ "in_stock": {
+ "description": "InStock reflects this cafe's live stockout feed. false means Panera\ncurrently has this item unavailable to order at this specific cafe.",
+ "example": true,
+ "type": "boolean"
+ },
+ "item_id": {
+ "example": 1805,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/reddit.ArchivePostsIDsResponse"
+ "name": {
+ "example": "Half Strawberry Poppyseed Salad",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "nutrients": {
+ "items": {
+ "$ref": "#/definitions/panera.MenuNutrient"
+ },
+ "type": "array"
+ },
+ "price": {
+ "example": 6.19,
+ "type": "number"
+ },
+ "product_type": {
+ "example": "SALAD",
"type": "string"
+ },
+ "tags": {
+ "description": "Tags are Panera's own merchandising badges for this item (e.g.\nNEW_PRODUCT, LIMITED_TIME, IN_SEASON, ITS_BACK, MY_PANERA_EXCLUSIVE).\nBest-effort: badges are fetched from a separate feed keyed to a\ndifferent id space than the rest of this catalog, so not every item\nresolves one -- see common.go's package doc.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "wellness": {
+ "description": "Wellness are Panera's own dietary labels (e.g. Vegan, Vegetarian,\nGluten Conscious).",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "reddit.archivePostsSearchResponseDoc": {
+ "panera.MenuNutrient": {
"properties": {
- "code": {
- "example": 200,
+ "name": {
+ "example": "Calories",
+ "type": "string"
+ },
+ "unit": {
+ "example": "Cal",
+ "type": "string"
+ },
+ "value": {
+ "example": 580,
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "panera.MenuResponse": {
+ "properties": {
+ "cafe_id": {
+ "example": 601447,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/reddit.ArchivePostsSearchResponse"
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/panera.MenuCategory"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "count": {
+ "example": 343,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "items": {
+ "items": {
+ "$ref": "#/definitions/panera.MenuItem"
+ },
+ "type": "array"
+ },
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "reddit.archiveSubredditsSearchResponseDoc": {
+ "panera.QuantityRule": {
"properties": {
- "code": {
- "example": 200,
+ "item_ids": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "name": {
+ "example": "Souffle",
+ "type": "string"
+ },
+ "scope": {
+ "example": "group",
+ "type": "string"
+ },
+ "windows": {
+ "items": {
+ "$ref": "#/definitions/panera.QuantityRuleWindow"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "panera.QuantityRuleWindow": {
+ "properties": {
+ "from_offset_days": {
+ "example": 0,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/reddit.ArchiveSubredditsSearchResponse"
+ "max_quantity": {
+ "example": 6,
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "to_offset_days": {
+ "example": 2,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "panera.QuantityRulesResponse": {
+ "properties": {
+ "cafe_id": {
+ "example": 601447,
+ "type": "integer"
+ },
+ "count": {
+ "example": 3,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "rules": {
+ "items": {
+ "$ref": "#/definitions/panera.QuantityRule"
+ },
+ "type": "array"
+ },
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "reddit.archiveTimeSeriesResponseDoc": {
+ "panera.RetiredProduct": {
"properties": {
- "code": {
- "example": 200,
+ "availability_stage": {
+ "description": "AvailabilityStage is Panera's own classification -- observed values\nare RETIRED (permanently discontinued) and SEASONAL (currently out of\nrotation, may return).",
+ "example": "SEASONAL",
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "image_key": {
+ "type": "string"
+ },
+ "item_id": {
+ "example": 650699,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/reddit.ArchiveTimeSeriesResponse"
+ "name": {
+ "example": "Italian Steak & Mozz",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "portion": {
+ "example": "Whole",
"type": "string"
}
},
"type": "object"
},
- "reddit.commentsResponseDoc": {
+ "panera.RetiredProductsResponse": {
"properties": {
- "code": {
- "example": 200,
+ "cafe_id": {
+ "example": 601447,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/reddit.CommentsResponse"
+ "count": {
+ "example": 332,
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "fetched_at": {
+ "type": "string"
+ },
+ "items": {
+ "items": {
+ "$ref": "#/definitions/panera.RetiredProduct"
+ },
+ "type": "array"
+ },
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "reddit.domainPostsResponseDoc": {
+ "panera.StateSummary": {
"properties": {
- "code": {
- "example": 200,
+ "cafe_count": {
+ "example": 85,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/reddit.DomainPostsResponse"
+ "country_code": {
+ "example": "US",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "state": {
+ "example": "IL",
"type": "string"
}
},
"type": "object"
},
- "reddit.leadsResponseDoc": {
+ "panera.TimeSlotWindow": {
"properties": {
- "code": {
- "example": 200,
+ "end_time": {
+ "example": "2026-09-10T11:15:00-05:00",
+ "type": "string"
+ },
+ "start_time": {
+ "example": "2026-09-10T11:10:00-05:00",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "panera.TimeSlotsResponse": {
+ "properties": {
+ "cafe_id": {
+ "example": 601447,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/redditleads.Response"
+ "close": {
+ "example": "21:00",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "count": {
+ "example": 178,
+ "type": "integer"
+ },
+ "date": {
+ "example": "2026-09-10",
+ "type": "string"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "open": {
+ "example": "06:00",
+ "type": "string"
+ },
+ "source_url": {
"type": "string"
+ },
+ "windows": {
+ "items": {
+ "$ref": "#/definitions/panera.TimeSlotWindow"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "reddit.multiSubredditPostsResponseDoc": {
+ "panera.UpcomingDay": {
"properties": {
- "code": {
- "example": 200,
+ "close": {
+ "example": "21:00",
+ "type": "string"
+ },
+ "closed": {
+ "example": false,
+ "type": "boolean"
+ },
+ "date": {
+ "example": "2026-09-02",
+ "type": "string"
+ },
+ "day_of_week": {
+ "example": "Wednesday",
+ "type": "string"
+ },
+ "open": {
+ "example": "06:00",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "panera.UpsellSuggestion": {
+ "properties": {
+ "item_id": {
+ "example": 7392,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/reddit.MultiSubredditPostsResponse"
+ "item_name": {
+ "example": "Bacon Turkey Bravo Sandwich on Thin Tom Basil - Retail - Half Portion",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "suggestions": {
+ "items": {
+ "$ref": "#/definitions/panera.UpsellSuggestionItem"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "panera.UpsellSuggestionItem": {
+ "properties": {
+ "item_id": {
+ "example": 801215,
+ "type": "integer"
+ },
+ "name": {
+ "example": "Extra Turkey",
"type": "string"
}
},
"type": "object"
},
- "reddit.postResponseDoc": {
+ "panera.UpsellSuggestionsResponse": {
"properties": {
- "code": {
- "example": 200,
+ "cafe_id": {
+ "example": 601447,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/reddit.PostResponse"
+ "count": {
+ "example": 513,
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "fetched_at": {
+ "type": "string"
+ },
+ "items": {
+ "items": {
+ "$ref": "#/definitions/panera.UpsellSuggestion"
+ },
+ "type": "array"
+ },
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "reddit.searchResponseDoc": {
+ "panera.atWorkLocationsResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/reddit.SearchResponse"
+ "$ref": "#/definitions/panera.AtWorkLocationsResponse"
},
"msg": {
- "example": "OK",
- "type": "string"
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "reddit.subredditAboutResponseDoc": {
+ "panera.cafeResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/reddit.SubredditAboutResponse"
+ "$ref": "#/definitions/panera.CafeResponse"
},
"msg": {
- "example": "OK",
- "type": "string"
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "reddit.subredditCommentsResponseDoc": {
+ "panera.cateringDeliveryInfoResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/reddit.SubredditCommentsResponse"
+ "$ref": "#/definitions/panera.CateringDeliveryInfoResponse"
},
"msg": {
- "example": "OK",
- "type": "string"
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "reddit.subredditPostsResponseDoc": {
+ "panera.cateringMenuResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/reddit.SubredditPostsResponse"
+ "$ref": "#/definitions/panera.CateringMenuResponse"
},
"msg": {
- "example": "OK",
- "type": "string"
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "reddit.trendsResponseDoc": {
+ "panera.geocodeResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/reddit.TrendsResponse"
+ "$ref": "#/definitions/panera.GeocodeResponse"
},
"msg": {
- "example": "OK",
- "type": "string"
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "reddit.userCommentsResponseDoc": {
+ "panera.itemDetailResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/reddit.UserCommentsResponse"
+ "$ref": "#/definitions/panera.ItemDetailResponse"
},
"msg": {
- "example": "OK",
- "type": "string"
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "reddit.userPostsResponseDoc": {
+ "panera.itemOptionsResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/reddit.UserPostsResponse"
+ "$ref": "#/definitions/panera.ItemOptionsResponse"
},
"msg": {
- "example": "OK",
- "type": "string"
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "redditleads.Lead": {
+ "panera.locationsResponseDoc": {
"properties": {
- "author": {
- "example": "someuser",
- "type": "string"
- },
- "comment_count": {
- "example": 12,
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
- "created": {
- "example": "2026-08-01T00:00:00Z",
- "type": "string"
- },
- "permalink": {
- "example": "https://www.reddit.com/r/smallbusiness/comments/1abcxyz/",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/panera.LocationsResponse"
},
- "post_score": {
- "example": 20,
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "panera.menuResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
- "reason": {
- "example": "Asking for a CRM and states a monthly budget.",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/panera.MenuResponse"
},
- "score": {
- "example": 9,
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "panera.quantityRulesResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
- "signals": {
- "items": {
- "$ref": "#/definitions/redditleads.Signal"
- },
- "type": "array"
- },
- "subreddit": {
- "example": "smallbusiness",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/panera.QuantityRulesResponse"
},
- "title": {
- "example": "Looking for a CRM for a 3-person team, budget ~$50/mo",
- "type": "string"
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "redditleads.Response": {
+ "panera.retiredProductsResponseDoc": {
"properties": {
- "classifier": {
- "example": "llm",
- "type": "string"
- },
- "degraded": {
- "example": false,
- "type": "boolean"
- },
- "leads": {
- "items": {
- "$ref": "#/definitions/redditleads.Lead"
- },
- "type": "array"
- },
- "min_score": {
- "example": 4,
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
- "model": {
- "example": "gpt-5.4",
- "type": "string"
- },
- "query": {
- "example": "crm for small teams",
- "type": "string"
- },
- "stats": {
- "$ref": "#/definitions/redditleads.Stats"
+ "data": {
+ "$ref": "#/definitions/panera.RetiredProductsResponse"
},
- "subreddit": {
- "example": "smallbusiness",
- "type": "string"
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "redditleads.Signal": {
+ "panera.timeSlotsResponseDoc": {
"properties": {
- "id": {
- "example": "explicit-ask",
- "type": "string"
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
},
- "label": {
- "example": "asking for a tool",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/panera.TimeSlotsResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "redditleads.Stats": {
+ "panera.upsellSuggestionsResponseDoc": {
"properties": {
- "classified": {
- "example": 12,
- "type": "integer"
- },
- "prefiltered": {
- "example": 88,
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
- "returned": {
- "example": 9,
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/panera.UpsellSuggestionsResponse"
},
- "scanned": {
- "example": 100,
- "type": "integer"
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "redfin.EstimateResponse": {
+ "papajohns.AllergenFlags": {
"properties": {
- "address": {
- "description": "Street address of the property.",
- "type": "string"
+ "egg": {
+ "type": "boolean"
},
- "baths": {
- "description": "Number of bathrooms.",
- "type": "number"
+ "fish": {
+ "type": "boolean"
},
- "beds": {
- "description": "Number of bedrooms.",
- "type": "number"
+ "milk": {
+ "type": "boolean"
},
- "city_time_series": {
- "description": "Monthly values for the city the property is in, ending at `updated_at`, for comparison.",
- "items": {
- "type": "number"
- },
- "type": "array"
+ "peanut": {
+ "type": "boolean"
},
- "county_time_series": {
- "description": "Monthly values for the county the property is in, ending at `updated_at`, for comparison.",
- "items": {
- "type": "number"
- },
- "type": "array"
+ "sesame": {
+ "type": "boolean"
},
- "estimate": {
- "description": "Redfin Estimate of the home's value, in US dollars. Omitted when Redfin shows no estimate.",
- "type": "number"
+ "shellfish": {
+ "type": "boolean"
},
- "estimate_text": {
- "description": "Estimate as Redfin displays it, for example `$1.85M`, or `Estimate Not Available`.",
- "type": "string"
+ "soy": {
+ "type": "boolean"
},
- "latitude": {
- "description": "Latitude of the property.",
- "type": "number"
+ "tree_nut": {
+ "type": "boolean"
},
- "listing_price": {
- "description": "Current listing price of the home, in US dollars.",
- "type": "number"
+ "wheat": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "papajohns.AllergenItem": {
+ "properties": {
+ "allergens": {
+ "$ref": "#/definitions/papajohns.AllergenFlags"
},
- "longitude": {
- "description": "Longitude of the property.",
- "type": "number"
+ "name": {
+ "example": "Original Crust",
+ "type": "string"
},
- "postal_code_time_series": {
- "description": "Monthly values for the postal code the property is in, ending at `updated_at`, for comparison.",
- "items": {
- "type": "number"
- },
- "type": "array"
+ "section": {
+ "example": "Crust Options",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "papajohns.AllergensResponse": {
+ "properties": {
+ "count": {
+ "example": 170,
+ "type": "integer"
},
- "property_id": {
- "description": "Redfin property id the estimate is for.",
- "example": "1715020",
+ "fetched_at": {
"type": "string"
},
- "property_time_series": {
- "description": "Monthly Redfin Estimate values for this property, in US dollars, ending at `updated_at`.",
+ "items": {
"items": {
- "type": "number"
+ "$ref": "#/definitions/papajohns.AllergenItem"
},
"type": "array"
},
- "sqft": {
- "description": "Interior living area in square feet.",
- "type": "number"
- },
- "updated_at": {
- "description": "Time the estimate history was last updated, in Unix milliseconds. The monthly series end at this date.",
- "type": "integer"
- },
- "year_built": {
- "description": "Year the home was built.",
- "type": "integer"
+ "source_url": {
+ "type": "string"
}
},
"type": "object"
},
- "redfin.PropertyItem": {
+ "papajohns.Deal": {
"properties": {
- "address": {
- "description": "Street address of the property.",
+ "description": {
"type": "string"
},
- "baths": {
- "description": "Number of bathrooms.",
- "type": "number"
- },
- "beds": {
- "description": "Number of bedrooms.",
- "type": "number"
- },
- "city": {
- "description": "City the property is in.",
+ "id": {
+ "example": "66262",
"type": "string"
},
- "days_on_market": {
- "description": "Number of days the home has been on the market.",
- "type": "integer"
- },
- "hoa_monthly": {
- "description": "Homeowners association fee per month.",
- "type": "number"
- },
- "image": {
- "description": "URL of the listing image.",
+ "image_url": {
"type": "string"
},
- "latitude": {
- "description": "Latitude of the property.",
- "type": "number"
- },
- "listing_id": {
- "description": "Redfin listing id of the current listing.",
+ "offer_code": {
+ "description": "OfferCode is the code the offer is redeemed with.",
+ "example": "EDNJX",
"type": "string"
},
- "longitude": {
- "description": "Longitude of the property.",
+ "price": {
+ "description": "Price is the offer price where the deal advertises one. A deal whose\nprice depends on what the customer builds reports 0.",
+ "example": 12.99,
"type": "number"
},
- "lot_size": {
- "description": "Size of the lot as Redfin lists it.",
+ "regular_price": {
+ "description": "RegularPrice is the struck-through pre-offer price, present only when\nthe deal actually advertises a saving.",
+ "example": 23.49,
"type": "number"
},
- "mls_number": {
- "description": "Multiple Listing Service (MLS) number of the listing.",
+ "tag": {
+ "description": "Tag is the merchandising label, e.g. \"Featured Deal\".",
+ "example": "Featured Deal",
"type": "string"
},
- "price": {
- "description": "Listing or sale price in US dollars.",
- "type": "number"
- },
- "price_per_sqft": {
- "description": "Price per square foot of living area.",
- "type": "number"
- },
- "property_id": {
- "description": "Redfin property id. Use it with the property, estimate and similar endpoints.",
- "example": "1715020",
+ "title": {
+ "example": "Ultimate Pepperoni Pizza",
"type": "string"
},
- "property_type": {
- "description": "Type of property, for example `Condo/Co-op`.",
+ "url": {
+ "description": "URL is the deal-builder link for this offer.",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "papajohns.DealsResponse": {
+ "properties": {
+ "count": {
+ "example": 16,
+ "type": "integer"
},
- "sqft": {
- "description": "Interior living area in square feet.",
- "type": "number"
+ "deals": {
+ "items": {
+ "$ref": "#/definitions/papajohns.Deal"
+ },
+ "type": "array"
},
- "state": {
- "description": "State the property is in.",
+ "fetched_at": {
"type": "string"
},
- "status": {
- "description": "Listing status as Redfin shows it, for example `Active`.",
- "type": "string"
+ "national_default": {
+ "description": "NationalDefault is true when no store was selected. National promotions\nare frequently placeholders prompting the customer to pick a store, so a\ncaller should prefer passing a store_id.",
+ "example": false,
+ "type": "boolean"
},
- "url": {
- "description": "Redfin page URL of the listing.",
+ "source_url": {
"type": "string"
},
- "year_built": {
- "description": "Year the home was built.",
+ "store_id": {
+ "example": 5054,
"type": "integer"
- },
- "zip": {
- "description": "ZIP or postal code of the property.",
- "type": "string"
}
},
"type": "object"
},
- "redfin.PropertyResponse": {
+ "papajohns.DirectoryChild": {
"properties": {
- "address": {
- "description": "Street address of the property.",
- "type": "string"
- },
- "baths": {
- "description": "Number of bathrooms.",
- "type": "number"
+ "is_store": {
+ "description": "IsStore marks a child that is a store page rather than another\ndirectory level -- call /papajohns/store with its path.",
+ "example": false,
+ "type": "boolean"
},
- "beds": {
- "description": "Number of bedrooms.",
- "type": "number"
+ "name": {
+ "example": "CA",
+ "type": "string"
},
- "city": {
- "description": "City the property is in.",
+ "path": {
+ "example": "united-states/ca",
"type": "string"
},
- "days_on_market": {
- "description": "Number of days the home has been on the market.",
+ "store_count": {
+ "description": "StoreCount is how many stores sit under this branch, as Yext reports\nit. Absent once children are stores themselves.",
+ "example": 222,
"type": "integer"
},
- "description": {
+ "url": {
"type": "string"
- },
- "facts": {
+ }
+ },
+ "type": "object"
+ },
+ "papajohns.DirectoryResponse": {
+ "properties": {
+ "children": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/papajohns.DirectoryChild"
},
"type": "array"
},
- "hoa_monthly": {
- "description": "Homeowners association fee per month.",
- "type": "number"
- },
- "image": {
- "description": "URL of the listing image.",
- "type": "string"
- },
- "latitude": {
- "description": "Latitude of the property.",
- "type": "number"
+ "count": {
+ "example": 120,
+ "type": "integer"
},
- "listing_id": {
- "description": "Redfin listing id of the current listing.",
+ "fetched_at": {
"type": "string"
},
- "longitude": {
- "description": "Longitude of the property.",
- "type": "number"
- },
- "lot_size": {
- "description": "Size of the lot as Redfin lists it.",
- "type": "number"
- },
- "mls_number": {
- "description": "Multiple Listing Service (MLS) number of the listing.",
+ "name": {
"type": "string"
},
- "price": {
- "description": "Listing or sale price in US dollars.",
- "type": "number"
- },
- "price_per_sqft": {
- "description": "Price per square foot of living area.",
- "type": "number"
- },
- "property_id": {
- "description": "Redfin property id. Use it with the property, estimate and similar endpoints.",
- "example": "1715020",
+ "path": {
+ "example": "united-states/ca",
"type": "string"
},
- "property_type": {
- "description": "Type of property, for example `Condo/Co-op`.",
+ "source_url": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "papajohns.IndiaAvailability": {
+ "properties": {
+ "blacked_out_channel_ids": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "sqft": {
- "description": "Interior living area in square feet.",
- "type": "number"
+ "blacked_out_days": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "state": {
- "description": "State the property is in.",
+ "blacked_out_store_ids": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "papajohns.IndiaCurrency": {
+ "properties": {
+ "code": {
+ "example": "₹",
"type": "string"
},
- "status": {
- "description": "Listing status as Redfin shows it, for example `Active`.",
+ "country_code": {
+ "example": "91",
"type": "string"
},
- "url": {
- "description": "Redfin page URL of the listing.",
+ "locale": {
+ "example": "en-IN",
"type": "string"
},
- "year_built": {
- "description": "Year the home was built.",
- "type": "integer"
- },
- "zip": {
- "description": "ZIP or postal code of the property.",
+ "name": {
+ "example": "Indian Rupee",
"type": "string"
}
},
"type": "object"
},
- "redfin.RegionTrendsResponse": {
+ "papajohns.IndiaDealChoice": {
"properties": {
- "avg_days_on_market": {
- "description": "Average number of days homes in the region spend on the market, as Redfin displays it.",
+ "category": {
+ "example": "Pizzas",
"type": "string"
},
- "avg_down_payment": {
- "description": "Average down payment in the region, as Redfin displays it, for example `35.7%`.",
+ "item_id": {
+ "example": "71",
"type": "string"
},
- "avg_num_offers": {
- "description": "Average number of offers per sold home in the region, as Redfin displays it.",
+ "name": {
+ "example": "MARGHERITA",
"type": "string"
},
- "median_list_per_sqft": {
- "description": "Median listing price per square foot in the region, as Redfin displays it.",
- "type": "string"
+ "price": {
+ "example": 399,
+ "type": "number"
},
- "median_list_price": {
- "description": "Median listing price in the region, as Redfin displays it, for example `$1.29M`.",
- "example": "$1.29M",
+ "size": {
+ "example": "Medium",
"type": "string"
},
- "median_sale_per_list": {
- "description": "Median ratio of sale price to listing price in the region, as Redfin displays it, for example `115.5%`.",
+ "size_id": {
+ "example": "2",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "papajohns.IndiaDealResponse": {
+ "properties": {
+ "buy_x": {
+ "type": "integer"
},
- "median_sale_per_sqft": {
- "description": "Median sale price per square foot in the region, as Redfin displays it.",
+ "category_id": {
+ "example": "11",
"type": "string"
},
- "median_sale_price": {
- "description": "Median sale price in the region, as Redfin displays it, for example `$1.76M`.",
- "example": "$1.76M",
+ "currency": {
+ "$ref": "#/definitions/papajohns.IndiaCurrency"
+ },
+ "description": {
+ "example": "Sakkath Combo",
"type": "string"
},
- "num_homes_on_market": {
- "description": "Number of homes currently on the market in the region, as Redfin displays it.",
+ "end_time": {
+ "example": "23:59:59",
"type": "string"
},
- "num_homes_sold": {
- "description": "Number of homes sold in the region, as Redfin displays it.",
+ "fetched_at": {
"type": "string"
},
- "region_id": {
- "description": "Redfin region id the trends are for.",
- "example": 17151,
+ "get_y": {
"type": "integer"
},
- "region_type": {
- "description": "Type of region: `1` neighborhood, `2` ZIP code, `5` county or `6` city.",
- "example": 6,
- "type": "integer"
+ "highest_of_two": {
+ "type": "boolean"
},
- "yoy_sale_per_sqft": {
- "description": "Year-over-year change in sale price per square foot, as Redfin displays it, for example `+12.6%`.",
+ "id": {
+ "example": "17",
"type": "string"
},
- "yoy_sale_price": {
- "description": "Year-over-year change in sale price, as Redfin displays it, for example `+14.0%`.",
+ "image_url": {
"type": "string"
- }
- },
- "type": "object"
- },
- "redfin.SearchResponse": {
- "properties": {
- "location": {
- "description": "Location that was searched, as entered or resolved.",
- "example": "San Francisco, CA",
+ },
+ "market": {
+ "example": "india",
"type": "string"
},
- "page": {
- "description": "Page number returned.",
- "example": 1,
- "type": "integer"
+ "name": {
+ "example": "Sakkath Veg Combo - Dine In",
+ "type": "string"
},
- "region_id": {
- "description": "Redfin region id the search ran against.",
- "example": 17151,
- "type": "integer"
+ "price": {
+ "description": "Price is the deal's fixed price when price_type is fixedPrice, and 0\nfor a computed deal (BuyXGetY, HalfAndHalf, variablePrice).",
+ "example": 699,
+ "type": "number"
},
- "region_type": {
- "description": "Type of region searched: `1` neighborhood, `2` ZIP code, `5` county or `6` city.",
- "example": 6,
- "type": "integer"
+ "price_type": {
+ "example": "fixedPrice",
+ "type": "string"
},
- "results": {
- "description": "Listings on this page, one item per property.",
+ "slots": {
"items": {
- "$ref": "#/definitions/redfin.PropertyItem"
+ "$ref": "#/definitions/papajohns.IndiaDealSlot"
},
"type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "start_time": {
+ "example": "00:00:00",
+ "type": "string"
+ },
+ "sum_of_two": {
+ "description": "SumOfTwo and HighestOfTwo describe how a two-item deal is priced when\nprice_type is HalfAndHalf.",
+ "type": "boolean"
}
},
"type": "object"
},
- "redfin.SimilarResponse": {
+ "papajohns.IndiaDealSlot": {
"properties": {
- "property_id": {
- "example": "1715020",
- "type": "string"
+ "choice_count": {
+ "example": 5,
+ "type": "integer"
},
- "results": {
+ "choices": {
"items": {
- "$ref": "#/definitions/redfin.PropertyItem"
+ "$ref": "#/definitions/papajohns.IndiaDealChoice"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "rednote.Channel": {
- "properties": {
+ },
"id": {
- "example": "homefeed.food_v3",
+ "example": "1376",
"type": "string"
},
"name": {
- "example": "Food",
+ "type": "string"
+ },
+ "optional": {
+ "example": false,
+ "type": "boolean"
+ },
+ "percentage_off": {
+ "type": "number"
+ },
+ "quantity": {
+ "example": 1,
+ "type": "integer"
+ },
+ "size": {
+ "example": "Medium",
"type": "string"
}
},
"type": "object"
},
- "rednote.Comment": {
+ "papajohns.IndiaMenuCategory": {
"properties": {
- "author": {
- "$ref": "#/definitions/rednote.CommentAuthor"
+ "description": {
+ "type": "string"
},
- "comment_id": {
- "example": "0123456789abcdef01234567",
+ "id": {
+ "example": "6",
"type": "string"
},
- "content": {
+ "image_url": {
"type": "string"
},
- "created_at": {
- "example": 1700000000,
+ "item_count": {
+ "example": 29,
"type": "integer"
},
- "ip_location": {
- "example": "Shanghai",
- "type": "string"
+ "items": {
+ "items": {
+ "$ref": "#/definitions/papajohns.IndiaMenuItem"
+ },
+ "type": "array"
},
- "like_count": {
- "example": 12,
- "type": "integer"
+ "name": {
+ "example": "Pizzas",
+ "type": "string"
},
- "sub_comment_count": {
- "example": 3,
+ "rank": {
+ "example": 7,
"type": "integer"
},
- "sub_comments": {
+ "subcategories": {
"items": {
- "$ref": "#/definitions/rednote.Comment"
+ "$ref": "#/definitions/papajohns.IndiaMenuSubcategory"
},
"type": "array"
}
},
"type": "object"
},
- "rednote.CommentAuthor": {
+ "papajohns.IndiaMenuFilters": {
"properties": {
- "avatar_url": {
+ "availability_filter_applied": {
+ "description": "AvailabilityFilterApplied is false unless store_id, channel_id, and day\nwere all supplied -- the operator's blackout rules need all three.",
+ "example": false,
+ "type": "boolean"
+ },
+ "category_id": {
"type": "string"
},
- "nickname": {
- "example": "synthetic_user",
+ "channel": {
+ "example": "Delivery",
"type": "string"
},
- "user_id": {
- "example": "000000000000000000000002",
+ "channel_id": {
"type": "string"
- }
- },
- "type": "object"
- },
- "rednote.CommentsResponse": {
- "properties": {
- "count": {
- "example": 20,
- "type": "integer"
},
- "cursor": {
+ "day": {
"type": "string"
},
- "has_more": {
- "type": "boolean"
+ "day_name": {
+ "example": "Monday",
+ "type": "string"
},
- "items": {
- "items": {
- "$ref": "#/definitions/rednote.Comment"
- },
- "type": "array"
+ "store_id": {
+ "type": "string"
},
- "note_id": {
- "example": "0123456789abcdef01234567",
+ "tag": {
"type": "string"
}
},
"type": "object"
},
- "rednote.ExploreCard": {
+ "papajohns.IndiaMenuItem": {
"properties": {
- "author": {
- "$ref": "#/definitions/rednote.NoteAuthor"
+ "availability": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/papajohns.IndiaAvailability"
+ }
+ ],
+ "description": "Availability lists the store/channel/day combinations where this item is\nblacked out. The item is unavailable only where all three match; empty\nlists mean it is available everywhere."
},
- "cover_url": {
+ "buy_x": {
+ "type": "integer"
+ },
+ "category_id": {
+ "example": "6",
"type": "string"
},
- "liked_count": {
- "example": 1255,
- "type": "integer"
+ "customizable": {
+ "description": "Customizable reports whether the item exposes a size/crust/topping tree.",
+ "example": true,
+ "type": "boolean"
},
- "note_id": {
- "example": "0123456789abcdef01234567",
+ "description": {
"type": "string"
},
- "note_url": {
+ "discounted": {
+ "example": false,
+ "type": "boolean"
+ },
+ "get_y": {
+ "type": "integer"
+ },
+ "id": {
+ "example": "71",
"type": "string"
},
- "title": {
+ "image_url": {
"type": "string"
},
- "type": {
- "example": "video",
+ "kind": {
+ "description": "Kind is \"item\" for an a la carte product or \"deal\" for a combo/offer.",
+ "example": "item",
"type": "string"
},
- "xsec_token": {
+ "name": {
+ "example": "MARGHERITA",
"type": "string"
- }
- },
- "type": "object"
- },
- "rednote.ExploreResponse": {
- "properties": {
- "channel_id": {
- "example": "homefeed_recommend",
+ },
+ "price": {
+ "description": "Price is the item's list price in the franchise currency. A deal with a\ncomputed price (BuyXGetY, HalfAndHalf, variablePrice) reports 0 here --\nread price_type instead.",
+ "example": 399,
+ "type": "number"
+ },
+ "price_type": {
+ "description": "PriceType is set on deals only: fixedPrice, BuyXGetY, HalfAndHalf, or\nvariablePrice.",
+ "example": "BuyXGetY",
"type": "string"
},
- "channels": {
+ "rank": {
+ "example": 1,
+ "type": "integer"
+ },
+ "sizes": {
+ "description": "Sizes is populated only when include_options=true.",
"items": {
- "$ref": "#/definitions/rednote.Channel"
+ "$ref": "#/definitions/papajohns.IndiaMenuSize"
},
"type": "array"
},
- "count": {
- "example": 30,
- "type": "integer"
+ "strike_off_price": {
+ "example": 499,
+ "type": "number"
},
- "items": {
+ "sub_category_id": {
+ "example": "4",
+ "type": "string"
+ },
+ "tags": {
+ "description": "Tags are the item's dietary/attribute markers, e.g. Veg, Non Veg, Spicy.",
"items": {
- "$ref": "#/definitions/rednote.ExploreCard"
+ "type": "string"
},
"type": "array"
+ },
+ "upsell": {
+ "example": false,
+ "type": "boolean"
}
},
"type": "object"
},
- "rednote.NoteAuthor": {
+ "papajohns.IndiaMenuItemResponse": {
"properties": {
- "avatar_url": {
- "type": "string"
- },
- "nickname": {
- "example": "synthetic_user",
+ "category": {
+ "description": "Category is the section this item was found under.",
+ "example": "Pizzas",
"type": "string"
},
- "user_id": {
- "example": "000000000000000000000002",
- "type": "string"
- }
- },
- "type": "object"
- },
- "rednote.NoteResponse": {
- "properties": {
- "author": {
- "$ref": "#/definitions/rednote.NoteAuthor"
+ "currency": {
+ "$ref": "#/definitions/papajohns.IndiaCurrency"
},
- "description": {
+ "fetched_at": {
"type": "string"
},
- "image_urls": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "item": {
+ "$ref": "#/definitions/papajohns.IndiaMenuItem"
},
- "note_id": {
- "example": "0123456789abcdef01234567",
+ "market": {
+ "example": "india",
"type": "string"
},
- "published_at": {
+ "source_url": {
"type": "string"
},
- "stats": {
- "$ref": "#/definitions/rednote.NoteStats"
- },
- "tags": {
+ "taxes": {
"items": {
- "$ref": "#/definitions/rednote.NoteTag"
+ "$ref": "#/definitions/papajohns.IndiaTax"
},
"type": "array"
- },
- "title": {
- "type": "string"
- },
- "type": {
- "example": "normal",
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "video_duration_seconds": {
- "type": "number"
- },
- "video_url": {
- "type": "string"
}
},
"type": "object"
},
- "rednote.NoteStats": {
+ "papajohns.IndiaMenuOptionChoice": {
"properties": {
- "collected_count": {
- "example": 7,
- "type": "integer"
+ "default": {
+ "example": true,
+ "type": "boolean"
},
- "comment_count": {
- "example": 3,
- "type": "integer"
+ "extra": {
+ "example": false,
+ "type": "boolean"
},
- "liked_count": {
- "example": 42,
- "type": "integer"
+ "half_price": {
+ "example": 399.5,
+ "type": "number"
},
- "share_count": {
- "example": 1,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "rednote.NoteTag": {
- "properties": {
"id": {
+ "example": "1",
+ "type": "string"
+ },
+ "image_url": {
"type": "string"
},
"name": {
- "example": "synthetic_tag",
+ "example": "Original Crust",
"type": "string"
+ },
+ "price": {
+ "example": 799,
+ "type": "number"
+ },
+ "removable": {
+ "example": false,
+ "type": "boolean"
+ },
+ "strike_off_price": {
+ "type": "number"
}
},
"type": "object"
},
- "rednote.SuggestItem": {
+ "papajohns.IndiaMenuOptionGroup": {
"properties": {
- "highlight_flags": {
+ "base_price": {
+ "example": true,
+ "type": "boolean"
+ },
+ "choices": {
"items": {
- "type": "boolean"
+ "$ref": "#/definitions/papajohns.IndiaMenuOptionChoice"
},
"type": "array"
},
- "search_type": {
- "example": "notes",
+ "halves_enabled": {
+ "example": true,
+ "type": "boolean"
+ },
+ "id": {
+ "example": "1",
"type": "string"
},
- "text": {
- "example": "coffee",
+ "name": {
+ "example": "Crust",
"type": "string"
},
- "type": {
- "example": "top_note",
+ "selection_rule": {
+ "example": "Exactly",
+ "type": "string"
+ },
+ "selection_spec": {
+ "example": "1",
"type": "string"
}
},
"type": "object"
},
- "rednote.SuggestResponse": {
+ "papajohns.IndiaMenuResponse": {
"properties": {
- "count": {
- "example": 10,
- "type": "integer"
- },
- "items": {
+ "categories": {
"items": {
- "$ref": "#/definitions/rednote.SuggestItem"
+ "$ref": "#/definitions/papajohns.IndiaMenuCategory"
},
"type": "array"
},
- "keyword": {
- "example": "coffee",
+ "currency": {
+ "$ref": "#/definitions/papajohns.IndiaCurrency"
+ },
+ "fetched_at": {
"type": "string"
},
- "search_cpl_id": {
+ "filters": {
+ "$ref": "#/definitions/papajohns.IndiaMenuFilters"
+ },
+ "item_count": {
+ "example": 114,
+ "type": "integer"
+ },
+ "market": {
+ "example": "india",
"type": "string"
},
- "word_request_id": {
+ "source_url": {
"type": "string"
+ },
+ "tags": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "taxes": {
+ "items": {
+ "$ref": "#/definitions/papajohns.IndiaTax"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "rednote.commentsResponseDoc": {
+ "papajohns.IndiaMenuSize": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "default": {
+ "example": true,
+ "type": "boolean"
},
- "data": {
- "$ref": "#/definitions/rednote.CommentsResponse"
+ "id": {
+ "example": "3",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "name": {
+ "example": "Large",
"type": "string"
+ },
+ "option_groups": {
+ "items": {
+ "$ref": "#/definitions/papajohns.IndiaMenuOptionGroup"
+ },
+ "type": "array"
+ },
+ "rank": {
+ "example": 1,
+ "type": "integer"
}
},
"type": "object"
},
- "rednote.exploreResponseDoc": {
+ "papajohns.IndiaMenuSubcategory": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "id": {
+ "example": "8",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/rednote.ExploreResponse"
+ "items": {
+ "items": {
+ "$ref": "#/definitions/papajohns.IndiaMenuItem"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "name": {
+ "example": "India Special",
"type": "string"
}
},
"type": "object"
},
- "rednote.noteResponseDoc": {
+ "papajohns.IndiaStore": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "address": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/rednote.NoteResponse"
+ "channels": {
+ "description": "Channels lists the order channels this store publishes hours for.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "email": {
"type": "string"
- }
- },
- "type": "object"
- },
- "rednote.suggestResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/rednote.SuggestResponse"
+ "hours": {
+ "items": {
+ "$ref": "#/definitions/papajohns.IndiaStoreHours"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "id": {
+ "example": "7",
+ "type": "string"
+ },
+ "latitude": {
+ "example": 12.840903161072498,
+ "type": "number"
+ },
+ "longitude": {
+ "example": 77.65593675511532,
+ "type": "number"
+ },
+ "name": {
+ "example": "PJPB - 360° Business Park, Electronics City BLR",
+ "type": "string"
+ },
+ "phone": {
+ "example": "9240244043",
+ "type": "string"
+ },
+ "store_code": {
+ "example": "QRyCHD",
"type": "string"
}
},
"type": "object"
},
- "reelshort.Actor": {
+ "papajohns.IndiaStoreHours": {
"properties": {
- "imdb_url": {
+ "channel": {
+ "example": "Take Away",
"type": "string"
},
- "name": {
+ "channel_id": {
+ "example": "2",
"type": "string"
},
- "photo_url": {
+ "closes": {
+ "example": "23:00:59",
+ "type": "string"
+ },
+ "day": {
+ "example": "Monday",
+ "type": "string"
+ },
+ "opens": {
+ "example": "11:00:00",
"type": "string"
}
},
"type": "object"
},
- "reelshort.Book": {
+ "papajohns.IndiaStoresResponse": {
"properties": {
- "cover_url": {
+ "channel": {
+ "example": "Delivery",
"type": "string"
},
- "description": {
+ "channel_id": {
"type": "string"
},
- "episodes": {
- "type": "integer"
- },
- "favorites": {
- "type": "integer"
- },
- "first_paid_episode": {
- "description": "FirstPaidEpisode is the episode number from which episodes are paid; 0\nwhen ReelShort lists none.",
+ "count": {
+ "example": 9,
"type": "integer"
},
- "has_trailer": {
- "type": "boolean"
- },
- "id": {
+ "fetched_at": {
"type": "string"
},
- "language": {
+ "market": {
+ "example": "india",
"type": "string"
},
- "plays": {
- "description": "Plays and Favorites are ReelShort's own read_count and collect_count.",
- "type": "integer"
+ "source_url": {
+ "type": "string"
},
- "tags": {
+ "stores": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/papajohns.IndiaStore"
},
"type": "array"
- },
- "title": {
- "type": "string"
- },
- "url": {
- "type": "string"
}
},
"type": "object"
},
- "reelshort.Episode": {
+ "papajohns.IndiaTax": {
"properties": {
- "free": {
+ "inclusive": {
+ "example": false,
"type": "boolean"
},
- "id": {
- "type": "string"
- },
- "kind": {
- "description": "episode or trailer",
- "type": "string"
- },
- "likes": {
- "type": "integer"
- },
- "number": {
- "description": "Number is the episode number; 0 is the trailer.",
- "type": "integer"
- },
- "published_at": {
+ "name": {
+ "example": "GST",
"type": "string"
},
- "thumbnail_url": {
+ "type": {
+ "example": "percentage",
"type": "string"
},
- "url": {
- "type": "string"
+ "value": {
+ "example": 5,
+ "type": "number"
}
},
"type": "object"
},
- "reelshort.FandomCategoriesResponse": {
+ "papajohns.IntlDeal": {
"properties": {
- "categories": {
+ "availability": {
+ "description": "Availability lists the weekdays the offer runs on.",
"items": {
- "$ref": "#/definitions/reelshort.FandomCategory"
+ "type": "string"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "reelshort.FandomCategory": {
- "properties": {
+ },
+ "category": {
+ "example": "app",
+ "type": "string"
+ },
"description": {
"type": "string"
},
+ "dispatch_method": {
+ "description": "DispatchMethod is the fulfillment this offer applies to.",
+ "example": "pj_delivery",
+ "type": "string"
+ },
+ "end_date": {
+ "example": "2026-09-30T23:45:00Z",
+ "type": "string"
+ },
"id": {
+ "example": 955,
"type": "integer"
},
+ "image_url": {
+ "type": "string"
+ },
"name": {
+ "example": "Combo Veranito delivery",
"type": "string"
},
- "posts": {
+ "offer_id": {
+ "description": "OfferID is set when this promotion is backed by a structured offer, and\nis the id GET /papajohns/intl/offer takes to return its full\ncomposition. Absent when the banner points at something else.",
+ "example": 660,
"type": "integer"
},
- "slug": {
+ "product": {
+ "description": "Product is the offer's headline product name.",
+ "example": "Combo Veranito",
+ "type": "string"
+ },
+ "start_date": {
+ "example": "2025-10-24T00:00:00Z",
"type": "string"
},
"url": {
@@ -175923,2285 +184062,2409 @@
},
"type": "object"
},
- "reelshort.FandomPost": {
+ "papajohns.IntlDealsResponse": {
"properties": {
- "categories": {
+ "count": {
+ "example": 1,
+ "type": "integer"
+ },
+ "deals": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/papajohns.IntlDeal"
},
"type": "array"
},
- "excerpt": {
+ "dispatch_method": {
+ "example": "pj_delivery",
"type": "string"
},
- "id": {
- "type": "integer"
- },
- "image_url": {
+ "fetched_at": {
"type": "string"
},
- "modified_at": {
+ "market": {
+ "example": "spain",
"type": "string"
},
- "published_at": {
+ "source_url": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "papajohns.IntlDeliveryZone": {
+ "properties": {
+ "delivery_price": {
+ "example": 0,
+ "type": "number"
},
- "slug": {
- "type": "string"
+ "minimum_order_for_delivery": {
+ "type": "number"
},
- "title": {
- "type": "string"
+ "minimum_order_for_free_delivery": {
+ "type": "number"
},
- "url": {
+ "name": {
+ "example": "Zona 1",
"type": "string"
}
},
"type": "object"
},
- "reelshort.FandomPostResponse": {
+ "papajohns.IntlIngredient": {
"properties": {
- "categories": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "available_as_half": {
+ "description": "AvailableAsHalf reports whether it can be applied to just one half.",
+ "example": true,
+ "type": "boolean"
},
- "content": {
- "description": "Content is the article body as plain text with paragraph breaks.",
+ "base": {
+ "description": "Base marks an ingredient included on the pizza by default.",
+ "example": false,
+ "type": "boolean"
+ },
+ "category": {
+ "description": "Category is the ingredient family, e.g. meat or vegetable.",
+ "example": "base_sauce",
"type": "string"
},
- "excerpt": {
+ "description": {
"type": "string"
},
"id": {
+ "example": 25,
"type": "integer"
},
"image_url": {
"type": "string"
},
- "modified_at": {
- "type": "string"
- },
- "published_at": {
- "type": "string"
- },
- "slug": {
- "type": "string"
- },
- "title": {
+ "name": {
+ "example": "Salsa de Tomate",
"type": "string"
},
- "title_ids": {
- "description": "TitleIDs are the ReelShort title ids the article links to, in order of\nfirst appearance; pass them to reelshort-movie.",
- "items": {
- "type": "string"
+ "premium": {
+ "description": "Premium marks an ingredient charged at the premium rate rather than the\nnormal one.",
+ "example": false,
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "papajohns.IntlIngredientPrices": {
+ "properties": {
+ "normal": {
+ "additionalProperties": {
+ "format": "float64",
+ "type": "number"
},
- "type": "array"
+ "type": "object"
},
- "url": {
- "type": "string"
+ "premium": {
+ "additionalProperties": {
+ "format": "float64",
+ "type": "number"
+ },
+ "type": "object"
}
},
"type": "object"
},
- "reelshort.FandomPostsResponse": {
+ "papajohns.IntlIngredientsResponse": {
"properties": {
"category": {
+ "example": "meat",
"type": "string"
},
- "limit": {
+ "count": {
+ "example": 39,
"type": "integer"
},
- "page": {
- "type": "integer"
+ "fetched_at": {
+ "type": "string"
},
- "posts": {
+ "ingredients": {
"items": {
- "$ref": "#/definitions/reelshort.FandomPost"
+ "$ref": "#/definitions/papajohns.IntlIngredient"
},
"type": "array"
},
- "search": {
+ "market": {
+ "example": "spain",
"type": "string"
},
- "total": {
+ "menu_id": {
+ "example": 8,
"type": "integer"
},
- "total_pages": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "reelshort.HomeResponse": {
- "properties": {
- "language": {
- "type": "string"
+ "prices": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/papajohns.IntlIngredientPrices"
+ }
+ ],
+ "description": "Prices is what adding one extra ingredient costs, keyed by size code."
},
- "shelves": {
- "items": {
- "$ref": "#/definitions/reelshort.Shelf"
+ "sizes": {
+ "additionalProperties": {
+ "type": "string"
},
- "type": "array"
+ "type": "object"
+ },
+ "source_url": {
+ "type": "string"
}
},
"type": "object"
},
- "reelshort.MovieResponse": {
+ "papajohns.IntlMenuProduct": {
"properties": {
- "actors": {
- "items": {
- "$ref": "#/definitions/reelshort.Actor"
- },
- "type": "array"
- },
- "ai_generated": {
+ "alcohol": {
"type": "boolean"
},
- "badge": {
+ "category": {
+ "example": "pizza",
"type": "string"
},
- "cover_url": {
+ "currency": {
+ "example": "EUR",
"type": "string"
},
+ "customizable": {
+ "type": "boolean"
+ },
"description": {
"type": "string"
},
- "dubbed": {
- "type": "boolean"
- },
- "episode_count": {
- "description": "EpisodeCount counts the numbered episodes; the trailer is not included\n(ReelShort's own total on its movie page does include it).",
- "type": "integer"
+ "discount": {
+ "type": "number"
},
- "episodes": {
+ "food_type": {
+ "description": "FoodType carries dietary markers the platform publishes, e.g. vegetarian.",
"items": {
- "$ref": "#/definitions/reelshort.Episode"
+ "type": "string"
},
"type": "array"
},
- "favorites": {
- "type": "integer"
- },
- "first_paid_episode": {
- "type": "integer"
- },
"id": {
- "type": "string"
+ "example": 8,
+ "type": "integer"
},
- "imdb_url": {
+ "image_url": {
"type": "string"
},
- "language": {
- "type": "string"
+ "initial_price": {
+ "type": "number"
},
- "online_at": {
+ "kind": {
+ "description": "Kind is \"pizza\" or \"side\" -- the platform's two product families.",
+ "example": "pizza",
"type": "string"
},
- "original_language": {
+ "name": {
+ "example": "Super Papa",
"type": "string"
},
- "plays": {
- "type": "integer"
+ "price": {
+ "description": "Price is set only for a product the platform prices directly rather than\nthrough variants. Read variants for anything with sizes or crusts.",
+ "type": "number"
},
- "published_at": {
- "type": "string"
+ "price_from": {
+ "description": "PriceFrom is the cheapest variant price, so a caller can rank products\nwithout walking every variant. Absent when the product has no priced\nvariant and no direct price.",
+ "example": 14.99,
+ "type": "number"
},
- "tags": {
+ "variants": {
"items": {
- "$ref": "#/definitions/reelshort.Tag"
+ "$ref": "#/definitions/papajohns.IntlMenuVariant"
},
"type": "array"
- },
- "title": {
- "type": "string"
- },
- "update_status": {
- "description": "UpdateStatus is ReelShort's raw update_status flag (1 on every title\nsampled on 2026-10-26); it is not interpreted.",
- "type": "integer"
- },
- "url": {
- "type": "string"
}
},
"type": "object"
},
- "reelshort.NewReleasesResponse": {
+ "papajohns.IntlMenuResponse": {
"properties": {
- "books": {
- "items": {
- "$ref": "#/definitions/reelshort.Book"
+ "count": {
+ "example": 43,
+ "type": "integer"
+ },
+ "crusts": {
+ "additionalProperties": {
+ "type": "string"
},
- "type": "array"
+ "type": "object"
},
- "language": {
+ "currency": {
+ "example": "EUR",
"type": "string"
- }
- },
- "type": "object"
- },
- "reelshort.RelatedTag": {
- "properties": {
- "id": {
+ },
+ "fetched_at": {
"type": "string"
},
- "name": {
+ "food_type": {
+ "example": "vegetarian",
"type": "string"
- }
- },
- "type": "object"
- },
- "reelshort.SearchResponse": {
- "properties": {
- "books": {
- "items": {
- "$ref": "#/definitions/reelshort.Book"
- },
- "type": "array"
},
- "keywords": {
+ "kind": {
+ "example": "pizza",
"type": "string"
},
- "language": {
+ "market": {
+ "example": "spain",
"type": "string"
},
- "page": {
- "type": "integer"
+ "products": {
+ "items": {
+ "$ref": "#/definitions/papajohns.IntlMenuProduct"
+ },
+ "type": "array"
},
- "total": {
- "description": "Total is approximate: ReelShort's search backend reports a count that\nvaries between calls for the same query.",
- "type": "integer"
+ "sizes": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Sizes and Crusts map every machine code used in this response to the\nmarket's own display label.",
+ "type": "object"
},
- "total_pages": {
+ "source_url": {
+ "type": "string"
+ },
+ "store_id": {
+ "example": 9,
"type": "integer"
}
},
"type": "object"
},
- "reelshort.Shelf": {
+ "papajohns.IntlMenuVariant": {
"properties": {
- "books": {
- "items": {
- "$ref": "#/definitions/reelshort.Book"
- },
- "type": "array"
+ "crust": {
+ "example": "traditional",
+ "type": "string"
},
- "id": {
- "type": "integer"
+ "crust_label": {
+ "example": "Original",
+ "type": "string"
+ },
+ "currency": {
+ "example": "EUR",
+ "type": "string"
+ },
+ "discount": {
+ "type": "number"
+ },
+ "initial_price": {
+ "description": "InitialPrice is the pre-discount price when a promotion is active.",
+ "type": "number"
},
"name": {
+ "description": "Name is the variant's own label where the platform gives it one, e.g. a\ndrink's \"500ML\". Pizza variants are identified by size and crust instead.",
+ "example": "500ML",
+ "type": "string"
+ },
+ "nutrition": {
+ "$ref": "#/definitions/papajohns.IntlNutrition"
+ },
+ "price": {
+ "example": 19.98,
+ "type": "number"
+ },
+ "size": {
+ "description": "Size and Crust are the platform's stable machine codes.",
+ "example": "family",
+ "type": "string"
+ },
+ "size_label": {
+ "description": "SizeLabel and CrustLabel are the market's own display names for those\ncodes, in the local language.",
+ "example": "Familiar",
"type": "string"
}
},
"type": "object"
},
- "reelshort.ShelfResponse": {
+ "papajohns.IntlNutrition": {
"properties": {
- "books": {
- "items": {
- "$ref": "#/definitions/reelshort.Book"
- },
- "type": "array"
+ "calories": {
+ "example": 1090,
+ "type": "number"
},
- "id": {
- "type": "integer"
+ "grams": {
+ "example": 470,
+ "type": "number"
},
- "name": {
+ "portions": {
+ "example": "8",
"type": "string"
- },
- "total": {
- "type": "integer"
}
},
"type": "object"
},
- "reelshort.Tag": {
+ "papajohns.IntlOfferChoice": {
"properties": {
- "category_id": {
+ "crust": {
+ "example": "traditional",
"type": "string"
},
- "id": {
+ "crust_label": {
+ "example": "Original",
"type": "string"
},
- "kind": {
+ "description": {
"type": "string"
},
"name": {
+ "example": "Italiana Ranch",
+ "type": "string"
+ },
+ "product_id": {
+ "description": "ProductID is the underlying product, usable with\nGET /papajohns/intl/product.",
+ "example": 336,
+ "type": "integer"
+ },
+ "size": {
+ "example": "family",
+ "type": "string"
+ },
+ "size_label": {
+ "description": "SizeLabel and CrustLabel are the market's own display names.",
+ "example": "Familiar",
"type": "string"
+ },
+ "surcharge": {
+ "description": "Surcharge is what picking this choice adds to the offer price. Absent\nwhen the choice costs nothing extra.",
+ "example": 1.9,
+ "type": "number"
+ },
+ "variant_id": {
+ "example": 830,
+ "type": "integer"
}
},
"type": "object"
},
- "reelshort.TagBooksResponse": {
+ "papajohns.IntlOfferResponse": {
"properties": {
- "books": {
+ "availability": {
+ "description": "Availability lists the weekdays the offer runs on.",
"items": {
- "$ref": "#/definitions/reelshort.Book"
+ "type": "string"
},
"type": "array"
},
+ "currency": {
+ "example": "EUR",
+ "type": "string"
+ },
+ "customizable": {
+ "example": true,
+ "type": "boolean"
+ },
"description": {
"type": "string"
},
- "limit": {
- "type": "integer"
+ "discount": {
+ "type": "number"
},
- "page": {
+ "dispatch_method": {
+ "description": "DispatchMethod is the fulfillment this offer applies to, e.g. both.",
+ "example": "both",
+ "type": "string"
+ },
+ "end_date": {
+ "example": "2026-09-21T23:45:00Z",
+ "type": "string"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "free_extras": {
+ "description": "FreeExtras is how many extra ingredients are included at no charge, and\nMinIngredients/MaxIngredients bound how many may be chosen.",
+ "example": 2,
"type": "integer"
},
- "related_tags": {
- "items": {
- "$ref": "#/definitions/reelshort.RelatedTag"
- },
- "type": "array"
+ "id": {
+ "example": 660,
+ "type": "integer"
},
- "tag": {
- "$ref": "#/definitions/reelshort.Tag"
+ "image_url": {
+ "type": "string"
},
- "top_titles": {
+ "ingredient_categories": {
+ "description": "IngredientCategories lists the ingredient families this offer allows.",
"items": {
- "$ref": "#/definitions/reelshort.TitleRef"
+ "type": "string"
},
"type": "array"
},
- "total_items": {
- "description": "TotalItems is ReelShort's total for the tag; paging can return fewer\ndistinct titles (a title can repeat across pages).",
+ "market": {
+ "example": "spain",
+ "type": "string"
+ },
+ "max_ingredients": {
+ "example": 10,
"type": "integer"
- }
- },
- "type": "object"
- },
- "reelshort.TagMatch": {
- "properties": {
- "category_id": {
+ },
+ "min_ingredients": {
+ "example": 1,
"type": "integer"
},
- "description": {
+ "name": {
+ "example": "Combo Veranito",
"type": "string"
},
- "id": {
+ "offer_type": {
+ "description": "OfferType is the platform's own classification, e.g. Combo.",
+ "example": "Combo",
"type": "string"
},
- "image_url": {
- "type": "string"
+ "price": {
+ "example": 19.98,
+ "type": "number"
},
- "kind": {
+ "promoted": {
+ "example": true,
+ "type": "boolean"
+ },
+ "source_url": {
"type": "string"
},
- "name": {
+ "start_date": {
+ "example": "2023-09-19T01:00:00Z",
"type": "string"
},
- "titles": {
- "description": "Titles is the number of titles ReelShort's search lists for the tag. It\nis approximate: reelshort-tag-books reports a different total for the\nsame tag.",
- "type": "integer"
+ "steps": {
+ "items": {
+ "$ref": "#/definitions/papajohns.IntlOfferStep"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "reelshort.TagSearchResponse": {
+ "papajohns.IntlOfferStep": {
"properties": {
- "language": {
- "type": "string"
- },
- "page": {
- "type": "integer"
- },
- "page_size": {
+ "choice_count": {
+ "example": 12,
"type": "integer"
},
- "tags": {
+ "choices": {
"items": {
- "$ref": "#/definitions/reelshort.TagMatch"
+ "$ref": "#/definitions/papajohns.IntlOfferChoice"
},
"type": "array"
},
- "total": {
+ "id": {
+ "example": 1919,
"type": "integer"
},
- "word": {
+ "name": {
+ "example": "❶ Elige tu pizza familiar",
"type": "string"
+ },
+ "optional": {
+ "description": "Optional reports whether the step may be skipped.",
+ "example": false,
+ "type": "boolean"
}
},
"type": "object"
},
- "reelshort.TagsResponse": {
+ "papajohns.IntlProductResponse": {
"properties": {
+ "available_as_half": {
+ "description": "AvailableAsHalf reports whether this product may be used as one half of\na half-and-half pizza.",
+ "example": true,
+ "type": "boolean"
+ },
"category": {
+ "example": "pizza",
"type": "string"
},
- "category_id": {
- "type": "integer"
+ "cheese_changeable": {
+ "example": true,
+ "type": "boolean"
},
- "language": {
+ "customizable": {
+ "description": "Customizable reports whether toppings may be changed on this product.",
+ "example": true,
+ "type": "boolean"
+ },
+ "description": {
"type": "string"
},
- "tags": {
+ "fetched_at": {
+ "type": "string"
+ },
+ "food_type": {
"items": {
- "$ref": "#/definitions/reelshort.Tag"
+ "type": "string"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "reelshort.TitleRef": {
- "properties": {
+ },
+ "free_extras": {
+ "description": "FreeExtras is how many extra ingredients are included at no charge.",
+ "example": 2,
+ "type": "integer"
+ },
"id": {
+ "example": 8,
+ "type": "integer"
+ },
+ "image_url": {
"type": "string"
},
- "title": {
+ "image_urls": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "market": {
+ "example": "spain",
"type": "string"
- }
- },
- "type": "object"
- },
- "reelshort.fandomCategoriesResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/reelshort.FandomCategoriesResponse"
+ "name": {
+ "example": "Super Papa",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "slug": {
+ "example": "super-papa",
+ "type": "string"
+ },
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "reelshort.fandomPostResponseDoc": {
+ "papajohns.IntlStore": {
"properties": {
- "code": {
- "example": 200,
+ "address": {
+ "type": "string"
+ },
+ "city": {
+ "example": "Madrid",
+ "type": "string"
+ },
+ "delivery_open": {
+ "example": true,
+ "type": "boolean"
+ },
+ "delivery_wait_minutes": {
+ "example": 30,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/reelshort.FandomPostResponse"
+ "delivery_zones": {
+ "items": {
+ "$ref": "#/definitions/papajohns.IntlDeliveryZone"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
- "type": "string"
- }
- },
- "type": "object"
- },
- "reelshort.fandomPostsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ "external_delivery": {
+ "example": true,
+ "type": "boolean"
+ },
+ "future_orders": {
+ "example": true,
+ "type": "boolean"
+ },
+ "hours": {
+ "items": {
+ "$ref": "#/definitions/papajohns.IntlStoreHours"
+ },
+ "type": "array"
+ },
+ "id": {
+ "example": 9,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/reelshort.FandomPostsResponse"
+ "latitude": {
+ "example": 40.401686,
+ "type": "number"
},
- "msg": {
- "example": "OK",
+ "longitude": {
+ "example": -3.708348,
+ "type": "number"
+ },
+ "map_url": {
"type": "string"
- }
- },
- "type": "object"
- },
- "reelshort.homeResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ },
+ "menu_id": {
+ "description": "MenuID identifies the catalog this restaurant serves. Several\nrestaurants usually share one.",
+ "example": 8,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/reelshort.HomeResponse"
+ "name": {
+ "example": "Vallejo Nájera",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "order_method": {
+ "description": "OrderMethod is the fulfillment the restaurant supports, as upstream\nreports it, e.g. both, delivery, or pick_up.",
+ "example": "both",
"type": "string"
- }
- },
- "type": "object"
- },
- "reelshort.movieResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/reelshort.MovieResponse"
+ "payment_methods": {
+ "description": "PaymentMethods lists only the methods this restaurant actually accepts.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "phone": {
+ "example": "+34910493017",
"type": "string"
- }
- },
- "type": "object"
- },
- "reelshort.newReleasesResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/reelshort.NewReleasesResponse"
+ "pickup_open": {
+ "example": true,
+ "type": "boolean"
},
- "msg": {
- "example": "OK",
+ "pickup_wait_minutes": {
+ "example": 15,
+ "type": "integer"
+ },
+ "region": {
+ "example": "Madrid",
"type": "string"
}
},
"type": "object"
},
- "reelshort.searchResponseDoc": {
+ "papajohns.IntlStoreHours": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "closes": {
+ "example": "23:59:59",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/reelshort.SearchResponse"
+ "day": {
+ "example": "monday",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "dispatch_method": {
+ "description": "DispatchMethod is the fulfillment channel this window applies to,\ne.g. in_store or pj_delivery.",
+ "example": "in_store",
+ "type": "string"
+ },
+ "opens": {
+ "example": "12:00:00",
"type": "string"
}
},
"type": "object"
},
- "reelshort.shelfResponseDoc": {
+ "papajohns.IntlStoresResponse": {
"properties": {
- "code": {
- "example": 200,
+ "count": {
+ "description": "Count is how many restaurants this response carries.",
+ "example": 5,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/reelshort.ShelfResponse"
+ "fetched_at": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "fulfillment": {
+ "description": "Fulfillment, Latitude and Longitude echo a coordinate search and are\nabsent on a store_id lookup, which has no search origin. They are\nomitted rather than zeroed because 0,0 is itself a real coordinate.",
+ "example": "delivery",
"type": "string"
- }
- },
- "type": "object"
- },
- "reelshort.tagBooksResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/reelshort.TagBooksResponse"
+ "latitude": {
+ "example": 40.4168,
+ "type": "number"
},
- "msg": {
- "example": "OK",
+ "longitude": {
+ "example": -3.7038,
+ "type": "number"
+ },
+ "market": {
+ "example": "spain",
"type": "string"
- }
- },
- "type": "object"
- },
- "reelshort.tagSearchResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/reelshort.TagSearchResponse"
+ "page": {
+ "description": "Page, TotalPages and TotalCount describe the rest of the result set, so\na caller can tell a first page from the whole of it. TotalCount is the\nmarket-wide restaurant total rather than a match count, because the\nsearch has no radius cut-off -- every restaurant in the market is\nranked, and this is where in that ranking the response sits. All three\nare absent for a store_id lookup and for pickup, neither of which\nupstream paginates.",
+ "example": 1,
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "source_url": {
"type": "string"
+ },
+ "stores": {
+ "items": {
+ "$ref": "#/definitions/papajohns.IntlStore"
+ },
+ "type": "array"
+ },
+ "total_count": {
+ "example": 97,
+ "type": "integer"
+ },
+ "total_pages": {
+ "example": 20,
+ "type": "integer"
}
},
"type": "object"
},
- "reelshort.tagsResponseDoc": {
+ "papajohns.LatamCategory": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/reelshort.TagsResponse"
+ "id": {
+ "example": "1",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "name": {
+ "example": "Pizzas",
"type": "string"
+ },
+ "product_count": {
+ "example": 25,
+ "type": "integer"
+ },
+ "products": {
+ "items": {
+ "$ref": "#/definitions/papajohns.LatamProduct"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "referrals.referralAttributionDoc": {
+ "papajohns.LatamMenuResponse": {
"properties": {
- "campaign": {
- "example": "spring-launch",
- "type": "string"
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/papajohns.LatamCategory"
+ },
+ "type": "array"
},
- "code": {
- "example": "A1B2C3D4E5F6",
+ "category": {
"type": "string"
},
- "created_at": {
+ "currency": {
+ "example": "USD",
"type": "string"
},
- "expires_at": {
+ "fetched_at": {
"type": "string"
},
- "id": {
- "example": "abc123",
+ "market": {
+ "example": "el-salvador",
"type": "string"
},
- "qualified_at": {
- "type": "string"
+ "partial": {
+ "description": "Partial is true when a paginated upstream failed part-way and the\nresponse carries only the pages that were retrieved. A menu that is\nquietly short is indistinguishable from one that genuinely has fewer\nitems, so it is flagged rather than left to look complete.",
+ "example": false,
+ "type": "boolean"
},
- "reward_credits": {
- "example": 10000,
+ "product_count": {
+ "description": "ProductCount is how many products the response carries. Where the\nupstream paginates, every page is followed before returning.",
+ "example": 25,
"type": "integer"
},
- "rewarded_at": {
- "type": "string"
- },
- "role": {
- "enum": [
- "referrer",
- "referred"
- ],
- "example": "referrer",
- "type": "string"
- },
- "status": {
- "enum": [
- "attributed",
- "qualified",
- "review_required",
- "rewarded",
- "expired",
- "capped",
- "failed",
- "rejected"
- ],
- "example": "rewarded",
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "referrals.referralClickRequestDoc": {
+ "papajohns.LatamProduct": {
"properties": {
- "click_id": {
- "example": "refclk_abc123",
+ "category": {
+ "example": "Pizzas",
"type": "string"
},
- "code": {
- "example": "A1B2C3D4E5F6",
+ "currency": {
+ "example": "USD",
"type": "string"
},
- "landing_path": {
- "example": "/pricing",
+ "description": {
"type": "string"
},
- "utm_campaign": {
- "example": "spring-launch",
+ "id": {
+ "example": "8",
"type": "string"
},
- "utm_medium": {
- "example": "email",
+ "image_url": {
"type": "string"
},
- "utm_source": {
- "example": "newsletter",
- "type": "string"
- }
- },
- "type": "object"
- },
- "referrals.referralClickResponseDoc": {
- "properties": {
- "click_id": {
- "example": "refclk_abc123",
+ "name": {
+ "example": "The Works",
"type": "string"
},
- "code": {
- "example": "A1B2C3D4E5F6",
+ "price_from": {
+ "description": "PriceFrom is the cheapest priced variant, so a caller can rank products\nwithout walking every variant.",
+ "example": 11.99,
+ "type": "number"
+ },
+ "url": {
"type": "string"
- }
- },
- "type": "object"
- },
- "referrals.referralsEventsResponseDoc": {
- "properties": {
- "items": {
+ },
+ "variants": {
"items": {
- "$ref": "#/definitions/referrals.referralAttributionDoc"
+ "$ref": "#/definitions/papajohns.LatamVariant"
},
"type": "array"
}
},
"type": "object"
},
- "referrals.referralsMeResponseDoc": {
+ "papajohns.LatamVariant": {
"properties": {
- "attribution_window_days": {
- "example": 30,
- "type": "integer"
+ "available": {
+ "example": true,
+ "type": "boolean"
},
- "code": {
- "example": "A1B2C3D4E5F6",
+ "crust": {
+ "example": "Masa Original",
"type": "string"
},
- "items": {
- "items": {
- "$ref": "#/definitions/referrals.referralAttributionDoc"
- },
- "type": "array"
+ "currency": {
+ "example": "USD",
+ "type": "string"
},
- "monthly_referrer_reward_cap": {
- "example": 10,
- "type": "integer"
+ "fulfillment": {
+ "description": "Fulfillment is the order channel this price applies to, where the market\nprices delivery and pickup differently. Colombia does: the same item is\ncommonly ~15% dearer for \"Domicilio\" than \"Recoger en Tienda\", so two\nvariants that look otherwise identical are not duplicates.",
+ "example": "Domicilio",
+ "type": "string"
},
- "referred_reward_credits": {
- "example": 10000,
- "type": "integer"
+ "list_price": {
+ "description": "ListPrice is the pre-discount price where the market publishes one and\nit actually differs from price.",
+ "type": "number"
},
- "reward_credits": {
- "example": 10000,
- "type": "integer"
+ "name": {
+ "description": "Name is the market's own label for the variant where it gives one.",
+ "example": "Gigante",
+ "type": "string"
},
- "share_path": {
- "example": "/r/A1B2C3D4E5F6",
+ "price": {
+ "example": 14.99,
+ "type": "number"
+ },
+ "sauce": {
+ "description": "Sauce is populated only by Colombia, whose SKUs vary by sauce too.",
+ "example": "Salsa Pizza",
"type": "string"
},
- "stats": {
- "$ref": "#/definitions/referrals.referralsStatsDoc"
+ "size": {
+ "description": "Size and Crust are populated where the market distinguishes them.",
+ "example": "GIGANTE",
+ "type": "string"
+ },
+ "sku": {
+ "type": "string"
}
},
"type": "object"
},
- "referrals.referralsStatsDoc": {
+ "papajohns.MenuCategory": {
"properties": {
- "attributed": {
- "example": 3,
- "type": "integer"
- },
- "capped": {
- "example": 0,
- "type": "integer"
- },
- "expired": {
- "example": 0,
- "type": "integer"
+ "id": {
+ "example": "pizza",
+ "type": "string"
},
- "qualified": {
- "example": 1,
- "type": "integer"
+ "image_url": {
+ "type": "string"
},
- "rejected": {
- "example": 0,
- "type": "integer"
+ "name": {
+ "example": "Pizza",
+ "type": "string"
},
- "review_required": {
- "example": 0,
+ "product_count": {
+ "description": "ProductCount is how many priced SKUs this category contains.",
+ "example": 96,
"type": "integer"
},
- "rewarded": {
- "example": 1,
- "type": "integer"
+ "sections": {
+ "items": {
+ "$ref": "#/definitions/papajohns.MenuSection"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "researchjobs.ResearchResult": {
+ "papajohns.MenuCrust": {
"properties": {
- "claims": {
- "items": {
- "$ref": "#/definitions/retrievaltypes.Claim"
- },
- "type": "array"
- },
- "coverage": {
- "items": {
- "$ref": "#/definitions/retrievaltypes.SourceCoverage"
- },
- "type": "array"
- },
- "evidence": {
- "items": {
- "$ref": "#/definitions/retrievaltypes.Evidence"
- },
- "type": "array"
- },
- "job_id": {
+ "code": {
+ "example": "PIZZA_ORIGINAL",
"type": "string"
},
- "partial": {
+ "default": {
+ "example": true,
"type": "boolean"
},
- "ready": {
- "type": "boolean"
+ "id": {
+ "example": 1,
+ "type": "integer"
},
- "report_markdown": {
+ "name": {
+ "example": "Original Crust",
"type": "string"
},
- "result_kind": {
- "enum": [
- "evidence_only",
- "report",
- "structured"
- ],
+ "sub_type": {
+ "example": "Original",
"type": "string"
- },
- "searches": {
- "items": {
- "$ref": "#/definitions/researchjobs.SearchRecord"
- },
- "type": "array"
- },
- "snapshot_sequence": {
- "type": "integer"
- },
- "source_snapshot": {
- "$ref": "#/definitions/researchjobs.SourceSnapshot"
- },
- "structured_data": {
- "type": "object"
- },
- "usage": {
- "$ref": "#/definitions/retrievaltypes.Usage"
- },
- "warnings": {
- "items": {
- "$ref": "#/definitions/retrievaltypes.Warning"
- },
- "type": "array"
}
},
"type": "object"
},
- "researchjobs.Scope": {
- "enum": [
- "web",
- "papers",
- "developer",
- "mixed"
- ],
- "type": "string",
- "x-enum-varnames": [
- "ScopeWeb",
- "ScopePapers",
- "ScopeDeveloper",
- "ScopeMixed"
- ]
- },
- "researchjobs.SearchRecord": {
+ "papajohns.MenuInstruction": {
"properties": {
- "hits": {
+ "choices": {
"items": {
- "$ref": "#/definitions/researchjobs.SearchRecordHit"
+ "$ref": "#/definitions/papajohns.MenuInstructionChoice"
},
"type": "array"
},
- "query": {
+ "description": {
+ "example": "How much cheese?",
"type": "string"
},
- "source_id": {
- "type": "string"
+ "id": {
+ "example": 2,
+ "type": "integer"
},
- "source_kind": {
- "allOf": [
- {
- "$ref": "#/definitions/retrievaltypes.SourceKind"
- }
- ],
- "enum": [
- "web",
- "paper",
- "developer"
- ]
+ "name": {
+ "example": "CHEESE",
+ "type": "string"
}
},
"type": "object"
},
- "researchjobs.SearchRecordHit": {
+ "papajohns.MenuInstructionChoice": {
"properties": {
- "snippet": {
+ "code": {
+ "example": "ILC",
"type": "string"
},
- "source_id": {
- "type": "string"
+ "default": {
+ "example": false,
+ "type": "boolean"
},
- "title": {
- "type": "string"
+ "id": {
+ "example": 6,
+ "type": "integer"
},
- "url": {
+ "name": {
+ "example": "Light Cheese",
"type": "string"
}
},
"type": "object"
},
- "researchjobs.SourceGeneration": {
+ "papajohns.MenuItemResponse": {
"properties": {
- "generation_id": {
+ "category": {
+ "example": "pizza",
"type": "string"
},
- "kind": {
+ "fetched_at": {
+ "type": "string"
+ },
+ "group": {
"allOf": [
{
- "$ref": "#/definitions/retrievaltypes.SourceKind"
+ "$ref": "#/definitions/papajohns.MenuProductGroup"
}
],
- "enum": [
- "web",
- "paper",
- "developer"
- ]
+ "description": "Group is the product group this SKU belongs to, carrying the full\ncustomization axes for it."
},
- "source_id": {
- "type": "string"
+ "national_default": {
+ "example": false,
+ "type": "boolean"
},
- "source_revision": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "researchjobs.SourceSnapshot": {
- "properties": {
- "registry_revision": {
+ "product": {
+ "$ref": "#/definitions/papajohns.MenuProduct"
+ },
+ "section": {
+ "example": "Most Popular",
"type": "string"
},
- "scope": {
- "allOf": [
- {
- "$ref": "#/definitions/researchjobs.Scope"
- }
- ],
- "enum": [
- "web",
- "papers",
- "developer",
- "mixed"
- ]
+ "source_url": {
+ "type": "string"
},
- "sources": {
- "items": {
- "$ref": "#/definitions/researchjobs.SourceGeneration"
- },
- "type": "array"
+ "store_id": {
+ "example": 5054,
+ "type": "integer"
}
},
"type": "object"
},
- "researchjobs.researchEventsResponseDoc": {
+ "papajohns.MenuProduct": {
"properties": {
+ "calories": {
+ "description": "Calories is per the serving described by serving_label.",
+ "example": 210,
+ "type": "integer"
+ },
"code": {
+ "example": "PR10Q1",
+ "type": "string"
+ },
+ "crust_id": {
+ "example": 1,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/retrievaltypes.JobEventsResponse"
+ "description": {
+ "type": "string"
},
- "msg": {
+ "disclaimer": {
"type": "string"
- }
- },
- "type": "object"
- },
- "researchjobs.researchLimitsDoc": {
- "properties": {
- "browser_renders": {
- "default": 0,
- "enum": [
- 0
- ],
- "type": "integer"
},
- "input_tokens": {
- "default": 60000,
- "maximum": 100000,
- "minimum": 1000,
- "type": "integer"
+ "image_url": {
+ "type": "string"
},
- "max_credits": {
- "maximum": 10000,
- "minimum": 1,
- "type": "integer"
+ "name": {
+ "example": "10 Inch Original Pepperoni Pizza",
+ "type": "string"
},
- "output_tokens": {
- "default": 8000,
- "maximum": 16000,
- "minimum": 256,
- "type": "integer"
+ "price": {
+ "description": "Price is this store's price. A build-your-own SKU whose price depends\nentirely on the customer's choices reports 0.",
+ "example": 14.99,
+ "type": "number"
},
- "rounds": {
- "default": 3,
- "maximum": 5,
- "minimum": 1,
- "type": "integer"
+ "regular_price": {
+ "description": "RegularPrice is the pre-promotion menu price where it differs.",
+ "example": 14.99,
+ "type": "number"
},
- "searches": {
- "default": 8,
- "maximum": 20,
- "minimum": 1,
- "type": "integer"
+ "serving_label": {
+ "description": "ServingLabel describes what calories are counted per, e.g. \"/slice, 6 slices\".",
+ "example": "/slice, 6 slices",
+ "type": "string"
},
- "sources": {
- "default": 20,
- "maximum": 50,
- "minimum": 1,
- "type": "integer"
+ "size": {
+ "description": "Size is the size label this SKU represents within its group.",
+ "example": "Small",
+ "type": "string"
},
- "timeout_seconds": {
- "default": 180,
- "maximum": 600,
- "minimum": 30,
+ "size_id": {
+ "example": 2,
"type": "integer"
- }
- },
- "required": [
- "max_credits"
- ],
- "type": "object"
- },
- "researchjobs.researchResultsResponseDoc": {
- "properties": {
- "code": {
+ },
+ "sku": {
+ "example": "1-1-2-115",
+ "type": "string"
+ },
+ "slices": {
+ "example": 6,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/researchjobs.ResearchResult"
+ "surcharge": {
+ "type": "number"
},
- "msg": {
+ "title": {
+ "description": "Title is the shorter in-menu label, e.g. \"Small Original Crust - Pepperoni\".",
"type": "string"
}
},
"type": "object"
},
- "researchjobs.researchStartRequestDoc": {
+ "papajohns.MenuProductGroup": {
"properties": {
- "exclude_domains": {
+ "allow_half_toppings": {
+ "example": true,
+ "type": "boolean"
+ },
+ "available_topping_ids": {
"items": {
- "type": "string"
+ "type": "integer"
},
"type": "array"
},
- "idempotency_key": {
- "example": "0123456789abcdef",
- "type": "string"
- },
- "include_domains": {
+ "crusts": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/papajohns.MenuCrust"
},
"type": "array"
},
- "limits": {
- "$ref": "#/definitions/researchjobs.researchLimitsDoc"
- },
- "output_format": {
- "enum": [
- "report",
- "json"
- ],
- "example": "report",
+ "customizable": {
+ "description": "Customizable reports how far the product can be customized, as upstream\nclassifies it, e.g. full or none.",
+ "example": "full",
"type": "string"
},
- "query": {
- "example": "How do recent studies measure retrieval quality?",
+ "description": {
"type": "string"
},
- "schema": {
- "additionalProperties": {},
- "type": "object"
+ "featured": {
+ "type": "boolean"
},
- "scope": {
- "enum": [
- "web",
- "papers",
- "developer",
- "mixed"
- ],
- "example": "mixed",
+ "free_toppings": {
+ "type": "integer"
+ },
+ "id": {
+ "example": "cyo",
"type": "string"
},
- "seed_urls": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "image_url": {
+ "type": "string"
},
- "sources": {
+ "instructions": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/papajohns.MenuInstruction"
},
"type": "array"
- }
- },
- "required": [
- "idempotency_key",
- "limits",
- "query"
- ],
- "type": "object"
- },
- "researchjobs.researchStartResponseDoc": {
- "properties": {
- "code": {
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/retrievaltypes.JobSubmission"
},
- "msg": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "researchjobs.researchStatusResponseDoc": {
- "properties": {
- "code": {
+ "max_same_topping": {
+ "example": 2,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/retrievaltypes.JobStatus"
- },
- "msg": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "researchpapers.CitationRelation": {
- "properties": {
- "from_id": {
- "type": "string"
+ "max_toppings": {
+ "description": "Topping rules. AvailableToppingIDs are upstream's own numeric ids; this\nAPI publishes no name for them, so they are exposed as ids rather than\ninvented labels.",
+ "example": 7,
+ "type": "integer"
},
- "retrieved_at": {
- "type": "string"
+ "price_from": {
+ "description": "PriceFrom is the cheapest priced SKU in the group, so a caller can rank\nproducts without walking every SKU.",
+ "example": 14.99,
+ "type": "number"
},
- "source_id": {
- "type": "string"
+ "products": {
+ "items": {
+ "$ref": "#/definitions/papajohns.MenuProduct"
+ },
+ "type": "array"
},
- "source_url": {
- "type": "string"
+ "sizes": {
+ "description": "Sizes, Crusts and Instructions are populated only when\ninclude_options=true.",
+ "items": {
+ "$ref": "#/definitions/papajohns.MenuSize"
+ },
+ "type": "array"
},
- "to_id": {
+ "title": {
+ "example": "Create Your Own Pizza",
"type": "string"
}
},
"type": "object"
},
- "researchpapers.EuropePMCFullText": {
+ "papajohns.MenuResponse": {
"properties": {
- "attribution": {
- "type": "string"
- },
- "content_sha256": {
- "type": "string"
- },
- "copyright": {
- "type": "string"
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/papajohns.MenuCategory"
+ },
+ "type": "array"
},
- "extraction_note": {
+ "category": {
+ "example": "pizza",
"type": "string"
},
- "license_text": {
+ "fetched_at": {
"type": "string"
},
- "license_url": {
- "type": "string"
+ "national_default": {
+ "description": "NationalDefault is true when no store was selected, so a caller can tell\na real store's prices from the fallback menu.",
+ "example": false,
+ "type": "boolean"
},
- "retrieved_at": {
- "type": "string"
+ "product_count": {
+ "example": 206,
+ "type": "integer"
},
"source_url": {
"type": "string"
},
- "text": {
- "type": "string"
+ "store_id": {
+ "description": "StoreID echoes the restaurant the prices belong to. 0 is the national\ndefault menu.",
+ "example": 5054,
+ "type": "integer"
}
},
"type": "object"
},
- "researchpapers.PaperGraphSeed": {
+ "papajohns.MenuSection": {
"properties": {
- "paper_id": {
+ "description": {
"type": "string"
},
- "primary_id": {
+ "id": {
+ "example": "most_popular",
"type": "string"
},
- "status": {
- "enum": [
- "ok",
- "failed"
- ],
+ "name": {
+ "example": "Most Popular",
"type": "string"
+ },
+ "product_groups": {
+ "items": {
+ "$ref": "#/definitions/papajohns.MenuProductGroup"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "researchpapers.PaperReadRequest": {
+ "papajohns.MenuSize": {
"properties": {
- "limit": {
+ "default": {
+ "example": false,
+ "type": "boolean"
+ },
+ "id": {
+ "example": 2,
"type": "integer"
},
- "paper_id": {
+ "measure": {
+ "description": "Measure is the physical size where the group has one, e.g. 10\".",
+ "example": "10\"",
"type": "string"
},
- "question": {
+ "name": {
+ "description": "Name is the size's marketing name, e.g. Small.",
+ "example": "Small",
"type": "string"
}
},
- "required": [
- "paper_id",
- "question"
- ],
"type": "object"
},
- "researchpapers.PaperRelatedRequest": {
+ "papajohns.NearbyResponse": {
"properties": {
- "cursor": {
- "type": "string"
+ "count": {
+ "example": 10,
+ "type": "integer"
},
- "intent": {
+ "fetched_at": {
"type": "string"
},
- "limit": {
+ "radius": {
+ "example": 25,
"type": "integer"
},
- "mode": {
- "$ref": "#/definitions/researchpapers.RelatedMode"
+ "source_url": {
+ "type": "string"
},
- "seed_ids": {
+ "stores": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/papajohns.NearbyStore"
},
"type": "array"
+ },
+ "total_in_radius": {
+ "description": "TotalInRadius is how many stores fall inside the radius overall,\nwhich is usually far more than one page. Use it with `offset` to\npage.",
+ "example": 73,
+ "type": "integer"
}
},
"type": "object"
},
- "researchpapers.RelatedMode": {
- "enum": [
- "references",
- "citers"
- ],
- "type": "string",
- "x-enum-varnames": [
- "RelatedReferences",
- "RelatedCiters"
- ]
- },
- "researchretrieval.Paper": {
+ "papajohns.NearbyStore": {
"properties": {
- "abstract": {
- "type": "string"
+ "address": {
+ "$ref": "#/definitions/papajohns.StoreAddress"
},
- "authors": {
+ "delivery_hours": {
+ "description": "DeliveryHours and TakeoutHours are Papa John's own per-channel hours,\npublished separately from Hours and commonly later-closing.",
"items": {
- "$ref": "#/definitions/researchretrieval.PaperAuthor"
+ "$ref": "#/definitions/papajohns.StoreHours"
},
"type": "array"
},
- "content_level": {
- "enum": [
- "metadata",
- "abstract",
- "full_text"
- ],
- "type": "string"
+ "distance_kilometers": {
+ "example": 0.97,
+ "type": "number"
},
- "identifiers": {
+ "distance_miles": {
+ "description": "DistanceMiles and DistanceKilometers are measured from the requested\ncoordinate.",
+ "example": 0.6,
+ "type": "number"
+ },
+ "hours": {
+ "description": "Hours is the store's general published week of hours.",
"items": {
- "$ref": "#/definitions/researchretrieval.PaperIdentifier"
+ "$ref": "#/definitions/papajohns.StoreHours"
},
"type": "array"
},
- "paper_id": {
- "type": "string"
+ "latitude": {
+ "example": 34.0614412,
+ "type": "number"
},
- "primary_id": {
- "type": "string"
+ "longitude": {
+ "example": -118.2439367,
+ "type": "number"
},
- "publication_year": {
- "type": "integer"
+ "name": {
+ "example": "Papa Johns Pizza",
+ "type": "string"
},
- "published_at": {
+ "order_url": {
+ "description": "OrderURL is Papa John's own carryout ordering deep link for this\nstore.",
"type": "string"
},
- "retrieved_at": {
+ "path": {
+ "description": "Path is the /papajohns/store path for this store, so a caller can go\nstraight to the detail endpoint.",
"type": "string"
},
- "source_urls": {
+ "payment_options": {
+ "description": "PaymentOptions are the payment methods this store accepts, e.g.\nAPPLEPAY, CASH, VISA.",
"items": {
"type": "string"
},
"type": "array"
},
- "title": {
+ "phone_number": {
+ "description": "PhoneNumber is Papa John's own E.164-shaped mainPhone, e.g.\n\"+12136172727\" -- deliberately left as published rather than\nreformatted, since geosearch and the store page publish phone\nnumbers in different shapes (mainPhone here vs. a display-formatted\nstring on /papajohns/store).",
+ "example": "+12136172727",
"type": "string"
},
- "updated_at": {
+ "pickup_and_delivery_services": {
+ "description": "PickupAndDeliveryServices are the fulfillment flags Papa John's\npublishes for this store, e.g. IN_STORE_PICKUP, SAME_DAY_DELIVERY.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "price_range": {
+ "description": "PriceRange is Papa John's own relative price tier, e.g. ONE, TWO.",
+ "example": "TWO",
"type": "string"
- }
- },
- "type": "object"
- },
- "researchretrieval.PaperAuthor": {
- "properties": {
- "affiliation": {
+ },
+ "store_id": {
+ "example": "4269",
"type": "string"
},
- "name": {
+ "takeout_hours": {
+ "items": {
+ "$ref": "#/definitions/papajohns.StoreHours"
+ },
+ "type": "array"
+ },
+ "timezone": {
+ "example": "America/Los_Angeles",
"type": "string"
}
},
"type": "object"
},
- "researchretrieval.PaperFailure": {
+ "papajohns.NutritionFacts": {
"properties": {
- "message": {
- "type": "string"
+ "calories": {
+ "example": 200,
+ "type": "number"
},
- "reason": {
- "enum": [
- "invalid_url",
- "unsupported_content_type",
- "blocked",
- "not_found",
- "rate_limited",
- "timeout",
- "upstream_error",
- "internal_error",
- "out_of_scope",
- "robots_disallowed",
- "duplicate",
- "limit_reached",
- "unsupported_filter",
- "unknown_source",
- "idempotency_conflict",
- "invalid_cursor",
- "result_expired",
- "full_text_unavailable",
- "budget_exhausted"
- ],
- "type": "string"
+ "calories_from_fat": {
+ "example": 25,
+ "type": "number"
},
- "retry_after_seconds": {
- "type": "integer"
+ "cholesterol_mg": {
+ "type": "number"
},
- "retryable": {
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "researchretrieval.PaperHit": {
- "properties": {
- "paper": {
- "$ref": "#/definitions/researchretrieval.Paper"
+ "dietary_fiber_g": {
+ "example": 1,
+ "type": "number"
},
- "rank": {
- "type": "integer"
+ "protein_g": {
+ "example": 6,
+ "type": "number"
},
- "score": {
+ "saturated_fat_g": {
+ "example": 0.5,
"type": "number"
- }
- },
- "type": "object"
- },
- "researchretrieval.PaperIdentifier": {
- "properties": {
- "namespace": {
- "enum": [
- "arxiv",
- "doi",
- "pmid",
- "pmcid"
- ],
- "type": "string"
},
- "value": {
- "type": "string"
+ "sodium_mg": {
+ "example": 360,
+ "type": "number"
+ },
+ "sugars_g": {
+ "example": 3,
+ "type": "number"
+ },
+ "total_carbohydrate_g": {
+ "example": 36,
+ "type": "number"
+ },
+ "total_fat_g": {
+ "example": 3,
+ "type": "number"
+ },
+ "trans_fat_g": {
+ "type": "number"
}
},
"type": "object"
},
- "researchretrieval.PaperMetadataResponse": {
+ "papajohns.NutritionItem": {
"properties": {
- "coverage": {
- "items": {
- "$ref": "#/definitions/researchretrieval.PaperSourceCoverage"
- },
- "type": "array"
- },
- "paper": {
- "$ref": "#/definitions/researchretrieval.Paper"
- },
- "usage": {
- "$ref": "#/definitions/retrievaltypes.Usage"
+ "name": {
+ "example": "Cheese Pizza",
+ "type": "string"
},
- "warnings": {
+ "variants": {
"items": {
- "$ref": "#/definitions/researchretrieval.PaperWarning"
+ "$ref": "#/definitions/papajohns.NutritionVariant"
},
"type": "array"
}
},
"type": "object"
},
- "researchretrieval.PaperReadResponse": {
+ "papajohns.NutritionResponse": {
"properties": {
- "coverage": {
- "items": {
- "$ref": "#/definitions/researchretrieval.PaperSourceCoverage"
- },
- "type": "array"
- },
- "full_text": {
- "$ref": "#/definitions/researchpapers.EuropePMCFullText"
+ "category": {
+ "example": "pizzas",
+ "type": "string"
},
- "full_text_available": {
- "type": "boolean"
+ "count": {
+ "example": 34,
+ "type": "integer"
},
- "paper": {
- "$ref": "#/definitions/researchretrieval.Paper"
+ "fetched_at": {
+ "type": "string"
},
- "passages": {
+ "items": {
"items": {
- "$ref": "#/definitions/retrievaltypes.Passage"
+ "$ref": "#/definitions/papajohns.NutritionItem"
},
"type": "array"
},
- "unavailable_reason": {
- "enum": [
- "not_indexed",
- "restricted",
- "unsupported_format",
- "not_found"
- ],
+ "source_url": {
"type": "string"
- },
- "usage": {
- "$ref": "#/definitions/retrievaltypes.Usage"
- },
- "warnings": {
- "items": {
- "$ref": "#/definitions/researchretrieval.PaperWarning"
- },
- "type": "array"
}
},
"type": "object"
},
- "researchretrieval.PaperRelatedResponse": {
+ "papajohns.NutritionVariant": {
"properties": {
- "coverage": {
- "items": {
- "$ref": "#/definitions/researchretrieval.PaperSourceCoverage"
- },
- "type": "array"
- },
- "has_more": {
- "type": "boolean"
- },
- "items": {
- "items": {
- "$ref": "#/definitions/researchretrieval.PaperHit"
- },
- "type": "array"
- },
- "next_cursor": {
+ "label": {
+ "description": "Label combines every column header Papa John's own table used to\ndistinguish this variant (crust type and/or size), joined with \" - \".\nA single-column table (most non-pizza items) yields the lone column\nheader verbatim, e.g. \"Regular\".",
+ "example": "Original Crust - Large",
"type": "string"
},
- "partial": {
- "type": "boolean"
- },
- "relations": {
- "items": {
- "$ref": "#/definitions/researchpapers.CitationRelation"
- },
- "type": "array"
- },
- "seeds": {
- "items": {
- "$ref": "#/definitions/researchpapers.PaperGraphSeed"
- },
- "type": "array"
+ "nutrition": {
+ "$ref": "#/definitions/papajohns.NutritionFacts"
},
- "usage": {
- "$ref": "#/definitions/retrievaltypes.Usage"
+ "serving_size": {
+ "example": "1 slice",
+ "type": "string"
},
- "warnings": {
- "items": {
- "$ref": "#/definitions/researchretrieval.PaperWarning"
- },
- "type": "array"
+ "servings": {
+ "example": "8 slices per pizza",
+ "type": "string"
}
},
"type": "object"
},
- "researchretrieval.PaperSearchResponse": {
+ "papajohns.StoreAddress": {
"properties": {
- "coverage": {
- "items": {
- "$ref": "#/definitions/researchretrieval.PaperSourceCoverage"
- },
- "type": "array"
- },
- "has_more": {
- "type": "boolean"
- },
- "items": {
- "items": {
- "$ref": "#/definitions/researchretrieval.PaperHit"
- },
- "type": "array"
+ "city": {
+ "example": "Alhambra",
+ "type": "string"
},
- "next_cursor": {
+ "country": {
+ "example": "US",
"type": "string"
},
- "partial": {
- "type": "boolean"
+ "line1": {
+ "example": "2136 S FREMONT AVE",
+ "type": "string"
},
- "usage": {
- "$ref": "#/definitions/retrievaltypes.Usage"
+ "postal_code": {
+ "example": "91803",
+ "type": "string"
},
- "warnings": {
- "items": {
- "$ref": "#/definitions/researchretrieval.PaperWarning"
- },
- "type": "array"
+ "region": {
+ "example": "CA",
+ "type": "string"
}
},
"type": "object"
},
- "researchretrieval.PaperSourceCoverage": {
+ "papajohns.StoreHours": {
"properties": {
- "corpus_revision": {
- "type": "string"
- },
- "failure": {
- "$ref": "#/definitions/researchretrieval.PaperFailure"
- },
- "indexed_at": {
- "type": "string"
+ "closed": {
+ "description": "Closed is true when Papa John's publishes the day with no open\ninterval.",
+ "example": false,
+ "type": "boolean"
},
- "retrieved_at": {
+ "closes": {
+ "example": "00:15",
"type": "string"
},
- "source_id": {
+ "day_of_week": {
+ "example": "Monday",
"type": "string"
},
- "status": {
- "enum": [
- "ok",
- "failed",
- "not_indexed",
- "unsupported"
- ],
+ "opens": {
+ "example": "10:30",
"type": "string"
}
},
"type": "object"
},
- "researchretrieval.PaperSourceDescriptor": {
+ "papajohns.StoreResponse": {
"properties": {
- "artifact_types": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "address": {
+ "$ref": "#/definitions/papajohns.StoreAddress"
},
- "corpus": {
+ "fetched_at": {
"type": "string"
},
- "corpus_revision": {
+ "google_place_id": {
"type": "string"
},
- "filters": {
+ "hours": {
+ "description": "Hours is the store's general published week of hours.",
"items": {
- "enum": [
- "authors",
- "published_from",
- "published_to"
- ],
- "type": "string"
+ "$ref": "#/definitions/papajohns.StoreHours"
},
"type": "array"
},
- "last_success_at": {
- "type": "string"
+ "latitude": {
+ "example": 34.06838390790909,
+ "type": "number"
+ },
+ "longitude": {
+ "example": -118.14934906165672,
+ "type": "number"
},
"name": {
+ "example": "Papa Johns Pizza",
"type": "string"
},
- "operations": {
- "items": {
- "enum": [
- "search",
- "metadata",
- "read",
- "references",
- "citers"
- ],
- "type": "string"
- },
- "type": "array"
- },
- "source_id": {
+ "order_url": {
+ "description": "OrderURL is Papa John's own carryout ordering deep link for this\nstore, which embeds the same store_id.",
"type": "string"
},
- "state": {
- "enum": [
- "ready"
- ],
+ "path": {
"type": "string"
},
- "url": {
+ "phone_number": {
+ "example": "(626) 642-5645",
"type": "string"
- }
- },
- "type": "object"
- },
- "researchretrieval.PaperSourcesResponse": {
- "properties": {
- "has_more": {
- "type": "boolean"
},
- "items": {
+ "pickup_hours": {
+ "description": "PickupHours is Papa John's own published carryout/pickup hours,\npublished separately from Hours and sometimes shorter.",
"items": {
- "$ref": "#/definitions/researchretrieval.PaperSourceDescriptor"
+ "$ref": "#/definitions/papajohns.StoreHours"
},
"type": "array"
},
- "next_cursor": {
+ "source_url": {
"type": "string"
},
- "registry_revision": {
+ "store_id": {
+ "example": "5054",
+ "type": "string"
+ },
+ "timezone": {
+ "example": "America/Los_Angeles",
"type": "string"
}
},
"type": "object"
},
- "researchretrieval.PaperWarning": {
+ "papajohns.StorefrontCategory": {
"properties": {
- "code": {
- "enum": [
- "source_failed",
- "source_not_indexed",
- "discovery_truncated",
- "ranking_window_limit",
- "imprecise_date_excluded",
- "content_unavailable",
- "cached_source_stale"
- ],
+ "alias": {
+ "description": "Alias is upstream's own stable slug for the section, which survives the\ndisplay name being renamed for a season.",
+ "example": "pizza",
"type": "string"
},
- "message": {
+ "id": {
+ "example": "1",
"type": "string"
},
- "source_id": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "resy.AvailabilityResponse": {
- "properties": {
- "date": {
+ "name": {
+ "example": "Пицца",
"type": "string"
},
- "party_size": {
+ "product_count": {
+ "example": 25,
"type": "integer"
},
- "restaurant_id": {
- "type": "string"
- },
- "timeslots": {
+ "products": {
"items": {
- "$ref": "#/definitions/resy.Timeslot"
+ "$ref": "#/definitions/papajohns.StorefrontProduct"
},
"type": "array"
}
},
"type": "object"
},
- "resy.CuisinesResponse": {
+ "papajohns.StorefrontMenuResponse": {
"properties": {
- "cuisines": {
+ "categories": {
+ "description": "Categories carry the whole national catalog. The menu does not vary by\ncity, so there is no city to report.",
"items": {
- "type": "string"
+ "$ref": "#/definitions/papajohns.StorefrontCategory"
},
"type": "array"
},
- "location": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "resy.Event": {
- "properties": {
- "city": {
+ "category": {
"type": "string"
},
"currency": {
- "example": "USD",
- "type": "string"
- },
- "date": {
- "example": "2026-09-20",
- "type": "string"
- },
- "description": {
+ "example": "RUB",
"type": "string"
},
- "end_time": {
- "example": "17:00:00",
+ "fetched_at": {
"type": "string"
},
- "general_sale_date": {
+ "market": {
+ "example": "russia",
"type": "string"
},
- "images": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "is_presale": {
- "type": "boolean"
- },
- "max_party_size": {
- "example": 8,
- "type": "integer"
- },
- "min_party_size": {
- "example": 1,
+ "product_count": {
+ "example": 185,
"type": "integer"
},
- "name": {
- "example": "Breakfast & Citi Field Trip",
- "type": "string"
- },
- "neighborhood": {
- "type": "string"
- },
- "price_max": {
- "example": 85,
- "type": "number"
- },
- "price_min": {
- "example": 85,
- "type": "number"
- },
- "restaurant_id": {
- "type": "string"
- },
- "restaurant_name": {
- "type": "string"
- },
- "restaurant_url_slug": {
- "description": "RestaurantURLSlug, together with URLSlug and the search/events\nLocation value, is what resy-event-detail needs to fetch this\nevent's full description and ticket packages.",
+ "source_url": {
"type": "string"
},
- "shift_id": {
+ "variant_count": {
+ "example": 892,
"type": "integer"
- },
- "time": {
- "example": "09:30:00",
- "type": "string"
- },
- "url_slug": {
- "type": "string"
- },
- "why_we_like_it": {
- "type": "string"
}
},
"type": "object"
},
- "resy.EventDetailResponse": {
+ "papajohns.StorefrontProduct": {
"properties": {
- "currency": {
+ "category": {
+ "example": "Пицца",
"type": "string"
},
- "date": {
+ "currency": {
+ "example": "RUB",
"type": "string"
},
"description": {
"type": "string"
},
- "end_time": {
+ "id": {
+ "example": "12345",
"type": "string"
},
- "enhanced_description": {
+ "image_url": {
"type": "string"
},
- "enhanced_need_to_know": {
+ "name": {
+ "example": "Прайм говядина Барбекю",
"type": "string"
},
- "general_sale_date": {
+ "price_from": {
+ "description": "PriceFrom is the cheapest priced variant, so a caller can rank products\nwithout walking every variant.",
+ "example": 680,
+ "type": "number"
+ },
+ "url": {
"type": "string"
},
- "images": {
+ "variants": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/papajohns.StorefrontVariant"
},
"type": "array"
- },
- "is_presale": {
+ }
+ },
+ "type": "object"
+ },
+ "papajohns.StorefrontVariant": {
+ "properties": {
+ "available": {
+ "example": true,
"type": "boolean"
},
- "max_party_size": {
- "type": "integer"
- },
- "min_party_size": {
- "type": "integer"
- },
- "name": {
+ "crust": {
+ "description": "Crust is the dough the variant is made with. Russia publishes two\n(Традиционное, Тонкое); Poland publishes none, so this is empty there.",
+ "example": "Традиционное",
"type": "string"
},
- "need_to_know": {
+ "currency": {
+ "example": "RUB",
"type": "string"
},
- "packages": {
- "items": {
- "$ref": "#/definitions/resy.EventPackage"
- },
- "type": "array"
- },
- "price_max": {
- "type": "number"
- },
- "price_min": {
+ "price": {
+ "example": 680,
"type": "number"
},
- "shift_id": {
- "type": "integer"
+ "size": {
+ "description": "Size is the pizza diameter where the market publishes one, with its own\nunit (\"23 см\").",
+ "example": "23 см",
+ "type": "string"
},
- "time": {
+ "sku": {
+ "example": "172764",
"type": "string"
},
- "url_slug": {
+ "stuffed_crust": {
+ "description": "StuffedCrust names the filling baked into the rim, where the variant has\none. Upstream reports none/cheese/sausage/sausage_cheese; \"none\" is\nreported here as an empty value rather than the literal word.",
+ "example": "cheese",
"type": "string"
}
},
"type": "object"
},
- "resy.EventPackage": {
+ "papajohns.allergensResponseDoc": {
"properties": {
- "max_party_size": {
- "example": 8,
- "type": "integer"
- },
- "min_party_size": {
- "example": 1,
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
- "name": {
- "example": "One Ticket for Breakfast & Citi Field Trip",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/papajohns.AllergensResponse"
},
- "price_total": {
- "example": 85,
- "type": "number"
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "papajohns.dealsResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
},
- "price_total_str": {
- "example": "$85.00",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/papajohns.DealsResponse"
},
- "quantity_remaining": {
- "example": 22,
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "papajohns.directoryResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
- "quantity_total": {
- "example": 40,
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/papajohns.DirectoryResponse"
},
- "sold_out": {
- "type": "boolean"
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "papajohns.indiaDealResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
},
- "timeslots": {
- "items": {
- "$ref": "#/definitions/resy.Timeslot"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/papajohns.IndiaDealResponse"
},
- "whats_included": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "resy.EventsResponse": {
+ "papajohns.indiaMenuItemResponseDoc": {
"properties": {
- "events": {
- "items": {
- "$ref": "#/definitions/resy.Event"
- },
- "type": "array"
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
},
- "location": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/papajohns.IndiaMenuItemResponse"
},
- "total": {
- "type": "integer"
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "resy.Location": {
+ "papajohns.indiaMenuResponseDoc": {
"properties": {
"code": {
- "example": "ny",
- "type": "string"
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
},
- "country": {
- "example": "United States",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/papajohns.IndiaMenuResponse"
},
- "country_code": {
- "example": "US",
- "type": "string"
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "papajohns.indiaStoresResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
},
- "id": {
- "example": "1",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/papajohns.IndiaStoresResponse"
},
- "latitude": {
- "type": "number"
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "papajohns.intlDealsResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
},
- "longitude": {
- "type": "number"
+ "data": {
+ "$ref": "#/definitions/papajohns.IntlDealsResponse"
},
- "name": {
- "example": "New York",
- "type": "string"
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "papajohns.intlIngredientsResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
},
- "time_zone": {
- "example": "America/New_York",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/papajohns.IntlIngredientsResponse"
},
- "url_slug": {
- "example": "new-york-ny",
- "type": "string"
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "resy.LocationsResponse": {
+ "papajohns.intlMenuResponseDoc": {
"properties": {
- "locations": {
- "items": {
- "$ref": "#/definitions/resy.Location"
- },
- "type": "array"
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
},
- "total": {
+ "data": {
+ "$ref": "#/definitions/papajohns.IntlMenuResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "papajohns.intlOfferResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/papajohns.IntlOfferResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "resy.RestaurantResponse": {
+ "papajohns.intlProductResponseDoc": {
"properties": {
- "about": {
- "type": "string"
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
},
- "address": {
- "example": "181 Thompson Street",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/papajohns.IntlProductResponse"
},
- "average_cost_per_person": {
- "example": "$150",
- "type": "string"
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "papajohns.intlStoresResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
},
- "city": {
- "example": "New York",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/papajohns.IntlStoresResponse"
},
- "country": {
- "type": "string"
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "papajohns.latamMenuResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
},
- "cross_street": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/papajohns.LatamMenuResponse"
},
- "cuisine": {
- "example": "Italian",
- "type": "string"
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "papajohns.menuItemResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
},
- "currency_symbol": {
- "example": "$",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/papajohns.MenuItemResponse"
},
- "description": {
- "type": "string"
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "papajohns.menuResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
},
- "id": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/papajohns.MenuResponse"
},
- "images": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "papajohns.nearbyResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
},
- "latitude": {
- "type": "number"
+ "data": {
+ "$ref": "#/definitions/papajohns.NearbyResponse"
},
- "location_code": {
- "description": "LocationCode is Resy's short city code (e.g. \"ny\") -- pass it as\nresy-cuisines' or resy-events' location param to discover more about\nthis same city.",
- "example": "ny",
- "type": "string"
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "papajohns.nutritionResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
},
- "longitude": {
- "type": "number"
+ "data": {
+ "$ref": "#/definitions/papajohns.NutritionResponse"
},
- "max_party_size": {
- "example": 14,
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "papajohns.storeResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
- "menu_url": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/papajohns.StoreResponse"
},
- "min_party_size": {
- "example": 1,
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "papajohns.storefrontMenuResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
- "name": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/papajohns.StorefrontMenuResponse"
},
- "need_to_know": {
- "type": "string"
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "partiful.CityFacetsResponse": {
+ "properties": {
+ "available_category_facets": {
+ "description": "The category facets Partiful offers alongside this one. Facet\navailability is per-region and seasonal.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "neighborhood": {
- "example": "Greenwich Village",
- "type": "string"
+ "available_date_facets": {
+ "description": "The date facets Partiful offers alongside this one (its own enum values).",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "phone_number": {
+ "date_range_label": {
+ "description": "The date window the page is showing, e.g. \"Nov 7\". Present for date\nfacets only.",
"type": "string"
},
- "postal_code": {
+ "facet": {
+ "description": "The requested facet slug.",
+ "example": "parties",
"type": "string"
},
- "price_range": {
- "example": 4,
- "type": "integer"
- },
- "rating": {
- "example": 4.75,
- "type": "number"
+ "facet_label": {
+ "description": "The facet's display label, when Partiful prints one.",
+ "example": "Parties",
+ "type": "string"
},
- "region": {
- "example": "NY",
+ "facet_value": {
+ "description": "The enum value Partiful reports for that slug, e.g. PARTIES. \"events\" is\nthe unfiltered view and reports ANYTIME.",
+ "example": "PARTIES",
"type": "string"
},
- "review_count": {
- "example": 33837,
- "type": "integer"
+ "items": {
+ "description": "The facet's events, in payload order, with non-public events dropped.",
+ "items": {
+ "$ref": "#/definitions/partiful.EventSummary"
+ },
+ "type": "array"
},
- "url_slug": {
- "example": "carbone",
+ "month_label": {
+ "description": "The month the page is showing, e.g. \"November 2026\".",
"type": "string"
},
- "website": {
+ "other_cities": {
+ "description": "The other regions Partiful links on this page, with their labels. Together\nwith region this is the complete nine-value region set.",
+ "items": {
+ "$ref": "#/definitions/partiful.CityRef"
+ },
+ "type": "array"
+ },
+ "region": {
+ "description": "Region code the payload reported.",
+ "example": "NYC",
"type": "string"
},
- "why_we_like_it": {
+ "region_label": {
+ "description": "Region label as Partiful prints it.",
+ "example": "New York City",
"type": "string"
}
},
"type": "object"
},
- "resy.SearchResponse": {
+ "partiful.CityFeedResponse": {
"properties": {
- "available_cuisines": {
- "description": "AvailableCuisines lists the cuisines present among restaurants near this\nsearch location (Resy's own search facet) -- use it to discover cuisine\nvalues worth passing back in Term, since the upstream search index has\nno separate structured cuisine filter (confirmed live: a top-level\n\"cuisine\" search field is rejected as an unknown field).",
+ "active_category_facets": {
+ "description": "The category facets Partiful currently offers for this region, as its own\nenum values (for example PARTIES, FOOD_POPUPS). Facet availability is\nper-region and seasonal, so this array is the authoritative list for a\nregion; the slugs accepted by partiful-city-facets are the family's\nfifteen-value set.",
"items": {
"type": "string"
},
"type": "array"
},
- "results": {
+ "feed_items": {
+ "description": "The region's flat discover feed, twenty items on every region when\nmeasured (2026-11-08). Non-public events are dropped.",
"items": {
- "$ref": "#/definitions/resy.SearchResult"
+ "$ref": "#/definitions/partiful.EventSummary"
},
"type": "array"
},
- "term": {
+ "region": {
+ "description": "Region code echoed from the payload.",
+ "example": "NYC",
"type": "string"
},
- "total": {
- "type": "integer"
+ "region_label": {
+ "description": "Region label as Partiful prints it.",
+ "example": "New York City",
+ "type": "string"
+ },
+ "sections": {
+ "description": "Every themed carousel the region page carries, in payload order.",
+ "items": {
+ "$ref": "#/definitions/partiful.Section"
+ },
+ "type": "array"
+ },
+ "trending_section": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/partiful.Section"
+ }
+ ],
+ "description": "The region's trending carousel, when the payload carries one."
}
},
"type": "object"
},
- "resy.SearchResult": {
+ "partiful.CityRef": {
"properties": {
- "city": {
- "example": "New York",
+ "code": {
+ "description": "Region code, e.g. \"LA\".",
+ "example": "LA",
"type": "string"
},
- "cuisines": {
- "example": [
- "Italian"
- ],
+ "label": {
+ "description": "Region label as Partiful prints it, e.g. \"Los Angeles\".",
+ "example": "Los Angeles",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "partiful.EventResponse": {
+ "properties": {
+ "description": {
+ "description": "Event description as the host wrote it. This is host-authored public copy;\nit may mention contact details the host chose to publish.",
+ "type": "string"
+ },
+ "end_date": {
+ "description": "End time, ISO 8601 UTC as Partiful publishes it.",
+ "example": "2026-11-08T08:00:00.000Z",
+ "type": "string"
+ },
+ "hosts": {
+ "description": "Host display names only, in payload order.",
"items": {
"type": "string"
},
"type": "array"
},
"id": {
- "example": "6194",
+ "description": "Event id, twenty alphanumeric characters.",
+ "example": "Dv8UDa1p7wa2XNeiN7uY",
"type": "string"
},
- "latitude": {
- "type": "number"
+ "image_url": {
+ "description": "Cover image URL from Partiful's public CDN.",
+ "type": "string"
},
- "location_code": {
- "description": "LocationCode is Resy's short city code (e.g. \"ny\") -- pass it as\nresy-cuisines' or resy-events' location param to discover more about\nthis same city.",
- "example": "ny",
+ "is_free": {
+ "description": "True when every advertised offer is priced at zero; omitted when the event\nadvertises no offer.",
+ "type": "boolean"
+ },
+ "offers": {
+ "description": "Advertised offers from the page's own offersJsonLd. An event may advertise\nnone.",
+ "items": {
+ "$ref": "#/definitions/partiful.Offer"
+ },
+ "type": "array"
+ },
+ "similar_events": {
+ "description": "Other public events Partiful suggests, in payload order.",
+ "items": {
+ "$ref": "#/definitions/partiful.EventSummary"
+ },
+ "type": "array"
+ },
+ "start_date": {
+ "description": "Start time, ISO 8601 UTC as Partiful publishes it.",
+ "example": "2026-11-08T03:00:00.000Z",
"type": "string"
},
- "location_url_slug": {
- "example": "new-york-ny",
+ "status": {
+ "description": "Publish status, e.g. \"PUBLISHED\".",
"type": "string"
},
- "longitude": {
- "type": "number"
+ "timezone": {
+ "description": "IANA timezone the host set, e.g. \"America/New_York\".",
+ "type": "string"
},
- "name": {
- "example": "Carbone",
+ "title": {
+ "description": "Event title as the host wrote it.",
+ "example": "Dionysus at Mercer Labs",
"type": "string"
},
- "neighborhood": {
- "example": "Greenwich Village",
+ "url": {
+ "description": "Canonical public event URL.",
+ "example": "https://partiful.com/e/Dv8UDa1p7wa2XNeiN7uY",
"type": "string"
},
- "phone_number": {
+ "venue": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/partiful.Venue"
+ }
+ ],
+ "description": "Venue: name, approximate city and neighborhood only. The exact street\naddress is never returned."
+ }
+ },
+ "type": "object"
+ },
+ "partiful.EventSummary": {
+ "properties": {
+ "end_date": {
+ "description": "End time, ISO 8601 UTC.",
"type": "string"
},
- "price_range": {
- "example": 4,
- "type": "integer"
+ "id": {
+ "description": "Event id, usable with partiful-event.",
+ "example": "Dv8UDa1p7wa2XNeiN7uY",
+ "type": "string"
},
- "rating": {
- "example": 4.75,
- "type": "number"
+ "image_url": {
+ "description": "Cover image URL from Partiful's public CDN.",
+ "type": "string"
},
- "region": {
- "example": "NY",
+ "start_date": {
+ "description": "Start time, ISO 8601 UTC.",
+ "example": "2026-11-08T03:00:00.000Z",
"type": "string"
},
- "review_count": {
- "example": 33837,
- "type": "integer"
+ "status": {
+ "description": "Publish status, e.g. \"PUBLISHED\".",
+ "type": "string"
},
- "timeslots": {
+ "timezone": {
+ "description": "IANA timezone the host set.",
+ "type": "string"
+ },
+ "title": {
+ "description": "Event title.",
+ "example": "Dionysus at Mercer Labs",
+ "type": "string"
+ },
+ "url": {
+ "description": "Canonical public event URL.",
+ "example": "https://partiful.com/e/Dv8UDa1p7wa2XNeiN7uY",
+ "type": "string"
+ },
+ "venue": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/partiful.Venue"
+ }
+ ],
+ "description": "Venue name, approximate city and neighborhood. The exact street address is\nnever returned."
+ }
+ },
+ "type": "object"
+ },
+ "partiful.ExploreCitiesResponse": {
+ "properties": {
+ "regions": {
"items": {
- "$ref": "#/definitions/resy.Timeslot"
+ "$ref": "#/definitions/partiful.HubRegion"
},
"type": "array"
- },
- "url_slug": {
- "example": "carbone",
- "type": "string"
}
},
"type": "object"
},
- "resy.Timeslot": {
+ "partiful.HubRegion": {
"properties": {
- "end": {
- "example": "2026-09-20 20:30:00",
- "type": "string"
+ "events": {
+ "description": "The events Partiful features for this region, in payload order.",
+ "items": {
+ "$ref": "#/definitions/partiful.EventSummary"
+ },
+ "type": "array"
},
- "max_party_size": {
- "example": 4,
- "type": "integer"
+ "icon": {
+ "description": "The carousel's emoji icon.",
+ "type": "string"
},
- "min_party_size": {
- "example": 1,
- "type": "integer"
+ "region": {
+ "description": "Region code, one of NYC, LA, SF, CHI, ATX, BOS, DC, MIA, LON.",
+ "example": "NYC",
+ "type": "string"
},
- "seating_type": {
- "example": "Dining Room",
+ "region_label": {
+ "description": "Region label as Partiful prints it, e.g. \"New York City\".",
+ "example": "New York City",
"type": "string"
},
- "start": {
- "description": "Start/End are Resy's own local \"YYYY-MM-DD HH:MM:SS\" strings (not RFC3339\n-- kept as upstream returns them since seating-area shifts don't carry a\nUTC offset in the response).",
- "example": "2026-09-20 19:00:00",
+ "subtitle": {
+ "description": "The carousel's subtitle as printed.",
"type": "string"
},
- "token": {
- "description": "Token is Resy's opaque reservation-config identifier for this slot\n(an \"rgs://...\" string). It is only meaningful back to Resy's own\nbooking flow -- this service does not implement booking, only\ndiscovery.",
+ "title": {
+ "description": "The carousel's own title, e.g. \"Trending in NYC\".",
"type": "string"
}
},
"type": "object"
},
- "resy.availabilityResponseDoc": {
+ "partiful.Offer": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/resy.AvailabilityResponse"
+ "availability": {
+ "description": "schema.org availability URL, e.g. \"https://schema.org/InStock\".",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "currency": {
+ "description": "ISO 4217 currency code, e.g. \"USD\".",
+ "example": "USD",
"type": "string"
+ },
+ "price": {
+ "description": "Advertised price. Zero means free.",
+ "example": 0,
+ "type": "number"
}
},
"type": "object"
},
- "resy.cuisinesResponseDoc": {
+ "partiful.Section": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "events": {
+ "description": "The section's events, in payload order, with non-public events dropped.",
+ "items": {
+ "$ref": "#/definitions/partiful.EventSummary"
+ },
+ "type": "array"
},
- "data": {
- "$ref": "#/definitions/resy.CuisinesResponse"
+ "id": {
+ "description": "Section id as Partiful prints it, e.g. \"nyc-for-the-plot\".",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "region": {
+ "description": "Region the section belongs to.",
+ "type": "string"
+ },
+ "subtitle": {
+ "description": "Section subtitle, when printed.",
+ "type": "string"
+ },
+ "title": {
+ "description": "Section title, e.g. \"Side Quests\".",
"type": "string"
}
},
"type": "object"
},
- "resy.eventDetailResponseDoc": {
+ "partiful.Venue": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "city": {
+ "description": "Approximate location as Partiful prints it, e.g. \"New York, NY\" or\n\"Brooklyn, NY\". Not a street address.",
+ "example": "New York, NY",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/resy.EventDetailResponse"
+ "name": {
+ "description": "Venue name, e.g. \"Mercer Labs\".",
+ "example": "Mercer Labs",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "neighborhood": {
+ "description": "Neighborhood, e.g. \"Financial District\".",
"type": "string"
}
},
"type": "object"
},
- "resy.eventsResponseDoc": {
+ "partiful.cityFacetsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/resy.EventsResponse"
+ "$ref": "#/definitions/partiful.CityFacetsResponse"
},
"msg": {
"example": "OK",
@@ -178210,14 +186473,14 @@
},
"type": "object"
},
- "resy.locationsResponseDoc": {
+ "partiful.cityFeedResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/resy.LocationsResponse"
+ "$ref": "#/definitions/partiful.CityFeedResponse"
},
"msg": {
"example": "OK",
@@ -178226,14 +186489,14 @@
},
"type": "object"
},
- "resy.restaurantResponseDoc": {
+ "partiful.eventResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/resy.RestaurantResponse"
+ "$ref": "#/definitions/partiful.EventResponse"
},
"msg": {
"example": "OK",
@@ -178242,14 +186505,14 @@
},
"type": "object"
},
- "resy.searchResponseDoc": {
+ "partiful.exploreCitiesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/resy.SearchResponse"
+ "$ref": "#/definitions/partiful.ExploreCitiesResponse"
},
"msg": {
"example": "OK",
@@ -178258,330 +186521,412 @@
},
"type": "object"
},
- "retailmenot.AutocompleteGroup": {
+ "patreon.Creator": {
"properties": {
- "items": {
+ "avatar_url": {
+ "type": "string"
+ },
+ "collection_count": {
+ "type": "integer"
+ },
+ "cover_url": {
+ "type": "string"
+ },
+ "creation_count": {
+ "type": "integer"
+ },
+ "currency": {
+ "example": "EUR",
+ "type": "string"
+ },
+ "handle": {
+ "example": "CachyOS",
+ "type": "string"
+ },
+ "has_public_rss": {
+ "type": "boolean"
+ },
+ "id": {
+ "example": "8655479",
+ "type": "string"
+ },
+ "is_monthly": {
+ "type": "boolean"
+ },
+ "is_nsfw": {
+ "type": "boolean"
+ },
+ "name": {
+ "example": "CachyOS",
+ "type": "string"
+ },
+ "offers_free_membership": {
+ "type": "boolean"
+ },
+ "offers_paid_membership": {
+ "type": "boolean"
+ },
+ "paid_member_count": {
+ "type": "integer"
+ },
+ "patron_count": {
+ "type": "integer"
+ },
+ "pledge_sum_cents": {
+ "type": "integer"
+ },
+ "show_count": {
+ "type": "integer"
+ },
+ "social_links": {
"items": {
- "$ref": "#/definitions/retailmenot.AutocompleteItem"
+ "$ref": "#/definitions/patreon.CreatorSocialLink"
},
"type": "array"
},
- "label": {
+ "summary": {
"type": "string"
},
- "name": {
+ "url": {
+ "example": "https://www.patreon.com/CachyOS",
"type": "string"
}
},
"type": "object"
},
- "retailmenot.AutocompleteItem": {
+ "patreon.CreatorSocialLink": {
"properties": {
- "category_slug": {
- "description": "CategorySlug is set on category suggestions; use it with\nGET /retailmenot/category.",
+ "label": {
+ "example": "CachyOS",
"type": "string"
},
- "domain": {
+ "platform": {
+ "example": "twitter",
"type": "string"
},
- "meta_info": {
+ "url": {
+ "example": "https://twitter.com/CachyOS",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "patreon.ExploreCreator": {
+ "properties": {
+ "avatar_url": {
"type": "string"
},
- "offer_id": {
+ "creation_name": {
+ "example": "creating YouTube videos",
"type": "string"
},
- "title": {
+ "id": {
+ "example": "4270549",
+ "type": "string"
+ },
+ "is_nsfw": {
+ "type": "boolean"
+ },
+ "name": {
+ "example": "Reckless Ben",
"type": "string"
},
"url": {
+ "example": "https://www.patreon.com/RecklessBen",
"type": "string"
}
},
"type": "object"
},
- "retailmenot.AutocompleteResponse": {
+ "patreon.ExploreResult": {
"properties": {
- "groups": {
+ "sections": {
"items": {
- "$ref": "#/definitions/retailmenot.AutocompleteGroup"
+ "$ref": "#/definitions/patreon.ExploreSection"
},
"type": "array"
+ },
+ "topic": {
+ "example": "podcasts_and_shows",
+ "type": "string"
}
},
"type": "object"
},
- "retailmenot.BlogCategoriesResponse": {
+ "patreon.ExploreSection": {
"properties": {
- "categories": {
+ "creators": {
"items": {
- "$ref": "#/definitions/retailmenot.BlogCategory"
+ "$ref": "#/definitions/patreon.ExploreCreator"
},
"type": "array"
+ },
+ "title": {
+ "example": "Top creators",
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "popular-campaigns",
+ "trending-campaigns",
+ "new-campaigns"
+ ],
+ "example": "popular-campaigns",
+ "type": "string"
}
},
"type": "object"
},
- "retailmenot.BlogCategory": {
+ "patreon.MembershipTier": {
"properties": {
- "count": {
+ "amount_cents": {
+ "example": 500,
"type": "integer"
},
- "description": {
- "type": "string"
- },
- "id": {
- "type": "integer"
+ "benefits": {
+ "items": {
+ "$ref": "#/definitions/patreon.MembershipTierBenefit"
+ },
+ "type": "array"
},
- "name": {
+ "currency": {
+ "example": "USD",
"type": "string"
},
- "parent_id": {
- "type": "integer"
+ "description": {
+ "type": "string"
},
- "slug": {
+ "id": {
+ "example": "17218833",
"type": "string"
},
- "url": {
+ "title": {
+ "example": "Supporter",
"type": "string"
}
},
"type": "object"
},
- "retailmenot.BlogLink": {
+ "patreon.MembershipTierBenefit": {
"properties": {
- "name": {
- "type": "string"
- },
- "slug": {
+ "description": {
"type": "string"
},
- "url": {
+ "title": {
+ "example": "Support the project",
"type": "string"
}
},
"type": "object"
},
- "retailmenot.BlogPostResponse": {
+ "patreon.MembershipTiersResult": {
"properties": {
- "author": {
+ "creator_id": {
+ "example": "8655479",
"type": "string"
},
- "categories": {
- "items": {
- "$ref": "#/definitions/retailmenot.BlogTerm"
- },
- "type": "array"
+ "handle": {
+ "example": "CachyOS",
+ "type": "string"
},
- "coupon_categories": {
+ "tiers": {
"items": {
- "$ref": "#/definitions/retailmenot.BlogLink"
+ "$ref": "#/definitions/patreon.MembershipTier"
},
"type": "array"
- },
+ }
+ },
+ "type": "object"
+ },
+ "patreon.PublicRSSEpisode": {
+ "properties": {
"description": {
"type": "string"
},
- "excerpt": {
+ "duration": {
"type": "string"
},
- "id": {
- "type": "integer"
- },
- "image_url": {
+ "enclosure_type": {
"type": "string"
},
- "modified": {
+ "enclosure_url": {
"type": "string"
},
- "published": {
+ "episode_type": {
"type": "string"
},
- "sections": {
- "items": {
- "$ref": "#/definitions/retailmenot.BlogSection"
- },
- "type": "array"
- },
- "slug": {
+ "guid": {
"type": "string"
},
- "stores": {
- "items": {
- "$ref": "#/definitions/retailmenot.BlogLink"
- },
- "type": "array"
+ "image_url": {
+ "type": "string"
},
- "tags": {
- "items": {
- "$ref": "#/definitions/retailmenot.BlogTerm"
- },
- "type": "array"
+ "link": {
+ "type": "string"
},
- "title": {
+ "published_at": {
"type": "string"
},
- "url": {
+ "title": {
"type": "string"
}
},
"type": "object"
},
- "retailmenot.BlogPostSummary": {
+ "patreon.PublicRSSFeed": {
"properties": {
"author": {
"type": "string"
},
- "categories": {
- "items": {
- "$ref": "#/definitions/retailmenot.BlogTerm"
- },
- "type": "array"
+ "campaign_id": {
+ "example": "80117",
+ "type": "string"
},
- "description": {
+ "copyright": {
"type": "string"
},
- "excerpt": {
+ "description": {
"type": "string"
},
- "id": {
- "type": "integer"
+ "episodes": {
+ "items": {
+ "$ref": "#/definitions/patreon.PublicRSSEpisode"
+ },
+ "type": "array"
},
- "image_url": {
+ "explicit": {
"type": "string"
},
- "modified": {
+ "image_url": {
"type": "string"
},
- "published": {
+ "language": {
"type": "string"
},
- "slug": {
+ "link": {
"type": "string"
},
- "tags": {
- "items": {
- "$ref": "#/definitions/retailmenot.BlogTerm"
- },
- "type": "array"
+ "show_id": {
+ "example": "1322380",
+ "type": "string"
},
"title": {
"type": "string"
},
- "url": {
+ "type": {
"type": "string"
}
},
"type": "object"
},
- "retailmenot.BlogPostsResponse": {
+ "patreon.creatorResponseDoc": {
"properties": {
- "category": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "order": {
- "enum": [
- "desc",
- "asc"
- ],
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/patreon.Creator"
},
- "order_by": {
- "enum": [
- "date",
- "modified",
- "title",
- "relevance"
- ],
+ "msg": {
+ "example": "success",
"type": "string"
- },
- "page": {
- "type": "integer"
- },
- "page_size": {
+ }
+ },
+ "type": "object"
+ },
+ "patreon.exploreResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "posts": {
- "items": {
- "$ref": "#/definitions/retailmenot.BlogPostSummary"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/patreon.ExploreResult"
},
- "query": {
+ "msg": {
+ "example": "success",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "patreon.membershipTiersResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "tag": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/patreon.MembershipTiersResult"
},
- "total": {
+ "msg": {
+ "example": "success",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "patreon.publicRSSResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "total_pages": {
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/patreon.PublicRSSFeed"
+ },
+ "msg": {
+ "example": "success",
+ "type": "string"
}
},
"type": "object"
},
- "retailmenot.BlogSection": {
+ "pcgamer.AuthorResponse": {
"properties": {
- "lists": {
+ "articles": {
"items": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "$ref": "#/definitions/newsplatform.HeadlineItem"
},
"type": "array"
},
- "paragraphs": {
+ "biography": {
"items": {
"type": "string"
},
"type": "array"
},
- "title": {
+ "has_next_page": {
+ "type": "boolean"
+ },
+ "job_title": {
"type": "string"
- }
- },
- "type": "object"
- },
- "retailmenot.BlogTagsResponse": {
- "properties": {
- "page": {
- "type": "integer"
},
- "page_size": {
+ "name": {
+ "type": "string"
+ },
+ "page": {
"type": "integer"
},
- "query": {
+ "slug": {
"type": "string"
},
- "tags": {
+ "social_links": {
"items": {
- "$ref": "#/definitions/retailmenot.BlogTerm"
+ "$ref": "#/definitions/pcgamer.AuthorSocialLink"
},
"type": "array"
},
- "total": {
- "type": "integer"
- },
- "total_pages": {
- "type": "integer"
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "retailmenot.BlogTerm": {
+ "pcgamer.AuthorSocialLink": {
"properties": {
- "count": {
- "type": "integer"
- },
- "id": {
- "type": "integer"
- },
- "name": {
- "type": "string"
- },
- "slug": {
+ "platform": {
"type": "string"
},
"url": {
@@ -178590,128 +186935,108 @@
},
"type": "object"
},
- "retailmenot.CashBackResponse": {
+ "pcmag.AuthorResponse": {
"properties": {
- "sections": {
+ "articles": {
"items": {
- "$ref": "#/definitions/retailmenot.OfferSection"
+ "$ref": "#/definitions/newsplatform.HeadlineItem"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "retailmenot.CategoriesResponse": {
- "properties": {
- "categories": {
+ },
+ "biography": {
+ "type": "string"
+ },
+ "expertise": {
"items": {
- "$ref": "#/definitions/retailmenot.Category"
+ "$ref": "#/definitions/pcmag.AuthorTopic"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "retailmenot.Category": {
- "properties": {
- "level": {
- "type": "integer"
+ },
+ "image_url": {
+ "type": "string"
},
"name": {
"type": "string"
},
- "parent_slug": {
+ "role": {
"type": "string"
},
"slug": {
"type": "string"
},
+ "social_links": {
+ "items": {
+ "$ref": "#/definitions/pcmag.AuthorSocialLink"
+ },
+ "type": "array"
+ },
"url": {
"type": "string"
}
},
"type": "object"
},
- "retailmenot.CategoryOffer": {
+ "pcmag.AuthorSocialLink": {
"properties": {
- "discount": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "offer_type": {
- "type": "string"
- },
- "position": {
- "type": "integer"
- },
- "store_domain": {
- "type": "string"
- },
- "store_name": {
- "type": "string"
- },
- "store_url": {
- "type": "string"
- },
- "title": {
+ "platform": {
"type": "string"
},
- "type_label": {
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "retailmenot.CategoryRef": {
+ "pcmag.AuthorTopic": {
"properties": {
"name": {
"type": "string"
},
- "slug": {
- "type": "string"
- },
"url": {
"type": "string"
}
},
"type": "object"
},
- "retailmenot.CategoryResponse": {
+ "people.AuthorInfoItem": {
"properties": {
- "description": {
+ "label": {
"type": "string"
},
- "name": {
+ "url": {
"type": "string"
},
- "offers": {
+ "value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "people.AuthorResponse": {
+ "properties": {
+ "articles": {
"items": {
- "$ref": "#/definitions/retailmenot.CategoryOffer"
+ "$ref": "#/definitions/people.HeadlineItem"
},
"type": "array"
},
- "page": {
- "type": "integer"
- },
- "similar_stores": {
+ "biography": {
"items": {
- "$ref": "#/definitions/retailmenot.StoreRef"
+ "type": "string"
},
"type": "array"
},
- "slug": {
- "type": "string"
- },
- "stats": {
+ "info": {
"items": {
- "$ref": "#/definitions/retailmenot.Stat"
+ "$ref": "#/definitions/people.AuthorInfoItem"
},
"type": "array"
},
- "total_pages": {
- "type": "integer"
+ "job_title": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
},
"url": {
"type": "string"
@@ -178719,12 +187044,24 @@
},
"type": "object"
},
- "retailmenot.DealEventRef": {
+ "people.HeadlineItem": {
"properties": {
- "name": {
+ "author": {
"type": "string"
},
- "slug": {
+ "image_url": {
+ "type": "string"
+ },
+ "published_at": {
+ "type": "string"
+ },
+ "summary": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "type": {
"type": "string"
},
"url": {
@@ -178733,1619 +187070,1480 @@
},
"type": "object"
},
- "retailmenot.DealEventResponse": {
+ "petsmart.CategoriesResponse": {
"properties": {
- "name": {
- "type": "string"
- },
- "sections": {
+ "categories": {
"items": {
- "$ref": "#/definitions/retailmenot.OfferSection"
+ "$ref": "#/definitions/petsmart.Category"
},
"type": "array"
},
- "slug": {
+ "country": {
"type": "string"
},
- "url": {
+ "limit": {
+ "type": "integer"
+ },
+ "page": {
+ "type": "integer"
+ },
+ "total_results": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "petsmart.Category": {
+ "properties": {
+ "depth": {
+ "type": "integer"
+ },
+ "id": {
+ "type": "integer"
+ },
+ "key": {
+ "description": "Key is PetSmart's category key and ID its numeric part.",
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "parent": {
+ "description": "Parent is the path of the parent category; empty for a top-level one.",
+ "type": "string"
+ },
+ "path": {
+ "description": "Path is the value /petsmart/search takes as category, for example\n\"Dog > Food > Dry Food\". It includes the category's descendants.",
"type": "string"
}
},
"type": "object"
},
- "retailmenot.DealEventsResponse": {
+ "petsmart.Facet": {
"properties": {
- "events": {
+ "name": {
+ "type": "string"
+ },
+ "values": {
"items": {
- "$ref": "#/definitions/retailmenot.DealEventRef"
+ "$ref": "#/definitions/petsmart.FacetValue"
},
"type": "array"
}
},
"type": "object"
},
- "retailmenot.FAQ": {
+ "petsmart.FacetValue": {
"properties": {
- "answer": {
- "type": "string"
+ "count": {
+ "type": "integer"
},
- "question": {
+ "value": {
"type": "string"
}
},
"type": "object"
},
- "retailmenot.HomeResponse": {
+ "petsmart.FiltersResponse": {
"properties": {
- "faqs": {
+ "country": {
+ "type": "string"
+ },
+ "facet_names": {
+ "description": "FacetNames lists every filter name /petsmart/search's filter parameter\naccepts, regardless of the scope.",
"items": {
- "$ref": "#/definitions/retailmenot.FAQ"
+ "type": "string"
},
"type": "array"
},
- "product_deals": {
+ "facets": {
"items": {
- "$ref": "#/definitions/retailmenot.ProductDeal"
+ "$ref": "#/definitions/petsmart.Facet"
},
"type": "array"
},
- "sections": {
+ "numeric_ranges": {
"items": {
- "$ref": "#/definitions/retailmenot.OfferSection"
+ "$ref": "#/definitions/petsmart.NumericRange"
},
"type": "array"
+ },
+ "total_results": {
+ "type": "integer"
}
},
"type": "object"
},
- "retailmenot.Offer": {
+ "petsmart.Images": {
"properties": {
- "button_text": {
- "type": "string"
- },
- "cash_back": {
- "type": "string"
- },
- "details": {
+ "alternate": {
"items": {
"type": "string"
},
"type": "array"
},
- "discount": {
+ "large": {
"type": "string"
},
- "id": {
+ "small": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "petsmart.InventoryResponse": {
+ "properties": {
+ "id": {
+ "type": "integer"
},
- "labels": {
+ "returned": {
+ "type": "integer"
+ },
+ "stores": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/petsmart.StoreStock"
},
"type": "array"
},
- "offer_type": {
- "description": "OfferType is RetailMeNot's offer kind, for example \"COUPON\", \"SALE\", or\n\"REWARD\" (observed values; returned as data).",
- "type": "string"
+ "stores_in_stock": {
+ "type": "integer"
},
- "position": {
+ "stores_with_record": {
+ "description": "StoresWithRecord, StoresInStock and TotalUnits describe every store PetSmart\nreports for the product, before store_id, min_quantity and limit apply.",
"type": "integer"
},
- "section": {
- "description": "Section is the page section the offer was listed in, for example\n\"top_offers\", \"unverified_offers\", \"suggested_offers\", or\n\"expired_offers\" (observed values; returned as data).",
- "type": "string"
+ "total_units": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "petsmart.NumericRange": {
+ "properties": {
+ "avg": {
+ "type": "number"
},
- "title": {
- "type": "string"
+ "max": {
+ "type": "number"
},
- "type_label": {
+ "min": {
+ "type": "number"
+ },
+ "name": {
"type": "string"
}
},
"type": "object"
},
- "retailmenot.OfferSection": {
+ "petsmart.PackageDimensions": {
"properties": {
- "category_slug": {
- "type": "string"
+ "height": {
+ "type": "number"
},
- "name": {
- "type": "string"
+ "length": {
+ "type": "number"
},
- "offers": {
- "items": {
- "$ref": "#/definitions/retailmenot.CategoryOffer"
- },
- "type": "array"
+ "weight": {
+ "type": "number"
+ },
+ "width": {
+ "type": "number"
}
},
"type": "object"
},
- "retailmenot.ProductDeal": {
+ "petsmart.Price": {
"properties": {
- "discount": {
- "type": "string"
+ "current": {
+ "type": "number"
},
- "id": {
+ "display": {
+ "description": "Display is PetSmart's own formatted price text (for example \"$20.68-$94.99\").",
"type": "string"
},
- "image_url": {
+ "display_type": {
+ "description": "DisplayType is \"single\" or \"range\".",
"type": "string"
},
- "position": {
- "type": "integer"
+ "list": {
+ "description": "List is the undiscounted price when the product is on sale.",
+ "type": "number"
},
- "product_url": {
- "type": "string"
+ "list_range": {
+ "items": {
+ "type": "number"
+ },
+ "type": "array"
},
- "title": {
+ "sale_range": {
+ "items": {
+ "type": "number"
+ },
+ "type": "array"
+ },
+ "strikethrough_display": {
"type": "string"
}
},
"type": "object"
},
- "retailmenot.Rating": {
+ "petsmart.Product": {
"properties": {
- "count": {
- "type": "integer"
+ "autoship_eligible": {
+ "type": "boolean"
},
- "value": {
- "type": "number"
- }
- },
- "type": "object"
- },
- "retailmenot.Stat": {
- "properties": {
- "label": {
+ "available": {
+ "type": "boolean"
+ },
+ "brand": {
"type": "string"
},
- "value": {
+ "id": {
+ "description": "ID is the SKU; /petsmart/product and /petsmart/product/inventory take it.",
+ "type": "integer"
+ },
+ "images": {
+ "$ref": "#/definitions/petsmart.Images"
+ },
+ "in_stock_in_store": {
+ "type": "boolean"
+ },
+ "in_store_only": {
+ "type": "boolean"
+ },
+ "master_product_id": {
+ "description": "MasterProductID groups the size and flavor variations of one product.",
"type": "integer"
- }
- },
- "type": "object"
- },
- "retailmenot.StoreRef": {
- "properties": {
- "domain": {
- "type": "string"
},
"name": {
"type": "string"
},
- "url": {
+ "online_only": {
+ "type": "boolean"
+ },
+ "pets": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "pickup_eligible": {
+ "type": "boolean"
+ },
+ "price": {
+ "$ref": "#/definitions/petsmart.Price"
+ },
+ "primary_category_id": {
+ "type": "string"
+ },
+ "primary_category_name": {
+ "type": "string"
+ },
+ "rating": {
+ "type": "number"
+ },
+ "review_count": {
+ "type": "integer"
+ },
+ "size": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Size is the size attribute (for example solidSize: \"30 Lb\").",
+ "type": "object"
+ },
+ "upc": {
"type": "string"
+ },
+ "variations": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "retailmenot.StoreResponse": {
+ "petsmart.ProductDetail": {
"properties": {
- "address": {
- "type": "string"
+ "attributes": {
+ "additionalProperties": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "type": "object"
},
- "category": {
- "$ref": "#/definitions/retailmenot.CategoryRef"
+ "autoship_eligible": {
+ "type": "boolean"
},
- "description": {
- "type": "string"
+ "available": {
+ "type": "boolean"
},
- "domain": {
+ "brand": {
"type": "string"
},
- "faqs": {
+ "category_paths": {
"items": {
- "$ref": "#/definitions/retailmenot.FAQ"
+ "type": "string"
},
"type": "array"
},
- "heading": {
+ "description": {
"type": "string"
},
- "last_reviewed": {
+ "description_html": {
"type": "string"
},
- "logo_url": {
+ "id": {
+ "description": "ID is the SKU; /petsmart/product and /petsmart/product/inventory take it.",
+ "type": "integer"
+ },
+ "images": {
+ "$ref": "#/definitions/petsmart.Images"
+ },
+ "in_stock_in_store": {
+ "type": "boolean"
+ },
+ "in_store_only": {
+ "type": "boolean"
+ },
+ "manufacturer_name": {
"type": "string"
},
- "market": {
- "enum": [
- "us",
- "ca"
- ],
+ "manufacturer_sku": {
"type": "string"
},
+ "master_product_id": {
+ "description": "MasterProductID groups the size and flavor variations of one product.",
+ "type": "integer"
+ },
"name": {
"type": "string"
},
- "offers": {
+ "online_only": {
+ "type": "boolean"
+ },
+ "package": {
+ "$ref": "#/definitions/petsmart.PackageDimensions"
+ },
+ "pets": {
"items": {
- "$ref": "#/definitions/retailmenot.Offer"
+ "type": "string"
},
"type": "array"
},
- "phone": {
+ "pickup_eligible": {
+ "type": "boolean"
+ },
+ "price": {
+ "$ref": "#/definitions/petsmart.Price"
+ },
+ "primary_category_id": {
"type": "string"
},
- "rating": {
- "$ref": "#/definitions/retailmenot.Rating"
+ "primary_category_name": {
+ "type": "string"
},
- "similar_stores": {
+ "promotions": {
"items": {
- "$ref": "#/definitions/retailmenot.StoreRef"
+ "$ref": "#/definitions/petsmart.Promotion"
},
"type": "array"
},
- "stats": {
+ "rating": {
+ "type": "number"
+ },
+ "review_count": {
+ "type": "integer"
+ },
+ "short_description": {
+ "type": "string"
+ },
+ "size": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Size is the size attribute (for example solidSize: \"30 Lb\").",
+ "type": "object"
+ },
+ "upc": {
+ "type": "string"
+ },
+ "upcs": {
"items": {
- "$ref": "#/definitions/retailmenot.Stat"
+ "type": "string"
},
"type": "array"
},
- "url": {
- "type": "string"
+ "variation_options": {
+ "items": {
+ "$ref": "#/definitions/petsmart.Variation"
+ },
+ "type": "array"
},
- "website": {
+ "variations": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "petsmart.Promotion": {
+ "properties": {
+ "text": {
"type": "string"
}
},
"type": "object"
},
- "retailmenot.StoresResponse": {
+ "petsmart.SearchResponse": {
"properties": {
- "letter": {
+ "country": {
"type": "string"
},
- "market": {
- "enum": [
- "us",
- "ca"
- ],
- "type": "string"
+ "limit": {
+ "type": "integer"
},
- "stores": {
+ "page": {
+ "type": "integer"
+ },
+ "products": {
"items": {
- "$ref": "#/definitions/retailmenot.StoreRef"
+ "$ref": "#/definitions/petsmart.Product"
},
"type": "array"
+ },
+ "query": {
+ "type": "string"
+ },
+ "sort": {
+ "type": "string"
+ },
+ "total_pages": {
+ "type": "integer"
+ },
+ "total_results": {
+ "type": "integer"
}
},
"type": "object"
},
- "retailmenot.autocompleteResponseDoc": {
+ "petsmart.StoreStock": {
"properties": {
- "data": {
- "$ref": "#/definitions/retailmenot.AutocompleteResponse"
+ "quantity": {
+ "type": "integer"
+ },
+ "store_id": {
+ "type": "integer"
}
},
"type": "object"
},
- "retailmenot.blogCategoriesResponseDoc": {
+ "petsmart.SuggestResponse": {
"properties": {
- "data": {
- "$ref": "#/definitions/retailmenot.BlogCategoriesResponse"
+ "country": {
+ "type": "string"
+ },
+ "query": {
+ "type": "string"
+ },
+ "suggestions": {
+ "items": {
+ "$ref": "#/definitions/petsmart.Suggestion"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "retailmenot.blogPostResponseDoc": {
+ "petsmart.Suggestion": {
"properties": {
- "data": {
- "$ref": "#/definitions/retailmenot.BlogPostResponse"
+ "popularity": {
+ "description": "Popularity is PetSmart's relative search volume for the phrase.",
+ "type": "integer"
+ },
+ "product_count": {
+ "description": "ProductCount is how many products the phrase matches exactly.",
+ "type": "integer"
+ },
+ "query": {
+ "type": "string"
}
},
"type": "object"
},
- "retailmenot.blogPostsResponseDoc": {
+ "petsmart.Variation": {
"properties": {
- "data": {
- "$ref": "#/definitions/retailmenot.BlogPostsResponse"
+ "type": {
+ "type": "string"
+ },
+ "value": {
+ "type": "string"
}
},
"type": "object"
},
- "retailmenot.blogTagsResponseDoc": {
+ "petsmart.categoriesResponseDoc": {
"properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
+ },
"data": {
- "$ref": "#/definitions/retailmenot.BlogTagsResponse"
+ "$ref": "#/definitions/petsmart.CategoriesResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "retailmenot.cashBackResponseDoc": {
+ "petsmart.filtersResponseDoc": {
"properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
+ },
"data": {
- "$ref": "#/definitions/retailmenot.CashBackResponse"
+ "$ref": "#/definitions/petsmart.FiltersResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "retailmenot.categoriesResponseDoc": {
+ "petsmart.inventoryResponseDoc": {
"properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
+ },
"data": {
- "$ref": "#/definitions/retailmenot.CategoriesResponse"
+ "$ref": "#/definitions/petsmart.InventoryResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "retailmenot.categoryResponseDoc": {
+ "petsmart.productResponseDoc": {
"properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
+ },
"data": {
- "$ref": "#/definitions/retailmenot.CategoryResponse"
+ "$ref": "#/definitions/petsmart.ProductDetail"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "retailmenot.dealEventResponseDoc": {
+ "petsmart.searchResponseDoc": {
"properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
+ },
"data": {
- "$ref": "#/definitions/retailmenot.DealEventResponse"
+ "$ref": "#/definitions/petsmart.SearchResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "retailmenot.dealEventsResponseDoc": {
+ "petsmart.suggestResponseDoc": {
"properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
+ },
"data": {
- "$ref": "#/definitions/retailmenot.DealEventsResponse"
+ "$ref": "#/definitions/petsmart.SuggestResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "retailmenot.homeResponseDoc": {
+ "pgatour.ResponseDoc": {
"properties": {
+ "code": {
+ "type": "integer"
+ },
"data": {
- "$ref": "#/definitions/retailmenot.HomeResponse"
+ "additionalProperties": true,
+ "type": "object"
+ },
+ "msg": {
+ "type": "string"
}
},
"type": "object"
},
- "retailmenot.storeResponseDoc": {
+ "pgatour.ScheduleSeasonsResponseDoc": {
"properties": {
+ "code": {
+ "type": "integer"
+ },
"data": {
- "$ref": "#/definitions/retailmenot.StoreResponse"
+ "items": {
+ "$ref": "#/definitions/pgatour.SeasonChoice"
+ },
+ "type": "array"
+ },
+ "msg": {
+ "type": "string"
}
},
"type": "object"
},
- "retailmenot.storesResponseDoc": {
+ "pgatour.SeasonChoice": {
"properties": {
- "data": {
- "$ref": "#/definitions/retailmenot.StoresResponse"
+ "display": {
+ "type": "string"
+ },
+ "value": {
+ "type": "integer"
}
},
"type": "object"
},
- "retrievalplatform.CapabilitiesResponse": {
+ "pgatour.StatChoices": {
"properties": {
- "available_operations": {
+ "queryTypes": {
"items": {
"type": "string"
},
"type": "array"
},
- "billing_bypassed": {
- "type": "boolean"
- },
- "contract_version": {
+ "statId": {
"type": "string"
},
- "crawl_available": {
- "type": "boolean"
- },
- "crawl_max_pages": {
- "type": "integer"
- },
- "map_max_urls": {
- "type": "integer"
- },
- "max_active_jobs": {
- "type": "integer"
- },
- "max_job_credits": {
- "type": "integer"
- },
- "model_rates": {
- "additionalProperties": {
- "$ref": "#/definitions/retrievalpricing.ModelRates"
- },
- "type": "object"
- },
- "pricing": {
- "$ref": "#/definitions/retrievalplatform.UnitPrices"
- },
- "query_policies": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "tourCode": {
+ "type": "string"
},
- "render_modes": {
+ "tournamentPills": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/pgatour.StatTournament"
},
"type": "array"
},
- "research_available": {
- "type": "boolean"
- },
- "search_max_results": {
+ "year": {
"type": "integer"
},
- "sitemap_modes": {
+ "yearPills": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/pgatour.StatYear"
},
"type": "array"
}
},
"type": "object"
},
- "retrievalplatform.MapRequest": {
+ "pgatour.StatOptionsResponseDoc": {
"properties": {
- "cursor": {
- "type": "string"
- },
- "max_urls": {
- "type": "integer"
- },
- "page_size": {
+ "code": {
"type": "integer"
},
- "scope": {
- "$ref": "#/definitions/retrievaltypes.URLScope"
- },
- "sitemap": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/pgatour.StatChoices"
},
- "url": {
+ "msg": {
"type": "string"
}
},
"type": "object"
},
- "retrievalplatform.MapResponse": {
+ "pgatour.StatTournament": {
"properties": {
- "coverage": {
- "type": "string"
- },
- "expires_at": {
+ "displayName": {
"type": "string"
},
- "has_more": {
- "type": "boolean"
- },
- "items": {
- "items": {
- "$ref": "#/definitions/webretrieval.DiscoveredURL"
- },
- "type": "array"
- },
- "next_cursor": {
+ "tournamentId": {
"type": "string"
- },
- "partial": {
- "type": "boolean"
- },
- "truncated": {
- "type": "boolean"
- },
- "usage": {
- "$ref": "#/definitions/retrievaltypes.Usage"
- },
- "warnings": {
- "items": {
- "$ref": "#/definitions/retrievaltypes.Warning"
- },
- "type": "array"
}
},
"type": "object"
},
- "retrievalplatform.UnitPrices": {
+ "pgatour.StatYear": {
"properties": {
- "browser_document_credits": {
- "type": "integer"
- },
- "cached_read_credits": {
- "type": "integer"
- },
- "citation_seed_credits": {
- "type": "integer"
- },
- "control_request_credits": {
- "type": "integer"
- },
- "currency": {
+ "displaySeason": {
"type": "string"
},
- "http_document_credits": {
- "type": "integer"
- },
- "job_submission_credits": {
- "type": "integer"
- },
- "map_base_credits": {
- "type": "integer"
- },
- "map_resource_credits": {
- "type": "integer"
- },
- "paper_full_text_credits": {
+ "year": {
"type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "pgatour.TournamentLink": {
+ "properties": {
+ "id": {
+ "type": "string"
},
- "paper_metadata_credits": {
- "type": "integer"
+ "slug": {
+ "type": "string"
},
- "paper_search_query_credits": {
- "type": "integer"
+ "source_path": {
+ "type": "string"
},
- "search_request_credits": {
- "type": "integer"
+ "year": {
+ "type": "string"
}
},
"type": "object"
},
- "retrievalplatform.WebSearchRequest": {
+ "pgatour.TournamentLinks": {
"properties": {
- "country": {
- "description": "Country is the result country; defaults to us.",
- "enum": [
- "all",
- "ar",
- "at",
- "au",
- "be",
- "br",
- "ca",
- "ch",
- "cl",
- "cn",
- "de",
- "dk",
- "es",
- "fi",
- "fr",
- "gb",
- "gr",
- "hk",
- "id",
- "in",
- "it",
- "jp",
- "kr",
- "mx",
- "my",
- "nl",
- "no",
- "nz",
- "ph",
- "pl",
- "pt",
- "ru",
- "sa",
- "se",
- "sg",
- "tr",
- "tw",
- "us",
- "za"
- ],
- "example": "us",
- "type": "string"
- },
- "exclude_domains": {
+ "links": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/pgatour.TournamentLink"
},
"type": "array"
},
- "include_domains": {
+ "unlinked_tournament_ids": {
"items": {
"type": "string"
},
"type": "array"
- },
- "language": {
- "description": "Language is the result language; defaults to en-us.",
- "enum": [
- "de-de",
- "en-ca",
- "en-gb",
- "en-in",
- "en-us",
- "fi-fi",
- "fr-ca",
- "fr-fr",
- "ja-jp",
- "pt-br",
- "sq-al",
- "sw-ke",
- "zh-tw"
- ],
- "example": "en-us",
- "type": "string"
- },
- "limit": {
- "description": "Limit is the number of results to return, 1 to 50 (default 10). Up to 3 result pages are read to reach it, at 3 credits per page read.",
+ }
+ },
+ "type": "object"
+ },
+ "pgatour.TournamentLinksResponseDoc": {
+ "properties": {
+ "code": {
"type": "integer"
},
- "max_credits": {
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/pgatour.TournamentLinks"
},
- "q": {
+ "msg": {
"type": "string"
- },
- "scrape": {
- "$ref": "#/definitions/retrievaltypes.FetchOptions"
- },
- "scrape_limit": {
- "type": "integer"
}
},
- "required": [
- "q"
- ],
"type": "object"
},
- "retrievalplatform.WebSearchResponse": {
+ "phillyinquirer.AuthorResponse": {
"properties": {
- "coverage": {
+ "articles": {
"items": {
- "$ref": "#/definitions/retrievaltypes.SourceCoverage"
+ "$ref": "#/definitions/newsplatform.HeadlineItem"
},
"type": "array"
},
- "items": {
+ "biography": {
"items": {
- "$ref": "#/definitions/webretrieval.WebSearchHit"
+ "type": "string"
},
"type": "array"
},
- "partial": {
- "type": "boolean"
+ "image_url": {
+ "type": "string"
},
- "usage": {
- "$ref": "#/definitions/retrievaltypes.Usage"
+ "name": {
+ "type": "string"
},
- "warnings": {
+ "role": {
+ "type": "string"
+ },
+ "slug": {
+ "type": "string"
+ },
+ "social_links": {
"items": {
- "$ref": "#/definitions/retrievaltypes.Warning"
+ "$ref": "#/definitions/phillyinquirer.AuthorSocialLink"
},
"type": "array"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "retrievalpricing.ModelRates": {
+ "phillyinquirer.AuthorSocialLink": {
"properties": {
- "cached_input_credits_per_million": {
- "type": "integer"
- },
- "input_credits_per_million": {
- "type": "integer"
+ "platform": {
+ "type": "string"
},
- "output_credits_per_million": {
- "type": "integer"
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "retrievaltypes.Claim": {
+ "philstar.AuthorArticle": {
"properties": {
- "claim_id": {
+ "published_at": {
"type": "string"
},
- "evidence_ids": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "section": {
+ "type": "string"
},
- "support_status": {
- "$ref": "#/definitions/retrievaltypes.ClaimSupportStatus"
+ "summary": {
+ "type": "string"
},
- "text": {
+ "title": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "retrievaltypes.ClaimSupportStatus": {
- "enum": [
- "supported",
- "conflicting",
- "unverified"
- ],
- "type": "string",
- "x-enum-varnames": [
- "ClaimSupported",
- "ClaimConflicting",
- "ClaimUnverified"
- ]
- },
- "retrievaltypes.CompletionReason": {
- "enum": [
- "frontier_exhausted",
- "completed",
- "page_limit",
- "round_limit",
- "deadline",
- "budget",
- "cancelled",
- "upstream_failure",
- "internal_failure"
- ],
- "type": "string",
- "x-enum-varnames": [
- "CompletionFrontierExhausted",
- "CompletionCompleted",
- "CompletionPageLimit",
- "CompletionRoundLimit",
- "CompletionDeadline",
- "CompletionBudget",
- "CompletionCancelled",
- "CompletionUpstreamFailure",
- "CompletionInternalFailure"
- ]
- },
- "retrievaltypes.CoverageStatus": {
- "enum": [
- "ok",
- "failed",
- "not_indexed",
- "unsupported"
- ],
- "type": "string",
- "x-enum-varnames": [
- "CoverageOK",
- "CoverageFailed",
- "CoverageNotIndexed",
- "CoverageUnsupported"
- ]
- },
- "retrievaltypes.Document": {
+ "philstar.AuthorResponse": {
"properties": {
- "content_sha256": {
- "type": "string"
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/philstar.AuthorArticle"
+ },
+ "type": "array"
},
- "content_type": {
+ "id": {
"type": "string"
},
- "document_id": {
+ "name": {
"type": "string"
},
- "fetched_at": {
+ "photo_url": {
"type": "string"
},
- "final_url": {
+ "url": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "phonearena.AuthorResponse": {
+ "properties": {
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/newsplatform.HeadlineItem"
+ },
+ "type": "array"
},
- "links": {
+ "biography": {
"items": {
"type": "string"
},
"type": "array"
},
- "markdown": {
+ "image_url": {
"type": "string"
},
- "metadata": {
- "$ref": "#/definitions/retrievaltypes.DocumentMetadata"
+ "name": {
+ "type": "string"
},
- "passages": {
+ "role": {
+ "type": "string"
+ },
+ "slug": {
+ "type": "string"
+ },
+ "social_links": {
"items": {
- "$ref": "#/definitions/retrievaltypes.Passage"
+ "$ref": "#/definitions/phonearena.AuthorSocialLink"
},
"type": "array"
},
- "revision": {
+ "url": {
"type": "string"
- },
- "source_url": {
+ }
+ },
+ "type": "object"
+ },
+ "phonearena.AuthorSocialLink": {
+ "properties": {
+ "platform": {
"type": "string"
},
- "truncated": {
- "type": "boolean"
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "retrievaltypes.DocumentMetadata": {
+ "pick6.Pick6RuleDetailResponse": {
"properties": {
- "author": {
+ "fetched_at": {
"type": "string"
},
- "description": {
- "type": "string"
+ "section_count": {
+ "type": "integer"
},
- "language": {
- "type": "string"
+ "sections": {
+ "items": {
+ "$ref": "#/definitions/pick6.Pick6RuleSection"
+ },
+ "type": "array"
},
- "modified_at": {
+ "slug": {
"type": "string"
},
- "published_at": {
+ "source_url": {
"type": "string"
},
- "title": {
+ "sport": {
"type": "string"
}
},
"type": "object"
},
- "retrievaltypes.Evidence": {
+ "pick6.Pick6RulePage": {
"properties": {
- "content_sha256": {
- "type": "string"
- },
- "evidence_id": {
- "type": "string"
- },
- "passage": {
- "$ref": "#/definitions/retrievaltypes.Passage"
+ "detail_endpoint_supported": {
+ "type": "boolean"
},
- "retrieved_at": {
+ "slug": {
"type": "string"
},
- "revision": {
+ "title": {
"type": "string"
},
- "source_id": {
- "type": "string"
- },
- "source_kind": {
- "$ref": "#/definitions/retrievaltypes.SourceKind"
- },
- "title": {
- "type": "string"
- },
- "url": {
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "retrievaltypes.Failure": {
+ "pick6.Pick6RuleSection": {
"properties": {
- "message": {
+ "text": {
"type": "string"
},
- "reason": {
- "$ref": "#/definitions/retrievaltypes.FailureReason"
- },
- "retry_after_seconds": {
- "type": "integer"
- },
- "retryable": {
- "type": "boolean"
+ "title": {
+ "type": "string"
}
},
"type": "object"
},
- "retrievaltypes.FailureReason": {
- "enum": [
- "invalid_url",
- "unsupported_content_type",
- "blocked",
- "not_found",
- "rate_limited",
- "timeout",
- "upstream_error",
- "internal_error",
- "out_of_scope",
- "robots_disallowed",
- "duplicate",
- "limit_reached",
- "unsupported_filter",
- "unknown_source",
- "idempotency_conflict",
- "invalid_cursor",
- "result_expired",
- "full_text_unavailable",
- "budget_exhausted"
- ],
- "type": "string",
- "x-enum-varnames": [
- "FailureInvalidURL",
- "FailureUnsupportedContentType",
- "FailureBlocked",
- "FailureNotFound",
- "FailureRateLimited",
- "FailureTimeout",
- "FailureUpstreamError",
- "FailureInternalError",
- "FailureOutOfScope",
- "FailureRobotsDisallowed",
- "FailureDuplicate",
- "FailureLimitReached",
- "FailureUnsupportedFilter",
- "FailureUnknownSource",
- "FailureIdempotencyConflict",
- "FailureInvalidCursor",
- "FailureResultExpired",
- "FailureFullTextUnavailable",
- "FailureBudgetExhausted"
- ]
- },
- "retrievaltypes.FetchOptions": {
+ "pick6.Pick6RulesResponse": {
"properties": {
- "max_age": {
- "type": "integer"
+ "fetched_at": {
+ "type": "string"
},
- "only_main_content": {
- "type": "boolean"
+ "rule_page_count": {
+ "type": "integer"
},
- "render": {
- "$ref": "#/definitions/retrievaltypes.RenderMode"
+ "rule_pages": {
+ "items": {
+ "$ref": "#/definitions/pick6.Pick6RulePage"
+ },
+ "type": "array"
},
- "wait_for": {
+ "section_count": {
"type": "integer"
+ },
+ "sections": {
+ "items": {
+ "$ref": "#/definitions/pick6.Pick6RuleSection"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "sport": {
+ "type": "string"
}
},
"type": "object"
},
- "retrievaltypes.JobEvent": {
+ "pick6.Pick6Sport": {
"properties": {
- "message": {
- "type": "string"
- },
- "sequence": {
- "type": "integer"
+ "has_help_center_link": {
+ "type": "boolean"
},
- "source_id": {
+ "name": {
"type": "string"
},
- "timestamp": {
+ "sport_code": {
"type": "string"
},
- "type": {
- "$ref": "#/definitions/retrievaltypes.JobEventType"
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "retrievaltypes.JobEventType": {
- "enum": [
- "submitted",
- "started",
- "search_completed",
- "source_fetched",
- "round_completed",
- "cancellation_requested",
- "completed",
- "failed",
- "cancelled"
- ],
- "type": "string",
- "x-enum-varnames": [
- "EventSubmitted",
- "EventStarted",
- "EventSearchCompleted",
- "EventSourceFetched",
- "EventRoundCompleted",
- "EventCancellationRequested",
- "EventCompleted",
- "EventFailed",
- "EventCancelled"
- ]
- },
- "retrievaltypes.JobEventsResponse": {
+ "pick6.Pick6SportCategory": {
"properties": {
- "has_more": {
- "type": "boolean"
- },
"items": {
"items": {
- "$ref": "#/definitions/retrievaltypes.JobEvent"
+ "$ref": "#/definitions/pick6.Pick6Sport"
},
"type": "array"
},
- "job_id": {
- "type": "string"
- },
- "next_cursor": {
+ "name": {
"type": "string"
}
},
"type": "object"
},
- "retrievaltypes.JobKind": {
- "enum": [
- "crawl",
- "research",
- "ingestion"
- ],
- "type": "string",
- "x-enum-varnames": [
- "JobKindCrawl",
- "JobKindResearch",
- "JobKindIngestion"
- ]
- },
- "retrievaltypes.JobProgress": {
+ "pick6.Pick6SportsResponse": {
"properties": {
- "admitted": {
- "type": "integer"
- },
- "discovered": {
- "type": "integer"
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/pick6.Pick6SportCategory"
+ },
+ "type": "array"
},
- "discovery_excluded": {
+ "category_count": {
"type": "integer"
},
- "failed": {
+ "linked_page_count": {
"type": "integer"
},
- "in_flight": {
+ "listed_item_count": {
"type": "integer"
},
- "queued": {
- "type": "integer"
+ "restrictions": {
+ "items": {
+ "$ref": "#/definitions/pick6.Pick6SportsRestriction"
+ },
+ "type": "array"
},
- "skipped": {
- "type": "integer"
+ "source_url": {
+ "type": "string"
},
- "succeeded": {
- "type": "integer"
+ "verified_on": {
+ "type": "string"
}
},
"type": "object"
},
- "retrievaltypes.JobState": {
- "enum": [
- "queued",
- "running",
- "cancelling",
- "succeeded",
- "failed",
- "cancelled"
- ],
- "type": "string",
- "x-enum-varnames": [
- "JobQueued",
- "JobRunning",
- "JobCancelling",
- "JobSucceeded",
- "JobFailed",
- "JobCancelled"
- ]
- },
- "retrievaltypes.JobStatus": {
+ "pick6.Pick6SportsRestriction": {
"properties": {
- "cancel_requested": {
- "type": "boolean"
- },
- "completion_reason": {
- "$ref": "#/definitions/retrievaltypes.CompletionReason"
- },
- "created_at": {
- "type": "string"
- },
- "deadline_at": {
- "type": "string"
- },
- "error": {
- "$ref": "#/definitions/retrievaltypes.Failure"
- },
- "expires_at": {
- "type": "string"
- },
- "job_id": {
- "type": "string"
- },
- "kind": {
- "$ref": "#/definitions/retrievaltypes.JobKind"
- },
- "partial": {
- "type": "boolean"
- },
- "progress": {
- "$ref": "#/definitions/retrievaltypes.JobProgress"
- },
- "research": {
- "$ref": "#/definitions/retrievaltypes.ResearchProgress"
- },
- "state": {
- "$ref": "#/definitions/retrievaltypes.JobState"
+ "jurisdictions": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "updated_at": {
+ "note": {
"type": "string"
},
- "usage": {
- "$ref": "#/definitions/retrievaltypes.Usage"
- },
- "warnings": {
+ "sport_codes": {
"items": {
- "$ref": "#/definitions/retrievaltypes.Warning"
+ "type": "string"
},
"type": "array"
}
},
"type": "object"
},
- "retrievaltypes.JobSubmission": {
+ "pick6.pick6RuleDetailResponseDoc": {
"properties": {
- "deadline_at": {
- "type": "string"
- },
- "job_id": {
- "type": "string"
- },
- "replayed": {
- "type": "boolean"
- },
- "results_url": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "state": {
- "$ref": "#/definitions/retrievaltypes.JobState"
+ "data": {
+ "$ref": "#/definitions/pick6.Pick6RuleDetailResponse"
},
- "status_url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "retrievaltypes.Passage": {
+ "pick6.pick6RulesResponseDoc": {
"properties": {
- "locator": {
- "$ref": "#/definitions/retrievaltypes.PassageLocator"
- },
- "passage_id": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "score": {
- "type": "number"
+ "data": {
+ "$ref": "#/definitions/pick6.Pick6RulesResponse"
},
- "text": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "retrievaltypes.PassageLocator": {
+ "pick6.pick6SportsResponseDoc": {
"properties": {
- "anchor": {
- "type": "string"
- },
- "end_byte": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "end_line": {
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/pick6.Pick6SportsResponse"
},
- "heading": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "page": {
- "type": "integer"
- },
- "start_byte": {
- "type": "integer"
- },
- "start_line": {
- "type": "integer"
}
},
"type": "object"
},
- "retrievaltypes.QueryPolicy": {
- "enum": [
- "preserve",
- "drop_tracking"
- ],
- "type": "string",
- "x-enum-varnames": [
- "QueryPreserve",
- "QueryDropTracking"
- ]
- },
- "retrievaltypes.RenderMode": {
- "enum": [
- "auto",
- "http",
- "browser"
- ],
- "type": "string",
- "x-enum-varnames": [
- "RenderAuto",
- "RenderHTTP",
- "RenderBrowser"
- ]
- },
- "retrievaltypes.ResearchProgress": {
+ "pinterest.Board": {
"properties": {
- "max_rounds": {
- "type": "integer"
+ "cover_image_url": {
+ "type": "string"
},
- "questions_answered": {
- "type": "integer"
+ "description": {
+ "type": "string"
},
- "questions_total": {
+ "follower_count": {
"type": "integer"
},
- "round": {
- "type": "integer"
+ "id": {
+ "type": "string"
},
- "searches_completed": {
- "type": "integer"
+ "name": {
+ "type": "string"
},
- "sources_read": {
+ "owner_username": {
+ "type": "string"
+ },
+ "pin_count": {
"type": "integer"
+ },
+ "privacy": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "retrievaltypes.SourceCoverage": {
+ "pinterest.BoardResponse": {
"properties": {
- "corpus_revision": {
+ "cover_image_url": {
"type": "string"
},
- "failure": {
- "$ref": "#/definitions/retrievaltypes.Failure"
+ "description": {
+ "type": "string"
},
- "indexed_at": {
+ "follower_count": {
+ "type": "integer"
+ },
+ "id": {
"type": "string"
},
- "retrieved_at": {
+ "name": {
"type": "string"
},
- "source_id": {
+ "owner_username": {
"type": "string"
},
- "status": {
- "$ref": "#/definitions/retrievaltypes.CoverageStatus"
- }
- },
- "type": "object"
- },
- "retrievaltypes.SourceKind": {
- "enum": [
- "web",
- "paper",
- "developer"
- ],
- "type": "string",
- "x-enum-varnames": [
- "SourceWeb",
- "SourcePaper",
- "SourceDeveloper"
- ]
- },
- "retrievaltypes.URLScope": {
- "properties": {
- "exclude_paths": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "pin_count": {
+ "type": "integer"
},
- "include_paths": {
+ "pins": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/pinterest.PinSummary"
},
"type": "array"
},
- "include_subdomains": {
- "type": "boolean"
+ "privacy": {
+ "type": "string"
},
- "query_policy": {
- "$ref": "#/definitions/retrievaltypes.QueryPolicy"
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "retrievaltypes.Usage": {
+ "pinterest.CategoriesResponse": {
"properties": {
- "browser_renders": {
- "type": "integer"
- },
- "credits_charged": {
- "type": "integer"
- },
- "credits_released": {
- "type": "integer"
- },
- "credits_reserved": {
- "type": "integer"
- },
- "fetch_attempts": {
- "type": "integer"
- },
- "fetched_urls": {
- "type": "integer"
- },
- "input_tokens": {
- "type": "integer"
- },
- "output_tokens": {
- "type": "integer"
- },
- "search_requests": {
- "type": "integer"
- },
- "settlement_pending": {
- "type": "boolean"
+ "categories": {
+ "description": "Top-level Pinterest Ideas categories.",
+ "items": {
+ "$ref": "#/definitions/pinterest.Category"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "retrievaltypes.Warning": {
+ "pinterest.Category": {
"properties": {
- "code": {
- "$ref": "#/definitions/retrievaltypes.WarningCode"
+ "id": {
+ "description": "Pinterest category id. Use it with the ideas endpoint.",
+ "type": "string"
},
- "message": {
+ "name": {
+ "description": "Category name as shown on Pinterest.",
"type": "string"
},
- "source_id": {
+ "slug": {
+ "description": "URL slug of the category.",
"type": "string"
}
},
"type": "object"
},
- "retrievaltypes.WarningCode": {
- "enum": [
- "source_failed",
- "source_not_indexed",
- "discovery_truncated",
- "ranking_window_limit",
- "imprecise_date_excluded",
- "content_unavailable",
- "cached_source_stale"
- ],
- "type": "string",
- "x-enum-varnames": [
- "WarningSourceFailed",
- "WarningSourceNotIndexed",
- "WarningDiscoveryTruncated",
- "WarningRankingWindowLimit",
- "WarningImpreciseDateExcluded",
- "WarningContentUnavailable",
- "WarningCachedSourceStale"
- ]
- },
- "reuters.ArticleItem": {
+ "pinterest.IdeaResponse": {
"properties": {
- "image_url": {
+ "description": {
"type": "string"
},
- "title": {
- "type": "string"
+ "follower_count": {
+ "type": "integer"
},
- "updated_at": {
+ "id": {
"type": "string"
},
- "url": {
+ "name": {
"type": "string"
+ },
+ "pins": {
+ "items": {
+ "$ref": "#/definitions/pinterest.PinSummary"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "reuters.ArticleResponse": {
+ "pinterest.PinDetail": {
"properties": {
- "authors": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "description": {
+ "board_name": {
+ "description": "Name of the board the pin is saved to.",
"type": "string"
},
- "image_caption": {
- "type": "string"
+ "comment_count": {
+ "type": "integer"
},
- "image_url": {
+ "created_at": {
"type": "string"
},
- "paragraphs": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "published_at": {
+ "description": {
+ "description": "Description text of the pin as Pinterest shows it.",
"type": "string"
},
- "title": {
+ "domain": {
+ "description": "Domain of the website the pin links to, or `Uploaded by user` for pins uploaded directly.",
"type": "string"
},
- "updated_at": {
+ "dominant_color": {
+ "description": "Dominant color of the pin image, as a hex code such as `#6a2f18`.",
"type": "string"
},
- "url": {
+ "id": {
+ "description": "Pinterest pin id.",
"type": "string"
- }
- },
- "type": "object"
- },
- "reuters.ArticlesResponse": {
- "properties": {
- "items": {
- "items": {
- "$ref": "#/definitions/reuters.ArticleItem"
- },
- "type": "array"
},
- "page": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "reuters.AuthorArticle": {
- "properties": {
"image_url": {
+ "description": "URL of the pin image.",
"type": "string"
},
- "published_at": {
+ "link": {
+ "description": "Destination URL the pin links to.",
"type": "string"
},
- "summary": {
+ "pinner_username": {
+ "description": "Username of the account that saved the pin.",
"type": "string"
},
+ "repin_count": {
+ "type": "integer"
+ },
"title": {
+ "description": "Title of the pin as Pinterest shows it.",
"type": "string"
},
"url": {
+ "description": "URL of the pin's page on Pinterest.",
"type": "string"
}
},
"type": "object"
},
- "reuters.AuthorResponse": {
+ "pinterest.PinSummary": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/reuters.AuthorArticle"
- },
- "type": "array"
+ "board_name": {
+ "description": "Name of the board the pin is saved to.",
+ "type": "string"
},
- "company": {
+ "description": {
+ "description": "Description text of the pin as Pinterest shows it.",
"type": "string"
},
- "email": {
+ "domain": {
+ "description": "Domain of the website the pin links to, or `Uploaded by user` for pins uploaded directly.",
+ "type": "string"
+ },
+ "dominant_color": {
+ "description": "Dominant color of the pin image, as a hex code such as `#6a2f18`.",
+ "type": "string"
+ },
+ "id": {
+ "description": "Pinterest pin id.",
"type": "string"
},
"image_url": {
+ "description": "URL of the pin image.",
"type": "string"
},
- "name": {
+ "link": {
+ "description": "Destination URL the pin links to.",
"type": "string"
},
- "social_accounts": {
- "items": {
- "$ref": "#/definitions/reuters.AuthorSocialAccount"
- },
- "type": "array"
+ "pinner_username": {
+ "description": "Username of the account that saved the pin.",
+ "type": "string"
},
- "total_articles": {
- "type": "integer"
+ "title": {
+ "description": "Title of the pin as Pinterest shows it.",
+ "type": "string"
},
"url": {
+ "description": "URL of the pin's page on Pinterest.",
"type": "string"
}
},
"type": "object"
},
- "reuters.AuthorSocialAccount": {
+ "pinterest.SearchResponse": {
"properties": {
- "platform": {
- "type": "string"
+ "pins": {
+ "items": {
+ "$ref": "#/definitions/pinterest.PinSummary"
+ },
+ "type": "array"
},
- "url": {
+ "query": {
"type": "string"
}
},
"type": "object"
},
- "reuters.NewsItem": {
+ "pinterest.User": {
"properties": {
- "image_caption": {
+ "about": {
+ "description": "Bio text from the profile.",
"type": "string"
},
- "image_url": {
+ "avatar_url": {
+ "description": "URL of the profile picture.",
"type": "string"
},
- "published_at": {
- "type": "string"
+ "board_count": {
+ "description": "Number of boards on the profile.",
+ "type": "integer"
},
- "title": {
+ "follower_count": {
+ "description": "Number of accounts following the user.",
+ "type": "integer"
+ },
+ "following_count": {
+ "description": "Number of accounts the user follows.",
+ "type": "integer"
+ },
+ "full_name": {
+ "description": "Display name shown on the profile.",
"type": "string"
},
- "updated_at": {
+ "is_verified_merchant": {
+ "description": "Whether Pinterest marks the account as a verified merchant.",
+ "type": "boolean"
+ },
+ "pin_count": {
+ "description": "Number of pins on the profile.",
+ "type": "integer"
+ },
+ "username": {
+ "description": "Pinterest username of the profile.",
"type": "string"
},
- "url": {
+ "website_url": {
+ "description": "Website URL listed on the profile.",
"type": "string"
}
},
"type": "object"
},
- "reuters.NewsResponse": {
+ "pinterest.UserBoardsResponse": {
"properties": {
- "items": {
+ "boards": {
"items": {
- "$ref": "#/definitions/reuters.NewsItem"
+ "$ref": "#/definitions/pinterest.Board"
},
"type": "array"
},
- "page": {
- "type": "integer"
+ "username": {
+ "type": "string"
}
},
"type": "object"
},
- "reuters.Section": {
+ "pinterest.UserPinsResponse": {
"properties": {
- "name": {
- "type": "string"
- },
- "slug": {
- "type": "string"
+ "pins": {
+ "description": "Pins from the user's profile.",
+ "items": {
+ "$ref": "#/definitions/pinterest.PinSummary"
+ },
+ "type": "array"
},
- "url": {
+ "username": {
+ "description": "Pinterest username that was requested.",
"type": "string"
}
},
"type": "object"
},
- "reuters.SectionItem": {
+ "pinterest.boardResponseDoc": {
"properties": {
- "image_caption": {
- "type": "string"
- },
- "image_url": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "updated_at": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/pinterest.BoardResponse"
},
- "url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "reuters.SectionResponse": {
+ "pinterest.categoriesResponseDoc": {
"properties": {
- "items": {
- "items": {
- "$ref": "#/definitions/reuters.SectionItem"
- },
- "type": "array"
- },
- "page": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "section": {
+ "data": {
+ "$ref": "#/definitions/pinterest.CategoriesResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "reuters.SectionsResponse": {
- "properties": {
- "items": {
- "items": {
- "$ref": "#/definitions/reuters.Section"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "reuters.articleResponseDoc": {
+ "pinterest.ideaResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/reuters.ArticleResponse"
+ "$ref": "#/definitions/pinterest.IdeaResponse"
},
"msg": {
"example": "OK",
@@ -180354,14 +188552,14 @@
},
"type": "object"
},
- "reuters.articlesResponseDoc": {
+ "pinterest.pinResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/reuters.ArticlesResponse"
+ "$ref": "#/definitions/pinterest.PinDetail"
},
"msg": {
"example": "OK",
@@ -180370,14 +188568,14 @@
},
"type": "object"
},
- "reuters.authorResponseDoc": {
+ "pinterest.searchResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/reuters.AuthorResponse"
+ "$ref": "#/definitions/pinterest.SearchResponse"
},
"msg": {
"example": "OK",
@@ -180386,14 +188584,14 @@
},
"type": "object"
},
- "reuters.newsResponseDoc": {
+ "pinterest.userBoardsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/reuters.NewsResponse"
+ "$ref": "#/definitions/pinterest.UserBoardsResponse"
},
"msg": {
"example": "OK",
@@ -180402,14 +188600,14 @@
},
"type": "object"
},
- "reuters.sectionResponseDoc": {
+ "pinterest.userPinsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/reuters.SectionResponse"
+ "$ref": "#/definitions/pinterest.UserPinsResponse"
},
"msg": {
"example": "OK",
@@ -180418,14 +188616,14 @@
},
"type": "object"
},
- "reuters.sectionsResponseDoc": {
+ "pinterest.userResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/reuters.SectionsResponse"
+ "$ref": "#/definitions/pinterest.User"
},
"msg": {
"example": "OK",
@@ -180434,1644 +188632,2089 @@
},
"type": "object"
},
- "reverb.CategoriesResponse": {
+ "pitchbook.DataTable": {
"properties": {
- "categories": {
+ "columns": {
+ "description": "Column headings of the table.",
"items": {
- "$ref": "#/definitions/reverb.CategoryItem"
+ "type": "string"
},
"type": "array"
},
- "fetched_at": {
+ "name": {
+ "description": "Name of the profile section the table comes from, such as `Investors`.",
+ "example": "Investors",
"type": "string"
},
- "product_types": {
+ "row_ids": {
+ "description": "Profile each cell links to as `kind/id`, such as `company/157986-91`, matching `rows` by position. Empty for cells without a link.",
"items": {
- "$ref": "#/definitions/reverb.ProductType"
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "type": "array"
+ },
+ "rows": {
+ "description": "Table rows, each a list of cell texts. Cells PitchBook hides behind a subscription are empty.",
+ "items": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
"type": "array"
+ },
+ "total": {
+ "description": "Full count of entries PitchBook states for the section, usually more than the rows returned.",
+ "example": 23,
+ "type": "integer"
}
},
"type": "object"
},
- "reverb.CategoryItem": {
+ "pitchbook.FAQ": {
"properties": {
- "full_name": {
- "type": "string"
- },
- "id": {
- "type": "integer"
- },
- "name": {
- "type": "string"
- },
- "product_type": {
- "type": "string"
- },
- "slug": {
+ "answer": {
+ "description": "Answer to the question.",
+ "example": "Thinking Machines Lab was founded in 2024.",
"type": "string"
},
- "uuid": {
+ "question": {
+ "description": "Question as shown in the profile's FAQ section.",
+ "example": "When was Thinking Machines Lab founded?",
"type": "string"
}
},
"type": "object"
},
- "reverb.Listing": {
+ "pitchbook.ProfileResponse": {
"properties": {
- "auction": {
- "type": "boolean"
- },
- "category_uuids": {
- "items": {
+ "contact": {
+ "additionalProperties": {
"type": "string"
},
- "type": "array"
+ "description": "Contact and company details from the profile as label and value pairs, such as `Website`.",
+ "type": "object"
},
- "condition": {
+ "description": {
+ "description": "Profile description as PitchBook shows it.",
"type": "string"
},
- "condition_slug": {
- "type": "string"
+ "faqs": {
+ "description": "Question and answer pairs from the profile's FAQ section.",
+ "items": {
+ "$ref": "#/definitions/pitchbook.FAQ"
+ },
+ "type": "array"
},
- "cover_photo_url": {
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-07-08T20:00:00Z",
"type": "string"
},
- "created_at": {
+ "id": {
+ "description": "PitchBook profile id, such as `752821-12`.",
+ "example": "752821-12",
"type": "string"
},
- "currency": {
+ "kind": {
+ "description": "Profile type: `company`, `investor`, `fund`, `advisor` or `limited-partner`.",
+ "example": "company",
"type": "string"
},
- "finish": {
+ "name": {
+ "description": "Name of the company, investor, fund, advisor or limited partner.",
+ "example": "Thinking Machines Lab",
"type": "string"
},
- "has_inventory": {
- "type": "boolean"
+ "overview": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Quick facts from the profile as label and value pairs, such as `Year Founded`.",
+ "type": "object"
},
- "id": {
- "type": "integer"
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://pitchbook.com/profiles/company/752821-12",
+ "type": "string"
},
- "inventory": {
+ "tables": {
+ "description": "Tables from the profile's sections, such as Investors.",
+ "items": {
+ "$ref": "#/definitions/pitchbook.DataTable"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "pitchbook.advisorResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "make": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/pitchbook.ProfileResponse"
},
- "model": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "offers_enabled": {
- "type": "boolean"
- },
- "photo_count": {
+ }
+ },
+ "type": "object"
+ },
+ "pitchbook.companyResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "price": {
- "type": "number"
+ "data": {
+ "$ref": "#/definitions/pitchbook.ProfileResponse"
},
- "published_at": {
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "pitchbook.fundResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "shop_name": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/pitchbook.ProfileResponse"
},
- "title": {
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "pitchbook.investorResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "url": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/pitchbook.ProfileResponse"
},
- "year": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "reverb.ListingPhoto": {
+ "pitchbook.limitedPartnerResponseDoc": {
"properties": {
- "full_url": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "thumbnail_url": {
+ "data": {
+ "$ref": "#/definitions/pitchbook.ProfileResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "reverb.ListingResponse": {
+ "pizzahut.Address": {
"properties": {
- "accepted_payment_methods": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "auction": {
- "type": "boolean"
- },
- "category_uuids": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "condition": {
+ "address1": {
+ "example": "932 8th Ave",
"type": "string"
},
- "condition_slug": {
+ "address2": {
"type": "string"
},
- "created_at": {
+ "city": {
+ "example": "New York",
"type": "string"
},
- "currency": {
+ "country_code": {
+ "example": "US",
"type": "string"
},
- "description": {
- "type": "string"
+ "latitude": {
+ "example": 40.7655,
+ "type": "number"
},
- "fetched_at": {
+ "longitude": {
+ "example": -73.9835,
+ "type": "number"
+ },
+ "phone": {
+ "example": "+19296452154",
"type": "string"
},
- "finish": {
+ "postal_code": {
+ "example": "10019",
"type": "string"
},
- "has_inventory": {
- "type": "boolean"
+ "state": {
+ "example": "NY",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "pizzahut.BundleChoice": {
+ "properties": {
+ "choice_code": {
+ "example": "748",
+ "type": "string"
},
- "id": {
+ "max_allowed_selections": {
+ "example": 1,
"type": "integer"
},
- "inventory": {
+ "min_allowed_selections": {
+ "example": 1,
"type": "integer"
},
- "local_pickup_only": {
- "type": "boolean"
- },
- "location": {
+ "name": {
+ "example": "1st Pizza",
"type": "string"
},
- "make": {
+ "variants": {
+ "items": {
+ "$ref": "#/definitions/pizzahut.BundleChoiceVariant"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "pizzahut.BundleChoiceVariant": {
+ "properties": {
+ "name": {
+ "example": "Medium Hand-Tossed Create Your Own 1-Top Pizza",
"type": "string"
},
- "model": {
- "type": "string"
+ "upcharge": {
+ "$ref": "#/definitions/pizzahut.Money"
},
- "offers_enabled": {
- "type": "boolean"
+ "variant_code": {
+ "example": "variant_CLSS001_010BCYO1T_SIZE050M_BASE020H",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "pizzahut.BundleChoicesResponse": {
+ "properties": {
+ "bundle_code": {
+ "example": "MEAL501BD",
+ "type": "string"
},
- "payment_policy": {
+ "channel": {
+ "example": "WEB",
"type": "string"
},
- "photos": {
+ "choice_count": {
+ "example": 4,
+ "type": "integer"
+ },
+ "choices": {
"items": {
- "$ref": "#/definitions/reverb.ListingPhoto"
+ "$ref": "#/definitions/pizzahut.BundleChoice"
},
"type": "array"
},
- "price": {
- "type": "number"
- },
- "product_type": {
+ "description": {
+ "example": "All your faves - 2 medium 1-topping pizzas, 8 boneless wings, and 5 breadsticks!",
"type": "string"
},
- "published_at": {
+ "fetched_at": {
"type": "string"
},
- "return_policy": {
+ "name": {
+ "example": "Big Dinner Box",
"type": "string"
},
- "shipping_policy": {
+ "price": {
+ "$ref": "#/definitions/pizzahut.Money"
+ },
+ "source_url": {
"type": "string"
},
- "shop_feedback_count": {
- "type": "integer"
+ "store_number": {
+ "example": "040937",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "pizzahut.DeliveryEstimateResponse": {
+ "properties": {
+ "delivery_provider": {
+ "example": "INTERNAL",
+ "type": "string"
},
- "shop_name": {
+ "dropoff_at": {
"type": "string"
},
- "shop_preferred_seller": {
- "type": "boolean"
+ "fee": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/pizzahut.Money"
+ }
+ ],
+ "description": "Fee is the total delivery fee; Fees breaks it down by line item."
},
- "shop_rating_percentage": {
- "type": "number"
+ "fees": {
+ "items": {
+ "$ref": "#/definitions/pizzahut.DeliveryFeeLine"
+ },
+ "type": "array"
},
- "shop_url": {
+ "fetched_at": {
"type": "string"
},
- "sku": {
+ "pickup_at": {
"type": "string"
},
- "source_url": {
+ "reason": {
+ "example": "The requested StoreDeliveryProvider has not be enabled at this store",
"type": "string"
},
- "state_description": {
- "type": "string"
+ "serviceable": {
+ "description": "Serviceable is true only when the upstream returned a real estimate.\nA false value with Reason populated covers every other case this\nfamily has seen live: the provider not enabled at this store\n(confirmed live for DOORDASH against a real INTERNAL-only store) or\nthe upstream delivery marketplace itself reporting an error --\nPizza Hut's schema represents these as distinct typed results, not\none boolean. See this type's own doc comment for a caveat about\nwhat Serviceable:true does and does not confirm for INTERNAL.",
+ "example": true,
+ "type": "boolean"
},
- "state_slug": {
+ "source_url": {
"type": "string"
},
- "title": {
+ "store_number": {
+ "example": "040937",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "pizzahut.DeliveryFeeLine": {
+ "properties": {
+ "amount": {
+ "$ref": "#/definitions/pizzahut.Money"
},
- "url": {
+ "name": {
+ "example": "Delivery fee",
"type": "string"
},
- "views": {
- "type": "integer"
- },
- "watches": {
- "type": "integer"
- },
- "year": {
+ "type": {
+ "example": "DELIVERY_FEE",
"type": "string"
}
},
"type": "object"
},
- "reverb.MakesResponse": {
+ "pizzahut.DeliveryProvider": {
"properties": {
- "fetched_at": {
- "type": "string"
+ "enabled": {
+ "example": true,
+ "type": "boolean"
},
- "makes": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "provider": {
+ "example": "INTERNAL",
+ "type": "string"
}
},
"type": "object"
},
- "reverb.PriceGuideCSP": {
+ "pizzahut.MenuCategory": {
"properties": {
- "average_rating": {
- "type": "number"
- },
- "brand": {
+ "category_code": {
+ "example": "pizza",
"type": "string"
},
- "currency": {
+ "description": {
"type": "string"
},
- "finishes": {
+ "items": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/pizzahut.MenuItem"
},
"type": "array"
},
- "image_url": {
- "type": "string"
- },
- "new_listings": {
- "type": "integer"
- },
- "new_low_price": {
- "type": "number"
- },
- "reviews_count": {
- "type": "integer"
- },
- "slug": {
- "type": "string"
- },
- "title": {
- "type": "string"
- },
- "url": {
+ "name": {
+ "example": "Pizza",
"type": "string"
- },
- "used_listings": {
- "type": "integer"
- },
- "used_low_price": {
- "type": "number"
}
},
"type": "object"
},
- "reverb.PriceGuideMonthlyPrice": {
+ "pizzahut.MenuItem": {
"properties": {
- "average_price": {
- "type": "number"
+ "available": {
+ "description": "Available is false when this item (or, for a product, every one of\nits variants at once) is currently blacked out -- a real,\nlive-confirmed \"temporarily unavailable\"/\"sold out\" signal (a\ndessert item was found blacked out at a real store, 2026-09-06),\ndistinct from an item genuinely being removed from the menu (which\nsimply would not appear here at all). Check a product's own\nVariants[].Available too -- a product itself can be orderable while\none specific size/style variant is blacked out, and vice versa.",
+ "example": true,
+ "type": "boolean"
},
- "currency": {
+ "code": {
+ "example": "CLSS001P|PROD220P",
"type": "string"
},
- "month": {
+ "description": {
"type": "string"
},
- "sample_size": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "reverb.PriceGuideResponse": {
- "properties": {
- "brand": {
+ "image_url": {
"type": "string"
},
- "canonical_product_id": {
+ "name": {
+ "example": "Pepperoni Pizza",
"type": "string"
},
- "canonical_products": {
- "items": {
- "$ref": "#/definitions/reverb.PriceGuideVariant"
- },
- "type": "array"
- },
- "condition": {
- "type": "string"
+ "price": {
+ "$ref": "#/definitions/pizzahut.Money"
},
- "fetched_at": {
+ "type": {
+ "example": "product",
"type": "string"
},
- "image_url": {
+ "variant_code": {
+ "description": "VariantCode is the specific priced variant this item's Price\nreflects (present for type=product, whose price comes from its\ndefault variant).",
+ "example": "variant_CLSS001_220P_SIZE060L_BASE020H",
"type": "string"
},
- "monthly_prices": {
+ "variants": {
+ "description": "Variants lists every other priced size/crust/style variant this\nproduct item offers beyond its default (type=product only). Empty\nwhen the product has no additional variants beyond the default, or\nfor bundle/variant items.",
"items": {
- "$ref": "#/definitions/reverb.PriceGuideMonthlyPrice"
+ "$ref": "#/definitions/pizzahut.MenuVariant"
},
"type": "array"
- },
- "range": {
- "type": "string"
- },
- "recent_sales": {
+ }
+ },
+ "type": "object"
+ },
+ "pizzahut.MenuResponse": {
+ "properties": {
+ "categories": {
"items": {
- "$ref": "#/definitions/reverb.PriceGuideSale"
+ "$ref": "#/definitions/pizzahut.MenuCategory"
},
"type": "array"
},
- "sales_count": {
- "type": "integer"
+ "channel": {
+ "example": "WEB",
+ "type": "string"
},
- "sales_limit": {
- "type": "integer"
+ "currency": {
+ "example": "USD",
+ "type": "string"
},
- "sales_total": {
+ "fetched_at": {
+ "type": "string"
+ },
+ "item_count": {
+ "description": "ItemCount counts only items reachable through Categories, matching\nthis field's original meaning -- it does not include\nUncategorizedItems.",
+ "example": 120,
"type": "integer"
},
- "slug": {
+ "menu_id": {
+ "example": "22590d80-9482-4f7b-9594-d7ba2885b928",
"type": "string"
},
"source_url": {
"type": "string"
},
- "title": {
+ "store_number": {
+ "example": "040937",
"type": "string"
},
- "url": {
- "type": "string"
+ "uncategorized_items": {
+ "description": "UncategorizedItems lists real, separately-priced products and bundles\nthis restaurant's menu carries that are not linked to any category --\nconfirmed live 2026-09-06 (coverage-expansion round 2): Pizza Hut's\n`Menu.products`/`Menu.bundles` support a `categorized: false` filter,\nand at least one store sampled had 9 such products (e.g. a $0.99\n\"Ranch Dip Cup\", \"Garlic Dip Cup\") that Categories' own category walk\nnever surfaces at all -- a real gap in the prior category-walk-only\napproach, not a parser omission. A platform-wide placeholder product\nnamed \"Reserved\" (price $0.00) appears in this list at every store\nsampled; it is included as upstream returns it rather than filtered,\nsince this repo does not invent filtering heuristics without a\nconfirmed upstream signal to key on. Empty when every product/bundle\nis reachable through Categories (no uncategorized bundle has been\nobserved on any store sampled).",
+ "items": {
+ "$ref": "#/definitions/pizzahut.MenuItem"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "reverb.PriceGuideSale": {
+ "pizzahut.MenuVariant": {
"properties": {
- "condition": {
- "type": "string"
+ "available": {
+ "description": "Available is false when this specific variant is currently blacked\nout (temporarily unavailable) -- confirmed live 2026-09-06 that this\ngenuinely varies independently per variant, not just per product.",
+ "example": true,
+ "type": "boolean"
},
- "listing_id": {
+ "name": {
+ "example": "Large Original Stuffed Crust® Pepperoni Pizza",
"type": "string"
},
"price": {
- "type": "string"
+ "$ref": "#/definitions/pizzahut.Money"
},
- "sold_at": {
+ "variant_code": {
+ "example": "variant_CLSS001_220P_SIZE060L_BASE431S",
"type": "string"
}
},
"type": "object"
},
- "reverb.PriceGuideSearchResponse": {
+ "pizzahut.Modifier": {
"properties": {
- "count": {
- "type": "integer"
+ "modifier_code": {
+ "example": "CLSS001P|TOPP012P",
+ "type": "string"
},
- "fetched_at": {
+ "name": {
+ "example": "Pepperoni",
"type": "string"
},
- "models": {
+ "weights": {
"items": {
- "$ref": "#/definitions/reverb.PriceGuideCSP"
+ "$ref": "#/definitions/pizzahut.ModifierWeight"
},
"type": "array"
- },
- "query": {
- "type": "string"
- },
- "source_url": {
- "type": "string"
}
},
"type": "object"
},
- "reverb.PriceGuideVariant": {
+ "pizzahut.ModifierSlot": {
"properties": {
- "finish": {
- "type": "string"
+ "max_allowed_selections": {
+ "example": 5,
+ "type": "integer"
},
- "id": {
- "type": "string"
+ "min_allowed_selections": {
+ "example": 0,
+ "type": "integer"
},
- "model": {
- "type": "string"
+ "modifiers": {
+ "items": {
+ "$ref": "#/definitions/pizzahut.Modifier"
+ },
+ "type": "array"
},
"name": {
+ "example": "Pizza Toppings",
"type": "string"
},
- "year": {
+ "slot_code": {
+ "example": "slot_pizza_toppings",
"type": "string"
}
},
"type": "object"
},
- "reverb.ProductType": {
+ "pizzahut.ModifierWeight": {
"properties": {
- "name": {
+ "modifier_weight_code": {
+ "example": "CLSS001P|TOPP200XC",
"type": "string"
},
- "slug": {
+ "name": {
+ "example": "Extra Cheese",
"type": "string"
+ },
+ "price": {
+ "$ref": "#/definitions/pizzahut.Money"
}
},
"type": "object"
},
- "reverb.SearchResponse": {
+ "pizzahut.ModifiersResponse": {
"properties": {
- "category": {
+ "channel": {
+ "example": "WEB",
"type": "string"
},
- "count": {
- "type": "integer"
- },
"fetched_at": {
"type": "string"
},
- "limit": {
+ "name": {
+ "example": "Large Hand-Tossed Create Your Own 1-Top Pizza",
+ "type": "string"
+ },
+ "price": {
+ "$ref": "#/definitions/pizzahut.Money"
+ },
+ "slot_count": {
+ "example": 6,
"type": "integer"
},
- "listings": {
+ "slots": {
"items": {
- "$ref": "#/definitions/reverb.Listing"
+ "$ref": "#/definitions/pizzahut.ModifierSlot"
},
"type": "array"
},
- "make": {
+ "source_url": {
"type": "string"
},
- "max_price": {
- "type": "number"
+ "store_number": {
+ "example": "040937",
+ "type": "string"
},
- "min_price": {
+ "variant_code": {
+ "example": "variant_CLSS001_010BCYO1T_SIZE060L_BASE020H",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "pizzahut.Money": {
+ "properties": {
+ "amount": {
+ "example": 20.99,
"type": "number"
},
- "page": {
+ "amount_cents": {
+ "example": 2099,
"type": "integer"
},
- "product_type": {
+ "currency_code": {
+ "example": "USD",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "pizzahut.OccasionHours": {
+ "properties": {
+ "allow_tip": {
+ "example": true,
+ "type": "boolean"
},
- "query": {
- "type": "string"
+ "enabled": {
+ "example": true,
+ "type": "boolean"
},
- "source_url": {
+ "max_order_amount": {
+ "$ref": "#/definitions/pizzahut.Money"
+ },
+ "min_order_amount": {
+ "$ref": "#/definitions/pizzahut.Money"
+ },
+ "occasion": {
+ "example": "CARRYOUT",
"type": "string"
},
- "total_pages": {
- "type": "integer"
+ "payment_types": {
+ "items": {
+ "$ref": "#/definitions/pizzahut.PaymentType"
+ },
+ "type": "array"
},
- "total_results": {
- "type": "integer"
+ "windows": {
+ "items": {
+ "$ref": "#/definitions/pizzahut.TimeWindow"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "reverb.ShopFeedback": {
+ "pizzahut.PaymentType": {
"properties": {
- "author_name": {
- "type": "string"
- },
- "created_at": {
- "type": "string"
- },
- "listing_url": {
- "type": "string"
- },
- "message": {
+ "name": {
+ "example": "APPLEPAY",
"type": "string"
},
- "order_title": {
+ "type": {
+ "example": "CARD",
"type": "string"
- },
- "rating": {
- "type": "integer"
}
},
"type": "object"
},
- "reverb.ShopFeedbackResponse": {
+ "pizzahut.Store": {
"properties": {
- "count": {
- "type": "integer"
+ "accepting_online_orders": {
+ "example": true,
+ "type": "boolean"
},
- "feedback": {
+ "address": {
+ "$ref": "#/definitions/pizzahut.Address"
+ },
+ "archived": {
+ "example": false,
+ "type": "boolean"
+ },
+ "delivery_providers": {
"items": {
- "$ref": "#/definitions/reverb.ShopFeedback"
+ "$ref": "#/definitions/pizzahut.DeliveryProvider"
},
"type": "array"
},
- "fetched_at": {
+ "name": {
+ "example": "040937",
"type": "string"
},
- "page": {
- "type": "integer"
- },
- "slug": {
+ "store_number": {
+ "example": "040937",
"type": "string"
},
- "source_url": {
+ "timezone": {
+ "example": "America/New_York",
"type": "string"
- },
- "total": {
- "type": "integer"
- },
- "total_pages": {
- "type": "integer"
}
},
"type": "object"
},
- "reverb.ShopResponse": {
+ "pizzahut.StoreResponse": {
"properties": {
- "avatar_url": {
- "type": "string"
+ "accepting_online_orders": {
+ "example": true,
+ "type": "boolean"
},
- "banner_url": {
- "type": "string"
+ "address": {
+ "$ref": "#/definitions/pizzahut.Address"
},
- "description": {
- "type": "string"
+ "archived": {
+ "example": false,
+ "type": "boolean"
},
- "feedback_count": {
- "type": "integer"
+ "delivery_providers": {
+ "items": {
+ "$ref": "#/definitions/pizzahut.DeliveryProvider"
+ },
+ "type": "array"
},
"fetched_at": {
"type": "string"
},
- "listings": {
+ "hours": {
+ "description": "Hours is this restaurant's recurring open windows per order channel\n(occasion) -- CARRYOUT, DELIVERY, DINE_IN, DRIVE_THRU,\nCATERING_CARRYOUT -- plus each occasion's ordering constraints\n(minimum/maximum order amount, whether tipping is offered, accepted\npayment methods; see OccasionHours). A restaurant that does not offer\na given occasion at all omits it from this list. Every real store\nsampled during this family's builds only offers CARRYOUT and\nDELIVERY; DINE_IN/DRIVE_THRU/CATERING_CARRYOUT are schema-valid but\nhave not been observed live.",
"items": {
- "$ref": "#/definitions/reverb.Listing"
+ "$ref": "#/definitions/pizzahut.OccasionHours"
},
"type": "array"
},
- "listings_count": {
- "type": "integer"
- },
- "listings_limit": {
- "type": "integer"
- },
- "listings_page": {
- "type": "integer"
- },
- "listings_total": {
- "type": "integer"
- },
- "location": {
- "type": "string"
- },
"name": {
+ "example": "040937",
"type": "string"
},
- "on_vacation": {
- "type": "boolean"
- },
- "payment_policy": {
+ "source_url": {
"type": "string"
},
- "preferred_seller": {
- "type": "boolean"
- },
- "quick_responder": {
- "type": "boolean"
- },
- "quick_shipper": {
- "type": "boolean"
- },
- "rating_percentage": {
- "type": "number"
- },
- "return_policy": {
+ "store_number": {
+ "example": "040937",
"type": "string"
},
- "shipping_policy": {
+ "timezone": {
+ "example": "America/New_York",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "pizzahut.StoresResponse": {
+ "properties": {
+ "count": {
+ "example": 5,
+ "type": "integer"
},
- "shop_type": {
+ "fetched_at": {
"type": "string"
},
- "slug": {
- "type": "string"
+ "has_more": {
+ "example": false,
+ "type": "boolean"
},
"source_url": {
"type": "string"
},
- "url": {
- "type": "string"
+ "stores": {
+ "items": {
+ "$ref": "#/definitions/pizzahut.Store"
+ },
+ "type": "array"
},
- "website": {
- "type": "string"
+ "total_count": {
+ "description": "TotalCount is how many restaurants matched upstream; it can exceed\nCount when more results exist than max_results asked for.",
+ "example": 9,
+ "type": "integer"
}
},
"type": "object"
},
- "reverb.categoriesResponseDoc": {
+ "pizzahut.TimeWindow": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "blackout": {
+ "example": false,
+ "type": "boolean"
},
- "data": {
- "$ref": "#/definitions/reverb.CategoriesResponse"
+ "days": {
+ "example": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7
+ ],
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "duration": {
+ "example": "16:00:00",
+ "type": "string"
+ },
+ "start_time": {
+ "example": "11:00:00",
"type": "string"
}
},
"type": "object"
},
- "reverb.listingResponseDoc": {
+ "pizzahut.bundleChoicesResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/reverb.ListingResponse"
+ "$ref": "#/definitions/pizzahut.BundleChoicesResponse"
},
"msg": {
- "example": "OK",
- "type": "string"
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "reverb.makesResponseDoc": {
+ "pizzahut.deliveryEstimateResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/reverb.MakesResponse"
+ "$ref": "#/definitions/pizzahut.DeliveryEstimateResponse"
},
"msg": {
- "example": "OK",
- "type": "string"
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "reverb.priceGuideResponseDoc": {
+ "pizzahut.menuResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/reverb.PriceGuideResponse"
+ "$ref": "#/definitions/pizzahut.MenuResponse"
},
"msg": {
- "example": "OK",
- "type": "string"
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "reverb.priceGuideSearchResponseDoc": {
+ "pizzahut.modifiersResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/reverb.PriceGuideSearchResponse"
+ "$ref": "#/definitions/pizzahut.ModifiersResponse"
},
"msg": {
- "example": "OK",
- "type": "string"
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "reverb.searchResponseDoc": {
+ "pizzahut.storeResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/reverb.SearchResponse"
+ "$ref": "#/definitions/pizzahut.StoreResponse"
},
"msg": {
- "example": "OK",
- "type": "string"
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "reverb.shopFeedbackResponseDoc": {
+ "pizzahut.storesResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/reverb.ShopFeedbackResponse"
+ "$ref": "#/definitions/pizzahut.StoresResponse"
},
"msg": {
- "example": "OK",
- "type": "string"
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "reverb.shopResponseDoc": {
+ "playstation.AddOn": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "classification": {
+ "description": "Store classification of the add-on, for example `ADD_ON_PACK`.",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/reverb.ShopResponse"
+ "name": {
+ "description": "Add-on name as shown on the PlayStation Store.",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "price": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/playstation.DetailPrice"
+ }
+ ],
+ "description": "Purchase price of the add-on."
+ },
+ "product_id": {
+ "description": "PlayStation Store product id of the add-on. Use it with the product endpoint.",
"type": "string"
}
},
"type": "object"
},
- "rightmove.AgentAffiliation": {
+ "playstation.CollectionLink": {
"properties": {
- "id": {
- "example": 19,
- "type": "integer"
+ "category_id": {
+ "type": "string"
},
- "image_url": {
+ "link_type": {
"type": "string"
},
"name": {
- "example": "Property Redress Scheme",
"type": "string"
}
},
"type": "object"
},
- "rightmove.AgentBranchResponse": {
+ "playstation.ConceptDetail": {
"properties": {
- "address": {
- "example": "18 Pilgrimage Street,\nLondon Bridge,\nLondon,\nSE1 4LL",
- "type": "string"
+ "add_ons": {
+ "description": "Downloadable add-ons, such as expansions or in-game currency, sold for the title.",
+ "items": {
+ "$ref": "#/definitions/playstation.AddOn"
+ },
+ "type": "array"
},
- "branch_name": {
- "example": "London",
- "type": "string"
+ "content_rating": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/playstation.ContentRating"
+ }
+ ],
+ "description": "Age rating of the title."
},
- "brand_name": {
- "example": "1 Ability Estate Agents",
+ "default_product_id": {
+ "description": "Product id of the title's default edition. Use it with the product endpoint.",
"type": "string"
},
- "build_to_rent": {
- "type": "boolean"
+ "description": {
+ "description": "Long description of the title from its PlayStation Store page.",
+ "type": "string"
},
- "commercial": {
- "type": "boolean"
+ "editions": {
+ "description": "Purchasable game editions and bundles of the title.",
+ "items": {
+ "$ref": "#/definitions/playstation.Edition"
+ },
+ "type": "array"
},
- "company_id": {
- "example": "4294",
- "type": "string"
+ "genres": {
+ "description": "Genre names the title is filed under.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "company_name": {
- "example": "1st Avenue",
+ "id": {
+ "description": "PlayStation Store concept id, which groups every edition and add-on of a title.",
"type": "string"
},
- "description": {
+ "invariant_name": {
+ "description": "Language-independent name of the title.",
"type": "string"
},
- "development": {
- "type": "boolean"
- },
- "display_name": {
- "example": "1 Ability Estate Agents, London",
- "type": "string"
+ "media": {
+ "description": "Images and videos shown on the title's store page.",
+ "items": {
+ "$ref": "#/definitions/playstation.Media"
+ },
+ "type": "array"
},
- "id": {
- "example": "181787",
+ "name": {
+ "description": "Title name as shown on the PlayStation Store.",
"type": "string"
},
- "industry_affiliations": {
+ "platforms": {
+ "description": "PlayStation platforms the title is available on, for example `PS4` or `PS5`.",
"items": {
- "$ref": "#/definitions/rightmove.AgentAffiliation"
+ "type": "string"
},
"type": "array"
},
- "latitude": {
- "type": "number"
+ "price": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/playstation.DetailPrice"
+ }
+ ],
+ "description": "Purchase price of the title's default edition."
},
- "lettings": {
- "type": "boolean"
+ "publisher": {
+ "description": "Publisher of the title.",
+ "type": "string"
},
- "lettings_properties": {
- "$ref": "#/definitions/rightmove.AgentPropertyList"
+ "release_date": {
+ "description": "Release date of the title, in ISO 8601.",
+ "type": "string"
},
- "lettings_telephone": {
- "example": "020 3910 6304",
+ "source_url": {
+ "description": "PlayStation Store page the data was read from.",
"type": "string"
},
- "logo_url": {
+ "star_rating": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/playstation.StarRating"
+ }
+ ],
+ "description": "Aggregate user rating of the title."
+ }
+ },
+ "type": "object"
+ },
+ "playstation.ConceptReview": {
+ "properties": {
+ "author": {
+ "$ref": "#/definitions/playstation.ReviewAuthor"
+ },
+ "comment": {
"type": "string"
},
- "longitude": {
- "type": "number"
+ "edition_name": {
+ "type": "string"
},
- "main_telephone": {
- "example": "020 8293 8600",
+ "helpful_count": {
+ "type": "integer"
+ },
+ "id": {
"type": "string"
},
- "overseas": {
+ "is_spoiler": {
"type": "boolean"
},
- "postcode": {
- "example": "SE1 4LL",
+ "last_updated": {
"type": "string"
},
- "sales": {
- "type": "boolean"
+ "product_name": {
+ "type": "string"
},
- "sales_properties": {
- "$ref": "#/definitions/rightmove.AgentPropertyList"
+ "rating": {
+ "type": "integer"
},
- "sales_telephone": {
- "example": "020 3909 6734",
+ "title": {
"type": "string"
}
},
"type": "object"
},
- "rightmove.AgentItem": {
+ "playstation.ConceptReviewsResponse": {
"properties": {
- "address": {
- "example": "18 Pilgrimage Street,\nLondon Bridge,\nLondon,\nSE1 4LL",
+ "concept_id": {
"type": "string"
},
- "brand_name": {
- "example": "1 Ability Estate Agents",
- "type": "string"
+ "has_next_page": {
+ "type": "boolean"
},
- "description": {
+ "name": {
"type": "string"
},
- "display_name": {
- "example": "1 Ability Estate Agents, London",
+ "page": {
+ "type": "integer"
+ },
+ "page_size": {
+ "type": "integer"
+ },
+ "rating": {
+ "type": "integer"
+ },
+ "returned": {
+ "type": "integer"
+ },
+ "reviews": {
+ "items": {
+ "$ref": "#/definitions/playstation.ConceptReview"
+ },
+ "type": "array"
+ },
+ "sort": {
"type": "string"
},
- "id": {
- "example": "181787",
+ "source_url": {
"type": "string"
},
- "lettings": {
- "type": "boolean"
+ "star_rating": {
+ "$ref": "#/definitions/playstation.StarRating"
},
- "logo_url": {
- "example": "https://media.rightmove.co.uk/partner-logo/19103090-LOGO-1765975389.png",
+ "total_count": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "playstation.ContentRating": {
+ "properties": {
+ "authority": {
+ "description": "Rating board that issued the rating, for example `ESRB`.",
"type": "string"
},
- "sales": {
- "type": "boolean"
+ "description": {
+ "description": "Rating label in plain words, for example `ESRB Mature 17+`.",
+ "type": "string"
},
- "telephones": {
+ "descriptors": {
+ "description": "Descriptors are the human-readable content/interactivity disclosures the\nrating carries (e.g. \"Blood\", \"Violence\", \"In-Game Purchases\", \"Users\nInteract\"), merged from the store's descriptors + interactiveElements lists.",
"items": {
- "$ref": "#/definitions/rightmove.AgentTelephone"
+ "type": "string"
},
"type": "array"
},
+ "name": {
+ "description": "Rating identifier as the store gives it, for example `ESRB_MATURE_17`.",
+ "type": "string"
+ },
"url": {
- "example": "https://www.rightmove.co.uk/estate-agents/agent/1-Ability-Estate-Agents/London-181787.html",
+ "description": "URL of the rating board's page for this rating.",
"type": "string"
}
},
"type": "object"
},
- "rightmove.AgentPropertyItem": {
+ "playstation.DetailPrice": {
"properties": {
- "address": {
- "example": "West Parkside, London, SE10",
+ "applicability": {
+ "description": "How the price applies, for example `OUTRIGHT` for a one-time purchase.",
"type": "string"
},
- "bathrooms": {
- "example": 2,
- "type": "integer"
+ "base_price": {
+ "description": "Regular price as a formatted string, for example `$59.99`.",
+ "type": "string"
},
- "bedrooms": {
- "example": 2,
+ "base_price_value": {
+ "description": "Regular price in the smallest currency unit, for example cents for USD.",
"type": "integer"
},
- "channel": {
- "example": "RES_LET",
+ "currency_code": {
+ "description": "Currency code of the price, for example `USD`.",
"type": "string"
},
- "id": {
- "example": "92527095",
+ "discount_text": {
+ "description": "Discount label shown on the store, for example `-67%`.",
"type": "string"
},
- "image": {
+ "discounted_price": {
+ "description": "Current price after discount as a formatted string.",
"type": "string"
},
- "price": {
- "example": 634,
+ "discounted_value": {
+ "description": "Current price after discount in the smallest currency unit, for example cents for USD.",
"type": "integer"
},
- "price_frequency": {
- "example": "weekly",
+ "end_time": {
+ "description": "Time the offer ends, as the store gives it.",
"type": "string"
},
- "price_text": {
- "example": "£634 pw",
- "type": "string"
+ "is_exclusive": {
+ "description": "Whether the store marks the price as exclusive to a membership.",
+ "type": "boolean"
},
- "property_type": {
- "example": "Flat",
- "type": "string"
+ "is_free": {
+ "description": "Whether the item is free.",
+ "type": "boolean"
},
- "status": {
- "example": "available",
- "type": "string"
+ "is_tied_to_subscription": {
+ "description": "Whether the store marks the price as tied to a subscription.",
+ "type": "boolean"
},
- "url": {
- "example": "https://www.rightmove.co.uk/properties/92537946#/?channel=RES_LET",
- "type": "string"
- }
- },
- "type": "object"
- },
- "rightmove.AgentPropertyList": {
- "properties": {
- "properties": {
+ "service_branding": {
+ "description": "Names of the PlayStation services the price is tied to.",
"items": {
- "$ref": "#/definitions/rightmove.AgentPropertyItem"
+ "type": "string"
},
"type": "array"
},
- "total": {
- "example": 37,
- "type": "integer"
+ "upsell_text": {
+ "description": "Promotional text the store shows next to the price.",
+ "type": "string"
}
},
"type": "object"
},
- "rightmove.AgentTelephone": {
+ "playstation.Edition": {
"properties": {
- "direct_number": {
- "example": "020 3903 2323",
+ "classification": {
+ "description": "Store classification of the edition, for example `FULL_GAME`.",
"type": "string"
},
- "number": {
- "example": "020 3910 6304",
+ "name": {
+ "description": "Edition name as shown on the PlayStation Store.",
"type": "string"
},
- "type": {
- "example": "LETTING",
+ "platforms": {
+ "description": "PlayStation platforms the edition is available on.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "price": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/playstation.DetailPrice"
+ }
+ ],
+ "description": "Purchase price of the edition."
+ },
+ "product_id": {
+ "description": "PlayStation Store product id of the edition. Use it with the product endpoint.",
"type": "string"
}
},
"type": "object"
},
- "rightmove.AgentsResponse": {
+ "playstation.Facet": {
"properties": {
- "location": {
- "example": "REGION^87490",
+ "display_name": {
+ "description": "Filter name as shown on the store, for example `Price`.",
"type": "string"
},
- "page": {
- "example": 1,
- "type": "integer"
+ "name": {
+ "description": "Filter key, for example `webBasePrice`.",
+ "type": "string"
},
- "results": {
+ "values": {
+ "description": "Selectable values of the filter.",
"items": {
- "$ref": "#/definitions/rightmove.AgentItem"
+ "$ref": "#/definitions/playstation.FacetValue"
},
"type": "array"
- },
- "total": {
- "example": 3614,
- "type": "integer"
}
},
"type": "object"
},
- "rightmove.AutocompleteItem": {
+ "playstation.FacetValue": {
"properties": {
- "entity_type": {
- "example": "REGION",
- "type": "string"
- },
- "full_name": {
- "example": "London, Greater London, England",
- "type": "string"
+ "count": {
+ "description": "Number of items matching this filter value.",
+ "type": "integer"
},
- "id": {
- "example": "REGION^12345",
+ "display_name": {
+ "description": "Filter value as shown on the store, for example `Free`.",
"type": "string"
},
- "name": {
- "example": "London, Greater London",
+ "key": {
+ "description": "Value to select this filter option, for example `0-0`.",
"type": "string"
}
},
"type": "object"
},
- "rightmove.AutocompleteResponse": {
+ "playstation.GridResponse": {
"properties": {
- "query": {
- "example": "London",
+ "count": {
+ "description": "Number of items returned on this page.",
+ "type": "integer"
+ },
+ "facets": {
+ "description": "Filters available for the grid, each with its values and counts.",
+ "items": {
+ "$ref": "#/definitions/playstation.Facet"
+ },
+ "type": "array"
+ },
+ "id": {
+ "description": "PlayStation Store category id of the grid.",
"type": "string"
},
- "results": {
+ "items": {
+ "description": "Items on this page of the grid.",
"items": {
- "$ref": "#/definitions/rightmove.AutocompleteItem"
+ "$ref": "#/definitions/playstation.StoreItem"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "rightmove.PropertyCustomerReviews": {
- "properties": {
- "average_score": {
- "example": 4.5,
- "type": "number"
},
- "count": {
- "example": 5,
+ "name": {
+ "description": "Category name as shown on the store, for example `All games`.",
+ "type": "string"
+ },
+ "next_page": {
+ "description": "Number of the next page. Omitted on the last page.",
"type": "integer"
},
- "latest_review": {
- "example": "Great property and excellent service from the agent.",
+ "page_info": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/playstation.PageInfo"
+ }
+ ],
+ "description": "Pagination details of the grid."
+ },
+ "source_url": {
+ "description": "PlayStation Store page the data was read from.",
"type": "string"
}
},
"type": "object"
},
- "rightmove.PropertyItem": {
+ "playstation.ListPrice": {
"properties": {
- "added_or_reduced": {
- "example": "Price reduced",
+ "base_price": {
+ "description": "Regular price as a formatted string, for example `$19.99`.",
"type": "string"
},
- "address": {
- "example": "123 Example Street, London",
+ "discount_text": {
+ "description": "Discount label shown on the store, for example `-50%`.",
"type": "string"
},
- "bathrooms": {
- "example": 2,
- "type": "integer"
- },
- "bedrooms": {
- "example": 3,
- "type": "integer"
- },
- "currency": {
- "example": "GBP",
+ "discounted_price": {
+ "description": "Current price after discount as a formatted string.",
"type": "string"
},
- "days_on_market": {
- "example": 14,
- "type": "integer"
+ "is_exclusive": {
+ "description": "Whether the store marks the price as exclusive to a membership.",
+ "type": "boolean"
},
- "development": {
- "example": true,
+ "is_free": {
+ "description": "Whether the item is free.",
"type": "boolean"
},
- "id": {
- "example": "12345678",
- "type": "string"
+ "is_tied_to_subscription": {
+ "description": "Whether the store marks the price as tied to a subscription.",
+ "type": "boolean"
},
- "image": {
- "example": "https://media.rightmove.co.uk/property-photo/.../12345678.jpg",
- "type": "string"
+ "service_branding": {
+ "description": "Names of the PlayStation services the price is tied to.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "price": {
- "example": 500000,
- "type": "integer"
+ "upsell_service_branding": {
+ "description": "Names of the PlayStation services the upsell offer refers to.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "price_frequency": {
- "example": "monthly",
+ "upsell_text": {
+ "description": "Promotional text the store shows next to the price.",
"type": "string"
- },
- "price_text": {
- "example": "£500,000",
+ }
+ },
+ "type": "object"
+ },
+ "playstation.Media": {
+ "properties": {
+ "role": {
+ "description": "Role of the asset on the store page, as the store labels it.",
"type": "string"
},
- "property_type": {
- "example": "Semi-detached",
+ "type": {
+ "description": "Kind of asset, such as an image or a video.",
"type": "string"
},
- "receptions": {
- "example": 2,
- "type": "integer"
- },
- "size": {
- "example": "538 sq. ft.",
+ "url": {
+ "description": "URL of the image or video.",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "playstation.MerchResponse": {
+ "properties": {
+ "collections": {
+ "items": {
+ "$ref": "#/definitions/playstation.CollectionLink"
+ },
+ "type": "array"
},
- "status": {
- "example": "For Sale",
- "type": "string"
+ "count": {
+ "type": "integer"
},
- "tenure": {
- "example": "LEASEHOLD",
- "type": "string"
+ "items": {
+ "items": {
+ "$ref": "#/definitions/playstation.StoreItem"
+ },
+ "type": "array"
},
- "title": {
- "example": "3 bedroom semi-detached house for sale",
- "type": "string"
+ "sections": {
+ "items": {
+ "$ref": "#/definitions/playstation.Section"
+ },
+ "type": "array"
},
- "url": {
- "example": "https://www.rightmove.co.uk/properties/12345678",
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "rightmove.PropertyResponse": {
+ "playstation.PageInfo": {
"properties": {
- "added_or_reduced": {
- "example": "Price reduced",
- "type": "string"
- },
- "address": {
- "example": "123 Example Street, London",
- "type": "string"
- },
- "available_from": {
- "type": "string"
+ "is_last": {
+ "description": "Whether this is the last page of results.",
+ "type": "boolean"
},
- "bathrooms": {
- "example": 2,
+ "offset": {
+ "description": "Position of the first item on this page within all results.",
"type": "integer"
},
- "bedrooms": {
- "example": 3,
+ "size": {
+ "description": "Number of items per page.",
"type": "integer"
},
- "council_tax_band": {
- "type": "string"
- },
- "currency": {
- "example": "GBP",
- "type": "string"
- },
- "customer_reviews": {
- "$ref": "#/definitions/rightmove.PropertyCustomerReviews"
- },
- "days_on_market": {
- "example": 14,
+ "total_count": {
+ "description": "Total number of results across all pages.",
"type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "playstation.ProductDetail": {
+ "properties": {
+ "classification": {
+ "type": "string"
},
- "description": {
+ "concept_id": {
"type": "string"
},
- "development": {
- "example": true,
- "type": "boolean"
+ "content_rating": {
+ "$ref": "#/definitions/playstation.ContentRating"
},
- "epc_rating": {
+ "edition_name": {
"type": "string"
},
- "features": {
+ "genres": {
"items": {
"type": "string"
},
"type": "array"
},
- "floor_plan": {
+ "id": {
"type": "string"
},
- "id": {
- "example": "12345678",
+ "media": {
+ "items": {
+ "$ref": "#/definitions/playstation.Media"
+ },
+ "type": "array"
+ },
+ "name": {
"type": "string"
},
- "image": {
- "example": "https://media.rightmove.co.uk/property-photo/.../12345678.jpg",
+ "np_title_id": {
"type": "string"
},
- "nearby_schools": {
+ "platforms": {
"items": {
- "$ref": "#/definitions/rightmove.PropertySchool"
+ "type": "string"
},
"type": "array"
},
"price": {
- "example": 500000,
- "type": "integer"
- },
- "price_frequency": {
- "example": "monthly",
- "type": "string"
+ "$ref": "#/definitions/playstation.DetailPrice"
},
- "price_text": {
- "example": "£500,000",
+ "publisher": {
"type": "string"
},
- "property_type": {
- "example": "Semi-detached",
+ "release_date": {
"type": "string"
},
- "receptions": {
- "example": 2,
- "type": "integer"
- },
- "size": {
- "example": "538 sq. ft.",
- "type": "string"
+ "screen_languages": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "status": {
- "example": "For Sale",
+ "source_url": {
"type": "string"
},
- "tenure": {
- "type": "string"
+ "spoken_languages": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "title": {
- "example": "3 bedroom semi-detached house for sale",
- "type": "string"
+ "star_rating": {
+ "$ref": "#/definitions/playstation.StarRating"
},
- "url": {
- "example": "https://www.rightmove.co.uk/properties/12345678",
+ "type": {
"type": "string"
}
},
"type": "object"
},
- "rightmove.PropertySchool": {
+ "playstation.ReviewAuthor": {
"properties": {
- "distance": {
- "example": "0.2 miles",
+ "avatar_url": {
"type": "string"
},
- "name": {
- "example": "St. Mary's Primary School",
- "type": "string"
+ "is_officially_verified": {
+ "type": "boolean"
},
- "rating": {
- "example": "Outstanding",
- "type": "string"
+ "is_ps_plus_subscriber": {
+ "type": "boolean"
},
- "type": {
- "example": "Primary",
+ "online_id": {
"type": "string"
}
},
"type": "object"
},
- "rightmove.SearchResponse": {
+ "playstation.SearchResponse": {
"properties": {
- "location": {
- "example": "REGION^87490",
- "type": "string"
- },
- "page": {
- "example": 1,
+ "count": {
+ "description": "Number of items returned on this page.",
"type": "integer"
},
- "results": {
+ "items": {
+ "description": "Search results on this page.",
"items": {
- "$ref": "#/definitions/rightmove.PropertyItem"
+ "$ref": "#/definitions/playstation.StoreItem"
},
"type": "array"
},
- "total": {
- "example": 1245,
+ "next_page": {
+ "description": "Number of the next page. Omitted on the last page.",
"type": "integer"
+ },
+ "page_info": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/playstation.PageInfo"
+ }
+ ],
+ "description": "Pagination details of the results."
+ },
+ "source_url": {
+ "description": "PlayStation Store page the data was read from.",
+ "type": "string"
+ },
+ "term": {
+ "description": "Search term that was run.",
+ "type": "string"
}
},
"type": "object"
},
- "rnz.AuthorArticle": {
+ "playstation.Section": {
"properties": {
- "image_url": {
- "type": "string"
- },
- "published_label": {
- "description": "PublishedLabel is the card's own date label as RNZ prints it\n(\"8:58 am today\", \"23 Sep 2026\"); the listing carries no machine\ntimestamp.",
- "type": "string"
+ "count": {
+ "type": "integer"
},
- "summary": {
+ "id": {
"type": "string"
},
- "title": {
- "type": "string"
+ "items": {
+ "items": {
+ "$ref": "#/definitions/playstation.StoreItem"
+ },
+ "type": "array"
},
- "url": {
+ "name": {
"type": "string"
}
},
"type": "object"
},
- "rnz.AuthorResponse": {
+ "playstation.StarRating": {
"properties": {
- "article_count": {
- "description": "ArticleCount is the total number of news stories RNZ lists for the\nauthor (\"Displaying items 1 - 25 of N\"); Articles holds only the first\npage.",
+ "average": {
+ "description": "Average user rating out of 5.",
+ "type": "number"
+ },
+ "count": {
+ "description": "Number of user ratings.",
"type": "integer"
},
- "articles": {
+ "distribution": {
+ "description": "Share of ratings at each star value, from 1 to 5.",
"items": {
- "$ref": "#/definitions/rnz.AuthorArticle"
+ "$ref": "#/definitions/playstation.StarRatingCount"
},
"type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "playstation.StarRatingCount": {
+ "properties": {
+ "percent": {
+ "description": "Percentage of ratings that gave this star value.",
+ "type": "integer"
},
- "bio": {
+ "stars": {
+ "description": "Star value, from 1 to 5.",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "playstation.StoreItem": {
+ "properties": {
+ "classification": {
+ "description": "Store classification of the item, for example `FULL_GAME`.",
"type": "string"
},
- "email": {
+ "id": {
+ "description": "PlayStation Store id of the item. Use it with the concept endpoint when `kind` is `concept`, or with the product endpoint when it is `product`.",
"type": "string"
},
- "image_url": {
+ "kind": {
+ "description": "Type of store entry: `concept` or `product`.",
"type": "string"
},
- "job_title": {
- "type": "string"
+ "media": {
+ "description": "Images and videos for the item.",
+ "items": {
+ "$ref": "#/definitions/playstation.Media"
+ },
+ "type": "array"
},
"name": {
+ "description": "Item name as shown on the PlayStation Store.",
"type": "string"
},
- "slug": {
+ "np_title_id": {
+ "description": "PlayStation title id of the item, for example `CUSA07408_00`.",
"type": "string"
},
- "twitter": {
- "type": "string"
+ "platforms": {
+ "description": "PlayStation platforms the item is available on.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "url": {
- "type": "string"
+ "price": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/playstation.ListPrice"
+ }
+ ],
+ "description": "Price of the item."
}
},
"type": "object"
},
- "roblox.Badge": {
+ "playstation.SuggestItem": {
"properties": {
- "awarding_root_place_id": {
- "type": "integer"
- },
- "awarding_universe": {
+ "classification": {
"type": "string"
},
- "awarding_universe_id": {
- "type": "integer"
- },
- "awards_all_time": {
- "type": "integer"
+ "id": {
+ "type": "string"
},
- "awards_past_day": {
- "type": "integer"
+ "image": {
+ "$ref": "#/definitions/playstation.Media"
},
- "created_at": {
+ "name": {
"type": "string"
},
- "description": {
- "type": "string"
+ "platforms": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "enabled": {
- "type": "boolean"
+ "price": {
+ "$ref": "#/definitions/playstation.SuggestPrice"
},
- "icon_url": {
+ "publisher": {
"type": "string"
},
- "id": {
- "type": "integer"
+ "release_date": {
+ "type": "string"
},
- "name": {
+ "short_name": {
"type": "string"
},
- "updated_at": {
+ "store_url": {
"type": "string"
}
},
"type": "object"
},
- "roblox.BadgesResponse": {
+ "playstation.SuggestPrice": {
"properties": {
- "badges": {
+ "display": {
+ "type": "string"
+ },
+ "value": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "playstation.SuggestResponse": {
+ "properties": {
+ "cc": {
+ "type": "string"
+ },
+ "items": {
"items": {
- "$ref": "#/definitions/roblox.Badge"
+ "$ref": "#/definitions/playstation.SuggestItem"
},
"type": "array"
},
- "next_cursor": {
+ "l": {
"type": "string"
},
- "previous_cursor": {
+ "source_url": {
"type": "string"
},
- "universe_id": {
+ "term": {
+ "type": "string"
+ },
+ "total": {
"type": "integer"
}
},
"type": "object"
},
- "roblox.Creator": {
+ "playstation.conceptResponseDoc": {
"properties": {
- "id": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "name": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/playstation.ConceptDetail"
},
- "type": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "verified": {
- "type": "boolean"
}
},
"type": "object"
},
- "roblox.Experience": {
+ "playstation.conceptReviewsResponseDoc": {
"properties": {
- "creator_id": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "creator_name": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/playstation.ConceptReviewsResponse"
},
- "description": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "down_votes": {
+ }
+ },
+ "type": "object"
+ },
+ "playstation.gridResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "genre": {
- "type": "string"
- },
- "is_sponsored": {
- "type": "boolean"
- },
- "maturity": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/playstation.GridResponse"
},
- "maturity_label": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "minimum_age": {
+ }
+ },
+ "type": "object"
+ },
+ "playstation.merchResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "name": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/playstation.MerchResponse"
},
- "player_count": {
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "playstation.productResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "root_place_id": {
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/playstation.ProductDetail"
},
- "universe_id": {
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "playstation.searchResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "up_votes": {
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/playstation.SearchResponse"
},
- "url": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "verified_creator": {
- "type": "boolean"
}
},
"type": "object"
},
- "roblox.Game": {
+ "playstation.suggestResponseDoc": {
"properties": {
- "access_price": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "avatar_type": {
+ "data": {
+ "$ref": "#/definitions/playstation.SuggestResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "politico.ArticleResponse": {
+ "properties": {
+ "authors": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "content_restricted": {
- "type": "boolean"
+ "description": {
+ "type": "string"
},
- "created_at": {
+ "image_url": {
"type": "string"
},
- "creator": {
- "$ref": "#/definitions/roblox.Creator"
+ "paragraphs": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "description": {
+ "published_at": {
"type": "string"
},
- "down_votes": {
- "type": "integer"
+ "title": {
+ "type": "string"
},
- "favorites": {
- "type": "integer"
+ "updated_at": {
+ "type": "string"
},
- "genre": {
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "politico.AuthorArticle": {
+ "properties": {
+ "published_at": {
"type": "string"
},
- "genre_l1": {
+ "title": {
"type": "string"
},
- "genre_l2": {
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "politico.AuthorResponse": {
+ "properties": {
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/politico.AuthorArticle"
+ },
+ "type": "array"
+ },
+ "bio": {
"type": "string"
},
"image_url": {
"type": "string"
},
- "max_players": {
- "type": "integer"
+ "job_title": {
+ "type": "string"
},
"name": {
"type": "string"
},
- "playing": {
- "type": "integer"
+ "slug": {
+ "type": "string"
},
- "root_place_id": {
- "type": "integer"
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "politico.CategoriesResponse": {
+ "properties": {
+ "groups": {
+ "items": {
+ "$ref": "#/definitions/politico.CategoryGroup"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "politico.Category": {
+ "properties": {
+ "name": {
+ "type": "string"
},
- "universe_id": {
- "type": "integer"
+ "slug": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "politico.CategoryGroup": {
+ "properties": {
+ "name": {
+ "type": "string"
},
- "up_votes": {
- "type": "integer"
+ "sections": {
+ "items": {
+ "$ref": "#/definitions/politico.Category"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "politico.HeadlineItem": {
+ "properties": {
+ "author": {
+ "type": "string"
},
- "updated_at": {
+ "published_at": {
"type": "string"
},
- "url": {
+ "summary": {
"type": "string"
},
- "visits": {
- "type": "integer"
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "roblox.GameResponse": {
+ "politico.HeadlinesResponse": {
"properties": {
- "game": {
- "$ref": "#/definitions/roblox.Game"
+ "items": {
+ "items": {
+ "$ref": "#/definitions/politico.HeadlineItem"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "roblox.RankingsResponse": {
+ "politico.TopicItem": {
"properties": {
- "display_name": {
- "type": "string"
- },
- "experiences": {
+ "authors": {
"items": {
- "$ref": "#/definitions/roblox.Experience"
+ "type": "string"
},
"type": "array"
},
- "sort_id": {
+ "published_at": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "roblox.SearchResponse": {
+ "politico.TopicResponse": {
"properties": {
- "experiences": {
+ "items": {
"items": {
- "$ref": "#/definitions/roblox.Experience"
+ "$ref": "#/definitions/politico.TopicItem"
},
"type": "array"
},
- "next_page": {
+ "topic": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "politico.articleResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "query": {
+ "data": {
+ "$ref": "#/definitions/politico.ArticleResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "roblox.badgesResponseDoc": {
+ "politico.authorResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/roblox.BadgesResponse"
+ "$ref": "#/definitions/politico.AuthorResponse"
},
"msg": {
"example": "OK",
@@ -182080,14 +190723,14 @@
},
"type": "object"
},
- "roblox.gameResponseDoc": {
+ "politico.categoriesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/roblox.GameResponse"
+ "$ref": "#/definitions/politico.CategoriesResponse"
},
"msg": {
"example": "OK",
@@ -182096,14 +190739,14 @@
},
"type": "object"
},
- "roblox.rankingsResponseDoc": {
+ "politico.headlinesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/roblox.RankingsResponse"
+ "$ref": "#/definitions/politico.HeadlinesResponse"
},
"msg": {
"example": "OK",
@@ -182112,14 +190755,14 @@
},
"type": "object"
},
- "roblox.searchResponseDoc": {
+ "politico.topicResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/roblox.SearchResponse"
+ "$ref": "#/definitions/politico.TopicResponse"
},
"msg": {
"example": "OK",
@@ -182128,24 +190771,30 @@
},
"type": "object"
},
- "rollingstone.AuthorResponse": {
+ "polygon.AuthorResponse": {
"properties": {
"articles": {
"items": {
- "$ref": "#/definitions/rollingstone.HeadlineItem"
+ "$ref": "#/definitions/newsplatform.HeadlineItem"
},
"type": "array"
},
- "bio": {
+ "biography": {
"type": "string"
},
"image_url": {
"type": "string"
},
- "job_title": {
+ "name": {
"type": "string"
},
- "name": {
+ "social_links": {
+ "items": {
+ "$ref": "#/definitions/polygon.AuthorSocialLink"
+ },
+ "type": "array"
+ },
+ "title": {
"type": "string"
},
"url": {
@@ -182154,2281 +190803,2247 @@
},
"type": "object"
},
- "rollingstone.HeadlineItem": {
+ "polygon.AuthorSocialLink": {
"properties": {
- "author": {
+ "type": {
"type": "string"
},
- "image_url": {
+ "url": {
"type": "string"
- },
- "published_at": {
+ }
+ },
+ "type": "object"
+ },
+ "polymarket.ActivityTradesResponse": {
+ "properties": {
+ "event_id": {
+ "description": "Polymarket event id the trades were limited to.",
+ "example": "101772",
"type": "string"
},
- "summary": {
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-06-07T11:00:00Z",
"type": "string"
},
- "title": {
+ "filter_amount": {
+ "description": "Minimum trade amount the filter applied.",
+ "example": "1",
"type": "string"
},
- "type": {
+ "filter_type": {
+ "description": "Type of amount filter applied, for example `CASH`.",
+ "example": "CASH",
"type": "string"
},
- "url": {
+ "limit": {
+ "description": "Maximum number of trades requested.",
+ "example": 50,
+ "type": "integer"
+ },
+ "market": {
+ "description": "Market condition id the trades were limited to.",
+ "example": "0x3f2604d62ac3ee496ffd6d30156f30663fbaf22097f17f09d7364c35db255d2b",
"type": "string"
- }
- },
- "type": "object"
- },
- "rottentomatoes.BrowseFilter": {
- "properties": {
- "key": {
- "example": "genres",
+ },
+ "offset": {
+ "description": "Number of trades skipped before this page.",
+ "example": 0,
+ "type": "integer"
+ },
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://data-api.polymarket.com/trades?takerOnly=true&limit=50&offset=0&filterType=CASH&filterAmount=1",
"type": "string"
},
- "label": {
- "example": "Genre",
+ "taker_only": {
+ "description": "`true` when only taker trades are returned, `false` otherwise.",
+ "example": "true",
"type": "string"
},
- "values": {
+ "trades": {
+ "description": "Recent trades on this page, one item per trade.",
"items": {
- "$ref": "#/definitions/rottentomatoes.BrowseFilterValue"
+ "$ref": "#/definitions/polymarket.TradeSummary"
},
"type": "array"
}
},
"type": "object"
},
- "rottentomatoes.BrowseFilterValue": {
+ "polymarket.BatchTokenMidpoint": {
"properties": {
- "label": {
- "example": "Action",
- "type": "string"
+ "midpoint": {
+ "description": "Midpoint between the best bid and best ask for the token.",
+ "example": 0.285,
+ "type": "number"
},
- "value": {
- "example": "action",
+ "token_id": {
+ "description": "Token id of the outcome.",
+ "example": "81927025054404355287140018940169293739219157042658469116956164881873598220211",
"type": "string"
}
},
"type": "object"
},
- "rottentomatoes.BrowseFiltersResponse": {
+ "polymarket.BatchTokenMidpointsOption": {
+ "properties": {
+ "token_ids": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "token_ids"
+ ],
+ "type": "object"
+ },
+ "polymarket.BatchTokenMidpointsResponse": {
"properties": {
"fetched_at": {
- "example": "2026-09-26T10:00:00Z",
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-06-07T11:00:00Z",
"type": "string"
},
- "filters": {
+ "midpoints": {
+ "description": "Midpoints for the requested tokens, one item per token found.",
"items": {
- "$ref": "#/definitions/rottentomatoes.BrowseFilter"
+ "$ref": "#/definitions/polymarket.BatchTokenMidpoint"
},
"type": "array"
},
- "list": {
- "example": "movies_in_theaters",
- "type": "string"
- },
- "public_page_derived": {
- "example": true,
- "type": "boolean"
+ "missing": {
+ "description": "Requested token ids for which no midpoint was returned.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
"source_url": {
- "example": "https://www.rottentomatoes.com/browse/movies_in_theaters/sort:popular",
+ "description": "URL the data was read from.",
+ "example": "https://clob.polymarket.com/midpoints",
"type": "string"
+ },
+ "token_ids": {
+ "description": "Token ids that were requested.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "rottentomatoes.BrowseItem": {
+ "polymarket.BatchTokenOrderBooksOption": {
"properties": {
- "critics_review_count": {
- "description": "Number of critic reviews behind the Tomatometer score.",
- "example": 136,
- "type": "integer"
+ "token_ids": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "token_ids"
+ ],
+ "type": "object"
+ },
+ "polymarket.BatchTokenOrderBooksResponse": {
+ "properties": {
+ "books": {
+ "description": "Order books for the requested tokens, one item per token found.",
+ "items": {
+ "$ref": "#/definitions/polymarket.OrderBookSummary"
+ },
+ "type": "array"
},
- "date_created": {
- "description": "Release date text shown on the browse card, such as `2026`.",
- "example": "2026",
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-06-07T11:00:00Z",
"type": "string"
},
- "image_url": {
- "description": "URL of the poster image.",
- "type": "string"
+ "missing": {
+ "description": "Requested token ids for which no order book was returned.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "media_type": {
- "description": "Kind of title, such as `Movie`.",
- "example": "Movie",
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://clob.polymarket.com/books",
"type": "string"
},
- "path": {
- "description": "Rotten Tomatoes path of the title page, such as `/m/wildwood_nj`.",
- "example": "/m/wildwood_nj",
- "type": "string"
+ "token_ids": {
+ "description": "Token ids that were requested.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "polymarket.BatchTokenPrice": {
+ "properties": {
+ "buy_price": {
+ "example": 0.03,
+ "type": "number"
},
- "position": {
- "description": "Position of the title in the returned list, starting at 1.",
- "example": 1,
- "type": "integer"
+ "sell_price": {
+ "example": 0.54,
+ "type": "number"
},
- "title": {
- "description": "Title name as shown on the browse card.",
- "example": "Wildwood, NJ",
+ "token_id": {
+ "example": "81927025054404355287140018940169293739219157042658469116956164881873598220211",
"type": "string"
- },
- "tomatometer_score": {
- "description": "Tomatometer critics score, as a percentage.",
- "example": 87,
- "type": "integer"
- },
- "url": {
- "description": "Rotten Tomatoes page URL of the title.",
- "example": "https://www.rottentomatoes.com/m/wildwood_nj",
+ }
+ },
+ "type": "object"
+ },
+ "polymarket.BatchTokenPricesOption": {
+ "properties": {
+ "side": {
"type": "string"
},
- "video": {
- "allOf": [
- {
- "$ref": "#/definitions/rottentomatoes.EpisodeVideo"
- }
- ],
- "description": "Featured video of the title, when Rotten Tomatoes provides one."
+ "token_ids": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
}
},
+ "required": [
+ "token_ids"
+ ],
"type": "object"
},
- "rottentomatoes.BrowseResponse": {
+ "polymarket.BatchTokenPricesResponse": {
"properties": {
"fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-06-07T14:46:16Z",
+ "example": "2026-06-07T11:00:00Z",
"type": "string"
},
- "items": {
- "description": "Titles on this page of the browse list.",
+ "missing": {
"items": {
- "$ref": "#/definitions/rottentomatoes.BrowseItem"
+ "type": "string"
},
"type": "array"
},
- "limit": {
- "description": "Maximum number of rows requested.",
- "example": 10,
- "type": "integer"
- },
- "list": {
- "description": "Browse list that was returned, such as `movies_in_theaters`.",
- "example": "movies_in_theaters",
- "type": "string"
- },
- "page_info": {
- "allOf": [
- {
- "$ref": "#/definitions/rottentomatoes.ReviewPageInfo"
- }
- ],
- "description": "Paging information. Pass `end_cursor` as `after` to get the next page."
- },
- "public_page_derived": {
- "description": "Always `true`: the data comes from publicly visible Rotten Tomatoes pages.",
- "example": true,
- "type": "boolean"
+ "prices": {
+ "items": {
+ "$ref": "#/definitions/polymarket.BatchTokenPrice"
+ },
+ "type": "array"
},
- "sort": {
- "description": "Sort order applied to the list, such as `popular`.",
- "example": "popular",
+ "side": {
+ "example": "buy",
"type": "string"
},
"source_url": {
- "description": "URL the data was read from.",
- "example": "https://www.rottentomatoes.com/browse/movies_in_theaters/sort:popular",
+ "example": "https://clob.polymarket.com/prices",
"type": "string"
},
- "title": {
- "description": "Title of the browse list, as Rotten Tomatoes shows it.",
- "example": "Movies in Theaters (2026)",
+ "token_ids": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "polymarket.BatchTokenSpread": {
+ "properties": {
+ "spread": {
+ "description": "Spread between the best bid and best ask for the token.",
+ "example": 0.51,
+ "type": "number"
+ },
+ "token_id": {
+ "description": "Token id of the outcome.",
+ "example": "81927025054404355287140018940169293739219157042658469116956164881873598220211",
"type": "string"
}
},
"type": "object"
},
- "rottentomatoes.CriticAuthor": {
+ "polymarket.BatchTokenSpreadsOption": {
"properties": {
- "badges": {
- "example": [
- "Individually approved"
- ],
+ "token_ids": {
"items": {
"type": "string"
},
"type": "array"
- },
- "name": {
- "example": "Mae Abdulbaki",
+ }
+ },
+ "required": [
+ "token_ids"
+ ],
+ "type": "object"
+ },
+ "polymarket.BatchTokenSpreadsResponse": {
+ "properties": {
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-06-07T11:00:00Z",
"type": "string"
},
- "path": {
- "example": "/critics/mae-abdulbaki",
- "type": "string"
+ "missing": {
+ "description": "Requested token ids for which no spread was returned.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "publication_label": {
- "example": "when published by",
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://clob.polymarket.com/spreads",
"type": "string"
},
- "publications": {
+ "spreads": {
+ "description": "Spreads for the requested tokens, one item per token found.",
"items": {
- "$ref": "#/definitions/rottentomatoes.CriticAuthorPublication"
+ "$ref": "#/definitions/polymarket.BatchTokenSpread"
+ },
+ "type": "array"
+ },
+ "token_ids": {
+ "description": "Token ids that were requested.",
+ "items": {
+ "type": "string"
},
"type": "array"
}
},
"type": "object"
},
- "rottentomatoes.CriticAuthorPublication": {
+ "polymarket.ClobMarketResponse": {
"properties": {
- "editorial_url": {
- "example": "https://example.com/reviews",
+ "condition_id": {
+ "description": "Condition id of the market that was requested.",
+ "example": "0x1a987cd4e88488fd12905fa9ae82cef381e03f4af68289275c4c0c2613db9327",
"type": "string"
},
- "id": {
- "example": "2784",
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-06-07T11:00:00Z",
"type": "string"
},
- "name": {
- "example": "Firstpost",
- "type": "string"
+ "market": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/polymarket.ClobMarketSummary"
+ }
+ ],
+ "description": "Order-book trading details of the market."
},
- "path": {
- "example": "/critics/source/2784",
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://clob.polymarket.com/markets/0x1a987cd4e88488fd12905fa9ae82cef381e03f4af68289275c4c0c2613db9327",
"type": "string"
}
},
"type": "object"
},
- "rottentomatoes.CriticsAuthorsResponse": {
+ "polymarket.ClobMarketSummary": {
"properties": {
- "after": {
- "example": "",
- "type": "string"
- },
- "authors": {
- "items": {
- "$ref": "#/definitions/rottentomatoes.CriticAuthor"
- },
- "type": "array"
- },
- "before": {
- "example": "",
- "type": "string"
- },
- "fetched_at": {
- "example": "2026-09-26T10:00:00Z",
+ "accepting_order_timestamp": {
+ "description": "Timestamp from which the market accepts orders.",
"type": "string"
},
- "has_next_page": {
- "example": true,
+ "accepting_orders": {
+ "description": "`true` when the market currently accepts orders.",
"type": "boolean"
},
- "has_previous_page": {
- "example": false,
+ "active": {
+ "description": "`true` when the market is active.",
"type": "boolean"
},
- "inactive": {
- "example": false,
+ "archived": {
+ "description": "`true` when the market is archived.",
"type": "boolean"
},
- "letter": {
- "example": "a",
- "type": "string"
- },
- "limit": {
- "example": 100,
- "type": "integer"
+ "closed": {
+ "description": "`true` when the market is closed.",
+ "type": "boolean"
},
- "next_cursor": {
- "example": "MQ==",
+ "condition_id": {
+ "description": "Condition id that identifies the market on Polymarket.",
+ "example": "0x1a987cd4e88488fd12905fa9ae82cef381e03f4af68289275c4c0c2613db9327",
"type": "string"
},
- "previous_cursor": {
- "example": "MA==",
+ "description": {
+ "description": "Market description, including its resolution rules as Polymarket shows them.",
"type": "string"
},
- "public_page_derived": {
- "example": true,
+ "enable_order_book": {
+ "description": "`true` when the order book is enabled for the market.",
"type": "boolean"
},
- "search": {
- "example": "",
+ "end_date": {
+ "description": "Date and time the market is scheduled to end (ISO 8601).",
+ "example": "2026-06-08T00:00:00Z",
"type": "string"
},
- "source_url": {
- "example": "https://www.rottentomatoes.com/napi/critics/authors?isInactiveCriticsList=false&letter=a&pageCount=100&userToken=null",
+ "game_start_time": {
+ "description": "Start time of the game the market is about (ISO 8601). Omitted when not provided.",
+ "example": "2026-06-07T20:30:00Z",
"type": "string"
- }
- },
- "type": "object"
- },
- "rottentomatoes.EditorialContentItem": {
- "properties": {
- "author_id": {
- "example": 944,
- "type": "integer"
},
- "excerpt": {
- "example": "A ranked guide to essential 21st century biopics.",
+ "icon_url": {
+ "description": "URL of the market's icon image.",
"type": "string"
},
- "featured_media_id": {
- "example": 297622,
- "type": "integer"
+ "image_url": {
+ "description": "URL of the market's main image.",
+ "type": "string"
},
- "id": {
- "example": 297618,
+ "is_50_50_outcome": {
+ "description": "`true` when the market is flagged as resolving 50-50.",
+ "type": "boolean"
+ },
+ "maker_base_fee": {
+ "description": "Base fee charged to makers on the market.",
+ "example": 1000,
"type": "integer"
},
- "modified_at": {
- "example": "2026-09-25T09:04:07",
+ "market_slug": {
+ "description": "URL slug of the market.",
+ "example": "codmw-par-tex-2026-06-07-game4",
"type": "string"
},
- "published_at": {
- "example": "2026-09-25T09:04:07",
+ "market_url": {
+ "description": "Link to the market on polymarket.com.",
+ "example": "https://polymarket.com/event/codmw-par-tex-2026-06-07/codmw-par-tex-2026-06-07-game4",
"type": "string"
},
- "term_ids": {
- "example": [
- 121877,
- 121876
- ],
- "items": {
- "type": "integer"
- },
- "type": "array"
+ "minimum_order_size": {
+ "description": "Smallest order size the market accepts.",
+ "example": 5,
+ "type": "number"
},
- "title": {
- "example": "Essential 21st Century Biopics Ranked",
- "type": "string"
+ "minimum_tick_size": {
+ "description": "Smallest price increment the market accepts.",
+ "example": 0.01,
+ "type": "number"
},
- "type": {
- "enum": [
- "article",
- "guide",
- "gallery",
- "hub-subpage",
- "non-rt-publication",
- "rt-hub",
- "how-to",
- "otg-article",
- "prev",
- "rt_poll",
- "page"
- ],
- "example": "guide",
- "type": "string"
+ "neg_risk": {
+ "description": "`true` when the market is part of a negative-risk group of linked outcomes.",
+ "type": "boolean"
},
- "url": {
- "example": "https://editorial.rottentomatoes.com/guide/essential-21st-century-biopic-movies/",
+ "neg_risk_market_id": {
+ "description": "Id of the negative-risk group the market belongs to.",
"type": "string"
- }
- },
- "type": "object"
- },
- "rottentomatoes.EditorialContentResponse": {
- "properties": {
- "fetched_at": {
- "example": "2026-09-26T10:00:00Z",
+ },
+ "neg_risk_request_id": {
+ "description": "Request id of the negative-risk group the market belongs to.",
"type": "string"
},
- "has_next_page": {
- "example": true,
+ "notifications_enabled": {
+ "description": "`true` when notifications are enabled for the market.",
"type": "boolean"
},
- "limit": {
- "example": 20,
- "type": "integer"
+ "question": {
+ "description": "Question the market asks.",
+ "example": "Call of Duty: Paris Gentle Mates vs OpTic Texas - Game 4 Winner",
+ "type": "string"
},
- "operator": {
- "enum": [
- "AND",
- "OR"
- ],
- "example": "OR",
+ "question_id": {
+ "description": "Id of the question the market resolves.",
+ "example": "0xf693b08c99a00ca87098bc122ccc956434c2ac8720d8ed77e612d008cf33c2c1",
"type": "string"
},
- "page": {
+ "rewards": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/polymarket.ClobRewardsSummary"
+ }
+ ],
+ "description": "Liquidity reward settings for the market."
+ },
+ "seconds_delay": {
+ "description": "Delay applied to orders on the market, in seconds.",
"example": 1,
"type": "integer"
},
- "public_page_derived": {
- "example": true,
- "type": "boolean"
- },
- "query": {
- "example": "horror",
- "type": "string"
- },
- "results": {
+ "tags": {
+ "description": "Tag labels attached to the market.",
"items": {
- "$ref": "#/definitions/rottentomatoes.EditorialContentItem"
+ "type": "string"
},
"type": "array"
},
- "source_url": {
- "example": "https://editorial.rottentomatoes.com/wp-json/wp/v2/guide?page=1&per_page=20",
- "type": "string"
- },
- "taxonomy": {
- "enum": [
- "categories",
- "tags",
- "related-movie-id",
- "related-tv-season-id",
- "related-tv-series-id",
- "related-tv-episode-id",
- "related-celebrity-id",
- "publication",
- "franchise",
- "coauthors"
- ],
- "example": "related-movie-id",
- "type": "string"
+ "taker_base_fee": {
+ "description": "Base fee charged to takers on the market.",
+ "example": 1000,
+ "type": "integer"
},
- "term_ids": {
- "example": [
- 121877,
- 121876
- ],
+ "tokens": {
+ "description": "Outcome tokens of the market, one item per outcome.",
"items": {
- "type": "integer"
+ "$ref": "#/definitions/polymarket.ClobTokenSummary"
},
"type": "array"
- },
- "total": {
- "example": 1194,
- "type": "integer"
- },
- "total_pages": {
- "example": 60,
- "type": "integer"
- },
- "type": {
- "enum": [
- "article",
- "guide",
- "gallery",
- "hub-subpage",
- "non-rt-publication",
- "rt-hub",
- "how-to",
- "otg-article",
- "prev",
- "rt_poll",
- "pages"
- ],
- "example": "guide",
- "type": "string"
}
},
"type": "object"
},
- "rottentomatoes.EditorialContentType": {
+ "polymarket.ClobRewardRate": {
"properties": {
- "label": {
- "example": "Guides",
+ "asset_address": {
+ "description": "Contract address of the token paid out as the reward.",
+ "example": "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174",
"type": "string"
},
- "value": {
- "enum": [
- "article",
- "guide",
- "gallery",
- "hub-subpage",
- "non-rt-publication",
- "rt-hub",
- "how-to",
- "otg-article",
- "prev",
- "rt_poll",
- "pages"
- ],
- "example": "guide",
- "type": "string"
+ "rewards_daily_rate": {
+ "description": "Reward amount paid per day in this asset.",
+ "example": 5,
+ "type": "number"
}
},
"type": "object"
},
- "rottentomatoes.EditorialContentTypesResponse": {
+ "polymarket.ClobRewardsSummary": {
"properties": {
- "public_page_derived": {
- "example": true,
- "type": "boolean"
+ "max_spread": {
+ "description": "Maximum spread an order can have and still qualify for rewards.",
+ "example": 2.5,
+ "type": "number"
},
- "source_url": {
- "example": "https://editorial.rottentomatoes.com/wp-json/wp/v2/types",
- "type": "string"
+ "min_size": {
+ "description": "Minimum order size that qualifies for rewards.",
+ "example": 500,
+ "type": "number"
},
- "types": {
+ "rates": {
+ "description": "Daily reward rates, one item per reward asset.",
"items": {
- "$ref": "#/definitions/rottentomatoes.EditorialContentType"
+ "$ref": "#/definitions/polymarket.ClobRewardRate"
},
"type": "array"
- },
- "verified_at": {
- "example": "2026-09-26",
- "type": "string"
}
},
"type": "object"
},
- "rottentomatoes.EditorialDetailLink": {
+ "polymarket.ClobTokenSummary": {
"properties": {
- "text": {
+ "outcome": {
+ "description": "Name of the outcome the token represents.",
+ "example": "Paris Gentle Mates",
"type": "string"
},
- "url": {
+ "price": {
+ "description": "Current price of the outcome token.",
+ "example": 0.285,
+ "type": "number"
+ },
+ "token_id": {
+ "description": "Token id of the outcome.",
+ "example": "81927025054404355287140018940169293739219157042658469116956164881873598220211",
"type": "string"
+ },
+ "winner": {
+ "description": "`true` when this outcome won the resolved market.",
+ "type": "boolean"
}
},
"type": "object"
},
- "rottentomatoes.EditorialDetailResponse": {
+ "polymarket.EventDetailResponse": {
"properties": {
- "body_html": {
- "type": "string"
+ "event": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/polymarket.EventSummary"
+ }
+ ],
+ "description": "Full details of the event."
},
"fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-06-07T11:00:00Z",
"type": "string"
},
- "headings": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "slug": {
+ "description": "URL slug of the event that was requested.",
+ "example": "world-cup-winner",
+ "type": "string"
},
- "image_url": {
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://gamma-api.polymarket.com/events/slug/world-cup-winner",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "polymarket.EventSummary": {
+ "properties": {
+ "active": {
+ "description": "`true` when the event is active.",
+ "type": "boolean"
},
- "images": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "closed": {
+ "description": "`true` when the event is closed.",
+ "type": "boolean"
},
- "links": {
- "items": {
- "$ref": "#/definitions/rottentomatoes.EditorialDetailLink"
- },
- "type": "array"
+ "comment_count": {
+ "description": "Number of comments on the event.",
+ "type": "integer"
},
- "modified_at": {
+ "description": {
+ "description": "Event description as shown on Polymarket.",
"type": "string"
},
- "paragraphs": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "path": {
- "example": "/guide/all-brad-pitt-movies-ranked-by-tomatometer/",
+ "end_date": {
+ "description": "Date and time the event is scheduled to end (ISO 8601).",
"type": "string"
},
- "public_page_derived": {
+ "featured": {
+ "description": "`true` when Polymarket features the event.",
"type": "boolean"
},
- "published_at": {
- "type": "string"
- },
- "source_url": {
+ "icon_url": {
+ "description": "URL of the event's icon image.",
"type": "string"
},
- "subtitle": {
+ "id": {
+ "description": "Polymarket event id.",
+ "example": "545095",
"type": "string"
},
- "title": {
- "example": "Brad Pitt Movies Ranked by Tomatometer",
+ "image_url": {
+ "description": "URL of the event's main image.",
"type": "string"
},
- "type": {
- "enum": [
- "article",
- "gallery",
- "guide",
- "otg-article",
- "prev"
- ],
- "example": "guide",
- "type": "string"
+ "liquidity": {
+ "description": "Liquidity Polymarket reports for the event.",
+ "type": "number"
},
- "video_urls": {
+ "markets": {
+ "description": "Markets inside the event, one item per market.",
"items": {
- "type": "string"
+ "$ref": "#/definitions/polymarket.MarketSummary"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "rottentomatoes.EditorialSearchResponse": {
- "properties": {
- "fetched_at": {
- "example": "2026-09-26T10:00:00Z",
- "type": "string"
- },
- "has_next_page": {
- "example": true,
- "type": "boolean"
},
- "limit": {
- "example": 10,
+ "markets_count": {
+ "description": "Number of markets inside the event.",
+ "example": 15,
"type": "integer"
},
- "page": {
- "example": 1,
- "type": "integer"
+ "open_interest": {
+ "description": "Open interest Polymarket reports for the event.",
+ "type": "number"
},
- "public_page_derived": {
- "example": true,
+ "restricted": {
+ "description": "`true` when Polymarket marks the event as restricted.",
"type": "boolean"
},
- "query": {
- "example": "horror",
+ "slug": {
+ "description": "URL slug of the event.",
+ "example": "bitcoin-above-on-june-7-2026",
"type": "string"
},
- "results": {
+ "start_date": {
+ "description": "Date and time the event starts (ISO 8601).",
+ "type": "string"
+ },
+ "tags": {
+ "description": "Tags attached to the event, one item per tag.",
"items": {
- "$ref": "#/definitions/rottentomatoes.EditorialSearchResult"
+ "$ref": "#/definitions/polymarket.TagSummary"
},
"type": "array"
},
- "source_url": {
- "example": "https://editorial.rottentomatoes.com/wp-json/wp/v2/search?page=1&per_page=10&search=horror",
- "type": "string"
- },
- "total": {
- "example": 5110,
- "type": "integer"
- },
- "total_pages": {
- "example": 511,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "rottentomatoes.EditorialSearchResult": {
- "properties": {
- "id": {
- "example": 282182,
- "type": "integer"
- },
- "subtype": {
- "example": "guide",
- "type": "string"
- },
"title": {
- "example": "Best New Horror Movies of 2026",
+ "description": "Event title as shown on Polymarket.",
+ "example": "Bitcoin above ___ on June 7?",
"type": "string"
},
- "type": {
- "example": "post",
+ "updated_at": {
+ "description": "Time Polymarket last updated the event (ISO 8601).",
"type": "string"
},
"url": {
- "example": "https://editorial.rottentomatoes.com/guide/best-new-horror-movies-2026/",
- "type": "string"
- }
- },
- "type": "object"
- },
- "rottentomatoes.EditorialSectionItem": {
- "properties": {
- "image_url": {
- "example": "https://editorial.rottentomatoes.com/wp-content/uploads/2026/04/poster.png?w=300",
- "type": "string"
- },
- "published_at": {
- "example": "September 25, 2026",
+ "description": "Link to the event on polymarket.com.",
+ "example": "https://polymarket.com/event/bitcoin-above-on-june-7-2026",
"type": "string"
},
- "title": {
- "example": "Robert Pattinson Movies Ranked by Tomatometer",
- "type": "string"
+ "volume": {
+ "description": "Total trading volume of the event.",
+ "type": "number"
},
- "url": {
- "example": "https://editorial.rottentomatoes.com/guide/robert-pattinson/",
- "type": "string"
+ "volume_24h": {
+ "description": "Trading volume of the event over the last 24 hours.",
+ "type": "number"
}
},
"type": "object"
},
- "rottentomatoes.EditorialSectionResponse": {
+ "polymarket.EventsResponse": {
"properties": {
- "fetched_at": {
- "example": "2026-09-26T10:00:00Z",
- "type": "string"
- },
- "has_next_page": {
- "example": true,
+ "ascending": {
+ "description": "`true` when events are sorted in ascending order.",
"type": "boolean"
},
- "page": {
- "example": 1,
- "type": "integer"
- },
- "path": {
- "example": "/countdown/",
+ "closed": {
+ "description": "Closed filter applied, `true` or `false`.",
+ "example": "false",
"type": "string"
},
- "public_page_derived": {
- "example": true,
- "type": "boolean"
- },
- "results": {
+ "events": {
+ "description": "Events on this page, one item per event.",
"items": {
- "$ref": "#/definitions/rottentomatoes.EditorialSectionItem"
+ "$ref": "#/definitions/polymarket.EventSummary"
},
"type": "array"
},
- "source_url": {
- "example": "https://editorial.rottentomatoes.com/countdown/",
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-06-07T11:00:00Z",
"type": "string"
},
- "title": {
- "example": "Countdown",
- "type": "string"
+ "limit": {
+ "description": "Maximum number of events requested.",
+ "example": 25,
+ "type": "integer"
},
- "total_pages": {
- "example": 40,
+ "offset": {
+ "description": "Number of events skipped before this page.",
+ "example": 0,
"type": "integer"
+ },
+ "order": {
+ "description": "Field the events are sorted by, for example `volume24hr`.",
+ "example": "volume24hr",
+ "type": "string"
+ },
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://gamma-api.polymarket.com/events?limit=25",
+ "type": "string"
}
},
"type": "object"
},
- "rottentomatoes.EditorialTaxonomiesResponse": {
+ "polymarket.HomepageFeedResponse": {
"properties": {
- "public_page_derived": {
- "example": true,
- "type": "boolean"
- },
- "source_url": {
- "example": "https://editorial.rottentomatoes.com/wp-json/wp/v2/taxonomies",
+ "cursor": {
+ "description": "Cursor that was used to fetch this page.",
"type": "string"
},
- "taxonomies": {
+ "events": {
+ "description": "Event rows in the feed, one item per event.",
"items": {
- "$ref": "#/definitions/rottentomatoes.EditorialTaxonomy"
+ "$ref": "#/definitions/polymarket.EventSummary"
},
"type": "array"
},
- "verified_at": {
- "example": "2026-09-26",
+ "feed": {
+ "description": "Homepage feed that was requested, for example `politics`.",
+ "example": "politics",
"type": "string"
- }
- },
- "type": "object"
- },
- "rottentomatoes.EditorialTaxonomy": {
- "properties": {
- "hierarchical": {
- "example": false,
- "type": "boolean"
},
- "label": {
- "example": "Related Movie Ids",
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-06-07T11:00:00Z",
"type": "string"
},
- "types": {
- "example": [
- "article",
- "guide",
- "gallery"
- ],
+ "has_more": {
+ "description": "`true` when more rows are available after this page.",
+ "type": "boolean"
+ },
+ "limit": {
+ "description": "Maximum number of rows requested.",
+ "example": 20,
+ "type": "integer"
+ },
+ "markets": {
+ "description": "Market rows in the feed, one item per market. Returned by the `breaking` feed.",
"items": {
- "type": "string"
+ "$ref": "#/definitions/polymarket.MarketSummary"
},
"type": "array"
},
- "value": {
- "enum": [
- "categories",
- "tags",
- "related-movie-id",
- "related-tv-season-id",
- "related-tv-series-id",
- "related-tv-episode-id",
- "related-celebrity-id",
- "publication",
- "franchise",
- "coauthors"
- ],
- "example": "related-movie-id",
+ "next_cursor": {
+ "description": "Cursor to pass to fetch the next page.",
+ "type": "string"
+ },
+ "source_kind": {
+ "description": "Kind of rows the feed returns: `events_keyset`, `markets_movers` or `public_search`.",
+ "example": "events_keyset",
+ "type": "string"
+ },
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://gamma-api.polymarket.com/events/keyset?limit=20&tag_slug=politics",
"type": "string"
}
},
"type": "object"
},
- "rottentomatoes.EditorialTerm": {
+ "polymarket.LeaderboardEntry": {
"properties": {
- "count": {
- "example": 3072,
- "type": "integer"
- },
- "description": {
+ "profile_image_url": {
"type": "string"
},
- "id": {
- "example": 10732,
- "type": "integer"
+ "profit_loss": {
+ "example": 322870.79601049656,
+ "type": "number"
},
- "link": {
- "example": "https://editorial.rottentomatoes.com/author/cap-rt-staff/",
+ "proxy_wallet": {
+ "example": "0x4bff30af91642dc7d2b19a8664378fe55c45fc26",
"type": "string"
},
- "name": {
- "example": "RT Staff",
+ "rank": {
+ "example": "1",
"type": "string"
},
- "parent": {
- "example": 0,
- "type": "integer"
+ "user_name": {
+ "example": "Sassy-Bucket",
+ "type": "string"
},
- "slug": {
- "example": "cap-rt-staff",
+ "verified_badge": {
+ "type": "boolean"
+ },
+ "volume": {
+ "example": 770358.109102,
+ "type": "number"
+ },
+ "x_username": {
+ "example": "polymarket",
"type": "string"
}
},
"type": "object"
},
- "rottentomatoes.EditorialTermsResponse": {
+ "polymarket.LeaderboardResponse": {
"properties": {
"fetched_at": {
- "example": "2026-09-26T10:00:00Z",
+ "example": "2026-06-07T11:00:00Z",
"type": "string"
},
- "has_next_page": {
- "example": true,
- "type": "boolean"
- },
"limit": {
"example": 20,
"type": "integer"
},
- "page": {
- "example": 1,
- "type": "integer"
- },
- "public_page_derived": {
- "example": true,
- "type": "boolean"
- },
- "results": {
+ "rows": {
"items": {
- "$ref": "#/definitions/rottentomatoes.EditorialTerm"
+ "$ref": "#/definitions/polymarket.LeaderboardEntry"
},
"type": "array"
},
- "search": {
- "example": "RT Staff",
+ "sort_by": {
+ "example": "profit",
"type": "string"
},
"source_url": {
- "example": "https://editorial.rottentomatoes.com/wp-json/wp/v2/coauthors?page=1&per_page=20",
+ "example": "https://data-api.polymarket.com/v1/leaderboard?window=30d&sortBy=profit&limit=20",
"type": "string"
},
- "taxonomy": {
- "enum": [
- "categories",
- "tags",
- "related-movie-id",
- "related-tv-season-id",
- "related-tv-series-id",
- "related-tv-episode-id",
- "related-celebrity-id",
- "publication",
- "franchise",
- "coauthors"
- ],
- "example": "coauthors",
+ "window": {
+ "example": "30d",
"type": "string"
- },
- "total": {
- "example": 927,
- "type": "integer"
- },
- "total_pages": {
- "example": 47,
- "type": "integer"
}
},
"type": "object"
},
- "rottentomatoes.EpisodeResponse": {
+ "polymarket.MacroDashboardResponse": {
"properties": {
- "air_date": {
- "description": "Date the episode first aired, such as `2008-01-20`.",
- "example": "2008-01-20",
+ "cursor": {
+ "description": "Cursor that was used to fetch this page.",
"type": "string"
},
- "audience_score": {
- "allOf": [
- {
- "$ref": "#/definitions/rottentomatoes.Score"
- }
- ],
- "description": "Popcornmeter audience score of the episode."
- },
- "cast": {
- "description": "People in the cast of the episode.",
+ "events": {
+ "description": "Macro events on this page, one item per event.",
"items": {
- "$ref": "#/definitions/rottentomatoes.Person"
+ "$ref": "#/definitions/polymarket.EventSummary"
},
"type": "array"
},
- "critics_score": {
- "allOf": [
- {
- "$ref": "#/definitions/rottentomatoes.Score"
- }
- ],
- "description": "Tomatometer critics score of the episode."
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-06-07T11:00:00Z",
+ "type": "string"
},
- "description": {
- "description": "Short synopsis of the episode.",
- "type": "string"
- },
- "directors": {
- "description": "Directors of the episode.",
- "items": {
- "$ref": "#/definitions/rottentomatoes.Person"
- },
- "type": "array"
- },
- "ems_id": {
- "description": "Rotten Tomatoes' own unique id of the episode.",
- "example": "ccda9549-4dcb-3147-9a2b-1106dcf852f7",
- "type": "string"
+ "has_more": {
+ "description": "`true` when more events are available after this page.",
+ "type": "boolean"
},
- "episode_number": {
- "description": "Episode number within its season.",
- "example": 1,
+ "limit": {
+ "description": "Maximum number of events requested.",
+ "example": 20,
"type": "integer"
},
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-06-07T14:46:16Z",
+ "next_cursor": {
+ "description": "Cursor to pass to fetch the next page.",
"type": "string"
},
- "genres": {
- "description": "Genres of the episode.",
- "example": [
- "Crime"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "image_url": {
- "description": "URL of the episode image.",
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://gamma-api.polymarket.com/events/keyset?tag_slug=macro&limit=20",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "polymarket.MarketDetailResponse": {
+ "properties": {
+ "condition_id": {
+ "description": "Condition id of the market that was requested.",
+ "example": "0x1a987cd4e88488fd12905fa9ae82cef381e03f4af68289275c4c0c2613db9327",
"type": "string"
},
- "lifecycle": {
- "description": "Airing status, such as `NOT_AIRING`.",
- "example": "NOT_AIRING",
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-06-07T11:00:00Z",
"type": "string"
},
- "media_type": {
- "description": "Kind of title, such as `TvEpisode`.",
- "example": "TvEpisode",
+ "id": {
+ "description": "Polymarket market id that was requested.",
+ "example": "558934",
"type": "string"
},
- "parent_season": {
+ "market": {
"allOf": [
{
- "$ref": "#/definitions/rottentomatoes.SeasonSummary"
+ "$ref": "#/definitions/polymarket.MarketSummary"
}
],
- "description": "Season the episode belongs to."
+ "description": "Full details of the market."
},
- "parent_series": {
+ "slug": {
+ "description": "URL slug of the market that was requested.",
+ "example": "will-spain-win-the-2026-fifa-world-cup-963",
+ "type": "string"
+ },
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://gamma-api.polymarket.com/markets/558934",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "polymarket.MarketLiquidityResponse": {
+ "properties": {
+ "clob_market": {
"allOf": [
{
- "$ref": "#/definitions/rottentomatoes.SeriesSummary"
+ "$ref": "#/definitions/polymarket.ClobMarketSummary"
}
],
- "description": "Series the episode belongs to."
- },
- "path": {
- "description": "Rotten Tomatoes path of the episode page, such as `/tv/breaking_bad/s01/e01`.",
- "example": "/tv/breaking_bad/s01/e01",
- "type": "string"
- },
- "producers": {
- "description": "Producers of the episode.",
- "items": {
- "$ref": "#/definitions/rottentomatoes.Person"
- },
- "type": "array"
- },
- "public_page_derived": {
- "description": "Always `true`: the data comes from publicly visible Rotten Tomatoes pages.",
- "example": true,
- "type": "boolean"
- },
- "season_number": {
- "description": "Number of the season the episode belongs to.",
- "example": 1,
- "type": "integer"
+ "description": "Order-book trading settings and outcome prices for the market."
},
- "source_url": {
- "description": "URL the data was read from.",
- "example": "https://www.rottentomatoes.com/tv/breaking_bad/s01/e01",
+ "condition_id": {
+ "description": "Condition id of the market that was requested.",
+ "example": "0x1a987cd4e88488fd12905fa9ae82cef381e03f4af68289275c4c0c2613db9327",
"type": "string"
},
- "title": {
- "description": "Title of the episode, as Rotten Tomatoes shows it.",
- "example": "Pilot",
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-06-07T11:00:00Z",
"type": "string"
},
- "url": {
- "description": "Rotten Tomatoes page URL of the episode.",
- "example": "https://www.rottentomatoes.com/tv/breaking_bad/s01/e01",
+ "id": {
+ "description": "Polymarket market id that was requested.",
+ "example": "558934",
"type": "string"
},
- "video": {
+ "market": {
"allOf": [
{
- "$ref": "#/definitions/rottentomatoes.EpisodeVideo"
+ "$ref": "#/definitions/polymarket.MarketSummary"
}
],
- "description": "Video clip shown on the episode page."
+ "description": "Summary of the market the liquidity snapshot belongs to."
+ },
+ "slug": {
+ "description": "URL slug of the market that was requested.",
+ "example": "will-spain-win-the-2026-fifa-world-cup-963",
+ "type": "string"
+ },
+ "source_urls": {
+ "description": "URLs the data was read from.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "tokens": {
+ "description": "Liquidity figures for each outcome token of the market.",
+ "items": {
+ "$ref": "#/definitions/polymarket.MarketLiquidityTokenSummary"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "rottentomatoes.EpisodeVideo": {
+ "polymarket.MarketLiquidityTokenSummary": {
"properties": {
- "description": {
- "description": "Description of the video.",
- "type": "string"
+ "ask_depth": {
+ "description": "Total size of all ask levels in the token's order book.",
+ "example": 654.33,
+ "type": "number"
},
- "duration": {
- "description": "Length of the video as text, such as `2:32`.",
- "example": "2:32",
- "type": "string"
+ "bid_depth": {
+ "description": "Total size of all bid levels in the token's order book.",
+ "example": 117.57,
+ "type": "number"
},
- "thumbnail": {
- "description": "URL of the video thumbnail image.",
- "type": "string"
+ "buy_price": {
+ "description": "Price quoted for buying one share of the outcome.",
+ "example": 0.16,
+ "type": "number"
},
- "title": {
- "description": "Title of the video.",
- "example": "Breaking Bad: Official Clip - Walter Wants to Cook",
- "type": "string"
+ "clob_price": {
+ "description": "Outcome price taken from the order-book market data.",
+ "example": 0.161,
+ "type": "number"
},
- "upload_date": {
- "description": "Date and time the video was uploaded, such as `2024-07-11T19:23:03`.",
- "example": "2024-07-11T19:23:03",
+ "gamma_price": {
+ "description": "Outcome price taken from the market listing.",
+ "example": 0.16,
+ "type": "number"
+ },
+ "last_trade_price": {
+ "description": "Price of the most recent trade on the token.",
+ "example": 0.162,
+ "type": "number"
+ },
+ "midpoint": {
+ "description": "Midpoint between the best bid and best ask for the token.",
+ "example": 0.165,
+ "type": "number"
+ },
+ "orderbook_best_ask": {
+ "description": "Lowest ask price in the token's order book.",
+ "example": 0.17,
+ "type": "number"
+ },
+ "orderbook_best_bid": {
+ "description": "Highest bid price in the token's order book.",
+ "example": 0.16,
+ "type": "number"
+ },
+ "orderbook_spread": {
+ "description": "Best ask price minus best bid price in the token's order book.",
+ "example": 0.01,
+ "type": "number"
+ },
+ "outcome": {
+ "description": "Name of the outcome the token represents, for example `Yes`.",
+ "example": "Yes",
"type": "string"
},
- "url": {
- "description": "Rotten Tomatoes page URL of the video.",
- "example": "https://www.rottentomatoes.com/tv/breaking_bad/s01/e01/videos/JR3ymbH1dpLb",
+ "sell_price": {
+ "description": "Price quoted for selling one share of the outcome.",
+ "example": 0.17,
+ "type": "number"
+ },
+ "spread": {
+ "description": "Spread Polymarket reports for the token.",
+ "example": 0.01,
+ "type": "number"
+ },
+ "token_id": {
+ "description": "Token id of the outcome. Use it with the order book and price endpoints.",
+ "example": "81927025054404355287140018940169293739219157042658469116956164881873598220211",
"type": "string"
}
},
"type": "object"
},
- "rottentomatoes.MovieResponse": {
+ "polymarket.MarketSummary": {
"properties": {
- "audience_reviews": {
- "description": "Sample of audience reviews shown on the movie page.",
- "items": {
- "$ref": "#/definitions/rottentomatoes.Review"
- },
- "type": "array"
+ "active": {
+ "description": "`true` when the market is active.",
+ "type": "boolean"
},
- "audience_score": {
- "allOf": [
- {
- "$ref": "#/definitions/rottentomatoes.Score"
- }
- ],
- "description": "Popcornmeter audience score of the movie."
+ "best_ask": {
+ "description": "Lowest ask price currently offered on the market.",
+ "type": "number"
},
- "cast": {
- "description": "People in the cast of the movie.",
- "items": {
- "$ref": "#/definitions/rottentomatoes.Person"
- },
- "type": "array"
+ "best_bid": {
+ "description": "Highest bid price currently offered on the market.",
+ "type": "number"
},
- "content_rating": {
- "description": "Content rating of the movie, such as `PG-13`.",
- "example": "PG-13",
+ "closed": {
+ "description": "`true` when the market is closed.",
+ "type": "boolean"
+ },
+ "condition_id": {
+ "description": "Condition id that identifies the market on Polymarket.",
+ "example": "0x1a987cd4e88488fd12905fa9ae82cef381e03f4af68289275c4c0c2613db9327",
"type": "string"
},
- "critics_score": {
- "allOf": [
- {
- "$ref": "#/definitions/rottentomatoes.Score"
- }
- ],
- "description": "Tomatometer critics score of the movie."
+ "end_date": {
+ "description": "Date and time the market is scheduled to end (ISO 8601).",
+ "type": "string"
},
- "description": {
- "description": "Short synopsis of the movie.",
+ "id": {
+ "description": "Polymarket market id.",
+ "example": "558934",
"type": "string"
},
- "directors": {
- "description": "Directors of the movie.",
+ "last_trade_price": {
+ "description": "Price of the most recent trade on the market.",
+ "type": "number"
+ },
+ "liquidity": {
+ "description": "Liquidity Polymarket reports for the market.",
+ "type": "number"
+ },
+ "outcomes": {
+ "description": "Outcomes of the market with their current prices, one item per outcome.",
"items": {
- "$ref": "#/definitions/rottentomatoes.Person"
+ "$ref": "#/definitions/polymarket.OutcomePricePoint"
},
"type": "array"
},
- "ems_id": {
- "description": "Rotten Tomatoes' own unique id of the movie.",
- "example": "afbf1c81-1bfe-3996-9cbc-2e1be23d1f61",
+ "question": {
+ "description": "Question the market asks, for example `Will Spain win the 2026 FIFA World Cup?`.",
+ "example": "Will Spain win the 2026 FIFA World Cup?",
"type": "string"
},
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-06-07T14:46:16Z",
+ "slug": {
+ "description": "URL slug of the market.",
+ "example": "will-spain-win-the-2026-fifa-world-cup-963",
"type": "string"
},
- "genres": {
- "description": "Genres of the movie.",
- "example": [
- "Sci-Fi"
- ],
+ "token_ids": {
+ "description": "Token ids of the market outcomes, in the same order as `outcomes`.",
"items": {
"type": "string"
},
"type": "array"
},
- "image_url": {
- "description": "URL of the poster image.",
+ "url": {
+ "description": "Link to the market on polymarket.com.",
+ "example": "https://polymarket.com/event/world-cup-winner/will-spain-win-the-2026-fifa-world-cup-963",
"type": "string"
},
- "media_type": {
- "description": "Kind of title, such as `Movie`.",
- "example": "Movie",
+ "volume": {
+ "description": "Total trading volume of the market.",
+ "type": "number"
+ },
+ "volume_24h": {
+ "description": "Trading volume of the market over the last 24 hours.",
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "polymarket.MarketsResponse": {
+ "properties": {
+ "ascending": {
+ "description": "`true` when markets are sorted in ascending order.",
+ "type": "boolean"
+ },
+ "closed": {
+ "description": "Closed filter applied, `true` or `false`.",
+ "example": "false",
"type": "string"
},
- "path": {
- "description": "Rotten Tomatoes path of the movie page, such as `/m/inception`.",
- "example": "/m/inception",
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-06-07T11:00:00Z",
"type": "string"
},
- "producers": {
- "description": "Producers of the movie.",
+ "limit": {
+ "description": "Maximum number of markets requested.",
+ "example": 25,
+ "type": "integer"
+ },
+ "markets": {
+ "description": "Markets on this page, one item per market.",
"items": {
- "$ref": "#/definitions/rottentomatoes.Person"
+ "$ref": "#/definitions/polymarket.MarketSummary"
},
"type": "array"
},
- "public_page_derived": {
- "description": "Always `true`: the data comes from publicly visible Rotten Tomatoes pages.",
- "example": true,
- "type": "boolean"
- },
- "release_date": {
- "description": "Release date of the movie, such as `2010-07-16`.",
- "example": "2010-07-16",
- "type": "string"
+ "offset": {
+ "description": "Number of markets skipped before this page.",
+ "example": 0,
+ "type": "integer"
},
- "reviews_url": {
- "description": "URL of the Rotten Tomatoes page with the audience reviews of the movie.",
- "example": "https://www.rottentomatoes.com/m/inception/reviews/all-audience",
+ "order": {
+ "description": "Field the markets are sorted by, for example `volume24hr`.",
+ "example": "volume24hr",
"type": "string"
},
"source_url": {
"description": "URL the data was read from.",
- "example": "https://www.rottentomatoes.com/m/inception",
- "type": "string"
- },
- "title": {
- "description": "Title of the movie, as Rotten Tomatoes shows it.",
- "example": "Inception",
+ "example": "https://gamma-api.polymarket.com/markets?limit=25",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "polymarket.OrderBookLevel": {
+ "properties": {
+ "price": {
+ "description": "Price of this order book level.",
+ "example": 0.03,
+ "type": "number"
},
- "url": {
- "description": "Rotten Tomatoes page URL of the movie.",
- "example": "https://www.rottentomatoes.com/m/inception",
- "type": "string"
+ "size": {
+ "description": "Total size of the orders resting at this price.",
+ "example": 5,
+ "type": "number"
}
},
"type": "object"
},
- "rottentomatoes.MovieReview": {
+ "polymarket.OrderBookSummary": {
"properties": {
- "created_at": {
- "example": "2024-04-11T23:40:16.000Z",
- "type": "string"
+ "asks": {
+ "description": "Ask levels in the order book, one item per price level.",
+ "items": {
+ "$ref": "#/definitions/polymarket.OrderBookLevel"
+ },
+ "type": "array"
},
- "critic_url": {
- "example": "https://www.rottentomatoes.com/critic/danilo-castro",
+ "bids": {
+ "description": "Bid levels in the order book, one item per price level.",
+ "items": {
+ "$ref": "#/definitions/polymarket.OrderBookLevel"
+ },
+ "type": "array"
+ },
+ "condition_id": {
+ "description": "Condition id of the market the token belongs to.",
+ "example": "0x1a987cd4e88488fd12905fa9ae82cef381e03f4af68289275c4c0c2613db9327",
"type": "string"
},
- "display_name": {
- "example": "Danilo Castro",
+ "hash": {
+ "description": "Hash of the order book snapshot.",
+ "example": "31facd52b62495bbc142facb81275400d978f6bf",
"type": "string"
},
- "has_profanity": {
- "example": false,
- "type": "boolean"
+ "last_trade_price": {
+ "description": "Price of the most recent trade on the token.",
+ "example": 0.285,
+ "type": "number"
},
- "has_spoilers": {
- "example": false,
+ "min_order_size": {
+ "description": "Smallest order size the market accepts.",
+ "example": 5,
+ "type": "number"
+ },
+ "neg_risk": {
+ "description": "`true` when the market is part of a negative-risk group of linked outcomes.",
"type": "boolean"
},
- "id": {
- "example": "102903742",
- "type": "string"
+ "tick_size": {
+ "description": "Smallest price increment the market accepts.",
+ "example": 0.01,
+ "type": "number"
},
- "original_score": {
- "example": "9/10",
+ "timestamp": {
+ "description": "Time of the order book snapshot, in Unix milliseconds.",
+ "example": "1780837460175",
"type": "string"
},
- "publication": {
- "example": "Next Best Picture",
+ "token_id": {
+ "description": "Token id of the outcome the order book belongs to.",
+ "example": "81927025054404355287140018940169293739219157042658469116956164881873598220211",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "polymarket.OutcomePricePoint": {
+ "properties": {
+ "best_ask": {
+ "description": "Lowest ask price currently offered for the outcome.",
+ "example": 0.162,
+ "type": "number"
},
- "publication_approved": {
- "example": true,
- "type": "boolean"
+ "best_bid": {
+ "description": "Highest bid price currently offered for the outcome.",
+ "example": 0.161,
+ "type": "number"
},
- "publication_review_url": {
- "example": "https://nextbestpicture.com/inception/",
- "type": "string"
+ "last_trade_price": {
+ "description": "Price of the most recent trade on the outcome.",
+ "example": 0.162,
+ "type": "number"
},
- "rating": {
- "example": 4.5,
+ "liquidity": {
+ "description": "Liquidity Polymarket reports for the outcome.",
+ "example": 1093391.84,
"type": "number"
},
- "rating_label": {
- "example": "STAR_4_5",
+ "market_id": {
+ "description": "Polymarket id of the market the outcome belongs to.",
+ "example": "558934",
"type": "string"
},
- "review": {
+ "market_slug": {
+ "description": "URL slug of the market the outcome belongs to.",
+ "example": "will-spain-win-the-2026-fifa-world-cup-963",
"type": "string"
},
- "score_sentiment": {
- "example": "POSITIVE",
+ "outcome": {
+ "description": "Name of the outcome, for example `Yes`.",
+ "example": "Yes",
"type": "string"
},
- "super_reviewer": {
- "example": false,
- "type": "boolean"
- },
- "tomatometer_approved": {
- "example": true,
- "type": "boolean"
- },
- "top_critic": {
- "example": false,
- "type": "boolean"
- },
- "top_publication": {
- "example": false,
- "type": "boolean"
- },
- "top_review": {
- "example": false,
- "type": "boolean"
+ "price": {
+ "description": "Current price of the outcome.",
+ "example": 0.1615,
+ "type": "number"
},
- "type": {
- "example": "critic",
+ "question": {
+ "description": "Question of the market the outcome belongs to.",
+ "example": "Will Spain win the 2026 FIFA World Cup?",
"type": "string"
},
- "verified": {
- "example": false,
- "type": "boolean"
+ "volume": {
+ "description": "Trading volume Polymarket reports for the outcome.",
+ "example": 30983849.24,
+ "type": "number"
}
},
"type": "object"
},
- "rottentomatoes.Person": {
+ "polymarket.PredictionsResponse": {
"properties": {
- "image_url": {
- "description": "URL of the person's photo.",
+ "cursor": {
+ "description": "Cursor that was used to fetch this page.",
"type": "string"
},
- "name": {
- "description": "Name of the person.",
- "example": "Christopher Nolan",
- "type": "string"
+ "events": {
+ "description": "Events on this page, one item per event.",
+ "items": {
+ "$ref": "#/definitions/polymarket.EventSummary"
+ },
+ "type": "array"
},
- "url": {
- "description": "Rotten Tomatoes page URL of the person.",
- "example": "https://www.rottentomatoes.com/celebrity/christopher_nolan",
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-06-07T11:00:00Z",
"type": "string"
- }
- },
- "type": "object"
- },
- "rottentomatoes.PersonCredit": {
- "properties": {
- "audience_score": {
- "allOf": [
- {
- "$ref": "#/definitions/rottentomatoes.Score"
- }
- ],
- "description": "Popcornmeter audience score of the title."
},
- "credits": {
- "description": "Roles the person had on the title, such as `Director, Screenwriter, Producer`.",
- "example": "Director, Screenwriter, Producer",
- "type": "string"
+ "has_more": {
+ "description": "`true` when more events are available after this page.",
+ "type": "boolean"
},
- "critics_score": {
- "allOf": [
- {
- "$ref": "#/definitions/rottentomatoes.Score"
- }
- ],
- "description": "Tomatometer critics score of the title."
+ "limit": {
+ "description": "Maximum number of events requested.",
+ "example": 20,
+ "type": "integer"
},
- "path": {
- "description": "Rotten Tomatoes path of the title page, such as `/m/oppenheimer_2023`.",
- "example": "/m/oppenheimer_2023",
+ "next_cursor": {
+ "description": "Cursor to pass to fetch the next page.",
"type": "string"
},
- "position": {
- "description": "Position of the credit in the filmography list, starting at 1.",
- "example": 1,
- "type": "integer"
+ "recurrence": {
+ "description": "Recurrence filter applied: `hourly`, `daily`, `weekly`, `monthly` or `yearly`.",
+ "example": "daily",
+ "type": "string"
},
- "poster_url": {
- "description": "URL of the title's poster image.",
+ "sort": {
+ "description": "Sort order applied, for example `competitive`.",
+ "example": "competitive",
"type": "string"
},
- "title": {
- "description": "Name of the title, as Rotten Tomatoes shows it.",
- "example": "Oppenheimer",
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://gamma-api.polymarket.com/events/keyset?limit=20&order=competitive",
"type": "string"
},
- "url": {
- "description": "Rotten Tomatoes page URL of the title.",
- "example": "https://www.rottentomatoes.com/m/oppenheimer_2023",
+ "status": {
+ "description": "Prediction status filter applied: `active`, `resolved` or `all`.",
+ "example": "all",
"type": "string"
},
- "years_featured": {
- "description": "Year or years shown for the title in the filmography.",
- "example": "2023",
+ "tag": {
+ "description": "Polymarket tag slug the events were filtered by.",
+ "example": "politics",
"type": "string"
}
},
"type": "object"
},
- "rottentomatoes.PersonRatedTitle": {
+ "polymarket.PriceHistoryPoint": {
"properties": {
- "path": {
- "description": "Rotten Tomatoes path of the title page, such as `/m/the_dark_knight`.",
- "example": "/m/the_dark_knight",
- "type": "string"
+ "price": {
+ "example": 0.48,
+ "type": "number"
},
- "score": {
- "description": "Critics score of the title, as a percentage.",
- "example": 94,
+ "timestamp": {
+ "example": 1780826405,
"type": "integer"
- },
- "title": {
- "description": "Name of the title, as Rotten Tomatoes shows it.",
- "example": "The Dark Knight",
+ }
+ },
+ "type": "object"
+ },
+ "polymarket.ProfileMatch": {
+ "properties": {
+ "id": {
+ "description": "Polymarket profile id.",
+ "example": "123",
"type": "string"
},
- "url": {
- "description": "Rotten Tomatoes page URL of the title.",
- "example": "https://www.rottentomatoes.com/m/the_dark_knight",
+ "name": {
+ "description": "Display name of the profile.",
+ "example": "Trader",
"type": "string"
},
- "year": {
- "description": "Release year of the title.",
- "example": "2008",
+ "username": {
+ "description": "Username of the profile.",
+ "example": "trader",
"type": "string"
}
},
"type": "object"
},
- "rottentomatoes.PersonResponse": {
+ "polymarket.PublicDataResponse": {
"properties": {
- "birth_date": {
- "description": "Date of birth, such as `1970-07-30`.",
- "example": "1970-07-30",
- "type": "string"
+ "data": {
+ "description": "Content returned for the requested route, as Polymarket returns it.",
+ "type": "object"
},
- "birthplace": {
- "description": "Place of birth, such as `London, England, UK`.",
- "example": "London, England, UK",
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-06-07T11:00:00Z",
"type": "string"
},
- "description": {
- "description": "Biography text of the person.",
+ "route": {
+ "description": "Route key that was requested, for example `sports`.",
+ "example": "sports",
"type": "string"
},
- "ems_id": {
- "description": "Rotten Tomatoes' own unique id of the person.",
- "example": "a015d515-713e-38e3-abbe-cf0cdaa519b0",
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://gamma-api.polymarket.com/sports",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "polymarket.RewardsConfigSummary": {
+ "properties": {
+ "asset_address": {
+ "description": "Contract address of the token paid out as the reward.",
+ "example": "0xC011a7E12a19f7B1f670d46F03B03f3342E82DFB",
"type": "string"
},
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-06-07T14:46:16Z",
+ "end_date": {
+ "description": "Date the reward program ends, in YYYY-MM-DD.",
+ "example": "2500-12-31",
"type": "string"
},
- "filmography": {
- "description": "Titles the person has credits on, one entry per title.",
- "items": {
- "$ref": "#/definitions/rottentomatoes.PersonCredit"
- },
- "type": "array"
+ "id": {
+ "description": "Id of the reward program configuration.",
+ "example": 0,
+ "type": "integer"
},
- "filmography_api_url": {
- "description": "URL of the Rotten Tomatoes filmography list for this person.",
- "example": "https://www.rottentomatoes.com/cnapi/modules/filmography/a015d515-713e-38e3-abbe-cf0cdaa519b0/movie/newest",
- "type": "string"
+ "rate_per_day": {
+ "description": "Reward amount paid per day.",
+ "example": 10.00036,
+ "type": "number"
},
- "highest_rated": {
- "allOf": [
- {
- "$ref": "#/definitions/rottentomatoes.PersonRatedTitle"
- }
- ],
- "description": "Highest-rated title of the person, with its score."
+ "start_date": {
+ "description": "Date the reward program starts, in YYYY-MM-DD.",
+ "example": "2026-06-07",
+ "type": "string"
},
- "image_url": {
- "description": "URL of the person's photo.",
+ "total_rewards": {
+ "description": "Total reward amount configured for the program.",
+ "example": 0,
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "polymarket.RewardsMarketResponse": {
+ "properties": {
+ "condition_id": {
+ "description": "Condition id of the market that was requested.",
+ "example": "0x1a987cd4e88488fd12905fa9ae82cef381e03f4af68289275c4c0c2613db9327",
"type": "string"
},
- "lowest_rated": {
- "allOf": [
- {
- "$ref": "#/definitions/rottentomatoes.PersonRatedTitle"
- }
- ],
- "description": "Lowest-rated title of the person, with its score."
+ "count": {
+ "description": "Number of reward markets returned.",
+ "example": 1,
+ "type": "integer"
},
- "name": {
- "description": "Name of the person.",
- "example": "Christopher Nolan",
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-06-07T11:00:00Z",
"type": "string"
},
- "page_info": {
+ "market": {
"allOf": [
{
- "$ref": "#/definitions/rottentomatoes.ReviewPageInfo"
+ "$ref": "#/definitions/polymarket.RewardsMarketSummary"
}
],
- "description": "Paging information for the filmography."
- },
- "path": {
- "description": "Rotten Tomatoes path of the person page, such as `/celebrity/christopher_nolan`.",
- "example": "/celebrity/christopher_nolan",
- "type": "string"
- },
- "public_page_derived": {
- "description": "Always `true`: the data comes from publicly visible Rotten Tomatoes pages.",
- "example": true,
- "type": "boolean"
+ "description": "Rewards details of the market."
},
"source_url": {
"description": "URL the data was read from.",
- "example": "https://www.rottentomatoes.com/celebrity/christopher_nolan",
- "type": "string"
- },
- "url": {
- "description": "Rotten Tomatoes page URL of the person.",
- "example": "https://www.rottentomatoes.com/celebrity/christopher_nolan",
+ "example": "https://clob.polymarket.com/rewards/markets/0x1a987cd4e88488fd12905fa9ae82cef381e03f4af68289275c4c0c2613db9327?sponsored=true",
"type": "string"
}
},
"type": "object"
},
- "rottentomatoes.Review": {
+ "polymarket.RewardsMarketSummary": {
"properties": {
- "display_date": {
- "description": "Date the review was posted, as shown on the page, such as `Mar 19`.",
- "example": "Mar 19",
- "type": "string"
- },
- "display_name": {
- "description": "Display name of the reviewer.",
- "example": "Rylee",
+ "condition_id": {
+ "description": "Condition id that identifies the market on Polymarket.",
+ "example": "0x2d293b8d8141edcc3317f6e677a01623dc482e7fe8eb4c4e207c9a0987c37d22",
"type": "string"
},
- "fandango_review": {
- "description": "Whether Rotten Tomatoes flags the review as a Fandango review.",
- "example": true,
- "type": "boolean"
+ "daily_reward_rate": {
+ "description": "Daily reward rate offered for the market.",
+ "example": 10.00036,
+ "type": "number"
},
- "rating": {
- "description": "Star rating the reviewer gave, such as `5`.",
- "example": 5,
+ "earning_percentage": {
+ "description": "Earning percentage Polymarket shows for the market.",
+ "example": 0,
"type": "number"
},
- "rating_id": {
- "description": "Unique id of the rating.",
- "example": "e0812d98-c1d5-467d-ae35-c19cdd575f90",
+ "earnings": {
+ "description": "Reward earnings records for the market, as Polymarket returns them.",
+ "items": {
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "event_id": {
+ "description": "Polymarket id of the event the market belongs to.",
+ "example": "568951",
"type": "string"
},
- "rating_range": {
- "description": "Rating text as shown on the page, such as `Rated 5/5 Stars`.",
- "example": "Rated 5/5 Stars",
+ "event_slug": {
+ "description": "URL slug of the event the market belongs to.",
+ "example": "sc2-hero-cure-2026-06-07",
"type": "string"
},
- "review": {
- "description": "Text of the review.",
+ "event_url": {
+ "description": "Link to the event on polymarket.com.",
+ "example": "https://polymarket.com/event/sc2-hero-cure-2026-06-07",
"type": "string"
},
- "verified": {
- "description": "Whether the review is marked as verified.",
- "example": true,
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "rottentomatoes.ReviewMovieSummary": {
- "properties": {
- "ems_id": {
- "example": "afbf1c81-1bfe-3996-9cbc-2e1be23d1f61",
+ "image_url": {
+ "description": "URL of the market's image.",
"type": "string"
},
- "media_type": {
- "example": "Movie",
+ "maker_address": {
+ "description": "Maker address Polymarket reports for the market's rewards.",
+ "example": "0x0000000000000000000000000000000000000000",
"type": "string"
},
- "path": {
- "example": "/m/inception",
+ "market_competitiveness": {
+ "description": "Competitiveness score Polymarket shows for the market's rewards.",
+ "example": 2.83,
+ "type": "number"
+ },
+ "market_id": {
+ "description": "Polymarket market id.",
+ "example": "2461586",
"type": "string"
},
- "title": {
- "example": "Inception",
+ "market_slug": {
+ "description": "URL slug of the market.",
+ "example": "sc2-hero-cure-2026-06-07",
"type": "string"
},
- "url": {
- "example": "https://www.rottentomatoes.com/m/inception",
+ "market_url": {
+ "description": "Link to the market on polymarket.com.",
+ "example": "https://polymarket.com/event/sc2-hero-cure-2026-06-07/sc2-hero-cure-2026-06-07",
"type": "string"
- }
- },
- "type": "object"
- },
- "rottentomatoes.ReviewPageInfo": {
- "properties": {
- "end_cursor": {
- "description": "Cursor of the last item on this page. Pass it as `after` to get the next page.",
- "example": "Mjk=",
+ },
+ "question": {
+ "description": "Question the market asks.",
+ "example": "StarCraft II: herO vs Cure (BO7) - Global StarCraft II League Playoffs",
"type": "string"
},
- "has_next_page": {
- "description": "Whether more items follow this page.",
- "example": true,
- "type": "boolean"
+ "rewards_config": {
+ "description": "Reward programs configured for the market, one item per program.",
+ "items": {
+ "$ref": "#/definitions/polymarket.RewardsConfigSummary"
+ },
+ "type": "array"
},
- "has_previous_page": {
- "description": "Whether items precede this page.",
- "example": true,
- "type": "boolean"
+ "rewards_max_spread": {
+ "description": "Maximum spread an order can have and still qualify for rewards.",
+ "example": 4.5,
+ "type": "number"
},
- "start_cursor": {
- "description": "Cursor of the first item on this page.",
- "example": "MA==",
- "type": "string"
+ "rewards_min_size": {
+ "description": "Minimum order size that qualifies for rewards.",
+ "example": 50,
+ "type": "number"
+ },
+ "spread": {
+ "description": "Current spread of the market.",
+ "example": 0.01,
+ "type": "number"
+ },
+ "tokens": {
+ "description": "Outcome tokens of the market with their prices, one item per outcome.",
+ "items": {
+ "$ref": "#/definitions/polymarket.RewardsTokenSummary"
+ },
+ "type": "array"
+ },
+ "total_configured_rewards": {
+ "description": "Total rewards configured for the market.",
+ "example": 0,
+ "type": "number"
+ },
+ "volume_24h": {
+ "description": "Trading volume of the market over the last 24 hours.",
+ "example": 79.9901,
+ "type": "number"
}
},
"type": "object"
},
- "rottentomatoes.ReviewsResponse": {
+ "polymarket.RewardsMarketsResponse": {
"properties": {
- "fetched_at": {
- "description": "UTC time, to the second, when the Rotten Tomatoes page behind this response was fetched. A cached response keeps its original time.",
- "example": "2026-06-07T14:46:16Z",
- "type": "string"
- },
- "limit": {
- "example": 10,
+ "count": {
+ "description": "Number of reward markets returned on this page.",
+ "example": 100,
"type": "integer"
},
- "movie": {
- "$ref": "#/definitions/rottentomatoes.ReviewMovieSummary"
+ "cursor": {
+ "description": "Cursor that was used to fetch this page.",
+ "example": "MA==",
+ "type": "string"
},
- "page_info": {
- "$ref": "#/definitions/rottentomatoes.ReviewPageInfo"
+ "date": {
+ "description": "Reward program date the markets apply to, in YYYY-MM-DD.",
+ "example": "2026-06-07",
+ "type": "string"
},
- "public_page_derived": {
- "example": true,
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-06-07T11:00:00Z",
+ "type": "string"
+ },
+ "has_more": {
+ "description": "`true` when more reward markets are available after this page.",
"type": "boolean"
},
- "reviews": {
+ "limit": {
+ "description": "Maximum number of rows requested.",
+ "example": 100,
+ "type": "integer"
+ },
+ "markets": {
+ "description": "Reward markets on this page, one item per market.",
"items": {
- "$ref": "#/definitions/rottentomatoes.MovieReview"
+ "$ref": "#/definitions/polymarket.RewardsMarketSummary"
},
"type": "array"
},
- "reviews_api_url": {
- "example": "https://www.rottentomatoes.com/napi/rtcf/v1/movies/afbf1c81-1bfe-3996-9cbc-2e1be23d1f61/reviews?type=critic&pageCount=10",
+ "next_cursor": {
+ "description": "Cursor to pass to fetch the next page.",
+ "example": "MTAw",
+ "type": "string"
+ },
+ "order_by": {
+ "description": "Field the markets are sorted by, for example `market`.",
+ "example": "market",
+ "type": "string"
+ },
+ "position": {
+ "description": "Sort direction applied: `asc` or `desc`.",
+ "example": "desc",
+ "type": "string"
+ },
+ "q": {
+ "description": "Market question search text that was applied.",
+ "example": "bitcoin",
"type": "string"
},
"source_url": {
- "example": "https://www.rottentomatoes.com/m/inception/reviews",
+ "description": "URL the data was read from.",
+ "example": "https://polymarket.com/api/rewards/markets?orderBy=market",
"type": "string"
},
- "type": {
- "example": "critics",
+ "tag_slug": {
+ "description": "Rewards category the markets were filtered by, for example `all` or `politics`.",
+ "example": "all",
"type": "string"
+ },
+ "total_count": {
+ "description": "Total number of reward markets matching the filters.",
+ "example": 5430,
+ "type": "integer"
}
},
"type": "object"
},
- "rottentomatoes.Score": {
+ "polymarket.RewardsTokenSummary": {
"properties": {
- "average_rating": {
- "description": "Average rating as shown on the scorecard, such as `8.40`.",
- "example": "8.40",
+ "outcome": {
+ "description": "Name of the outcome the token represents.",
+ "example": "herO",
"type": "string"
},
- "banded_rating_count": {
- "description": "Approximate number of ratings as shown on the page, such as `250,000+ Ratings`.",
- "example": "250,000+ Ratings",
- "type": "string"
+ "price": {
+ "description": "Current price of the outcome token.",
+ "example": 0.995,
+ "type": "number"
},
- "certified": {
- "description": "Whether Rotten Tomatoes marks the score as certified.",
- "example": true,
+ "token_id": {
+ "description": "Token id of the outcome.",
+ "example": "49033998602764986470838384384660931821099068366428064235699748485619139146655",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "polymarket.SearchResponse": {
+ "properties": {
+ "ascending": {
+ "description": "`true` when results are sorted in ascending order.",
"type": "boolean"
},
- "liked_count": {
- "description": "Number of ratings that liked the title.",
- "example": 314,
- "type": "integer"
+ "events": {
+ "description": "Events matching the search query, one item per event.",
+ "items": {
+ "$ref": "#/definitions/polymarket.EventSummary"
+ },
+ "type": "array"
},
- "not_liked_count": {
- "description": "Number of ratings that did not like the title.",
- "example": 49,
- "type": "integer"
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-06-07T11:00:00Z",
+ "type": "string"
},
- "rating_count": {
- "description": "Number of ratings behind the score.",
- "example": 363,
- "type": "integer"
+ "has_more": {
+ "description": "`true` when more matching results exist beyond this page.",
+ "type": "boolean"
},
- "review_count": {
- "description": "Number of reviews behind the score.",
- "example": 363,
+ "limit": {
+ "description": "Maximum number of events requested.",
+ "example": 10,
"type": "integer"
},
- "reviews_page_url": {
- "description": "URL of the Rotten Tomatoes page that lists the reviews behind this score.",
- "example": "https://www.rottentomatoes.com/m/inception/reviews",
- "type": "string"
- },
- "score": {
- "description": "Score as a whole-number percentage.",
- "example": 87,
- "type": "integer"
+ "profiles": {
+ "description": "Polymarket profiles matching the query, one item per profile.",
+ "items": {
+ "$ref": "#/definitions/polymarket.ProfileMatch"
+ },
+ "type": "array"
},
- "score_percent": {
- "description": "Score as text with a percent sign, such as `87%`.",
- "example": "87%",
+ "query": {
+ "description": "Search text that was run.",
+ "example": "bitcoin",
"type": "string"
},
- "score_type": {
- "description": "Audience group the score covers, such as `ALL` or `VERIFIED`.",
- "example": "ALL",
+ "sort": {
+ "description": "Sort order applied to the results, for example `relevance`.",
+ "example": "relevance",
"type": "string"
},
- "sentiment": {
- "description": "Overall sentiment of the score, such as `POSITIVE`.",
- "example": "POSITIVE",
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://gamma-api.polymarket.com/public-search?q=bitcoin&limit_per_type=10",
"type": "string"
},
- "title": {
- "description": "Name of the score, such as `Tomatometer` or `Popcornmeter`.",
- "example": "Tomatometer",
+ "status": {
+ "description": "Event status filter applied: `open`, `closed` or `all`.",
+ "example": "open",
"type": "string"
+ },
+ "tags": {
+ "description": "Tags matching the query, one item per tag.",
+ "items": {
+ "$ref": "#/definitions/polymarket.TagSummary"
+ },
+ "type": "array"
+ },
+ "total_results": {
+ "description": "Total number of events matching the query.",
+ "example": 123,
+ "type": "integer"
}
},
"type": "object"
},
- "rottentomatoes.SearchMovie": {
+ "polymarket.SimilarEventsResponse": {
"properties": {
- "cast": {
- "description": "Names of the leading cast, separated by commas.",
- "example": "Leonardo DiCaprio,Joseph Gordon-Levitt,Elliot Page",
- "type": "string"
- },
- "certified_fresh": {
- "description": "Whether the title is Certified Fresh.",
- "example": true,
- "type": "boolean"
+ "events": {
+ "items": {
+ "$ref": "#/definitions/polymarket.EventSummary"
+ },
+ "type": "array"
},
- "end_year": {
- "description": "Last year of the title's run, as shown on the search row.",
+ "fetched_at": {
+ "example": "2026-06-07T11:00:00Z",
"type": "string"
},
- "image_url": {
- "description": "URL of the poster image.",
- "type": "string"
+ "limit": {
+ "example": 10,
+ "type": "integer"
},
- "path": {
- "description": "Rotten Tomatoes path of the title page, such as `/m/inception`.",
- "example": "/m/inception",
+ "source_url": {
+ "example": "https://gamma-api.polymarket.com/events/similar?event_slug=world-cup-winner",
"type": "string"
- },
- "release_year": {
- "description": "Release year of the title, such as `2010`.",
- "example": "2010",
+ }
+ },
+ "type": "object"
+ },
+ "polymarket.TagResponse": {
+ "properties": {
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-06-07T11:00:00Z",
"type": "string"
},
- "start_year": {
- "description": "First year of the title's run, as shown on the search row.",
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://gamma-api.polymarket.com/tags/slug/crypto",
"type": "string"
},
- "title": {
- "description": "Title name as shown on the search row.",
- "example": "Inception",
+ "tag": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/polymarket.TagSummary"
+ }
+ ],
+ "description": "Tag that was requested."
+ }
+ },
+ "type": "object"
+ },
+ "polymarket.TagSummary": {
+ "properties": {
+ "id": {
+ "description": "Polymarket tag id.",
+ "example": "21",
"type": "string"
},
- "tomatometer_score": {
- "description": "Tomatometer critics score, as a percentage.",
- "example": 87,
- "type": "integer"
- },
- "tomatometer_sentiment": {
- "description": "Tomatometer sentiment, such as `POSITIVE`.",
- "example": "POSITIVE",
+ "label": {
+ "description": "Display name of the tag, for example `Crypto`.",
+ "example": "Crypto",
"type": "string"
},
- "url": {
- "description": "Rotten Tomatoes page URL of the title.",
- "example": "https://www.rottentomatoes.com/m/inception",
+ "slug": {
+ "description": "URL slug of the tag, for example `crypto`.",
+ "example": "crypto",
"type": "string"
}
},
"type": "object"
},
- "rottentomatoes.SearchResponse": {
+ "polymarket.TagsResponse": {
"properties": {
"fetched_at": {
"description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-06-07T14:46:16Z",
+ "example": "2026-06-07T11:00:00Z",
"type": "string"
},
"limit": {
- "description": "Maximum number of results requested.",
- "example": 10,
+ "description": "Maximum number of tags requested.",
+ "example": 25,
"type": "integer"
},
- "query": {
- "description": "Query that was run.",
- "example": "inception",
+ "offset": {
+ "description": "Number of tags skipped before this page.",
+ "example": 0,
+ "type": "integer"
+ },
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://gamma-api.polymarket.com/tags?limit=25",
"type": "string"
},
- "results": {
- "description": "Titles matching the query.",
+ "tags": {
+ "description": "Tags on this page, one item per tag.",
"items": {
- "$ref": "#/definitions/rottentomatoes.SearchMovie"
+ "$ref": "#/definitions/polymarket.TagSummary"
},
"type": "array"
- },
- "source_url": {
- "description": "URL the data was read from.",
- "example": "https://www.rottentomatoes.com/search?search=inception",
- "type": "string"
}
},
"type": "object"
},
- "rottentomatoes.SeasonEpisode": {
+ "polymarket.TokenMidpointResponse": {
"properties": {
- "air_date": {
- "description": "Date the episode first aired, such as `2008-01-20`.",
- "example": "2008-01-20",
- "type": "string"
- },
- "description": {
- "description": "Short synopsis of the episode.",
- "type": "string"
- },
- "episode_number": {
- "description": "Episode number within the season.",
- "example": "1",
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-06-07T11:00:00Z",
"type": "string"
},
- "path": {
- "description": "Rotten Tomatoes path of the episode page, such as `/tv/breaking_bad/s01/e01`.",
- "example": "/tv/breaking_bad/s01/e01",
- "type": "string"
+ "midpoint": {
+ "description": "Midpoint between the best bid and best ask for the token.",
+ "example": 0.285,
+ "type": "number"
},
- "title": {
- "description": "Title of the episode, as Rotten Tomatoes shows it.",
- "example": "Pilot",
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://clob.polymarket.com/midpoint?token_id=81927025054404355287140018940169293739219157042658469116956164881873598220211",
"type": "string"
},
- "url": {
- "description": "Rotten Tomatoes page URL of the episode.",
- "example": "https://www.rottentomatoes.com/tv/breaking_bad/s01/e01",
+ "token_id": {
+ "description": "Token id of the outcome that was requested.",
+ "example": "81927025054404355287140018940169293739219157042658469116956164881873598220211",
"type": "string"
}
},
"type": "object"
},
- "rottentomatoes.SeasonResponse": {
+ "polymarket.TokenOrderBookResponse": {
"properties": {
- "audience_score": {
+ "book": {
"allOf": [
{
- "$ref": "#/definitions/rottentomatoes.Score"
+ "$ref": "#/definitions/polymarket.OrderBookSummary"
}
],
- "description": "Popcornmeter audience score of the season."
- },
- "cast": {
- "description": "People in the cast of the season.",
- "items": {
- "$ref": "#/definitions/rottentomatoes.Person"
- },
- "type": "array"
+ "description": "Order book for the token with its bids and asks."
},
- "critics_score": {
- "allOf": [
- {
- "$ref": "#/definitions/rottentomatoes.Score"
- }
- ],
- "description": "Tomatometer critics score of the season."
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-06-07T11:00:00Z",
+ "type": "string"
},
- "description": {
- "description": "Short synopsis of the season.",
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://clob.polymarket.com/book?token_id=81927025054404355287140018940169293739219157042658469116956164881873598220211",
"type": "string"
},
- "directors": {
- "description": "Directors of the season.",
- "items": {
- "$ref": "#/definitions/rottentomatoes.Person"
- },
- "type": "array"
+ "token_id": {
+ "description": "Token id of the outcome that was requested.",
+ "example": "81927025054404355287140018940169293739219157042658469116956164881873598220211",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "polymarket.TokenPriceHistoryResponse": {
+ "properties": {
+ "end_ts": {
+ "example": 1780840800,
+ "type": "integer"
},
- "ems_id": {
- "description": "Rotten Tomatoes' own unique id of the season.",
- "example": "71374db9-1350-30fa-b30a-d3f623bbdfc4",
+ "fetched_at": {
+ "example": "2026-06-07T11:00:00Z",
"type": "string"
},
- "episode_count": {
- "description": "Number of episodes in the season.",
- "example": 7,
+ "fidelity": {
+ "example": 60,
"type": "integer"
},
- "episodes": {
- "description": "Episodes of the season.",
- "items": {
- "$ref": "#/definitions/rottentomatoes.SeasonEpisode"
- },
- "type": "array"
- },
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-06-07T14:46:16Z",
+ "interval": {
+ "example": "1d",
"type": "string"
},
- "genres": {
- "description": "Genres of the season.",
- "example": [
- "Crime"
- ],
+ "points": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/polymarket.PriceHistoryPoint"
},
"type": "array"
},
- "image_url": {
- "description": "URL of the season image.",
+ "source_url": {
+ "example": "https://clob.polymarket.com/prices-history?fidelity=60&interval=1d&market=81927025054404355287140018940169293739219157042658469116956164881873598220211",
"type": "string"
},
- "lifecycle": {
- "description": "Airing status, such as `NOT_AIRING`.",
- "example": "NOT_AIRING",
- "type": "string"
+ "start_ts": {
+ "example": 1780754400,
+ "type": "integer"
},
- "media_type": {
- "description": "Kind of title, such as `TvSeason`.",
- "example": "TvSeason",
+ "token_id": {
+ "example": "81927025054404355287140018940169293739219157042658469116956164881873598220211",
"type": "string"
- },
- "parent_series": {
- "allOf": [
- {
- "$ref": "#/definitions/rottentomatoes.SeriesSummary"
- }
- ],
- "description": "Series the season belongs to."
- },
- "path": {
- "description": "Rotten Tomatoes path of the season page, such as `/tv/breaking_bad/s01`.",
- "example": "/tv/breaking_bad/s01",
+ }
+ },
+ "type": "object"
+ },
+ "polymarket.TokenPriceResponse": {
+ "properties": {
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-06-07T11:00:00Z",
"type": "string"
},
- "producers": {
- "description": "Producers of the season.",
- "items": {
- "$ref": "#/definitions/rottentomatoes.Person"
- },
- "type": "array"
- },
- "public_page_derived": {
- "description": "Always `true`: the data comes from publicly visible Rotten Tomatoes pages.",
- "example": true,
- "type": "boolean"
+ "price": {
+ "description": "Price quoted for the requested side.",
+ "example": 0.03,
+ "type": "number"
},
- "release_date": {
- "description": "Date the season premiered, such as `2008-01-20`.",
- "example": "2008-01-20",
+ "side": {
+ "description": "Order side the price applies to: `buy` or `sell`.",
+ "example": "buy",
"type": "string"
},
- "season_number": {
- "description": "Number of the season within the series.",
- "example": 1,
- "type": "integer"
- },
"source_url": {
"description": "URL the data was read from.",
- "example": "https://www.rottentomatoes.com/tv/breaking_bad/s01",
- "type": "string"
- },
- "title": {
- "description": "Season title, such as `Season 1`.",
- "example": "Season 1",
+ "example": "https://clob.polymarket.com/price?side=buy&token_id=81927025054404355287140018940169293739219157042658469116956164881873598220211",
"type": "string"
},
- "url": {
- "description": "Rotten Tomatoes page URL of the season.",
- "example": "https://www.rottentomatoes.com/tv/breaking_bad/s01",
+ "token_id": {
+ "description": "Token id of the outcome that was requested.",
+ "example": "81927025054404355287140018940169293739219157042658469116956164881873598220211",
"type": "string"
}
},
"type": "object"
},
- "rottentomatoes.SeasonSummary": {
+ "polymarket.TokenSpreadResponse": {
"properties": {
- "ems_id": {
- "description": "Rotten Tomatoes' own unique id of the season.",
- "example": "71374db9-1350-30fa-b30a-d3f623bbdfc4",
+ "fetched_at": {
+ "example": "2026-06-07T11:00:00Z",
"type": "string"
},
- "path": {
- "description": "Rotten Tomatoes path of the season page, such as `/tv/breaking_bad/s01`.",
- "example": "/tv/breaking_bad/s01",
+ "source_url": {
+ "example": "https://clob.polymarket.com/spread?token_id=81927025054404355287140018940169293739219157042658469116956164881873598220211",
"type": "string"
},
- "season_number": {
- "description": "Number of the season within the series.",
- "example": 1,
- "type": "integer"
- },
- "title": {
- "description": "Season title, such as `Season 1`.",
- "example": "Season 1",
- "type": "string"
+ "spread": {
+ "example": 0.51,
+ "type": "number"
},
- "url": {
- "description": "Rotten Tomatoes page URL of the season.",
- "example": "https://www.rottentomatoes.com/tv/breaking_bad/s01",
+ "token_id": {
+ "example": "81927025054404355287140018940169293739219157042658469116956164881873598220211",
"type": "string"
}
},
"type": "object"
},
- "rottentomatoes.SeriesResponse": {
+ "polymarket.TradeSummary": {
"properties": {
- "audience_score": {
- "allOf": [
- {
- "$ref": "#/definitions/rottentomatoes.Score"
- }
- ],
- "description": "Popcornmeter audience score of the series."
- },
- "cast": {
- "description": "People in the cast of the series.",
- "items": {
- "$ref": "#/definitions/rottentomatoes.Person"
- },
- "type": "array"
- },
- "content_rating": {
- "description": "Content rating of the series, such as `TV-14`.",
- "example": "TV-14",
+ "asset": {
+ "description": "Token id of the outcome that was traded.",
+ "example": "90219780179584544303349592653084019110196125806694819219181473744581426681835",
"type": "string"
},
- "critics_score": {
- "allOf": [
- {
- "$ref": "#/definitions/rottentomatoes.Score"
- }
- ],
- "description": "Tomatometer critics score of the series."
+ "bio": {
+ "description": "Biography text from the trader's Polymarket profile.",
+ "type": "string"
},
- "description": {
- "description": "Short synopsis of the series.",
+ "condition_id": {
+ "description": "Condition id of the market the trade was made on.",
+ "example": "0x3f2604d62ac3ee496ffd6d30156f30663fbaf22097f17f09d7364c35db255d2b",
"type": "string"
},
- "directors": {
- "description": "Directors of the series.",
- "items": {
- "$ref": "#/definitions/rottentomatoes.Person"
- },
- "type": "array"
+ "event_slug": {
+ "description": "URL slug of the event the trade belongs to.",
+ "example": "btc-updown-15m-1780835400",
+ "type": "string"
},
- "ems_id": {
- "description": "Rotten Tomatoes' own unique id of the series.",
- "example": "6a74def4-dc62-319e-ae3d-360dcf360244",
+ "icon_url": {
+ "description": "URL of the icon image for the traded market.",
"type": "string"
},
- "end_date": {
- "description": "Date the series ended, such as `2013-09-29`.",
- "example": "2013-09-29",
+ "name": {
+ "description": "Display name from the trader's Polymarket profile.",
+ "example": "trader",
"type": "string"
},
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-06-07T14:46:16Z",
+ "outcome": {
+ "description": "Name of the outcome that was traded, for example `Up`.",
+ "example": "Up",
"type": "string"
},
- "genres": {
- "description": "Genres of the series.",
- "example": [
- "Crime"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
+ "outcome_index": {
+ "description": "Position of the traded outcome within the market's outcomes, starting at 0.",
+ "example": 0,
+ "type": "integer"
},
- "image_url": {
- "description": "URL of the series image.",
- "type": "string"
+ "price": {
+ "description": "Price per share at which the trade was made.",
+ "example": 0.52744,
+ "type": "number"
},
- "lifecycle": {
- "description": "Airing status of the series, such as `NOT_AIRING`.",
- "example": "NOT_AIRING",
+ "profile_image_optimized": {
+ "description": "URL of an optimized version of the trader's profile image.",
"type": "string"
},
- "media_type": {
- "description": "Kind of title, such as `TvSeries`.",
- "example": "TvSeries",
+ "profile_image_url": {
+ "description": "URL of the trader's profile image.",
"type": "string"
},
- "number_of_seasons": {
- "description": "Number of seasons of the series.",
- "example": 5,
- "type": "integer"
- },
- "path": {
- "description": "Rotten Tomatoes path of the series page, such as `/tv/breaking_bad`.",
- "example": "/tv/breaking_bad",
+ "proxy_wallet": {
+ "description": "Wallet address of the trader's Polymarket account.",
+ "example": "0x400e9b5e37f7209adb6938d49d63c48f154319d2",
"type": "string"
},
- "producers": {
- "description": "Producers of the series.",
- "items": {
- "$ref": "#/definitions/rottentomatoes.Person"
- },
- "type": "array"
+ "pseudonym": {
+ "description": "Pseudonym Polymarket assigned to the trader.",
+ "example": "Noisy-Dimple",
+ "type": "string"
},
- "public_page_derived": {
- "description": "Always `true`: the data comes from publicly visible Rotten Tomatoes pages.",
- "example": true,
- "type": "boolean"
+ "side": {
+ "description": "Side of the trade: `BUY` or `SELL`.",
+ "example": "BUY",
+ "type": "string"
},
- "seasons": {
- "description": "Seasons of the series, each with a link to its page.",
- "items": {
- "$ref": "#/definitions/rottentomatoes.TVSeason"
- },
- "type": "array"
+ "size": {
+ "description": "Number of shares traded.",
+ "example": 25,
+ "type": "number"
},
- "source_url": {
- "description": "URL the data was read from.",
- "example": "https://www.rottentomatoes.com/tv/breaking_bad",
+ "slug": {
+ "description": "URL slug of the market the trade was made on.",
+ "example": "btc-updown-15m-1780835400",
"type": "string"
},
- "start_date": {
- "description": "Date the series first aired, such as `2008-01-20`.",
- "example": "2008-01-20",
- "type": "string"
+ "timestamp": {
+ "description": "Time the trade was made, in Unix seconds.",
+ "example": 1780835568,
+ "type": "integer"
},
"title": {
- "description": "Title of the series, as Rotten Tomatoes shows it.",
- "example": "Breaking Bad",
+ "description": "Title of the market the trade was made on.",
+ "example": "Bitcoin Up or Down - June 7, 8:30AM-8:45AM ET",
+ "type": "string"
+ },
+ "transaction_hash": {
+ "description": "Hash of the transaction that settled the trade.",
+ "example": "0x7ef90efb7e9f921509d8e82ecc76ed3d8384a3740d7ebd81d3bbbfd017899245",
"type": "string"
},
"url": {
- "description": "Rotten Tomatoes page URL of the series.",
- "example": "https://www.rottentomatoes.com/tv/breaking_bad",
+ "description": "Link to the traded event on polymarket.com.",
+ "example": "https://polymarket.com/event/btc-updown-15m-1780835400",
"type": "string"
+ },
+ "value": {
+ "description": "Value of the trade, equal to `size` multiplied by `price`.",
+ "example": 13.186,
+ "type": "number"
}
},
"type": "object"
},
- "rottentomatoes.SeriesSummary": {
+ "polymarket.activityTradesResponseDoc": {
"properties": {
- "ems_id": {
- "description": "Rotten Tomatoes' own unique id of the series.",
- "example": "6a74def4-dc62-319e-ae3d-360dcf360244",
- "type": "string"
- },
- "path": {
- "description": "Rotten Tomatoes path of the series page, such as `/tv/breaking_bad`.",
- "example": "/tv/breaking_bad",
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "title": {
- "description": "Title of the series, as Rotten Tomatoes shows it.",
- "example": "Breaking Bad",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/polymarket.ActivityTradesResponse"
},
- "url": {
- "description": "Rotten Tomatoes page URL of the series.",
- "example": "https://www.rottentomatoes.com/tv/breaking_bad",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "rottentomatoes.Sitemap": {
+ "polymarket.batchTokenMidpointsResponseDoc": {
"properties": {
- "family": {
- "example": "movie",
- "type": "string"
- },
- "index": {
- "example": 0,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "last_modified": {
- "example": "2025-11-12",
- "type": "string"
- },
- "name": {
- "example": "movie_0",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/polymarket.BatchTokenMidpointsResponse"
},
- "url": {
- "example": "https://www.rottentomatoes.com/sitemaps/movie_0.xml",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "rottentomatoes.SitemapIndexResponse": {
+ "polymarket.batchTokenOrderBooksResponseDoc": {
"properties": {
- "fetched_at": {
- "example": "2026-09-26T10:00:00Z",
- "type": "string"
- },
- "public_page_derived": {
- "example": true,
- "type": "boolean"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "sitemaps": {
- "items": {
- "$ref": "#/definitions/rottentomatoes.Sitemap"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/polymarket.BatchTokenOrderBooksResponse"
},
- "source_url": {
- "example": "https://www.rottentomatoes.com/sitemaps/sitemap.xml",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "rottentomatoes.SitemapURL": {
+ "polymarket.batchTokenPricesResponseDoc": {
"properties": {
- "last_modified": {
- "example": "2025-11-12",
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "url": {
- "example": "https://www.rottentomatoes.com/m/inception",
+ "data": {
+ "$ref": "#/definitions/polymarket.BatchTokenPricesResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "rottentomatoes.SitemapURLResponse": {
+ "polymarket.batchTokenSpreadsResponseDoc": {
"properties": {
- "fetched_at": {
- "example": "2026-09-26T10:00:00Z",
- "type": "string"
- },
- "has_more": {
- "example": true,
- "type": "boolean"
- },
- "limit": {
- "example": 100,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "name": {
- "example": "movie_0",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/polymarket.BatchTokenSpreadsResponse"
},
- "offset": {
- "example": 0,
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "polymarket.clobMarketResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "public_page_derived": {
- "example": true,
- "type": "boolean"
+ "data": {
+ "$ref": "#/definitions/polymarket.ClobMarketResponse"
},
- "source_url": {
- "example": "https://www.rottentomatoes.com/sitemaps/movie_0.xml",
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "total": {
- "example": 16750,
- "type": "integer"
- },
- "urls": {
- "items": {
- "$ref": "#/definitions/rottentomatoes.SitemapURL"
- },
- "type": "array"
}
},
"type": "object"
},
- "rottentomatoes.TVSeason": {
+ "polymarket.eventDetailResponseDoc": {
"properties": {
- "name": {
- "description": "Season name, such as `Season 1`.",
- "example": "Season 1",
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "path": {
- "description": "Rotten Tomatoes path of the season page, such as `/tv/breaking_bad/s01`.",
- "example": "/tv/breaking_bad/s01",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/polymarket.EventDetailResponse"
},
- "url": {
- "description": "Rotten Tomatoes page URL of the season.",
- "example": "https://www.rottentomatoes.com/tv/breaking_bad/s01",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "rottentomatoes.browseFiltersResponseDoc": {
+ "polymarket.eventsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/rottentomatoes.BrowseFiltersResponse"
+ "$ref": "#/definitions/polymarket.EventsResponse"
},
"msg": {
"example": "OK",
@@ -184437,14 +193052,14 @@
},
"type": "object"
},
- "rottentomatoes.browseResponseDoc": {
+ "polymarket.homepageFeedResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/rottentomatoes.BrowseResponse"
+ "$ref": "#/definitions/polymarket.HomepageFeedResponse"
},
"msg": {
"example": "OK",
@@ -184453,14 +193068,14 @@
},
"type": "object"
},
- "rottentomatoes.criticsAuthorsResponseDoc": {
+ "polymarket.leaderboardResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/rottentomatoes.CriticsAuthorsResponse"
+ "$ref": "#/definitions/polymarket.LeaderboardResponse"
},
"msg": {
"example": "OK",
@@ -184469,14 +193084,14 @@
},
"type": "object"
},
- "rottentomatoes.editorialContentResponseDoc": {
+ "polymarket.macroDashboardResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/rottentomatoes.EditorialContentResponse"
+ "$ref": "#/definitions/polymarket.MacroDashboardResponse"
},
"msg": {
"example": "OK",
@@ -184485,14 +193100,14 @@
},
"type": "object"
},
- "rottentomatoes.editorialContentTypesResponseDoc": {
+ "polymarket.marketDetailResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/rottentomatoes.EditorialContentTypesResponse"
+ "$ref": "#/definitions/polymarket.MarketDetailResponse"
},
"msg": {
"example": "OK",
@@ -184501,14 +193116,14 @@
},
"type": "object"
},
- "rottentomatoes.editorialDetailResponseDoc": {
+ "polymarket.marketLiquidityResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/rottentomatoes.EditorialDetailResponse"
+ "$ref": "#/definitions/polymarket.MarketLiquidityResponse"
},
"msg": {
"example": "OK",
@@ -184517,14 +193132,14 @@
},
"type": "object"
},
- "rottentomatoes.editorialSearchResponseDoc": {
+ "polymarket.marketsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/rottentomatoes.EditorialSearchResponse"
+ "$ref": "#/definitions/polymarket.MarketsResponse"
},
"msg": {
"example": "OK",
@@ -184533,14 +193148,14 @@
},
"type": "object"
},
- "rottentomatoes.editorialSectionResponseDoc": {
+ "polymarket.predictionsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/rottentomatoes.EditorialSectionResponse"
+ "$ref": "#/definitions/polymarket.PredictionsResponse"
},
"msg": {
"example": "OK",
@@ -184549,14 +193164,14 @@
},
"type": "object"
},
- "rottentomatoes.editorialTaxonomiesResponseDoc": {
+ "polymarket.publicDataResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/rottentomatoes.EditorialTaxonomiesResponse"
+ "$ref": "#/definitions/polymarket.PublicDataResponse"
},
"msg": {
"example": "OK",
@@ -184565,14 +193180,14 @@
},
"type": "object"
},
- "rottentomatoes.editorialTermsResponseDoc": {
+ "polymarket.rewardsMarketResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/rottentomatoes.EditorialTermsResponse"
+ "$ref": "#/definitions/polymarket.RewardsMarketResponse"
},
"msg": {
"example": "OK",
@@ -184581,14 +193196,14 @@
},
"type": "object"
},
- "rottentomatoes.episodeResponseDoc": {
+ "polymarket.rewardsMarketsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/rottentomatoes.EpisodeResponse"
+ "$ref": "#/definitions/polymarket.RewardsMarketsResponse"
},
"msg": {
"example": "OK",
@@ -184597,14 +193212,14 @@
},
"type": "object"
},
- "rottentomatoes.movieResponseDoc": {
+ "polymarket.searchResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/rottentomatoes.MovieResponse"
+ "$ref": "#/definitions/polymarket.SearchResponse"
},
"msg": {
"example": "OK",
@@ -184613,14 +193228,14 @@
},
"type": "object"
},
- "rottentomatoes.personResponseDoc": {
+ "polymarket.similarEventsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/rottentomatoes.PersonResponse"
+ "$ref": "#/definitions/polymarket.SimilarEventsResponse"
},
"msg": {
"example": "OK",
@@ -184629,14 +193244,14 @@
},
"type": "object"
},
- "rottentomatoes.reviewsResponseDoc": {
+ "polymarket.tagResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/rottentomatoes.ReviewsResponse"
+ "$ref": "#/definitions/polymarket.TagResponse"
},
"msg": {
"example": "OK",
@@ -184645,14 +193260,14 @@
},
"type": "object"
},
- "rottentomatoes.searchResponseDoc": {
+ "polymarket.tagsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/rottentomatoes.SearchResponse"
+ "$ref": "#/definitions/polymarket.TagsResponse"
},
"msg": {
"example": "OK",
@@ -184661,14 +193276,14 @@
},
"type": "object"
},
- "rottentomatoes.seasonResponseDoc": {
+ "polymarket.tokenMidpointResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/rottentomatoes.SeasonResponse"
+ "$ref": "#/definitions/polymarket.TokenMidpointResponse"
},
"msg": {
"example": "OK",
@@ -184677,14 +193292,14 @@
},
"type": "object"
},
- "rottentomatoes.seriesResponseDoc": {
+ "polymarket.tokenOrderBookResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/rottentomatoes.SeriesResponse"
+ "$ref": "#/definitions/polymarket.TokenOrderBookResponse"
},
"msg": {
"example": "OK",
@@ -184693,14 +193308,14 @@
},
"type": "object"
},
- "rottentomatoes.sitemapIndexResponseDoc": {
+ "polymarket.tokenPriceHistoryResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/rottentomatoes.SitemapIndexResponse"
+ "$ref": "#/definitions/polymarket.TokenPriceHistoryResponse"
},
"msg": {
"example": "OK",
@@ -184709,14 +193324,14 @@
},
"type": "object"
},
- "rottentomatoes.sitemapURLResponseDoc": {
+ "polymarket.tokenPriceResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/rottentomatoes.SitemapURLResponse"
+ "$ref": "#/definitions/polymarket.TokenPriceResponse"
},
"msg": {
"example": "OK",
@@ -184725,854 +193340,710 @@
},
"type": "object"
},
- "rover.ProfileResponse": {
+ "polymarket.tokenSpreadResponseDoc": {
"properties": {
- "bio": {
- "type": "string"
- },
- "city": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "is_star_sitter": {
- "type": "boolean"
+ "data": {
+ "$ref": "#/definitions/polymarket.TokenSpreadResponse"
},
- "name": {
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "popeyes.Allergens": {
+ "properties": {
+ "celery": {
+ "type": "number"
},
- "neighborhood": {
- "type": "string"
+ "eggs": {
+ "type": "number"
},
- "price_unit": {
- "type": "string"
+ "fish": {
+ "type": "number"
},
- "profile_image": {
- "type": "string"
+ "gluten": {
+ "type": "number"
},
- "rating": {
+ "lupin": {
"type": "number"
},
- "repeat_client_count": {
- "type": "integer"
+ "milk": {
+ "type": "number"
},
- "review_count": {
- "type": "integer"
+ "mustard": {
+ "type": "number"
},
- "reviews": {
- "items": {
- "$ref": "#/definitions/rover.ReviewExcerpt"
- },
- "type": "array"
+ "peanuts": {
+ "type": "number"
},
- "services": {
- "items": {
- "$ref": "#/definitions/rover.ServiceOffering"
- },
- "type": "array"
+ "sesame": {
+ "type": "number"
},
- "slug": {
- "type": "string"
+ "shellfish": {
+ "type": "number"
},
- "starting_price": {
+ "soy": {
"type": "number"
},
- "state": {
- "type": "string"
+ "sulphur_dioxide": {
+ "type": "number"
},
- "url": {
- "type": "string"
+ "tree_nuts": {
+ "type": "number"
},
- "years_experience": {
- "type": "integer"
+ "wheat": {
+ "type": "number"
}
},
"type": "object"
},
- "rover.ReviewExcerpt": {
+ "popeyes.DayHours": {
"properties": {
- "date": {
- "type": "string"
- },
- "rating": {
- "type": "number"
- },
- "reviewer": {
+ "close": {
+ "example": "23:00:00",
"type": "string"
},
- "service_type": {
+ "day": {
+ "example": "monday",
"type": "string"
},
- "text": {
+ "open": {
+ "example": "07:00:00",
"type": "string"
}
},
"type": "object"
},
- "rover.SearchResponse": {
+ "popeyes.FAQEntry": {
"properties": {
- "location": {
+ "answer": {
+ "description": "Answer is the FAQ's own answer copy, plain-text extracted from\nPortable Text (links are dropped -- this is a display string, not a\nre-editable document).",
"type": "string"
},
- "page": {
- "type": "integer"
- },
- "page_count": {
- "type": "integer"
- },
- "per_page": {
- "type": "integer"
+ "id": {
+ "example": "032999c6-ba27-4f8e-b20e-a4cb28e3c37c",
+ "type": "string"
},
- "service_type": {
+ "question": {
+ "example": "How do I remove items from my cart?",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "popeyes.FAQResponse": {
+ "properties": {
+ "count": {
+ "example": 20,
+ "type": "integer"
},
- "sitters": {
+ "entries": {
"items": {
- "$ref": "#/definitions/rover.SitterSummary"
+ "$ref": "#/definitions/popeyes.FAQEntry"
},
"type": "array"
},
- "total_count": {
- "type": "integer"
+ "fetched_at": {
+ "type": "string"
+ },
+ "has_more": {
+ "description": "HasMore is a paging heuristic -- see OffersResponse.HasMore.",
+ "example": true,
+ "type": "boolean"
+ },
+ "source_url": {
+ "type": "string"
}
},
"type": "object"
},
- "rover.ServiceOffering": {
+ "popeyes.LocationResponse": {
"properties": {
- "name": {
+ "fetched_at": {
"type": "string"
},
- "price": {
- "type": "number"
+ "restaurant": {
+ "$ref": "#/definitions/popeyes.Restaurant"
},
- "unit": {
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "rover.SitterSummary": {
+ "popeyes.LocationsResponse": {
"properties": {
- "city": {
- "type": "string"
+ "count": {
+ "example": 20,
+ "type": "integer"
},
- "description": {
+ "fetched_at": {
"type": "string"
},
- "is_star_sitter": {
+ "has_more": {
+ "example": true,
"type": "boolean"
},
- "name": {
- "type": "string"
- },
- "neighborhood": {
- "type": "string"
- },
- "price_unit": {
- "type": "string"
- },
- "profile_image": {
- "type": "string"
+ "restaurants": {
+ "items": {
+ "$ref": "#/definitions/popeyes.Restaurant"
+ },
+ "type": "array"
},
- "profile_url": {
+ "source_url": {
"type": "string"
},
- "rating": {
- "type": "number"
- },
- "repeat_client_count": {
- "type": "integer"
- },
- "review_count": {
+ "total_count": {
+ "description": "TotalCount is how many restaurants matched upstream; it can exceed\nCount when more results exist than max_results asked for.",
+ "example": 236,
"type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "popeyes.MenuCategory": {
+ "properties": {
+ "featured": {
+ "type": "boolean"
},
- "service_type": {
- "type": "string"
- },
- "slug": {
- "type": "string"
- },
- "starting_price": {
- "type": "number"
- },
- "state": {
+ "id": {
"type": "string"
},
- "years_experience": {
- "type": "integer"
+ "items": {
+ "items": {
+ "$ref": "#/definitions/popeyes.MenuItem"
+ },
+ "type": "array"
},
- "zip": {
+ "name": {
+ "example": "Chicken Wraps",
"type": "string"
}
},
"type": "object"
},
- "rover.TrainerEducation": {
+ "popeyes.MenuItem": {
"properties": {
- "organization": {
+ "allergens": {
+ "$ref": "#/definitions/popeyes.Allergens"
+ },
+ "id": {
+ "example": "item_103182",
"type": "string"
},
- "text": {
+ "image_url": {
+ "type": "string"
+ },
+ "name": {
+ "example": "Cheese Bites",
+ "type": "string"
+ },
+ "nutrition": {
+ "$ref": "#/definitions/popeyes.Nutrition"
+ },
+ "price": {
+ "$ref": "#/definitions/popeyes.Price"
+ },
+ "type": {
+ "example": "ITEM",
"type": "string"
}
},
"type": "object"
},
- "rover.TrainerProfileResponse": {
+ "popeyes.MenuResponse": {
"properties": {
- "availability_details": {
- "type": "string"
- },
- "behaviors": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "education": {
+ "categories": {
"items": {
- "$ref": "#/definitions/rover.TrainerEducation"
+ "$ref": "#/definitions/popeyes.MenuCategory"
},
"type": "array"
},
- "experience_details": {
+ "currency": {
+ "example": "USD",
"type": "string"
},
- "headline": {
+ "fetched_at": {
"type": "string"
},
- "methodology": {
- "type": "string"
+ "item_count": {
+ "example": 120,
+ "type": "integer"
},
- "methodology_details": {
+ "source_url": {
"type": "string"
},
- "name": {
+ "store_id": {
+ "example": "14156",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "popeyes.Nutrition": {
+ "properties": {
+ "calories": {
+ "example": 560,
+ "type": "number"
},
- "profile_image": {
- "type": "string"
+ "carbohydrates_g": {
+ "example": 23,
+ "type": "number"
},
- "rating": {
+ "cholesterol_mg": {
+ "example": 75,
"type": "number"
},
- "repeat_client_count": {
- "type": "integer"
+ "fat_g": {
+ "example": 44,
+ "type": "number"
},
- "review_count": {
- "type": "integer"
+ "fiber_g": {
+ "example": 2,
+ "type": "number"
},
- "skills": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "proteins_g": {
+ "example": 17,
+ "type": "number"
},
- "slug": {
- "type": "string"
+ "saturated_fat_g": {
+ "type": "number"
},
- "url": {
- "type": "string"
+ "serving_weight_g": {
+ "type": "number"
},
- "years_of_training": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "rover.TrainerSearchResponse": {
- "properties": {
- "location": {
- "type": "string"
+ "sodium_mg": {
+ "example": 1470,
+ "type": "number"
},
- "trainers": {
- "items": {
- "$ref": "#/definitions/rover.TrainerSummary"
- },
- "type": "array"
+ "sugar_g": {
+ "example": 2,
+ "type": "number"
+ },
+ "trans_fat_g": {
+ "example": 1,
+ "type": "number"
}
},
"type": "object"
},
- "rover.TrainerSummary": {
+ "popeyes.Offer": {
"properties": {
- "behaviors": {
+ "daypart": {
+ "description": "Daypart restricts the offer to specific times of day (e.g.\n[\"allDay\"]), when Popeyes publishes a restriction.",
"items": {
"type": "string"
},
"type": "array"
},
- "city": {
- "type": "string"
- },
- "experience_details": {
+ "description": {
+ "description": "Description is the offer's own short copy (e.g. what's included),\nwhen Popeyes publishes one.",
+ "example": "3 Piece Chicken",
"type": "string"
},
- "headline": {
+ "id": {
+ "example": "00a369e5-1b33-4d35-b153-e372e3ebf17f",
"type": "string"
},
- "methodology": {
- "type": "string"
+ "mobile_order_only": {
+ "description": "MobileOrderOnly is true when the offer is only redeemable through\nPopeyes' own mobile ordering flow.",
+ "type": "boolean"
},
"name": {
+ "example": "3Pc Signature Chicken for $5",
"type": "string"
},
- "price_unit": {
- "type": "string"
- },
- "profile_image": {
- "type": "string"
- },
- "profile_url": {
+ "offer_tag": {
+ "description": "OfferTag is Popeyes' own short badge for the offer's kind (e.g.\nVALUE_DEAL, PERCENTAGE_OFF), when published.",
+ "example": "VALUE_DEAL",
"type": "string"
},
- "rating": {
+ "price": {
+ "example": 5,
"type": "number"
},
- "repeat_client_count": {
- "type": "integer"
- },
- "review_count": {
+ "price_cents": {
+ "description": "PriceCents/Price are the offer's flat price when it has one (e.g. \"3Pc\nSignature Chicken for $5\" prices at 500 cents). A value of 0 does not\nmean free -- it means the offer's discount is not expressed as a flat\nprice (see OfferTag/Name instead, e.g. a percentage-off or BOGO deal).",
+ "example": 500,
"type": "integer"
},
- "skills": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "slug": {
+ "redemption_type": {
+ "description": "RedemptionType is how the offer is redeemed -- observed live values\ninclude STANDARD (in-app/online) and PAPER_COUPON.",
+ "example": "STANDARD",
"type": "string"
},
- "starting_price": {
- "type": "number"
+ "requires_authentication": {
+ "description": "RequiresAuthentication is true when the offer's own published rules\nmark it as needing a signed-in Popeyes Rewards account to redeem --\nderived from the offer's rules, not assumed. This build does not\ncall any account/loyalty-scoped API; it only reports what the\noffer's own public CMS record says about itself.",
+ "type": "boolean"
},
- "state": {
+ "section": {
+ "description": "Section is the offer catalog's own grouping (e.g. \"For Two\"), when\nPopeyes assigns one -- most offers do not have one.",
+ "example": "For Two",
"type": "string"
},
- "years_experience": {
- "type": "integer"
- },
- "zip": {
+ "short_code": {
+ "description": "ShortCode is the offer's own promo/redemption code, when published.",
+ "example": "8438",
"type": "string"
}
},
"type": "object"
},
- "rover.profileResponseDoc": {
+ "popeyes.OffersResponse": {
"properties": {
- "code": {
- "example": 200,
+ "count": {
+ "example": 20,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/rover.ProfileResponse"
- },
- "msg": {
- "example": "OK",
+ "fetched_at": {
"type": "string"
- }
- },
- "type": "object"
- },
- "rover.searchResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/rover.SearchResponse"
+ "has_more": {
+ "description": "HasMore is true when this page returned as many offers as Limit\nasked for, meaning more may exist at the next Offset. Sanity's\nGraphQL API for this dataset does not publish a total count for\nallSystemwideOffers, so this is a paging heuristic, not an exact\ntotal.",
+ "example": true,
+ "type": "boolean"
},
- "msg": {
- "example": "OK",
+ "offers": {
+ "items": {
+ "$ref": "#/definitions/popeyes.Offer"
+ },
+ "type": "array"
+ },
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "rover.trainerProfileResponseDoc": {
+ "popeyes.Price": {
"properties": {
- "code": {
- "example": 200,
+ "default": {
+ "example": 3.99,
+ "type": "number"
+ },
+ "default_cents": {
+ "example": 399,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/rover.TrainerProfileResponse"
+ "max": {
+ "type": "number"
},
- "msg": {
- "example": "OK",
- "type": "string"
- }
- },
- "type": "object"
- },
- "rover.trainerSearchResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ "max_cents": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/rover.TrainerSearchResponse"
+ "min": {
+ "type": "number"
},
- "msg": {
- "example": "OK",
- "type": "string"
+ "min_cents": {
+ "type": "integer"
}
},
"type": "object"
},
- "rte.AuthorResponse": {
+ "popeyes.Promotion": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/newsplatform.HeadlineItem"
- },
- "type": "array"
+ "bonus_points": {
+ "description": "BonusPoints is set for a flat bonus-points promotion.",
+ "example": 300,
+ "type": "integer"
},
- "image_url": {
+ "end_date": {
+ "example": "2021-08-16T04:00:00.000Z",
"type": "string"
},
- "name": {
+ "id": {
+ "example": "11d41e3c-75b5-458c-8166-7cdfb20a635a",
"type": "string"
},
- "role": {
+ "message": {
+ "description": "Message is the promotion's own display copy, when Popeyes publishes\none distinct from Name.",
+ "example": "Get Double Bonus Points on Your Cart, minimum $20",
"type": "string"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "salon.AuthorArticle": {
- "properties": {
- "title": {
+ "name": {
+ "description": "Name is the promotion's own internal/public label.",
+ "example": "Get Double Bonus Points on Your Cart, minimum $20",
"type": "string"
},
- "url": {
+ "points_multiplier": {
+ "description": "PointsMultiplier is set for a \"Nx points\" style promotion (e.g. 2 for\ndouble points); mutually exclusive in practice with BonusPoints.",
+ "example": 2,
+ "type": "number"
+ },
+ "start_date": {
+ "description": "StartDate/EndDate bound the promotion's active window, when Popeyes\npublishes one -- both empty means no published window restriction.",
+ "example": "2021-08-02T04:00:00.000Z",
"type": "string"
}
},
"type": "object"
},
- "salon.AuthorResponse": {
+ "popeyes.PromotionsResponse": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/salon.AuthorArticle"
- },
- "type": "array"
- },
- "bio": {
- "type": "string"
- },
- "image_url": {
- "type": "string"
+ "count": {
+ "example": 20,
+ "type": "integer"
},
- "job_title": {
+ "fetched_at": {
"type": "string"
},
- "name": {
- "type": "string"
+ "has_more": {
+ "description": "HasMore is a paging heuristic -- see OffersResponse.HasMore.",
+ "example": true,
+ "type": "boolean"
},
- "same_as": {
+ "promotions": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/popeyes.Promotion"
},
"type": "array"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "samsclub.CategoryBreadcrumbEntry": {
- "properties": {
- "id": {
- "example": "100001",
- "type": "string"
- },
- "name": {
- "example": "All Departments",
- "type": "string"
- },
- "url": {
- "example": "https://www.samsclub.com/all-departments",
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "samsclub.CategoryProduct": {
+ "popeyes.Quest": {
"properties": {
- "availability": {
- "example": "IN_STOCK",
- "type": "string"
+ "bonus_points": {
+ "description": "BonusPoints is the loyalty points awarded on completion, when the\nincentive is points-based.",
+ "example": 550,
+ "type": "integer"
},
- "brand": {
- "example": "Tide",
+ "id": {
+ "example": "38fe1c9c-6c2b-4d1b-ab86-7bf61105fdfb",
"type": "string"
},
- "currency_code": {
- "example": "USD",
+ "incentive_type": {
+ "description": "IncentiveType is the reward mechanic -- observed live value is\nBONUS_POINTS; kept as a raw pass-through string since other values may\nexist that this pass did not observe.",
+ "example": "BONUS_POINTS",
"type": "string"
},
- "current_price": {
- "example": 19.98,
- "type": "number"
- },
- "image_url": {
- "type": "string"
+ "is_sequential": {
+ "description": "IsSequential is true when the quest's steps must be completed in\norder.",
+ "type": "boolean"
},
- "item_id": {
- "example": "13610014888",
+ "must_activate_by": {
+ "description": "MustActivateBy is the last date a member could opt in to this quest,\nwhen Popeyes publishes one.",
"type": "string"
},
"name": {
- "example": "Tide Power PODS + Ultra OXI Laundry Detergent Pacs, 72 ct.",
+ "description": "Name is the quest's own public display copy.",
+ "example": "July Challenge: Make Two Purchases, Get FREE Chicken Sandwich in the form of 550 Bonus Points",
"type": "string"
},
- "on_sale": {
- "example": true,
+ "on_distinct_purchases": {
+ "description": "OnDistinctPurchases is true when each qualifying step must be a\nseparate purchase (observed true on every live quest sampled).",
"type": "boolean"
},
- "rating": {
- "example": 4.8,
- "type": "number"
- },
- "regular_price": {
- "example": 24.98,
- "type": "number"
- },
- "review_count": {
- "example": 4122,
+ "step_count": {
+ "description": "StepCount is how many steps make up the quest. This endpoint does not\nexpose each step's own purchase-requirement rules.",
"type": "integer"
- },
- "savings_amount": {
- "example": 5,
- "type": "number"
- },
- "type": {
- "example": "Laundry Detergents",
- "type": "string"
- },
- "unit_price_text": {
- "example": "$0.28/ea",
- "type": "string"
- },
- "url": {
- "example": "https://www.samsclub.com/ip/Tide-Power-PODS-Ultra-OXI-Laundry-Detergent-Pacs-72-ct/13610014888",
- "type": "string"
}
},
"type": "object"
},
- "samsclub.CategoryResponse": {
+ "popeyes.QuestsResponse": {
"properties": {
- "breadcrumb": {
- "items": {
- "$ref": "#/definitions/samsclub.CategoryBreadcrumbEntry"
- },
- "type": "array"
- },
- "category_id": {
- "example": "15660127",
- "type": "string"
- },
"count": {
- "example": 47,
+ "example": 10,
"type": "integer"
},
"fetched_at": {
"type": "string"
},
"has_more": {
- "example": true,
+ "description": "HasMore is a paging heuristic -- see OffersResponse.HasMore.",
+ "example": false,
"type": "boolean"
},
- "max_page": {
- "example": 16,
- "type": "integer"
- },
- "page": {
- "example": 1,
- "type": "integer"
- },
- "products": {
+ "quests": {
"items": {
- "$ref": "#/definitions/samsclub.CategoryProduct"
+ "$ref": "#/definitions/popeyes.Quest"
},
"type": "array"
},
"source_url": {
"type": "string"
- },
- "title": {
- "example": "Results for \"Savings\"",
- "type": "string"
- },
- "total_count": {
- "example": 687,
- "type": "integer"
}
},
"type": "object"
},
- "samsclub.ContentResponse": {
+ "popeyes.Restaurant": {
"properties": {
- "breadcrumb": {
- "items": {
- "$ref": "#/definitions/samsclub.CategoryBreadcrumbEntry"
- },
- "type": "array"
+ "address": {
+ "example": "111 Fulton St",
+ "type": "string"
},
- "category_links": {
- "items": {
- "$ref": "#/definitions/samsclub.DepartmentLink"
- },
- "type": "array"
+ "address2": {
+ "type": "string"
},
- "fetched_at": {
+ "city": {
+ "example": "New York",
"type": "string"
},
- "id": {
- "example": "16050279",
+ "country": {
+ "example": "USA",
"type": "string"
},
- "shelves": {
- "items": {
- "$ref": "#/definitions/samsclub.RelatedShelf"
- },
- "type": "array"
+ "has_breakfast": {
+ "example": false,
+ "type": "boolean"
},
- "source_url": {
- "type": "string"
+ "has_delivery": {
+ "example": true,
+ "type": "boolean"
+ },
+ "has_drive_thru": {
+ "example": false,
+ "type": "boolean"
+ },
+ "has_playground": {
+ "example": false,
+ "type": "boolean"
+ },
+ "has_takeout": {
+ "example": true,
+ "type": "boolean"
+ },
+ "has_wifi": {
+ "example": false,
+ "type": "boolean"
+ },
+ "hours": {
+ "$ref": "#/definitions/popeyes.RestaurantHours"
},
- "title": {
- "example": "Savings Center",
- "type": "string"
- }
- },
- "type": "object"
- },
- "samsclub.Department": {
- "properties": {
"id": {
- "example": "1444",
+ "example": "restaurant_242928",
"type": "string"
},
- "image_url": {
- "type": "string"
+ "is_dark_kitchen": {
+ "example": false,
+ "type": "boolean"
+ },
+ "is_halal": {
+ "example": false,
+ "type": "boolean"
+ },
+ "latitude": {
+ "example": 40.709873,
+ "type": "number"
+ },
+ "longitude": {
+ "example": -74.006601,
+ "type": "number"
},
"name": {
- "example": "Grocery",
+ "example": "111 Fulton St New York, New York 10038 - USA",
"type": "string"
},
- "subcategories": {
- "items": {
- "$ref": "#/definitions/samsclub.DepartmentLink"
- },
- "type": "array"
- },
- "type": {
- "example": "browse",
+ "operator": {
+ "description": "Operator is the franchise group operating this location, when RBI\npublishes one.",
"type": "string"
},
- "url": {
- "example": "https://www.samsclub.com/browse/1444",
+ "phone": {
+ "example": "929-579-0553",
"type": "string"
- }
- },
- "type": "object"
- },
- "samsclub.DepartmentLink": {
- "properties": {
- "id": {
- "example": "1444",
+ },
+ "postal_code": {
+ "example": "10038",
"type": "string"
},
- "name": {
- "example": "Grocery",
+ "state": {
+ "example": "NY",
"type": "string"
},
- "type": {
- "example": "browse",
+ "store_id": {
+ "example": "14156",
"type": "string"
},
- "url": {
- "example": "https://www.samsclub.com/browse/1444",
+ "website_url": {
+ "example": "https://www.popeyes.com/store-locator/store/restaurant_242928",
"type": "string"
}
},
"type": "object"
},
- "samsclub.DepartmentsResponse": {
+ "popeyes.RestaurantHours": {
"properties": {
- "departments": {
+ "curbside": {
"items": {
- "$ref": "#/definitions/samsclub.Department"
+ "$ref": "#/definitions/popeyes.DayHours"
},
"type": "array"
},
- "fetched_at": {
- "type": "string"
- },
- "source_url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "samsclub.Product": {
- "properties": {
- "availability": {
- "example": "IN_STOCK",
- "type": "string"
- },
- "brand": {
- "example": "Tide",
- "type": "string"
- },
- "category": {
- "example": [
- "All Departments",
- "Household Essentials",
- "Laundry Supplies",
- "Laundry Detergent"
- ],
+ "delivery": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/popeyes.DayHours"
},
"type": "array"
},
- "currency_code": {
- "example": "USD",
- "type": "string"
- },
- "current_price": {
- "example": 19.98,
- "type": "number"
- },
- "description": {
- "type": "string"
- },
- "highlights": {
+ "dining_room": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/popeyes.DayHours"
},
"type": "array"
},
- "images": {
+ "drive_thru": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/popeyes.DayHours"
},
"type": "array"
- },
- "item_id": {
- "example": "13610014888",
- "type": "string"
- },
- "item_number": {
- "example": "990471947",
- "type": "string"
- },
- "name": {
- "example": "Tide Power PODS + Ultra OXI Laundry Detergent Pacs, 72 ct.",
- "type": "string"
- },
- "on_sale": {
- "example": true,
- "type": "boolean"
- },
- "rating": {
- "example": 4.8,
- "type": "number"
- },
- "regular_price": {
- "example": 24.98,
- "type": "number"
- },
- "review_count": {
- "example": 4122,
- "type": "integer"
- },
- "savings_amount": {
- "example": 5,
- "type": "number"
- },
- "unit_price": {
- "example": 0.28,
- "type": "number"
- },
- "unit_price_text": {
- "example": "$0.28/ea",
- "type": "string"
- },
- "upc": {
- "example": "030772073438",
- "type": "string"
- },
- "url": {
- "example": "https://www.samsclub.com/ip/13610014888",
- "type": "string"
}
},
"type": "object"
},
- "samsclub.RelatedItem": {
+ "popeyes.Reward": {
"properties": {
- "availability": {
- "example": "IN_STOCK",
- "type": "string"
- },
- "currency_code": {
- "example": "USD",
+ "id": {
+ "example": "09acd09f-2ca5-4259-934c-0345356b2bb0",
"type": "string"
},
- "image_url": {
- "type": "string"
+ "incentive_not_in_menu": {
+ "description": "IncentiveNotInMenu is true when Popeyes marks the reward's item as\nnot otherwise purchasable on the regular menu (a rewards-exclusive\nitem or bundle).",
+ "type": "boolean"
},
- "item_id": {
- "example": "13576901230",
- "type": "string"
+ "mobile_order_only": {
+ "description": "MobileOrderOnly is true when the reward is only redeemable through\nPopeyes' own mobile ordering flow, when Popeyes publishes that\nrestriction.",
+ "type": "boolean"
},
"name": {
- "example": "Tide PODS Laundry Detergent Pacs, Spring Meadow, 156 ct.",
+ "description": "Name is the reward's own public display copy -- typically the menu\nitem or combo name it redeems.",
+ "example": "Large Mashed Potatoes",
"type": "string"
},
- "price": {
- "example": 29.98,
- "type": "number"
- },
- "rating": {
- "example": 4.8184,
- "type": "number"
- },
- "review_count": {
- "example": 13701,
+ "points": {
+ "description": "Points is the loyalty points cost to redeem, from the reward's own\nLoyaltyPoints rule.",
+ "example": 600,
"type": "integer"
- },
- "url": {
- "example": "https://www.samsclub.com/ip/Tide-PODS-Laundry-Detergent-Pacs-Spring-Meadow-156-ct/13576901230",
- "type": "string"
}
},
"type": "object"
},
- "samsclub.RelatedItemsResponse": {
+ "popeyes.RewardsResponse": {
"properties": {
+ "count": {
+ "example": 20,
+ "type": "integer"
+ },
"fetched_at": {
"type": "string"
},
- "item_id": {
- "example": "13610014888",
- "type": "string"
+ "has_more": {
+ "description": "HasMore is a paging heuristic -- see OffersResponse.HasMore.",
+ "example": true,
+ "type": "boolean"
},
- "shelves": {
+ "rewards": {
"items": {
- "$ref": "#/definitions/samsclub.RelatedShelf"
+ "$ref": "#/definitions/popeyes.Reward"
},
"type": "array"
},
@@ -185582,386 +194053,765 @@
},
"type": "object"
},
- "samsclub.RelatedShelf": {
+ "popeyes.faqResponseDoc": {
"properties": {
- "items": {
- "items": {
- "$ref": "#/definitions/samsclub.RelatedItem"
- },
- "type": "array"
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
},
- "title": {
- "example": "Members also considered",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/popeyes.FAQResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "samsclub.categoryResponseDoc": {
+ "popeyes.locationResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/samsclub.CategoryResponse"
+ "$ref": "#/definitions/popeyes.LocationResponse"
},
"msg": {
- "example": "OK",
- "type": "string"
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "samsclub.contentResponseDoc": {
+ "popeyes.locationsResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/samsclub.ContentResponse"
+ "$ref": "#/definitions/popeyes.LocationsResponse"
},
"msg": {
- "example": "OK",
- "type": "string"
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "samsclub.departmentsResponseDoc": {
+ "popeyes.menuResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/samsclub.DepartmentsResponse"
+ "$ref": "#/definitions/popeyes.MenuResponse"
},
"msg": {
- "example": "OK",
- "type": "string"
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "samsclub.productResponseDoc": {
+ "popeyes.offersResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/samsclub.Product"
+ "$ref": "#/definitions/popeyes.OffersResponse"
},
"msg": {
- "example": "OK",
- "type": "string"
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "samsclub.relatedItemsResponseDoc": {
+ "popeyes.promotionsResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/samsclub.RelatedItemsResponse"
+ "$ref": "#/definitions/popeyes.PromotionsResponse"
},
"msg": {
- "example": "OK",
- "type": "string"
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "sbsnews.AuthorArticle": {
+ "popeyes.questsResponseDoc": {
"properties": {
- "published_at": {
- "type": "string"
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
},
- "summary": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/popeyes.QuestsResponse"
},
- "title": {
- "type": "string"
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "popeyes.rewardsResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
},
- "url": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/popeyes.RewardsResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "sbsnews.AuthorResponse": {
+ "popularTrend.CountryIndustryMeta": {
"properties": {
- "articles": {
+ "country": {
+ "description": "Countries TikTok Creative Center offers as filters, each with its code and name.",
"items": {
- "$ref": "#/definitions/sbsnews.AuthorArticle"
+ "$ref": "#/definitions/popularTrend.CountryIndustryMetaItem"
},
"type": "array"
},
- "biography": {
- "type": "string"
- },
- "has_next_page": {
- "type": "boolean"
- },
- "headshot_url": {
+ "industry": {
+ "description": "Industries TikTok Creative Center offers as filters, each with its id and name.",
+ "items": {
+ "$ref": "#/definitions/popularTrend.CountryIndustryMetaItem"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "popularTrend.CountryIndustryMetaItem": {
+ "properties": {
+ "id": {
+ "description": "Country code or industry id, for example `AR` or `22000000000`.",
"type": "string"
},
- "name": {
+ "value": {
+ "description": "Display name of the country or industry.",
"type": "string"
- },
- "page": {
+ }
+ },
+ "type": "object"
+ },
+ "popularTrend.TopAdsAnalysisPoint": {
+ "properties": {
+ "second": {
+ "description": "Second of the ad video the point refers to.",
"type": "integer"
},
- "url": {
- "type": "string"
+ "value": {
+ "description": "Value of the selected metric at that second.",
+ "type": "number"
}
},
"type": "object"
},
- "sciencealert.AuthorResponse": {
+ "popularTrend.TopAdsAnalysisResp": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/newsplatform.HeadlineItem"
- },
- "type": "array"
+ "code": {
+ "type": "integer"
},
- "biography": {
- "items": {
- "type": "string"
+ "data": {
+ "description": "Time analysis of the ad for the chosen metric, with its percentile, chart points and highlighted seconds.",
+ "properties": {
+ "analysis": {
+ "items": {
+ "$ref": "#/definitions/popularTrend.TopAdsAnalysisPoint"
+ },
+ "type": "array"
+ },
+ "duration": {
+ "type": "number"
+ },
+ "highlight": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "metric": {
+ "type": "string"
+ },
+ "metric_label": {
+ "type": "string"
+ },
+ "percentile": {
+ "type": "number"
+ },
+ "percentile_data": {
+ "additionalProperties": {
+ "format": "float64",
+ "type": "number"
+ },
+ "type": "object"
+ },
+ "percentile_metric": {
+ "type": "string"
+ },
+ "period_type": {
+ "type": "integer"
+ }
},
- "type": "array"
- },
- "has_next_page": {
- "type": "boolean"
+ "type": "object"
},
- "image_url": {
+ "msg": {
"type": "string"
},
- "name": {
+ "request_id": {
+ "description": "Request id returned by TikTok Creative Center.",
"type": "string"
- },
- "page": {
+ }
+ },
+ "type": "object"
+ },
+ "popularTrend.TopAdsDetailResp": {
+ "properties": {
+ "code": {
"type": "integer"
},
- "slug": {
- "type": "string"
+ "data": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/popularTrend.TopAdsMaterial"
+ }
+ ],
+ "description": "Details of the requested top ad."
},
- "social_links": {
- "items": {
- "$ref": "#/definitions/sciencealert.AuthorSocialLink"
- },
- "type": "array"
+ "msg": {
+ "type": "string"
},
- "url": {
+ "request_id": {
+ "description": "Request id returned by TikTok Creative Center.",
"type": "string"
}
},
"type": "object"
},
- "sciencealert.AuthorSocialLink": {
+ "popularTrend.TopAdsFilterItem": {
"properties": {
- "platform": {
+ "has_conversion": {
+ "description": "Whether the objective is one that tracks conversions. Only set on objective options.",
+ "type": "boolean"
+ },
+ "id": {
+ "description": "Filter option id in TikTok's own format, a string or a number depending on the filter.",
+ "type": "object"
+ },
+ "label": {
+ "description": "Label key TikTok uses for the option.",
"type": "string"
},
- "url": {
+ "parent_id": {
+ "description": "Id of the parent option, for example the top-level industry of a sub-industry.",
+ "type": "object"
+ },
+ "value": {
+ "description": "Display value of the option, always returned as a string.",
"type": "string"
}
},
"type": "object"
},
- "scmp.ArticleResponse": {
+ "popularTrend.TopAdsFiltersResp": {
"properties": {
- "authors": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "code": {
+ "type": "integer"
},
- "content_locked": {
- "type": "boolean"
+ "data": {
+ "description": "Filter options available for top ads, grouped by filter name.",
+ "properties": {
+ "ad_format": {
+ "items": {
+ "$ref": "#/definitions/popularTrend.TopAdsFilterItem"
+ },
+ "type": "array"
+ },
+ "ad_language": {
+ "items": {
+ "$ref": "#/definitions/popularTrend.TopAdsFilterItem"
+ },
+ "type": "array"
+ },
+ "analysis_metric": {
+ "items": {
+ "$ref": "#/definitions/popularTrend.TopAdsFilterItem"
+ },
+ "type": "array"
+ },
+ "country": {
+ "items": {
+ "$ref": "#/definitions/popularTrend.TopAdsFilterItem"
+ },
+ "type": "array"
+ },
+ "duration": {
+ "items": {
+ "$ref": "#/definitions/popularTrend.TopAdsFilterItem"
+ },
+ "type": "array"
+ },
+ "industry": {
+ "items": {
+ "$ref": "#/definitions/popularTrend.TopAdsFilterItem"
+ },
+ "type": "array"
+ },
+ "like": {
+ "items": {
+ "$ref": "#/definitions/popularTrend.TopAdsFilterItem"
+ },
+ "type": "array"
+ },
+ "objective": {
+ "items": {
+ "$ref": "#/definitions/popularTrend.TopAdsFilterItem"
+ },
+ "type": "array"
+ },
+ "order_by": {
+ "items": {
+ "$ref": "#/definitions/popularTrend.TopAdsFilterItem"
+ },
+ "type": "array"
+ },
+ "pattern_label": {
+ "items": {
+ "$ref": "#/definitions/popularTrend.TopAdsFilterItem"
+ },
+ "type": "array"
+ },
+ "period": {
+ "items": {
+ "$ref": "#/definitions/popularTrend.TopAdsFilterItem"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
},
- "description": {
+ "msg": {
"type": "string"
},
- "image_url": {
+ "request_id": {
+ "description": "Request id returned by TikTok Creative Center.",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "popularTrend.TopAdsListResp": {
+ "properties": {
+ "code": {
+ "type": "integer"
},
- "paragraphs": {
- "items": {
- "type": "string"
+ "data": {
+ "description": "Page of top ads with its paging information.",
+ "properties": {
+ "materials": {
+ "items": {
+ "$ref": "#/definitions/popularTrend.TopAdsMaterial"
+ },
+ "type": "array"
+ },
+ "pagination": {
+ "$ref": "#/definitions/popularTrend.TopAdsPagination"
+ }
},
- "type": "array"
+ "type": "object"
},
- "paywall_types": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "msg": {
+ "type": "string"
},
- "published_at": {
+ "request_id": {
+ "description": "Request id returned by TikTok Creative Center.",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "popularTrend.TopAdsLocationInfoResp": {
+ "properties": {
+ "code": {
+ "type": "integer"
},
- "section": {
+ "data": {
+ "description": "Initial country and industry targeting that TikTok Creative Center infers.",
+ "properties": {
+ "first_industry": {
+ "type": "object"
+ },
+ "initial_country": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "l1_industry": {
+ "type": "integer"
+ },
+ "l2_industry": {
+ "type": "integer"
+ },
+ "second_industry": {
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "msg": {
"type": "string"
},
- "title": {
+ "request_id": {
+ "description": "Request id returned by TikTok Creative Center.",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "popularTrend.TopAdsLocationsResp": {
+ "properties": {
+ "code": {
+ "type": "integer"
},
- "topics": {
- "items": {
- "type": "string"
+ "data": {
+ "description": "Countries available for top ads targeting.",
+ "properties": {
+ "country": {
+ "items": {
+ "$ref": "#/definitions/popularTrend.TopAdsFilterItem"
+ },
+ "type": "array"
+ }
},
- "type": "array"
+ "type": "object"
},
- "updated_at": {
+ "msg": {
"type": "string"
},
- "url": {
+ "request_id": {
+ "description": "Request id returned by TikTok Creative Center.",
"type": "string"
}
},
"type": "object"
},
- "scmp.AuthorResponse": {
+ "popularTrend.TopAdsMaterial": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/scmp.HeadlineItem"
- },
- "type": "array"
+ "ad_title": {
+ "description": "Title of the ad.",
+ "type": "string"
},
- "bio": {
+ "brand_name": {
+ "description": "Name of the advertiser brand.",
"type": "string"
},
- "expertise": {
+ "comment": {
+ "description": "Number of comments on the ad.",
+ "type": "integer"
+ },
+ "cost": {
+ "description": "Cost figure for the ad as TikTok Creative Center reports it.",
+ "type": "integer"
+ },
+ "country_code": {
+ "description": "Country codes the ad runs in.",
"items": {
"type": "string"
},
"type": "array"
},
- "headshot_url": {
+ "ctr": {
+ "description": "Click-through rate of the ad as TikTok Creative Center reports it.",
+ "type": "number"
+ },
+ "favorite": {
+ "description": "Whether the ad is marked as a favorite.",
+ "type": "boolean"
+ },
+ "has_summary": {
+ "description": "Whether TikTok has an ad summary available for the ad.",
+ "type": "boolean"
+ },
+ "highlight": {
+ "description": "Highlight note TikTok attaches to the ad.",
"type": "string"
},
- "languages": {
+ "highlight_text": {
+ "description": "Text shown for the ad's highlight.",
+ "type": "string"
+ },
+ "id": {
+ "description": "Top Ads material id. Use it with the detail, analysis and recommend endpoints.",
+ "type": "string"
+ },
+ "industry_key": {
+ "description": "Key of the industry the ad is classified under.",
+ "type": "string"
+ },
+ "is_search": {
+ "description": "Search flag TikTok sets on the ad.",
+ "type": "boolean"
+ },
+ "keyword_list": {
+ "description": "Keywords associated with the ad.",
"items": {
"type": "string"
},
"type": "array"
},
- "location": {
+ "landing_page": {
+ "description": "URL of the ad's landing page.",
"type": "string"
},
- "name": {
- "type": "string"
+ "like": {
+ "description": "Number of likes on the ad.",
+ "type": "integer"
},
- "role": {
+ "objective_key": {
+ "description": "Key of the campaign objective of the ad.",
"type": "string"
},
- "social_links": {
+ "objectives": {
+ "description": "Campaign objectives of the ad, each with its id, value and label.",
"items": {
- "$ref": "#/definitions/scmp.AuthorSocialLink"
+ "$ref": "#/definitions/popularTrend.TopAdsFilterItem"
},
"type": "array"
},
- "url": {
+ "pattern_label": {
+ "description": "Creative pattern labels assigned to the ad.",
+ "items": {
+ "$ref": "#/definitions/popularTrend.TopAdsFilterItem"
+ },
+ "type": "array"
+ },
+ "share": {
+ "description": "Number of shares of the ad.",
+ "type": "integer"
+ },
+ "source": {
+ "description": "Source label of the ad as TikTok Creative Center shows it.",
"type": "string"
+ },
+ "source_key": {
+ "description": "Numeric key of the ad's source.",
+ "type": "integer"
+ },
+ "video_info": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/popularTrend.TopAdsVideoInfo"
+ }
+ ],
+ "description": "Video file details of the ad."
+ },
+ "voice_over": {
+ "description": "Whether the ad video has a voice-over.",
+ "type": "boolean"
}
},
"type": "object"
},
- "scmp.AuthorSocialLink": {
+ "popularTrend.TopAdsPagination": {
"properties": {
- "type": {
- "type": "string"
+ "has_more": {
+ "description": "Whether more pages of ads are available.",
+ "type": "boolean"
},
- "url": {
- "type": "string"
+ "page": {
+ "description": "Page number returned.",
+ "type": "integer"
+ },
+ "size": {
+ "description": "Number of ads per page.",
+ "type": "integer"
+ },
+ "total": {
+ "description": "Total number of matching ads. Set on spotlight responses.",
+ "type": "integer"
+ },
+ "total_count": {
+ "description": "Total number of matching ads. Set on list responses.",
+ "type": "integer"
}
},
"type": "object"
},
- "scmp.HeadlineItem": {
+ "popularTrend.TopAdsRecommendResp": {
"properties": {
- "author": {
- "type": "string"
+ "code": {
+ "type": "integer"
},
- "image_url": {
- "type": "string"
+ "data": {
+ "description": "Ads related to the requested ad.",
+ "properties": {
+ "materials": {
+ "items": {
+ "$ref": "#/definitions/popularTrend.TopAdsMaterial"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
},
- "published_at": {
+ "msg": {
"type": "string"
},
- "summary": {
+ "request_id": {
+ "description": "Request id returned by TikTok Creative Center.",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "popularTrend.TopAdsSafetyResp": {
+ "properties": {
+ "code": {
+ "type": "integer"
},
- "title": {
+ "data": {
+ "description": "Creative Center safety configuration flags for its search surfaces.",
+ "properties": {
+ "cc_banner_key": {
+ "type": "string"
+ },
+ "creator_search": {
+ "type": "integer"
+ },
+ "hashtag_search": {
+ "type": "integer"
+ },
+ "keyword_search": {
+ "type": "integer"
+ },
+ "sound_search": {
+ "type": "integer"
+ },
+ "top_ads_search": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "msg": {
"type": "string"
},
- "url": {
+ "request_id": {
+ "description": "Request id returned by TikTok Creative Center.",
"type": "string"
}
},
"type": "object"
},
- "scmp.HeadlinesResponse": {
+ "popularTrend.TopAdsSpotlightResp": {
"properties": {
- "items": {
- "items": {
- "$ref": "#/definitions/scmp.HeadlineItem"
+ "code": {
+ "type": "integer"
+ },
+ "data": {
+ "description": "Page of spotlight top ads with its paging information.",
+ "properties": {
+ "materials": {
+ "items": {
+ "$ref": "#/definitions/popularTrend.TopAdsMaterial"
+ },
+ "type": "array"
+ },
+ "pagination": {
+ "$ref": "#/definitions/popularTrend.TopAdsPagination"
+ }
},
- "type": "array"
+ "type": "object"
},
- "section": {
+ "msg": {
+ "type": "string"
+ },
+ "request_id": {
+ "description": "Request id returned by TikTok Creative Center.",
"type": "string"
}
},
"type": "object"
},
- "scmp.Section": {
+ "popularTrend.TopAdsSuggestionsResp": {
"properties": {
- "name": {
- "type": "string"
- },
- "parent_name": {
- "type": "string"
+ "code": {
+ "type": "integer"
},
- "parent_slug": {
- "type": "string"
+ "data": {
+ "description": "Suggested search queries for top ads.",
+ "properties": {
+ "query": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
},
- "slug": {
+ "msg": {
"type": "string"
},
- "url": {
+ "request_id": {
+ "description": "Request id returned by TikTok Creative Center.",
"type": "string"
}
},
"type": "object"
},
- "scmp.SectionsResponse": {
+ "popularTrend.TopAdsVideoInfo": {
"properties": {
- "sections": {
- "items": {
- "$ref": "#/definitions/scmp.Section"
+ "cover": {
+ "description": "URL of the video cover image.",
+ "type": "string"
+ },
+ "duration": {
+ "description": "Video length in seconds.",
+ "type": "number"
+ },
+ "height": {
+ "description": "Video height as TikTok reports it.",
+ "type": "integer"
+ },
+ "vid": {
+ "description": "TikTok video id.",
+ "type": "string"
+ },
+ "video_url": {
+ "additionalProperties": {
+ "type": "string"
},
- "type": "array"
+ "description": "Video file URLs keyed by resolution label, for example `720p`.",
+ "type": "object"
+ },
+ "width": {
+ "description": "Video width as TikTok reports it.",
+ "type": "integer"
}
},
"type": "object"
},
- "scmp.articleResponseDoc": {
+ "populartrend.countryIndustryMetaResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/scmp.ArticleResponse"
+ "$ref": "#/definitions/popularTrend.CountryIndustryMeta"
},
"msg": {
"example": "OK",
@@ -185970,14 +194820,14 @@
},
"type": "object"
},
- "scmp.authorResponseDoc": {
+ "populartrend.topAdsAnalysisResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/scmp.AuthorResponse"
+ "$ref": "#/definitions/popularTrend.TopAdsAnalysisResp"
},
"msg": {
"example": "OK",
@@ -185986,14 +194836,14 @@
},
"type": "object"
},
- "scmp.headlinesResponseDoc": {
+ "populartrend.topAdsDetailResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/scmp.HeadlinesResponse"
+ "$ref": "#/definitions/popularTrend.TopAdsDetailResp"
},
"msg": {
"example": "OK",
@@ -186002,14 +194852,14 @@
},
"type": "object"
},
- "scmp.sectionsResponseDoc": {
+ "populartrend.topAdsFiltersResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/scmp.SectionsResponse"
+ "$ref": "#/definitions/popularTrend.TopAdsFiltersResp"
},
"msg": {
"example": "OK",
@@ -186018,782 +194868,829 @@
},
"type": "object"
},
- "screenrant.AuthorResponse": {
+ "populartrend.topAdsListResponseDoc": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/newsplatform.HeadlineItem"
- },
- "type": "array"
- },
- "biography": {
- "type": "string"
- },
- "image_url": {
- "type": "string"
- },
- "name": {
- "type": "string"
- },
- "social_links": {
- "items": {
- "$ref": "#/definitions/screenrant.AuthorSocialLink"
- },
- "type": "array"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "title": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/popularTrend.TopAdsListResp"
},
- "url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "screenrant.AuthorSocialLink": {
+ "populartrend.topAdsLocationInfoResponseDoc": {
"properties": {
- "type": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "url": {
+ "data": {
+ "$ref": "#/definitions/popularTrend.TopAdsLocationInfoResp"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "seatgeek.CategoriesResult": {
+ "populartrend.topAdsLocationsResponseDoc": {
"properties": {
- "categories": {
- "items": {
- "$ref": "#/definitions/seatgeek.Category"
- },
- "type": "array"
- },
- "total": {
+ "code": {
+ "example": 200,
"type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/popularTrend.TopAdsLocationsResp"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "seatgeek.Category": {
+ "populartrend.topAdsRecommendResponseDoc": {
"properties": {
- "event_count": {
- "type": "integer"
- },
- "id": {
- "example": 1010100,
- "type": "integer"
- },
- "image": {
- "type": "string"
- },
- "is_visible": {
- "type": "boolean"
- },
- "name": {
- "example": "MLB",
- "type": "string"
- },
- "next_event_datetime_utc": {
- "type": "string"
- },
- "parent_id": {
- "example": 1010000,
- "type": "integer"
- },
- "performer_count": {
- "type": "integer"
- },
- "rank": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "seo_event_type": {
- "type": "string"
- },
- "short_name": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/popularTrend.TopAdsRecommendResp"
},
- "slug": {
- "example": "mlb",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "seatgeek.CitiesResult": {
+ "populartrend.topAdsSafetyResponseDoc": {
"properties": {
- "cities": {
- "items": {
- "$ref": "#/definitions/seatgeek.City"
- },
- "type": "array"
- },
- "total": {
+ "code": {
+ "example": 200,
"type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/popularTrend.TopAdsSafetyResp"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "seatgeek.City": {
+ "populartrend.topAdsSpotlightResponseDoc": {
"properties": {
- "country": {
- "example": "United States",
- "type": "string"
- },
- "id": {
- "example": 72,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "lat": {
- "type": "number"
- },
- "lon": {
- "type": "number"
- },
- "name": {
- "example": "Albuquerque",
- "type": "string"
- },
- "radius": {
- "example": "20mi",
- "type": "string"
- },
- "show_concerts": {
- "type": "boolean"
- },
- "show_sports": {
- "type": "boolean"
- },
- "show_theater": {
- "type": "boolean"
- },
- "slug": {
- "example": "albuquerque",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/popularTrend.TopAdsSpotlightResp"
},
- "state": {
- "example": "New Mexico",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "seatgeek.Event": {
+ "populartrend.topAdsSuggestionsResponseDoc": {
"properties": {
- "date_tbd": {
- "type": "boolean"
- },
- "datetime_local": {
- "type": "string"
- },
- "datetime_utc": {
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "id": {
- "example": 17695775,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "is_open": {
- "type": "boolean"
- },
- "performers": {
- "items": {
- "$ref": "#/definitions/seatgeek.EventPerformer"
- },
- "type": "array"
- },
- "popularity": {
- "type": "number"
- },
- "score": {
- "type": "number"
- },
- "season_stage": {
- "type": "string"
- },
- "short_title": {
- "type": "string"
- },
- "stats": {
- "$ref": "#/definitions/seatgeek.EventStats"
- },
- "status": {
- "type": "string"
- },
- "taxonomies": {
- "items": {
- "$ref": "#/definitions/seatgeek.Taxonomy"
- },
- "type": "array"
- },
- "time_tbd": {
- "type": "boolean"
- },
- "title": {
- "type": "string"
- },
- "type": {
- "example": "mlb",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/popularTrend.TopAdsSuggestionsResp"
},
- "url": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "venue": {
- "$ref": "#/definitions/seatgeek.Venue"
}
},
"type": "object"
},
- "seatgeek.EventPerformer": {
+ "poshmark.BrandDirectoryEntry": {
"properties": {
- "home_team": {
- "type": "boolean"
+ "aliases": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
"id": {
- "type": "integer"
- },
- "image": {
+ "example": "4be6779b4630c50002000039",
"type": "string"
},
- "name": {
+ "logo_url": {
"type": "string"
},
- "primary": {
- "type": "boolean"
- },
- "type": {
- "example": "mlb",
+ "name": {
+ "example": "Nike",
"type": "string"
},
- "url": {
+ "slug": {
+ "example": "Nike",
"type": "string"
}
},
"type": "object"
},
- "seatgeek.EventStats": {
+ "poshmark.BrandResponse": {
"properties": {
- "average_price": {
- "type": "number"
- },
- "highest_price": {
- "type": "number"
- },
- "listing_count": {
- "type": "integer"
- },
- "lowest_price": {
- "type": "number"
- },
- "lowest_sg_base_price": {
- "type": "number"
- },
- "median_price": {
- "type": "number"
+ "has_more": {
+ "example": true,
+ "type": "boolean"
},
- "ticket_count": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "seatgeek.EventsByCategoryResult": {
- "properties": {
- "events": {
+ "listings": {
"items": {
- "$ref": "#/definitions/seatgeek.Event"
+ "$ref": "#/definitions/poshmark.Listing"
},
"type": "array"
},
- "page": {
- "type": "integer"
- },
- "per_page": {
- "type": "integer"
+ "next_max_id": {
+ "type": "string"
},
- "taxonomy_id": {
- "type": "integer"
+ "source_url": {
+ "type": "string"
},
"total": {
+ "example": 210000,
"type": "integer"
}
},
"type": "object"
},
- "seatgeek.EventsNearResult": {
+ "poshmark.BrandsResponse": {
"properties": {
- "events": {
+ "brands": {
"items": {
- "$ref": "#/definitions/seatgeek.Event"
+ "$ref": "#/definitions/poshmark.BrandDirectoryEntry"
},
"type": "array"
},
- "geolocation": {
- "$ref": "#/definitions/seatgeek.GeoResolved"
- },
- "page": {
- "type": "integer"
- },
- "per_page": {
- "type": "integer"
+ "source_url": {
+ "type": "string"
},
"total": {
+ "example": 29887,
"type": "integer"
}
},
"type": "object"
},
- "seatgeek.GeoLocation": {
+ "poshmark.CategoriesResponse": {
"properties": {
- "lat": {
- "type": "number"
- },
- "lon": {
- "type": "number"
+ "departments": {
+ "items": {
+ "$ref": "#/definitions/poshmark.DepartmentTaxonomy"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "seatgeek.GeoResolved": {
+ "poshmark.CategoryResponse": {
"properties": {
- "city": {
- "type": "string"
+ "has_more": {
+ "description": "Whether more listings are available after this page.",
+ "example": true,
+ "type": "boolean"
},
- "country": {
- "type": "string"
+ "listings": {
+ "description": "Listings on this page of the category.",
+ "items": {
+ "$ref": "#/definitions/poshmark.Listing"
+ },
+ "type": "array"
},
- "display_name": {
- "example": "Albuquerque, NM",
+ "next_max_id": {
+ "description": "Cursor to pass as `max_id` to get the next page. Omitted on the last page.",
"type": "string"
},
- "range": {
- "example": "50mi",
+ "source_url": {
+ "description": "URL the data was read from.",
"type": "string"
},
- "state": {
- "type": "string"
+ "total": {
+ "description": "Total number of listings Poshmark reports for the category.",
+ "example": 84000,
+ "type": "integer"
}
},
"type": "object"
},
- "seatgeek.Performer": {
+ "poshmark.CategoryTaxonomyEntry": {
"properties": {
- "event_count": {
- "type": "integer"
- },
- "has_upcoming_events": {
- "type": "boolean"
- },
- "home_venue_id": {
- "type": "integer"
- },
"id": {
- "example": 1,
- "type": "integer"
- },
- "image": {
+ "example": "00268975d97b4e80ef00a955",
"type": "string"
},
"name": {
+ "example": "Shoes",
"type": "string"
},
- "num_upcoming_events": {
- "type": "integer"
- },
- "popularity": {
- "type": "number"
- },
- "score": {
- "type": "number"
- },
- "short_name": {
- "type": "string"
- },
- "taxonomies": {
- "items": {
- "$ref": "#/definitions/seatgeek.Taxonomy"
- },
- "type": "array"
- },
- "type": {
- "example": "mlb",
- "type": "string"
- },
- "url": {
+ "path": {
+ "description": "Path is the exact value the category endpoint's path parameter\nexpects, e.g. \"Women-Shoes\".",
+ "example": "Women-Shoes",
"type": "string"
}
},
"type": "object"
},
- "seatgeek.PerformerEventsResult": {
+ "poshmark.ClosetResponse": {
"properties": {
- "events": {
+ "has_more": {
+ "example": true,
+ "type": "boolean"
+ },
+ "listings": {
"items": {
- "$ref": "#/definitions/seatgeek.Event"
+ "$ref": "#/definitions/poshmark.Listing"
},
"type": "array"
},
- "page": {
- "type": "integer"
+ "next_max_id": {
+ "type": "string"
},
- "per_page": {
- "type": "integer"
+ "seller": {
+ "$ref": "#/definitions/poshmark.Seller"
},
- "performer_id": {
- "type": "integer"
+ "source_url": {
+ "type": "string"
},
- "total": {
+ "total_count": {
+ "example": 107,
"type": "integer"
}
},
"type": "object"
},
- "seatgeek.SearchEvent": {
+ "poshmark.Comment": {
"properties": {
- "date_tbd": {
- "type": "boolean"
- },
- "datetime_local": {
- "type": "string"
- },
- "datetime_utc": {
- "type": "string"
- },
- "id": {
- "type": "integer"
- },
- "lowest_price": {
- "type": "number"
- },
- "short_title": {
+ "comment": {
+ "description": "Text of the comment as posted on the listing.",
+ "example": "Hi can you tell me the width of the waist?",
"type": "string"
},
- "time_tbd": {
- "type": "boolean"
- },
- "title": {
+ "created_at": {
+ "description": "Time the comment was posted, in ISO 8601 with a UTC offset.",
+ "example": "2026-07-05T09:28:09-07:00",
"type": "string"
},
- "type": {
- "example": "mlb",
+ "creator_full_name": {
+ "description": "Display name of the member who wrote the comment.",
+ "example": "Jen Muston",
"type": "string"
},
- "url": {
+ "creator_picture_url": {
+ "description": "Profile picture URL of the member who wrote the comment.",
"type": "string"
},
- "venue_location": {
- "example": "Los Angeles, CA",
+ "creator_username": {
+ "description": "Username of the member who wrote the comment.",
+ "example": "muvlax20",
"type": "string"
},
- "venue_name": {
+ "id": {
+ "description": "Poshmark comment id.",
+ "example": "6a4a86191fea02ce69f41484",
"type": "string"
}
},
"type": "object"
},
- "seatgeek.SearchPerformer": {
+ "poshmark.DepartmentTaxonomy": {
"properties": {
- "event_count": {
- "type": "integer"
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/poshmark.CategoryTaxonomyEntry"
+ },
+ "type": "array"
},
"id": {
- "type": "integer"
- },
- "image": {
+ "example": "000e8975d97b4e80ef00a955",
"type": "string"
},
"name": {
+ "example": "Women",
"type": "string"
},
- "short_name": {
- "type": "string"
- },
- "type": {
- "example": "mlb",
- "type": "string"
- },
- "url": {
+ "path": {
+ "description": "Path is the exact value the category endpoint's path parameter\nexpects for browsing the department itself, e.g. \"Women\".",
+ "example": "Women",
"type": "string"
}
},
"type": "object"
},
- "seatgeek.SearchResult": {
+ "poshmark.Listing": {
"properties": {
- "events": {
- "items": {
- "$ref": "#/definitions/seatgeek.SearchEvent"
- },
- "type": "array"
+ "brand": {
+ "description": "Brand name of the item.",
+ "example": "FARM Rio",
+ "type": "string"
},
- "performers": {
+ "category": {
+ "description": "Poshmark category of the item, for example `Shorts`.",
+ "example": "Shorts",
+ "type": "string"
+ },
+ "colors": {
+ "description": "Colors the seller selected for the item.",
+ "example": [
+ "Red",
+ "Yellow"
+ ],
"items": {
- "$ref": "#/definitions/seatgeek.SearchPerformer"
+ "type": "string"
},
"type": "array"
},
- "query": {
- "type": "string"
- },
- "venues": {
- "items": {
- "$ref": "#/definitions/seatgeek.SearchVenue"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "seatgeek.SearchVenue": {
- "properties": {
- "capacity": {
+ "comment_count": {
+ "description": "Number of comments on the listing.",
+ "example": 4,
"type": "integer"
},
- "display_location": {
- "example": "Los Angeles, CA",
+ "condition": {
+ "description": "Item condition code set by the seller, for example `nwt` for new with tags.",
+ "example": "nwt",
"type": "string"
},
- "event_count": {
- "type": "integer"
+ "cover_shot": {
+ "description": "URL of the listing's cover photo.",
+ "example": "https://di2ponv0v5otw.cloudfront.net/posts/2026/06/27/6a3fed1de9c77df92e2c0cc6/s_6a3fed24bd4ce3ff762126e5.jpg",
+ "type": "string"
},
- "id": {
- "type": "integer"
+ "created_at": {
+ "description": "Time the listing was created, in ISO 8601 with a UTC offset.",
+ "example": "2026-06-27T08:32:58-07:00",
+ "type": "string"
},
- "name": {
+ "department": {
+ "description": "Poshmark department of the item, for example `Women`.",
+ "example": "Women",
"type": "string"
},
- "url": {
+ "description": {
+ "description": "Seller's description of the item. Set on the listing detail response.",
"type": "string"
- }
- },
- "type": "object"
- },
- "seatgeek.Taxonomy": {
- "properties": {
+ },
+ "first_available_at": {
+ "description": "Time the listing first became available for sale, as Poshmark reports it.",
+ "type": "string"
+ },
"id": {
- "example": 1010100,
- "type": "integer"
+ "description": "Poshmark listing id. Use it with the listing endpoint.",
+ "example": "6a3fed1de9c77df92e2c0cc6",
+ "type": "string"
},
- "name": {
- "example": "mlb",
+ "inventory_status": {
+ "description": "Availability status of the item, for example `available`.",
+ "example": "available",
"type": "string"
},
- "parent_id": {
- "example": 1010000,
+ "like_count": {
+ "description": "Number of members who liked the listing.",
+ "example": 111,
"type": "integer"
},
- "seo_event_type": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "seatgeek.TrendingItem": {
- "properties": {
- "entity_id": {
+ "original_price": {
+ "description": "Original retail price the seller entered for the item.",
+ "example": 95,
+ "type": "number"
+ },
+ "pictures": {
+ "description": "URLs of all photos on the listing. Set on the listing detail response.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "price": {
+ "description": "Current asking price of the listing.",
+ "example": 55,
+ "type": "number"
+ },
+ "quantity_available": {
+ "description": "Total number of units still available across all sizes.",
+ "example": 1,
"type": "integer"
},
- "entity_image_url": {
+ "seller_display_handle": {
+ "description": "Display handle of the seller who posted the listing.",
+ "example": "maltimar",
"type": "string"
},
- "entity_name": {
+ "seller_full_name": {
+ "description": "Display name of the seller who posted the listing.",
+ "example": "Mary Altimar",
"type": "string"
},
- "entity_type": {
- "example": "event",
+ "seller_picture_url": {
+ "description": "Profile picture URL of the seller who posted the listing.",
"type": "string"
},
- "entity_url": {
+ "seller_username": {
+ "description": "Username of the seller who posted the listing.",
+ "example": "maltimar",
"type": "string"
},
- "event_datetime_local": {
- "type": "string"
+ "share_count": {
+ "description": "Number of times the listing was shared.",
+ "example": 13,
+ "type": "integer"
},
- "event_datetime_utc": {
+ "size": {
+ "description": "Size of the item as entered by the seller.",
+ "example": "S",
"type": "string"
},
- "lowest_price": {
- "type": "number"
+ "status": {
+ "description": "Publication status of the listing, for example `published`.",
+ "example": "published",
+ "type": "string"
},
- "rank": {
- "type": "integer"
+ "title": {
+ "description": "Listing title as shown on Poshmark.",
+ "example": "NWT Farm Rio Shorts",
+ "type": "string"
},
- "rank_change": {
- "type": "integer"
+ "url": {
+ "description": "Poshmark page URL of the listing.",
+ "example": "https://poshmark.com/listing/6a3fed1de9c77df92e2c0cc6",
+ "type": "string"
}
},
"type": "object"
},
- "seatgeek.TrendingResult": {
+ "poshmark.ListingResponse": {
"properties": {
- "items": {
+ "brand": {
+ "description": "Brand name of the item.",
+ "example": "FARM Rio",
+ "type": "string"
+ },
+ "category": {
+ "description": "Poshmark category of the item, for example `Shorts`.",
+ "example": "Shorts",
+ "type": "string"
+ },
+ "colors": {
+ "description": "Colors the seller selected for the item.",
+ "example": [
+ "Red",
+ "Yellow"
+ ],
"items": {
- "$ref": "#/definitions/seatgeek.TrendingItem"
+ "type": "string"
},
"type": "array"
},
- "list_display_name": {
- "type": "string"
+ "comment_count": {
+ "description": "Number of comments on the listing.",
+ "example": 4,
+ "type": "integer"
},
- "list_id": {
+ "comments": {
+ "description": "Public comments on the listing.",
+ "items": {
+ "$ref": "#/definitions/poshmark.Comment"
+ },
+ "type": "array"
+ },
+ "condition": {
+ "description": "Item condition code set by the seller, for example `nwt` for new with tags.",
+ "example": "nwt",
"type": "string"
},
- "list_type": {
+ "cover_shot": {
+ "description": "URL of the listing's cover photo.",
+ "example": "https://di2ponv0v5otw.cloudfront.net/posts/2026/06/27/6a3fed1de9c77df92e2c0cc6/s_6a3fed24bd4ce3ff762126e5.jpg",
"type": "string"
- }
- },
- "type": "object"
- },
- "seatgeek.Venue": {
- "properties": {
- "capacity": {
- "type": "integer"
},
- "city": {
+ "created_at": {
+ "description": "Time the listing was created, in ISO 8601 with a UTC offset.",
+ "example": "2026-06-27T08:32:58-07:00",
"type": "string"
},
- "country": {
- "example": "US",
+ "department": {
+ "description": "Poshmark department of the item, for example `Women`.",
+ "example": "Women",
"type": "string"
},
- "display_location": {
- "example": "Los Angeles, CA",
+ "description": {
+ "description": "Seller's description of the item. Set on the listing detail response.",
"type": "string"
},
- "has_upcoming_events": {
- "type": "boolean"
+ "first_available_at": {
+ "description": "Time the listing first became available for sale, as Poshmark reports it.",
+ "type": "string"
},
"id": {
- "type": "integer"
- },
- "location": {
- "$ref": "#/definitions/seatgeek.GeoLocation"
+ "description": "Poshmark listing id. Use it with the listing endpoint.",
+ "example": "6a3fed1de9c77df92e2c0cc6",
+ "type": "string"
},
- "name": {
+ "inventory_status": {
+ "description": "Availability status of the item, for example `available`.",
+ "example": "available",
"type": "string"
},
- "num_upcoming_events": {
+ "like_count": {
+ "description": "Number of members who liked the listing.",
+ "example": 111,
"type": "integer"
},
- "popularity": {
+ "original_price": {
+ "description": "Original retail price the seller entered for the item.",
+ "example": 95,
"type": "number"
},
- "postal_code": {
- "type": "string"
+ "pictures": {
+ "description": "URLs of all photos on the listing. Set on the listing detail response.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "score": {
+ "price": {
+ "description": "Current asking price of the listing.",
+ "example": 55,
"type": "number"
},
- "slug": {
+ "quantity_available": {
+ "description": "Total number of units still available across all sizes.",
+ "example": 1,
+ "type": "integer"
+ },
+ "seller": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/poshmark.Seller"
+ }
+ ],
+ "description": "Public profile of the seller. Omitted when Poshmark's page does not include it."
+ },
+ "seller_display_handle": {
+ "description": "Display handle of the seller who posted the listing.",
+ "example": "maltimar",
"type": "string"
},
- "state": {
+ "seller_full_name": {
+ "description": "Display name of the seller who posted the listing.",
+ "example": "Mary Altimar",
"type": "string"
},
- "stats": {
- "$ref": "#/definitions/seatgeek.VenueStats"
+ "seller_picture_url": {
+ "description": "Profile picture URL of the seller who posted the listing.",
+ "type": "string"
},
- "timezone": {
- "example": "America/New_York",
+ "seller_username": {
+ "description": "Username of the seller who posted the listing.",
+ "example": "maltimar",
+ "type": "string"
+ },
+ "share_count": {
+ "description": "Number of times the listing was shared.",
+ "example": 13,
+ "type": "integer"
+ },
+ "similar_listings": {
+ "description": "Similar listings Poshmark shows on the same page. Omitted when the page has none.",
+ "items": {
+ "$ref": "#/definitions/poshmark.Listing"
+ },
+ "type": "array"
+ },
+ "size": {
+ "description": "Size of the item as entered by the seller.",
+ "example": "S",
+ "type": "string"
+ },
+ "source_url": {
+ "description": "URL the data was read from.",
+ "type": "string"
+ },
+ "status": {
+ "description": "Publication status of the listing, for example `published`.",
+ "example": "published",
+ "type": "string"
+ },
+ "title": {
+ "description": "Listing title as shown on Poshmark.",
+ "example": "NWT Farm Rio Shorts",
"type": "string"
},
"url": {
+ "description": "Poshmark page URL of the listing.",
+ "example": "https://poshmark.com/listing/6a3fed1de9c77df92e2c0cc6",
"type": "string"
}
},
"type": "object"
},
- "seatgeek.VenueEventsResult": {
+ "poshmark.RatingBreakdown": {
"properties": {
- "events": {
- "items": {
- "$ref": "#/definitions/seatgeek.Event"
- },
- "type": "array"
+ "five_star": {
+ "description": "Number of 5-star ratings the seller received.",
+ "example": 355,
+ "type": "integer"
},
- "page": {
+ "four_star": {
+ "description": "Number of 4-star ratings the seller received.",
+ "example": 7,
"type": "integer"
},
- "per_page": {
+ "one_star": {
+ "description": "Number of 1-star ratings the seller received.",
+ "example": 1,
"type": "integer"
},
- "total": {
+ "three_star": {
+ "description": "Number of 3-star ratings the seller received.",
+ "example": 2,
"type": "integer"
},
- "venue_id": {
+ "two_star": {
+ "description": "Number of 2-star ratings the seller received.",
+ "example": 3,
"type": "integer"
}
},
"type": "object"
},
- "seatgeek.VenueStats": {
+ "poshmark.SearchResponse": {
"properties": {
- "event_count": {
+ "has_more": {
+ "example": true,
+ "type": "boolean"
+ },
+ "listings": {
+ "items": {
+ "$ref": "#/definitions/poshmark.Listing"
+ },
+ "type": "array"
+ },
+ "next_max_id": {
+ "example": "ENC_eyJtYXhfaWRzIjpbNDksMSwxXSwicGFnZV9udW0iOjIsInBhZ2VfZ3JvdXBfaWQiOiI2YTcyZTE3OTI1MzYyMTUzMDNhMmVmMWEifQ",
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "total": {
+ "example": 120000,
"type": "integer"
}
},
"type": "object"
},
- "seatgeek.categoriesResponseDoc": {
+ "poshmark.Seller": {
"properties": {
- "code": {
- "example": 200,
+ "cover_shot_url": {
+ "description": "URL of the seller's closet cover image.",
+ "type": "string"
+ },
+ "display_handle": {
+ "description": "Seller's display handle on Poshmark.",
+ "example": "maltimar",
+ "type": "string"
+ },
+ "followers": {
+ "description": "Number of members following the seller.",
+ "example": 9096,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/seatgeek.CategoriesResult"
+ "following": {
+ "description": "Number of members the seller follows.",
+ "example": 89,
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "full_name": {
+ "description": "Seller's display name.",
+ "example": "Mary Altimar",
"type": "string"
- }
- },
- "type": "object"
- },
- "seatgeek.citiesResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ },
+ "id": {
+ "description": "Poshmark user id of the seller.",
+ "example": "5a4f84cb7d70fb0f0f05a37f",
+ "type": "string"
+ },
+ "items_sold_display": {
+ "description": "Items sold as Poshmark displays it, for example `500+`.",
+ "example": "500+",
+ "type": "string"
+ },
+ "last_active_at": {
+ "description": "Time the seller was last active, in ISO 8601 with a UTC offset.",
+ "example": "2026-08-04T19:52:16-07:00",
+ "type": "string"
+ },
+ "member_since": {
+ "description": "Time the seller joined Poshmark, in ISO 8601 with a UTC offset.",
+ "example": "2018-01-05T05:59:39-08:00",
+ "type": "string"
+ },
+ "orders_shipped": {
+ "description": "Number of orders the seller has shipped.",
+ "example": 522,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/seatgeek.CitiesResult"
+ "picture_url": {
+ "description": "URL of the seller's profile picture.",
+ "example": "https://di2ponv0v5otw.cloudfront.net/users/2018/04/23/5a4f84cb7d70fb0f0f05a37f/t_5ade0fdbd0492dff500c741a.jpg",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "posts_count": {
+ "description": "Number of listings the seller has posted.",
+ "example": 698,
+ "type": "integer"
+ },
+ "rating_average": {
+ "description": "Average of the seller's star ratings, rounded to two decimals. Omitted when the seller has no ratings.",
+ "example": 4.93,
+ "type": "number"
+ },
+ "rating_breakdown": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/poshmark.RatingBreakdown"
+ }
+ ],
+ "description": "Number of ratings the seller received at each star level."
+ },
+ "rating_count": {
+ "description": "Total number of ratings the seller received.",
+ "example": 368,
+ "type": "integer"
+ },
+ "url": {
+ "description": "Poshmark closet URL of the seller.",
+ "example": "https://poshmark.com/closet/maltimar",
+ "type": "string"
+ },
+ "username": {
+ "description": "Seller's Poshmark username, as used in the closet URL.",
+ "example": "maltimar",
"type": "string"
}
},
"type": "object"
},
- "seatgeek.eventResponseDoc": {
+ "poshmark.TrendResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "cover_shot": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/seatgeek.Event"
+ "description": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "has_more": {
+ "example": true,
+ "type": "boolean"
+ },
+ "listings": {
+ "items": {
+ "$ref": "#/definitions/poshmark.Listing"
+ },
+ "type": "array"
+ },
+ "name": {
+ "example": "Vintage Celine Handbags",
+ "type": "string"
+ },
+ "next_max_id": {
+ "type": "string"
+ },
+ "source_url": {
"type": "string"
+ },
+ "total": {
+ "example": 5000,
+ "type": "integer"
}
},
"type": "object"
},
- "seatgeek.eventsByCategoryResponseDoc": {
+ "poshmark.brandsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/seatgeek.EventsByCategoryResult"
+ "$ref": "#/definitions/poshmark.BrandsResponse"
},
"msg": {
"example": "OK",
@@ -186802,14 +195699,14 @@
},
"type": "object"
},
- "seatgeek.eventsNearResponseDoc": {
+ "poshmark.categoriesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/seatgeek.EventsNearResult"
+ "$ref": "#/definitions/poshmark.CategoriesResponse"
},
"msg": {
"example": "OK",
@@ -186818,14 +195715,14 @@
},
"type": "object"
},
- "seatgeek.performerEventsResponseDoc": {
+ "poshmark.searchResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/seatgeek.PerformerEventsResult"
+ "$ref": "#/definitions/poshmark.SearchResponse"
},
"msg": {
"example": "OK",
@@ -186834,101 +195731,146 @@
},
"type": "object"
},
- "seatgeek.performerResponseDoc": {
+ "prada.CategoriesResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/prada.Category"
+ },
+ "type": "array"
},
- "data": {
- "$ref": "#/definitions/seatgeek.Performer"
+ "count": {
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "fetched_at": {
"type": "string"
+ },
+ "genders": {
+ "items": {
+ "$ref": "#/definitions/prada.FacetCount"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "seatgeek.searchResponseDoc": {
+ "prada.Category": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "id": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/seatgeek.SearchResult"
+ "name": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "path": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "path_ids": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "seatgeek.trendingResponseDoc": {
+ "prada.CategoryResponse": {
"properties": {
- "code": {
- "example": 200,
+ "category_id": {
+ "type": "string"
+ },
+ "count": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/seatgeek.TrendingResult"
+ "country": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "fetched_at": {
"type": "string"
- }
- },
- "type": "object"
- },
- "seatgeek.venueEventsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ },
+ "gender": {
+ "type": "string"
+ },
+ "limit": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/seatgeek.VenueEventsResult"
+ "page": {
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "products": {
+ "items": {
+ "$ref": "#/definitions/prada.Product"
+ },
+ "type": "array"
+ },
+ "sort": {
"type": "string"
+ },
+ "total_pages": {
+ "type": "integer"
+ },
+ "total_results": {
+ "type": "integer"
}
},
"type": "object"
},
- "seatgeek.venueResponseDoc": {
+ "prada.FacetCount": {
"properties": {
- "code": {
- "example": 200,
+ "count": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/seatgeek.Venue"
- },
- "msg": {
- "example": "OK",
+ "value": {
"type": "string"
}
},
"type": "object"
},
- "seattletimes.AuthorArticle": {
+ "prada.Product": {
"properties": {
- "category": {
+ "color": {
+ "type": "string"
+ },
+ "color_hex": {
+ "type": "string"
+ },
+ "currency": {
"type": "string"
},
+ "gender": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
"image_url": {
"type": "string"
},
- "published_at": {
+ "in_stock": {
+ "type": "boolean"
+ },
+ "material": {
"type": "string"
},
- "summary": {
+ "model": {
"type": "string"
},
- "title": {
+ "name": {
+ "type": "string"
+ },
+ "price": {
+ "type": "number"
+ },
+ "product_type": {
+ "type": "string"
+ },
+ "pv": {
"type": "string"
},
"url": {
@@ -186937,1117 +195879,1076 @@
},
"type": "object"
},
- "seattletimes.AuthorResponse": {
+ "prada.ProductColorOption": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/seattletimes.AuthorArticle"
- },
- "type": "array"
- },
- "bio": {
+ "code": {
"type": "string"
},
- "email": {
+ "hex": {
"type": "string"
},
"name": {
"type": "string"
},
- "slug": {
- "type": "string"
- },
- "twitter": {
- "type": "string"
- },
"url": {
"type": "string"
}
},
"type": "object"
},
- "sec.CompanyIntelligenceResponse": {
+ "prada.ProductResponse": {
"properties": {
- "degraded": {
- "description": "Enrichment sources requested through `enrich` that could not be returned.",
+ "breadcrumbs": {
"items": {
"type": "string"
},
"type": "array"
},
- "financial_snapshot": {
- "additionalProperties": {
- "format": "float64",
- "type": "number"
- },
- "description": "Latest annual figures keyed by `revenue`, `net_income`, `total_assets`, `total_liabilities`, `stockholders_equity` and `operating_cash_flow`, in the reporting currency.",
- "type": "object"
+ "color": {
+ "type": "string"
},
- "hiring": {
- "allOf": [
- {
- "$ref": "#/definitions/sec.HiringBlock"
- }
- ],
- "description": "Open-roles summary from the company's careers board. Present only when `enrich` includes `hiring` and data was available."
+ "color_hex": {
+ "type": "string"
},
- "latest_8k": {
- "allOf": [
- {
- "$ref": "#/definitions/sec.Filing"
- }
- ],
- "description": "Most recent 8-K material event filing."
+ "country": {
+ "type": "string"
},
- "latest_annual_10k": {
- "allOf": [
- {
- "$ref": "#/definitions/sec.Filing"
- }
- ],
- "description": "Most recent 10-K annual report filing."
+ "currency": {
+ "type": "string"
},
- "latest_quarterly_10q": {
- "allOf": [
- {
- "$ref": "#/definitions/sec.Filing"
- }
- ],
- "description": "Most recent 10-Q quarterly report filing."
+ "description": {
+ "type": "string"
},
- "market": {
- "allOf": [
- {
- "$ref": "#/definitions/sec.MarketBlock"
- }
- ],
- "description": "Optional cross-source enrichment (present only when requested via ?enrich=\nand the source succeeded). Degraded lists sources that were requested but\nunavailable (missing key/provider, upstream failure, or timeout)."
+ "discounted_price": {
+ "type": "number"
},
- "news": {
- "description": "Recent news headlines about the company. Present only when `enrich` includes `news` and headlines were available.",
+ "fetched_at": {
+ "type": "string"
+ },
+ "gender": {
"items": {
- "$ref": "#/definitions/sec.NewsItem"
+ "type": "string"
},
"type": "array"
},
- "profile": {
- "allOf": [
- {
- "$ref": "#/definitions/sec.CompanyProfile"
- }
- ],
- "description": "Company identity block with CIK, ticker, name and industry classification."
+ "images": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "recent_events": {
- "description": "Up to five most recent 8-K material event filings.",
+ "in_stock": {
+ "type": "boolean"
+ },
+ "material": {
+ "type": "string"
+ },
+ "model": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "other_colors": {
"items": {
- "$ref": "#/definitions/sec.EventFiling"
+ "$ref": "#/definitions/prada.ProductColorOption"
},
"type": "array"
},
- "snapshot_fiscal_year": {
- "description": "Fiscal year the `financial_snapshot` figures belong to.",
- "type": "integer"
+ "price": {
+ "type": "number"
},
- "snapshot_period_end": {
- "description": "Last day of the period covered by the `financial_snapshot`, in YYYY-MM-DD format.",
+ "product_type": {
"type": "string"
},
- "source_urls": {
- "description": "URLs of the SEC data sets the response was built from.",
+ "pv": {
+ "type": "string"
+ },
+ "sizes": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/prada.ProductSize"
},
"type": "array"
+ },
+ "stock_quantity": {
+ "type": "integer"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "sec.CompanyMatch": {
+ "prada.ProductSize": {
"properties": {
- "cik": {
- "description": "Company's SEC Central Index Key (CIK) number.",
- "example": 320193,
- "type": "integer"
- },
- "cik_padded": {
- "description": "CIK number padded to 10 digits with a `CIK` prefix, as used in SEC data URLs.",
- "example": "CIK0000320193",
- "type": "string"
- },
- "name": {
- "description": "Company name as registered with the SEC.",
- "example": "Apple Inc.",
+ "code": {
"type": "string"
},
- "ticker": {
- "description": "Stock ticker symbol of the company.",
- "example": "AAPL",
+ "label": {
"type": "string"
}
},
"type": "object"
},
- "sec.CompanyProfile": {
+ "prada.SearchResponse": {
"properties": {
- "cik": {
- "description": "Company's SEC Central Index Key (CIK) number.",
+ "count": {
"type": "integer"
},
- "name": {
- "description": "Company name as registered with the SEC.",
+ "country": {
"type": "string"
},
- "sic": {
- "description": "Standard Industrial Classification (SIC) code of the company.",
+ "fetched_at": {
"type": "string"
},
- "sic_description": {
- "description": "Text description of the SIC industry code.",
+ "gender": {
"type": "string"
},
- "ticker": {
- "description": "Primary stock ticker symbol of the company.",
- "type": "string"
+ "limit": {
+ "type": "integer"
},
- "tickers": {
- "description": "All ticker symbols the company trades under.",
- "items": {
- "type": "string"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "sec.CompanySearchResponse": {
- "properties": {
- "count": {
- "description": "Number of companies returned.",
- "example": 1,
+ "page": {
"type": "integer"
},
- "matches": {
- "description": "Companies matching the query, exact ticker match first.",
+ "products": {
"items": {
- "$ref": "#/definitions/sec.CompanyMatch"
+ "$ref": "#/definitions/prada.Product"
},
"type": "array"
},
"query": {
- "description": "Ticker or company name that was searched.",
- "example": "apple",
"type": "string"
},
- "source_url": {
- "description": "URL the data was read from.",
+ "sort": {
"type": "string"
+ },
+ "total_pages": {
+ "type": "integer"
+ },
+ "total_results": {
+ "type": "integer"
}
},
"type": "object"
},
- "sec.EventFiling": {
+ "prada.Store": {
"properties": {
- "accession_number": {
- "description": "SEC accession number that uniquely identifies the 8-K filing.",
- "type": "string"
+ "categories": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "filing_date": {
- "description": "Date the 8-K was filed, in YYYY-MM-DD format.",
+ "city": {
"type": "string"
},
- "items": {
- "description": "Item numbers the 8-K reports on, as EDGAR lists them.",
+ "country": {
"type": "string"
},
- "url": {
- "description": "Link to the filing's index page on sec.gov.",
- "type": "string"
- }
- },
- "type": "object"
- },
- "sec.Filing": {
- "properties": {
- "accession_number": {
- "description": "SEC accession number that uniquely identifies the filing.",
- "example": "0000320193-25-000081",
- "type": "string"
+ "distance_km": {
+ "type": "number"
},
- "description": {
- "description": "Short description of the main document, as EDGAR lists it.",
+ "hours": {
+ "items": {
+ "$ref": "#/definitions/prada.StoreDay"
+ },
+ "type": "array"
+ },
+ "id": {
"type": "string"
},
- "filing_date": {
- "description": "Date the filing was submitted to the SEC, in YYYY-MM-DD format.",
- "example": "2025-10-31",
+ "latitude": {
+ "type": "number"
+ },
+ "line1": {
"type": "string"
},
- "filing_index_url": {
- "description": "Link to the filing's index page on sec.gov.",
+ "line2": {
"type": "string"
},
- "form": {
- "description": "SEC form type of the filing, such as `10-K`, `10-Q` or `8-K`.",
- "example": "10-K",
+ "longitude": {
+ "type": "number"
+ },
+ "name": {
"type": "string"
},
- "is_xbrl": {
- "description": "Whether the filing includes XBRL financial data.",
+ "permanently_closed": {
"type": "boolean"
},
- "items": {
- "description": "Item numbers the filing covers, as EDGAR lists them.",
+ "phone": {
"type": "string"
},
- "primary_doc_url": {
- "description": "Link to the filing's main document on sec.gov.",
+ "postal_code": {
"type": "string"
},
- "primary_document": {
- "description": "File name of the filing's main document.",
+ "region": {
"type": "string"
},
- "report_date": {
- "description": "Period end date the filing reports on, in YYYY-MM-DD format.",
- "example": "2025-09-27",
- "type": "string"
+ "services": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "size": {
- "description": "Size of the filing's main document as EDGAR reports it.",
- "type": "integer"
+ "timezone": {
+ "type": "string"
}
},
"type": "object"
},
- "sec.FilingDocument": {
+ "prada.StoreDay": {
"properties": {
- "name": {
- "description": "File name of the document in the filing.",
+ "closed": {
+ "type": "boolean"
+ },
+ "day": {
"type": "string"
},
- "url": {
- "description": "Link to the document on sec.gov.",
+ "end": {
+ "type": "string"
+ },
+ "start": {
"type": "string"
}
},
"type": "object"
},
- "sec.FilingResponse": {
+ "prada.StoresResponse": {
"properties": {
- "accession_number": {
- "description": "SEC accession number that uniquely identifies the filing.",
- "example": "0000320193-25-000081",
+ "count": {
+ "type": "integer"
+ },
+ "fetched_at": {
"type": "string"
},
- "cik": {
- "description": "Company's SEC Central Index Key (CIK) number.",
+ "lat": {
+ "type": "number"
+ },
+ "limit": {
"type": "integer"
},
- "cik_padded": {
- "description": "CIK number padded to 10 digits with a `CIK` prefix, as used in SEC data URLs.",
- "type": "string"
+ "lng": {
+ "type": "number"
},
- "description": {
- "description": "Short description of the main document, as EDGAR lists it.",
+ "offset": {
+ "type": "integer"
+ },
+ "query": {
"type": "string"
},
- "documents": {
- "description": "Files that make up the filing.",
+ "radius_km": {
+ "type": "number"
+ },
+ "stores": {
"items": {
- "$ref": "#/definitions/sec.FilingDocument"
+ "$ref": "#/definitions/prada.Store"
},
"type": "array"
},
- "filing_date": {
- "description": "Date the filing was submitted to the SEC, in YYYY-MM-DD format.",
- "example": "2025-10-31",
- "type": "string"
+ "total_results": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "prada.SuggestResponse": {
+ "properties": {
+ "count": {
+ "type": "integer"
},
- "filing_index_url": {
- "description": "Link to the filing's index page on sec.gov.",
+ "fetched_at": {
"type": "string"
},
- "form": {
- "description": "SEC form type of the filing, such as `10-K`, `10-Q` or `8-K`.",
- "example": "10-K",
+ "query": {
"type": "string"
},
- "is_xbrl": {
- "description": "Whether the filing includes XBRL financial data.",
- "type": "boolean"
- },
- "items": {
- "description": "Item numbers the filing covers, as EDGAR lists them.",
- "type": "string"
+ "suggestions": {
+ "items": {
+ "$ref": "#/definitions/prada.Suggestion"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "prada.Suggestion": {
+ "properties": {
+ "popularity": {
+ "type": "integer"
},
- "name": {
- "description": "Company name as registered with the SEC.",
+ "query": {
"type": "string"
},
- "primary_doc_url": {
- "description": "Link to the filing's main document on sec.gov.",
- "type": "string"
+ "result_count": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "prada.categoriesResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "primary_document": {
- "description": "File name of the filing's main document.",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/prada.CategoriesResponse"
},
- "report_date": {
- "description": "Period end date the filing reports on, in YYYY-MM-DD format.",
- "example": "2025-09-27",
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "size": {
- "description": "Size of the filing's main document as EDGAR reports it.",
+ }
+ },
+ "type": "object"
+ },
+ "prada.categoryResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "source_url": {
- "description": "URL the data was read from.",
+ "data": {
+ "$ref": "#/definitions/prada.CategoryResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "sec.FilingSection": {
+ "prada.productResponseDoc": {
"properties": {
- "char_count": {
- "description": "Length of the full section text before any truncation.",
+ "code": {
+ "example": 200,
"type": "integer"
},
- "item": {
- "description": "Item number of the section in the filing, such as `1A` or `7`.",
- "example": "1A",
- "type": "string"
- },
- "text": {
- "description": "Plain text of the section, cut off at the `max_chars` limit.",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/prada.ProductResponse"
},
- "title": {
- "description": "Section heading, such as `Risk Factors`.",
- "example": "Risk Factors",
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "truncated": {
- "description": "Whether `text` was cut short because the section exceeded `max_chars`.",
- "type": "boolean"
}
},
"type": "object"
},
- "sec.FilingSectionsResponse": {
+ "prada.searchResponseDoc": {
"properties": {
- "accession_number": {
- "description": "SEC accession number that uniquely identifies the filing.",
- "type": "string"
- },
- "cik": {
- "description": "Company's SEC Central Index Key (CIK) number.",
+ "code": {
+ "example": 200,
"type": "integer"
},
- "count": {
- "description": "Number of sections returned.",
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/prada.SearchResponse"
},
- "document_url": {
- "description": "Link to the filing document the sections were taken from.",
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "prada.storesResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "form": {
- "description": "SEC form type of the filing, such as `10-K`.",
+ "data": {
+ "$ref": "#/definitions/prada.StoresResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "prada.suggestResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "sections": {
- "description": "Item sections extracted from the filing, in item order.",
- "items": {
- "$ref": "#/definitions/sec.FilingSection"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/prada.SuggestResponse"
},
- "source_url": {
- "description": "URL the data was read from.",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "sec.FinancialPeriod": {
+ "predictions.PredictionsAvailabilityRegion": {
"properties": {
- "currency": {
- "description": "ISO 4217 code of the currency the monetary lines are reported in.",
- "example": "USD",
+ "description": {
"type": "string"
},
- "end_date": {
- "description": "Last day of the period, in YYYY-MM-DD format.",
+ "name": {
"type": "string"
},
- "fiscal_period": {
- "description": "Fiscal period covered, such as `FY` for a full year.",
- "example": "FY",
+ "region_id": {
"type": "string"
},
- "fiscal_year": {
- "description": "Fiscal year the period belongs to.",
- "type": "integer"
+ "status": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/predictions.PredictionsAvailabilityStatus"
+ }
+ ],
+ "enum": [
+ "all_markets_available",
+ "financial_markets_only",
+ "sports_markets_unavailable",
+ "no_markets_available"
+ ]
},
- "form": {
- "description": "SEC form type that reported the figures, such as `10-K`.",
+ "status_description": {
"type": "string"
},
- "lines": {
- "additionalProperties": {
- "format": "float64",
- "type": "number"
- },
- "description": "Statement line values for the period, keyed by line name such as `revenue`.",
- "type": "object"
- },
- "ratios": {
- "additionalProperties": {
- "format": "float64",
- "type": "number"
- },
- "description": "Ratios are computed, normalized metrics derived from the lines (margins,\ncurrent ratio, debt-to-equity, free cash flow, YoY revenue growth) — a\nvalue-add over the raw statement figures.",
- "type": "object"
+ "status_label": {
+ "type": "string"
}
},
"type": "object"
},
- "sec.FinancialsResponse": {
+ "predictions.PredictionsAvailabilityResponse": {
"properties": {
- "cik": {
- "description": "Company's SEC Central Index Key (CIK) number.",
- "type": "integer"
- },
- "line_order": {
- "description": "Statement line names in the order they appear on the statement.",
- "items": {
- "type": "string"
- },
- "type": "array"
+ "fetched_at": {
+ "type": "string"
},
- "name": {
- "description": "Company name as registered with the SEC.",
+ "map_note": {
"type": "string"
},
- "period": {
- "description": "Period type returned: `annual` or `quarterly`.",
- "example": "annual",
+ "map_title": {
"type": "string"
},
- "periods": {
- "description": "Reporting periods, newest first.",
+ "region_count": {
+ "type": "integer"
+ },
+ "regions": {
"items": {
- "$ref": "#/definitions/sec.FinancialPeriod"
+ "$ref": "#/definitions/predictions.PredictionsAvailabilityRegion"
},
"type": "array"
},
"source_url": {
- "description": "URL the data was read from.",
- "type": "string"
- },
- "statement": {
- "description": "Statement returned: `income`, `balance` or `cash_flow`.",
- "example": "income",
- "type": "string"
- },
- "ticker": {
- "description": "Stock ticker symbol of the company.",
"type": "string"
}
},
"type": "object"
},
- "sec.FrameFact": {
+ "predictions.PredictionsAvailabilityStatus": {
+ "enum": [
+ "all_markets_available",
+ "financial_markets_only",
+ "sports_markets_unavailable",
+ "no_markets_available"
+ ],
+ "type": "string",
+ "x-enum-varnames": [
+ "PredictionsAvailabilityAllMarketsAvailable",
+ "PredictionsAvailabilityFinancialMarketsOnly",
+ "PredictionsAvailabilitySportsMarketsUnavailable",
+ "PredictionsAvailabilityNoMarketsAvailable"
+ ]
+ },
+ "predictions.PredictionsCategoriesResponse": {
"properties": {
- "accession_number": {
- "description": "SEC accession number of the filing that reported the value.",
- "type": "string"
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/predictions.PredictionsCategory"
+ },
+ "type": "array"
},
- "cik": {
- "description": "Reporting company's SEC Central Index Key (CIK) number.",
+ "count": {
"type": "integer"
},
- "end": {
- "description": "Last day of the period the value covers, in YYYY-MM-DD format.",
- "type": "string"
- },
- "entity_name": {
- "description": "Name of the reporting company.",
+ "fetched_at": {
"type": "string"
},
- "form": {
- "description": "SEC form type of the filing that reported the value.",
- "type": "string"
+ "league_count": {
+ "type": "integer"
},
- "start": {
- "description": "First day of the period the value covers, in YYYY-MM-DD format.",
+ "source_url": {
"type": "string"
- },
- "value": {
- "description": "Value the company reported for the concept, in the unit given by `unit`.",
- "type": "number"
}
},
"type": "object"
},
- "sec.FramesResponse": {
+ "predictions.PredictionsCategory": {
"properties": {
- "concept": {
- "description": "XBRL concept tag that was queried, such as `Assets`.",
- "example": "Assets",
+ "id": {
"type": "string"
},
- "count": {
- "description": "Number of facts returned.",
- "type": "integer"
- },
- "facts": {
- "description": "One reported value per company for the concept and frame.",
+ "leagues": {
"items": {
- "$ref": "#/definitions/sec.FrameFact"
+ "$ref": "#/definitions/predictions.PredictionsLeague"
},
"type": "array"
},
- "period": {
- "description": "Reporting frame that was queried, such as `CY2024Q4I`.",
- "example": "CY2024Q4I",
+ "name": {
"type": "string"
},
- "source_url": {
- "description": "URL the data was read from.",
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "predictions.PredictionsLeague": {
+ "properties": {
+ "id": {
"type": "string"
},
- "taxonomy": {
- "description": "XBRL taxonomy the concept belongs to, such as `us-gaap`.",
- "example": "us-gaap",
+ "name": {
"type": "string"
},
- "total": {
- "description": "Number of companies that reported the concept for the frame.",
- "type": "integer"
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "predictions.PredictionsRuleSource": {
+ "properties": {
+ "name": {
+ "type": "string"
},
- "unit": {
- "description": "Unit of the reported values, such as `USD`.",
- "example": "USD",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "sec.FullTextHit": {
+ "predictions.PredictionsRulesResponse": {
"properties": {
- "accession_number": {
- "description": "SEC accession number of the filing that contains the match.",
+ "fetched_at": {
"type": "string"
},
- "cik": {
- "description": "SEC Central Index Key (CIK) number of the filing company.",
+ "rule_source_count": {
"type": "integer"
},
- "company_names": {
- "description": "Names of the companies named on the filing, as EDGAR lists them.",
+ "rule_sources": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/predictions.PredictionsRuleSource"
},
"type": "array"
},
- "document_url": {
- "description": "Link to the matching document on sec.gov.",
- "type": "string"
+ "settlement_category_count": {
+ "type": "integer"
},
- "filed_at": {
- "description": "Date the filing was submitted, in YYYY-MM-DD format.",
- "type": "string"
+ "settlement_link_count": {
+ "type": "integer"
},
- "form": {
- "description": "SEC form type of the matching document, such as `10-K`.",
+ "settlement_sources": {
+ "items": {
+ "$ref": "#/definitions/predictions.PredictionsSettlementSource"
+ },
+ "type": "array"
+ },
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "sec.FullTextSearchResponse": {
+ "predictions.PredictionsSettlementSource": {
"properties": {
- "count": {
- "description": "Number of hits returned on this page.",
- "type": "integer"
+ "category": {
+ "type": "string"
},
- "hits": {
- "description": "Filing documents that match the query.",
+ "links": {
"items": {
- "$ref": "#/definitions/sec.FullTextHit"
+ "$ref": "#/definitions/predictions.PredictionsRuleSource"
},
"type": "array"
- },
- "page": {
- "description": "Page number returned, starting at 1.",
+ }
+ },
+ "type": "object"
+ },
+ "predictions.predictionsAvailabilityResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "query": {
- "description": "Search text that was run.",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/predictions.PredictionsAvailabilityResponse"
},
- "source_url": {
- "description": "URL the data was read from.",
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "total": {
- "description": "Total number of matches reported by EDGAR full-text search.",
- "type": "integer"
}
},
"type": "object"
},
- "sec.HiringBlock": {
+ "predictions.predictionsCategoriesResponseDoc": {
"properties": {
- "new_last_30d": {
- "description": "Number of open roles posted in the last 30 days, among the roles sampled from the board.",
+ "code": {
+ "example": 200,
"type": "integer"
},
- "provider": {
- "description": "Applicant tracking system the open roles were read from, such as `greenhouse`.",
- "type": "string"
- },
- "remote_pct": {
- "description": "Share of open roles that are remote, in percent.",
- "type": "number"
+ "data": {
+ "$ref": "#/definitions/predictions.PredictionsCategoriesResponse"
},
- "source_url": {
- "description": "URL the hiring data was read from.",
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "predictions.predictionsRulesResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "top_departments": {
- "description": "Up to five departments with their open-role counts.",
- "items": {
- "$ref": "#/definitions/sec.NameCount"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/predictions.PredictionsRulesResponse"
},
- "total_open_roles": {
- "description": "Number of roles currently open on the careers board.",
- "type": "integer"
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "sec.Holding": {
+ "pricecharting.BigMover": {
"properties": {
- "cusip": {
- "description": "CUSIP identifier of the security.",
- "type": "string"
+ "change": {
+ "description": "Change is signed: US dollars when change_unit is usd, a percentage when\nit is percent.",
+ "type": "number"
},
- "investment_discretion": {
- "description": "Type of investment discretion the manager holds over the position, such as `SOLE` or `DFND`.",
+ "console": {
"type": "string"
},
- "issuer": {
- "description": "Name of the company that issued the security.",
+ "console_slug": {
"type": "string"
},
- "put_call": {
- "description": "Put or call, for option positions.",
- "type": "string"
+ "id": {
+ "type": "integer"
},
- "share_type": {
- "description": "`SH` when `shares` counts shares, `PRN` when it is a principal amount.",
+ "name": {
"type": "string"
},
- "shares": {
- "description": "Number of shares or principal amount held, depending on `share_type`.",
+ "price": {
"type": "number"
},
- "title_of_class": {
- "description": "Class of the security, such as `COM` for common stock.",
+ "slug": {
"type": "string"
},
- "value": {
- "description": "Market value of the position as reported in the 13F filing.",
- "type": "number"
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "sec.HoldingsResponse": {
+ "pricecharting.BigMoversResponse": {
"properties": {
- "accession_number": {
- "description": "SEC accession number of the 13F filing the holdings come from.",
- "type": "string"
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/pricecharting.Category"
+ },
+ "type": "array"
},
- "cik": {
- "description": "Institutional manager's SEC Central Index Key (CIK) number.",
- "type": "integer"
+ "category": {
+ "type": "string"
},
- "count": {
- "description": "Number of holdings returned.",
- "type": "integer"
+ "change_unit": {
+ "type": "string"
},
- "filing_date": {
- "description": "Date the 13F was filed, in YYYY-MM-DD format.",
+ "price_label": {
+ "description": "PriceLabel names the price column, for example Loose Price (the\nungraded price of a card).",
"type": "string"
},
- "holdings": {
- "description": "Positions from the filing, largest value first.",
+ "products": {
"items": {
- "$ref": "#/definitions/sec.Holding"
+ "$ref": "#/definitions/pricecharting.BigMover"
},
"type": "array"
},
- "manager_name": {
- "description": "Name of the institutional investment manager.",
+ "region": {
"type": "string"
},
- "report_date": {
- "description": "Quarter end date the holdings are reported for, in YYYY-MM-DD format.",
+ "sort": {
"type": "string"
},
- "source_url": {
- "description": "URL the data was read from.",
+ "title": {
"type": "string"
- },
- "total_holdings": {
- "description": "Number of positions in the filing, before the `limit` is applied.",
- "type": "integer"
- },
- "total_value": {
- "description": "Sum of the value of every position in the filing.",
- "type": "number"
}
},
"type": "object"
},
- "sec.InsiderResponse": {
+ "pricecharting.CategoriesResponse": {
"properties": {
- "cik": {
- "description": "Company's SEC Central Index Key (CIK) number.",
- "type": "integer"
- },
- "count": {
- "description": "Number of transactions returned.",
- "type": "integer"
- },
- "name": {
- "description": "Company name as registered with the SEC.",
- "type": "string"
- },
- "source_url": {
- "description": "URL the data was read from.",
- "type": "string"
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/pricecharting.Category"
+ },
+ "type": "array"
},
- "ticker": {
- "description": "Stock ticker symbol of the company.",
+ "category": {
"type": "string"
},
- "transactions": {
- "description": "Insider transactions from recent Form 3, 4 and 5 filings.",
+ "consoles": {
"items": {
- "$ref": "#/definitions/sec.InsiderTransaction"
+ "$ref": "#/definitions/pricecharting.Console"
},
"type": "array"
}
},
"type": "object"
},
- "sec.InsiderTransaction": {
+ "pricecharting.Category": {
"properties": {
- "accession_number": {
- "description": "SEC accession number that uniquely identifies the filing.",
- "type": "string"
- },
- "acquired_or_disposed": {
- "description": "`A` if the insider acquired the shares, `D` if disposed of them.",
- "type": "string"
- },
- "code": {
+ "name": {
"type": "string"
},
- "filing_date": {
- "description": "Date the filing was submitted to the SEC, in YYYY-MM-DD format.",
+ "slug": {
"type": "string"
- },
- "filing_url": {
- "description": "Link to the filing's index page on sec.gov.",
+ }
+ },
+ "type": "object"
+ },
+ "pricecharting.Console": {
+ "properties": {
+ "name": {
"type": "string"
},
- "form": {
- "description": "Ownership form type: `3`, `4`, `5` or an amendment such as `4/A`.",
+ "slug": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "pricecharting.ConsoleProduct": {
+ "properties": {
+ "complete_price": {
+ "type": "number"
},
- "is_director": {
- "description": "Whether the insider is a director of the company.",
- "type": "boolean"
- },
- "is_officer": {
- "description": "Whether the insider is an officer of the company.",
- "type": "boolean"
- },
- "is_ten_percent_owner": {
- "description": "Whether the insider owns more than 10 percent of the company's shares.",
- "type": "boolean"
- },
- "owner_name": {
- "description": "Name of the insider who filed.",
- "type": "string"
+ "id": {
+ "type": "integer"
},
- "owner_title": {
- "description": "Insider's job title at the company, as stated on the filing.",
+ "image_url": {
"type": "string"
},
- "price_per_share": {
- "description": "Price per share in the transaction.",
+ "loose_price": {
"type": "number"
},
- "security_title": {
- "description": "Title of the security traded, such as `Common Stock`.",
+ "name": {
"type": "string"
},
- "shares": {
- "description": "Number of shares in the transaction.",
+ "new_price": {
"type": "number"
},
- "shares_owned_after": {
- "description": "Number of shares the insider owns after the transaction.",
- "type": "number"
+ "slug": {
+ "type": "string"
},
- "transaction_date": {
- "description": "Date the transaction took place, in YYYY-MM-DD format.",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "sec.MarketBlock": {
+ "pricecharting.ConsoleResponse": {
"properties": {
- "change_percent": {
- "description": "Price change since the previous close, in percent.",
- "type": "number"
- },
- "currency": {
- "description": "Currency code the price is quoted in.",
+ "console": {
"type": "string"
},
- "day_high": {
- "description": "Highest share price of the current trading day.",
- "type": "number"
+ "cursor": {
+ "type": "integer"
},
- "day_low": {
- "description": "Lowest share price of the current trading day.",
- "type": "number"
+ "next_cursor": {
+ "type": "integer"
},
- "market_cap": {
- "description": "Market capitalisation of the company.",
- "type": "number"
+ "price_labels": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "name": {
- "description": "Company name shown with the quote.",
- "type": "string"
+ "products": {
+ "items": {
+ "$ref": "#/definitions/pricecharting.ConsoleProduct"
+ },
+ "type": "array"
},
- "price": {
- "description": "Latest share price, in `currency`.",
- "type": "number"
+ "sort": {
+ "type": "string"
},
- "symbol": {
- "description": "Ticker symbol of the quote.",
+ "title": {
"type": "string"
}
},
"type": "object"
},
- "sec.NameCount": {
+ "pricecharting.GradeCount": {
"properties": {
"count": {
- "description": "Number of open roles in the department.",
"type": "integer"
},
- "name": {
- "description": "Name of the department.",
- "type": "string"
+ "grade": {
+ "type": "integer"
}
},
"type": "object"
},
- "sec.NewsItem": {
+ "pricecharting.Population": {
"properties": {
- "published_at": {
- "description": "Time the article was published.",
- "type": "string"
+ "cgc": {
+ "items": {
+ "$ref": "#/definitions/pricecharting.GradeCount"
+ },
+ "type": "array"
},
- "publisher": {
- "description": "Name of the outlet that published the article.",
- "type": "string"
+ "psa": {
+ "items": {
+ "$ref": "#/definitions/pricecharting.GradeCount"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "pricecharting.PriceCell": {
+ "properties": {
+ "change": {
+ "type": "number"
},
- "title": {
- "description": "Headline of the news article.",
+ "label": {
"type": "string"
},
- "url": {
- "description": "Link to the article.",
- "type": "string"
+ "price": {
+ "type": "number"
}
},
"type": "object"
},
- "sec.SubmissionsResponse": {
+ "pricecharting.PriceHistoryResponse": {
"properties": {
- "category": {
- "description": "SEC filer category, such as `Large accelerated filer`.",
- "example": "Large accelerated filer",
- "type": "string"
- },
- "cik": {
- "description": "Company's SEC Central Index Key (CIK) number.",
- "example": 320193,
- "type": "integer"
- },
- "cik_padded": {
- "description": "CIK number padded to 10 digits with a `CIK` prefix, as used in SEC data URLs.",
- "example": "CIK0000320193",
+ "currency": {
"type": "string"
},
- "count": {
- "description": "Number of filings returned.",
- "type": "integer"
+ "population": {
+ "$ref": "#/definitions/pricecharting.Population"
},
- "entity_type": {
- "description": "Type of filer, such as `operating`.",
- "example": "operating",
- "type": "string"
+ "product": {
+ "$ref": "#/definitions/pricecharting.ProductRef"
},
- "exchanges": {
- "description": "Stock exchanges the company is listed on, such as `Nasdaq`.",
- "example": [
- "Nasdaq"
- ],
+ "series": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/pricecharting.PriceSeries"
},
"type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "pricecharting.PricePoint": {
+ "properties": {
+ "date": {
+ "description": "Date is the first day of the month the price describes (YYYY-MM-DD).",
+ "type": "string"
},
- "filings": {
- "description": "Company's filings, newest first, after applying the form and date filters.",
+ "price": {
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "pricecharting.PriceSeries": {
+ "properties": {
+ "label": {
+ "description": "Label is the column's name on this product, for example Ungraded, Grade 9\nor PSA 10 on a card and Loose, Complete or New on a game.",
+ "type": "string"
+ },
+ "points": {
"items": {
- "$ref": "#/definitions/sec.Filing"
+ "$ref": "#/definitions/pricecharting.PricePoint"
},
"type": "array"
},
- "fiscal_year_end": {
- "description": "Last day of the company's fiscal year in MMDD format, such as `0930`.",
- "example": "0930",
+ "tab": {
+ "description": "Tab is the column's sales tab id, the same value as recent_sales[].tab in\npricecharting-product: used, cib, new, graded, box-only or manual-only.",
"type": "string"
- },
- "former_names": {
- "description": "Names the company has previously filed under.",
- "items": {
+ }
+ },
+ "type": "object"
+ },
+ "pricecharting.Product": {
+ "properties": {
+ "attributes": {
+ "additionalProperties": {
"type": "string"
},
- "type": "array"
+ "type": "object"
},
- "name": {
- "description": "Company name as registered with the SEC.",
- "example": "Apple Inc.",
+ "console": {
"type": "string"
},
- "sic": {
- "description": "Standard Industrial Classification (SIC) code of the company.",
+ "console_slug": {
"type": "string"
},
- "sic_description": {
- "description": "Text description of the SIC industry code.",
- "type": "string"
+ "full_prices": {
+ "items": {
+ "$ref": "#/definitions/pricecharting.PriceCell"
+ },
+ "type": "array"
},
- "source_url": {
- "description": "URL the data was read from.",
+ "id": {
+ "type": "integer"
+ },
+ "image_url": {
"type": "string"
},
- "state_of_incorporation": {
- "description": "Code of the state or country where the company is incorporated.",
- "example": "CA",
+ "name": {
"type": "string"
},
- "tickers": {
- "description": "Ticker symbols the company trades under.",
+ "prices": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/pricecharting.PriceCell"
+ },
+ "type": "array"
+ },
+ "recent_sales": {
+ "items": {
+ "$ref": "#/definitions/pricecharting.Sale"
},
"type": "array"
+ },
+ "slug": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "sec.companySearchResponseDoc": {
+ "pricecharting.ProductRef": {
"properties": {
- "code": {
- "example": 200,
+ "console": {
+ "type": "string"
+ },
+ "console_slug": {
+ "type": "string"
+ },
+ "id": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/sec.CompanySearchResponse"
+ "name": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "slug": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "sec.filingResponseDoc": {
+ "pricecharting.ProductResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "product": {
+ "$ref": "#/definitions/pricecharting.Product"
+ }
+ },
+ "type": "object"
+ },
+ "pricecharting.Sale": {
+ "properties": {
+ "date": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/sec.FilingResponse"
+ "grade": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "item_id": {
+ "type": "string"
+ },
+ "item_url": {
+ "type": "string"
+ },
+ "price": {
+ "type": "number"
+ },
+ "source": {
+ "type": "string"
+ },
+ "tab": {
+ "type": "string"
+ },
+ "title": {
"type": "string"
}
},
"type": "object"
},
- "sec.filingSectionsResponseDoc": {
+ "pricecharting.SearchProduct": {
"properties": {
- "code": {
- "example": 200,
+ "category": {
+ "type": "string"
+ },
+ "complete_price": {
+ "type": "number"
+ },
+ "console": {
+ "type": "string"
+ },
+ "console_uid": {
+ "type": "string"
+ },
+ "id": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/sec.FilingSectionsResponse"
+ "image_url": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "loose_price": {
+ "type": "number"
+ },
+ "name": {
"type": "string"
+ },
+ "new_price": {
+ "type": "number"
}
},
"type": "object"
},
- "sec.financialsResponseDoc": {
+ "pricecharting.SearchResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "products": {
+ "items": {
+ "$ref": "#/definitions/pricecharting.SearchProduct"
+ },
+ "type": "array"
},
- "data": {
- "$ref": "#/definitions/sec.FinancialsResponse"
+ "query": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "sort": {
"type": "string"
+ },
+ "total": {
+ "type": "integer"
}
},
"type": "object"
},
- "sec.framesResponseDoc": {
+ "pricecharting.bigMoversResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/sec.FramesResponse"
+ "$ref": "#/definitions/pricecharting.BigMoversResponse"
},
"msg": {
"example": "OK",
@@ -188056,14 +196957,14 @@
},
"type": "object"
},
- "sec.fullTextResponseDoc": {
+ "pricecharting.categoriesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/sec.FullTextSearchResponse"
+ "$ref": "#/definitions/pricecharting.CategoriesResponse"
},
"msg": {
"example": "OK",
@@ -188072,14 +196973,14 @@
},
"type": "object"
},
- "sec.holdingsResponseDoc": {
+ "pricecharting.consoleResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/sec.HoldingsResponse"
+ "$ref": "#/definitions/pricecharting.ConsoleResponse"
},
"msg": {
"example": "OK",
@@ -188088,14 +196989,14 @@
},
"type": "object"
},
- "sec.insiderResponseDoc": {
+ "pricecharting.priceHistoryResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/sec.InsiderResponse"
+ "$ref": "#/definitions/pricecharting.PriceHistoryResponse"
},
"msg": {
"example": "OK",
@@ -188104,14 +197005,14 @@
},
"type": "object"
},
- "sec.intelligenceResponseDoc": {
+ "pricecharting.productResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/sec.CompanyIntelligenceResponse"
+ "$ref": "#/definitions/pricecharting.ProductResponse"
},
"msg": {
"example": "OK",
@@ -188120,14 +197021,14 @@
},
"type": "object"
},
- "sec.submissionsResponseDoc": {
+ "pricecharting.searchResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/sec.SubmissionsResponse"
+ "$ref": "#/definitions/pricecharting.SearchResponse"
},
"msg": {
"example": "OK",
@@ -188136,4065 +197037,4036 @@
},
"type": "object"
},
- "sephora.Answer": {
+ "pristineauction.AuctionStatus": {
"properties": {
- "author": {
- "type": "string"
- },
- "helpful_votes": {
- "type": "integer"
- },
- "id": {
- "type": "string"
- },
- "is_brand_answer": {
- "type": "boolean"
- },
- "not_helpful_votes": {
- "type": "integer"
- },
- "submitted_at": {
- "type": "string"
- },
- "text": {
+ "slug": {
+ "example": "completed",
"type": "string"
}
},
"type": "object"
},
- "sephora.Brand": {
+ "pristineauction.AuctionType": {
"properties": {
- "brand_id": {
- "example": "5644",
- "type": "string"
- },
- "is_new": {
- "type": "boolean"
- },
- "name": {
- "example": "Lancôme",
- "type": "string"
- },
"slug": {
- "example": "lancome",
+ "example": "daily",
"type": "string"
}
},
"type": "object"
},
- "sephora.BrandsResponse": {
+ "pristineauction.CategoriesResponse": {
"properties": {
- "brands": {
+ "auction_types": {
"items": {
- "$ref": "#/definitions/sephora.Brand"
+ "$ref": "#/definitions/pristineauction.AuctionType"
},
"type": "array"
},
- "fetched_at": {
- "type": "string"
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/pristineauction.Category"
+ },
+ "type": "array"
},
- "source_url": {
- "type": "string"
+ "sort": {
+ "items": {
+ "$ref": "#/definitions/pristineauction.SortOption"
+ },
+ "type": "array"
},
- "total_count": {
- "example": 373,
- "type": "integer"
+ "statuses": {
+ "items": {
+ "$ref": "#/definitions/pristineauction.AuctionStatus"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "sephora.CategoriesResponse": {
+ "pristineauction.Category": {
"properties": {
- "categories": {
- "items": {
- "$ref": "#/definitions/sephora.CategoryEntry"
- },
- "type": "array"
+ "count": {
+ "example": 8608,
+ "type": "integer"
},
- "fetched_at": {
+ "label": {
+ "example": "BASEBALL",
"type": "string"
},
- "source_url": {
+ "slug": {
+ "example": "baseball",
+ "type": "string"
+ },
+ "url": {
+ "example": "https://www.pristineauction.com/auction/category/baseball",
"type": "string"
}
},
"type": "object"
},
- "sephora.CategoryEntry": {
+ "pristineauction.LotDetailResponse": {
"properties": {
- "department": {
- "example": "makeup",
+ "auction_type": {
+ "example": "CARD AUCTION",
"type": "string"
},
- "group": {
- "example": "Eye",
+ "auction_type_url": {
"type": "string"
},
- "name": {
- "example": "Mascara",
+ "availability": {
+ "example": "InStock",
"type": "string"
},
- "slug": {
- "example": "mascara",
+ "category": {
+ "example": "trading-cards",
"type": "string"
- }
- },
- "type": "object"
- },
- "sephora.CategoryResponse": {
- "properties": {
- "brand": {
- "items": {
- "type": "string"
- },
- "type": "array"
},
- "category_id": {
+ "currency": {
+ "example": "USD",
"type": "string"
},
- "count": {
- "type": "integer"
- },
- "display_name": {
- "example": "Makeup",
+ "description": {
"type": "string"
},
- "fetched_at": {
+ "ends_at": {
+ "example": "2026-09-21T03:00:00-07:00",
"type": "string"
},
- "filter": {
+ "images": {
"items": {
"type": "string"
},
"type": "array"
},
- "is_new": {
- "type": "boolean"
- },
- "page": {
- "example": 1,
+ "lot_number": {
+ "example": 13154611,
"type": "integer"
},
- "page_size": {
- "example": 60,
- "type": "integer"
+ "no_reserve": {
+ "type": "boolean"
},
- "price_max": {
- "type": "integer"
+ "price": {
+ "example": 256.66,
+ "type": "number"
},
- "price_min": {
- "type": "integer"
+ "sku": {
+ "example": "LOT-13154611",
+ "type": "string"
},
- "products": {
- "items": {
- "$ref": "#/definitions/sephora.SearchProduct"
- },
- "type": "array"
+ "title": {
+ "example": "Mickey Mantle 1969 Topps #500 (PSA 8) (MC)",
+ "type": "string"
},
- "rating_min": {
+ "total_bids": {
"type": "integer"
},
- "related_categories": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "slug": {
- "example": "makeup-cosmetics",
- "type": "string"
+ "total_views": {
+ "type": "integer"
},
- "sort_by": {
- "example": "featured",
- "type": "string"
+ "total_watching": {
+ "type": "integer"
},
- "source_url": {
+ "url": {
+ "example": "https://www.pristineauction.com/a13154611",
"type": "string"
- },
- "total_products": {
- "example": 2492,
- "type": "integer"
}
},
"type": "object"
},
- "sephora.FullReview": {
+ "pristineauction.LotSummary": {
"properties": {
- "author": {
+ "auction_type": {
+ "example": "CARD AUCTION",
"type": "string"
},
- "body": {
+ "auction_type_url": {
"type": "string"
},
- "helpful_votes": {
- "type": "integer"
- },
- "id": {
+ "currency": {
+ "example": "USD",
"type": "string"
},
- "location": {
+ "ends_at": {
+ "example": "2026-09-21T03:00:00Z",
"type": "string"
},
- "not_helpful_votes": {
- "type": "integer"
+ "high_bid": {
+ "example": 256.66,
+ "type": "number"
},
- "photo_urls": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "image_url": {
+ "type": "string"
},
- "rating": {
+ "lot_number": {
+ "example": 13154611,
"type": "integer"
},
- "ratings_only": {
- "description": "RatingsOnly marks a review that carries only a star rating with no\nwritten title/body -- Bazaarvoice allows these and this endpoint still\nsurfaces them.",
- "type": "boolean"
- },
- "recommended": {
+ "no_reserve": {
"type": "boolean"
},
- "secondary_ratings": {
- "items": {
- "$ref": "#/definitions/sephora.ReviewSecondaryRating"
- },
- "type": "array"
- },
- "submitted_at": {
+ "subtitle": {
+ "example": "Rookie Card",
"type": "string"
},
"title": {
+ "example": "Mickey Mantle 1969 Topps #500 (PSA 8) (MC)",
+ "type": "string"
+ },
+ "url": {
+ "example": "https://www.pristineauction.com/a13154611",
"type": "string"
}
},
"type": "object"
},
- "sephora.ProductQuestionsResponse": {
+ "pristineauction.SearchResponse": {
"properties": {
- "count": {
- "type": "integer"
- },
- "fetched_at": {
- "type": "string"
- },
"page": {
"type": "integer"
},
- "page_size": {
+ "per_page": {
"type": "integer"
},
- "product_id": {
- "type": "string"
- },
- "questions": {
+ "results": {
"items": {
- "$ref": "#/definitions/sephora.Question"
+ "$ref": "#/definitions/pristineauction.LotSummary"
},
"type": "array"
},
- "source_url": {
- "type": "string"
- },
- "total_pages": {
+ "total": {
"type": "integer"
},
- "total_questions": {
+ "total_pages": {
"type": "integer"
}
},
"type": "object"
},
- "sephora.ProductResponse": {
+ "pristineauction.SortOption": {
"properties": {
- "brand": {
- "example": "LANEIGE",
+ "slug": {
+ "example": "ending-soonest",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "pristineauction.categoriesResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "category": {
+ "data": {
+ "$ref": "#/definitions/pristineauction.CategoriesResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "pristineauction.lotDetailResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "description": {
+ "data": {
+ "$ref": "#/definitions/pristineauction.LotDetailResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "pristineauction.searchResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "fetched_at": {
+ "data": {
+ "$ref": "#/definitions/pristineauction.SearchResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "producthunt.LeaderboardAdItem": {
+ "properties": {
+ "channel_kind": {
+ "description": "Placement type of the ad, for example `feed`.",
"type": "string"
},
- "image": {
+ "id": {
+ "description": "Product Hunt ID of the ad.",
"type": "string"
},
- "name": {
+ "large_asset_uuid": {
+ "description": "Identifier of the large ad image on Product Hunt's image host.",
"type": "string"
},
- "product_group_id": {
- "example": "P420652",
+ "name": {
+ "description": "Name shown on the ad.",
"type": "string"
},
- "rating": {
- "example": 4.3,
- "type": "number"
+ "post": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/producthunt.LeaderboardAdPost"
+ }
+ ],
+ "description": "Launch post the ad promotes, when it promotes one."
},
- "review_count": {
- "type": "integer"
+ "small_asset_uuid": {
+ "description": "Identifier of the small ad image on Product Hunt's image host.",
+ "type": "string"
},
- "review_sample": {
- "items": {
- "$ref": "#/definitions/sephora.ReviewSample"
- },
- "type": "array"
+ "subject": {
+ "description": "Kind of ad entry as Product Hunt labels it, for example `Channel`.",
+ "type": "string"
},
- "source_url": {
+ "tagline": {
+ "description": "Short tagline shown on the ad.",
+ "type": "string"
+ },
+ "thumbnail_uuid": {
+ "description": "Identifier of the ad thumbnail image on Product Hunt's image host.",
"type": "string"
},
"url": {
+ "description": "Link the ad points to.",
"type": "string"
},
- "variants": {
- "items": {
- "$ref": "#/definitions/sephora.Variant"
- },
- "type": "array"
+ "variation_id": {
+ "description": "Identifier of the ad variation shown.",
+ "type": "string"
}
},
"type": "object"
},
- "sephora.ProductReviewsResponse": {
+ "producthunt.LeaderboardAdPost": {
"properties": {
- "average_rating": {
- "type": "number"
- },
- "count": {
+ "comments_count": {
+ "description": "Number of comments on the launch.",
"type": "integer"
},
- "fetched_at": {
+ "created_at": {
+ "description": "ISO 8601 timestamp of when the launch was created.",
"type": "string"
},
- "page": {
- "type": "integer"
- },
- "page_size": {
- "type": "integer"
+ "disabled_when_scheduled": {
+ "description": "Whether upvoting is disabled while the launch is scheduled.",
+ "type": "boolean"
},
- "product_id": {
+ "embargo_preview_at": {
+ "description": "ISO 8601 timestamp of the embargo preview, when the launch has one.",
"type": "string"
},
- "rating_count": {
- "description": "RatingCount, AverageRating, RecommendedRatio, and RatingHistogram are\nthe product's site-wide aggregate rating summary, not just this page --\nabsent (zero-valued) for a product with no reviews yet.",
- "type": "integer"
+ "featured_at": {
+ "description": "ISO 8601 timestamp of when Product Hunt featured the launch.",
+ "type": "string"
},
- "rating_histogram": {
- "description": "RatingHistogram is the count of ratings per star, ascending: index 0 is\n1-star, index 4 is 5-star.",
- "items": {
- "type": "integer"
- },
- "type": "array"
+ "featured_comment": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/producthunt.ProductCategoryAdComment"
+ }
+ ],
+ "description": "Comment Product Hunt features on the launch."
},
- "recommended_ratio": {
- "type": "number"
+ "has_voted": {
+ "description": "Whether the viewer has upvoted this launch.",
+ "type": "boolean"
},
- "reviews": {
- "items": {
- "$ref": "#/definitions/sephora.FullReview"
- },
- "type": "array"
+ "hide_votes_count": {
+ "description": "Whether the maker hides the vote count for this launch.",
+ "type": "boolean"
},
- "source_url": {
+ "id": {
+ "description": "Product Hunt ID of the promoted launch post.",
"type": "string"
},
- "total_pages": {
+ "latest_score": {
+ "description": "Current upvote score of the launch.",
"type": "integer"
},
- "total_reviews": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "sephora.Question": {
- "properties": {
- "answer_count": {
+ "launch_day_score": {
+ "description": "Upvote score the launch had on its launch day.",
"type": "integer"
},
- "answers": {
- "items": {
- "$ref": "#/definitions/sephora.Answer"
- },
- "type": "array"
- },
- "author": {
+ "name": {
+ "description": "Name of the promoted launch.",
"type": "string"
},
- "has_best_answer": {
- "type": "boolean"
+ "product": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/producthunt.LeaderboardProductRef"
+ }
+ ],
+ "description": "Product the launch belongs to."
},
- "id": {
- "type": "string"
+ "randomization_status": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/producthunt.LeaderboardRandomizationStatus"
+ }
+ ],
+ "description": "Whether and when Product Hunt randomizes where this launch appears."
},
- "submitted_at": {
+ "slug": {
+ "description": "URL slug of the promoted launch post.",
"type": "string"
},
- "text": {
+ "topics": {
+ "description": "Topics the launch is tagged with.",
+ "items": {
+ "$ref": "#/definitions/producthunt.LeaderboardTopic"
+ },
+ "type": "array"
+ },
+ "updated_at": {
+ "description": "ISO 8601 timestamp of the last update to the launch.",
"type": "string"
}
},
"type": "object"
},
- "sephora.ReviewSample": {
+ "producthunt.LeaderboardGhostItem": {
"properties": {
- "author": {
- "type": "string"
- },
- "body": {
- "type": "string"
- },
- "date_published": {
- "type": "string"
- },
"id": {
+ "description": "Product Hunt ID of the empty ad slot.",
"type": "string"
},
- "rating": {
- "type": "number"
- },
- "title": {
+ "subject": {
+ "description": "Kind of entry as Product Hunt labels it. Always `Ghost`.",
"type": "string"
}
},
"type": "object"
},
- "sephora.ReviewSecondaryRating": {
+ "producthunt.LeaderboardItem": {
"properties": {
- "max_value": {
- "example": 5,
- "type": "integer"
+ "ad": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/producthunt.LeaderboardAdItem"
+ }
+ ],
+ "description": "Ad details. Set when `type` is `ad`."
},
- "name": {
- "example": "Value",
- "type": "string"
+ "ghost_ad": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/producthunt.LeaderboardGhostItem"
+ }
+ ],
+ "description": "Empty ad slot details. Set when `type` is `ghost_ad`."
},
- "value": {
- "example": 4,
- "type": "integer"
+ "post": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/producthunt.LeaderboardPostItem"
+ }
+ ],
+ "description": "Launch details. Set when `type` is `post`."
+ },
+ "type": {
+ "description": "Kind of entry: `post` for a launch, `ad` for an ad or `ghost_ad` for an empty ad slot.",
+ "type": "string"
}
},
"type": "object"
},
- "sephora.SearchProduct": {
+ "producthunt.LeaderboardPage": {
"properties": {
- "brand_name": {
- "example": "tarte",
- "type": "string"
- },
- "image_url": {
- "type": "string"
- },
- "list_price": {
- "example": "$25.00",
- "type": "string"
- },
- "more_colors": {
- "type": "integer"
- },
- "product_id": {
- "example": "P520769",
- "type": "string"
- },
- "product_name": {
+ "connection": {
+ "description": "Name of the Product Hunt feed the items come from.",
"type": "string"
},
- "rating": {
- "example": 4.5,
- "type": "number"
- },
- "review_count": {
+ "day": {
+ "description": "Day of the month of the leaderboard period. Set for daily leaderboards.",
+ "example": 29,
"type": "integer"
},
- "sku_id": {
+ "end_cursor": {
+ "description": "Cursor that points to the end of this page, as Product Hunt returns it.",
"type": "string"
},
- "sponsored": {
+ "featured": {
+ "description": "Whether the leaderboard lists featured launches only.",
"type": "boolean"
},
- "url": {
- "type": "string"
- },
- "value_price": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "sephora.SearchResponse": {
- "properties": {
- "brand": {
+ "golden_kitty_years": {
+ "description": "Years that have a Golden Kitty Awards hall of fame entry.",
"items": {
- "type": "string"
+ "type": "integer"
},
"type": "array"
},
- "count": {
- "type": "integer"
- },
- "fetched_at": {
- "type": "string"
+ "has_next_page": {
+ "description": "Whether Product Hunt has more leaderboard items after this page.",
+ "type": "boolean"
},
- "filter": {
+ "items": {
+ "description": "Leaderboard entries in ranked order. Each one is a launch, an ad or an empty ad slot.",
"items": {
- "type": "string"
+ "$ref": "#/definitions/producthunt.LeaderboardItem"
},
"type": "array"
},
- "is_new": {
- "type": "boolean"
- },
- "page": {
+ "month": {
+ "description": "Month number from the requested date, 1 to 12. Only meaningful for daily and monthly leaderboards.",
"example": 1,
"type": "integer"
},
- "page_size": {
- "example": 60,
- "type": "integer"
- },
- "price_max": {
- "example": 30,
- "type": "integer"
- },
- "price_min": {
- "example": 15,
- "type": "integer"
+ "order": {
+ "description": "Ranking order the leaderboard uses, for example `DAILY_RANK`.",
+ "example": "DAILY_RANK",
+ "type": "string"
},
- "products": {
- "items": {
- "$ref": "#/definitions/sephora.SearchProduct"
- },
- "type": "array"
+ "raw_page_info": {
+ "additionalProperties": {},
+ "description": "Pagination details for this page as Product Hunt returns them: `endCursor` and `hasNextPage`.",
+ "type": "object"
},
- "query": {
- "example": "mascara",
+ "scope": {
+ "description": "Leaderboard period: `daily`, `weekly`, `monthly` or `yearly`.",
+ "example": "daily",
"type": "string"
},
- "rating_min": {
- "example": 4,
+ "total_count": {
+ "description": "Number of items returned on this page.",
"type": "integer"
},
- "related_searches": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "sort_by": {
- "example": "featured",
- "type": "string"
- },
- "source_url": {
- "type": "string"
+ "week": {
+ "description": "ISO week number from the requested date. Only meaningful for weekly leaderboards.",
+ "example": 5,
+ "type": "integer"
},
- "total_products": {
- "example": 180,
+ "year": {
+ "description": "Year of the leaderboard period.",
+ "example": 2026,
"type": "integer"
}
},
"type": "object"
},
- "sephora.Store": {
+ "producthunt.LeaderboardPostItem": {
"properties": {
- "address": {
- "$ref": "#/definitions/sephora.StoreAddress"
+ "comments_count": {
+ "description": "Number of comments on the launch.",
+ "type": "integer"
},
- "display_name": {
- "example": "STATE STREET",
+ "created_at": {
+ "description": "ISO 8601 timestamp of when the launch was created.",
"type": "string"
},
- "distance_miles": {
- "example": 0.2,
- "type": "number"
+ "daily_rank": {
+ "description": "Rank on the daily leaderboard. `0` when Product Hunt gives no rank.",
+ "type": "integer"
},
- "hours": {
- "$ref": "#/definitions/sephora.StoreHours"
+ "disabled_when_scheduled": {
+ "description": "Whether upvoting is disabled while the launch is scheduled.",
+ "type": "boolean"
},
- "is_bopisable": {
+ "embargo_preview_at": {
+ "description": "ISO 8601 timestamp of the embargo preview, when the launch has one.",
+ "type": "string"
+ },
+ "featured_at": {
+ "description": "ISO 8601 timestamp of when Product Hunt featured the launch.",
+ "type": "string"
+ },
+ "friend_voters_count": {
+ "description": "Number of the viewer's friends who upvoted the launch.",
+ "type": "integer"
+ },
+ "has_voted": {
+ "description": "Whether the viewer has upvoted this launch.",
"type": "boolean"
},
- "is_curbside_enabled": {
+ "hide_votes_count": {
+ "description": "Whether the maker hides the vote count for this launch.",
"type": "boolean"
},
- "is_online_reservation_enabled": {
+ "id": {
+ "description": "Product Hunt ID of the launch post.",
+ "type": "string"
+ },
+ "is_subscribed": {
+ "description": "Whether the viewer is subscribed to this launch.",
"type": "boolean"
},
- "latitude": {
- "type": "number"
+ "latest_score": {
+ "description": "Current upvote score of the launch.",
+ "type": "integer"
},
- "longitude": {
- "type": "number"
+ "launch_day_score": {
+ "description": "Upvote score the launch had on its launch day.",
+ "type": "integer"
},
- "same_day_delivery_enabled": {
- "type": "boolean"
+ "monthly_rank": {
+ "description": "Rank on the monthly leaderboard. `0` when Product Hunt gives no rank.",
+ "type": "integer"
},
- "store_id": {
- "example": "0662",
+ "name": {
+ "description": "Name of the launch as shown on the leaderboard.",
"type": "string"
},
- "store_type": {
- "example": "SEPHORA",
- "type": "string"
+ "product": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/producthunt.LeaderboardProductRef"
+ }
+ ],
+ "description": "Product the launch belongs to."
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "sephora.StoreAddress": {
- "properties": {
- "address1": {
+ "product_state": {
+ "description": "Product Hunt's state label for the product, for example `default`.",
"type": "string"
},
- "address2": {
- "type": "string"
+ "randomization_status": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/producthunt.LeaderboardRandomizationStatus"
+ }
+ ],
+ "description": "Whether and when Product Hunt randomizes where this launch appears."
},
- "city": {
+ "scheduled_at": {
+ "description": "ISO 8601 timestamp the launch is scheduled for.",
"type": "string"
},
- "country": {
+ "shortened_url": {
+ "description": "Short Product Hunt link to the launch.",
"type": "string"
},
- "mall_name": {
+ "slug": {
+ "description": "URL slug of the launch post.",
"type": "string"
},
- "phone": {
+ "tagline": {
+ "description": "Short tagline of the launch.",
"type": "string"
},
- "postal_code": {
+ "thumbnail_image_uuid": {
+ "description": "Identifier of the launch thumbnail image on Product Hunt's image host.",
"type": "string"
},
- "state": {
+ "topics": {
+ "description": "Topics the launch is tagged with.",
+ "items": {
+ "$ref": "#/definitions/producthunt.LeaderboardTopic"
+ },
+ "type": "array"
+ },
+ "updated_at": {
+ "description": "ISO 8601 timestamp of the last update to the launch.",
"type": "string"
+ },
+ "weekly_rank": {
+ "description": "Rank on the weekly leaderboard. `0` when Product Hunt gives no rank.",
+ "type": "integer"
}
},
"type": "object"
},
- "sephora.StoreHours": {
+ "producthunt.LeaderboardProductRef": {
"properties": {
- "friday": {
- "type": "string"
- },
- "monday": {
+ "id": {
+ "description": "Product Hunt ID of the product.",
"type": "string"
},
- "saturday": {
- "type": "string"
+ "is_no_longer_online": {
+ "description": "Whether Product Hunt marks the product as no longer online.",
+ "type": "boolean"
},
- "sunday": {
- "type": "string"
+ "is_subscribed": {
+ "description": "Whether the viewer follows this product.",
+ "type": "boolean"
},
- "thursday": {
- "type": "string"
+ "is_top_product": {
+ "description": "Whether Product Hunt marks this as a top product.",
+ "type": "boolean"
},
- "time_zone": {
- "example": "America/Chicago",
+ "logo_uuid": {
+ "description": "Identifier of the product logo on Product Hunt's image host.",
"type": "string"
},
- "tuesday": {
+ "name": {
+ "description": "Name of the product.",
"type": "string"
},
- "wednesday": {
+ "slug": {
+ "description": "URL slug of the product. Use it with the product endpoint.",
"type": "string"
}
},
"type": "object"
},
- "sephora.StoresResponse": {
+ "producthunt.LeaderboardRandomizationStatus": {
"properties": {
- "count": {
- "type": "integer"
+ "active": {
+ "description": "Whether randomization is currently in effect.",
+ "type": "boolean"
},
- "fetched_at": {
+ "next_transition_at": {
+ "description": "ISO 8601 timestamp of the next change to the randomization state, when there is one.",
"type": "string"
},
- "latitude": {
- "example": 41.88325,
- "type": "number"
- },
- "longitude": {
- "example": -87.6323879,
- "type": "number"
- },
- "radius": {
- "example": 50,
- "type": "integer"
- },
- "source_url": {
- "type": "string"
+ "random_day": {
+ "description": "Whether the launch day is randomized.",
+ "type": "boolean"
},
- "stores": {
- "items": {
- "$ref": "#/definitions/sephora.Store"
- },
- "type": "array"
+ "randomize_order": {
+ "description": "Whether the order of this launch among others is randomized.",
+ "type": "boolean"
}
},
"type": "object"
},
- "sephora.SuggestCategory": {
+ "producthunt.LeaderboardTopic": {
"properties": {
+ "id": {
+ "description": "Product Hunt ID of the topic.",
+ "type": "string"
+ },
"name": {
- "example": "Mascara",
+ "description": "Display name of the topic.",
"type": "string"
},
- "url": {
- "example": "https://www.sephora.com/shop/mascara",
+ "slug": {
+ "description": "URL slug of the topic.",
"type": "string"
}
},
"type": "object"
},
- "sephora.SuggestProduct": {
+ "producthunt.Product": {
"properties": {
- "brand_name": {
- "example": "ILIA",
+ "categories": {
+ "description": "Names of the Product Hunt categories the product belongs to.",
+ "example": [
+ "[\"Design\"",
+ "\"Productivity\"]"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "daily_rank": {
+ "description": "Daily leaderboard rank. `0` when Product Hunt shows none.",
+ "example": 1,
+ "type": "integer"
+ },
+ "date_published": {
+ "description": "Time the product was first published on Product Hunt, as an RFC 3339 timestamp.",
+ "example": "2024-07-21T12:34:56Z",
"type": "string"
},
- "image_url": {
+ "description": {
+ "description": "Description of the product from its Product Hunt page.",
+ "example": "Chronicle lets designers and developers review every iteration in one place.",
"type": "string"
},
- "product_id": {
- "example": "P431750",
+ "followers_count": {
+ "description": "Number of Product Hunt users following the product.",
+ "example": 2000,
+ "type": "integer"
+ },
+ "id": {
+ "description": "Product Hunt slug of the product. Use it with the product endpoint.",
+ "example": "chronicle-design",
"type": "string"
},
- "product_name": {
+ "monthly_rank": {
+ "description": "Monthly leaderboard rank from the product's awards. `0` when Product Hunt shows none.",
+ "example": 1,
+ "type": "integer"
+ },
+ "name": {
+ "description": "Name of the product.",
+ "example": "Chronicle",
"type": "string"
},
"rating": {
- "example": 4.1361,
+ "description": "Average review rating on Product Hunt, out of 5.",
+ "example": 4.8,
"type": "number"
},
"review_count": {
+ "description": "Number of reviews the product has on Product Hunt.",
+ "example": 152,
"type": "integer"
},
- "sku_id": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "sephora.SuggestResponse": {
- "properties": {
- "categories": {
+ "similar_products": {
+ "description": "Products Product Hunt lists as alternatives.",
"items": {
- "$ref": "#/definitions/sephora.SuggestCategory"
+ "$ref": "#/definitions/producthunt.SimilarProduct"
},
"type": "array"
},
- "fetched_at": {
- "type": "string"
- },
- "products": {
+ "social_links": {
+ "description": "Links to the product's social and app store pages, sorted alphabetically. Product Hunt's own links are left out.",
+ "example": [
+ "[\"https://twitter.com/chronicle\"",
+ "\"https://github.com/chronicle\"]"
+ ],
"items": {
- "$ref": "#/definitions/sephora.SuggestProduct"
+ "type": "string"
},
"type": "array"
},
- "query": {
- "example": "masc",
+ "tagline": {
+ "description": "Short tagline of the product.",
+ "example": "Visual version control for teams",
"type": "string"
},
- "source_url": {
+ "website": {
+ "description": "Product website address.",
+ "example": "https://chronicle.design",
"type": "string"
},
- "terms": {
- "items": {
- "$ref": "#/definitions/sephora.SuggestTerm"
- },
- "type": "array"
+ "weekly_rank": {
+ "description": "Weekly leaderboard rank from the product's awards. `0` when Product Hunt shows none.",
+ "example": 1,
+ "type": "integer"
}
},
"type": "object"
},
- "sephora.SuggestTerm": {
+ "producthunt.ProductAboutAd": {
"properties": {
- "term": {
- "example": "mascara",
+ "channel_kind": {
+ "description": "Placement type of the ad, for example `feed`.",
"type": "string"
- }
- },
- "type": "object"
- },
- "sephora.Variant": {
- "properties": {
- "availability": {
- "example": "InStock",
+ },
+ "id": {
+ "description": "Product Hunt ID of the ad.",
"type": "string"
},
- "color": {
- "example": "Acai Mango Smoothie",
+ "large_asset_uuid": {
+ "description": "Identifier of the large ad image on Product Hunt's image host.",
"type": "string"
},
- "currency_code": {
- "example": "USD",
+ "name": {
+ "description": "Name shown on the ad.",
"type": "string"
},
- "image": {
+ "small_asset_uuid": {
+ "description": "Identifier of the small ad image on Product Hunt's image host.",
"type": "string"
},
- "name": {
+ "subject": {
+ "description": "Kind of ad entry as Product Hunt labels it.",
"type": "string"
},
- "price": {
- "example": "25.00",
+ "tagline": {
+ "description": "Short tagline shown on the ad.",
"type": "string"
},
- "sku": {
+ "thumbnail_uuid": {
+ "description": "Identifier of the ad thumbnail image on Product Hunt's image host.",
"type": "string"
- }
- },
- "type": "object"
- },
- "sephora.brandsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/sephora.BrandsResponse"
+ "url": {
+ "description": "Link the ad points to.",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "variation_id": {
+ "description": "Identifier of the ad variation shown.",
"type": "string"
}
},
"type": "object"
},
- "sephora.categoriesResponseDoc": {
+ "producthunt.ProductAboutDiscussionForum": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/sephora.CategoriesResponse"
+ "id": {
+ "description": "Product Hunt ID of the product's discussion forum.",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "path": {
+ "description": "Product Hunt path of the discussion forum.",
"type": "string"
- }
- },
- "type": "object"
- },
- "sephora.categoryResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/sephora.CategoryResponse"
+ "threads": {
+ "description": "Discussion threads returned for the forum.",
+ "items": {
+ "$ref": "#/definitions/producthunt.ProductAboutDiscussionThread"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
- "type": "string"
+ "total_count": {
+ "description": "Total number of discussion threads in the forum.",
+ "type": "integer"
}
},
"type": "object"
},
- "sephora.productQuestionsResponseDoc": {
+ "producthunt.ProductAboutDiscussionThread": {
"properties": {
- "code": {
- "example": 200,
+ "commentable_id": {
+ "description": "Product Hunt ID used for comments on the thread.",
+ "type": "string"
+ },
+ "comments_count": {
+ "description": "Number of comments on the thread.",
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/sephora.ProductQuestionsResponse"
+ "created_at": {
+ "description": "ISO 8601 timestamp of when the thread was created.",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "description_preview": {
+ "description": "Short preview of the thread's opening text.",
"type": "string"
- }
- },
- "type": "object"
- },
- "sephora.productResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/sephora.ProductResponse"
+ "forum": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/producthunt.ProductAboutForumRef"
+ }
+ ],
+ "description": "Forum the thread belongs to."
},
- "msg": {
- "example": "OK",
+ "has_voted": {
+ "description": "Whether the viewer has upvoted the thread.",
+ "type": "boolean"
+ },
+ "id": {
+ "description": "Product Hunt ID of the thread.",
"type": "string"
- }
- },
- "type": "object"
- },
- "sephora.productReviewsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/sephora.ProductReviewsResponse"
+ "is_featured": {
+ "description": "Whether Product Hunt features the thread.",
+ "type": "boolean"
},
- "msg": {
- "example": "OK",
+ "is_pinned": {
+ "description": "Whether the thread is pinned in the forum.",
+ "type": "boolean"
+ },
+ "path": {
+ "description": "Product Hunt path of the thread.",
"type": "string"
- }
- },
- "type": "object"
- },
- "sephora.searchResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/sephora.SearchResponse"
+ "slug": {
+ "description": "URL slug of the thread.",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "title": {
+ "description": "Title of the thread.",
"type": "string"
- }
- },
- "type": "object"
- },
- "sephora.storesResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/sephora.StoresResponse"
+ "user": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/producthunt.ProductCategoryUser"
+ }
+ ],
+ "description": "Member who started the thread."
},
- "msg": {
- "example": "OK",
- "type": "string"
+ "votes_count": {
+ "description": "Number of upvotes on the thread.",
+ "type": "integer"
}
},
"type": "object"
},
- "sephora.suggestResponseDoc": {
+ "producthunt.ProductAboutForumRef": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "id": {
+ "description": "Product Hunt ID of the forum.",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/sephora.SuggestResponse"
+ "path": {
+ "description": "Product Hunt path of the forum.",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "slug": {
+ "description": "URL slug of the forum.",
"type": "string"
+ },
+ "subject": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/producthunt.ProductAboutForumSubject"
+ }
+ ],
+ "description": "Product the forum is about."
}
},
"type": "object"
},
- "sevennewsau.AuthorResponse": {
+ "producthunt.ProductAboutForumSubject": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/newsplatform.HeadlineItem"
- },
- "type": "array"
- },
- "biography": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "image_url": {
- "type": "string"
- },
- "name": {
+ "id": {
+ "description": "Product Hunt ID of the product the forum is about.",
"type": "string"
},
- "role": {
- "type": "string"
+ "is_no_longer_online": {
+ "description": "Whether Product Hunt marks the product as no longer online.",
+ "type": "boolean"
},
- "slug": {
+ "logo_uuid": {
+ "description": "Identifier of the product logo on Product Hunt's image host.",
"type": "string"
},
- "social_links": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "url": {
+ "name": {
+ "description": "Name of the product the forum is about.",
"type": "string"
}
},
"type": "object"
},
- "sevennow.CatalogCategory": {
+ "producthunt.ProductAboutGhostAd": {
"properties": {
"id": {
- "example": "48423",
+ "description": "Product Hunt ID of the ad entry.",
"type": "string"
},
- "name": {
- "example": "Fresh Food",
+ "subject": {
+ "description": "Kind of entry as Product Hunt labels it, for example `Ghost`.",
"type": "string"
}
},
"type": "object"
},
- "sevennow.CatalogItem": {
+ "producthunt.ProductAboutLatestLaunch": {
"properties": {
- "age_restricted": {
- "example": false,
- "type": "boolean"
- },
- "brand": {
- "example": "Hot Food Pizza",
+ "id": {
+ "description": "Product Hunt ID of the latest launch.",
"type": "string"
},
- "calories": {
- "example": "360",
- "type": "string"
+ "is_maker": {
+ "description": "Whether the viewer is a maker of this launch.",
+ "type": "boolean"
},
- "category": {
- "example": "Fresh Food",
- "type": "string"
+ "launch_number": {
+ "description": "Sequence number of this launch among the product's launches.",
+ "type": "integer"
},
- "flavor_name": {
- "example": "Pepperoni Pizza",
- "type": "string"
+ "launched_this_week": {
+ "description": "Whether the product launched this week.",
+ "type": "boolean"
},
- "image_url": {
- "type": "string"
+ "launching_today": {
+ "description": "Whether the product is launching today.",
+ "type": "boolean"
},
"name": {
- "example": "Large Pizza - Ultimate Pepperoni",
+ "description": "Name of the latest launch.",
"type": "string"
},
- "original_price_cents": {
- "example": 1099,
- "type": "integer"
- },
- "product_id": {
- "example": "178322-2-6-2",
+ "product_state": {
+ "description": "Product Hunt's state label for the product, for example `default`.",
"type": "string"
},
- "promo_description": {
- "example": "On Sale $6.99",
+ "scheduled_at": {
+ "description": "ISO 8601 timestamp the launch is scheduled for.",
"type": "string"
},
- "promo_price_cents": {
- "example": 699,
- "type": "integer"
+ "slug": {
+ "description": "URL slug of the latest launch.",
+ "type": "string"
},
- "subcategory": {
- "example": "Pizza",
+ "tagline": {
+ "description": "Short tagline of the latest launch.",
"type": "string"
},
- "upc": {
- "example": "00072180687340",
+ "thumbnail_image_uuid": {
+ "description": "Identifier of the launch thumbnail image on Product Hunt's image host.",
"type": "string"
}
},
"type": "object"
},
- "sevennow.CatalogResponse": {
+ "producthunt.ProductAboutLaunch": {
"properties": {
- "active_items": {
- "example": 2664,
- "type": "integer"
+ "ad1": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/producthunt.ProductAboutGhostAd"
+ }
+ ],
+ "description": "First ad slot shown next to the launch."
},
- "categories": {
+ "ad2": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/producthunt.ProductAboutGhostAd"
+ }
+ ],
+ "description": "Second ad entry attached to the launch."
+ },
+ "badges": {
+ "description": "Badges the launch has earned, such as leaderboard awards.",
"items": {
- "$ref": "#/definitions/sevennow.CatalogCategory"
+ "$ref": "#/definitions/producthunt.ProductCategoryListBadge"
},
"type": "array"
},
- "fetched_at": {
- "type": "string"
- },
- "limit": {
- "example": 20,
- "type": "integer"
- },
- "out_of_stock_items": {
- "example": 435,
- "type": "integer"
+ "can_deputy_manage": {
+ "description": "Whether the viewer can manage the launch as a deputy.",
+ "type": "boolean"
},
- "sections": {
- "items": {
- "$ref": "#/definitions/sevennow.CatalogSection"
- },
- "type": "array"
+ "can_manage": {
+ "description": "Whether the viewer can manage the launch.",
+ "type": "boolean"
},
- "skip": {
- "example": 0,
+ "comments_count": {
+ "description": "Number of comments on the launch.",
"type": "integer"
},
- "source_url": {
+ "created_at": {
+ "description": "ISO 8601 timestamp of when the launch was created.",
"type": "string"
},
- "store_id": {
- "example": "39226",
- "type": "string"
- }
- },
- "type": "object"
- },
- "sevennow.CatalogSection": {
- "properties": {
- "count": {
- "example": 20,
+ "daily_rank": {
+ "description": "Rank on the daily leaderboard. `0` when Product Hunt gives no rank.",
"type": "integer"
},
- "display_order": {
- "example": 3,
- "type": "integer"
+ "description": {
+ "description": "Description of the launch written by the maker.",
+ "type": "string"
},
- "items": {
+ "detailed_reviews": {
+ "description": "Detailed reviews and shoutouts for the launch.",
"items": {
- "$ref": "#/definitions/sevennow.CatalogItem"
+ "$ref": "#/definitions/producthunt.ProductAboutShoutout"
},
"type": "array"
},
- "name": {
- "description": "Name is the shelf's own display title, e.g. \"Best Sellers\",\n\"$2 Deals\", \"What's New\". Upstream sends it on every section; it is\nthe only human-readable identifier a numeric section id has.",
- "example": "$2 Deals",
- "type": "string"
+ "disabled_when_scheduled": {
+ "description": "Whether upvoting is disabled while the launch is scheduled.",
+ "type": "boolean"
},
- "section_id": {
- "example": "48423",
+ "embargo_preview_at": {
+ "description": "ISO 8601 timestamp of the embargo preview, when the launch has one.",
"type": "string"
},
- "total": {
- "example": 200,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "sevennow.CategoriesResponse": {
- "properties": {
- "count": {
- "example": 25,
- "type": "integer"
- },
- "departments": {
- "description": "Departments are the store's permanent browsable departments.",
- "items": {
- "$ref": "#/definitions/sevennow.CategoryRef"
- },
- "type": "array"
+ "featured": {
+ "description": "Whether Product Hunt featured the launch.",
+ "type": "boolean"
},
- "fetched_at": {
+ "featured_at": {
+ "description": "ISO 8601 timestamp of when Product Hunt featured the launch.",
"type": "string"
},
- "shelves": {
- "description": "Shelves are the merchandising rows the homepage currently features.\nThese rotate with promotions and seasons, so re-read them rather than\ncaching ids long-term.",
- "items": {
- "$ref": "#/definitions/sevennow.CategoryRef"
- },
- "type": "array"
+ "has_voted": {
+ "description": "Whether the viewer has upvoted this launch.",
+ "type": "boolean"
},
- "source_url": {
- "type": "string"
+ "hide_votes_count": {
+ "description": "Whether the maker hides the vote count for this launch.",
+ "type": "boolean"
},
- "store_id": {
- "example": "39640",
+ "id": {
+ "description": "Product Hunt ID of the launch.",
"type": "string"
- }
- },
- "type": "object"
- },
- "sevennow.CategoryItem": {
- "properties": {
- "age_restricted": {
- "example": false,
+ },
+ "is_archived": {
+ "description": "Whether the launch is archived.",
"type": "boolean"
},
- "available": {
- "example": true,
+ "is_available": {
+ "description": "Whether Product Hunt marks the launch as available.",
"type": "boolean"
},
- "available_quantity": {
- "example": 100,
- "type": "integer"
+ "is_hunter": {
+ "description": "Whether the viewer is the hunter who posted this launch.",
+ "type": "boolean"
},
- "calories": {
- "example": "360",
- "type": "string"
+ "is_maker": {
+ "description": "Whether the viewer is a maker of this launch.",
+ "type": "boolean"
},
- "image_url": {
- "type": "string"
+ "is_top_launch": {
+ "description": "Whether Product Hunt marks this as a top launch.",
+ "type": "boolean"
},
- "name": {
- "example": "Large Pizza - Ultimate Pepperoni",
- "type": "string"
+ "latest_score": {
+ "description": "Current upvote score of the launch.",
+ "type": "integer"
},
- "price_cents": {
- "example": 1299,
+ "launch_day_score": {
+ "description": "Upvote score the launch had on its launch day.",
"type": "integer"
},
- "product_id": {
- "example": "178322-2-6-2",
- "type": "string"
+ "launch_number": {
+ "description": "Sequence number of this launch among the product's launches.",
+ "type": "integer"
},
- "promo_description": {
- "example": "On Sale $6.99",
+ "launch_state": {
+ "description": "Launch state as Product Hunt labels it, for example `featured`.",
"type": "string"
},
- "promo_price_cents": {
- "example": 699,
- "type": "integer"
+ "launched_this_week": {
+ "description": "Whether the launch happened this week.",
+ "type": "boolean"
},
- "subcategory": {
- "example": "Pizza",
- "type": "string"
+ "launching_today": {
+ "description": "Whether the product is launching today.",
+ "type": "boolean"
},
- "upc": {
- "example": "00052548537524",
- "type": "string"
- }
- },
- "type": "object"
- },
- "sevennow.CategoryRef": {
- "properties": {
- "display_order": {
- "description": "DisplayOrder is the shelf's position on the store homepage. Only\nmeaningful for shelves.",
- "example": 18,
- "type": "integer"
+ "links": {
+ "description": "Download or visit links listed on the launch, one per store or website.",
+ "items": {
+ "$ref": "#/definitions/producthunt.ProductAboutLink"
+ },
+ "type": "array"
},
- "id": {
- "example": "48395",
- "type": "string"
+ "makers": {
+ "description": "Makers credited on the launch.",
+ "items": {
+ "$ref": "#/definitions/producthunt.ProductAboutUser"
+ },
+ "type": "array"
},
- "item_count": {
- "description": "ItemCount is how many items the shelf holds upstream. Only populated\nfor shelves -- departments do not report a count here (use\nGET /7now/category's stats.total for those).",
- "example": 25,
- "type": "integer"
+ "media": {
+ "description": "Images and videos attached to the launch.",
+ "items": {
+ "$ref": "#/definitions/producthunt.ProductAboutMedia"
+ },
+ "type": "array"
},
- "kind": {
- "description": "Kind is `department` for the store's permanent browsable departments\n(Drinks, Snacks, Fresh Food, ...) or `shelf` for a merchandising row\nthe homepage is currently featuring (\"$2 Deals\", \"What's New\").\nBoth are valid category_id values; shelves rotate, departments do not.",
- "example": "department",
+ "meta": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/producthunt.ProductAboutMeta"
+ }
+ ],
+ "description": "Page metadata for the launch."
+ },
+ "moderation_reason": {
+ "description": "Reason Product Hunt gives when the launch was moderated.",
"type": "string"
},
"name": {
- "example": "Drinks",
+ "description": "Name of the launch.",
"type": "string"
- }
- },
- "type": "object"
- },
- "sevennow.CategoryResponse": {
- "properties": {
- "category_id": {
- "example": "48423",
+ },
+ "pricing_type": {
+ "description": "Pricing model of the product as Product Hunt lists it, for example `free`.",
"type": "string"
},
- "fetched_at": {
+ "primary_link": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/producthunt.ProductAboutPrimaryLink"
+ }
+ ],
+ "description": "Main link of the launch."
+ },
+ "product": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/producthunt.ProductAboutLaunchProduct"
+ }
+ ],
+ "description": "Product the launch belongs to."
+ },
+ "product_state": {
+ "description": "Product Hunt's state label for the product, for example `default`.",
"type": "string"
},
- "limit": {
- "example": 20,
- "type": "integer"
+ "promo": {
+ "additionalProperties": {},
+ "description": "Promotion attached to the launch, as Product Hunt returns it.",
+ "type": "object"
},
- "skip": {
- "example": 0,
- "type": "integer"
+ "redirect_to_product": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/producthunt.LeaderboardProductRef"
+ }
+ ],
+ "description": "Product the launch page redirects to, when it redirects."
},
- "source_url": {
+ "scheduled_at": {
+ "description": "ISO 8601 timestamp the launch is scheduled for.",
"type": "string"
},
- "stats": {
- "$ref": "#/definitions/sevennow.CategoryStats"
+ "slug": {
+ "description": "URL slug of the launch.",
+ "type": "string"
},
- "store_id": {
- "example": "39226",
+ "tagline": {
+ "description": "Short tagline of the launch.",
"type": "string"
},
- "subcategories": {
+ "thumbnail_image_uuid": {
+ "description": "Identifier of the launch thumbnail image on Product Hunt's image host.",
+ "type": "string"
+ },
+ "topics": {
+ "description": "Topics the launch is tagged with.",
"items": {
- "$ref": "#/definitions/sevennow.CategorySubcategory"
+ "$ref": "#/definitions/producthunt.ProductCategoryRef"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "sevennow.CategoryStats": {
- "properties": {
- "available": {
- "example": 99,
- "type": "integer"
},
- "out_of_stock": {
- "example": 22,
- "type": "integer"
+ "trashed_at": {
+ "description": "ISO 8601 timestamp of when the launch was trashed, when it was.",
+ "type": "string"
},
- "percentage_available": {
- "example": 82,
- "type": "integer"
+ "updated_at": {
+ "description": "ISO 8601 timestamp of the last update to the launch.",
+ "type": "string"
},
- "total": {
- "example": 121,
+ "url": {
+ "description": "Product Hunt link to the launch.",
+ "type": "string"
+ },
+ "user": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/producthunt.ProductAboutUser"
+ }
+ ],
+ "description": "Member who posted the launch."
+ },
+ "weekly_rank": {
+ "description": "Rank on the weekly leaderboard. `0` when Product Hunt gives no rank.",
"type": "integer"
}
},
"type": "object"
},
- "sevennow.CategorySubcategory": {
+ "producthunt.ProductAboutLaunchFlags": {
"properties": {
- "items": {
- "items": {
- "$ref": "#/definitions/sevennow.CategoryItem"
- },
- "type": "array"
- },
- "name": {
- "example": "Pizza",
+ "id": {
+ "description": "Product Hunt ID of the latest launch.",
"type": "string"
+ },
+ "launched_this_week": {
+ "description": "Whether the product launched this week.",
+ "type": "boolean"
+ },
+ "launching_today": {
+ "description": "Whether the product is launching today.",
+ "type": "boolean"
}
},
"type": "object"
},
- "sevennow.Combo": {
+ "producthunt.ProductAboutLaunchProduct": {
"properties": {
- "available": {
- "example": true,
+ "can_claim": {
+ "description": "Whether the viewer can claim the product page.",
"type": "boolean"
},
- "bundle_id": {
- "example": "B00037",
- "type": "string"
+ "can_edit": {
+ "description": "Whether the viewer can edit the product page.",
+ "type": "boolean"
},
- "description": {
+ "clean_url": {
+ "description": "Product website address without tracking parameters.",
"type": "string"
},
- "image_url": {
- "type": "string"
+ "detailed_review": {
+ "additionalProperties": {},
+ "description": "Detailed review summary of the product, as Product Hunt returns it.",
+ "type": "object"
},
- "name": {
- "example": "7NOW Combo Builder SLIN 22 - $6.99 Pizza",
- "type": "string"
+ "first_launch": {
+ "description": "Whether this is the product's first launch.",
+ "type": "boolean"
},
- "promo_id": {
- "description": "PromoID is the promotion behind the bundle. Pass it to\nGET /7now/combo for the bundle's pick-one-from-each item groups, or\nto GET /7now/promotion for a flat list of every eligible item.",
- "example": "6a849a8fa1df2409010c719f",
+ "id": {
+ "description": "Product Hunt ID of the product.",
"type": "string"
},
- "tags": {
- "items": {
- "type": "string"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "sevennow.ComboGroup": {
- "properties": {
- "is_primary": {
- "example": true,
+ "is_claimed": {
+ "description": "Whether a team has claimed the product page.",
"type": "boolean"
},
- "items": {
- "items": {
- "$ref": "#/definitions/sevennow.DealItem"
- },
- "type": "array"
+ "is_no_longer_online": {
+ "description": "Whether Product Hunt marks the product as no longer online.",
+ "type": "boolean"
+ },
+ "is_subscribed": {
+ "description": "Whether the viewer follows this product.",
+ "type": "boolean"
+ },
+ "is_top_product": {
+ "description": "Whether Product Hunt marks this as a top product.",
+ "type": "boolean"
+ },
+ "is_viewer_team_member": {
+ "additionalProperties": {},
+ "description": "Whether the viewer is on the product's team, as Product Hunt returns it.",
+ "type": "object"
+ },
+ "latest_launch": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/producthunt.ProductAboutLaunchFlags"
+ }
+ ],
+ "description": "Flags describing the product's latest launch."
+ },
+ "logo_uuid": {
+ "description": "Identifier of the product logo on Product Hunt's image host.",
+ "type": "string"
},
"name": {
- "example": "Eligible Whole Pizzas",
+ "description": "Name of the product.",
"type": "string"
},
- "quantity": {
- "example": 1,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "sevennow.ComboResponse": {
- "properties": {
- "count": {
- "example": 1,
+ "posts_count": {
+ "description": "Number of launch posts the product has.",
"type": "integer"
},
- "fetched_at": {
- "type": "string"
+ "pro_con_tags": {
+ "description": "Pro and con tags reviewers have attached to the product.",
+ "items": {
+ "$ref": "#/definitions/producthunt.ProductDetailedReviewTag"
+ },
+ "type": "array"
},
- "groups": {
+ "review_questions": {
+ "description": "Questions Product Hunt asks reviewers of the product.",
"items": {
- "$ref": "#/definitions/sevennow.ComboGroup"
+ "$ref": "#/definitions/producthunt.ProductAboutReviewQuestion"
},
"type": "array"
},
- "promo_id": {
- "example": "6a849a8fa1df2409010c719f",
- "type": "string"
+ "reviews_rating": {
+ "description": "Average review rating on Product Hunt.",
+ "type": "number"
},
- "source_url": {
+ "slug": {
+ "description": "URL slug of the product. Use it with the product endpoint.",
"type": "string"
},
- "store_id": {
- "example": "39640",
+ "tagline": {
+ "description": "Short tagline of the product.",
"type": "string"
},
- "terms": {
- "$ref": "#/definitions/sevennow.ComboTerms"
- }
- },
- "type": "object"
- },
- "sevennow.ComboTerms": {
- "properties": {
- "description": {
- "example": "Any Whole Pizza $6.99 each",
+ "twitter_url": {
+ "description": "Link to the product's Twitter or X profile.",
"type": "string"
},
- "legal_terms": {
+ "viewer_pending_team_request": {
+ "additionalProperties": {},
+ "description": "The viewer's pending request to join the product's team, as Product Hunt returns it.",
+ "type": "object"
+ },
+ "website_domain": {
+ "description": "Domain name of the product website.",
"type": "string"
},
- "title": {
- "example": "$6.99 Pizza",
+ "website_url": {
+ "description": "Product website address.",
"type": "string"
}
},
"type": "object"
},
- "sevennow.CombosResponse": {
+ "producthunt.ProductAboutLink": {
"properties": {
- "combos": {
+ "devices": {
+ "description": "Devices the linked app supports.",
"items": {
- "$ref": "#/definitions/sevennow.Combo"
+ "type": "string"
},
"type": "array"
},
- "count": {
- "example": 5,
- "type": "integer"
+ "id": {
+ "description": "Product Hunt ID of the link.",
+ "type": "string"
},
- "fetched_at": {
+ "redirect_path": {
+ "description": "Product Hunt redirect path that leads to the link target.",
"type": "string"
},
- "source_url": {
+ "store_name": {
+ "description": "Name of the app store the link points to, when it points to one.",
"type": "string"
},
- "store_id": {
- "example": "39640",
+ "website_name": {
+ "description": "Name of the website the link points to.",
"type": "string"
}
},
"type": "object"
},
- "sevennow.DealItem": {
+ "producthunt.ProductAboutMedia": {
"properties": {
- "age_restricted": {
- "example": false,
- "type": "boolean"
- },
- "available": {
- "example": true,
- "type": "boolean"
- },
- "available_quantity": {
- "example": 5,
- "type": "integer"
- },
- "brand": {
- "example": "Ben & Jerry's",
+ "id": {
+ "description": "Product Hunt ID of the media item.",
"type": "string"
},
- "calories": {
- "example": "370",
+ "image_uuid": {
+ "description": "Identifier of the image on Product Hunt's image host.",
"type": "string"
},
- "category": {
- "example": "Ice Cream",
+ "interactive_demo_id": {
+ "description": "Identifier of the interactive demo, when the media is one.",
"type": "string"
},
- "category_id": {
- "example": "48396",
+ "interactive_demo_type": {
+ "description": "Type of the interactive demo, when the media is one.",
"type": "string"
},
- "image_url": {
+ "media_type": {
+ "description": "Type of media, for example `image`.",
"type": "string"
},
- "name": {
- "example": "Ben & Jerry's Sundae Cookie Vermont-ster 14oz",
- "type": "string"
+ "original_height": {
+ "description": "Height of the original image in pixels.",
+ "type": "integer"
},
- "price_cents": {
- "example": 999,
+ "original_width": {
+ "description": "Width of the original image in pixels.",
"type": "integer"
},
- "product_id": {
- "example": "191743-0-1",
+ "platform": {
+ "description": "Video platform hosting the media, when it is a video.",
"type": "string"
},
- "promos": {
- "items": {
- "$ref": "#/definitions/sevennow.DealPromo"
- },
- "type": "array"
+ "thumbnail_height": {
+ "description": "Height of the media thumbnail. 0 when not provided.",
+ "type": "integer"
},
- "subcategory": {
- "example": "Ben & Jerry's",
+ "thumbnail_width": {
+ "description": "Width of the media thumbnail. 0 when not provided.",
+ "type": "integer"
+ },
+ "url": {
+ "description": "Link to the media item, for example a video link.",
"type": "string"
},
- "upc": {
- "example": "00076840004294",
+ "video_id": {
+ "description": "Video identifier on the hosting platform, when the media is a video.",
"type": "string"
}
},
"type": "object"
},
- "sevennow.DealPromo": {
+ "producthunt.ProductAboutMentionedProduct": {
"properties": {
- "expiration_date": {
- "example": "10/27/2026",
- "type": "string"
- },
"id": {
- "example": "6a9746d488cc35e1bbff1584",
+ "description": "Product Hunt ID of the product.",
"type": "string"
},
- "long_description": {
+ "is_no_longer_online": {
+ "description": "Whether Product Hunt marks the product as no longer online.",
+ "type": "boolean"
+ },
+ "logo_uuid": {
+ "description": "Identifier of the product logo on Product Hunt's image host.",
"type": "string"
},
- "promo_price_cents": {
- "example": 700,
- "type": "integer"
+ "name": {
+ "description": "Name of the product.",
+ "type": "string"
},
- "promo_type": {
- "example": "item",
+ "path": {
+ "description": "Product Hunt path of the product page.",
"type": "string"
},
- "short_description": {
- "example": "On Sale $7",
+ "slug": {
+ "description": "URL slug of the product. Use it with the product endpoint.",
"type": "string"
},
- "start_date": {
- "example": "09/01/2026",
+ "tagline": {
+ "description": "Short tagline of the product.",
"type": "string"
}
},
"type": "object"
},
- "sevennow.DealsResponse": {
+ "producthunt.ProductAboutMeta": {
"properties": {
- "count": {
- "example": 20,
- "type": "integer"
- },
- "fetched_at": {
- "type": "string"
- },
- "has_more": {
- "example": true,
- "type": "boolean"
- },
- "items": {
- "items": {
- "$ref": "#/definitions/sevennow.DealItem"
- },
- "type": "array"
- },
- "limit": {
- "example": 20,
- "type": "integer"
- },
- "skip": {
- "example": 0,
- "type": "integer"
- },
- "source_url": {
- "type": "string"
- },
- "stats": {
- "$ref": "#/definitions/sevennow.DealsStats"
- },
- "store_id": {
- "example": "39640",
+ "title": {
+ "description": "Page title of the launch.",
"type": "string"
- },
- "total": {
- "example": 548,
- "type": "integer"
}
},
"type": "object"
},
- "sevennow.DealsStats": {
+ "producthunt.ProductAboutPage": {
"properties": {
- "available": {
- "example": 503,
- "type": "integer"
+ "ad": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/producthunt.ProductAboutAd"
+ }
+ ],
+ "description": "Ad shown on the page."
},
- "out_of_stock": {
- "example": 45,
- "type": "integer"
+ "launch": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/producthunt.ProductAboutLaunch"
+ }
+ ],
+ "description": "Launch the page highlights, when the layout variant has one."
},
- "percentage_available": {
- "example": 92,
- "type": "integer"
+ "page_variant_typename": {
+ "description": "Layout variant Product Hunt uses for the product page, for example `ProductPageVariantHighlightedLaunch`.",
+ "type": "string"
},
- "total": {
- "example": 548,
- "type": "integer"
+ "product": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/producthunt.ProductAboutProduct"
+ }
+ ],
+ "description": "Product details from the about page."
+ },
+ "product_id": {
+ "description": "Product Hunt ID of the product.",
+ "type": "string"
+ },
+ "viewer": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/producthunt.ProductAboutViewer"
+ }
+ ],
+ "description": "Details about the viewer's relationship to the product."
}
},
"type": "object"
},
- "sevennow.NutritionEntry": {
+ "producthunt.ProductAboutPageVariant": {
"properties": {
- "name": {
- "example": "Total Fat",
+ "launch_id": {
+ "description": "Product Hunt ID of the launch the page variant highlights.",
"type": "string"
},
- "value": {
- "example": "11.0Gram",
+ "typename": {
+ "description": "Layout variant Product Hunt uses for the product page.",
"type": "string"
}
},
"type": "object"
},
- "sevennow.NutritionGroup": {
+ "producthunt.ProductAboutPost": {
"properties": {
- "entries": {
+ "badges": {
+ "description": "Badges the launch has earned, such as leaderboard awards.",
"items": {
- "$ref": "#/definitions/sevennow.NutritionEntry"
+ "$ref": "#/definitions/producthunt.ProductCategoryListBadge"
},
"type": "array"
},
- "group": {
- "example": "fat",
- "type": "string"
- }
- },
- "type": "object"
- },
- "sevennow.Offer": {
- "properties": {
- "button_text": {
- "type": "string"
+ "comments_count": {
+ "description": "Number of comments on the launch.",
+ "type": "integer"
},
- "description": {
- "example": "Any Whole Pizza $6.99 each",
+ "created_at": {
+ "description": "ISO 8601 timestamp of when the launch was created.",
"type": "string"
},
- "image_url": {
- "type": "string"
+ "daily_rank": {
+ "description": "Rank on the daily leaderboard. `0` when Product Hunt gives no rank.",
+ "type": "integer"
},
- "legal_terms": {
- "type": "string"
+ "disabled_when_scheduled": {
+ "description": "Whether upvoting is disabled while the launch is scheduled.",
+ "type": "boolean"
},
- "name": {
- "description": "Name is upstream's internal campaign name, e.g.\n\"US_7NOW_$6.99 Pizza_(8/21/26-1/5/2027)\". It usually encodes the run\ndates, which the banner record does not carry as fields.",
- "example": "US_7NOW_$6.99 Pizza_(8/21/26-1/5/2027)",
+ "embargo_preview_at": {
+ "description": "ISO 8601 timestamp of the embargo preview, when the launch has one.",
"type": "string"
},
- "offer_id": {
- "example": "6a8879a4478334ff62f902d9-sE4Q1s2116PXg7di5yN2tt-7NOW_WEB",
+ "featured_at": {
+ "description": "ISO 8601 timestamp of when Product Hunt featured the launch.",
"type": "string"
},
- "promo_ids": {
- "description": "PromoIDs are the promotions this campaign points at. Usually one,\nbut a multi-product campaign (e.g. a brand takeover) genuinely\ncarries several -- upstream packs them into one comma-separated\nstring, which is split here so each id is individually usable. Pass\none to GET /7now/promotion for every item it covers, or to\nGET /7now/combo when the campaign advertises a bundle.",
- "items": {
- "type": "string"
- },
- "type": "array"
+ "has_voted": {
+ "description": "Whether the viewer has upvoted this launch.",
+ "type": "boolean"
},
- "sort_order": {
- "example": 2,
- "type": "integer"
+ "hide_votes_count": {
+ "description": "Whether the maker hides the vote count for this launch.",
+ "type": "boolean"
},
- "target_entity": {
- "description": "TargetEntity is what tapping the banner opens, e.g. `promo_items` or\n`Category`. A campaign with no destination reports `none` upstream\nand is omitted here.",
- "example": "promo_items",
+ "id": {
+ "description": "Product Hunt ID of the launch post.",
"type": "string"
},
- "target_id": {
- "description": "TargetID is the entity the banner opens when it is not a promotion --\nfor a `Category` banner this is a category_id GET /7now/category\naccepts.",
- "example": "48395",
- "type": "string"
+ "latest_score": {
+ "description": "Current upvote score of the launch.",
+ "type": "integer"
},
- "target_url": {
- "type": "string"
+ "launch_day_score": {
+ "description": "Upvote score the launch had on its launch day.",
+ "type": "integer"
},
- "title": {
- "example": "$6.99 Pizza",
- "type": "string"
+ "monthly_rank": {
+ "description": "Rank on the monthly leaderboard. `0` when Product Hunt gives no rank.",
+ "type": "integer"
},
- "web_image_url": {
+ "name": {
+ "description": "Name of the launch.",
"type": "string"
- }
- },
- "type": "object"
- },
- "sevennow.OffersResponse": {
- "properties": {
- "count": {
- "example": 4,
- "type": "integer"
},
- "fetched_at": {
+ "product": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/producthunt.LeaderboardProductRef"
+ }
+ ],
+ "description": "Product the launch belongs to."
+ },
+ "product_state": {
+ "description": "Product Hunt's state label for the product, for example `default`.",
"type": "string"
},
- "offers": {
- "items": {
- "$ref": "#/definitions/sevennow.Offer"
- },
- "type": "array"
+ "randomization_status": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/producthunt.LeaderboardRandomizationStatus"
+ }
+ ],
+ "description": "Whether and when Product Hunt randomizes where this launch appears."
},
- "source_url": {
- "type": "string"
+ "redirect_to_product": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/producthunt.LeaderboardProductRef"
+ }
+ ],
+ "description": "Product the launch redirects to, when it redirects."
},
- "store_id": {
- "example": "39640",
- "type": "string"
- }
- },
- "type": "object"
- },
- "sevennow.PopularResponse": {
- "properties": {
- "fetched_at": {
+ "shortened_url": {
+ "description": "Short Product Hunt link to the launch.",
"type": "string"
},
- "region": {
- "description": "Region is upstream's own name for the index the terms came from,\ne.g. `NY_NE`, `W`, `SE`, or the vertical's own name when no store\nnarrowed it. It is the only signal upstream gives for which region a\nresult set covers.",
- "example": "NY_NE",
+ "slug": {
+ "description": "URL slug of the launch post.",
"type": "string"
},
- "source_url": {
+ "tagline": {
+ "description": "Short tagline of the launch.",
"type": "string"
},
- "store_id": {
- "example": "39226",
+ "thumbnail_image_uuid": {
+ "description": "Identifier of the launch thumbnail image on Product Hunt's image host.",
"type": "string"
},
- "suggestions": {
- "example": [
- "ice cream",
- "coffee",
- "pizza"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "vertical": {
- "description": "Vertical echoes back which index was read.",
- "example": "convenience",
+ "updated_at": {
+ "description": "ISO 8601 timestamp of the last update to the launch.",
"type": "string"
+ },
+ "weekly_rank": {
+ "description": "Rank on the weekly leaderboard. `0` when Product Hunt gives no rank.",
+ "type": "integer"
}
},
"type": "object"
},
- "sevennow.ProductPromo": {
+ "producthunt.ProductAboutPrimaryLink": {
"properties": {
- "expiration_date": {
- "example": "01/05/2027",
- "type": "string"
- },
"id": {
- "example": "6a849a8fa1df2409010c719f",
- "type": "string"
- },
- "long_description": {
- "example": "$6.99 Whole Pizza!",
- "type": "string"
- },
- "promo_price_cents": {
- "example": 699,
- "type": "integer"
- },
- "short_description": {
- "example": "On Sale $6.99",
+ "description": "Product Hunt ID of the link.",
"type": "string"
},
- "start_date": {
- "example": "08/21/2026",
+ "url": {
+ "description": "Main link of the launch.",
"type": "string"
}
},
"type": "object"
},
- "sevennow.ProductResponse": {
+ "producthunt.ProductAboutProduct": {
"properties": {
- "age_restricted": {
- "example": false,
- "type": "boolean"
- },
- "allergens": {
- "description": "Allergens is upstream's allergen statement, e.g. \"CONTAINS MILK, SOY,\nWHEAT.\" Absent on products with no declared allergens.",
- "example": "CONTAINS MILK, SOY, WHEAT.",
- "type": "string"
+ "badges": {
+ "description": "Badges the product has earned, such as leaderboard awards.",
+ "items": {
+ "$ref": "#/definitions/producthunt.ProductCategoryListBadge"
+ },
+ "type": "array"
},
- "brand": {
- "example": "Hot Food Pizza",
- "type": "string"
+ "detailed_review": {
+ "additionalProperties": {},
+ "description": "Detailed review summary of the product, as Product Hunt returns it.",
+ "type": "object"
},
- "calories": {
- "example": "360",
- "type": "string"
+ "discussion_forum": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/producthunt.ProductAboutDiscussionForum"
+ }
+ ],
+ "description": "Discussion forum of the product."
},
- "category": {
- "example": "Fresh Food",
- "type": "string"
+ "followers_count": {
+ "description": "Number of Product Hunt users following the product.",
+ "type": "integer"
},
- "category_id": {
- "example": "48423",
+ "id": {
+ "description": "Product Hunt ID of the product.",
"type": "string"
},
- "description": {
- "type": "string"
+ "is_no_longer_online": {
+ "description": "Whether Product Hunt marks the product as no longer online.",
+ "type": "boolean"
},
- "fetched_at": {
- "type": "string"
+ "is_subscribed": {
+ "description": "Whether the viewer follows this product.",
+ "type": "boolean"
},
- "flavor_choices": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "latest_launch": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/producthunt.ProductAboutLatestLaunch"
+ }
+ ],
+ "description": "Most recent launch of the product."
},
- "flavor_name": {
- "example": "Pepperoni Pizza",
+ "logo_uuid": {
+ "description": "Identifier of the product logo on Product Hunt's image host.",
"type": "string"
},
- "images": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "ingredients": {
- "description": "Ingredients is the declared ingredient list. Upstream splits it on\ncommas, so a parenthesised sub-list arrives as several entries.",
+ "media": {
+ "description": "Images and videos on the product page.",
"items": {
- "type": "string"
+ "$ref": "#/definitions/producthunt.ProductAboutMedia"
},
"type": "array"
},
- "limit_per_order": {
- "example": 100,
- "type": "integer"
- },
"name": {
- "example": "Large Pizza - Ultimate Pepperoni",
+ "description": "Name of the product.",
"type": "string"
},
- "nutrition": {
- "items": {
- "$ref": "#/definitions/sevennow.NutritionGroup"
- },
- "type": "array"
+ "page_variant": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/producthunt.ProductAboutPageVariant"
+ }
+ ],
+ "description": "Layout variant Product Hunt uses for the product page."
},
- "nutrition_disclaimers": {
- "description": "NutritionDisclaimers carries upstream's own RDI/daily-value notices.",
+ "posts": {
+ "description": "Launch posts of the product.",
"items": {
- "type": "string"
+ "$ref": "#/definitions/producthunt.ProductAboutPost"
},
"type": "array"
},
- "product_id": {
- "example": "178322-2-6-2",
- "type": "string"
+ "posts_count": {
+ "description": "Number of launch posts the product has.",
+ "type": "integer"
},
- "promos": {
+ "pro_con_tags": {
+ "description": "Pro and con tags reviewers have attached to the product.",
"items": {
- "$ref": "#/definitions/sevennow.ProductPromo"
+ "$ref": "#/definitions/producthunt.ProductDetailedReviewTag"
},
"type": "array"
},
- "related_items": {
+ "review_questions": {
+ "description": "Questions Product Hunt asks reviewers of the product.",
"items": {
- "$ref": "#/definitions/sevennow.RelatedProduct"
+ "$ref": "#/definitions/producthunt.ProductAboutReviewQuestion"
},
"type": "array"
},
- "size_choices": {
+ "reviews_rating": {
+ "description": "Average review rating on Product Hunt.",
+ "type": "number"
+ },
+ "screenshots": {
+ "description": "Screenshots shown on the product page.",
"items": {
- "type": "string"
+ "$ref": "#/definitions/producthunt.ProductAboutScreenshot"
},
"type": "array"
},
- "size_value": {
- "example": "1WholePizza",
+ "slug": {
+ "description": "URL slug of the product. Use it with the product endpoint.",
"type": "string"
},
- "slin": {
- "example": "178322",
+ "tagline": {
+ "description": "Short tagline of the product.",
"type": "string"
},
- "source_url": {
+ "url": {
+ "description": "Product Hunt link to the product page.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "producthunt.ProductAboutReviewQuestion": {
+ "properties": {
+ "category": {
+ "description": "Review category the question belongs to, for example `Adoption`.",
"type": "string"
},
- "tags": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "id": {
+ "description": "Product Hunt ID of the question.",
+ "type": "string"
},
- "upc": {
- "example": "00072180687340",
+ "question": {
+ "description": "Text of the question reviewers are asked.",
"type": "string"
}
},
"type": "object"
},
- "sevennow.PromotionDetail": {
+ "producthunt.ProductAboutScreenshot": {
"properties": {
- "display_priority": {
- "example": 2,
- "type": "integer"
- },
- "expiration_date": {
- "example": "2026-10-27T23:59:59.000Z",
+ "id": {
+ "description": "Product Hunt ID of the screenshot.",
"type": "string"
},
- "id": {
- "example": "6a9746d488cc35e1bbff1584",
+ "image_uuid": {
+ "description": "Identifier of the image on Product Hunt's image host.",
"type": "string"
},
- "long_description": {
+ "media_type": {
+ "description": "Type of media, for example `image`.",
"type": "string"
},
- "mark_down_slins": {
+ "original_height": {
+ "description": "Height of the original screenshot in pixels.",
+ "type": "integer"
+ },
+ "original_width": {
+ "description": "Width of the original screenshot in pixels.",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "producthunt.ProductAboutShoutout": {
+ "properties": {
+ "alternative_products": {
+ "description": "Products the reviewer names as alternatives.",
"items": {
- "type": "string"
+ "$ref": "#/definitions/producthunt.ProductAboutMentionedProduct"
},
"type": "array"
},
- "name": {
- "example": "US_7N_Ben & Jerry's Pints $7_(9/1/2026-10/27/2026) - FOR 7NOW",
+ "id": {
+ "description": "Product Hunt ID of the shoutout.",
"type": "string"
},
- "offer_type": {
- "example": "item_discount",
- "type": "string"
+ "product": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/producthunt.ProductAboutMentionedProduct"
+ }
+ ],
+ "description": "Product the shoutout is about."
},
- "promo_price_cents": {
- "example": 700,
- "type": "integer"
+ "shoutout_note": {
+ "description": "Text of the shoutout written by the reviewer.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "producthunt.ProductAboutUser": {
+ "properties": {
+ "avatar_url": {
+ "description": "Link to the member's profile picture.",
+ "type": "string"
},
- "promo_type": {
- "example": "item",
+ "headline": {
+ "description": "Member's profile headline.",
"type": "string"
},
- "short_description": {
- "example": "On Sale $7",
+ "id": {
+ "description": "Product Hunt ID of the member.",
"type": "string"
},
- "start_date": {
- "example": "2026-09-01T00:00:00.000Z",
+ "name": {
+ "description": "Member's display name.",
"type": "string"
},
- "terms": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "username": {
+ "description": "Member's Product Hunt username.",
+ "type": "string"
}
},
"type": "object"
},
- "sevennow.PromotionResponse": {
+ "producthunt.ProductAboutViewer": {
"properties": {
- "count": {
- "example": 14,
- "type": "integer"
- },
- "fetched_at": {
- "type": "string"
- },
- "has_more": {
- "example": false,
+ "is_featured_post_maker": {
+ "description": "Whether the viewer is a maker of a featured post.",
"type": "boolean"
},
- "items": {
- "items": {
- "$ref": "#/definitions/sevennow.DealItem"
- },
- "type": "array"
- },
- "limit": {
- "example": 20,
- "type": "integer"
+ "recent_launch": {
+ "additionalProperties": {},
+ "description": "The viewer's most recent launch, as Product Hunt returns it.",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "producthunt.ProductAlternativeBadge": {
+ "properties": {
+ "date": {
+ "description": "Date the badge was awarded.",
+ "type": "string"
},
- "promo_id": {
- "example": "6a9746d488cc35e1bbff1584",
+ "id": {
+ "description": "Product Hunt ID of the badge.",
"type": "string"
},
- "promotion": {
- "$ref": "#/definitions/sevennow.PromotionDetail"
+ "period": {
+ "description": "Leaderboard period of the badge, for example `daily` or `weekly`.",
+ "type": "string"
},
- "skip": {
- "example": 0,
+ "position": {
+ "description": "Leaderboard position the badge was awarded for.",
"type": "integer"
},
- "source_url": {
+ "post_name": {
+ "description": "Name of the launch post the badge was awarded for.",
"type": "string"
},
- "store_id": {
- "example": "39640",
+ "post_slug": {
+ "description": "URL slug of the launch post the badge was awarded for.",
"type": "string"
- },
- "total": {
- "example": 14,
- "type": "integer"
}
},
"type": "object"
},
- "sevennow.RelatedProduct": {
+ "producthunt.ProductAlternativeDiscussion": {
"properties": {
- "brand": {
- "example": "Hot Food Pizza",
- "type": "string"
+ "comments_count": {
+ "description": "Number of comments on the discussion.",
+ "type": "integer"
},
- "calories": {
- "example": "550",
+ "created_at": {
+ "description": "ISO 8601 timestamp of when the discussion was created.",
"type": "string"
},
- "category": {
- "example": "Fresh Food",
+ "description_preview": {
+ "description": "Short preview of the discussion's opening text.",
"type": "string"
},
- "flavor_name": {
- "example": "Sausage Breakfast Pizza",
- "type": "string"
+ "has_voted": {
+ "description": "Whether the viewer has upvoted the discussion.",
+ "type": "boolean"
},
- "image_url": {
+ "id": {
+ "description": "Product Hunt ID of the discussion.",
"type": "string"
},
- "name": {
- "example": "Whole Breakfast Pizza - Sausage",
+ "path": {
+ "description": "Product Hunt path of the discussion.",
"type": "string"
},
- "product_id": {
- "example": "170776-1-8",
+ "pinned": {
+ "description": "Whether the discussion is pinned.",
+ "type": "boolean"
+ },
+ "primary_forum": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/producthunt.ProductAlternativeDiscussionForum"
+ }
+ ],
+ "description": "Main forum the discussion belongs to."
+ },
+ "slug": {
+ "description": "URL slug of the discussion.",
"type": "string"
},
- "size_value": {
- "example": "1WholePizza",
+ "title": {
+ "description": "Title of the discussion.",
"type": "string"
+ },
+ "user": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/producthunt.ProductAlternativeDiscussionUser"
+ }
+ ],
+ "description": "Member who started the discussion."
+ },
+ "votes_count": {
+ "description": "Number of upvotes on the discussion.",
+ "type": "integer"
}
},
"type": "object"
},
- "sevennow.SearchBrand": {
+ "producthunt.ProductAlternativeDiscussionForum": {
"properties": {
- "brand_id": {
- "example": "262b9206-d316-3cf8-9ccf-a06998c5c0a1",
+ "id": {
+ "description": "Product Hunt id of the discussion forum.",
"type": "string"
},
- "brand_name": {
- "example": "Pringles",
+ "slug": {
+ "description": "URL slug of the discussion forum.",
"type": "string"
},
- "is_sponsored": {
- "example": false,
- "type": "boolean"
- },
- "logo_url": {
+ "subject_id": {
+ "description": "Product Hunt id of the product the forum belongs to.",
"type": "string"
},
- "rank": {
- "example": 25,
- "type": "integer"
+ "subject_name": {
+ "description": "Name of the product the forum belongs to.",
+ "type": "string"
}
},
"type": "object"
},
- "sevennow.SearchItem": {
+ "producthunt.ProductAlternativeDiscussionUser": {
"properties": {
- "age_restricted": {
- "example": false,
- "type": "boolean"
- },
- "available": {
- "example": true,
- "type": "boolean"
- },
- "available_quantity": {
- "example": 100,
- "type": "integer"
- },
- "bundle_id": {
- "example": "B00037",
+ "avatar_url": {
+ "description": "URL of the user's profile picture.",
"type": "string"
},
- "calories": {
- "example": "360",
+ "id": {
+ "description": "Product Hunt id of the user who started the discussion.",
"type": "string"
},
- "category": {
- "example": "Fresh Food",
+ "name": {
+ "description": "Display name of the user.",
"type": "string"
},
- "image_url": {
+ "username": {
+ "description": "Product Hunt username of the user.",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "producthunt.ProductAlternativeItem": {
+ "properties": {
+ "category_score": {
+ "type": "number"
},
- "list_price_cents": {
- "example": 1299,
- "type": "integer"
- },
- "name": {
- "example": "Large Pizza - Ultimate Pepperoni",
- "type": "string"
+ "category_weight": {
+ "type": "number"
},
- "price_cents": {
- "example": 1099,
- "type": "integer"
+ "combined_score": {
+ "type": "number"
},
- "product_id": {
- "example": "178322-2-6-2",
- "type": "string"
+ "embedding_score": {
+ "type": "number"
},
- "product_type": {
- "example": "product",
- "type": "string"
+ "embedding_weight": {
+ "type": "number"
},
- "promo_description": {
- "example": "On Sale $6.99",
+ "id": {
"type": "string"
},
- "promo_price_cents": {
- "example": 699,
- "type": "integer"
+ "product": {
+ "$ref": "#/definitions/producthunt.ProductAlternativeProduct"
},
- "subcategory": {
- "example": "Pizza",
- "type": "string"
+ "rating_score": {
+ "type": "number"
},
- "upc": {
- "example": "00072180687340",
- "type": "string"
+ "rating_weight": {
+ "type": "number"
}
},
"type": "object"
},
- "sevennow.SearchResponse": {
+ "producthunt.ProductAlternativeProduct": {
"properties": {
- "brands": {
+ "badges": {
"items": {
- "$ref": "#/definitions/sevennow.SearchBrand"
+ "$ref": "#/definitions/producthunt.ProductAlternativeBadge"
},
"type": "array"
},
- "count": {
- "example": 20,
+ "categories": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "followers_count": {
"type": "integer"
},
- "fetched_at": {
+ "id": {
"type": "string"
},
- "has_more": {
- "example": true,
+ "is_subscribed": {
"type": "boolean"
},
- "items": {
- "items": {
- "$ref": "#/definitions/sevennow.SearchItem"
- },
- "type": "array"
+ "is_top_product": {
+ "type": "boolean"
},
- "limit": {
- "example": 20,
- "type": "integer"
+ "logo_uuid": {
+ "type": "string"
},
- "query": {
- "example": "pizza",
+ "name": {
"type": "string"
},
- "skip": {
- "example": 0,
+ "reviews_count": {
"type": "integer"
},
- "source_url": {
+ "reviews_rating": {
+ "type": "number"
+ },
+ "slug": {
"type": "string"
},
- "store_id": {
- "example": "39226",
+ "structured_data": {
+ "$ref": "#/definitions/producthunt.ProductAlternativeStructuredData"
+ },
+ "tagline": {
"type": "string"
},
- "total": {
- "example": 100,
- "type": "integer"
+ "tags": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "sevennow.Store": {
+ "producthunt.ProductAlternativeStructuredData": {
"properties": {
- "address": {
- "example": "866 6TH AVE",
+ "application_category": {
+ "description": "Schema.org application category of the product.",
"type": "string"
},
- "alcohol_sale_hours": {
- "description": "AlcoholSaleHours are the windows during which the store may sell\nalcohol, per day of week -- upstream's own encoding of the local\nlaw. A New York store, for instance, reports Sunday as two windows\n(00:00-02:00 and 08:00-23:59) and every other day as one.\n\nAn empty list means upstream publishes no windows for this store.\nThat is not the same as \"sells no alcohol\": Austin, TX stores return\nan empty list while New York stores return a full week.",
- "items": {
- "$ref": "#/definitions/sevennow.StoreAlcoholDay"
- },
- "type": "array"
- },
- "brand": {
- "description": "Brand is the banner the store trades under. 7-Eleven operates\nseveral (Speedway, Stripes); every store measured so far reports\n\"7-Eleven\", so treat a different value as possible rather than\nimpossible.",
- "example": "7-Eleven",
+ "context": {
+ "description": "Schema.org context URL of the product's structured data block.",
"type": "string"
},
- "brand_logo_url": {
+ "date_modified": {
+ "description": "Date the product page was last modified.",
"type": "string"
},
- "city": {
- "example": "New York",
+ "date_published": {
+ "description": "Date the product was published on Product Hunt.",
"type": "string"
},
- "country": {
- "example": "US",
+ "description": {
+ "description": "Product description as given in its structured data.",
"type": "string"
},
- "county": {
- "example": "New York County",
+ "id": {
+ "description": "Identifier of the product in its structured data block.",
"type": "string"
},
- "distance_miles": {
- "example": 0.22,
- "type": "number"
- },
- "dma": {
- "description": "DMA is the Nielsen Designated Market Area the store sits in, e.g.\n\"New York Ny\", \"Austin Tx\". It groups stores by media market rather\nthan by state or county.",
- "example": "New York Ny",
+ "image": {
+ "description": "URL of the product's main image.",
"type": "string"
},
- "latitude": {
- "example": 40.747508,
- "type": "number"
- },
- "longitude": {
- "example": -73.989099,
- "type": "number"
- },
"name": {
- "example": "7-Eleven",
- "type": "string"
- },
- "state": {
- "example": "NY",
- "type": "string"
- },
- "store_category": {
- "example": "7now",
- "type": "string"
- },
- "store_id": {
- "example": "39226",
+ "description": "Product name as given in its structured data.",
"type": "string"
},
- "zip": {
- "example": "10001",
- "type": "string"
- }
- },
- "type": "object"
- },
- "sevennow.StoreAlcoholDay": {
- "properties": {
- "day": {
- "example": "Sunday",
+ "operating_system": {
+ "description": "Operating systems the product runs on, as listed in its structured data.",
"type": "string"
},
- "windows": {
- "description": "Windows are that day's permitted selling periods. More than one\nmeans the day is split, as New York's Sunday rule does.",
+ "screenshot": {
+ "description": "URLs of the product's screenshots.",
"items": {
- "$ref": "#/definitions/sevennow.StoreAlcoholWindow"
+ "type": "string"
},
"type": "array"
+ },
+ "url": {
+ "description": "Product Hunt page URL of the product.",
+ "type": "string"
}
},
"type": "object"
},
- "sevennow.StoreAlcoholWindow": {
+ "producthunt.ProductAlternativeTag": {
"properties": {
- "end_time": {
- "example": "2359",
- "type": "string"
+ "count": {
+ "type": "integer"
},
- "start_time": {
- "example": "0800",
+ "name": {
"type": "string"
}
},
"type": "object"
},
- "sevennow.StoresResponse": {
+ "producthunt.ProductAlternativesPage": {
"properties": {
- "count": {
- "example": 15,
- "type": "integer"
+ "alternative_tags": {
+ "items": {
+ "$ref": "#/definitions/producthunt.ProductAlternativeTag"
+ },
+ "type": "array"
},
- "fetched_at": {
+ "alternatives_markdown_description": {
"type": "string"
},
- "h3_index": {
- "description": "H3Index is the Uber H3 cell (resolution 7) upstream assigns to the\nresolved address -- a stable geospatial key for grouping or caching\nlookups by area.",
- "example": "872a100d2ffffff",
- "type": "string"
+ "categories": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "latitude": {
- "example": 40.7480997,
- "type": "number"
+ "discussions": {
+ "items": {
+ "$ref": "#/definitions/producthunt.ProductAlternativeDiscussion"
+ },
+ "type": "array"
},
- "longitude": {
- "example": -73.9849926,
- "type": "number"
+ "discussions_has_next_page": {
+ "type": "boolean"
},
- "query": {
- "example": "350 5th Ave, New York, NY",
+ "end_cursor": {
+ "example": "MTA",
"type": "string"
},
- "resolved_address": {
- "example": "350 5th Ave, New York, NY 10118, USA",
- "type": "string"
+ "followers_count": {
+ "example": 577,
+ "type": "integer"
},
- "source_url": {
- "type": "string"
+ "has_next_page": {
+ "example": true,
+ "type": "boolean"
},
- "stores": {
+ "items": {
"items": {
- "$ref": "#/definitions/sevennow.Store"
+ "$ref": "#/definitions/producthunt.ProductAlternativeItem"
},
"type": "array"
+ },
+ "name": {
+ "example": "Clico",
+ "type": "string"
+ },
+ "product_id": {
+ "example": "1191613",
+ "type": "string"
+ },
+ "slug": {
+ "example": "clico",
+ "type": "string"
+ },
+ "total_count": {
+ "example": 50,
+ "type": "integer"
}
},
"type": "object"
},
- "sevennow.SuggestResponse": {
+ "producthunt.ProductCategoryAd": {
"properties": {
- "fetched_at": {
+ "channel_kind": {
+ "description": "Placement of the ad, for example `feed`.",
"type": "string"
},
- "query": {
- "example": "chi",
+ "id": {
+ "description": "Product Hunt id of the ad.",
"type": "string"
},
- "source_url": {
+ "large_asset_uuid": {
+ "description": "Identifier of the ad's large image asset.",
"type": "string"
},
- "suggestions": {
- "example": [
- "chips ahoy",
- "chips",
- "chicken"
+ "name": {
+ "description": "Name of the advertised product.",
+ "type": "string"
+ },
+ "post": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/producthunt.ProductCategoryAdPost"
+ }
],
- "items": {
- "type": "string"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "sevennow.catalogResponseDoc": {
- "properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
+ "description": "Launch post of the advertised product."
},
- "data": {
- "$ref": "#/definitions/sevennow.CatalogResponse"
+ "small_asset_uuid": {
+ "description": "Identifier of the ad's small image asset.",
+ "type": "string"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
- }
- },
- "type": "object"
- },
- "sevennow.categoriesResponseDoc": {
- "properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
+ "subject": {
+ "description": "Kind of Product Hunt item the ad is placed on, for example `Channel`.",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/sevennow.CategoriesResponse"
+ "tagline": {
+ "description": "Short tagline shown on the ad.",
+ "type": "string"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
- }
- },
- "type": "object"
- },
- "sevennow.categoryResponseDoc": {
- "properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
+ "thumbnail_uuid": {
+ "description": "Identifier of the ad's thumbnail image file.",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/sevennow.CategoryResponse"
+ "url": {
+ "description": "Path of the ad's link on Product Hunt.",
+ "type": "string"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "variation_id": {
+ "description": "Identifier of the ad variation shown.",
+ "type": "string"
}
},
"type": "object"
},
- "sevennow.comboResponseDoc": {
+ "producthunt.ProductCategoryAdComment": {
"properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
+ "body_text": {
+ "description": "Plain-text body of the comment.",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/sevennow.ComboResponse"
+ "id": {
+ "description": "Product Hunt id of the comment.",
+ "type": "string"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
- }
- },
- "type": "object"
- },
- "sevennow.combosResponseDoc": {
- "properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
+ "is_pinned": {
+ "description": "Whether the comment is pinned on the launch.",
+ "type": "boolean"
},
- "data": {
- "$ref": "#/definitions/sevennow.CombosResponse"
+ "path": {
+ "description": "Path of the comment on Product Hunt.",
+ "type": "string"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "subject_id": {
+ "description": "Product Hunt id of the launch post the comment is on.",
+ "type": "string"
+ },
+ "user": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/producthunt.ProductCategoryUser"
+ }
+ ],
+ "description": "Author of the comment."
}
},
"type": "object"
},
- "sevennow.dealsResponseDoc": {
+ "producthunt.ProductCategoryAdPost": {
"properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "comments_count": {
+ "description": "Number of comments on the launch post.",
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/sevennow.DealsResponse"
+ "created_at": {
+ "description": "Time the launch post was created, in ISO 8601 with a UTC offset.",
+ "type": "string"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
- }
- },
- "type": "object"
- },
- "sevennow.offersResponseDoc": {
- "properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
+ "disabled_when_scheduled": {
+ "description": "Whether the post is disabled while its launch is still scheduled.",
+ "type": "boolean"
},
- "data": {
- "$ref": "#/definitions/sevennow.OffersResponse"
+ "embargo_preview_at": {
+ "description": "Time the launch post becomes visible as an embargo preview. Omitted when not set.",
+ "type": "string"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
- }
- },
- "type": "object"
- },
- "sevennow.popularResponseDoc": {
- "properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
+ "featured_at": {
+ "description": "Time the launch post was featured, in ISO 8601 with a UTC offset.",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/sevennow.PopularResponse"
+ "featured_comment": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/producthunt.ProductCategoryAdComment"
+ }
+ ],
+ "description": "Comment featured on the launch post."
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
- }
- },
- "type": "object"
- },
- "sevennow.productResponseDoc": {
- "properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
+ "has_voted": {
+ "description": "Whether the requesting viewer has upvoted the launch post.",
+ "type": "boolean"
},
- "data": {
- "$ref": "#/definitions/sevennow.ProductResponse"
+ "hide_votes_count": {
+ "description": "Whether Product Hunt hides the vote count for this post.",
+ "type": "boolean"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
- }
- },
- "type": "object"
- },
- "sevennow.promotionResponseDoc": {
- "properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
+ "id": {
+ "description": "Product Hunt id of the launch post.",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/sevennow.PromotionResponse"
+ "latest_score": {
+ "description": "Latest vote score of the launch post.",
+ "type": "integer"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
- }
- },
- "type": "object"
- },
- "sevennow.searchResponseDoc": {
- "properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "launch_day_score": {
+ "description": "Vote score of the launch post on its launch day.",
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/sevennow.SearchResponse"
+ "name": {
+ "description": "Name of the launch post.",
+ "type": "string"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
- }
- },
- "type": "object"
- },
- "sevennow.storesResponseDoc": {
- "properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
+ "product_id": {
+ "description": "Product Hunt id of the product the post belongs to.",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/sevennow.StoresResponse"
+ "product_slug": {
+ "description": "URL slug of the product the post belongs to.",
+ "type": "string"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
- }
- },
- "type": "object"
- },
- "sevennow.suggestResponseDoc": {
- "properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
+ "product_subscribed": {
+ "description": "Whether the requesting viewer follows the product.",
+ "type": "boolean"
},
- "data": {
- "$ref": "#/definitions/sevennow.SuggestResponse"
+ "randomization_status": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/producthunt.ProductCategoryRandomizationStatus"
+ }
+ ],
+ "description": "Whether the post currently has randomized ordering in listings, and when that changes."
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "slug": {
+ "description": "URL slug of the launch post.",
+ "type": "string"
+ },
+ "topics": {
+ "description": "Topics the launch post is filed under.",
+ "items": {
+ "$ref": "#/definitions/producthunt.ProductCategoryTopic"
+ },
+ "type": "array"
+ },
+ "updated_at": {
+ "description": "Time the launch post was last updated, in ISO 8601 with a UTC offset.",
+ "type": "string"
}
},
"type": "object"
},
- "sfgate.AuthorArticle": {
+ "producthunt.ProductCategoryAnswer": {
"properties": {
- "summary": {
- "type": "string"
+ "body": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/producthunt.ProductCategoryMarkdown"
+ }
+ ],
+ "description": "Text of the answer."
},
- "title": {
+ "id": {
+ "description": "Product Hunt id of the answer.",
"type": "string"
},
- "url": {
- "type": "string"
+ "sources": {
+ "description": "Product Hunt items the answer is based on.",
+ "items": {
+ "$ref": "#/definitions/producthunt.ProductCategorySource"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "sfgate.AuthorResponse": {
+ "producthunt.ProductCategoryFounderPost": {
"properties": {
- "articles": {
+ "badges": {
+ "description": "Badges the launch post has earned.",
"items": {
- "$ref": "#/definitions/sfgate.AuthorArticle"
+ "$ref": "#/definitions/producthunt.ProductCategoryListBadge"
},
"type": "array"
},
- "biography": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "id": {
+ "description": "Product Hunt id of the launch post.",
+ "type": "string"
},
- "image_url": {
+ "name": {
+ "description": "Name of the launch post.",
"type": "string"
},
- "job_title": {
+ "product_id": {
+ "description": "Product Hunt id of the product the post belongs to.",
"type": "string"
},
- "name": {
+ "product_slug": {
+ "description": "URL slug of the product the post belongs to.",
"type": "string"
},
- "same_as": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "product_state": {
+ "description": "State of the product on Product Hunt, for example `default`.",
+ "type": "string"
},
- "url": {
+ "slug": {
+ "description": "URL slug of the launch post.",
"type": "string"
- }
- },
- "type": "object"
- },
- "shakeshack.DeliveryFeeTier": {
- "properties": {
- "amount": {
- "example": 1.99,
- "type": "number"
},
- "subtotal_minimum": {
- "example": 12.01,
- "type": "number"
+ "thumbnail_image_uuid": {
+ "description": "Identifier of the launch post's thumbnail image file.",
+ "type": "string"
}
},
"type": "object"
},
- "shakeshack.LocationSummary": {
+ "producthunt.ProductCategoryFounderShoutout": {
"properties": {
- "latitude": {
- "description": "Latitude/Longitude are present only for entries sourced from the map\nsection (source \"map\"). Fetch GET /shakeshack/store for coordinates\non a \"list\"-sourced entry.",
- "example": 29.6856442,
- "type": "number"
- },
- "longitude": {
- "example": -95.4574726,
- "type": "number"
- },
- "name": {
- "example": "Meyerland",
- "type": "string"
+ "from_post": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/producthunt.ProductCategoryFounderPost"
+ }
+ ],
+ "description": "Launch post of the founder who gave the shoutout."
},
- "path": {
- "description": "Path is the value GET /shakeshack/store takes, e.g.\n\"location/meyerland-tx\" or \"node/15226\".",
- "example": "location/meyerland-tx",
+ "id": {
+ "description": "Product Hunt id of the shoutout.",
"type": "string"
},
- "source": {
- "description": "Source is which section of the /locations page this entry was\nparsed from, not a business classification: \"list\" is Shake Shack's\nown \"Full List of Locations\" text index (structured address, no\ncoordinates); \"map\" is the interactive map's pin data (coordinates,\nno structured address). Both round-trip through GET /shakeshack/store\nby path.",
- "example": "list",
+ "product_id": {
+ "description": "Product Hunt id of the product that received the shoutout.",
"type": "string"
}
},
"type": "object"
},
- "shakeshack.LocationsResponse": {
+ "producthunt.ProductCategoryHeroProduct": {
"properties": {
- "count": {
- "example": 100,
- "type": "integer"
- },
- "fetched_at": {
+ "id": {
+ "description": "Product Hunt id of the product.",
"type": "string"
},
- "locations": {
- "items": {
- "$ref": "#/definitions/shakeshack.LocationSummary"
- },
- "type": "array"
- },
- "page": {
- "example": 1,
- "type": "integer"
+ "is_no_longer_online": {
+ "description": "Whether Product Hunt marks the product as no longer online.",
+ "type": "boolean"
},
- "source_url": {
+ "logo_uuid": {
+ "description": "Identifier of the product's logo image file.",
"type": "string"
},
- "total": {
- "example": 1322,
- "type": "integer"
- },
- "total_pages": {
- "example": 14,
- "type": "integer"
+ "name": {
+ "description": "Name of the product as shown on Product Hunt.",
+ "type": "string"
}
},
"type": "object"
},
- "shakeshack.MenuCategory": {
+ "producthunt.ProductCategoryLatestLaunch": {
"properties": {
- "name": {
- "example": "Burgers & More",
+ "id": {
+ "description": "Product Hunt id of the product's latest launch.",
"type": "string"
},
- "products": {
- "items": {
- "$ref": "#/definitions/shakeshack.MenuProduct"
- },
- "type": "array"
+ "scheduled_at": {
+ "description": "Time the latest launch was scheduled for, in ISO 8601 with a UTC offset.",
+ "type": "string"
}
},
"type": "object"
},
- "shakeshack.MenuProduct": {
+ "producthunt.ProductCategoryListBadge": {
"properties": {
- "allergens": {
- "description": "Allergens is upstream's own comma-separated free text, passed through\nas published rather than split into a fixed list.",
- "example": "dairy allergy, egg allergy, soy allergy, wheat allergy, sesame allergy",
+ "category": {
+ "description": "Award category of the badge, for example `Product of the Year`. Omitted for daily and weekly badges.",
"type": "string"
},
- "badge": {
- "description": "Badge is a short promotional/dietary label Shake Shack publishes for\nsome items, e.g. \"LIMITED TIME ONLY\", \"VEGETARIAN\".",
- "example": "VEGETARIAN",
+ "date": {
+ "description": "Date the badge refers to.",
"type": "string"
},
- "base_calories": {
- "description": "BaseCalories is 0 when upstream reports none.",
- "example": 880,
- "type": "integer"
+ "id": {
+ "description": "Product Hunt id of the badge.",
+ "type": "string"
},
- "chain_product_id": {
- "example": 1119032,
+ "period": {
+ "description": "Period the badge covers, for example `daily` or `weekly`.",
+ "type": "string"
+ },
+ "position": {
+ "description": "Rank the product placed at for this badge.",
"type": "integer"
},
- "description": {
+ "post_id": {
+ "description": "Product Hunt id of the launch post the badge was earned on.",
"type": "string"
},
- "image_url": {
+ "post_name": {
+ "description": "Name of the launch post the badge was earned on.",
"type": "string"
},
- "modifiers": {
- "items": {
- "$ref": "#/definitions/shakeshack.ModifierGroup"
- },
- "type": "array"
- },
- "name": {
- "example": "West Coast Burger",
+ "post_slug": {
+ "description": "URL slug of the launch post the badge was earned on.",
"type": "string"
},
- "price": {
- "description": "Price is this item's base price. Many items price entirely through a\nrequired size/flavor modifier rather than a base price, so 0 is\ncommon here -- not a parsing gap (same shape as this repo's other\nOlo-backed menus, e.g. Jimmy John's).",
- "example": 0,
- "type": "number"
+ "year": {
+ "description": "Year of the award the badge belongs to.",
+ "type": "string"
}
},
"type": "object"
},
- "shakeshack.MenuResponse": {
+ "producthunt.ProductCategoryListProduct": {
"properties": {
- "categories": {
+ "badges": {
+ "description": "Badges the product has earned on Product Hunt.",
"items": {
- "$ref": "#/definitions/shakeshack.MenuCategory"
+ "$ref": "#/definitions/producthunt.ProductCategoryListBadge"
},
"type": "array"
},
- "category_count": {
- "example": 11,
- "type": "integer"
- },
- "fetched_at": {
- "type": "string"
- },
- "location_id": {
- "example": 14992,
- "type": "integer"
+ "categories": {
+ "description": "Product Hunt categories the product is listed in.",
+ "items": {
+ "$ref": "#/definitions/producthunt.ProductCategoryRef"
+ },
+ "type": "array"
},
- "product_count": {
- "example": 76,
+ "detailed_reviews_count": {
+ "description": "Number of detailed reviews the product has.",
"type": "integer"
},
- "source_url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "shakeshack.ModifierChoice": {
- "properties": {
- "calorie_delta": {
- "example": -1,
+ "followers_count": {
+ "description": "Number of Product Hunt users following the product.",
"type": "integer"
},
- "chain_option_id": {
- "example": 213463,
+ "founder_reviews_count": {
+ "description": "Number of reviews written by the product's founders.",
"type": "integer"
},
- "groups": {
+ "founder_shoutouts": {
+ "description": "Shoutouts the product received from other founders.",
"items": {
- "$ref": "#/definitions/shakeshack.ModifierGroup"
+ "$ref": "#/definitions/producthunt.ProductCategoryFounderShoutout"
},
"type": "array"
},
- "is_default": {
+ "id": {
+ "description": "Product Hunt id of the product.",
+ "type": "string"
+ },
+ "is_no_longer_online": {
+ "description": "Whether Product Hunt marks the product as no longer online.",
"type": "boolean"
},
- "name": {
- "example": "No Lettuce",
+ "is_subscribed": {
+ "description": "Whether the requesting viewer follows the product.",
+ "type": "boolean"
+ },
+ "is_top_product": {
+ "description": "Whether Product Hunt flags the product as a top product.",
+ "type": "boolean"
+ },
+ "latest_launch": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/producthunt.ProductCategoryLatestLaunch"
+ }
+ ],
+ "description": "Most recent launch of the product."
+ },
+ "logo_uuid": {
+ "description": "Identifier of the product's logo image file.",
"type": "string"
},
- "option_id": {
- "example": 4127201667,
- "type": "integer"
+ "name": {
+ "description": "Name of the product as shown on Product Hunt.",
+ "type": "string"
},
- "price": {
- "example": 0,
- "type": "number"
- }
- },
- "type": "object"
- },
- "shakeshack.ModifierGroup": {
- "properties": {
- "chain_modifier_id": {
- "example": 38041,
+ "posts_count": {
+ "description": "Number of launch posts the product has.",
"type": "integer"
},
- "choices": {
- "items": {
- "$ref": "#/definitions/shakeshack.ModifierChoice"
- },
- "type": "array"
- },
- "group_id": {
- "example": 890226904,
+ "reviews_count": {
+ "description": "Number of reviews the product has.",
"type": "integer"
},
- "name": {
- "example": "Remove Lettuce:",
- "type": "string"
+ "reviews_rating": {
+ "description": "Average review rating of the product.",
+ "type": "number"
},
- "type": {
- "example": "REMOVAL",
- "type": "string"
- }
- },
- "type": "object"
- },
- "shakeshack.NearbyAddress": {
- "properties": {
- "city": {
- "example": "New York",
+ "slug": {
+ "description": "URL slug of the product on Product Hunt.",
"type": "string"
},
- "postal_code": {
- "example": "10036",
- "type": "string"
+ "structured_data": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/producthunt.ProductAlternativeStructuredData"
+ }
+ ],
+ "description": "Schema.org structured data Product Hunt publishes for the product."
},
- "region": {
- "example": "NY",
+ "tagline": {
+ "description": "Short tagline of the product.",
"type": "string"
},
- "street": {
- "example": "691 Eighth Avenue",
- "type": "string"
+ "tags": {
+ "description": "Tags describing the product.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "shakeshack.NearbyHours": {
+ "producthunt.ProductCategoryMarkdown": {
"properties": {
- "closes": {
- "example": "23:00",
- "type": "string"
- },
- "day_of_week": {
- "example": "Monday",
+ "markdown": {
+ "description": "Text in Markdown format.",
"type": "string"
},
- "opens": {
- "example": "10:00",
+ "text": {
+ "description": "Same text as plain text.",
"type": "string"
}
},
"type": "object"
},
- "shakeshack.NearbyLocation": {
+ "producthunt.ProductCategoryPage": {
"properties": {
- "address": {
- "$ref": "#/definitions/shakeshack.NearbyAddress"
+ "description": {
+ "description": "Description of the category.",
+ "type": "string"
},
- "delivery_fees": {
+ "discussions": {
+ "description": "Community discussions related to the category.",
"items": {
- "$ref": "#/definitions/shakeshack.DeliveryFeeTier"
+ "$ref": "#/definitions/producthunt.ProductAlternativeDiscussion"
},
"type": "array"
},
- "distance_miles": {
- "example": 0.19,
- "type": "number"
+ "discussions_has_next_page": {
+ "description": "Whether more discussions exist beyond those returned.",
+ "type": "boolean"
},
- "fulfillment_modes": {
- "description": "FulfillmentModes are the handoff modes this location currently has\nenabled, e.g. \"dine_in\", \"pickup\", \"delivery\", \"curbside\",\n\"drive_thru\", \"walk_up\".",
- "items": {
- "type": "string"
- },
- "type": "array"
+ "expandable_html": {
+ "description": "HTML of the category's expandable description section. Omitted when the category has none.",
+ "type": "string"
},
- "hours": {
- "description": "Hours is the current rolling week, Monday-first.",
+ "hero_products": {
+ "description": "Featured products shown at the top of the category page.",
"items": {
- "$ref": "#/definitions/shakeshack.NearbyHours"
+ "$ref": "#/definitions/producthunt.ProductCategoryHeroProduct"
},
"type": "array"
},
- "is_online_ordering_available": {
- "type": "boolean"
- },
- "latitude": {
- "example": 40.7584054,
- "type": "number"
- },
- "location_id": {
- "example": 14992,
+ "hero_products_count": {
+ "description": "Total number of featured products in the category.",
"type": "integer"
},
- "longitude": {
- "example": -73.9891734,
- "type": "number"
+ "id": {
+ "description": "Product Hunt id of the category.",
+ "type": "string"
},
- "name": {
- "example": "Theater District",
+ "last_updated_at": {
+ "description": "Time the category page was last updated, in ISO 8601 with a UTC offset.",
"type": "string"
},
- "phone_number": {
- "example": "(646) 435-0135",
+ "meta_title": {
+ "description": "Page title Product Hunt uses for the category.",
"type": "string"
},
- "timezone": {
- "example": "America/New_York",
+ "name": {
+ "description": "Name of the category as shown on Product Hunt.",
"type": "string"
- }
- },
- "type": "object"
- },
- "shakeshack.NearbyResponse": {
- "properties": {
- "count": {
- "example": 10,
- "type": "integer"
},
- "fetched_at": {
+ "parent": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/producthunt.ProductCategoryParent"
+ }
+ ],
+ "description": "Parent category, with its other sub-categories."
+ },
+ "path": {
+ "description": "Path of the category page on Product Hunt.",
+ "example": "/categories/vibe-coding",
"type": "string"
},
- "locations": {
+ "questions": {
+ "description": "Questions asked about the category, each with its top answer.",
"items": {
- "$ref": "#/definitions/shakeshack.NearbyLocation"
+ "$ref": "#/definitions/producthunt.ProductCategoryQuestion"
},
"type": "array"
},
- "radius_miles": {
- "example": 15,
+ "raw_relevant_reviews": {
+ "description": "Reviews Product Hunt shows as relevant to the category, as Product Hunt returns them.",
+ "items": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "recent_launches_count": {
+ "description": "Number of recent launches in the category.",
"type": "integer"
},
- "source_url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "shakeshack.StoreAddress": {
- "properties": {
- "city": {
- "example": "Houston",
- "type": "string"
+ "recent_summary": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/producthunt.ProductCategoryRecentSummary"
+ }
+ ],
+ "description": "Summary of recent launches in the category with the products it covers."
},
- "country": {
- "example": "United States",
- "type": "string"
+ "reviews_count": {
+ "description": "Number of reviews across the category's products.",
+ "type": "integer"
},
- "line1": {
- "example": "8815 W Loop S",
+ "slug": {
+ "description": "URL slug of the category.",
+ "example": "vibe-coding",
"type": "string"
},
- "postal_code": {
- "example": "77096",
- "type": "string"
+ "sub_categories": {
+ "description": "Sub-categories of this category.",
+ "items": {
+ "$ref": "#/definitions/producthunt.ProductCategoryRef"
+ },
+ "type": "array"
},
- "region": {
- "example": "TX",
- "type": "string"
+ "targeted_ad": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/producthunt.ProductCategoryAd"
+ }
+ ],
+ "description": "Sponsored placement shown on the category page. Omitted when there is none."
}
},
"type": "object"
},
- "shakeshack.StoreHours": {
+ "producthunt.ProductCategoryParent": {
"properties": {
- "closed": {
- "description": "Closed is true when Shake Shack publishes the day with no open\ninterval.",
- "example": false,
- "type": "boolean"
- },
- "closes": {
- "example": "23:00",
+ "id": {
+ "description": "Product Hunt id of the parent category.",
"type": "string"
},
- "day_of_week": {
- "example": "Monday",
+ "name": {
+ "description": "Name of the parent category.",
"type": "string"
},
- "opens": {
- "example": "10:00",
+ "path": {
+ "description": "Path of the parent category page on Product Hunt.",
"type": "string"
+ },
+ "sub_categories": {
+ "description": "Sub-categories of the parent category, including this one.",
+ "items": {
+ "$ref": "#/definitions/producthunt.ProductCategoryRef"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "shakeshack.StoreResponse": {
+ "producthunt.ProductCategoryProductsPage": {
"properties": {
- "address": {
- "$ref": "#/definitions/shakeshack.StoreAddress"
- },
- "fetched_at": {
+ "ai_summary": {
"type": "string"
},
- "hours": {
- "description": "Hours is Monday-first. Omitted entirely for locations that publish no\nweekly schedule (seen on venue/kiosk-shaped locations, e.g. inside a\nstadium).",
+ "category_tags": {
"items": {
- "$ref": "#/definitions/shakeshack.StoreHours"
+ "$ref": "#/definitions/producthunt.ProductAlternativeTag"
},
"type": "array"
},
- "latitude": {
- "example": 29.6856442,
- "type": "number"
+ "connection": {
+ "example": "products",
+ "type": "string"
},
- "longitude": {
- "example": -95.4574726,
- "type": "number"
+ "description": {
+ "type": "string"
},
- "name": {
- "example": "Meyerland",
+ "end_cursor": {
"type": "string"
},
- "order_types": {
- "description": "OrderTypes are the fulfillment types Shake Shack publishes for this\nlocation, e.g. \"Dine In\", \"Delivery\".",
+ "featured_only": {
+ "type": "boolean"
+ },
+ "has_next_page": {
+ "type": "boolean"
+ },
+ "has_previous_page": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "items": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/producthunt.ProductCategoryListProduct"
},
"type": "array"
},
- "path": {
- "description": "Path is the canonical page path this record resolved to, e.g.\n\"location/meyerland-tx\" -- present even when the requested path was\nthe legacy \"node/\" form of the same location.",
+ "last_updated_at": {
"type": "string"
},
- "phone_number": {
- "example": "281-819-8763",
+ "name": {
"type": "string"
},
- "source_url": {
+ "order": {
+ "example": "highest_rated",
"type": "string"
},
- "store_id": {
- "description": "StoreID is the underlying Drupal node id, e.g. \"51351\" from\n/node/51351. Present whenever the page's own settings expose it.",
- "example": "51351",
- "type": "string"
- }
- },
- "type": "object"
- },
- "shakeshack.locationsResponseDoc": {
- "properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "page": {
+ "example": 1,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/shakeshack.LocationsResponse"
- },
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
- }
- },
- "type": "object"
- },
- "shakeshack.menuResponseDoc": {
- "properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "page_size": {
+ "example": 15,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/shakeshack.MenuResponse"
+ "path": {
+ "example": "/categories/vibe-coding",
+ "type": "string"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
- }
- },
- "type": "object"
- },
- "shakeshack.nearbyResponseDoc": {
- "properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
+ "slug": {
+ "example": "vibe-coding",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/shakeshack.NearbyResponse"
+ "tags": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "total_count": {
+ "type": "integer"
}
},
"type": "object"
},
- "shakeshack.storeResponseDoc": {
+ "producthunt.ProductCategoryQuestion": {
"properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
+ "body": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/producthunt.ProductCategoryMarkdown"
+ }
+ ],
+ "description": "Text of the question."
},
- "data": {
- "$ref": "#/definitions/shakeshack.StoreResponse"
+ "id": {
+ "description": "Product Hunt id of the question.",
+ "type": "string"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "top_answer": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/producthunt.ProductCategoryAnswer"
+ }
+ ],
+ "description": "Highest-ranked answer to the question."
}
},
"type": "object"
},
- "shein.AggregationFilters": {
+ "producthunt.ProductCategoryRandomizationStatus": {
"properties": {
- "category": {
- "$ref": "#/definitions/shein.FacetCategory"
- },
- "filters": {
- "items": {
- "$ref": "#/definitions/shein.FacetGroup"
- },
- "type": "array"
- },
- "keyword": {
- "example": "dress",
- "type": "string"
+ "active": {
+ "description": "Whether randomized ordering is currently active for the post.",
+ "type": "boolean"
},
- "max_price": {
- "example": "569",
+ "next_transition_at": {
+ "description": "Time the randomization status next changes. Omitted when none is scheduled.",
"type": "string"
},
- "min_price": {
- "example": "18",
- "type": "string"
+ "random_day": {
+ "description": "Whether the post's launch day uses randomized ordering.",
+ "type": "boolean"
}
},
"type": "object"
},
- "shein.AutocompleteResponse": {
+ "producthunt.ProductCategoryRecentSummary": {
"properties": {
- "suggestions": {
+ "products": {
+ "description": "Products the summary covers.",
"items": {
- "$ref": "#/definitions/shein.AutocompleteSuggestion"
+ "$ref": "#/definitions/producthunt.ProductCategorySummaryProduct"
},
"type": "array"
},
- "word": {
- "example": "dres",
+ "summary": {
+ "description": "Short text summarising what recently launched in the category.",
"type": "string"
}
},
"type": "object"
},
- "shein.AutocompleteSuggestion": {
+ "producthunt.ProductCategoryRef": {
"properties": {
- "type": {
- "example": "common",
+ "id": {
+ "description": "Product Hunt id of the category.",
"type": "string"
},
- "word": {
- "example": "Dress For Women",
+ "name": {
+ "description": "Name of the category as shown on Product Hunt.",
"type": "string"
},
- "word_id": {
- "example": "163784",
- "type": "string"
- }
- },
- "type": "object"
- },
- "shein.BrandCategory": {
- "properties": {
- "cat_id": {
- "example": "2030",
+ "path": {
+ "description": "Path of the category page on Product Hunt.",
"type": "string"
},
- "category_name": {
- "example": "Women Clothing",
+ "slug": {
+ "description": "URL slug of the category.",
"type": "string"
}
},
"type": "object"
},
- "shein.BrandsResponse": {
+ "producthunt.ProductCategorySource": {
"properties": {
- "categories": {
+ "badges": {
+ "description": "Badges shown next to the source.",
"items": {
- "$ref": "#/definitions/shein.BrandCategory"
+ "type": "string"
},
"type": "array"
+ },
+ "id": {
+ "description": "Product Hunt id of the source item.",
+ "type": "string"
+ },
+ "path": {
+ "description": "Path of the source item on Product Hunt.",
+ "type": "string"
+ },
+ "subject_id": {
+ "description": "Product Hunt id of the item the source is attached to.",
+ "type": "string"
+ },
+ "type": {
+ "description": "Kind of Product Hunt item the source is, for example `Comment`.",
+ "type": "string"
+ },
+ "user": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/producthunt.ProductCategoryUser"
+ }
+ ],
+ "description": "User who wrote the source item."
+ },
+ "visible_at": {
+ "description": "Time the source item became visible, as Product Hunt returns it.",
+ "type": "string"
}
},
"type": "object"
},
- "shein.CategoriesResponse": {
+ "producthunt.ProductCategorySummaryProduct": {
"properties": {
- "categories": {
+ "badges": {
+ "description": "Badges the product has earned on Product Hunt.",
"items": {
- "$ref": "#/definitions/shein.CategoryNode"
+ "$ref": "#/definitions/producthunt.ProductAlternativeBadge"
},
"type": "array"
},
- "filters": {
+ "categories": {
+ "description": "Product Hunt categories the product is listed in.",
"items": {
- "$ref": "#/definitions/shein.Filter"
+ "$ref": "#/definitions/producthunt.ProductCategoryRef"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "shein.CategoryFiltersResponse": {
- "properties": {
- "cat_id": {
- "example": "1766",
- "type": "string"
},
- "currency": {
- "example": "HK$",
+ "followers_count": {
+ "description": "Number of Product Hunt users following the product.",
+ "type": "integer"
+ },
+ "id": {
+ "description": "Product Hunt id of the product.",
"type": "string"
},
- "filters": {
- "items": {
- "$ref": "#/definitions/shein.Filter"
- },
- "type": "array"
+ "is_no_longer_online": {
+ "description": "Whether Product Hunt marks the product as no longer online.",
+ "type": "boolean"
},
- "max_price": {
- "example": 569,
- "type": "number"
+ "is_subscribed": {
+ "description": "Whether the requesting viewer follows the product.",
+ "type": "boolean"
},
- "min_price": {
- "example": 18,
- "type": "number"
- }
- },
- "type": "object"
- },
- "shein.CategoryGoodsResponse": {
- "properties": {
- "cat_id": {
- "example": "1727",
+ "is_top_product": {
+ "description": "Whether Product Hunt flags the product as a top product.",
+ "type": "boolean"
+ },
+ "latest_launch": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/producthunt.ProductCategoryLatestLaunch"
+ }
+ ],
+ "description": "Most recent launch of the product."
+ },
+ "logo_uuid": {
+ "description": "Identifier of the product's logo image file.",
"type": "string"
},
- "category_name": {
- "example": "Dresses",
+ "name": {
+ "description": "Name of the product as shown on Product Hunt.",
"type": "string"
},
- "page": {
- "example": 1,
+ "reviews_count": {
+ "description": "Number of reviews the product has.",
"type": "integer"
},
- "products": {
- "items": {
- "$ref": "#/definitions/shein.Product"
- },
- "type": "array"
- },
- "total": {
- "example": 1187,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "shein.CategoryNavResponse": {
- "properties": {
- "cat_id": {
- "example": "1766",
- "type": "string"
+ "reviews_rating": {
+ "description": "Average review rating of the product.",
+ "type": "number"
},
- "navs": {
- "items": {
- "$ref": "#/definitions/shein.NavTab"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "shein.CategoryNode": {
- "properties": {
- "cat_id": {
- "example": "3638",
+ "slug": {
+ "description": "URL slug of the product on Product Hunt.",
"type": "string"
},
- "category_name": {
- "example": "False Eyelashes & Adhesives",
+ "tagline": {
+ "description": "Short tagline of the product.",
"type": "string"
},
- "children": {
+ "tags": {
+ "description": "Tags describing the product.",
"items": {
- "$ref": "#/definitions/shein.CategoryNode"
+ "type": "string"
},
"type": "array"
}
},
"type": "object"
},
- "shein.ColorVariant": {
+ "producthunt.ProductCategoryTopic": {
"properties": {
- "color_image": {
- "type": "string"
- },
- "color_name": {
- "example": "Blue",
- "type": "string"
- },
- "goods_id": {
- "example": "162996968",
- "type": "string"
- },
- "goods_sn": {
- "example": "sz25081190840936964",
+ "id": {
+ "description": "Product Hunt id of the topic.",
"type": "string"
},
- "goods_url_name": {
+ "name": {
+ "description": "Name of the topic as shown on Product Hunt.",
"type": "string"
},
- "image": {
+ "slug": {
+ "description": "URL slug of the topic.",
"type": "string"
}
},
"type": "object"
},
- "shein.DealCategory": {
+ "producthunt.ProductCategoryUser": {
"properties": {
- "cat_id": {
- "example": "4436",
+ "avatar_url": {
+ "description": "URL of the user's profile picture.",
+ "type": "string"
+ },
+ "id": {
+ "description": "Product Hunt id of the user.",
"type": "string"
},
"name": {
- "example": "Women Apparel",
+ "description": "Display name of the user.",
"type": "string"
},
- "type": {
- "example": "realCategory",
+ "username": {
+ "description": "Product Hunt username of the user.",
"type": "string"
}
},
"type": "object"
},
- "shein.DealProduct": {
+ "producthunt.ProductCustomersPage": {
"properties": {
- "brand_code": {
- "example": "1qmfm",
- "type": "string"
- },
- "category_id": {
- "example": "12476",
- "type": "string"
- },
- "category_name": {
- "example": "Women Long Dresses",
+ "connection": {
+ "description": "Kind of list the items come from, for example `customers`.",
+ "example": "customers",
"type": "string"
},
- "color_img": {
+ "end_cursor": {
+ "description": "Cursor of the last item on this page. Omitted when Product Hunt returns none.",
"type": "string"
},
- "comment_avg": {
- "example": "4.68",
- "type": "string"
+ "has_next_page": {
+ "description": "Whether another page of customers follows this one.",
+ "type": "boolean"
},
- "comment_count": {
- "example": 1001,
- "type": "integer"
+ "has_previous_page": {
+ "description": "Whether a page of customers precedes this one.",
+ "type": "boolean"
},
- "detail_images": {
+ "items": {
+ "description": "Products that are customers of the product, one per entry.",
"items": {
- "type": "string"
+ "$ref": "#/definitions/producthunt.ProductCategoryListProduct"
},
"type": "array"
},
- "goods_id": {
- "example": "163003837",
+ "name": {
+ "description": "Name of the product.",
+ "example": "OpenAI",
"type": "string"
},
- "goods_img": {
+ "order": {
+ "description": "Order the customers are sorted in, `customers` or `latest_launch`.",
+ "example": "customers",
"type": "string"
},
- "goods_name": {
- "example": "Sweetra Women's Oblique Shoulder Fitted Bandeau Dress",
+ "page": {
+ "description": "Page number returned.",
+ "example": 1,
+ "type": "integer"
+ },
+ "page_size": {
+ "description": "Number of customers requested per page.",
+ "example": 10,
+ "type": "integer"
+ },
+ "pages_count": {
+ "description": "Total number of pages of customers.",
+ "example": 12,
+ "type": "integer"
+ },
+ "product_id": {
+ "description": "Product Hunt id of the product.",
+ "example": "594550",
"type": "string"
},
- "goods_sn": {
- "example": "sz25081193234595996",
+ "raw_page_info": {
+ "additionalProperties": {},
+ "description": "Pagination details for this page as Product Hunt returns them.",
+ "type": "object"
+ },
+ "slug": {
+ "description": "URL slug of the product on Product Hunt.",
+ "example": "openai",
"type": "string"
},
- "goods_url_name": {
- "example": "Sweetra-Women-s-Oblique-Shoulder-Fitted-Bandeau-Dress",
+ "total_count": {
+ "description": "Total number of customers the product has.",
+ "example": 120,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "producthunt.ProductDetailedReview": {
+ "properties": {
+ "alternative_products": {
+ "description": "Products the reviewer names as alternatives.",
+ "items": {
+ "$ref": "#/definitions/producthunt.ProductDetailedReviewProduct"
+ },
+ "type": "array"
+ },
+ "alternatives_feedback": {
+ "description": "Reviewer's free-text comments on alternatives to the product.",
"type": "string"
},
- "is_new_coupon": {
- "example": false,
+ "can_destroy": {
+ "description": "Whether the requesting viewer can delete the review.",
"type": "boolean"
},
- "mall_code": {
- "example": "1",
- "type": "string"
+ "can_moderate": {
+ "description": "Whether the requesting viewer can moderate the review.",
+ "type": "boolean"
},
- "on_sale": {
- "example": true,
+ "can_reply": {
+ "description": "Whether the requesting viewer can reply to the review.",
"type": "boolean"
},
- "retail_price": {
- "example": "HK$119.00",
+ "can_update": {
+ "description": "Whether the requesting viewer can edit the review.",
+ "type": "boolean"
+ },
+ "comments_count": {
+ "description": "Number of comments on the review.",
+ "type": "integer"
+ },
+ "created_at": {
+ "description": "Time the review was written.",
"type": "string"
},
- "sale_price": {
- "example": "HK$119.00",
+ "customization_rating": {
+ "description": "Reviewer's rating for customization. Omitted when the reviewer gave none.",
+ "type": "integer"
+ },
+ "ease_of_use_rating": {
+ "description": "Reviewer's rating for ease of use. Omitted when the reviewer gave none.",
+ "type": "integer"
+ },
+ "follow_product": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/producthunt.ProductDetailedReviewFollowProduct"
+ }
+ ],
+ "description": "The reviewed product with the viewer's follow state."
+ },
+ "from_post": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/producthunt.ProductDetailedReviewPost"
+ }
+ ],
+ "description": "Launch post the review was written from."
+ },
+ "has_voted": {
+ "description": "Whether the requesting viewer has upvoted the review.",
+ "type": "boolean"
+ },
+ "id": {
+ "description": "Product Hunt id of the review.",
"type": "string"
},
- "sold_out": {
- "example": false,
+ "impression_count": {
+ "description": "Number of times the review has been shown.",
+ "type": "integer"
+ },
+ "is_hidden": {
+ "description": "Whether the review is hidden on Product Hunt.",
"type": "boolean"
},
- "spu": {
- "example": "z250520775866",
+ "llm_content_quality_grade": {
+ "description": "Quality grade Product Hunt assigned to the review text. Omitted when none is given.",
"type": "string"
},
- "store_code": {
- "example": "7945614031",
+ "llm_content_quality_reason": {
+ "description": "Reason given for the review's quality grade. Omitted when none is given.",
"type": "string"
},
- "usd_price": {
- "example": "$15.16",
+ "negative_feedback": {
+ "description": "Reviewer's free-text comments on what they disliked.",
"type": "string"
- }
- },
- "type": "object"
- },
- "shein.DealTabsResponse": {
- "properties": {
- "categories": {
+ },
+ "overall_experience": {
+ "description": "Reviewer's free-text summary of their overall experience.",
+ "type": "string"
+ },
+ "overall_rating": {
+ "description": "Reviewer's overall rating of the product.",
+ "type": "integer"
+ },
+ "positive_feedback": {
+ "description": "Reviewer's free-text comments on what they liked.",
+ "type": "string"
+ },
+ "product": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/producthunt.ProductDetailedReviewProduct"
+ }
+ ],
+ "description": "Product the review is about."
+ },
+ "question_answers": {
+ "description": "Reviewer's answers to Product Hunt's review questions.",
"items": {
- "$ref": "#/definitions/shein.DealCategory"
+ "$ref": "#/definitions/producthunt.ProductDetailedReviewQuestionAnswer"
},
"type": "array"
},
- "for_you_tab": {
- "example": "For You",
- "type": "string"
- }
- },
- "type": "object"
- },
- "shein.DealsProductsResponse": {
- "properties": {
- "page": {
- "example": 1,
+ "reliability_rating": {
+ "description": "Reviewer's rating for reliability. Omitted when the reviewer gave none.",
"type": "integer"
},
- "products": {
+ "review_type": {
+ "description": "Kind of review, for example `founder` or `personal`.",
+ "type": "string"
+ },
+ "selected_cons": {
+ "description": "Downsides the reviewer picked from Product Hunt's tag list.",
"items": {
- "$ref": "#/definitions/shein.DealProduct"
+ "$ref": "#/definitions/producthunt.ProductDetailedReviewTag"
},
"type": "array"
},
- "total": {
- "example": 3000,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "shein.FacetCategory": {
- "properties": {
- "children": {
+ "selected_pros": {
+ "description": "Strengths the reviewer picked from Product Hunt's tag list.",
"items": {
- "$ref": "#/definitions/shein.FacetCategory"
+ "$ref": "#/definitions/producthunt.ProductDetailedReviewTag"
},
"type": "array"
},
- "id": {
- "example": "2030",
+ "status": {
+ "description": "Publication status of the review, for example `submitted`.",
"type": "string"
},
- "name": {
- "example": "Women Clothing",
+ "threads_end_cursor": {
+ "description": "Cursor of the last comment thread returned. Omitted when none.",
"type": "string"
+ },
+ "threads_has_next_page": {
+ "description": "Whether more comment threads exist on the review.",
+ "type": "boolean"
+ },
+ "threads_total_count": {
+ "description": "Total number of comment threads on the review.",
+ "type": "integer"
+ },
+ "user": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/producthunt.ProductDetailedReviewUser"
+ }
+ ],
+ "description": "Reviewer who wrote the review."
+ },
+ "value_for_money_rating": {
+ "description": "Reviewer's rating for value for money. Omitted when the reviewer gave none.",
+ "type": "integer"
+ },
+ "votes_count": {
+ "description": "Number of upvotes the review has.",
+ "type": "integer"
}
},
"type": "object"
},
- "shein.FacetGroup": {
+ "producthunt.ProductDetailedReviewFollowProduct": {
"properties": {
"id": {
- "example": "87",
+ "description": "Product Hunt id of the product.",
+ "type": "string"
+ },
+ "is_no_longer_online": {
+ "description": "Whether Product Hunt marks the product as no longer online.",
+ "type": "boolean"
+ },
+ "is_subscribed": {
+ "description": "Whether the requesting viewer follows the product.",
+ "type": "boolean"
+ },
+ "logo_uuid": {
+ "description": "Identifier of the product's logo image file.",
"type": "string"
},
"name": {
- "example": "Size",
+ "description": "Name of the product as shown on Product Hunt.",
"type": "string"
},
- "options": {
- "items": {
- "$ref": "#/definitions/shein.FacetOption"
- },
- "type": "array"
+ "slug": {
+ "description": "URL slug of the product on Product Hunt.",
+ "type": "string"
}
},
"type": "object"
},
- "shein.FacetOption": {
+ "producthunt.ProductDetailedReviewPost": {
"properties": {
+ "badges": {
+ "description": "Badges the launch post has earned.",
+ "items": {
+ "$ref": "#/definitions/producthunt.ProductCategoryListBadge"
+ },
+ "type": "array"
+ },
"id": {
- "example": "87_757",
+ "description": "Product Hunt id of the launch post.",
"type": "string"
},
+ "is_top_launch": {
+ "description": "Whether Product Hunt flags the post as a top launch.",
+ "type": "boolean"
+ },
+ "latest_score": {
+ "description": "Latest vote score of the launch post.",
+ "type": "integer"
+ },
"name": {
- "example": "XXS",
+ "description": "Name of the launch post.",
"type": "string"
- }
- },
- "type": "object"
- },
- "shein.Filter": {
- "properties": {
- "node_id": {
- "example": "87",
+ },
+ "product_id": {
+ "description": "Product Hunt id of the product the post belongs to.",
"type": "string"
},
- "node_name": {
- "example": "Size",
+ "product_is_top_product": {
+ "description": "Whether Product Hunt flags the product as a top product.",
+ "type": "boolean"
+ },
+ "product_slug": {
+ "description": "URL slug of the product the post belongs to.",
"type": "string"
},
- "options": {
- "items": {
- "$ref": "#/definitions/shein.FilterOption"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "shein.FilterOption": {
- "properties": {
- "node_id": {
- "example": "87_757",
+ "product_state": {
+ "description": "State of the product on Product Hunt, for example `default`.",
"type": "string"
},
- "node_name": {
- "example": "XXS",
+ "slug": {
+ "description": "URL slug of the launch post.",
+ "type": "string"
+ },
+ "thumbnail_image_uuid": {
+ "description": "Identifier of the launch post's thumbnail image file.",
"type": "string"
}
},
"type": "object"
},
- "shein.Keyword": {
+ "producthunt.ProductDetailedReviewProduct": {
"properties": {
- "from": {
- "example": "search",
+ "id": {
+ "description": "Product Hunt id of the product.",
"type": "string"
},
- "type": {
- "example": "goods_pool",
+ "is_no_longer_online": {
+ "description": "Whether Product Hunt marks the product as no longer online.",
+ "type": "boolean"
+ },
+ "logo_uuid": {
+ "description": "Identifier of the product's logo image file.",
"type": "string"
},
- "word": {
- "example": "Mother And Daughter",
+ "name": {
+ "description": "Name of the product as shown on Product Hunt.",
"type": "string"
},
- "word_id": {
- "example": "199828",
+ "slug": {
+ "description": "URL slug of the product on Product Hunt.",
"type": "string"
}
},
"type": "object"
},
- "shein.NavTab": {
+ "producthunt.ProductDetailedReviewQuestionAnswer": {
"properties": {
- "goods_id": {
- "example": "52544880",
- "type": "string"
- },
- "nav_id": {
- "example": "1738",
+ "answer": {
+ "description": "Reviewer's answer to the question.",
"type": "string"
},
- "nav_img": {
+ "id": {
+ "description": "Product Hunt id of the answer.",
"type": "string"
},
- "nav_name": {
- "example": "T-Shirts",
+ "question": {
+ "description": "Text of the review question.",
"type": "string"
},
- "nav_type": {
- "example": "1",
+ "question_id": {
+ "description": "Product Hunt id of the review question.",
"type": "string"
}
},
"type": "object"
},
- "shein.Product": {
+ "producthunt.ProductDetailedReviewTag": {
"properties": {
- "brand_code": {
- "example": "1qmfm",
- "type": "string"
- },
- "category_id": {
- "example": "12476",
- "type": "string"
- },
- "category_name": {
- "example": "Women Long Dresses",
- "type": "string"
+ "count": {
+ "description": "Number of reviewers who picked this tag for the product.",
+ "type": "integer"
},
- "color_img": {
+ "id": {
+ "description": "Product Hunt id of the tag.",
"type": "string"
},
- "comment_avg": {
- "example": "4.68",
+ "name": {
+ "description": "Text of the tag as shown on Product Hunt.",
"type": "string"
},
- "comment_count": {
- "example": 1001,
- "type": "integer"
- },
- "detail_images": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "goods_id": {
- "example": "163003837",
+ "type": {
+ "description": "Whether the tag is a strength or a downside, for example `Positive`.",
"type": "string"
- },
- "goods_img": {
+ }
+ },
+ "type": "object"
+ },
+ "producthunt.ProductDetailedReviewUser": {
+ "properties": {
+ "avatar_url": {
+ "description": "URL of the reviewer's profile picture.",
"type": "string"
},
- "goods_name": {
- "example": "Sweetra Women's Oblique Shoulder Fitted Bandeau Dress",
+ "headline": {
+ "description": "Reviewer's profile headline.",
"type": "string"
},
- "goods_sn": {
- "example": "sz25081193234595996",
+ "id": {
+ "description": "Product Hunt id of the reviewer.",
"type": "string"
},
- "goods_url_name": {
- "example": "Sweetra-Women-s-Oblique-Shoulder-Fitted-Bandeau-Dress",
- "type": "string"
+ "is_account_verified": {
+ "description": "Whether the reviewer's Product Hunt account is verified.",
+ "type": "boolean"
},
- "mall_code": {
- "example": "1",
- "type": "string"
+ "is_ambassador": {
+ "description": "Whether the reviewer is a Product Hunt ambassador.",
+ "type": "boolean"
},
- "on_sale": {
- "example": true,
+ "is_followed": {
+ "description": "Whether the requesting viewer follows the reviewer.",
"type": "boolean"
},
- "retail_price": {
- "example": "HK$119.00",
+ "name": {
+ "description": "Reviewer's display name.",
"type": "string"
},
- "sale_price": {
- "example": "HK$119.00",
- "type": "string"
+ "reviews_count": {
+ "description": "Number of reviews the reviewer has written.",
+ "type": "integer"
},
- "sold_out": {
- "example": false,
- "type": "boolean"
+ "selected_byline_product": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/producthunt.ProductDetailedReviewProduct"
+ }
+ ],
+ "description": "Product the reviewer shows on their byline."
},
- "spu": {
- "example": "z250520775866",
- "type": "string"
+ "top_hunter_badge": {
+ "additionalProperties": {},
+ "description": "Top hunter badge on the reviewer's profile, as Product Hunt returns it. Omitted when none.",
+ "type": "object"
},
- "store_code": {
- "example": "7945614031",
- "type": "string"
+ "top_launch_badge": {
+ "additionalProperties": {},
+ "description": "Top launch badge on the reviewer's profile, as Product Hunt returns it. Omitted when none.",
+ "type": "object"
},
- "usd_price": {
- "example": "$15.16",
+ "top_product_badge": {
+ "additionalProperties": {},
+ "description": "Top product badge on the reviewer's profile, as Product Hunt returns it. Omitted when none.",
+ "type": "object"
+ },
+ "username": {
+ "description": "Reviewer's Product Hunt username.",
"type": "string"
}
},
"type": "object"
},
- "shein.ProductDetail": {
+ "producthunt.ProductDetailedReviewsPage": {
"properties": {
- "brand_code": {
- "example": "1qmfm",
- "type": "string"
- },
- "category_id": {
- "example": "12476",
+ "connection": {
+ "description": "Kind of list the items come from, for example `detailedReviews`.",
+ "example": "detailedReviews",
"type": "string"
},
- "category_name": {
- "example": "Women Dresses",
- "type": "string"
+ "detailed_review": {
+ "additionalProperties": {},
+ "description": "A single detailed review attached to the product, as Product Hunt returns it. Omitted when none.",
+ "type": "object"
},
- "color_variants": {
- "items": {
- "$ref": "#/definitions/shein.ColorVariant"
- },
- "type": "array"
+ "detailed_reviews_count": {
+ "description": "Total number of detailed reviews the product has.",
+ "type": "integer"
},
- "description": {
+ "end_cursor": {
+ "description": "Cursor of the last review on this page. Omitted when Product Hunt returns none.",
"type": "string"
},
- "goods_id": {
- "example": "163003837",
- "type": "string"
+ "founder_detailed_reviews_count": {
+ "description": "Number of detailed reviews written by the product's founders.",
+ "type": "integer"
},
- "goods_name": {
- "example": "Sweetra Women's Oblique Shoulder Fitted Bandeau Dress",
- "type": "string"
+ "has_next_page": {
+ "description": "Whether another page of reviews follows this one.",
+ "example": false,
+ "type": "boolean"
},
- "goods_sn": {
- "example": "sz25081193234595996",
- "type": "string"
+ "is_maker": {
+ "description": "Whether the requesting viewer is a maker of the product.",
+ "type": "boolean"
},
- "images": {
+ "is_trashed": {
+ "description": "Whether the product has been removed from Product Hunt.",
+ "type": "boolean"
+ },
+ "items": {
+ "description": "Detailed reviews of the product, one per entry.",
"items": {
- "type": "string"
+ "$ref": "#/definitions/producthunt.ProductDetailedReview"
},
"type": "array"
},
- "on_sale": {
- "example": true,
- "type": "boolean"
- },
- "retail_price": {
- "example": "HK$119.00",
+ "name": {
+ "description": "Name of the product.",
"type": "string"
},
- "sale_price": {
- "example": "HK$119.00",
- "type": "string"
+ "other_detailed_reviews_count": {
+ "description": "Number of detailed reviews written by users other than the founders.",
+ "type": "integer"
},
- "size_guide_url": {
+ "product_id": {
+ "description": "Product Hunt id of the product.",
+ "example": "1191613",
"type": "string"
},
- "sizes": {
- "items": {
- "$ref": "#/definitions/shein.SizeOption"
- },
- "type": "array"
+ "raw_page_info": {
+ "additionalProperties": {},
+ "description": "Pagination details for this page as Product Hunt returns them.",
+ "type": "object"
},
- "skus": {
- "items": {
- "$ref": "#/definitions/shein.SkuVariant"
- },
- "type": "array"
+ "reviews_count": {
+ "description": "Total number of reviews the product has.",
+ "type": "integer"
},
- "store_code": {
- "example": "7945614031",
- "type": "string"
+ "reviews_rating": {
+ "description": "Average review rating of the product.",
+ "type": "number"
},
- "usd_price": {
- "example": "$15.16",
- "type": "string"
+ "reviews_recent_rating": {
+ "description": "Average review rating over recent reviews. Omitted when Product Hunt gives none.",
+ "type": "number"
},
- "video_url": {
+ "slug": {
+ "description": "URL slug of the product on Product Hunt.",
+ "example": "clico",
"type": "string"
+ },
+ "total_count": {
+ "description": "Total number of detailed reviews in the list.",
+ "example": 6,
+ "type": "integer"
}
},
"type": "object"
},
- "shein.SearchKeywordsResponse": {
- "properties": {
- "keywords": {
- "items": {
- "$ref": "#/definitions/shein.Keyword"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "shein.SearchProductsResponse": {
+ "producthunt.ProductLaunchesPage": {
"properties": {
- "keyword": {
- "example": "dress",
+ "connection": {
+ "description": "Kind of list the items come from, for example `posts`.",
+ "example": "posts",
"type": "string"
},
- "origin_word": {
- "example": "dress",
+ "end_cursor": {
+ "description": "Cursor of the last launch on this page. Pass it as `cursor` to get the next page.",
"type": "string"
},
- "page": {
- "example": 1,
- "type": "integer"
- },
- "products": {
- "items": {
- "$ref": "#/definitions/shein.Product"
- },
- "type": "array"
+ "has_next_page": {
+ "description": "Whether another page of launches follows this one.",
+ "type": "boolean"
},
- "suggest_words": {
+ "items": {
+ "description": "Launch posts of the product, one per entry.",
"items": {
- "type": "string"
+ "$ref": "#/definitions/producthunt.ProductAboutPost"
},
"type": "array"
},
- "total": {
- "example": 6535,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "shein.SizeOption": {
- "properties": {
- "attr_id": {
- "example": "87",
+ "name": {
+ "description": "Name of the product.",
+ "example": "OpenAI",
"type": "string"
},
- "attr_name": {
- "example": "Size",
+ "order": {
+ "description": "Order the launches are sorted in, for example `DATE`.",
+ "example": "DATE",
"type": "string"
},
- "attr_value_id": {
- "example": "757",
+ "product_id": {
+ "description": "Product Hunt id of the product.",
+ "example": "1191613",
"type": "string"
},
- "attr_value_name": {
- "example": "XXS",
+ "raw_page_info": {
+ "additionalProperties": {},
+ "description": "Pagination details for this page as Product Hunt returns them.",
+ "type": "object"
+ },
+ "slug": {
+ "description": "URL slug of the product on Product Hunt.",
+ "example": "openai",
"type": "string"
+ },
+ "total_count": {
+ "description": "Total number of launches the product has.",
+ "example": 12,
+ "type": "integer"
}
},
"type": "object"
},
- "shein.SkuVariant": {
+ "producthunt.ProductMaker": {
"properties": {
- "retail_price": {
- "example": "HK$119.00",
+ "avatar_url": {
+ "description": "URL of the maker's profile picture.",
"type": "string"
},
- "sale_price": {
- "example": "HK$119.00",
- "type": "string"
+ "followers_count": {
+ "description": "Number of Product Hunt users following the maker.",
+ "type": "integer"
},
- "sku_code": {
- "example": "I6ar22eezl2i",
+ "headline": {
+ "description": "Maker's profile headline.",
"type": "string"
},
- "sku_sale_attr": {
+ "id": {
+ "description": "Product Hunt id of the maker.",
"type": "string"
},
- "stock": {
- "example": "20",
+ "is_followed": {
+ "description": "Whether the requesting viewer follows the maker.",
+ "type": "boolean"
+ },
+ "made_posts": {
+ "description": "Launch posts the maker worked on.",
+ "items": {
+ "$ref": "#/definitions/producthunt.ProductMakerPost"
+ },
+ "type": "array"
+ },
+ "name": {
+ "description": "Maker's display name.",
"type": "string"
},
- "usd_price": {
- "example": "$15.16",
+ "username": {
+ "description": "Maker's Product Hunt username.",
"type": "string"
}
},
"type": "object"
},
- "shein.StoreCategory": {
+ "producthunt.ProductMakerPost": {
"properties": {
- "category_id": {
- "example": "1767",
+ "id": {
+ "description": "Product Hunt id of the launch post.",
"type": "string"
},
- "category_name": {
- "example": "Women Bottoms",
+ "name": {
+ "description": "Name of the launch post.",
"type": "string"
},
- "level": {
- "example": 3,
- "type": "integer"
- },
- "product_count": {
- "example": 205,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "shein.StoreProductsResponse": {
- "properties": {
- "category_id": {
- "example": "1766",
+ "product_id": {
+ "description": "Product Hunt id of the product the post belongs to.",
"type": "string"
},
- "page": {
- "example": 1,
- "type": "integer"
+ "product_slug": {
+ "description": "URL slug of the product the post belongs to.",
+ "type": "string"
},
- "products": {
- "items": {
- "$ref": "#/definitions/shein.Product"
- },
- "type": "array"
+ "product_state": {
+ "description": "State of the product on Product Hunt, for example `default`.",
+ "type": "string"
},
- "store_code": {
- "example": "1813776918",
+ "slug": {
+ "description": "URL slug of the launch post.",
"type": "string"
},
- "total": {
- "example": 156,
- "type": "integer"
+ "thumbnail_image_uuid": {
+ "description": "Identifier of the launch post's thumbnail image file.",
+ "type": "string"
}
},
"type": "object"
},
- "shein.StoreResponse": {
+ "producthunt.ProductMakersPage": {
"properties": {
- "categories": {
- "items": {
- "$ref": "#/definitions/shein.StoreCategory"
- },
- "type": "array"
+ "can_claim": {
+ "description": "Whether the requesting viewer can claim the product.",
+ "type": "boolean"
},
- "followers": {
- "example": "231K",
+ "connection": {
+ "description": "Kind of list the items come from, for example `makers`.",
+ "example": "makers",
"type": "string"
},
- "is_brand_store": {
- "example": false,
- "type": "boolean"
+ "end_cursor": {
+ "description": "Cursor of the last maker on this page. Pass it as `cursor` to get the next page.",
+ "type": "string"
},
- "is_choices_store": {
+ "has_next_page": {
+ "description": "Whether another page of makers follows this one.",
"example": false,
"type": "boolean"
},
- "is_lifestyle_store": {
- "example": false,
+ "is_claimed": {
+ "description": "Whether the product page has been claimed by its team.",
"type": "boolean"
},
- "is_trends_store": {
- "example": true,
+ "is_trashed": {
+ "description": "Whether the product has been removed from Product Hunt.",
"type": "boolean"
},
- "seller_label": {
- "example": "Brand",
- "type": "string"
- },
- "store_code": {
- "example": "1813776918",
- "type": "string"
+ "items": {
+ "description": "Makers of the product, one per entry.",
+ "items": {
+ "$ref": "#/definitions/producthunt.ProductMaker"
+ },
+ "type": "array"
},
- "store_logo": {
+ "name": {
+ "description": "Name of the product.",
"type": "string"
},
- "store_name": {
- "example": "COUREZ",
- "type": "string"
- }
- },
- "type": "object"
- },
- "shein.TrendCollection": {
- "properties": {
- "tab_id": {
- "example": "6810",
+ "product_id": {
+ "description": "Product Hunt id of the product.",
+ "example": "1191613",
"type": "string"
},
- "tab_name": {
- "example": "#Elegant Affair Collection",
- "type": "string"
+ "raw_page_info": {
+ "additionalProperties": {},
+ "description": "Pagination details for this page as Product Hunt returns them.",
+ "type": "object"
},
- "tab_name_en": {
+ "slug": {
+ "description": "URL slug of the product on Product Hunt.",
+ "example": "clico",
"type": "string"
},
- "tab_type": {
- "example": "trend",
- "type": "string"
- }
- },
- "type": "object"
- },
- "shein.TrendFilterCategory": {
- "properties": {
- "cat_id": {
- "example": "2030",
- "type": "string"
+ "total_count": {
+ "description": "Total number of makers the product has.",
+ "example": 3,
+ "type": "integer"
},
- "category_name": {
- "example": "Women Clothing",
- "type": "string"
+ "viewer_pending_team_request": {
+ "additionalProperties": {},
+ "description": "The viewer's pending request to join the product's team, as Product Hunt returns it. Omitted when none.",
+ "type": "object"
}
},
"type": "object"
},
- "shein.TrendingCategoriesResponse": {
+ "producthunt.SimilarProduct": {
"properties": {
"categories": {
+ "description": "Product Hunt categories the similar product is listed in.",
+ "example": [
+ "[\"Presentation Software\"]"
+ ],
"items": {
- "$ref": "#/definitions/shein.TrendingCategory"
+ "type": "string"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "shein.TrendingCategory": {
- "properties": {
- "cat_id": {
- "example": "1930",
- "type": "string"
- },
- "category_name": {
- "example": "Women Denim",
- "type": "string"
},
- "goods_id": {
- "example": "425338947",
+ "id": {
+ "description": "Product Hunt slug of the similar product.",
+ "example": "beautiful-ai",
"type": "string"
},
- "image": {
+ "name": {
+ "description": "Name of the similar product.",
+ "example": "Beautiful.ai",
"type": "string"
},
- "store_code": {
- "example": "1813776918",
- "type": "string"
- }
- },
- "type": "object"
- },
- "shein.TrendingFiltersResponse": {
- "properties": {
- "categories": {
- "items": {
- "$ref": "#/definitions/shein.TrendFilterCategory"
- },
- "type": "array"
+ "rating": {
+ "description": "Average review rating of the similar product.",
+ "example": 3.3,
+ "type": "number"
},
- "collections": {
- "items": {
- "$ref": "#/definitions/shein.TrendCollection"
- },
- "type": "array"
+ "review_count": {
+ "description": "Number of reviews the similar product has.",
+ "example": 20,
+ "type": "integer"
}
},
"type": "object"
},
- "shein.aggregationFiltersResponseDoc": {
+ "producthunt.aboutResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/shein.AggregationFilters"
+ "$ref": "#/definitions/producthunt.ProductAboutPage"
},
"msg": {
- "example": "OK",
+ "example": "Request successful",
"type": "string"
}
},
"type": "object"
},
- "shein.autocompleteResponseDoc": {
+ "producthunt.alternativesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/shein.AutocompleteResponse"
+ "$ref": "#/definitions/producthunt.ProductAlternativesPage"
},
"msg": {
"example": "OK",
@@ -192203,14 +201075,14 @@
},
"type": "object"
},
- "shein.brandsResponseDoc": {
+ "producthunt.categoryProductsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/shein.BrandsResponse"
+ "$ref": "#/definitions/producthunt.ProductCategoryProductsPage"
},
"msg": {
"example": "OK",
@@ -192219,14 +201091,14 @@
},
"type": "object"
},
- "shein.categoriesResponseDoc": {
+ "producthunt.categoryResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/shein.CategoriesResponse"
+ "$ref": "#/definitions/producthunt.ProductCategoryPage"
},
"msg": {
"example": "OK",
@@ -192235,14 +201107,14 @@
},
"type": "object"
},
- "shein.categoryFiltersResponseDoc": {
+ "producthunt.customersResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/shein.CategoryFiltersResponse"
+ "$ref": "#/definitions/producthunt.ProductCustomersPage"
},
"msg": {
"example": "OK",
@@ -192251,14 +201123,14 @@
},
"type": "object"
},
- "shein.categoryGoodsResponseDoc": {
+ "producthunt.launchesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/shein.CategoryGoodsResponse"
+ "$ref": "#/definitions/producthunt.ProductLaunchesPage"
},
"msg": {
"example": "OK",
@@ -192267,30 +201139,30 @@
},
"type": "object"
},
- "shein.categoryNavResponseDoc": {
+ "producthunt.leaderboardResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/shein.CategoryNavResponse"
+ "$ref": "#/definitions/producthunt.LeaderboardPage"
},
"msg": {
- "example": "OK",
+ "example": "Request successful",
"type": "string"
}
},
"type": "object"
},
- "shein.dealTabsResponseDoc": {
+ "producthunt.makersResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/shein.DealTabsResponse"
+ "$ref": "#/definitions/producthunt.ProductMakersPage"
},
"msg": {
"example": "OK",
@@ -192299,14 +201171,14 @@
},
"type": "object"
},
- "shein.dealsProductsResponseDoc": {
+ "producthunt.productResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/shein.DealsProductsResponse"
+ "$ref": "#/definitions/producthunt.Product"
},
"msg": {
"example": "OK",
@@ -192315,14 +201187,14 @@
},
"type": "object"
},
- "shein.productDetailResponseDoc": {
+ "producthunt.reviewsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/shein.ProductDetail"
+ "$ref": "#/definitions/producthunt.ProductDetailedReviewsPage"
},
"msg": {
"example": "OK",
@@ -192331,62 +201203,86 @@
},
"type": "object"
},
- "shein.productsSearchResponseDoc": {
+ "producthunt.searchAggregationsDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/shein.SearchProductsResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "topics": {
+ "description": "Launch counts per topic for the search results.",
+ "items": {
+ "$ref": "#/definitions/producthunt.searchTopicDoc"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "shein.searchKeywordsResponseDoc": {
+ "producthunt.searchDataDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "aggregations": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/producthunt.searchAggregationsDoc"
+ }
+ ],
+ "description": "Topic counts for the matching launches. Returned for launch searches."
},
- "data": {
- "$ref": "#/definitions/shein.SearchKeywordsResponse"
+ "edges": {
+ "description": "Search results on this page, one per entry.",
+ "items": {
+ "$ref": "#/definitions/producthunt.searchEdgeDoc"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
- "type": "string"
+ "pageInfo": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/producthunt.searchPageInfoDoc"
+ }
+ ],
+ "description": "Paging details for the results."
+ },
+ "pagesCount": {
+ "description": "Total number of result pages.",
+ "example": 394,
+ "type": "integer"
}
},
"type": "object"
},
- "shein.storeProductsResponseDoc": {
+ "producthunt.searchEdgeDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "node": {
+ "description": "Search result: a product, user or launch, depending on `type`.",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "producthunt.searchPageInfoDoc": {
+ "properties": {
+ "hasNextPage": {
+ "description": "Whether another page of results follows this one.",
+ "type": "boolean"
},
- "data": {
- "$ref": "#/definitions/shein.StoreProductsResponse"
+ "hasPreviousPage": {
+ "description": "Whether a page of results precedes this one.",
+ "type": "boolean"
},
- "msg": {
- "example": "OK",
- "type": "string"
+ "page": {
+ "description": "Page number returned.",
+ "example": 1,
+ "type": "integer"
}
},
"type": "object"
},
- "shein.storeResponseDoc": {
+ "producthunt.searchResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/shein.StoreResponse"
+ "$ref": "#/definitions/producthunt.searchDataDoc"
},
"msg": {
"example": "OK",
@@ -192395,1229 +201291,862 @@
},
"type": "object"
},
- "shein.trendingCategoriesResponseDoc": {
+ "producthunt.searchTopicDoc": {
"properties": {
- "code": {
- "example": 200,
+ "count": {
+ "description": "Number of matching launches in the topic.",
+ "example": 11979,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/shein.TrendingCategoriesResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "topic": {
+ "description": "Topic the count applies to, with its `id` and `name`.",
+ "properties": {
+ "id": {
+ "example": "268",
+ "type": "string"
+ },
+ "name": {
+ "example": "Artificial Intelligence",
+ "type": "string"
+ }
+ },
+ "type": "object"
}
},
"type": "object"
},
- "shein.trendingFiltersResponseDoc": {
+ "propublica.AuthorArticle": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "published_at": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/shein.TrendingFiltersResponse"
+ "title": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "shopapp.AnalysisResponse": {
+ "propublica.AuthorResponse": {
"properties": {
- "currencies": {
- "description": "Currency codes found among the sampled products.",
- "example": [
- "USD",
- "GBP"
- ],
+ "articles": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/propublica.AuthorArticle"
},
"type": "array"
},
- "discounts": {
- "allOf": [
- {
- "$ref": "#/definitions/shopapp.DiscountSummary"
- }
- ],
- "description": "Discount percentages across sampled products that are on sale and have an original price."
- },
- "groups_count": {
- "description": "Number of product groups Shop.app returned with the results.",
- "example": 5,
- "type": "integer"
- },
- "prices_by_currency": {
- "description": "Price summary for each currency found among the sampled products.",
+ "bio": {
"items": {
- "$ref": "#/definitions/shopapp.CurrencyPriceSummary"
+ "type": "string"
},
"type": "array"
},
- "products_count": {
- "description": "Number of products sampled.",
- "example": 20,
- "type": "integer"
+ "contact_email": {
+ "type": "string"
},
- "query": {
- "description": "Search query that was analyzed.",
- "example": "sneakers",
+ "name": {
"type": "string"
},
- "sale_count": {
- "description": "Number of sampled products that are on sale.",
- "example": 6,
+ "page": {
"type": "integer"
},
- "sampled_product_ids": {
- "description": "Product IDs of the first sampled products, up to 10.",
- "example": [
- "8075903107261",
- "7093164834901"
- ],
- "items": {
+ "social_links": {
+ "additionalProperties": {
"type": "string"
},
- "type": "array"
- },
- "shops_count": {
- "description": "Number of distinct shops among the sampled products.",
- "example": 8,
- "type": "integer"
+ "type": "object"
},
- "top_shops": {
- "description": "Up to five shops with the most sampled products.",
- "items": {
- "$ref": "#/definitions/shopapp.ShopSummary"
- },
- "type": "array"
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "shopapp.CategoriesResponse": {
+ "psa.AutographFactsCategoriesResponse": {
"properties": {
"categories": {
- "description": "Product categories listed on Shop.app, each with its subcategories.",
"items": {
- "$ref": "#/definitions/shopapp.CategoryItem"
+ "$ref": "#/definitions/psa.AutographFactsCategory"
},
"type": "array"
}
},
"type": "object"
},
- "shopapp.CategoryItem": {
+ "psa.AutographFactsCategory": {
"properties": {
- "children": {
- "description": "Subcategories of this category.",
- "items": {
- "$ref": "#/definitions/shopapp.CategoryItem"
- },
- "type": "array"
- },
- "gid": {
- "description": "Shopify global ID of the category.",
- "example": "gid://shopify/ProductCategory/1?version=13",
- "type": "string"
- },
- "has_children": {
- "description": "`true` when the category has subcategories.",
- "type": "boolean"
- },
"id": {
- "description": "Numeric category ID taken from the Shopify global ID.",
- "example": "1",
- "type": "string"
- },
- "image": {
- "description": "URL of the category image.",
- "type": "string"
+ "description": "ID is PSA's own numeric category id, confirmed live against every\ncategory this family covers. Distinct from PSA CardFacts'/Price\nGuide's own category id spaces -- do not assume they share values.",
+ "type": "integer"
},
"name": {
- "description": "Category name, for example `Women`.",
- "example": "Women",
- "type": "string"
- },
- "path": {
- "description": "Categories on the path from the top level down to this category.",
- "items": {
- "$ref": "#/definitions/shopapp.CategoryPath"
- },
- "type": "array"
- },
- "slug": {
- "description": "URL-friendly form of the category name.",
- "example": "women",
+ "description": "Name is PSA's own display label, e.g. \"Baseball\".",
"type": "string"
}
},
"type": "object"
},
- "shopapp.CategoryPath": {
+ "psa.AutographFactsGalleryImage": {
"properties": {
- "gid": {
- "description": "Shopify global ID of the category on the path.",
- "example": "gid://shopify/ProductCategory/1?version=13",
- "type": "string"
- },
- "id": {
- "description": "Numeric ID of the category on the path.",
- "example": "1",
+ "caption": {
+ "description": "Caption is PSA's own descriptive caption for this exemplar, e.g.\n\"1977 Hank Aaron Signed Letter\".",
"type": "string"
},
- "name": {
- "description": "Name of the category on the path.",
- "example": "Women",
+ "image_url": {
+ "description": "ImageURL is the full-size image URL.",
"type": "string"
}
},
"type": "object"
},
- "shopapp.CurrencyPriceSummary": {
+ "psa.AutographFactsGalleryResult": {
"properties": {
- "average": {
- "description": "Average price in this currency, rounded to two decimals.",
- "example": 72.42,
- "type": "number"
- },
- "count": {
- "description": "Number of sampled products priced in this currency.",
- "example": 12,
- "type": "integer"
+ "images": {
+ "items": {
+ "$ref": "#/definitions/psa.AutographFactsGalleryImage"
+ },
+ "type": "array"
},
- "currency": {
- "description": "Currency code of the prices.",
- "example": "USD",
+ "name": {
+ "description": "Name is the subject's display name, e.g. \"Hank Aaron\".",
"type": "string"
},
- "max": {
- "description": "Highest price in this currency.",
- "example": 149.99,
- "type": "number"
- },
- "min": {
- "description": "Lowest price in this currency.",
- "example": 35.9,
- "type": "number"
- }
- },
- "type": "object"
- },
- "shopapp.DiscountSummary": {
- "properties": {
- "average_percent": {
- "description": "Average discount across on-sale products, as a percentage of the original price.",
- "example": 24.6,
- "type": "number"
- },
- "max_percent": {
- "description": "Largest discount among on-sale products, as a percentage of the original price.",
- "example": 60,
- "type": "number"
+ "source_url": {
+ "type": "string"
},
- "min_percent": {
- "description": "Smallest discount among on-sale products, as a percentage of the original price.",
- "example": 10,
- "type": "number"
+ "subject_id": {
+ "type": "string"
}
},
"type": "object"
},
- "shopapp.ImageItem": {
+ "psa.AutographFactsSubject": {
"properties": {
- "alt": {
- "description": "Alt text of the image.",
- "example": "Product image",
+ "name": {
+ "description": "Name is the subject's display name, e.g. \"Hank Aaron\".",
"type": "string"
},
- "url": {
- "description": "URL of the image.",
- "example": "https://cdn.shopify.com/example.jpg",
- "type": "string"
+ "subject_id": {
+ "description": "SubjectID is PSA's own numeric subject id -- pass as subject_id to\nAutographFactsSubject.",
+ "type": "integer"
}
},
"type": "object"
},
- "shopapp.LocationAddress": {
+ "psa.AutographFactsSubjectResult": {
"properties": {
- "address1": {
- "description": "First line of the street address.",
- "example": "175b Mott Street",
+ "autograph_profile": {
+ "description": "AutographProfile is PSA's own free-text authentication notes for\nthis subject's signature -- signing habits, forgery risk,\nsignature evolution.",
"type": "string"
},
- "address2": {
- "description": "Second line of the street address.",
+ "name": {
+ "description": "Name is the subject's display name, e.g. \"Hank Aaron\".",
"type": "string"
},
- "city": {
- "description": "City of the address.",
- "example": "New York",
- "type": "string"
+ "prices": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Prices maps PSA's own item-type labels (e.g. \"3x5/AP\", \"Gum Card\",\n\"Photo\", \"Check\", \"SS Bat\", \"SS Ball\" -- these vary by subject, not\na fixed global list) to PSA's own formatted price text for this\nsubject's autograph on that item type, e.g. \"$65\". \"IMP\" marks an\nitem type PSA considers impossible/unavailable for this subject\nrather than a real price.",
+ "type": "object"
},
- "country": {
- "description": "Country of the address, for example `US`.",
- "example": "US",
+ "source_url": {
"type": "string"
},
- "postal_code": {
- "description": "Postal code of the address.",
- "example": "10012",
+ "subject_id": {
"type": "string"
},
- "zone_code": {
- "description": "State or region code of the address, for example `NY`.",
- "example": "NY",
+ "subject_profile": {
+ "description": "SubjectProfile is PSA's own free-text biography for this subject.",
"type": "string"
}
},
"type": "object"
},
- "shopapp.OptionGroup": {
+ "psa.AutographFactsSubjectsResponse": {
"properties": {
- "name": {
- "description": "Option name, for example `Size`.",
- "example": "Size",
+ "category_id": {
+ "type": "integer"
+ },
+ "category_name": {
"type": "string"
},
- "values": {
- "description": "Values available for the option.",
+ "subjects": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/psa.AutographFactsSubject"
},
"type": "array"
}
},
"type": "object"
},
- "shopapp.ProductDetail": {
+ "psa.CardFactsCategoriesResponse": {
"properties": {
- "available": {
- "description": "`true` when the selected variant is available for sale.",
- "type": "boolean"
- },
- "currency": {
- "description": "Currency code of `price` and `original_price`.",
- "example": "HKD",
- "type": "string"
- },
- "description": {
- "description": "Product description text.",
- "type": "string"
- },
- "external_url": {
- "description": "URL of the product on the seller's own online store.",
- "type": "string"
- },
- "id": {
- "description": "Shop.app product ID.",
- "example": "4596217053229",
- "type": "string"
- },
- "images": {
- "description": "Images of the product.",
- "items": {
- "$ref": "#/definitions/shopapp.ImageItem"
- },
- "type": "array"
- },
- "option_groups": {
- "description": "Option choices of the product, such as size or colour, with their values.",
- "items": {
- "$ref": "#/definitions/shopapp.OptionGroup"
- },
- "type": "array"
- },
- "original_price": {
- "description": "Price before the discount, in `currency`.",
- "example": 1166,
- "type": "number"
- },
- "price": {
- "description": "Current price of the selected variant, in `currency`.",
- "example": 1076,
- "type": "number"
- },
- "rating": {
- "description": "Average shopper rating of the product.",
- "example": 4.4,
- "type": "number"
- },
- "related_products": {
- "description": "Products Shop.app shows as related to this one.",
- "items": {
- "$ref": "#/definitions/shopapp.ProductItem"
- },
- "type": "array"
- },
- "reviews": {
- "description": "Shopper reviews shown on the product page.",
+ "categories": {
"items": {
- "$ref": "#/definitions/shopapp.ReviewItem"
+ "$ref": "#/definitions/psa.CardFactsCategory"
},
"type": "array"
- },
- "reviews_count": {
- "description": "Number of shopper reviews of the product.",
- "example": 22,
+ }
+ },
+ "type": "object"
+ },
+ "psa.CardFactsCategory": {
+ "properties": {
+ "id": {
+ "description": "ID is PSA's own numeric category id, confirmed live against every\ncategory this family covers. Distinct from Price Guide's/\nAutographFacts'/TicketFacts'/ProBatFacts' own category id spaces --\nids 10 and 16 in particular mean different things in CardFacts than\nin Price Guide, do not assume they share values.",
"type": "integer"
},
- "shop_handle": {
- "description": "Shop.app handle of the shop selling the product.",
- "example": "n1r478fp0h",
+ "name": {
+ "description": "Name is PSA's own display label, e.g. \"Baseball\".",
"type": "string"
- },
- "shop_id": {
- "description": "Shop.app ID of the shop selling the product.",
+ }
+ },
+ "type": "object"
+ },
+ "psa.CardFactsChecklistCard": {
+ "properties": {
+ "name": {
+ "description": "Name is the card's display name, e.g. \"Wander Franco\". Some rows\ncarry an embedded HTML anchor around the name in PSA's own raw\nresponse (confirmed live, e.g. a golf set's \"Tiger Woods\" row) --\nstripped here so every row is plain text.",
"type": "string"
},
- "shop_name": {
- "description": "Name of the shop selling the product.",
- "example": "Wide Fit Shoes UK",
+ "number": {
+ "description": "Number is the card's printed number within the set. Some sets (e.g.\nplayer-name-only checklists like autograph card sets) carry no\nnumber at all, confirmed live -- empty in that case, not omitted, so\ncallers can rely on the field always being present.",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "psa.CardFactsChecklistResponse": {
+ "properties": {
+ "cards": {
+ "items": {
+ "$ref": "#/definitions/psa.CardFactsChecklistCard"
+ },
+ "type": "array"
},
- "slug": {
- "description": "URL slug of the product.",
- "example": "mens-wide-fit-new-balance-624v5-black-trainers-abzorb",
- "type": "string"
+ "has_checklist": {
+ "type": "boolean"
},
- "title": {
- "description": "Product title as shown on the product page.",
- "example": "Mens Wide Fit New Balance 624V5 Black Trainers ABZORB",
+ "set_id": {
"type": "string"
},
- "url": {
- "description": "Shop.app page URL of the product.",
+ "total_cards": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "psa.CardFactsSet": {
+ "properties": {
+ "name": {
+ "description": "Name is the set's display name, e.g. \"2022 Topps\".",
"type": "string"
},
- "variant_id": {
- "description": "ID of the selected variant.",
- "example": "34761278160941",
- "type": "string"
+ "set_id": {
+ "description": "SetID is PSA's own numeric set id -- pass as set_id to\nCardFactsChecklist.",
+ "type": "integer"
}
},
"type": "object"
},
- "shopapp.ProductDetailResponse": {
+ "psa.CardFactsSetsResponse": {
"properties": {
- "product": {
- "allOf": [
- {
- "$ref": "#/definitions/shopapp.ProductDetail"
- }
- ],
- "description": "Details of the product."
+ "category_id": {
+ "type": "integer"
+ },
+ "category_name": {
+ "type": "string"
+ },
+ "sets": {
+ "items": {
+ "$ref": "#/definitions/psa.CardFactsSet"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "shopapp.ProductItem": {
+ "psa.CertLookupResult": {
"properties": {
- "currency": {
- "description": "Currency code of `price` and `original_price`.",
- "example": "USD",
+ "brand_title": {
+ "description": "BrandTitle is the issuing brand/product line, e.g. \"POKEMON SKYRIDGE\".",
"type": "string"
},
- "group_query": {
- "description": "Search query of the product group this item belongs to.",
- "example": "kids' athletic sneakers",
+ "card_number": {
+ "description": "CardNumber is the card's number within its set, e.g. \"146\".",
"type": "string"
},
- "group_title": {
- "description": "Title of the product group this item belongs to.",
- "example": "kids' athletic sneakers",
+ "category": {
+ "description": "Category is PSA's own item category, e.g. \"TCG CARDS\".",
"type": "string"
},
- "id": {
- "description": "Shop.app product ID.",
- "example": "8075903107261",
+ "cert_number": {
+ "description": "CertNumber echoes the requested certification number.",
"type": "string"
},
- "image": {
- "description": "URL of the product's first image.",
- "example": "https://cdn.shopify.com/s/files/1/1145/5784/files/example.jpg",
+ "item_grade": {
+ "description": "ItemGrade is PSA's graded condition for this item, e.g. \"GEM MT 10\",\nfrom PSA's own published grade scale (Authentic through Gem Mint 10).",
"type": "string"
},
- "image_alt": {
- "description": "Alt text of the product's first image.",
- "example": "Black sneaker side view",
+ "label_type": {
+ "description": "LabelType is a special label variant PSA applied to this cert, e.g.\n\"W/ FUGITIVE INK TECHNOLOGY\". Empty when the cert carries PSA's\nstandard label.",
"type": "string"
},
- "on_sale": {
- "description": "`true` when the original price is higher than the current price.",
- "type": "boolean"
+ "psa_estimate": {
+ "description": "PSAEstimate is PSA's own dollar price estimate for this exact\ncert+grade, PSA's own formatted string (e.g. \"$135,624.00\"). Empty\nwhen PSA shows no estimate for this cert.",
+ "type": "string"
},
- "original_price": {
- "description": "Price before the discount, in `currency`.",
- "example": 120,
- "type": "number"
+ "psa_pop_higher": {
+ "description": "PSAPopHigher is the number of items PSA has graded higher than this\ncert's own grade for the same card. Nil when PSA shows no figure.",
+ "type": "integer"
},
- "position": {
- "description": "Position of the product in the results, starting at 1.",
- "example": 1,
+ "psa_population": {
+ "description": "PSAPopulation is the number of items PSA has graded at this exact\ncard+grade combination. Nil when PSA shows no population figure for\nthis cert (e.g. an ungraded/authentic-only cert).",
"type": "integer"
},
- "price": {
- "description": "Current price of the product, in `currency`.",
- "example": 100,
- "type": "number"
+ "psa_population_url": {
+ "description": "PSAPopulationURL is PSA's own Population Report deep link for this\ncard+grade. Informational only -- following it requires a Collectors\naccount login; see the CertLookupResult doc comment above.",
+ "type": "string"
},
- "shop_id": {
- "description": "Shop.app ID of the shop selling the product.",
- "example": "62696",
+ "reverse_cert_barcode": {
+ "description": "ReverseCertBarcode reports whether the physical label also carries a\nbarcode on its reverse side.",
+ "type": "boolean"
+ },
+ "set_registry_note": {
+ "description": "SetRegistryNote is PSA's own Set Registry membership line for this\ncert, e.g. \"This cert does not appear in any sets.\" when the item is\nnot registered in any PSA Set Registry set.",
"type": "string"
},
- "shop_name": {
- "description": "Name of the shop selling the product.",
- "example": "BILLY Footwear",
+ "source_url": {
+ "description": "SourceURL is the PSA cert-verification page this result was parsed\nfrom.",
"type": "string"
},
- "title": {
- "description": "Product title as shown on the Shop.app card.",
- "example": "Black/Black/Gum BILLY Sport Inclusion DZ1",
+ "subject": {
+ "description": "Subject is the card's subject/player name, e.g. \"CHARIZARD-HOLO\".",
"type": "string"
},
- "url": {
- "description": "Link to the product page.",
- "example": "https://billyfootwear.com/products/black-black-gum-billy-sport-inclusion-dz1-zipper-shoes?utm_source=shop_app",
+ "title": {
+ "description": "Title is PSA's own item title line, e.g.\n\"2003 POKEMON SKYRIDGE #146 CHARIZARD-HOLO\".",
"type": "string"
},
- "variant_id": {
- "description": "ID of the product variant shown on the card.",
- "example": "46242960965821",
+ "year": {
+ "description": "Year is the card/item's issue year, e.g. \"2003\".",
"type": "string"
}
},
"type": "object"
},
- "shopapp.ProductShopResponse": {
+ "psa.PriceGuideCardPrice": {
"properties": {
- "product_id": {
- "description": "Shop.app ID of the product.",
- "example": "4596217053229",
+ "card_number": {
+ "description": "CardNumber is the card's number within the set. Empty for\ngroup-summary rows.",
"type": "string"
},
- "shop": {
- "allOf": [
- {
- "$ref": "#/definitions/shopapp.ShopDetail"
- }
- ],
- "description": "Shop that sells the product."
+ "description": {
+ "description": "Description is the card/row's own name as PSA Price Guide displays\nit, e.g. \"Ken Griffey, Sr. (R)\" or a group-summary row like\n\"Commons 1-660\".",
+ "type": "string"
+ },
+ "item_id": {
+ "description": "ItemID is PSA's own numeric item id for this specific card, usable\nfor cross-referencing a psa-price-guide-search result. Nil for\ngroup-summary rows, which have no single-item id.",
+ "type": "integer"
+ },
+ "prices": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Prices maps each of Grades (the set's own grade-column labels, e.g.\n\"NM 7\") to PSA's own formatted price text for this card at that\ngrade, e.g. \"35+\" (a trailing \"+\"/\"-\" is PSA's own monthly-trend\nmarker). A grade with no price for this card is omitted from the map\nrather than present as an empty string.",
+ "type": "object"
}
},
"type": "object"
},
- "shopapp.ProductVariantResponse": {
+ "psa.PriceGuideCategoriesResponse": {
"properties": {
- "product_id": {
- "description": "Shop.app ID of the product.",
- "example": "4596217053229",
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/psa.PriceGuideCategory"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "psa.PriceGuideCategory": {
+ "properties": {
+ "id": {
+ "description": "ID is PSA's own numeric category id (SportCategoryID), confirmed live\nagainst every category this family covers.",
+ "type": "integer"
+ },
+ "name": {
+ "description": "Name is PSA's own display label, e.g. \"Baseball Cards\".",
"type": "string"
},
- "variant": {
- "allOf": [
- {
- "$ref": "#/definitions/shopapp.VariantItem"
- }
- ],
- "description": "Variant that matches the selected options."
+ "path": {
+ "description": "Path is the URL path segment(s) PSA Price Guide uses for this\ncategory, e.g. \"baseball-card-values\" -- most categories are a single\nsegment, but not all (see notes on the shipped enum values).",
+ "type": "string"
}
},
"type": "object"
},
- "shopapp.RelatedResponse": {
+ "psa.PriceGuideSearchItem": {
"properties": {
- "limit": {
- "description": "Maximum number of related products requested.",
- "example": 20,
+ "item_id": {
+ "description": "ItemID is PSA's own numeric item id.",
"type": "integer"
},
- "product_id": {
- "description": "Shop.app ID of the product the results relate to.",
- "example": "4596217053229",
+ "name": {
+ "description": "Name is the card/item's own descriptive name, e.g.\n\"Ken Griffey, Sr. (R)\".",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "psa.PriceGuideSearchResponse": {
+ "properties": {
+ "page": {
+ "type": "integer"
+ },
+ "page_size": {
+ "type": "integer"
+ },
+ "query": {
"type": "string"
},
- "products": {
- "description": "Products related to the requested product.",
+ "results": {
"items": {
- "$ref": "#/definitions/shopapp.ProductItem"
+ "$ref": "#/definitions/psa.PriceGuideSearchResult"
},
"type": "array"
+ },
+ "total_count": {
+ "type": "integer"
}
},
"type": "object"
},
- "shopapp.ReviewItem": {
+ "psa.PriceGuideSearchResult": {
"properties": {
- "author": {
- "description": "Name of the reviewer.",
- "example": "Donal",
+ "category_name": {
+ "description": "CategoryName is PSA's own category display name for this set, e.g.\n\"Baseball Card Values\".",
"type": "string"
},
- "body": {
- "description": "Text of the review.",
- "example": "Perfect fit.",
+ "category_path": {
+ "description": "CategoryPath is the category's URL path segment -- pass as\ncategory_path to psa-price-guide-set.",
"type": "string"
},
- "date": {
- "description": "Date of the review, either an ISO 8601 timestamp such as `2026-01-01T00:00:00Z` or text such as `December 6, 2025`.",
- "example": "December 6, 2025",
- "type": "string"
+ "items": {
+ "description": "Items are the matching cards/items within this set.",
+ "items": {
+ "$ref": "#/definitions/psa.PriceGuideSearchItem"
+ },
+ "type": "array"
},
- "helpful_count": {
- "description": "Number of shoppers who found the review helpful.",
+ "set_id": {
+ "description": "SetID is PSA's own numeric set id -- pass as set_id to\npsa-price-guide-set along with CategoryPath and SetPath.",
"type": "integer"
},
- "id": {
- "description": "Shop.app review ID.",
- "type": "string"
- },
- "product": {
- "allOf": [
- {
- "$ref": "#/definitions/shopapp.ReviewProduct"
- }
- ],
- "description": "Product the review is for."
- },
- "rating": {
- "description": "Rating the reviewer gave.",
- "example": 5,
- "type": "number"
- },
- "title": {
- "description": "Headline of the review.",
+ "set_name": {
+ "description": "SetName is the set's display name, e.g. \"1974 Topps\".",
"type": "string"
},
- "variant_label": {
- "description": "Label of the product variant that was reviewed, for example `Black / 12.5 / 4E`.",
- "example": "Black / 12.5 / 4E",
+ "set_path": {
+ "description": "SetPath is the set's own URL path segment -- pass as set_path to\npsa-price-guide-set.",
"type": "string"
}
},
"type": "object"
},
- "shopapp.ReviewProduct": {
+ "psa.PriceGuideSetResponse": {
"properties": {
- "id": {
- "description": "Shop.app ID of the reviewed product.",
- "example": "8114373328975",
- "type": "string"
+ "cards": {
+ "description": "Cards is every row of the set's price table, in PSA's own display\norder.",
+ "items": {
+ "$ref": "#/definitions/psa.PriceGuideCardPrice"
+ },
+ "type": "array"
},
- "image": {
- "description": "URL of the product image.",
- "type": "string"
+ "grades": {
+ "description": "Grades are this set's own grade-column labels, in the order PSA\nitself displays them (e.g. [\"NM 7\",\"NM-MT 8\",\"MT 9\",\"GEM-MT 10\"]).\nConfirmed live that this varies by set -- a vintage set may carry\nmore/lower grade columns than a modern one -- so it is returned per\nresponse rather than assumed fixed.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "image_alt": {
- "description": "Alt text of the product image.",
+ "set_id": {
"type": "string"
},
- "slug": {
- "description": "URL slug of the reviewed product.",
- "example": "solana-brown-woven-leather-backstrap-clogs",
+ "source_url": {
"type": "string"
},
"title": {
- "description": "Title of the reviewed product.",
- "example": "Solana Brown Woven Leather Backstrap Clogs",
- "type": "string"
- },
- "url": {
- "description": "Shop.app page URL of the reviewed product.",
- "type": "string"
- },
- "variant": {
- "description": "Variant of the product that was reviewed, for example `7 / Brown Woven / Leather`.",
- "example": "7 / Brown Woven / Leather",
+ "description": "Title is the set's display name, e.g. \"1974 Topps\".",
"type": "string"
}
},
"type": "object"
},
- "shopapp.ReviewsResponse": {
+ "psa.PriceGuideSetSummary": {
"properties": {
- "limit": {
- "description": "Maximum number of reviews requested.",
- "example": 20,
+ "category_name": {
+ "description": "CategoryName is the category's display name from\npsa-price-guide-categories, e.g. \"Baseball Cards\".",
+ "type": "string"
+ },
+ "category_path": {
+ "description": "CategoryPath is the set URL's category segment -- pass as category_path\nto psa-price-guide-set.",
+ "type": "string"
+ },
+ "set_id": {
+ "description": "SetID is PSA's own numeric set id.",
"type": "integer"
},
- "product_id": {
- "description": "Shop.app ID of the reviewed product.",
- "example": "4596217053229",
+ "set_name": {
+ "description": "SetName is the set's display name as PSA's category page shows it,\ne.g. \"1974 Topps\".",
"type": "string"
},
- "reviews": {
- "description": "Shopper reviews of the product.",
- "items": {
- "$ref": "#/definitions/shopapp.ReviewItem"
- },
- "type": "array"
+ "set_path": {
+ "description": "SetPath is the set URL's own slug -- pass as set_path to\npsa-price-guide-set.",
+ "type": "string"
}
},
"type": "object"
},
- "shopapp.SearchGroup": {
+ "psa.PriceGuideSetsResponse": {
"properties": {
- "product_ids": {
- "description": "IDs of the products in the group.",
- "items": {
- "type": "string"
- },
- "type": "array"
+ "category_path": {
+ "description": "CategoryPath echoes the category filter; empty when every category was\nsearched.",
+ "type": "string"
},
- "products_seen": {
- "description": "Number of products seen in the group.",
- "example": 4,
+ "page": {
+ "type": "integer"
+ },
+ "page_size": {
"type": "integer"
},
"query": {
- "description": "Search query that defines the group.",
- "example": "men's running sneakers",
"type": "string"
},
- "title": {
- "description": "Group heading, for example `men's running sneakers`.",
- "example": "men's running sneakers",
- "type": "string"
- }
- },
- "type": "object"
- },
- "shopapp.SearchResponse": {
- "properties": {
- "groups": {
- "description": "Groups of related products. Returned only when Shop.app supplies them.",
+ "sets": {
"items": {
- "$ref": "#/definitions/shopapp.SearchGroup"
+ "$ref": "#/definitions/psa.PriceGuideSetSummary"
},
"type": "array"
},
- "limit": {
- "description": "Maximum number of products requested.",
- "example": 20,
+ "total_count": {
+ "description": "TotalCount is every matching set across all pages.",
"type": "integer"
},
- "products": {
- "description": "Products matching the query, in Shop.app ranking order.",
+ "unavailable_categories": {
+ "description": "UnavailableCategories lists categories whose set list could not be\nloaded and had no earlier copy to fall back on. When present, Sets and\nTotalCount cover the other categories only.",
"items": {
- "$ref": "#/definitions/shopapp.ProductItem"
+ "type": "string"
},
"type": "array"
- },
- "query": {
- "description": "Search query that was run.",
- "example": "sneakers",
- "type": "string"
}
},
"type": "object"
},
- "shopapp.ShopCollection": {
+ "psa.ProBatFactsCategoriesResponse": {
+ "properties": {
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/psa.ProBatFactsCategory"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "psa.ProBatFactsCategory": {
"properties": {
"id": {
- "description": "Shop.app collection ID.",
- "example": "292518002767",
- "type": "string"
+ "description": "ID is PSA's own numeric category id, confirmed live against every\ncategory this family covers. Distinct from CardFacts'/Price Guide's/\nAutographFacts'/TicketFacts' own category id spaces -- do not assume\nthey share values.",
+ "type": "integer"
},
- "slug": {
- "description": "URL slug of the collection.",
- "example": "mens-dress-shoes",
+ "name": {
+ "description": "Name is PSA's own display label, e.g. \"Hall of Fame Players\".",
"type": "string"
- },
- "title": {
- "description": "Collection title, for example `Mens Dress Shoes`.",
- "example": "Mens Dress Shoes",
+ }
+ },
+ "type": "object"
+ },
+ "psa.ProBatFactsGalleryImage": {
+ "properties": {
+ "caption": {
"type": "string"
},
- "url": {
- "description": "Shop.app page URL of the collection.",
+ "image_url": {
"type": "string"
}
},
"type": "object"
},
- "shopapp.ShopDetail": {
+ "psa.ProBatFactsGalleryResult": {
"properties": {
- "banner": {
- "description": "URL of the shop's banner image.",
- "type": "string"
- },
- "collections": {
- "description": "Collections found on the shop's page.",
+ "images": {
"items": {
- "$ref": "#/definitions/shopapp.ShopCollection"
+ "$ref": "#/definitions/psa.ProBatFactsGalleryImage"
},
"type": "array"
},
- "description": {
- "description": "Description of the shop.",
- "type": "string"
- },
- "handle": {
- "description": "Shop.app handle of the shop, as used in its page URL.",
- "example": "marcnolan",
+ "name": {
"type": "string"
},
- "id": {
- "description": "Shop.app shop ID.",
- "example": "186720",
+ "source_url": {
"type": "string"
},
- "logo": {
- "description": "URL of the shop's logo.",
+ "subject_id": {
"type": "string"
- },
+ }
+ },
+ "type": "object"
+ },
+ "psa.ProBatFactsSubject": {
+ "properties": {
"name": {
- "description": "Name of the shop.",
- "example": "Marc Nolan",
+ "description": "Name is the player's display name, e.g. \"Hank Aaron\".",
"type": "string"
},
- "rating": {
- "description": "Average shopper rating of the shop.",
- "example": 4.7,
- "type": "number"
- },
- "reviews_count": {
- "description": "Number of shopper ratings or reviews of the shop.",
- "example": 19699,
+ "subject_id": {
+ "description": "SubjectID is PSA's own numeric subject id -- pass as subject_id to\nProBatFactsSubject.",
"type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "psa.ProBatFactsSubjectResult": {
+ "properties": {
+ "bat_profile": {
+ "description": "BatProfile is PSA's own free-text bat-authentication writeup\n(models used, signature placement, etc.) for this player.",
+ "type": "string"
},
- "shopify_id": {
- "description": "Shopify ID of the shop.",
+ "name": {
+ "description": "Name is the player's display name, e.g. \"Hank Aaron\".",
"type": "string"
},
- "storefront": {
- "description": "URL of the shop's own website.",
+ "player_profile": {
+ "description": "PlayerProfile is PSA's own free-text player-biography writeup.",
"type": "string"
},
- "url": {
- "description": "Shop.app page URL of the shop.",
+ "source_url": {
"type": "string"
},
- "uuid": {
- "description": "UUID of the shop.",
+ "subject_id": {
"type": "string"
}
},
"type": "object"
},
- "shopapp.ShopLocationItem": {
+ "psa.ProBatFactsSubjectsResponse": {
"properties": {
- "address": {
- "allOf": [
- {
- "$ref": "#/definitions/shopapp.LocationAddress"
- }
- ],
- "description": "Street address of the location."
+ "category_id": {
+ "type": "integer"
},
- "id": {
- "description": "Shopify location ID, for example `gid://shopify/Location/78620459087`.",
- "example": "gid://shopify/Location/78620459087",
+ "category_name": {
"type": "string"
},
- "latitude": {
- "description": "Latitude of the location, in degrees.",
- "example": 40.7205232,
- "type": "number"
- },
- "longitude": {
- "description": "Longitude of the location, in degrees.",
- "example": -73.9961032,
- "type": "number"
+ "subjects": {
+ "items": {
+ "$ref": "#/definitions/psa.ProBatFactsSubject"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "psa.TicketFactsCategoriesResponse": {
+ "properties": {
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/psa.TicketFactsCategory"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "psa.TicketFactsCategory": {
+ "properties": {
+ "id": {
+ "description": "ID is PSA's own numeric category id, confirmed live against every\ncategory this family covers. Distinct from CardFacts'/Price Guide's/\nAutographFacts' own category id spaces -- do not assume they share\nvalues.",
+ "type": "integer"
},
"name": {
- "description": "Name of the location, for example `NYC`.",
- "example": "NYC",
+ "description": "Name is PSA's own display label, e.g. \"Super Bowl\".",
"type": "string"
}
},
"type": "object"
},
- "shopapp.ShopLocationsResponse": {
+ "psa.TicketFactsGalleryImage": {
"properties": {
- "limit": {
- "description": "Maximum number of locations requested.",
- "example": 10,
- "type": "integer"
+ "caption": {
+ "type": "string"
},
- "locations": {
- "description": "Retail locations of the shop.",
+ "image_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "psa.TicketFactsGalleryResult": {
+ "properties": {
+ "images": {
"items": {
- "$ref": "#/definitions/shopapp.ShopLocationItem"
+ "$ref": "#/definitions/psa.TicketFactsGalleryImage"
},
"type": "array"
},
- "next_cursor": {
- "description": "Cursor Shop.app returns for the next page of locations.",
+ "name": {
"type": "string"
},
- "shop_handle": {
- "description": "Shop.app handle of the shop.",
- "example": "marcnolan",
+ "source_url": {
"type": "string"
},
- "shop_id": {
- "description": "Shop.app ID of the shop.",
- "example": "186720",
+ "subject_id": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "psa.TicketFactsSubject": {
+ "properties": {
+ "name": {
+ "description": "Name is the event's display name, e.g. \"Super Bowl I\".",
"type": "string"
},
- "total_count": {
- "description": "Total number of locations the shop has.",
- "example": 2,
+ "subject_id": {
+ "description": "SubjectID is PSA's own numeric subject id -- pass as subject_id to\nTicketFactsSubject.",
"type": "integer"
}
},
"type": "object"
},
- "shopapp.ShopProductsResponse": {
+ "psa.TicketFactsSubjectResult": {
"properties": {
- "collection": {
- "allOf": [
- {
- "$ref": "#/definitions/shopapp.ShopCollection"
- }
- ],
- "description": "Collection the products were filtered by."
- },
- "collection_id": {
- "description": "ID of the collection the products were filtered by.",
- "example": "292518002767",
+ "name": {
+ "description": "Name is the event's display name, e.g. \"Super Bowl I\".",
"type": "string"
},
- "limit": {
- "description": "Maximum number of products requested.",
- "example": 30,
- "type": "integer"
- },
- "next_cursor": {
- "description": "Cursor Shop.app returns for the next page of products.",
+ "source_url": {
"type": "string"
},
- "products": {
- "description": "Products of the shop.",
- "items": {
- "$ref": "#/definitions/shopapp.ProductItem"
- },
- "type": "array"
- },
- "shop_handle": {
- "description": "Shop.app handle of the shop.",
- "example": "marcnolan",
+ "subject_id": {
"type": "string"
},
- "sort_by": {
- "description": "Sort order applied: `MOST_SALES`, `PRICE_LOW_TO_HIGH`, `PRICE_HIGH_TO_LOW` or `RELEVANCE`.",
- "example": "MOST_SALES",
+ "ticket_profile": {
+ "description": "TicketProfile is PSA's own free-text historical writeup for this\nevent.",
"type": "string"
}
},
"type": "object"
},
- "shopapp.ShopResponse": {
- "properties": {
- "shop": {
- "allOf": [
- {
- "$ref": "#/definitions/shopapp.ShopDetail"
- }
- ],
- "description": "Details of the shop."
- }
- },
- "type": "object"
- },
- "shopapp.ShopReviewsResponse": {
+ "psa.TicketFactsSubjectsResponse": {
"properties": {
- "limit": {
- "description": "Maximum number of reviews requested.",
- "example": 20,
+ "category_id": {
"type": "integer"
},
- "next_cursor": {
- "description": "Cursor Shop.app returns for the next page of reviews.",
+ "category_name": {
"type": "string"
},
- "reviews": {
- "description": "Shopper reviews of the shop.",
+ "subjects": {
"items": {
- "$ref": "#/definitions/shopapp.ReviewItem"
+ "$ref": "#/definitions/psa.TicketFactsSubject"
},
"type": "array"
- },
- "shop_handle": {
- "description": "Shop.app handle of the shop.",
- "example": "marcnolan",
- "type": "string"
- },
- "shop_id": {
- "description": "Shop.app ID of the shop.",
- "example": "186720",
- "type": "string"
- },
- "total_count": {
- "description": "Total number of reviews the shop has.",
- "example": 15015,
- "type": "integer"
}
},
"type": "object"
},
- "shopapp.ShopSummary": {
+ "psa.autographFactsCategoriesResponseDoc": {
"properties": {
- "count": {
- "description": "Number of sampled products from this shop.",
- "example": 4,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "shop_id": {
- "description": "Shop.app ID of the shop.",
- "example": "3961166",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/psa.AutographFactsCategoriesResponse"
},
- "shop_name": {
- "description": "Name of the shop.",
- "example": "Start Fitness",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "shopapp.ShopTypeaheadItem": {
+ "psa.autographFactsGalleryResponseDoc": {
"properties": {
- "collection": {
- "allOf": [
- {
- "$ref": "#/definitions/shopapp.ShopCollection"
- }
- ],
- "description": "Suggested collection. Set when `type` is `collection`."
- },
- "id": {
- "description": "ID of the suggested product, collection or term.",
- "example": "7438827651151",
- "type": "string"
- },
- "position": {
- "description": "Position of the suggestion in the list, starting at 1.",
- "example": 1,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "product": {
- "allOf": [
- {
- "$ref": "#/definitions/shopapp.ProductItem"
- }
- ],
- "description": "Suggested product. Set when `type` is `product`."
- },
- "text": {
- "description": "Text of the suggestion, such as a term or product title.",
- "example": "loafer",
- "type": "string"
- },
- "type": {
- "description": "Kind of suggestion: `product`, `collection` or `term`.",
- "example": "product",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/psa.AutographFactsGalleryResult"
},
- "url": {
- "description": "Shop.app URL of the suggested product or collection.",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "shopapp.ShopTypeaheadResponse": {
+ "psa.autographFactsSubjectResponseDoc": {
"properties": {
- "limit": {
- "description": "Maximum number of suggestions requested.",
- "example": 20,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "query": {
- "description": "Text that was searched for within the shop.",
- "example": "loafer",
- "type": "string"
- },
- "shop_handle": {
- "description": "Shop.app handle of the shop.",
- "example": "marcnolan",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/psa.AutographFactsSubjectResult"
},
- "shop_id": {
- "description": "Shop.app ID of the shop.",
- "example": "186720",
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "suggestions": {
- "description": "Typeahead suggestions from the shop.",
- "items": {
- "$ref": "#/definitions/shopapp.ShopTypeaheadItem"
- },
- "type": "array"
}
},
"type": "object"
},
- "shopapp.SuggestResponse": {
+ "psa.autographFactsSubjectsResponseDoc": {
"properties": {
- "limit": {
- "description": "Maximum number of suggestions requested.",
- "example": 10,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "query": {
- "description": "Partial search text that suggestions were requested for.",
- "example": "sneakers",
- "type": "string"
- },
- "suggestions": {
- "description": "Search suggestions returned for the text.",
- "items": {
- "$ref": "#/definitions/shopapp.SuggestionItem"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "shopapp.SuggestionItem": {
- "properties": {
- "image": {
- "description": "URL of the shop logo. Set for `shop` suggestions.",
- "type": "string"
- },
- "rating": {
- "description": "Average shopper rating of the shop. Set for `shop` suggestions.",
- "example": 4.79,
- "type": "number"
- },
- "shop_handle": {
- "description": "Shop.app handle of the shop. Set for `shop` suggestions.",
- "example": "gr21z45he0",
- "type": "string"
- },
- "shop_id": {
- "description": "Shop.app ID of the shop. Set for `shop` suggestions.",
- "example": "365323",
- "type": "string"
- },
- "shop_name": {
- "description": "Name of the shop. Set for `shop` suggestions.",
- "example": "Sneakers Plus",
- "type": "string"
- },
- "text": {
- "description": "Suggested search text or shop name.",
- "example": "sneakers",
- "type": "string"
- },
- "type": {
- "description": "Kind of suggestion: `query` or `shop`.",
- "example": "query",
- "type": "string"
- },
- "url": {
- "description": "Shop.app URL of the search results or shop page for the suggestion.",
- "example": "https://shop.app/search/results?query=sneakers",
- "type": "string"
- }
- },
- "type": "object"
- },
- "shopapp.VariantItem": {
- "properties": {
- "available_for_sale": {
- "description": "`true` when the variant can be bought.",
- "type": "boolean"
- },
- "currency": {
- "description": "Currency code of `price` and `original_price`.",
- "type": "string"
- },
- "gid": {
- "description": "Shopify global ID of the variant.",
- "example": "gid://shopify/ProductVariant/34761278160941",
- "type": "string"
- },
- "id": {
- "description": "Shop.app variant ID.",
- "example": "34761278160941",
- "type": "string"
- },
- "image": {
- "allOf": [
- {
- "$ref": "#/definitions/shopapp.ImageItem"
- }
- ],
- "description": "Image of the variant."
- },
- "options": {
- "additionalProperties": {
- "type": "string"
- },
- "description": "Option values of the variant keyed by option name, for example `Size`.",
- "type": "object"
- },
- "original_price": {
- "description": "Price before the discount, in `currency`.",
- "type": "number"
- },
- "price": {
- "description": "Current price of the variant, in `currency`.",
- "type": "number"
- },
- "requires_shipping": {
- "description": "`true` when the variant has to be shipped.",
- "type": "boolean"
+ "data": {
+ "$ref": "#/definitions/psa.AutographFactsSubjectsResponse"
},
- "title": {
- "description": "Variant title, for example `Black / 7 / 6E`.",
- "example": "Black / 7 / 6E",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "shopapp.VariantsResponse": {
+ "psa.cardFactsCategoriesResponseDoc": {
"properties": {
- "limit": {
- "description": "Maximum number of variants requested.",
- "example": 50,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "product_id": {
- "description": "Shop.app ID of the product.",
- "example": "4596217053229",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/psa.CardFactsCategoriesResponse"
},
- "variants": {
- "description": "Variants of the product.",
- "items": {
- "$ref": "#/definitions/shopapp.VariantItem"
- },
- "type": "array"
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "shopapp.analysisResponseDoc": {
+ "psa.cardFactsChecklistResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/shopapp.AnalysisResponse"
+ "$ref": "#/definitions/psa.CardFactsChecklistResponse"
},
"msg": {
"example": "OK",
@@ -193626,14 +202155,14 @@
},
"type": "object"
},
- "shopapp.categoriesResponseDoc": {
+ "psa.cardFactsSetsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/shopapp.CategoriesResponse"
+ "$ref": "#/definitions/psa.CardFactsSetsResponse"
},
"msg": {
"example": "OK",
@@ -193642,14 +202171,14 @@
},
"type": "object"
},
- "shopapp.productResponseDoc": {
+ "psa.certLookupResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/shopapp.ProductDetailResponse"
+ "$ref": "#/definitions/psa.CertLookupResult"
},
"msg": {
"example": "OK",
@@ -193658,14 +202187,14 @@
},
"type": "object"
},
- "shopapp.productShopResponseDoc": {
+ "psa.priceGuideCategoriesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/shopapp.ProductShopResponse"
+ "$ref": "#/definitions/psa.PriceGuideCategoriesResponse"
},
"msg": {
"example": "OK",
@@ -193674,14 +202203,14 @@
},
"type": "object"
},
- "shopapp.productVariantResponseDoc": {
+ "psa.priceGuideSearchResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/shopapp.ProductVariantResponse"
+ "$ref": "#/definitions/psa.PriceGuideSearchResponse"
},
"msg": {
"example": "OK",
@@ -193690,14 +202219,14 @@
},
"type": "object"
},
- "shopapp.relatedResponseDoc": {
+ "psa.priceGuideSetResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/shopapp.RelatedResponse"
+ "$ref": "#/definitions/psa.PriceGuideSetResponse"
},
"msg": {
"example": "OK",
@@ -193706,14 +202235,14 @@
},
"type": "object"
},
- "shopapp.reviewsResponseDoc": {
+ "psa.priceGuideSetsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/shopapp.ReviewsResponse"
+ "$ref": "#/definitions/psa.PriceGuideSetsResponse"
},
"msg": {
"example": "OK",
@@ -193722,14 +202251,14 @@
},
"type": "object"
},
- "shopapp.searchResponseDoc": {
+ "psa.probatFactsCategoriesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/shopapp.SearchResponse"
+ "$ref": "#/definitions/psa.ProBatFactsCategoriesResponse"
},
"msg": {
"example": "OK",
@@ -193738,14 +202267,14 @@
},
"type": "object"
},
- "shopapp.shopLocationsResponseDoc": {
+ "psa.probatFactsGalleryResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/shopapp.ShopLocationsResponse"
+ "$ref": "#/definitions/psa.ProBatFactsGalleryResult"
},
"msg": {
"example": "OK",
@@ -193754,14 +202283,14 @@
},
"type": "object"
},
- "shopapp.shopProductsResponseDoc": {
+ "psa.probatFactsSubjectResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/shopapp.ShopProductsResponse"
+ "$ref": "#/definitions/psa.ProBatFactsSubjectResult"
},
"msg": {
"example": "OK",
@@ -193770,14 +202299,14 @@
},
"type": "object"
},
- "shopapp.shopResponseDoc": {
+ "psa.probatFactsSubjectsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/shopapp.ShopResponse"
+ "$ref": "#/definitions/psa.ProBatFactsSubjectsResponse"
},
"msg": {
"example": "OK",
@@ -193786,14 +202315,14 @@
},
"type": "object"
},
- "shopapp.shopReviewsResponseDoc": {
+ "psa.ticketFactsCategoriesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/shopapp.ShopReviewsResponse"
+ "$ref": "#/definitions/psa.TicketFactsCategoriesResponse"
},
"msg": {
"example": "OK",
@@ -193802,14 +202331,14 @@
},
"type": "object"
},
- "shopapp.shopTypeaheadResponseDoc": {
+ "psa.ticketFactsGalleryResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/shopapp.ShopTypeaheadResponse"
+ "$ref": "#/definitions/psa.TicketFactsGalleryResult"
},
"msg": {
"example": "OK",
@@ -193818,14 +202347,14 @@
},
"type": "object"
},
- "shopapp.suggestionsResponseDoc": {
+ "psa.ticketFactsSubjectResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/shopapp.SuggestResponse"
+ "$ref": "#/definitions/psa.TicketFactsSubjectResult"
},
"msg": {
"example": "OK",
@@ -193834,14 +202363,14 @@
},
"type": "object"
},
- "shopapp.variantsResponseDoc": {
+ "psa.ticketFactsSubjectsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/shopapp.VariantsResponse"
+ "$ref": "#/definitions/psa.TicketFactsSubjectsResponse"
},
"msg": {
"example": "OK",
@@ -193850,4827 +202379,2869 @@
},
"type": "object"
},
- "shopee.Banner": {
+ "publicnews.abcNewsAuthorResponseDoc": {
"properties": {
- "banner_id": {
- "example": 265864,
- "type": "integer"
- },
- "campaign_unit_id": {
- "type": "integer"
- },
- "end_time": {
- "type": "integer"
- },
- "image": {
- "type": "string"
- },
- "slot_id": {
- "type": "integer"
- },
- "start_time": {
- "type": "integer"
- },
- "url": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/abcnews.AuthorResponse"
}
},
"type": "object"
},
- "shopee.BannersResponse": {
+ "publicnews.abcauAuthorResponseDoc": {
"properties": {
- "banners": {
- "items": {
- "$ref": "#/definitions/shopee.Banner"
- },
- "type": "array"
- },
- "ratio": {
- "example": 3.3333333,
- "type": "number"
- },
- "region": {
- "example": "my",
- "type": "string"
- },
- "slot": {
- "example": "HOME_CAROUSEL_01",
- "type": "string"
- },
- "space_key": {
- "example": "PC-MY-HOME_CAROUSEL_01",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/abcau.AuthorResponse"
}
},
"type": "object"
},
- "shopee.CategoriesResponse": {
+ "publicnews.androidpoliceAuthorResponseDoc": {
"properties": {
- "categories": {
- "items": {
- "$ref": "#/definitions/shopee.CategoryNode"
- },
- "type": "array"
- },
- "region": {
- "example": "my",
- "type": "string"
- },
- "total_roots": {
- "example": 25,
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/androidpolice.AuthorResponse"
}
},
"type": "object"
},
- "shopee.CategoryDetail": {
+ "publicnews.apNewsAuthorResponseDoc": {
"properties": {
- "category_id": {
- "example": 11000979,
- "type": "integer"
- },
- "display_names": {
- "items": {
- "$ref": "#/definitions/shopee.LocalizedName"
- },
- "type": "array"
- },
- "image": {
- "type": "string"
- },
- "level": {
- "type": "integer"
- },
- "name": {
- "example": "Mobile & Accessories",
- "type": "string"
- },
- "parent_category_ids": {
- "items": {
- "type": "integer"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/apnews.AuthorResponse"
}
},
"type": "object"
},
- "shopee.CategoryDetailResponse": {
+ "publicnews.arstechnicaAuthorResponseDoc": {
"properties": {
- "categories": {
- "items": {
- "$ref": "#/definitions/shopee.CategoryDetail"
- },
- "type": "array"
- },
- "catids": {
- "items": {
- "type": "integer"
- },
- "type": "array"
- },
- "region": {
- "example": "my",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/arstechnica.AuthorResponse"
}
},
"type": "object"
},
- "shopee.CategoryNode": {
+ "publicnews.articleResponseDoc": {
"properties": {
- "category_id": {
- "example": 11000979,
- "type": "integer"
- },
- "children": {
- "items": {
- "$ref": "#/definitions/shopee.CategoryNode"
- },
- "type": "array"
- },
- "display_name": {
- "example": "Mobile & Accessories",
- "type": "string"
- },
- "image": {
- "type": "string"
- },
- "level": {
- "example": 1,
- "type": "integer"
- },
- "name": {
- "example": "Mobile & Accessories",
- "type": "string"
- },
- "parent_category_id": {
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/newsplatform.ArticleResponse"
}
},
"type": "object"
},
- "shopee.FlashSaleItem": {
+ "publicnews.benzingaSearchResponseDoc": {
"properties": {
- "category_ids": {
- "items": {
- "type": "integer"
- },
- "type": "array"
- },
- "discount": {
- "example": "31%",
- "type": "string"
- },
- "end_time": {
- "type": "integer"
- },
- "flash_sale_stock": {
- "type": "integer"
- },
- "historical_sold": {
- "example": 28759,
- "type": "integer"
- },
- "image": {
- "type": "string"
- },
- "item_id": {
- "example": 18893260244,
- "type": "integer"
- },
- "name": {
- "type": "string"
- },
- "official_shop": {
- "type": "boolean"
- },
- "price": {
- "example": 188.1,
- "type": "number"
- },
- "price_before_discount": {
- "example": 272.32,
- "type": "number"
- },
- "promo_name": {
- "type": "string"
- },
- "rating": {
- "example": 4.73,
- "type": "number"
- },
- "rating_count": {
- "example": 11806,
- "type": "integer"
- },
- "shop_id": {
- "example": 1002453997,
- "type": "integer"
- },
- "shopee_choice": {
- "type": "boolean"
- },
- "start_time": {
- "type": "integer"
- },
- "stock": {
- "example": 513,
- "type": "integer"
- },
- "tags": {
- "items": {
- "type": "string"
+ "data": {
+ "properties": {
+ "items": {
+ "items": {
+ "properties": {
+ "author": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "published_at": {
+ "type": "string"
+ },
+ "summary": {
+ "type": "string"
+ },
+ "tickers": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "query": {
+ "type": "string"
+ }
},
- "type": "array"
- },
- "url": {
- "type": "string"
+ "type": "object"
}
},
"type": "object"
},
- "shopee.FlashSaleResponse": {
+ "publicnews.billboardAuthorResponseDoc": {
"properties": {
- "items": {
- "items": {
- "$ref": "#/definitions/shopee.FlashSaleItem"
- },
- "type": "array"
- },
- "limit": {
- "example": 20,
- "type": "integer"
- },
- "offset": {
- "example": 0,
- "type": "integer"
- },
- "region": {
- "example": "my",
- "type": "string"
- },
- "session": {
- "$ref": "#/definitions/shopee.FlashSaleSession"
+ "data": {
+ "$ref": "#/definitions/billboard.AuthorResponse"
}
},
"type": "object"
},
- "shopee.FlashSaleSession": {
+ "publicnews.bleacherreportAuthorResponseDoc": {
"properties": {
- "end_time": {
- "type": "integer"
- },
- "promotion_id": {
- "type": "integer"
- },
- "start_time": {
- "type": "integer"
- },
- "status": {
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/bleacherreport.AuthorResponse"
}
},
"type": "object"
},
- "shopee.FooterBlock": {
+ "publicnews.breitbartAuthorResponseDoc": {
"properties": {
- "sections": {
- "items": {
- "$ref": "#/definitions/shopee.FooterSection"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/breitbart.AuthorResponse"
}
},
"type": "object"
},
- "shopee.FooterLink": {
+ "publicnews.brisbanetimesArticleResponseDoc": {
"properties": {
- "text": {
- "example": "Help Centre",
- "type": "string"
- },
- "url": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/brisbanetimes.ArticleResponse"
}
},
"type": "object"
},
- "shopee.FooterMedia": {
+ "publicnews.brisbanetimesAuthorResponseDoc": {
"properties": {
- "image": {
- "type": "string"
- },
- "text": {
- "type": "string"
- },
- "url": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/brisbanetimes.AuthorResponse"
}
},
"type": "object"
},
- "shopee.FooterQR": {
+ "publicnews.businessInsiderAuthorResponseDoc": {
"properties": {
- "extra_images": {
- "items": {
- "$ref": "#/definitions/shopee.FooterMedia"
- },
- "type": "array"
- },
- "image": {
- "type": "string"
- },
- "url": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/businessinsider.AuthorResponse"
}
},
"type": "object"
},
- "shopee.FooterResponse": {
+ "publicnews.businessstandardAuthorResponseDoc": {
"properties": {
- "blocks": {
- "items": {
- "$ref": "#/definitions/shopee.FooterBlock"
- },
- "type": "array"
- },
- "layout_id": {
- "example": 1,
- "type": "integer"
- },
- "layout_name": {
- "example": "Default Layout",
- "type": "string"
- },
- "mobile_blocks": {
- "items": {
- "$ref": "#/definitions/shopee.FooterBlock"
- },
- "type": "array"
- },
- "region": {
- "example": "my",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/businessstandard.AuthorResponse"
}
},
"type": "object"
},
- "shopee.FooterSection": {
+ "publicnews.cbcAuthorResponseDoc": {
"properties": {
- "images": {
- "items": {
- "$ref": "#/definitions/shopee.FooterMedia"
- },
- "type": "array"
- },
- "links": {
- "items": {
- "$ref": "#/definitions/shopee.FooterLink"
- },
- "type": "array"
- },
- "qr": {
- "$ref": "#/definitions/shopee.FooterQR"
- },
- "simple": {
- "$ref": "#/definitions/shopee.FooterSimple"
- },
- "social_media": {
- "items": {
- "$ref": "#/definitions/shopee.FooterMedia"
- },
- "type": "array"
- },
- "title": {
- "example": "CUSTOMER SERVICE",
- "type": "string"
- },
- "type": {
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/cbc.AuthorResponse"
}
},
"type": "object"
},
- "shopee.FooterSimple": {
+ "publicnews.cbrAuthorResponseDoc": {
"properties": {
- "image": {
- "type": "string"
- },
- "text": {
- "type": "string"
- },
- "url": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/cbr.AuthorResponse"
}
},
"type": "object"
},
- "shopee.HomeBanner": {
+ "publicnews.cbsNewsAuthorResponseDoc": {
"properties": {
- "image": {
- "type": "string"
- },
- "url": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/cbsnews.AuthorResponse"
}
},
"type": "object"
},
- "shopee.HomeCampaign": {
+ "publicnews.cbsSportsAuthorResponseDoc": {
"properties": {
- "image": {
- "type": "string"
- },
- "url": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/cbssports.AuthorResponse"
}
},
"type": "object"
},
- "shopee.HomeCategoriesResponse": {
+ "publicnews.chicagoTribuneAuthorResponseDoc": {
"properties": {
- "categories": {
- "items": {
- "$ref": "#/definitions/shopee.HomeCategory"
- },
- "type": "array"
- },
- "region": {
- "example": "my",
- "type": "string"
- },
- "total": {
- "example": 25,
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/chicagotribune.AuthorResponse"
}
},
"type": "object"
},
- "shopee.HomeCategory": {
+ "publicnews.cnaAuthorResponseDoc": {
"properties": {
- "category_id": {
- "example": 11000979,
- "type": "integer"
- },
- "display_name": {
- "type": "string"
- },
- "image": {
- "type": "string"
- },
- "level": {
- "example": 1,
- "type": "integer"
- },
- "name": {
- "example": "Mobile & Accessories",
- "type": "string"
- },
- "parent_category_id": {
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/cna.AuthorResponse"
}
},
"type": "object"
},
- "shopee.HomeLiveSession": {
+ "publicnews.cnetAuthorResponseDoc": {
"properties": {
- "cover": {
- "type": "string"
- },
- "session_id": {
- "type": "integer"
- },
- "shop_id": {
- "type": "integer"
- },
- "title": {
- "type": "string"
- },
- "view_count": {
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/cnet.AuthorResponse"
}
},
"type": "object"
},
- "shopee.HomeResponse": {
+ "publicnews.colliderAuthorResponseDoc": {
"properties": {
- "banners": {
- "items": {
- "$ref": "#/definitions/shopee.HomeBanner"
- },
- "type": "array"
- },
- "campaigns": {
- "items": {
- "$ref": "#/definitions/shopee.HomeCampaign"
- },
- "type": "array"
- },
- "components": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "flash_sale": {
- "items": {
- "$ref": "#/definitions/shopee.FlashSaleItem"
- },
- "type": "array"
- },
- "live_sessions": {
- "items": {
- "$ref": "#/definitions/shopee.HomeLiveSession"
- },
- "type": "array"
- },
- "prefills": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "region": {
- "example": "my",
- "type": "string"
- },
- "squares": {
- "items": {
- "$ref": "#/definitions/shopee.HomeSquare"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/collider.AuthorResponse"
}
},
"type": "object"
},
- "shopee.HomeSquare": {
+ "publicnews.ctvnewsAuthorResponseDoc": {
"properties": {
- "image": {
- "type": "string"
- },
- "title": {
- "type": "string"
- },
- "url": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/ctvnews.AuthorResponse"
}
},
"type": "object"
},
- "shopee.LocalizedName": {
+ "publicnews.dailyBeastAuthorResponseDoc": {
"properties": {
- "is_default": {
- "type": "boolean"
- },
- "lang": {
- "example": "en",
- "type": "string"
- },
- "value": {
- "example": "Mobile & Accessories",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/thedailybeast.AuthorResponse"
}
},
"type": "object"
},
- "shopee.LocationFiltersResponse": {
+ "publicnews.dailyExpressAuthorResponseDoc": {
"properties": {
- "groups": {
- "items": {
- "$ref": "#/definitions/shopee.LocationGroup"
- },
- "type": "array"
- },
- "region": {
- "example": "my",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/dailyexpress.AuthorResponse"
}
},
"type": "object"
},
- "shopee.LocationGroup": {
+ "publicnews.dailyMailAuthorResponseDoc": {
"properties": {
- "group": {
- "example": "E",
- "type": "string"
- },
- "group_name": {
- "type": "string"
- },
- "location_tag_ids": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "locations": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "translated_group": {
- "type": "string"
- },
- "translated_locations": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/dailymail.AuthorResponse"
}
},
"type": "object"
},
- "shopee.MallCategoriesResponse": {
+ "publicnews.dailyRecordAuthorResponseDoc": {
"properties": {
- "categories": {
- "items": {
- "$ref": "#/definitions/shopee.MallCategory"
- },
- "type": "array"
- },
- "region": {
- "example": "my",
- "type": "string"
- },
- "total": {
- "example": 24,
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/dailyrecord.AuthorResponse"
}
},
"type": "object"
},
- "shopee.MallCategory": {
+ "publicnews.dailyWireAuthorResponseDoc": {
"properties": {
- "category_id": {
- "example": 11000616,
- "type": "integer"
- },
- "image": {
- "type": "string"
- },
- "name": {
- "example": "Muslim Fashion",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/dailywire.AuthorResponse"
}
},
"type": "object"
},
- "shopee.MallShop": {
+ "publicnews.dailycallerAuthorResponseDoc": {
"properties": {
- "brand_name": {
- "type": "string"
- },
- "ctime": {
- "type": "integer"
- },
- "logo": {
- "type": "string"
- },
- "logo_pc": {
- "type": "string"
- },
- "name": {
- "example": "ANTA Official Store",
- "type": "string"
- },
- "redirect_url": {
- "type": "string"
- },
- "shop_id": {
- "example": 236986575,
- "type": "integer"
- },
- "shop_type": {
- "type": "integer"
- },
- "user_id": {
- "type": "integer"
- },
- "username": {
- "example": "antamalaysia.os",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/dailycaller.AuthorResponse"
}
},
"type": "object"
},
- "shopee.PrefillItem": {
+ "publicnews.dawnAuthorResponseDoc": {
"properties": {
- "hint": {
- "example": "Sign Up & Get Your First Order Free!",
- "type": "string"
- },
- "image": {
- "type": "string"
- },
- "url": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/dawn.AuthorResponse"
}
},
"type": "object"
},
- "shopee.PrefillsResponse": {
+ "publicnews.deadlineAuthorResponseDoc": {
"properties": {
- "prefills": {
- "items": {
- "$ref": "#/definitions/shopee.PrefillItem"
- },
- "type": "array"
- },
- "region": {
- "example": "my",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/deadline.AuthorResponse"
}
},
"type": "object"
},
- "shopee.SearchFilterGroup": {
+ "publicnews.denverPostAuthorResponseDoc": {
"properties": {
- "display_name": {
- "example": "Brand",
- "type": "string"
- },
- "dynamic": {
- "type": "boolean"
- },
- "name": {
- "example": "BRANDS",
- "type": "string"
- },
- "options": {
- "items": {
- "$ref": "#/definitions/shopee.SearchFilterOption"
- },
- "type": "array"
- },
- "ui_type": {
- "example": 1,
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/denverpost.AuthorResponse"
}
},
"type": "object"
},
- "shopee.SearchFilterOption": {
+ "publicnews.dwAuthorResponseDoc": {
"properties": {
- "display_name": {
- "example": "Wireless Earbuds",
- "type": "string"
- },
- "name": {
- "example": "Wireless Earbuds",
- "type": "string"
- },
- "value": {
- "example": "11000993",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/dw.AuthorResponse"
}
},
"type": "object"
},
- "shopee.SearchFiltersResponse": {
+ "publicnews.economicTimesAuthorResponseDoc": {
"properties": {
- "category": {
- "example": "11000979",
- "type": "string"
- },
- "groups": {
- "items": {
- "$ref": "#/definitions/shopee.SearchFilterGroup"
- },
- "type": "array"
- },
- "keyword": {
- "example": "headphones",
- "type": "string"
- },
- "region": {
- "example": "my",
- "type": "string"
- },
- "shortcuts": {
- "items": {
- "$ref": "#/definitions/shopee.SearchFilterOption"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/economictimes.AuthorResponse"
}
},
"type": "object"
},
- "shopee.SearchHint": {
+ "publicnews.engadgetAuthorResponseDoc": {
"properties": {
- "category_id": {
- "type": "integer"
- },
- "category_name": {
- "type": "string"
- },
- "item_ids": {
- "items": {
- "type": "integer"
- },
- "type": "array"
- },
- "keyword": {
- "example": "phone case",
- "type": "string"
- },
- "position": {
- "type": "integer"
- },
- "record_type": {
- "type": "integer"
- },
- "source_type": {
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/engadget.AuthorResponse"
}
},
"type": "object"
},
- "shopee.SearchHintsResponse": {
+ "publicnews.eonlineAuthorResponseDoc": {
"properties": {
- "algorithm": {
- "type": "string"
- },
- "hints": {
- "items": {
- "$ref": "#/definitions/shopee.SearchHint"
- },
- "type": "array"
- },
- "keyword": {
- "example": "phone",
- "type": "string"
- },
- "region": {
- "example": "my",
- "type": "string"
- },
- "search_keyword_type": {
- "type": "integer"
- },
- "version": {
- "example": 2,
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/eonline.AuthorResponse"
}
},
"type": "object"
},
- "shopee.ShopInfoResponse": {
+ "publicnews.euronewsAuthorResponseDoc": {
"properties": {
- "description": {
- "type": "string"
- },
- "images": {
- "type": "string"
- },
- "name": {
- "type": "string"
- },
- "official_shop": {
- "type": "boolean"
- },
- "region": {
- "example": "my",
- "type": "string"
- },
- "shop_id": {
- "example": 52784309,
- "type": "integer"
- },
- "shopee_verified": {
- "type": "boolean"
- },
- "status": {
- "type": "integer"
- },
- "user_id": {
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/euronews.AuthorResponse"
}
},
"type": "object"
},
- "shopee.ShopsResponse": {
+ "publicnews.ewAuthorResponseDoc": {
"properties": {
- "limit": {
- "example": 20,
- "type": "integer"
- },
- "offset": {
- "example": 0,
- "type": "integer"
- },
- "region": {
- "example": "my",
- "type": "string"
- },
- "shops": {
- "items": {
- "$ref": "#/definitions/shopee.MallShop"
- },
- "type": "array"
- },
- "total": {
- "example": 632,
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/ew.AuthorResponse"
}
},
"type": "object"
},
- "shopee.SuggestResponse": {
+ "publicnews.expresstribuneAuthorResponseDoc": {
"properties": {
- "keyword": {
- "example": "head",
- "type": "string"
- },
- "region": {
- "example": "my",
- "type": "string"
- },
- "suggestions": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/expresstribune.AuthorResponse"
}
},
"type": "object"
},
- "shopee.bannersResponseDoc": {
+ "publicnews.fastCompanyAuthorResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
"data": {
- "$ref": "#/definitions/shopee.BannersResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "$ref": "#/definitions/fastcompany.AuthorResponse"
}
},
"type": "object"
},
- "shopee.categoriesResponseDoc": {
+ "publicnews.fortuneAuthorResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
"data": {
- "$ref": "#/definitions/shopee.CategoriesResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "$ref": "#/definitions/fortune.AuthorResponse"
}
},
"type": "object"
},
- "shopee.categoryDetailResponseDoc": {
+ "publicnews.fortuneCompaniesResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
"data": {
- "$ref": "#/definitions/shopee.CategoryDetailResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "$ref": "#/definitions/fortune.CompaniesResponse"
}
},
"type": "object"
},
- "shopee.flashSaleResponseDoc": {
+ "publicnews.fortuneCompanyFiltersResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
"data": {
- "$ref": "#/definitions/shopee.FlashSaleResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "$ref": "#/definitions/fortune.CompanyFiltersResponse"
}
},
"type": "object"
},
- "shopee.footerResponseDoc": {
+ "publicnews.fortuneCompanyResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
"data": {
- "$ref": "#/definitions/shopee.FooterResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "$ref": "#/definitions/fortune.CompanyResponse"
}
},
"type": "object"
},
- "shopee.homeCategoriesResponseDoc": {
+ "publicnews.fortuneRankingFiltersResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
"data": {
- "$ref": "#/definitions/shopee.HomeCategoriesResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "$ref": "#/definitions/fortune.RankingFiltersResponse"
}
},
"type": "object"
},
- "shopee.homeResponseDoc": {
+ "publicnews.fortuneRankingListsResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
"data": {
- "$ref": "#/definitions/shopee.HomeResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "$ref": "#/definitions/fortune.RankingListsResponse"
}
},
"type": "object"
},
- "shopee.locationFiltersResponseDoc": {
+ "publicnews.fortuneRankingResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
"data": {
- "$ref": "#/definitions/shopee.LocationFiltersResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "$ref": "#/definitions/fortune.RankingResponse"
}
},
"type": "object"
},
- "shopee.mallCategoriesResponseDoc": {
+ "publicnews.fortuneRankingYearsResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
"data": {
- "$ref": "#/definitions/shopee.MallCategoriesResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "$ref": "#/definitions/fortune.RankingYearsResponse"
}
},
"type": "object"
},
- "shopee.prefillsResponseDoc": {
+ "publicnews.france24AuthorResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
"data": {
- "$ref": "#/definitions/shopee.PrefillsResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "$ref": "#/definitions/france24.AuthorResponse"
}
},
"type": "object"
},
- "shopee.searchFiltersResponseDoc": {
+ "publicnews.gamerantAuthorResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
"data": {
- "$ref": "#/definitions/shopee.SearchFiltersResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "$ref": "#/definitions/gamerant.AuthorResponse"
}
},
"type": "object"
},
- "shopee.searchHintsResponseDoc": {
+ "publicnews.gamesradarAuthorResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
"data": {
- "$ref": "#/definitions/shopee.SearchHintsResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "$ref": "#/definitions/gamesradar.AuthorResponse"
}
},
"type": "object"
},
- "shopee.shopInfoResponseDoc": {
+ "publicnews.gbnewsAuthorResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
"data": {
- "$ref": "#/definitions/shopee.ShopInfoResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "$ref": "#/definitions/gbnews.AuthorResponse"
}
},
"type": "object"
},
- "shopee.shopsResponseDoc": {
+ "publicnews.ghanawebArchiveMonthsResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
"data": {
- "$ref": "#/definitions/shopee.ShopsResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "$ref": "#/definitions/ghanaweb.ArchiveMonthsResponse"
}
},
"type": "object"
},
- "shopee.suggestResponseDoc": {
+ "publicnews.ghanawebArchiveResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
"data": {
- "$ref": "#/definitions/shopee.SuggestResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "$ref": "#/definitions/ghanaweb.ArchiveResponse"
}
},
"type": "object"
},
- "shopify.CollectionItem": {
+ "publicnews.ghanawebVideoResponseDoc": {
"properties": {
- "created_at": {
- "description": "Time the record was created, as Shopify returns it.",
- "type": "string"
- },
- "description": {
- "description": "Collection description as plain text.",
- "type": "string"
- },
- "handle": {
- "description": "URL slug of the collection, for example `mens`.",
- "example": "mens",
- "type": "string"
- },
- "id": {
- "description": "Shopify collection id.",
- "example": "278435758160",
- "type": "string"
- },
- "products_count": {
- "description": "Number of products in the collection. Omitted for headless storefronts.",
- "example": 24,
- "type": "integer"
- },
- "published_at": {
- "description": "Time the record was published, as Shopify returns it.",
- "type": "string"
- },
- "title": {
- "description": "Collection name as shown on the storefront.",
- "example": "Men",
- "type": "string"
- },
- "updated_at": {
- "description": "Time the record was last updated, as Shopify returns it.",
- "type": "string"
- },
- "url": {
- "description": "Storefront page URL of the collection.",
- "example": "https://www.allbirds.com/collections/mens",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/ghanaweb.VideoResponse"
}
},
"type": "object"
},
- "shopify.CollectionProductsResponse": {
+ "publicnews.ghanawebVideoSectionsResponseDoc": {
"properties": {
- "collection": {
- "description": "Handle of the collection the products belong to.",
- "example": "mens",
- "type": "string"
- },
- "facets": {
- "additionalProperties": {
- "additionalProperties": {
- "format": "int64",
- "type": "integer"
- },
- "type": "object"
- },
- "description": "Facets and FacetsStats are populated when TransportMode is ssr_embedded\nor storefront_filtered -- see the identical fields' doc comment on\nProductsResponse.",
- "type": "object"
- },
- "facets_stats": {
- "additionalProperties": {
- "$ref": "#/definitions/shopify.FacetStat"
- },
- "description": "Lowest, highest and average value per numeric facet such as `price`. Present only when `transport_mode` is set.",
- "type": "object"
- },
- "filters": {
- "additionalProperties": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "description": "Facet filters applied, mapping each facet name to the values requested. Present only for headless storefronts.",
- "type": "object"
- },
- "in_stock_only": {
- "description": "Whether only in-stock products were requested. Present only when `transport_mode` is `storefront_filtered`.",
- "type": "boolean"
- },
- "limit": {
- "description": "Maximum number of products returned per page.",
- "example": 50,
- "type": "integer"
- },
- "max_price": {
- "description": "Maximum price filter applied. Present only when `transport_mode` is `storefront_filtered`.",
- "type": "number"
- },
- "min_price": {
- "description": "Minimum price filter applied. Present only when `transport_mode` is `storefront_filtered`.",
- "type": "number"
- },
- "page": {
- "description": "Page number returned.",
- "example": 1,
- "type": "integer"
- },
- "product_type": {
- "description": "Product types the results were filtered to. Present only when `transport_mode` is `storefront_filtered`.",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "products": {
- "description": "Products on this page, one item per product.",
- "items": {
- "$ref": "#/definitions/shopify.ProductItem"
- },
- "type": "array"
- },
- "sort": {
- "description": "Sort and Filters echo back the effective sortBy/facet-filter query\nparams that were applied, present only when transport_mode is\nssr_embedded and the caller supplied at least one. Always omitted for\nthe classic transport (which rejects them as invalid params instead).",
- "enum": [
- "sortLTH",
- "sortHTL",
- "newest"
- ],
- "example": "sortLTH",
- "type": "string"
- },
- "sort_by": {
- "description": "SortBy, MinPrice, MaxPrice, ProductType, InStockOnly, and\nVariantOptions echo back the effective storefront-filtering params\nthat were applied -- see the identical fields' doc comment on\nProductsResponse.",
- "enum": [
- "manual",
- "best-selling",
- "title-ascending",
- "title-descending",
- "price-ascending",
- "price-descending",
- "created-ascending",
- "created-descending"
- ],
- "example": "price-ascending",
- "type": "string"
- },
- "source_url": {
- "description": "URL the data was read from.",
- "example": "https://www.allbirds.com",
- "type": "string"
- },
- "store_url": {
- "description": "Base URL of the Shopify storefront that was queried.",
- "example": "https://www.allbirds.com",
- "type": "string"
- },
- "total_items": {
- "description": "TotalItems and TotalPages are populated only when TransportMode is\nssr_embedded, from the storefront's own embedded search-result\npagination metadata.",
- "example": 184,
- "type": "integer"
- },
- "total_pages": {
- "description": "Total number of result pages. Present only for headless storefronts.",
- "example": 4,
- "type": "integer"
- },
- "transport_mode": {
- "description": "Set to `ssr_embedded` for headless storefronts, or `storefront_filtered` when sort, price, product type, in-stock or variant filters were applied. Omitted otherwise.",
- "enum": [
- "ssr_embedded",
- "storefront_filtered"
- ],
- "example": "ssr_embedded",
- "type": "string"
- },
- "variant_options": {
- "additionalProperties": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "description": "Variant option filters applied, mapping an option name such as `size` to the values requested. Present only when `transport_mode` is `storefront_filtered`.",
- "type": "object"
+ "data": {
+ "$ref": "#/definitions/ghanaweb.VideoSectionsResponse"
}
},
"type": "object"
},
- "shopify.CollectionsResponse": {
+ "publicnews.ghanawebVideosResponseDoc": {
"properties": {
- "collections": {
- "description": "Collections on this page, one item per collection.",
- "items": {
- "$ref": "#/definitions/shopify.CollectionItem"
- },
- "type": "array"
- },
- "limit": {
- "description": "Maximum number of collections returned per page.",
- "example": 50,
- "type": "integer"
- },
- "page": {
- "description": "Page number returned.",
- "example": 1,
- "type": "integer"
- },
- "source_url": {
- "description": "URL the data was read from.",
- "example": "https://www.allbirds.com",
- "type": "string"
- },
- "store_url": {
- "description": "Base URL of the Shopify storefront that was queried.",
- "example": "https://www.allbirds.com",
- "type": "string"
- },
- "transport_mode": {
- "description": "Set only for headless storefronts that do not expose Shopify's standard catalogue; the value is `ssr_embedded`. Omitted otherwise. Titles are then derived from handles.",
- "enum": [
- "ssr_embedded"
- ],
- "example": "ssr_embedded",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/ghanaweb.VideosResponse"
}
},
"type": "object"
},
- "shopify.FacetStat": {
+ "publicnews.gizmodoAuthorResponseDoc": {
"properties": {
- "avg": {
- "description": "Average value of the facet across the current results.",
- "example": 56.46,
- "type": "number"
- },
- "max": {
- "description": "Highest value of the facet across the current results.",
- "example": 85,
- "type": "number"
- },
- "min": {
- "description": "Lowest value of the facet across the current results.",
- "example": 27,
- "type": "number"
+ "data": {
+ "$ref": "#/definitions/gizmodo.AuthorResponse"
}
},
"type": "object"
},
- "shopify.ImageItem": {
+ "publicnews.globalnewsAuthorResponseDoc": {
"properties": {
- "alt": {
- "description": "Alternative text of the image.",
- "example": "Product image",
- "type": "string"
- },
- "created_at": {
- "description": "Time the record was created, as Shopify returns it.",
- "type": "string"
- },
- "height": {
- "description": "Image height in pixels.",
- "example": 1600,
- "type": "integer"
- },
- "id": {
- "description": "Shopify image id.",
- "example": "36411373027408",
- "type": "string"
- },
- "position": {
- "description": "Position of the image in the product's image list, starting at 1.",
- "example": 1,
- "type": "integer"
- },
- "updated_at": {
- "description": "Time the record was last updated, as Shopify returns it.",
- "type": "string"
- },
- "url": {
- "description": "URL of the image file.",
- "example": "https://cdn.shopify.com/s/files/1/example.jpg",
- "type": "string"
- },
- "variant_ids": {
- "description": "Ids of the variants this image is attached to.",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "width": {
- "description": "Image width in pixels.",
- "example": 1600,
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/globalnews.AuthorResponse"
}
},
"type": "object"
},
- "shopify.OptionItem": {
+ "publicnews.gqAuthorResponseDoc": {
"properties": {
- "name": {
- "description": "Option name, for example `Size`.",
- "example": "Size",
- "type": "string"
- },
- "position": {
- "description": "Position of the option on the product, starting at 1.",
- "example": 1,
- "type": "integer"
- },
- "values": {
- "description": "Values the option can take, for example `S` or `M`.",
- "items": {
- "type": "string"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/gq.AuthorResponse"
}
},
"type": "object"
},
- "shopify.PageItem": {
+ "publicnews.gulfNewsAuthorResponseDoc": {
"properties": {
- "content": {
- "description": "Body of the page as plain text.",
- "type": "string"
- },
- "created_at": {
- "description": "Time the record was created, as Shopify returns it.",
- "type": "string"
- },
- "handle": {
- "description": "URL slug of the page, for example `accessibility`.",
- "example": "accessibility",
- "type": "string"
- },
- "id": {
- "description": "Shopify page id.",
- "example": "54831906896",
- "type": "string"
- },
- "published_at": {
- "description": "Time the record was published, as Shopify returns it.",
- "type": "string"
- },
- "title": {
- "description": "Page title as shown on the storefront.",
- "example": "Accessibility",
- "type": "string"
- },
- "updated_at": {
- "description": "Time the record was last updated, as Shopify returns it.",
- "type": "string"
- },
- "url": {
- "description": "Storefront URL of the page.",
- "example": "https://www.allbirds.com/pages/accessibility",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/gulfnews.AuthorResponse"
}
},
"type": "object"
},
- "shopify.PageResponse": {
+ "publicnews.headlinesResponseDoc": {
"properties": {
- "page": {
- "allOf": [
- {
- "$ref": "#/definitions/shopify.PageItem"
- }
- ],
- "description": "The static page that was requested."
- },
- "source_url": {
- "description": "URL the data was read from.",
- "example": "https://www.allbirds.com",
- "type": "string"
- },
- "store_url": {
- "description": "Base URL of the Shopify storefront that was queried.",
- "example": "https://www.allbirds.com",
- "type": "string"
- },
- "transport_mode": {
- "description": "Set only for headless storefronts that do not expose Shopify's standard catalogue; the value is `ssr_embedded`. Omitted otherwise.",
- "enum": [
- "ssr_embedded"
- ],
- "example": "ssr_embedded",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/newsplatform.HeadlinesResponse"
}
},
"type": "object"
},
- "shopify.PagesResponse": {
+ "publicnews.hindustanTimesAuthorResponseDoc": {
"properties": {
- "limit": {
- "description": "Maximum number of pages returned per page of results.",
- "example": 50,
- "type": "integer"
- },
- "page": {
- "description": "Page number returned.",
- "example": 1,
- "type": "integer"
- },
- "pages": {
- "description": "Static pages on this page of results, one item per page.",
- "items": {
- "$ref": "#/definitions/shopify.PageItem"
- },
- "type": "array"
- },
- "source_url": {
- "description": "URL the data was read from.",
- "example": "https://www.allbirds.com",
- "type": "string"
- },
- "store_url": {
- "description": "Base URL of the Shopify storefront that was queried.",
- "example": "https://www.allbirds.com",
- "type": "string"
- },
- "transport_mode": {
- "description": "TransportMode is present only when the store required the\nembedded-SSR-JSON fallback transport. In this mode pages are\ndiscovered from the storefront's own pages sitemap rather than a\nlisting API: each item only carries handle/url/updated_at (no title\nor content) — call GET /shopify/pages/{handle} per handle for full\ncontent.",
- "enum": [
- "ssr_embedded"
- ],
- "example": "ssr_embedded",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/hindustantimes.AuthorResponse"
}
},
"type": "object"
},
- "shopify.ProductItem": {
+ "publicnews.hollywoodReporterAuthorResponseDoc": {
"properties": {
- "available": {
- "description": "Whether at least one variant is available to buy.",
- "type": "boolean"
- },
- "canonical_colour": {
- "description": "Main colour name the storefront groups the product under, for example `black`.",
- "example": "black",
- "type": "string"
- },
- "collection_tags": {
- "description": "Collections the product is listed in, as the storefront labels them.",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "colour": {
- "description": "The fields below are only populated when the product was resolved via\nthe embedded-SSR-JSON fallback transport (see ssr_fallback.go) and the\nsource page exposed this data; they are additive and never populated\nfor classic-store responses.",
- "example": "black",
- "type": "string"
- },
- "compare_at_price": {
- "description": "Original price before discount, in the store's currency. The highest compare-at price across variants.",
- "example": 120,
- "type": "number"
- },
- "condition": {
- "description": "Condition is only populated for resale-marketplace search results\n(Fashionphile's AlgoliaSearch, Rebag's StorefrontSearch -- see\nsearch.go) whose catalog data exposes a condition grade. Never\npopulated for any other brand or endpoint in this family.",
- "example": "Excellent",
- "type": "string"
- },
- "created_at": {
- "description": "Time the record was created, as Shopify returns it.",
- "type": "string"
- },
- "description": {
- "description": "Product description as plain text.",
- "type": "string"
- },
- "discount_percentage": {
- "description": "Discount currently applied to the product, as a percentage.",
- "example": 20,
- "type": "number"
- },
- "featured_image": {
- "description": "URL of the product's main image.",
- "type": "string"
- },
- "handle": {
- "description": "URL slug of the product, for example `mens-wool-runners`.",
- "example": "mens-wool-runners",
- "type": "string"
- },
- "id": {
- "description": "Shopify product id.",
- "example": "6616124981328",
- "type": "string"
- },
- "images": {
- "description": "Images of the product, in the storefront's order.",
- "items": {
- "$ref": "#/definitions/shopify.ImageItem"
- },
- "type": "array"
- },
- "labels": {
- "description": "Badges the storefront shows on the product, for example `new`.",
- "example": [
- "new"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "options": {
- "description": "Options the product varies by, such as size or colour.",
- "items": {
- "$ref": "#/definitions/shopify.OptionItem"
- },
- "type": "array"
- },
- "price": {
- "description": "Current price in the store's currency. The lowest variant price when variants are listed.",
- "example": 98,
- "type": "number"
- },
- "product_type": {
- "description": "Product type set by the merchant, for example `Shoes`.",
- "example": "Shoes",
- "type": "string"
- },
- "published_at": {
- "description": "Time the record was published, as Shopify returns it.",
- "type": "string"
- },
- "rating": {
- "description": "Average customer rating shown by the storefront.",
- "example": 4.2,
- "type": "number"
- },
- "rating_count": {
- "description": "Number of customer ratings behind `rating`.",
- "example": 1549,
- "type": "integer"
- },
- "tags": {
- "description": "Tags the merchant attached to the product.",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "title": {
- "description": "Product name as shown on the storefront.",
- "example": "Men's Wool Runners",
- "type": "string"
- },
- "updated_at": {
- "description": "Time the record was last updated, as Shopify returns it.",
- "type": "string"
- },
- "url": {
- "description": "Storefront page URL of the product.",
- "example": "https://www.allbirds.com/products/mens-wool-runners",
- "type": "string"
- },
- "variants": {
- "description": "Purchasable variants of the product, such as each size and colour.",
- "items": {
- "$ref": "#/definitions/shopify.VariantItem"
- },
- "type": "array"
- },
- "vendor": {
- "description": "Brand or vendor name set by the merchant.",
- "example": "Allbirds",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/hollywoodreporter.AuthorResponse"
}
},
"type": "object"
},
- "shopify.ProductRecommendationsResponse": {
+ "publicnews.houstonChronicleAuthorResponseDoc": {
"properties": {
- "handle": {
- "description": "Handle of the product the recommendations are based on.",
- "example": "mens-wool-runners",
- "type": "string"
- },
- "intent": {
- "description": "Recommendation type returned: `related` or `complementary`.",
- "example": "related",
- "type": "string"
- },
- "limit": {
- "description": "Maximum number of recommended products returned.",
- "example": 10,
- "type": "integer"
- },
- "product_id": {
- "description": "Shopify id of the product the recommendations are based on.",
- "example": "6616124981328",
- "type": "string"
- },
- "products": {
- "description": "Recommended products, one item per product.",
- "items": {
- "$ref": "#/definitions/shopify.ProductItem"
- },
- "type": "array"
- },
- "source_url": {
- "description": "URL the data was read from.",
- "example": "https://www.allbirds.com",
- "type": "string"
- },
- "store_url": {
- "description": "Base URL of the Shopify storefront that was queried.",
- "example": "https://www.allbirds.com",
- "type": "string"
- },
- "transport_mode": {
- "description": "Set only for headless storefronts that do not expose Shopify's standard catalogue; the value is `ssr_embedded`. Omitted otherwise.",
- "enum": [
- "ssr_embedded"
- ],
- "example": "ssr_embedded",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/houstonchronicle.AuthorResponse"
}
},
"type": "object"
},
- "shopify.ProductResponse": {
+ "publicnews.huffPostAuthorResponseDoc": {
"properties": {
- "product": {
- "allOf": [
- {
- "$ref": "#/definitions/shopify.ProductItem"
- }
- ],
- "description": "The requested product with its variants, options and images."
- },
- "source_url": {
- "description": "URL the data was read from.",
- "example": "https://www.allbirds.com",
- "type": "string"
- },
- "store_url": {
- "description": "Base URL of the Shopify storefront that was queried.",
- "example": "https://www.allbirds.com",
- "type": "string"
- },
- "transport_mode": {
- "description": "Set only for headless storefronts that do not expose Shopify's standard catalogue; the value is `ssr_embedded`. Omitted otherwise.",
- "enum": [
- "ssr_embedded"
- ],
- "example": "ssr_embedded",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/huffpost.AuthorResponse"
}
},
"type": "object"
},
- "shopify.ProductsResponse": {
+ "publicnews.ignAuthorResponseDoc": {
"properties": {
- "facets": {
- "additionalProperties": {
- "additionalProperties": {
- "format": "int64",
- "type": "integer"
- },
- "type": "object"
- },
- "description": "Facets and FacetsStats are populated when TransportMode is ssr_embedded\n(from the storefront's own embedded search-index facet buckets) or\nstorefront_filtered (from the storefront's own Storefront Filtering\nsidebar -- Size/Color/etc. option facets, Product Type, and a \"price\"\nFacetsStats entry for the price-range slider's own min/max bounds).",
- "type": "object"
- },
- "facets_stats": {
- "additionalProperties": {
- "$ref": "#/definitions/shopify.FacetStat"
- },
- "description": "Lowest, highest and average value per numeric facet such as `price`. Present only when `transport_mode` is set.",
- "type": "object"
- },
- "filters": {
- "additionalProperties": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "description": "Facet filters applied, mapping each facet name to the values requested. Present only for headless storefronts.",
- "type": "object"
- },
- "in_stock_only": {
- "description": "Whether only in-stock products were requested. Present only when `transport_mode` is `storefront_filtered`.",
- "type": "boolean"
- },
- "limit": {
- "description": "Maximum number of products returned per page.",
- "example": 50,
- "type": "integer"
- },
- "max_price": {
- "description": "Maximum price filter applied. Present only when `transport_mode` is `storefront_filtered`.",
- "type": "number"
- },
- "min_price": {
- "description": "Minimum price filter applied. Present only when `transport_mode` is `storefront_filtered`.",
- "type": "number"
- },
- "page": {
- "description": "Page number returned.",
- "example": 1,
- "type": "integer"
- },
- "product_type": {
- "description": "Product types the results were filtered to. Present only when `transport_mode` is `storefront_filtered`.",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "products": {
- "description": "Products on this page, one item per product.",
- "items": {
- "$ref": "#/definitions/shopify.ProductItem"
- },
- "type": "array"
- },
- "sort": {
- "description": "Sort and Filters echo back the effective sortBy/facet-filter query\nparams that were applied, present only when transport_mode is\nssr_embedded and the caller supplied at least one. Always omitted for\nthe classic transport (which rejects them as invalid params instead).",
- "enum": [
- "sortLTH",
- "sortHTL",
- "newest"
- ],
- "example": "sortLTH",
- "type": "string"
- },
- "sort_by": {
- "description": "SortBy, MinPrice, MaxPrice, ProductType, InStockOnly, and\nVariantOptions echo back the effective storefront-filtering params\nthat were applied, present only when transport_mode is\nstorefront_filtered.",
- "enum": [
- "manual",
- "best-selling",
- "title-ascending",
- "title-descending",
- "price-ascending",
- "price-descending",
- "created-ascending",
- "created-descending"
- ],
- "example": "price-ascending",
- "type": "string"
- },
- "source_url": {
- "description": "URL the data was read from.",
- "example": "https://www.allbirds.com",
- "type": "string"
- },
- "store_url": {
- "description": "Base URL of the Shopify storefront that was queried.",
- "example": "https://www.allbirds.com",
- "type": "string"
- },
- "total_items": {
- "description": "TotalItems and TotalPages are populated only when TransportMode is\nssr_embedded, from the storefront's own embedded search-result\npagination metadata.",
- "example": 184,
- "type": "integer"
- },
- "total_pages": {
- "description": "Total number of result pages. Present only for headless storefronts.",
- "example": 4,
- "type": "integer"
- },
- "transport_mode": {
- "description": "Set to `ssr_embedded` for headless storefronts, or `storefront_filtered` when sort, price, product type, in-stock or variant filters were applied. Omitted otherwise.",
- "enum": [
- "ssr_embedded",
- "storefront_filtered"
- ],
- "example": "ssr_embedded",
- "type": "string"
- },
- "variant_options": {
- "additionalProperties": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "description": "Variant option filters applied, mapping an option name such as `size` to the values requested. Present only when `transport_mode` is `storefront_filtered`.",
- "type": "object"
+ "data": {
+ "$ref": "#/definitions/ign.AuthorResponse"
}
},
"type": "object"
},
- "shopify.ReviewDTO": {
+ "publicnews.independentAuthorResponseDoc": {
"properties": {
- "body": {
- "example": "Excellent condition, fast shipping!",
- "type": "string"
- },
- "created_at": {
- "example": "2026-08-25T18:17:23.000Z",
- "type": "string"
- },
- "id": {
- "example": "4a8567d4-b397-5ff5-b327-a8cbec368987",
- "type": "string"
- },
- "is_shop_review": {
- "type": "boolean"
- },
- "pictures": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "product_title": {
- "type": "string"
- },
- "product_url": {
- "type": "string"
- },
- "rating": {
- "example": 5,
- "type": "integer"
- },
- "reviewer_name": {
- "example": "Mario Henao",
- "type": "string"
- },
- "title": {
- "type": "string"
- },
- "verified_buyer": {
- "example": true,
- "type": "boolean"
+ "data": {
+ "$ref": "#/definitions/independent.AuthorResponse"
}
},
"type": "object"
},
- "shopify.ReviewsResponse": {
+ "publicnews.indiaTodayAuthorResponseDoc": {
"properties": {
- "page": {
- "example": 1,
- "type": "integer"
- },
- "reviews": {
- "items": {
- "$ref": "#/definitions/shopify.ReviewDTO"
- },
- "type": "array"
- },
- "source_url": {
- "example": "https://cdn.judge.me/reviews/all_reviews_js_based",
- "type": "string"
- },
- "store_url": {
- "example": "https://www.pristinemarketplace.com",
- "type": "string"
- },
- "total_count": {
- "example": 88,
- "type": "integer"
- },
- "total_pages": {
- "example": 18,
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/indiatoday.AuthorResponse"
}
},
"type": "object"
},
- "shopify.SearchQueryItem": {
+ "publicnews.indianExpressAuthorResponseDoc": {
"properties": {
- "text": {
- "description": "Suggested search phrase.",
- "example": "wool",
- "type": "string"
- },
- "url": {
- "description": "Storefront search results URL for the phrase.",
- "example": "https://www.allbirds.com/search?q=wool",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/indianexpress.AuthorResponse"
}
},
"type": "object"
},
- "shopify.SearchResponse": {
+ "publicnews.indiewireAuthorResponseDoc": {
"properties": {
- "availability": {
- "description": "Availability is the availability filter that was applied (available,\nsold, or all). Only set by Fashionphile search.",
- "example": "available",
- "type": "string"
- },
- "condition": {
- "example": "Excellent",
- "type": "string"
- },
- "limit": {
- "example": 20,
- "type": "integer"
- },
- "page": {
- "example": 1,
- "type": "integer"
- },
- "products": {
- "items": {
- "$ref": "#/definitions/shopify.ProductItem"
- },
- "type": "array"
- },
- "query": {
- "example": "chanel",
- "type": "string"
- },
- "sort": {
- "example": "relevance",
- "type": "string"
- },
- "source_url": {
- "example": "https://www.fashionphile.com",
- "type": "string"
- },
- "store_url": {
- "example": "https://www.fashionphile.com",
- "type": "string"
- },
- "total_items": {
- "description": "TotalItems for AlgoliaSearch is the exact number of products matching\nthe query and every filter (condition, vendor, availability); it does\nnot change with sort. For StorefrontSearch it is only the number of results the\nupstream Storefront API returned for this page's fetch window --\nShopify's search field does not expose a true total match count, so\nthis is not a reliable \"how many pages exist\" signal on that\ntransport; treat an empty Products page as the practical end of\nresults instead.",
- "example": 184,
- "type": "integer"
- },
- "vendor": {
- "example": "Chanel",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/indiewire.AuthorResponse"
}
},
"type": "object"
},
- "shopify.SearchSuggestResponse": {
+ "publicnews.inewsAuthorResponseDoc": {
"properties": {
- "collections": {
- "description": "Collections suggested for the query.",
- "items": {
- "$ref": "#/definitions/shopify.CollectionItem"
- },
- "type": "array"
- },
- "limit": {
- "description": "Maximum number of suggestions requested.",
- "example": 10,
- "type": "integer"
- },
- "products": {
- "description": "Products suggested for the query.",
- "items": {
- "$ref": "#/definitions/shopify.ProductItem"
- },
- "type": "array"
- },
- "queries": {
- "description": "Search phrases suggested for the query.",
- "items": {
- "$ref": "#/definitions/shopify.SearchQueryItem"
- },
- "type": "array"
- },
- "query": {
- "description": "Search text that was run.",
- "example": "wool",
- "type": "string"
- },
- "source_url": {
- "description": "URL the data was read from.",
- "example": "https://www.allbirds.com",
- "type": "string"
- },
- "store_url": {
- "description": "Base URL of the Shopify storefront that was queried.",
- "example": "https://www.allbirds.com",
- "type": "string"
- },
- "types": {
- "description": "Suggestion types returned: `product`, `collection` and `query`.",
- "example": [
- "product",
- "collection",
- "query"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/inews.AuthorResponse"
}
},
"type": "object"
},
- "shopify.SiteSearchResponse": {
+ "publicnews.inquirerAuthorResponseDoc": {
"properties": {
- "limit": {
- "example": 20,
- "type": "integer"
- },
- "page": {
- "example": 1,
- "type": "integer"
- },
- "products": {
- "items": {
- "$ref": "#/definitions/shopify.ProductItem"
- },
- "type": "array"
- },
- "query": {
- "example": "jordan",
- "type": "string"
- },
- "source_url": {
- "type": "string"
- },
- "store_url": {
- "example": "https://www.pristinemarketplace.com",
- "type": "string"
- },
- "total_count": {
- "example": 413,
- "type": "integer"
- },
- "total_pages": {
- "example": 26,
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/inquirer.AuthorResponse"
}
},
"type": "object"
},
- "shopify.SitemapImage": {
+ "publicnews.investopediaAuthorResponseDoc": {
"properties": {
- "caption": {
- "description": "Caption of the image listed in the sitemap.",
- "type": "string"
- },
- "title": {
- "description": "Title of the image listed in the sitemap.",
- "example": "Men's Wool Runner",
- "type": "string"
- },
- "url": {
- "description": "URL of the image file.",
- "example": "https://cdn.shopify.com/example.png",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/investopedia.AuthorResponse"
}
},
"type": "object"
},
- "shopify.SitemapIndexResponse": {
+ "publicnews.iolAuthorResponseDoc": {
"properties": {
- "sitemaps": {
- "description": "Child sitemaps listed by the store's main sitemap.",
- "items": {
- "$ref": "#/definitions/shopify.SitemapItem"
- },
- "type": "array"
- },
- "source_url": {
- "description": "URL the data was read from.",
- "example": "https://www.allbirds.com",
- "type": "string"
- },
- "store_url": {
- "description": "Base URL of the Shopify storefront that was queried.",
- "example": "https://www.allbirds.com",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/iol.AuthorResponse"
}
},
"type": "object"
},
- "shopify.SitemapItem": {
+ "publicnews.irishindependentAuthorResponseDoc": {
"properties": {
- "loc": {
- "description": "URL of the child sitemap file.",
- "example": "https://www.allbirds.com/sitemap_products_1.xml",
- "type": "string"
- },
- "type": {
- "description": "Section the sitemap covers: `products`, `collections`, `pages`, `blogs`, `agentic_discovery` or `other`.",
- "example": "products",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/irishindependent.AuthorResponse"
}
},
"type": "object"
},
- "shopify.SitemapURLItem": {
+ "publicnews.irishtimesAuthorResponseDoc": {
"properties": {
- "changefreq": {
- "description": "Update frequency hint from the sitemap entry, for example `weekly`.",
- "example": "weekly",
- "type": "string"
- },
- "handle": {
- "description": "Handle of the product, collection or page the URL points to.",
- "example": "mens-wool-runners",
- "type": "string"
- },
- "images": {
- "description": "Images listed for the URL in the sitemap.",
- "items": {
- "$ref": "#/definitions/shopify.SitemapImage"
- },
- "type": "array"
- },
- "lastmod": {
- "description": "Last modification time listed for the URL in the sitemap.",
- "example": "2026-03-19T11:41:39-07:00",
- "type": "string"
- },
- "loc": {
- "description": "Storefront URL listed in the sitemap.",
- "example": "https://www.allbirds.com/products/mens-wool-runners",
- "type": "string"
- },
- "type": {
- "description": "Section the URL belongs to: `products`, `collections`, `pages`, `blogs`, `agentic_discovery` or `other`.",
- "example": "products",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/irishtimes.AuthorResponse"
}
},
"type": "object"
},
- "shopify.SitemapURLsResponse": {
+ "publicnews.japantimesAuthorResponseDoc": {
"properties": {
- "limit": {
- "description": "Maximum number of URL entries returned.",
- "example": 50,
- "type": "integer"
- },
- "source_url": {
- "description": "URL the data was read from.",
- "example": "https://www.allbirds.com",
- "type": "string"
- },
- "store_url": {
- "description": "Base URL of the Shopify storefront that was queried.",
- "example": "https://www.allbirds.com",
- "type": "string"
- },
- "type": {
- "description": "Sitemap section requested: `all`, `products`, `collections`, `pages`, `blogs`, `agentic_discovery` or `other`.",
- "example": "products",
- "type": "string"
- },
- "urls": {
- "description": "URL entries from the matching sitemaps.",
- "items": {
- "$ref": "#/definitions/shopify.SitemapURLItem"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/japantimes.AuthorResponse"
}
},
"type": "object"
},
- "shopify.StoreResponse": {
+ "publicnews.jerusalemPostAuthorResponseDoc": {
"properties": {
- "city": {
- "description": "City of the store's business address.",
- "example": "San Francisco",
- "type": "string"
- },
- "country": {
- "description": "Country code of the store, for example `US`.",
- "example": "US",
- "type": "string"
- },
- "currency": {
- "description": "Currency code the store prices in, for example `USD`.",
- "example": "USD",
- "type": "string"
- },
- "description": {
- "description": "Store description set by the merchant.",
- "type": "string"
- },
- "domain": {
- "description": "Domain of the storefront URL that was requested.",
- "example": "www.gymshark.com",
- "type": "string"
- },
- "myshopify_domain": {
- "description": "The store's `myshopify.com` domain, for example `gymsharkusa.myshopify.com`.",
- "example": "gymsharkusa.myshopify.com",
- "type": "string"
- },
- "name": {
- "description": "Store name, for example `Allbirds`.",
- "example": "Allbirds",
- "type": "string"
- },
- "province": {
- "description": "State or province of the store's business address.",
- "example": "CA",
- "type": "string"
- },
- "published_collections_count": {
- "description": "Number of published collections in the store.",
- "example": 42,
- "type": "integer"
- },
- "published_products_count": {
- "description": "Number of published products in the store.",
- "example": 638,
- "type": "integer"
- },
- "requested_url": {
- "description": "Storefront URL that was requested.",
- "example": "https://www.gymshark.com",
- "type": "string"
- },
- "source_domain": {
- "description": "Domain the store data was read from. It differs from `domain` when the store's `myshopify.com` domain is used.",
- "example": "gymsharkusa.myshopify.com",
- "type": "string"
- },
- "source_url": {
- "description": "URL the data was read from.",
- "example": "https://gymsharkusa.myshopify.com",
- "type": "string"
- },
- "transport_mode": {
- "description": "Set only for headless storefronts that do not expose Shopify's standard catalogue; the value is `ssr_embedded`. Omitted otherwise.",
- "enum": [
- "ssr_embedded"
- ],
- "example": "ssr_embedded",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/jerusalempost.AuthorResponse"
}
},
"type": "object"
},
- "shopify.VariantItem": {
+ "publicnews.jerusalemPostAuthorsResponseDoc": {
"properties": {
- "available": {
- "description": "Whether this variant is currently available to buy.",
- "type": "boolean"
- },
- "barcode": {
- "description": "Barcode of the variant, such as a UPC or EAN.",
- "type": "string"
- },
- "compare_at_price": {
- "description": "Original price before discount, in the store's currency.",
- "example": 120,
- "type": "number"
- },
- "created_at": {
- "description": "Time the record was created, as Shopify returns it.",
- "type": "string"
- },
- "featured_image": {
- "description": "URL of the image shown for this variant.",
- "type": "string"
- },
- "grams": {
- "description": "Weight of the variant in grams.",
- "example": 400,
- "type": "integer"
- },
- "id": {
- "description": "Shopify variant id.",
- "example": "34761278160941",
- "type": "string"
- },
- "inventory_quantity": {
- "description": "InventoryQuantity is only populated via the embedded-SSR-JSON fallback\ntransport (see ssr_fallback.go); classic-store responses never set it.",
- "example": 24,
- "type": "integer"
- },
- "option1": {
- "description": "Value of the product's first option for this variant, for example a size.",
- "type": "string"
- },
- "option2": {
- "description": "Value of the product's second option for this variant.",
- "type": "string"
- },
- "option3": {
- "description": "Value of the product's third option for this variant.",
- "type": "string"
- },
- "position": {
- "description": "Position of the variant in the product's variant list, starting at 1.",
- "example": 1,
- "type": "integer"
- },
- "price": {
- "description": "Current price of the variant in the store's currency.",
- "example": 98,
- "type": "number"
- },
- "product_id": {
- "description": "Shopify id of the product the variant belongs to.",
- "example": "6616124981328",
- "type": "string"
- },
- "requires_shipping": {
- "description": "Whether the variant is a physical item that needs shipping.",
- "type": "boolean"
- },
- "sku": {
- "description": "Merchant stock keeping unit code of the variant.",
- "example": "A123",
- "type": "string"
- },
- "taxable": {
- "description": "Whether tax is charged on the variant.",
- "type": "boolean"
- },
- "title": {
- "description": "Variant name, for example `Natural Black / 10`.",
- "example": "Natural Black / 10",
- "type": "string"
- },
- "updated_at": {
- "description": "Time the record was last updated, as Shopify returns it.",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/jerusalempost.AuthorsResponse"
}
},
"type": "object"
},
- "shopify.collectionProductsResponseDoc": {
+ "publicnews.khaleejTimesAuthorResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
"data": {
- "$ref": "#/definitions/shopify.CollectionProductsResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "$ref": "#/definitions/khaleejtimes.AuthorResponse"
}
},
"type": "object"
},
- "shopify.collectionsResponseDoc": {
+ "publicnews.kotakuAuthorResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
"data": {
- "$ref": "#/definitions/shopify.CollectionsResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "$ref": "#/definitions/kotaku.AuthorResponse"
}
},
"type": "object"
},
- "shopify.pageResponseDoc": {
+ "publicnews.livemintAuthorResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
"data": {
- "$ref": "#/definitions/shopify.PageResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "$ref": "#/definitions/livemint.AuthorResponse"
}
},
"type": "object"
},
- "shopify.pagesResponseDoc": {
+ "publicnews.livescienceAuthorResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
"data": {
- "$ref": "#/definitions/shopify.PagesResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "$ref": "#/definitions/livescience.AuthorResponse"
}
},
"type": "object"
},
- "shopify.productRecommendationsResponseDoc": {
+ "publicnews.macRumorsAuthorResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
"data": {
- "$ref": "#/definitions/shopify.ProductRecommendationsResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "$ref": "#/definitions/macrumors.AuthorResponse"
}
},
"type": "object"
},
- "shopify.productResponseDoc": {
+ "publicnews.makeuseofAuthorResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
"data": {
- "$ref": "#/definitions/shopify.ProductResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "$ref": "#/definitions/makeuseof.AuthorResponse"
}
},
"type": "object"
},
- "shopify.productsResponseDoc": {
+ "publicnews.marketWatchAuthorResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
"data": {
- "$ref": "#/definitions/shopify.ProductsResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "$ref": "#/definitions/marketwatch.AuthorResponse"
}
},
"type": "object"
},
- "shopify.searchSuggestResponseDoc": {
+ "publicnews.mashableAuthorResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
"data": {
- "$ref": "#/definitions/shopify.SearchSuggestResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "$ref": "#/definitions/mashable.AuthorResponse"
}
},
"type": "object"
},
- "shopify.sitemapIndexResponseDoc": {
+ "publicnews.mediaiteAuthorResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
"data": {
- "$ref": "#/definitions/shopify.SitemapIndexResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "$ref": "#/definitions/mediaite.AuthorResponse"
}
},
"type": "object"
},
- "shopify.sitemapURLsResponseDoc": {
+ "publicnews.menAuthorResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
"data": {
- "$ref": "#/definitions/shopify.SitemapURLsResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "$ref": "#/definitions/men.AuthorResponse"
}
},
"type": "object"
},
- "shopify.storeResponseDoc": {
+ "publicnews.metroAuthorResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
"data": {
- "$ref": "#/definitions/shopify.StoreResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "$ref": "#/definitions/metro.AuthorResponse"
}
},
"type": "object"
},
- "shopifybrands.collectionProductsResponseDoc": {
+ "publicnews.mirrorAuthorResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
"data": {
- "$ref": "#/definitions/shopify.CollectionProductsResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "$ref": "#/definitions/mirror.AuthorResponse"
}
},
"type": "object"
},
- "shopifybrands.collectionsResponseDoc": {
+ "publicnews.moneycontrolAuthorResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
"data": {
- "$ref": "#/definitions/shopify.CollectionsResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "$ref": "#/definitions/moneycontrol.AuthorResponse"
}
},
"type": "object"
},
- "shopifybrands.pageResponseDoc": {
+ "publicnews.motleyfoolAuthorResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
"data": {
- "$ref": "#/definitions/shopify.PageResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "$ref": "#/definitions/motleyfool.AuthorResponse"
}
},
"type": "object"
},
- "shopifybrands.pagesResponseDoc": {
+ "publicnews.nationAfricaAuthorResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
"data": {
- "$ref": "#/definitions/shopify.PagesResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "$ref": "#/definitions/nationafrica.AuthorResponse"
}
},
"type": "object"
},
- "shopifybrands.productRecommendationsResponseDoc": {
+ "publicnews.nationalAuthorResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
"data": {
- "$ref": "#/definitions/shopify.ProductRecommendationsResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "$ref": "#/definitions/national.AuthorResponse"
}
},
"type": "object"
},
- "shopifybrands.productResponseDoc": {
+ "publicnews.nationalPostAuthorResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
"data": {
- "$ref": "#/definitions/shopify.ProductResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "$ref": "#/definitions/nationalpost.AuthorResponse"
}
},
"type": "object"
},
- "shopifybrands.productsResponseDoc": {
+ "publicnews.ndtvArticleResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
"data": {
- "$ref": "#/definitions/shopify.ProductsResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "$ref": "#/definitions/ndtv.ArticleResponse"
}
},
"type": "object"
},
- "shopifybrands.reviewsResponseDoc": {
+ "publicnews.ndtvAuthorResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
"data": {
- "$ref": "#/definitions/shopify.ReviewsResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "$ref": "#/definitions/ndtv.AuthorResponse"
}
},
"type": "object"
},
- "shopifybrands.searchResponseDoc": {
+ "publicnews.ndtvLatestVideosResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
"data": {
- "$ref": "#/definitions/shopify.SearchResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "$ref": "#/definitions/ndtv.LatestVideosResponse"
}
},
"type": "object"
},
- "shopifybrands.searchSuggestResponseDoc": {
+ "publicnews.ndtvLiveBlogResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
"data": {
- "$ref": "#/definitions/shopify.SearchSuggestResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "$ref": "#/definitions/ndtv.LiveBlogResponse"
}
},
"type": "object"
},
- "shopifybrands.siteSearchResponseDoc": {
+ "publicnews.ndtvLiveBlogsResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
"data": {
- "$ref": "#/definitions/shopify.SiteSearchResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "$ref": "#/definitions/ndtv.LiveBlogsResponse"
}
},
"type": "object"
},
- "shopifybrands.sitemapIndexResponseDoc": {
+ "publicnews.ndtvSearchResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
"data": {
- "$ref": "#/definitions/shopify.SitemapIndexResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "$ref": "#/definitions/ndtv.SearchResponse"
}
},
"type": "object"
},
- "shopifybrands.sitemapURLsResponseDoc": {
+ "publicnews.ndtvVideoCategoriesResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
"data": {
- "$ref": "#/definitions/shopify.SitemapURLsResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "$ref": "#/definitions/ndtv.VideoCategoriesResponse"
}
},
"type": "object"
},
- "shopifybrands.storeResponseDoc": {
+ "publicnews.ndtvVideoResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
"data": {
- "$ref": "#/definitions/shopify.StoreResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "$ref": "#/definitions/ndtv.VideoResponse"
}
},
"type": "object"
},
- "similarweb.SearchResp": {
+ "publicnews.ndtvVideosResponseDoc": {
"properties": {
- "apps": {
- "description": "Apps matching the search term, grouped by store: Google Play and the App Store.",
- "properties": {
- "appStore": {
- "items": {
- "properties": {
- "appKey": {
- "example": "1_1484366079",
- "type": "string"
- },
- "id": {
- "example": "1484366079",
- "type": "string"
- },
- "image": {
- "example": "https://site-images.similarcdn.com/url?url=https%3A%2F%2Fis1-ssl.mzstatic.com%2Fimage%2Fthumb%2FPurple211%2Fv4%2F1c%2F1c%2Fe3%2F1c1ce399-1181-5be1-56d8-ee74e9f0cef4%2FAppIcon-0-0-1x_U007emarketing-0-0-0-7-0-0-85-220.png%2F175x175bb.png",
- "type": "string"
- },
- "name": {
- "example": "TwitterIt for Twitter X",
- "type": "string"
- },
- "publisher": {
- "example": "BEST SOCIAL APPS DEVELOPMENT LTD",
- "type": "string"
- },
- "ratings": {
- "example": 38197,
- "type": "integer"
- },
- "store": {
- "example": "apple",
- "type": "string"
- }
- },
- "type": "object"
- },
- "type": "array"
- },
- "googlePlay": {
- "items": {
- "properties": {
- "appKey": {
- "example": "0_twittervideodownloader.twitter.videoindir.savegif.twdown",
- "type": "string"
- },
- "id": {
- "example": "twittervideodownloader.twitter.videoindir.savegif.twdown",
- "type": "string"
- },
- "image": {
- "example": "https://site-images.similarcdn.com/url?url=https%3A%2F%2Fplay-lh.googleusercontent.com%2FFi9-CFodjxpqvc3dC0XHDXHkFD3wkw9VccX_iL68U_3kmu2iIuHvIp5AZUoXGZ3mlQ%3Ds180",
- "type": "string"
- },
- "name": {
- "example": "X Saver:Download Twitter Video",
- "type": "string"
- },
- "publisher": {
- "example": "Shotcut Video Workshop",
- "type": "string"
- },
- "ratings": {
- "example": 159344,
- "type": "integer"
- },
- "store": {
- "example": "google",
- "type": "string"
- }
- },
- "type": "object"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "companies": {
- "description": "Companies matching the search term.",
- "items": {
- "properties": {
- "domain": {
- "example": "twitter.com",
- "type": "string"
- },
- "logoUrl": {
- "example": "https://sw-df-production-internal-data.s3.amazonaws.com/si/company_data/merged_v2/firmographics_logos/30e41d95dd013b4ec1b8d9e614ec546807cb2152b1f54fa3031d7e6488f93ce4.jpg",
- "type": "string"
- },
- "name": {
- "example": "Twitter",
- "type": "string"
- }
- },
- "type": "object"
- },
- "type": "array"
- },
- "websites": {
- "description": "Websites matching the search term.",
- "items": {
- "properties": {
- "image": {
- "example": "https://site-images.similarcdn.com/image?url=twitter.com&t=2&s=1&h=05438debe431144d9c727828570d1754a25bd9286bc14f3aa65a4f05b9057e25",
- "type": "string"
- },
- "isVirtual": {
- "example": false,
- "type": "boolean"
- },
- "name": {
- "example": "twitter.com",
- "type": "string"
- }
- },
- "type": "object"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/ndtv.VideosResponse"
}
},
"type": "object"
},
- "similarweb.SimilarWebResp": {
+ "publicnews.news18AuthorResponseDoc": {
"properties": {
- "AiTrafficDetails": {
- "description": "AiTrafficDetails carries SimilarWeb's AI-chatbot traffic insights (the\nextension's \"AI Traffic\" feature set): which AI platforms send traffic\nto this domain, how that mix changed over recent months, and the top\nprompts users asked those chatbots that referred visits here. Left at\nits zero value when DataSource is \"public_page\" because that source\ndoesn't expose it.",
- "properties": {
- "ReferralTraffic": {
- "type": "number"
- },
- "TopPrompts": {
- "properties": {
- "ErrorMessage": {
- "type": "string"
- },
- "Prompts": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "Status": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "TotalVisits": {
- "type": "number"
- },
- "Traffic": {
- "properties": {
- "Distribution": {
- "properties": {
- "Boundary": {
- "type": "string"
- },
- "Chart": {
- "items": {
- "properties": {
- "History": {
- "items": {
- "properties": {
- "Date": {
- "type": "string"
- },
- "Value": {
- "type": "number"
- }
- },
- "type": "object"
- },
- "type": "array"
- },
- "Icon": {
- "type": "string"
- },
- "Name": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "type": "array"
- },
- "Chatbots": {
- "items": {
- "properties": {
- "Icon": {
- "type": "string"
- },
- "Name": {
- "type": "string"
- },
- "Value": {
- "type": "number"
- }
- },
- "type": "object"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "Split": {
- "items": {
- "properties": {
- "Icon": {
- "type": "string"
- },
- "Name": {
- "type": "string"
- },
- "Rank": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "type": "array"
- }
- },
- "type": "object"
- }
- },
- "type": "object"
- },
- "Category": {
- "description": "Category SimilarWeb places the site in.",
- "type": "string"
- },
- "CategoryRank": {
- "description": "Rank of the site within its category, with the category name.",
- "properties": {
- "Category": {
- "type": "string"
- },
- "Rank": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "Competitors": {
- "description": "Sites SimilarWeb lists as most similar to the domain.",
- "properties": {
- "TopSimilarityCompetitors": {
- "items": {},
- "type": "array"
- }
- },
- "type": "object"
- },
- "Countries": {
- "description": "Countries SimilarWeb returns with the site's data, each with a code, URL code and name.",
- "items": {
- "properties": {
- "Code": {
- "type": "string"
- },
- "Name": {
- "type": "string"
- },
- "UrlCode": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "type": "array"
- },
- "CountryRank": {
- "description": "Rank of the site within one country, with that country's code.",
- "properties": {
- "Country": {
- "type": "integer"
- },
- "CountryCode": {
- "type": "string"
- },
- "Rank": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "DataSource": {
- "description": "DataSource reports which upstream this response was populated from.\n\"extension_api\" is the full-coverage source (SimilarWeb's undocumented\nbrowser-extension API); \"public_page\" is a narrower, credential-free\nfallback (see website.go) used only when the extension API is\nunreachable -- some fields above are left at their zero value when\nDataSource is \"public_page\" because this source doesn't expose them.\nSee docs/similarweb-web.md for the full field-availability breakdown.",
- "example": "extension_api",
- "type": "string"
- },
- "Description": {
- "description": "Site description as SimilarWeb shows it.",
- "type": "string"
- },
- "Engagments": {
- "description": "Engagement figures for the latest month: bounce rate, pages per visit, visits, time on site, month and year.",
- "properties": {
- "BounceRate": {
- "type": "string"
- },
- "Month": {
- "type": "string"
- },
- "PagePerVisit": {
- "type": "string"
- },
- "TimeOnSite": {
- "type": "string"
- },
- "Visits": {
- "type": "string"
- },
- "Year": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "EstimatedMonthlyVisits": {
- "description": "Estimated visits per month, keyed by the first day of the month (YYYY-MM-DD).",
- "properties": {
- "2024-09-01": {
- "type": "integer"
- },
- "2024-10-01": {
- "type": "integer"
- },
- "2024-11-01": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "GlobalCategoryRank": {
- "description": "Rank of the site within its category across all countries, when SimilarWeb provides it."
- },
- "GlobalRank": {
- "description": "Global traffic rank of the site, in `Rank`.",
- "properties": {
- "Rank": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "IsDataFromGa": {
- "description": "Whether SimilarWeb reports the site's data as coming from Google Analytics.",
- "type": "boolean"
- },
- "IsSmall": {
- "description": "Whether SimilarWeb treats the site as a small site.",
- "type": "boolean"
- },
- "LargeScreenshot": {
- "description": "URL of a large screenshot of the site.",
- "type": "string"
- },
- "Notification": {
- "description": "Notice SimilarWeb attaches to the site's data, in `Content`.",
- "properties": {
- "Content": {}
- },
- "type": "object"
- },
- "Policy": {
- "description": "Numeric policy value SimilarWeb returns with the site's data.",
- "type": "integer"
- },
- "SiteName": {
- "description": "Domain name of the site.",
- "type": "string"
- },
- "SnapshotDate": {
- "description": "Date and time of the SimilarWeb data snapshot.",
- "type": "string"
- },
- "Title": {
- "description": "Site title as SimilarWeb shows it.",
- "type": "string"
- },
- "TopCountryShares": {
- "description": "Countries that send the most visits, each with its country code and share of traffic.",
- "items": {
- "properties": {
- "Country": {
- "type": "integer"
- },
- "CountryCode": {
- "type": "string"
- },
- "Value": {
- "type": "number"
- }
- },
- "type": "object"
- },
- "type": "array"
- },
- "TopKeywords": {
- "description": "Top search keywords bringing visits to the site, each with estimated value, volume and cost per click.",
- "items": {
- "properties": {
- "Cpc": {
- "type": "number"
- },
- "EstimatedValue": {
- "type": "number"
- },
- "Name": {
- "type": "string"
- },
- "Volume": {
- "type": "number"
- }
- },
- "type": "object"
- },
- "type": "array"
- },
- "TrafficSources": {
- "description": "Share of traffic from each source: social, paid referrals, mail, referrals, search and direct.",
- "properties": {
- "Direct": {
- "type": "number"
- },
- "Mail": {
- "type": "number"
- },
- "Paid Referrals": {
- "type": "number"
- },
- "Referrals": {
- "type": "number"
- },
- "Search": {
- "type": "number"
- },
- "Social": {
- "type": "number"
- }
- },
- "type": "object"
- },
- "Version": {
- "description": "Version number SimilarWeb returns with the site's data.",
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/news18.AuthorResponse"
}
},
"type": "object"
},
- "similarweb.searchResponseDoc": {
+ "publicnews.newsResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
"data": {
- "$ref": "#/definitions/similarweb.SearchResp"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "$ref": "#/definitions/newsplatform.NewsResponse"
}
},
"type": "object"
},
- "similarweb.webResponseDoc": {
+ "publicnews.newscomauAuthorResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
"data": {
- "$ref": "#/definitions/similarweb.SimilarWebResp"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "$ref": "#/definitions/newscomau.AuthorResponse"
}
},
"type": "object"
},
- "skynews.AuthorInfoItem": {
+ "publicnews.newsmaxAuthorResponseDoc": {
"properties": {
- "label": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "value": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/newsmax.AuthorResponse"
}
},
"type": "object"
},
- "skynews.AuthorResponse": {
+ "publicnews.newsweekAuthorResponseDoc": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/skynews.HeadlineItem"
- },
- "type": "array"
- },
- "biography": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "info": {
- "items": {
- "$ref": "#/definitions/skynews.AuthorInfoItem"
- },
- "type": "array"
- },
- "job_title": {
- "type": "string"
- },
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/newsweek.AuthorResponse"
}
},
"type": "object"
},
- "skynews.HeadlineItem": {
+ "publicnews.newyorkerArticleResponseDoc": {
"properties": {
- "author": {
- "type": "string"
- },
- "image_url": {
- "type": "string"
- },
- "published_at": {
- "type": "string"
- },
- "summary": {
- "type": "string"
- },
- "title": {
- "type": "string"
- },
- "type": {
- "type": "string"
- },
- "url": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/newyorker.ArticleResponse"
}
},
"type": "object"
},
- "skynews.VideoResponse": {
+ "publicnews.newyorkerAuthorResponseDoc": {
"properties": {
- "description": {
- "type": "string"
- },
- "duration_seconds": {
- "type": "integer"
- },
- "embed_url": {
- "type": "string"
- },
- "published_at": {
- "type": "string"
- },
- "thumbnail_urls": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "title": {
- "type": "string"
- },
- "url": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/newyorker.AuthorResponse"
}
},
"type": "object"
},
- "skynews.VideosResponse": {
+ "publicnews.ninetofivegoogleAuthorResponseDoc": {
"properties": {
- "items": {
- "items": {
- "$ref": "#/definitions/skynews.HeadlineItem"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/ninetofivegoogle.AuthorResponse"
}
},
"type": "object"
},
- "skysports.AuthorResponse": {
+ "publicnews.ninetofivemacAuthorResponseDoc": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/newsplatform.HeadlineItem"
- },
- "type": "array"
- },
- "biography": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "job_title": {
- "type": "string"
- },
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/ninetofivemac.AuthorResponse"
}
},
"type": "object"
},
- "slate.ArticleResponse": {
+ "publicnews.nyDailyNewsAuthorResponseDoc": {
"properties": {
- "authors": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "description": {
- "type": "string"
- },
- "headings": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "image_url": {
- "type": "string"
- },
- "is_paywalled": {
- "type": "boolean"
- },
- "paragraphs": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "published_at": {
- "type": "string"
- },
- "section": {
- "type": "string"
- },
- "tags": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "title": {
- "type": "string"
- },
- "updated_at": {
- "type": "string"
- },
- "url": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/nydailynews.AuthorResponse"
}
},
"type": "object"
},
- "slate.CategoriesResponse": {
+ "publicnews.nymagAuthorResponseDoc": {
"properties": {
- "sections": {
- "items": {
- "$ref": "#/definitions/slate.Section"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/nymag.AuthorResponse"
}
},
"type": "object"
},
- "slate.HeadlineItem": {
+ "publicnews.nypostAuthorResponseDoc": {
"properties": {
- "author": {
- "type": "string"
- },
- "categories": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "id": {
- "type": "string"
- },
- "image_url": {
- "type": "string"
- },
- "published_at": {
- "type": "string"
- },
- "summary": {
- "type": "string"
- },
- "title": {
- "type": "string"
- },
- "url": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/nypost.AuthorResponse"
}
},
"type": "object"
},
- "slate.HeadlinesResponse": {
+ "publicnews.nzheraldAuthorResponseDoc": {
"properties": {
- "feed_url": {
- "type": "string"
- },
- "items": {
- "items": {
- "$ref": "#/definitions/slate.HeadlineItem"
- },
- "type": "array"
- },
- "section": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/nzherald.AuthorResponse"
}
},
"type": "object"
},
- "slate.Section": {
+ "publicnews.pagesixAuthorResponseDoc": {
"properties": {
- "feed_url": {
- "type": "string"
- },
- "name": {
- "type": "string"
- },
- "path": {
- "type": "string"
- },
- "slug": {
- "type": "string"
- },
- "url": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/pagesix.AuthorResponse"
}
},
"type": "object"
},
- "slate.articleResponseDoc": {
+ "publicnews.pcgamerAuthorResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
"data": {
- "$ref": "#/definitions/slate.ArticleResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "$ref": "#/definitions/pcgamer.AuthorResponse"
}
},
"type": "object"
},
- "slate.categoriesResponseDoc": {
+ "publicnews.pcmagAuthorResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
"data": {
- "$ref": "#/definitions/slate.CategoriesResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "$ref": "#/definitions/pcmag.AuthorResponse"
}
},
"type": "object"
},
- "slate.headlinesResponseDoc": {
+ "publicnews.peopleAuthorResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
"data": {
- "$ref": "#/definitions/slate.HeadlinesResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "$ref": "#/definitions/people.AuthorResponse"
}
},
"type": "object"
},
- "slickdeals.CategoriesResponse": {
+ "publicnews.phillyinquirerAuthorResponseDoc": {
"properties": {
- "categories": {
- "items": {
- "$ref": "#/definitions/slickdeals.CategoryRef"
- },
- "type": "array"
- },
- "count": {
- "example": 421,
- "type": "integer"
- },
- "fetched_at": {
- "type": "string"
- },
- "source_url": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/phillyinquirer.AuthorResponse"
}
},
"type": "object"
},
- "slickdeals.CategoryDeal": {
+ "publicnews.philstarAuthorResponseDoc": {
"properties": {
- "comment_count": {
- "example": 1,
- "type": "integer"
- },
- "found_by": {
- "example": "phoinix",
- "type": "string"
- },
- "is_expired": {
- "example": false,
- "type": "boolean"
- },
- "is_frontpage": {
- "example": false,
- "type": "boolean"
- },
- "is_new": {
- "example": false,
- "type": "boolean"
- },
- "is_popular": {
- "example": true,
- "type": "boolean"
- },
- "list_price": {
- "example": "$150",
- "type": "string"
- },
- "posted_at": {
- "example": "2026-08-28T14:21:36Z",
- "type": "string"
- },
- "price": {
- "example": "$24.99",
- "type": "string"
- },
- "store": {
- "example": "Morningsave.com",
- "type": "string"
- },
- "thread_id": {
- "example": 19842723,
- "type": "integer"
- },
- "title": {
- "example": "Hex Evolve Backpack Aspect Duffel Bag $24.99 Free Shipping",
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "vote_score": {
- "example": 9,
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/philstar.AuthorResponse"
}
},
"type": "object"
},
- "slickdeals.CategoryRef": {
+ "publicnews.phonearenaAuthorResponseDoc": {
"properties": {
- "name": {
- "example": "Laptop Bags",
- "type": "string"
- },
- "slug": {
- "example": "laptop-bag",
- "type": "string"
- },
- "url": {
- "example": "https://slickdeals.net/deals/laptop-bag/",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/phonearena.AuthorResponse"
}
},
"type": "object"
},
- "slickdeals.CategoryResponse": {
+ "publicnews.polygonAuthorResponseDoc": {
"properties": {
- "count": {
- "example": 37,
- "type": "integer"
- },
- "deals": {
- "items": {
- "$ref": "#/definitions/slickdeals.CategoryDeal"
- },
- "type": "array"
- },
- "fetched_at": {
- "type": "string"
- },
- "slug": {
- "example": "laptop-bag",
- "type": "string"
- },
- "source_url": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/polygon.AuthorResponse"
}
},
"type": "object"
},
- "slickdeals.Comment": {
+ "publicnews.propublicaAuthorResponseDoc": {
"properties": {
- "author": {
- "example": "OutFr0mUndr",
- "type": "string"
- },
- "author_post_count": {
- "example": 49,
- "type": "integer"
- },
- "author_title": {
- "example": "L2: Beginner",
- "type": "string"
- },
- "content": {
- "example": "Shows as $358.53 for me...",
- "type": "string"
- },
- "content_html": {
- "type": "string"
- },
- "funny_count": {
- "type": "integer"
- },
- "helpful_count": {
- "type": "integer"
- },
- "like_count": {
- "example": 1,
- "type": "integer"
- },
- "not_helpful_count": {
- "type": "integer"
- },
- "permalink": {
- "type": "string"
- },
- "post_id": {
- "example": 186692484,
- "type": "integer"
- },
- "posted_at": {
- "example": "2026-09-14T19:17:54-07:00",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/propublica.AuthorResponse"
}
},
"type": "object"
},
- "slickdeals.CommentsResponse": {
+ "publicnews.punchAuthorResponseDoc": {
"properties": {
- "comments": {
- "items": {
- "$ref": "#/definitions/slickdeals.Comment"
- },
- "type": "array"
- },
- "count": {
- "example": 4,
- "type": "integer"
- },
- "fetched_at": {
- "type": "string"
- },
- "has_more": {
- "type": "boolean"
- },
- "source_url": {
- "type": "string"
- },
- "thread_id": {
- "example": 20015817,
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/punch.AuthorResponse"
}
},
"type": "object"
},
- "slickdeals.Deal": {
+ "publicnews.rapplerAuthorResponseDoc": {
"properties": {
- "brand": {
- "example": "Microsoft",
- "type": "string"
- },
- "category": {
- "description": "Category/SubCategory/CategoryPaths are Slickdeals' modern product\ntaxonomy for this deal (distinct from Forum/ForumID above -- these\nare two different id spaces Slickdeals maintains in parallel).",
- "example": "Computers",
- "type": "string"
- },
- "category_paths": {
- "example": [
- "Computers > Laptops",
- "Computers"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "comment_count": {
- "example": 4,
- "type": "integer"
- },
- "cta_text": {
- "example": "Get Deal at eBay",
- "type": "string"
- },
- "deal_url": {
- "description": "DealURL is Slickdeals' own outbound/affiliate redirect to the\nmerchant; following it lands on the store's own page for this deal.",
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "description_html": {
- "type": "string"
- },
- "fetched_at": {
- "type": "string"
- },
- "final_price": {
- "example": "$358.53",
- "type": "string"
- },
- "forum": {
- "description": "Forum is Slickdeals' own legacy sub-forum name the thread was posted\nin (e.g. \"Hot Deals\") -- a different, coarser taxonomy than\nCategory/SubCategory. ForumID is its numeric legacy id.",
- "example": "Hot Deals",
- "type": "string"
- },
- "forum_id": {
- "example": 9,
- "type": "integer"
- },
- "found_by": {
- "description": "FoundBy is the public Slickdeals username who posted the deal --\nthe same public-forum-post attribution class this repo already\nexposes for Reddit.",
- "example": "BML6182",
- "type": "string"
- },
- "found_by_profile": {
- "allOf": [
- {
- "$ref": "#/definitions/slickdeals.UserProfile"
- }
- ],
- "description": "FoundByProfile is a public summary of the FoundBy user's Slickdeals\ncommunity standing -- read from the same page's own \"About the\nAuthor\" sidebar, at no additional upstream cost."
- },
- "image_urls": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "is_expired": {
- "example": false,
- "type": "boolean"
- },
- "list_price": {
- "example": "$1,200.00",
- "type": "string"
- },
- "posted_at": {
- "example": "2026-09-14T19:13:22-07:00",
- "type": "string"
- },
- "related_deals": {
- "description": "RelatedDeals is Slickdeals' own \"Popular Deals\"/\"Trending Deals\"\nsidebar shown alongside this thread -- read from the same page\nfetch as the rest of this record, at no additional upstream cost.",
- "items": {
- "$ref": "#/definitions/slickdeals.RelatedDeal"
- },
- "type": "array"
- },
- "source_url": {
- "type": "string"
- },
- "store": {
- "example": "eBay",
- "type": "string"
- },
- "sub_category": {
- "example": "Laptops",
- "type": "string"
- },
- "thread_id": {
- "example": 20015817,
- "type": "integer"
- },
- "title": {
- "example": "Microsoft Surface Laptop 5 13.5\" 2.5GHz/16GB/256GB - Refurb w/Warranty $358.53",
- "type": "string"
- },
- "url": {
- "example": "https://slickdeals.net/f/20015817-microsoft-surface-laptop-5-13-5-2-5ghz-16gb-256gb-refurb-w-warranty-358-53",
- "type": "string"
- },
- "vote_score": {
- "example": -1,
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/rappler.AuthorResponse"
}
},
"type": "object"
},
- "slickdeals.DealTypeRef": {
+ "publicnews.rawstoryAuthorResponseDoc": {
"properties": {
- "id": {
- "example": 1774,
- "type": "integer"
- },
- "name": {
- "example": "Free / Freebie",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/rawstory.AuthorResponse"
}
},
"type": "object"
},
- "slickdeals.DealTypesResponse": {
+ "publicnews.reachAuthorResponseDoc": {
"properties": {
- "count": {
- "example": 10,
- "type": "integer"
- },
- "deal_types": {
- "items": {
- "$ref": "#/definitions/slickdeals.DealTypeRef"
- },
- "type": "array"
- },
- "fetched_at": {
- "type": "string"
- },
- "source_url": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/reachplc.AuthorResponse"
}
},
"type": "object"
},
- "slickdeals.ForumRef": {
+ "publicnews.rnzAuthorResponseDoc": {
"properties": {
- "id": {
- "example": 9,
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/rnz.AuthorResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.rollingStoneAuthorResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/rollingstone.AuthorResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.rteAuthorResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/rte.AuthorResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.salonAuthorResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/salon.AuthorResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.sbsnewsAuthorResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/sbsnews.AuthorResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.scienceAlertAuthorResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/sciencealert.AuthorResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.screenrantAuthorResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/screenrant.AuthorResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.seattleTimesAuthorResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/seattletimes.AuthorResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.sectionsResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/newsplatform.SectionsResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.sevennewsauAuthorResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/sevennewsau.AuthorResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.sfgateAuthorResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/sfgate.AuthorResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.skyNewsAuthorResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/skynews.AuthorResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.skyNewsVideoResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/skynews.VideoResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.skyNewsVideosResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/skynews.VideosResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.skySportsAuthorResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/skysports.AuthorResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.smhArticleResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/smh.ArticleResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.smhAuthorResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/smh.AuthorResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.spaceAuthorResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/space.AuthorResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.sportingNewsAuthorResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/sportingnews.AuthorResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.sportskeedaAuthorResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/sportskeeda.AuthorResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.sportskeedaCollegeBasketballScheduleOptionsResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/sportskeeda.CollegeBasketballScheduleOptionsResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.sportskeedaCollegeBasketballScheduleResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/sportskeeda.CollegeBasketballScheduleResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.sportskeedaCricketCommentaryResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/sportskeeda.CricketCommentaryResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.sportskeedaCricketMatchResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/sportskeeda.CricketMatchResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.sportskeedaDepthChartResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/sportskeeda.DepthChartResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.sportskeedaDraftPicksOptionsResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/sportskeeda.DraftPicksOptionsResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.sportskeedaDraftPicksResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/sportskeeda.DraftPicksResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.sportskeedaEventCalendarOptionsResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/sportskeeda.EventCalendarOptionsResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.sportskeedaEventCalendarResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/sportskeeda.EventCalendarResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.sportskeedaFeedResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/sportskeeda.FeedResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.sportskeedaFootballDataResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/sportskeeda.FootballDataResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.sportskeedaFootballOptionsResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/sportskeeda.FootballOptionsResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.sportskeedaGuessingGameEntitiesResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/sportskeeda.GuessingGameEntitiesResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.sportskeedaGuessingGameResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/sportskeeda.GuessingGameDataResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.sportskeedaGuessingGamesResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/sportskeeda.GuessingGamesResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.sportskeedaNBAQueriesResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/sportskeeda.NBAQueriesResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.sportskeedaPageOptionsResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/sportskeeda.PageOptionsResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.sportskeedaPlayerStatsResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/sportskeeda.PlayerStatsResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.sportskeedaProfileResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/sportskeeda.ProfileResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.sportskeedaQuizCategoriesResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/sportskeeda.QuizCategoriesResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.sportskeedaQuizResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/sportskeeda.QuizResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.sportskeedaQuizzesResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/sportskeeda.QuizzesResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.sportskeedaSalaryCapResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/sportskeeda.SalaryCapResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.sportskeedaSectionsResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/sportskeeda.SectionsResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.sportskeedaSitemapItemsResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/sportskeeda.SitemapItemsResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.sportskeedaSitemapsResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/sportskeeda.SitemapsResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.sportskeedaStandingsOptionsResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/sportskeeda.StandingsOptionsResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.sportskeedaTablesResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/sportskeeda.TablesResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.sportskeedaTaxonomySearchResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/sportskeeda.TaxonomySearchResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.sportskeedaTopicResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/sportskeeda.TopicResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.sportskeedaTradeValuesResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/sportskeeda.TradeValuesResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.sportskeedaTransactionsOptionsResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/sportskeeda.TransactionsOptionsResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.sportskeedaTransactionsResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/sportskeeda.TransactionsResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.sportskeedaVideoResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/sportskeeda.VideoResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.sportskeedaVideosResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/sportskeeda.VideosResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.sportskeedaWikiActivityResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/sportskeeda.WikiActivityResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.sportskeedaWikiArticleResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/sportskeeda.WikiArticleResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.sportskeedaWikiCategoriesResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/sportskeeda.WikiCategoriesResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.sportskeedaWikiContributorsResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/sportskeeda.WikiContributorsResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.sportskeedaWikiIssuesResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/sportskeeda.WikiIssuesResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.sportskeedaWikiOptionsResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/sportskeeda.WikiOptionsResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.sportskeedaWikiPagesResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/sportskeeda.WikiPagesResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.sportskeedaWikiSummaryResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/sportskeeda.WikiSummaryResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.standardAuthorResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/standard.AuthorResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.straitstimesAuthorResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/straitstimes.AuthorResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.stuffAuthorResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/stuff.AuthorResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.sunAuthorResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/sun.AuthorResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.techCrunchAuthorResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/techcrunch.AuthorResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.techradarAuthorResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/techradar.AuthorResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.telegraphAuthorResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/telegraph.AuthorResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.theBlazeAuthorResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/theblaze.AuthorResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.theHillAuthorResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/thehill.AuthorResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.theHinduAuthorResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/thehindu.AuthorResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.theJournalAuthorResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/thejournal.AuthorResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.theageArticleResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/theage.ArticleResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.theageAuthorResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/theage.AuthorResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.thenextwebAuthorResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/thenextweb.AuthorResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.thestarmyAuthorResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/thestarmy.AuthorResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.thevergeAuthorResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/theverge.AuthorResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.thisIsMoneyAuthorResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/thisismoney.AuthorResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.timeAuthorResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/time.AuthorResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.timesOfIndiaAuthorResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/timesofindia.AuthorResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.timesOfIsraelAuthorResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/timesofisrael.AuthorResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.tmzAuthorResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/tmz.AuthorResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.tomsguideAuthorResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/tomsguide.AuthorResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.tomshardwareAuthorResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/tomshardware.AuthorResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.torontoStarAuthorResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/torontostar.AuthorResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.townhallAuthorResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/townhall.AuthorResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.usmagazineAuthorResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/usmagazine.AuthorResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.vanguardngAuthorResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/vanguardng.AuthorResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.vanityFairAuthorResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/vanityfair.AuthorResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.varietyAuthorResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/variety.AuthorResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.viceAuthorResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/vice.AuthorResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.voxAuthorResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/vox.AuthorResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.wccftechAuthorResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/wccftech.AuthorResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.xdaAuthorResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/xda.AuthorResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.yardbarkerAuthorResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/yardbarker.AuthorResponse"
+ }
+ },
+ "type": "object"
+ },
+ "publicnews.zdnetAuthorResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/zdnet.AuthorResponse"
+ }
+ },
+ "type": "object"
+ },
+ "punch.AuthorResponse": {
+ "properties": {
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/newsplatform.HeadlineItem"
+ },
+ "type": "array"
},
"name": {
- "example": "Hot Deals",
"type": "string"
},
+ "total_pages": {
+ "type": "integer"
+ },
"url": {
- "example": "https://slickdeals.net/forums/forumdisplay.php?f=9",
"type": "string"
}
},
"type": "object"
},
- "slickdeals.ForumsResponse": {
+ "quince.CategoriesResponse": {
"properties": {
- "count": {
- "example": 26,
- "type": "integer"
+ "business_departments": {
+ "items": {
+ "$ref": "#/definitions/quince.FacetCount"
+ },
+ "type": "array"
+ },
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/quince.FacetCount"
+ },
+ "type": "array"
+ },
+ "colors": {
+ "items": {
+ "$ref": "#/definitions/quince.FacetCount"
+ },
+ "type": "array"
+ },
+ "departments": {
+ "items": {
+ "$ref": "#/definitions/quince.FacetCount"
+ },
+ "type": "array"
},
"fetched_at": {
"type": "string"
},
- "forums": {
+ "materials": {
"items": {
- "$ref": "#/definitions/slickdeals.ForumRef"
+ "$ref": "#/definitions/quince.FacetCount"
},
"type": "array"
},
- "source_url": {
+ "sizes": {
+ "items": {
+ "$ref": "#/definitions/quince.FacetCount"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "quince.FacetCount": {
+ "properties": {
+ "count": {
+ "type": "integer"
+ },
+ "value": {
"type": "string"
}
},
"type": "object"
},
- "slickdeals.FrontpageResponse": {
+ "quince.NavCategory": {
"properties": {
- "deals": {
+ "groups": {
"items": {
- "$ref": "#/definitions/slickdeals.SearchAdvancedResult"
+ "$ref": "#/definitions/quince.NavGroup"
},
"type": "array"
},
- "fetched_at": {
+ "slug": {
"type": "string"
},
- "has_next_page": {
- "description": "HasNextPage reflects whether the page itself exposed a further page\nlink, not a total page count -- Slickdeals' own homepage pagination\nis next/prev-only, with no total page count in its state payload.",
- "example": true,
- "type": "boolean"
- },
- "page": {
- "example": 1,
- "type": "integer"
- },
- "source_url": {
+ "title": {
"type": "string"
}
},
"type": "object"
},
- "slickdeals.PrimaryCategoriesResponse": {
+ "quince.NavGroup": {
"properties": {
- "categories": {
+ "links": {
"items": {
- "$ref": "#/definitions/slickdeals.CategoryRef"
+ "$ref": "#/definitions/quince.NavLink"
},
"type": "array"
},
- "count": {
- "example": 13,
- "type": "integer"
- },
- "source_url": {
+ "title": {
"type": "string"
}
},
"type": "object"
},
- "slickdeals.PrimaryCategoryResponse": {
+ "quince.NavLink": {
"properties": {
- "count": {
- "example": 40,
- "type": "integer"
+ "slug": {
+ "type": "string"
},
- "deals": {
+ "text": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "quince.NavigationResponse": {
+ "properties": {
+ "categories": {
"items": {
- "$ref": "#/definitions/slickdeals.CategoryDeal"
+ "$ref": "#/definitions/quince.NavCategory"
},
"type": "array"
},
"fetched_at": {
"type": "string"
},
- "slug": {
- "example": "laptop-deals",
- "type": "string"
- },
"source_url": {
"type": "string"
}
},
"type": "object"
},
- "slickdeals.RelatedDeal": {
+ "quince.Product": {
"properties": {
- "comment_count": {
- "type": "integer"
+ "business_department": {
+ "type": "string"
},
- "final_price": {
- "example": "$22",
+ "category": {
"type": "string"
},
- "found_by": {
- "example": "iconian",
+ "color": {
"type": "string"
},
- "list_price": {
- "example": "$37",
+ "currency": {
"type": "string"
},
- "posted_at": {
+ "department": {
"type": "string"
},
- "source": {
- "description": "Source names which sidebar this entry came from: \"popular\" or\n\"trending\".",
- "example": "popular",
+ "description": {
"type": "string"
},
- "thread_id": {
- "example": 20013396,
- "type": "integer"
+ "gender": {
+ "type": "string"
},
- "title": {
- "example": "20,000mAh BooKoo A9 2000A Car Battery Jumper w/ QC 3.0, PD 18W $22.20 + Free S/H",
+ "handle": {
"type": "string"
},
- "url": {
+ "image_url": {
"type": "string"
},
- "vote_score": {
- "example": 5,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "slickdeals.SearchAdvancedResponse": {
- "properties": {
- "facets": {
+ "in_stock": {
+ "type": "boolean"
+ },
+ "material": {
"items": {
- "$ref": "#/definitions/slickdeals.SearchFacetGroup"
+ "type": "string"
},
"type": "array"
},
- "fetched_at": {
- "type": "string"
+ "max_price": {
+ "type": "number"
},
- "page": {
- "example": 1,
- "type": "integer"
+ "min_price": {
+ "type": "number"
},
- "per_page": {
- "example": 40,
+ "primary_colors": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "product_id": {
"type": "integer"
},
- "query": {
- "example": "laptop",
+ "product_type": {
"type": "string"
},
- "result_count": {
- "example": 915,
- "type": "integer"
- },
- "results": {
+ "sizes": {
"items": {
- "$ref": "#/definitions/slickdeals.SearchAdvancedResult"
+ "type": "string"
},
"type": "array"
},
- "source_url": {
+ "title": {
"type": "string"
},
- "total_pages": {
- "example": 23,
- "type": "integer"
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "slickdeals.SearchAdvancedResult": {
+ "quince.ProductFAQItem": {
"properties": {
- "comment_count": {
- "example": 4,
- "type": "integer"
+ "answer": {
+ "type": "string"
},
- "discount": {
- "example": 26,
- "type": "integer"
+ "question": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "quince.ProductFAQResponse": {
+ "properties": {
+ "fetched_at": {
+ "type": "string"
},
- "final_price": {
- "example": "$66",
+ "handle": {
"type": "string"
},
- "forum_id": {
- "example": 9,
- "type": "integer"
+ "questions": {
+ "items": {
+ "$ref": "#/definitions/quince.ProductFAQItem"
+ },
+ "type": "array"
},
- "found_by": {
- "example": "htp182",
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "quince.ProductOptionGroup": {
+ "properties": {
+ "name": {
"type": "string"
},
- "has_rebate": {
- "example": false,
- "type": "boolean"
- },
- "image_url": {
+ "values": {
+ "items": {
+ "$ref": "#/definitions/quince.ProductOptionValue"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "quince.ProductOptionValue": {
+ "properties": {
+ "display_name": {
"type": "string"
},
- "is_expired": {
- "example": false,
- "type": "boolean"
+ "display_type": {
+ "type": "string"
},
- "is_fire_deal": {
- "description": "IsFireDeal and HasRebate are populated on Frontpage's own deal cards;\nGET /slickdeals/search/advanced's result cards were not observed\ncarrying either field live, so they read as their zero value there.",
- "example": false,
- "type": "boolean"
+ "hex_code": {
+ "type": "string"
},
- "is_frontpage": {
- "example": true,
- "type": "boolean"
+ "value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "quince.ProductResponse": {
+ "properties": {
+ "average_rating": {
+ "type": "number"
},
- "is_new": {
- "example": false,
- "type": "boolean"
+ "country": {
+ "type": "string"
},
- "is_popular": {
- "example": true,
- "type": "boolean"
+ "description": {
+ "type": "string"
},
- "list_price": {
- "example": "$90",
+ "fetched_at": {
"type": "string"
},
- "posted_at": {
+ "gender": {
"type": "string"
},
- "store": {
- "example": "Newegg",
+ "handle": {
"type": "string"
},
- "store_id": {
- "example": 701,
+ "images": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "options": {
+ "items": {
+ "$ref": "#/definitions/quince.ProductOptionGroup"
+ },
+ "type": "array"
+ },
+ "product_id": {
"type": "integer"
},
- "thread_id": {
- "example": 19618338,
+ "product_type": {
+ "type": "string"
+ },
+ "review_count": {
"type": "integer"
},
+ "source_url": {
+ "type": "string"
+ },
"title": {
- "example": "Anker 4-Port up to 140W USB-C Laptop Charger w/ 5' Cable",
"type": "string"
},
"url": {
"type": "string"
},
- "views_count": {
- "example": 3274,
- "type": "integer"
- },
- "vote_score": {
- "example": 20,
- "type": "integer"
+ "variants": {
+ "items": {
+ "$ref": "#/definitions/quince.ProductVariant"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "slickdeals.SearchFacetGroup": {
+ "quince.ProductReviewsResponse": {
"properties": {
- "label": {
- "example": "Categories",
+ "average_rating": {
+ "type": "number"
+ },
+ "fetched_at": {
"type": "string"
},
- "options": {
+ "handle": {
+ "type": "string"
+ },
+ "review_count": {
+ "type": "integer"
+ },
+ "reviews": {
"items": {
- "$ref": "#/definitions/slickdeals.SearchFacetOption"
+ "$ref": "#/definitions/quince.Review"
},
"type": "array"
+ },
+ "source_url": {
+ "type": "string"
}
},
"type": "object"
},
- "slickdeals.SearchFacetOption": {
+ "quince.ProductVariant": {
"properties": {
- "count": {
- "example": 27,
+ "currency": {
+ "type": "string"
+ },
+ "id": {
"type": "integer"
},
- "label": {
- "example": "Laptops",
+ "in_stock": {
+ "type": "boolean"
+ },
+ "options": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "price": {
+ "type": "number"
+ },
+ "savings": {
"type": "string"
},
- "parent_value": {
- "description": "ParentValue is set when this option is a subcategory of another\noption in the same group (Slickdeals' own Categories facet nests\none level deep).",
+ "sku": {
"type": "string"
},
- "value": {
- "example": "34",
+ "status": {
+ "type": "string"
+ },
+ "title": {
"type": "string"
+ },
+ "traditional_retail_price": {
+ "type": "number"
}
},
"type": "object"
},
- "slickdeals.SearchResponse": {
+ "quince.Review": {
+ "properties": {
+ "author": {
+ "type": "string"
+ },
+ "body": {
+ "type": "string"
+ },
+ "date_published": {
+ "type": "string"
+ },
+ "rating": {
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "quince.SearchResponse": {
"properties": {
+ "category": {
+ "type": "string"
+ },
+ "color": {
+ "type": "string"
+ },
"count": {
- "example": 25,
"type": "integer"
},
+ "country": {
+ "type": "string"
+ },
+ "department": {
+ "type": "string"
+ },
"fetched_at": {
"type": "string"
},
- "query": {
- "example": "laptop",
+ "limit": {
+ "type": "integer"
+ },
+ "material": {
"type": "string"
},
- "results": {
+ "max_price": {
+ "type": "number"
+ },
+ "min_price": {
+ "type": "number"
+ },
+ "page": {
+ "type": "integer"
+ },
+ "products": {
"items": {
- "$ref": "#/definitions/slickdeals.SearchResult"
+ "$ref": "#/definitions/quince.Product"
},
"type": "array"
},
+ "query": {
+ "type": "string"
+ },
+ "size": {
+ "type": "string"
+ },
"source_url": {
"type": "string"
+ },
+ "total_pages": {
+ "type": "integer"
+ },
+ "total_results": {
+ "type": "integer"
}
},
"type": "object"
},
- "slickdeals.SearchResult": {
+ "quince.SitemapItem": {
"properties": {
- "found_by": {
- "example": "BML6182",
- "type": "string"
- },
- "price": {
- "example": "$358.53",
+ "loc": {
"type": "string"
},
- "published_at": {
- "example": "2026-09-15T02:13:22Z",
+ "type": {
"type": "string"
- },
- "store": {
- "example": "ebay.com",
+ }
+ },
+ "type": "object"
+ },
+ "quince.SitemapURLItem": {
+ "properties": {
+ "handle": {
"type": "string"
},
- "thread_id": {
- "example": 20015817,
- "type": "integer"
- },
- "title": {
- "description": "Title is Slickdeals' own thread title, which conventionally embeds\nthe deal price (e.g. \"... $358.53\") -- Price is a best-effort\nconvenience field extracted from it, not a separately structured\nupstream field.",
- "example": "Microsoft Surface Laptop 5 13.5\" 2.5GHz/16GB/256GB - Refurb w/Warranty $358.53",
+ "loc": {
"type": "string"
},
- "url": {
- "example": "https://slickdeals.net/f/20015817-microsoft-surface-laptop-5-13-5-2-5ghz-16gb-256gb-refurb-w-warranty-358-53",
+ "type": {
"type": "string"
- },
- "vote_score": {
- "example": 16,
- "type": "integer"
}
},
"type": "object"
},
- "slickdeals.UserProfile": {
+ "quince.SitemapURLsResponse": {
"properties": {
- "avatar_url": {
+ "fetched_at": {
"type": "string"
},
- "deals_posted": {
- "example": 175,
+ "limit": {
"type": "integer"
},
- "join_date": {
- "example": "Nov 2017",
+ "source_url": {
"type": "string"
},
- "reputation": {
- "example": 685,
- "type": "integer"
+ "type": {
+ "type": "string"
},
- "total_comments": {
- "example": 519,
- "type": "integer"
+ "urls": {
+ "items": {
+ "$ref": "#/definitions/quince.SitemapURLItem"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "quince.SitemapsResponse": {
+ "properties": {
+ "fetched_at": {
+ "type": "string"
},
- "total_votes": {
- "example": 728,
- "type": "integer"
+ "sitemaps": {
+ "items": {
+ "$ref": "#/definitions/quince.SitemapItem"
+ },
+ "type": "array"
},
- "user_id": {
- "example": "13480663",
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "slickdeals.categoriesResponseDoc": {
+ "quince.SuggestResponse": {
"properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
+ "fetched_at": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/slickdeals.CategoriesResponse"
+ "query": {
+ "type": "string"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "source_url": {
+ "type": "string"
+ },
+ "suggestions": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "slickdeals.categoryResponseDoc": {
+ "quince.categoriesResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/slickdeals.CategoryResponse"
+ "$ref": "#/definitions/quince.CategoriesResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "slickdeals.commentsResponseDoc": {
+ "quince.navigationResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/slickdeals.CommentsResponse"
+ "$ref": "#/definitions/quince.NavigationResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "slickdeals.dealResponseDoc": {
+ "quince.productFAQResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/slickdeals.Deal"
+ "$ref": "#/definitions/quince.ProductFAQResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "slickdeals.dealTypesResponseDoc": {
+ "quince.productResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/slickdeals.DealTypesResponse"
+ "$ref": "#/definitions/quince.ProductResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "slickdeals.forumsResponseDoc": {
+ "quince.productReviewsResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/slickdeals.ForumsResponse"
+ "$ref": "#/definitions/quince.ProductReviewsResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "slickdeals.frontpageResponseDoc": {
+ "quince.searchResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/slickdeals.FrontpageResponse"
+ "$ref": "#/definitions/quince.SearchResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "slickdeals.primaryCategoriesResponseDoc": {
+ "quince.sitemapURLsResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/slickdeals.PrimaryCategoriesResponse"
+ "$ref": "#/definitions/quince.SitemapURLsResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "slickdeals.primaryCategoryResponseDoc": {
+ "quince.sitemapsResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/slickdeals.PrimaryCategoryResponse"
+ "$ref": "#/definitions/quince.SitemapsResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "slickdeals.searchAdvancedResponseDoc": {
+ "quince.suggestResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/slickdeals.SearchAdvancedResponse"
+ "$ref": "#/definitions/quince.SuggestResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "slickdeals.searchResponseDoc": {
+ "qwant.suggestResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/slickdeals.SearchResponse"
+ "$ref": "#/definitions/suggest.Response"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "sloanreview.ArticleIndexItem": {
+ "racing.RacingHorse": {
"properties": {
- "last_modified": {
+ "age": {
"type": "string"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "sloanreview.ArticleResponse": {
- "properties": {
- "archive_timestamp": {
+ "color": {
"type": "string"
},
- "archive_url": {
+ "dam_name": {
"type": "string"
},
- "authors": {
+ "name": {
"type": "string"
},
- "description": {
+ "sex": {
"type": "string"
},
- "paragraphs": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "sire_name": {
+ "type": "string"
},
- "published_at": {
+ "where_bred": {
"type": "string"
},
- "title": {
+ "year_of_birth": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "racing.RacingRace": {
+ "properties": {
+ "post_time_utc": {
"type": "string"
},
- "url": {
+ "race_id": {
"type": "string"
},
- "word_count": {
+ "race_number": {
"type": "integer"
+ },
+ "status": {
+ "type": "string"
+ },
+ "track_id": {
+ "type": "string"
+ },
+ "track_name": {
+ "type": "string"
}
},
"type": "object"
},
- "sloanreview.ArticlesResponse": {
+ "racing.RacingRaceCard": {
"properties": {
- "has_next": {
- "type": "boolean"
+ "distance": {
+ "type": "string"
},
- "items": {
+ "entries": {
"items": {
- "$ref": "#/definitions/sloanreview.ArticleIndexItem"
+ "$ref": "#/definitions/racing.RacingRaceEntry"
},
"type": "array"
},
- "page": {
+ "entry_count": {
"type": "integer"
},
- "page_size": {
+ "has_changes": {
+ "type": "boolean"
+ },
+ "has_results": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "live_odds_available": {
+ "type": "boolean"
+ },
+ "live_stream_status": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "number": {
"type": "integer"
},
- "total": {
+ "post_time_utc": {
+ "type": "string"
+ },
+ "purse": {
"type": "integer"
},
- "total_pages": {
+ "replay_status": {
+ "type": "string"
+ },
+ "runner_count": {
"type": "integer"
+ },
+ "status": {
+ "type": "string"
+ },
+ "surface": {
+ "type": "string"
+ },
+ "surface_condition": {
+ "type": "string"
+ },
+ "track_type": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
}
},
"type": "object"
},
- "sloanreview.CategoriesResponse": {
+ "racing.RacingRaceEntry": {
"properties": {
- "categories": {
- "items": {
- "$ref": "#/definitions/sloanreview.Category"
- },
- "type": "array"
+ "finish_position": {
+ "type": "integer"
+ },
+ "horse": {
+ "$ref": "#/definitions/racing.RacingHorse"
+ },
+ "live_odds": {
+ "type": "string"
+ },
+ "live_odds_favorite": {
+ "type": "boolean"
+ },
+ "morning_line_favorite": {
+ "type": "boolean"
+ },
+ "morning_line_odds": {
+ "type": "string"
+ },
+ "post_position": {
+ "type": "integer"
+ },
+ "program_number": {
+ "type": "string"
+ },
+ "scratched": {
+ "type": "boolean"
+ },
+ "weight": {
+ "type": "string"
}
},
"type": "object"
},
- "sloanreview.Category": {
+ "racing.RacingRaceInfoResponse": {
"properties": {
- "name": {
+ "fetched_at": {
"type": "string"
},
- "slug": {
+ "is_historic": {
+ "type": "boolean"
+ },
+ "race": {
+ "$ref": "#/definitions/racing.RacingRaceCard"
+ },
+ "source_url": {
"type": "string"
+ },
+ "track": {
+ "$ref": "#/definitions/racing.RacingRaceTrack"
}
},
"type": "object"
},
- "sloanreview.HeadlineItem": {
+ "racing.RacingRaceTrack": {
"properties": {
- "authors": {
+ "code": {
"type": "string"
},
- "published_at": {
+ "country_code": {
"type": "string"
},
- "title": {
+ "id": {
"type": "string"
},
- "topic": {
+ "name": {
"type": "string"
},
- "url": {
+ "type": {
"type": "string"
}
},
"type": "object"
},
- "sloanreview.HeadlinesResponse": {
- "properties": {
- "items": {
- "items": {
- "$ref": "#/definitions/sloanreview.HeadlineItem"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "sloanreview.TopicResponse": {
+ "racing.RacingScheduleResponse": {
"properties": {
- "items": {
+ "count": {
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "races": {
"items": {
- "$ref": "#/definitions/sloanreview.HeadlineItem"
+ "$ref": "#/definitions/racing.RacingRace"
},
"type": "array"
},
- "topic": {
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "sloanreview.articleResponseDoc": {
+ "racing.RacingTrack": {
"properties": {
+ "active": {
+ "type": "boolean"
+ },
"code": {
- "example": 200,
+ "type": "string"
+ },
+ "country_code": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "live_stream_state": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "race_count": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/sloanreview.ArticleResponse"
+ "start_time": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "status": {
+ "type": "string"
+ },
+ "type": {
"type": "string"
}
},
"type": "object"
},
- "sloanreview.articlesResponseDoc": {
+ "racing.RacingTracksResponse": {
"properties": {
- "code": {
- "example": 200,
+ "count": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/sloanreview.ArticlesResponse"
+ "fetched_at": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "source_url": {
"type": "string"
+ },
+ "tracks": {
+ "items": {
+ "$ref": "#/definitions/racing.RacingTrack"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "sloanreview.categoriesResponseDoc": {
+ "racing.racingRaceInfoResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/sloanreview.CategoriesResponse"
+ "$ref": "#/definitions/racing.RacingRaceInfoResponse"
},
"msg": {
"example": "OK",
@@ -198679,14 +205250,14 @@
},
"type": "object"
},
- "sloanreview.headlinesResponseDoc": {
+ "racing.racingScheduleResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/sloanreview.HeadlinesResponse"
+ "$ref": "#/definitions/racing.RacingScheduleResponse"
},
"msg": {
"example": "OK",
@@ -198695,14 +205266,14 @@
},
"type": "object"
},
- "sloanreview.topicResponseDoc": {
+ "racing.racingTracksResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/sloanreview.TopicResponse"
+ "$ref": "#/definitions/racing.RacingTracksResponse"
},
"msg": {
"example": "OK",
@@ -198711,52 +205282,25 @@
},
"type": "object"
},
- "smh.ArticleResponse": {
+ "raisingcanes.DirectoryChild": {
"properties": {
- "authors": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "description": {
- "type": "string"
- },
- "image_url": {
- "type": "string"
- },
- "is_accessible_for_free": {
- "type": "boolean"
- },
- "is_truncated": {
- "type": "boolean"
- },
- "keywords": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "paragraphs": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "paywalled": {
+ "is_store": {
+ "description": "IsStore marks a child that is a store page rather than another\ndirectory level -- call /raisingcanes/store with its path.",
+ "example": false,
"type": "boolean"
},
- "published_at": {
- "type": "string"
- },
- "section": {
+ "name": {
+ "example": "Louisiana",
"type": "string"
},
- "title": {
+ "path": {
+ "example": "la",
"type": "string"
},
- "updated_at": {
- "type": "string"
+ "store_count": {
+ "description": "StoreCount is how many stores sit under this branch, as Yext reports\nit. Absent on the deepest level, where children are stores themselves.",
+ "example": 144,
+ "type": "integer"
},
"url": {
"type": "string"
@@ -198764,9087 +205308,8240 @@
},
"type": "object"
},
- "smh.AuthorResponse": {
+ "raisingcanes.DirectoryResponse": {
"properties": {
- "articles": {
+ "children": {
"items": {
- "$ref": "#/definitions/smh.HeadlineItem"
+ "$ref": "#/definitions/raisingcanes.DirectoryChild"
},
"type": "array"
},
- "bio": {
- "type": "string"
- },
- "email": {
- "type": "string"
+ "count": {
+ "example": 38,
+ "type": "integer"
},
- "image_url": {
+ "fetched_at": {
"type": "string"
},
"name": {
"type": "string"
},
- "social_links": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "path": {
+ "example": "la",
+ "type": "string"
},
- "url": {
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "smh.HeadlineItem": {
+ "raisingcanes.MenuItem": {
"properties": {
- "author": {
+ "description": {
+ "description": "Description is Raising Cane's own published item description,\nexactly as written -- it commonly ends with a calorie count or range\n(e.g. \"... 1290 - 1720 Cal\"), but the wording is not structured\nenough to split into separate fields reliably across every item.",
+ "example": "4 Chicken Fingers, Crinkle-Cut Fries, One Cane's Sauce®, Texas Toast, Coleslaw, Regular Fountain Drink/Tea (22 oz.) 1290 - 1720 Cal",
"type": "string"
},
"image_url": {
"type": "string"
},
- "published_at": {
- "type": "string"
- },
- "summary": {
- "type": "string"
- },
- "title": {
- "type": "string"
- },
- "type": {
- "type": "string"
- },
- "url": {
+ "name": {
+ "example": "The Box Combo®",
"type": "string"
}
},
"type": "object"
},
- "sofascore.AchievementSeason": {
+ "raisingcanes.MenuResponse": {
"properties": {
- "season_id": {
- "example": 3391,
+ "count": {
+ "example": 23,
"type": "integer"
},
- "year": {
- "example": "23/24",
+ "fetched_at": {
+ "type": "string"
+ },
+ "sections": {
+ "items": {
+ "$ref": "#/definitions/raisingcanes.MenuSection"
+ },
+ "type": "array"
+ },
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "sofascore.AveragePosition": {
+ "raisingcanes.MenuSection": {
"properties": {
- "average_x": {
- "example": 64.25,
- "type": "number"
- },
- "average_y": {
- "example": 47.8,
- "type": "number"
+ "anchor": {
+ "description": "Anchor is the section's in-page anchor slug, e.g. \"combos\".",
+ "example": "combos",
+ "type": "string"
},
- "player": {
- "$ref": "#/definitions/sofascore.PlayerBrief"
+ "headline": {
+ "example": "Combos",
+ "type": "string"
},
- "points_count": {
- "example": 35,
- "type": "integer"
+ "items": {
+ "items": {
+ "$ref": "#/definitions/raisingcanes.MenuItem"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "sofascore.AveragePositionSubstitution": {
+ "raisingcanes.NearbyResponse": {
"properties": {
- "is_home": {
- "type": "boolean"
+ "count": {
+ "example": 10,
+ "type": "integer"
},
- "minute": {
- "example": 60,
+ "fetched_at": {
+ "type": "string"
+ },
+ "radius": {
+ "example": 25,
"type": "integer"
},
- "player_in": {
- "$ref": "#/definitions/sofascore.PlayerBrief"
+ "source_url": {
+ "type": "string"
},
- "player_out": {
- "$ref": "#/definitions/sofascore.PlayerBrief"
+ "stores": {
+ "items": {
+ "$ref": "#/definitions/raisingcanes.NearbyStore"
+ },
+ "type": "array"
+ },
+ "total_in_radius": {
+ "description": "TotalInRadius is how many stores fall inside the radius overall, which\nis usually far more than one page. Use it with `offset` to page.",
+ "example": 69,
+ "type": "integer"
}
},
"type": "object"
},
- "sofascore.BaseballAtBat": {
+ "raisingcanes.NearbyStore": {
"properties": {
- "away_win_probability": {
- "example": 52.1,
- "type": "number"
+ "address": {
+ "$ref": "#/definitions/raisingcanes.StoreAddress"
},
- "away_win_probability_start": {
- "example": 49,
+ "distance_kilometers": {
+ "example": 0.42,
"type": "number"
},
- "end_time": {
- "example": "2026-10-06T22:13:59Z",
- "type": "string"
- },
- "end_timestamp": {
- "description": "EndTimestamp is the Unix time the at-bat finished (it matches the end of\nits last pitch); EndTime is the same instant in RFC 3339.",
- "example": 1791324839,
- "type": "integer"
- },
- "hitter": {
- "$ref": "#/definitions/sofascore.PlayerBrief"
+ "distance_miles": {
+ "description": "DistanceMiles is measured from the requested coordinate.",
+ "example": 0.26,
+ "type": "number"
},
- "hitter_team": {
- "$ref": "#/definitions/sofascore.TeamRef"
+ "fulfillment_services": {
+ "description": "FulfillmentServices are the pickup/delivery service flags Raising\nCane's publishes for this store, e.g. IN_STORE_PICKUP,\nDELIVERY_NOT_OFFERED.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "home_win_probability": {
- "example": 47.9,
+ "latitude": {
+ "example": 40.710412,
"type": "number"
},
- "home_win_probability_start": {
- "description": "Win probabilities are percentages. The *Start values are before the\nat-bat, the others after it.",
- "example": 51,
+ "longitude": {
+ "example": -74.009937,
"type": "number"
},
- "id": {
- "example": 2595879,
- "type": "integer"
+ "name": {
+ "example": "Raising Cane's Chicken Fingers",
+ "type": "string"
},
- "inning": {
- "example": 1,
- "type": "integer"
+ "path": {
+ "description": "Path is the /raisingcanes/store path for this store, so a caller can\ngo straight to the detail endpoint.",
+ "type": "string"
},
- "inning_half": {
- "description": "InningHalf is `top` or `bottom`.",
- "example": "top",
+ "price_range": {
+ "description": "PriceRange is Raising Cane's own relative price tier, e.g. ONE.",
+ "example": "ONE",
"type": "string"
},
- "pitcher": {
- "$ref": "#/definitions/sofascore.PlayerBrief"
+ "store_id": {
+ "example": "C986",
+ "type": "string"
},
- "pitcher_team": {
- "$ref": "#/definitions/sofascore.TeamRef"
+ "timezone": {
+ "example": "America/New_York",
+ "type": "string"
}
},
"type": "object"
},
- "sofascore.BaseballFielder": {
+ "raisingcanes.PromotionCategory": {
"properties": {
- "first_name": {
- "example": "Frederick",
+ "heading": {
+ "example": "Sweepstakes & Giveaways",
"type": "string"
},
- "jersey_number": {
- "example": "5",
- "type": "string"
+ "promotions": {
+ "items": {
+ "$ref": "#/definitions/raisingcanes.PromotionSummary"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "raisingcanes.PromotionResponse": {
+ "properties": {
+ "description": {
+ "description": "Description is Raising Cane's own official-rules text for this\npromotion, kept as separate paragraphs in publication order rather\nthan joined into one string -- unlike a menu item's short blurb, this\nis often multi-paragraph legal text (eligibility, prize value,\neffective date each their own paragraph) where the paragraph breaks\ncarry real structure.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "last_name": {
- "example": "Freeman",
+ "fetched_at": {
"type": "string"
},
- "player_id": {
- "example": 961444,
- "type": "integer"
+ "path": {
+ "example": "first-50-promotion",
+ "type": "string"
},
- "sequence": {
- "example": 1,
- "type": "integer"
+ "source_url": {
+ "type": "string"
},
- "type": {
- "description": "Type is the credit, for example `putout` or `assist`.",
- "example": "putout",
+ "title": {
+ "example": "First 50 Promotion Details",
"type": "string"
}
},
"type": "object"
},
- "sofascore.BaseballPerformer": {
+ "raisingcanes.PromotionSummary": {
"properties": {
- "player": {
- "$ref": "#/definitions/sofascore.PlayerBrief"
- },
- "rating": {
- "example": 0.503,
- "type": "number"
- },
- "role": {
- "description": "Role is `pitcher` or `batter`.",
- "example": "pitcher",
+ "name": {
+ "example": "First 50 Promotion Details",
"type": "string"
},
- "statistics": {
- "additionalProperties": {
- "format": "float64",
- "type": "number"
- },
- "description": "Statistics is a snake_case metric map; its keys depend on the role.",
- "type": "object"
- },
- "team": {
- "$ref": "#/definitions/sofascore.TeamRef"
+ "path": {
+ "description": "Path is the promotion's page slug, usable as the path parameter on\nGET /raisingcanes/promotion. It is empty when Raising Cane's own\nindex links a since-expired promotion back to the homepage instead\nof removing the entry (a real, observed upstream data quality\npattern) -- a caller should treat an empty path as \"no longer\nresolvable\" rather than retry it.",
+ "example": "first-50-promotion",
+ "type": "string"
}
},
"type": "object"
},
- "sofascore.BaseballPitch": {
+ "raisingcanes.PromotionsResponse": {
"properties": {
- "at_bat_over": {
- "type": "boolean"
- },
- "away_team_runs": {
- "example": 0,
- "type": "integer"
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/raisingcanes.PromotionCategory"
+ },
+ "type": "array"
},
- "balls": {
- "example": 0,
+ "count": {
+ "example": 53,
"type": "integer"
},
- "bunt": {
- "type": "boolean"
+ "fetched_at": {
+ "type": "string"
},
- "double_play": {
- "type": "boolean"
- },
- "end_time": {
- "example": "2026-10-06T22:12:04Z",
- "type": "string"
- },
- "fielders": {
- "items": {
- "$ref": "#/definitions/sofascore.BaseballFielder"
- },
- "type": "array"
- },
- "hit": {
- "type": "boolean"
- },
- "hit_hardness": {
- "example": "medium",
+ "source_url": {
"type": "string"
- },
- "hit_location": {
- "example": "20",
+ }
+ },
+ "type": "object"
+ },
+ "raisingcanes.StoreAddress": {
+ "properties": {
+ "city": {
+ "example": "Gonzales",
"type": "string"
},
- "hit_trajectory": {
- "example": "ground_ball",
+ "country": {
+ "example": "US",
"type": "string"
},
- "hit_type": {
- "example": "GB",
+ "line1": {
+ "example": "625 Airline Hwy",
"type": "string"
},
- "hit_x": {
- "example": 164.06,
- "type": "number"
- },
- "hit_y": {
- "example": 164.01,
- "type": "number"
- },
- "hitter_hand": {
- "example": "R",
+ "line2": {
"type": "string"
},
- "home_team_runs": {
- "example": 0,
- "type": "integer"
- },
- "id": {
- "example": 10178342,
- "type": "integer"
- },
- "inning": {
- "example": 1,
- "type": "integer"
- },
- "inning_half": {
- "example": "top",
+ "postal_code": {
+ "example": "70737",
"type": "string"
},
- "mlb_x": {
- "example": 137.94,
- "type": "number"
- },
- "mlb_y": {
- "example": 184.98,
- "type": "number"
- },
- "mlb_zone": {
- "example": 7,
- "type": "integer"
- },
- "outcome": {
- "description": "Outcome is SofaScore's result code for the pitch. Seen: `bB` ball, `kKL`\nstrike looking, `kKS` strike swinging, `kF` foul, `aS` hit into play,\n`oFO` fly out, `oLO` line out, `oGO` ground out.",
- "example": "kKL",
+ "region": {
+ "example": "LA",
"type": "string"
- },
- "outs": {
- "example": 0,
- "type": "integer"
- },
- "passed_ball": {
+ }
+ },
+ "type": "object"
+ },
+ "raisingcanes.StoreHours": {
+ "properties": {
+ "closed": {
+ "description": "Closed is true when Raising Cane's publishes the day with no open\ninterval.",
+ "example": false,
"type": "boolean"
},
- "pitch_code": {
- "example": "FF",
+ "closes": {
+ "example": "00:00",
"type": "string"
},
- "pitch_count": {
- "example": 1,
- "type": "integer"
- },
- "pitch_description": {
- "example": "Four-Seam Fastball",
+ "day_of_week": {
+ "example": "Monday",
"type": "string"
},
- "pitch_speed": {
- "description": "PitchSpeed is in kilometres per hour.",
- "example": 158.04,
- "type": "number"
- },
- "pitch_type": {
- "description": "PitchType is the short pitch-type code and PitchDescription its name,\nfor example `FA` and `Four-Seam Fastball`.",
- "example": "FA",
+ "opens": {
+ "example": "09:00",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "raisingcanes.StoreResponse": {
+ "properties": {
+ "address": {
+ "$ref": "#/definitions/raisingcanes.StoreAddress"
},
- "pitch_x": {
- "description": "PitchX and PitchY are SofaScore's plate-location plot units. MLBX, MLBY and\nMLBZone are the league tracking location and zone as provided.",
- "example": 76,
- "type": "integer"
+ "amenities": {
+ "description": "Amenities are Raising Cane's own per-store amenity labels, e.g.\nDRIVE_THRU, LATE_NIGHT, CURBSIDE_PICKUP.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "pitch_y": {
- "example": -47,
- "type": "integer"
+ "dine_in_hours": {
+ "description": "DineInHours and DriveThroughHours are Raising Cane's own per-channel\nhours. They commonly match Hours but are published separately and can\ndiffer (e.g. a later drive-thru close).",
+ "items": {
+ "$ref": "#/definitions/raisingcanes.StoreHours"
+ },
+ "type": "array"
},
- "pitch_zone": {
- "example": 9,
- "type": "integer"
+ "drive_through_hours": {
+ "items": {
+ "$ref": "#/definitions/raisingcanes.StoreHours"
+ },
+ "type": "array"
},
- "pitcher_hand": {
- "example": "L",
+ "fetched_at": {
"type": "string"
},
- "runners": {
+ "fulfillment_services": {
+ "description": "FulfillmentServices are the pickup/delivery service flags Raising\nCane's publishes for this store, e.g. IN_STORE_PICKUP,\nCURBSIDE_PICKUP, DELIVERY_NOT_OFFERED.",
"items": {
- "$ref": "#/definitions/sofascore.BaseballRunner"
+ "type": "string"
},
"type": "array"
},
- "sequence": {
- "example": 3,
- "type": "integer"
- },
- "start_time": {
- "example": "2026-10-06T22:11:49Z",
+ "google_place_id": {
"type": "string"
},
- "status": {
- "example": "official",
- "type": "string"
+ "hours": {
+ "description": "Hours is the store's general published week of hours.",
+ "items": {
+ "$ref": "#/definitions/raisingcanes.StoreHours"
+ },
+ "type": "array"
},
- "strike_zone_bottom": {
- "example": 1.563,
+ "latitude": {
+ "example": 30.2371547,
"type": "number"
},
- "strike_zone_top": {
- "example": 3.096,
+ "longitude": {
+ "example": -90.9132179,
"type": "number"
},
- "strikes": {
- "example": 1,
- "type": "integer"
- },
- "triple_play": {
- "type": "boolean"
- },
- "type": {
- "description": "Type is the upstream event type, `pitch` for a thrown pitch.",
- "example": "pitch",
+ "name": {
+ "example": "Raising Cane's Chicken Fingers",
"type": "string"
},
- "wild_pitch": {
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "sofascore.BaseballRunner": {
- "properties": {
- "description": {
+ "path": {
"type": "string"
},
- "ending_base": {
- "example": 1,
- "type": "integer"
- },
- "jersey_number": {
- "example": "50",
+ "phone_number": {
+ "example": "(225) 407-4134",
"type": "string"
},
- "out": {
- "type": "boolean"
- },
- "outcome_code": {
- "example": "AD1",
+ "source_url": {
"type": "string"
},
- "player_id": {
- "example": 960736,
- "type": "integer"
- },
- "player_name": {
- "example": "Mookie Betts",
+ "store_id": {
+ "example": "C10",
"type": "string"
- },
- "starting_base": {
- "description": "StartingBase and EndingBase are base numbers, 0 for the batter's box and\n1 to 3 for the bases.",
- "example": 0,
- "type": "integer"
}
},
"type": "object"
},
- "sofascore.BestPlayer": {
+ "raisingcanes.directoryResponseDoc": {
"properties": {
- "label": {
- "example": "rating",
- "type": "string"
- },
- "player": {
- "$ref": "#/definitions/sofascore.PlayerBrief"
- },
- "team": {
- "$ref": "#/definitions/sofascore.TeamRef"
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
},
- "value": {
- "example": 9.8,
- "type": "number"
+ "data": {
+ "$ref": "#/definitions/raisingcanes.DirectoryResponse"
},
- "value_text": {
- "description": "ValueText carries the upstream value verbatim when it is not a number,\nfor example the en dash an ice hockey goalkeeper gets next to the `pts`\nlabel. It is omitted whenever Value is set.",
- "example": "-",
- "type": "string"
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "sofascore.CategoriesResponse": {
+ "raisingcanes.menuResponseDoc": {
"properties": {
- "categories": {
- "items": {
- "$ref": "#/definitions/sofascore.Category"
- },
- "type": "array"
- },
- "count": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
- "fetched_at": {
- "type": "string"
- },
- "source_url": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/raisingcanes.MenuResponse"
},
- "sport": {
- "example": "football",
- "type": "string"
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "sofascore.Category": {
+ "raisingcanes.nearbyResponseDoc": {
"properties": {
- "alpha2": {
- "example": "EN",
- "type": "string"
- },
- "flag": {
- "example": "england",
- "type": "string"
- },
- "id": {
- "example": 1,
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
- "name": {
- "example": "England",
- "type": "string"
- },
- "priority": {
- "example": 10,
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/raisingcanes.NearbyResponse"
},
- "slug": {
- "example": "england",
- "type": "string"
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "sofascore.CategoryTournament": {
+ "raisingcanes.promotionResponseDoc": {
"properties": {
- "category_id": {
- "example": 1,
- "type": "integer"
- },
- "category_name": {
- "example": "England",
- "type": "string"
- },
- "id": {
- "example": 17,
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
- "name": {
- "example": "Premier League",
- "type": "string"
- },
- "slug": {
- "example": "premier-league",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/raisingcanes.PromotionResponse"
},
- "user_count": {
- "example": 1234567,
- "type": "integer"
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "sofascore.CategoryTournamentsResponse": {
+ "raisingcanes.promotionsResponseDoc": {
"properties": {
- "category_id": {
- "type": "integer"
- },
- "count": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
- "fetched_at": {
- "type": "string"
- },
- "source_url": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/raisingcanes.PromotionsResponse"
},
- "tournaments": {
- "items": {
- "$ref": "#/definitions/sofascore.CategoryTournament"
- },
- "type": "array"
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "sofascore.CompetitionRef": {
+ "raisingcanes.storeResponseDoc": {
"properties": {
- "id": {
- "example": 18,
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
- "name": {
- "example": "Championship",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/raisingcanes.StoreResponse"
},
- "slug": {
- "example": "championship",
- "type": "string"
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "sofascore.Coordinates": {
+ "rappler.AuthorArticle": {
"properties": {
- "x": {
- "type": "number"
+ "published_at": {
+ "type": "string"
},
- "y": {
- "type": "number"
+ "section": {
+ "type": "string"
},
- "z": {
- "type": "number"
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "sofascore.CricketBattingLine": {
+ "rappler.AuthorResponse": {
"properties": {
- "balls": {
- "example": 12,
- "type": "integer"
- },
- "bowler": {
- "allOf": [
- {
- "$ref": "#/definitions/sofascore.PlayerBrief"
- }
- ],
- "description": "Bowler is the bowler credited with the wicket and Fielder the catcher or\nstumper, when SofaScore lists them."
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/rappler.AuthorArticle"
+ },
+ "type": "array"
},
- "dismissal": {
- "description": "Dismissal is SofaScore's status text: a dismissal such as `Caught`,\n`Bowled`, `LBW`, `Stumped` or `Hit wicket`, `Not out`, or `Did not bat`.",
- "example": "Caught",
+ "bio": {
"type": "string"
},
- "dismissal_code": {
- "example": 3,
- "type": "integer"
- },
- "fall_of_wicket_over": {
- "example": 3.4,
- "type": "number"
- },
- "fall_of_wicket_score": {
- "description": "FallOfWicketScore and FallOfWicketOver give the team score and over when\nthis batter was dismissed; omitted for batters who were not dismissed.",
- "example": 26,
- "type": "integer"
- },
- "fielder": {
- "$ref": "#/definitions/sofascore.PlayerBrief"
- },
- "fours": {
- "example": 2,
- "type": "integer"
+ "name": {
+ "type": "string"
},
- "player": {
- "$ref": "#/definitions/sofascore.PlayerBrief"
+ "slug": {
+ "type": "string"
},
- "runs": {
- "example": 12,
- "type": "integer"
+ "social_links": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "scorecard_name": {
- "description": "ScorecardName is the short name as printed on the scorecard.",
- "example": "S Sudharsan",
+ "url": {
"type": "string"
- },
- "sixes": {
- "example": 0,
- "type": "integer"
}
},
"type": "object"
},
- "sofascore.CricketBowlingLine": {
+ "rawstory.AuthorArticle": {
"properties": {
- "maidens": {
- "example": 0,
- "type": "integer"
- },
- "no_balls": {
- "example": 0,
- "type": "integer"
- },
- "overs": {
- "description": "Overs uses cricket notation: 3.4 is three overs and four balls.",
- "example": 4,
- "type": "number"
- },
- "player": {
- "$ref": "#/definitions/sofascore.PlayerBrief"
- },
- "runs": {
- "example": 38,
- "type": "integer"
- },
- "scorecard_name": {
- "example": "J Duffy",
+ "published_at": {
+ "description": "PublishedAt is the story's publication date (YYYY-MM-DD); the author\nlisting carries the date but not the time of day.",
"type": "string"
},
- "wickets": {
- "example": 0,
- "type": "integer"
+ "title": {
+ "type": "string"
},
- "wides": {
- "example": 3,
- "type": "integer"
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "sofascore.CricketExtras": {
+ "rawstory.AuthorResponse": {
"properties": {
- "byes": {
- "example": 0,
- "type": "integer"
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/rawstory.AuthorArticle"
+ },
+ "type": "array"
},
- "leg_byes": {
- "example": 1,
- "type": "integer"
+ "bio": {
+ "type": "string"
},
- "no_balls": {
- "example": 0,
- "type": "integer"
+ "image_url": {
+ "type": "string"
},
- "penalty": {
- "example": 0,
- "type": "integer"
+ "name": {
+ "type": "string"
},
- "total": {
- "example": 5,
- "type": "integer"
+ "slug": {
+ "type": "string"
},
- "wides": {
- "example": 4,
- "type": "integer"
+ "social_links": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "sofascore.CricketFallOfWicket": {
+ "reachplc.AuthorArticle": {
"properties": {
- "over": {
- "example": 2.2,
- "type": "number"
+ "label": {
+ "type": "string"
},
- "player": {
- "$ref": "#/definitions/sofascore.PlayerBrief"
+ "label_url": {
+ "type": "string"
},
- "score": {
- "example": 22,
- "type": "integer"
+ "title": {
+ "type": "string"
},
- "wicket": {
- "example": 1,
- "type": "integer"
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "sofascore.CricketInnings": {
+ "reachplc.AuthorResponse": {
"properties": {
- "batting": {
+ "articles": {
"items": {
- "$ref": "#/definitions/sofascore.CricketBattingLine"
+ "$ref": "#/definitions/reachplc.AuthorArticle"
},
"type": "array"
},
- "batting_team": {
- "$ref": "#/definitions/sofascore.TeamRef"
- },
- "bowling": {
- "items": {
- "$ref": "#/definitions/sofascore.CricketBowlingLine"
- },
- "type": "array"
+ "bio": {
+ "type": "string"
},
- "bowling_team": {
- "$ref": "#/definitions/sofascore.TeamRef"
+ "email": {
+ "type": "string"
},
- "extras": {
- "$ref": "#/definitions/sofascore.CricketExtras"
+ "has_next_page": {
+ "type": "boolean"
},
- "fall_of_wickets": {
- "description": "FallOfWickets is derived from the batting lines that carry a fall-of-wicket\nscore, ordered by team score and then over, and numbered from 1.",
- "items": {
- "$ref": "#/definitions/sofascore.CricketFallOfWicket"
- },
- "type": "array"
+ "job_title": {
+ "type": "string"
},
- "id": {
- "example": 82607,
- "type": "integer"
+ "name": {
+ "type": "string"
},
- "number": {
- "example": 1,
+ "page": {
"type": "integer"
},
- "overs": {
- "description": "Overs uses cricket notation: 18.4 is eighteen overs and four balls.",
- "example": 20,
- "type": "number"
- },
- "partnerships": {
- "items": {
- "$ref": "#/definitions/sofascore.CricketPartnership"
- },
- "type": "array"
+ "slug": {
+ "type": "string"
},
- "runs": {
- "example": 155,
- "type": "integer"
+ "twitter": {
+ "type": "string"
},
- "wickets": {
- "example": 8,
- "type": "integer"
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "sofascore.CricketPartnership": {
+ "reddit.ArchiveBatchSource": {
"properties": {
- "balls": {
- "example": 14,
- "type": "integer"
- },
- "number": {
- "description": "Number is the partnership's position in the innings, starting at 1.",
- "example": 1,
+ "requests": {
+ "example": 2,
"type": "integer"
},
- "player1": {
- "$ref": "#/definitions/sofascore.PlayerBrief"
- },
- "player2": {
- "$ref": "#/definitions/sofascore.PlayerBrief"
+ "type": {
+ "example": "arctic_shift",
+ "type": "string"
},
- "runs": {
- "example": 22,
- "type": "integer"
+ "url": {
+ "example": "https://arctic-shift.photon-reddit.com/api/posts/ids",
+ "type": "string"
}
},
"type": "object"
},
- "sofascore.CupTree": {
+ "reddit.ArchiveComment": {
"properties": {
- "current_round": {
- "example": 5,
- "type": "integer"
+ "author": {
+ "example": "reddit_user",
+ "type": "string"
},
- "final_match": {
- "allOf": [
- {
- "$ref": "#/definitions/sofascore.CupTreeBlock"
- }
- ],
- "description": "FinalMatch is the final tie, repeated from the last round. It is omitted\nwhen the tree has no final yet (a qualifying tree)."
+ "author_flair_text": {
+ "type": "string"
},
- "id": {
- "example": 10850333,
- "type": "integer"
+ "author_fullname": {
+ "type": "string"
},
- "name": {
- "example": "UEFA Champions League 25/26, Knockout stage",
+ "body": {
"type": "string"
},
- "rounds": {
- "items": {
- "$ref": "#/definitions/sofascore.CupTreeRound"
- },
- "type": "array"
+ "created_utc": {
+ "example": 1713484800,
+ "type": "integer"
},
- "third_place_match": {
- "allOf": [
- {
- "$ref": "#/definitions/sofascore.CupTreeBlock"
- }
- ],
- "description": "ThirdPlaceMatch is the third-place tie, when the competition plays one."
+ "depth": {
+ "type": "integer"
},
- "tournament_name": {
- "example": "UEFA Champions League, Knockout stage",
- "type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.CupTreeBlock": {
- "properties": {
- "away_score": {
- "example": "1 (3)",
+ "distinguished": {
"type": "string"
},
- "block_id": {
- "description": "BlockID is the identifier later blocks cite as source_block_id.",
- "example": 2536336,
- "type": "integer"
+ "id": {
+ "example": "kabc123",
+ "type": "string"
},
- "event_ids": {
- "description": "EventIDs are the match ids of the tie; fetch each with the event endpoint.",
- "items": {
- "type": "integer"
- },
- "type": "array"
+ "link_id": {
+ "example": "t3_1abcxyz",
+ "type": "string"
},
- "finished": {
- "type": "boolean"
+ "name": {
+ "example": "t1_kabc123",
+ "type": "string"
},
- "home_score": {
- "description": "HomeScore and AwayScore are the scores of the participants with order 1\nand 2. They are strings because a shoot-out is appended (\"1 (4)\").",
- "example": "1 (4)",
+ "parent_id": {
+ "example": "t3_1abcxyz",
"type": "string"
},
- "id": {
- "example": 2946978,
- "type": "integer"
+ "permalink": {
+ "type": "string"
},
- "in_progress": {
- "description": "InProgress is true while a match of the tie is being played.",
- "type": "boolean"
+ "removed_by_category": {
+ "type": "string"
},
- "matches": {
- "description": "Matches is the scheduled length of the tie: 1 for a single match, 2 for a\ntwo-legged tie, 7 for a best-of-seven series (whether or not all seven\nwere needed), 0 for a bye.",
- "example": 2,
+ "retrieved_on": {
+ "example": 1713484820,
"type": "integer"
},
- "order": {
- "example": 2,
+ "score": {
+ "example": 3,
"type": "integer"
},
- "participants": {
- "items": {
- "$ref": "#/definitions/sofascore.CupTreeParticipant"
- },
- "type": "array"
- },
- "result": {
- "description": "Result is the tie result as published (\"4:5\", or a text such as \"Retired\").",
- "example": "4:5",
+ "subreddit": {
+ "example": "OpenAI",
"type": "string"
},
- "series_start_time": {
- "example": "2026-02-17T20:00:00Z",
+ "subreddit_id": {
"type": "string"
- },
- "series_start_timestamp": {
- "type": "integer"
- },
- "venue": {
- "$ref": "#/definitions/sofascore.Venue"
}
},
"type": "object"
},
- "sofascore.CupTreeParticipant": {
+ "reddit.ArchiveCommentTreeEntry": {
"properties": {
- "order": {
- "description": "Order is the side's position in the block; the block's home_score\nbelongs to order 1 and away_score to order 2.",
- "example": 1,
- "type": "integer"
+ "comment": {
+ "$ref": "#/definitions/reddit.ArchiveCommentTreeNode"
},
- "seed": {
- "description": "Seed is the draw seed or entry label (\"1\", \"WC\" for a wild card), when published.",
- "example": "WC",
+ "kind": {
+ "enum": [
+ "t1",
+ "more"
+ ],
+ "example": "t1",
"type": "string"
},
- "source_block_id": {
- "description": "SourceBlockID is the block_id of the earlier block this side advanced from.",
- "type": "integer"
- },
- "team": {
- "$ref": "#/definitions/sofascore.TeamRef"
+ "more": {
+ "$ref": "#/definitions/reddit.ArchiveMoreComments"
+ }
+ },
+ "type": "object"
+ },
+ "reddit.ArchiveCommentTreeNode": {
+ "properties": {
+ "comment": {
+ "$ref": "#/definitions/reddit.ArchiveComment"
},
- "winner": {
- "type": "boolean"
+ "replies": {
+ "items": {
+ "$ref": "#/definitions/reddit.ArchiveCommentTreeEntry"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "sofascore.CupTreeRound": {
+ "reddit.ArchiveCommentsIDsResponse": {
"properties": {
- "blocks": {
+ "comments": {
"items": {
- "$ref": "#/definitions/sofascore.CupTreeBlock"
+ "$ref": "#/definitions/reddit.ArchiveComment"
},
"type": "array"
},
- "description": {
- "example": "Quarterfinal",
- "type": "string"
+ "missing_ids": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "id": {
+ "requested_count": {
"type": "integer"
},
- "order": {
- "example": 1,
+ "returned_count": {
"type": "integer"
},
- "round_type": {
- "description": "RoundType is the upstream round code: the number of ties for the\nstandard knockout rounds (8 round of 16, 4 quarterfinals, 2 semifinals,\n1 final) and other codes (0, 101 to 105, 201 to 202) for named rounds.",
- "example": 4,
- "type": "integer"
+ "source": {
+ "$ref": "#/definitions/reddit.ArchiveBatchSource"
}
},
"type": "object"
},
- "sofascore.DraftInfo": {
+ "reddit.ArchiveCommentsSearchResponse": {
"properties": {
- "end_time": {
+ "author": {
"type": "string"
},
- "end_timestamp": {
- "type": "integer"
- },
- "is_lottery_complete": {
- "type": "boolean"
- },
- "rounds": {
- "example": [
- 1,
- 2
- ],
+ "comments": {
"items": {
- "type": "integer"
+ "$ref": "#/definitions/reddit.ArchiveComment"
},
"type": "array"
},
- "start_time": {
- "example": "2026-06-23T00:00:00Z",
+ "created_after": {
"type": "string"
},
- "start_timestamp": {
+ "created_before": {
+ "type": "string"
+ },
+ "limit": {
+ "example": 25,
"type": "integer"
},
- "status": {
- "example": "closed",
+ "link_id": {
"type": "string"
},
- "year": {
- "example": 2026,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "sofascore.DraftPick": {
- "properties": {
- "overall_pick": {
- "example": 1,
- "type": "integer"
+ "parent_id": {
+ "type": "string"
},
- "pick_in_round": {
- "example": 1,
- "type": "integer"
+ "query": {
+ "type": "string"
},
- "prospect": {
- "$ref": "#/definitions/sofascore.DraftProspect"
+ "sort": {
+ "example": "desc",
+ "type": "string"
},
- "round": {
- "example": 1,
- "type": "integer"
+ "source": {
+ "$ref": "#/definitions/reddit.SourceDetail"
},
- "team": {
- "$ref": "#/definitions/sofascore.TeamRef"
+ "subreddit": {
+ "type": "string"
}
},
"type": "object"
},
- "sofascore.DraftPicksResponse": {
+ "reddit.ArchiveCommentsTreeResponse": {
"properties": {
- "count": {
- "type": "integer"
- },
- "fetched_at": {
- "type": "string"
- },
- "league": {
- "example": "nba",
- "type": "string"
- },
- "picks": {
+ "comments": {
"items": {
- "$ref": "#/definitions/sofascore.DraftPick"
+ "$ref": "#/definitions/reddit.ArchiveCommentTreeEntry"
},
"type": "array"
},
- "round": {
- "example": 1,
+ "limit": {
+ "example": 50,
"type": "integer"
},
- "source_url": {
+ "parent_id": {
"type": "string"
},
- "teams_without_round_pick": {
- "items": {
- "$ref": "#/definitions/sofascore.TeamRef"
- },
- "type": "array"
+ "post_id": {
+ "example": "7cff0b",
+ "type": "string"
},
- "year": {
- "example": 2025,
+ "source": {
+ "$ref": "#/definitions/reddit.SourceDetail"
+ },
+ "start_breadth": {
+ "example": 2,
+ "type": "integer"
+ },
+ "start_depth": {
+ "example": 3,
"type": "integer"
}
},
"type": "object"
},
- "sofascore.DraftProspect": {
+ "reddit.ArchiveMoreComments": {
"properties": {
- "first_name": {
- "type": "string"
+ "children": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "is_top_prospect": {
- "type": "boolean"
+ "count": {
+ "example": 12,
+ "type": "integer"
},
- "last_name": {
- "type": "string"
+ "depth": {
+ "example": 3,
+ "type": "integer"
},
- "name": {
- "example": "Cooper Flagg",
+ "id": {
"type": "string"
},
- "player": {
- "$ref": "#/definitions/sofascore.PlayerBrief"
- },
- "position": {
- "example": "GF",
+ "name": {
"type": "string"
},
- "school": {
- "$ref": "#/definitions/sofascore.TeamRef"
- },
- "school_name": {
- "example": "Duke",
+ "parent_id": {
"type": "string"
}
},
"type": "object"
},
- "sofascore.DraftResponse": {
+ "reddit.ArchivePost": {
"properties": {
- "draft": {
- "$ref": "#/definitions/sofascore.DraftInfo"
- },
- "fetched_at": {
+ "author": {
+ "example": "reddit_user",
"type": "string"
},
- "has_lottery_draw": {
- "type": "boolean"
- },
- "league": {
- "example": "nba",
+ "author_flair_text": {
"type": "string"
},
- "lottery_year": {
- "example": 2026,
- "type": "integer"
- },
- "previous_draft": {
- "$ref": "#/definitions/sofascore.DraftInfo"
+ "author_fullname": {
+ "type": "string"
},
- "prospects_year": {
- "example": 2026,
+ "created_utc": {
+ "example": 1713484800,
"type": "integer"
},
- "season": {
- "example": 80229,
- "type": "integer"
+ "crosspost_parent": {
+ "type": "string"
},
- "source_url": {
+ "distinguished": {
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.EsportsCharacter": {
- "properties": {
- "id": {
- "example": 1638,
- "type": "integer"
},
- "name": {
- "example": "Witch Doctor",
+ "id": {
+ "example": "1abcxyz",
"type": "string"
},
- "slug": {
- "example": "witch-doctor",
+ "link_flair_text": {
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.EsportsGame": {
- "properties": {
- "away_score": {
- "$ref": "#/definitions/sofascore.EsportsGameScore"
},
- "has_complete_statistics": {
- "description": "HasCompleteStatistics reports whether the per-game statistics, lineups\nand bans are complete.",
+ "num_comments": {
+ "example": 12,
+ "type": "integer"
+ },
+ "over_18": {
"type": "boolean"
},
- "home_score": {
- "$ref": "#/definitions/sofascore.EsportsGameScore"
+ "post_hint": {
+ "type": "string"
},
- "home_team_starting_side_code": {
- "description": "HomeTeamStartingSideCode is SofaScore's code for the side the home team\nstarted on. In Counter-Strike 4 is terrorist and 5 is counter-terrorist.",
- "example": 5,
- "type": "integer"
+ "removed_by_category": {
+ "type": "string"
},
- "id": {
- "example": 588883,
+ "retrieved_on": {
+ "example": 1713484820,
"type": "integer"
},
- "length_seconds": {
- "description": "LengthSeconds is the game length; omitted while the game is running.",
- "example": 2543,
+ "score": {
+ "example": 42,
"type": "integer"
},
- "map": {
- "$ref": "#/definitions/sofascore.EsportsGameMap"
+ "selftext": {
+ "type": "string"
},
- "start_time": {
- "example": "2026-10-04T14:23:29Z",
+ "spoiler": {
+ "type": "boolean"
+ },
+ "subreddit": {
+ "example": "OpenAI",
"type": "string"
},
- "start_timestamp": {
- "type": "integer"
+ "subreddit_id": {
+ "type": "string"
},
- "status": {
- "$ref": "#/definitions/sofascore.EventStatus"
+ "title": {
+ "type": "string"
},
- "winner_code": {
- "description": "WinnerCode is 1 for the home side, 2 for the away side, 0 until decided.",
- "example": 1,
- "type": "integer"
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "sofascore.EsportsGameBans": {
+ "reddit.ArchivePostsIDsResponse": {
"properties": {
- "away": {
+ "missing_ids": {
"items": {
- "$ref": "#/definitions/sofascore.EsportsCharacter"
+ "type": "string"
},
"type": "array"
},
- "home": {
- "items": {
- "$ref": "#/definitions/sofascore.EsportsCharacter"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "sofascore.EsportsGameLineups": {
- "properties": {
- "away_players": {
+ "posts": {
"items": {
- "$ref": "#/definitions/sofascore.EsportsPlayerLine"
+ "$ref": "#/definitions/reddit.ArchivePost"
},
"type": "array"
},
- "home_players": {
- "items": {
- "$ref": "#/definitions/sofascore.EsportsPlayerLine"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "sofascore.EsportsGameMap": {
- "properties": {
- "id": {
- "example": 23,
+ "requested_count": {
"type": "integer"
},
- "name": {
- "example": "Ancient",
- "type": "string"
+ "returned_count": {
+ "type": "integer"
+ },
+ "source": {
+ "$ref": "#/definitions/reddit.ArchiveBatchSource"
}
},
"type": "object"
},
- "sofascore.EsportsGameResponse": {
+ "reddit.ArchivePostsSearchResponse": {
"properties": {
- "bans": {
- "$ref": "#/definitions/sofascore.EsportsGameBans"
+ "author": {
+ "type": "string"
},
- "fetched_at": {
+ "created_after": {
"type": "string"
},
- "game_id": {
- "example": 588883,
+ "created_before": {
+ "type": "string"
+ },
+ "limit": {
+ "example": 25,
"type": "integer"
},
- "lineups": {
- "$ref": "#/definitions/sofascore.EsportsGameLineups"
+ "posts": {
+ "items": {
+ "$ref": "#/definitions/reddit.ArchivePost"
+ },
+ "type": "array"
},
- "part": {
- "example": "lineups",
+ "query": {
"type": "string"
},
- "rounds": {
- "$ref": "#/definitions/sofascore.EsportsGameRounds"
+ "sort": {
+ "example": "desc",
+ "type": "string"
},
- "source_url": {
+ "source": {
+ "$ref": "#/definitions/reddit.SourceDetail"
+ },
+ "subreddit": {
"type": "string"
},
- "statistics": {
- "$ref": "#/definitions/sofascore.EsportsGameStatistics"
+ "url": {
+ "type": "string"
+ },
+ "url_exact": {
+ "type": "boolean"
}
},
"type": "object"
},
- "sofascore.EsportsGameRounds": {
+ "reddit.ArchiveSubreddit": {
"properties": {
- "normaltime": {
- "items": {
- "$ref": "#/definitions/sofascore.EsportsRound"
- },
- "type": "array"
+ "created_utc": {
+ "example": 1449870564,
+ "type": "integer"
},
- "overtime": {
- "items": {
- "$ref": "#/definitions/sofascore.EsportsRound"
- },
- "type": "array"
+ "display_name": {
+ "example": "OpenAI",
+ "type": "string"
},
- "overtime_chunk_size": {
- "example": 3,
+ "id": {
+ "example": "3b9u5",
+ "type": "string"
+ },
+ "over_18": {
+ "type": "boolean"
+ },
+ "retrieved_on": {
+ "example": 1739566084,
"type": "integer"
},
- "rounds_in_a_half": {
- "example": 12,
+ "subscribers": {
+ "example": 2239919,
"type": "integer"
}
},
"type": "object"
},
- "sofascore.EsportsGameScore": {
+ "reddit.ArchiveSubredditsSearchResponse": {
"properties": {
- "display": {
- "description": "Display is the headline score: kills in Dota 2 and League of Legends,\nrounds won in Counter-Strike.",
- "example": 31,
+ "limit": {
+ "example": 25,
"type": "integer"
},
- "overtime": {
- "example": 3,
+ "max_subscribers": {
"type": "integer"
},
- "period1": {
- "example": 4,
+ "min_subscribers": {
"type": "integer"
},
- "period2": {
- "example": 3,
- "type": "integer"
+ "over_18": {
+ "type": "boolean"
+ },
+ "query": {
+ "type": "string"
+ },
+ "sort": {
+ "example": "desc",
+ "type": "string"
+ },
+ "sort_by": {
+ "example": "subscribers",
+ "type": "string"
+ },
+ "source": {
+ "$ref": "#/definitions/reddit.SourceDetail"
+ },
+ "subreddits": {
+ "items": {
+ "$ref": "#/definitions/reddit.ArchiveSubreddit"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "sofascore.EsportsGameStatistics": {
+ "reddit.ArchiveTimeSeriesPoint": {
"properties": {
- "away": {
- "$ref": "#/definitions/sofascore.EsportsTeamStatistics"
+ "date": {
+ "example": 1704067200,
+ "type": "integer"
},
- "home": {
- "$ref": "#/definitions/sofascore.EsportsTeamStatistics"
+ "value": {
+ "example": 24979,
+ "type": "number"
}
},
"type": "object"
},
- "sofascore.EsportsPlayerLine": {
+ "reddit.ArchiveTimeSeriesResponse": {
"properties": {
- "character": {
- "$ref": "#/definitions/sofascore.EsportsCharacter"
- },
- "flags": {
- "additionalProperties": {
- "type": "boolean"
- },
- "type": "object"
- },
- "player": {
- "$ref": "#/definitions/sofascore.PlayerBrief"
+ "created_after": {
+ "example": "2024-01-01",
+ "type": "string"
},
- "role": {
- "example": "mid",
+ "created_before": {
+ "example": "2025-01-01",
"type": "string"
},
- "statistics": {
- "additionalProperties": {
- "format": "float64",
- "type": "number"
- },
- "type": "object"
- }
- },
- "type": "object"
- },
- "sofascore.EsportsRound": {
- "properties": {
- "home_team_side": {
- "example": "counter_terrorist",
+ "metric": {
+ "example": "posts_count",
"type": "string"
},
- "home_team_side_code": {
- "description": "HomeTeamSideCode is the side the home team played this round: 4 is\nterrorist and 5 is counter-terrorist; HomeTeamSide names it.",
- "example": 5,
- "type": "integer"
+ "points": {
+ "items": {
+ "$ref": "#/definitions/reddit.ArchiveTimeSeriesPoint"
+ },
+ "type": "array"
},
- "outcome": {
- "example": "bomb_defused",
+ "precision": {
+ "example": "year",
"type": "string"
},
- "outcome_code": {
- "description": "OutcomeCode is SofaScore's round-result code. In Counter-Strike 0 is an\nelimination, 1 a defused bomb, 2 an exploded bomb and 3 a round lost on\ntime; Outcome names it.",
- "example": 1,
- "type": "integer"
+ "source": {
+ "$ref": "#/definitions/reddit.SourceDetail"
},
- "winner_code": {
- "description": "WinnerCode is 1 for the home side and 2 for the away side.",
- "example": 1,
- "type": "integer"
+ "subreddit": {
+ "example": "OpenAI",
+ "type": "string"
}
},
"type": "object"
},
- "sofascore.EsportsTeamStatistics": {
+ "reddit.Author": {
"properties": {
- "flags": {
- "additionalProperties": {
- "type": "boolean"
- },
- "type": "object"
+ "name": {
+ "description": "Reddit username of the author.",
+ "example": "reddit_user",
+ "type": "string"
},
- "statistics": {
- "additionalProperties": {
- "format": "float64",
- "type": "number"
- },
- "type": "object"
+ "profile_url": {
+ "description": "URL of the author's Reddit profile page.",
+ "example": "https://www.reddit.com/user/reddit_user/",
+ "type": "string"
}
},
"type": "object"
},
- "sofascore.EventAtBatPitchesResponse": {
+ "reddit.Comment": {
"properties": {
- "at_bat_id": {
- "example": 2595879,
+ "author": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/reddit.Author"
+ }
+ ],
+ "description": "Reddit user who wrote the comment."
+ },
+ "award_count": {
+ "description": "Number of awards the comment received. Set only when metrics are requested.",
"type": "integer"
},
- "count": {
+ "body": {
+ "description": "Text of the comment as written by the author.",
+ "example": "I agree with this post.",
+ "type": "string"
+ },
+ "created": {
+ "description": "Time the comment was posted, in UTC (RFC 3339).",
+ "example": "2024-04-19T00:00:00Z",
+ "type": "string"
+ },
+ "created_utc": {
+ "description": "Time the comment was posted, in Unix seconds.",
+ "example": 1713484800,
"type": "integer"
},
- "event_id": {
- "example": 17199139,
+ "depth": {
+ "description": "Nesting level of the comment in the thread.",
+ "example": 1,
"type": "integer"
},
- "fetched_at": {
+ "id": {
+ "description": "Reddit comment id.",
+ "example": "kabc123",
"type": "string"
},
- "hitter": {
- "$ref": "#/definitions/sofascore.PlayerBrief"
+ "name": {
+ "description": "Reddit full name of the comment, the id prefixed with `t1_`.",
+ "example": "t1_kabc123",
+ "type": "string"
},
- "pitcher": {
- "$ref": "#/definitions/sofascore.PlayerBrief"
+ "parent_id": {
+ "description": "Full name of the post or comment this comment replies to, for example `t3_1abcxyz`.",
+ "example": "t3_1abcxyz",
+ "type": "string"
},
- "pitches": {
+ "permalink": {
+ "description": "Reddit URL of the comment.",
+ "example": "https://www.reddit.com/r/OpenAI/comments/1abcxyz/openai_discussion_thread/kabc123/",
+ "type": "string"
+ },
+ "replies": {
+ "description": "Replies to this comment, in the same shape.",
"items": {
- "$ref": "#/definitions/sofascore.BaseballPitch"
+ "$ref": "#/definitions/reddit.Comment"
},
"type": "array"
},
- "source_url": {
- "type": "string"
+ "score": {
+ "description": "Net score of the comment. Set only when metrics are requested.",
+ "type": "integer"
}
},
"type": "object"
},
- "sofascore.EventAtBatsResponse": {
+ "reddit.CommentsResponse": {
"properties": {
- "at_bats": {
+ "comments": {
+ "description": "Comments on the post.",
"items": {
- "$ref": "#/definitions/sofascore.BaseballAtBat"
+ "$ref": "#/definitions/reddit.Comment"
},
"type": "array"
},
- "count": {
- "type": "integer"
- },
- "event_id": {
- "example": 17199139,
- "type": "integer"
+ "metrics_source": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/reddit.SourceDetail"
+ }
+ ],
+ "description": "Source the engagement metrics were read from, with its type and URL. Set only when metrics are requested."
},
- "fetched_at": {
- "type": "string"
+ "post": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/reddit.Post"
+ }
+ ],
+ "description": "Post the comments belong to."
},
- "source_url": {
- "type": "string"
+ "source": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/reddit.SourceDetail"
+ }
+ ],
+ "description": "Reddit page the comments were read from."
}
},
"type": "object"
},
- "sofascore.EventAveragePositionsResponse": {
+ "reddit.DomainPostsResponse": {
"properties": {
- "away": {
- "items": {
- "$ref": "#/definitions/sofascore.AveragePosition"
- },
- "type": "array"
- },
- "event_id": {
- "example": 16363867,
- "type": "integer"
- },
- "fetched_at": {
+ "domain": {
+ "example": "openai.com",
"type": "string"
},
- "home": {
- "items": {
- "$ref": "#/definitions/sofascore.AveragePosition"
- },
- "type": "array"
- },
- "source_url": {
- "type": "string"
+ "pagination": {
+ "$ref": "#/definitions/reddit.Pagination"
},
- "substitutions": {
+ "posts": {
"items": {
- "$ref": "#/definitions/sofascore.AveragePositionSubstitution"
+ "$ref": "#/definitions/reddit.Post"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "sofascore.EventBaseballTopPerformersResponse": {
- "properties": {
- "event_id": {
- "example": 17199139,
- "type": "integer"
},
- "fetched_at": {
+ "sort": {
+ "example": "hot",
"type": "string"
},
- "performers": {
- "items": {
- "$ref": "#/definitions/sofascore.BaseballPerformer"
- },
- "type": "array"
+ "source": {
+ "$ref": "#/definitions/reddit.SourceDetail"
},
- "source_url": {
+ "time": {
+ "example": "week",
"type": "string"
}
},
"type": "object"
},
- "sofascore.EventBestPlayersResponse": {
+ "reddit.MultiSubredditPostsResponse": {
"properties": {
- "away_players": {
+ "pagination": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/reddit.Pagination"
+ }
+ ],
+ "description": "Page size and cursor for the next page."
+ },
+ "posts": {
+ "description": "Posts from the requested subreddits.",
"items": {
- "$ref": "#/definitions/sofascore.BestPlayer"
+ "$ref": "#/definitions/reddit.Post"
},
"type": "array"
},
- "event_id": {
- "example": 16363867,
- "type": "integer"
- },
- "fetched_at": {
+ "sort": {
+ "description": "Sort order that was applied, for example `hot`.",
+ "example": "hot",
"type": "string"
},
- "home_players": {
+ "source": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/reddit.SourceDetail"
+ }
+ ],
+ "description": "Reddit page the posts were read from."
+ },
+ "subreddits": {
+ "description": "Names of the subreddits that were queried.",
+ "example": [
+ "OpenAI",
+ "MachineLearning"
+ ],
"items": {
- "$ref": "#/definitions/sofascore.BestPlayer"
+ "type": "string"
},
"type": "array"
},
- "player_of_the_match": {
- "$ref": "#/definitions/sofascore.BestPlayer"
- },
- "source_url": {
+ "time": {
+ "description": "Time window that was applied, for example `week`.",
+ "example": "week",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "reddit.Pagination": {
+ "properties": {
+ "after": {
+ "description": "Cursor to pass as the `after` parameter to fetch the next page.",
+ "example": "t3_1abcxyz",
"type": "string"
},
- "top_players": {
- "items": {
- "$ref": "#/definitions/sofascore.BestPlayer"
- },
- "type": "array"
+ "limit": {
+ "description": "Maximum number of items requested for this page.",
+ "example": 25,
+ "type": "integer"
}
},
"type": "object"
},
- "sofascore.EventComment": {
+ "reddit.Post": {
"properties": {
- "assist": {
- "$ref": "#/definitions/sofascore.PlayerBrief"
+ "author": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/reddit.Author"
+ }
+ ],
+ "description": "Reddit user who submitted the post."
},
- "away_score": {
+ "award_count": {
+ "description": "Number of awards the post received. Set only when metrics are requested.",
"type": "integer"
},
- "goal_type": {
+ "comment_count": {
+ "description": "Number of comments on the post. Set only when metrics are requested.",
+ "type": "integer"
+ },
+ "created": {
+ "description": "Time the post was submitted, in UTC (RFC 3339).",
+ "example": "2024-04-19T00:00:00Z",
"type": "string"
},
- "home_score": {
+ "created_utc": {
+ "description": "Time the post was submitted, in Unix seconds.",
+ "example": 1713484800,
"type": "integer"
},
- "id": {
- "type": "integer"
+ "domain": {
+ "description": "Domain of the linked content, or `self.` for text posts.",
+ "example": "self.OpenAI",
+ "type": "string"
},
- "is_home": {
- "type": "boolean"
+ "estimated_downvotes": {
+ "description": "Approximate downvote total worked out from the score and upvote ratio. Reddit does not publish exact counts.",
+ "type": "integer"
},
- "minute": {
- "example": 94,
+ "estimated_upvotes": {
+ "description": "Approximate upvote total worked out from the score and upvote ratio. Reddit does not publish exact counts.",
"type": "integer"
},
- "penalty_drawn_by": {
- "$ref": "#/definitions/sofascore.PlayerBrief"
+ "flair": {
+ "description": "Flair text attached to the post.",
+ "example": "Discussion",
+ "type": "string"
},
- "period": {
- "example": "2ND",
+ "id": {
+ "description": "Reddit post id.",
+ "example": "1abcxyz",
"type": "string"
},
- "player": {
- "$ref": "#/definitions/sofascore.PlayerBrief"
+ "is_self": {
+ "description": "Whether the post is a text post rather than a link.",
+ "type": "boolean"
},
- "player_in": {
- "$ref": "#/definitions/sofascore.PlayerBrief"
+ "is_video": {
+ "description": "Whether the post is a video.",
+ "type": "boolean"
},
- "player_out": {
- "$ref": "#/definitions/sofascore.PlayerBrief"
+ "locked": {
+ "description": "Whether the post is locked against new comments.",
+ "type": "boolean"
},
- "text": {
- "example": "Attempt saved. Malick Fofana (Sunderland) right footed shot.",
+ "name": {
+ "description": "Reddit full name of the post, the id prefixed with `t3_`.",
+ "example": "t3_1abcxyz",
"type": "string"
},
- "time_seconds": {
- "type": "integer"
+ "over_18": {
+ "description": "Whether the post is marked as 18+ content.",
+ "type": "boolean"
},
- "type": {
- "example": "shotSaved",
+ "permalink": {
+ "description": "Reddit URL of the post's comments page.",
+ "example": "https://www.reddit.com/r/OpenAI/comments/1abcxyz/openai_discussion_thread/",
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.EventCommentsResponse": {
- "properties": {
- "comments": {
- "items": {
- "$ref": "#/definitions/sofascore.EventComment"
- },
- "type": "array"
},
- "count": {
+ "score": {
+ "description": "Net score of the post, upvotes minus downvotes as Reddit shows it. Set only when metrics are requested.",
"type": "integer"
},
- "event_id": {
- "example": 16363867,
- "type": "integer"
+ "selftext": {
+ "description": "Body text of a text post.",
+ "example": "Discussion body",
+ "type": "string"
},
- "fetched_at": {
+ "source_feed_url": {
+ "description": "URL of the Reddit feed the post was read from.",
+ "example": "https://www.reddit.com/r/OpenAI/.rss",
"type": "string"
},
- "source_url": {
+ "stickied": {
+ "description": "Whether the post is pinned to the top of its subreddit.",
+ "type": "boolean"
+ },
+ "subreddit": {
+ "description": "Name of the subreddit the post belongs to, without `r/`.",
+ "example": "OpenAI",
+ "type": "string"
+ },
+ "thumbnail": {
+ "description": "URL of the post thumbnail image.",
+ "example": "https://b.thumbs.redditmedia.com/example.jpg",
+ "type": "string"
+ },
+ "title": {
+ "description": "Title of the post as submitted.",
+ "example": "OpenAI discussion thread",
+ "type": "string"
+ },
+ "upvote_ratio": {
+ "description": "Share of votes that are upvotes, from 0 to 1. Set only when metrics are requested.",
+ "type": "number"
+ },
+ "url": {
+ "description": "Reddit URL of the post.",
+ "example": "https://www.reddit.com/r/OpenAI/comments/1abcxyz/openai_discussion_thread/",
"type": "string"
+ },
+ "vote_counts_estimated": {
+ "description": "Whether `estimated_upvotes` and `estimated_downvotes` are estimates.",
+ "type": "boolean"
}
},
"type": "object"
},
- "sofascore.EventDetail": {
+ "reddit.PostResponse": {
"properties": {
- "attendance": {
- "description": "Reported attendance.",
- "type": "integer"
- },
- "away_score": {
+ "metrics_source": {
"allOf": [
{
- "$ref": "#/definitions/sofascore.ScoreLine"
+ "$ref": "#/definitions/reddit.SourceDetail"
}
],
- "description": "Away side's score, when available."
+ "description": "Source the engagement metrics were read from, with its type and URL. Set only when metrics are requested."
},
- "away_team": {
+ "post": {
"allOf": [
{
- "$ref": "#/definitions/sofascore.TeamRef"
+ "$ref": "#/definitions/reddit.Post"
}
],
- "description": "Away side."
+ "description": "The requested post."
},
- "home_score": {
+ "source": {
"allOf": [
{
- "$ref": "#/definitions/sofascore.ScoreLine"
+ "$ref": "#/definitions/reddit.SourceDetail"
}
],
- "description": "Home side's score, when available."
- },
- "home_team": {
+ "description": "Reddit page the post was read from."
+ }
+ },
+ "type": "object"
+ },
+ "reddit.SearchResponse": {
+ "properties": {
+ "pagination": {
"allOf": [
{
- "$ref": "#/definitions/sofascore.TeamRef"
+ "$ref": "#/definitions/reddit.Pagination"
}
],
- "description": "Home side."
- },
- "id": {
- "description": "SofaScore event id. Use it with the event endpoints.",
- "example": 14025013,
- "type": "integer"
+ "description": "Page size and cursor for the next page."
},
- "referee": {
- "allOf": [
- {
- "$ref": "#/definitions/sofascore.Referee"
- }
- ],
- "description": "Match referee. Omitted when SofaScore has none for it."
+ "posts": {
+ "description": "Posts matching the search.",
+ "items": {
+ "$ref": "#/definitions/reddit.Post"
+ },
+ "type": "array"
},
- "slug": {
- "description": "URL slug of the match on SofaScore.",
+ "query": {
+ "description": "Search query that was run.",
+ "example": "openai",
"type": "string"
},
- "start_time": {
- "description": "Start time in UTC (RFC 3339).",
- "example": "2025-08-15T19:00:00Z",
+ "sort": {
+ "description": "Sort order that was applied, for example `relevance`.",
+ "example": "relevance",
"type": "string"
},
- "start_timestamp": {
- "description": "Start time as a Unix timestamp in seconds.",
- "type": "integer"
- },
- "status": {
- "allOf": [
- {
- "$ref": "#/definitions/sofascore.EventStatus"
- }
- ],
- "description": "Current status of the match."
- },
- "tournament": {
+ "source": {
"allOf": [
{
- "$ref": "#/definitions/sofascore.TournamentRef"
+ "$ref": "#/definitions/reddit.SourceDetail"
}
],
- "description": "Tournament and parent competition the match belongs to."
+ "description": "Reddit page the results were read from."
},
- "venue": {
- "allOf": [
- {
- "$ref": "#/definitions/sofascore.Venue"
- }
- ],
- "description": "Venue of the match. Omitted when SofaScore has none for it."
+ "subreddit": {
+ "description": "Subreddit the search was limited to. Omitted when the search covered all of Reddit.",
+ "example": "OpenAI",
+ "type": "string"
},
- "winner_code": {
- "description": "Result code: 1 when the home side won, 2 when the away side won, 3 for a draw. Omitted until the match is decided.",
- "type": "integer"
+ "time": {
+ "description": "Time window that was applied, for example `week`.",
+ "example": "week",
+ "type": "string"
}
},
"type": "object"
},
- "sofascore.EventEsportsGamesResponse": {
+ "reddit.SourceDetail": {
"properties": {
- "count": {
- "type": "integer"
- },
- "event_id": {
- "example": 17260338,
- "type": "integer"
- },
- "fetched_at": {
+ "type": {
+ "description": "Kind of Reddit source the data was read from.",
+ "example": "rss",
"type": "string"
},
- "games": {
- "items": {
- "$ref": "#/definitions/sofascore.EsportsGame"
- },
- "type": "array"
- },
- "source_url": {
+ "url": {
+ "description": "Reddit URL the data was read from.",
+ "example": "https://www.reddit.com/r/OpenAI/.rss",
"type": "string"
}
},
"type": "object"
},
- "sofascore.EventGraphResponse": {
+ "reddit.SubredditAboutResponse": {
"properties": {
- "count": {
- "type": "integer"
- },
- "event_id": {
- "example": 16363867,
- "type": "integer"
+ "display_name": {
+ "description": "Subreddit name in `r/name` form.",
+ "example": "r/OpenAI",
+ "type": "string"
},
- "fetched_at": {
+ "feed_url": {
+ "description": "URL of the subreddit's Reddit feed that the recent posts were read from.",
+ "example": "https://www.reddit.com/r/OpenAI.rss?limit=10",
"type": "string"
},
- "overtime_count": {
- "type": "integer"
+ "latest_post_created": {
+ "description": "Time the newest recent post was submitted, in UTC (RFC 3339).",
+ "example": "2024-04-19T00:00:00Z",
+ "type": "string"
},
- "overtime_length": {
- "example": 15,
+ "latest_post_created_utc": {
+ "description": "Time the newest recent post was submitted, in Unix seconds.",
+ "example": 1713484800,
"type": "integer"
},
- "period_count": {
- "example": 2,
- "type": "integer"
+ "public_url": {
+ "description": "Public Reddit URL of the subreddit.",
+ "example": "https://www.reddit.com/r/OpenAI/",
+ "type": "string"
},
- "period_time": {
- "example": 45,
+ "recent_post_count": {
+ "description": "Number of recent posts that were inspected.",
+ "example": 10,
"type": "integer"
},
- "points": {
+ "sample_posts": {
+ "description": "Recent posts from the subreddit.",
"items": {
- "$ref": "#/definitions/sofascore.GraphPoint"
+ "$ref": "#/definitions/reddit.Post"
},
"type": "array"
},
- "source_url": {
+ "source": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/reddit.SourceDetail"
+ }
+ ],
+ "description": "Reddit page the data was read from."
+ },
+ "subreddit": {
+ "description": "Subreddit name, without `r/`.",
+ "example": "OpenAI",
+ "type": "string"
+ },
+ "title": {
+ "description": "Subreddit title as shown on Reddit.",
+ "example": "OpenAI",
"type": "string"
}
},
"type": "object"
},
- "sofascore.EventH2HResponse": {
+ "reddit.SubredditCommentsResponse": {
"properties": {
- "event_id": {
- "description": "SofaScore event id the record belongs to.",
- "type": "integer"
- },
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "type": "string"
+ "comments": {
+ "description": "Recent comments in the subreddit.",
+ "items": {
+ "$ref": "#/definitions/reddit.Comment"
+ },
+ "type": "array"
},
- "manager_duel": {
+ "pagination": {
"allOf": [
{
- "$ref": "#/definitions/sofascore.TeamDuel"
+ "$ref": "#/definitions/reddit.Pagination"
}
],
- "description": "Record between the two managers. Omitted when SofaScore has no history for them."
- },
- "source_url": {
- "description": "SofaScore URL the data was read from.",
- "type": "string"
+ "description": "Page size and cursor for the next page."
},
- "team_duel": {
+ "source": {
"allOf": [
{
- "$ref": "#/definitions/sofascore.TeamDuel"
+ "$ref": "#/definitions/reddit.SourceDetail"
}
],
- "description": "All-time record between the two teams."
+ "description": "Reddit page the comments were read from."
+ },
+ "subreddit": {
+ "description": "Subreddit name, without `r/`.",
+ "example": "OpenAI",
+ "type": "string"
}
},
"type": "object"
},
- "sofascore.EventHighlight": {
+ "reddit.SubredditPostsResponse": {
"properties": {
- "created_at": {
- "example": "2026-09-20T22:08:35Z",
- "type": "string"
- },
- "created_timestamp": {
- "type": "integer"
- },
- "for_countries": {
- "example": [
- "BA",
- "HR"
+ "pagination": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/reddit.Pagination"
+ }
],
+ "description": "Page size and cursor for the next page."
+ },
+ "posts": {
+ "description": "Posts in the subreddit.",
"items": {
- "type": "string"
+ "$ref": "#/definitions/reddit.Post"
},
"type": "array"
},
- "id": {
- "example": 8084695,
- "type": "integer"
- },
- "key_highlight": {
- "type": "boolean"
- },
- "livestream": {
- "type": "boolean"
- },
- "media_type_code": {
- "example": 6,
- "type": "integer"
- },
- "subtitle": {
- "example": "Full Highlights",
+ "sort": {
+ "description": "Sort order that was applied, for example `hot`.",
+ "example": "hot",
"type": "string"
},
- "thumbnail_url": {
- "type": "string"
+ "source": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/reddit.SourceDetail"
+ }
+ ],
+ "description": "Reddit page the posts were read from."
},
- "title": {
- "example": "Man City 5 - 3 Sunderland",
+ "subreddit": {
+ "description": "Subreddit name, without `r/`.",
+ "example": "OpenAI",
"type": "string"
},
- "url": {
- "example": "https://www.youtube.com/watch?v=bniBAK1Idog",
+ "time": {
+ "description": "Time window that was applied, for example `week`.",
+ "example": "week",
"type": "string"
}
},
"type": "object"
},
- "sofascore.EventHighlightsResponse": {
+ "reddit.TrendsResponse": {
"properties": {
- "count": {
- "type": "integer"
- },
- "event_id": {
- "example": 16363867,
- "type": "integer"
- },
- "fetched_at": {
- "type": "string"
+ "pagination": {
+ "$ref": "#/definitions/reddit.Pagination"
},
- "highlights": {
+ "posts": {
"items": {
- "$ref": "#/definitions/sofascore.EventHighlight"
+ "$ref": "#/definitions/reddit.Post"
},
"type": "array"
},
- "source_url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.EventIncidentsResponse": {
- "properties": {
- "count": {
- "description": "Number of incidents returned.",
- "type": "integer"
- },
- "event_id": {
- "description": "SofaScore event (match) id that was requested.",
- "type": "integer"
- },
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "sort": {
+ "example": "hot",
"type": "string"
},
- "incidents": {
- "description": "Match timeline of goals, cards, substitutions and period markers.",
- "items": {
- "$ref": "#/definitions/sofascore.Incident"
- },
- "type": "array"
+ "source": {
+ "$ref": "#/definitions/reddit.SourceDetail"
},
- "source_url": {
- "description": "URL the data was read from.",
+ "time": {
+ "example": "day",
"type": "string"
}
},
"type": "object"
},
- "sofascore.EventInningsResponse": {
+ "reddit.UserCommentsResponse": {
"properties": {
- "count": {
- "type": "integer"
- },
- "event_id": {
- "example": 16253632,
- "type": "integer"
- },
- "fetched_at": {
- "type": "string"
- },
- "innings": {
+ "comments": {
+ "description": "Recent public comments by the user.",
"items": {
- "$ref": "#/definitions/sofascore.CricketInnings"
+ "$ref": "#/definitions/reddit.Comment"
},
"type": "array"
},
- "source_url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.EventLineupsResponse": {
- "properties": {
- "away": {
+ "pagination": {
"allOf": [
{
- "$ref": "#/definitions/sofascore.TeamLineup"
+ "$ref": "#/definitions/reddit.Pagination"
}
],
- "description": "Away side's lineup."
- },
- "confirmed": {
- "description": "True for the official confirmed lineups, false while they are still predicted.",
- "type": "boolean"
+ "description": "Page size and cursor for the next page."
},
- "event_id": {
- "description": "SofaScore event id the lineups belong to.",
- "type": "integer"
- },
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "type": "string"
- },
- "home": {
+ "source": {
"allOf": [
{
- "$ref": "#/definitions/sofascore.TeamLineup"
+ "$ref": "#/definitions/reddit.SourceDetail"
}
],
- "description": "Home side's lineup."
+ "description": "Reddit page the comments were read from."
},
- "source_url": {
- "description": "SofaScore URL the data was read from.",
+ "username": {
+ "description": "Reddit username that was queried.",
+ "example": "reddit",
"type": "string"
}
},
"type": "object"
},
- "sofascore.EventManagersResponse": {
+ "reddit.UserPostsResponse": {
"properties": {
- "away": {
- "$ref": "#/definitions/sofascore.ManagerBrief"
- },
- "event_id": {
- "example": 16363867,
- "type": "integer"
+ "pagination": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/reddit.Pagination"
+ }
+ ],
+ "description": "Page size and cursor for the next page."
},
- "fetched_at": {
- "type": "string"
+ "posts": {
+ "description": "Recent public posts by the user.",
+ "items": {
+ "$ref": "#/definitions/reddit.Post"
+ },
+ "type": "array"
},
- "home": {
- "$ref": "#/definitions/sofascore.ManagerBrief"
+ "source": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/reddit.SourceDetail"
+ }
+ ],
+ "description": "Reddit page the posts were read from."
},
- "source_url": {
+ "username": {
+ "description": "Reddit username that was queried.",
+ "example": "reddit",
"type": "string"
}
},
"type": "object"
},
- "sofascore.EventOddsResponse": {
+ "reddit.archiveCommentsIDsResponseDoc": {
"properties": {
- "count": {
- "description": "Number of markets returned.",
- "type": "integer"
- },
- "event_id": {
- "description": "SofaScore event id the odds belong to.",
+ "code": {
+ "example": 200,
"type": "integer"
},
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "type": "string"
- },
- "markets": {
- "description": "Betting markets for the match.",
- "items": {
- "$ref": "#/definitions/sofascore.OddsMarket"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/reddit.ArchiveCommentsIDsResponse"
},
- "source_url": {
- "description": "SofaScore URL the data was read from.",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "sofascore.EventPlayerHeatmapResponse": {
+ "reddit.archiveCommentsSearchResponseDoc": {
"properties": {
- "count": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "event_id": {
- "example": 16363867,
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/reddit.ArchiveCommentsSearchResponse"
},
- "fetched_at": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "player_id": {
- "example": 839956,
+ }
+ },
+ "type": "object"
+ },
+ "reddit.archiveCommentsTreeResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "points": {
- "items": {
- "$ref": "#/definitions/sofascore.HeatmapPoint"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/reddit.ArchiveCommentsTreeResponse"
},
- "source_url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "sofascore.EventPlayerStatisticsResponse": {
+ "reddit.archivePostsIDsResponseDoc": {
"properties": {
- "event_id": {
- "example": 16363867,
- "type": "integer"
- },
- "fetched_at": {
- "type": "string"
- },
- "player": {
- "$ref": "#/definitions/sofascore.PlayerBrief"
- },
- "player_id": {
- "example": 839956,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "position": {
- "example": "F",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/reddit.ArchivePostsIDsResponse"
},
- "source_url": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "statistics": {
- "additionalProperties": {
- "format": "float64",
- "type": "number"
- },
- "type": "object"
- },
- "team": {
- "$ref": "#/definitions/sofascore.TeamRef"
}
},
"type": "object"
},
- "sofascore.EventPointByPointResponse": {
+ "reddit.archivePostsSearchResponseDoc": {
"properties": {
- "event_id": {
- "example": 17257382,
- "type": "integer"
- },
- "fetched_at": {
- "type": "string"
- },
- "set_count": {
- "example": 3,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "sets": {
- "items": {
- "$ref": "#/definitions/sofascore.PointByPointSet"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/reddit.ArchivePostsSearchResponse"
},
- "source_url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "sofascore.EventPregameFormResponse": {
+ "reddit.archiveSubredditsSearchResponseDoc": {
"properties": {
- "away": {
- "$ref": "#/definitions/sofascore.PregameFormSide"
- },
- "event_id": {
- "example": 16363867,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "fetched_at": {
- "type": "string"
- },
- "home": {
- "$ref": "#/definitions/sofascore.PregameFormSide"
- },
- "label": {
- "example": "Pts",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/reddit.ArchiveSubredditsSearchResponse"
},
- "source_url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "sofascore.EventResponse": {
+ "reddit.archiveTimeSeriesResponseDoc": {
"properties": {
- "event": {
- "allOf": [
- {
- "$ref": "#/definitions/sofascore.EventDetail"
- }
- ],
- "description": "The match."
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/reddit.ArchiveTimeSeriesResponse"
},
- "source_url": {
- "description": "SofaScore URL the data was read from.",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "sofascore.EventShotmapResponse": {
+ "reddit.commentsResponseDoc": {
"properties": {
- "count": {
- "type": "integer"
- },
- "event_id": {
- "example": 16363867,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "fetched_at": {
- "type": "string"
- },
- "shots": {
- "items": {
- "$ref": "#/definitions/sofascore.Shot"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/reddit.CommentsResponse"
},
- "source_url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "sofascore.EventStatisticsResponse": {
+ "reddit.domainPostsResponseDoc": {
"properties": {
- "event_id": {
- "description": "SofaScore event id the statistics belong to.",
+ "code": {
+ "example": 200,
"type": "integer"
},
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "type": "string"
- },
- "periods": {
- "description": "Statistics for the whole match and for each period.",
- "items": {
- "$ref": "#/definitions/sofascore.StatPeriod"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/reddit.DomainPostsResponse"
},
- "source_url": {
- "description": "SofaScore URL the data was read from.",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "sofascore.EventStatus": {
+ "reddit.leadsResponseDoc": {
"properties": {
"code": {
- "description": "SofaScore's numeric status code, for example 0 for not started and 100 for ended.",
+ "example": 200,
"type": "integer"
},
- "description": {
- "description": "Status as displayed, for example \"Ended\".",
- "example": "Ended",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/redditleads.Response"
},
- "type": {
- "description": "Status group, for example `notstarted`, `inprogress` or `finished`.",
- "example": "finished",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "sofascore.EventSummary": {
+ "reddit.multiSubredditPostsResponseDoc": {
"properties": {
- "away_score": {
- "allOf": [
- {
- "$ref": "#/definitions/sofascore.ScoreLine"
- }
- ],
- "description": "Away side's score, when available."
- },
- "away_team": {
- "allOf": [
- {
- "$ref": "#/definitions/sofascore.TeamRef"
- }
- ],
- "description": "Away side."
- },
- "home_score": {
- "allOf": [
- {
- "$ref": "#/definitions/sofascore.ScoreLine"
- }
- ],
- "description": "Home side's score, when available."
- },
- "home_team": {
- "allOf": [
- {
- "$ref": "#/definitions/sofascore.TeamRef"
- }
- ],
- "description": "Home side."
- },
- "id": {
- "description": "SofaScore event id. Use it with the event endpoints.",
- "example": 14025013,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "slug": {
- "description": "URL slug of the match on SofaScore.",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/reddit.MultiSubredditPostsResponse"
},
- "start_time": {
- "description": "Start time in UTC (RFC 3339).",
- "example": "2025-08-15T19:00:00Z",
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "start_timestamp": {
- "description": "Start time as a Unix timestamp in seconds.",
+ }
+ },
+ "type": "object"
+ },
+ "reddit.postResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "status": {
- "allOf": [
- {
- "$ref": "#/definitions/sofascore.EventStatus"
- }
- ],
- "description": "Current status of the match."
- },
- "tournament": {
- "allOf": [
- {
- "$ref": "#/definitions/sofascore.TournamentRef"
- }
- ],
- "description": "Tournament and parent competition the match belongs to."
+ "data": {
+ "$ref": "#/definitions/reddit.PostResponse"
},
- "winner_code": {
- "description": "Result code: 1 when the home side won, 2 when the away side won, 3 for a draw. Omitted until the match is decided.",
- "type": "integer"
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "sofascore.EventTVChannelsResponse": {
+ "reddit.searchResponseDoc": {
"properties": {
- "available_countries": {
- "items": {
- "$ref": "#/definitions/sofascore.TVCountryChannels"
- },
- "type": "array"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "channels": {
- "items": {
- "$ref": "#/definitions/sofascore.TVChannel"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/reddit.SearchResponse"
},
- "country": {
- "example": "GB",
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "event_id": {
- "example": 16363867,
+ }
+ },
+ "type": "object"
+ },
+ "reddit.subredditAboutResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "fetched_at": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/reddit.SubredditAboutResponse"
},
- "source_url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "sofascore.EventTeamHeatmapResponse": {
+ "reddit.subredditCommentsResponseDoc": {
"properties": {
- "event_id": {
- "example": 16363867,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "fetched_at": {
- "type": "string"
- },
- "goalkeeper_points": {
- "items": {
- "$ref": "#/definitions/sofascore.HeatmapPoint"
- },
- "type": "array"
- },
- "player_points": {
- "items": {
- "$ref": "#/definitions/sofascore.HeatmapPoint"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/reddit.SubredditCommentsResponse"
},
- "source_url": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "team_id": {
- "example": 17,
- "type": "integer"
}
},
"type": "object"
},
- "sofascore.EventTeamStreaksResponse": {
+ "reddit.subredditPostsResponseDoc": {
"properties": {
- "event_id": {
- "example": 16363867,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "fetched_at": {
- "type": "string"
- },
- "general": {
- "items": {
- "$ref": "#/definitions/sofascore.TeamStreak"
- },
- "type": "array"
- },
- "head2head": {
- "items": {
- "$ref": "#/definitions/sofascore.TeamStreak"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/reddit.SubredditPostsResponse"
},
- "source_url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "sofascore.EventTennisPowerResponse": {
+ "reddit.trendsResponseDoc": {
"properties": {
- "count": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "event_id": {
- "example": 17257382,
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/reddit.TrendsResponse"
},
- "fetched_at": {
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "reddit.userCommentsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "games": {
- "items": {
- "$ref": "#/definitions/sofascore.TennisPowerGame"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/reddit.UserCommentsResponse"
},
- "source_url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "sofascore.EventVotesResponse": {
+ "reddit.userPostsResponseDoc": {
"properties": {
- "both_teams_to_score": {
- "$ref": "#/definitions/sofascore.VoteBothTeamsToScore"
- },
- "event_id": {
- "example": 16363867,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "fetched_at": {
- "type": "string"
- },
- "first_to_score": {
- "$ref": "#/definitions/sofascore.VoteFirstToScore"
- },
- "match_result": {
- "$ref": "#/definitions/sofascore.VoteMatchResult"
+ "data": {
+ "$ref": "#/definitions/reddit.UserPostsResponse"
},
- "source_url": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "who_should_have_won": {
- "$ref": "#/definitions/sofascore.VoteWhoShouldHaveWon"
}
},
"type": "object"
},
- "sofascore.FeatureTournament": {
+ "redditleads.Lead": {
"properties": {
- "category_id": {
- "example": 1465,
- "type": "integer"
- },
- "category_name": {
- "example": "Europe",
+ "author": {
+ "example": "someuser",
"type": "string"
},
- "id": {
- "example": 7,
+ "comment_count": {
+ "example": 12,
"type": "integer"
},
- "name": {
- "example": "UEFA Champions League",
+ "created": {
+ "example": "2026-08-01T00:00:00Z",
"type": "string"
},
- "slug": {
- "example": "uefa-champions-league",
+ "permalink": {
+ "example": "https://www.reddit.com/r/smallbusiness/comments/1abcxyz/",
"type": "string"
},
- "sport": {
- "example": "football",
+ "post_score": {
+ "example": 20,
+ "type": "integer"
+ },
+ "reason": {
+ "example": "Asking for a CRM and states a monthly budget.",
"type": "string"
},
- "user_count": {
+ "score": {
+ "example": 9,
"type": "integer"
+ },
+ "signals": {
+ "items": {
+ "$ref": "#/definitions/redditleads.Signal"
+ },
+ "type": "array"
+ },
+ "subreddit": {
+ "example": "smallbusiness",
+ "type": "string"
+ },
+ "title": {
+ "example": "Looking for a CRM for a 3-person team, budget ~$50/mo",
+ "type": "string"
}
},
"type": "object"
},
- "sofascore.GoalDistribution": {
+ "redditleads.Response": {
"properties": {
- "conceded_goals": {
- "example": 5,
- "type": "integer"
+ "classifier": {
+ "example": "llm",
+ "type": "string"
},
- "matches": {
- "example": 5,
- "type": "integer"
+ "degraded": {
+ "example": false,
+ "type": "boolean"
},
- "periods": {
+ "leads": {
"items": {
- "$ref": "#/definitions/sofascore.GoalPeriod"
+ "$ref": "#/definitions/redditleads.Lead"
},
"type": "array"
},
- "scored_goals": {
- "example": 13,
+ "min_score": {
+ "example": 4,
"type": "integer"
},
- "type": {
- "example": "overall",
+ "model": {
+ "example": "gpt-5.4",
+ "type": "string"
+ },
+ "query": {
+ "example": "crm for small teams",
+ "type": "string"
+ },
+ "stats": {
+ "$ref": "#/definitions/redditleads.Stats"
+ },
+ "subreddit": {
+ "example": "smallbusiness",
"type": "string"
}
},
"type": "object"
},
- "sofascore.GoalPeriod": {
+ "redditleads.Signal": {
"properties": {
- "conceded_goals": {
- "example": 1,
+ "id": {
+ "example": "explicit-ask",
+ "type": "string"
+ },
+ "label": {
+ "example": "asking for a tool",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "redditleads.Stats": {
+ "properties": {
+ "classified": {
+ "example": 12,
"type": "integer"
},
- "end_minute": {
- "example": 15,
+ "prefiltered": {
+ "example": 88,
"type": "integer"
},
- "scored_goals": {
- "example": 1,
+ "returned": {
+ "example": 9,
"type": "integer"
},
- "start_minute": {
- "example": 1,
+ "scanned": {
+ "example": 100,
"type": "integer"
}
},
"type": "object"
},
- "sofascore.GrandSlamTournament": {
+ "redfin.EstimateResponse": {
"properties": {
- "name": {
- "example": "Australian Open, Men",
+ "address": {
+ "description": "Street address of the property.",
"type": "string"
},
- "tournament_id": {
- "example": 2363,
- "type": "integer"
+ "baths": {
+ "description": "Number of bathrooms.",
+ "type": "number"
},
- "years": {
+ "beds": {
+ "description": "Number of bedrooms.",
+ "type": "number"
+ },
+ "city_time_series": {
+ "description": "Monthly values for the city the property is in, ending at `updated_at`, for comparison.",
"items": {
- "$ref": "#/definitions/sofascore.GrandSlamYear"
+ "type": "number"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "sofascore.GrandSlamYear": {
- "properties": {
- "is_live": {
- "type": "boolean"
},
- "is_upcoming": {
- "type": "boolean"
+ "county_time_series": {
+ "description": "Monthly values for the county the property is in, ending at `updated_at`, for comparison.",
+ "items": {
+ "type": "number"
+ },
+ "type": "array"
},
- "round": {
- "example": "Final",
+ "estimate": {
+ "description": "Redfin Estimate of the home's value, in US dollars. Omitted when Redfin shows no estimate.",
+ "type": "number"
+ },
+ "estimate_text": {
+ "description": "Estimate as Redfin displays it, for example `$1.85M`, or `Estimate Not Available`.",
"type": "string"
},
- "season_id": {
- "example": 48186,
- "type": "integer"
+ "latitude": {
+ "description": "Latitude of the property.",
+ "type": "number"
},
- "winner": {
- "type": "boolean"
+ "listing_price": {
+ "description": "Current listing price of the home, in US dollars.",
+ "type": "number"
},
- "year": {
- "example": 2023,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "sofascore.GraphPoint": {
- "properties": {
- "minute": {
- "example": 45.5,
+ "longitude": {
+ "description": "Longitude of the property.",
"type": "number"
},
- "value": {
- "example": -12,
+ "postal_code_time_series": {
+ "description": "Monthly values for the postal code the property is in, ending at `updated_at`, for comparison.",
+ "items": {
+ "type": "number"
+ },
+ "type": "array"
+ },
+ "property_id": {
+ "description": "Redfin property id the estimate is for.",
+ "example": "1715020",
+ "type": "string"
+ },
+ "property_time_series": {
+ "description": "Monthly Redfin Estimate values for this property, in US dollars, ending at `updated_at`.",
+ "items": {
+ "type": "number"
+ },
+ "type": "array"
+ },
+ "sqft": {
+ "description": "Interior living area in square feet.",
"type": "number"
+ },
+ "updated_at": {
+ "description": "Time the estimate history was last updated, in Unix milliseconds. The monthly series end at this date.",
+ "type": "integer"
+ },
+ "year_built": {
+ "description": "Year the home was built.",
+ "type": "integer"
}
},
"type": "object"
},
- "sofascore.HeatmapPoint": {
+ "redfin.PropertyItem": {
"properties": {
- "x": {
- "example": 47.6,
+ "address": {
+ "description": "Street address of the property.",
+ "type": "string"
+ },
+ "baths": {
+ "description": "Number of bathrooms.",
"type": "number"
},
- "y": {
- "example": 55.9,
+ "beds": {
+ "description": "Number of bedrooms.",
"type": "number"
- }
- },
- "type": "object"
- },
- "sofascore.Incident": {
- "properties": {
- "added_time": {
- "description": "Minutes of added time at the point of the incident.",
- "type": "integer"
},
- "away_score": {
- "description": "Away team's score after the incident.",
+ "city": {
+ "description": "City the property is in.",
+ "type": "string"
+ },
+ "days_on_market": {
+ "description": "Number of days the home has been on the market.",
"type": "integer"
},
- "card_color": {
- "description": "Color of the card, such as `yellow` or `red`. Set for card incidents.",
- "example": "yellow",
+ "hoa_monthly": {
+ "description": "Homeowners association fee per month.",
+ "type": "number"
+ },
+ "image": {
+ "description": "URL of the listing image.",
"type": "string"
},
- "home_score": {
- "description": "Home team's score after the incident.",
- "type": "integer"
+ "latitude": {
+ "description": "Latitude of the property.",
+ "type": "number"
},
- "is_home": {
- "description": "Whether the incident belongs to the home team.",
- "type": "boolean"
+ "listing_id": {
+ "description": "Redfin listing id of the current listing.",
+ "type": "string"
},
- "player": {
- "description": "Name of the player involved in the incident.",
+ "longitude": {
+ "description": "Longitude of the property.",
+ "type": "number"
+ },
+ "lot_size": {
+ "description": "Size of the lot as Redfin lists it.",
+ "type": "number"
+ },
+ "mls_number": {
+ "description": "Multiple Listing Service (MLS) number of the listing.",
"type": "string"
},
- "player_in": {
- "description": "Name of the player coming on in a substitution.",
+ "price": {
+ "description": "Listing or sale price in US dollars.",
+ "type": "number"
+ },
+ "price_per_sqft": {
+ "description": "Price per square foot of living area.",
+ "type": "number"
+ },
+ "property_id": {
+ "description": "Redfin property id. Use it with the property, estimate and similar endpoints.",
+ "example": "1715020",
"type": "string"
},
- "player_out": {
- "description": "Name of the player going off in a substitution.",
+ "property_type": {
+ "description": "Type of property, for example `Condo/Co-op`.",
"type": "string"
},
- "reason": {
- "description": "Reason SofaScore gives for the incident.",
+ "sqft": {
+ "description": "Interior living area in square feet.",
+ "type": "number"
+ },
+ "state": {
+ "description": "State the property is in.",
"type": "string"
},
- "text": {
- "description": "Short label for the incident, such as `FT` for full time.",
- "example": "FT",
+ "status": {
+ "description": "Listing status as Redfin shows it, for example `Active`.",
"type": "string"
},
- "time": {
- "description": "Match minute at which the incident happened.",
+ "url": {
+ "description": "Redfin page URL of the listing.",
+ "type": "string"
+ },
+ "year_built": {
+ "description": "Year the home was built.",
"type": "integer"
},
- "type": {
- "description": "Incident type, such as `period`, `goal`, `card` or `substitution`.",
- "example": "goal",
+ "zip": {
+ "description": "ZIP or postal code of the property.",
"type": "string"
}
},
"type": "object"
},
- "sofascore.LineupPlayer": {
+ "redfin.PropertyResponse": {
"properties": {
- "jersey_number": {
- "description": "Shirt number worn in this match.",
+ "address": {
+ "description": "Street address of the property.",
"type": "string"
},
- "player": {
- "allOf": [
- {
- "$ref": "#/definitions/sofascore.PlayerRef"
- }
- ],
- "description": "The player."
+ "baths": {
+ "description": "Number of bathrooms.",
+ "type": "number"
},
- "position": {
- "description": "Position in this match, for example G, D, M or F.",
+ "beds": {
+ "description": "Number of bedrooms.",
+ "type": "number"
+ },
+ "city": {
+ "description": "City the property is in.",
"type": "string"
},
- "substitute": {
- "description": "True for a player on the bench.",
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "sofascore.LiveEventsResponse": {
- "properties": {
- "count": {
- "description": "Number of events returned.",
- "example": 10,
+ "days_on_market": {
+ "description": "Number of days the home has been on the market.",
"type": "integer"
},
- "events": {
- "description": "Matches currently in progress.",
+ "description": {
+ "type": "string"
+ },
+ "facts": {
"items": {
- "$ref": "#/definitions/sofascore.EventSummary"
+ "type": "string"
},
"type": "array"
},
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "type": "string"
+ "hoa_monthly": {
+ "description": "Homeowners association fee per month.",
+ "type": "number"
},
- "source_url": {
- "description": "SofaScore URL the data was read from.",
+ "image": {
+ "description": "URL of the listing image.",
"type": "string"
},
- "sport": {
- "description": "Sport the events belong to.",
- "example": "football",
+ "latitude": {
+ "description": "Latitude of the property.",
+ "type": "number"
+ },
+ "listing_id": {
+ "description": "Redfin listing id of the current listing.",
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.MMACardResponse": {
- "properties": {
- "card_id": {
- "example": 197311,
- "type": "integer"
},
- "card_name": {
- "example": "UFC 332: Silva vs. Wang",
+ "longitude": {
+ "description": "Longitude of the property.",
+ "type": "number"
+ },
+ "lot_size": {
+ "description": "Size of the lot as Redfin lists it.",
+ "type": "number"
+ },
+ "mls_number": {
+ "description": "Multiple Listing Service (MLS) number of the listing.",
"type": "string"
},
- "count": {
- "type": "integer"
+ "price": {
+ "description": "Listing or sale price in US dollars.",
+ "type": "number"
},
- "fetched_at": {
+ "price_per_sqft": {
+ "description": "Price per square foot of living area.",
+ "type": "number"
+ },
+ "property_id": {
+ "description": "Redfin property id. Use it with the property, estimate and similar endpoints.",
+ "example": "1715020",
"type": "string"
},
- "fights": {
- "items": {
- "$ref": "#/definitions/sofascore.MMAFight"
- },
- "type": "array"
+ "property_type": {
+ "description": "Type of property, for example `Condo/Co-op`.",
+ "type": "string"
},
- "org_id": {
- "example": 19906,
- "type": "integer"
+ "sqft": {
+ "description": "Interior living area in square feet.",
+ "type": "number"
},
- "part": {
- "example": "all",
+ "state": {
+ "description": "State the property is in.",
"type": "string"
},
- "source_url": {
+ "status": {
+ "description": "Listing status as Redfin shows it, for example `Active`.",
+ "type": "string"
+ },
+ "url": {
+ "description": "Redfin page URL of the listing.",
+ "type": "string"
+ },
+ "year_built": {
+ "description": "Year the home was built.",
+ "type": "integer"
+ },
+ "zip": {
+ "description": "ZIP or postal code of the property.",
"type": "string"
}
},
"type": "object"
},
- "sofascore.MMAFight": {
+ "redfin.RegionTrendsResponse": {
"properties": {
- "away_fighter": {
- "$ref": "#/definitions/sofascore.MMAFighter"
- },
- "card_id": {
- "example": 197311,
- "type": "integer"
- },
- "card_name": {
- "example": "UFC 332: Silva vs. Wang",
+ "avg_days_on_market": {
+ "description": "Average number of days homes in the region spend on the market, as Redfin displays it.",
"type": "string"
},
- "fight_type": {
- "description": "FightType is the card segment the bout belongs to: `maincard`, `prelims`\nor `earlyprelims`.",
- "example": "maincard",
+ "avg_down_payment": {
+ "description": "Average down payment in the region, as Redfin displays it, for example `35.7%`.",
"type": "string"
},
- "final_round": {
- "description": "FinalRound is the round the bout ended in; ScheduledRounds is its\nscheduled length. TimePlayedSeconds is the fight time actually fought.",
- "example": 5,
- "type": "integer"
+ "avg_num_offers": {
+ "description": "Average number of offers per sold home in the region, as Redfin displays it.",
+ "type": "string"
},
- "gender": {
- "example": "F",
+ "median_list_per_sqft": {
+ "description": "Median listing price per square foot in the region, as Redfin displays it.",
"type": "string"
},
- "home_fighter": {
- "$ref": "#/definitions/sofascore.MMAFighter"
+ "median_list_price": {
+ "description": "Median listing price in the region, as Redfin displays it, for example `$1.29M`.",
+ "example": "$1.29M",
+ "type": "string"
},
- "id": {
- "example": 17042538,
- "type": "integer"
+ "median_sale_per_list": {
+ "description": "Median ratio of sale price to listing price in the region, as Redfin displays it, for example `115.5%`.",
+ "type": "string"
},
- "order": {
- "description": "Order is the bout's position on the card; the highest number is the main\nevent.",
- "example": 14,
- "type": "integer"
+ "median_sale_per_sqft": {
+ "description": "Median sale price per square foot in the region, as Redfin displays it.",
+ "type": "string"
},
- "scheduled_rounds": {
- "example": 5,
- "type": "integer"
+ "median_sale_price": {
+ "description": "Median sale price in the region, as Redfin displays it, for example `$1.76M`.",
+ "example": "$1.76M",
+ "type": "string"
},
- "slug": {
- "example": "wang-cong-natalia-silva",
+ "num_homes_on_market": {
+ "description": "Number of homes currently on the market in the region, as Redfin displays it.",
"type": "string"
},
- "start_time": {
- "example": "2026-10-02T02:12:33Z",
+ "num_homes_sold": {
+ "description": "Number of homes sold in the region, as Redfin displays it.",
"type": "string"
},
- "start_timestamp": {
+ "region_id": {
+ "description": "Redfin region id the trends are for.",
+ "example": 17151,
"type": "integer"
},
- "status": {
- "$ref": "#/definitions/sofascore.EventStatus"
- },
- "time_played_seconds": {
- "example": 1500,
+ "region_type": {
+ "description": "Type of region: `1` neighborhood, `2` ZIP code, `5` county or `6` city.",
+ "example": 6,
"type": "integer"
},
- "weight_class": {
- "description": "WeightClass is SofaScore's division key, for example `fly`, `bantam`,\n`feather`, `light`, `welter`, `middle`, `lightheavy`, `heavy` or `straw`.",
- "example": "fly",
+ "yoy_sale_per_sqft": {
+ "description": "Year-over-year change in sale price per square foot, as Redfin displays it, for example `+12.6%`.",
"type": "string"
},
- "win_type": {
- "description": "WinType is how the bout ended, for example `KO`, `TKO`, `SUB`, `UD`, `SD`\nor `NC`; omitted until it has ended.",
- "example": "UD",
+ "yoy_sale_price": {
+ "description": "Year-over-year change in sale price, as Redfin displays it, for example `+14.0%`.",
"type": "string"
- },
- "winner_code": {
- "description": "WinnerCode is 1 when the home fighter won, 2 for the away fighter; absent\nuntil decided.",
- "example": 1,
- "type": "integer"
}
},
"type": "object"
},
- "sofascore.MMAFighter": {
+ "redfin.SearchResponse": {
"properties": {
- "country": {
- "example": "Brazil",
+ "location": {
+ "description": "Location that was searched, as entered or resolved.",
+ "example": "San Francisco, CA",
"type": "string"
},
- "draws": {
+ "page": {
+ "description": "Page number returned.",
"example": 1,
"type": "integer"
},
- "id": {
- "example": 461932,
+ "region_id": {
+ "description": "Redfin region id the search ran against.",
+ "example": 17151,
"type": "integer"
},
- "losses": {
- "example": 5,
+ "region_type": {
+ "description": "Type of region searched: `1` neighborhood, `2` ZIP code, `5` county or `6` city.",
+ "example": 6,
"type": "integer"
},
- "name": {
- "example": "Natália Silva",
+ "results": {
+ "description": "Listings on this page, one item per property.",
+ "items": {
+ "$ref": "#/definitions/redfin.PropertyItem"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "redfin.SimilarResponse": {
+ "properties": {
+ "property_id": {
+ "example": "1715020",
"type": "string"
},
- "nickname": {
- "example": "Deus da Guerra",
+ "results": {
+ "items": {
+ "$ref": "#/definitions/redfin.PropertyItem"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "rednote.Channel": {
+ "properties": {
+ "id": {
+ "example": "homefeed.food_v3",
"type": "string"
},
- "ranking": {
- "description": "Ranking is the fighter's division ranking; 0 is the champion, and it is\nomitted for an unranked fighter.",
- "example": 0,
- "type": "integer"
- },
- "slug": {
- "example": "natalia-silva",
+ "name": {
+ "example": "Food",
"type": "string"
- },
- "wins": {
- "description": "Wins, Draws and Losses are the professional record going into the fight.",
- "example": 21,
- "type": "integer"
}
},
"type": "object"
},
- "sofascore.MMAScheduleResponse": {
+ "rednote.Comment": {
"properties": {
- "count": {
+ "author": {
+ "$ref": "#/definitions/rednote.CommentAuthor"
+ },
+ "comment_id": {
+ "example": "0123456789abcdef01234567",
+ "type": "string"
+ },
+ "content": {
+ "type": "string"
+ },
+ "created_at": {
+ "example": 1700000000,
"type": "integer"
},
- "fetched_at": {
+ "ip_location": {
+ "example": "Shanghai",
"type": "string"
},
- "main_events": {
+ "like_count": {
+ "example": 12,
+ "type": "integer"
+ },
+ "sub_comment_count": {
+ "example": 3,
+ "type": "integer"
+ },
+ "sub_comments": {
"items": {
- "$ref": "#/definitions/sofascore.MMAFight"
+ "$ref": "#/definitions/rednote.Comment"
},
"type": "array"
- },
- "month": {
- "example": "2026-10",
+ }
+ },
+ "type": "object"
+ },
+ "rednote.CommentAuthor": {
+ "properties": {
+ "avatar_url": {
"type": "string"
},
- "org_id": {
- "example": 19906,
- "type": "integer"
+ "nickname": {
+ "example": "synthetic_user",
+ "type": "string"
},
- "source_url": {
+ "user_id": {
+ "example": "000000000000000000000002",
"type": "string"
}
},
"type": "object"
},
- "sofascore.ManagerBrief": {
+ "rednote.CommentsResponse": {
"properties": {
- "id": {
- "example": 794873,
+ "count": {
+ "example": 20,
"type": "integer"
},
- "name": {
- "example": "Enzo Maresca",
+ "cursor": {
"type": "string"
},
- "short_name": {
- "example": "E. Maresca",
- "type": "string"
+ "has_more": {
+ "type": "boolean"
},
- "slug": {
- "example": "enzo-maresca",
+ "items": {
+ "items": {
+ "$ref": "#/definitions/rednote.Comment"
+ },
+ "type": "array"
+ },
+ "note_id": {
+ "example": "0123456789abcdef01234567",
"type": "string"
}
},
"type": "object"
},
- "sofascore.ManagerDetail": {
+ "rednote.ExploreCard": {
"properties": {
- "country": {
- "example": "Italy",
- "type": "string"
+ "author": {
+ "$ref": "#/definitions/rednote.NoteAuthor"
},
- "date_of_birth": {
- "example": "1980-02-10",
+ "cover_url": {
"type": "string"
},
- "deceased": {
- "type": "boolean"
- },
- "former_player_id": {
- "example": 2026,
- "type": "integer"
- },
- "id": {
- "example": 794873,
+ "liked_count": {
+ "example": 1255,
"type": "integer"
},
- "name": {
- "example": "Enzo Maresca",
+ "note_id": {
+ "example": "0123456789abcdef01234567",
"type": "string"
},
- "nationality_code": {
- "example": "ITA",
+ "note_url": {
"type": "string"
},
- "nationality_iso2": {
- "example": "IT",
+ "title": {
"type": "string"
},
- "performance": {
- "$ref": "#/definitions/sofascore.ManagerPerformance"
- },
- "preferred_formation": {
- "example": "4-2-3-1",
+ "type": {
+ "example": "video",
"type": "string"
},
- "short_name": {
- "example": "E. Maresca",
+ "xsec_token": {
"type": "string"
- },
- "slug": {
- "example": "enzo-maresca",
+ }
+ },
+ "type": "object"
+ },
+ "rednote.ExploreResponse": {
+ "properties": {
+ "channel_id": {
+ "example": "homefeed_recommend",
"type": "string"
},
- "team": {
- "$ref": "#/definitions/sofascore.TeamRef"
+ "channels": {
+ "items": {
+ "$ref": "#/definitions/rednote.Channel"
+ },
+ "type": "array"
},
- "teams": {
+ "count": {
+ "example": 30,
+ "type": "integer"
+ },
+ "items": {
"items": {
- "$ref": "#/definitions/sofascore.TeamRef"
+ "$ref": "#/definitions/rednote.ExploreCard"
},
"type": "array"
}
},
"type": "object"
},
- "sofascore.ManagerEventsResponse": {
+ "rednote.NoteAuthor": {
"properties": {
- "count": {
- "type": "integer"
+ "avatar_url": {
+ "type": "string"
},
- "events": {
+ "nickname": {
+ "example": "synthetic_user",
+ "type": "string"
+ },
+ "user_id": {
+ "example": "000000000000000000000002",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "rednote.NoteResponse": {
+ "properties": {
+ "author": {
+ "$ref": "#/definitions/rednote.NoteAuthor"
+ },
+ "description": {
+ "type": "string"
+ },
+ "image_urls": {
"items": {
- "$ref": "#/definitions/sofascore.EventSummary"
+ "type": "string"
},
"type": "array"
},
- "fetched_at": {
+ "note_id": {
+ "example": "0123456789abcdef01234567",
"type": "string"
},
- "has_next_page": {
- "type": "boolean"
+ "published_at": {
+ "type": "string"
},
- "manager_id": {
- "example": 794873,
- "type": "integer"
+ "stats": {
+ "$ref": "#/definitions/rednote.NoteStats"
},
- "page": {
- "type": "integer"
+ "tags": {
+ "items": {
+ "$ref": "#/definitions/rednote.NoteTag"
+ },
+ "type": "array"
},
- "source_url": {
+ "title": {
+ "type": "string"
+ },
+ "type": {
+ "example": "normal",
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "video_duration_seconds": {
+ "type": "number"
+ },
+ "video_url": {
"type": "string"
}
},
"type": "object"
},
- "sofascore.ManagerPerformance": {
+ "rednote.NoteStats": {
"properties": {
- "draws": {
- "example": 30,
- "type": "integer"
- },
- "goals_conceded": {
- "example": 211,
- "type": "integer"
- },
- "goals_scored": {
- "example": 418,
- "type": "integer"
- },
- "losses": {
- "example": 44,
+ "collected_count": {
+ "example": 7,
"type": "integer"
},
- "total": {
- "example": 194,
+ "comment_count": {
+ "example": 3,
"type": "integer"
},
- "total_points": {
- "example": 390,
+ "liked_count": {
+ "example": 42,
"type": "integer"
},
- "wins": {
- "example": 120,
+ "share_count": {
+ "example": 1,
"type": "integer"
}
},
"type": "object"
},
- "sofascore.ManagerResponse": {
+ "rednote.NoteTag": {
"properties": {
- "fetched_at": {
+ "id": {
"type": "string"
},
- "manager": {
- "$ref": "#/definitions/sofascore.ManagerDetail"
- },
- "source_url": {
+ "name": {
+ "example": "synthetic_tag",
"type": "string"
}
},
"type": "object"
},
- "sofascore.MoverOddsChoice": {
+ "rednote.SuggestItem": {
"properties": {
- "change": {
- "description": "Change is 1 when the fractional price is above its opening value, -1\nwhen below it and 0 when unchanged.",
- "example": 1,
- "type": "integer"
+ "highlight_flags": {
+ "items": {
+ "type": "boolean"
+ },
+ "type": "array"
},
- "initial_value": {
- "example": "31/50",
+ "search_type": {
+ "example": "notes",
"type": "string"
},
- "name": {
- "example": "1",
+ "text": {
+ "example": "coffee",
"type": "string"
},
- "value": {
- "example": "29/100",
+ "type": {
+ "example": "top_note",
"type": "string"
}
},
"type": "object"
},
- "sofascore.MoverOddsMarket": {
+ "rednote.SuggestResponse": {
"properties": {
- "choices": {
+ "count": {
+ "example": 10,
+ "type": "integer"
+ },
+ "items": {
"items": {
- "$ref": "#/definitions/sofascore.MoverOddsChoice"
+ "$ref": "#/definitions/rednote.SuggestItem"
},
"type": "array"
},
- "group": {
- "example": "1X2",
+ "keyword": {
+ "example": "coffee",
"type": "string"
},
- "is_live": {
- "type": "boolean"
- },
- "name": {
- "example": "Full time",
+ "search_cpl_id": {
"type": "string"
},
- "period": {
- "example": "Full-time",
+ "word_request_id": {
"type": "string"
- },
- "suspended": {
- "type": "boolean"
}
},
"type": "object"
},
- "sofascore.NamedCode": {
+ "rednote.commentsResponseDoc": {
"properties": {
"code": {
- "example": "EN",
- "type": "string"
+ "example": 200,
+ "type": "integer"
},
- "name": {
- "example": "England",
+ "data": {
+ "$ref": "#/definitions/rednote.CommentsResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "sofascore.OddsChoice": {
+ "rednote.exploreResponseDoc": {
"properties": {
- "name": {
- "description": "Outcome label, for example 1, X or 2.",
- "example": "1",
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "value": {
- "description": "Fractional odds, for example 29/100.",
- "example": "29/100",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/rednote.ExploreResponse"
},
- "winning": {
- "description": "True when this outcome won.",
- "type": "boolean"
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "sofascore.OddsDroppingEvent": {
+ "rednote.noteResponseDoc": {
"properties": {
- "away_score": {
- "allOf": [
- {
- "$ref": "#/definitions/sofascore.ScoreLine"
- }
- ],
- "description": "Away side's score, when available."
- },
- "away_team": {
- "allOf": [
- {
- "$ref": "#/definitions/sofascore.TeamRef"
- }
- ],
- "description": "Away side."
- },
- "choice_name": {
- "example": "2",
- "type": "string"
- },
- "home_score": {
- "allOf": [
- {
- "$ref": "#/definitions/sofascore.ScoreLine"
- }
- ],
- "description": "Home side's score, when available."
- },
- "home_team": {
- "allOf": [
- {
- "$ref": "#/definitions/sofascore.TeamRef"
- }
- ],
- "description": "Home side."
- },
- "id": {
- "description": "SofaScore event id. Use it with the event endpoints.",
- "example": 14025013,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "market": {
- "$ref": "#/definitions/sofascore.MoverOddsMarket"
- },
- "percentage": {
- "example": 63,
- "type": "number"
- },
- "slug": {
- "description": "URL slug of the match on SofaScore.",
- "type": "string"
- },
- "sport": {
- "example": "football",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/rednote.NoteResponse"
},
- "start_time": {
- "description": "Start time in UTC (RFC 3339).",
- "example": "2025-08-15T19:00:00Z",
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "start_timestamp": {
- "description": "Start time as a Unix timestamp in seconds.",
- "type": "integer"
- },
- "status": {
- "allOf": [
- {
- "$ref": "#/definitions/sofascore.EventStatus"
- }
- ],
- "description": "Current status of the match."
- },
- "tournament": {
- "allOf": [
- {
- "$ref": "#/definitions/sofascore.TournamentRef"
- }
- ],
- "description": "Tournament and parent competition the match belongs to."
- },
- "winner_code": {
- "description": "Result code: 1 when the home side won, 2 when the away side won, 3 for a draw. Omitted until the match is decided.",
- "type": "integer"
}
},
"type": "object"
},
- "sofascore.OddsDroppingResponse": {
+ "rednote.suggestResponseDoc": {
"properties": {
- "count": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "events": {
- "items": {
- "$ref": "#/definitions/sofascore.OddsDroppingEvent"
- },
- "type": "array"
- },
- "fetched_at": {
- "type": "string"
- },
- "source_url": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/rednote.SuggestResponse"
},
- "sport": {
- "example": "all",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "sofascore.OddsMarket": {
+ "reelshort.Actor": {
"properties": {
- "choices": {
- "description": "Outcomes that can be selected in this market.",
- "items": {
- "$ref": "#/definitions/sofascore.OddsChoice"
- },
- "type": "array"
- },
- "group": {
- "description": "Market group, for example 1X2.",
- "example": "1X2",
+ "imdb_url": {
"type": "string"
},
"name": {
- "description": "Market name, for example \"Full time\".",
- "example": "Full time",
"type": "string"
},
- "period": {
- "description": "Part of the match the market covers, for example \"Full-time\".",
- "example": "Full-time",
+ "photo_url": {
"type": "string"
- },
- "suspended": {
- "description": "True while the market is suspended.",
- "type": "boolean"
}
},
"type": "object"
},
- "sofascore.OddsWinningEvent": {
+ "reelshort.Book": {
"properties": {
- "actual": {
- "example": 1,
- "type": "number"
+ "cover_url": {
+ "type": "string"
},
- "away_score": {
- "allOf": [
- {
- "$ref": "#/definitions/sofascore.ScoreLine"
- }
- ],
- "description": "Away side's score, when available."
+ "description": {
+ "type": "string"
},
- "away_team": {
- "allOf": [
- {
- "$ref": "#/definitions/sofascore.TeamRef"
- }
- ],
- "description": "Away side."
+ "episodes": {
+ "type": "integer"
},
- "expected": {
- "example": 51,
- "type": "number"
+ "favorites": {
+ "type": "integer"
},
- "home_score": {
- "allOf": [
- {
- "$ref": "#/definitions/sofascore.ScoreLine"
- }
- ],
- "description": "Home side's score, when available."
+ "first_paid_episode": {
+ "description": "FirstPaidEpisode is the episode number from which episodes are paid; 0\nwhen ReelShort lists none.",
+ "type": "integer"
},
- "home_team": {
- "allOf": [
- {
- "$ref": "#/definitions/sofascore.TeamRef"
- }
- ],
- "description": "Home side."
+ "has_trailer": {
+ "type": "boolean"
},
"id": {
- "description": "SofaScore event id. Use it with the event endpoints.",
- "example": 14025013,
+ "type": "string"
+ },
+ "language": {
+ "type": "string"
+ },
+ "plays": {
+ "description": "Plays and Favorites are ReelShort's own read_count and collect_count.",
"type": "integer"
},
- "market": {
- "$ref": "#/definitions/sofascore.MoverOddsMarket"
+ "tags": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "slug": {
- "description": "URL slug of the match on SofaScore.",
+ "title": {
"type": "string"
},
- "sport": {
- "example": "basketball",
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "reelshort.Episode": {
+ "properties": {
+ "free": {
+ "type": "boolean"
+ },
+ "id": {
"type": "string"
},
- "start_time": {
- "description": "Start time in UTC (RFC 3339).",
- "example": "2025-08-15T19:00:00Z",
+ "kind": {
+ "description": "episode or trailer",
"type": "string"
},
- "start_timestamp": {
- "description": "Start time as a Unix timestamp in seconds.",
+ "likes": {
"type": "integer"
},
- "status": {
- "allOf": [
- {
- "$ref": "#/definitions/sofascore.EventStatus"
- }
- ],
- "description": "Current status of the match."
+ "number": {
+ "description": "Number is the episode number; 0 is the trailer.",
+ "type": "integer"
},
- "tournament": {
- "allOf": [
- {
- "$ref": "#/definitions/sofascore.TournamentRef"
- }
- ],
- "description": "Tournament and parent competition the match belongs to."
+ "published_at": {
+ "type": "string"
},
- "winner_code": {
- "description": "Result code: 1 when the home side won, 2 when the away side won, 3 for a draw. Omitted until the match is decided.",
- "type": "integer"
+ "thumbnail_url": {
+ "type": "string"
},
- "winning_odds": {
- "example": "24/25",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "sofascore.OddsWinningResponse": {
+ "reelshort.FandomCategoriesResponse": {
"properties": {
- "count": {
- "type": "integer"
- },
- "events": {
+ "categories": {
"items": {
- "$ref": "#/definitions/sofascore.OddsWinningEvent"
+ "$ref": "#/definitions/reelshort.FandomCategory"
},
"type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "reelshort.FandomCategory": {
+ "properties": {
+ "description": {
+ "type": "string"
},
- "fetched_at": {
+ "id": {
+ "type": "integer"
+ },
+ "name": {
"type": "string"
},
- "source_url": {
+ "posts": {
+ "type": "integer"
+ },
+ "slug": {
"type": "string"
},
- "sport": {
- "example": "all",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "sofascore.PlayerAttributeOverview": {
+ "reelshort.FandomPost": {
"properties": {
- "attributes": {
- "additionalProperties": {
- "format": "float64",
- "type": "number"
+ "categories": {
+ "items": {
+ "type": "string"
},
- "type": "object"
+ "type": "array"
},
- "position": {
- "example": "F",
+ "excerpt": {
"type": "string"
},
- "year_shift": {
- "description": "YearShift is 0 for the current scores and N for the scores N years earlier.",
- "example": 0,
+ "id": {
"type": "integer"
- }
- },
- "type": "object"
- },
- "sofascore.PlayerAttributesResponse": {
- "properties": {
- "characteristics": {
- "$ref": "#/definitions/sofascore.PlayerCharacteristics"
},
- "characteristics_url": {
+ "image_url": {
"type": "string"
},
- "fetched_at": {
+ "modified_at": {
"type": "string"
},
- "overviews": {
- "items": {
- "$ref": "#/definitions/sofascore.PlayerAttributeOverview"
- },
- "type": "array"
- },
- "player_id": {
- "example": 839956,
- "type": "integer"
+ "published_at": {
+ "type": "string"
},
- "position_averages": {
- "items": {
- "$ref": "#/definitions/sofascore.PlayerAttributeOverview"
- },
- "type": "array"
+ "slug": {
+ "type": "string"
},
- "source_url": {
+ "title": {
"type": "string"
},
- "sport": {
- "example": "football",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "sofascore.PlayerBrief": {
+ "reelshort.FandomPostResponse": {
"properties": {
+ "categories": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "content": {
+ "description": "Content is the article body as plain text with paragraph breaks.",
+ "type": "string"
+ },
+ "excerpt": {
+ "type": "string"
+ },
"id": {
- "example": 839956,
"type": "integer"
},
- "jersey_number": {
- "example": "9",
+ "image_url": {
"type": "string"
},
- "name": {
- "example": "Erling Haaland",
+ "modified_at": {
"type": "string"
},
- "position": {
- "example": "F",
+ "published_at": {
"type": "string"
},
- "short_name": {
- "example": "E. Haaland",
+ "slug": {
"type": "string"
},
- "slug": {
- "example": "erling-haaland",
+ "title": {
+ "type": "string"
+ },
+ "title_ids": {
+ "description": "TitleIDs are the ReelShort title ids the article links to, in order of\nfirst appearance; pass them to reelshort-movie.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "sofascore.PlayerCharacteristic": {
+ "reelshort.FandomPostsResponse": {
"properties": {
- "code": {
- "description": "Code is SofaScore's numeric characteristic code.",
- "example": 5,
+ "category": {
+ "type": "string"
+ },
+ "limit": {
"type": "integer"
},
- "key": {
- "description": "Key is the identifier the SofaScore web client uses for the code (for\nexample finishing); omitted for a code the client does not name.",
- "example": "finishing",
- "type": "string"
+ "page": {
+ "type": "integer"
},
- "name": {
- "example": "Finishing",
+ "posts": {
+ "items": {
+ "$ref": "#/definitions/reelshort.FandomPost"
+ },
+ "type": "array"
+ },
+ "search": {
"type": "string"
},
- "rank": {
- "description": "Rank is SofaScore's rank value for the characteristic.",
- "example": 25,
+ "total": {
+ "type": "integer"
+ },
+ "total_pages": {
"type": "integer"
}
},
"type": "object"
},
- "sofascore.PlayerCharacteristics": {
+ "reelshort.HomeResponse": {
"properties": {
- "positions": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "strengths": {
- "items": {
- "$ref": "#/definitions/sofascore.PlayerCharacteristic"
- },
- "type": "array"
+ "language": {
+ "type": "string"
},
- "weaknesses": {
+ "shelves": {
"items": {
- "$ref": "#/definitions/sofascore.PlayerCharacteristic"
+ "$ref": "#/definitions/reelshort.Shelf"
},
"type": "array"
}
},
"type": "object"
},
- "sofascore.PlayerDetail": {
+ "reelshort.MovieResponse": {
"properties": {
- "country": {
- "description": "Player's country.",
+ "actors": {
+ "items": {
+ "$ref": "#/definitions/reelshort.Actor"
+ },
+ "type": "array"
+ },
+ "ai_generated": {
+ "type": "boolean"
+ },
+ "badge": {
"type": "string"
},
- "date_of_birth": {
- "description": "Date of birth (RFC 3339).",
+ "cover_url": {
"type": "string"
},
- "deceased": {
- "description": "True when the player has died.",
+ "description": {
+ "type": "string"
+ },
+ "dubbed": {
"type": "boolean"
},
- "height": {
- "description": "Height in centimetres.",
+ "episode_count": {
+ "description": "EpisodeCount counts the numbered episodes; the trailer is not included\n(ReelShort's own total on its movie page does include it).",
"type": "integer"
},
- "id": {
- "description": "SofaScore player id. Use it with the player endpoints.",
- "type": "integer"
+ "episodes": {
+ "items": {
+ "$ref": "#/definitions/reelshort.Episode"
+ },
+ "type": "array"
},
- "jersey_number": {
- "description": "Shirt number.",
- "type": "string"
+ "favorites": {
+ "type": "integer"
},
- "market_value": {
- "description": "SofaScore's estimated market value, in units of `market_value_currency`. Omitted when unavailable.",
+ "first_paid_episode": {
"type": "integer"
},
- "market_value_currency": {
- "description": "Currency of `market_value`, for example EUR.",
+ "id": {
"type": "string"
},
- "name": {
- "description": "Player's full name.",
+ "imdb_url": {
"type": "string"
},
- "position": {
- "description": "Position code, for example G, D, M or F.",
+ "language": {
"type": "string"
},
- "preferred_foot": {
- "description": "Preferred foot, for example \"Right\".",
+ "online_at": {
"type": "string"
},
- "short_name": {
- "description": "Shortened name, for example \"E. Haaland\".",
+ "original_language": {
"type": "string"
},
- "slug": {
- "description": "URL slug of the player on SofaScore.",
+ "plays": {
+ "type": "integer"
+ },
+ "published_at": {
"type": "string"
},
- "team": {
- "allOf": [
- {
- "$ref": "#/definitions/sofascore.TeamRef"
- }
- ],
- "description": "The player's current team."
+ "tags": {
+ "items": {
+ "$ref": "#/definitions/reelshort.Tag"
+ },
+ "type": "array"
+ },
+ "title": {
+ "type": "string"
+ },
+ "update_status": {
+ "description": "UpdateStatus is ReelShort's raw update_status flag (1 on every title\nsampled on 2026-10-26); it is not interpreted.",
+ "type": "integer"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "sofascore.PlayerEventRow": {
+ "reelshort.NewReleasesResponse": {
"properties": {
- "event": {
- "$ref": "#/definitions/sofascore.EventSummary"
- },
- "incident_counts": {
- "additionalProperties": {
- "format": "float64",
- "type": "number"
+ "books": {
+ "items": {
+ "$ref": "#/definitions/reelshort.Book"
},
- "description": "IncidentCounts holds counts of the player's match incidents, for example\ngoals, assists, yellow_cards, red_cards and penalty_goals.",
- "type": "object"
- },
- "on_bench": {
- "description": "OnBench is true only when the player was an unused substitute.",
- "type": "boolean"
- },
- "played_for_team_id": {
- "description": "PlayedForTeamID is the team the player represented in the match.",
- "example": 17,
- "type": "integer"
+ "type": "array"
},
- "statistics": {
- "additionalProperties": {
- "format": "float64",
- "type": "number"
- },
- "description": "Statistics holds the player's numbers in the match (football: rating and\nminutes_played; basketball: points, rebounds and more). It is absent when\nthe player did not play or the match has not started.",
- "type": "object"
+ "language": {
+ "type": "string"
}
},
"type": "object"
},
- "sofascore.PlayerEventsResponse": {
+ "reelshort.RelatedTag": {
"properties": {
- "count": {
- "type": "integer"
+ "id": {
+ "type": "string"
},
- "events": {
+ "name": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "reelshort.SearchResponse": {
+ "properties": {
+ "books": {
"items": {
- "$ref": "#/definitions/sofascore.PlayerEventRow"
+ "$ref": "#/definitions/reelshort.Book"
},
"type": "array"
},
- "fetched_at": {
+ "keywords": {
"type": "string"
},
- "has_next_page": {
- "type": "boolean"
+ "language": {
+ "type": "string"
},
"page": {
"type": "integer"
},
- "player_id": {
- "example": 839956,
+ "total": {
+ "description": "Total is approximate: ReelShort's search backend reports a count that\nvaries between calls for the same query.",
"type": "integer"
},
- "source_url": {
- "type": "string"
+ "total_pages": {
+ "type": "integer"
}
},
"type": "object"
},
- "sofascore.PlayerFormEntry": {
+ "reelshort.Shelf": {
"properties": {
- "date": {
- "example": "2025-11-02T16:30:00Z",
- "type": "string"
- },
- "rating": {
- "example": 9.3,
- "type": "number"
- },
- "timestamp": {
- "type": "integer"
+ "books": {
+ "items": {
+ "$ref": "#/definitions/reelshort.Book"
+ },
+ "type": "array"
},
- "tournament_id": {
- "example": 17,
+ "id": {
"type": "integer"
},
- "type": {
- "example": "event",
- "type": "string"
- },
- "value": {
- "description": "Value is the upstream value as published: the rating for an event, an\nopaque number for an injury, absent for the other types.",
- "example": "9.3",
+ "name": {
"type": "string"
}
},
"type": "object"
},
- "sofascore.PlayerLastYearSummaryResponse": {
+ "reelshort.ShelfResponse": {
"properties": {
- "count": {
+ "books": {
+ "items": {
+ "$ref": "#/definitions/reelshort.Book"
+ },
+ "type": "array"
+ },
+ "id": {
"type": "integer"
},
- "fetched_at": {
+ "name": {
"type": "string"
},
- "player_id": {
- "example": 839956,
+ "total": {
"type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "reelshort.Tag": {
+ "properties": {
+ "category_id": {
+ "type": "string"
},
- "source_url": {
+ "id": {
"type": "string"
},
- "summary": {
+ "kind": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "reelshort.TagBooksResponse": {
+ "properties": {
+ "books": {
"items": {
- "$ref": "#/definitions/sofascore.PlayerFormEntry"
+ "$ref": "#/definitions/reelshort.Book"
},
"type": "array"
},
- "tournaments": {
+ "description": {
+ "type": "string"
+ },
+ "limit": {
+ "type": "integer"
+ },
+ "page": {
+ "type": "integer"
+ },
+ "related_tags": {
"items": {
- "$ref": "#/definitions/sofascore.UniqueTournamentBrief"
+ "$ref": "#/definitions/reelshort.RelatedTag"
+ },
+ "type": "array"
+ },
+ "tag": {
+ "$ref": "#/definitions/reelshort.Tag"
+ },
+ "top_titles": {
+ "items": {
+ "$ref": "#/definitions/reelshort.TitleRef"
},
"type": "array"
+ },
+ "total_items": {
+ "description": "TotalItems is ReelShort's total for the tag; paging can return fewer\ndistinct titles (a title can repeat across pages).",
+ "type": "integer"
}
},
"type": "object"
},
- "sofascore.PlayerMatchRating": {
+ "reelshort.TagMatch": {
"properties": {
- "event": {
- "$ref": "#/definitions/sofascore.EventSummary"
- },
- "event_id": {
- "example": 14023936,
+ "category_id": {
"type": "integer"
},
- "is_home": {
- "type": "boolean"
+ "description": {
+ "type": "string"
},
- "opponent": {
- "$ref": "#/definitions/sofascore.TeamRef"
+ "id": {
+ "type": "string"
},
- "rating": {
- "example": 7.4,
- "type": "number"
+ "image_url": {
+ "type": "string"
},
- "start_time": {
- "example": "2026-05-20T19:00:00Z",
+ "kind": {
"type": "string"
},
- "start_timestamp": {
+ "name": {
+ "type": "string"
+ },
+ "titles": {
+ "description": "Titles is the number of titles ReelShort's search lists for the tag. It\nis approximate: reelshort-tag-books reports a different total for the\nsame tag.",
"type": "integer"
}
},
"type": "object"
},
- "sofascore.PlayerNationalTeamRecord": {
+ "reelshort.TagSearchResponse": {
"properties": {
- "appearances": {
- "example": 59,
- "type": "integer"
- },
- "debut_date": {
- "example": "2019-09-06",
+ "language": {
"type": "string"
},
- "debut_timestamp": {
+ "page": {
"type": "integer"
},
- "goals": {
- "example": 65,
+ "page_size": {
"type": "integer"
},
- "team": {
- "$ref": "#/definitions/sofascore.TeamRef"
+ "tags": {
+ "items": {
+ "$ref": "#/definitions/reelshort.TagMatch"
+ },
+ "type": "array"
+ },
+ "total": {
+ "type": "integer"
+ },
+ "word": {
+ "type": "string"
}
},
"type": "object"
},
- "sofascore.PlayerNationalTeamStatisticsResponse": {
+ "reelshort.TagsResponse": {
"properties": {
- "count": {
- "type": "integer"
- },
- "fetched_at": {
+ "category": {
"type": "string"
},
- "player_id": {
- "example": 839956,
+ "category_id": {
"type": "integer"
},
- "source_url": {
+ "language": {
"type": "string"
},
- "teams": {
+ "tags": {
"items": {
- "$ref": "#/definitions/sofascore.PlayerNationalTeamRecord"
+ "$ref": "#/definitions/reelshort.Tag"
},
"type": "array"
}
},
"type": "object"
},
- "sofascore.PlayerPenalty": {
+ "reelshort.TitleRef": {
"properties": {
- "event": {
- "$ref": "#/definitions/sofascore.EventSummary"
- },
"id": {
- "example": 6089564,
- "type": "integer"
- },
- "outcome": {
- "example": "goal",
"type": "string"
},
- "x": {
- "example": 68.82,
- "type": "number"
- },
- "xg": {
- "description": "XG is the expected-goals value of the penalty when SofaScore has one.",
- "example": 0.78,
- "type": "number"
+ "title": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "reelshort.fandomCategoriesResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "y": {
- "example": 95.83,
- "type": "number"
+ "data": {
+ "$ref": "#/definitions/reelshort.FandomCategoriesResponse"
},
- "zone": {
- "example": "low-right",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "sofascore.PlayerPenaltyHistoryResponse": {
+ "reelshort.fandomPostResponseDoc": {
"properties": {
- "attempts": {
- "example": 61,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "count": {
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/reelshort.FandomPostResponse"
},
- "fetched_at": {
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "reelshort.fandomPostsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "penalties": {
- "items": {
- "$ref": "#/definitions/sofascore.PlayerPenalty"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/reelshort.FandomPostsResponse"
},
- "player_id": {
- "example": 839956,
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "reelshort.homeResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "scored": {
- "example": 52,
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/reelshort.HomeResponse"
},
- "source_url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "sofascore.PlayerRatingsResponse": {
+ "reelshort.movieResponseDoc": {
"properties": {
- "count": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "fetched_at": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/reelshort.MovieResponse"
},
- "player_id": {
- "example": 839956,
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "reelshort.newReleasesResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "ratings": {
- "items": {
- "$ref": "#/definitions/sofascore.PlayerMatchRating"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/reelshort.NewReleasesResponse"
},
- "season": {
- "example": 76986,
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "reelshort.searchResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "source_url": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/reelshort.SearchResponse"
},
- "tournament_id": {
- "example": 17,
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "reelshort.shelfResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "type": {
- "example": "overall",
+ "data": {
+ "$ref": "#/definitions/reelshort.ShelfResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "sofascore.PlayerRef": {
+ "reelshort.tagBooksResponseDoc": {
"properties": {
- "country": {
- "description": "Player's country.",
- "example": "Spain",
- "type": "string"
- },
- "id": {
- "description": "SofaScore player id. Use it with the player endpoints.",
- "example": 855833,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "name": {
- "description": "Player's full name.",
- "example": "Ferran Torres",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/reelshort.TagBooksResponse"
},
- "position": {
- "description": "Position code, for example G, D, M or F.",
- "example": "F",
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "reelshort.tagSearchResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "short_name": {
- "description": "Shortened name, for example \"F. Torres\".",
- "example": "F. Torres",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/reelshort.TagSearchResponse"
},
- "slug": {
- "description": "URL slug of the player on SofaScore.",
- "example": "ferran-torres",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "sofascore.PlayerResponse": {
+ "reelshort.tagsResponseDoc": {
"properties": {
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "player": {
- "allOf": [
- {
- "$ref": "#/definitions/sofascore.PlayerDetail"
- }
- ],
- "description": "The player's profile."
+ "data": {
+ "$ref": "#/definitions/reelshort.TagsResponse"
},
- "source_url": {
- "description": "SofaScore URL the data was read from.",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "sofascore.PlayerSeasonHeatmapResponse": {
+ "referrals.referralAttributionDoc": {
"properties": {
- "count": {
- "type": "integer"
+ "campaign": {
+ "example": "spring-launch",
+ "type": "string"
},
- "events": {
- "description": "Events are the matches the heatmap aggregates.",
- "items": {
- "$ref": "#/definitions/sofascore.EventSummary"
- },
- "type": "array"
+ "code": {
+ "example": "A1B2C3D4E5F6",
+ "type": "string"
},
- "fetched_at": {
+ "created_at": {
"type": "string"
},
- "matches": {
- "example": 35,
- "type": "integer"
+ "expires_at": {
+ "type": "string"
},
- "player_id": {
- "example": 839956,
- "type": "integer"
+ "id": {
+ "example": "abc123",
+ "type": "string"
},
- "points": {
- "items": {
- "$ref": "#/definitions/sofascore.SeasonHeatmapPoint"
- },
- "type": "array"
+ "qualified_at": {
+ "type": "string"
},
- "season": {
- "example": 76986,
+ "reward_credits": {
+ "example": 10000,
"type": "integer"
},
- "source_url": {
+ "rewarded_at": {
"type": "string"
},
- "tournament_id": {
- "example": 17,
- "type": "integer"
+ "role": {
+ "enum": [
+ "referrer",
+ "referred"
+ ],
+ "example": "referrer",
+ "type": "string"
+ },
+ "status": {
+ "enum": [
+ "attributed",
+ "qualified",
+ "review_required",
+ "rewarded",
+ "expired",
+ "capped",
+ "failed",
+ "rejected"
+ ],
+ "example": "rewarded",
+ "type": "string"
}
},
"type": "object"
},
- "sofascore.PlayerSeasonStatisticsResponse": {
+ "referrals.referralClickRequestDoc": {
"properties": {
- "fetched_at": {
+ "click_id": {
+ "example": "refclk_abc123",
"type": "string"
},
- "player_id": {
- "example": 839956,
- "type": "integer"
- },
- "rating_breakdown": {
- "additionalProperties": {
- "format": "float64",
- "type": "number"
- },
- "type": "object"
- },
- "season": {
- "example": 96668,
- "type": "integer"
+ "code": {
+ "example": "A1B2C3D4E5F6",
+ "type": "string"
},
- "source_url": {
+ "landing_path": {
+ "example": "/pricing",
"type": "string"
},
- "statistics": {
- "additionalProperties": {
- "format": "float64",
- "type": "number"
- },
- "type": "object"
+ "utm_campaign": {
+ "example": "spring-launch",
+ "type": "string"
},
- "team": {
- "$ref": "#/definitions/sofascore.TeamRef"
+ "utm_medium": {
+ "example": "email",
+ "type": "string"
},
- "tournament_id": {
- "example": 17,
- "type": "integer"
+ "utm_source": {
+ "example": "newsletter",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "referrals.referralClickResponseDoc": {
+ "properties": {
+ "click_id": {
+ "example": "refclk_abc123",
+ "type": "string"
},
- "type": {
- "example": "overall",
+ "code": {
+ "example": "A1B2C3D4E5F6",
"type": "string"
}
},
"type": "object"
},
- "sofascore.PlayerStatisticRank": {
+ "referrals.referralsEventsResponseDoc": {
"properties": {
- "count": {
- "example": 421,
+ "items": {
+ "items": {
+ "$ref": "#/definitions/referrals.referralAttributionDoc"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "referrals.referralsMeResponseDoc": {
+ "properties": {
+ "attribution_window_days": {
+ "example": 30,
"type": "integer"
},
- "order": {
- "description": "Order is the player's position when ties are broken; it is never lower than Rank.",
- "example": 1,
+ "code": {
+ "example": "A1B2C3D4E5F6",
+ "type": "string"
+ },
+ "items": {
+ "items": {
+ "$ref": "#/definitions/referrals.referralAttributionDoc"
+ },
+ "type": "array"
+ },
+ "monthly_referrer_reward_cap": {
+ "example": 10,
"type": "integer"
},
- "rank": {
- "description": "Rank is the competition rank (tied values share a rank) among Count players.",
- "example": 1,
+ "referred_reward_credits": {
+ "example": 10000,
"type": "integer"
},
- "statistic": {
- "example": "goals",
+ "reward_credits": {
+ "example": 10000,
+ "type": "integer"
+ },
+ "share_path": {
+ "example": "/r/A1B2C3D4E5F6",
"type": "string"
},
- "value": {
- "example": 5,
- "type": "number"
+ "stats": {
+ "$ref": "#/definitions/referrals.referralsStatsDoc"
}
},
"type": "object"
},
- "sofascore.PlayerStatisticalRankingsResponse": {
+ "referrals.referralsStatsDoc": {
"properties": {
- "count": {
+ "attributed": {
+ "example": 3,
"type": "integer"
},
- "fetched_at": {
- "type": "string"
+ "capped": {
+ "example": 0,
+ "type": "integer"
},
- "player_id": {
- "example": 839956,
+ "expired": {
+ "example": 0,
"type": "integer"
},
- "rankings": {
- "items": {
- "$ref": "#/definitions/sofascore.PlayerStatisticRank"
- },
- "type": "array"
+ "qualified": {
+ "example": 1,
+ "type": "integer"
},
- "season": {
- "$ref": "#/definitions/sofascore.Season"
+ "rejected": {
+ "example": 0,
+ "type": "integer"
},
- "source_url": {
- "type": "string"
+ "review_required": {
+ "example": 0,
+ "type": "integer"
},
- "type": {
- "example": "overall",
- "type": "string"
+ "rewarded": {
+ "example": 1,
+ "type": "integer"
}
},
"type": "object"
},
- "sofascore.PlayerStatisticsFilters": {
+ "researchjobs.ResearchResult": {
"properties": {
- "min_appearances": {
- "type": "integer"
+ "claims": {
+ "items": {
+ "$ref": "#/definitions/retrievaltypes.Claim"
+ },
+ "type": "array"
},
- "min_minutes": {
- "type": "integer"
+ "coverage": {
+ "items": {
+ "$ref": "#/definitions/retrievaltypes.SourceCoverage"
+ },
+ "type": "array"
},
- "nationalities": {
+ "evidence": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/retrievaltypes.Evidence"
},
"type": "array"
},
- "positions": {
+ "job_id": {
+ "type": "string"
+ },
+ "partial": {
+ "type": "boolean"
+ },
+ "ready": {
+ "type": "boolean"
+ },
+ "report_markdown": {
+ "type": "string"
+ },
+ "result_kind": {
+ "enum": [
+ "evidence_only",
+ "report",
+ "structured"
+ ],
+ "type": "string"
+ },
+ "searches": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/researchjobs.SearchRecord"
},
"type": "array"
},
- "team_ids": {
+ "snapshot_sequence": {
+ "type": "integer"
+ },
+ "source_snapshot": {
+ "$ref": "#/definitions/researchjobs.SourceSnapshot"
+ },
+ "structured_data": {
+ "type": "object"
+ },
+ "usage": {
+ "$ref": "#/definitions/retrievaltypes.Usage"
+ },
+ "warnings": {
"items": {
- "type": "integer"
+ "$ref": "#/definitions/retrievaltypes.Warning"
},
"type": "array"
}
},
"type": "object"
},
- "sofascore.PlayerStatisticsRow": {
+ "researchjobs.Scope": {
+ "enum": [
+ "web",
+ "papers",
+ "developer",
+ "mixed"
+ ],
+ "type": "string",
+ "x-enum-varnames": [
+ "ScopeWeb",
+ "ScopePapers",
+ "ScopeDeveloper",
+ "ScopeMixed"
+ ]
+ },
+ "researchjobs.SearchRecord": {
"properties": {
- "player": {
- "$ref": "#/definitions/sofascore.PlayerRef"
+ "hits": {
+ "items": {
+ "$ref": "#/definitions/researchjobs.SearchRecordHit"
+ },
+ "type": "array"
},
- "rank": {
- "example": 1,
- "type": "integer"
+ "query": {
+ "type": "string"
},
- "statistics": {
- "additionalProperties": {
- "format": "float64",
- "type": "number"
- },
- "type": "object"
+ "source_id": {
+ "type": "string"
},
- "team": {
- "$ref": "#/definitions/sofascore.TeamRef"
+ "source_kind": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/retrievaltypes.SourceKind"
+ }
+ ],
+ "enum": [
+ "web",
+ "paper",
+ "developer"
+ ]
}
},
"type": "object"
},
- "sofascore.PlayerStatisticsSeasonsResponse": {
+ "researchjobs.SearchRecordHit": {
"properties": {
- "count": {
- "type": "integer"
- },
- "fetched_at": {
+ "snippet": {
"type": "string"
},
- "player_id": {
- "example": 839956,
- "type": "integer"
+ "source_id": {
+ "type": "string"
},
- "source_url": {
+ "title": {
"type": "string"
},
- "tournaments": {
- "items": {
- "$ref": "#/definitions/sofascore.StatisticsTournament"
- },
- "type": "array"
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "sofascore.PlayerTournamentsResponse": {
+ "researchjobs.SourceGeneration": {
"properties": {
- "count": {
- "type": "integer"
- },
- "fetched_at": {
+ "generation_id": {
"type": "string"
},
- "player_id": {
- "example": 839956,
- "type": "integer"
+ "kind": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/retrievaltypes.SourceKind"
+ }
+ ],
+ "enum": [
+ "web",
+ "paper",
+ "developer"
+ ]
},
- "source_url": {
+ "source_id": {
"type": "string"
},
- "tournaments": {
- "items": {
- "$ref": "#/definitions/sofascore.UniqueTournamentBrief"
- },
- "type": "array"
+ "source_revision": {
+ "type": "string"
}
},
"type": "object"
},
- "sofascore.PlayerTransfersResponse": {
+ "researchjobs.SourceSnapshot": {
"properties": {
- "count": {
- "type": "integer"
- },
- "fetched_at": {
+ "registry_revision": {
"type": "string"
},
- "player_id": {
- "example": 839956,
- "type": "integer"
- },
- "source_url": {
- "type": "string"
+ "scope": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/researchjobs.Scope"
+ }
+ ],
+ "enum": [
+ "web",
+ "papers",
+ "developer",
+ "mixed"
+ ]
},
- "transfers": {
+ "sources": {
"items": {
- "$ref": "#/definitions/sofascore.Transfer"
+ "$ref": "#/definitions/researchjobs.SourceGeneration"
},
"type": "array"
}
},
"type": "object"
},
- "sofascore.PointByPointGame": {
+ "researchjobs.researchEventsResponseDoc": {
"properties": {
- "game": {
- "example": 10,
+ "code": {
"type": "integer"
},
- "points": {
- "items": {
- "$ref": "#/definitions/sofascore.PointByPointPoint"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/retrievaltypes.JobEventsResponse"
},
- "score": {
- "$ref": "#/definitions/sofascore.PointByPointScore"
+ "msg": {
+ "type": "string"
}
},
"type": "object"
},
- "sofascore.PointByPointPoint": {
+ "researchjobs.researchLimitsDoc": {
"properties": {
- "away_marker": {
- "example": "set_or_match_point",
- "type": "string"
+ "browser_renders": {
+ "default": 0,
+ "enum": [
+ 0
+ ],
+ "type": "integer"
},
- "away_point": {
- "example": "40",
- "type": "string"
+ "input_tokens": {
+ "default": 60000,
+ "maximum": 100000,
+ "minimum": 1000,
+ "type": "integer"
},
- "away_point_type": {
- "example": 2,
+ "max_credits": {
+ "maximum": 10000,
+ "minimum": 1,
"type": "integer"
},
- "description": {
- "description": "Description is `ace` or `double_fault` when SofaScore flags the point;\nomitted otherwise. DescriptionCode is the upstream code (0 none, 1 ace,\n2 double fault).",
- "example": "ace",
- "type": "string"
+ "output_tokens": {
+ "default": 8000,
+ "maximum": 16000,
+ "minimum": 256,
+ "type": "integer"
},
- "description_code": {
- "example": 0,
+ "rounds": {
+ "default": 3,
+ "maximum": 5,
+ "minimum": 1,
"type": "integer"
},
- "home_marker": {
- "description": "HomeMarker and AwayMarker name the codes that mean a player holds a\npoint opportunity after the point: `break_point` (code 2) and\n`set_or_match_point` (code 3).",
- "example": "break_point",
- "type": "string"
+ "searches": {
+ "default": 8,
+ "maximum": 20,
+ "minimum": 1,
+ "type": "integer"
},
- "home_point": {
- "description": "HomePoint and AwayPoint are the points as SofaScore prints them: `0`,\n`15`, `30`, `40` and `A` in a tennis game, a plain count in a tie-break,\ntable tennis or badminton set.",
- "example": "30",
- "type": "string"
+ "sources": {
+ "default": 20,
+ "maximum": 50,
+ "minimum": 1,
+ "type": "integer"
},
- "home_point_type": {
- "description": "HomePointType and AwayPointType are SofaScore's per-player point codes.",
- "example": 5,
+ "timeout_seconds": {
+ "default": 180,
+ "maximum": 600,
+ "minimum": 30,
"type": "integer"
}
},
+ "required": [
+ "max_credits"
+ ],
"type": "object"
},
- "sofascore.PointByPointScore": {
+ "researchjobs.researchResultsResponseDoc": {
"properties": {
- "away_score": {
- "example": 4,
- "type": "integer"
- },
- "home_score": {
- "example": 6,
+ "code": {
"type": "integer"
},
- "server": {
- "description": "Server is `home` or `away`; omitted when SofaScore does not know it.",
- "example": "away",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/researchjobs.ResearchResult"
},
- "winner": {
- "description": "Winner is `home` or `away`; omitted while the game or set is unfinished.",
- "example": "away",
+ "msg": {
"type": "string"
}
},
"type": "object"
},
- "sofascore.PointByPointSet": {
+ "researchjobs.researchStartRequestDoc": {
"properties": {
- "games": {
+ "exclude_domains": {
"items": {
- "$ref": "#/definitions/sofascore.PointByPointGame"
+ "type": "string"
},
"type": "array"
},
- "points": {
+ "idempotency_key": {
+ "example": "0123456789abcdef",
+ "type": "string"
+ },
+ "include_domains": {
"items": {
- "$ref": "#/definitions/sofascore.PointByPointPoint"
+ "type": "string"
},
"type": "array"
},
- "score": {
- "$ref": "#/definitions/sofascore.PointByPointScore"
+ "limits": {
+ "$ref": "#/definitions/researchjobs.researchLimitsDoc"
},
- "set": {
- "example": 1,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "sofascore.PregameFormSide": {
- "properties": {
- "avg_rating": {
- "example": 7.91,
- "type": "number"
+ "output_format": {
+ "enum": [
+ "report",
+ "json"
+ ],
+ "example": "report",
+ "type": "string"
},
- "form": {
- "example": [
- "W",
- "W",
- "W",
- "W"
+ "query": {
+ "example": "How do recent studies measure retrieval quality?",
+ "type": "string"
+ },
+ "schema": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "scope": {
+ "enum": [
+ "web",
+ "papers",
+ "developer",
+ "mixed"
],
+ "example": "mixed",
+ "type": "string"
+ },
+ "seed_urls": {
"items": {
"type": "string"
},
"type": "array"
},
- "position": {
- "example": 1,
+ "sources": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "idempotency_key",
+ "limits",
+ "query"
+ ],
+ "type": "object"
+ },
+ "researchjobs.researchStartResponseDoc": {
+ "properties": {
+ "code": {
"type": "integer"
},
- "value": {
- "example": "12",
+ "data": {
+ "$ref": "#/definitions/retrievaltypes.JobSubmission"
+ },
+ "msg": {
"type": "string"
}
},
"type": "object"
},
- "sofascore.RankingEntity": {
+ "researchjobs.researchStatusResponseDoc": {
"properties": {
- "country": {
- "example": "Italy",
- "type": "string"
+ "code": {
+ "type": "integer"
},
- "country_code": {
- "example": "IT",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/retrievaltypes.JobStatus"
},
- "gender": {
- "example": "M",
+ "msg": {
"type": "string"
- },
- "id": {
- "example": 720,
- "type": "integer"
- },
- "name": {
- "example": "Jannik Sinner",
+ }
+ },
+ "type": "object"
+ },
+ "researchpapers.CitationRelation": {
+ "properties": {
+ "from_id": {
"type": "string"
},
- "national": {
- "type": "boolean"
- },
- "record": {
- "$ref": "#/definitions/sofascore.WDLRecord"
- },
- "short_name": {
- "example": "J. Sinner",
+ "retrieved_at": {
"type": "string"
},
- "slug": {
- "example": "sinner-jannik",
+ "source_id": {
"type": "string"
},
- "sport": {
- "example": "tennis",
+ "source_url": {
"type": "string"
},
- "type": {
- "example": "player",
+ "to_id": {
"type": "string"
}
},
"type": "object"
},
- "sofascore.RankingRow": {
+ "researchpapers.EuropePMCFullText": {
"properties": {
- "best_rank": {
- "type": "integer"
- },
- "entity": {
- "$ref": "#/definitions/sofascore.RankingEntity"
- },
- "label": {
- "example": "England",
+ "attribution": {
"type": "string"
},
- "max_points": {
- "type": "number"
- },
- "next_win_points": {
- "type": "number"
- },
- "playing_teams": {
- "type": "integer"
+ "content_sha256": {
+ "type": "string"
},
- "points": {
- "type": "number"
+ "copyright": {
+ "type": "string"
},
- "previous_points": {
- "type": "number"
+ "extraction_note": {
+ "type": "string"
},
- "previous_rank": {
- "type": "integer"
+ "license_text": {
+ "type": "string"
},
- "rank": {
- "example": 1,
- "type": "integer"
+ "license_url": {
+ "type": "string"
},
- "total_teams": {
- "type": "integer"
+ "retrieved_at": {
+ "type": "string"
},
- "tournaments_played": {
- "type": "integer"
+ "source_url": {
+ "type": "string"
},
- "year": {
- "example": "2027",
+ "text": {
"type": "string"
}
},
"type": "object"
},
- "sofascore.RankingType": {
+ "researchpapers.PaperGraphSeed": {
"properties": {
- "description": {
+ "paper_id": {
"type": "string"
},
- "entity_type": {
- "example": "player",
+ "primary_id": {
"type": "string"
},
- "gender": {
- "example": "M",
+ "status": {
+ "enum": [
+ "ok",
+ "failed"
+ ],
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "researchpapers.PaperReadRequest": {
+ "properties": {
+ "limit": {
+ "type": "integer"
},
- "name": {
- "example": "ATP men's singles ranking",
+ "paper_id": {
"type": "string"
},
- "sport": {
- "example": "tennis",
+ "question": {
"type": "string"
- },
- "type": {
- "example": 5,
- "type": "integer"
}
},
+ "required": [
+ "paper_id",
+ "question"
+ ],
"type": "object"
},
- "sofascore.RankingTypesResponse": {
+ "researchpapers.PaperRelatedRequest": {
"properties": {
- "count": {
- "example": 32,
+ "cursor": {
+ "type": "string"
+ },
+ "intent": {
+ "type": "string"
+ },
+ "limit": {
"type": "integer"
},
- "types": {
+ "mode": {
+ "$ref": "#/definitions/researchpapers.RelatedMode"
+ },
+ "seed_ids": {
"items": {
- "$ref": "#/definitions/sofascore.RankingType"
+ "type": "string"
},
"type": "array"
}
},
"type": "object"
},
- "sofascore.RankingsResponse": {
+ "researchpapers.RelatedMode": {
+ "enum": [
+ "references",
+ "citers"
+ ],
+ "type": "string",
+ "x-enum-varnames": [
+ "RelatedReferences",
+ "RelatedCiters"
+ ]
+ },
+ "researchretrieval.Paper": {
"properties": {
- "count": {
- "example": 500,
- "type": "integer"
- },
- "entity_type": {
- "example": "player",
+ "abstract": {
"type": "string"
},
- "fetched_at": {
- "type": "string"
+ "authors": {
+ "items": {
+ "$ref": "#/definitions/researchretrieval.PaperAuthor"
+ },
+ "type": "array"
},
- "name": {
- "example": "ATP men's singles ranking",
+ "content_level": {
+ "enum": [
+ "metadata",
+ "abstract",
+ "full_text"
+ ],
"type": "string"
},
- "rankings": {
+ "identifiers": {
"items": {
- "$ref": "#/definitions/sofascore.RankingRow"
+ "$ref": "#/definitions/researchretrieval.PaperIdentifier"
},
"type": "array"
},
- "source_url": {
+ "paper_id": {
"type": "string"
},
- "sport": {
- "example": "tennis",
+ "primary_id": {
"type": "string"
},
- "total_rows": {
- "example": 500,
+ "publication_year": {
"type": "integer"
},
- "type": {
- "example": 5,
- "type": "integer"
+ "published_at": {
+ "type": "string"
},
- "updated_at": {
- "example": "2026-10-06T23:00:37Z",
+ "retrieved_at": {
"type": "string"
},
- "updated_timestamp": {
- "type": "integer"
+ "source_urls": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "title": {
+ "type": "string"
+ },
+ "updated_at": {
+ "type": "string"
}
},
"type": "object"
},
- "sofascore.Referee": {
+ "researchretrieval.PaperAuthor": {
"properties": {
- "country": {
- "description": "Referee's country.",
- "example": "England",
+ "affiliation": {
"type": "string"
},
- "id": {
- "description": "SofaScore referee id.",
- "type": "integer"
- },
"name": {
- "description": "Referee's name.",
- "example": "Anthony Taylor",
"type": "string"
}
},
"type": "object"
},
- "sofascore.RefereeCompetitionStatistics": {
+ "researchretrieval.PaperFailure": {
"properties": {
- "appearances": {
- "example": 27,
- "type": "integer"
+ "message": {
+ "type": "string"
},
- "competition": {
- "$ref": "#/definitions/sofascore.UniqueTournamentBrief"
+ "reason": {
+ "enum": [
+ "invalid_url",
+ "unsupported_content_type",
+ "blocked",
+ "not_found",
+ "rate_limited",
+ "timeout",
+ "upstream_error",
+ "internal_error",
+ "out_of_scope",
+ "robots_disallowed",
+ "duplicate",
+ "limit_reached",
+ "unsupported_filter",
+ "unknown_source",
+ "idempotency_conflict",
+ "invalid_cursor",
+ "result_expired",
+ "full_text_unavailable",
+ "budget_exhausted"
+ ],
+ "type": "string"
},
- "penalties": {
- "example": 11,
+ "retry_after_seconds": {
"type": "integer"
},
- "red_cards": {
- "example": 4,
- "type": "integer"
+ "retryable": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "researchretrieval.PaperHit": {
+ "properties": {
+ "paper": {
+ "$ref": "#/definitions/researchretrieval.Paper"
},
- "yellow_cards": {
- "example": 86,
+ "rank": {
"type": "integer"
},
- "yellow_red_cards": {
- "example": 1,
- "type": "integer"
+ "score": {
+ "type": "number"
}
},
"type": "object"
},
- "sofascore.RefereeDetail": {
+ "researchretrieval.PaperIdentifier": {
"properties": {
- "country": {
- "example": "England",
+ "namespace": {
+ "enum": [
+ "arxiv",
+ "doi",
+ "pmid",
+ "pmcid"
+ ],
"type": "string"
},
- "date_of_birth": {
- "example": "1979-06-20",
+ "value": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "researchretrieval.PaperMetadataResponse": {
+ "properties": {
+ "coverage": {
+ "items": {
+ "$ref": "#/definitions/researchretrieval.PaperSourceCoverage"
+ },
+ "type": "array"
},
- "first_league_debut": {
- "description": "FirstLeagueDebut is the date of the referee's first top-flight match when\nSofaScore records it.",
- "example": "2010-02-03",
- "type": "string"
+ "paper": {
+ "$ref": "#/definitions/researchretrieval.Paper"
},
- "games": {
- "description": "Games, YellowCards, RedCards and YellowRedCards are career totals across\nevery competition; each is omitted when SofaScore gives none.",
- "example": 321,
- "type": "integer"
+ "usage": {
+ "$ref": "#/definitions/retrievaltypes.Usage"
},
- "id": {
- "example": 74264,
- "type": "integer"
+ "warnings": {
+ "items": {
+ "$ref": "#/definitions/researchretrieval.PaperWarning"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "researchretrieval.PaperReadResponse": {
+ "properties": {
+ "coverage": {
+ "items": {
+ "$ref": "#/definitions/researchretrieval.PaperSourceCoverage"
+ },
+ "type": "array"
},
- "name": {
- "example": "Robert Jones",
- "type": "string"
+ "full_text": {
+ "$ref": "#/definitions/researchpapers.EuropePMCFullText"
},
- "red_cards": {
- "example": 20,
- "type": "integer"
+ "full_text_available": {
+ "type": "boolean"
},
- "slug": {
- "example": "robert-jones",
- "type": "string"
+ "paper": {
+ "$ref": "#/definitions/researchretrieval.Paper"
},
- "sport": {
- "example": "football",
+ "passages": {
+ "items": {
+ "$ref": "#/definitions/retrievaltypes.Passage"
+ },
+ "type": "array"
+ },
+ "unavailable_reason": {
+ "enum": [
+ "not_indexed",
+ "restricted",
+ "unsupported_format",
+ "not_found"
+ ],
"type": "string"
},
- "yellow_cards": {
- "example": 1156,
- "type": "integer"
+ "usage": {
+ "$ref": "#/definitions/retrievaltypes.Usage"
},
- "yellow_red_cards": {
- "example": 13,
- "type": "integer"
+ "warnings": {
+ "items": {
+ "$ref": "#/definitions/researchretrieval.PaperWarning"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "sofascore.RefereeEventsResponse": {
+ "researchretrieval.PaperRelatedResponse": {
"properties": {
- "count": {
- "type": "integer"
+ "coverage": {
+ "items": {
+ "$ref": "#/definitions/researchretrieval.PaperSourceCoverage"
+ },
+ "type": "array"
},
- "events": {
+ "has_more": {
+ "type": "boolean"
+ },
+ "items": {
"items": {
- "$ref": "#/definitions/sofascore.EventSummary"
+ "$ref": "#/definitions/researchretrieval.PaperHit"
},
"type": "array"
},
- "fetched_at": {
+ "next_cursor": {
"type": "string"
},
- "has_next_page": {
+ "partial": {
"type": "boolean"
},
- "page": {
- "type": "integer"
+ "relations": {
+ "items": {
+ "$ref": "#/definitions/researchpapers.CitationRelation"
+ },
+ "type": "array"
},
- "referee_id": {
- "example": 74264,
- "type": "integer"
+ "seeds": {
+ "items": {
+ "$ref": "#/definitions/researchpapers.PaperGraphSeed"
+ },
+ "type": "array"
},
- "source_url": {
- "type": "string"
+ "usage": {
+ "$ref": "#/definitions/retrievaltypes.Usage"
+ },
+ "warnings": {
+ "items": {
+ "$ref": "#/definitions/researchretrieval.PaperWarning"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "sofascore.RefereeResponse": {
+ "researchretrieval.PaperSearchResponse": {
"properties": {
- "fetched_at": {
- "type": "string"
+ "coverage": {
+ "items": {
+ "$ref": "#/definitions/researchretrieval.PaperSourceCoverage"
+ },
+ "type": "array"
},
- "referee": {
- "$ref": "#/definitions/sofascore.RefereeDetail"
+ "has_more": {
+ "type": "boolean"
},
- "source_url": {
+ "items": {
+ "items": {
+ "$ref": "#/definitions/researchretrieval.PaperHit"
+ },
+ "type": "array"
+ },
+ "next_cursor": {
"type": "string"
+ },
+ "partial": {
+ "type": "boolean"
+ },
+ "usage": {
+ "$ref": "#/definitions/retrievaltypes.Usage"
+ },
+ "warnings": {
+ "items": {
+ "$ref": "#/definitions/researchretrieval.PaperWarning"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "sofascore.RefereeStatisticsResponse": {
+ "researchretrieval.PaperSourceCoverage": {
"properties": {
- "competitions": {
- "items": {
- "$ref": "#/definitions/sofascore.RefereeCompetitionStatistics"
- },
- "type": "array"
+ "corpus_revision": {
+ "type": "string"
},
- "count": {
- "type": "integer"
+ "failure": {
+ "$ref": "#/definitions/researchretrieval.PaperFailure"
},
- "fetched_at": {
+ "indexed_at": {
"type": "string"
},
- "referee_id": {
- "example": 74264,
- "type": "integer"
+ "retrieved_at": {
+ "type": "string"
},
- "source_url": {
+ "source_id": {
+ "type": "string"
+ },
+ "status": {
+ "enum": [
+ "ok",
+ "failed",
+ "not_indexed",
+ "unsupported"
+ ],
"type": "string"
}
},
"type": "object"
},
- "sofascore.RoundEventsResponse": {
+ "researchretrieval.PaperSourceDescriptor": {
"properties": {
- "count": {
- "description": "Number of events returned.",
- "type": "integer"
- },
- "events": {
- "description": "Fixtures in the round.",
+ "artifact_types": {
"items": {
- "$ref": "#/definitions/sofascore.EventSummary"
+ "type": "string"
},
"type": "array"
},
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "corpus": {
"type": "string"
},
- "has_next_page": {
- "description": "True when more fixtures are available on a further page.",
- "type": "boolean"
- },
- "prefix": {
- "description": "Round prefix, set for stages such as Qualification.",
- "example": "Qualification",
+ "corpus_revision": {
"type": "string"
},
- "round": {
- "description": "Round number.",
- "type": "integer"
- },
- "season_id": {
- "description": "SofaScore season id.",
- "type": "integer"
- },
- "slug": {
- "description": "Round slug, set for named rounds such as `round-of-16`.",
- "example": "round-of-16",
- "type": "string"
+ "filters": {
+ "items": {
+ "enum": [
+ "authors",
+ "published_from",
+ "published_to"
+ ],
+ "type": "string"
+ },
+ "type": "array"
},
- "source_url": {
- "description": "SofaScore URL the data was read from.",
+ "last_success_at": {
"type": "string"
},
- "tournament_id": {
- "description": "Id of the competition (the unique tournament id).",
- "type": "integer"
- }
- },
- "type": "object"
- },
- "sofascore.RoundRef": {
- "properties": {
"name": {
- "example": "Round of 16",
"type": "string"
},
- "prefix": {
- "example": "Qualification",
+ "operations": {
+ "items": {
+ "enum": [
+ "search",
+ "metadata",
+ "read",
+ "references",
+ "citers"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "source_id": {
"type": "string"
},
- "round": {
- "example": 5,
- "type": "integer"
+ "state": {
+ "enum": [
+ "ready"
+ ],
+ "type": "string"
},
- "slug": {
- "example": "round-of-16",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "sofascore.ScheduledEventsResponse": {
+ "researchretrieval.PaperSourcesResponse": {
"properties": {
- "category_id": {
- "type": "integer"
- },
- "count": {
- "type": "integer"
- },
- "date": {
- "example": "2026-10-08",
- "type": "string"
+ "has_more": {
+ "type": "boolean"
},
- "events": {
+ "items": {
"items": {
- "$ref": "#/definitions/sofascore.EventSummary"
+ "$ref": "#/definitions/researchretrieval.PaperSourceDescriptor"
},
"type": "array"
},
- "fetched_at": {
+ "next_cursor": {
"type": "string"
},
- "source_url": {
+ "registry_revision": {
"type": "string"
}
},
"type": "object"
},
- "sofascore.ScheduledTournament": {
+ "researchretrieval.PaperWarning": {
"properties": {
- "category_id": {
- "example": 13,
- "type": "integer"
- },
- "category_name": {
- "example": "Brazil",
- "type": "string"
- },
- "event_count": {
- "description": "EventCount is the number of events that start on the requested UTC date.",
- "example": 3,
- "type": "integer"
- },
- "id": {
- "example": 83,
- "type": "integer"
- },
- "name": {
- "example": "Campeonato Brasileiro Série A",
+ "code": {
+ "enum": [
+ "source_failed",
+ "source_not_indexed",
+ "discovery_truncated",
+ "ranking_window_limit",
+ "imprecise_date_excluded",
+ "content_unavailable",
+ "cached_source_stale"
+ ],
"type": "string"
},
- "slug": {
+ "message": {
"type": "string"
},
- "unique_tournament_id": {
- "example": 325,
- "type": "integer"
- },
- "unique_tournament_name": {
+ "source_id": {
"type": "string"
}
},
"type": "object"
},
- "sofascore.ScheduledTournamentsResponse": {
+ "resy.AvailabilityResponse": {
"properties": {
- "count": {
- "type": "integer"
- },
"date": {
- "example": "2026-10-08",
"type": "string"
},
- "fetched_at": {
- "type": "string"
- },
- "has_next_page": {
- "type": "boolean"
- },
- "page": {
- "example": 1,
+ "party_size": {
"type": "integer"
},
- "source_url": {
- "type": "string"
- },
- "sport": {
- "example": "football",
+ "restaurant_id": {
"type": "string"
},
- "tournaments": {
+ "timeslots": {
"items": {
- "$ref": "#/definitions/sofascore.ScheduledTournament"
+ "$ref": "#/definitions/resy.Timeslot"
},
"type": "array"
}
},
"type": "object"
},
- "sofascore.ScoreLine": {
+ "resy.CuisinesResponse": {
"properties": {
- "current": {
- "description": "Current score, which is the final score once the match is over.",
- "type": "integer"
- },
- "period1": {
- "description": "Score in the first period.",
- "type": "integer"
+ "cuisines": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "period2": {
- "description": "Score in the second period.",
- "type": "integer"
+ "location": {
+ "type": "string"
}
},
"type": "object"
},
- "sofascore.SearchResponse": {
+ "resy.Event": {
"properties": {
- "count": {
- "description": "Number of results returned.",
- "type": "integer"
+ "city": {
+ "type": "string"
},
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "currency": {
+ "example": "USD",
"type": "string"
},
- "query": {
- "description": "Search query that was run.",
+ "date": {
+ "example": "2026-09-20",
"type": "string"
},
- "results": {
- "description": "Matching teams, players and other entities. Empty when nothing matches.",
+ "description": {
+ "type": "string"
+ },
+ "end_time": {
+ "example": "17:00:00",
+ "type": "string"
+ },
+ "general_sale_date": {
+ "type": "string"
+ },
+ "images": {
"items": {
- "$ref": "#/definitions/sofascore.SearchResult"
+ "type": "string"
},
"type": "array"
},
- "source_url": {
- "description": "SofaScore URL the data was read from.",
- "type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.SearchResult": {
- "properties": {
- "country": {
- "description": "Country of the result.",
- "type": "string"
+ "is_presale": {
+ "type": "boolean"
},
- "id": {
- "description": "SofaScore id of the result. Which endpoints accept it depends on `type`.",
+ "max_party_size": {
+ "example": 8,
+ "type": "integer"
+ },
+ "min_party_size": {
+ "example": 1,
"type": "integer"
},
"name": {
- "description": "Name of the result.",
+ "example": "Breakfast & Citi Field Trip",
"type": "string"
},
- "slug": {
- "description": "URL slug of the result on SofaScore.",
+ "neighborhood": {
"type": "string"
},
- "sport": {
- "description": "Sport the result belongs to.",
- "type": "string"
+ "price_max": {
+ "example": 85,
+ "type": "number"
},
- "team_id": {
- "description": "For a player, the SofaScore id of their team.",
- "type": "integer"
+ "price_min": {
+ "example": 85,
+ "type": "number"
},
- "team_name": {
- "description": "For a player, the name of their team.",
+ "restaurant_id": {
"type": "string"
},
- "type": {
- "description": "Kind of result, for example `team` or `player`.",
- "example": "team",
+ "restaurant_name": {
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.SearchTypedResponse": {
- "properties": {
- "count": {
- "type": "integer"
},
- "fetched_at": {
+ "restaurant_url_slug": {
+ "description": "RestaurantURLSlug, together with URLSlug and the search/events\nLocation value, is what resy-event-detail needs to fetch this\nevent's full description and ticket packages.",
"type": "string"
},
- "page": {
+ "shift_id": {
"type": "integer"
},
- "query": {
- "type": "string"
- },
- "results": {
- "items": {
- "$ref": "#/definitions/sofascore.TypedSearchResult"
- },
- "type": "array"
- },
- "source_url": {
+ "time": {
+ "example": "09:30:00",
"type": "string"
},
- "sport": {
+ "url_slug": {
"type": "string"
},
- "type": {
- "example": "teams",
+ "why_we_like_it": {
"type": "string"
}
},
"type": "object"
},
- "sofascore.Season": {
+ "resy.EventDetailResponse": {
"properties": {
- "id": {
- "description": "SofaScore season id. Pass it to the standings and round endpoints.",
- "type": "integer"
- },
- "name": {
- "description": "Season name.",
+ "currency": {
"type": "string"
},
- "year": {
- "description": "Season label, for example 26/27.",
+ "date": {
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.SeasonEvent": {
- "properties": {
- "away_score": {
- "allOf": [
- {
- "$ref": "#/definitions/sofascore.ScoreLine"
- }
- ],
- "description": "Away side's score, when available."
- },
- "away_team": {
- "allOf": [
- {
- "$ref": "#/definitions/sofascore.TeamRef"
- }
- ],
- "description": "Away side."
- },
- "home_score": {
- "allOf": [
- {
- "$ref": "#/definitions/sofascore.ScoreLine"
- }
- ],
- "description": "Home side's score, when available."
- },
- "home_team": {
- "allOf": [
- {
- "$ref": "#/definitions/sofascore.TeamRef"
- }
- ],
- "description": "Home side."
- },
- "id": {
- "description": "SofaScore event id. Use it with the event endpoints.",
- "example": 14025013,
- "type": "integer"
},
- "round": {
- "example": 3,
- "type": "integer"
+ "description": {
+ "type": "string"
},
- "round_name": {
+ "end_time": {
"type": "string"
},
- "slug": {
- "description": "URL slug of the match on SofaScore.",
+ "enhanced_description": {
"type": "string"
},
- "start_time": {
- "description": "Start time in UTC (RFC 3339).",
- "example": "2025-08-15T19:00:00Z",
+ "enhanced_need_to_know": {
"type": "string"
},
- "start_timestamp": {
- "description": "Start time as a Unix timestamp in seconds.",
- "type": "integer"
+ "general_sale_date": {
+ "type": "string"
},
- "status": {
- "allOf": [
- {
- "$ref": "#/definitions/sofascore.EventStatus"
- }
- ],
- "description": "Current status of the match."
+ "images": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "tournament": {
- "allOf": [
- {
- "$ref": "#/definitions/sofascore.TournamentRef"
- }
- ],
- "description": "Tournament and parent competition the match belongs to."
+ "is_presale": {
+ "type": "boolean"
},
- "winner_code": {
- "description": "Result code: 1 when the home side won, 2 when the away side won, 3 for a draw. Omitted until the match is decided.",
+ "max_party_size": {
"type": "integer"
- }
- },
- "type": "object"
- },
- "sofascore.SeasonEventsResponse": {
- "properties": {
- "count": {
+ },
+ "min_party_size": {
"type": "integer"
},
- "direction": {
- "example": "next",
+ "name": {
"type": "string"
},
- "events": {
+ "need_to_know": {
+ "type": "string"
+ },
+ "packages": {
"items": {
- "$ref": "#/definitions/sofascore.SeasonEvent"
+ "$ref": "#/definitions/resy.EventPackage"
},
"type": "array"
},
- "fetched_at": {
- "type": "string"
- },
- "has_next_page": {
- "type": "boolean"
+ "price_max": {
+ "type": "number"
},
- "page": {
- "type": "integer"
+ "price_min": {
+ "type": "number"
},
- "season_id": {
+ "shift_id": {
"type": "integer"
},
- "source_url": {
+ "time": {
"type": "string"
},
- "tournament_id": {
- "type": "integer"
+ "url_slug": {
+ "type": "string"
}
},
"type": "object"
},
- "sofascore.SeasonHeatmapPoint": {
+ "resy.EventPackage": {
"properties": {
- "count": {
+ "max_party_size": {
+ "example": 8,
+ "type": "integer"
+ },
+ "min_party_size": {
"example": 1,
"type": "integer"
},
- "x": {
- "example": 71,
- "type": "number"
+ "name": {
+ "example": "One Ticket for Breakfast & Citi Field Trip",
+ "type": "string"
},
- "y": {
- "example": 42,
+ "price_total": {
+ "example": 85,
"type": "number"
- }
- },
- "type": "object"
- },
- "sofascore.SeasonInfo": {
- "properties": {
- "away_team_wins": {
- "type": "integer"
- },
- "draws": {
- "type": "integer"
},
- "goals": {
- "type": "integer"
+ "price_total_str": {
+ "example": "$85.00",
+ "type": "string"
},
- "home_team_wins": {
+ "quantity_remaining": {
+ "example": 22,
"type": "integer"
},
- "id": {
- "example": 96668,
+ "quantity_total": {
+ "example": 40,
"type": "integer"
},
- "name": {
- "example": "Premier League 26/27",
- "type": "string"
+ "sold_out": {
+ "type": "boolean"
},
- "newcomers_lower_division": {
+ "timeslots": {
"items": {
- "$ref": "#/definitions/sofascore.TeamRef"
+ "$ref": "#/definitions/resy.Timeslot"
},
"type": "array"
},
- "newcomers_other": {
+ "whats_included": {
"items": {
- "$ref": "#/definitions/sofascore.TeamRef"
+ "type": "string"
},
"type": "array"
- },
- "newcomers_upper_division": {
+ }
+ },
+ "type": "object"
+ },
+ "resy.EventsResponse": {
+ "properties": {
+ "events": {
"items": {
- "$ref": "#/definitions/sofascore.TeamRef"
+ "$ref": "#/definitions/resy.Event"
},
"type": "array"
},
- "number_of_competitors": {
- "type": "integer"
- },
- "red_cards": {
- "type": "integer"
- },
- "year": {
- "example": "26/27",
+ "location": {
"type": "string"
},
- "yellow_cards": {
+ "total": {
"type": "integer"
}
},
"type": "object"
},
- "sofascore.SeasonTeam": {
+ "resy.Location": {
"properties": {
- "country": {
- "example": "England",
+ "code": {
+ "example": "ny",
"type": "string"
},
- "country_code": {
- "example": "EN",
+ "country": {
+ "example": "United States",
"type": "string"
},
- "gender": {
- "example": "M",
+ "country_code": {
+ "example": "US",
"type": "string"
},
"id": {
- "example": 42,
- "type": "integer"
- },
- "name": {
- "example": "Arsenal",
- "type": "string"
- },
- "name_code": {
- "example": "ARS",
+ "example": "1",
"type": "string"
},
- "national": {
- "type": "boolean"
+ "latitude": {
+ "type": "number"
},
- "ranking": {
- "type": "integer"
+ "longitude": {
+ "type": "number"
},
- "short_name": {
- "example": "Arsenal",
+ "name": {
+ "example": "New York",
"type": "string"
},
- "slug": {
- "example": "arsenal",
+ "time_zone": {
+ "example": "America/New_York",
"type": "string"
},
- "sport": {
- "example": "football",
+ "url_slug": {
+ "example": "new-york-ny",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "resy.LocationsResponse": {
+ "properties": {
+ "locations": {
+ "items": {
+ "$ref": "#/definitions/resy.Location"
+ },
+ "type": "array"
},
- "type": {
- "description": "Type is the upstream competitor type: 0 for a team, 1 for an individual\nplayer; other codes (for example doubles pairs) are passed through.",
- "example": 0,
- "type": "integer"
- },
- "user_count": {
+ "total": {
"type": "integer"
}
},
"type": "object"
},
- "sofascore.Shot": {
+ "resy.RestaurantResponse": {
"properties": {
- "added_time": {
- "example": 4,
- "type": "integer"
+ "about": {
+ "type": "string"
},
- "block_coordinates": {
- "$ref": "#/definitions/sofascore.Coordinates"
+ "address": {
+ "example": "181 Thompson Street",
+ "type": "string"
},
- "body_part": {
- "example": "right-foot",
+ "average_cost_per_person": {
+ "example": "$150",
"type": "string"
},
- "coordinates": {
- "$ref": "#/definitions/sofascore.Coordinates"
+ "city": {
+ "example": "New York",
+ "type": "string"
},
- "goal_mouth_coordinates": {
- "$ref": "#/definitions/sofascore.Coordinates"
+ "country": {
+ "type": "string"
},
- "goal_mouth_location": {
- "example": "low-left",
+ "cross_street": {
"type": "string"
},
- "goal_type": {
- "example": "regular",
+ "cuisine": {
+ "example": "Italian",
"type": "string"
},
- "goalkeeper": {
- "$ref": "#/definitions/sofascore.PlayerBrief"
+ "currency_symbol": {
+ "example": "$",
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
},
"id": {
- "type": "integer"
+ "type": "string"
},
- "is_home": {
- "type": "boolean"
+ "images": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "minute": {
- "example": 90,
- "type": "integer"
+ "latitude": {
+ "type": "number"
},
- "outcome": {
- "example": "saved",
+ "location_code": {
+ "description": "LocationCode is Resy's short city code (e.g. \"ny\") -- pass it as\nresy-cuisines' or resy-events' location param to discover more about\nthis same city.",
+ "example": "ny",
"type": "string"
},
- "period": {
- "example": "1ST",
- "type": "string"
+ "longitude": {
+ "type": "number"
},
- "period_time_seconds": {
- "example": 458,
+ "max_party_size": {
+ "example": 14,
"type": "integer"
},
- "player": {
- "$ref": "#/definitions/sofascore.PlayerBrief"
- },
- "player_coordinates": {
- "$ref": "#/definitions/sofascore.Coordinates"
+ "menu_url": {
+ "type": "string"
},
- "reversed_period_time_seconds": {
- "example": 742,
+ "min_party_size": {
+ "example": 1,
"type": "integer"
},
- "shot_type": {
- "example": "goal",
+ "name": {
"type": "string"
},
- "situation": {
- "example": "assisted",
+ "need_to_know": {
"type": "string"
},
- "strength": {
- "example": "powerplay",
+ "neighborhood": {
+ "example": "Greenwich Village",
"type": "string"
},
- "team": {
- "allOf": [
- {
- "$ref": "#/definitions/sofascore.TeamRef"
- }
- ],
- "description": "Ice hockey fields. Hockey shots carry the shooting team, an outcome, the\nstrength situation and the period clock instead of a minute, and one\nrink position instead of pitch and goal-mouth coordinates."
+ "phone_number": {
+ "type": "string"
},
- "time_seconds": {
+ "postal_code": {
+ "type": "string"
+ },
+ "price_range": {
+ "example": 4,
"type": "integer"
},
- "xg": {
- "example": 0.19,
+ "rating": {
+ "example": 4.75,
"type": "number"
},
- "xgot": {
- "example": 0.08,
- "type": "number"
- }
- },
- "type": "object"
- },
- "sofascore.SportEntry": {
- "properties": {
- "key": {
- "example": "football",
+ "region": {
+ "example": "NY",
"type": "string"
},
- "live_events": {
- "example": 3,
+ "review_count": {
+ "example": 33837,
"type": "integer"
},
- "name": {
- "example": "Football",
+ "url_slug": {
+ "example": "carbone",
"type": "string"
},
- "total_events": {
- "example": 1441,
- "type": "integer"
+ "website": {
+ "type": "string"
+ },
+ "why_we_like_it": {
+ "type": "string"
}
},
"type": "object"
},
- "sofascore.SportsResponse": {
+ "resy.SearchResponse": {
"properties": {
- "count": {
- "example": 24,
- "type": "integer"
- },
- "counts_available": {
- "description": "CountsAvailable is false when the live count feed could not be read; the\nsport list itself is always complete.",
- "type": "boolean"
- },
- "fetched_at": {
- "type": "string"
- },
- "source_url": {
- "type": "string"
+ "available_cuisines": {
+ "description": "AvailableCuisines lists the cuisines present among restaurants near this\nsearch location (Resy's own search facet) -- use it to discover cuisine\nvalues worth passing back in Term, since the upstream search index has\nno separate structured cuisine filter (confirmed live: a top-level\n\"cuisine\" search field is rejected as an unknown field).",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "sports": {
+ "results": {
"items": {
- "$ref": "#/definitions/sofascore.SportEntry"
+ "$ref": "#/definitions/resy.SearchResult"
},
"type": "array"
+ },
+ "term": {
+ "type": "string"
+ },
+ "total": {
+ "type": "integer"
}
},
"type": "object"
},
- "sofascore.SquadPlayer": {
+ "resy.SearchResult": {
"properties": {
- "country": {
- "description": "Player's country.",
- "type": "string"
- },
- "date_of_birth": {
- "description": "Date of birth (RFC 3339).",
+ "city": {
+ "example": "New York",
"type": "string"
},
- "height": {
- "description": "Height in centimetres.",
- "type": "integer"
+ "cuisines": {
+ "example": [
+ "Italian"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
"id": {
- "description": "SofaScore player id. Use it with the player endpoints.",
- "type": "integer"
- },
- "jersey_number": {
- "description": "Shirt number.",
- "type": "string"
- },
- "market_value": {
- "description": "SofaScore's estimated market value, in units of `market_value_currency`. Omitted when unavailable.",
- "type": "integer"
- },
- "market_value_currency": {
- "description": "Currency of `market_value`, for example EUR.",
+ "example": "6194",
"type": "string"
},
- "name": {
- "description": "Player's full name.",
- "type": "string"
+ "latitude": {
+ "type": "number"
},
- "position": {
- "description": "Position code, for example G, D, M or F.",
+ "location_code": {
+ "description": "LocationCode is Resy's short city code (e.g. \"ny\") -- pass it as\nresy-cuisines' or resy-events' location param to discover more about\nthis same city.",
+ "example": "ny",
"type": "string"
},
- "preferred_foot": {
- "description": "Preferred foot, for example \"Right\".",
+ "location_url_slug": {
+ "example": "new-york-ny",
"type": "string"
},
- "short_name": {
- "description": "Shortened name, for example \"E. Haaland\".",
- "type": "string"
+ "longitude": {
+ "type": "number"
},
- "slug": {
- "description": "URL slug of the player on SofaScore.",
+ "name": {
+ "example": "Carbone",
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.Stage": {
- "properties": {
- "competition": {
- "allOf": [
- {
- "$ref": "#/definitions/sofascore.StageCompetition"
- }
- ],
- "description": "Competition is the series this stage belongs to."
},
- "country": {
- "example": "Azerbaijan",
+ "neighborhood": {
+ "example": "Greenwich Village",
"type": "string"
},
- "country_code": {
- "example": "AZ",
+ "phone_number": {
"type": "string"
},
- "end_timestamp": {
- "description": "EndTimestamp is omitted when SofaScore publishes none or one before the start.",
- "type": "integer"
- },
- "id": {
- "example": 214258,
+ "price_range": {
+ "example": 4,
"type": "integer"
},
- "info": {
- "$ref": "#/definitions/sofascore.StageInfo"
- },
- "name": {
- "example": "Grand Prix",
- "type": "string"
- },
- "on_date": {
- "description": "OnDate is true when at least one session of the event starts inside the\nrequested UTC day (stage-schedule only).",
- "type": "boolean"
- },
- "parent": {
- "allOf": [
- {
- "$ref": "#/definitions/sofascore.StageRef"
- }
- ],
- "description": "Parent is the season of an event, the event of a session, and so on."
- },
- "parts": {
- "description": "Parts are the qualifying or practice parts of a session (substages only).",
- "items": {
- "$ref": "#/definitions/sofascore.StageSession"
- },
- "type": "array"
+ "rating": {
+ "example": 4.75,
+ "type": "number"
},
- "season_name": {
- "example": "Formula 1 2026",
+ "region": {
+ "example": "NY",
"type": "string"
},
- "sequence": {
- "description": "Sequence orders practice sessions and cycling stages within their event.",
- "example": 1,
+ "review_count": {
+ "example": 33837,
"type": "integer"
},
- "session": {
- "allOf": [
- {
- "$ref": "#/definitions/sofascore.StageSession"
- }
- ],
- "description": "Session is the session SofaScore highlights for an event: the live,\nnext or latest one (schedule routes only)."
- },
- "session_start_timestamps": {
- "description": "SessionStartTimestamps lists every session start of an event (schedule\nroutes only).",
+ "timeslots": {
"items": {
- "type": "integer"
+ "$ref": "#/definitions/resy.Timeslot"
},
"type": "array"
},
- "slug": {
- "example": "grand-prix",
- "type": "string"
- },
- "start_time": {
- "example": "2026-09-26T11:00:00Z",
- "type": "string"
- },
- "start_timestamp": {
- "example": 1790420400,
- "type": "integer"
- },
- "status": {
- "$ref": "#/definitions/sofascore.StageStatus"
- },
- "type": {
- "$ref": "#/definitions/sofascore.StageType"
- },
- "winner": {
- "allOf": [
- {
- "$ref": "#/definitions/sofascore.StageEntity"
- }
- ],
- "description": "Winner is set once the stage has a winner; for practice and qualifying it is the fastest competitor."
- },
- "year": {
- "example": "2026",
+ "url_slug": {
+ "example": "carbone",
"type": "string"
}
},
"type": "object"
},
- "sofascore.StageCategoriesResponse": {
+ "resy.Timeslot": {
"properties": {
- "categories": {
- "items": {
- "$ref": "#/definitions/sofascore.StageCategory"
- },
- "type": "array"
+ "end": {
+ "example": "2026-09-20 20:30:00",
+ "type": "string"
},
- "count": {
- "example": 28,
+ "max_party_size": {
+ "example": 4,
"type": "integer"
},
- "fetched_at": {
+ "min_party_size": {
+ "example": 1,
+ "type": "integer"
+ },
+ "seating_type": {
+ "example": "Dining Room",
"type": "string"
},
- "source_url": {
+ "start": {
+ "description": "Start/End are Resy's own local \"YYYY-MM-DD HH:MM:SS\" strings (not RFC3339\n-- kept as upstream returns them since seating-area shifts don't carry a\nUTC offset in the response).",
+ "example": "2026-09-20 19:00:00",
"type": "string"
},
- "sport": {
- "example": "motorsport",
+ "token": {
+ "description": "Token is Resy's opaque reservation-config identifier for this slot\n(an \"rgs://...\" string). It is only meaningful back to Resy's own\nbooking flow -- this service does not implement booking, only\ndiscovery.",
"type": "string"
}
},
"type": "object"
},
- "sofascore.StageCategory": {
+ "resy.availabilityResponseDoc": {
"properties": {
- "competitions": {
- "items": {
- "$ref": "#/definitions/sofascore.StageCompetition"
- },
- "type": "array"
- },
- "flag": {
- "example": "formula-1",
- "type": "string"
- },
- "id": {
- "example": 36,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "name": {
- "example": "Formula 1",
- "type": "string"
- },
- "priority": {
- "example": 13,
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/resy.AvailabilityResponse"
},
- "slug": {
- "example": "formula-1",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "sofascore.StageCompetition": {
+ "resy.cuisinesResponseDoc": {
"properties": {
- "category_id": {
- "example": 36,
- "type": "integer"
- },
- "category_name": {
- "example": "Formula 1",
- "type": "string"
- },
- "id": {
- "example": 40,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "name": {
- "example": "Formula 1",
- "type": "string"
- },
- "slug": {
- "example": "formula-1",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/resy.CuisinesResponse"
},
- "sport": {
- "example": "motorsport",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "sofascore.StageDetailResponse": {
+ "resy.eventDetailResponseDoc": {
"properties": {
- "fetched_at": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "source_url": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/resy.EventDetailResponse"
},
- "stage": {
- "$ref": "#/definitions/sofascore.Stage"
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "sofascore.StageDriverPerformanceResponse": {
+ "resy.eventsResponseDoc": {
"properties": {
- "competitors": {
- "items": {
- "$ref": "#/definitions/sofascore.StagePerformance"
- },
- "type": "array"
- },
- "count": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "fetched_at": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/resy.EventsResponse"
},
- "source_url": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "stage": {
- "$ref": "#/definitions/sofascore.Stage"
- },
- "stage_id": {
- "example": 214258,
- "type": "integer"
}
},
"type": "object"
},
- "sofascore.StageEntity": {
+ "resy.locationsResponseDoc": {
"properties": {
"code": {
- "description": "Code is the three-letter timing code (for example RUS), when published.",
- "example": "RUS",
- "type": "string"
- },
- "country": {
- "example": "United Kingdom",
- "type": "string"
- },
- "country_code": {
- "example": "GB",
- "type": "string"
- },
- "id": {
- "example": 271315,
+ "example": 200,
"type": "integer"
},
- "kind": {
- "description": "Kind is individual for a driver or rider and team for a team or constructor.",
- "example": "individual",
- "type": "string"
- },
- "name": {
- "example": "George Russell",
- "type": "string"
- },
- "short_name": {
- "example": "G. Russell",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/resy.LocationsResponse"
},
- "slug": {
- "example": "russell-george",
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "team": {
- "allOf": [
- {
- "$ref": "#/definitions/sofascore.StageTeamRef"
- }
- ],
- "description": "Team is the team or constructor of an individual competitor."
}
},
"type": "object"
},
- "sofascore.StageFeaturedResponse": {
+ "resy.restaurantResponseDoc": {
"properties": {
- "count": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "fetched_at": {
- "type": "string"
- },
- "source_url": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/resy.RestaurantResponse"
},
- "sport": {
- "example": "motorsport",
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "stages": {
- "items": {
- "$ref": "#/definitions/sofascore.Stage"
- },
- "type": "array"
}
},
"type": "object"
},
- "sofascore.StageInfo": {
+ "resy.searchResponseDoc": {
"properties": {
- "actual_distance": {
- "example": 400.5,
- "type": "number"
- },
- "air_temperature": {
- "description": "AirTemperature and TrackTemperature are degrees Celsius; Humidity is a percentage.",
- "example": 26.5,
- "type": "number"
- },
- "arrival_city": {
- "example": "Kampar",
- "type": "string"
- },
- "average_speed": {
- "example": 147.363,
- "type": "number"
- },
- "caution_laps": {
- "example": 21,
- "type": "integer"
- },
- "cautions": {
- "example": 4,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "circuit": {
- "example": "Baku City Circuit",
- "type": "string"
- },
- "circuit_city": {
- "example": "Baku",
- "type": "string"
- },
- "circuit_country": {
- "example": "Azerbaijan",
- "type": "string"
- },
- "circuit_length_m": {
- "example": 6003,
- "type": "number"
+ "data": {
+ "$ref": "#/definitions/resy.SearchResponse"
},
- "departure_city": {
- "example": "Shah Alam",
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "retailmenot.AutocompleteGroup": {
+ "properties": {
+ "items": {
+ "items": {
+ "$ref": "#/definitions/retailmenot.AutocompleteItem"
+ },
+ "type": "array"
},
- "discipline": {
- "description": "Cycling facts.",
- "example": "Category Pro",
+ "label": {
"type": "string"
},
- "distance": {
- "description": "NASCAR facts. Distances use the series' own unit (miles).",
- "example": 400,
- "type": "number"
- },
- "elapsed_time": {
- "example": "2:43:04",
+ "name": {
"type": "string"
- },
- "humidity": {
- "example": 50.4,
- "type": "number"
- },
- "lap_record": {
- "example": "1:44.916",
+ }
+ },
+ "type": "object"
+ },
+ "retailmenot.AutocompleteItem": {
+ "properties": {
+ "category_slug": {
+ "description": "CategorySlug is set on category suggestions; use it with\nGET /retailmenot/category.",
"type": "string"
},
- "laps": {
- "description": "Laps is the scheduled lap count and LapsCompleted the laps actually run.",
- "example": 51,
- "type": "integer"
- },
- "laps_completed": {
- "example": 51,
- "type": "integer"
- },
- "lead_changes": {
- "example": 12,
- "type": "integer"
- },
- "race_distance_m": {
- "description": "RaceDistanceM and CircuitLengthM are in metres.",
- "example": 306049,
- "type": "number"
- },
- "race_segments": {
- "description": "RaceSegments is the number of scored segments in a NASCAR race.",
- "example": 2,
- "type": "integer"
- },
- "race_type": {
- "example": "normal",
+ "domain": {
"type": "string"
},
- "round": {
- "description": "Round is the championship round of an event, or the stage number within a\ncycling race or rally; practice, qualifying and race sessions carry none.",
- "example": 15,
- "type": "integer"
- },
- "safety_car": {
- "type": "boolean"
- },
- "special_stages": {
- "description": "SpecialStages is the number of special stages of a rally (0 for a canceled rally).",
- "example": 17,
- "type": "integer"
- },
- "stage_day": {
- "description": "StageDay is the weekday label (THU, FRI, SAT, SUN) of a rally stage or race-weekend session.",
- "example": "FRI",
+ "meta_info": {
"type": "string"
},
- "summary": {
+ "offer_id": {
"type": "string"
},
- "track_condition": {
- "example": "Dry",
+ "title": {
"type": "string"
},
- "track_temperature": {
- "example": 40.1,
- "type": "number"
- },
- "weather": {
- "example": "sunny",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "sofascore.StageLap": {
+ "retailmenot.AutocompleteResponse": {
"properties": {
- "lap": {
- "example": 1,
- "type": "integer"
- },
- "pit_stop": {
- "type": "boolean"
- },
- "position": {
- "description": "Position is omitted on the lap a competitor retired.",
- "example": 1,
- "type": "integer"
- },
- "retired": {
- "type": "boolean"
- },
- "tyre_type": {
- "example": "M",
- "type": "string"
+ "groups": {
+ "items": {
+ "$ref": "#/definitions/retailmenot.AutocompleteGroup"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "sofascore.StagePerformance": {
+ "retailmenot.BlogCategoriesResponse": {
"properties": {
- "competitor": {
- "$ref": "#/definitions/sofascore.StageEntity"
- },
- "laps": {
- "description": "Laps is set for circuit races.",
- "items": {
- "$ref": "#/definitions/sofascore.StageLap"
- },
- "type": "array"
- },
- "stage_positions": {
- "description": "StagePositions is set for rallies.",
+ "categories": {
"items": {
- "$ref": "#/definitions/sofascore.StageSpecialStagePosition"
+ "$ref": "#/definitions/retailmenot.BlogCategory"
},
"type": "array"
- },
- "start_number": {
- "example": 63,
- "type": "integer"
}
},
"type": "object"
},
- "sofascore.StageRef": {
+ "retailmenot.BlogCategory": {
"properties": {
- "id": {
- "example": 214253,
+ "count": {
"type": "integer"
},
- "name": {
- "example": "Azerbaijan GP",
- "type": "string"
- },
- "slug": {
- "example": "azerbaijan-gp",
+ "description": {
"type": "string"
},
- "start_timestamp": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "sofascore.StageScheduleResponse": {
- "properties": {
- "count": {
+ "id": {
"type": "integer"
},
- "date": {
- "example": "2026-10-04",
+ "name": {
"type": "string"
},
- "fetched_at": {
- "type": "string"
+ "parent_id": {
+ "type": "integer"
},
- "source_url": {
+ "slug": {
"type": "string"
},
- "sport": {
- "example": "motorsport",
+ "url": {
"type": "string"
- },
- "stages": {
- "items": {
- "$ref": "#/definitions/sofascore.Stage"
- },
- "type": "array"
}
},
"type": "object"
},
- "sofascore.StageSeason": {
+ "retailmenot.BlogLink": {
"properties": {
- "end_timestamp": {
- "description": "EndTimestamp is omitted for the season still in progress.",
- "example": 1765119600,
- "type": "integer"
- },
- "id": {
- "example": 214140,
- "type": "integer"
- },
"name": {
- "example": "Formula 1 2026",
"type": "string"
},
"slug": {
- "example": "formula-1-2026",
"type": "string"
},
- "start_timestamp": {
- "example": 1767254187,
- "type": "integer"
- },
- "year": {
- "example": "2026",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "sofascore.StageSeasonsResponse": {
+ "retailmenot.BlogPostResponse": {
"properties": {
- "competition": {
- "$ref": "#/definitions/sofascore.StageCompetition"
- },
- "count": {
- "example": 77,
- "type": "integer"
- },
- "fetched_at": {
+ "author": {
"type": "string"
},
- "seasons": {
+ "categories": {
"items": {
- "$ref": "#/definitions/sofascore.StageSeason"
+ "$ref": "#/definitions/retailmenot.BlogTerm"
},
"type": "array"
},
- "source_url": {
+ "coupon_categories": {
+ "items": {
+ "$ref": "#/definitions/retailmenot.BlogLink"
+ },
+ "type": "array"
+ },
+ "description": {
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.StageSession": {
- "properties": {
+ },
+ "excerpt": {
+ "type": "string"
+ },
"id": {
- "example": 214258,
"type": "integer"
},
- "name": {
- "example": "Grand Prix",
+ "image_url": {
"type": "string"
},
- "sequence": {
- "example": 1,
- "type": "integer"
+ "modified": {
+ "type": "string"
+ },
+ "published": {
+ "type": "string"
+ },
+ "sections": {
+ "items": {
+ "$ref": "#/definitions/retailmenot.BlogSection"
+ },
+ "type": "array"
},
"slug": {
- "example": "grand-prix",
"type": "string"
},
- "start_timestamp": {
- "example": 1790420400,
- "type": "integer"
+ "stores": {
+ "items": {
+ "$ref": "#/definitions/retailmenot.BlogLink"
+ },
+ "type": "array"
},
- "status": {
- "$ref": "#/definitions/sofascore.StageStatus"
+ "tags": {
+ "items": {
+ "$ref": "#/definitions/retailmenot.BlogTerm"
+ },
+ "type": "array"
},
- "type": {
- "$ref": "#/definitions/sofascore.StageType"
- }
- },
- "type": "object"
- },
- "sofascore.StageSpecialStagePosition": {
- "properties": {
- "position": {
- "example": 3,
- "type": "integer"
+ "title": {
+ "type": "string"
},
- "stage": {
- "example": 1,
- "type": "integer"
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "sofascore.StageStanding": {
+ "retailmenot.BlogPostSummary": {
"properties": {
- "bonus_points": {
- "type": "number"
- },
- "comment": {
- "example": "Retired",
+ "author": {
"type": "string"
},
- "competitor": {
- "$ref": "#/definitions/sofascore.StageEntity"
- },
- "did_not_finish": {
- "description": "DidNotFinish is 1 in a race row for a competitor who did not finish; in a\nNASCAR season row it counts the races not finished.",
- "example": 1,
- "type": "integer"
- },
- "distance": {
- "description": "Distance is the distance covered in a NASCAR race, in the series' unit (miles).",
- "example": 400,
- "type": "number"
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/retailmenot.BlogTerm"
+ },
+ "type": "array"
},
- "fastest_lap_time": {
- "example": "1:44.916",
+ "description": {
"type": "string"
},
- "fastest_laps": {
- "description": "FastestLaps is the number of fastest laps (race row) or fastest laps of the season (season row).",
- "example": 1,
- "type": "integer"
- },
- "gap": {
- "description": "Gap is the time behind the leader, or DNF (did not finish) or DNS (did not start).",
- "example": "+0.196",
+ "excerpt": {
"type": "string"
},
- "grid_position": {
- "description": "GridPosition is the starting grid slot of a race.",
- "example": 1,
+ "id": {
"type": "integer"
},
- "interval": {
- "description": "Interval is the time behind the competitor ahead.",
- "example": "+0.196",
+ "image_url": {
"type": "string"
},
- "jersey": {
- "description": "Jersey is the classification jersey a cycling rider wears (general for the overall leader).",
- "example": "general",
+ "modified": {
"type": "string"
},
- "laps": {
- "example": 51,
- "type": "integer"
- },
- "laps_behind": {
- "type": "integer"
- },
- "laps_led": {
- "example": 51,
- "type": "integer"
- },
- "personal_fastest_lap": {
- "example": 49,
- "type": "integer"
- },
- "personal_fastest_lap_time": {
- "example": "1:44.916",
+ "published": {
"type": "string"
},
- "pit_stops": {
- "example": 2,
- "type": "integer"
- },
- "podiums": {
- "example": 13,
- "type": "integer"
- },
- "points": {
- "description": "Points are omitted when the row earned none published.",
- "example": 25,
- "type": "number"
- },
- "pole_positions": {
- "example": 6,
- "type": "integer"
- },
- "position": {
- "description": "Position is the classified position. It is omitted for competitors who\ndid not finish or set no time.",
- "example": 1,
- "type": "integer"
- },
- "races_started": {
- "example": 16,
- "type": "integer"
- },
- "races_with_points": {
- "example": 14,
- "type": "integer"
+ "slug": {
+ "type": "string"
},
- "rank": {
- "description": "Rank is the points rank of a NASCAR classification, which can differ from Position.",
- "type": "integer"
+ "tags": {
+ "items": {
+ "$ref": "#/definitions/retailmenot.BlogTerm"
+ },
+ "type": "array"
},
- "start_number": {
- "description": "StartNumber is the car, bike or bib number.",
- "example": 63,
- "type": "integer"
+ "title": {
+ "type": "string"
},
- "status": {
- "description": "Status is Finished, Out or Did not start; SubStatus gives the reason (Retired, Did not start); Comment is free text.",
- "example": "Out",
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "retailmenot.BlogPostsResponse": {
+ "properties": {
+ "category": {
"type": "string"
},
- "sub_status": {
- "example": "Retired",
+ "order": {
+ "enum": [
+ "desc",
+ "asc"
+ ],
"type": "string"
},
- "time": {
- "description": "Time is the race time, the best lap of a practice or qualifying session, or a stage time.\nSome series (IndyCar) publish the time behind the winner here for every row but the first.",
- "example": "1:38:02.143",
+ "order_by": {
+ "enum": [
+ "date",
+ "modified",
+ "title",
+ "relevance"
+ ],
"type": "string"
},
- "top10": {
+ "page": {
"type": "integer"
},
- "top5": {
+ "page_size": {
"type": "integer"
},
- "total_time": {
- "example": "28:57:04",
- "type": "string"
- },
- "tyre_state": {
- "example": "Used",
- "type": "string"
- },
- "tyre_stints": {
+ "posts": {
"items": {
- "$ref": "#/definitions/sofascore.StageTyreStint"
+ "$ref": "#/definitions/retailmenot.BlogPostSummary"
},
"type": "array"
},
- "tyre_type": {
- "description": "TyreType is the compound code at the finish (S, M observed); TyreStints lists every stint.",
- "example": "S",
+ "query": {
"type": "string"
},
- "updated_timestamp": {
- "description": "UpdatedTimestamp is when SofaScore last updated the row (Unix seconds).",
- "example": 1790428823,
+ "tag": {
+ "type": "string"
+ },
+ "total": {
"type": "integer"
},
- "victories": {
- "description": "Season championship totals.",
- "example": 8,
+ "total_pages": {
"type": "integer"
}
},
"type": "object"
},
- "sofascore.StageStandingsResponse": {
+ "retailmenot.BlogSection": {
"properties": {
- "count": {
- "type": "integer"
- },
- "fetched_at": {
- "type": "string"
- },
- "source_url": {
- "type": "string"
- },
- "stage_id": {
- "example": 214258,
- "type": "integer"
- },
- "standings": {
+ "lists": {
"items": {
- "$ref": "#/definitions/sofascore.StageStanding"
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
"type": "array"
},
- "type": {
- "example": "competitor",
- "type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.StageStatus": {
- "properties": {
- "description": {
- "example": "Finished",
- "type": "string"
+ "paragraphs": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "type": {
- "example": "finished",
+ "title": {
"type": "string"
}
},
"type": "object"
},
- "sofascore.StageSubstagesResponse": {
+ "retailmenot.BlogTagsResponse": {
"properties": {
- "count": {
+ "page": {
"type": "integer"
},
- "fetched_at": {
- "type": "string"
+ "page_size": {
+ "type": "integer"
},
- "source_url": {
+ "query": {
"type": "string"
},
- "stage_id": {
- "example": 214253,
- "type": "integer"
- },
- "stages": {
+ "tags": {
"items": {
- "$ref": "#/definitions/sofascore.Stage"
+ "$ref": "#/definitions/retailmenot.BlogTerm"
},
"type": "array"
+ },
+ "total": {
+ "type": "integer"
+ },
+ "total_pages": {
+ "type": "integer"
}
},
"type": "object"
},
- "sofascore.StageTeamRef": {
+ "retailmenot.BlogTerm": {
"properties": {
- "chassis": {
- "description": "Chassis and Engine are published for Formula 1 constructors only.",
- "example": "W17",
- "type": "string"
- },
- "code": {
- "example": "MER",
- "type": "string"
- },
- "country": {
- "example": "Germany",
- "type": "string"
- },
- "engine": {
- "example": "Mercedes-AMG F1 M17",
- "type": "string"
+ "count": {
+ "type": "integer"
},
"id": {
- "example": 214910,
"type": "integer"
},
"name": {
- "example": "Mercedes",
"type": "string"
},
- "short_name": {
- "example": "Mercedes",
+ "slug": {
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.StageType": {
- "properties": {
- "id": {
- "example": 6,
- "type": "integer"
},
- "name": {
- "example": "Race",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "sofascore.StageTyreStint": {
+ "retailmenot.CashBackResponse": {
"properties": {
- "laps": {
- "example": 31,
- "type": "integer"
- },
- "type": {
- "example": "M",
- "type": "string"
+ "sections": {
+ "items": {
+ "$ref": "#/definitions/retailmenot.OfferSection"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "sofascore.StandingsGroup": {
+ "retailmenot.CategoriesResponse": {
"properties": {
- "name": {
- "description": "Table name, set when the competition publishes more than one table, such as group-stage groups.",
- "type": "string"
- },
- "rows": {
- "description": "Table rows in position order.",
+ "categories": {
"items": {
- "$ref": "#/definitions/sofascore.StandingsRow"
+ "$ref": "#/definitions/retailmenot.Category"
},
"type": "array"
}
},
"type": "object"
},
- "sofascore.StandingsResponse": {
+ "retailmenot.Category": {
"properties": {
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "type": "string"
- },
- "groups": {
- "description": "One entry per table the competition publishes.",
- "items": {
- "$ref": "#/definitions/sofascore.StandingsGroup"
- },
- "type": "array"
- },
- "season_id": {
- "description": "SofaScore season id.",
+ "level": {
"type": "integer"
},
- "source_url": {
- "description": "SofaScore URL the data was read from.",
+ "name": {
"type": "string"
},
- "tournament_id": {
- "description": "Id of the competition (the unique tournament id).",
- "type": "integer"
+ "parent_slug": {
+ "type": "string"
},
- "type": {
- "description": "Which table was requested: `total`, `home` or `away`.",
- "example": "total",
+ "slug": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "sofascore.StandingsRow": {
+ "retailmenot.CategoryOffer": {
"properties": {
- "draws": {
- "description": "Matches drawn.",
- "type": "integer"
- },
- "losses": {
- "description": "Matches lost.",
- "type": "integer"
+ "discount": {
+ "type": "string"
},
- "matches": {
- "description": "Matches played.",
- "type": "integer"
+ "id": {
+ "type": "string"
},
- "points": {
- "description": "Points in the table.",
- "type": "integer"
+ "offer_type": {
+ "type": "string"
},
"position": {
- "description": "Position in the table.",
"type": "integer"
},
- "promotion": {
- "description": "What the position currently leads to, for example \"Champions League\". Omitted when the position carries nothing.",
- "example": "Champions League",
+ "store_domain": {
"type": "string"
},
- "scores_against": {
- "description": "Goals or points conceded.",
- "type": "integer"
+ "store_name": {
+ "type": "string"
},
- "scores_for": {
- "description": "Goals or points scored.",
- "type": "integer"
+ "store_url": {
+ "type": "string"
},
- "team": {
- "allOf": [
- {
- "$ref": "#/definitions/sofascore.TeamRef"
- }
- ],
- "description": "The team."
+ "title": {
+ "type": "string"
},
- "wins": {
- "description": "Matches won.",
- "type": "integer"
+ "type_label": {
+ "type": "string"
}
},
"type": "object"
},
- "sofascore.StatGroup": {
+ "retailmenot.CategoryRef": {
"properties": {
- "items": {
- "description": "Statistics in the group.",
- "items": {
- "$ref": "#/definitions/sofascore.StatItem"
- },
- "type": "array"
- },
"name": {
- "description": "Group name, for example \"Match overview\" or \"Shots\".",
+ "type": "string"
+ },
+ "slug": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "sofascore.StatItem": {
+ "retailmenot.CategoryResponse": {
"properties": {
- "away": {
- "description": "Away side's value as displayed, for example 39%.",
- "example": "39%",
+ "description": {
"type": "string"
},
- "home": {
- "description": "Home side's value as displayed, for example 61%.",
- "example": "61%",
+ "name": {
"type": "string"
},
- "key": {
- "description": "Stable key for the statistic, for example `ballPossession`.",
- "example": "ballPossession",
- "type": "string"
+ "offers": {
+ "items": {
+ "$ref": "#/definitions/retailmenot.CategoryOffer"
+ },
+ "type": "array"
},
- "name": {
- "description": "Statistic name, for example \"Ball possession\".",
- "example": "Ball possession",
+ "page": {
+ "type": "integer"
+ },
+ "similar_stores": {
+ "items": {
+ "$ref": "#/definitions/retailmenot.StoreRef"
+ },
+ "type": "array"
+ },
+ "slug": {
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.StatPeriod": {
- "properties": {
- "groups": {
- "description": "Statistic groups for the period.",
+ },
+ "stats": {
"items": {
- "$ref": "#/definitions/sofascore.StatGroup"
+ "$ref": "#/definitions/retailmenot.Stat"
},
"type": "array"
},
- "period": {
- "description": "Period the statistics cover: `ALL`, `1ST` or `2ND`.",
- "example": "ALL",
+ "total_pages": {
+ "type": "integer"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "sofascore.StatisticsSeason": {
+ "retailmenot.DealEventRef": {
"properties": {
- "id": {
- "example": 96668,
- "type": "integer"
- },
"name": {
- "example": "Premier League 26/27",
"type": "string"
},
- "types": {
- "items": {
- "enum": [
- "overall",
- "home",
- "away",
- "regular_season",
- "playoffs"
- ],
- "type": "string"
- },
- "type": "array"
+ "slug": {
+ "type": "string"
},
- "year": {
- "example": "26/27",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "sofascore.StatisticsTournament": {
+ "retailmenot.DealEventResponse": {
"properties": {
- "category": {
- "example": "England",
- "type": "string"
- },
"name": {
- "example": "Premier League",
"type": "string"
},
- "seasons": {
+ "sections": {
"items": {
- "$ref": "#/definitions/sofascore.StatisticsSeason"
+ "$ref": "#/definitions/retailmenot.OfferSection"
},
"type": "array"
},
"slug": {
- "example": "premier-league",
"type": "string"
},
- "unique_tournament_id": {
- "example": 17,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "sofascore.TVChannel": {
- "properties": {
- "id": {
- "example": 1057,
- "type": "integer"
- },
- "name": {
- "example": "Sky Sports Premier League",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "sofascore.TVCountryChannels": {
+ "retailmenot.DealEventsResponse": {
"properties": {
- "channel_ids": {
+ "events": {
"items": {
- "type": "integer"
+ "$ref": "#/definitions/retailmenot.DealEventRef"
},
"type": "array"
- },
- "country": {
- "example": "GB",
- "type": "string"
}
},
"type": "object"
},
- "sofascore.TeamAchievement": {
+ "retailmenot.FAQ": {
"properties": {
- "competition": {
- "$ref": "#/definitions/sofascore.UniqueTournamentBrief"
- },
- "seasons": {
- "description": "Seasons lists the winning seasons, newest first. It can be empty or\nshorter than TrophiesWon (US leagues report a count without years).",
- "items": {
- "$ref": "#/definitions/sofascore.AchievementSeason"
- },
- "type": "array"
+ "answer": {
+ "type": "string"
},
- "trophies_won": {
- "example": 10,
- "type": "integer"
+ "question": {
+ "type": "string"
}
},
"type": "object"
},
- "sofascore.TeamAchievementsResponse": {
+ "retailmenot.HomeResponse": {
"properties": {
- "achievements": {
+ "faqs": {
"items": {
- "$ref": "#/definitions/sofascore.TeamAchievement"
+ "$ref": "#/definitions/retailmenot.FAQ"
},
"type": "array"
},
- "count": {
- "type": "integer"
- },
- "fetched_at": {
- "type": "string"
- },
- "source_url": {
- "type": "string"
- },
- "team_id": {
- "example": 17,
- "type": "integer"
+ "product_deals": {
+ "items": {
+ "$ref": "#/definitions/retailmenot.ProductDeal"
+ },
+ "type": "array"
},
- "total_trophies": {
- "example": 45,
- "type": "integer"
+ "sections": {
+ "items": {
+ "$ref": "#/definitions/retailmenot.OfferSection"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "sofascore.TeamDetail": {
+ "retailmenot.Offer": {
"properties": {
- "country": {
- "description": "Country the team belongs to.",
- "example": "Spain",
- "type": "string"
- },
- "id": {
- "description": "SofaScore team id. Use it with the team endpoints.",
- "example": 2817,
- "type": "integer"
- },
- "manager": {
+ "button_text": {
"type": "string"
},
- "name": {
- "description": "Full team name.",
- "example": "FC Barcelona",
+ "cash_back": {
"type": "string"
},
- "national": {
- "description": "True for a national team.",
- "type": "boolean"
+ "details": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "primary_color": {
+ "discount": {
"type": "string"
},
- "short_name": {
- "description": "Shortened team name.",
- "example": "Barcelona",
+ "id": {
"type": "string"
},
- "slug": {
- "description": "URL slug of the team on SofaScore.",
- "example": "barcelona",
- "type": "string"
+ "labels": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "sport": {
- "example": "Football",
+ "offer_type": {
+ "description": "OfferType is RetailMeNot's offer kind, for example \"COUPON\", \"SALE\", or\n\"REWARD\" (observed values; returned as data).",
"type": "string"
},
- "tournament_id": {
+ "position": {
"type": "integer"
},
- "tournament_name": {
+ "section": {
+ "description": "Section is the page section the offer was listed in, for example\n\"top_offers\", \"unverified_offers\", \"suggested_offers\", or\n\"expired_offers\" (observed values; returned as data).",
"type": "string"
},
- "venue": {
+ "title": {
"type": "string"
},
- "venue_capacity": {
- "type": "integer"
- },
- "venue_city": {
+ "type_label": {
"type": "string"
}
},
"type": "object"
},
- "sofascore.TeamDuel": {
+ "retailmenot.OfferSection": {
"properties": {
- "away_wins": {
- "description": "Past meetings won by the away side of this match.",
- "type": "integer"
+ "category_slug": {
+ "type": "string"
},
- "draws": {
- "description": "Past meetings that ended in a draw.",
- "type": "integer"
+ "name": {
+ "type": "string"
},
- "home_wins": {
- "description": "Past meetings won by the home side of this match.",
- "type": "integer"
+ "offers": {
+ "items": {
+ "$ref": "#/definitions/retailmenot.CategoryOffer"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "sofascore.TeamEventsResponse": {
+ "retailmenot.ProductDeal": {
"properties": {
- "count": {
- "description": "Number of events on this page.",
- "type": "integer"
- },
- "direction": {
- "description": "Which fixtures were requested: `next` for upcoming, `last` for past.",
- "example": "next",
+ "discount": {
"type": "string"
},
- "events": {
- "description": "Fixtures on this page. Empty when there are none.",
- "items": {
- "$ref": "#/definitions/sofascore.EventSummary"
- },
- "type": "array"
- },
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "id": {
"type": "string"
},
- "has_next_page": {
- "description": "True when page + 1 has more fixtures in the same direction.",
- "type": "boolean"
+ "image_url": {
+ "type": "string"
},
- "page": {
- "description": "Zero-based page number returned.",
+ "position": {
"type": "integer"
},
- "source_url": {
- "description": "SofaScore URL the data was read from.",
+ "product_url": {
"type": "string"
},
- "team_id": {
- "description": "SofaScore team id the fixtures belong to.",
- "type": "integer"
+ "title": {
+ "type": "string"
}
},
"type": "object"
},
- "sofascore.TeamGoalDistributionsResponse": {
+ "retailmenot.Rating": {
"properties": {
- "distributions": {
- "items": {
- "$ref": "#/definitions/sofascore.GoalDistribution"
- },
- "type": "array"
- },
- "fetched_at": {
- "type": "string"
- },
- "season_id": {
- "example": 96668,
- "type": "integer"
- },
- "source_url": {
- "type": "string"
- },
- "team_id": {
- "example": 17,
+ "count": {
"type": "integer"
},
- "tournament_id": {
- "example": 17,
- "type": "integer"
+ "value": {
+ "type": "number"
}
},
"type": "object"
},
- "sofascore.TeamLineup": {
+ "retailmenot.Stat": {
"properties": {
- "formation": {
- "description": "Formation, for example 4-3-3.",
- "example": "4-3-3",
+ "label": {
"type": "string"
},
- "players": {
- "description": "Starting players and substitutes.",
- "items": {
- "$ref": "#/definitions/sofascore.LineupPlayer"
- },
- "type": "array"
+ "value": {
+ "type": "integer"
}
},
"type": "object"
},
- "sofascore.TeamNearEventsResponse": {
+ "retailmenot.StoreRef": {
"properties": {
- "fetched_at": {
+ "domain": {
"type": "string"
},
- "next_event": {
- "$ref": "#/definitions/sofascore.EventSummary"
- },
- "previous_event": {
- "$ref": "#/definitions/sofascore.EventSummary"
- },
- "source_url": {
+ "name": {
"type": "string"
},
- "team_id": {
- "example": 17,
- "type": "integer"
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "sofascore.TeamOfTheWeekPeriod": {
+ "retailmenot.StoreResponse": {
"properties": {
- "created_at": {
+ "address": {
"type": "string"
},
- "date_from": {
+ "category": {
+ "$ref": "#/definitions/retailmenot.CategoryRef"
+ },
+ "description": {
"type": "string"
},
- "date_to": {
+ "domain": {
"type": "string"
},
- "id": {
- "example": 29321,
- "type": "integer"
+ "faqs": {
+ "items": {
+ "$ref": "#/definitions/retailmenot.FAQ"
+ },
+ "type": "array"
},
- "name": {
- "example": "round",
+ "heading": {
"type": "string"
},
- "round": {
- "type": "integer"
- },
- "round_name": {
+ "last_reviewed": {
"type": "string"
},
- "sequence": {
- "type": "integer"
+ "logo_url": {
+ "type": "string"
},
- "type": {
- "example": "round",
+ "market": {
+ "enum": [
+ "us",
+ "ca"
+ ],
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.TeamOfTheWeekPeriodsResponse": {
- "properties": {
- "count": {
- "type": "integer"
},
- "fetched_at": {
+ "name": {
"type": "string"
},
- "periods": {
+ "offers": {
"items": {
- "$ref": "#/definitions/sofascore.TeamOfTheWeekPeriod"
+ "$ref": "#/definitions/retailmenot.Offer"
},
"type": "array"
},
- "season_id": {
- "type": "integer"
- },
- "source_url": {
+ "phone": {
"type": "string"
},
- "tournament_id": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "sofascore.TeamOfTheWeekPlayer": {
- "properties": {
- "event": {
- "$ref": "#/definitions/sofascore.EventSummary"
- },
- "jersey_number": {
- "type": "string"
+ "rating": {
+ "$ref": "#/definitions/retailmenot.Rating"
},
- "order": {
- "example": 1,
- "type": "integer"
+ "similar_stores": {
+ "items": {
+ "$ref": "#/definitions/retailmenot.StoreRef"
+ },
+ "type": "array"
},
- "player": {
- "$ref": "#/definitions/sofascore.PlayerRef"
+ "stats": {
+ "items": {
+ "$ref": "#/definitions/retailmenot.Stat"
+ },
+ "type": "array"
},
- "rating": {
- "example": 8.6,
- "type": "number"
+ "url": {
+ "type": "string"
},
- "team": {
- "$ref": "#/definitions/sofascore.TeamRef"
+ "website": {
+ "type": "string"
}
},
"type": "object"
},
- "sofascore.TeamOfTheWeekResponse": {
+ "retailmenot.StoresResponse": {
"properties": {
- "count": {
- "type": "integer"
- },
- "fetched_at": {
+ "letter": {
"type": "string"
},
- "formation": {
- "example": "3-2-4-1",
+ "market": {
+ "enum": [
+ "us",
+ "ca"
+ ],
"type": "string"
},
- "period": {
- "$ref": "#/definitions/sofascore.TeamOfTheWeekPeriod"
- },
- "players": {
+ "stores": {
"items": {
- "$ref": "#/definitions/sofascore.TeamOfTheWeekPlayer"
+ "$ref": "#/definitions/retailmenot.StoreRef"
},
"type": "array"
- },
- "season_id": {
- "type": "integer"
- },
- "source_url": {
- "type": "string"
- },
- "tournament_id": {
- "type": "integer"
}
},
"type": "object"
},
- "sofascore.TeamPerformanceEvent": {
+ "retailmenot.autocompleteResponseDoc": {
"properties": {
- "event": {
- "$ref": "#/definitions/sofascore.EventSummary"
- },
- "points": {
- "description": "Points is SofaScore's per-match performance value for the team (higher\nis better, negative for a poor result). Omitted when SofaScore gave none.",
- "example": 1.333,
- "type": "number"
+ "data": {
+ "$ref": "#/definitions/retailmenot.AutocompleteResponse"
}
},
"type": "object"
},
- "sofascore.TeamPerformanceResponse": {
+ "retailmenot.blogCategoriesResponseDoc": {
"properties": {
- "count": {
- "type": "integer"
- },
- "events": {
- "items": {
- "$ref": "#/definitions/sofascore.TeamPerformanceEvent"
- },
- "type": "array"
- },
- "fetched_at": {
- "type": "string"
- },
- "source_url": {
- "type": "string"
- },
- "team_id": {
- "example": 17,
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/retailmenot.BlogCategoriesResponse"
}
},
"type": "object"
},
- "sofascore.TeamPlayerStatistics": {
+ "retailmenot.blogPostResponseDoc": {
"properties": {
- "played_enough": {
- "type": "boolean"
- },
- "player": {
- "$ref": "#/definitions/sofascore.PlayerBrief"
- },
- "statistics": {
- "additionalProperties": {
- "format": "float64",
- "type": "number"
- },
- "type": "object"
+ "data": {
+ "$ref": "#/definitions/retailmenot.BlogPostResponse"
}
},
"type": "object"
},
- "sofascore.TeamPlayerStatisticsResponse": {
+ "retailmenot.blogPostsResponseDoc": {
"properties": {
- "count": {
- "type": "integer"
- },
- "fetched_at": {
- "type": "string"
- },
- "players": {
+ "data": {
+ "$ref": "#/definitions/retailmenot.BlogPostsResponse"
+ }
+ },
+ "type": "object"
+ },
+ "retailmenot.blogTagsResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/retailmenot.BlogTagsResponse"
+ }
+ },
+ "type": "object"
+ },
+ "retailmenot.cashBackResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/retailmenot.CashBackResponse"
+ }
+ },
+ "type": "object"
+ },
+ "retailmenot.categoriesResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/retailmenot.CategoriesResponse"
+ }
+ },
+ "type": "object"
+ },
+ "retailmenot.categoryResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/retailmenot.CategoryResponse"
+ }
+ },
+ "type": "object"
+ },
+ "retailmenot.dealEventResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/retailmenot.DealEventResponse"
+ }
+ },
+ "type": "object"
+ },
+ "retailmenot.dealEventsResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/retailmenot.DealEventsResponse"
+ }
+ },
+ "type": "object"
+ },
+ "retailmenot.homeResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/retailmenot.HomeResponse"
+ }
+ },
+ "type": "object"
+ },
+ "retailmenot.storeResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/retailmenot.StoreResponse"
+ }
+ },
+ "type": "object"
+ },
+ "retailmenot.storesResponseDoc": {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/retailmenot.StoresResponse"
+ }
+ },
+ "type": "object"
+ },
+ "retrievalplatform.CapabilitiesResponse": {
+ "properties": {
+ "available_operations": {
"items": {
- "$ref": "#/definitions/sofascore.TeamPlayerStatistics"
+ "type": "string"
},
"type": "array"
},
- "season": {
- "example": 96668,
- "type": "integer"
+ "billing_bypassed": {
+ "type": "boolean"
},
- "source_url": {
+ "contract_version": {
"type": "string"
},
- "team_id": {
- "example": 17,
+ "crawl_available": {
+ "type": "boolean"
+ },
+ "crawl_max_pages": {
"type": "integer"
},
- "tournament_id": {
- "example": 17,
+ "map_max_urls": {
"type": "integer"
},
- "type": {
- "example": "overall",
- "type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.TeamPlayerStatisticsSeasonsResponse": {
- "properties": {
- "count": {
+ "max_active_jobs": {
"type": "integer"
},
- "fetched_at": {
- "type": "string"
+ "max_job_credits": {
+ "type": "integer"
},
- "source_url": {
- "type": "string"
+ "model_rates": {
+ "additionalProperties": {
+ "$ref": "#/definitions/retrievalpricing.ModelRates"
+ },
+ "type": "object"
},
- "team_id": {
- "example": 17,
+ "pricing": {
+ "$ref": "#/definitions/retrievalplatform.UnitPrices"
+ },
+ "query_policies": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "render_modes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "research_available": {
+ "type": "boolean"
+ },
+ "search_max_results": {
"type": "integer"
},
- "tournaments": {
+ "sitemap_modes": {
"items": {
- "$ref": "#/definitions/sofascore.StatisticsTournament"
+ "type": "string"
},
"type": "array"
}
},
"type": "object"
},
- "sofascore.TeamPlayersResponse": {
+ "retrievalplatform.MapRequest": {
"properties": {
- "count": {
- "description": "Number of players returned.",
+ "cursor": {
+ "type": "string"
+ },
+ "max_urls": {
"type": "integer"
},
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "type": "string"
+ "page_size": {
+ "type": "integer"
},
- "players": {
- "description": "The team's squad.",
- "items": {
- "$ref": "#/definitions/sofascore.SquadPlayer"
- },
- "type": "array"
+ "scope": {
+ "$ref": "#/definitions/retrievaltypes.URLScope"
},
- "source_url": {
- "description": "SofaScore URL the data was read from.",
+ "sitemap": {
"type": "string"
},
- "team_id": {
- "description": "SofaScore team id the squad belongs to.",
- "type": "integer"
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "sofascore.TeamRanking": {
+ "retrievalplatform.MapResponse": {
"properties": {
- "category": {
- "example": "ATP",
- "type": "string"
- },
- "gender": {
- "example": "M",
+ "coverage": {
"type": "string"
},
- "last_updated": {
+ "expires_at": {
"type": "string"
},
- "last_updated_timestamp": {
- "type": "integer"
- },
- "name": {
- "example": "ATP Rankings",
- "type": "string"
+ "has_more": {
+ "type": "boolean"
},
- "rows": {
+ "items": {
"items": {
- "$ref": "#/definitions/sofascore.TeamRankingRow"
+ "$ref": "#/definitions/webretrieval.DiscoveredURL"
},
"type": "array"
},
- "slug": {
- "example": "atp-rankings",
+ "next_cursor": {
"type": "string"
},
- "sport": {
- "example": "tennis",
- "type": "string"
+ "partial": {
+ "type": "boolean"
},
- "type_id": {
- "example": 5,
- "type": "integer"
+ "truncated": {
+ "type": "boolean"
+ },
+ "usage": {
+ "$ref": "#/definitions/retrievaltypes.Usage"
+ },
+ "warnings": {
+ "items": {
+ "$ref": "#/definitions/retrievaltypes.Warning"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "sofascore.TeamRankingRow": {
+ "retrievalplatform.UnitPrices": {
"properties": {
- "best_position": {
+ "browser_document_credits": {
"type": "integer"
},
- "max_points": {
- "type": "number"
+ "cached_read_credits": {
+ "type": "integer"
},
- "next_win_points": {
- "type": "number"
+ "citation_seed_credits": {
+ "type": "integer"
},
- "points": {
- "example": 1168,
- "type": "number"
+ "control_request_credits": {
+ "type": "integer"
},
- "position": {
- "example": 46,
+ "currency": {
+ "type": "string"
+ },
+ "http_document_credits": {
"type": "integer"
},
- "previous_points": {
- "type": "number"
+ "job_submission_credits": {
+ "type": "integer"
},
- "previous_position": {
+ "map_base_credits": {
"type": "integer"
},
- "team": {
- "$ref": "#/definitions/sofascore.TeamRef"
+ "map_resource_credits": {
+ "type": "integer"
},
- "tournaments_played": {
+ "paper_full_text_credits": {
"type": "integer"
},
- "updated_at": {
- "type": "string"
+ "paper_metadata_credits": {
+ "type": "integer"
},
- "updated_timestamp": {
+ "paper_search_query_credits": {
"type": "integer"
},
- "year": {
- "example": 2026,
+ "search_request_credits": {
"type": "integer"
}
},
"type": "object"
},
- "sofascore.TeamRankingsResponse": {
+ "retrievalplatform.WebSearchRequest": {
"properties": {
- "count": {
- "type": "integer"
- },
- "fetched_at": {
+ "country": {
+ "description": "Country is the result country; defaults to us.",
+ "enum": [
+ "all",
+ "ar",
+ "at",
+ "au",
+ "be",
+ "br",
+ "ca",
+ "ch",
+ "cl",
+ "cn",
+ "de",
+ "dk",
+ "es",
+ "fi",
+ "fr",
+ "gb",
+ "gr",
+ "hk",
+ "id",
+ "in",
+ "it",
+ "jp",
+ "kr",
+ "mx",
+ "my",
+ "nl",
+ "no",
+ "nz",
+ "ph",
+ "pl",
+ "pt",
+ "ru",
+ "sa",
+ "se",
+ "sg",
+ "tr",
+ "tw",
+ "us",
+ "za"
+ ],
+ "example": "us",
"type": "string"
},
- "rankings": {
+ "exclude_domains": {
"items": {
- "$ref": "#/definitions/sofascore.TeamRanking"
+ "type": "string"
},
"type": "array"
},
- "source_url": {
- "type": "string"
- },
- "team_id": {
- "example": 112783,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "sofascore.TeamRef": {
- "properties": {
- "country": {
- "description": "Country the team belongs to.",
- "example": "Spain",
+ "include_domains": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "language": {
+ "description": "Language is the result language; defaults to en-us.",
+ "enum": [
+ "de-de",
+ "en-ca",
+ "en-gb",
+ "en-in",
+ "en-us",
+ "fi-fi",
+ "fr-ca",
+ "fr-fr",
+ "ja-jp",
+ "pt-br",
+ "sq-al",
+ "sw-ke",
+ "zh-tw"
+ ],
+ "example": "en-us",
"type": "string"
},
- "id": {
- "description": "SofaScore team id. Use it with the team endpoints.",
- "example": 2817,
+ "limit": {
+ "description": "Limit is the number of results to return, 1 to 50 (default 10). Up to 3 result pages are read to reach it, at 3 credits per page read.",
"type": "integer"
},
- "name": {
- "description": "Full team name.",
- "example": "FC Barcelona",
- "type": "string"
- },
- "national": {
- "description": "True for a national team.",
- "type": "boolean"
+ "max_credits": {
+ "type": "integer"
},
- "short_name": {
- "description": "Shortened team name.",
- "example": "Barcelona",
+ "q": {
"type": "string"
},
- "slug": {
- "description": "URL slug of the team on SofaScore.",
- "example": "barcelona",
- "type": "string"
+ "scrape": {
+ "$ref": "#/definitions/retrievaltypes.FetchOptions"
+ },
+ "scrape_limit": {
+ "type": "integer"
}
},
+ "required": [
+ "q"
+ ],
"type": "object"
},
- "sofascore.TeamResponse": {
+ "retrievalplatform.WebSearchResponse": {
"properties": {
- "fetched_at": {
- "type": "string"
+ "coverage": {
+ "items": {
+ "$ref": "#/definitions/retrievaltypes.SourceCoverage"
+ },
+ "type": "array"
},
- "source_url": {
- "type": "string"
+ "items": {
+ "items": {
+ "$ref": "#/definitions/webretrieval.WebSearchHit"
+ },
+ "type": "array"
},
- "team": {
- "$ref": "#/definitions/sofascore.TeamDetail"
+ "partial": {
+ "type": "boolean"
+ },
+ "usage": {
+ "$ref": "#/definitions/retrievaltypes.Usage"
+ },
+ "warnings": {
+ "items": {
+ "$ref": "#/definitions/retrievaltypes.Warning"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "sofascore.TeamSeasonStatisticsResponse": {
+ "retrievalpricing.ModelRates": {
"properties": {
- "fetched_at": {
- "type": "string"
- },
- "season": {
- "example": 96668,
+ "cached_input_credits_per_million": {
"type": "integer"
},
- "source_url": {
- "type": "string"
- },
- "statistics": {
- "additionalProperties": {
- "format": "float64",
- "type": "number"
- },
- "type": "object"
- },
- "team_id": {
- "example": 17,
+ "input_credits_per_million": {
"type": "integer"
},
- "tournament_id": {
- "example": 17,
+ "output_credits_per_million": {
"type": "integer"
- },
- "type": {
- "example": "overall",
- "type": "string"
}
},
"type": "object"
},
- "sofascore.TeamStatisticsSeasonsResponse": {
+ "retrievaltypes.Claim": {
"properties": {
- "count": {
- "type": "integer"
- },
- "fetched_at": {
- "type": "string"
- },
- "source_url": {
+ "claim_id": {
"type": "string"
},
- "team_id": {
- "example": 17,
- "type": "integer"
- },
- "tournaments": {
+ "evidence_ids": {
"items": {
- "$ref": "#/definitions/sofascore.StatisticsTournament"
+ "type": "string"
},
"type": "array"
+ },
+ "support_status": {
+ "$ref": "#/definitions/retrievaltypes.ClaimSupportStatus"
+ },
+ "text": {
+ "type": "string"
}
},
"type": "object"
},
- "sofascore.TeamStreak": {
+ "retrievaltypes.ClaimSupportStatus": {
+ "enum": [
+ "supported",
+ "conflicting",
+ "unverified"
+ ],
+ "type": "string",
+ "x-enum-varnames": [
+ "ClaimSupported",
+ "ClaimConflicting",
+ "ClaimUnverified"
+ ]
+ },
+ "retrievaltypes.CompletionReason": {
+ "enum": [
+ "frontier_exhausted",
+ "completed",
+ "page_limit",
+ "round_limit",
+ "deadline",
+ "budget",
+ "cancelled",
+ "upstream_failure",
+ "internal_failure"
+ ],
+ "type": "string",
+ "x-enum-varnames": [
+ "CompletionFrontierExhausted",
+ "CompletionCompleted",
+ "CompletionPageLimit",
+ "CompletionRoundLimit",
+ "CompletionDeadline",
+ "CompletionBudget",
+ "CompletionCancelled",
+ "CompletionUpstreamFailure",
+ "CompletionInternalFailure"
+ ]
+ },
+ "retrievaltypes.CoverageStatus": {
+ "enum": [
+ "ok",
+ "failed",
+ "not_indexed",
+ "unsupported"
+ ],
+ "type": "string",
+ "x-enum-varnames": [
+ "CoverageOK",
+ "CoverageFailed",
+ "CoverageNotIndexed",
+ "CoverageUnsupported"
+ ]
+ },
+ "retrievaltypes.Document": {
"properties": {
- "continued": {
- "type": "boolean"
+ "content_sha256": {
+ "type": "string"
},
- "name": {
- "example": "No goals conceded",
+ "content_type": {
"type": "string"
},
- "team": {
- "example": "home",
+ "document_id": {
"type": "string"
},
- "value": {
- "example": "4",
+ "fetched_at": {
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.TeamTopPlayersResponse": {
- "properties": {
- "categories": {
+ },
+ "final_url": {
+ "type": "string"
+ },
+ "links": {
"items": {
- "$ref": "#/definitions/sofascore.TopPlayerCategory"
+ "type": "string"
},
"type": "array"
},
- "category_count": {
- "type": "integer"
- },
- "fetched_at": {
+ "markdown": {
"type": "string"
},
- "season_id": {
- "example": 96668,
- "type": "integer"
+ "metadata": {
+ "$ref": "#/definitions/retrievaltypes.DocumentMetadata"
},
- "source_url": {
- "type": "string"
+ "passages": {
+ "items": {
+ "$ref": "#/definitions/retrievaltypes.Passage"
+ },
+ "type": "array"
},
- "sport": {
- "example": "football",
+ "revision": {
"type": "string"
},
- "team_id": {
- "example": 17,
- "type": "integer"
- },
- "tournament_id": {
- "example": 17,
- "type": "integer"
- },
- "type": {
- "example": "overall",
+ "source_url": {
"type": "string"
+ },
+ "truncated": {
+ "type": "boolean"
}
},
"type": "object"
},
- "sofascore.TeamTournamentsResponse": {
+ "retrievaltypes.DocumentMetadata": {
"properties": {
- "all": {
- "type": "boolean"
+ "author": {
+ "type": "string"
},
- "count": {
- "type": "integer"
+ "description": {
+ "type": "string"
},
- "fetched_at": {
+ "language": {
"type": "string"
},
- "source_url": {
+ "modified_at": {
"type": "string"
},
- "team_id": {
- "example": 17,
- "type": "integer"
+ "published_at": {
+ "type": "string"
},
- "tournaments": {
- "items": {
- "$ref": "#/definitions/sofascore.UniqueTournamentBrief"
- },
- "type": "array"
+ "title": {
+ "type": "string"
}
},
"type": "object"
},
- "sofascore.TeamTransfersResponse": {
+ "retrievaltypes.Evidence": {
"properties": {
- "fetched_at": {
+ "content_sha256": {
"type": "string"
},
- "source_url": {
+ "evidence_id": {
"type": "string"
},
- "team_id": {
- "example": 17,
- "type": "integer"
+ "passage": {
+ "$ref": "#/definitions/retrievaltypes.Passage"
},
- "transfers_in": {
- "items": {
- "$ref": "#/definitions/sofascore.Transfer"
- },
- "type": "array"
+ "retrieved_at": {
+ "type": "string"
},
- "transfers_out": {
- "items": {
- "$ref": "#/definitions/sofascore.Transfer"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "sofascore.TennisGrandSlamResultsResponse": {
- "properties": {
- "fetched_at": {
+ "revision": {
"type": "string"
},
- "source_url": {
+ "source_id": {
"type": "string"
},
- "team_id": {
- "example": 14882,
- "type": "integer"
+ "source_kind": {
+ "$ref": "#/definitions/retrievaltypes.SourceKind"
},
- "tournaments": {
- "items": {
- "$ref": "#/definitions/sofascore.GrandSlamTournament"
- },
- "type": "array"
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "sofascore.TennisPowerGame": {
+ "retrievaltypes.Failure": {
"properties": {
- "break_occurred": {
- "type": "boolean"
+ "message": {
+ "type": "string"
},
- "game": {
- "example": 3,
- "type": "integer"
+ "reason": {
+ "$ref": "#/definitions/retrievaltypes.FailureReason"
},
- "set": {
- "example": 1,
+ "retry_after_seconds": {
"type": "integer"
},
- "value": {
- "description": "Value is SofaScore's momentum number for the game. Positive favours the\nhome player or team, negative the away side.",
- "example": -54.2,
- "type": "number"
+ "retryable": {
+ "type": "boolean"
}
},
"type": "object"
},
- "sofascore.TopPlayerCategory": {
+ "retrievaltypes.FailureReason": {
+ "enum": [
+ "invalid_url",
+ "unsupported_content_type",
+ "blocked",
+ "not_found",
+ "rate_limited",
+ "timeout",
+ "upstream_error",
+ "internal_error",
+ "out_of_scope",
+ "robots_disallowed",
+ "duplicate",
+ "limit_reached",
+ "unsupported_filter",
+ "unknown_source",
+ "idempotency_conflict",
+ "invalid_cursor",
+ "result_expired",
+ "full_text_unavailable",
+ "budget_exhausted"
+ ],
+ "type": "string",
+ "x-enum-varnames": [
+ "FailureInvalidURL",
+ "FailureUnsupportedContentType",
+ "FailureBlocked",
+ "FailureNotFound",
+ "FailureRateLimited",
+ "FailureTimeout",
+ "FailureUpstreamError",
+ "FailureInternalError",
+ "FailureOutOfScope",
+ "FailureRobotsDisallowed",
+ "FailureDuplicate",
+ "FailureLimitReached",
+ "FailureUnsupportedFilter",
+ "FailureUnknownSource",
+ "FailureIdempotencyConflict",
+ "FailureInvalidCursor",
+ "FailureResultExpired",
+ "FailureFullTextUnavailable",
+ "FailureBudgetExhausted"
+ ]
+ },
+ "retrievaltypes.FetchOptions": {
"properties": {
- "count": {
+ "max_age": {
"type": "integer"
},
- "key": {
- "example": "goals",
- "type": "string"
+ "only_main_content": {
+ "type": "boolean"
},
- "players": {
- "items": {
- "$ref": "#/definitions/sofascore.TopPlayerEntry"
- },
- "type": "array"
+ "render": {
+ "$ref": "#/definitions/retrievaltypes.RenderMode"
+ },
+ "wait_for": {
+ "type": "integer"
}
},
"type": "object"
},
- "sofascore.TopPlayerEntry": {
+ "retrievaltypes.JobEvent": {
"properties": {
- "appearances": {
- "example": 5,
- "type": "integer"
- },
- "details": {
- "additionalProperties": {
- "format": "float64",
- "type": "number"
- },
- "type": "object"
- },
- "played_enough": {
- "type": "boolean"
- },
- "player": {
- "$ref": "#/definitions/sofascore.PlayerRef"
+ "message": {
+ "type": "string"
},
- "rank": {
- "example": 1,
+ "sequence": {
"type": "integer"
},
- "team": {
- "$ref": "#/definitions/sofascore.TeamRef"
+ "source_id": {
+ "type": "string"
},
- "value": {
- "example": 5,
- "type": "number"
+ "timestamp": {
+ "type": "string"
+ },
+ "type": {
+ "$ref": "#/definitions/retrievaltypes.JobEventType"
}
},
"type": "object"
},
- "sofascore.TopTeamCategory": {
+ "retrievaltypes.JobEventType": {
+ "enum": [
+ "submitted",
+ "started",
+ "search_completed",
+ "source_fetched",
+ "round_completed",
+ "cancellation_requested",
+ "completed",
+ "failed",
+ "cancelled"
+ ],
+ "type": "string",
+ "x-enum-varnames": [
+ "EventSubmitted",
+ "EventStarted",
+ "EventSearchCompleted",
+ "EventSourceFetched",
+ "EventRoundCompleted",
+ "EventCancellationRequested",
+ "EventCompleted",
+ "EventFailed",
+ "EventCancelled"
+ ]
+ },
+ "retrievaltypes.JobEventsResponse": {
"properties": {
- "count": {
- "type": "integer"
- },
- "key": {
- "example": "avgRating",
- "type": "string"
+ "has_more": {
+ "type": "boolean"
},
- "teams": {
+ "items": {
"items": {
- "$ref": "#/definitions/sofascore.TopTeamEntry"
+ "$ref": "#/definitions/retrievaltypes.JobEvent"
},
"type": "array"
+ },
+ "job_id": {
+ "type": "string"
+ },
+ "next_cursor": {
+ "type": "string"
}
},
"type": "object"
},
- "sofascore.TopTeamEntry": {
+ "retrievaltypes.JobKind": {
+ "enum": [
+ "crawl",
+ "research",
+ "ingestion"
+ ],
+ "type": "string",
+ "x-enum-varnames": [
+ "JobKindCrawl",
+ "JobKindResearch",
+ "JobKindIngestion"
+ ]
+ },
+ "retrievaltypes.JobProgress": {
"properties": {
- "details": {
- "additionalProperties": {
- "format": "float64",
- "type": "number"
- },
- "type": "object"
- },
- "matches": {
- "example": 5,
+ "admitted": {
"type": "integer"
},
- "rank": {
- "example": 1,
+ "discovered": {
"type": "integer"
},
- "team": {
- "$ref": "#/definitions/sofascore.TeamRef"
- },
- "value": {
- "example": 7.896,
- "type": "number"
- }
- },
- "type": "object"
- },
- "sofascore.TournamentCupTreeResponse": {
- "properties": {
- "count": {
+ "discovery_excluded": {
"type": "integer"
},
- "fetched_at": {
- "type": "string"
+ "failed": {
+ "type": "integer"
},
- "season_id": {
+ "in_flight": {
"type": "integer"
},
- "source_url": {
- "type": "string"
+ "queued": {
+ "type": "integer"
},
- "tournament_id": {
+ "skipped": {
"type": "integer"
},
- "trees": {
- "items": {
- "$ref": "#/definitions/sofascore.CupTree"
- },
- "type": "array"
+ "succeeded": {
+ "type": "integer"
}
},
"type": "object"
},
- "sofascore.TournamentDetail": {
+ "retrievaltypes.JobState": {
+ "enum": [
+ "queued",
+ "running",
+ "cancelling",
+ "succeeded",
+ "failed",
+ "cancelled"
+ ],
+ "type": "string",
+ "x-enum-varnames": [
+ "JobQueued",
+ "JobRunning",
+ "JobCancelling",
+ "JobSucceeded",
+ "JobFailed",
+ "JobCancelled"
+ ]
+ },
+ "retrievaltypes.JobStatus": {
"properties": {
- "category": {
- "example": "England",
+ "cancel_requested": {
+ "type": "boolean"
+ },
+ "completion_reason": {
+ "$ref": "#/definitions/retrievaltypes.CompletionReason"
+ },
+ "created_at": {
"type": "string"
},
- "current_season_end": {
- "example": "2027-05-23T00:00:00Z",
+ "deadline_at": {
"type": "string"
},
- "current_season_start": {
- "example": "2026-08-21T00:00:00Z",
+ "error": {
+ "$ref": "#/definitions/retrievaltypes.Failure"
+ },
+ "expires_at": {
"type": "string"
},
- "gender": {
- "example": "M",
+ "job_id": {
"type": "string"
},
- "has_groups": {
- "type": "boolean"
+ "kind": {
+ "$ref": "#/definitions/retrievaltypes.JobKind"
},
- "has_playoff_series": {
+ "partial": {
"type": "boolean"
},
- "has_rounds": {
- "type": "boolean"
+ "progress": {
+ "$ref": "#/definitions/retrievaltypes.JobProgress"
},
- "id": {
- "example": 17,
- "type": "integer"
+ "research": {
+ "$ref": "#/definitions/retrievaltypes.ResearchProgress"
},
- "linked_tournaments": {
- "items": {
- "$ref": "#/definitions/sofascore.CompetitionRef"
- },
- "type": "array"
+ "state": {
+ "$ref": "#/definitions/retrievaltypes.JobState"
},
- "lower_divisions": {
- "items": {
- "$ref": "#/definitions/sofascore.CompetitionRef"
- },
- "type": "array"
+ "updated_at": {
+ "type": "string"
},
- "most_titles": {
- "type": "integer"
+ "usage": {
+ "$ref": "#/definitions/retrievaltypes.Usage"
},
- "most_titles_teams": {
+ "warnings": {
"items": {
- "$ref": "#/definitions/sofascore.TeamRef"
+ "$ref": "#/definitions/retrievaltypes.Warning"
},
"type": "array"
- },
- "name": {
- "example": "Premier League",
+ }
+ },
+ "type": "object"
+ },
+ "retrievaltypes.JobSubmission": {
+ "properties": {
+ "deadline_at": {
"type": "string"
},
- "slug": {
- "example": "premier-league",
+ "job_id": {
"type": "string"
},
- "sport": {
- "example": "football",
+ "replayed": {
+ "type": "boolean"
+ },
+ "results_url": {
"type": "string"
},
- "tier": {
- "type": "integer"
+ "state": {
+ "$ref": "#/definitions/retrievaltypes.JobState"
},
- "title_holder": {
- "$ref": "#/definitions/sofascore.TeamRef"
+ "status_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "retrievaltypes.Passage": {
+ "properties": {
+ "locator": {
+ "$ref": "#/definitions/retrievaltypes.PassageLocator"
},
- "title_holder_titles": {
- "type": "integer"
+ "passage_id": {
+ "type": "string"
},
- "upper_divisions": {
- "items": {
- "$ref": "#/definitions/sofascore.CompetitionRef"
- },
- "type": "array"
+ "score": {
+ "type": "number"
+ },
+ "text": {
+ "type": "string"
}
},
"type": "object"
},
- "sofascore.TournamentInfoResponse": {
+ "retrievaltypes.PassageLocator": {
"properties": {
- "fetched_at": {
+ "anchor": {
"type": "string"
},
- "season": {
- "$ref": "#/definitions/sofascore.SeasonInfo"
+ "end_byte": {
+ "type": "integer"
},
- "season_id": {
- "example": 96668,
+ "end_line": {
"type": "integer"
},
- "season_source_url": {
+ "heading": {
"type": "string"
},
- "source_url": {
- "type": "string"
+ "page": {
+ "type": "integer"
},
- "tournament": {
- "$ref": "#/definitions/sofascore.TournamentDetail"
+ "start_byte": {
+ "type": "integer"
},
- "tournament_id": {
- "example": 17,
+ "start_line": {
"type": "integer"
}
},
"type": "object"
},
- "sofascore.TournamentPlayerOfTheSeasonResponse": {
+ "retrievaltypes.QueryPolicy": {
+ "enum": [
+ "preserve",
+ "drop_tracking"
+ ],
+ "type": "string",
+ "x-enum-varnames": [
+ "QueryPreserve",
+ "QueryDropTracking"
+ ]
+ },
+ "retrievaltypes.RenderMode": {
+ "enum": [
+ "auto",
+ "http",
+ "browser"
+ ],
+ "type": "string",
+ "x-enum-varnames": [
+ "RenderAuto",
+ "RenderHTTP",
+ "RenderBrowser"
+ ]
+ },
+ "retrievaltypes.ResearchProgress": {
"properties": {
- "appearances": {
- "example": 35,
+ "max_rounds": {
"type": "integer"
},
- "fetched_at": {
- "type": "string"
- },
- "jersey_number": {
- "description": "JerseyNumber is the player's shirt number as published.",
- "type": "string"
- },
- "player": {
- "$ref": "#/definitions/sofascore.PlayerRef"
- },
- "rating": {
- "description": "Rating is the player's average SofaScore rating over the season.",
- "example": 7.61,
- "type": "number"
- },
- "season_id": {
+ "questions_answered": {
"type": "integer"
},
- "source_url": {
- "type": "string"
+ "questions_total": {
+ "type": "integer"
},
- "statistics_type": {
- "description": "StatisticsType is the scope of the rating: overall, regular_season, or\nthe upstream value verbatim for any other scope.",
- "example": "overall",
- "type": "string"
+ "round": {
+ "type": "integer"
},
- "team": {
- "$ref": "#/definitions/sofascore.TeamRef"
+ "searches_completed": {
+ "type": "integer"
},
- "tournament_id": {
+ "sources_read": {
"type": "integer"
}
},
"type": "object"
},
- "sofascore.TournamentPlayerStatisticsResponse": {
+ "retrievaltypes.SourceCoverage": {
"properties": {
- "accumulation": {
- "example": "total",
+ "corpus_revision": {
"type": "string"
},
- "count": {
- "type": "integer"
+ "failure": {
+ "$ref": "#/definitions/retrievaltypes.Failure"
},
- "direction": {
- "example": "desc",
+ "indexed_at": {
"type": "string"
},
- "fetched_at": {
+ "retrieved_at": {
"type": "string"
},
- "filters": {
- "allOf": [
- {
- "$ref": "#/definitions/sofascore.PlayerStatisticsFilters"
- }
- ],
- "description": "Filters echoes the filters applied and is omitted when none were given."
- },
- "group": {
- "example": "summary",
+ "source_id": {
"type": "string"
},
- "has_next_page": {
+ "status": {
+ "$ref": "#/definitions/retrievaltypes.CoverageStatus"
+ }
+ },
+ "type": "object"
+ },
+ "retrievaltypes.SourceKind": {
+ "enum": [
+ "web",
+ "paper",
+ "developer"
+ ],
+ "type": "string",
+ "x-enum-varnames": [
+ "SourceWeb",
+ "SourcePaper",
+ "SourceDeveloper"
+ ]
+ },
+ "retrievaltypes.URLScope": {
+ "properties": {
+ "exclude_paths": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "include_paths": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "include_subdomains": {
"type": "boolean"
},
- "limit": {
- "example": 20,
+ "query_policy": {
+ "$ref": "#/definitions/retrievaltypes.QueryPolicy"
+ }
+ },
+ "type": "object"
+ },
+ "retrievaltypes.Usage": {
+ "properties": {
+ "browser_renders": {
"type": "integer"
},
- "offset": {
+ "credits_charged": {
"type": "integer"
},
- "order": {
- "example": "rating",
- "type": "string"
+ "credits_released": {
+ "type": "integer"
},
- "page": {
- "example": 1,
+ "credits_reserved": {
"type": "integer"
},
- "players": {
- "items": {
- "$ref": "#/definitions/sofascore.PlayerStatisticsRow"
- },
- "type": "array"
+ "fetch_attempts": {
+ "type": "integer"
},
- "season_id": {
+ "fetched_urls": {
"type": "integer"
},
- "source_url": {
- "type": "string"
+ "input_tokens": {
+ "type": "integer"
},
- "total_pages": {
- "example": 22,
+ "output_tokens": {
"type": "integer"
},
- "tournament_id": {
+ "search_requests": {
"type": "integer"
+ },
+ "settlement_pending": {
+ "type": "boolean"
}
},
"type": "object"
},
- "sofascore.TournamentRef": {
+ "retrievaltypes.Warning": {
"properties": {
- "category": {
- "description": "Category the tournament sits under, usually a country or region.",
- "example": "England",
- "type": "string"
+ "code": {
+ "$ref": "#/definitions/retrievaltypes.WarningCode"
},
- "id": {
- "description": "SofaScore id of the tournament the match is filed under. The seasons, standings and round endpoints take `unique_tournament_id` instead.",
- "type": "integer"
+ "message": {
+ "type": "string"
},
- "name": {
- "description": "Tournament name.",
- "example": "Premier League",
+ "source_id": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "retrievaltypes.WarningCode": {
+ "enum": [
+ "source_failed",
+ "source_not_indexed",
+ "discovery_truncated",
+ "ranking_window_limit",
+ "imprecise_date_excluded",
+ "content_unavailable",
+ "cached_source_stale"
+ ],
+ "type": "string",
+ "x-enum-varnames": [
+ "WarningSourceFailed",
+ "WarningSourceNotIndexed",
+ "WarningDiscoveryTruncated",
+ "WarningRankingWindowLimit",
+ "WarningImpreciseDateExcluded",
+ "WarningContentUnavailable",
+ "WarningCachedSourceStale"
+ ]
+ },
+ "reuters.ArticleItem": {
+ "properties": {
+ "image_url": {
"type": "string"
},
- "slug": {
- "description": "URL slug of the tournament on SofaScore.",
- "example": "premier-league",
+ "title": {
"type": "string"
},
- "unique_tournament_id": {
- "description": "Id of the parent competition. This is the tournament id the tournament-seasons, standings and round-events endpoints take.",
- "example": 17,
- "type": "integer"
+ "updated_at": {
+ "type": "string"
},
- "unique_tournament_name": {
- "description": "Name of the parent competition.",
- "example": "Premier League",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "sofascore.TournamentRoundsResponse": {
+ "reuters.ArticleResponse": {
"properties": {
- "count": {
- "type": "integer"
+ "authors": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "current_round": {
- "$ref": "#/definitions/sofascore.RoundRef"
+ "description": {
+ "type": "string"
},
- "fetched_at": {
+ "image_caption": {
"type": "string"
},
- "rounds": {
+ "image_url": {
+ "type": "string"
+ },
+ "paragraphs": {
"items": {
- "$ref": "#/definitions/sofascore.RoundRef"
+ "type": "string"
},
"type": "array"
},
- "season_id": {
- "type": "integer"
+ "published_at": {
+ "type": "string"
},
- "source_url": {
+ "title": {
"type": "string"
},
- "tournament_id": {
- "type": "integer"
+ "updated_at": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "sofascore.TournamentSeasonsResponse": {
+ "reuters.ArticlesResponse": {
"properties": {
- "count": {
- "description": "Number of seasons returned.",
- "type": "integer"
- },
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "type": "string"
- },
- "seasons": {
- "description": "Seasons SofaScore has for the competition.",
+ "items": {
"items": {
- "$ref": "#/definitions/sofascore.Season"
+ "$ref": "#/definitions/reuters.ArticleItem"
},
"type": "array"
},
- "source_url": {
- "description": "SofaScore URL the data was read from.",
- "type": "string"
- },
- "tournament_id": {
- "description": "Id of the competition (the unique tournament id).",
+ "page": {
"type": "integer"
}
},
"type": "object"
},
- "sofascore.TournamentStatisticsInfoResponse": {
+ "reuters.AuthorArticle": {
"properties": {
- "detailed_groups": {
- "additionalProperties": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "description": "DetailedGroups lists the further per-area statistic names the season\ntracks (upstream's \"detailed\" group); the table does not take them as\n`group` or `order` values.",
- "type": "object"
- },
- "fetched_at": {
+ "image_url": {
"type": "string"
},
- "groups": {
- "additionalProperties": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "description": "Groups lists the statistic columns of each `group` value.",
- "type": "object"
- },
- "nationalities": {
- "description": "Nationalities are the codes the `nationality` filter accepts. SofaScore\nuses its own codes for the home nations (EN England, SX Scotland, WA\nWales, NX Northern Ireland).",
- "items": {
- "$ref": "#/definitions/sofascore.NamedCode"
- },
- "type": "array"
- },
- "positions": {
- "description": "Positions are the codes the `position` filter accepts. The set is fixed\nby this API (verified: G, D, M and F each filter the table; any other\ncode returns no rows).",
- "items": {
- "$ref": "#/definitions/sofascore.NamedCode"
- },
- "type": "array"
- },
- "season_id": {
- "type": "integer"
+ "published_at": {
+ "type": "string"
},
- "source_url": {
+ "summary": {
"type": "string"
},
- "teams": {
- "description": "Teams are the teams whose id the `team` filter accepts.",
- "items": {
- "$ref": "#/definitions/sofascore.TeamRef"
- },
- "type": "array"
+ "title": {
+ "type": "string"
},
- "tournament_id": {
- "type": "integer"
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "sofascore.TournamentTeamOfTheSeasonResponse": {
+ "reuters.AuthorResponse": {
"properties": {
- "count": {
- "type": "integer"
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/reuters.AuthorArticle"
+ },
+ "type": "array"
},
- "created_at": {
- "example": "2026-05-25T10:00:00Z",
+ "company": {
"type": "string"
},
- "fetched_at": {
+ "email": {
"type": "string"
},
- "formation": {
- "example": "3-2-4-1",
+ "image_url": {
"type": "string"
},
- "players": {
+ "name": {
+ "type": "string"
+ },
+ "social_accounts": {
"items": {
- "$ref": "#/definitions/sofascore.TeamOfTheWeekPlayer"
+ "$ref": "#/definitions/reuters.AuthorSocialAccount"
},
"type": "array"
},
- "season_id": {
+ "total_articles": {
"type": "integer"
},
- "source_url": {
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "reuters.AuthorSocialAccount": {
+ "properties": {
+ "platform": {
"type": "string"
},
- "tournament_id": {
- "type": "integer"
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "sofascore.TournamentTeamsResponse": {
+ "reuters.NewsItem": {
"properties": {
- "count": {
- "type": "integer"
+ "image_caption": {
+ "type": "string"
},
- "fetched_at": {
+ "image_url": {
"type": "string"
},
- "season_id": {
- "type": "integer"
+ "published_at": {
+ "type": "string"
},
- "source_url": {
+ "title": {
"type": "string"
},
- "teams": {
- "items": {
- "$ref": "#/definitions/sofascore.SeasonTeam"
- },
- "type": "array"
+ "updated_at": {
+ "type": "string"
},
- "tournament_id": {
- "type": "integer"
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "sofascore.TournamentTopPlayersResponse": {
+ "reuters.NewsResponse": {
"properties": {
- "categories": {
+ "items": {
"items": {
- "$ref": "#/definitions/sofascore.TopPlayerCategory"
+ "$ref": "#/definitions/reuters.NewsItem"
},
"type": "array"
},
- "category_count": {
+ "page": {
"type": "integer"
- },
- "fetched_at": {
+ }
+ },
+ "type": "object"
+ },
+ "reuters.Section": {
+ "properties": {
+ "name": {
"type": "string"
},
- "season_id": {
- "type": "integer"
+ "slug": {
+ "type": "string"
},
- "source_url": {
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "reuters.SectionItem": {
+ "properties": {
+ "image_caption": {
"type": "string"
},
- "sport": {
- "example": "football",
+ "image_url": {
"type": "string"
},
- "tournament_id": {
- "type": "integer"
+ "updated_at": {
+ "type": "string"
},
- "type": {
- "example": "overall",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "sofascore.TournamentTopTeamsResponse": {
+ "reuters.SectionResponse": {
"properties": {
- "categories": {
+ "items": {
"items": {
- "$ref": "#/definitions/sofascore.TopTeamCategory"
+ "$ref": "#/definitions/reuters.SectionItem"
},
"type": "array"
},
- "category_count": {
+ "page": {
"type": "integer"
},
- "fetched_at": {
+ "section": {
"type": "string"
- },
- "season_id": {
+ }
+ },
+ "type": "object"
+ },
+ "reuters.SectionsResponse": {
+ "properties": {
+ "items": {
+ "items": {
+ "$ref": "#/definitions/reuters.Section"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "reuters.articleResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "source_url": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/reuters.ArticleResponse"
},
- "sport": {
- "example": "football",
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "tournament_id": {
+ }
+ },
+ "type": "object"
+ },
+ "reuters.articlesResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "type": {
- "example": "overall",
+ "data": {
+ "$ref": "#/definitions/reuters.ArticlesResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "sofascore.TournamentVenuesResponse": {
+ "reuters.authorResponseDoc": {
"properties": {
- "count": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "fetched_at": {
- "type": "string"
- },
- "season_id": {
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/reuters.AuthorResponse"
},
- "source_url": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "tournament_id": {
- "type": "integer"
- },
- "venues": {
- "items": {
- "$ref": "#/definitions/sofascore.VenueRecord"
- },
- "type": "array"
}
},
"type": "object"
},
- "sofascore.TournamentWinner": {
+ "reuters.newsResponseDoc": {
"properties": {
- "season_id": {
- "description": "SeasonID is the season id to pass to tournament-seasons-based endpoints.",
- "example": 76986,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "winner": {
- "$ref": "#/definitions/sofascore.TeamRef"
+ "data": {
+ "$ref": "#/definitions/reuters.NewsResponse"
},
- "year": {
- "description": "Year is the upstream year label of the season (the year it ended).",
- "example": 2026,
- "type": "integer"
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "sofascore.TournamentWinnersResponse": {
+ "reuters.sectionResponseDoc": {
"properties": {
- "count": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "fetched_at": {
- "type": "string"
- },
- "has_next_page": {
- "type": "boolean"
- },
- "page": {
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/reuters.SectionResponse"
},
- "source_url": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "tournament_id": {
- "type": "integer"
- },
- "winners": {
- "items": {
- "$ref": "#/definitions/sofascore.TournamentWinner"
- },
- "type": "array"
}
},
"type": "object"
},
- "sofascore.TournamentsWithFeatureResponse": {
+ "reuters.sectionsResponseDoc": {
"properties": {
- "count": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "feature": {
- "example": "cuptree",
- "type": "string"
- },
- "fetched_at": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/reuters.SectionsResponse"
},
- "source_url": {
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "reverb.CategoriesResponse": {
+ "properties": {
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/reverb.CategoryItem"
+ },
+ "type": "array"
},
- "sport": {
- "example": "football",
+ "fetched_at": {
"type": "string"
},
- "tournaments": {
+ "product_types": {
"items": {
- "$ref": "#/definitions/sofascore.FeatureTournament"
+ "$ref": "#/definitions/reverb.ProductType"
},
"type": "array"
}
},
"type": "object"
},
- "sofascore.Transfer": {
+ "reverb.CategoryItem": {
"properties": {
- "fee": {
- "example": 60000000,
- "type": "integer"
- },
- "fee_currency": {
- "example": "EUR",
- "type": "string"
- },
- "fee_description": {
- "example": "60M €",
- "type": "string"
- },
- "from_team": {
- "$ref": "#/definitions/sofascore.TeamRef"
- },
- "from_team_name": {
- "example": "Borussia Dortmund",
+ "full_name": {
"type": "string"
},
"id": {
"type": "integer"
},
- "player": {
- "$ref": "#/definitions/sofascore.PlayerBrief"
- },
- "to_team": {
- "$ref": "#/definitions/sofascore.TeamRef"
- },
- "to_team_name": {
- "example": "Manchester City",
+ "name": {
"type": "string"
},
- "transfer_date": {
- "example": "2022-07-01",
+ "product_type": {
"type": "string"
},
- "transfer_timestamp": {
- "type": "integer"
+ "slug": {
+ "type": "string"
},
- "type_code": {
- "example": 3,
- "type": "integer"
+ "uuid": {
+ "type": "string"
}
},
"type": "object"
},
- "sofascore.TrendingEvent": {
+ "reverb.Listing": {
"properties": {
- "away_score": {
- "allOf": [
- {
- "$ref": "#/definitions/sofascore.ScoreLine"
- }
- ],
- "description": "Away side's score, when available."
+ "auction": {
+ "type": "boolean"
},
- "away_team": {
- "allOf": [
- {
- "$ref": "#/definitions/sofascore.TeamRef"
- }
- ],
- "description": "Away side."
+ "category_uuids": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "home_score": {
- "allOf": [
- {
- "$ref": "#/definitions/sofascore.ScoreLine"
- }
- ],
- "description": "Home side's score, when available."
+ "condition": {
+ "type": "string"
},
- "home_team": {
- "allOf": [
- {
- "$ref": "#/definitions/sofascore.TeamRef"
- }
- ],
- "description": "Home side."
+ "condition_slug": {
+ "type": "string"
},
- "id": {
- "description": "SofaScore event id. Use it with the event endpoints.",
- "example": 14025013,
- "type": "integer"
+ "cover_photo_url": {
+ "type": "string"
},
- "slug": {
- "description": "URL slug of the match on SofaScore.",
+ "created_at": {
"type": "string"
},
- "sport": {
- "example": "football",
+ "currency": {
"type": "string"
},
- "start_time": {
- "description": "Start time in UTC (RFC 3339).",
- "example": "2025-08-15T19:00:00Z",
+ "finish": {
"type": "string"
},
- "start_timestamp": {
- "description": "Start time as a Unix timestamp in seconds.",
+ "has_inventory": {
+ "type": "boolean"
+ },
+ "id": {
"type": "integer"
},
- "status": {
- "allOf": [
- {
- "$ref": "#/definitions/sofascore.EventStatus"
- }
- ],
- "description": "Current status of the match."
+ "inventory": {
+ "type": "integer"
},
- "tournament": {
- "allOf": [
- {
- "$ref": "#/definitions/sofascore.TournamentRef"
- }
- ],
- "description": "Tournament and parent competition the match belongs to."
+ "make": {
+ "type": "string"
},
- "winner_code": {
- "description": "Result code: 1 when the home side won, 2 when the away side won, 3 for a draw. Omitted until the match is decided.",
- "type": "integer"
- }
- },
- "type": "object"
- },
- "sofascore.TrendingEventsResponse": {
- "properties": {
- "count": {
+ "model": {
+ "type": "string"
+ },
+ "offers_enabled": {
+ "type": "boolean"
+ },
+ "photo_count": {
"type": "integer"
},
- "country": {
- "example": "GB",
+ "price": {
+ "type": "number"
+ },
+ "published_at": {
"type": "string"
},
- "events": {
- "items": {
- "$ref": "#/definitions/sofascore.TrendingEvent"
- },
- "type": "array"
+ "shop_name": {
+ "type": "string"
},
- "fetched_at": {
+ "title": {
"type": "string"
},
- "source_url": {
+ "url": {
+ "type": "string"
+ },
+ "year": {
"type": "string"
}
},
"type": "object"
},
- "sofascore.TrendingPlayer": {
+ "reverb.ListingPhoto": {
"properties": {
- "event": {
- "$ref": "#/definitions/sofascore.EventSummary"
- },
- "player": {
- "$ref": "#/definitions/sofascore.PlayerBrief"
- },
- "statistics": {
- "additionalProperties": {
- "format": "float64",
- "type": "number"
- },
- "type": "object"
+ "full_url": {
+ "type": "string"
},
- "team": {
- "$ref": "#/definitions/sofascore.TeamRef"
+ "thumbnail_url": {
+ "type": "string"
}
},
"type": "object"
},
- "sofascore.TrendingPlayersResponse": {
+ "reverb.ListingResponse": {
"properties": {
- "count": {
- "type": "integer"
+ "accepted_payment_methods": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "fetched_at": {
- "type": "string"
+ "auction": {
+ "type": "boolean"
},
- "players": {
+ "category_uuids": {
"items": {
- "$ref": "#/definitions/sofascore.TrendingPlayer"
+ "type": "string"
},
"type": "array"
},
- "source_url": {
+ "condition": {
"type": "string"
},
- "sport": {
- "example": "football",
+ "condition_slug": {
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.TypedSearchResult": {
- "properties": {
- "capacity": {
- "example": 60704,
- "type": "integer"
- },
- "category_id": {
- "description": "Competition fields.",
- "example": 1,
- "type": "integer"
},
- "category_name": {
- "example": "England",
+ "created_at": {
"type": "string"
},
- "city": {
- "description": "Venue fields.",
- "example": "London",
+ "currency": {
"type": "string"
},
- "country": {
- "example": "England",
+ "description": {
"type": "string"
},
- "deceased": {
- "description": "Deceased applies to players and managers.",
- "type": "boolean"
- },
- "event": {
- "allOf": [
- {
- "$ref": "#/definitions/sofascore.EventSummary"
- }
- ],
- "description": "Event is the match summary of an event result."
+ "fetched_at": {
+ "type": "string"
},
- "gender": {
- "example": "M",
+ "finish": {
"type": "string"
},
+ "has_inventory": {
+ "type": "boolean"
+ },
"id": {
- "example": 42,
"type": "integer"
},
- "jersey_number": {
+ "inventory": {
+ "type": "integer"
+ },
+ "local_pickup_only": {
+ "type": "boolean"
+ },
+ "location": {
"type": "string"
},
- "name": {
- "example": "Arsenal",
+ "make": {
"type": "string"
},
- "name_code": {
+ "model": {
"type": "string"
},
- "national": {
+ "offers_enabled": {
"type": "boolean"
},
- "position": {
- "description": "Player fields.",
- "example": "F",
+ "payment_policy": {
"type": "string"
},
- "retired": {
- "type": "boolean"
+ "photos": {
+ "items": {
+ "$ref": "#/definitions/reverb.ListingPhoto"
+ },
+ "type": "array"
},
- "score": {
- "description": "Score is SofaScore's relevance score; results are ordered by it.",
- "example": 272039.88,
+ "price": {
"type": "number"
},
- "short_name": {
+ "product_type": {
"type": "string"
},
- "slug": {
- "example": "arsenal",
+ "published_at": {
"type": "string"
},
- "sport": {
- "example": "football",
+ "return_policy": {
"type": "string"
},
- "team": {
- "$ref": "#/definitions/sofascore.TeamRef"
- },
- "type": {
- "description": "Type is event, team, player, manager, referee, venue or unique_tournament.",
- "example": "team",
+ "shipping_policy": {
"type": "string"
},
- "user_count": {
+ "shop_feedback_count": {
"type": "integer"
- }
- },
- "type": "object"
- },
- "sofascore.UniqueTournamentBrief": {
- "properties": {
- "category": {
- "example": "England",
+ },
+ "shop_name": {
"type": "string"
},
- "gender": {
- "example": "M",
+ "shop_preferred_seller": {
+ "type": "boolean"
+ },
+ "shop_rating_percentage": {
+ "type": "number"
+ },
+ "shop_url": {
"type": "string"
},
- "id": {
- "example": 17,
- "type": "integer"
+ "sku": {
+ "type": "string"
},
- "name": {
- "example": "Premier League",
+ "source_url": {
"type": "string"
},
- "slug": {
- "example": "premier-league",
+ "state_description": {
"type": "string"
},
- "sport": {
- "example": "football",
+ "state_slug": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "views": {
+ "type": "integer"
+ },
+ "watches": {
+ "type": "integer"
+ },
+ "year": {
"type": "string"
}
},
"type": "object"
},
- "sofascore.Venue": {
+ "reverb.MakesResponse": {
"properties": {
- "capacity": {
- "description": "Venue capacity.",
- "example": 61276,
- "type": "integer"
- },
- "city": {
- "description": "City the venue is in.",
- "example": "Liverpool",
- "type": "string"
- },
- "country": {
- "description": "Country the venue is in.",
- "example": "England",
+ "fetched_at": {
"type": "string"
},
- "name": {
- "description": "Venue name.",
- "example": "Anfield",
- "type": "string"
+ "makes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "sofascore.VenueEventsResponse": {
+ "reverb.PriceGuideCSP": {
"properties": {
- "count": {
- "type": "integer"
+ "average_rating": {
+ "type": "number"
},
- "direction": {
- "example": "last",
+ "brand": {
"type": "string"
},
- "events": {
+ "currency": {
+ "type": "string"
+ },
+ "finishes": {
"items": {
- "$ref": "#/definitions/sofascore.EventSummary"
+ "type": "string"
},
"type": "array"
},
- "fetched_at": {
+ "image_url": {
"type": "string"
},
- "has_next_page": {
- "type": "boolean"
- },
- "page": {
+ "new_listings": {
"type": "integer"
},
- "season_id": {
+ "new_low_price": {
+ "type": "number"
+ },
+ "reviews_count": {
"type": "integer"
},
- "source_url": {
+ "slug": {
"type": "string"
},
- "sport": {
- "example": "all",
+ "title": {
"type": "string"
},
- "tournament_id": {
- "type": "integer"
+ "url": {
+ "type": "string"
},
- "venue_id": {
+ "used_listings": {
"type": "integer"
+ },
+ "used_low_price": {
+ "type": "number"
}
},
"type": "object"
},
- "sofascore.VenueRecord": {
+ "reverb.PriceGuideMonthlyPrice": {
"properties": {
- "capacity": {
- "example": 60704,
- "type": "integer"
+ "average_price": {
+ "type": "number"
},
- "city": {
- "example": "London",
+ "currency": {
"type": "string"
},
- "country": {
- "example": "England",
+ "month": {
"type": "string"
},
- "hidden": {
- "description": "Hidden is SofaScore's hidden flag. A hidden venue has no venue-wide match\nlist (venue-events answers not found without tournament and season), but\nits matches are still listed per competition season.",
- "type": "boolean"
- },
- "id": {
- "example": 624,
+ "sample_size": {
"type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "reverb.PriceGuideResponse": {
+ "properties": {
+ "brand": {
+ "type": "string"
},
- "latitude": {
- "type": "number"
+ "canonical_product_id": {
+ "type": "string"
},
- "longitude": {
- "type": "number"
+ "canonical_products": {
+ "items": {
+ "$ref": "#/definitions/reverb.PriceGuideVariant"
+ },
+ "type": "array"
},
- "name": {
- "example": "Emirates Stadium",
+ "condition": {
"type": "string"
},
- "slug": {
- "example": "emirates-stadium",
+ "fetched_at": {
"type": "string"
},
- "state": {
- "example": "US-TX",
- "type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.VenueResponse": {
- "properties": {
- "fetched_at": {
+ "image_url": {
"type": "string"
},
- "main_teams": {
+ "monthly_prices": {
"items": {
- "$ref": "#/definitions/sofascore.TeamRef"
+ "$ref": "#/definitions/reverb.PriceGuideMonthlyPrice"
},
"type": "array"
},
- "source_url": {
+ "range": {
"type": "string"
},
- "sports": {
+ "recent_sales": {
"items": {
- "$ref": "#/definitions/sofascore.VenueSportStatistics"
+ "$ref": "#/definitions/reverb.PriceGuideSale"
},
"type": "array"
},
- "totals": {
- "$ref": "#/definitions/sofascore.VenueTotals"
+ "sales_count": {
+ "type": "integer"
},
- "venue": {
- "$ref": "#/definitions/sofascore.VenueRecord"
- }
- },
- "type": "object"
- },
- "sofascore.VenueSportStatistics": {
- "properties": {
- "draw_percentage": {
- "type": "number"
+ "sales_limit": {
+ "type": "integer"
},
- "goals_scored": {
- "type": "number"
+ "sales_total": {
+ "type": "integer"
},
- "home_win_percentage": {
- "description": "HomeWinPercentage and DrawPercentage are percentages (0 to 100).",
- "type": "number"
+ "slug": {
+ "type": "string"
},
- "sport": {
- "example": "football",
+ "source_url": {
"type": "string"
},
- "total_matches": {
- "example": 415,
- "type": "integer"
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "sofascore.VenueTotals": {
+ "reverb.PriceGuideSale": {
"properties": {
- "avg_corner_kicks_per_game": {
- "type": "number"
- },
- "avg_red_cards_per_game": {
- "type": "number"
- },
- "away_team_goals_scored": {
- "type": "number"
- },
- "away_team_wins_percentage": {
- "type": "number"
- },
- "draws_percentage": {
- "type": "number"
+ "condition": {
+ "type": "string"
},
- "home_team_goals_scored": {
- "type": "number"
+ "listing_id": {
+ "type": "string"
},
- "home_team_wins_percentage": {
- "type": "number"
+ "price": {
+ "type": "string"
},
- "total_matches": {
- "type": "integer"
+ "sold_at": {
+ "type": "string"
}
},
"type": "object"
},
- "sofascore.VoteBothTeamsToScore": {
+ "reverb.PriceGuideSearchResponse": {
"properties": {
- "no": {
- "example": 4381,
+ "count": {
"type": "integer"
},
- "yes": {
- "example": 5882,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "sofascore.VoteFirstToScore": {
- "properties": {
- "away": {
- "example": 457,
- "type": "integer"
+ "fetched_at": {
+ "type": "string"
},
- "home": {
- "example": 8908,
- "type": "integer"
+ "models": {
+ "items": {
+ "$ref": "#/definitions/reverb.PriceGuideCSP"
+ },
+ "type": "array"
},
- "no_goal": {
- "example": 159,
- "type": "integer"
+ "query": {
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
}
},
"type": "object"
},
- "sofascore.VoteMatchResult": {
+ "reverb.PriceGuideVariant": {
"properties": {
- "away": {
- "example": 2503,
- "type": "integer"
+ "finish": {
+ "type": "string"
},
- "draw": {
- "example": 3713,
- "type": "integer"
+ "id": {
+ "type": "string"
},
- "home": {
- "example": 52785,
- "type": "integer"
+ "model": {
+ "type": "string"
},
- "total": {
- "example": 59001,
- "type": "integer"
+ "name": {
+ "type": "string"
+ },
+ "year": {
+ "type": "string"
}
},
"type": "object"
},
- "sofascore.VoteWhoShouldHaveWon": {
+ "reverb.ProductType": {
"properties": {
- "away": {
- "type": "integer"
+ "name": {
+ "type": "string"
},
- "home": {
- "type": "integer"
+ "slug": {
+ "type": "string"
}
},
"type": "object"
},
- "sofascore.WDLRecord": {
+ "reverb.SearchResponse": {
"properties": {
- "draws": {
- "type": "integer"
+ "category": {
+ "type": "string"
},
- "losses": {
+ "count": {
"type": "integer"
},
- "wins": {
+ "fetched_at": {
+ "type": "string"
+ },
+ "limit": {
"type": "integer"
- }
- },
- "type": "object"
- },
- "sofascore.categoriesResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ },
+ "listings": {
+ "items": {
+ "$ref": "#/definitions/reverb.Listing"
+ },
+ "type": "array"
+ },
+ "make": {
+ "type": "string"
+ },
+ "max_price": {
+ "type": "number"
+ },
+ "min_price": {
+ "type": "number"
+ },
+ "page": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.CategoriesResponse"
+ "product_type": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "query": {
+ "type": "string"
+ },
+ "source_url": {
"type": "string"
+ },
+ "total_pages": {
+ "type": "integer"
+ },
+ "total_results": {
+ "type": "integer"
}
},
"type": "object"
},
- "sofascore.categoryTournamentsResponseDoc": {
+ "reverb.ShopFeedback": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "author_name": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/sofascore.CategoryTournamentsResponse"
+ "created_at": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "listing_url": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ },
+ "order_title": {
"type": "string"
+ },
+ "rating": {
+ "type": "integer"
}
},
"type": "object"
},
- "sofascore.draftPicksResponseDoc": {
+ "reverb.ShopFeedbackResponse": {
"properties": {
- "code": {
- "example": 200,
+ "count": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.DraftPicksResponse"
+ "feedback": {
+ "items": {
+ "$ref": "#/definitions/reverb.ShopFeedback"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "fetched_at": {
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.draftResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ },
+ "page": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.DraftResponse"
+ "slug": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "source_url": {
"type": "string"
+ },
+ "total": {
+ "type": "integer"
+ },
+ "total_pages": {
+ "type": "integer"
}
},
"type": "object"
},
- "sofascore.esportsGameResponseDoc": {
+ "reverb.ShopResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "avatar_url": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/sofascore.EsportsGameResponse"
+ "banner_url": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "description": {
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.eventAtBatPitchesResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.EventAtBatPitchesResponse"
+ "feedback_count": {
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "fetched_at": {
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.eventAtBatsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.EventAtBatsResponse"
+ "listings": {
+ "items": {
+ "$ref": "#/definitions/reverb.Listing"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
- "type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.eventAveragePositionsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ "listings_count": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.EventAveragePositionsResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.eventBaseballTopPerformersResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ "listings_limit": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.EventBaseballTopPerformersResponse"
+ "listings_page": {
+ "type": "integer"
},
- "msg": {
- "example": "OK",
- "type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.eventBestPlayersResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ "listings_total": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.EventBestPlayersResponse"
+ "location": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "name": {
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.eventCommentsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.EventCommentsResponse"
+ "on_vacation": {
+ "type": "boolean"
},
- "msg": {
- "example": "OK",
+ "payment_policy": {
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.eventEsportsGamesResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.EventEsportsGamesResponse"
+ "preferred_seller": {
+ "type": "boolean"
},
- "msg": {
- "example": "OK",
- "type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.eventGraphResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "quick_responder": {
+ "type": "boolean"
},
- "data": {
- "$ref": "#/definitions/sofascore.EventGraphResponse"
+ "quick_shipper": {
+ "type": "boolean"
},
- "msg": {
- "example": "OK",
+ "rating_percentage": {
+ "type": "number"
+ },
+ "return_policy": {
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.eventH2HResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.EventH2HResponse"
+ "shipping_policy": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "shop_type": {
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.eventHighlightsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.EventHighlightsResponse"
+ "slug": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "source_url": {
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.eventIncidentsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.EventIncidentsResponse"
+ "url": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "website": {
"type": "string"
}
},
"type": "object"
},
- "sofascore.eventInningsResponseDoc": {
+ "reverb.categoriesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/sofascore.EventInningsResponse"
+ "$ref": "#/definitions/reverb.CategoriesResponse"
},
"msg": {
"example": "OK",
@@ -207853,14 +213550,14 @@
},
"type": "object"
},
- "sofascore.eventLineupsResponseDoc": {
+ "reverb.listingResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/sofascore.EventLineupsResponse"
+ "$ref": "#/definitions/reverb.ListingResponse"
},
"msg": {
"example": "OK",
@@ -207869,14 +213566,14 @@
},
"type": "object"
},
- "sofascore.eventManagersResponseDoc": {
+ "reverb.makesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/sofascore.EventManagersResponse"
+ "$ref": "#/definitions/reverb.MakesResponse"
},
"msg": {
"example": "OK",
@@ -207885,14 +213582,14 @@
},
"type": "object"
},
- "sofascore.eventOddsResponseDoc": {
+ "reverb.priceGuideResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/sofascore.EventOddsResponse"
+ "$ref": "#/definitions/reverb.PriceGuideResponse"
},
"msg": {
"example": "OK",
@@ -207901,14 +213598,14 @@
},
"type": "object"
},
- "sofascore.eventPlayerHeatmapResponseDoc": {
+ "reverb.priceGuideSearchResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/sofascore.EventPlayerHeatmapResponse"
+ "$ref": "#/definitions/reverb.PriceGuideSearchResponse"
},
"msg": {
"example": "OK",
@@ -207917,14 +213614,14 @@
},
"type": "object"
},
- "sofascore.eventPlayerStatisticsResponseDoc": {
+ "reverb.searchResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/sofascore.EventPlayerStatisticsResponse"
+ "$ref": "#/definitions/reverb.SearchResponse"
},
"msg": {
"example": "OK",
@@ -207933,14 +213630,14 @@
},
"type": "object"
},
- "sofascore.eventPointByPointResponseDoc": {
+ "reverb.shopFeedbackResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/sofascore.EventPointByPointResponse"
+ "$ref": "#/definitions/reverb.ShopFeedbackResponse"
},
"msg": {
"example": "OK",
@@ -207949,14 +213646,14 @@
},
"type": "object"
},
- "sofascore.eventPregameFormResponseDoc": {
+ "reverb.shopResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/sofascore.EventPregameFormResponse"
+ "$ref": "#/definitions/reverb.ShopResponse"
},
"msg": {
"example": "OK",
@@ -207965,1118 +213662,861 @@
},
"type": "object"
},
- "sofascore.eventResponseDoc": {
+ "rightmove.AgentAffiliation": {
"properties": {
- "code": {
- "example": 200,
+ "id": {
+ "example": 19,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.EventResponse"
+ "image_url": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "name": {
+ "example": "Property Redress Scheme",
"type": "string"
}
},
"type": "object"
},
- "sofascore.eventShotmapResponseDoc": {
+ "rightmove.AgentBranchResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "address": {
+ "example": "18 Pilgrimage Street,\nLondon Bridge,\nLondon,\nSE1 4LL",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/sofascore.EventShotmapResponse"
+ "branch_name": {
+ "example": "London",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "brand_name": {
+ "example": "1 Ability Estate Agents",
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.eventStatisticsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.EventStatisticsResponse"
+ "build_to_rent": {
+ "type": "boolean"
},
- "msg": {
- "example": "OK",
+ "commercial": {
+ "type": "boolean"
+ },
+ "company_id": {
+ "example": "4294",
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.eventTVChannelsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.EventTVChannelsResponse"
+ "company_name": {
+ "example": "1st Avenue",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "description": {
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.eventTeamHeatmapResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.EventTeamHeatmapResponse"
+ "development": {
+ "type": "boolean"
},
- "msg": {
- "example": "OK",
+ "display_name": {
+ "example": "1 Ability Estate Agents, London",
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.eventTeamStreaksResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.EventTeamStreaksResponse"
- },
- "msg": {
- "example": "OK",
+ "id": {
+ "example": "181787",
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.eventTennisPowerResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.EventTennisPowerResponse"
+ "industry_affiliations": {
+ "items": {
+ "$ref": "#/definitions/rightmove.AgentAffiliation"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
- "type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.eventVotesResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "latitude": {
+ "type": "number"
},
- "data": {
- "$ref": "#/definitions/sofascore.EventVotesResponse"
+ "lettings": {
+ "type": "boolean"
},
- "msg": {
- "example": "OK",
- "type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.liveEventsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "lettings_properties": {
+ "$ref": "#/definitions/rightmove.AgentPropertyList"
},
- "data": {
- "$ref": "#/definitions/sofascore.LiveEventsResponse"
+ "lettings_telephone": {
+ "example": "020 3910 6304",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "logo_url": {
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.managerEventsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.ManagerEventsResponse"
+ "longitude": {
+ "type": "number"
},
- "msg": {
- "example": "OK",
+ "main_telephone": {
+ "example": "020 8293 8600",
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.managerResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.ManagerResponse"
+ "overseas": {
+ "type": "boolean"
},
- "msg": {
- "example": "OK",
+ "postcode": {
+ "example": "SE1 4LL",
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.mmaCardResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.MMACardResponse"
+ "sales": {
+ "type": "boolean"
},
- "msg": {
- "example": "OK",
+ "sales_properties": {
+ "$ref": "#/definitions/rightmove.AgentPropertyList"
+ },
+ "sales_telephone": {
+ "example": "020 3909 6734",
"type": "string"
}
},
"type": "object"
},
- "sofascore.mmaScheduleResponseDoc": {
+ "rightmove.AgentItem": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "address": {
+ "example": "18 Pilgrimage Street,\nLondon Bridge,\nLondon,\nSE1 4LL",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/sofascore.MMAScheduleResponse"
+ "brand_name": {
+ "example": "1 Ability Estate Agents",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "description": {
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.oddsDroppingResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.OddsDroppingResponse"
+ "display_name": {
+ "example": "1 Ability Estate Agents, London",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "id": {
+ "example": "181787",
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.oddsWinningResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.OddsWinningResponse"
+ "lettings": {
+ "type": "boolean"
},
- "msg": {
- "example": "OK",
+ "logo_url": {
+ "example": "https://media.rightmove.co.uk/partner-logo/19103090-LOGO-1765975389.png",
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.playerAttributesResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.PlayerAttributesResponse"
+ "sales": {
+ "type": "boolean"
},
- "msg": {
- "example": "OK",
+ "telephones": {
+ "items": {
+ "$ref": "#/definitions/rightmove.AgentTelephone"
+ },
+ "type": "array"
+ },
+ "url": {
+ "example": "https://www.rightmove.co.uk/estate-agents/agent/1-Ability-Estate-Agents/London-181787.html",
"type": "string"
}
},
"type": "object"
},
- "sofascore.playerEventsResponseDoc": {
+ "rightmove.AgentPropertyItem": {
"properties": {
- "code": {
- "example": 200,
+ "address": {
+ "example": "West Parkside, London, SE10",
+ "type": "string"
+ },
+ "bathrooms": {
+ "example": 2,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.PlayerEventsResponse"
+ "bedrooms": {
+ "example": 2,
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "channel": {
+ "example": "RES_LET",
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.playerLastYearSummaryResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.PlayerLastYearSummaryResponse"
+ "id": {
+ "example": "92527095",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "image": {
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.playerNationalTeamStatisticsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ },
+ "price": {
+ "example": 634,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.PlayerNationalTeamStatisticsResponse"
+ "price_frequency": {
+ "example": "weekly",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "price_text": {
+ "example": "£634 pw",
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.playerPenaltyHistoryResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.PlayerPenaltyHistoryResponse"
+ "property_type": {
+ "example": "Flat",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "status": {
+ "example": "available",
+ "type": "string"
+ },
+ "url": {
+ "example": "https://www.rightmove.co.uk/properties/92537946#/?channel=RES_LET",
"type": "string"
}
},
"type": "object"
},
- "sofascore.playerRatingsResponseDoc": {
+ "rightmove.AgentPropertyList": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/sofascore.PlayerRatingsResponse"
+ "properties": {
+ "items": {
+ "$ref": "#/definitions/rightmove.AgentPropertyItem"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
- "type": "string"
+ "total": {
+ "example": 37,
+ "type": "integer"
}
},
"type": "object"
},
- "sofascore.playerResponseDoc": {
+ "rightmove.AgentTelephone": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "direct_number": {
+ "example": "020 3903 2323",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/sofascore.PlayerResponse"
+ "number": {
+ "example": "020 3910 6304",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "type": {
+ "example": "LETTING",
"type": "string"
}
},
"type": "object"
},
- "sofascore.playerSeasonHeatmapResponseDoc": {
+ "rightmove.AgentsResponse": {
"properties": {
- "code": {
- "example": 200,
+ "location": {
+ "example": "REGION^87490",
+ "type": "string"
+ },
+ "page": {
+ "example": 1,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.PlayerSeasonHeatmapResponse"
+ "results": {
+ "items": {
+ "$ref": "#/definitions/rightmove.AgentItem"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
- "type": "string"
+ "total": {
+ "example": 3614,
+ "type": "integer"
}
},
"type": "object"
},
- "sofascore.playerSeasonStatisticsResponseDoc": {
+ "rightmove.AutocompleteItem": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "entity_type": {
+ "example": "REGION",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/sofascore.PlayerSeasonStatisticsResponse"
+ "full_name": {
+ "example": "London, Greater London, England",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "id": {
+ "example": "REGION^12345",
+ "type": "string"
+ },
+ "name": {
+ "example": "London, Greater London",
"type": "string"
}
},
"type": "object"
},
- "sofascore.playerStatisticalRankingsResponseDoc": {
+ "rightmove.AutocompleteResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/sofascore.PlayerStatisticalRankingsResponse"
- },
- "msg": {
- "example": "OK",
+ "query": {
+ "example": "London",
"type": "string"
+ },
+ "results": {
+ "items": {
+ "$ref": "#/definitions/rightmove.AutocompleteItem"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "sofascore.playerStatisticsSeasonsResponseDoc": {
+ "rightmove.PropertyCustomerReviews": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "average_score": {
+ "example": 4.5,
+ "type": "number"
},
- "data": {
- "$ref": "#/definitions/sofascore.PlayerStatisticsSeasonsResponse"
+ "count": {
+ "example": 5,
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "latest_review": {
+ "example": "Great property and excellent service from the agent.",
"type": "string"
}
},
"type": "object"
},
- "sofascore.playerTournamentsResponseDoc": {
+ "rightmove.PropertyItem": {
"properties": {
- "code": {
- "example": 200,
+ "added_or_reduced": {
+ "example": "Price reduced",
+ "type": "string"
+ },
+ "address": {
+ "example": "123 Example Street, London",
+ "type": "string"
+ },
+ "bathrooms": {
+ "example": 2,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.PlayerTournamentsResponse"
+ "bedrooms": {
+ "example": 3,
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "currency": {
+ "example": "GBP",
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.playerTransfersResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ },
+ "days_on_market": {
+ "example": 14,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.PlayerTransfersResponse"
+ "development": {
+ "example": true,
+ "type": "boolean"
},
- "msg": {
- "example": "OK",
+ "id": {
+ "example": "12345678",
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.rankingTypesResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ },
+ "image": {
+ "example": "https://media.rightmove.co.uk/property-photo/.../12345678.jpg",
+ "type": "string"
+ },
+ "price": {
+ "example": 500000,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.RankingTypesResponse"
+ "price_frequency": {
+ "example": "monthly",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "price_text": {
+ "example": "£500,000",
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.rankingsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ },
+ "property_type": {
+ "example": "Semi-detached",
+ "type": "string"
+ },
+ "receptions": {
+ "example": 2,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.RankingsResponse"
+ "size": {
+ "example": "538 sq. ft.",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "status": {
+ "example": "For Sale",
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.refereeEventsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.RefereeEventsResponse"
+ "tenure": {
+ "example": "LEASEHOLD",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "title": {
+ "example": "3 bedroom semi-detached house for sale",
+ "type": "string"
+ },
+ "url": {
+ "example": "https://www.rightmove.co.uk/properties/12345678",
"type": "string"
}
},
"type": "object"
},
- "sofascore.refereeResponseDoc": {
+ "rightmove.PropertyResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "added_or_reduced": {
+ "example": "Price reduced",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/sofascore.RefereeResponse"
+ "address": {
+ "example": "123 Example Street, London",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "available_from": {
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.refereeStatisticsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ },
+ "bathrooms": {
+ "example": 2,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.RefereeStatisticsResponse"
+ "bedrooms": {
+ "example": 3,
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "council_tax_band": {
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.roundEventsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ },
+ "currency": {
+ "example": "GBP",
+ "type": "string"
+ },
+ "customer_reviews": {
+ "$ref": "#/definitions/rightmove.PropertyCustomerReviews"
+ },
+ "days_on_market": {
+ "example": 14,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.RoundEventsResponse"
+ "description": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "development": {
+ "example": true,
+ "type": "boolean"
+ },
+ "epc_rating": {
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.scheduledEventsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.ScheduledEventsResponse"
+ "features": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "floor_plan": {
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.scheduledTournamentsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.ScheduledTournamentsResponse"
+ "id": {
+ "example": "12345678",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "image": {
+ "example": "https://media.rightmove.co.uk/property-photo/.../12345678.jpg",
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.searchResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ },
+ "nearby_schools": {
+ "items": {
+ "$ref": "#/definitions/rightmove.PropertySchool"
+ },
+ "type": "array"
+ },
+ "price": {
+ "example": 500000,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.SearchResponse"
+ "price_frequency": {
+ "example": "monthly",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "price_text": {
+ "example": "£500,000",
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.searchTypedResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ },
+ "property_type": {
+ "example": "Semi-detached",
+ "type": "string"
+ },
+ "receptions": {
+ "example": 2,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.SearchTypedResponse"
+ "size": {
+ "example": "538 sq. ft.",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "status": {
+ "example": "For Sale",
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.seasonEventsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.SeasonEventsResponse"
+ "tenure": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "title": {
+ "example": "3 bedroom semi-detached house for sale",
+ "type": "string"
+ },
+ "url": {
+ "example": "https://www.rightmove.co.uk/properties/12345678",
"type": "string"
}
},
"type": "object"
},
- "sofascore.sportsResponseDoc": {
+ "rightmove.PropertySchool": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "distance": {
+ "example": "0.2 miles",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/sofascore.SportsResponse"
+ "name": {
+ "example": "St. Mary's Primary School",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "rating": {
+ "example": "Outstanding",
+ "type": "string"
+ },
+ "type": {
+ "example": "Primary",
"type": "string"
}
},
"type": "object"
},
- "sofascore.stageCategoriesResponseDoc": {
+ "rightmove.SearchResponse": {
"properties": {
- "code": {
- "example": 200,
+ "location": {
+ "example": "REGION^87490",
+ "type": "string"
+ },
+ "page": {
+ "example": 1,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.StageCategoriesResponse"
+ "results": {
+ "items": {
+ "$ref": "#/definitions/rightmove.PropertyItem"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
- "type": "string"
+ "total": {
+ "example": 1245,
+ "type": "integer"
}
},
"type": "object"
},
- "sofascore.stageDetailResponseDoc": {
+ "rnz.AuthorArticle": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "image_url": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/sofascore.StageDetailResponse"
+ "published_label": {
+ "description": "PublishedLabel is the card's own date label as RNZ prints it\n(\"8:58 am today\", \"23 Sep 2026\"); the listing carries no machine\ntimestamp.",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "summary": {
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.stageDriverPerformanceResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.StageDriverPerformanceResponse"
+ "title": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "sofascore.stageFeaturedResponseDoc": {
+ "rnz.AuthorResponse": {
"properties": {
- "code": {
- "example": 200,
+ "article_count": {
+ "description": "ArticleCount is the total number of news stories RNZ lists for the\nauthor (\"Displaying items 1 - 25 of N\"); Articles holds only the first\npage.",
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.StageFeaturedResponse"
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/rnz.AuthorArticle"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "bio": {
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.stageScheduleResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.StageScheduleResponse"
+ "email": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "image_url": {
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.stageSeasonsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.StageSeasonsResponse"
+ "job_title": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "name": {
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.stageStandingsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.StageStandingsResponse"
+ "slug": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "twitter": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "sofascore.stageSubstagesResponseDoc": {
+ "roblox.Badge": {
"properties": {
- "code": {
- "example": 200,
+ "awarding_root_place_id": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.StageSubstagesResponse"
- },
- "msg": {
- "example": "OK",
+ "awarding_universe": {
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.standingsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ },
+ "awarding_universe_id": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.StandingsResponse"
+ "awards_all_time": {
+ "type": "integer"
},
- "msg": {
- "example": "OK",
- "type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.teamAchievementsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ "awards_past_day": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.TeamAchievementsResponse"
+ "created_at": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "description": {
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.teamEventsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.TeamEventsResponse"
+ "enabled": {
+ "type": "boolean"
},
- "msg": {
- "example": "OK",
+ "icon_url": {
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.teamGoalDistributionsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ },
+ "id": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.TeamGoalDistributionsResponse"
+ "name": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "updated_at": {
"type": "string"
}
},
"type": "object"
},
- "sofascore.teamNearEventsResponseDoc": {
+ "roblox.BadgesResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "badges": {
+ "items": {
+ "$ref": "#/definitions/roblox.Badge"
+ },
+ "type": "array"
},
- "data": {
- "$ref": "#/definitions/sofascore.TeamNearEventsResponse"
+ "next_cursor": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "previous_cursor": {
"type": "string"
+ },
+ "universe_id": {
+ "type": "integer"
}
},
"type": "object"
},
- "sofascore.teamOfTheWeekPeriodsResponseDoc": {
+ "roblox.Creator": {
"properties": {
- "code": {
- "example": 200,
+ "id": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.TeamOfTheWeekPeriodsResponse"
+ "name": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "type": {
"type": "string"
+ },
+ "verified": {
+ "type": "boolean"
}
},
"type": "object"
},
- "sofascore.teamOfTheWeekResponseDoc": {
+ "roblox.Experience": {
"properties": {
- "code": {
- "example": 200,
+ "creator_id": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.TeamOfTheWeekResponse"
+ "creator_name": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "description": {
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.teamPerformanceResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ },
+ "down_votes": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.TeamPerformanceResponse"
+ "genre": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "is_sponsored": {
+ "type": "boolean"
+ },
+ "maturity": {
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.teamPlayerStatisticsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.TeamPlayerStatisticsResponse"
+ "maturity_label": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "minimum_age": {
+ "type": "integer"
+ },
+ "name": {
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.teamPlayerStatisticsSeasonsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ },
+ "player_count": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.TeamPlayerStatisticsSeasonsResponse"
+ "root_place_id": {
+ "type": "integer"
},
- "msg": {
- "example": "OK",
- "type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.teamPlayersResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ "universe_id": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.TeamPlayersResponse"
+ "up_votes": {
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "url": {
"type": "string"
+ },
+ "verified_creator": {
+ "type": "boolean"
}
},
"type": "object"
},
- "sofascore.teamRankingsResponseDoc": {
+ "roblox.Game": {
"properties": {
- "code": {
- "example": 200,
+ "access_price": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.TeamRankingsResponse"
+ "avatar_type": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "content_restricted": {
+ "type": "boolean"
+ },
+ "created_at": {
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.teamResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.TeamResponse"
+ "creator": {
+ "$ref": "#/definitions/roblox.Creator"
},
- "msg": {
- "example": "OK",
+ "description": {
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.teamSeasonStatisticsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ },
+ "down_votes": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.TeamSeasonStatisticsResponse"
+ "favorites": {
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "genre": {
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.teamStatisticsSeasonsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.TeamStatisticsSeasonsResponse"
+ "genre_l1": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "genre_l2": {
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.teamTopPlayersResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.TeamTopPlayersResponse"
+ "image_url": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "max_players": {
+ "type": "integer"
+ },
+ "name": {
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.teamTournamentsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ },
+ "playing": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.TeamTournamentsResponse"
+ "root_place_id": {
+ "type": "integer"
},
- "msg": {
- "example": "OK",
- "type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.teamTransfersResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ "universe_id": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.TeamTransfersResponse"
+ "up_votes": {
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "updated_at": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
+ },
+ "visits": {
+ "type": "integer"
}
},
"type": "object"
},
- "sofascore.tennisGrandSlamResultsResponseDoc": {
+ "roblox.GameResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/sofascore.TennisGrandSlamResultsResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "game": {
+ "$ref": "#/definitions/roblox.Game"
}
},
"type": "object"
},
- "sofascore.tournamentCupTreeResponseDoc": {
+ "roblox.RankingsResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "display_name": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/sofascore.TournamentCupTreeResponse"
+ "experiences": {
+ "items": {
+ "$ref": "#/definitions/roblox.Experience"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "sort_id": {
"type": "string"
}
},
"type": "object"
},
- "sofascore.tournamentInfoResponseDoc": {
+ "roblox.SearchResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "experiences": {
+ "items": {
+ "$ref": "#/definitions/roblox.Experience"
+ },
+ "type": "array"
},
- "data": {
- "$ref": "#/definitions/sofascore.TournamentInfoResponse"
+ "next_page": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "query": {
"type": "string"
}
},
"type": "object"
},
- "sofascore.tournamentPlayerOfTheSeasonResponseDoc": {
+ "roblox.badgesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/sofascore.TournamentPlayerOfTheSeasonResponse"
+ "$ref": "#/definitions/roblox.BadgesResponse"
},
"msg": {
"example": "OK",
@@ -209085,14 +214525,14 @@
},
"type": "object"
},
- "sofascore.tournamentPlayerStatisticsResponseDoc": {
+ "roblox.gameResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/sofascore.TournamentPlayerStatisticsResponse"
+ "$ref": "#/definitions/roblox.GameResponse"
},
"msg": {
"example": "OK",
@@ -209101,14 +214541,14 @@
},
"type": "object"
},
- "sofascore.tournamentRoundsResponseDoc": {
+ "roblox.rankingsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/sofascore.TournamentRoundsResponse"
+ "$ref": "#/definitions/roblox.RankingsResponse"
},
"msg": {
"example": "OK",
@@ -209117,14 +214557,14 @@
},
"type": "object"
},
- "sofascore.tournamentSeasonsResponseDoc": {
+ "roblox.searchResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/sofascore.TournamentSeasonsResponse"
+ "$ref": "#/definitions/roblox.SearchResponse"
},
"msg": {
"example": "OK",
@@ -209133,2784 +214573,3222 @@
},
"type": "object"
},
- "sofascore.tournamentStatisticsInfoResponseDoc": {
+ "rollingstone.AuthorResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/rollingstone.HeadlineItem"
+ },
+ "type": "array"
},
- "data": {
- "$ref": "#/definitions/sofascore.TournamentStatisticsInfoResponse"
+ "bio": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "image_url": {
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.tournamentTeamOfTheSeasonResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.TournamentTeamOfTheSeasonResponse"
+ "job_title": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "name": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "sofascore.tournamentTeamsResponseDoc": {
+ "rollingstone.HeadlineItem": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "author": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/sofascore.TournamentTeamsResponse"
+ "image_url": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "published_at": {
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.tournamentTopPlayersResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.TournamentTopPlayersResponse"
+ "summary": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "title": {
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.tournamentTopTeamsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.TournamentTopTeamsResponse"
+ "type": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "sofascore.tournamentVenuesResponseDoc": {
+ "rottentomatoes.BatchMovie": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "audience_consensus": {
+ "description": "Audience consensus sentence, when the title has one.",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/sofascore.TournamentVenuesResponse"
+ "audience_score": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/rottentomatoes.Score"
+ }
+ ],
+ "description": "Popcornmeter score as the movie page shows it."
},
- "msg": {
- "example": "OK",
+ "call_to_action": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/rottentomatoes.MovieCallToAction"
+ }
+ ],
+ "description": "Primary call to action shown for the title, such as a ticket link."
+ },
+ "critics_consensus": {
+ "description": "Critics consensus sentence, when the title has one.",
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.tournamentWinnersResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.TournamentWinnersResponse"
+ "critics_score": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/rottentomatoes.Score"
+ }
+ ],
+ "description": "Tomatometer score as the movie page shows it."
},
- "msg": {
- "example": "OK",
+ "description": {
+ "description": "Short synopsis of the movie.",
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.tournamentsWithFeatureResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.TournamentsWithFeatureResponse"
+ "ems_id": {
+ "description": "Rotten Tomatoes' own unique id of the movie.",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "fandango_id": {
+ "description": "Fandango's numeric movie id.",
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.trendingEventsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.TrendingEventsResponse"
+ "has_audience_all": {
+ "description": "Whether audience reviews and ratings exist at all, and for verified\nticket holders only.",
+ "example": true,
+ "type": "boolean"
},
- "msg": {
- "example": "OK",
+ "has_audience_verified": {
+ "example": true,
+ "type": "boolean"
+ },
+ "has_critics_all": {
+ "description": "Whether critic reviews exist at all, and for top critics only.",
+ "example": true,
+ "type": "boolean"
+ },
+ "has_critics_top": {
+ "example": true,
+ "type": "boolean"
+ },
+ "image_url": {
+ "description": "URL of the primary image.",
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.trendingPlayersResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.TrendingPlayersResponse"
+ "lifecycle": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/rottentomatoes.MovieLifecycle"
+ }
+ ],
+ "description": "Current lifecycle of the title, such as `IN_THEATERS`."
},
- "msg": {
- "example": "OK",
+ "media_type": {
+ "description": "Kind of title, always `Movie` here.",
+ "example": "Movie",
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.venueEventsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.VenueEventsResponse"
+ "path": {
+ "description": "Rotten Tomatoes path of the movie, such as `/m/clayface`.",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "poster_url": {
+ "description": "URL of the poster image.",
"type": "string"
- }
- },
- "type": "object"
- },
- "sofascore.venueResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/sofascore.VenueResponse"
+ "production_companies": {
+ "description": "Production companies behind the movie.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "release_date": {
+ "description": "Release date of the movie in the United States, such as `2026-10-23`.",
"type": "string"
- }
- },
- "type": "object"
- },
- "sonic.AvailabilityChannel": {
- "properties": {
- "days": {
+ },
+ "release_year": {
+ "description": "Year of release, such as `2026`.",
+ "type": "string"
+ },
+ "releases": {
+ "description": "Release runs, by country and type.",
"items": {
- "$ref": "#/definitions/sonic.AvailabilityDay"
+ "$ref": "#/definitions/rottentomatoes.MovieRelease"
},
"type": "array"
},
- "service_type": {
- "description": "ServiceType is Sonic's own channel name, e.g. \"ORDER_AHEAD\",\n\"CURBSIDE_PICKUP\", \"DRIVE_THROUGH\", \"DELIVERY\".",
- "example": "ORDER_AHEAD",
+ "rotten_tomatoes_id": {
+ "description": "Rotten Tomatoes' legacy numeric movie id.",
"type": "string"
- }
- },
- "type": "object"
- },
- "sonic.AvailabilityDay": {
- "properties": {
- "count": {
- "example": 96,
+ },
+ "runtime_minutes": {
+ "description": "Runtime in minutes.",
"type": "integer"
},
- "date": {
- "example": "2026-09-05",
+ "scores": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/rottentomatoes.MovieScoreSet"
+ }
+ ],
+ "description": "Every score variant the upstream reports: all critics, top critics, all\naudience and verified audience."
+ },
+ "title": {
+ "description": "Title of the movie.",
"type": "string"
},
- "slots": {
+ "url": {
+ "description": "Rotten Tomatoes page URL of the movie.",
+ "type": "string"
+ },
+ "where_to_watch": {
+ "description": "Where the title can be streamed, rented or bought. Public provider links\nonly; no playable media URL is returned.",
"items": {
- "$ref": "#/definitions/sonic.AvailabilitySlot"
+ "$ref": "#/definitions/rottentomatoes.WatchOffer"
},
"type": "array"
}
},
"type": "object"
},
- "sonic.AvailabilityResponse": {
+ "rottentomatoes.BatchMoviesResponse": {
"properties": {
- "channels": {
- "items": {
- "$ref": "#/definitions/sonic.AvailabilityChannel"
- },
- "type": "array"
- },
"fetched_at": {
+ "description": "UTC time, to the second, when the data was fetched.",
+ "example": "2026-10-30T00:12:00Z",
"type": "string"
},
- "fulfillment": {
- "example": "PICKUP",
- "type": "string"
- },
- "lead_time_minutes": {
- "description": "LeadTimeMinutes is the store's prep/handoff buffer before the first\nbookable slot -- the upstream reports it as pickupBuffer on a PICKUP\nquery and deliveryBuffer on a DELIVERY one; both are surfaced here\nunder one name.",
- "example": 5,
- "type": "integer"
+ "movies": {
+ "description": "Movie details, in the order the identifiers were requested.",
+ "items": {
+ "$ref": "#/definitions/rottentomatoes.BatchMovie"
+ },
+ "type": "array"
},
- "service_types": {
- "description": "ServiceTypes is every channel the store supports, which is a\nsuperset of the channels that have slots in this response.",
+ "not_found": {
+ "description": "Identifiers that resolved to no movie, in request order.",
"items": {
"type": "string"
},
"type": "array"
- },
- "slot_duration_minutes": {
- "description": "SlotDurationMinutes is how long each window lasts.",
- "example": 5,
- "type": "integer"
- },
- "source_url": {
- "type": "string"
- },
- "store_id": {
- "example": "4521",
+ }
+ },
+ "type": "object"
+ },
+ "rottentomatoes.BrowseFilter": {
+ "properties": {
+ "key": {
+ "example": "genres",
"type": "string"
},
- "timezone": {
- "example": "America/Denver",
+ "label": {
+ "example": "Genre",
"type": "string"
},
- "total_slots": {
- "example": 288,
- "type": "integer"
+ "values": {
+ "items": {
+ "$ref": "#/definitions/rottentomatoes.BrowseFilterValue"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "sonic.AvailabilitySlot": {
+ "rottentomatoes.BrowseFilterValue": {
"properties": {
- "end_time": {
- "example": "2026-09-05T16:50:00Z",
+ "label": {
+ "example": "Action",
"type": "string"
},
- "start_time": {
- "example": "2026-09-05T16:45:00Z",
+ "value": {
+ "example": "action",
"type": "string"
}
},
"type": "object"
},
- "sonic.CategoriesResponse": {
+ "rottentomatoes.BrowseFiltersResponse": {
"properties": {
- "categories": {
+ "fetched_at": {
+ "example": "2026-09-26T10:00:00Z",
+ "type": "string"
+ },
+ "filters": {
"items": {
- "$ref": "#/definitions/sonic.Category"
+ "$ref": "#/definitions/rottentomatoes.BrowseFilter"
},
"type": "array"
},
- "count": {
- "example": 20,
- "type": "integer"
- },
- "fetched_at": {
+ "list": {
+ "example": "movies_in_theaters",
"type": "string"
},
+ "public_page_derived": {
+ "example": true,
+ "type": "boolean"
+ },
"source_url": {
+ "example": "https://www.rottentomatoes.com/browse/movies_in_theaters/sort:popular",
"type": "string"
}
},
"type": "object"
},
- "sonic.Category": {
+ "rottentomatoes.BrowseItem": {
"properties": {
- "name": {
- "description": "Name is Sonic's own category name where known (see\ncategoryDisplayNames), otherwise a best-effort title-cased form of\nSlug -- see titleCaseSlug's doc comment.",
- "example": "Tea & Coffee",
+ "critics_review_count": {
+ "description": "Number of critic reviews behind the Tomatometer score.",
+ "example": 136,
+ "type": "integer"
+ },
+ "date_created": {
+ "description": "Release date text shown on the browse card, such as `2026`.",
+ "example": "2026",
"type": "string"
},
- "page_count": {
- "description": "PageCount is the number of subcategory and item pages Sonic's own\nmenu sitemap lists under this category -- a proxy for menu size, not\na deduplicated product count (a size-variant group like \"Coffee\"\ncounts as one page here even though it expands to several orderable\nsizes).",
- "example": 24,
+ "image_url": {
+ "description": "URL of the poster image.",
+ "type": "string"
+ },
+ "media_type": {
+ "description": "Kind of title, such as `Movie`.",
+ "example": "Movie",
+ "type": "string"
+ },
+ "path": {
+ "description": "Rotten Tomatoes path of the title page, such as `/m/wildwood_nj`.",
+ "example": "/m/wildwood_nj",
+ "type": "string"
+ },
+ "position": {
+ "description": "Position of the title in the returned list, starting at 1.",
+ "example": 1,
"type": "integer"
},
- "slug": {
- "example": "tea-coffee",
+ "title": {
+ "description": "Title name as shown on the browse card.",
+ "example": "Wildwood, NJ",
"type": "string"
},
+ "tomatometer_score": {
+ "description": "Tomatometer critics score, as a percentage.",
+ "example": 87,
+ "type": "integer"
+ },
"url": {
+ "description": "Rotten Tomatoes page URL of the title.",
+ "example": "https://www.rottentomatoes.com/m/wildwood_nj",
"type": "string"
+ },
+ "video": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/rottentomatoes.EpisodeVideo"
+ }
+ ],
+ "description": "Featured video of the title, when Rotten Tomatoes provides one."
}
},
"type": "object"
},
- "sonic.Deal": {
+ "rottentomatoes.BrowseResponse": {
"properties": {
- "cta_text": {
- "description": "CTAText is the call-to-action button label, e.g. \"Order Now\".",
- "example": "Order Now",
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-06-07T14:46:16Z",
"type": "string"
},
- "cta_url": {
- "description": "CTAURL is the destination the call-to-action links to, absolute for\non-site links.",
- "example": "https://www.sonicdrivein.com/menu/categories/1-99-menu",
- "type": "string"
+ "items": {
+ "description": "Titles on this page of the browse list.",
+ "items": {
+ "$ref": "#/definitions/rottentomatoes.BrowseItem"
+ },
+ "type": "array"
},
- "description": {
- "description": "Description is the card's body copy.",
- "example": "The Jr Bacon Cheeseburger brings crispy bacon, melty cheese, and juicy beef together for just $1.99.",
- "type": "string"
+ "limit": {
+ "description": "Maximum number of rows requested.",
+ "example": 10,
+ "type": "integer"
},
- "headline": {
- "description": "Headline is the marketing headline shown on the card.",
- "example": "BACON MAKES EVERYTHING BETTER",
+ "list": {
+ "description": "Browse list that was returned, such as `movies_in_theaters`.",
+ "example": "movies_in_theaters",
"type": "string"
},
- "image_url": {
- "description": "ImageURL is the promotion's full-resolution creative.",
- "type": "string"
+ "page_info": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/rottentomatoes.ReviewPageInfo"
+ }
+ ],
+ "description": "Paging information. Pass `end_cursor` as `after` to get the next page."
},
- "name": {
- "description": "Name is the promotion's public name.",
- "example": "$1.99 Jr Bacon Cheeseburger",
+ "public_page_derived": {
+ "description": "Always `true`: the data comes from publicly visible Rotten Tomatoes pages.",
+ "example": true,
+ "type": "boolean"
+ },
+ "sort": {
+ "description": "Sort order applied to the list, such as `popular`.",
+ "example": "popular",
"type": "string"
},
- "section": {
- "description": "Section is the on-page grouping this deal appeared under, e.g.\n\"Featured Deals\".",
- "example": "Featured Deals",
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://www.rottentomatoes.com/browse/movies_in_theaters/sort:popular",
"type": "string"
},
- "terms": {
- "description": "Terms is the promotion's legal/limitations text when published.",
+ "title": {
+ "description": "Title of the browse list, as Rotten Tomatoes shows it.",
+ "example": "Movies in Theaters (2026)",
"type": "string"
}
},
"type": "object"
},
- "sonic.DealsResponse": {
+ "rottentomatoes.CriticAuthor": {
"properties": {
- "count": {
- "example": 3,
- "type": "integer"
- },
- "deals": {
+ "badges": {
+ "example": [
+ "Individually approved"
+ ],
"items": {
- "$ref": "#/definitions/sonic.Deal"
+ "type": "string"
},
"type": "array"
},
- "fetched_at": {
+ "name": {
+ "example": "Mae Abdulbaki",
"type": "string"
},
- "heading": {
- "example": "Featured Sonic Deals",
+ "path": {
+ "example": "/critics/mae-abdulbaki",
"type": "string"
},
- "source_url": {
+ "publication_label": {
+ "example": "when published by",
"type": "string"
+ },
+ "publications": {
+ "items": {
+ "$ref": "#/definitions/rottentomatoes.CriticAuthorPublication"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "sonic.DeliveryProvider": {
+ "rottentomatoes.CriticAuthorPublication": {
"properties": {
- "is_active": {
- "type": "boolean"
+ "editorial_url": {
+ "example": "https://example.com/reviews",
+ "type": "string"
+ },
+ "id": {
+ "example": "2784",
+ "type": "string"
},
"name": {
- "example": "DoorDash",
+ "example": "Firstpost",
"type": "string"
},
- "url": {
+ "path": {
+ "example": "/critics/source/2784",
"type": "string"
}
},
"type": "object"
},
- "sonic.DirectoryCity": {
+ "rottentomatoes.CriticPublication": {
"properties": {
- "count": {
- "example": 1,
- "type": "integer"
+ "editorial_url": {
+ "description": "Publication's editorial site URL, when provided.",
+ "example": "http://www.timeout.com",
+ "type": "string"
+ },
+ "encrypted_publication_id": {
+ "description": "Rotten Tomatoes' encrypted publication id.",
+ "example": "1XrAqGrw",
+ "type": "string"
+ },
+ "image_url": {
+ "description": "Logo/image URL of the publication.",
+ "type": "string"
+ },
+ "is_top_publication": {
+ "description": "Whether Rotten Tomatoes counts it as a top publication.",
+ "example": true,
+ "type": "boolean"
},
"name": {
- "example": "Albertville",
+ "description": "Publication name, such as `Empire Magazine`.",
+ "example": "Empire Magazine",
"type": "string"
},
- "slug": {
- "description": "Slug is the city segment as it appears in a store path, which is\nthe lowercased form GET /sonic/locations returns.",
- "example": "albertville",
+ "publication_id": {
+ "description": "Rotten Tomatoes' numeric publication id.",
+ "example": "148",
"type": "string"
+ },
+ "tomatometer_approved": {
+ "description": "Whether the publication is Tomatometer-approved.",
+ "example": true,
+ "type": "boolean"
}
},
"type": "object"
},
- "sonic.DirectoryCountry": {
+ "rottentomatoes.CriticPublicationsResponse": {
"properties": {
- "count": {
- "example": 3364,
- "type": "integer"
- },
- "country_code": {
- "example": "US",
- "type": "string"
+ "critic": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/rottentomatoes.ReviewsSubject"
+ }
+ ],
+ "description": "Critic the publications belong to."
},
- "country_name": {
- "example": "United States",
+ "fetched_at": {
+ "description": "UTC time, to the second, when the data was fetched.",
+ "example": "2026-10-29T09:00:00Z",
"type": "string"
},
- "states": {
+ "page_info": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/rottentomatoes.ReviewPageInfo"
+ }
+ ],
+ "description": "Paging information. Only the first page is served today; end_cursor is\nreported for callers that want to detect more."
+ },
+ "publications": {
+ "description": "Publications the critic writes for.",
"items": {
- "$ref": "#/definitions/sonic.DirectoryState"
+ "$ref": "#/definitions/rottentomatoes.CriticPublication"
},
"type": "array"
+ },
+ "source_url": {
+ "description": "Rotten Tomatoes page that was rendered.",
+ "example": "https://www.rottentomatoes.com/critic/mark-kermode",
+ "type": "string"
}
},
"type": "object"
},
- "sonic.DirectoryResponse": {
+ "rottentomatoes.CriticResponse": {
"properties": {
- "countries": {
+ "biography": {
+ "description": "Biography, when Rotten Tomatoes provides one.",
+ "type": "string"
+ },
+ "critics_groups": {
+ "description": "Critics groups the critic belongs to.",
"items": {
- "$ref": "#/definitions/sonic.DirectoryCountry"
+ "type": "string"
},
"type": "array"
},
+ "display_name": {
+ "description": "Display name as Rotten Tomatoes prints it.",
+ "example": "Mark Kermode",
+ "type": "string"
+ },
+ "encrypted_critic_id": {
+ "description": "Rotten Tomatoes' encrypted critic id.",
+ "example": "5rPoepZe",
+ "type": "string"
+ },
"fetched_at": {
+ "description": "UTC time, to the second, when the profile was fetched.",
+ "example": "2026-10-29T09:00:00Z",
"type": "string"
},
- "source_url": {
+ "followers_count": {
+ "description": "Number of accounts following the critic.",
+ "example": 0,
+ "type": "integer"
+ },
+ "following_count": {
+ "description": "Number of accounts the critic follows.",
+ "example": 0,
+ "type": "integer"
+ },
+ "initials": {
+ "description": "Initials used for the avatar fallback.",
+ "example": "MK",
"type": "string"
},
- "total_count": {
- "example": 3364,
+ "is_top_critic": {
+ "description": "Whether Rotten Tomatoes counts the critic as a top critic.",
+ "example": true,
+ "type": "boolean"
+ },
+ "path": {
+ "description": "Rotten Tomatoes profile path.",
+ "example": "/critic/mark-kermode",
+ "type": "string"
+ },
+ "publication_count": {
+ "description": "Number of publications Rotten Tomatoes reports.",
+ "example": 2,
"type": "integer"
- }
- },
- "type": "object"
- },
- "sonic.DirectoryState": {
- "properties": {
- "cities": {
+ },
+ "publications": {
+ "description": "Publications the critic writes for, as embedded in the profile payload.",
"items": {
- "$ref": "#/definitions/sonic.DirectoryCity"
+ "$ref": "#/definitions/rottentomatoes.CriticPublication"
},
"type": "array"
},
- "code": {
- "example": "AL",
- "type": "string"
+ "recent_reviews": {
+ "description": "Most recent reviews embedded in the profile payload.",
+ "items": {
+ "$ref": "#/definitions/rottentomatoes.MovieReview"
+ },
+ "type": "array"
},
- "count": {
- "example": 95,
+ "review_count": {
+ "description": "Number of published reviews Rotten Tomatoes reports.",
+ "example": 3218,
"type": "integer"
},
- "name": {
- "example": "Alabama",
- "type": "string"
- }
- },
- "type": "object"
- },
- "sonic.ItemResponse": {
- "properties": {
- "description": {
- "example": "Local Favorite! Fluffy egg, melty cheese, and bacon between a toasted bagel.",
- "type": "string"
- },
- "fetched_at": {
- "type": "string"
- },
- "image_url": {
+ "source_url": {
+ "description": "Rotten Tomatoes page that was rendered.",
+ "example": "https://www.rottentomatoes.com/critic/mark-kermode",
"type": "string"
},
- "name": {
- "example": "Bacon, Egg and Cheese Bagel",
- "type": "string"
+ "tomatometer_approved": {
+ "description": "Whether the critic is Tomatometer-approved.",
+ "example": true,
+ "type": "boolean"
},
- "nutrition_guide_url": {
- "description": "NutritionGuideURL is Sonic's site-wide nutrition/allergen PDF, not a\nper-item document -- every item detail page links the same guide.",
+ "url": {
+ "description": "Absolute Rotten Tomatoes profile URL.",
+ "example": "https://www.rottentomatoes.com/critic/mark-kermode",
"type": "string"
},
- "path": {
+ "vanity": {
+ "description": "Vanity handle, the last segment of the profile path.",
+ "example": "mark-kermode",
"type": "string"
},
- "source_url": {
+ "website_url": {
+ "description": "Personal site URL, when provided.",
"type": "string"
}
},
"type": "object"
},
- "sonic.LocationEntry": {
+ "rottentomatoes.CriticsAuthorsResponse": {
"properties": {
- "address_slug": {
- "example": "2540-dell-range-blvd",
+ "after": {
+ "example": "",
"type": "string"
},
- "city_slug": {
- "example": "cheyenne",
- "type": "string"
+ "authors": {
+ "items": {
+ "$ref": "#/definitions/rottentomatoes.CriticAuthor"
+ },
+ "type": "array"
},
- "country_code": {
- "example": "US",
+ "before": {
+ "example": "",
"type": "string"
},
- "path": {
- "description": "Path is the ready-made value GET /sonic/store takes.",
- "example": "locations/us/wy/cheyenne/2540-dell-range-blvd/store-4521",
+ "fetched_at": {
+ "example": "2026-09-26T10:00:00Z",
"type": "string"
},
- "state_code": {
- "example": "WY",
- "type": "string"
+ "has_next_page": {
+ "example": true,
+ "type": "boolean"
},
- "store_id": {
- "example": "4521",
+ "has_previous_page": {
+ "example": false,
+ "type": "boolean"
+ },
+ "inactive": {
+ "example": false,
+ "type": "boolean"
+ },
+ "letter": {
+ "example": "a",
"type": "string"
- }
- },
- "type": "object"
- },
- "sonic.LocationSuggestResponse": {
- "properties": {
- "count": {
- "example": 5,
+ },
+ "limit": {
+ "example": 100,
"type": "integer"
},
- "country": {
- "example": "US",
+ "next_cursor": {
+ "example": "MQ==",
"type": "string"
},
- "fetched_at": {
+ "previous_cursor": {
+ "example": "MA==",
"type": "string"
},
- "limit": {
- "example": 5,
- "type": "integer"
+ "public_page_derived": {
+ "example": true,
+ "type": "boolean"
},
- "query": {
- "example": "cheyenne wy",
+ "search": {
+ "example": "",
"type": "string"
},
"source_url": {
+ "example": "https://www.rottentomatoes.com/napi/critics/authors?isInactiveCriticsList=false&letter=a&pageCount=100&userToken=null",
"type": "string"
- },
- "suggestions": {
- "items": {
- "$ref": "#/definitions/sonic.LocationSuggestion"
- },
- "type": "array"
}
},
"type": "object"
},
- "sonic.LocationSuggestion": {
+ "rottentomatoes.EditorialContentItem": {
"properties": {
- "city": {
- "example": "Cheyenne",
- "type": "string"
- },
- "confidence": {
- "description": "Confidence is the geocoder's own match confidence: \"exact\",\n\"interpolated\", or \"fallback\".",
- "example": "exact",
- "type": "string"
- },
- "country": {
- "example": "United States",
- "type": "string"
- },
- "country_code": {
- "example": "US",
- "type": "string"
- },
- "county": {
- "example": "Laramie",
- "type": "string"
+ "author_id": {
+ "example": 944,
+ "type": "integer"
},
- "formatted_address": {
- "example": "2540 Dell Range Blvd, Cheyenne, WY 82009 US",
+ "excerpt": {
+ "example": "A ranked guide to essential 21st century biopics.",
"type": "string"
},
- "label": {
- "example": "2540 Dell Range Blvd",
- "type": "string"
+ "featured_media_id": {
+ "example": 297622,
+ "type": "integer"
},
- "latitude": {
- "example": 41.160549,
- "type": "number"
+ "id": {
+ "example": 297618,
+ "type": "integer"
},
- "layer": {
- "description": "Layer is the match's granularity: \"address\", \"locality\", \"state\",\n\"postalCode\", or \"place\".",
- "example": "address",
+ "modified_at": {
+ "example": "2026-09-25T09:04:07",
"type": "string"
},
- "longitude": {
- "example": -104.777671,
- "type": "number"
- },
- "number": {
- "example": "2540",
+ "published_at": {
+ "example": "2026-09-25T09:04:07",
"type": "string"
},
- "postal_code": {
- "example": "82009",
- "type": "string"
+ "term_ids": {
+ "example": [
+ 121877,
+ 121876
+ ],
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
},
- "state": {
- "example": "Wyoming",
+ "title": {
+ "example": "Essential 21st Century Biopics Ranked",
"type": "string"
},
- "state_code": {
- "example": "WY",
+ "type": {
+ "enum": [
+ "article",
+ "guide",
+ "gallery",
+ "hub-subpage",
+ "non-rt-publication",
+ "rt-hub",
+ "how-to",
+ "otg-article",
+ "prev",
+ "rt_poll",
+ "page"
+ ],
+ "example": "guide",
"type": "string"
},
- "street": {
- "example": "Dell Range Blvd",
+ "url": {
+ "example": "https://editorial.rottentomatoes.com/guide/essential-21st-century-biopic-movies/",
"type": "string"
}
},
"type": "object"
},
- "sonic.LocationsResponse": {
+ "rottentomatoes.EditorialContentResponse": {
"properties": {
- "city": {
- "example": "cheyenne",
+ "fetched_at": {
+ "example": "2026-09-26T10:00:00Z",
"type": "string"
},
- "count": {
- "example": 100,
+ "has_next_page": {
+ "example": true,
+ "type": "boolean"
+ },
+ "limit": {
+ "example": 20,
"type": "integer"
},
- "fetched_at": {
+ "operator": {
+ "enum": [
+ "AND",
+ "OR"
+ ],
+ "example": "OR",
"type": "string"
},
- "locations": {
- "items": {
- "$ref": "#/definitions/sonic.LocationEntry"
- },
- "type": "array"
- },
"page": {
"example": 1,
"type": "integer"
},
- "page_size": {
- "example": 100,
- "type": "integer"
+ "public_page_derived": {
+ "example": true,
+ "type": "boolean"
+ },
+ "query": {
+ "example": "horror",
+ "type": "string"
+ },
+ "results": {
+ "items": {
+ "$ref": "#/definitions/rottentomatoes.EditorialContentItem"
+ },
+ "type": "array"
},
"source_url": {
+ "example": "https://editorial.rottentomatoes.com/wp-json/wp/v2/guide?page=1&per_page=20",
"type": "string"
},
- "state": {
- "example": "WY",
+ "taxonomy": {
+ "enum": [
+ "categories",
+ "tags",
+ "related-movie-id",
+ "related-tv-season-id",
+ "related-tv-series-id",
+ "related-tv-episode-id",
+ "related-celebrity-id",
+ "publication",
+ "franchise",
+ "coauthors"
+ ],
+ "example": "related-movie-id",
"type": "string"
},
+ "term_ids": {
+ "example": [
+ 121877,
+ 121876
+ ],
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
"total": {
- "example": 5125,
+ "example": 1194,
"type": "integer"
},
"total_pages": {
- "example": 52,
+ "example": 60,
"type": "integer"
+ },
+ "type": {
+ "enum": [
+ "article",
+ "guide",
+ "gallery",
+ "hub-subpage",
+ "non-rt-publication",
+ "rt-hub",
+ "how-to",
+ "otg-article",
+ "prev",
+ "rt_poll",
+ "pages"
+ ],
+ "example": "guide",
+ "type": "string"
}
},
"type": "object"
},
- "sonic.MenuItem": {
+ "rottentomatoes.EditorialContentType": {
"properties": {
- "calories": {
- "description": "Calories is Sonic's own published calorie count. A genuine 0 (seen on\na few drink entries in this source) means Sonic did not publish a\ncount for that entry, not that the item has zero calories.",
- "example": 530,
- "type": "integer"
+ "label": {
+ "example": "Guides",
+ "type": "string"
},
- "name": {
- "example": "Bacon, Egg and Cheese Bagel",
+ "value": {
+ "enum": [
+ "article",
+ "guide",
+ "gallery",
+ "hub-subpage",
+ "non-rt-publication",
+ "rt-hub",
+ "how-to",
+ "otg-article",
+ "prev",
+ "rt_poll",
+ "pages"
+ ],
+ "example": "guide",
"type": "string"
}
},
"type": "object"
},
- "sonic.MenuResponse": {
+ "rottentomatoes.EditorialContentTypesResponse": {
"properties": {
- "category": {
- "example": "breakfast",
- "type": "string"
- },
- "count": {
- "example": 24,
- "type": "integer"
+ "public_page_derived": {
+ "example": true,
+ "type": "boolean"
},
- "fetched_at": {
+ "source_url": {
+ "example": "https://editorial.rottentomatoes.com/wp-json/wp/v2/types",
"type": "string"
},
- "items": {
+ "types": {
"items": {
- "$ref": "#/definitions/sonic.MenuItem"
+ "$ref": "#/definitions/rottentomatoes.EditorialContentType"
},
"type": "array"
},
- "source_url": {
+ "verified_at": {
+ "example": "2026-09-26",
"type": "string"
}
},
"type": "object"
},
- "sonic.NearbyResponse": {
+ "rottentomatoes.EditorialDetailLink": {
"properties": {
- "fetched_at": {
+ "text": {
"type": "string"
},
- "is_last_page": {
- "type": "boolean"
- },
- "latitude": {
- "example": 35.4676,
- "type": "number"
- },
- "limit": {
- "example": 10,
- "type": "integer"
- },
- "longitude": {
- "example": -97.5164,
- "type": "number"
- },
- "page": {
- "example": 0,
- "type": "integer"
- },
- "radius_miles": {
- "example": 25,
- "type": "integer"
- },
- "returned_count": {
- "example": 10,
- "type": "integer"
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "rottentomatoes.EditorialDetailResponse": {
+ "properties": {
+ "body_html": {
+ "type": "string"
},
- "source_url": {
+ "fetched_at": {
"type": "string"
},
- "stores": {
+ "headings": {
"items": {
- "$ref": "#/definitions/sonic.NearbyStore"
+ "type": "string"
},
"type": "array"
},
- "total_pages": {
- "example": 2,
- "type": "integer"
- },
- "total_stores": {
- "example": 17,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "sonic.NearbyStore": {
- "properties": {
- "address": {
- "$ref": "#/definitions/sonic.StoreAddress"
+ "image_url": {
+ "type": "string"
},
- "amenities": {
+ "images": {
"items": {
"type": "string"
},
"type": "array"
},
- "delivery_providers": {
+ "links": {
"items": {
- "$ref": "#/definitions/sonic.DeliveryProvider"
+ "$ref": "#/definitions/rottentomatoes.EditorialDetailLink"
},
"type": "array"
},
- "display_name": {
- "example": "2540 Dell Range Blvd, Cheyenne, WY",
+ "modified_at": {
"type": "string"
},
- "distance_miles": {
- "example": 3.45,
- "type": "number"
- },
- "has_drive_through": {
- "type": "boolean"
- },
- "hours": {
+ "paragraphs": {
"items": {
- "$ref": "#/definitions/sonic.StoreHours"
+ "type": "string"
},
"type": "array"
},
- "is_delivery_enabled": {
- "type": "boolean"
+ "path": {
+ "example": "/guide/all-brad-pitt-movies-ranked-by-tomatometer/",
+ "type": "string"
},
- "is_digitally_enabled": {
+ "public_page_derived": {
"type": "boolean"
},
- "latitude": {
- "example": 41.160531,
- "type": "number"
- },
- "longitude": {
- "example": -104.777659,
- "type": "number"
- },
- "phone": {
- "example": "307-632-9188",
+ "published_at": {
"type": "string"
},
- "service_hours": {
- "items": {
- "$ref": "#/definitions/sonic.StoreServiceHours"
- },
- "type": "array"
+ "source_url": {
+ "type": "string"
},
- "status": {
- "example": "OPEN",
+ "subtitle": {
"type": "string"
},
- "store_id": {
- "example": "4521",
+ "title": {
+ "example": "Brad Pitt Movies Ranked by Tomatometer",
"type": "string"
},
- "timezone": {
- "example": "America/Denver",
+ "type": {
+ "enum": [
+ "article",
+ "gallery",
+ "guide",
+ "otg-article",
+ "prev"
+ ],
+ "example": "guide",
"type": "string"
+ },
+ "video_urls": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "sonic.NutritionDocument": {
+ "rottentomatoes.EditorialSearchResponse": {
"properties": {
- "category": {
- "description": "Category is the heading the document is grouped under. It usually\nmatches Name, since most groups hold a single document.",
- "example": "Nutrition Guide",
- "type": "string"
- },
- "content_type": {
- "description": "ContentType is the document's MIME type, in practice\n\"application/pdf\".",
- "example": "application/pdf",
+ "fetched_at": {
+ "example": "2026-09-26T10:00:00Z",
"type": "string"
},
- "file_name": {
- "example": "61667-1_FEE_0926_Nutrition.pdf",
- "type": "string"
+ "has_next_page": {
+ "example": true,
+ "type": "boolean"
},
- "name": {
- "description": "Name is the label Sonic gives the document on the page, e.g.\n\"Nutrition Guide\" or \"Allergen Info\".",
- "example": "Nutrition Guide",
- "type": "string"
+ "limit": {
+ "example": 10,
+ "type": "integer"
},
- "size_bytes": {
- "description": "SizeBytes is the file size. These are large print-ready PDFs --\nseveral megabytes each -- so callers may want it before fetching.",
- "example": 14351111,
+ "page": {
+ "example": 1,
"type": "integer"
},
- "title": {
- "example": "61131-13 SUM26 NAT WOP-English FA cp WCAG",
- "type": "string"
+ "public_page_derived": {
+ "example": true,
+ "type": "boolean"
},
- "updated_at": {
- "description": "UpdatedAt is when Sonic last republished the file.",
- "example": "2026-06-30T16:45:09.549Z",
+ "query": {
+ "example": "horror",
"type": "string"
},
- "url": {
- "example": "https://downloads.ctfassets.net/.../nutrition-guide.pdf",
+ "results": {
+ "items": {
+ "$ref": "#/definitions/rottentomatoes.EditorialSearchResult"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "example": "https://editorial.rottentomatoes.com/wp-json/wp/v2/search?page=1&per_page=10&search=horror",
"type": "string"
+ },
+ "total": {
+ "example": 5110,
+ "type": "integer"
+ },
+ "total_pages": {
+ "example": 511,
+ "type": "integer"
}
},
"type": "object"
},
- "sonic.NutritionDocumentsResponse": {
+ "rottentomatoes.EditorialSearchResult": {
"properties": {
- "count": {
- "example": 5,
+ "id": {
+ "example": 282182,
"type": "integer"
},
- "documents": {
- "items": {
- "$ref": "#/definitions/sonic.NutritionDocument"
- },
- "type": "array"
+ "subtype": {
+ "example": "guide",
+ "type": "string"
},
- "fetched_at": {
+ "title": {
+ "example": "Best New Horror Movies of 2026",
"type": "string"
},
- "heading": {
- "example": "Sonic Nutrition & Allergen Information",
+ "type": {
+ "example": "post",
"type": "string"
},
- "source_url": {
+ "url": {
+ "example": "https://editorial.rottentomatoes.com/guide/best-new-horror-movies-2026/",
"type": "string"
}
},
"type": "object"
},
- "sonic.SitemapEntry": {
+ "rottentomatoes.EditorialSectionItem": {
"properties": {
- "kind": {
- "description": "Kind classifies the page -- see SitemapOption.Kind's enum per section.",
- "example": "item",
+ "image_url": {
+ "example": "https://editorial.rottentomatoes.com/wp-content/uploads/2026/04/poster.png?w=300",
"type": "string"
},
- "path": {
- "description": "Path is the site-relative path (no leading/trailing slash), the\nshape /sonic/menu's category param and /sonic/item's path param take\nfor \"menu\" section entries, and /sonic/store's path param takes for\n\"locations\" section \"store\" entries.",
- "example": "menu/categories/breakfast/local-breakfast-favorites/bacon-egg-and-cheese-bagel",
+ "published_at": {
+ "example": "September 25, 2026",
+ "type": "string"
+ },
+ "title": {
+ "example": "Robert Pattinson Movies Ranked by Tomatometer",
"type": "string"
},
"url": {
+ "example": "https://editorial.rottentomatoes.com/guide/robert-pattinson/",
"type": "string"
}
},
"type": "object"
},
- "sonic.SitemapResponse": {
+ "rottentomatoes.EditorialSectionResponse": {
"properties": {
- "count": {
- "example": 100,
- "type": "integer"
- },
- "entries": {
- "items": {
- "$ref": "#/definitions/sonic.SitemapEntry"
- },
- "type": "array"
- },
"fetched_at": {
+ "example": "2026-09-26T10:00:00Z",
"type": "string"
},
+ "has_next_page": {
+ "example": true,
+ "type": "boolean"
+ },
"page": {
"example": 1,
"type": "integer"
},
- "section": {
- "example": "menu",
+ "path": {
+ "example": "/countdown/",
"type": "string"
},
+ "public_page_derived": {
+ "example": true,
+ "type": "boolean"
+ },
+ "results": {
+ "items": {
+ "$ref": "#/definitions/rottentomatoes.EditorialSectionItem"
+ },
+ "type": "array"
+ },
"source_url": {
+ "example": "https://editorial.rottentomatoes.com/countdown/",
"type": "string"
},
- "total": {
- "example": 298,
- "type": "integer"
+ "title": {
+ "example": "Countdown",
+ "type": "string"
},
"total_pages": {
- "example": 3,
+ "example": 40,
"type": "integer"
}
},
"type": "object"
},
- "sonic.StoreAddress": {
+ "rottentomatoes.EditorialTaxonomiesResponse": {
"properties": {
- "city": {
- "example": "Cheyenne",
- "type": "string"
+ "public_page_derived": {
+ "example": true,
+ "type": "boolean"
},
- "country": {
- "example": "US",
+ "source_url": {
+ "example": "https://editorial.rottentomatoes.com/wp-json/wp/v2/taxonomies",
"type": "string"
},
- "line1": {
- "example": "2540 Dell Range Blvd",
- "type": "string"
+ "taxonomies": {
+ "items": {
+ "$ref": "#/definitions/rottentomatoes.EditorialTaxonomy"
+ },
+ "type": "array"
},
- "line2": {
+ "verified_at": {
+ "example": "2026-09-26",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "rottentomatoes.EditorialTaxonomy": {
+ "properties": {
+ "hierarchical": {
+ "example": false,
+ "type": "boolean"
},
- "postal_code": {
- "example": "82009",
+ "label": {
+ "example": "Related Movie Ids",
"type": "string"
},
- "state": {
- "example": "WY",
+ "types": {
+ "example": [
+ "article",
+ "guide",
+ "gallery"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "value": {
+ "enum": [
+ "categories",
+ "tags",
+ "related-movie-id",
+ "related-tv-season-id",
+ "related-tv-series-id",
+ "related-tv-episode-id",
+ "related-celebrity-id",
+ "publication",
+ "franchise",
+ "coauthors"
+ ],
+ "example": "related-movie-id",
"type": "string"
}
},
"type": "object"
},
- "sonic.StoreHours": {
+ "rottentomatoes.EditorialTerm": {
"properties": {
- "closes": {
- "example": "21:45",
+ "count": {
+ "example": 3072,
+ "type": "integer"
+ },
+ "description": {
"type": "string"
},
- "day_of_week": {
- "example": "MONDAY",
+ "id": {
+ "example": 10732,
+ "type": "integer"
+ },
+ "link": {
+ "example": "https://editorial.rottentomatoes.com/author/cap-rt-staff/",
"type": "string"
},
- "is_24_hour": {
- "type": "boolean"
+ "name": {
+ "example": "RT Staff",
+ "type": "string"
},
- "opens": {
- "example": "07:00",
+ "parent": {
+ "example": 0,
+ "type": "integer"
+ },
+ "slug": {
+ "example": "cap-rt-staff",
"type": "string"
}
},
"type": "object"
},
- "sonic.StoreResponse": {
+ "rottentomatoes.EditorialTermsResponse": {
"properties": {
- "address": {
- "$ref": "#/definitions/sonic.StoreAddress"
+ "fetched_at": {
+ "example": "2026-09-26T10:00:00Z",
+ "type": "string"
},
- "amenities": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "has_next_page": {
+ "example": true,
+ "type": "boolean"
},
- "delivery_providers": {
+ "limit": {
+ "example": 20,
+ "type": "integer"
+ },
+ "page": {
+ "example": 1,
+ "type": "integer"
+ },
+ "public_page_derived": {
+ "example": true,
+ "type": "boolean"
+ },
+ "results": {
"items": {
- "$ref": "#/definitions/sonic.DeliveryProvider"
+ "$ref": "#/definitions/rottentomatoes.EditorialTerm"
},
"type": "array"
},
- "display_name": {
- "example": "2540 Dell Range Blvd, Cheyenne, WY",
+ "search": {
+ "example": "RT Staff",
"type": "string"
},
- "fetched_at": {
+ "source_url": {
+ "example": "https://editorial.rottentomatoes.com/wp-json/wp/v2/coauthors?page=1&per_page=20",
"type": "string"
},
- "has_drive_through": {
- "type": "boolean"
+ "taxonomy": {
+ "enum": [
+ "categories",
+ "tags",
+ "related-movie-id",
+ "related-tv-season-id",
+ "related-tv-series-id",
+ "related-tv-episode-id",
+ "related-celebrity-id",
+ "publication",
+ "franchise",
+ "coauthors"
+ ],
+ "example": "coauthors",
+ "type": "string"
},
- "hours": {
+ "total": {
+ "example": 927,
+ "type": "integer"
+ },
+ "total_pages": {
+ "example": 47,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "rottentomatoes.EpisodeResponse": {
+ "properties": {
+ "air_date": {
+ "description": "Date the episode first aired, such as `2008-01-20`.",
+ "example": "2008-01-20",
+ "type": "string"
+ },
+ "audience_score": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/rottentomatoes.Score"
+ }
+ ],
+ "description": "Popcornmeter audience score of the episode."
+ },
+ "cast": {
+ "description": "People in the cast of the episode.",
"items": {
- "$ref": "#/definitions/sonic.StoreHours"
+ "$ref": "#/definitions/rottentomatoes.Person"
},
"type": "array"
},
- "is_delivery_enabled": {
- "type": "boolean"
- },
- "is_digitally_enabled": {
- "type": "boolean"
+ "critics_score": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/rottentomatoes.Score"
+ }
+ ],
+ "description": "Tomatometer critics score of the episode."
},
- "latitude": {
- "example": 41.160531,
- "type": "number"
+ "description": {
+ "description": "Short synopsis of the episode.",
+ "type": "string"
},
- "longitude": {
- "example": -104.777659,
- "type": "number"
+ "directors": {
+ "description": "Directors of the episode.",
+ "items": {
+ "$ref": "#/definitions/rottentomatoes.Person"
+ },
+ "type": "array"
},
- "path": {
+ "ems_id": {
+ "description": "Rotten Tomatoes' own unique id of the episode.",
+ "example": "ccda9549-4dcb-3147-9a2b-1106dcf852f7",
"type": "string"
},
- "phone": {
- "example": "307-632-9188",
+ "episode_number": {
+ "description": "Episode number within its season.",
+ "example": 1,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-06-07T14:46:16Z",
"type": "string"
},
- "service_hours": {
+ "genres": {
+ "description": "Genres of the episode.",
+ "example": [
+ "Crime"
+ ],
"items": {
- "$ref": "#/definitions/sonic.StoreServiceHours"
+ "type": "string"
},
"type": "array"
},
- "source_url": {
+ "image_url": {
+ "description": "URL of the episode image.",
"type": "string"
},
- "status": {
- "example": "OPEN",
+ "lifecycle": {
+ "description": "Airing status, such as `NOT_AIRING`.",
+ "example": "NOT_AIRING",
"type": "string"
},
- "store_id": {
- "example": "4521",
+ "media_type": {
+ "description": "Kind of title, such as `TvEpisode`.",
+ "example": "TvEpisode",
"type": "string"
},
- "timezone": {
- "example": "America/Denver",
+ "parent_season": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/rottentomatoes.SeasonSummary"
+ }
+ ],
+ "description": "Season the episode belongs to."
+ },
+ "parent_series": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/rottentomatoes.SeriesSummary"
+ }
+ ],
+ "description": "Series the episode belongs to."
+ },
+ "path": {
+ "description": "Rotten Tomatoes path of the episode page, such as `/tv/breaking_bad/s01/e01`.",
+ "example": "/tv/breaking_bad/s01/e01",
"type": "string"
- }
- },
- "type": "object"
- },
- "sonic.StoreServiceHours": {
- "properties": {
- "hours": {
+ },
+ "producers": {
+ "description": "Producers of the episode.",
"items": {
- "$ref": "#/definitions/sonic.StoreHours"
+ "$ref": "#/definitions/rottentomatoes.Person"
},
"type": "array"
},
- "is_fulfillment": {
- "type": "boolean"
- },
- "is_tipping_enabled": {
+ "public_page_derived": {
+ "description": "Always `true`: the data comes from publicly visible Rotten Tomatoes pages.",
+ "example": true,
"type": "boolean"
},
- "type": {
- "description": "Type is Sonic's own channel name, e.g. \"ORDER_AHEAD\", \"PICKUP\",\n\"CURBSIDE_PICKUP\", \"STORE\", \"DELIVERY\", \"DRIVE_THROUGH\".",
- "example": "DRIVE_THROUGH",
- "type": "string"
- }
- },
- "type": "object"
- },
- "sonic.availabilityResponseDoc": {
- "properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "season_number": {
+ "description": "Number of the season the episode belongs to.",
+ "example": 1,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/sonic.AvailabilityResponse"
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://www.rottentomatoes.com/tv/breaking_bad/s01/e01",
+ "type": "string"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
- }
- },
- "type": "object"
- },
- "sonic.categoriesResponseDoc": {
- "properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
+ "title": {
+ "description": "Title of the episode, as Rotten Tomatoes shows it.",
+ "example": "Pilot",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/sonic.CategoriesResponse"
+ "url": {
+ "description": "Rotten Tomatoes page URL of the episode.",
+ "example": "https://www.rottentomatoes.com/tv/breaking_bad/s01/e01",
+ "type": "string"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "video": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/rottentomatoes.EpisodeVideo"
+ }
+ ],
+ "description": "Video clip shown on the episode page."
}
},
"type": "object"
},
- "sonic.dealsResponseDoc": {
+ "rottentomatoes.EpisodeVideo": {
"properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/sonic.DealsResponse"
+ "description": {
+ "description": "Description of the video.",
+ "type": "string"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
- }
- },
- "type": "object"
- },
- "sonic.directoryResponseDoc": {
- "properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
+ "duration": {
+ "description": "Length of the video as text, such as `2:32`.",
+ "example": "2:32",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/sonic.DirectoryResponse"
+ "thumbnail": {
+ "description": "URL of the video thumbnail image.",
+ "type": "string"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
- }
- },
- "type": "object"
- },
- "sonic.itemResponseDoc": {
- "properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
+ "title": {
+ "description": "Title of the video.",
+ "example": "Breaking Bad: Official Clip - Walter Wants to Cook",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/sonic.ItemResponse"
+ "upload_date": {
+ "description": "Date and time the video was uploaded, such as `2024-07-11T19:23:03`.",
+ "example": "2024-07-11T19:23:03",
+ "type": "string"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "url": {
+ "description": "Rotten Tomatoes page URL of the video.",
+ "example": "https://www.rottentomatoes.com/tv/breaking_bad/s01/e01/videos/JR3ymbH1dpLb",
+ "type": "string"
}
},
"type": "object"
},
- "sonic.locationSuggestResponseDoc": {
+ "rottentomatoes.MovieCallToAction": {
"properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/sonic.LocationSuggestResponse"
+ "button_text": {
+ "description": "Button label, such as `Buy Tickets`.",
+ "type": "string"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
- }
- },
- "type": "object"
- },
- "sonic.locationsResponseDoc": {
- "properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
+ "lifecycle_date": {
+ "description": "Lifecycle date behind the action, such as `2026-10-23`.",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/sonic.LocationsResponse"
+ "name": {
+ "description": "Provider the action goes to.",
+ "type": "string"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "window_text": {
+ "description": "Supporting text, such as `Now in Theaters`.",
+ "type": "string"
}
},
"type": "object"
},
- "sonic.menuResponseDoc": {
+ "rottentomatoes.MovieLifecycle": {
"properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/sonic.MenuResponse"
+ "date": {
+ "description": "Date the stage began, such as `2026-10-23`.",
+ "type": "string"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "lifecycle": {
+ "description": "Lifecycle stage, such as `IN_THEATERS` or `AT_HOME`.",
+ "type": "string"
}
},
"type": "object"
},
- "sonic.nearbyResponseDoc": {
+ "rottentomatoes.MovieRelease": {
"properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/sonic.NearbyResponse"
+ "country": {
+ "description": "Country of the release, such as `USA`.",
+ "type": "string"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
- }
- },
- "type": "object"
- },
- "sonic.nutritionDocumentsResponseDoc": {
- "properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
+ "date": {
+ "description": "Release date, such as `2026-10-23`.",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/sonic.NutritionDocumentsResponse"
+ "distributors": {
+ "description": "Distributors of the release.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "type": {
+ "description": "Release type, such as `WIDE` or `LIMITED`.",
+ "type": "string"
}
},
"type": "object"
},
- "sonic.sitemapResponseDoc": {
+ "rottentomatoes.MovieResponse": {
"properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/sonic.SitemapResponse"
+ "audience_reviews": {
+ "description": "Sample of audience reviews shown on the movie page.",
+ "items": {
+ "$ref": "#/definitions/rottentomatoes.Review"
+ },
+ "type": "array"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
- }
- },
- "type": "object"
- },
- "sonic.storeResponseDoc": {
- "properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
+ "audience_score": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/rottentomatoes.Score"
+ }
+ ],
+ "description": "Popcornmeter audience score of the movie."
},
- "data": {
- "$ref": "#/definitions/sonic.StoreResponse"
+ "cast": {
+ "description": "People in the cast of the movie.",
+ "items": {
+ "$ref": "#/definitions/rottentomatoes.Person"
+ },
+ "type": "array"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
- }
- },
- "type": "object"
- },
- "soundcloud.Playlist": {
- "properties": {
- "artwork_url": {
+ "content_rating": {
+ "description": "Content rating of the movie, such as `PG-13`.",
+ "example": "PG-13",
"type": "string"
},
- "created_at": {
- "type": "string"
+ "critics_score": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/rottentomatoes.Score"
+ }
+ ],
+ "description": "Tomatometer critics score of the movie."
},
"description": {
+ "description": "Short synopsis of the movie.",
"type": "string"
},
- "genre": {
+ "directors": {
+ "description": "Directors of the movie.",
+ "items": {
+ "$ref": "#/definitions/rottentomatoes.Person"
+ },
+ "type": "array"
+ },
+ "ems_id": {
+ "description": "Rotten Tomatoes' own unique id of the movie.",
+ "example": "afbf1c81-1bfe-3996-9cbc-2e1be23d1f61",
"type": "string"
},
- "id": {
- "type": "integer"
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-06-07T14:46:16Z",
+ "type": "string"
},
- "is_album": {
- "type": "boolean"
+ "genres": {
+ "description": "Genres of the movie.",
+ "example": [
+ "Sci-Fi"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "likes_count": {
- "example": 1024,
- "type": "integer"
+ "image_url": {
+ "description": "URL of the poster image.",
+ "type": "string"
},
- "owner": {
- "$ref": "#/definitions/soundcloud.Uploader"
+ "media_type": {
+ "description": "Kind of title, such as `Movie`.",
+ "example": "Movie",
+ "type": "string"
},
- "permalink_url": {
+ "path": {
+ "description": "Rotten Tomatoes path of the movie page, such as `/m/inception`.",
+ "example": "/m/inception",
"type": "string"
},
- "public": {
+ "producers": {
+ "description": "Producers of the movie.",
+ "items": {
+ "$ref": "#/definitions/rottentomatoes.Person"
+ },
+ "type": "array"
+ },
+ "public_page_derived": {
+ "description": "Always `true`: the data comes from publicly visible Rotten Tomatoes pages.",
"example": true,
"type": "boolean"
},
- "reposts_count": {
- "type": "integer"
+ "release_date": {
+ "description": "Release date of the movie, such as `2010-07-16`.",
+ "example": "2010-07-16",
+ "type": "string"
},
- "tag_list": {
+ "reviews_url": {
+ "description": "URL of the Rotten Tomatoes page with the audience reviews of the movie.",
+ "example": "https://www.rottentomatoes.com/m/inception/reviews/all-audience",
"type": "string"
},
- "title": {
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://www.rottentomatoes.com/m/inception",
"type": "string"
},
- "track_count": {
- "example": 416,
- "type": "integer"
+ "title": {
+ "description": "Title of the movie, as Rotten Tomatoes shows it.",
+ "example": "Inception",
+ "type": "string"
},
- "tracks": {
- "items": {
- "$ref": "#/definitions/soundcloud.Track"
- },
- "type": "array"
+ "url": {
+ "description": "Rotten Tomatoes page URL of the movie.",
+ "example": "https://www.rottentomatoes.com/m/inception",
+ "type": "string"
}
},
"type": "object"
},
- "soundcloud.Profile": {
+ "rottentomatoes.MovieReview": {
"properties": {
- "avatar_url": {
+ "created_at": {
+ "example": "2024-04-11T23:40:16.000Z",
"type": "string"
},
- "city": {
+ "critic_url": {
+ "example": "https://www.rottentomatoes.com/critic/danilo-castro",
"type": "string"
},
- "country_code": {
- "example": "US",
+ "critic_vanity": {
+ "description": "Upstream critic vanity path, the last segment of critic_url.",
+ "example": "danilo-castro",
"type": "string"
},
- "description": {
+ "display_name": {
+ "example": "Danilo Castro",
"type": "string"
},
- "followers_count": {
- "example": 255531,
- "type": "integer"
- },
- "followings_count": {
- "example": 634,
- "type": "integer"
+ "encrypted_critic_id": {
+ "description": "Upstream encrypted critic identifier.",
+ "type": "string"
},
- "full_name": {
+ "encrypted_publication_id": {
+ "description": "Upstream encrypted publication identifier.",
"type": "string"
},
- "id": {
- "type": "integer"
+ "has_profanity": {
+ "example": false,
+ "type": "boolean"
},
- "likes_count": {
- "example": 1032,
- "type": "integer"
+ "has_spoilers": {
+ "example": false,
+ "type": "boolean"
},
- "permalink": {
+ "id": {
+ "example": "102903742",
"type": "string"
},
- "permalink_url": {
+ "language": {
+ "description": "Language the review was written in, such as `English`.",
+ "example": "English",
"type": "string"
},
- "playlist_count": {
- "example": 27,
- "type": "integer"
+ "media": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/rottentomatoes.ReviewMedia"
+ }
+ ],
+ "description": "Title the review is about. Present on critic-feed responses (a critic\nreviews many titles) and omitted elsewhere."
},
- "track_count": {
- "example": 712,
- "type": "integer"
+ "original_score": {
+ "example": "9/10",
+ "type": "string"
},
- "username": {
+ "publication": {
+ "example": "Next Best Picture",
"type": "string"
},
- "verified": {
+ "publication_approved": {
+ "example": true,
"type": "boolean"
- }
- },
- "type": "object"
- },
- "soundcloud.SearchResponse": {
- "properties": {
- "count": {
- "example": 20,
- "type": "integer"
},
- "query": {
+ "publication_id": {
+ "description": "Upstream publication identifier.",
"type": "string"
},
- "tracks": {
- "items": {
- "$ref": "#/definitions/soundcloud.Track"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "soundcloud.Track": {
- "properties": {
- "artwork_url": {
+ "publication_review_url": {
+ "example": "https://nextbestpicture.com/inception/",
"type": "string"
},
- "comment_count": {
- "example": 57,
- "type": "integer"
+ "rating": {
+ "example": 4.5,
+ "type": "number"
},
- "created_at": {
- "example": "2021-06-14T15:40:10Z",
+ "rating_label": {
+ "example": "STAR_4_5",
"type": "string"
},
- "description": {
+ "review": {
"type": "string"
},
- "duration_ms": {
- "example": 165218,
- "type": "integer"
- },
- "genre": {
+ "scheduled_at": {
+ "description": "Upstream scheduling time of the review, when provided.",
+ "example": "2026-10-21T19:11:02.000Z",
"type": "string"
},
- "id": {
- "type": "integer"
- },
- "likes_count": {
- "example": 10101,
- "type": "integer"
- },
- "permalink_url": {
+ "score_sentiment": {
+ "example": "POSITIVE",
"type": "string"
},
- "playback_count": {
- "example": 2593224,
- "type": "integer"
+ "status": {
+ "description": "Upstream review status, such as `ACTIVE`.",
+ "example": "ACTIVE",
+ "type": "string"
},
- "public": {
- "example": true,
+ "super_reviewer": {
+ "example": false,
"type": "boolean"
},
- "reposts_count": {
- "example": 196,
- "type": "integer"
- },
- "streamable": {
+ "tomatometer_approved": {
"example": true,
"type": "boolean"
},
- "tag_list": {
- "type": "string"
- },
- "title": {
- "type": "string"
- },
- "uploader": {
- "$ref": "#/definitions/soundcloud.Uploader"
- }
- },
- "type": "object"
- },
- "soundcloud.Uploader": {
- "properties": {
- "avatar_url": {
- "type": "string"
- },
- "city": {
- "type": "string"
- },
- "followers_count": {
- "example": 220,
- "type": "integer"
+ "top_critic": {
+ "example": false,
+ "type": "boolean"
},
- "id": {
- "type": "integer"
+ "top_publication": {
+ "example": false,
+ "type": "boolean"
},
- "permalink": {
- "type": "string"
+ "top_review": {
+ "example": false,
+ "type": "boolean"
},
- "permalink_url": {
+ "type": {
+ "example": "critic",
"type": "string"
},
- "track_count": {
- "example": 12,
- "type": "integer"
- },
- "username": {
+ "updated_at": {
+ "description": "Time the review was last edited upstream, when it differs from created_at.",
+ "example": "2026-10-28T22:40:02.000Z",
"type": "string"
},
"verified": {
+ "example": false,
"type": "boolean"
}
},
"type": "object"
},
- "soundcloud.UserTracksResponse": {
+ "rottentomatoes.MovieScoreSet": {
"properties": {
- "count": {
- "example": 20,
- "type": "integer"
- },
- "profile_url": {
- "type": "string"
+ "audience_all": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/rottentomatoes.Score"
+ }
+ ],
+ "description": "Every audience rating."
},
- "tracks": {
- "items": {
- "$ref": "#/definitions/soundcloud.Track"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "soundcloud.playlistResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "audience_verified": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/rottentomatoes.Score"
+ }
+ ],
+ "description": "Verified ticket holders only."
},
- "data": {
- "$ref": "#/definitions/soundcloud.Playlist"
+ "critics_all": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/rottentomatoes.Score"
+ }
+ ],
+ "description": "All critics."
},
- "msg": {
- "example": "OK",
- "type": "string"
+ "critics_top": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/rottentomatoes.Score"
+ }
+ ],
+ "description": "Top critics only."
}
},
"type": "object"
},
- "soundcloud.profileResponseDoc": {
+ "rottentomatoes.MovieVideo": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/soundcloud.Profile"
+ "description": {
+ "description": "Video description, when provided.",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "duration": {
+ "description": "Display duration, such as `1:41`.",
+ "example": "1:41",
"type": "string"
- }
- },
- "type": "object"
- },
- "soundcloud.searchResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/soundcloud.SearchResponse"
+ "duration_seconds": {
+ "description": "Duration in seconds.",
+ "example": "101.101",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "image_url": {
+ "description": "Square image URL.",
"type": "string"
- }
- },
- "type": "object"
- },
- "soundcloud.trackResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/soundcloud.Track"
+ "is_default": {
+ "description": "Whether Rotten Tomatoes marks it as the default video.",
+ "example": false,
+ "type": "boolean"
},
- "msg": {
- "example": "OK",
+ "is_red_band": {
+ "description": "Whether the trailer is red-band.",
+ "example": false,
+ "type": "boolean"
+ },
+ "media_id": {
+ "description": "MPX media id, as Rotten Tomatoes also labels it.",
+ "example": "2515201603871",
"type": "string"
- }
- },
- "type": "object"
- },
- "soundcloud.userTracksResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/soundcloud.UserTracksResponse"
+ "mpx_id": {
+ "description": "MPX media id behind the video.",
+ "example": "2515201603871",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "playable_file_url": {
+ "description": "Playable stream/playlist URL.",
"type": "string"
- }
- },
- "type": "object"
- },
- "space.AuthorResponse": {
- "properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/newsplatform.HeadlineItem"
- },
- "type": "array"
},
- "biography": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "public_id": {
+ "description": "Rotten Tomatoes public id of the video.",
+ "example": "0gzlStnzLm8R",
+ "type": "string"
},
- "image_url": {
+ "thumbnail_url": {
+ "description": "Thumbnail image URL.",
"type": "string"
},
- "job_title": {
+ "title": {
+ "description": "Video title, such as `Clayface: Final Trailer`.",
+ "example": "Clayface: Final Trailer",
"type": "string"
},
- "name": {
+ "type": {
+ "description": "Stream container type reported by Rotten Tomatoes, such as `hls`.",
+ "example": "hls",
"type": "string"
},
- "slug": {
+ "video_page_url": {
+ "description": "Rotten Tomatoes page URL of the video.",
+ "example": "https://www.rottentomatoes.com/m/clayface/videos/0gzlStnzLm8R",
"type": "string"
},
- "url": {
+ "video_type": {
+ "description": "Kind of video, such as `TRAILER` or `OTHER`.",
+ "example": "TRAILER",
"type": "string"
}
},
"type": "object"
},
- "sparkfun.CategoriesResponse": {
+ "rottentomatoes.MovieVideosResponse": {
"properties": {
- "categories": {
+ "fetched_at": {
+ "description": "UTC time, to the second, when the data was fetched.",
+ "example": "2026-10-29T09:00:00Z",
+ "type": "string"
+ },
+ "movie": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/rottentomatoes.ReviewMovieSummary"
+ }
+ ],
+ "description": "Title the videos belong to."
+ },
+ "source_url": {
+ "description": "Rotten Tomatoes page the video reference was read from.",
+ "example": "https://www.rottentomatoes.com/m/clayface",
+ "type": "string"
+ },
+ "videos": {
+ "description": "Videos Rotten Tomatoes lists for the title, primary video first.",
"items": {
- "$ref": "#/definitions/sparkfun.Category"
+ "$ref": "#/definitions/rottentomatoes.MovieVideo"
},
"type": "array"
+ },
+ "videos_api_url": {
+ "description": "Open JSON endpoint the videos were read from.",
+ "type": "string"
}
},
"type": "object"
},
- "sparkfun.Category": {
+ "rottentomatoes.Person": {
"properties": {
- "id": {
+ "image_url": {
+ "description": "URL of the person's photo.",
"type": "string"
},
"name": {
+ "description": "Name of the person.",
+ "example": "Christopher Nolan",
"type": "string"
},
- "url_key": {
- "type": "string"
- },
- "url_path": {
+ "url": {
+ "description": "Rotten Tomatoes page URL of the person.",
+ "example": "https://www.rottentomatoes.com/celebrity/christopher_nolan",
"type": "string"
}
},
"type": "object"
},
- "sparkfun.CategoryResponse": {
+ "rottentomatoes.PersonCredit": {
"properties": {
- "category": {
- "$ref": "#/definitions/sparkfun.Category"
- },
- "filters": {
- "items": {
- "$ref": "#/definitions/sparkfun.Filter"
- },
- "type": "array"
+ "audience_score": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/rottentomatoes.Score"
+ }
+ ],
+ "description": "Popcornmeter audience score of the title."
},
- "page": {
- "type": "integer"
+ "credits": {
+ "description": "Roles the person had on the title, such as `Director, Screenwriter, Producer`.",
+ "example": "Director, Screenwriter, Producer",
+ "type": "string"
},
- "per_page": {
- "type": "integer"
+ "critics_score": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/rottentomatoes.Score"
+ }
+ ],
+ "description": "Tomatometer critics score of the title."
},
- "products": {
- "items": {
- "$ref": "#/definitions/sparkfun.Product"
- },
- "type": "array"
+ "path": {
+ "description": "Rotten Tomatoes path of the title page, such as `/m/oppenheimer_2023`.",
+ "example": "/m/oppenheimer_2023",
+ "type": "string"
},
- "total": {
+ "position": {
+ "description": "Position of the credit in the filmography list, starting at 1.",
+ "example": 1,
"type": "integer"
},
- "total_pages": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "sparkfun.Filter": {
- "properties": {
- "attribute": {
+ "poster_url": {
+ "description": "URL of the title's poster image.",
"type": "string"
},
- "label": {
+ "title": {
+ "description": "Name of the title, as Rotten Tomatoes shows it.",
+ "example": "Oppenheimer",
"type": "string"
},
- "options": {
- "items": {
- "$ref": "#/definitions/sparkfun.FilterOption"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "sparkfun.FilterOption": {
- "properties": {
- "count": {
- "type": "integer"
- },
- "label": {
+ "url": {
+ "description": "Rotten Tomatoes page URL of the title.",
+ "example": "https://www.rottentomatoes.com/m/oppenheimer_2023",
"type": "string"
},
- "value": {
+ "years_featured": {
+ "description": "Year or years shown for the title in the filmography.",
+ "example": "2023",
"type": "string"
}
},
"type": "object"
},
- "sparkfun.Image": {
+ "rottentomatoes.PersonRatedTitle": {
"properties": {
- "label": {
+ "path": {
+ "description": "Rotten Tomatoes path of the title page, such as `/m/the_dark_knight`.",
+ "example": "/m/the_dark_knight",
+ "type": "string"
+ },
+ "score": {
+ "description": "Critics score of the title, as a percentage.",
+ "example": 94,
+ "type": "integer"
+ },
+ "title": {
+ "description": "Name of the title, as Rotten Tomatoes shows it.",
+ "example": "The Dark Knight",
"type": "string"
},
"url": {
+ "description": "Rotten Tomatoes page URL of the title.",
+ "example": "https://www.rottentomatoes.com/m/the_dark_knight",
+ "type": "string"
+ },
+ "year": {
+ "description": "Release year of the title.",
+ "example": "2008",
"type": "string"
}
},
"type": "object"
},
- "sparkfun.Price": {
+ "rottentomatoes.PersonResponse": {
"properties": {
- "currency": {
+ "birth_date": {
+ "description": "Date of birth, such as `1970-07-30`.",
+ "example": "1970-07-30",
"type": "string"
},
- "value": {
- "type": "number"
- }
- },
- "type": "object"
- },
- "sparkfun.Product": {
- "properties": {
- "categories": {
- "items": {
- "$ref": "#/definitions/sparkfun.Category"
- },
- "type": "array"
+ "birthplace": {
+ "description": "Place of birth, such as `London, England, UK`.",
+ "example": "London, England, UK",
+ "type": "string"
},
"description": {
+ "description": "Biography text of the person.",
"type": "string"
},
- "image": {
- "$ref": "#/definitions/sparkfun.Image"
+ "ems_id": {
+ "description": "Rotten Tomatoes' own unique id of the person.",
+ "example": "a015d515-713e-38e3-abbe-cf0cdaa519b0",
+ "type": "string"
},
- "media": {
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-06-07T14:46:16Z",
+ "type": "string"
+ },
+ "filmography": {
+ "description": "Titles the person has credits on, one entry per title.",
"items": {
- "$ref": "#/definitions/sparkfun.Image"
+ "$ref": "#/definitions/rottentomatoes.PersonCredit"
},
"type": "array"
},
- "name": {
+ "filmography_api_url": {
+ "description": "URL of the Rotten Tomatoes filmography list for this person.",
+ "example": "https://www.rottentomatoes.com/cnapi/modules/filmography/a015d515-713e-38e3-abbe-cf0cdaa519b0/movie/newest",
"type": "string"
},
- "price": {
- "$ref": "#/definitions/sparkfun.Price"
+ "highest_rated": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/rottentomatoes.PersonRatedTitle"
+ }
+ ],
+ "description": "Highest-rated title of the person, with its score."
},
- "recommendations": {
- "items": {
- "$ref": "#/definitions/sparkfun.ProductRecommendation"
- },
- "type": "array"
+ "image_url": {
+ "description": "URL of the person's photo.",
+ "type": "string"
},
- "sku": {
+ "lowest_rated": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/rottentomatoes.PersonRatedTitle"
+ }
+ ],
+ "description": "Lowest-rated title of the person, with its score."
+ },
+ "name": {
+ "description": "Name of the person.",
+ "example": "Christopher Nolan",
"type": "string"
},
- "stock_status": {
+ "page_info": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/rottentomatoes.ReviewPageInfo"
+ }
+ ],
+ "description": "Paging information for the filmography."
+ },
+ "path": {
+ "description": "Rotten Tomatoes path of the person page, such as `/celebrity/christopher_nolan`.",
+ "example": "/celebrity/christopher_nolan",
"type": "string"
},
- "url": {
+ "public_page_derived": {
+ "description": "Always `true`: the data comes from publicly visible Rotten Tomatoes pages.",
+ "example": true,
+ "type": "boolean"
+ },
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://www.rottentomatoes.com/celebrity/christopher_nolan",
"type": "string"
- }
- },
- "type": "object"
- },
- "sparkfun.ProductRecommendation": {
- "properties": {
- "product": {
- "$ref": "#/definitions/sparkfun.Product"
},
- "relation": {
+ "url": {
+ "description": "Rotten Tomatoes page URL of the person.",
+ "example": "https://www.rottentomatoes.com/celebrity/christopher_nolan",
"type": "string"
}
},
"type": "object"
},
- "sparkfun.SearchResponse": {
+ "rottentomatoes.Publication": {
"properties": {
- "filters": {
+ "critic_count": {
+ "description": "Number of critics who write for the publication.",
+ "type": "integer"
+ },
+ "critics": {
+ "description": "Critics who write for the publication, when known.",
"items": {
- "$ref": "#/definitions/sparkfun.Filter"
+ "$ref": "#/definitions/rottentomatoes.PublicationCritic"
},
"type": "array"
},
- "page": {
- "type": "integer"
+ "editorial_url": {
+ "description": "Editorial page of the publication, when it has one.",
+ "type": "string"
},
- "per_page": {
+ "encrypted_id": {
+ "description": "Encrypted publication identifier, the one the review endpoints return.",
+ "type": "string"
+ },
+ "followers_count": {
+ "description": "Number of followers the publication has.",
"type": "integer"
},
- "products": {
- "items": {
- "$ref": "#/definitions/sparkfun.Product"
- },
- "type": "array"
+ "image_url": {
+ "description": "URL of the publication's image.",
+ "type": "string"
},
- "query": {
+ "is_top_publication": {
+ "description": "Whether Rotten Tomatoes ranks this as a top publication.",
+ "example": true,
+ "type": "boolean"
+ },
+ "name": {
+ "description": "Display name of the publication.",
+ "example": "Empire Magazine",
"type": "string"
},
- "total": {
+ "review_count": {
+ "description": "Number of reviews the publication has contributed.",
"type": "integer"
},
- "total_pages": {
- "type": "integer"
+ "tomatometer_approved": {
+ "description": "Whether the publication is Tomatometer approved.",
+ "example": true,
+ "type": "boolean"
}
},
"type": "object"
},
- "sparkfun.categoriesResponseDoc": {
+ "rottentomatoes.PublicationCritic": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "display_name": {
+ "description": "Display name of the critic.",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/sparkfun.CategoriesResponse"
+ "encrypted_critic_id": {
+ "description": "Encrypted critic identifier, the one the critic endpoints accept.",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "image_url": {
+ "description": "URL of the critic's image.",
"type": "string"
- }
- },
- "type": "object"
- },
- "sparkfun.categoryResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/sparkfun.CategoryResponse"
+ "initials": {
+ "description": "Initials of the critic, as the app shows them.",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "is_top_critic": {
+ "description": "Whether Rotten Tomatoes ranks this critic as a top critic.",
+ "example": true,
+ "type": "boolean"
+ },
+ "rotten_tomatoes_url": {
+ "description": "Rotten Tomatoes critic page URL.",
"type": "string"
- }
- },
- "type": "object"
- },
- "sparkfun.productResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/sparkfun.Product"
+ "tomatometer_approved": {
+ "description": "Whether the critic is Tomatometer approved.",
+ "example": true,
+ "type": "boolean"
},
- "msg": {
- "example": "OK",
+ "vanity": {
+ "description": "Vanity slug of the critic's page.",
"type": "string"
}
},
"type": "object"
},
- "sparkfun.searchResponseDoc": {
+ "rottentomatoes.PublicationResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/sparkfun.SearchResponse"
- },
- "msg": {
- "example": "OK",
+ "fetched_at": {
+ "description": "UTC time, to the second, when the data was fetched.",
+ "example": "2026-10-30T00:12:00Z",
"type": "string"
+ },
+ "publication": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/rottentomatoes.Publication"
+ }
+ ],
+ "description": "The publication and the critics who write for it."
}
},
"type": "object"
},
- "sportingnews.AuthorArticle": {
+ "rottentomatoes.Review": {
"properties": {
- "author": {
+ "display_date": {
+ "description": "Date the review was posted, as shown on the page, such as `Mar 19`.",
+ "example": "Mar 19",
"type": "string"
},
- "image_url": {
+ "display_name": {
+ "description": "Display name of the reviewer.",
+ "example": "Rylee",
"type": "string"
},
- "published_at": {
- "type": "string"
+ "fandango_review": {
+ "description": "Whether Rotten Tomatoes flags the review as a Fandango review.",
+ "example": true,
+ "type": "boolean"
},
- "section": {
+ "rating": {
+ "description": "Star rating the reviewer gave, such as `5`.",
+ "example": 5,
+ "type": "number"
+ },
+ "rating_id": {
+ "description": "Unique id of the rating.",
+ "example": "e0812d98-c1d5-467d-ae35-c19cdd575f90",
"type": "string"
},
- "title": {
+ "rating_range": {
+ "description": "Rating text as shown on the page, such as `Rated 5/5 Stars`.",
+ "example": "Rated 5/5 Stars",
"type": "string"
},
- "url": {
+ "review": {
+ "description": "Text of the review.",
"type": "string"
+ },
+ "verified": {
+ "description": "Whether the review is marked as verified.",
+ "example": true,
+ "type": "boolean"
}
},
"type": "object"
},
- "sportingnews.AuthorResponse": {
+ "rottentomatoes.ReviewMedia": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/sportingnews.AuthorArticle"
- },
- "type": "array"
- },
- "bio": {
- "type": "string"
- },
- "image_url": {
+ "path": {
+ "description": "Rotten Tomatoes path of the reviewed title.",
+ "example": "/m/inception",
"type": "string"
},
- "name": {
+ "poster_url": {
+ "description": "Poster image URL of the reviewed title.",
"type": "string"
},
- "slug": {
+ "title": {
+ "description": "Title of the reviewed movie or TV series.",
+ "example": "Inception",
"type": "string"
},
- "social_links": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
"url": {
+ "description": "Absolute Rotten Tomatoes URL of the reviewed title.",
+ "example": "https://www.rottentomatoes.com/m/inception",
"type": "string"
}
},
"type": "object"
},
- "sportsbook.Event": {
+ "rottentomatoes.ReviewMovieSummary": {
"properties": {
- "id": {
+ "ems_id": {
+ "example": "afbf1c81-1bfe-3996-9cbc-2e1be23d1f61",
"type": "string"
},
- "markets": {
- "items": {
- "$ref": "#/definitions/sportsbook.Market"
- },
- "type": "array"
- },
- "name": {
- "example": "CAR Panthers @ BUF Bills",
+ "media_type": {
+ "example": "Movie",
"type": "string"
},
- "participants": {
- "items": {
- "$ref": "#/definitions/sportsbook.Participant"
- },
- "type": "array"
+ "path": {
+ "example": "/m/inception",
+ "type": "string"
},
- "start_time": {
+ "title": {
+ "example": "Inception",
"type": "string"
},
- "status": {
- "example": "NOT_STARTED",
+ "url": {
+ "example": "https://www.rottentomatoes.com/m/inception",
"type": "string"
}
},
"type": "object"
},
- "sportsbook.EventContextResponse": {
+ "rottentomatoes.ReviewPageInfo": {
"properties": {
- "event_id": {
- "example": "34522271",
+ "end_cursor": {
+ "description": "Cursor of the last item on this page. Pass it as `after` to get the next page.",
+ "example": "Mjk=",
"type": "string"
},
- "event_seo_id": {
- "example": "chi-white-sox-@-det-tigers",
- "type": "string"
+ "has_next_page": {
+ "description": "Whether more items follow this page.",
+ "example": true,
+ "type": "boolean"
},
- "fetched_at": {
- "type": "string"
+ "has_previous_page": {
+ "description": "Whether items precede this page.",
+ "example": true,
+ "type": "boolean"
},
- "league_id": {
- "example": "84240",
- "type": "string"
- },
- "league_seo_id": {
- "example": "mlb",
- "type": "string"
- },
- "source_url": {
- "type": "string"
- },
- "sport_id": {
- "example": "7",
- "type": "string"
- },
- "sport_seo_id": {
- "example": "baseball",
+ "start_cursor": {
+ "description": "Cursor of the first item on this page.",
+ "example": "MA==",
"type": "string"
}
},
"type": "object"
},
- "sportsbook.EventMarketsResponse": {
+ "rottentomatoes.ReviewsRenderInfo": {
"properties": {
- "count": {
+ "load_more_clicks": {
+ "description": "\"Load More\" steps needed to reach the requested page.",
+ "example": 0,
"type": "integer"
},
- "event_id": {
- "type": "string"
- },
- "fetched_at": {
- "type": "string"
- },
- "markets": {
- "items": {
- "$ref": "#/definitions/sportsbook.Market"
- },
- "type": "array"
- },
- "source_url": {
- "type": "string"
+ "pages_fetched": {
+ "description": "Number of distinct review pages that were loaded.",
+ "example": 1,
+ "type": "integer"
},
- "subcategory_id": {
- "type": "string"
+ "total_ms": {
+ "description": "Total wall time the render took, in milliseconds.",
+ "example": 18432,
+ "type": "integer"
}
},
"type": "object"
},
- "sportsbook.EventResponse": {
+ "rottentomatoes.ReviewsResponse": {
"properties": {
"fetched_at": {
+ "description": "UTC time, to the second, when the Rotten Tomatoes page behind this response was fetched. A cached response keeps its original time.",
+ "example": "2026-06-07T14:46:16Z",
"type": "string"
},
- "id": {
- "type": "string"
+ "limit": {
+ "example": 10,
+ "type": "integer"
},
- "league_id": {
- "example": "84240",
- "type": "string"
+ "movie": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/rottentomatoes.ReviewMovieSummary"
+ }
+ ],
+ "description": "Movie summary, for movie feeds only. Kept for existing callers; prefer\nsubject for new integrations."
},
- "name": {
- "example": "CAR Panthers @ BUF Bills",
+ "page_info": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/rottentomatoes.ReviewPageInfo"
+ }
+ ],
+ "description": "Whether more reviews follow this page, and the cursor to request them."
+ },
+ "public_page_derived": {
+ "description": "True when the reviews came from the public page's embedded sample rather\nthan from the gated critic-review feed.",
+ "example": true,
+ "type": "boolean"
+ },
+ "render": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/rottentomatoes.ReviewsRenderInfo"
+ }
+ ],
+ "description": "Browser render audit facts. Present only for `browser_render`."
+ },
+ "render_error": {
+ "description": "Why a browser render that was attempted did not produce the response, when\na public-page sample was served instead.",
"type": "string"
},
- "participants": {
+ "reviews": {
"items": {
- "$ref": "#/definitions/sportsbook.Participant"
+ "$ref": "#/definitions/rottentomatoes.MovieReview"
},
"type": "array"
},
- "source_url": {
+ "reviews_api_url": {
+ "example": "https://www.rottentomatoes.com/napi/rtcf/v1/movies/afbf1c81-1bfe-3996-9cbc-2e1be23d1f61/reviews?type=critic&pageCount=10",
"type": "string"
},
- "sport_id": {
- "example": "7",
+ "source_url": {
+ "example": "https://www.rottentomatoes.com/m/inception/reviews/all-critics",
"type": "string"
},
- "start_time": {
+ "subject": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/rottentomatoes.ReviewsSubject"
+ }
+ ],
+ "description": "Subject of the feed: a movie, TV season, TV episode or critic."
+ },
+ "transport": {
+ "description": "How the reviews were read. `feed_api` is the review feed's own JSON API,\nwhich is newest-first, carries review ids and ISO timestamps and is not\nbounded by the page's click depth. `browser_render` is the same feed read\nfrom the review page's own requests in a real browser. `public_page` is the\nembedded sample on the public movie page.",
+ "enum": [
+ "feed_api",
+ "browser_render",
+ "public_page"
+ ],
+ "example": "feed_api",
"type": "string"
},
- "status": {
- "example": "NOT_STARTED",
+ "type": {
+ "example": "critics",
"type": "string"
}
},
"type": "object"
},
- "sportsbook.FeaturedLeague": {
+ "rottentomatoes.ReviewsSubject": {
"properties": {
- "featured_order": {
- "example": 4855,
- "type": "integer"
- },
- "has_live_offers": {
- "type": "boolean"
- },
- "id": {
- "example": "84240",
+ "ems_id": {
+ "description": "Rotten Tomatoes' own unique id of the subject, when it has one.",
+ "example": "71374db9-1350-30fa-b30a-d3f623bbdfc4",
"type": "string"
},
- "name": {
- "example": "MLB",
+ "kind": {
+ "description": "Kind of subject: `movie`, `season`, `episode`, `critic` or `publication`.",
+ "enum": [
+ "movie",
+ "season",
+ "episode",
+ "critic",
+ "publication"
+ ],
+ "example": "season",
"type": "string"
},
- "slug": {
- "example": "mlb",
+ "media_type": {
+ "description": "Kind of title, such as `TvSeason`.",
+ "example": "TvSeason",
"type": "string"
},
- "sport": {
- "example": "Baseball",
+ "path": {
+ "description": "Rotten Tomatoes path of the subject.",
+ "example": "/tv/breaking_bad/s01",
"type": "string"
},
- "sport_id": {
- "example": "7",
+ "title": {
+ "description": "Display title of the subject, when known.",
+ "example": "Breaking Bad: Season 1",
"type": "string"
},
- "tags": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "url": {
+ "description": "Rotten Tomatoes page URL of the subject.",
+ "example": "https://www.rottentomatoes.com/tv/breaking_bad/s01",
+ "type": "string"
}
},
"type": "object"
},
- "sportsbook.FeaturedLeaguesResponse": {
+ "rottentomatoes.Score": {
"properties": {
- "count": {
- "type": "integer"
+ "average_rating": {
+ "description": "Average rating as shown on the scorecard, such as `8.40`.",
+ "example": "8.40",
+ "type": "string"
},
- "fetched_at": {
+ "banded_rating_count": {
+ "description": "Approximate number of ratings as shown on the page, such as `250,000+ Ratings`.",
+ "example": "250,000+ Ratings",
"type": "string"
},
- "leagues": {
- "items": {
- "$ref": "#/definitions/sportsbook.FeaturedLeague"
- },
- "type": "array"
+ "certified": {
+ "description": "Whether Rotten Tomatoes marks the score as certified.",
+ "example": true,
+ "type": "boolean"
},
- "source_url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "sportsbook.FuturesResponse": {
- "properties": {
- "count": {
+ "liked_count": {
+ "description": "Number of ratings that liked the title.",
+ "example": 314,
"type": "integer"
},
- "events": {
- "items": {
- "$ref": "#/definitions/sportsbook.Event"
- },
- "type": "array"
+ "not_liked_count": {
+ "description": "Number of ratings that did not like the title.",
+ "example": 49,
+ "type": "integer"
},
- "fetched_at": {
- "type": "string"
+ "rating_count": {
+ "description": "Number of ratings behind the score.",
+ "example": 363,
+ "type": "integer"
},
- "league": {
- "example": "MLB",
+ "review_count": {
+ "description": "Number of reviews behind the score.",
+ "example": 363,
+ "type": "integer"
+ },
+ "reviews_page_url": {
+ "description": "URL of the Rotten Tomatoes page that lists the reviews behind this score.",
+ "example": "https://www.rottentomatoes.com/m/inception/reviews",
"type": "string"
},
- "league_id": {
+ "score": {
+ "description": "Score as a whole-number percentage.",
+ "example": 87,
+ "type": "integer"
+ },
+ "score_percent": {
+ "description": "Score as text with a percent sign, such as `87%`.",
+ "example": "87%",
"type": "string"
},
- "source_url": {
+ "score_type": {
+ "description": "Audience group the score covers, such as `ALL` or `VERIFIED`.",
+ "example": "ALL",
"type": "string"
},
- "sport": {
- "example": "Baseball",
+ "sentiment": {
+ "description": "Overall sentiment of the score, such as `POSITIVE`.",
+ "example": "POSITIVE",
"type": "string"
},
- "subcategory_id": {
+ "title": {
+ "description": "Name of the score, such as `Tomatometer` or `Popcornmeter`.",
+ "example": "Tomatometer",
"type": "string"
}
},
"type": "object"
},
- "sportsbook.League": {
+ "rottentomatoes.SearchMovie": {
"properties": {
- "has_live_offers": {
+ "cast": {
+ "description": "Names of the leading cast, separated by commas.",
+ "example": "Leonardo DiCaprio,Joseph Gordon-Levitt,Elliot Page",
+ "type": "string"
+ },
+ "certified_fresh": {
+ "description": "Whether the title is Certified Fresh.",
+ "example": true,
"type": "boolean"
},
- "id": {
- "example": "104557",
+ "end_year": {
+ "description": "Last year of the title's run, as shown on the search row.",
"type": "string"
},
- "name": {
- "example": "ITF Doubles - Muttenz (M)",
+ "image_url": {
+ "description": "URL of the poster image.",
"type": "string"
},
- "slug": {
- "example": "itf-m25-muttenz%2C-doubles",
+ "path": {
+ "description": "Rotten Tomatoes path of the title page, such as `/m/inception`.",
+ "example": "/m/inception",
"type": "string"
- }
- },
- "type": "object"
- },
- "sportsbook.LeagueEvent": {
- "properties": {
- "id": {
- "example": "34522271",
+ },
+ "release_year": {
+ "description": "Release year of the title, such as `2010`.",
+ "example": "2010",
"type": "string"
},
- "name": {
- "example": "CHI White Sox @ DET Tigers",
+ "start_year": {
+ "description": "First year of the title's run, as shown on the search row.",
"type": "string"
},
- "participant_type": {
- "example": "TwoTeam",
+ "title": {
+ "description": "Title name as shown on the search row.",
+ "example": "Inception",
"type": "string"
},
- "participants": {
- "items": {
- "$ref": "#/definitions/sportsbook.Participant"
- },
- "type": "array"
+ "tomatometer_score": {
+ "description": "Tomatometer critics score, as a percentage.",
+ "example": 87,
+ "type": "integer"
},
- "start_time": {
+ "tomatometer_sentiment": {
+ "description": "Tomatometer sentiment, such as `POSITIVE`.",
+ "example": "POSITIVE",
"type": "string"
},
- "status": {
- "example": "NOT_STARTED",
+ "url": {
+ "description": "Rotten Tomatoes page URL of the title.",
+ "example": "https://www.rottentomatoes.com/m/inception",
"type": "string"
- },
- "tags": {
- "items": {
- "type": "string"
- },
- "type": "array"
}
},
"type": "object"
},
- "sportsbook.LeagueEventsResponse": {
+ "rottentomatoes.SearchResponse": {
"properties": {
- "count": {
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-06-07T14:46:16Z",
+ "type": "string"
+ },
+ "limit": {
+ "description": "Maximum number of results requested.",
+ "example": 10,
"type": "integer"
},
- "events": {
+ "query": {
+ "description": "Query that was run.",
+ "example": "inception",
+ "type": "string"
+ },
+ "results": {
+ "description": "Titles matching the query.",
"items": {
- "$ref": "#/definitions/sportsbook.LeagueEvent"
+ "$ref": "#/definitions/rottentomatoes.SearchMovie"
},
"type": "array"
},
- "fetched_at": {
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://www.rottentomatoes.com/search?search=inception",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "rottentomatoes.SeasonEpisode": {
+ "properties": {
+ "air_date": {
+ "description": "Date the episode first aired, such as `2008-01-20`.",
+ "example": "2008-01-20",
"type": "string"
},
- "league": {
- "example": "MLB",
+ "description": {
+ "description": "Short synopsis of the episode.",
"type": "string"
},
- "league_id": {
- "example": "84240",
+ "episode_number": {
+ "description": "Episode number within the season.",
+ "example": "1",
"type": "string"
},
- "source_url": {
+ "path": {
+ "description": "Rotten Tomatoes path of the episode page, such as `/tv/breaking_bad/s01/e01`.",
+ "example": "/tv/breaking_bad/s01/e01",
"type": "string"
},
- "sport": {
- "example": "Baseball",
+ "title": {
+ "description": "Title of the episode, as Rotten Tomatoes shows it.",
+ "example": "Pilot",
"type": "string"
},
- "sport_id": {
- "example": "7",
+ "url": {
+ "description": "Rotten Tomatoes page URL of the episode.",
+ "example": "https://www.rottentomatoes.com/tv/breaking_bad/s01/e01",
"type": "string"
}
},
"type": "object"
},
- "sportsbook.LeaguesResponse": {
+ "rottentomatoes.SeasonResponse": {
"properties": {
- "count": {
- "type": "integer"
- },
- "fetched_at": {
- "type": "string"
- },
- "source_url": {
- "type": "string"
+ "audience_score": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/rottentomatoes.Score"
+ }
+ ],
+ "description": "Popcornmeter audience score of the season."
},
- "sports": {
+ "cast": {
+ "description": "People in the cast of the season.",
"items": {
- "$ref": "#/definitions/sportsbook.Sport"
+ "$ref": "#/definitions/rottentomatoes.Person"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "sportsbook.LiveEvent": {
- "properties": {
- "categories": {
+ },
+ "critics_score": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/rottentomatoes.Score"
+ }
+ ],
+ "description": "Tomatometer critics score of the season."
+ },
+ "description": {
+ "description": "Short synopsis of the season.",
+ "type": "string"
+ },
+ "directors": {
+ "description": "Directors of the season.",
"items": {
- "$ref": "#/definitions/sportsbook.MarketCategory"
+ "$ref": "#/definitions/rottentomatoes.Person"
},
"type": "array"
},
- "id": {
- "example": "34525244",
+ "ems_id": {
+ "description": "Rotten Tomatoes' own unique id of the season.",
+ "example": "71374db9-1350-30fa-b30a-d3f623bbdfc4",
"type": "string"
},
- "league_id": {
- "example": "104557",
- "type": "string"
+ "episode_count": {
+ "description": "Number of episodes in the season.",
+ "example": 7,
+ "type": "integer"
},
- "markets": {
+ "episodes": {
+ "description": "Episodes of the season.",
"items": {
- "$ref": "#/definitions/sportsbook.Market"
+ "$ref": "#/definitions/rottentomatoes.SeasonEpisode"
},
"type": "array"
},
- "name": {
- "example": "A. Casanova / Parizzia vs N. Hipfl / C. Mueller",
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-06-07T14:46:16Z",
"type": "string"
},
- "participants": {
+ "genres": {
+ "description": "Genres of the season.",
+ "example": [
+ "Crime"
+ ],
"items": {
- "$ref": "#/definitions/sportsbook.Participant"
+ "type": "string"
},
"type": "array"
},
- "period": {
- "example": "2nd",
+ "image_url": {
+ "description": "URL of the season image.",
"type": "string"
},
- "score": {
- "$ref": "#/definitions/sportsbook.LiveScore"
- },
- "sport_id": {
- "example": "6",
+ "lifecycle": {
+ "description": "Airing status, such as `NOT_AIRING`.",
+ "example": "NOT_AIRING",
"type": "string"
},
- "start_time": {
+ "media_type": {
+ "description": "Kind of title, such as `TvSeason`.",
+ "example": "TvSeason",
"type": "string"
},
- "status": {
- "example": "STARTED",
+ "parent_series": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/rottentomatoes.SeriesSummary"
+ }
+ ],
+ "description": "Series the season belongs to."
+ },
+ "path": {
+ "description": "Rotten Tomatoes path of the season page, such as `/tv/breaking_bad/s01`.",
+ "example": "/tv/breaking_bad/s01",
"type": "string"
},
- "subcategories": {
+ "producers": {
+ "description": "Producers of the season.",
"items": {
- "$ref": "#/definitions/sportsbook.MarketSubcategory"
+ "$ref": "#/definitions/rottentomatoes.Person"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "sportsbook.LiveResponse": {
- "properties": {
- "count": {
- "type": "integer"
},
- "events": {
- "items": {
- "$ref": "#/definitions/sportsbook.LiveEvent"
- },
- "type": "array"
+ "public_page_derived": {
+ "description": "Always `true`: the data comes from publicly visible Rotten Tomatoes pages.",
+ "example": true,
+ "type": "boolean"
},
- "fetched_at": {
+ "release_date": {
+ "description": "Date the season premiered, such as `2008-01-20`.",
+ "example": "2008-01-20",
"type": "string"
},
+ "season_number": {
+ "description": "Number of the season within the series.",
+ "example": 1,
+ "type": "integer"
+ },
"source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://www.rottentomatoes.com/tv/breaking_bad/s01",
"type": "string"
- }
- },
- "type": "object"
- },
- "sportsbook.LiveScore": {
- "properties": {
- "current": {
- "$ref": "#/definitions/sportsbook.LiveScoreLine"
},
- "on_serve": {
- "example": "away",
+ "title": {
+ "description": "Season title, such as `Season 1`.",
+ "example": "Season 1",
"type": "string"
},
- "periods": {
- "items": {
- "$ref": "#/definitions/sportsbook.LiveScorePeriod"
- },
- "type": "array"
+ "url": {
+ "description": "Rotten Tomatoes page URL of the season.",
+ "example": "https://www.rottentomatoes.com/tv/breaking_bad/s01",
+ "type": "string"
}
},
"type": "object"
},
- "sportsbook.LiveScoreLine": {
+ "rottentomatoes.SeasonSummary": {
"properties": {
- "away": {
- "example": "30",
+ "ems_id": {
+ "description": "Rotten Tomatoes' own unique id of the season.",
+ "example": "71374db9-1350-30fa-b30a-d3f623bbdfc4",
"type": "string"
},
- "home": {
- "example": "30",
- "type": "string"
- }
- },
- "type": "object"
- },
- "sportsbook.LiveScorePeriod": {
- "properties": {
- "away": {
- "example": "30",
+ "path": {
+ "description": "Rotten Tomatoes path of the season page, such as `/tv/breaking_bad/s01`.",
+ "example": "/tv/breaking_bad/s01",
"type": "string"
},
- "home": {
- "example": "30",
+ "season_number": {
+ "description": "Number of the season within the series.",
+ "example": 1,
+ "type": "integer"
+ },
+ "title": {
+ "description": "Season title, such as `Season 1`.",
+ "example": "Season 1",
"type": "string"
},
- "name": {
- "example": "1",
+ "url": {
+ "description": "Rotten Tomatoes page URL of the season.",
+ "example": "https://www.rottentomatoes.com/tv/breaking_bad/s01",
"type": "string"
}
},
"type": "object"
},
- "sportsbook.Market": {
+ "rottentomatoes.SeriesResponse": {
"properties": {
- "id": {
- "type": "string"
+ "audience_score": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/rottentomatoes.Score"
+ }
+ ],
+ "description": "Popcornmeter audience score of the series."
},
- "selections": {
+ "cast": {
+ "description": "People in the cast of the series.",
"items": {
- "$ref": "#/definitions/sportsbook.Selection"
+ "$ref": "#/definitions/rottentomatoes.Person"
},
"type": "array"
},
- "subcategory_id": {
- "example": "4519",
+ "content_rating": {
+ "description": "Content rating of the series, such as `TV-14`.",
+ "example": "TV-14",
"type": "string"
},
- "type": {
- "example": "Moneyline",
- "type": "string"
- }
- },
- "type": "object"
- },
- "sportsbook.MarketCategory": {
- "properties": {
- "id": {
- "example": "488",
- "type": "string"
+ "critics_score": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/rottentomatoes.Score"
+ }
+ ],
+ "description": "Tomatometer critics score of the series."
},
- "name": {
- "example": "Match Lines",
+ "description": {
+ "description": "Short synopsis of the series.",
"type": "string"
- }
- },
- "type": "object"
- },
- "sportsbook.MarketSubcategory": {
- "properties": {
- "category_id": {
- "example": "488",
+ },
+ "directors": {
+ "description": "Directors of the series.",
+ "items": {
+ "$ref": "#/definitions/rottentomatoes.Person"
+ },
+ "type": "array"
+ },
+ "ems_id": {
+ "description": "Rotten Tomatoes' own unique id of the series.",
+ "example": "6a74def4-dc62-319e-ae3d-360dcf360244",
"type": "string"
},
- "id": {
- "example": "6364",
+ "end_date": {
+ "description": "Date the series ended, such as `2013-09-29`.",
+ "example": "2013-09-29",
"type": "string"
},
- "name": {
- "example": "Moneyline",
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-06-07T14:46:16Z",
"type": "string"
- }
- },
- "type": "object"
- },
- "sportsbook.Odds": {
- "properties": {
- "american": {
- "example": "+130",
+ },
+ "genres": {
+ "description": "Genres of the series.",
+ "example": [
+ "Crime"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "image_url": {
+ "description": "URL of the series image.",
"type": "string"
},
- "decimal": {
- "example": "2.30",
+ "lifecycle": {
+ "description": "Airing status of the series, such as `NOT_AIRING`.",
+ "example": "NOT_AIRING",
"type": "string"
},
- "fractional": {
- "example": "13/10",
+ "media_type": {
+ "description": "Kind of title, such as `TvSeries`.",
+ "example": "TvSeries",
"type": "string"
- }
- },
- "type": "object"
- },
- "sportsbook.OddsResponse": {
- "properties": {
- "count": {
+ },
+ "number_of_seasons": {
+ "description": "Number of seasons of the series.",
+ "example": 5,
"type": "integer"
},
- "events": {
+ "path": {
+ "description": "Rotten Tomatoes path of the series page, such as `/tv/breaking_bad`.",
+ "example": "/tv/breaking_bad",
+ "type": "string"
+ },
+ "producers": {
+ "description": "Producers of the series.",
"items": {
- "$ref": "#/definitions/sportsbook.Event"
+ "$ref": "#/definitions/rottentomatoes.Person"
},
"type": "array"
},
- "fetched_at": {
- "type": "string"
+ "public_page_derived": {
+ "description": "Always `true`: the data comes from publicly visible Rotten Tomatoes pages.",
+ "example": true,
+ "type": "boolean"
},
- "league": {
- "example": "NFL",
+ "seasons": {
+ "description": "Seasons of the series, each with a link to its page.",
+ "items": {
+ "$ref": "#/definitions/rottentomatoes.TVSeason"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://www.rottentomatoes.com/tv/breaking_bad",
"type": "string"
},
- "league_id": {
+ "start_date": {
+ "description": "Date the series first aired, such as `2008-01-20`.",
+ "example": "2008-01-20",
"type": "string"
},
- "source_url": {
+ "title": {
+ "description": "Title of the series, as Rotten Tomatoes shows it.",
+ "example": "Breaking Bad",
"type": "string"
},
- "sport": {
- "example": "Football",
+ "url": {
+ "description": "Rotten Tomatoes page URL of the series.",
+ "example": "https://www.rottentomatoes.com/tv/breaking_bad",
"type": "string"
}
},
"type": "object"
},
- "sportsbook.Participant": {
+ "rottentomatoes.SeriesSummary": {
"properties": {
- "id": {
+ "ems_id": {
+ "description": "Rotten Tomatoes' own unique id of the series.",
+ "example": "6a74def4-dc62-319e-ae3d-360dcf360244",
"type": "string"
},
- "name": {
- "example": "BUF Bills",
+ "path": {
+ "description": "Rotten Tomatoes path of the series page, such as `/tv/breaking_bad`.",
+ "example": "/tv/breaking_bad",
"type": "string"
},
- "role": {
- "example": "Home",
+ "title": {
+ "description": "Title of the series, as Rotten Tomatoes shows it.",
+ "example": "Breaking Bad",
+ "type": "string"
+ },
+ "url": {
+ "description": "Rotten Tomatoes page URL of the series.",
+ "example": "https://www.rottentomatoes.com/tv/breaking_bad",
"type": "string"
}
},
"type": "object"
},
- "sportsbook.QuickLink": {
+ "rottentomatoes.Sitemap": {
"properties": {
- "league_id": {
- "example": "84240",
+ "family": {
+ "example": "movie",
"type": "string"
},
- "name": {
- "example": "MLB",
+ "index": {
+ "example": 0,
+ "type": "integer"
+ },
+ "last_modified": {
+ "example": "2025-11-12",
"type": "string"
},
- "path": {
- "example": "/leagues/baseball/mlb",
+ "name": {
+ "example": "movie_0",
"type": "string"
},
- "sport_id": {
- "example": "7",
+ "url": {
+ "example": "https://www.rottentomatoes.com/sitemaps/movie_0.xml",
"type": "string"
}
},
"type": "object"
},
- "sportsbook.QuickLinksResponse": {
+ "rottentomatoes.SitemapIndexResponse": {
"properties": {
- "count": {
- "type": "integer"
- },
"fetched_at": {
+ "example": "2026-09-26T10:00:00Z",
"type": "string"
},
- "links": {
+ "public_page_derived": {
+ "example": true,
+ "type": "boolean"
+ },
+ "sitemaps": {
"items": {
- "$ref": "#/definitions/sportsbook.QuickLink"
+ "$ref": "#/definitions/rottentomatoes.Sitemap"
},
"type": "array"
},
"source_url": {
+ "example": "https://www.rottentomatoes.com/sitemaps/sitemap.xml",
"type": "string"
}
},
"type": "object"
},
- "sportsbook.Selection": {
+ "rottentomatoes.SitemapURL": {
"properties": {
- "label": {
- "example": "CAR Panthers",
+ "last_modified": {
+ "example": "2025-11-12",
"type": "string"
},
- "odds": {
- "$ref": "#/definitions/sportsbook.Odds"
- },
- "outcome_type": {
- "example": "Away",
+ "url": {
+ "example": "https://www.rottentomatoes.com/m/inception",
"type": "string"
- },
- "points": {
- "example": 3,
- "type": "number"
}
},
"type": "object"
},
- "sportsbook.Sport": {
+ "rottentomatoes.SitemapURLResponse": {
"properties": {
- "id": {
- "example": "6",
+ "fetched_at": {
+ "example": "2026-09-26T10:00:00Z",
"type": "string"
},
- "leagues": {
- "items": {
- "$ref": "#/definitions/sportsbook.League"
- },
- "type": "array"
+ "has_more": {
+ "example": true,
+ "type": "boolean"
+ },
+ "limit": {
+ "example": 100,
+ "type": "integer"
},
"name": {
- "example": "Tennis",
+ "example": "movie_0",
"type": "string"
},
- "slug": {
- "example": "tennis",
+ "offset": {
+ "example": 0,
+ "type": "integer"
+ },
+ "public_page_derived": {
+ "example": true,
+ "type": "boolean"
+ },
+ "source_url": {
+ "example": "https://www.rottentomatoes.com/sitemaps/movie_0.xml",
"type": "string"
+ },
+ "total": {
+ "example": 16750,
+ "type": "integer"
+ },
+ "urls": {
+ "items": {
+ "$ref": "#/definitions/rottentomatoes.SitemapURL"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "sportsbook.Team": {
+ "rottentomatoes.TVSeason": {
"properties": {
- "id": {
- "example": "18454",
- "type": "string"
- },
"name": {
- "example": "Arizona Cardinals",
+ "description": "Season name, such as `Season 1`.",
+ "example": "Season 1",
"type": "string"
},
- "slug": {
- "example": "arizona-cardinals",
+ "path": {
+ "description": "Rotten Tomatoes path of the season page, such as `/tv/breaking_bad/s01`.",
+ "example": "/tv/breaking_bad/s01",
"type": "string"
},
"url": {
- "example": "https://sportsbook.draftkings.com/teams/football/arizona-cardinals-odds-18454",
+ "description": "Rotten Tomatoes page URL of the season.",
+ "example": "https://www.rottentomatoes.com/tv/breaking_bad/s01",
"type": "string"
}
},
"type": "object"
},
- "sportsbook.TeamDetailResponse": {
+ "rottentomatoes.WatchOffer": {
"properties": {
- "abbreviation": {
- "example": "ARI",
- "type": "string"
- },
- "city": {
- "example": "Arizona",
- "type": "string"
- },
- "fetched_at": {
+ "availability_date": {
+ "description": "Date the offer becomes available, such as `2026-12-07`.",
"type": "string"
},
- "id": {
- "example": "18454",
+ "license": {
+ "description": "How the title is offered: `stream`, `rent`, `purchase`, `buy tickets` or\n`preorder`.",
+ "enum": [
+ "stream",
+ "rent",
+ "purchase",
+ "buy tickets",
+ "preorder"
+ ],
"type": "string"
},
- "leagues": {
- "items": {
- "$ref": "#/definitions/sportsbook.TeamLeagueRef"
- },
- "type": "array"
- },
"name": {
- "example": "ARI Cardinals",
+ "description": "Provider name, such as `Fandango`.",
"type": "string"
},
- "primary_color": {
- "example": "#97233F",
- "type": "string"
+ "preorder": {
+ "description": "Whether the offer is a preorder.",
+ "type": "boolean"
},
- "secondary_color": {
- "example": "#000000",
+ "price": {
+ "description": "Price of the offer as the provider lists it, without a currency symbol.",
"type": "string"
},
- "short_name": {
- "example": "Cardinals",
+ "provider_id": {
+ "description": "Provider id when the upstream reports one.",
"type": "string"
},
- "source_url": {
+ "quality": {
+ "description": "Video quality of the offer, such as `UHD` or `HD`.",
"type": "string"
},
- "sport": {
- "example": "football",
+ "title": {
+ "description": "Title as the offer lists it.",
"type": "string"
},
- "sport_id": {
- "example": "3",
+ "url": {
+ "description": "Public provider page for the offer.",
"type": "string"
}
},
"type": "object"
},
- "sportsbook.TeamLeagueRef": {
+ "rottentomatoes.browseFiltersResponseDoc": {
"properties": {
- "id": {
- "example": "88808",
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "slug": {
- "example": "nfl",
+ "data": {
+ "$ref": "#/definitions/rottentomatoes.BrowseFiltersResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "sportsbook.TeamsResponse": {
+ "rottentomatoes.browseResponseDoc": {
"properties": {
- "count": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "fetched_at": {
- "type": "string"
- },
- "league": {
- "example": "nfl",
- "type": "string"
- },
- "source_url": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/rottentomatoes.BrowseResponse"
},
- "sport": {
- "example": "football",
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "teams": {
- "items": {
- "$ref": "#/definitions/sportsbook.Team"
- },
- "type": "array"
}
},
"type": "object"
},
- "sportsbook.eventContextResponseDoc": {
+ "rottentomatoes.criticPublicationsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/sportsbook.EventContextResponse"
+ "$ref": "#/definitions/rottentomatoes.CriticPublicationsResponse"
},
"msg": {
"example": "OK",
@@ -211919,14 +217797,14 @@
},
"type": "object"
},
- "sportsbook.eventMarketsResponseDoc": {
+ "rottentomatoes.criticResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/sportsbook.EventMarketsResponse"
+ "$ref": "#/definitions/rottentomatoes.CriticResponse"
},
"msg": {
"example": "OK",
@@ -211935,14 +217813,14 @@
},
"type": "object"
},
- "sportsbook.eventResponseDoc": {
+ "rottentomatoes.criticsAuthorsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/sportsbook.EventResponse"
+ "$ref": "#/definitions/rottentomatoes.CriticsAuthorsResponse"
},
"msg": {
"example": "OK",
@@ -211951,14 +217829,14 @@
},
"type": "object"
},
- "sportsbook.featuredLeaguesResponseDoc": {
+ "rottentomatoes.editorialContentResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/sportsbook.FeaturedLeaguesResponse"
+ "$ref": "#/definitions/rottentomatoes.EditorialContentResponse"
},
"msg": {
"example": "OK",
@@ -211967,14 +217845,14 @@
},
"type": "object"
},
- "sportsbook.futuresResponseDoc": {
+ "rottentomatoes.editorialContentTypesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/sportsbook.FuturesResponse"
+ "$ref": "#/definitions/rottentomatoes.EditorialContentTypesResponse"
},
"msg": {
"example": "OK",
@@ -211983,14 +217861,14 @@
},
"type": "object"
},
- "sportsbook.leagueEventsResponseDoc": {
+ "rottentomatoes.editorialDetailResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/sportsbook.LeagueEventsResponse"
+ "$ref": "#/definitions/rottentomatoes.EditorialDetailResponse"
},
"msg": {
"example": "OK",
@@ -211999,14 +217877,14 @@
},
"type": "object"
},
- "sportsbook.leaguesResponseDoc": {
+ "rottentomatoes.editorialSearchResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/sportsbook.LeaguesResponse"
+ "$ref": "#/definitions/rottentomatoes.EditorialSearchResponse"
},
"msg": {
"example": "OK",
@@ -212015,14 +217893,14 @@
},
"type": "object"
},
- "sportsbook.liveResponseDoc": {
+ "rottentomatoes.editorialSectionResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/sportsbook.LiveResponse"
+ "$ref": "#/definitions/rottentomatoes.EditorialSectionResponse"
},
"msg": {
"example": "OK",
@@ -212031,14 +217909,14 @@
},
"type": "object"
},
- "sportsbook.oddsResponseDoc": {
+ "rottentomatoes.editorialTaxonomiesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/sportsbook.OddsResponse"
+ "$ref": "#/definitions/rottentomatoes.EditorialTaxonomiesResponse"
},
"msg": {
"example": "OK",
@@ -212047,14 +217925,14 @@
},
"type": "object"
},
- "sportsbook.quickLinksResponseDoc": {
+ "rottentomatoes.editorialTermsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/sportsbook.QuickLinksResponse"
+ "$ref": "#/definitions/rottentomatoes.EditorialTermsResponse"
},
"msg": {
"example": "OK",
@@ -212063,14 +217941,14 @@
},
"type": "object"
},
- "sportsbook.teamResponseDoc": {
+ "rottentomatoes.episodeResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/sportsbook.TeamDetailResponse"
+ "$ref": "#/definitions/rottentomatoes.EpisodeResponse"
},
"msg": {
"example": "OK",
@@ -212079,14 +217957,14 @@
},
"type": "object"
},
- "sportsbook.teamsResponseDoc": {
+ "rottentomatoes.movieResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/sportsbook.TeamsResponse"
+ "$ref": "#/definitions/rottentomatoes.MovieResponse"
},
"msg": {
"example": "OK",
@@ -212095,554 +217973,492 @@
},
"type": "object"
},
- "sportskeeda.AuthorResponse": {
+ "rottentomatoes.movieVideosResponseDoc": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/newsplatform.HeadlineItem"
- },
- "type": "array"
- },
- "biography": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "image_url": {
- "type": "string"
- },
- "name": {
- "type": "string"
- },
- "role": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "slug": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/rottentomatoes.MovieVideosResponse"
},
- "url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "sportskeeda.CalendarEvent": {
+ "rottentomatoes.moviesBatchResponseDoc": {
"properties": {
- "branding_logo": {
- "type": "string"
- },
- "branding_text": {
- "type": "string"
- },
- "branding_text_color": {
- "type": "string"
- },
- "card_background": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "card_background_color": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/rottentomatoes.BatchMoviesResponse"
},
- "description": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "duration_days": {
+ }
+ },
+ "type": "object"
+ },
+ "rottentomatoes.personResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "end_date": {
- "example": "2026-10-17",
- "type": "string"
- },
- "image_links": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/rottentomatoes.PersonResponse"
},
- "invert_text_color": {
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "rottentomatoes.publicationResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "month": {
- "example": "2026-09",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/rottentomatoes.PublicationResponse"
},
- "month_label": {
- "example": "September 2026",
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "rottentomatoes.publicationReviewsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "name": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/rottentomatoes.ReviewsResponse"
},
- "open_link": {
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "rottentomatoes.reviewsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "sport": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/rottentomatoes.ReviewsResponse"
},
- "start_date": {
- "example": "2026-09-27",
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "rottentomatoes.searchResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "venue": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/rottentomatoes.SearchResponse"
},
- "videos": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "sportskeeda.CollegeBasketballConference": {
+ "rottentomatoes.seasonResponseDoc": {
"properties": {
- "abbr": {
- "type": "string"
- },
- "id": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "name": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/rottentomatoes.SeasonResponse"
},
- "slug": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "sportskeeda.CollegeBasketballDivision": {
+ "rottentomatoes.seriesResponseDoc": {
"properties": {
- "id": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "name": {
+ "data": {
+ "$ref": "#/definitions/rottentomatoes.SeriesResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "sportskeeda.CollegeBasketballLeader": {
+ "rottentomatoes.sitemapIndexResponseDoc": {
"properties": {
- "player_id": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "player_name": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/rottentomatoes.SitemapIndexResponse"
},
- "player_slug": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "value": {
- "type": "integer"
}
},
"type": "object"
},
- "sportskeeda.CollegeBasketballLocation": {
+ "rottentomatoes.sitemapURLResponseDoc": {
"properties": {
- "abbreviation": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "name": {
+ "data": {
+ "$ref": "#/definitions/rottentomatoes.SitemapURLResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "sportskeeda.CollegeBasketballScheduleGame": {
+ "rover.ProfileResponse": {
"properties": {
- "away_team": {
- "$ref": "#/definitions/sportskeeda.CollegeBasketballTeam"
- },
- "end_date": {
+ "bio": {
"type": "string"
},
- "event_id": {
- "type": "integer"
- },
- "event_type_id": {
- "type": "integer"
+ "city": {
+ "type": "string"
},
- "has_score": {
+ "is_star_sitter": {
"type": "boolean"
},
- "home_team": {
- "$ref": "#/definitions/sportskeeda.CollegeBasketballTeam"
- },
- "is_tba": {
- "type": "boolean"
+ "name": {
+ "type": "string"
},
- "loser_high": {
- "$ref": "#/definitions/sportskeeda.CollegeBasketballLeader"
+ "neighborhood": {
+ "type": "string"
},
- "start_date": {
+ "price_unit": {
"type": "string"
},
- "status": {
+ "profile_image": {
"type": "string"
},
- "tv_stations": {
+ "rating": {
+ "type": "number"
+ },
+ "repeat_client_count": {
+ "type": "integer"
+ },
+ "review_count": {
+ "type": "integer"
+ },
+ "reviews": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/rover.ReviewExcerpt"
},
"type": "array"
},
- "venue": {
- "$ref": "#/definitions/sportskeeda.CollegeBasketballVenue"
+ "services": {
+ "items": {
+ "$ref": "#/definitions/rover.ServiceOffering"
+ },
+ "type": "array"
},
- "winner_high": {
- "$ref": "#/definitions/sportskeeda.CollegeBasketballLeader"
+ "slug": {
+ "type": "string"
+ },
+ "starting_price": {
+ "type": "number"
+ },
+ "state": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "years_experience": {
+ "type": "integer"
}
},
"type": "object"
},
- "sportskeeda.CollegeBasketballScheduleOptionsResponse": {
+ "rover.ReviewExcerpt": {
"properties": {
- "conference_filter_supported": {
- "type": "boolean"
- },
"date": {
"type": "string"
},
- "date_end": {
- "type": "string"
+ "rating": {
+ "type": "number"
},
- "date_start": {
+ "reviewer": {
"type": "string"
},
- "season": {
- "type": "integer"
- },
- "season_name": {
+ "service_type": {
"type": "string"
},
- "seasons": {
- "items": {
- "type": "integer"
- },
- "type": "array"
- },
- "slug": {
+ "text": {
"type": "string"
}
},
"type": "object"
},
- "sportskeeda.CollegeBasketballScheduleResponse": {
+ "rover.SearchResponse": {
"properties": {
- "date": {
+ "location": {
"type": "string"
},
- "games": {
+ "page": {
+ "type": "integer"
+ },
+ "page_count": {
+ "type": "integer"
+ },
+ "per_page": {
+ "type": "integer"
+ },
+ "service_type": {
+ "type": "string"
+ },
+ "sitters": {
"items": {
- "$ref": "#/definitions/sportskeeda.CollegeBasketballScheduleGame"
+ "$ref": "#/definitions/rover.SitterSummary"
},
"type": "array"
},
- "season": {
+ "total_count": {
"type": "integer"
- },
- "season_name": {
+ }
+ },
+ "type": "object"
+ },
+ "rover.ServiceOffering": {
+ "properties": {
+ "name": {
"type": "string"
},
- "status": {
- "enum": [
- "ok",
- "no_games"
- ],
- "type": "string"
+ "price": {
+ "type": "number"
},
- "updated_at": {
+ "unit": {
"type": "string"
}
},
"type": "object"
},
- "sportskeeda.CollegeBasketballTeam": {
+ "rover.SitterSummary": {
"properties": {
- "abbr": {
+ "city": {
"type": "string"
},
- "conference": {
- "$ref": "#/definitions/sportskeeda.CollegeBasketballConference"
- },
- "division": {
- "$ref": "#/definitions/sportskeeda.CollegeBasketballDivision"
+ "description": {
+ "type": "string"
},
- "is_winner": {
+ "is_star_sitter": {
"type": "boolean"
},
- "location": {
+ "name": {
"type": "string"
},
- "location_type": {
+ "neighborhood": {
"type": "string"
},
- "nickname": {
+ "price_unit": {
"type": "string"
},
- "score": {
+ "profile_image": {
+ "type": "string"
+ },
+ "profile_url": {
+ "type": "string"
+ },
+ "rating": {
+ "type": "number"
+ },
+ "repeat_client_count": {
"type": "integer"
},
- "team_id": {
+ "review_count": {
"type": "integer"
},
- "team_name": {
+ "service_type": {
"type": "string"
},
- "team_slug": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "sportskeeda.CollegeBasketballVenue": {
- "properties": {
- "city": {
+ "slug": {
"type": "string"
},
- "country": {
- "$ref": "#/definitions/sportskeeda.CollegeBasketballLocation"
+ "starting_price": {
+ "type": "number"
},
- "name": {
+ "state": {
"type": "string"
},
- "state": {
- "$ref": "#/definitions/sportskeeda.CollegeBasketballLocation"
+ "years_experience": {
+ "type": "integer"
+ },
+ "zip": {
+ "type": "string"
}
},
"type": "object"
},
- "sportskeeda.CricketCommentaryResponse": {
+ "rover.TrainerEducation": {
"properties": {
- "commentary": {
- "items": {
- "additionalProperties": true,
- "type": "object"
- },
- "type": "array"
- },
- "count": {
- "type": "integer"
- },
- "cursor": {
- "type": "string"
- },
- "language": {
+ "organization": {
"type": "string"
},
- "slug": {
+ "text": {
"type": "string"
}
},
"type": "object"
},
- "sportskeeda.CricketMatchResponse": {
+ "rover.TrainerProfileResponse": {
"properties": {
- "commentary": {
- "items": {
- "additionalProperties": true,
- "type": "object"
- },
- "type": "array"
- },
- "competition_id": {},
- "datetime": {
- "type": "integer"
- },
- "day": {
- "type": "string"
- },
- "game_format": {
- "type": "integer"
- },
- "game_type": {
- "type": "string"
- },
- "in_play": {
- "type": "boolean"
- },
- "info": {
+ "availability_details": {
"type": "string"
},
- "innings": {
+ "behaviors": {
"items": {
- "additionalProperties": true,
- "type": "object"
+ "type": "string"
},
"type": "array"
},
- "match_id": {
- "type": "string"
- },
- "match_number": {},
- "match_number_with_format": {
- "type": "string"
- },
- "match_status": {
- "type": "string"
- },
- "now_batting": {
- "additionalProperties": true,
- "type": "object"
- },
- "now_bowling": {
- "additionalProperties": true,
- "type": "object"
- },
- "score_strip": {
+ "education": {
"items": {
- "additionalProperties": true,
- "type": "object"
+ "$ref": "#/definitions/rover.TrainerEducation"
},
"type": "array"
},
- "series": {
+ "experience_details": {
"type": "string"
},
- "series_keeda_slug": {
+ "headline": {
"type": "string"
},
- "session": {
+ "methodology": {
"type": "string"
},
- "short_title": {
+ "methodology_details": {
"type": "string"
},
- "slug": {
+ "name": {
"type": "string"
},
- "squad": {
- "items": {
- "additionalProperties": true,
- "type": "object"
- },
- "type": "array"
- },
- "title": {
+ "profile_image": {
"type": "string"
},
- "toss_decision": {
- "type": "string"
+ "rating": {
+ "type": "number"
},
- "toss_won_by": {
- "type": "string"
+ "repeat_client_count": {
+ "type": "integer"
},
- "updated_at": {
+ "review_count": {
"type": "integer"
},
- "venue": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "sportskeeda.DataTable": {
- "properties": {
- "columns": {
+ "skills": {
"items": {
"type": "string"
},
"type": "array"
},
- "name": {
+ "slug": {
"type": "string"
},
- "rows": {
- "items": {
- "items": {
- "$ref": "#/definitions/sportskeeda.TableCell"
- },
- "type": "array"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "sportskeeda.DepthChartPosition": {
- "properties": {
- "name": {
+ "url": {
"type": "string"
},
- "players": {
- "items": {
- "$ref": "#/definitions/sportskeeda.PageView"
- },
- "type": "array"
+ "years_of_training": {
+ "type": "integer"
}
},
"type": "object"
},
- "sportskeeda.DepthChartResponse": {
+ "rover.TrainerSearchResponse": {
"properties": {
- "slug": {
+ "location": {
"type": "string"
},
- "teams": {
+ "trainers": {
"items": {
- "$ref": "#/definitions/sportskeeda.DepthChartTeam"
+ "$ref": "#/definitions/rover.TrainerSummary"
},
"type": "array"
- },
- "title": {
- "type": "string"
}
},
"type": "object"
},
- "sportskeeda.DepthChartTeam": {
+ "rover.TrainerSummary": {
"properties": {
- "name": {
- "type": "string"
- },
- "positions": {
+ "behaviors": {
"items": {
- "$ref": "#/definitions/sportskeeda.DepthChartPosition"
+ "type": "string"
},
"type": "array"
},
- "slug": {
+ "city": {
"type": "string"
- }
- },
- "type": "object"
- },
- "sportskeeda.DraftPick": {
- "properties": {
- "college": {
+ },
+ "experience_details": {
"type": "string"
},
- "name": {
+ "headline": {
"type": "string"
},
- "overall_pick": {
+ "methodology": {
"type": "string"
},
- "position": {
+ "name": {
"type": "string"
},
- "round": {
+ "price_unit": {
"type": "string"
},
- "round_pick": {
+ "profile_image": {
"type": "string"
},
- "team_code": {
+ "profile_url": {
"type": "string"
},
- "year": {
+ "rating": {
+ "type": "number"
+ },
+ "repeat_client_count": {
"type": "integer"
- }
- },
- "type": "object"
- },
- "sportskeeda.DraftPicksOptionsResponse": {
- "properties": {
- "positions": {
- "items": {
- "type": "string"
- },
- "type": "array"
},
- "rounds": {
+ "review_count": {
+ "type": "integer"
+ },
+ "skills": {
"items": {
"type": "string"
},
@@ -212651,156 +218467,110 @@
"slug": {
"type": "string"
},
- "team": {
+ "starting_price": {
+ "type": "number"
+ },
+ "state": {
"type": "string"
},
- "total": {
+ "years_experience": {
"type": "integer"
},
- "years": {
- "items": {
- "type": "integer"
- },
- "type": "array"
+ "zip": {
+ "type": "string"
}
},
"type": "object"
},
- "sportskeeda.DraftPicksResponse": {
+ "rover.profileResponseDoc": {
"properties": {
- "has_more": {
- "type": "boolean"
- },
- "page": {
- "type": "integer"
- },
- "per_page": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "picks": {
- "items": {
- "$ref": "#/definitions/sportskeeda.DraftPick"
- },
- "type": "array"
- },
- "position": {
- "type": "string"
- },
- "q": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/rover.ProfileResponse"
},
- "round": {
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "rover.searchResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "slug": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/rover.SearchResponse"
},
- "team": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "total": {
- "type": "integer"
- },
- "year": {
- "type": "integer"
}
},
"type": "object"
},
- "sportskeeda.EventCalendarOptionsResponse": {
+ "rover.trainerProfileResponseDoc": {
"properties": {
- "regions": {
- "items": {
- "$ref": "#/definitions/sportskeeda.EventCalendarRegionOptions"
- },
- "type": "array"
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/rover.TrainerProfileResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "sportskeeda.EventCalendarRegionOptions": {
+ "rover.trainerSearchResponseDoc": {
"properties": {
- "months": {
- "example": [
- "2026-09",
- "2026-10",
- "2026-11",
- "2026-12"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "region": {
- "enum": [
- "us",
- "india"
- ],
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/rover.TrainerSearchResponse"
},
- "sports": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "sportskeeda.EventCalendarResponse": {
+ "rte.AuthorResponse": {
"properties": {
- "end_date": {
- "type": "string"
- },
- "events": {
- "items": {
- "$ref": "#/definitions/sportskeeda.CalendarEvent"
- },
- "type": "array"
- },
- "months": {
+ "articles": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/newsplatform.HeadlineItem"
},
"type": "array"
},
- "region": {
- "enum": [
- "us",
- "india"
- ],
+ "image_url": {
"type": "string"
},
- "sport": {
+ "name": {
"type": "string"
},
- "start_date": {
+ "role": {
"type": "string"
},
- "total": {
- "type": "integer"
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "sportskeeda.FeedItem": {
+ "salon.AuthorArticle": {
"properties": {
- "age": {
- "type": "string"
- },
- "category": {
- "type": "string"
- },
- "image": {
- "type": "string"
- },
- "section": {
- "type": "string"
- },
- "slug": {
- "type": "string"
- },
"title": {
"type": "string"
},
@@ -212810,1069 +218580,1117 @@
},
"type": "object"
},
- "sportskeeda.FeedResponse": {
+ "salon.AuthorResponse": {
"properties": {
- "items": {
+ "articles": {
"items": {
- "$ref": "#/definitions/sportskeeda.FeedItem"
+ "$ref": "#/definitions/salon.AuthorArticle"
},
"type": "array"
},
- "next_page": {
- "type": "integer"
- },
- "page": {
- "type": "integer"
- },
- "slug": {
- "type": "string"
- },
- "title": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "sportskeeda.FootballDataResponse": {
- "properties": {
- "event": {
- "type": "string"
- },
- "event_name": {
- "type": "string"
- },
- "matchday": {
+ "bio": {
"type": "string"
},
- "matchday_name": {
+ "image_url": {
"type": "string"
},
- "matches": {
- "items": {
- "$ref": "#/definitions/sportskeeda.FootballFixture"
- },
- "type": "array"
- },
- "next_matchday": {
+ "job_title": {
"type": "string"
},
- "previous_matchday": {
+ "name": {
"type": "string"
},
- "standings": {
+ "same_as": {
"items": {
- "$ref": "#/definitions/sportskeeda.FootballStanding"
+ "type": "string"
},
"type": "array"
},
- "status": {
- "enum": [
- "ok",
- "no_matches"
- ],
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "sportskeeda.FootballEvent": {
+ "samsclub.CategoryBreadcrumbEntry": {
"properties": {
- "logo": {
+ "id": {
+ "example": "100001",
"type": "string"
},
"name": {
+ "example": "All Departments",
"type": "string"
},
- "slug": {
+ "url": {
+ "example": "https://www.samsclub.com/all-departments",
"type": "string"
}
},
"type": "object"
},
- "sportskeeda.FootballFixture": {
+ "samsclub.CategoryProduct": {
"properties": {
- "away": {
- "type": "string"
- },
- "away_score": {
+ "availability": {
+ "example": "IN_STOCK",
"type": "string"
},
- "away_slug": {
+ "brand": {
+ "example": "Tide",
"type": "string"
},
- "datetime": {
+ "currency_code": {
+ "example": "USD",
"type": "string"
},
- "home": {
- "type": "string"
+ "current_price": {
+ "example": 19.98,
+ "type": "number"
},
- "home_score": {
+ "image_url": {
"type": "string"
},
- "home_slug": {
+ "item_id": {
+ "example": "13610014888",
"type": "string"
},
- "id": {
+ "name": {
+ "example": "Tide Power PODS + Ultra OXI Laundry Detergent Pacs, 72 ct.",
"type": "string"
},
- "postponed": {
+ "on_sale": {
+ "example": true,
"type": "boolean"
},
- "result": {
+ "rating": {
+ "example": 4.8,
+ "type": "number"
+ },
+ "regular_price": {
+ "example": 24.98,
+ "type": "number"
+ },
+ "review_count": {
+ "example": 4122,
+ "type": "integer"
+ },
+ "savings_amount": {
+ "example": 5,
+ "type": "number"
+ },
+ "type": {
+ "example": "Laundry Detergents",
"type": "string"
},
- "slug": {
+ "unit_price_text": {
+ "example": "$0.28/ea",
"type": "string"
},
- "status": {
+ "url": {
+ "example": "https://www.samsclub.com/ip/Tide-Power-PODS-Ultra-OXI-Laundry-Detergent-Pacs-72-ct/13610014888",
"type": "string"
}
},
"type": "object"
},
- "sportskeeda.FootballMatchday": {
+ "samsclub.CategoryResponse": {
"properties": {
- "end": {
+ "breadcrumb": {
+ "items": {
+ "$ref": "#/definitions/samsclub.CategoryBreadcrumbEntry"
+ },
+ "type": "array"
+ },
+ "category_id": {
+ "example": "15660127",
"type": "string"
},
- "match_count": {
+ "count": {
+ "example": 47,
"type": "integer"
},
- "name": {
+ "fetched_at": {
"type": "string"
},
- "selected": {
+ "has_more": {
+ "example": true,
"type": "boolean"
},
- "slug": {
+ "max_page": {
+ "example": 16,
+ "type": "integer"
+ },
+ "page": {
+ "example": 1,
+ "type": "integer"
+ },
+ "products": {
+ "items": {
+ "$ref": "#/definitions/samsclub.CategoryProduct"
+ },
+ "type": "array"
+ },
+ "source_url": {
"type": "string"
},
- "start": {
+ "title": {
+ "example": "Results for \"Savings\"",
"type": "string"
+ },
+ "total_count": {
+ "example": 687,
+ "type": "integer"
}
},
"type": "object"
},
- "sportskeeda.FootballOptionsResponse": {
+ "samsclub.ContentResponse": {
"properties": {
- "event": {
- "type": "string"
- },
- "events": {
+ "breadcrumb": {
"items": {
- "$ref": "#/definitions/sportskeeda.FootballEvent"
+ "$ref": "#/definitions/samsclub.CategoryBreadcrumbEntry"
},
"type": "array"
},
- "matchdays": {
+ "category_links": {
"items": {
- "$ref": "#/definitions/sportskeeda.FootballMatchday"
+ "$ref": "#/definitions/samsclub.DepartmentLink"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "sportskeeda.FootballStanding": {
- "properties": {
- "draws": {
- "type": "integer"
},
- "goal_difference": {
+ "fetched_at": {
"type": "string"
},
- "goals_against": {
+ "id": {
+ "example": "16050279",
"type": "string"
},
- "goals_for": {
- "type": "string"
+ "shelves": {
+ "items": {
+ "$ref": "#/definitions/samsclub.RelatedShelf"
+ },
+ "type": "array"
},
- "group": {
+ "source_url": {
"type": "string"
},
- "league": {
+ "title": {
+ "example": "Savings Center",
"type": "string"
- },
- "losses": {
- "type": "integer"
- },
- "played": {
- "type": "integer"
- },
- "points": {
- "type": "integer"
- },
- "position": {
- "type": "integer"
- },
- "qualification": {
+ }
+ },
+ "type": "object"
+ },
+ "samsclub.Department": {
+ "properties": {
+ "id": {
+ "example": "1444",
"type": "string"
},
- "team": {
+ "image_url": {
"type": "string"
},
- "team_code": {
+ "name": {
+ "example": "Grocery",
"type": "string"
},
- "team_slug": {
- "type": "string"
+ "subcategories": {
+ "items": {
+ "$ref": "#/definitions/samsclub.DepartmentLink"
+ },
+ "type": "array"
},
- "wins": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "sportskeeda.GuessingGameClue": {
- "properties": {
- "image": {
+ "type": {
+ "example": "browse",
"type": "string"
},
- "order": {
- "type": "integer"
- },
- "text": {
+ "url": {
+ "example": "https://www.samsclub.com/browse/1444",
"type": "string"
}
},
"type": "object"
},
- "sportskeeda.GuessingGameDataResponse": {
+ "samsclub.DepartmentLink": {
"properties": {
- "date": {
+ "id": {
+ "example": "1444",
"type": "string"
},
- "game_name": {
+ "name": {
+ "example": "Grocery",
"type": "string"
},
- "game_slug": {
+ "type": {
+ "example": "browse",
"type": "string"
},
- "instances": {
- "items": {
- "$ref": "#/definitions/sportskeeda.GuessingGameInstance"
- },
- "type": "array"
- },
- "slug": {
+ "url": {
+ "example": "https://www.samsclub.com/browse/1444",
"type": "string"
}
},
"type": "object"
},
- "sportskeeda.GuessingGameEntitiesResponse": {
+ "samsclub.DepartmentsResponse": {
"properties": {
- "entities": {
+ "departments": {
"items": {
- "$ref": "#/definitions/sportskeeda.GuessingGameEntity"
+ "$ref": "#/definitions/samsclub.Department"
},
"type": "array"
},
- "game_slug": {
+ "fetched_at": {
"type": "string"
},
- "slug": {
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "sportskeeda.GuessingGameEntity": {
+ "samsclub.Product": {
"properties": {
- "age_at_death": {
- "type": "integer"
- },
- "alias1": {
+ "availability": {
+ "example": "IN_STOCK",
"type": "string"
},
"brand": {
+ "example": "Tide",
"type": "string"
},
- "conference": {
- "type": "string"
- },
- "date_of_birth": {
- "type": "string"
- },
- "dead": {
- "type": "string"
+ "category": {
+ "example": [
+ "All Departments",
+ "Household Essentials",
+ "Laundry Supplies",
+ "Laundry Detergent"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "division": {
+ "currency_code": {
+ "example": "USD",
"type": "string"
},
- "experience": {
- "type": "string"
+ "current_price": {
+ "example": 19.98,
+ "type": "number"
},
- "gender": {
+ "description": {
"type": "string"
},
- "hall_of_fame": {
- "type": "string"
+ "highlights": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "height_in_inches": {
- "type": "integer"
+ "images": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "id": {
+ "item_id": {
+ "example": "13610014888",
"type": "string"
},
- "identifier": {
+ "item_number": {
+ "example": "990471947",
"type": "string"
},
"name": {
+ "example": "Tide Power PODS + Ultra OXI Laundry Detergent Pacs, 72 ct.",
"type": "string"
},
- "position": {
- "type": "string"
+ "on_sale": {
+ "example": true,
+ "type": "boolean"
},
- "team": {
- "type": "string"
+ "rating": {
+ "example": 4.8,
+ "type": "number"
},
- "touchdowns": {
- "type": "integer"
+ "regular_price": {
+ "example": 24.98,
+ "type": "number"
},
- "uniform": {
+ "review_count": {
+ "example": 4122,
"type": "integer"
},
- "wrestlemania_appearances": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "sportskeeda.GuessingGameInstance": {
- "properties": {
- "clues": {
- "items": {
- "$ref": "#/definitions/sportskeeda.GuessingGameClue"
- },
- "type": "array"
+ "savings_amount": {
+ "example": 5,
+ "type": "number"
},
- "date": {
+ "unit_price": {
+ "example": 0.28,
+ "type": "number"
+ },
+ "unit_price_text": {
+ "example": "$0.28/ea",
"type": "string"
},
- "id": {
+ "upc": {
+ "example": "030772073438",
"type": "string"
},
- "original_image": {
+ "url": {
+ "example": "https://www.samsclub.com/ip/13610014888",
"type": "string"
}
},
"type": "object"
},
- "sportskeeda.GuessingGameOption": {
+ "samsclub.RelatedItem": {
"properties": {
- "game_slug": {
+ "availability": {
+ "example": "IN_STOCK",
+ "type": "string"
+ },
+ "currency_code": {
+ "example": "USD",
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "item_id": {
+ "example": "13576901230",
"type": "string"
},
"name": {
+ "example": "Tide PODS Laundry Detergent Pacs, Spring Meadow, 156 ct.",
"type": "string"
},
- "slug": {
+ "price": {
+ "example": 29.98,
+ "type": "number"
+ },
+ "rating": {
+ "example": 4.8184,
+ "type": "number"
+ },
+ "review_count": {
+ "example": 13701,
+ "type": "integer"
+ },
+ "url": {
+ "example": "https://www.samsclub.com/ip/Tide-PODS-Laundry-Detergent-Pacs-Spring-Meadow-156-ct/13576901230",
"type": "string"
}
},
"type": "object"
},
- "sportskeeda.GuessingGamesResponse": {
+ "samsclub.RelatedItemsResponse": {
"properties": {
- "games": {
+ "fetched_at": {
+ "type": "string"
+ },
+ "item_id": {
+ "example": "13610014888",
+ "type": "string"
+ },
+ "shelves": {
"items": {
- "$ref": "#/definitions/sportskeeda.GuessingGameOption"
+ "$ref": "#/definitions/samsclub.RelatedShelf"
},
"type": "array"
+ },
+ "source_url": {
+ "type": "string"
}
},
"type": "object"
},
- "sportskeeda.NBAQueriesResponse": {
+ "samsclub.RelatedShelf": {
"properties": {
- "categories": {
- "items": {
- "$ref": "#/definitions/sportskeeda.NBAQueryCategory"
- },
- "type": "array"
- },
- "category": {
- "enum": [
- "player-stat",
- "player-vs-team"
- ],
- "type": "string"
- },
"items": {
"items": {
- "$ref": "#/definitions/sportskeeda.NBAQueryItem"
+ "$ref": "#/definitions/samsclub.RelatedItem"
},
"type": "array"
},
- "limit": {
+ "title": {
+ "example": "Members also considered",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "samsclub.categoryResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "offset": {
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/samsclub.CategoryResponse"
},
- "total": {
- "type": "integer"
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "sportskeeda.NBAQueryCategory": {
+ "samsclub.contentResponseDoc": {
"properties": {
- "count": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "id": {
- "enum": [
- "player-stat",
- "player-vs-team"
- ],
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/samsclub.ContentResponse"
},
- "name": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "sportskeeda.NBAQueryItem": {
+ "samsclub.departmentsResponseDoc": {
"properties": {
- "category": {
- "enum": [
- "player-stat",
- "player-vs-team"
- ],
- "type": "string"
- },
- "slug": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "subject": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/samsclub.DepartmentsResponse"
},
- "title": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "sportskeeda.NavigationGroup": {
+ "samsclub.productResponseDoc": {
"properties": {
- "items": {
- "items": {
- "$ref": "#/definitions/sportskeeda.SectionLink"
- },
- "type": "array"
- },
- "name": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "slug": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/samsclub.Product"
},
- "url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "sportskeeda.PageFilter": {
+ "samsclub.relatedItemsResponseDoc": {
"properties": {
- "label": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "name": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/samsclub.RelatedItemsResponse"
},
- "values": {
- "items": {
- "$ref": "#/definitions/sportskeeda.PageFilterValue"
- },
- "type": "array"
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "sportskeeda.PageFilterValue": {
+ "sbsnews.AuthorArticle": {
"properties": {
- "name": {
+ "published_at": {
"type": "string"
},
- "selected": {
- "type": "boolean"
+ "summary": {
+ "type": "string"
},
- "slug": {
+ "title": {
"type": "string"
},
- "value": {
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "sportskeeda.PageGroup": {
+ "sbsnews.AuthorResponse": {
"properties": {
- "items": {
+ "articles": {
"items": {
- "$ref": "#/definitions/sportskeeda.PageView"
+ "$ref": "#/definitions/sbsnews.AuthorArticle"
},
"type": "array"
},
- "name": {
+ "biography": {
+ "type": "string"
+ },
+ "has_next_page": {
+ "type": "boolean"
+ },
+ "headshot_url": {
"type": "string"
- }
- },
- "type": "object"
- },
- "sportskeeda.PageMenu": {
- "properties": {
- "groups": {
- "items": {
- "$ref": "#/definitions/sportskeeda.PageGroup"
- },
- "type": "array"
},
"name": {
"type": "string"
+ },
+ "page": {
+ "type": "integer"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "sportskeeda.PageOptionsResponse": {
+ "sciencealert.AuthorResponse": {
"properties": {
- "filters": {
+ "articles": {
"items": {
- "$ref": "#/definitions/sportskeeda.PageFilter"
+ "$ref": "#/definitions/newsplatform.HeadlineItem"
},
"type": "array"
},
- "menus": {
+ "biography": {
"items": {
- "$ref": "#/definitions/sportskeeda.PageMenu"
+ "type": "string"
},
"type": "array"
},
- "slug": {
+ "has_next_page": {
+ "type": "boolean"
+ },
+ "image_url": {
"type": "string"
},
- "sports": {
- "items": {
- "$ref": "#/definitions/sportskeeda.PageView"
- },
- "type": "array"
+ "name": {
+ "type": "string"
},
- "tabs": {
- "items": {
- "$ref": "#/definitions/sportskeeda.PageView"
- },
- "type": "array"
+ "page": {
+ "type": "integer"
},
- "title": {
+ "slug": {
"type": "string"
},
- "views": {
+ "social_links": {
"items": {
- "$ref": "#/definitions/sportskeeda.PageView"
+ "$ref": "#/definitions/sciencealert.AuthorSocialLink"
},
"type": "array"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "sportskeeda.PageView": {
+ "sciencealert.AuthorSocialLink": {
"properties": {
- "name": {
+ "platform": {
"type": "string"
},
- "slug": {
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "sportskeeda.PlayerSeasonStats": {
+ "scmp.ArticleResponse": {
"properties": {
- "event_type": {
- "type": "string"
- },
- "games_played": {
- "type": "integer"
- },
- "games_started": {
- "type": "integer"
+ "authors": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "metrics": {
- "additionalProperties": {},
- "type": "object"
+ "content_locked": {
+ "type": "boolean"
},
- "name": {
+ "description": {
"type": "string"
},
- "season": {
- "type": "integer"
+ "image_url": {
+ "type": "string"
},
- "team": {
- "$ref": "#/definitions/sportskeeda.PlayerStatsTeam"
- }
- },
- "type": "object"
- },
- "sportskeeda.PlayerStatsResponse": {
- "properties": {
- "event_types": {
+ "paragraphs": {
"items": {
- "$ref": "#/definitions/sportskeeda.PageFilterValue"
+ "type": "string"
},
"type": "array"
},
- "records": {
+ "paywall_types": {
"items": {
- "$ref": "#/definitions/sportskeeda.PlayerSeasonStats"
+ "type": "string"
},
"type": "array"
},
- "selected_event_type": {
+ "published_at": {
"type": "string"
},
- "slug": {
+ "section": {
"type": "string"
},
- "sport": {
+ "title": {
"type": "string"
},
- "stat_fields": {
+ "topics": {
"items": {
"type": "string"
},
"type": "array"
},
- "title": {
+ "updated_at": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "sportskeeda.PlayerStatsTeam": {
+ "scmp.AuthorResponse": {
"properties": {
- "abbreviation": {
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/scmp.HeadlineItem"
+ },
+ "type": "array"
+ },
+ "bio": {
"type": "string"
},
- "id": {
- "type": "integer"
+ "expertise": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "image_url": {
+ "headshot_url": {
+ "type": "string"
+ },
+ "languages": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "location": {
"type": "string"
},
"name": {
"type": "string"
},
- "slug": {
+ "role": {
+ "type": "string"
+ },
+ "social_links": {
+ "items": {
+ "$ref": "#/definitions/scmp.AuthorSocialLink"
+ },
+ "type": "array"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "sportskeeda.ProfileFact": {
+ "scmp.AuthorSocialLink": {
"properties": {
- "name": {
+ "type": {
"type": "string"
},
- "value": {
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "sportskeeda.ProfileResponse": {
+ "scmp.HeadlineItem": {
"properties": {
- "description": {
+ "author": {
"type": "string"
},
- "facts": {
- "items": {
- "$ref": "#/definitions/sportskeeda.ProfileFact"
- },
- "type": "array"
+ "image_url": {
+ "type": "string"
},
- "kind": {
+ "published_at": {
"type": "string"
},
- "name": {
+ "summary": {
"type": "string"
},
- "news": {
- "items": {
- "$ref": "#/definitions/sportskeeda.FeedItem"
- },
- "type": "array"
+ "title": {
+ "type": "string"
},
- "slug": {
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "sportskeeda.QuizCategoriesResponse": {
+ "scmp.HeadlinesResponse": {
"properties": {
- "categories": {
+ "items": {
"items": {
- "$ref": "#/definitions/sportskeeda.QuizCategory"
+ "$ref": "#/definitions/scmp.HeadlineItem"
},
"type": "array"
+ },
+ "section": {
+ "type": "string"
}
},
"type": "object"
},
- "sportskeeda.QuizCategory": {
+ "scmp.Section": {
"properties": {
"name": {
"type": "string"
},
+ "parent_name": {
+ "type": "string"
+ },
+ "parent_slug": {
+ "type": "string"
+ },
"slug": {
"type": "string"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "sportskeeda.QuizChoice": {
+ "scmp.SectionsResponse": {
"properties": {
- "text": {
- "type": "string"
+ "sections": {
+ "items": {
+ "$ref": "#/definitions/scmp.Section"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "sportskeeda.QuizQuestion": {
+ "scmp.articleResponseDoc": {
"properties": {
- "image": {
- "type": "string"
- },
- "number": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "options": {
- "items": {
- "$ref": "#/definitions/sportskeeda.QuizChoice"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/scmp.ArticleResponse"
},
- "text": {
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "scmp.authorResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "type": {
+ "data": {
+ "$ref": "#/definitions/scmp.AuthorResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "sportskeeda.QuizResponse": {
+ "scmp.headlinesResponseDoc": {
"properties": {
- "category": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "questions": {
- "items": {
- "$ref": "#/definitions/sportskeeda.QuizQuestion"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/scmp.HeadlinesResponse"
},
- "slug": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "time_limit_seconds": {
+ }
+ },
+ "type": "object"
+ },
+ "scmp.sectionsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "title": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/scmp.SectionsResponse"
},
- "version_id": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "sportskeeda.QuizSummary": {
+ "screenrant.AuthorResponse": {
"properties": {
- "image": {
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/newsplatform.HeadlineItem"
+ },
+ "type": "array"
+ },
+ "biography": {
"type": "string"
},
- "slug": {
+ "image_url": {
"type": "string"
},
- "time_limit": {
+ "name": {
"type": "string"
},
+ "social_links": {
+ "items": {
+ "$ref": "#/definitions/screenrant.AuthorSocialLink"
+ },
+ "type": "array"
+ },
"title": {
"type": "string"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "sportskeeda.QuizzesResponse": {
+ "screenrant.AuthorSocialLink": {
"properties": {
- "items": {
- "items": {
- "$ref": "#/definitions/sportskeeda.QuizSummary"
- },
- "type": "array"
- },
- "slug": {
+ "type": {
"type": "string"
},
- "title": {
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "sportskeeda.SalaryBreakdown": {
+ "seatgeek.CategoriesResult": {
"properties": {
- "base_salary": {
- "type": "integer"
- },
- "guaranteed": {
- "type": "integer"
- },
- "option_bonus": {
- "type": "integer"
- },
- "other_bonus": {
- "type": "integer"
- },
- "per_game_bonus": {
- "type": "integer"
- },
- "roster_bonus": {
- "type": "integer"
- },
- "signing_bonus": {
- "type": "integer"
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/seatgeek.Category"
+ },
+ "type": "array"
},
- "workout_bonus": {
+ "total": {
"type": "integer"
}
},
"type": "object"
},
- "sportskeeda.SalaryCapPlayer": {
+ "seatgeek.Category": {
"properties": {
- "breakdown": {
- "$ref": "#/definitions/sportskeeda.SalaryBreakdown"
- },
- "cap_number": {
- "type": "integer"
- },
- "cut_post_june_1_cap_saving": {
- "type": "integer"
- },
- "cut_post_june_1_dead_money": {
+ "event_count": {
"type": "integer"
},
- "cut_pre_june_1_cap_saving": {
+ "id": {
+ "example": 1010100,
"type": "integer"
},
- "cut_pre_june_1_dead_money": {
- "type": "integer"
+ "image": {
+ "type": "string"
},
- "extension_cap_saving": {
- "type": "integer"
+ "is_visible": {
+ "type": "boolean"
},
"name": {
+ "example": "MLB",
"type": "string"
},
- "restructure_cap_saving": {
- "type": "integer"
- },
- "slug": {
+ "next_event_datetime_utc": {
"type": "string"
},
- "trade_post_june_1_cap_saving": {
+ "parent_id": {
+ "example": 1010000,
"type": "integer"
},
- "trade_post_june_1_dead_money": {
+ "performer_count": {
"type": "integer"
},
- "trade_pre_june_1_cap_saving": {
+ "rank": {
"type": "integer"
},
- "trade_pre_june_1_dead_money": {
- "type": "integer"
+ "seo_event_type": {
+ "type": "string"
+ },
+ "short_name": {
+ "type": "string"
+ },
+ "slug": {
+ "example": "mlb",
+ "type": "string"
}
},
"type": "object"
},
- "sportskeeda.SalaryCapResponse": {
+ "seatgeek.CitiesResult": {
"properties": {
- "active_cap_spend": {
- "type": "integer"
- },
- "cap_space": {
- "type": "integer"
- },
- "dead_money": {
- "type": "integer"
- },
- "order": {
- "type": "string"
- },
- "players": {
+ "cities": {
"items": {
- "$ref": "#/definitions/sportskeeda.SalaryCapPlayer"
+ "$ref": "#/definitions/seatgeek.City"
},
"type": "array"
},
- "q": {
- "type": "string"
- },
- "salary_cap": {
- "type": "integer"
- },
- "season": {
- "type": "integer"
- },
- "slug": {
- "type": "string"
- },
- "sort_by": {
- "type": "string"
- },
- "status": {
- "enum": [
- "ok",
- "no_data"
- ],
- "type": "string"
- },
- "team": {
- "type": "string"
- },
"total": {
"type": "integer"
}
},
"type": "object"
},
- "sportskeeda.ScheduleMatch": {
+ "seatgeek.City": {
"properties": {
- "competition": {
+ "country": {
+ "example": "United States",
"type": "string"
},
- "date_time": {
- "type": "string"
+ "id": {
+ "example": 72,
+ "type": "integer"
},
- "result": {
- "type": "string"
+ "lat": {
+ "type": "number"
},
- "score_1": {
- "type": "string"
+ "lon": {
+ "type": "number"
},
- "score_2": {
+ "name": {
+ "example": "Albuquerque",
"type": "string"
},
- "slug": {
+ "radius": {
+ "example": "20mi",
"type": "string"
},
- "status": {
- "type": "string"
+ "show_concerts": {
+ "type": "boolean"
},
- "team_1": {
- "type": "string"
+ "show_sports": {
+ "type": "boolean"
},
- "team_2": {
+ "show_theater": {
+ "type": "boolean"
+ },
+ "slug": {
+ "example": "albuquerque",
"type": "string"
},
- "venue": {
+ "state": {
+ "example": "New Mexico",
"type": "string"
}
},
"type": "object"
},
- "sportskeeda.SectionLink": {
+ "seatgeek.Event": {
"properties": {
- "external": {
+ "date_tbd": {
"type": "boolean"
},
- "name": {
+ "datetime_local": {
"type": "string"
},
- "slug": {
+ "datetime_utc": {
"type": "string"
},
- "url": {
+ "description": {
"type": "string"
- }
- },
- "type": "object"
- },
- "sportskeeda.SectionsResponse": {
- "properties": {
- "navigation": {
- "items": {
- "$ref": "#/definitions/sportskeeda.NavigationGroup"
- },
- "type": "array"
},
- "sections": {
+ "id": {
+ "example": 17695775,
+ "type": "integer"
+ },
+ "is_open": {
+ "type": "boolean"
+ },
+ "performers": {
"items": {
- "$ref": "#/definitions/sportskeeda.SportSection"
+ "$ref": "#/definitions/seatgeek.EventPerformer"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "sportskeeda.SitemapItem": {
- "properties": {
- "last_modified": {
+ },
+ "popularity": {
+ "type": "number"
+ },
+ "score": {
+ "type": "number"
+ },
+ "season_stage": {
"type": "string"
},
- "slug": {
+ "short_title": {
"type": "string"
},
- "url": {
+ "stats": {
+ "$ref": "#/definitions/seatgeek.EventStats"
+ },
+ "status": {
"type": "string"
- }
- },
- "type": "object"
- },
- "sportskeeda.SitemapItemsResponse": {
- "properties": {
- "has_more": {
- "type": "boolean"
},
- "items": {
+ "taxonomies": {
"items": {
- "$ref": "#/definitions/sportskeeda.SitemapItem"
+ "$ref": "#/definitions/seatgeek.Taxonomy"
},
"type": "array"
},
- "limit": {
- "type": "integer"
+ "time_tbd": {
+ "type": "boolean"
},
- "offset": {
- "type": "integer"
+ "title": {
+ "type": "string"
},
- "sitemap_url": {
+ "type": {
+ "example": "mlb",
"type": "string"
},
- "slug": {
+ "url": {
"type": "string"
},
- "total": {
- "type": "integer"
+ "venue": {
+ "$ref": "#/definitions/seatgeek.Venue"
}
},
"type": "object"
},
- "sportskeeda.SitemapSource": {
+ "seatgeek.EventPerformer": {
"properties": {
- "last_modified": {
+ "home_team": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "integer"
+ },
+ "image": {
"type": "string"
},
"name": {
"type": "string"
},
- "slug": {
+ "primary": {
+ "type": "boolean"
+ },
+ "type": {
+ "example": "mlb",
"type": "string"
},
"url": {
@@ -213881,115 +219699,152 @@
},
"type": "object"
},
- "sportskeeda.SitemapsResponse": {
+ "seatgeek.EventStats": {
"properties": {
- "sources": {
- "items": {
- "$ref": "#/definitions/sportskeeda.SitemapSource"
- },
- "type": "array"
+ "average_price": {
+ "type": "number"
+ },
+ "highest_price": {
+ "type": "number"
+ },
+ "listing_count": {
+ "type": "integer"
+ },
+ "lowest_price": {
+ "type": "number"
+ },
+ "lowest_sg_base_price": {
+ "type": "number"
+ },
+ "median_price": {
+ "type": "number"
+ },
+ "ticket_count": {
+ "type": "integer"
}
},
"type": "object"
},
- "sportskeeda.SportSection": {
+ "seatgeek.EventsByCategoryResult": {
"properties": {
- "last_modified": {
- "type": "string"
+ "events": {
+ "items": {
+ "$ref": "#/definitions/seatgeek.Event"
+ },
+ "type": "array"
},
- "slug": {
- "type": "string"
+ "page": {
+ "type": "integer"
},
- "url": {
- "type": "string"
+ "per_page": {
+ "type": "integer"
+ },
+ "taxonomy_id": {
+ "type": "integer"
+ },
+ "total": {
+ "type": "integer"
}
},
"type": "object"
},
- "sportskeeda.StandingsOptionsResponse": {
+ "seatgeek.EventsNearResult": {
"properties": {
- "conferences": {
+ "events": {
"items": {
- "$ref": "#/definitions/sportskeeda.PageView"
+ "$ref": "#/definitions/seatgeek.Event"
},
"type": "array"
},
- "seasons": {
- "items": {
- "type": "integer"
- },
- "type": "array"
+ "geolocation": {
+ "$ref": "#/definitions/seatgeek.GeoResolved"
},
- "slug": {
- "type": "string"
+ "page": {
+ "type": "integer"
+ },
+ "per_page": {
+ "type": "integer"
+ },
+ "total": {
+ "type": "integer"
}
},
"type": "object"
},
- "sportskeeda.TableCell": {
+ "seatgeek.GeoLocation": {
"properties": {
- "slug": {
- "type": "string"
+ "lat": {
+ "type": "number"
},
- "text": {
- "type": "string"
+ "lon": {
+ "type": "number"
}
},
"type": "object"
},
- "sportskeeda.TablesResponse": {
+ "seatgeek.GeoResolved": {
"properties": {
- "matches": {
- "items": {
- "$ref": "#/definitions/sportskeeda.ScheduleMatch"
- },
- "type": "array"
- },
- "slug": {
+ "city": {
"type": "string"
},
- "status": {
+ "country": {
"type": "string"
},
- "tables": {
- "items": {
- "$ref": "#/definitions/sportskeeda.DataTable"
- },
- "type": "array"
+ "display_name": {
+ "example": "Albuquerque, NM",
+ "type": "string"
},
- "title": {
+ "range": {
+ "example": "50mi",
"type": "string"
},
- "views": {
- "items": {
- "$ref": "#/definitions/sportskeeda.PageView"
- },
- "type": "array"
+ "state": {
+ "type": "string"
}
},
"type": "object"
},
- "sportskeeda.TaxonomyResult": {
+ "seatgeek.Performer": {
"properties": {
+ "event_count": {
+ "type": "integer"
+ },
+ "has_upcoming_events": {
+ "type": "boolean"
+ },
+ "home_venue_id": {
+ "type": "integer"
+ },
"id": {
- "type": "string"
+ "example": 1,
+ "type": "integer"
},
"image": {
"type": "string"
},
- "path_slug": {
+ "name": {
"type": "string"
},
- "post_count": {
+ "num_upcoming_events": {
"type": "integer"
},
- "slug": {
- "type": "string"
+ "popularity": {
+ "type": "number"
},
- "taxonomy": {
+ "score": {
+ "type": "number"
+ },
+ "short_name": {
"type": "string"
},
- "title": {
+ "taxonomies": {
+ "items": {
+ "$ref": "#/definitions/seatgeek.Taxonomy"
+ },
+ "type": "array"
+ },
+ "type": {
+ "example": "mlb",
"type": "string"
},
"url": {
@@ -213998,98 +219853,91 @@
},
"type": "object"
},
- "sportskeeda.TaxonomySearchResponse": {
+ "seatgeek.PerformerEventsResult": {
"properties": {
- "query": {
- "type": "string"
- },
- "results": {
+ "events": {
"items": {
- "$ref": "#/definitions/sportskeeda.TaxonomyResult"
+ "$ref": "#/definitions/seatgeek.Event"
},
"type": "array"
},
- "taxonomies": {
- "items": {
- "enum": [
- "category",
- "event",
- "team",
- "player",
- "wiki",
- "wiki_tag"
- ],
- "type": "string"
- },
- "type": "array"
+ "page": {
+ "type": "integer"
+ },
+ "per_page": {
+ "type": "integer"
+ },
+ "performer_id": {
+ "type": "integer"
+ },
+ "total": {
+ "type": "integer"
}
},
"type": "object"
},
- "sportskeeda.TopicBlock": {
+ "seatgeek.SearchEvent": {
"properties": {
- "alt": {
- "type": "string"
- },
- "caption": {
- "type": "string"
+ "date_tbd": {
+ "type": "boolean"
},
- "embed_url": {
+ "datetime_local": {
"type": "string"
},
- "image": {
+ "datetime_utc": {
"type": "string"
},
- "items": {
- "items": {
- "$ref": "#/definitions/sportskeeda.TopicListItem"
- },
- "type": "array"
- },
- "level": {
+ "id": {
"type": "integer"
},
- "links": {
- "items": {
- "$ref": "#/definitions/sportskeeda.TopicLink"
- },
- "type": "array"
+ "lowest_price": {
+ "type": "number"
},
- "ordered": {
- "type": "boolean"
+ "short_title": {
+ "type": "string"
},
- "rows": {
- "items": {
- "items": {
- "$ref": "#/definitions/sportskeeda.TopicTableCell"
- },
- "type": "array"
- },
- "type": "array"
+ "time_tbd": {
+ "type": "boolean"
},
- "text": {
+ "title": {
"type": "string"
},
"type": {
- "enum": [
- "paragraph",
- "heading",
- "list",
- "table",
- "image",
- "embed"
- ],
+ "example": "mlb",
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "venue_location": {
+ "example": "Los Angeles, CA",
+ "type": "string"
+ },
+ "venue_name": {
"type": "string"
}
},
"type": "object"
},
- "sportskeeda.TopicLink": {
+ "seatgeek.SearchPerformer": {
"properties": {
- "slug": {
+ "event_count": {
+ "type": "integer"
+ },
+ "id": {
+ "type": "integer"
+ },
+ "image": {
"type": "string"
},
- "text": {
+ "name": {
+ "type": "string"
+ },
+ "short_name": {
+ "type": "string"
+ },
+ "type": {
+ "example": "mlb",
"type": "string"
},
"url": {
@@ -214098,47 +219946,48 @@
},
"type": "object"
},
- "sportskeeda.TopicListItem": {
+ "seatgeek.SearchResult": {
"properties": {
- "links": {
+ "events": {
"items": {
- "$ref": "#/definitions/sportskeeda.TopicLink"
+ "$ref": "#/definitions/seatgeek.SearchEvent"
},
"type": "array"
},
- "text": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "sportskeeda.TopicResponse": {
- "properties": {
- "author": {
- "type": "string"
- },
- "author_slug": {
- "type": "string"
- },
- "blocks": {
+ "performers": {
"items": {
- "$ref": "#/definitions/sportskeeda.TopicBlock"
+ "$ref": "#/definitions/seatgeek.SearchPerformer"
},
"type": "array"
},
- "last_modified": {
+ "query": {
"type": "string"
},
- "related": {
+ "venues": {
"items": {
- "$ref": "#/definitions/sportskeeda.FeedItem"
+ "$ref": "#/definitions/seatgeek.SearchVenue"
},
"type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "seatgeek.SearchVenue": {
+ "properties": {
+ "capacity": {
+ "type": "integer"
},
- "slug": {
+ "display_location": {
+ "example": "Los Angeles, CA",
"type": "string"
},
- "title": {
+ "event_count": {
+ "type": "integer"
+ },
+ "id": {
+ "type": "integer"
+ },
+ "name": {
"type": "string"
},
"url": {
@@ -214147,3834 +219996,3943 @@
},
"type": "object"
},
- "sportskeeda.TopicTableCell": {
+ "seatgeek.Taxonomy": {
"properties": {
- "colspan": {
+ "id": {
+ "example": 1010100,
"type": "integer"
},
- "header": {
- "type": "boolean"
- },
- "links": {
- "items": {
- "$ref": "#/definitions/sportskeeda.TopicLink"
- },
- "type": "array"
+ "name": {
+ "example": "mlb",
+ "type": "string"
},
- "rowspan": {
+ "parent_id": {
+ "example": 1010000,
"type": "integer"
},
- "text": {
+ "seo_event_type": {
"type": "string"
}
},
"type": "object"
},
- "sportskeeda.TradeValuePlayer": {
+ "seatgeek.TrendingItem": {
"properties": {
- "name": {
+ "entity_id": {
+ "type": "integer"
+ },
+ "entity_image_url": {
"type": "string"
},
- "position": {
+ "entity_name": {
+ "type": "string"
+ },
+ "entity_type": {
+ "example": "event",
+ "type": "string"
+ },
+ "entity_url": {
+ "type": "string"
+ },
+ "event_datetime_local": {
"type": "string"
},
+ "event_datetime_utc": {
+ "type": "string"
+ },
+ "lowest_price": {
+ "type": "number"
+ },
"rank": {
"type": "integer"
},
- "slug": {
+ "rank_change": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "seatgeek.TrendingResult": {
+ "properties": {
+ "items": {
+ "items": {
+ "$ref": "#/definitions/seatgeek.TrendingItem"
+ },
+ "type": "array"
+ },
+ "list_display_name": {
"type": "string"
},
- "team": {
+ "list_id": {
"type": "string"
},
- "value": {
+ "list_type": {
"type": "string"
}
},
"type": "object"
},
- "sportskeeda.TradeValuesResponse": {
+ "seatgeek.Venue": {
"properties": {
- "limit": {
+ "capacity": {
"type": "integer"
},
- "mode": {
+ "city": {
"type": "string"
},
- "next_offset": {
- "type": "integer"
+ "country": {
+ "example": "US",
+ "type": "string"
},
- "offset": {
+ "display_location": {
+ "example": "Los Angeles, CA",
+ "type": "string"
+ },
+ "has_upcoming_events": {
+ "type": "boolean"
+ },
+ "id": {
"type": "integer"
},
- "players": {
- "items": {
- "$ref": "#/definitions/sportskeeda.TradeValuePlayer"
- },
- "type": "array"
+ "location": {
+ "$ref": "#/definitions/seatgeek.GeoLocation"
},
- "position": {
+ "name": {
"type": "string"
},
- "scoring": {
+ "num_upcoming_events": {
+ "type": "integer"
+ },
+ "popularity": {
+ "type": "number"
+ },
+ "postal_code": {
"type": "string"
},
+ "score": {
+ "type": "number"
+ },
"slug": {
"type": "string"
},
- "superflex": {
- "type": "boolean"
+ "state": {
+ "type": "string"
},
- "total": {
- "type": "integer"
+ "stats": {
+ "$ref": "#/definitions/seatgeek.VenueStats"
},
- "updated_at": {
+ "timezone": {
+ "example": "America/New_York",
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "sportskeeda.Transaction": {
+ "seatgeek.VenueEventsResult": {
"properties": {
- "date": {
- "type": "string"
- },
- "description": {
- "type": "string"
+ "events": {
+ "items": {
+ "$ref": "#/definitions/seatgeek.Event"
+ },
+ "type": "array"
},
- "from_team": {
- "$ref": "#/definitions/sportskeeda.TransactionParty"
+ "page": {
+ "type": "integer"
},
- "id": {
+ "per_page": {
"type": "integer"
},
- "player": {
- "$ref": "#/definitions/sportskeeda.TransactionPerson"
+ "total": {
+ "type": "integer"
},
- "positions": {
- "items": {
- "$ref": "#/definitions/sportskeeda.TransactionPosition"
- },
- "type": "array"
+ "venue_id": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "seatgeek.VenueStats": {
+ "properties": {
+ "event_count": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "seatgeek.categoriesResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "team": {
- "$ref": "#/definitions/sportskeeda.TransactionParty"
+ "data": {
+ "$ref": "#/definitions/seatgeek.CategoriesResult"
},
- "type": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "sportskeeda.TransactionMonth": {
+ "seatgeek.citiesResponseDoc": {
"properties": {
"code": {
- "type": "string"
+ "example": 200,
+ "type": "integer"
},
- "label": {
+ "data": {
+ "$ref": "#/definitions/seatgeek.CitiesResult"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "sportskeeda.TransactionParty": {
+ "seatgeek.eventResponseDoc": {
"properties": {
- "abbr": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "name": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/seatgeek.Event"
},
- "slug": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "sportskeeda.TransactionPerson": {
+ "seatgeek.eventsByCategoryResponseDoc": {
"properties": {
- "name": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "slug": {
+ "data": {
+ "$ref": "#/definitions/seatgeek.EventsByCategoryResult"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "sportskeeda.TransactionPosition": {
+ "seatgeek.eventsNearResponseDoc": {
"properties": {
- "abbr": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "name": {
+ "data": {
+ "$ref": "#/definitions/seatgeek.EventsNearResult"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "sportskeeda.TransactionTeam": {
+ "seatgeek.performerEventsResponseDoc": {
"properties": {
- "name": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "slug": {
+ "data": {
+ "$ref": "#/definitions/seatgeek.PerformerEventsResult"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "sportskeeda.TransactionsOptionsResponse": {
+ "seatgeek.performerResponseDoc": {
"properties": {
- "months": {
- "items": {
- "$ref": "#/definitions/sportskeeda.TransactionMonth"
- },
- "type": "array"
- },
- "season": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "seasons": {
- "items": {
- "type": "integer"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/seatgeek.Performer"
},
- "teams": {
- "items": {
- "$ref": "#/definitions/sportskeeda.TransactionTeam"
- },
- "type": "array"
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "sportskeeda.TransactionsResponse": {
+ "seatgeek.searchResponseDoc": {
"properties": {
- "has_more": {
- "type": "boolean"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "items": {
- "items": {
- "$ref": "#/definitions/sportskeeda.Transaction"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/seatgeek.SearchResult"
},
- "month": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "page": {
- "type": "integer"
- },
- "per_page": {
+ }
+ },
+ "type": "object"
+ },
+ "seatgeek.trendingResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "season": {
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/seatgeek.TrendingResult"
},
- "slug": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "total": {
- "type": "integer"
}
},
"type": "object"
},
- "sportskeeda.VideoItem": {
+ "seatgeek.venueEventsResponseDoc": {
"properties": {
- "channel": {
- "type": "string"
- },
- "duration": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "image": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/seatgeek.VenueEventsResult"
},
- "slug": {
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "seatgeek.venueResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "title": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/seatgeek.Venue"
},
- "url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "sportskeeda.VideoResponse": {
+ "seattletimes.AuthorArticle": {
"properties": {
- "description": {
+ "category": {
"type": "string"
},
- "id": {
+ "image_url": {
"type": "string"
},
- "poster": {
+ "published_at": {
"type": "string"
},
- "slug": {
+ "summary": {
"type": "string"
},
- "stream_url": {
+ "title": {
"type": "string"
},
- "title": {
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "sportskeeda.VideosResponse": {
+ "seattletimes.AuthorResponse": {
"properties": {
- "channels": {
+ "articles": {
"items": {
- "$ref": "#/definitions/sportskeeda.PageView"
+ "$ref": "#/definitions/seattletimes.AuthorArticle"
},
"type": "array"
},
- "items": {
- "items": {
- "$ref": "#/definitions/sportskeeda.VideoItem"
- },
- "type": "array"
+ "bio": {
+ "type": "string"
+ },
+ "email": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
},
"slug": {
"type": "string"
},
- "title": {
+ "twitter": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "sportskeeda.WikiActivityResponse": {
+ "sec.CompanyIntelligenceResponse": {
"properties": {
- "activities": {
+ "degraded": {
+ "description": "Enrichment sources requested through `enrich` that could not be returned.",
"items": {
- "$ref": "#/definitions/sportskeeda.WikiContribution"
+ "type": "string"
},
"type": "array"
},
- "limit": {
- "type": "integer"
+ "financial_snapshot": {
+ "additionalProperties": {
+ "format": "float64",
+ "type": "number"
+ },
+ "description": "Latest annual figures keyed by `revenue`, `net_income`, `total_assets`, `total_liabilities`, `stockholders_equity` and `operating_cash_flow`, in the reporting currency.",
+ "type": "object"
},
- "page": {
- "type": "integer"
+ "hiring": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/sec.HiringBlock"
+ }
+ ],
+ "description": "Open-roles summary from the company's careers board. Present only when `enrich` includes `hiring` and data was available."
},
- "slug": {
- "type": "string"
+ "latest_8k": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/sec.Filing"
+ }
+ ],
+ "description": "Most recent 8-K material event filing."
},
- "sort": {
- "type": "string"
+ "latest_annual_10k": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/sec.Filing"
+ }
+ ],
+ "description": "Most recent 10-K annual report filing."
},
- "sort_by": {
- "type": "string"
+ "latest_quarterly_10q": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/sec.Filing"
+ }
+ ],
+ "description": "Most recent 10-Q quarterly report filing."
},
- "total_items": {
- "type": "integer"
+ "market": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/sec.MarketBlock"
+ }
+ ],
+ "description": "Optional cross-source enrichment (present only when requested via ?enrich=\nand the source succeeded). Degraded lists sources that were requested but\nunavailable (missing key/provider, upstream failure, or timeout)."
},
- "total_pages": {
- "type": "integer"
+ "news": {
+ "description": "Recent news headlines about the company. Present only when `enrich` includes `news` and headlines were available.",
+ "items": {
+ "$ref": "#/definitions/sec.NewsItem"
+ },
+ "type": "array"
},
- "wiki": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "sportskeeda.WikiArticleResponse": {
- "properties": {
- "authors": {
+ "profile": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/sec.CompanyProfile"
+ }
+ ],
+ "description": "Company identity block with CIK, ticker, name and industry classification."
+ },
+ "recent_events": {
+ "description": "Up to five most recent 8-K material event filings.",
"items": {
- "type": "string"
+ "$ref": "#/definitions/sec.EventFiling"
},
"type": "array"
},
- "description": {
- "type": "string"
+ "snapshot_fiscal_year": {
+ "description": "Fiscal year the `financial_snapshot` figures belong to.",
+ "type": "integer"
},
- "image_url": {
+ "snapshot_period_end": {
+ "description": "Last day of the period covered by the `financial_snapshot`, in YYYY-MM-DD format.",
"type": "string"
},
- "paragraphs": {
+ "source_urls": {
+ "description": "URLs of the SEC data sets the response was built from.",
"items": {
"type": "string"
},
"type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "sec.CompanyMatch": {
+ "properties": {
+ "cik": {
+ "description": "Company's SEC Central Index Key (CIK) number.",
+ "example": 320193,
+ "type": "integer"
},
- "published_at": {
+ "cik_padded": {
+ "description": "CIK number padded to 10 digits with a `CIK` prefix, as used in SEC data URLs.",
+ "example": "CIK0000320193",
"type": "string"
},
- "section": {
+ "name": {
+ "description": "Company name as registered with the SEC.",
+ "example": "Apple Inc.",
"type": "string"
},
- "slug": {
+ "ticker": {
+ "description": "Stock ticker symbol of the company.",
+ "example": "AAPL",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sec.CompanyProfile": {
+ "properties": {
+ "cik": {
+ "description": "Company's SEC Central Index Key (CIK) number.",
+ "type": "integer"
},
- "title": {
+ "name": {
+ "description": "Company name as registered with the SEC.",
"type": "string"
},
- "updated_at": {
+ "sic": {
+ "description": "Standard Industrial Classification (SIC) code of the company.",
"type": "string"
},
- "wiki": {
+ "sic_description": {
+ "description": "Text description of the SIC industry code.",
+ "type": "string"
+ },
+ "ticker": {
+ "description": "Primary stock ticker symbol of the company.",
"type": "string"
+ },
+ "tickers": {
+ "description": "All ticker symbols the company trades under.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "sportskeeda.WikiCategoriesResponse": {
+ "sec.CompanySearchResponse": {
"properties": {
- "categories": {
+ "count": {
+ "description": "Number of companies returned.",
+ "example": 1,
+ "type": "integer"
+ },
+ "matches": {
+ "description": "Companies matching the query, exact ticker match first.",
"items": {
- "$ref": "#/definitions/sportskeeda.WikiCategory"
+ "$ref": "#/definitions/sec.CompanyMatch"
},
"type": "array"
},
- "wiki": {
+ "query": {
+ "description": "Ticker or company name that was searched.",
+ "example": "apple",
+ "type": "string"
+ },
+ "source_url": {
+ "description": "URL the data was read from.",
"type": "string"
}
},
"type": "object"
},
- "sportskeeda.WikiCategory": {
+ "sec.EventFiling": {
"properties": {
- "children": {
- "items": {
- "$ref": "#/definitions/sportskeeda.WikiCategory"
- },
- "type": "array"
- },
- "path_slug": {
+ "accession_number": {
+ "description": "SEC accession number that uniquely identifies the 8-K filing.",
"type": "string"
},
- "sequence": {
- "type": "integer"
- },
- "slug": {
+ "filing_date": {
+ "description": "Date the 8-K was filed, in YYYY-MM-DD format.",
"type": "string"
},
- "taxonomy_id": {
- "type": "integer"
+ "items": {
+ "description": "Item numbers the 8-K reports on, as EDGAR lists them.",
+ "type": "string"
},
- "title": {
+ "url": {
+ "description": "Link to the filing's index page on sec.gov.",
"type": "string"
}
},
"type": "object"
},
- "sportskeeda.WikiContribution": {
+ "sec.Filing": {
"properties": {
- "author_name": {
- "type": "string"
- },
- "author_slug": {
+ "accession_number": {
+ "description": "SEC accession number that uniquely identifies the filing.",
+ "example": "0000320193-25-000081",
"type": "string"
},
- "bytes_added": {
+ "description": {
+ "description": "Short description of the main document, as EDGAR lists it.",
"type": "string"
},
- "bytes_removed": {
+ "filing_date": {
+ "description": "Date the filing was submitted to the SEC, in YYYY-MM-DD format.",
+ "example": "2025-10-31",
"type": "string"
},
- "created_at": {
+ "filing_index_url": {
+ "description": "Link to the filing's index page on sec.gov.",
"type": "string"
},
- "id": {
- "type": "integer"
- },
- "parent_wiki_name": {
+ "form": {
+ "description": "SEC form type of the filing, such as `10-K`, `10-Q` or `8-K`.",
+ "example": "10-K",
"type": "string"
},
- "parent_wiki_slug": {
- "type": "string"
+ "is_xbrl": {
+ "description": "Whether the filing includes XBRL financial data.",
+ "type": "boolean"
},
- "path_slug": {
+ "items": {
+ "description": "Item numbers the filing covers, as EDGAR lists them.",
"type": "string"
},
- "status": {
+ "primary_doc_url": {
+ "description": "Link to the filing's main document on sec.gov.",
"type": "string"
},
- "taxonomy_name": {
+ "primary_document": {
+ "description": "File name of the filing's main document.",
"type": "string"
},
- "updated_at": {
+ "report_date": {
+ "description": "Period end date the filing reports on, in YYYY-MM-DD format.",
+ "example": "2025-09-27",
"type": "string"
},
- "version_number": {
+ "size": {
+ "description": "Size of the filing's main document as EDGAR reports it.",
"type": "integer"
- },
- "words_added": {
+ }
+ },
+ "type": "object"
+ },
+ "sec.FilingDocument": {
+ "properties": {
+ "name": {
+ "description": "File name of the document in the filing.",
"type": "string"
},
- "words_removed": {
+ "url": {
+ "description": "Link to the document on sec.gov.",
"type": "string"
}
},
"type": "object"
},
- "sportskeeda.WikiContributorsResponse": {
+ "sec.FilingResponse": {
"properties": {
- "contributors": {
- "items": {
- "$ref": "#/definitions/sportskeeda.WikiContribution"
- },
- "type": "array"
+ "accession_number": {
+ "description": "SEC accession number that uniquely identifies the filing.",
+ "example": "0000320193-25-000081",
+ "type": "string"
},
- "limit": {
+ "cik": {
+ "description": "Company's SEC Central Index Key (CIK) number.",
"type": "integer"
},
- "page": {
- "type": "integer"
+ "cik_padded": {
+ "description": "CIK number padded to 10 digits with a `CIK` prefix, as used in SEC data URLs.",
+ "type": "string"
},
- "slug": {
+ "description": {
+ "description": "Short description of the main document, as EDGAR lists it.",
"type": "string"
},
- "sort": {
+ "documents": {
+ "description": "Files that make up the filing.",
+ "items": {
+ "$ref": "#/definitions/sec.FilingDocument"
+ },
+ "type": "array"
+ },
+ "filing_date": {
+ "description": "Date the filing was submitted to the SEC, in YYYY-MM-DD format.",
+ "example": "2025-10-31",
"type": "string"
},
- "sort_by": {
+ "filing_index_url": {
+ "description": "Link to the filing's index page on sec.gov.",
"type": "string"
},
- "total_items": {
- "type": "integer"
+ "form": {
+ "description": "SEC form type of the filing, such as `10-K`, `10-Q` or `8-K`.",
+ "example": "10-K",
+ "type": "string"
},
- "total_pages": {
- "type": "integer"
+ "is_xbrl": {
+ "description": "Whether the filing includes XBRL financial data.",
+ "type": "boolean"
},
- "wiki": {
+ "items": {
+ "description": "Item numbers the filing covers, as EDGAR lists them.",
"type": "string"
- }
- },
- "type": "object"
- },
- "sportskeeda.WikiIssue": {
- "properties": {
- "created_at": {
+ },
+ "name": {
+ "description": "Company name as registered with the SEC.",
"type": "string"
},
- "creator_name": {
+ "primary_doc_url": {
+ "description": "Link to the filing's main document on sec.gov.",
"type": "string"
},
- "creator_slug": {
+ "primary_document": {
+ "description": "File name of the filing's main document.",
"type": "string"
},
- "description": {
+ "report_date": {
+ "description": "Period end date the filing reports on, in YYYY-MM-DD format.",
+ "example": "2025-09-27",
"type": "string"
},
- "id": {
+ "size": {
+ "description": "Size of the filing's main document as EDGAR reports it.",
"type": "integer"
},
- "last_opened_at": {
+ "source_url": {
+ "description": "URL the data was read from.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sec.FilingSection": {
+ "properties": {
+ "char_count": {
+ "description": "Length of the full section text before any truncation.",
+ "type": "integer"
+ },
+ "item": {
+ "description": "Item number of the section in the filing, such as `1A` or `7`.",
+ "example": "1A",
"type": "string"
},
- "status": {
+ "text": {
+ "description": "Plain text of the section, cut off at the `max_chars` limit.",
"type": "string"
},
"title": {
+ "description": "Section heading, such as `Risk Factors`.",
+ "example": "Risk Factors",
"type": "string"
+ },
+ "truncated": {
+ "description": "Whether `text` was cut short because the section exceeded `max_chars`.",
+ "type": "boolean"
}
},
"type": "object"
},
- "sportskeeda.WikiIssuesResponse": {
+ "sec.FilingSectionsResponse": {
"properties": {
- "closed_issues_count": {
- "type": "integer"
- },
- "issues": {
- "items": {
- "$ref": "#/definitions/sportskeeda.WikiIssue"
- },
- "type": "array"
- },
- "limit": {
- "type": "integer"
+ "accession_number": {
+ "description": "SEC accession number that uniquely identifies the filing.",
+ "type": "string"
},
- "opened_issues_count": {
+ "cik": {
+ "description": "Company's SEC Central Index Key (CIK) number.",
"type": "integer"
},
- "page": {
+ "count": {
+ "description": "Number of sections returned.",
"type": "integer"
},
- "slug": {
+ "document_url": {
+ "description": "Link to the filing document the sections were taken from.",
"type": "string"
},
- "status": {
+ "form": {
+ "description": "SEC form type of the filing, such as `10-K`.",
"type": "string"
},
- "total_pages": {
- "type": "integer"
+ "sections": {
+ "description": "Item sections extracted from the filing, in item order.",
+ "items": {
+ "$ref": "#/definitions/sec.FilingSection"
+ },
+ "type": "array"
},
- "wiki": {
+ "source_url": {
+ "description": "URL the data was read from.",
"type": "string"
}
},
"type": "object"
},
- "sportskeeda.WikiOption": {
+ "sec.FinancialPeriod": {
"properties": {
- "name": {
+ "currency": {
+ "description": "ISO 4217 code of the currency the monetary lines are reported in.",
+ "example": "USD",
"type": "string"
},
- "slug": {
+ "end_date": {
+ "description": "Last day of the period, in YYYY-MM-DD format.",
"type": "string"
},
- "taxonomy_id": {
+ "fiscal_period": {
+ "description": "Fiscal period covered, such as `FY` for a full year.",
+ "example": "FY",
"type": "string"
},
- "taxonomy_slug": {
+ "fiscal_year": {
+ "description": "Fiscal year the period belongs to.",
+ "type": "integer"
+ },
+ "form": {
+ "description": "SEC form type that reported the figures, such as `10-K`.",
"type": "string"
+ },
+ "lines": {
+ "additionalProperties": {
+ "format": "float64",
+ "type": "number"
+ },
+ "description": "Statement line values for the period, keyed by line name such as `revenue`.",
+ "type": "object"
+ },
+ "ratios": {
+ "additionalProperties": {
+ "format": "float64",
+ "type": "number"
+ },
+ "description": "Ratios are computed, normalized metrics derived from the lines (margins,\ncurrent ratio, debt-to-equity, free cash flow, YoY revenue growth) — a\nvalue-add over the raw statement figures.",
+ "type": "object"
}
},
"type": "object"
},
- "sportskeeda.WikiOptionsResponse": {
+ "sec.FinancialsResponse": {
"properties": {
- "wikis": {
+ "cik": {
+ "description": "Company's SEC Central Index Key (CIK) number.",
+ "type": "integer"
+ },
+ "line_order": {
+ "description": "Statement line names in the order they appear on the statement.",
"items": {
- "$ref": "#/definitions/sportskeeda.WikiOption"
+ "type": "string"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "sportskeeda.WikiPageItem": {
- "properties": {
- "id": {
- "type": "string"
},
- "image": {
+ "name": {
+ "description": "Company name as registered with the SEC.",
"type": "string"
},
- "meta": {
- "$ref": "#/definitions/sportskeeda.WikiPageMeta"
- },
- "path_slug": {
+ "period": {
+ "description": "Period type returned: `annual` or `quarterly`.",
+ "example": "annual",
"type": "string"
},
- "post_count": {
- "type": "integer"
- },
- "slug": {
- "type": "string"
+ "periods": {
+ "description": "Reporting periods, newest first.",
+ "items": {
+ "$ref": "#/definitions/sec.FinancialPeriod"
+ },
+ "type": "array"
},
- "taxonomy": {
+ "source_url": {
+ "description": "URL the data was read from.",
"type": "string"
},
- "title": {
+ "statement": {
+ "description": "Statement returned: `income`, `balance` or `cash_flow`.",
+ "example": "income",
"type": "string"
},
- "url": {
+ "ticker": {
+ "description": "Stock ticker symbol of the company.",
"type": "string"
}
},
"type": "object"
},
- "sportskeeda.WikiPageMeta": {
+ "sec.FrameFact": {
"properties": {
- "issues_count": {
+ "accession_number": {
+ "description": "SEC accession number of the filing that reported the value.",
+ "type": "string"
+ },
+ "cik": {
+ "description": "Reporting company's SEC Central Index Key (CIK) number.",
"type": "integer"
},
- "last_updated": {
+ "end": {
+ "description": "Last day of the period the value covers, in YYYY-MM-DD format.",
"type": "string"
},
- "page_size": {
- "type": "integer"
+ "entity_name": {
+ "description": "Name of the reporting company.",
+ "type": "string"
},
- "ratings": {
+ "form": {
+ "description": "SEC form type of the filing that reported the value.",
+ "type": "string"
+ },
+ "start": {
+ "description": "First day of the period the value covers, in YYYY-MM-DD format.",
"type": "string"
+ },
+ "value": {
+ "description": "Value the company reported for the concept, in the unit given by `unit`.",
+ "type": "number"
}
},
"type": "object"
},
- "sportskeeda.WikiPagesResponse": {
+ "sec.FramesResponse": {
"properties": {
- "items": {
- "items": {
- "$ref": "#/definitions/sportskeeda.WikiPageItem"
- },
- "type": "array"
+ "concept": {
+ "description": "XBRL concept tag that was queried, such as `Assets`.",
+ "example": "Assets",
+ "type": "string"
},
- "limit": {
+ "count": {
+ "description": "Number of facts returned.",
"type": "integer"
},
- "page": {
- "type": "integer"
+ "facts": {
+ "description": "One reported value per company for the concept and frame.",
+ "items": {
+ "$ref": "#/definitions/sec.FrameFact"
+ },
+ "type": "array"
},
- "search": {
+ "period": {
+ "description": "Reporting frame that was queried, such as `CY2024Q4I`.",
+ "example": "CY2024Q4I",
"type": "string"
},
- "sort": {
+ "source_url": {
+ "description": "URL the data was read from.",
"type": "string"
},
- "sort_by": {
+ "taxonomy": {
+ "description": "XBRL taxonomy the concept belongs to, such as `us-gaap`.",
+ "example": "us-gaap",
"type": "string"
},
- "total_items": {
+ "total": {
+ "description": "Number of companies that reported the concept for the frame.",
"type": "integer"
},
- "wiki": {
+ "unit": {
+ "description": "Unit of the reported values, such as `USD`.",
+ "example": "USD",
"type": "string"
}
},
"type": "object"
},
- "sportskeeda.WikiSummaryResponse": {
+ "sec.FullTextHit": {
"properties": {
- "open_issues_count": {
- "type": "integer"
- },
- "slug": {
+ "accession_number": {
+ "description": "SEC accession number of the filing that contains the match.",
"type": "string"
},
- "total_activity_count": {
- "type": "integer"
- },
- "total_contributor_count": {
+ "cik": {
+ "description": "SEC Central Index Key (CIK) number of the filing company.",
"type": "integer"
},
- "wiki": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "spotify.AlbumMeta": {
- "properties": {
- "appVersion": {
- "description": "Version of the Spotify web player the data was read from.",
- "type": "string"
+ "company_names": {
+ "description": "Names of the companies named on the filing, as EDGAR lists them.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "fetchedAt": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "document_url": {
+ "description": "Link to the matching document on sec.gov.",
"type": "string"
},
- "operationName": {
- "description": "Name of the Spotify web player operation that returned the data.",
+ "filed_at": {
+ "description": "Date the filing was submitted, in YYYY-MM-DD format.",
"type": "string"
},
- "trackCount": {
- "description": "Number of tracks returned.",
- "type": "integer"
+ "form": {
+ "description": "SEC form type of the matching document, such as `10-K`.",
+ "type": "string"
}
},
"type": "object"
},
- "spotify.AlbumResponse": {
+ "sec.FullTextSearchResponse": {
"properties": {
- "albumType": {
- "description": "Album format as Spotify labels it.",
- "type": "string"
- },
- "artists": {
- "description": "Artists credited on the album.",
- "items": {
- "$ref": "#/definitions/spotify.SearchResultSummary"
- },
- "type": "array"
+ "count": {
+ "description": "Number of hits returned on this page.",
+ "type": "integer"
},
- "copyrights": {
- "description": "Copyright notices listed for the album.",
+ "hits": {
+ "description": "Filing documents that match the query.",
"items": {
- "type": "string"
+ "$ref": "#/definitions/sec.FullTextHit"
},
"type": "array"
},
- "durationMs": {
- "description": "Total album length in milliseconds.",
+ "page": {
+ "description": "Page number returned, starting at 1.",
"type": "integer"
},
- "externalUrl": {
- "description": "Link to the album on open.spotify.com.",
- "type": "string"
- },
- "id": {
- "description": "Spotify ID of the album.",
+ "query": {
+ "description": "Search text that was run.",
"type": "string"
},
- "imageUrl": {
- "description": "URL of the album cover image.",
+ "source_url": {
+ "description": "URL the data was read from.",
"type": "string"
},
- "images": {
- "description": "Cover images available for the album, with their sizes.",
- "items": {
- "$ref": "#/definitions/spotify.ImageAsset"
- },
- "type": "array"
- },
- "isExplicit": {
- "description": "Whether Spotify marks the album as explicit.",
- "type": "boolean"
- },
- "isPlayable": {
- "description": "Whether the album can be played.",
- "type": "boolean"
- },
- "limit": {
- "description": "Maximum number of tracks requested.",
+ "total": {
+ "description": "Total number of matches reported by EDGAR full-text search.",
"type": "integer"
- },
- "meta": {
- "allOf": [
- {
- "$ref": "#/definitions/spotify.AlbumMeta"
- }
- ],
- "description": "Details about this response."
- },
- "name": {
- "description": "Album title as Spotify shows it.",
- "type": "string"
- },
- "offset": {
- "description": "Position of the first track returned.",
+ }
+ },
+ "type": "object"
+ },
+ "sec.HiringBlock": {
+ "properties": {
+ "new_last_30d": {
+ "description": "Number of open roles posted in the last 30 days, among the roles sampled from the board.",
"type": "integer"
},
- "releaseDate": {
- "description": "Date the album was released, as Spotify returns it.",
+ "provider": {
+ "description": "Applicant tracking system the open roles were read from, such as `greenhouse`.",
"type": "string"
},
- "shareUrl": {
- "description": "Link to the album that Spotify offers for sharing.",
- "type": "string"
+ "remote_pct": {
+ "description": "Share of open roles that are remote, in percent.",
+ "type": "number"
},
- "totalTracks": {
- "description": "Total number of tracks on the album.",
- "type": "integer"
+ "source_url": {
+ "description": "URL the hiring data was read from.",
+ "type": "string"
},
- "tracks": {
- "description": "Tracks returned for the album.",
+ "top_departments": {
+ "description": "Up to five departments with their open-role counts.",
"items": {
- "$ref": "#/definitions/spotify.SearchResultSummary"
+ "$ref": "#/definitions/sec.NameCount"
},
"type": "array"
},
- "type": {
- "description": "Kind of item as Spotify labels it, for example `Album`.",
- "type": "string"
- },
- "uri": {
- "description": "Spotify URI of the album.",
- "type": "string"
+ "total_open_roles": {
+ "description": "Number of roles currently open on the careers board.",
+ "type": "integer"
}
},
"type": "object"
},
- "spotify.ArtistAlbumsMeta": {
+ "sec.Holding": {
"properties": {
- "appVersion": {
- "description": "Version of the Spotify web player the data was read from.",
+ "cusip": {
+ "description": "CUSIP identifier of the security.",
"type": "string"
},
- "count": {
- "description": "Number of releases returned.",
- "type": "integer"
- },
- "fetchedAt": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "investment_discretion": {
+ "description": "Type of investment discretion the manager holds over the position, such as `SOLE` or `DFND`.",
"type": "string"
},
- "operationName": {
- "description": "Name of the Spotify web player operation that returned the data.",
- "type": "string"
- }
- },
- "type": "object"
- },
- "spotify.ArtistAlbumsResponse": {
- "properties": {
- "id": {
- "description": "Spotify ID of the artist.",
+ "issuer": {
+ "description": "Name of the company that issued the security.",
"type": "string"
},
- "items": {
- "description": "Releases returned for the artist.",
- "items": {
- "$ref": "#/definitions/spotify.SearchResultSummary"
- },
- "type": "array"
- },
- "limit": {
- "description": "Maximum number of releases requested.",
- "type": "integer"
- },
- "meta": {
- "allOf": [
- {
- "$ref": "#/definitions/spotify.ArtistAlbumsMeta"
- }
- ],
- "description": "Details about this response."
- },
- "offset": {
- "description": "Position of the first release returned.",
- "type": "integer"
+ "put_call": {
+ "description": "Put or call, for option positions.",
+ "type": "string"
},
- "order": {
- "description": "Sort order that was applied: `date_desc`, `date_asc`, `name_asc` or `name_desc`.",
+ "share_type": {
+ "description": "`SH` when `shares` counts shares, `PRN` when it is a principal amount.",
"type": "string"
},
- "total": {
- "description": "Total number of releases of this type on Spotify.",
- "type": "integer"
+ "shares": {
+ "description": "Number of shares or principal amount held, depending on `share_type`.",
+ "type": "number"
},
- "type": {
- "description": "Release type that was requested: `album`, `single`, `compilation`, `appears_on` or `all`.",
+ "title_of_class": {
+ "description": "Class of the security, such as `COM` for common stock.",
"type": "string"
},
- "uri": {
- "description": "Spotify URI of the artist.",
- "type": "string"
+ "value": {
+ "description": "Market value of the position as reported in the 13F filing.",
+ "type": "number"
}
},
"type": "object"
},
- "spotify.ArtistCollectionMeta": {
+ "sec.HoldingsResponse": {
"properties": {
- "appVersion": {
- "description": "Version of the Spotify web player the data was read from.",
+ "accession_number": {
+ "description": "SEC accession number of the 13F filing the holdings come from.",
"type": "string"
},
- "count": {
- "description": "Number of items returned.",
+ "cik": {
+ "description": "Institutional manager's SEC Central Index Key (CIK) number.",
"type": "integer"
},
- "fetchedAt": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "type": "string"
+ "count": {
+ "description": "Number of holdings returned.",
+ "type": "integer"
},
- "operationName": {
- "description": "Name of the Spotify web player operation that returned the data.",
- "type": "string"
- }
- },
- "type": "object"
- },
- "spotify.ArtistCollectionResponse": {
- "properties": {
- "id": {
- "description": "Spotify ID of the artist.",
+ "filing_date": {
+ "description": "Date the 13F was filed, in YYYY-MM-DD format.",
"type": "string"
},
- "items": {
- "description": "Playlists or related artists returned for the artist.",
+ "holdings": {
+ "description": "Positions from the filing, largest value first.",
"items": {
- "$ref": "#/definitions/spotify.SearchResultSummary"
+ "$ref": "#/definitions/sec.Holding"
},
"type": "array"
},
- "meta": {
- "allOf": [
- {
- "$ref": "#/definitions/spotify.ArtistCollectionMeta"
- }
- ],
- "description": "Details about this response."
+ "manager_name": {
+ "description": "Name of the institutional investment manager.",
+ "type": "string"
},
- "uri": {
- "description": "Spotify URI of the artist.",
+ "report_date": {
+ "description": "Quarter end date the holdings are reported for, in YYYY-MM-DD format.",
+ "type": "string"
+ },
+ "source_url": {
+ "description": "URL the data was read from.",
"type": "string"
+ },
+ "total_holdings": {
+ "description": "Number of positions in the filing, before the `limit` is applied.",
+ "type": "integer"
+ },
+ "total_value": {
+ "description": "Sum of the value of every position in the filing.",
+ "type": "number"
}
},
"type": "object"
},
- "spotify.ArtistMeta": {
+ "sec.InsiderResponse": {
"properties": {
- "appVersion": {
- "description": "Version of the Spotify web player the data was read from.",
- "type": "string"
+ "cik": {
+ "description": "Company's SEC Central Index Key (CIK) number.",
+ "type": "integer"
},
- "discographyCount": {
- "description": "Number of discography entries returned.",
+ "count": {
+ "description": "Number of transactions returned.",
"type": "integer"
},
- "fetchedAt": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "name": {
+ "description": "Company name as registered with the SEC.",
"type": "string"
},
- "operationName": {
- "description": "Name of the Spotify web player operation that returned the data.",
+ "source_url": {
+ "description": "URL the data was read from.",
"type": "string"
},
- "playlistCount": {
- "description": "Number of playlists returned.",
- "type": "integer"
- },
- "relatedCount": {
- "description": "Number of related artists returned.",
- "type": "integer"
+ "ticker": {
+ "description": "Stock ticker symbol of the company.",
+ "type": "string"
},
- "topTrackCount": {
- "description": "Number of top tracks returned.",
- "type": "integer"
+ "transactions": {
+ "description": "Insider transactions from recent Form 3, 4 and 5 filings.",
+ "items": {
+ "$ref": "#/definitions/sec.InsiderTransaction"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "spotify.ArtistResponse": {
+ "sec.InsiderTransaction": {
"properties": {
- "biography": {
- "description": "Artist biography text.",
+ "accession_number": {
+ "description": "SEC accession number that uniquely identifies the filing.",
"type": "string"
},
- "discography": {
- "description": "Selection of the artist's albums and releases.",
- "items": {
- "$ref": "#/definitions/spotify.SearchResultSummary"
- },
- "type": "array"
+ "acquired_or_disposed": {
+ "description": "`A` if the insider acquired the shares, `D` if disposed of them.",
+ "type": "string"
},
- "externalUrl": {
- "description": "Link to the artist on open.spotify.com.",
+ "code": {
"type": "string"
},
- "followers": {
- "description": "Number of Spotify followers the artist has.",
- "type": "integer"
+ "filing_date": {
+ "description": "Date the filing was submitted to the SEC, in YYYY-MM-DD format.",
+ "type": "string"
},
- "id": {
- "description": "Spotify ID of the artist.",
+ "filing_url": {
+ "description": "Link to the filing's index page on sec.gov.",
"type": "string"
},
- "imageUrl": {
- "description": "URL of the main artist image.",
+ "form": {
+ "description": "Ownership form type: `3`, `4`, `5` or an amendment such as `4/A`.",
"type": "string"
},
- "images": {
- "description": "Images available for the artist, with their sizes.",
- "items": {
- "$ref": "#/definitions/spotify.ImageAsset"
- },
- "type": "array"
+ "is_director": {
+ "description": "Whether the insider is a director of the company.",
+ "type": "boolean"
},
- "meta": {
- "allOf": [
- {
- "$ref": "#/definitions/spotify.ArtistMeta"
- }
- ],
- "description": "Details about this response."
+ "is_officer": {
+ "description": "Whether the insider is an officer of the company.",
+ "type": "boolean"
},
- "monthlyUsers": {
- "description": "Number of monthly listeners Spotify shows for the artist.",
- "type": "integer"
+ "is_ten_percent_owner": {
+ "description": "Whether the insider owns more than 10 percent of the company's shares.",
+ "type": "boolean"
},
- "name": {
- "description": "Artist name as Spotify shows it.",
+ "owner_name": {
+ "description": "Name of the insider who filed.",
"type": "string"
},
- "playlists": {
- "description": "Playlists featuring the artist.",
- "items": {
- "$ref": "#/definitions/spotify.SearchResultSummary"
- },
- "type": "array"
+ "owner_title": {
+ "description": "Insider's job title at the company, as stated on the filing.",
+ "type": "string"
},
- "related": {
- "description": "Artists related to this artist.",
- "items": {
- "$ref": "#/definitions/spotify.SearchResultSummary"
- },
- "type": "array"
+ "price_per_share": {
+ "description": "Price per share in the transaction.",
+ "type": "number"
},
- "shareUrl": {
- "description": "Link to the artist that Spotify offers for sharing.",
+ "security_title": {
+ "description": "Title of the security traded, such as `Common Stock`.",
"type": "string"
},
- "topTracks": {
- "description": "Most popular tracks of the artist.",
- "items": {
- "$ref": "#/definitions/spotify.SearchResultSummary"
- },
- "type": "array"
+ "shares": {
+ "description": "Number of shares in the transaction.",
+ "type": "number"
},
- "type": {
- "description": "Kind of item as Spotify labels it, for example `Artist`.",
- "type": "string"
+ "shares_owned_after": {
+ "description": "Number of shares the insider owns after the transaction.",
+ "type": "number"
},
- "uri": {
- "description": "Spotify URI of the artist.",
+ "transaction_date": {
+ "description": "Date the transaction took place, in YYYY-MM-DD format.",
"type": "string"
- },
- "verified": {
- "description": "Whether Spotify shows the artist as verified.",
- "type": "boolean"
}
},
"type": "object"
},
- "spotify.AudiobookChaptersMeta": {
+ "sec.MarketBlock": {
"properties": {
- "appVersion": {
- "description": "Version of the Spotify web player the data was read from.",
+ "change_percent": {
+ "description": "Price change since the previous close, in percent.",
+ "type": "number"
+ },
+ "currency": {
+ "description": "Currency code the price is quoted in.",
"type": "string"
},
- "count": {
- "description": "Number of chapters returned.",
- "type": "integer"
+ "day_high": {
+ "description": "Highest share price of the current trading day.",
+ "type": "number"
},
- "fetchedAt": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "day_low": {
+ "description": "Lowest share price of the current trading day.",
+ "type": "number"
+ },
+ "market_cap": {
+ "description": "Market capitalisation of the company.",
+ "type": "number"
+ },
+ "name": {
+ "description": "Company name shown with the quote.",
"type": "string"
},
- "operationName": {
- "description": "Name of the Spotify web player operation that returned the data.",
+ "price": {
+ "description": "Latest share price, in `currency`.",
+ "type": "number"
+ },
+ "symbol": {
+ "description": "Ticker symbol of the quote.",
"type": "string"
}
},
"type": "object"
},
- "spotify.AudiobookChaptersResponse": {
+ "sec.NameCount": {
"properties": {
- "chapters": {
- "description": "Chapters returned for the audiobook.",
- "items": {
- "$ref": "#/definitions/spotify.PodcastEpisodeSummary"
- },
- "type": "array"
- },
- "id": {
- "description": "Spotify ID of the audiobook.",
- "type": "string"
- },
- "limit": {
- "description": "Maximum number of chapters requested.",
- "type": "integer"
- },
- "meta": {
- "allOf": [
- {
- "$ref": "#/definitions/spotify.AudiobookChaptersMeta"
- }
- ],
- "description": "Details about this response."
- },
- "offset": {
- "description": "Position of the first chapter returned.",
- "type": "integer"
- },
- "total": {
- "description": "Total number of chapters in the audiobook.",
+ "count": {
+ "description": "Number of open roles in the department.",
"type": "integer"
},
- "uri": {
- "description": "Spotify URI of the audiobook.",
+ "name": {
+ "description": "Name of the department.",
"type": "string"
}
},
"type": "object"
},
- "spotify.AudiobookMeta": {
+ "sec.NewsItem": {
"properties": {
- "appVersion": {
- "description": "Version of the Spotify web player the data was read from.",
+ "published_at": {
+ "description": "Time the article was published.",
"type": "string"
},
- "fetchedAt": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "publisher": {
+ "description": "Name of the outlet that published the article.",
"type": "string"
},
- "operationName": {
- "description": "Name of the Spotify web player operation that returned the data.",
+ "title": {
+ "description": "Headline of the news article.",
+ "type": "string"
+ },
+ "url": {
+ "description": "Link to the article.",
"type": "string"
}
},
"type": "object"
},
- "spotify.AudiobookResponse": {
+ "sec.SubmissionsResponse": {
"properties": {
- "authors": {
- "description": "Names of the audiobook's authors.",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "description": {
- "description": "Description text of the audiobook.",
+ "category": {
+ "description": "SEC filer category, such as `Large accelerated filer`.",
+ "example": "Large accelerated filer",
"type": "string"
},
- "externalUrl": {
- "description": "Link to the audiobook on open.spotify.com.",
- "type": "string"
+ "cik": {
+ "description": "Company's SEC Central Index Key (CIK) number.",
+ "example": 320193,
+ "type": "integer"
},
- "id": {
- "description": "Spotify ID of the audiobook.",
+ "cik_padded": {
+ "description": "CIK number padded to 10 digits with a `CIK` prefix, as used in SEC data URLs.",
+ "example": "CIK0000320193",
"type": "string"
},
- "imageUrl": {
- "description": "URL of the audiobook cover image.",
+ "count": {
+ "description": "Number of filings returned.",
+ "type": "integer"
+ },
+ "entity_type": {
+ "description": "Type of filer, such as `operating`.",
+ "example": "operating",
"type": "string"
},
- "images": {
- "description": "Cover images available for the audiobook, with their sizes.",
+ "exchanges": {
+ "description": "Stock exchanges the company is listed on, such as `Nasdaq`.",
+ "example": [
+ "Nasdaq"
+ ],
"items": {
- "$ref": "#/definitions/spotify.ImageAsset"
+ "type": "string"
},
"type": "array"
},
- "isExplicit": {
- "description": "Whether Spotify marks the audiobook as explicit.",
- "type": "boolean"
- },
- "mediaType": {
- "description": "Kind of media the audiobook carries, as Spotify labels it.",
- "type": "string"
- },
- "meta": {
- "allOf": [
- {
- "$ref": "#/definitions/spotify.AudiobookMeta"
- }
- ],
- "description": "Details about this response."
+ "filings": {
+ "description": "Company's filings, newest first, after applying the form and date filters.",
+ "items": {
+ "$ref": "#/definitions/sec.Filing"
+ },
+ "type": "array"
},
- "name": {
- "description": "Audiobook title as Spotify shows it.",
+ "fiscal_year_end": {
+ "description": "Last day of the company's fiscal year in MMDD format, such as `0930`.",
+ "example": "0930",
"type": "string"
},
- "narrators": {
- "description": "Names of the audiobook's narrators.",
+ "former_names": {
+ "description": "Names the company has previously filed under.",
"items": {
"type": "string"
},
"type": "array"
},
- "publisher": {
- "description": "Name of the audiobook's publisher.",
+ "name": {
+ "description": "Company name as registered with the SEC.",
+ "example": "Apple Inc.",
"type": "string"
},
- "totalChapters": {
- "description": "Total number of chapters in the audiobook.",
- "type": "integer"
- },
- "type": {
- "description": "Kind of item as Spotify labels it, for example `Audiobook`.",
+ "sic": {
+ "description": "Standard Industrial Classification (SIC) code of the company.",
"type": "string"
},
- "uri": {
- "description": "Spotify URI of the audiobook.",
- "type": "string"
- }
- },
- "type": "object"
- },
- "spotify.BrowsePageItem": {
- "properties": {
- "description": {
- "description": "Description text of the item.",
- "example": "The official podcast of comedian Joe Rogan.",
+ "sic_description": {
+ "description": "Text description of the SIC industry code.",
"type": "string"
},
- "externalUrl": {
- "description": "Link to the item on open.spotify.com.",
- "example": "https://open.spotify.com/show/4rOoJ6Egrf8K2IrywzwOMk",
+ "source_url": {
+ "description": "URL the data was read from.",
"type": "string"
},
- "imageUrl": {
- "description": "URL of the main image for the item.",
- "example": "https://i.scdn.co/image/ab67656300005f1f54e6837957803d762a3f4d2b",
+ "state_of_incorporation": {
+ "description": "Code of the state or country where the company is incorporated.",
+ "example": "CA",
"type": "string"
},
- "images": {
- "description": "Images available for the item, with their sizes.",
+ "tickers": {
+ "description": "Ticker symbols the company trades under.",
"items": {
- "$ref": "#/definitions/spotify.ImageAsset"
+ "type": "string"
},
"type": "array"
- },
- "publisher": {
- "description": "Publisher or creator name of the item.",
- "example": "Joe Rogan",
- "type": "string"
- },
- "subtitle": {
- "description": "Secondary line shown under the item title, such as the creator name.",
- "example": "Joe Rogan",
- "type": "string"
- },
- "title": {
- "description": "Item title as Spotify shows it.",
- "example": "The Joe Rogan Experience",
- "type": "string"
- },
- "type": {
- "description": "Kind of item as Spotify labels it, for example `Podcast`.",
- "example": "Podcast",
- "type": "string"
- },
- "uri": {
- "description": "Spotify URI of the item.",
- "example": "spotify:show:4rOoJ6Egrf8K2IrywzwOMk",
- "type": "string"
}
},
"type": "object"
},
- "spotify.BrowsePageMeta": {
+ "sec.companySearchResponseDoc": {
"properties": {
- "appVersion": {
- "description": "Version of the Spotify web player the data was read from.",
- "example": "1.2.90.403.gf901f20f",
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "fetchedAt": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-05-13T20:41:12Z",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/sec.CompanySearchResponse"
},
- "operationName": {
- "description": "Name of the Spotify web player operation that returned the data.",
- "example": "browsePage",
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "sectionCount": {
- "description": "Number of sections returned.",
- "example": 8,
- "type": "integer"
}
},
"type": "object"
},
- "spotify.BrowsePageResponse": {
+ "sec.filingResponseDoc": {
"properties": {
- "meta": {
- "allOf": [
- {
- "$ref": "#/definitions/spotify.BrowsePageMeta"
- }
- ],
- "description": "Details about this response."
- },
- "sections": {
- "description": "Sections of the page, in display order.",
- "items": {
- "$ref": "#/definitions/spotify.BrowsePageSection"
- },
- "type": "array"
- },
- "subtitle": {
- "description": "Secondary line shown under the page title.",
- "example": "New shows and episodes",
- "type": "string"
- },
- "title": {
- "description": "Page title as Spotify shows it.",
- "example": "Podcasts",
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "type": {
- "description": "Kind of page container as Spotify labels it.",
- "example": "BrowseSectionContainer",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/sec.FilingResponse"
},
- "uri": {
- "description": "Spotify URI of the page that was loaded.",
- "example": "spotify:genre:podcasts-web",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "spotify.BrowsePageSection": {
+ "sec.filingSectionsResponseDoc": {
"properties": {
- "items": {
- "description": "Items returned for this section.",
- "items": {
- "$ref": "#/definitions/spotify.BrowsePageItem"
- },
- "type": "array"
- },
- "subtitle": {
- "description": "Secondary line shown under the section heading.",
- "example": "Recommended shows",
- "type": "string"
- },
- "title": {
- "description": "Section heading as Spotify shows it.",
- "example": "Popular podcasts",
- "type": "string"
- },
- "totalCount": {
- "description": "Total number of items in the section on Spotify.",
- "example": 20,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "type": {
- "description": "Kind of section as Spotify labels it.",
- "example": "BrowseGenericSectionData",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/sec.FilingSectionsResponse"
},
- "uri": {
- "description": "Spotify URI of the section.",
- "example": "spotify:section:0JQ5IMCbQBLqNPkcmYxQPQ",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "spotify.BrowseSectionMeta": {
+ "sec.financialsResponseDoc": {
"properties": {
- "appVersion": {
- "description": "Version of the Spotify web player the data was read from.",
- "example": "1.2.90.403.gf901f20f",
- "type": "string"
- },
- "count": {
- "description": "Number of items returned.",
- "example": 20,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "fetchedAt": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-05-13T20:41:12Z",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/sec.FinancialsResponse"
},
- "operationName": {
- "description": "Name of the Spotify web player operation that returned the data.",
- "example": "browseSection",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "spotify.BrowseSectionResponse": {
+ "sec.framesResponseDoc": {
"properties": {
- "items": {
- "description": "Items returned for this section.",
- "items": {
- "$ref": "#/definitions/spotify.BrowsePageItem"
- },
- "type": "array"
- },
- "limit": {
- "description": "Maximum number of items requested.",
- "example": 20,
- "type": "integer"
- },
- "meta": {
- "allOf": [
- {
- "$ref": "#/definitions/spotify.BrowseSectionMeta"
- }
- ],
- "description": "Details about this response."
- },
- "offset": {
- "description": "Position of the first item returned within the section.",
- "example": 0,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "subtitle": {
- "description": "Secondary line shown under the section heading.",
- "example": "Recommended shows",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/sec.FramesResponse"
},
- "title": {
- "description": "Section heading as Spotify shows it.",
- "example": "Popular podcasts",
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "totalCount": {
- "description": "Total number of items in the section on Spotify.",
- "example": 50,
+ }
+ },
+ "type": "object"
+ },
+ "sec.fullTextResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "type": {
- "description": "Kind of section as Spotify labels it.",
- "example": "BrowseGenericSectionData",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/sec.FullTextSearchResponse"
},
- "uri": {
- "description": "Spotify URI of the section that was loaded.",
- "example": "spotify:section:0JQ5IMCbQBLqNPkcmYxQPQ",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "spotify.ChartItem": {
+ "sec.holdingsResponseDoc": {
"properties": {
- "description": {
- "description": "Description text of the chart entry.",
- "example": "The official podcast of comedian Joe Rogan.",
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "episodeDescription": {
- "description": "Description text of the episode, for episode charts.",
- "example": "A representative chart episode.",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/sec.HoldingsResponse"
},
- "episodeExternalUrl": {
- "description": "Link to the episode on open.spotify.com, for episode charts.",
- "example": "https://open.spotify.com/episode/2C2Y5kNq7qCVOVhbA0G3os",
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sec.insiderResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "episodeImageUrl": {
- "description": "URL of the episode's cover image, for episode charts.",
- "example": "https://i.scdn.co/image/ab67656300005f1f54e6837957803d762a3f4d2b",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/sec.InsiderResponse"
},
- "episodeName": {
- "description": "Episode title as Spotify shows it, for episode charts.",
- "example": "Example episode",
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sec.intelligenceResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "episodeUri": {
- "description": "Spotify URI of the episode, for episode charts.",
- "example": "spotify:episode:2C2Y5kNq7qCVOVhbA0G3os",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/sec.CompanyIntelligenceResponse"
},
- "externalUrl": {
- "description": "Link to the chart entry on open.spotify.com.",
- "example": "https://open.spotify.com/show/4rOoJ6Egrf8K2IrywzwOMk",
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sec.submissionsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "imageUrl": {
- "description": "URL of the cover image for the chart entry.",
- "example": "https://i.scdn.co/image/ab67656300005f1f54e6837957803d762a3f4d2b",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/sec.SubmissionsResponse"
},
- "name": {
- "description": "Title of the chart entry (episode title for episode charts, otherwise show title).",
- "example": "The Joe Rogan Experience",
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "publisher": {
- "description": "Name of the publisher of the show.",
- "example": "Joe Rogan",
+ }
+ },
+ "type": "object"
+ },
+ "sephora.Answer": {
+ "properties": {
+ "author": {
"type": "string"
},
- "rank": {
- "description": "Position of the entry in the chart, starting at 1.",
- "example": 1,
+ "helpful_votes": {
"type": "integer"
},
- "rankMove": {
- "description": "Change in rank since the previous chart period, as Spotify labels it, for example `UNCHANGED`.",
- "example": "UNCHANGED",
- "type": "string"
- },
- "showDescription": {
- "description": "Description text of the show.",
- "example": "The official podcast of comedian Joe Rogan.",
- "type": "string"
- },
- "showExternalUrl": {
- "description": "Link to the show on open.spotify.com.",
- "example": "https://open.spotify.com/show/4rOoJ6Egrf8K2IrywzwOMk",
- "type": "string"
- },
- "showImageUrl": {
- "description": "URL of the show's cover image.",
- "example": "https://i.scdn.co/image/ab67656300005f1f54e6837957803d762a3f4d2b",
+ "id": {
"type": "string"
},
- "showName": {
- "description": "Show title as Spotify shows it.",
- "example": "The Joe Rogan Experience",
- "type": "string"
+ "is_brand_answer": {
+ "type": "boolean"
},
- "showPublisher": {
- "description": "Name of the show's publisher.",
- "example": "Joe Rogan",
- "type": "string"
+ "not_helpful_votes": {
+ "type": "integer"
},
- "showUri": {
- "description": "Spotify URI of the show.",
- "example": "spotify:show:4rOoJ6Egrf8K2IrywzwOMk",
+ "submitted_at": {
"type": "string"
},
- "uri": {
- "description": "Spotify URI of the chart entry (an episode for episode charts, otherwise a show).",
- "example": "spotify:show:4rOoJ6Egrf8K2IrywzwOMk",
+ "text": {
"type": "string"
}
},
"type": "object"
},
- "spotify.ChartMeta": {
+ "sephora.Brand": {
"properties": {
- "count": {
- "description": "Number of chart entries returned.",
- "example": 100,
- "type": "integer"
+ "brand_id": {
+ "example": "5644",
+ "type": "string"
},
- "fetchedAt": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-05-13T20:41:13Z",
+ "is_new": {
+ "type": "boolean"
+ },
+ "name": {
+ "example": "Lancôme",
"type": "string"
},
- "sourceUrl": {
- "description": "URL the data was read from.",
- "example": "https://podcastcharts.byspotify.com/api/charts/top-podcasts?region=us",
+ "slug": {
+ "example": "lancome",
"type": "string"
}
},
"type": "object"
},
- "spotify.ChartResponse": {
+ "sephora.BrandsResponse": {
"properties": {
- "chart": {
- "description": "Chart identifier that was requested, for example `top-podcasts`.",
- "example": "top-podcasts",
- "type": "string"
- },
- "chartName": {
- "description": "Display name of the chart.",
- "example": "Top Podcasts",
- "type": "string"
- },
- "chartType": {
- "description": "Whether the chart is an overall `chart` or a `category` chart.",
- "example": "chart",
- "type": "string"
- },
- "items": {
- "description": "Chart entries, ordered by rank.",
+ "brands": {
"items": {
- "$ref": "#/definitions/spotify.ChartItem"
+ "$ref": "#/definitions/sephora.Brand"
},
"type": "array"
},
- "limit": {
- "description": "Maximum number of chart entries requested.",
- "example": 100,
- "type": "integer"
- },
- "meta": {
- "allOf": [
- {
- "$ref": "#/definitions/spotify.ChartMeta"
- }
- ],
- "description": "Details about this response."
- },
- "region": {
- "description": "Region code the chart was loaded for.",
- "example": "us",
+ "fetched_at": {
"type": "string"
},
- "regionName": {
- "description": "Name of the chart region.",
- "example": "United States",
+ "source_url": {
"type": "string"
+ },
+ "total_count": {
+ "example": 373,
+ "type": "integer"
}
},
"type": "object"
},
- "spotify.CountryHubContentID": {
+ "sephora.CategoriesResponse": {
"properties": {
- "id": {
- "description": "Content identifier to pass when requesting that section, for example `CHARTS`.",
- "example": "CHARTS",
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/sephora.CategoryEntry"
+ },
+ "type": "array"
+ },
+ "fetched_at": {
"type": "string"
},
- "title": {
- "description": "Section heading as Spotify shows it.",
- "example": "Featured Charts",
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "spotify.CountryHubContentMeta": {
+ "sephora.CategoryEntry": {
"properties": {
- "appVersion": {
- "description": "Version of the Spotify web player the data was read from.",
- "example": "1.2.90.403.gf901f20f",
+ "department": {
+ "example": "makeup",
"type": "string"
},
- "fetchedAt": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-05-13T20:41:13Z",
+ "group": {
+ "example": "Eye",
"type": "string"
},
- "itemCount": {
- "description": "Number of items returned.",
- "example": 20,
- "type": "integer"
- },
- "operationName": {
- "description": "Name of the Spotify web player operation that returned the data.",
- "example": "countryHubContent",
+ "name": {
+ "example": "Mascara",
"type": "string"
},
- "partialErrors": {
- "description": "PartialErrors counts upstream GraphQL field errors tolerated alongside\nusable items. Zero on a fully clean response.",
- "example": 1,
- "type": "integer"
+ "slug": {
+ "example": "mascara",
+ "type": "string"
}
},
"type": "object"
},
- "spotify.CountryHubContentResponse": {
+ "sephora.CategoryResponse": {
"properties": {
- "contentId": {
- "description": "Content identifier that was requested: `CHARTS`, `POPULAR_ALBUMS`, `POPULAR_ARTISTS` or `TRENDING_SONGS`.",
- "example": "CHARTS",
- "type": "string"
+ "brand": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "countryCode": {
- "description": "Country code the content was loaded for.",
- "example": "US",
+ "category_id": {
"type": "string"
},
- "countryName": {
- "description": "Name of the country.",
- "example": "United States",
+ "count": {
+ "type": "integer"
+ },
+ "display_name": {
+ "example": "Makeup",
"type": "string"
},
- "hexColor": {
- "description": "Accent color of the country page, as a hex color code.",
- "example": "#1DB954",
+ "fetched_at": {
"type": "string"
},
- "items": {
- "description": "Items returned for the section.",
+ "filter": {
"items": {
- "$ref": "#/definitions/spotify.CountryHubItem"
+ "type": "string"
},
"type": "array"
},
- "meta": {
- "allOf": [
- {
- "$ref": "#/definitions/spotify.CountryHubContentMeta"
- }
- ],
- "description": "Details about this response."
+ "is_new": {
+ "type": "boolean"
},
- "supportedContentIds": {
- "description": "Content sections available on the country page.",
+ "page": {
+ "example": 1,
+ "type": "integer"
+ },
+ "page_size": {
+ "example": 60,
+ "type": "integer"
+ },
+ "price_max": {
+ "type": "integer"
+ },
+ "price_min": {
+ "type": "integer"
+ },
+ "products": {
"items": {
- "$ref": "#/definitions/spotify.CountryHubContentID"
+ "$ref": "#/definitions/sephora.SearchProduct"
},
"type": "array"
},
- "supportedCountries": {
- "description": "Countries Spotify offers a popular-in page for.",
+ "rating_min": {
+ "type": "integer"
+ },
+ "related_categories": {
"items": {
- "$ref": "#/definitions/spotify.PopularCountry"
+ "type": "string"
},
"type": "array"
},
- "title": {
- "description": "Section heading as Spotify shows it.",
- "example": "Featured Charts",
+ "slug": {
+ "example": "makeup-cosmetics",
+ "type": "string"
+ },
+ "sort_by": {
+ "example": "featured",
"type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "total_products": {
+ "example": 2492,
+ "type": "integer"
}
},
"type": "object"
},
- "spotify.CountryHubItem": {
+ "sephora.FullReview": {
"properties": {
- "album": {
- "allOf": [
- {
- "$ref": "#/definitions/spotify.SearchResultSummary"
- }
- ],
- "description": "Album the item appears on."
+ "author": {
+ "type": "string"
},
- "artists": {
- "description": "Artists credited on the item.",
- "items": {
- "$ref": "#/definitions/spotify.SearchResultSummary"
- },
- "type": "array"
+ "body": {
+ "type": "string"
},
- "attributes": {
- "additionalProperties": {
- "type": "string"
- },
- "description": "Additional key-value attributes Spotify returns for the item.",
- "example": {
- "{\"chart\"": "\"top-50\"}"
- },
- "type": "object"
+ "helpful_votes": {
+ "type": "integer"
},
- "description": {
- "description": "Description text of the item.",
- "example": "Your daily update of the most played tracks right now.",
+ "id": {
"type": "string"
},
- "externalUrl": {
- "description": "Link to the item on open.spotify.com.",
- "example": "https://open.spotify.com/playlist/37i9dQZEVXbLRQDuF5jeBpM",
+ "location": {
"type": "string"
},
- "imageUrl": {
- "description": "URL of the main image for the item.",
- "example": "https://charts-images.scdn.co/assets/locale_en/regional/daily/region_us_default.jpg",
- "type": "string"
+ "not_helpful_votes": {
+ "type": "integer"
},
- "images": {
- "description": "Images available for the item, with their sizes.",
+ "photo_urls": {
"items": {
- "$ref": "#/definitions/spotify.ImageAsset"
+ "type": "string"
},
"type": "array"
},
- "owner": {
- "allOf": [
- {
- "$ref": "#/definitions/spotify.SearchResultSummary"
- }
- ],
- "description": "User or account that owns the item."
+ "rating": {
+ "type": "integer"
},
- "subtitle": {
- "description": "Secondary line shown under the item title.",
- "example": "Spotify",
- "type": "string"
+ "ratings_only": {
+ "description": "RatingsOnly marks a review that carries only a star rating with no\nwritten title/body -- Bazaarvoice allows these and this endpoint still\nsurfaces them.",
+ "type": "boolean"
},
- "title": {
- "description": "Item title as Spotify shows it.",
- "example": "Top 50 - USA",
- "type": "string"
+ "recommended": {
+ "type": "boolean"
},
- "type": {
- "description": "Kind of item as Spotify labels it, for example `Playlist`.",
- "example": "Playlist",
+ "secondary_ratings": {
+ "items": {
+ "$ref": "#/definitions/sephora.ReviewSecondaryRating"
+ },
+ "type": "array"
+ },
+ "submitted_at": {
"type": "string"
},
- "uri": {
- "description": "Spotify URI of the item.",
- "example": "spotify:playlist:37i9dQZEVXbLRQDuF5jeBpM",
+ "title": {
"type": "string"
}
},
"type": "object"
},
- "spotify.CountryHubMeta": {
+ "sephora.ProductQuestionsResponse": {
"properties": {
- "appVersion": {
- "description": "Version of the Spotify web player the data was read from.",
- "example": "1.2.90.403.gf901f20f",
- "type": "string"
+ "count": {
+ "type": "integer"
},
- "fetchedAt": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-05-13T20:41:13Z",
+ "fetched_at": {
"type": "string"
},
- "itemCount": {
- "description": "Number of items returned across all sections.",
- "example": 20,
+ "page": {
"type": "integer"
},
- "operationName": {
- "description": "Name of the Spotify web player operation that returned the data.",
- "example": "countryHubsPage",
+ "page_size": {
+ "type": "integer"
+ },
+ "product_id": {
"type": "string"
},
- "partialErrors": {
- "description": "PartialErrors counts upstream GraphQL field errors that were tolerated\nbecause usable shelves were still returned (e.g. one broken shelf among\nseveral). Zero on a fully clean response.",
- "example": 1,
+ "questions": {
+ "items": {
+ "$ref": "#/definitions/sephora.Question"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "total_pages": {
"type": "integer"
},
- "sectionCount": {
- "description": "Number of sections returned.",
- "example": 5,
+ "total_questions": {
"type": "integer"
}
},
"type": "object"
},
- "spotify.CountryHubResponse": {
+ "sephora.ProductResponse": {
"properties": {
- "countryCode": {
- "description": "Country code the hub was loaded for.",
- "example": "US",
+ "brand": {
+ "example": "LANEIGE",
"type": "string"
},
- "countryName": {
- "description": "Name of the country.",
- "example": "United States",
+ "category": {
"type": "string"
},
- "hexColor": {
- "description": "Accent color of the country page, as a hex color code.",
- "example": "#1DB954",
+ "description": {
"type": "string"
},
- "meta": {
- "allOf": [
- {
- "$ref": "#/definitions/spotify.CountryHubMeta"
- }
- ],
- "description": "Details about this response."
+ "fetched_at": {
+ "type": "string"
},
- "sections": {
- "description": "Content sections of the country page.",
+ "image": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "product_group_id": {
+ "example": "P420652",
+ "type": "string"
+ },
+ "rating": {
+ "example": 4.3,
+ "type": "number"
+ },
+ "review_count": {
+ "type": "integer"
+ },
+ "review_sample": {
"items": {
- "$ref": "#/definitions/spotify.CountryHubSection"
+ "$ref": "#/definitions/sephora.ReviewSample"
},
"type": "array"
},
- "supportedCountries": {
- "description": "Countries Spotify offers a popular-in page for.",
+ "source_url": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "variants": {
"items": {
- "$ref": "#/definitions/spotify.PopularCountry"
+ "$ref": "#/definitions/sephora.Variant"
},
"type": "array"
}
},
"type": "object"
},
- "spotify.CountryHubSection": {
+ "sephora.ProductReviewsResponse": {
"properties": {
- "contentId": {
- "description": "Identifier of the section content, for example `CHARTS`.",
- "example": "CHARTS",
+ "average_rating": {
+ "type": "number"
+ },
+ "count": {
+ "type": "integer"
+ },
+ "fetched_at": {
"type": "string"
},
- "items": {
- "description": "Items returned for this section.",
+ "page": {
+ "type": "integer"
+ },
+ "page_size": {
+ "type": "integer"
+ },
+ "product_id": {
+ "type": "string"
+ },
+ "rating_count": {
+ "description": "RatingCount, AverageRating, RecommendedRatio, and RatingHistogram are\nthe product's site-wide aggregate rating summary, not just this page --\nabsent (zero-valued) for a product with no reviews yet.",
+ "type": "integer"
+ },
+ "rating_histogram": {
+ "description": "RatingHistogram is the count of ratings per star, ascending: index 0 is\n1-star, index 4 is 5-star.",
"items": {
- "$ref": "#/definitions/spotify.CountryHubItem"
+ "type": "integer"
},
"type": "array"
},
- "title": {
- "description": "Section heading as Spotify shows it.",
- "example": "Featured Charts",
+ "recommended_ratio": {
+ "type": "number"
+ },
+ "reviews": {
+ "items": {
+ "$ref": "#/definitions/sephora.FullReview"
+ },
+ "type": "array"
+ },
+ "source_url": {
"type": "string"
},
- "totalCount": {
- "description": "Total number of items in the section on Spotify.",
- "example": 20,
+ "total_pages": {
+ "type": "integer"
+ },
+ "total_reviews": {
"type": "integer"
}
},
"type": "object"
},
- "spotify.HomeMeta": {
+ "sephora.Question": {
"properties": {
- "appVersion": {
- "description": "Version of the Spotify web player the data was read from.",
- "example": "1.2.90.403.gf901f20f",
+ "answer_count": {
+ "type": "integer"
+ },
+ "answers": {
+ "items": {
+ "$ref": "#/definitions/sephora.Answer"
+ },
+ "type": "array"
+ },
+ "author": {
"type": "string"
},
- "fetchedAt": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-05-13T20:41:12Z",
+ "has_best_answer": {
+ "type": "boolean"
+ },
+ "id": {
"type": "string"
},
- "operationName": {
- "description": "Name of the Spotify web player operation that returned the data.",
- "example": "home",
+ "submitted_at": {
"type": "string"
},
- "sectionCount": {
- "description": "Number of sections returned.",
- "example": 8,
- "type": "integer"
+ "text": {
+ "type": "string"
}
},
"type": "object"
},
- "spotify.HomeResponse": {
+ "sephora.ReviewSample": {
"properties": {
- "facet": {
- "description": "Home page filter that was applied, for example `music`.",
- "example": "music",
+ "author": {
"type": "string"
},
- "greeting": {
- "description": "Greeting Spotify shows at the top of the home page, for example `Good afternoon`.",
- "example": "Good afternoon",
+ "body": {
"type": "string"
},
- "meta": {
- "allOf": [
- {
- "$ref": "#/definitions/spotify.HomeMeta"
- }
- ],
- "description": "Details about this response."
+ "date_published": {
+ "type": "string"
},
- "sections": {
- "description": "Home page sections, in display order.",
- "items": {
- "$ref": "#/definitions/spotify.BrowsePageSection"
- },
- "type": "array"
+ "id": {
+ "type": "string"
},
- "timeZone": {
- "description": "Time zone the home page was personalized for.",
- "example": "UTC",
+ "rating": {
+ "type": "number"
+ },
+ "title": {
"type": "string"
}
},
"type": "object"
},
- "spotify.ImageAsset": {
+ "sephora.ReviewSecondaryRating": {
"properties": {
- "height": {
- "description": "Image height in pixels.",
- "example": 640,
+ "max_value": {
+ "example": 5,
"type": "integer"
},
- "url": {
- "description": "URL of the image.",
- "example": "https://i.scdn.co/image/ab6765630000ba8ab0484f8ee2933eceab32bac0",
+ "name": {
+ "example": "Value",
"type": "string"
},
- "width": {
- "description": "Image width in pixels.",
- "example": 640,
+ "value": {
+ "example": 4,
"type": "integer"
}
},
"type": "object"
},
- "spotify.PlaylistMeta": {
+ "sephora.SearchProduct": {
"properties": {
- "appVersion": {
- "description": "Version of the Spotify web player the data was read from.",
- "example": "1.2.90.403.gf901f20f",
+ "brand_name": {
+ "example": "tarte",
"type": "string"
},
- "episodeCount": {
- "description": "Number of episodes among the returned items.",
- "example": 0,
- "type": "integer"
+ "image_url": {
+ "type": "string"
},
- "fetchedAt": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-05-13T20:41:12Z",
+ "list_price": {
+ "example": "$25.00",
"type": "string"
},
- "itemCount": {
- "description": "Number of items returned.",
- "example": 20,
+ "more_colors": {
"type": "integer"
},
- "operationName": {
- "description": "Name of the Spotify web player operation that returned the data.",
- "example": "fetchPlaylist",
+ "product_id": {
+ "example": "P520769",
"type": "string"
},
- "trackCount": {
- "description": "Number of tracks among the returned items.",
- "example": 20,
+ "product_name": {
+ "type": "string"
+ },
+ "rating": {
+ "example": 4.5,
+ "type": "number"
+ },
+ "review_count": {
"type": "integer"
+ },
+ "sku_id": {
+ "type": "string"
+ },
+ "sponsored": {
+ "type": "boolean"
+ },
+ "url": {
+ "type": "string"
+ },
+ "value_price": {
+ "type": "string"
}
},
"type": "object"
},
- "spotify.PlaylistResponse": {
+ "sephora.SearchResponse": {
"properties": {
- "collaborative": {
- "description": "Whether the playlist is collaborative.",
- "example": false,
- "type": "boolean"
- },
- "description": {
- "description": "Description text of the playlist.",
- "example": "Your daily update of the most played tracks right now.",
- "type": "string"
- },
- "episodes": {
- "description": "The podcast episode entries among the returned items.",
+ "brand": {
"items": {
- "$ref": "#/definitions/spotify.SearchResultSummary"
+ "type": "string"
},
"type": "array"
},
- "externalUrl": {
- "description": "Link to the playlist on open.spotify.com.",
- "example": "https://open.spotify.com/playlist/37i9dQZEVXbLwpL8TjsxOG",
- "type": "string"
- },
- "followers": {
- "description": "Number of followers the playlist has.",
- "example": 17500000,
+ "count": {
"type": "integer"
},
- "id": {
- "description": "Spotify ID of the playlist.",
- "example": "37i9dQZEVXbLwpL8TjsxOG",
- "type": "string"
- },
- "imageUrl": {
- "description": "URL of the playlist cover image.",
- "example": "https://charts-images.scdn.co/assets/locale_en/regional/daily/region_global_default.jpg",
+ "fetched_at": {
"type": "string"
},
- "images": {
- "description": "Cover images available for the playlist, with their sizes.",
+ "filter": {
"items": {
- "$ref": "#/definitions/spotify.ImageAsset"
+ "type": "string"
},
"type": "array"
},
- "items": {
- "description": "Tracks and episodes returned from the playlist, in playlist order.",
- "items": {
- "$ref": "#/definitions/spotify.SearchResultSummary"
- },
- "type": "array"
+ "is_new": {
+ "type": "boolean"
},
- "limit": {
- "description": "Maximum number of items requested.",
- "example": 20,
+ "page": {
+ "example": 1,
"type": "integer"
},
- "meta": {
- "allOf": [
- {
- "$ref": "#/definitions/spotify.PlaylistMeta"
- }
- ],
- "description": "Details about this response."
+ "page_size": {
+ "example": 60,
+ "type": "integer"
},
- "name": {
- "description": "Playlist title as Spotify shows it.",
- "example": "Top 50 - Global",
- "type": "string"
+ "price_max": {
+ "example": 30,
+ "type": "integer"
},
- "offset": {
- "description": "Position of the first item returned.",
- "example": 0,
+ "price_min": {
+ "example": 15,
"type": "integer"
},
- "owner": {
- "allOf": [
- {
- "$ref": "#/definitions/spotify.SearchResultSummary"
- }
- ],
- "description": "User or account that owns the playlist."
+ "products": {
+ "items": {
+ "$ref": "#/definitions/sephora.SearchProduct"
+ },
+ "type": "array"
},
- "shareUrl": {
- "description": "Link to the playlist that Spotify offers for sharing.",
- "example": "https://open.spotify.com/playlist/37i9dQZEVXbLwpL8TjsxOG",
+ "query": {
+ "example": "mascara",
"type": "string"
},
- "total": {
- "description": "Total number of items in the playlist.",
- "example": 50,
+ "rating_min": {
+ "example": 4,
"type": "integer"
},
- "tracks": {
- "description": "The track entries among the returned items.",
+ "related_searches": {
"items": {
- "$ref": "#/definitions/spotify.SearchResultSummary"
+ "type": "string"
},
"type": "array"
},
- "type": {
- "description": "Kind of item as Spotify labels it, for example `Playlist`.",
- "example": "Playlist",
+ "sort_by": {
+ "example": "featured",
"type": "string"
},
- "uri": {
- "description": "Spotify URI of the playlist.",
- "example": "spotify:playlist:37i9dQZEVXbLwpL8TjsxOG",
+ "source_url": {
"type": "string"
+ },
+ "total_products": {
+ "example": 180,
+ "type": "integer"
}
},
"type": "object"
},
- "spotify.PodcastEpisodeMeta": {
+ "sephora.Store": {
"properties": {
- "appVersion": {
- "description": "Version of the Spotify web player the data was read from.",
- "example": "1.2.90.403.gf901f20f",
+ "address": {
+ "$ref": "#/definitions/sephora.StoreAddress"
+ },
+ "display_name": {
+ "example": "STATE STREET",
"type": "string"
},
- "fetchedAt": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-05-13T20:41:13Z",
+ "distance_miles": {
+ "example": 0.2,
+ "type": "number"
+ },
+ "hours": {
+ "$ref": "#/definitions/sephora.StoreHours"
+ },
+ "is_bopisable": {
+ "type": "boolean"
+ },
+ "is_curbside_enabled": {
+ "type": "boolean"
+ },
+ "is_online_reservation_enabled": {
+ "type": "boolean"
+ },
+ "latitude": {
+ "type": "number"
+ },
+ "longitude": {
+ "type": "number"
+ },
+ "same_day_delivery_enabled": {
+ "type": "boolean"
+ },
+ "store_id": {
+ "example": "0662",
"type": "string"
},
- "operationName": {
- "description": "Name of the Spotify web player operation that returned the data.",
- "example": "getEpisodeOrChapter",
+ "store_type": {
+ "example": "SEPHORA",
"type": "string"
},
- "sourceUrl": {
- "description": "URL the data was read from.",
- "example": "https://open.spotify.com/episode/2C2Y5kNq7qCVOVhbA0G3os",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "spotify.PodcastEpisodeResponse": {
+ "sephora.StoreAddress": {
"properties": {
- "description": {
- "description": "Plain-text description of the episode.",
- "example": "A new adventure from the Stinky Dragon crew.",
+ "address1": {
"type": "string"
},
- "durationMs": {
- "description": "Episode length in milliseconds.",
- "example": 3600000,
- "type": "integer"
- },
- "externalUrl": {
- "description": "Link to the episode on open.spotify.com.",
- "example": "https://open.spotify.com/episode/2C2Y5kNq7qCVOVhbA0G3os",
+ "address2": {
"type": "string"
},
- "htmlDescription": {
- "description": "Description of the episode with its HTML formatting.",
- "example": "A new adventure from the Stinky Dragon crew.",
+ "city": {
"type": "string"
},
- "id": {
- "description": "Spotify ID of the episode.",
- "example": "2C2Y5kNq7qCVOVhbA0G3os",
+ "country": {
"type": "string"
},
- "imageUrl": {
- "description": "URL of the main cover image for the episode.",
- "example": "https://i.scdn.co/image/ab6765630000ba8ab0484f8ee2933eceab32bac0",
+ "mall_name": {
"type": "string"
},
- "images": {
- "description": "Cover images available for the episode, with their sizes.",
- "items": {
- "$ref": "#/definitions/spotify.ImageAsset"
- },
- "type": "array"
- },
- "isExplicit": {
- "description": "Whether Spotify marks the episode as explicit.",
- "example": false,
- "type": "boolean"
- },
- "isPaywallContent": {
- "description": "Whether the episode is paywalled content.",
- "example": false,
- "type": "boolean"
- },
- "isPlayable": {
- "description": "Whether the episode can be played.",
- "example": true,
- "type": "boolean"
+ "phone": {
+ "type": "string"
},
- "mediaTypes": {
- "description": "Media types the episode is available in, for example `AUDIO`.",
- "example": [
- "AUDIO"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
+ "postal_code": {
+ "type": "string"
},
- "meta": {
- "allOf": [
- {
- "$ref": "#/definitions/spotify.PodcastEpisodeMeta"
- }
- ],
- "description": "Details about this response."
+ "state": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sephora.StoreHours": {
+ "properties": {
+ "friday": {
+ "type": "string"
},
- "name": {
- "description": "Episode title as Spotify shows it.",
- "example": "Tales from the Stinky Dragon",
+ "monday": {
"type": "string"
},
- "playabilityReason": {
- "description": "Reason code Spotify gives for the episode's playability, for example `PLAYABLE`.",
- "example": "PLAYABLE",
+ "saturday": {
"type": "string"
},
- "previewAudioUrl": {
- "description": "URL of an audio preview of the episode.",
- "example": "https://p.scdn.co/mp3-preview/example",
+ "sunday": {
"type": "string"
},
- "previewAudioUrls": {
- "description": "URLs of the audio previews available for the episode.",
- "example": [
- "https://p.scdn.co/mp3-preview/example"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
+ "thursday": {
+ "type": "string"
},
- "previewVideoUrl": {
- "description": "URL of a video preview of the episode.",
- "example": "https://p.scdn.co/video-preview/example",
+ "time_zone": {
+ "example": "America/Chicago",
"type": "string"
},
- "releaseDate": {
- "description": "Date the episode was released, as Spotify returns it.",
- "example": "2026-05-13",
+ "tuesday": {
"type": "string"
},
- "releaseDatePrecision": {
- "description": "How precise the release date is, for example `DAY`.",
- "example": "DAY",
+ "wednesday": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sephora.StoresResponse": {
+ "properties": {
+ "count": {
+ "type": "integer"
},
- "shareUrl": {
- "description": "Link to the episode that Spotify offers for sharing.",
- "example": "https://open.spotify.com/episode/2C2Y5kNq7qCVOVhbA0G3os",
+ "fetched_at": {
"type": "string"
},
- "show": {
- "allOf": [
- {
- "$ref": "#/definitions/spotify.PodcastEpisodeShowSummary"
- }
- ],
- "description": "Show the episode belongs to."
+ "latitude": {
+ "example": 41.88325,
+ "type": "number"
},
- "transcriptCount": {
- "description": "Number of transcripts Spotify has for the episode.",
- "example": 1,
+ "longitude": {
+ "example": -87.6323879,
+ "type": "number"
+ },
+ "radius": {
+ "example": 50,
"type": "integer"
},
- "type": {
- "description": "Kind of item as Spotify labels it, for example `Episode`.",
- "example": "Episode",
+ "source_url": {
"type": "string"
},
- "unplayabilityReasons": {
- "description": "Reasons the episode cannot be played, such as `not_available_in_region`.",
- "example": [
- "not_available_in_region"
- ],
+ "stores": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/sephora.Store"
},
"type": "array"
- },
- "uri": {
- "description": "Spotify URI of the episode.",
- "example": "spotify:episode:2C2Y5kNq7qCVOVhbA0G3os",
+ }
+ },
+ "type": "object"
+ },
+ "sephora.SuggestCategory": {
+ "properties": {
+ "name": {
+ "example": "Mascara",
"type": "string"
},
- "videoThumbnailUrl": {
- "description": "URL of the video thumbnail for the episode.",
- "example": "https://i.scdn.co/image/ab6765630000ba8ab0484f8ee2933eceab32bac0",
+ "url": {
+ "example": "https://www.sephora.com/shop/mascara",
"type": "string"
- },
- "videoThumbnails": {
- "description": "Video thumbnails available for the episode, with their sizes.",
- "items": {
- "$ref": "#/definitions/spotify.ImageAsset"
- },
- "type": "array"
}
},
"type": "object"
},
- "spotify.PodcastEpisodeShowSummary": {
+ "sephora.SuggestProduct": {
"properties": {
- "description": {
- "description": "Description text of the show.",
- "example": "Tales from the Stinky Dragon is an actual-play comedy podcast.",
+ "brand_name": {
+ "example": "ILIA",
"type": "string"
},
- "externalUrl": {
- "description": "Link to the show on open.spotify.com.",
- "example": "https://open.spotify.com/show/1QQJ7FElLE0K6CIfZNCxU4",
+ "image_url": {
"type": "string"
},
- "id": {
- "description": "Spotify ID of the show.",
- "example": "1QQJ7FElLE0K6CIfZNCxU4",
+ "product_id": {
+ "example": "P431750",
"type": "string"
},
- "imageUrl": {
- "description": "URL of the main cover image for the show.",
- "example": "https://i.scdn.co/image/ab6765630000ba8ab0484f8ee2933eceab32bac0",
+ "product_name": {
"type": "string"
},
- "images": {
- "description": "Cover images available for the show, with their sizes.",
+ "rating": {
+ "example": 4.1361,
+ "type": "number"
+ },
+ "review_count": {
+ "type": "integer"
+ },
+ "sku_id": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sephora.SuggestResponse": {
+ "properties": {
+ "categories": {
"items": {
- "$ref": "#/definitions/spotify.ImageAsset"
+ "$ref": "#/definitions/sephora.SuggestCategory"
},
"type": "array"
},
- "mediaType": {
- "description": "Kind of media the show carries, for example `MIXED`.",
- "example": "MIXED",
+ "fetched_at": {
"type": "string"
},
- "name": {
- "description": "Show title as Spotify shows it.",
- "example": "Tales from the Stinky Dragon",
+ "products": {
+ "items": {
+ "$ref": "#/definitions/sephora.SuggestProduct"
+ },
+ "type": "array"
+ },
+ "query": {
+ "example": "masc",
"type": "string"
},
- "publisher": {
- "description": "Name of the show's publisher.",
- "example": "Stinky Dragon",
+ "source_url": {
"type": "string"
},
- "showTypes": {
- "description": "Show type labels Spotify assigns, for example `PODCAST`.",
- "example": [
- "PODCAST"
- ],
+ "terms": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/sephora.SuggestTerm"
},
"type": "array"
- },
- "type": {
- "description": "Kind of item as Spotify labels it, for example `Podcast`.",
- "example": "Podcast",
- "type": "string"
- },
- "uri": {
- "description": "Spotify URI of the show.",
- "example": "spotify:show:1QQJ7FElLE0K6CIfZNCxU4",
+ }
+ },
+ "type": "object"
+ },
+ "sephora.SuggestTerm": {
+ "properties": {
+ "term": {
+ "example": "mascara",
"type": "string"
}
},
"type": "object"
},
- "spotify.PodcastEpisodeSummary": {
+ "sephora.Variant": {
"properties": {
- "description": {
- "description": "Description text of the episode.",
- "example": "A new adventure from the Stinky Dragon crew.",
+ "availability": {
+ "example": "InStock",
"type": "string"
},
- "durationMs": {
- "description": "Episode length in milliseconds.",
- "example": 3600000,
- "type": "integer"
- },
- "externalUrl": {
- "description": "Link to the episode on open.spotify.com.",
- "example": "https://open.spotify.com/episode/2C2Y5kNq7qCVOVhbA0G3os",
+ "color": {
+ "example": "Acai Mango Smoothie",
"type": "string"
},
- "imageUrl": {
- "description": "URL of the main cover image for the episode.",
- "example": "https://i.scdn.co/image/ab6765630000ba8ab0484f8ee2933eceab32bac0",
+ "currency_code": {
+ "example": "USD",
"type": "string"
},
- "images": {
- "description": "Cover images available for the episode, with their sizes.",
- "items": {
- "$ref": "#/definitions/spotify.ImageAsset"
- },
- "type": "array"
- },
- "isExplicit": {
- "description": "Whether Spotify marks the episode as explicit.",
- "example": false,
- "type": "boolean"
- },
- "isPlayable": {
- "description": "Whether the episode can be played.",
- "example": true,
- "type": "boolean"
- },
- "name": {
- "description": "Episode title as Spotify shows it.",
- "example": "Tales from the Stinky Dragon",
+ "image": {
"type": "string"
},
- "releaseDate": {
- "description": "Date the episode was released, as Spotify returns it.",
- "example": "2026-05-13",
+ "name": {
"type": "string"
},
- "type": {
- "description": "Kind of item as Spotify labels it, for example `Episode`.",
- "example": "Episode",
+ "price": {
+ "example": "25.00",
"type": "string"
},
- "uri": {
- "description": "Spotify URI of the episode.",
- "example": "spotify:episode:2C2Y5kNq7qCVOVhbA0G3os",
+ "sku": {
"type": "string"
}
},
"type": "object"
},
- "spotify.PodcastEpisodesMeta": {
+ "sephora.brandsResponseDoc": {
"properties": {
- "appVersion": {
- "description": "Version of the Spotify web player the data was read from.",
- "example": "1.2.90.403.gf901f20f",
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "fetchedAt": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-05-13T20:41:13Z",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/sephora.BrandsResponse"
},
- "operationName": {
- "description": "Name of the Spotify web player operation that returned the data.",
- "example": "queryPodcastEpisodes",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "spotify.PodcastEpisodesResponse": {
+ "sephora.categoriesResponseDoc": {
"properties": {
- "episodes": {
- "description": "Episodes returned for the show.",
- "items": {
- "$ref": "#/definitions/spotify.PodcastEpisodeSummary"
- },
- "type": "array"
- },
- "limit": {
- "description": "Maximum number of episodes requested.",
- "example": 20,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "meta": {
- "allOf": [
- {
- "$ref": "#/definitions/spotify.PodcastEpisodesMeta"
- }
- ],
- "description": "Details about this response."
+ "data": {
+ "$ref": "#/definitions/sephora.CategoriesResponse"
},
- "offset": {
- "description": "Position of the first episode returned.",
- "example": 0,
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sephora.categoryResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "total": {
- "description": "Total number of episodes the show has on Spotify.",
- "example": 202,
+ "data": {
+ "$ref": "#/definitions/sephora.CategoryResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sephora.productQuestionsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "uri": {
- "description": "Spotify URI of the show whose episodes are listed.",
- "example": "spotify:show:1QQJ7FElLE0K6CIfZNCxU4",
+ "data": {
+ "$ref": "#/definitions/sephora.ProductQuestionsResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "spotify.PopularCountry": {
+ "sephora.productResponseDoc": {
"properties": {
"code": {
- "example": "us",
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/sephora.ProductResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sephora.productReviewsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "name": {
- "description": "Country name in English.",
- "example": "United States",
+ "data": {
+ "$ref": "#/definitions/sephora.ProductReviewsResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "spotify.RecommendationSummary": {
+ "sephora.searchResponseDoc": {
"properties": {
- "description": {
- "description": "Description text of the recommended item.",
- "example": "The official podcast of comedian Joe Rogan.",
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/sephora.SearchResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sephora.storesResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "externalUrl": {
- "description": "Link to the recommended item on open.spotify.com.",
- "example": "https://open.spotify.com/show/4rOoJ6Egrf8K2IrywzwOMk",
+ "data": {
+ "$ref": "#/definitions/sephora.StoresResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sephora.suggestResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "imageUrl": {
- "description": "URL of the main image for the recommended item.",
- "example": "https://i.scdn.co/image/ab67656300005f1f54e6837957803d762a3f4d2b",
+ "data": {
+ "$ref": "#/definitions/sephora.SuggestResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sevennewsau.AuthorResponse": {
+ "properties": {
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/newsplatform.HeadlineItem"
+ },
+ "type": "array"
},
- "images": {
- "description": "Images available for the recommended item, with their sizes.",
+ "biography": {
"items": {
- "$ref": "#/definitions/spotify.ImageAsset"
+ "type": "string"
},
"type": "array"
},
- "publisher": {
- "description": "Publisher or creator name of the recommended item.",
- "example": "Joe Rogan",
+ "image_url": {
"type": "string"
},
- "subtitle": {
- "description": "Secondary line shown under the title, such as the creator name.",
- "example": "Joe Rogan",
+ "name": {
"type": "string"
},
- "title": {
- "description": "Title of the recommended item as Spotify shows it.",
- "example": "The Joe Rogan Experience",
+ "role": {
"type": "string"
},
- "type": {
- "description": "Kind of item as Spotify labels it, for example `Podcast`.",
- "example": "Podcast",
+ "slug": {
"type": "string"
},
- "uri": {
- "description": "Spotify URI of the recommended item.",
- "example": "spotify:show:4rOoJ6Egrf8K2IrywzwOMk",
+ "social_links": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "spotify.SearchMeta": {
+ "sevennow.CatalogCategory": {
"properties": {
- "albumCount": {
- "description": "Number of albums returned.",
- "example": 3,
- "type": "integer"
- },
- "appVersion": {
- "description": "Version of the Spotify web player the data was read from.",
- "example": "1.2.90.403.gf901f20f",
+ "id": {
+ "example": "48423",
"type": "string"
},
- "artistCount": {
- "description": "Number of artists returned.",
- "example": 5,
- "type": "integer"
- },
- "audiobookCount": {
- "description": "Number of audiobooks returned.",
- "example": 2,
- "type": "integer"
+ "name": {
+ "example": "Fresh Food",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sevennow.CatalogItem": {
+ "properties": {
+ "age_restricted": {
+ "example": false,
+ "type": "boolean"
},
- "episodeCount": {
- "description": "Number of episodes returned.",
- "example": 2,
- "type": "integer"
+ "brand": {
+ "example": "Hot Food Pizza",
+ "type": "string"
},
- "fetchedAt": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-05-13T20:41:12Z",
+ "calories": {
+ "example": "360",
"type": "string"
},
- "operationName": {
- "description": "Name of the Spotify web player operation that returned the data.",
- "example": "searchDesktop",
+ "category": {
+ "example": "Fresh Food",
"type": "string"
},
- "playlistCount": {
- "description": "Number of playlists returned.",
- "example": 2,
- "type": "integer"
+ "flavor_name": {
+ "example": "Pepperoni Pizza",
+ "type": "string"
},
- "resultCount": {
- "description": "Total number of results returned.",
- "example": 22,
- "type": "integer"
+ "image_url": {
+ "type": "string"
},
- "showCount": {
- "description": "Number of shows returned.",
- "example": 4,
- "type": "integer"
+ "name": {
+ "example": "Large Pizza - Ultimate Pepperoni",
+ "type": "string"
},
- "topCount": {
- "description": "Number of top results returned.",
- "example": 3,
+ "original_price_cents": {
+ "example": 1099,
"type": "integer"
},
- "trackCount": {
- "description": "Number of tracks returned.",
- "example": 2,
- "type": "integer"
+ "product_id": {
+ "example": "178322-2-6-2",
+ "type": "string"
},
- "userCount": {
- "description": "Number of user profiles returned.",
- "example": 2,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "spotify.SearchPodcastsMeta": {
- "properties": {
- "appVersion": {
- "description": "Version of the Spotify web player the data was read from.",
- "example": "1.2.90.403.gf901f20f",
+ "promo_description": {
+ "example": "On Sale $6.99",
"type": "string"
},
- "episodeCount": {
- "description": "Number of episodes returned.",
- "example": 2,
+ "promo_price_cents": {
+ "example": 699,
"type": "integer"
},
- "fetchedAt": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-05-13T20:41:12Z",
+ "subcategory": {
+ "example": "Pizza",
"type": "string"
},
- "operationName": {
- "description": "Name of the Spotify web player operation that returned the data.",
- "example": "searchPodcasts",
+ "upc": {
+ "example": "00072180687340",
"type": "string"
- },
- "showCount": {
- "description": "Number of shows returned.",
- "example": 4,
- "type": "integer"
- },
- "topCount": {
- "description": "Number of top results returned.",
- "example": 3,
- "type": "integer"
}
},
"type": "object"
},
- "spotify.SearchPodcastsResponse": {
+ "sevennow.CatalogResponse": {
"properties": {
- "episodes": {
- "description": "Podcast episodes that matched the search term.",
+ "active_items": {
+ "example": 2664,
+ "type": "integer"
+ },
+ "categories": {
"items": {
- "$ref": "#/definitions/spotify.PodcastEpisodeSummary"
+ "$ref": "#/definitions/sevennow.CatalogCategory"
},
"type": "array"
},
+ "fetched_at": {
+ "type": "string"
+ },
"limit": {
- "description": "Maximum number of results requested per section.",
"example": 20,
"type": "integer"
},
- "meta": {
- "allOf": [
- {
- "$ref": "#/definitions/spotify.SearchPodcastsMeta"
- }
- ],
- "description": "Details about this response."
- },
- "offset": {
- "description": "Position of the first result returned.",
- "example": 0,
+ "out_of_stock_items": {
+ "example": 435,
"type": "integer"
},
- "searchTerm": {
- "description": "Search term that was run.",
- "example": "hello",
- "type": "string"
- },
- "shows": {
- "description": "Podcast shows that matched the search term.",
+ "sections": {
"items": {
- "$ref": "#/definitions/spotify.RecommendationSummary"
+ "$ref": "#/definitions/sevennow.CatalogSection"
},
"type": "array"
},
- "topResults": {
- "description": "Best matches across all result types.",
- "items": {
- "$ref": "#/definitions/spotify.SearchResultSummary"
- },
- "type": "array"
+ "skip": {
+ "example": 0,
+ "type": "integer"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "store_id": {
+ "example": "39226",
+ "type": "string"
}
},
"type": "object"
},
- "spotify.SearchResponse": {
+ "sevennow.CatalogSection": {
"properties": {
- "albums": {
- "description": "Albums that matched the search term.",
- "items": {
- "$ref": "#/definitions/spotify.SearchResultSummary"
- },
- "type": "array"
- },
- "artists": {
- "description": "Artists that matched the search term.",
- "items": {
- "$ref": "#/definitions/spotify.SearchResultSummary"
- },
- "type": "array"
- },
- "audiobooks": {
- "description": "Audiobooks that matched the search term.",
- "items": {
- "$ref": "#/definitions/spotify.SearchResultSummary"
- },
- "type": "array"
- },
- "episodes": {
- "description": "Podcast episodes that matched the search term.",
- "items": {
- "$ref": "#/definitions/spotify.SearchResultSummary"
- },
- "type": "array"
- },
- "limit": {
- "description": "Maximum number of results requested per section.",
+ "count": {
"example": 20,
"type": "integer"
},
- "meta": {
- "allOf": [
- {
- "$ref": "#/definitions/spotify.SearchMeta"
- }
- ],
- "description": "Details about this response."
- },
- "offset": {
- "description": "Position of the first result returned.",
- "example": 0,
+ "display_order": {
+ "example": 3,
"type": "integer"
},
- "playlists": {
- "description": "Playlists that matched the search term.",
+ "items": {
"items": {
- "$ref": "#/definitions/spotify.SearchResultSummary"
+ "$ref": "#/definitions/sevennow.CatalogItem"
},
"type": "array"
},
- "results": {
- "description": "All results found, across every type.",
- "items": {
- "$ref": "#/definitions/spotify.SearchResultSummary"
- },
- "type": "array"
+ "name": {
+ "description": "Name is the shelf's own display title, e.g. \"Best Sellers\",\n\"$2 Deals\", \"What's New\". Upstream sends it on every section; it is\nthe only human-readable identifier a numeric section id has.",
+ "example": "$2 Deals",
+ "type": "string"
},
- "searchTerm": {
- "description": "Search term that was run.",
- "example": "hello",
+ "section_id": {
+ "example": "48423",
"type": "string"
},
- "shows": {
- "description": "Podcast shows that matched the search term.",
- "items": {
- "$ref": "#/definitions/spotify.SearchResultSummary"
- },
- "type": "array"
+ "total": {
+ "example": 200,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "sevennow.CategoriesResponse": {
+ "properties": {
+ "count": {
+ "example": 25,
+ "type": "integer"
},
- "topResults": {
- "description": "Best matches across all result types.",
+ "departments": {
+ "description": "Departments are the store's permanent browsable departments.",
"items": {
- "$ref": "#/definitions/spotify.SearchResultSummary"
+ "$ref": "#/definitions/sevennow.CategoryRef"
},
"type": "array"
},
- "tracks": {
- "description": "Tracks that matched the search term.",
- "items": {
- "$ref": "#/definitions/spotify.SearchResultSummary"
- },
- "type": "array"
+ "fetched_at": {
+ "type": "string"
},
- "users": {
- "description": "User profiles that matched the search term.",
+ "shelves": {
+ "description": "Shelves are the merchandising rows the homepage currently features.\nThese rotate with promotions and seasons, so re-read them rather than\ncaching ids long-term.",
"items": {
- "$ref": "#/definitions/spotify.SearchResultSummary"
+ "$ref": "#/definitions/sevennow.CategoryRef"
},
"type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "store_id": {
+ "example": "39640",
+ "type": "string"
}
},
"type": "object"
},
- "spotify.SearchResultSummary": {
+ "sevennow.CategoryItem": {
"properties": {
- "description": {
- "description": "Description text of the result.",
- "example": "The official podcast of comedian Joe Rogan.",
+ "age_restricted": {
+ "example": false,
+ "type": "boolean"
+ },
+ "available": {
+ "example": true,
+ "type": "boolean"
+ },
+ "available_quantity": {
+ "example": 100,
+ "type": "integer"
+ },
+ "calories": {
+ "example": "360",
"type": "string"
},
- "externalUrl": {
- "description": "Link to the result on open.spotify.com.",
- "example": "https://open.spotify.com/show/4rOoJ6Egrf8K2IrywzwOMk",
+ "image_url": {
"type": "string"
},
- "imageUrl": {
- "description": "URL of the main image for the result.",
- "example": "https://i.scdn.co/image/ab67656300005f1f54e6837957803d762a3f4d2b",
+ "name": {
+ "example": "Large Pizza - Ultimate Pepperoni",
"type": "string"
},
- "images": {
- "description": "Images available for the result, with their sizes.",
- "items": {
- "$ref": "#/definitions/spotify.ImageAsset"
- },
- "type": "array"
+ "price_cents": {
+ "example": 1299,
+ "type": "integer"
},
- "publisher": {
- "description": "Publisher or creator name of the result.",
- "example": "Joe Rogan",
+ "product_id": {
+ "example": "178322-2-6-2",
"type": "string"
},
- "subtitle": {
- "description": "Secondary line shown under the title, such as the artist or creator name.",
- "example": "Joe Rogan",
+ "promo_description": {
+ "example": "On Sale $6.99",
"type": "string"
},
- "title": {
- "description": "Result title as Spotify shows it.",
- "example": "The Joe Rogan Experience",
- "type": "string"
+ "promo_price_cents": {
+ "example": 699,
+ "type": "integer"
},
- "type": {
- "description": "Kind of result as Spotify labels it, for example `Podcast`.",
- "example": "Podcast",
+ "subcategory": {
+ "example": "Pizza",
"type": "string"
},
- "uri": {
- "description": "Spotify URI of the result.",
- "example": "spotify:show:4rOoJ6Egrf8K2IrywzwOMk",
+ "upc": {
+ "example": "00052548537524",
"type": "string"
}
},
"type": "object"
},
- "spotify.ShowMetadataMeta": {
+ "sevennow.CategoryRef": {
"properties": {
- "appVersion": {
- "example": "1.2.90.403.gf901f20f",
+ "display_order": {
+ "description": "DisplayOrder is the shelf's position on the store homepage. Only\nmeaningful for shelves.",
+ "example": 18,
+ "type": "integer"
+ },
+ "id": {
+ "example": "48395",
"type": "string"
},
- "fetchedAt": {
- "example": "2026-05-13T20:41:13Z",
+ "item_count": {
+ "description": "ItemCount is how many items the shelf holds upstream. Only populated\nfor shelves -- departments do not report a count here (use\nGET /7now/category's stats.total for those).",
+ "example": 25,
+ "type": "integer"
+ },
+ "kind": {
+ "description": "Kind is `department` for the store's permanent browsable departments\n(Drinks, Snacks, Fresh Food, ...) or `shelf` for a merchandising row\nthe homepage is currently featuring (\"$2 Deals\", \"What's New\").\nBoth are valid category_id values; shelves rotate, departments do not.",
+ "example": "department",
"type": "string"
},
- "operationName": {
- "example": "queryShowMetadataV2",
+ "name": {
+ "example": "Drinks",
"type": "string"
}
},
"type": "object"
},
- "spotify.ShowMetadataResponse": {
+ "sevennow.CategoryResponse": {
"properties": {
- "description": {
- "example": "Tales from the Stinky Dragon is an actual-play comedy podcast.",
- "type": "string"
- },
- "externalUrl": {
- "example": "https://open.spotify.com/show/1QQJ7FElLE0K6CIfZNCxU4",
- "type": "string"
- },
- "imageUrl": {
- "example": "https://i.scdn.co/image/ab6765630000ba8ab0484f8ee2933eceab32bac0",
+ "category_id": {
+ "example": "48423",
"type": "string"
},
- "images": {
- "items": {
- "$ref": "#/definitions/spotify.ImageAsset"
- },
- "type": "array"
- },
- "isExplicit": {
- "example": false,
- "type": "boolean"
- },
- "mediaType": {
- "example": "MIXED",
+ "fetched_at": {
"type": "string"
},
- "meta": {
- "$ref": "#/definitions/spotify.ShowMetadataMeta"
+ "limit": {
+ "example": 20,
+ "type": "integer"
},
- "name": {
- "example": "Tales from the Stinky Dragon",
- "type": "string"
+ "skip": {
+ "example": 0,
+ "type": "integer"
},
- "publisher": {
- "example": "Stinky Dragon",
+ "source_url": {
"type": "string"
},
- "totalEpisodes": {
- "example": 202,
- "type": "integer"
+ "stats": {
+ "$ref": "#/definitions/sevennow.CategoryStats"
},
- "type": {
- "example": "Podcast",
+ "store_id": {
+ "example": "39226",
"type": "string"
},
- "uri": {
- "example": "spotify:show:1QQJ7FElLE0K6CIfZNCxU4",
- "type": "string"
+ "subcategories": {
+ "items": {
+ "$ref": "#/definitions/sevennow.CategorySubcategory"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "spotify.ShowRecommendationsMeta": {
+ "sevennow.CategoryStats": {
"properties": {
- "appVersion": {
- "description": "Version of the Spotify web player the data was read from.",
- "example": "1.2.90.403.gf901f20f",
- "type": "string"
+ "available": {
+ "example": 99,
+ "type": "integer"
},
- "count": {
- "description": "Number of recommendations returned.",
- "example": 10,
+ "out_of_stock": {
+ "example": 22,
"type": "integer"
},
- "fetchedAt": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-05-13T20:41:13Z",
- "type": "string"
+ "percentage_available": {
+ "example": 82,
+ "type": "integer"
},
- "operationName": {
- "description": "Name of the Spotify web player operation that returned the data.",
- "example": "internalLinkRecommenderShow",
- "type": "string"
+ "total": {
+ "example": 121,
+ "type": "integer"
}
},
"type": "object"
},
- "spotify.ShowRecommendationsResponse": {
+ "sevennow.CategorySubcategory": {
"properties": {
- "meta": {
- "allOf": [
- {
- "$ref": "#/definitions/spotify.ShowRecommendationsMeta"
- }
- ],
- "description": "Details about this response."
- },
- "recommendations": {
- "description": "Related shows and episodes Spotify suggests.",
+ "items": {
"items": {
- "$ref": "#/definitions/spotify.RecommendationSummary"
+ "$ref": "#/definitions/sevennow.CategoryItem"
},
"type": "array"
},
- "uri": {
- "description": "Spotify URI of the show the recommendations are for.",
- "example": "spotify:show:1QQJ7FElLE0K6CIfZNCxU4",
+ "name": {
+ "example": "Pizza",
"type": "string"
}
},
"type": "object"
},
- "spotify.TrackMeta": {
+ "sevennow.Combo": {
"properties": {
- "appVersion": {
- "description": "Version of the Spotify web player the data was read from.",
- "example": "1.2.90.403.gf901f20f",
+ "available": {
+ "example": true,
+ "type": "boolean"
+ },
+ "bundle_id": {
+ "example": "B00037",
"type": "string"
},
- "fetchedAt": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-05-13T20:41:10Z",
+ "description": {
"type": "string"
},
- "operationName": {
- "description": "Name of the Spotify web player operation that returned the data.",
- "example": "getTrack",
+ "image_url": {
+ "type": "string"
+ },
+ "name": {
+ "example": "7NOW Combo Builder SLIN 22 - $6.99 Pizza",
+ "type": "string"
+ },
+ "promo_id": {
+ "description": "PromoID is the promotion behind the bundle. Pass it to\nGET /7now/combo for the bundle's pick-one-from-each item groups, or\nto GET /7now/promotion for a flat list of every eligible item.",
+ "example": "6a849a8fa1df2409010c719f",
"type": "string"
+ },
+ "tags": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "spotify.TrackRecommendedMeta": {
+ "sevennow.ComboGroup": {
"properties": {
- "appVersion": {
- "description": "Version of the Spotify web player the data was read from.",
- "example": "1.2.90.403.gf901f20f",
- "type": "string"
+ "is_primary": {
+ "example": true,
+ "type": "boolean"
},
- "count": {
- "description": "Number of recommendations returned.",
- "example": 10,
- "type": "integer"
+ "items": {
+ "items": {
+ "$ref": "#/definitions/sevennow.DealItem"
+ },
+ "type": "array"
},
- "fetchedAt": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-05-13T20:41:12Z",
+ "name": {
+ "example": "Eligible Whole Pizzas",
"type": "string"
},
- "operationName": {
- "description": "Name of the Spotify web player operation that returned the data.",
- "example": "internalLinkRecommenderTrack",
- "type": "string"
+ "quantity": {
+ "example": 1,
+ "type": "integer"
}
},
"type": "object"
},
- "spotify.TrackRecommendedResponse": {
+ "sevennow.ComboResponse": {
"properties": {
- "limit": {
- "description": "Maximum number of recommendations requested.",
- "example": 10,
+ "count": {
+ "example": 1,
"type": "integer"
},
- "meta": {
- "allOf": [
- {
- "$ref": "#/definitions/spotify.TrackRecommendedMeta"
- }
- ],
- "description": "Details about this response."
+ "fetched_at": {
+ "type": "string"
},
- "recommendations": {
- "description": "Items Spotify recommends for the track.",
+ "groups": {
"items": {
- "$ref": "#/definitions/spotify.RecommendationSummary"
+ "$ref": "#/definitions/sevennow.ComboGroup"
},
"type": "array"
},
- "uri": {
- "description": "Spotify URI of the track the recommendations are for.",
- "example": "spotify:track:4vGg44GdCw3X8i8r01XJH0",
+ "promo_id": {
+ "example": "6a849a8fa1df2409010c719f",
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "store_id": {
+ "example": "39640",
"type": "string"
+ },
+ "terms": {
+ "$ref": "#/definitions/sevennow.ComboTerms"
}
},
"type": "object"
},
- "spotify.TrackResponse": {
+ "sevennow.ComboTerms": {
"properties": {
- "album": {
- "allOf": [
- {
- "$ref": "#/definitions/spotify.SearchResultSummary"
- }
- ],
- "description": "Album the track appears on."
+ "description": {
+ "example": "Any Whole Pizza $6.99 each",
+ "type": "string"
},
- "artists": {
- "description": "Artists credited on the track.",
+ "legal_terms": {
+ "type": "string"
+ },
+ "title": {
+ "example": "$6.99 Pizza",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sevennow.CombosResponse": {
+ "properties": {
+ "combos": {
"items": {
- "$ref": "#/definitions/spotify.SearchResultSummary"
+ "$ref": "#/definitions/sevennow.Combo"
},
"type": "array"
},
- "discNumber": {
- "description": "Disc number of the track within its album.",
- "example": 1,
- "type": "integer"
- },
- "durationMs": {
- "description": "Track length in milliseconds.",
- "example": 234083,
+ "count": {
+ "example": 5,
"type": "integer"
},
- "externalUrl": {
- "description": "Link to the track on open.spotify.com.",
- "example": "https://open.spotify.com/track/4vGg44GdCw3X8i8r01XJH0",
+ "fetched_at": {
"type": "string"
},
- "id": {
- "description": "Spotify ID of the track.",
- "example": "4vGg44GdCw3X8i8r01XJH0",
+ "source_url": {
"type": "string"
},
- "imageUrl": {
- "description": "URL of the track's cover image.",
- "example": "https://i.scdn.co/image/ab67616d0000b273f377730d2a9c2e432139ac79",
+ "store_id": {
+ "example": "39640",
"type": "string"
- },
- "images": {
- "description": "Cover images available for the track, with their sizes.",
- "items": {
- "$ref": "#/definitions/spotify.ImageAsset"
- },
- "type": "array"
- },
- "isExplicit": {
- "description": "Whether Spotify marks the track as explicit.",
+ }
+ },
+ "type": "object"
+ },
+ "sevennow.DealItem": {
+ "properties": {
+ "age_restricted": {
"example": false,
"type": "boolean"
},
- "isPlayable": {
- "description": "Whether the track can be played.",
+ "available": {
"example": true,
"type": "boolean"
},
- "meta": {
- "allOf": [
- {
- "$ref": "#/definitions/spotify.TrackMeta"
- }
- ],
- "description": "Details about this response."
+ "available_quantity": {
+ "example": 5,
+ "type": "integer"
},
- "name": {
- "description": "Track title as Spotify shows it.",
- "example": "Example Track",
+ "brand": {
+ "example": "Ben & Jerry's",
"type": "string"
},
- "playabilityReason": {
- "description": "Reason code Spotify gives for the track's playability, for example `PLAYABLE`.",
- "example": "PLAYABLE",
+ "calories": {
+ "example": "370",
"type": "string"
},
- "playcount": {
- "description": "Number of times the track has been played, as Spotify shows it.",
- "example": "13129249",
+ "category": {
+ "example": "Ice Cream",
"type": "string"
},
- "previewAudioUrl": {
- "description": "URL of an audio preview of the track.",
- "example": "https://p.scdn.co/mp3-preview/example",
+ "category_id": {
+ "example": "48396",
"type": "string"
},
- "previewAudioUrls": {
- "description": "URLs of the audio previews available for the track.",
- "example": [
- "https://p.scdn.co/mp3-preview/example"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
+ "image_url": {
+ "type": "string"
},
- "shareUrl": {
- "description": "Link to the track that Spotify offers for sharing.",
- "example": "https://open.spotify.com/track/4vGg44GdCw3X8i8r01XJH0",
+ "name": {
+ "example": "Ben & Jerry's Sundae Cookie Vermont-ster 14oz",
"type": "string"
},
- "trackNumber": {
- "description": "Position of the track within its album.",
- "example": 7,
+ "price_cents": {
+ "example": 999,
"type": "integer"
},
- "type": {
- "description": "Kind of item as Spotify labels it, for example `Track`.",
- "example": "Track",
+ "product_id": {
+ "example": "191743-0-1",
"type": "string"
},
- "unplayabilityReasons": {
- "description": "Reasons the track cannot be played, such as `not_available_in_region`.",
- "example": [
- "not_available_in_region"
- ],
+ "promos": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/sevennow.DealPromo"
},
"type": "array"
},
- "uri": {
- "description": "Spotify URI of the track.",
- "example": "spotify:track:4vGg44GdCw3X8i8r01XJH0",
+ "subcategory": {
+ "example": "Ben & Jerry's",
+ "type": "string"
+ },
+ "upc": {
+ "example": "00076840004294",
"type": "string"
}
},
"type": "object"
},
- "spotify.TrackSimilarAlbumsMeta": {
+ "sevennow.DealPromo": {
"properties": {
- "appVersion": {
- "description": "Version of the Spotify web player the data was read from.",
- "example": "1.2.90.403.gf901f20f",
+ "expiration_date": {
+ "example": "10/27/2026",
"type": "string"
},
- "count": {
- "description": "Number of albums returned.",
- "example": 10,
+ "id": {
+ "example": "6a9746d488cc35e1bbff1584",
+ "type": "string"
+ },
+ "long_description": {
+ "type": "string"
+ },
+ "promo_price_cents": {
+ "example": 700,
"type": "integer"
},
- "fetchedAt": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-05-13T20:41:12Z",
+ "promo_type": {
+ "example": "item",
"type": "string"
},
- "operationName": {
- "description": "Name of the Spotify web player operation that returned the data.",
- "example": "similarAlbumsBasedOnThisTrack",
+ "short_description": {
+ "example": "On Sale $7",
+ "type": "string"
+ },
+ "start_date": {
+ "example": "09/01/2026",
"type": "string"
}
},
"type": "object"
},
- "spotify.TrackSimilarAlbumsResponse": {
+ "sevennow.DealsResponse": {
"properties": {
- "albums": {
- "description": "Albums Spotify suggests as similar to the track.",
- "items": {
- "$ref": "#/definitions/spotify.SearchResultSummary"
- },
- "type": "array"
+ "count": {
+ "example": 20,
+ "type": "integer"
},
- "albumsOnly": {
- "description": "Whether only album recommendations were requested.",
+ "fetched_at": {
+ "type": "string"
+ },
+ "has_more": {
"example": true,
"type": "boolean"
},
+ "items": {
+ "items": {
+ "$ref": "#/definitions/sevennow.DealItem"
+ },
+ "type": "array"
+ },
"limit": {
- "description": "Maximum number of albums requested.",
- "example": 10,
+ "example": 20,
"type": "integer"
},
- "meta": {
- "allOf": [
- {
- "$ref": "#/definitions/spotify.TrackSimilarAlbumsMeta"
- }
- ],
- "description": "Details about this response."
+ "skip": {
+ "example": 0,
+ "type": "integer"
},
- "uri": {
- "description": "Spotify URI of the track the albums are similar to.",
- "example": "spotify:track:4vGg44GdCw3X8i8r01XJH0",
+ "source_url": {
+ "type": "string"
+ },
+ "stats": {
+ "$ref": "#/definitions/sevennow.DealsStats"
+ },
+ "store_id": {
+ "example": "39640",
"type": "string"
+ },
+ "total": {
+ "example": 548,
+ "type": "integer"
}
},
"type": "object"
},
- "spotify.UserProfileFollowersResponse": {
+ "sevennow.DealsStats": {
"properties": {
- "limit": {
- "description": "Maximum number of followers requested.",
- "example": 50,
+ "available": {
+ "example": 503,
"type": "integer"
},
- "meta": {
- "allOf": [
- {
- "$ref": "#/definitions/spotify.UserProfileMeta"
- }
- ],
- "description": "Details about this response."
- },
- "offset": {
- "description": "Position of the first follower returned.",
- "example": 0,
+ "out_of_stock": {
+ "example": 45,
"type": "integer"
},
- "profiles": {
- "description": "Follower profiles returned.",
- "items": {
- "$ref": "#/definitions/spotify.UserProfileSummary"
- },
- "type": "array"
+ "percentage_available": {
+ "example": 92,
+ "type": "integer"
},
"total": {
- "description": "Total number of followers the user has.",
- "example": 998,
+ "example": 548,
"type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "sevennow.NutritionEntry": {
+ "properties": {
+ "name": {
+ "example": "Total Fat",
+ "type": "string"
},
- "uri": {
- "description": "Spotify URI of the user.",
- "example": "spotify:user:spotify",
+ "value": {
+ "example": "11.0Gram",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sevennow.NutritionGroup": {
+ "properties": {
+ "entries": {
+ "items": {
+ "$ref": "#/definitions/sevennow.NutritionEntry"
+ },
+ "type": "array"
},
- "username": {
- "description": "Spotify username of the user.",
- "example": "spotify",
+ "group": {
+ "example": "fat",
"type": "string"
}
},
"type": "object"
},
- "spotify.UserProfileMeta": {
+ "sevennow.Offer": {
"properties": {
- "appVersion": {
- "description": "Version of the Spotify web player the data was read from.",
- "example": "1.2.90.403.gf901f20f",
+ "button_text": {
"type": "string"
},
- "artistCount": {
- "description": "Number of recently played artists returned.",
- "example": 0,
- "type": "integer"
+ "description": {
+ "example": "Any Whole Pizza $6.99 each",
+ "type": "string"
},
- "fetchedAt": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-05-13T20:41:12Z",
+ "image_url": {
"type": "string"
},
- "operationName": {
- "description": "Name of the Spotify web player operation that returned the data.",
- "example": "userProfileView",
+ "legal_terms": {
"type": "string"
},
- "playlistCount": {
- "description": "Number of playlists returned.",
- "example": 10,
- "type": "integer"
+ "name": {
+ "description": "Name is upstream's internal campaign name, e.g.\n\"US_7NOW_$6.99 Pizza_(8/21/26-1/5/2027)\". It usually encodes the run\ndates, which the banner record does not carry as fields.",
+ "example": "US_7NOW_$6.99 Pizza_(8/21/26-1/5/2027)",
+ "type": "string"
},
- "profileCount": {
- "description": "Number of user profiles returned.",
- "example": 50,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "spotify.UserProfilePlaylist": {
- "properties": {
- "externalUrl": {
- "description": "Link to the playlist on open.spotify.com.",
- "example": "https://open.spotify.com/playlist/37i9dQZF1DXcBWIGoYBM5M",
+ "offer_id": {
+ "example": "6a8879a4478334ff62f902d9-sE4Q1s2116PXg7di5yN2tt-7NOW_WEB",
"type": "string"
},
- "followersCount": {
- "description": "Number of followers the playlist has.",
- "example": 34324513,
+ "promo_ids": {
+ "description": "PromoIDs are the promotions this campaign points at. Usually one,\nbut a multi-product campaign (e.g. a brand takeover) genuinely\ncarries several -- upstream packs them into one comma-separated\nstring, which is split here so each id is individually usable. Pass\none to GET /7now/promotion for every item it covers, or to\nGET /7now/combo when the campaign advertises a bundle.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "sort_order": {
+ "example": 2,
"type": "integer"
},
- "id": {
- "description": "Spotify ID of the playlist.",
- "example": "37i9dQZF1DXcBWIGoYBM5M",
+ "target_entity": {
+ "description": "TargetEntity is what tapping the banner opens, e.g. `promo_items` or\n`Category`. A campaign with no destination reports `none` upstream\nand is omitted here.",
+ "example": "promo_items",
"type": "string"
},
- "imageUrl": {
- "description": "URL of the playlist cover image.",
- "example": "https://i.scdn.co/image/ab67706f0000000273f7bb6e77ec5e23d7840ae5",
+ "target_id": {
+ "description": "TargetID is the entity the banner opens when it is not a promotion --\nfor a `Category` banner this is a category_id GET /7now/category\naccepts.",
+ "example": "48395",
"type": "string"
},
- "isFollowing": {
- "description": "Whether Spotify marks the playlist as followed.",
- "example": false,
- "type": "boolean"
- },
- "name": {
- "description": "Playlist title as Spotify shows it.",
- "example": "Today’s Top Hits",
+ "target_url": {
"type": "string"
},
- "ownerName": {
- "description": "Display name of the playlist owner.",
- "example": "Spotify",
+ "title": {
+ "example": "$6.99 Pizza",
"type": "string"
},
- "ownerUri": {
- "description": "Spotify URI of the playlist owner.",
- "example": "spotify:user:spotify",
+ "web_image_url": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sevennow.OffersResponse": {
+ "properties": {
+ "count": {
+ "example": 4,
+ "type": "integer"
},
- "ownerUrl": {
- "description": "Link to the playlist owner's profile on open.spotify.com.",
- "example": "https://open.spotify.com/user/spotify",
+ "fetched_at": {
"type": "string"
},
- "ownerUsername": {
- "description": "Spotify username of the playlist owner.",
- "example": "spotify",
+ "offers": {
+ "items": {
+ "$ref": "#/definitions/sevennow.Offer"
+ },
+ "type": "array"
+ },
+ "source_url": {
"type": "string"
},
- "uri": {
- "description": "Spotify URI of the playlist.",
- "example": "spotify:playlist:37i9dQZF1DXcBWIGoYBM5M",
+ "store_id": {
+ "example": "39640",
"type": "string"
}
},
"type": "object"
},
- "spotify.UserProfilePlaylistsResponse": {
+ "sevennow.PopularResponse": {
"properties": {
- "limit": {
- "description": "Maximum number of playlists requested.",
- "example": 20,
- "type": "integer"
+ "fetched_at": {
+ "type": "string"
},
- "meta": {
- "allOf": [
- {
- "$ref": "#/definitions/spotify.UserProfileMeta"
- }
- ],
- "description": "Details about this response."
+ "region": {
+ "description": "Region is upstream's own name for the index the terms came from,\ne.g. `NY_NE`, `W`, `SE`, or the vertical's own name when no store\nnarrowed it. It is the only signal upstream gives for which region a\nresult set covers.",
+ "example": "NY_NE",
+ "type": "string"
},
- "offset": {
- "description": "Position of the first playlist returned.",
- "example": 0,
- "type": "integer"
+ "source_url": {
+ "type": "string"
},
- "publicPlaylists": {
- "description": "Public playlists of the user.",
+ "store_id": {
+ "example": "39226",
+ "type": "string"
+ },
+ "suggestions": {
+ "example": [
+ "ice cream",
+ "coffee",
+ "pizza"
+ ],
"items": {
- "$ref": "#/definitions/spotify.UserProfilePlaylist"
+ "type": "string"
},
"type": "array"
},
- "totalPublicPlaylistsCount": {
- "description": "Total number of public playlists the user has.",
- "example": 1519,
+ "vertical": {
+ "description": "Vertical echoes back which index was read.",
+ "example": "convenience",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sevennow.ProductPromo": {
+ "properties": {
+ "expiration_date": {
+ "example": "01/05/2027",
+ "type": "string"
+ },
+ "id": {
+ "example": "6a849a8fa1df2409010c719f",
+ "type": "string"
+ },
+ "long_description": {
+ "example": "$6.99 Whole Pizza!",
+ "type": "string"
+ },
+ "promo_price_cents": {
+ "example": 699,
"type": "integer"
},
- "uri": {
- "description": "Spotify URI of the user.",
- "example": "spotify:user:spotify",
+ "short_description": {
+ "example": "On Sale $6.99",
"type": "string"
},
- "username": {
- "description": "Spotify username of the user.",
- "example": "spotify",
+ "start_date": {
+ "example": "08/21/2026",
"type": "string"
}
},
"type": "object"
},
- "spotify.UserProfileResponse": {
+ "sevennow.ProductResponse": {
"properties": {
- "allowFollows": {
- "description": "Whether the profile allows other users to follow it.",
- "example": true,
+ "age_restricted": {
+ "example": false,
"type": "boolean"
},
- "color": {
- "description": "Accent color of the profile, as a number.",
- "example": 16085920,
- "type": "integer"
+ "allergens": {
+ "description": "Allergens is upstream's allergen statement, e.g. \"CONTAINS MILK, SOY,\nWHEAT.\" Absent on products with no declared allergens.",
+ "example": "CONTAINS MILK, SOY, WHEAT.",
+ "type": "string"
},
- "externalUrl": {
- "description": "Link to the user's profile on open.spotify.com.",
- "example": "https://open.spotify.com/user/spotify",
+ "brand": {
+ "example": "Hot Food Pizza",
"type": "string"
},
- "followersCount": {
- "description": "Number of followers the user has.",
- "example": 12162371,
- "type": "integer"
+ "calories": {
+ "example": "360",
+ "type": "string"
},
- "followingCount": {
- "description": "Number of accounts the user follows.",
- "example": 327,
- "type": "integer"
+ "category": {
+ "example": "Fresh Food",
+ "type": "string"
},
- "hasSpotifyImage": {
- "description": "Whether the profile has an image set on Spotify.",
- "example": true,
- "type": "boolean"
+ "category_id": {
+ "example": "48423",
+ "type": "string"
},
- "hasSpotifyName": {
- "description": "Whether the profile has a display name set on Spotify.",
- "example": true,
- "type": "boolean"
+ "description": {
+ "type": "string"
},
- "imageUrl": {
- "description": "URL of the user's profile image.",
- "example": "https://i.scdn.co/image/ab6775700000ee8555c25988a6ac314394d3fbf5",
+ "fetched_at": {
"type": "string"
},
- "isCurrentUser": {
- "description": "Whether Spotify marks the profile as the current user's own.",
- "example": false,
- "type": "boolean"
+ "flavor_choices": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "isVerified": {
- "description": "Whether Spotify shows the profile as verified.",
- "example": true,
- "type": "boolean"
+ "flavor_name": {
+ "example": "Pepperoni Pizza",
+ "type": "string"
},
- "meta": {
- "allOf": [
- {
- "$ref": "#/definitions/spotify.UserProfileMeta"
- }
- ],
- "description": "Details about this response."
+ "images": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "ingredients": {
+ "description": "Ingredients is the declared ingredient list. Upstream splits it on\ncommas, so a parenthesised sub-list arrives as several entries.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "limit_per_order": {
+ "example": 100,
+ "type": "integer"
},
"name": {
- "description": "Display name of the user.",
- "example": "Spotify",
+ "example": "Large Pizza - Ultimate Pepperoni",
"type": "string"
},
- "publicPlaylists": {
- "description": "Public playlists of the user.",
+ "nutrition": {
"items": {
- "$ref": "#/definitions/spotify.UserProfilePlaylist"
+ "$ref": "#/definitions/sevennow.NutritionGroup"
},
"type": "array"
},
- "recentlyPlayedArtists": {
- "description": "Artists the user played recently.",
+ "nutrition_disclaimers": {
+ "description": "NutritionDisclaimers carries upstream's own RDI/daily-value notices.",
"items": {
- "$ref": "#/definitions/spotify.UserProfileSummary"
+ "type": "string"
},
"type": "array"
},
- "showFollows": {
- "description": "Whether Spotify shows the profile's follows publicly.",
- "example": true,
- "type": "boolean"
+ "product_id": {
+ "example": "178322-2-6-2",
+ "type": "string"
},
- "topArtists": {
- "allOf": [
- {
- "$ref": "#/definitions/spotify.UserProfileTopArtists"
- }
- ],
- "description": "Top artists section of the profile."
+ "promos": {
+ "items": {
+ "$ref": "#/definitions/sevennow.ProductPromo"
+ },
+ "type": "array"
},
- "totalPublicPlaylistsCount": {
- "description": "Total number of public playlists the user has.",
- "example": 1519,
- "type": "integer"
+ "related_items": {
+ "items": {
+ "$ref": "#/definitions/sevennow.RelatedProduct"
+ },
+ "type": "array"
},
- "uri": {
- "description": "Spotify URI of the user.",
- "example": "spotify:user:spotify",
+ "size_choices": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "size_value": {
+ "example": "1WholePizza",
"type": "string"
},
- "username": {
- "description": "Spotify username of the user.",
- "example": "spotify",
+ "slin": {
+ "example": "178322",
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "tags": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "upc": {
+ "example": "00072180687340",
"type": "string"
}
},
"type": "object"
},
- "spotify.UserProfileSummary": {
+ "sevennow.PromotionDetail": {
"properties": {
- "color": {
- "description": "Accent color of the profile, as a number.",
- "example": 16085920,
+ "display_priority": {
+ "example": 2,
"type": "integer"
},
- "externalUrl": {
- "description": "Link to the user's profile on open.spotify.com.",
- "example": "https://open.spotify.com/user/example",
+ "expiration_date": {
+ "example": "2026-10-27T23:59:59.000Z",
"type": "string"
},
- "followersCount": {
- "description": "Number of followers the user has.",
- "example": 1000,
- "type": "integer"
+ "id": {
+ "example": "6a9746d488cc35e1bbff1584",
+ "type": "string"
},
- "imageUrl": {
- "description": "URL of the user's profile image.",
- "example": "https://i.scdn.co/image/ab6775700000ee8555c25988a6ac314394d3fbf5",
+ "long_description": {
"type": "string"
},
- "isFollowing": {
- "description": "Whether Spotify marks the user as followed.",
- "example": false,
- "type": "boolean"
+ "mark_down_slins": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
"name": {
- "description": "Display name of the user.",
- "example": "Example",
+ "example": "US_7N_Ben & Jerry's Pints $7_(9/1/2026-10/27/2026) - FOR 7NOW",
"type": "string"
},
- "uri": {
- "description": "Spotify URI of the user.",
- "example": "spotify:user:example",
+ "offer_type": {
+ "example": "item_discount",
"type": "string"
},
- "username": {
- "description": "Spotify username of the user.",
- "example": "example",
+ "promo_price_cents": {
+ "example": 700,
+ "type": "integer"
+ },
+ "promo_type": {
+ "example": "item",
+ "type": "string"
+ },
+ "short_description": {
+ "example": "On Sale $7",
+ "type": "string"
+ },
+ "start_date": {
+ "example": "2026-09-01T00:00:00.000Z",
"type": "string"
+ },
+ "terms": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "spotify.UserProfileTopArtists": {
+ "sevennow.PromotionResponse": {
"properties": {
- "imageUrl": {
- "description": "URL of the image shown for the section.",
- "example": "https://i.scdn.co/image/ab6775700000ee8555c25988a6ac314394d3fbf5",
+ "count": {
+ "example": 14,
+ "type": "integer"
+ },
+ "fetched_at": {
"type": "string"
},
- "subtitle": {
- "description": "Secondary line shown under the section heading.",
- "example": "Only visible to the user",
+ "has_more": {
+ "example": false,
+ "type": "boolean"
+ },
+ "items": {
+ "items": {
+ "$ref": "#/definitions/sevennow.DealItem"
+ },
+ "type": "array"
+ },
+ "limit": {
+ "example": 20,
+ "type": "integer"
+ },
+ "promo_id": {
+ "example": "6a9746d488cc35e1bbff1584",
"type": "string"
},
- "title": {
- "description": "Heading of the top artists section, as Spotify shows it.",
- "example": "Top artists this month",
+ "promotion": {
+ "$ref": "#/definitions/sevennow.PromotionDetail"
+ },
+ "skip": {
+ "example": 0,
+ "type": "integer"
+ },
+ "source_url": {
"type": "string"
},
- "topArtistsPageUri": {
- "description": "Spotify URI of the page that lists the user's top artists.",
- "example": "spotify:user:spotify:top:artists",
+ "store_id": {
+ "example": "39640",
"type": "string"
+ },
+ "total": {
+ "example": 14,
+ "type": "integer"
}
},
"type": "object"
},
- "spotify.albumResponseDoc": {
+ "sevennow.RelatedProduct": {
"properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
+ "brand": {
+ "example": "Hot Food Pizza",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/spotify.AlbumResponse"
+ "calories": {
+ "example": "550",
+ "type": "string"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "category": {
+ "example": "Fresh Food",
+ "type": "string"
+ },
+ "flavor_name": {
+ "example": "Sausage Breakfast Pizza",
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "name": {
+ "example": "Whole Breakfast Pizza - Sausage",
+ "type": "string"
+ },
+ "product_id": {
+ "example": "170776-1-8",
+ "type": "string"
+ },
+ "size_value": {
+ "example": "1WholePizza",
+ "type": "string"
}
},
"type": "object"
},
- "spotify.artistAlbumsResponseDoc": {
+ "sevennow.SearchBrand": {
"properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
+ "brand_id": {
+ "example": "262b9206-d316-3cf8-9ccf-a06998c5c0a1",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/spotify.ArtistAlbumsResponse"
+ "brand_name": {
+ "example": "Pringles",
+ "type": "string"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "is_sponsored": {
+ "example": false,
+ "type": "boolean"
+ },
+ "logo_url": {
+ "type": "string"
+ },
+ "rank": {
+ "example": 25,
+ "type": "integer"
}
},
"type": "object"
},
- "spotify.artistCollectionResponseDoc": {
+ "sevennow.SearchItem": {
"properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "age_restricted": {
+ "example": false,
+ "type": "boolean"
+ },
+ "available": {
+ "example": true,
+ "type": "boolean"
+ },
+ "available_quantity": {
+ "example": 100,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/spotify.ArtistCollectionResponse"
+ "bundle_id": {
+ "example": "B00037",
+ "type": "string"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
- }
- },
- "type": "object"
- },
- "spotify.artistResponseDoc": {
- "properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "calories": {
+ "example": "360",
+ "type": "string"
+ },
+ "category": {
+ "example": "Fresh Food",
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "list_price_cents": {
+ "example": 1299,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/spotify.ArtistResponse"
+ "name": {
+ "example": "Large Pizza - Ultimate Pepperoni",
+ "type": "string"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
- }
- },
- "type": "object"
- },
- "spotify.audiobookChaptersResponseDoc": {
- "properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "price_cents": {
+ "example": 1099,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/spotify.AudiobookChaptersResponse"
+ "product_id": {
+ "example": "178322-2-6-2",
+ "type": "string"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
- }
- },
- "type": "object"
- },
- "spotify.audiobookResponseDoc": {
- "properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "product_type": {
+ "example": "product",
+ "type": "string"
+ },
+ "promo_description": {
+ "example": "On Sale $6.99",
+ "type": "string"
+ },
+ "promo_price_cents": {
+ "example": 699,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/spotify.AudiobookResponse"
+ "subcategory": {
+ "example": "Pizza",
+ "type": "string"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "upc": {
+ "example": "00072180687340",
+ "type": "string"
}
},
"type": "object"
},
- "spotify.browsePageResponseDoc": {
+ "sevennow.SearchResponse": {
"properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "brands": {
+ "items": {
+ "$ref": "#/definitions/sevennow.SearchBrand"
+ },
+ "type": "array"
+ },
+ "count": {
+ "example": 20,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/spotify.BrowsePageResponse"
+ "fetched_at": {
+ "type": "string"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "has_more": {
+ "example": true,
+ "type": "boolean"
+ },
+ "items": {
+ "items": {
+ "$ref": "#/definitions/sevennow.SearchItem"
+ },
+ "type": "array"
+ },
+ "limit": {
+ "example": 20,
+ "type": "integer"
+ },
+ "query": {
+ "example": "pizza",
+ "type": "string"
+ },
+ "skip": {
+ "example": 0,
+ "type": "integer"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "store_id": {
+ "example": "39226",
+ "type": "string"
+ },
+ "total": {
+ "example": 100,
+ "type": "integer"
}
},
"type": "object"
},
- "spotify.browseSectionResponseDoc": {
+ "sevennow.Store": {
"properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
+ "address": {
+ "example": "866 6TH AVE",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/spotify.BrowseSectionResponse"
+ "alcohol_sale_hours": {
+ "description": "AlcoholSaleHours are the windows during which the store may sell\nalcohol, per day of week -- upstream's own encoding of the local\nlaw. A New York store, for instance, reports Sunday as two windows\n(00:00-02:00 and 08:00-23:59) and every other day as one.\n\nAn empty list means upstream publishes no windows for this store.\nThat is not the same as \"sells no alcohol\": Austin, TX stores return\nan empty list while New York stores return a full week.",
+ "items": {
+ "$ref": "#/definitions/sevennow.StoreAlcoholDay"
+ },
+ "type": "array"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "brand": {
+ "description": "Brand is the banner the store trades under. 7-Eleven operates\nseveral (Speedway, Stripes); every store measured so far reports\n\"7-Eleven\", so treat a different value as possible rather than\nimpossible.",
+ "example": "7-Eleven",
+ "type": "string"
+ },
+ "brand_logo_url": {
+ "type": "string"
+ },
+ "city": {
+ "example": "New York",
+ "type": "string"
+ },
+ "country": {
+ "example": "US",
+ "type": "string"
+ },
+ "county": {
+ "example": "New York County",
+ "type": "string"
+ },
+ "distance_miles": {
+ "example": 0.22,
+ "type": "number"
+ },
+ "dma": {
+ "description": "DMA is the Nielsen Designated Market Area the store sits in, e.g.\n\"New York Ny\", \"Austin Tx\". It groups stores by media market rather\nthan by state or county.",
+ "example": "New York Ny",
+ "type": "string"
+ },
+ "latitude": {
+ "example": 40.747508,
+ "type": "number"
+ },
+ "longitude": {
+ "example": -73.989099,
+ "type": "number"
+ },
+ "name": {
+ "example": "7-Eleven",
+ "type": "string"
+ },
+ "state": {
+ "example": "NY",
+ "type": "string"
+ },
+ "store_category": {
+ "example": "7now",
+ "type": "string"
+ },
+ "store_id": {
+ "example": "39226",
+ "type": "string"
+ },
+ "zip": {
+ "example": "10001",
+ "type": "string"
}
},
"type": "object"
},
- "spotify.chartsResponseDoc": {
+ "sevennow.StoreAlcoholDay": {
"properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/spotify.ChartResponse"
+ "day": {
+ "example": "Sunday",
+ "type": "string"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "windows": {
+ "description": "Windows are that day's permitted selling periods. More than one\nmeans the day is split, as New York's Sunday rule does.",
+ "items": {
+ "$ref": "#/definitions/sevennow.StoreAlcoholWindow"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "spotify.countryHubContentResponseDoc": {
+ "sevennow.StoreAlcoholWindow": {
"properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/spotify.CountryHubContentResponse"
+ "end_time": {
+ "example": "2359",
+ "type": "string"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "start_time": {
+ "example": "0800",
+ "type": "string"
}
},
"type": "object"
},
- "spotify.countryHubResponseDoc": {
+ "sevennow.StoresResponse": {
"properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "count": {
+ "example": 15,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/spotify.CountryHubResponse"
+ "fetched_at": {
+ "type": "string"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "h3_index": {
+ "description": "H3Index is the Uber H3 cell (resolution 7) upstream assigns to the\nresolved address -- a stable geospatial key for grouping or caching\nlookups by area.",
+ "example": "872a100d2ffffff",
+ "type": "string"
+ },
+ "latitude": {
+ "example": 40.7480997,
+ "type": "number"
+ },
+ "longitude": {
+ "example": -73.9849926,
+ "type": "number"
+ },
+ "query": {
+ "example": "350 5th Ave, New York, NY",
+ "type": "string"
+ },
+ "resolved_address": {
+ "example": "350 5th Ave, New York, NY 10118, USA",
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "stores": {
+ "items": {
+ "$ref": "#/definitions/sevennow.Store"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "spotify.episodeResponseDoc": {
+ "sevennow.SuggestResponse": {
"properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
+ "fetched_at": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/spotify.PodcastEpisodeResponse"
+ "query": {
+ "example": "chi",
+ "type": "string"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "source_url": {
+ "type": "string"
+ },
+ "suggestions": {
+ "example": [
+ "chips ahoy",
+ "chips",
+ "chicken"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "spotify.homeResponseDoc": {
+ "sevennow.catalogResponseDoc": {
"properties": {
"code": {
"description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/spotify.HomeResponse"
+ "$ref": "#/definitions/sevennow.CatalogResponse"
},
"msg": {
"description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
@@ -217982,14 +223940,14 @@
},
"type": "object"
},
- "spotify.playlistResponseDoc": {
+ "sevennow.categoriesResponseDoc": {
"properties": {
"code": {
"description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/spotify.PlaylistResponse"
+ "$ref": "#/definitions/sevennow.CategoriesResponse"
},
"msg": {
"description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
@@ -217997,14 +223955,14 @@
},
"type": "object"
},
- "spotify.searchCatalogResponseDoc": {
+ "sevennow.categoryResponseDoc": {
"properties": {
"code": {
"description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/spotify.SearchResponse"
+ "$ref": "#/definitions/sevennow.CategoryResponse"
},
"msg": {
"description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
@@ -218012,14 +223970,14 @@
},
"type": "object"
},
- "spotify.searchResponseDoc": {
+ "sevennow.comboResponseDoc": {
"properties": {
"code": {
"description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/spotify.SearchPodcastsResponse"
+ "$ref": "#/definitions/sevennow.ComboResponse"
},
"msg": {
"description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
@@ -218027,14 +223985,14 @@
},
"type": "object"
},
- "spotify.showEpisodesResponseDoc": {
+ "sevennow.combosResponseDoc": {
"properties": {
"code": {
"description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/spotify.PodcastEpisodesResponse"
+ "$ref": "#/definitions/sevennow.CombosResponse"
},
"msg": {
"description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
@@ -218042,14 +224000,14 @@
},
"type": "object"
},
- "spotify.showRecommendationsResponseDoc": {
+ "sevennow.dealsResponseDoc": {
"properties": {
"code": {
"description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/spotify.ShowRecommendationsResponse"
+ "$ref": "#/definitions/sevennow.DealsResponse"
},
"msg": {
"description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
@@ -218057,14 +224015,14 @@
},
"type": "object"
},
- "spotify.showResponseDoc": {
+ "sevennow.offersResponseDoc": {
"properties": {
"code": {
"description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/spotify.ShowMetadataResponse"
+ "$ref": "#/definitions/sevennow.OffersResponse"
},
"msg": {
"description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
@@ -218072,14 +224030,14 @@
},
"type": "object"
},
- "spotify.trackRecommendedResponseDoc": {
+ "sevennow.popularResponseDoc": {
"properties": {
"code": {
"description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/spotify.TrackRecommendedResponse"
+ "$ref": "#/definitions/sevennow.PopularResponse"
},
"msg": {
"description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
@@ -218087,14 +224045,14 @@
},
"type": "object"
},
- "spotify.trackResponseDoc": {
+ "sevennow.productResponseDoc": {
"properties": {
"code": {
"description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/spotify.TrackResponse"
+ "$ref": "#/definitions/sevennow.ProductResponse"
},
"msg": {
"description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
@@ -218102,14 +224060,14 @@
},
"type": "object"
},
- "spotify.trackSimilarAlbumsResponseDoc": {
+ "sevennow.promotionResponseDoc": {
"properties": {
"code": {
"description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/spotify.TrackSimilarAlbumsResponse"
+ "$ref": "#/definitions/sevennow.PromotionResponse"
},
"msg": {
"description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
@@ -218117,14 +224075,14 @@
},
"type": "object"
},
- "spotify.userProfileFollowersResponseDoc": {
+ "sevennow.searchResponseDoc": {
"properties": {
"code": {
"description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/spotify.UserProfileFollowersResponse"
+ "$ref": "#/definitions/sevennow.SearchResponse"
},
"msg": {
"description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
@@ -218132,14 +224090,14 @@
},
"type": "object"
},
- "spotify.userProfilePlaylistsResponseDoc": {
+ "sevennow.storesResponseDoc": {
"properties": {
"code": {
"description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/spotify.UserProfilePlaylistsResponse"
+ "$ref": "#/definitions/sevennow.StoresResponse"
},
"msg": {
"description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
@@ -218147,14 +224105,14 @@
},
"type": "object"
},
- "spotify.userProfileResponseDoc": {
+ "sevennow.suggestResponseDoc": {
"properties": {
"code": {
"description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/spotify.UserProfileResponse"
+ "$ref": "#/definitions/sevennow.SuggestResponse"
},
"msg": {
"description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
@@ -218162,12 +224120,9 @@
},
"type": "object"
},
- "standard.AuthorArticle": {
+ "sfgate.AuthorArticle": {
"properties": {
- "section": {
- "type": "string"
- },
- "section_url": {
+ "summary": {
"type": "string"
},
"title": {
@@ -218179,15 +224134,21 @@
},
"type": "object"
},
- "standard.AuthorResponse": {
+ "sfgate.AuthorResponse": {
"properties": {
"articles": {
"items": {
- "$ref": "#/definitions/standard.AuthorArticle"
+ "$ref": "#/definitions/sfgate.AuthorArticle"
},
"type": "array"
},
- "bio": {
+ "biography": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "image_url": {
"type": "string"
},
"job_title": {
@@ -218196,11 +224157,11 @@
"name": {
"type": "string"
},
- "slug": {
- "type": "string"
- },
- "twitter": {
- "type": "string"
+ "same_as": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
"url": {
"type": "string"
@@ -218208,2073 +224169,1440 @@
},
"type": "object"
},
- "starbucks.Amenity": {
+ "shakeshack.DeliveryFeeTier": {
"properties": {
- "code": {
- "type": "string"
+ "amount": {
+ "example": 1.99,
+ "type": "number"
+ },
+ "subtotal_minimum": {
+ "example": 12.01,
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "shakeshack.LocationSummary": {
+ "properties": {
+ "latitude": {
+ "description": "Latitude/Longitude are present only for entries sourced from the map\nsection (source \"map\"). Fetch GET /shakeshack/store for coordinates\non a \"list\"-sourced entry.",
+ "example": 29.6856442,
+ "type": "number"
+ },
+ "longitude": {
+ "example": -95.4574726,
+ "type": "number"
},
"name": {
+ "example": "Meyerland",
+ "type": "string"
+ },
+ "path": {
+ "description": "Path is the value GET /shakeshack/store takes, e.g.\n\"location/meyerland-tx\" or \"node/15226\".",
+ "example": "location/meyerland-tx",
+ "type": "string"
+ },
+ "source": {
+ "description": "Source is which section of the /locations page this entry was\nparsed from, not a business classification: \"list\" is Shake Shack's\nown \"Full List of Locations\" text index (structured address, no\ncoordinates); \"map\" is the interactive map's pin data (coordinates,\nno structured address). Both round-trip through GET /shakeshack/store\nby path.",
+ "example": "list",
"type": "string"
}
},
"type": "object"
},
- "starbucks.MenuCategory": {
+ "shakeshack.LocationsResponse": {
"properties": {
- "children": {
+ "count": {
+ "example": 100,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "locations": {
"items": {
- "$ref": "#/definitions/starbucks.MenuCategory"
+ "$ref": "#/definitions/shakeshack.LocationSummary"
},
"type": "array"
},
- "display_order": {
+ "page": {
+ "example": 1,
"type": "integer"
},
- "hero_image_url": {
+ "source_url": {
"type": "string"
},
- "image_url": {
- "type": "string"
+ "total": {
+ "example": 1322,
+ "type": "integer"
},
+ "total_pages": {
+ "example": 14,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "shakeshack.MenuCategory": {
+ "properties": {
"name": {
+ "example": "Burgers & More",
"type": "string"
},
"products": {
"items": {
- "$ref": "#/definitions/starbucks.MenuProduct"
+ "$ref": "#/definitions/shakeshack.MenuProduct"
},
"type": "array"
}
},
"type": "object"
},
- "starbucks.MenuProduct": {
+ "shakeshack.MenuProduct": {
"properties": {
- "availability": {
- "description": "Availability is \"Available\" on the unscoped menu; a store-scoped\nmenu also returns \"NotAvailableHere\" for items that store lacks.",
+ "allergens": {
+ "description": "Allergens is upstream's own comma-separated free text, passed through\nas published rather than split into a fixed list.",
+ "example": "dairy allergy, egg allergy, soy allergy, wheat allergy, sesame allergy",
"type": "string"
},
- "default_size": {
+ "badge": {
+ "description": "Badge is a short promotional/dietary label Shake Shack publishes for\nsome items, e.g. \"LIMITED TIME ONLY\", \"VEGETARIAN\".",
+ "example": "VEGETARIAN",
"type": "string"
},
- "default_size_sku": {
- "type": "string"
+ "base_calories": {
+ "description": "BaseCalories is 0 when upstream reports none.",
+ "example": 880,
+ "type": "integer"
},
- "display_order": {
+ "chain_product_id": {
+ "example": 1119032,
"type": "integer"
},
- "form": {
- "description": "Form is the normalized, lowercase form slug (\"iced\", \"hot\",\n\"single\", \"packaged\", \"whole-bean\", \"via\") taken from the product's\nown menu URI. It is the second path segment Product requires.",
+ "description": {
"type": "string"
},
"image_url": {
"type": "string"
},
- "menu_uri": {
- "type": "string"
+ "modifiers": {
+ "items": {
+ "$ref": "#/definitions/shakeshack.ModifierGroup"
+ },
+ "type": "array"
},
"name": {
+ "example": "West Coast Burger",
"type": "string"
},
- "product_detail_url": {
- "type": "string"
- },
- "product_number": {
- "type": "string"
- },
- "product_type": {
- "description": "ProductType is Starbucks' own coarse classification: \"Beverage\",\n\"Food\", or \"Coffee\".",
- "type": "string"
- },
- "sizes": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "price": {
+ "description": "Price is this item's base price. Many items price entirely through a\nrequired size/flavor modifier rather than a base price, so 0 is\ncommon here -- not a parsing gap (same shape as this repo's other\nOlo-backed menus, e.g. Jimmy John's).",
+ "example": 0,
+ "type": "number"
}
},
"type": "object"
},
- "starbucks.MenuResponse": {
+ "shakeshack.MenuResponse": {
"properties": {
"categories": {
"items": {
- "$ref": "#/definitions/starbucks.MenuCategory"
+ "$ref": "#/definitions/shakeshack.MenuCategory"
},
"type": "array"
},
"category_count": {
- "description": "CategoryCount counts top-level categories; ProductCount counts\ndistinct products anywhere in the tree.",
+ "example": 11,
"type": "integer"
},
"fetched_at": {
"type": "string"
},
- "market": {
- "type": "string"
+ "location_id": {
+ "example": 14992,
+ "type": "integer"
},
"product_count": {
+ "example": 76,
"type": "integer"
},
"source_url": {
"type": "string"
- },
- "store_number": {
- "type": "string"
}
},
"type": "object"
},
- "starbucks.NearestStoreResponse": {
+ "shakeshack.ModifierChoice": {
"properties": {
- "distance_miles": {
- "type": "number"
- },
- "fetched_at": {
- "type": "string"
+ "calorie_delta": {
+ "example": -1,
+ "type": "integer"
},
- "found": {
- "description": "Found is false when Starbucks reports no nearest store for the\npoint at all.",
- "type": "boolean"
+ "chain_option_id": {
+ "example": 213463,
+ "type": "integer"
},
- "lat": {
- "type": "number"
+ "groups": {
+ "items": {
+ "$ref": "#/definitions/shakeshack.ModifierGroup"
+ },
+ "type": "array"
},
- "lng": {
- "type": "number"
+ "is_default": {
+ "type": "boolean"
},
- "market": {
+ "name": {
+ "example": "No Lettuce",
"type": "string"
},
- "nearest_latitude": {
- "type": "number"
+ "option_id": {
+ "example": 4127201667,
+ "type": "integer"
},
- "nearest_longitude": {
+ "price": {
+ "example": 0,
"type": "number"
- },
- "source_url": {
- "type": "string"
}
},
"type": "object"
},
- "starbucks.Nutrition": {
+ "shakeshack.ModifierGroup": {
"properties": {
- "calories": {
- "type": "string"
- },
- "calories_from_fat": {
- "type": "string"
+ "chain_modifier_id": {
+ "example": 38041,
+ "type": "integer"
},
- "facts": {
+ "choices": {
"items": {
- "$ref": "#/definitions/starbucks.NutritionFact"
+ "$ref": "#/definitions/shakeshack.ModifierChoice"
},
"type": "array"
},
- "serving_size": {
+ "group_id": {
+ "example": 890226904,
+ "type": "integer"
+ },
+ "name": {
+ "example": "Remove Lettuce:",
+ "type": "string"
+ },
+ "type": {
+ "example": "REMOVAL",
"type": "string"
}
},
"type": "object"
},
- "starbucks.NutritionFact": {
+ "shakeshack.NearbyAddress": {
"properties": {
- "daily_percent_value": {
+ "city": {
+ "example": "New York",
"type": "string"
},
- "name": {
+ "postal_code": {
+ "example": "10036",
"type": "string"
},
- "subfacts": {
- "items": {
- "$ref": "#/definitions/starbucks.NutritionFact"
- },
- "type": "array"
- },
- "unit_of_measure": {
+ "region": {
+ "example": "NY",
"type": "string"
},
- "value": {
+ "street": {
+ "example": "691 Eighth Avenue",
"type": "string"
}
},
"type": "object"
},
- "starbucks.NutritionModifier": {
+ "shakeshack.NearbyHours": {
"properties": {
- "quantity": {
- "description": "Quantity is how many of this modifier. Defaults to 1. For countable\nmodifiers (formCode \"qty\" -- espresso shots, syrup pumps) this is the\ndial that actually moves the numbers.",
- "example": 3,
- "type": "integer"
+ "closes": {
+ "example": "23:00",
+ "type": "string"
},
- "replaced_sku": {
- "description": "ReplacedSKU is the default modifier this one substitutes, when the\ncaller is swapping a pick-one slot such as the milk. Leave empty for\na modifier that is not replacing anything.",
+ "day_of_week": {
+ "example": "Monday",
"type": "string"
},
- "sku": {
- "description": "SKU is the modifier's sku, from a product size's default_recipe[].sku\nor from an option in the product's options tree (e.g. a different\nmilk).",
- "example": "55",
+ "opens": {
+ "example": "10:00",
"type": "string"
}
},
"type": "object"
},
- "starbucks.NutritionOption": {
+ "shakeshack.NearbyLocation": {
"properties": {
- "form": {
- "example": "hot",
- "type": "string"
- },
- "market": {
- "description": "Market selects which country site answers. Defaults to us.",
- "example": "us",
- "type": "string"
+ "address": {
+ "$ref": "#/definitions/shakeshack.NearbyAddress"
},
- "modifiers": {
- "description": "Modifiers is the COMPLETE build, not a delta from the default. Start\nfrom the size's default_recipe (returned by /starbucks/product),\nchange what you want, and send the whole list back. An empty list is\nrejected by Starbucks with \"Modifiers list required\".",
+ "delivery_fees": {
"items": {
- "$ref": "#/definitions/starbucks.NutritionModifier"
+ "$ref": "#/definitions/shakeshack.DeliveryFeeTier"
},
"type": "array"
},
- "product_number": {
- "description": "ProductNumber and Form identify the product. Only the four\ncombinations in dynamicNutritionProducts are supported upstream.",
- "example": "406",
- "type": "string"
- },
- "size_sku": {
- "description": "SizeSKU is the sku of the size being built, from a /starbucks/product\nresult's sizes[].sku.",
- "example": "93",
- "type": "string"
- }
- },
- "type": "object"
- },
- "starbucks.NutritionResponse": {
- "properties": {
- "fetched_at": {
- "type": "string"
- },
- "form": {
- "type": "string"
- },
- "market": {
- "type": "string"
+ "distance_miles": {
+ "example": 0.19,
+ "type": "number"
},
- "modifiers": {
+ "fulfillment_modes": {
+ "description": "FulfillmentModes are the handoff modes this location currently has\nenabled, e.g. \"dine_in\", \"pickup\", \"delivery\", \"curbside\",\n\"drive_thru\", \"walk_up\".",
"items": {
- "$ref": "#/definitions/starbucks.NutritionModifier"
+ "type": "string"
},
"type": "array"
},
- "product_number": {
- "type": "string"
- },
- "size_sku": {
- "type": "string"
- },
- "source_url": {
- "type": "string"
- },
- "values": {
+ "hours": {
+ "description": "Hours is the current rolling week, Monday-first.",
"items": {
- "$ref": "#/definitions/starbucks.NutritionValue"
+ "$ref": "#/definitions/shakeshack.NearbyHours"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "starbucks.NutritionValue": {
- "properties": {
- "key": {
- "type": "string"
},
- "name": {
- "type": "string"
+ "is_online_ordering_available": {
+ "type": "boolean"
},
- "unit_of_measure": {
- "type": "string"
+ "latitude": {
+ "example": 40.7584054,
+ "type": "number"
},
- "value": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "starbucks.PickUpOption": {
- "properties": {
- "available": {
- "type": "boolean"
+ "location_id": {
+ "example": 14992,
+ "type": "integer"
},
- "code": {
- "type": "string"
+ "longitude": {
+ "example": -73.9891734,
+ "type": "number"
},
"name": {
+ "example": "Theater District",
"type": "string"
- }
- },
- "type": "object"
- },
- "starbucks.ProductOptionGroup": {
- "properties": {
- "name": {
+ },
+ "phone_number": {
+ "example": "(646) 435-0135",
"type": "string"
},
- "type": {
+ "timezone": {
+ "example": "America/New_York",
"type": "string"
}
},
"type": "object"
},
- "starbucks.ProductResponse": {
+ "shakeshack.NearbyResponse": {
"properties": {
- "description": {
- "type": "string"
+ "count": {
+ "example": 10,
+ "type": "integer"
},
"fetched_at": {
"type": "string"
},
- "form": {
- "type": "string"
- },
- "image_url": {
- "type": "string"
- },
- "in_catalog": {
- "type": "boolean"
- },
- "market": {
- "type": "string"
- },
- "name": {
- "type": "string"
- },
- "options": {
- "description": "Options are the customization choices Starbucks offers for this\nproduct, e.g. milk, syrups, espresso shots.",
- "items": {
- "$ref": "#/definitions/starbucks.ProductOptionGroup"
- },
- "type": "array"
- },
- "product_number": {
- "type": "string"
- },
- "product_type": {
- "type": "string"
- },
- "sizes": {
+ "locations": {
"items": {
- "$ref": "#/definitions/starbucks.ProductSize"
+ "$ref": "#/definitions/shakeshack.NearbyLocation"
},
"type": "array"
},
- "source_url": {
- "type": "string"
- },
- "star_cost": {
+ "radius_miles": {
+ "example": 15,
"type": "integer"
},
- "store_number": {
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "starbucks.ProductSize": {
+ "shakeshack.StoreAddress": {
"properties": {
- "default_recipe": {
- "description": "DefaultRecipe is the size's standard build -- the modifiers a plain\norder of this size already includes. It is exposed because it is the\nrequired input to the nutrition-calculate endpoint: that endpoint\nwants the FULL modifier set, not a delta, so a caller starts from\nthis list, changes what they want, and posts the whole thing back.",
- "items": {
- "$ref": "#/definitions/starbucks.RecipeModifier"
- },
- "type": "array"
+ "city": {
+ "example": "Houston",
+ "type": "string"
},
- "display_name": {
+ "country": {
+ "example": "United States",
"type": "string"
},
- "nutrition": {
- "$ref": "#/definitions/starbucks.Nutrition"
+ "line1": {
+ "example": "8815 W Loop S",
+ "type": "string"
},
- "size_code": {
+ "postal_code": {
+ "example": "77096",
"type": "string"
},
- "sku": {
+ "region": {
+ "example": "TX",
"type": "string"
}
},
"type": "object"
},
- "starbucks.RecipeModifier": {
+ "shakeshack.StoreHours": {
"properties": {
- "form_code": {
- "description": "FormCode describes how the modifier behaves: \"one\" is a\npick-exactly-one slot (the milk), \"qty\" is a countable (espresso\nshots, syrup pumps), \"modifier\"/\"yes-no\" are toggles.",
- "type": "string"
+ "closed": {
+ "description": "Closed is true when Shake Shack publishes the day with no open\ninterval.",
+ "example": false,
+ "type": "boolean"
},
- "name": {
+ "closes": {
+ "example": "23:00",
"type": "string"
},
- "option_product_number": {
- "description": "OptionProductNumber identifies the option in the product's own\noptions tree.",
+ "day_of_week": {
+ "example": "Monday",
"type": "string"
},
- "sku": {
- "description": "SKU is the value to send as a nutrition-calculate modifier sku.",
+ "opens": {
+ "example": "10:00",
"type": "string"
}
},
"type": "object"
},
- "starbucks.Store": {
+ "shakeshack.StoreResponse": {
"properties": {
"address": {
+ "$ref": "#/definitions/shakeshack.StoreAddress"
+ },
+ "fetched_at": {
"type": "string"
},
- "amenities": {
- "description": "Amenities are the store's features, each with Starbucks' own code\nand its human-readable name.",
+ "hours": {
+ "description": "Hours is Monday-first. Omitted entirely for locations that publish no\nweekly schedule (seen on venue/kiosk-shaped locations, e.g. inside a\nstadium).",
"items": {
- "$ref": "#/definitions/starbucks.Amenity"
+ "$ref": "#/definitions/shakeshack.StoreHours"
},
"type": "array"
},
- "city": {
- "type": "string"
- },
- "country": {
- "type": "string"
- },
- "distance_miles": {
- "type": "number"
- },
- "guest_ordering": {
- "type": "boolean"
- },
- "hours_status": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "is_open_24_hours": {
- "type": "boolean"
- },
"latitude": {
+ "example": 29.6856442,
"type": "number"
},
"longitude": {
+ "example": -95.4574726,
"type": "number"
},
- "mobile_ordering_availability": {
- "description": "MobileOrderingAvailability is the upstream's own enum-ish state for\nMobile Order & Pay at this store, e.g. \"READY\" / \"NOT_READY\". It is\na live readiness state, not a static capability -- a store that\nsupports mobile ordering still reports NOT_READY while closed. Use\nthe \"XO\" amenity code for the static capability.",
- "type": "string"
- },
"name": {
+ "example": "Meyerland",
"type": "string"
},
- "open": {
- "type": "boolean"
- },
- "open_status": {
- "type": "string"
- },
- "ownership_type_code": {
- "description": "OwnershipTypeCode distinguishes company-operated (\"CO\") from\nlicensed stores, which is why an airport or grocery-store kiosk\nbehaves differently from a standalone café.",
- "type": "string"
- },
- "phone": {
- "type": "string"
- },
- "pick_up_options": {
- "description": "PickUpOptions are the fulfillment modes the store supports, each\nwith its own live availability flag.",
- "items": {
- "$ref": "#/definitions/starbucks.PickUpOption"
- },
- "type": "array"
- },
- "postal_code": {
- "type": "string"
- },
- "schedule": {
- "description": "Schedule is the store's weekly opening hours, Sunday-first as the\nupstream returns them.",
+ "order_types": {
+ "description": "OrderTypes are the fulfillment types Shake Shack publishes for this\nlocation, e.g. \"Dine In\", \"Delivery\".",
"items": {
- "$ref": "#/definitions/starbucks.StoreDay"
+ "type": "string"
},
"type": "array"
},
- "state": {
- "type": "string"
- },
- "store_number": {
- "description": "StoreNumber is Starbucks' own public store identifier, e.g.\n\"101-54\". ID is the locator's separate internal numeric id.",
- "type": "string"
- },
- "time_zone": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "starbucks.StoreDay": {
- "properties": {
- "day_of_week": {
- "type": "string"
- },
- "holiday": {
- "type": "string"
- },
- "hours": {
- "type": "string"
- },
- "open": {
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "starbucks.StoreResponse": {
- "properties": {
- "count": {
- "type": "integer"
- },
- "fetched_at": {
- "type": "string"
- },
- "lat": {
- "type": "number"
- },
- "lng": {
- "type": "number"
- },
- "market": {
+ "path": {
+ "description": "Path is the canonical page path this record resolved to, e.g.\n\"location/meyerland-tx\" -- present even when the requested path was\nthe legacy \"node/\" form of the same location.",
"type": "string"
},
- "place": {
+ "phone_number": {
+ "example": "281-819-8763",
"type": "string"
},
- "place_not_found": {
- "description": "PlaceNotFound is true when Starbucks could not geocode Place at all.\nThe upstream signals this with a distinct object shape rather than an\nempty list, so a genuine no-results answer stays distinguishable from\nparser drift.",
- "type": "boolean"
- },
- "result_capped": {
- "description": "ResultCapped is true when the upstream returned its hard 50-result\nceiling, meaning more stores may exist near this point that the\nupstream will not return under any pagination parameter.",
- "type": "boolean"
- },
"source_url": {
"type": "string"
},
- "stores": {
- "items": {
- "$ref": "#/definitions/starbucks.Store"
- },
- "type": "array"
+ "store_id": {
+ "description": "StoreID is the underlying Drupal node id, e.g. \"51351\" from\n/node/51351. Present whenever the page's own settings expose it.",
+ "example": "51351",
+ "type": "string"
}
},
"type": "object"
},
- "starbucks.menuResponseDoc": {
+ "shakeshack.locationsResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/starbucks.MenuResponse"
+ "$ref": "#/definitions/shakeshack.LocationsResponse"
},
"msg": {
- "example": "OK",
- "type": "string"
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "starbucks.nearestStoreResponseDoc": {
+ "shakeshack.menuResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/starbucks.NearestStoreResponse"
+ "$ref": "#/definitions/shakeshack.MenuResponse"
},
"msg": {
- "example": "OK",
- "type": "string"
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "starbucks.nutritionResponseDoc": {
+ "shakeshack.nearbyResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/starbucks.NutritionResponse"
+ "$ref": "#/definitions/shakeshack.NearbyResponse"
},
"msg": {
- "example": "OK",
- "type": "string"
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "starbucks.productResponseDoc": {
+ "shakeshack.storeResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/starbucks.ProductResponse"
+ "$ref": "#/definitions/shakeshack.StoreResponse"
},
"msg": {
- "example": "OK",
- "type": "string"
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "starbucks.storesResponseDoc": {
+ "shein.AggregationFilters": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "category": {
+ "$ref": "#/definitions/shein.FacetCategory"
},
- "data": {
- "$ref": "#/definitions/starbucks.StoreResponse"
+ "filters": {
+ "items": {
+ "$ref": "#/definitions/shein.FacetGroup"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "keyword": {
+ "example": "dress",
"type": "string"
- }
- },
- "type": "object"
- },
- "startpage.suggestResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/suggest.Response"
+ "max_price": {
+ "example": "569",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "min_price": {
+ "example": "18",
"type": "string"
}
},
"type": "object"
},
- "steam.AchievementsResponse": {
+ "shein.AutocompleteResponse": {
"properties": {
- "achievements": {
- "description": "Achievements of the app with their global unlock percentage, most unlocked first.",
+ "suggestions": {
"items": {
- "$ref": "#/definitions/steam.GlobalAchievement"
+ "$ref": "#/definitions/shein.AutocompleteSuggestion"
},
"type": "array"
},
- "appid": {
- "description": "Steam app id the achievements belong to.",
- "type": "string"
- },
- "count": {
- "description": "Number of achievements returned.",
- "type": "integer"
- },
- "source_url": {
- "description": "URL the data was read from.",
+ "word": {
+ "example": "dres",
"type": "string"
}
},
"type": "object"
},
- "steam.AppDetails": {
+ "shein.AutocompleteSuggestion": {
"properties": {
- "achievements_total": {
- "description": "Total number of achievements the app has.",
- "type": "integer"
- },
- "appid": {
- "description": "Steam app id.",
- "type": "integer"
- },
- "background": {
- "description": "URL of the background image on the store page.",
- "type": "string"
- },
- "capsule_image": {
- "description": "URL of the capsule image used on store listings.",
- "type": "string"
- },
- "categories": {
- "description": "Steam store categories assigned to the app, each with an id and a name.",
- "items": {
- "$ref": "#/definitions/steam.IDName"
- },
- "type": "array"
- },
- "content_descriptor_ids": {
- "description": "ContentDescriptorIDs are Steam's mature-content flag ids (e.g. 1 nudity, 3\nadult content, 5 strong violence) — the store's own age/adult markers.",
- "items": {
- "type": "integer"
- },
- "type": "array"
- },
- "controller_support": {
- "description": "Level of controller support Steam lists for the app.",
- "type": "string"
- },
- "developers": {
- "description": "Names of the developers of the app.",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "dlc": {
- "description": "Steam app ids of the downloadable content for the app.",
- "items": {
- "type": "integer"
- },
- "type": "array"
- },
- "genres": {
- "description": "Genres assigned to the app, each with an id and a name.",
- "items": {
- "$ref": "#/definitions/steam.IDName"
- },
- "type": "array"
- },
- "header_image": {
- "description": "URL of the header image on the store page.",
- "type": "string"
- },
- "is_free": {
- "description": "Whether the app is free to play or free to own.",
- "type": "boolean"
- },
- "metacritic": {
- "allOf": [
- {
- "$ref": "#/definitions/steam.Metacritic"
- }
- ],
- "description": "Metacritic score and link for the app. Omitted when the store shows none."
- },
- "movies": {
- "description": "Number of videos on the store page.",
- "type": "integer"
- },
- "name": {
- "description": "Name of the app on the Steam store.",
- "type": "string"
- },
- "packages": {
- "description": "Ids of the Steam packages that include the app. Use them with the package endpoint.",
- "items": {
- "type": "integer"
- },
- "type": "array"
- },
- "platforms": {
- "allOf": [
- {
- "$ref": "#/definitions/steam.Platforms"
- }
- ],
- "description": "Operating systems the app supports."
- },
- "price_overview": {
- "allOf": [
- {
- "$ref": "#/definitions/steam.Price"
- }
- ],
- "description": "Current price of the app. Omitted when the store shows no price."
- },
- "publishers": {
- "description": "Names of the publishers of the app.",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "recommendations": {
- "description": "Total number of user recommendations the app has on Steam.",
- "type": "integer"
- },
- "release_date": {
- "allOf": [
- {
- "$ref": "#/definitions/steam.AppRelease"
- }
- ],
- "description": "Release information of the app."
- },
- "required_age": {
- "description": "Minimum age in years that Steam requires to view the app.",
- "type": "integer"
- },
- "screenshots": {
- "description": "Number of screenshots on the store page.",
- "type": "integer"
- },
- "short_description": {
- "description": "Short description of the app from the store page, as plain text.",
- "type": "string"
- },
- "source_url": {
- "description": "URL the data was read from.",
- "type": "string"
- },
- "supported_languages": {
- "description": "Languages the app supports, as listed on the store page.",
+ "type": {
+ "example": "common",
"type": "string"
},
- "type": {
- "description": "Kind of store item, such as `game`.",
+ "word": {
+ "example": "Dress For Women",
"type": "string"
},
- "website": {
- "description": "URL of the app's official website.",
+ "word_id": {
+ "example": "163784",
"type": "string"
}
},
"type": "object"
},
- "steam.AppRelease": {
+ "shein.BrandCategory": {
"properties": {
- "coming_soon": {
- "description": "Whether the app has not been released yet.",
- "type": "boolean"
+ "cat_id": {
+ "example": "2030",
+ "type": "string"
},
- "date": {
- "description": "Release date as the store displays it.",
+ "category_name": {
+ "example": "Women Clothing",
"type": "string"
}
},
"type": "object"
},
- "steam.CategoryBrowseResponse": {
+ "shein.BrandsResponse": {
"properties": {
- "count": {
- "type": "integer"
- },
- "items": {
+ "categories": {
"items": {
- "$ref": "#/definitions/steam.CategoryItem"
+ "$ref": "#/definitions/shein.BrandCategory"
},
"type": "array"
- },
- "slug": {
- "type": "string"
- },
- "source_url": {
- "type": "string"
- },
- "start": {
- "type": "integer"
- },
- "tag_id": {
- "type": "integer"
- },
- "tag_name": {
- "type": "string"
- },
- "total": {
- "type": "integer"
}
},
"type": "object"
},
- "steam.CategoryItem": {
+ "shein.CategoriesResponse": {
"properties": {
- "appid": {
- "type": "integer"
- },
- "developers": {
+ "categories": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/shein.CategoryNode"
},
"type": "array"
},
- "name": {
- "type": "string"
- },
- "platforms": {
- "$ref": "#/definitions/steam.Platforms"
- },
- "price_overview": {
- "$ref": "#/definitions/steam.Price"
- },
- "publishers": {
+ "filters": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/shein.Filter"
},
"type": "array"
- },
- "release_date_unix": {
- "type": "integer"
- },
- "review_count": {
- "type": "integer"
- },
- "review_percent_positive": {
- "type": "integer"
- },
- "review_summary": {
+ }
+ },
+ "type": "object"
+ },
+ "shein.CategoryFiltersResponse": {
+ "properties": {
+ "cat_id": {
+ "example": "1766",
"type": "string"
},
- "short_description": {
+ "currency": {
+ "example": "HK$",
"type": "string"
},
- "tags": {
+ "filters": {
"items": {
- "$ref": "#/definitions/steam.WeightedTag"
+ "$ref": "#/definitions/shein.Filter"
},
"type": "array"
},
- "type": {
- "type": "integer"
+ "max_price": {
+ "example": 569,
+ "type": "number"
},
- "url": {
- "type": "string"
+ "min_price": {
+ "example": 18,
+ "type": "number"
}
},
"type": "object"
},
- "steam.ChartRank": {
+ "shein.CategoryGoodsResponse": {
"properties": {
- "appid": {
- "type": "integer"
- },
- "concurrent_in_game": {
- "type": "integer"
- },
- "last_week_rank": {
- "type": "integer"
+ "cat_id": {
+ "example": "1727",
+ "type": "string"
},
- "name": {
+ "category_name": {
+ "example": "Dresses",
"type": "string"
},
- "peak_in_game": {
+ "page": {
+ "example": 1,
"type": "integer"
},
- "rank": {
- "type": "integer"
+ "products": {
+ "items": {
+ "$ref": "#/definitions/shein.Product"
+ },
+ "type": "array"
},
- "review_summary": {
- "type": "string"
+ "total": {
+ "example": 1187,
+ "type": "integer"
}
},
"type": "object"
},
- "steam.ChartResponse": {
+ "shein.CategoryNavResponse": {
"properties": {
- "chart": {
+ "cat_id": {
+ "example": "1766",
"type": "string"
},
- "count": {
- "type": "integer"
- },
- "enriched": {
- "type": "boolean"
- },
- "ranks": {
+ "navs": {
"items": {
- "$ref": "#/definitions/steam.ChartRank"
+ "$ref": "#/definitions/shein.NavTab"
},
"type": "array"
- },
- "source_url": {
- "type": "string"
- },
- "updated_unix": {
- "type": "integer"
}
},
"type": "object"
},
- "steam.CommunityRecommendationsResponse": {
+ "shein.CategoryNode": {
"properties": {
- "count": {
- "type": "integer"
+ "cat_id": {
+ "example": "3638",
+ "type": "string"
},
- "review_filter": {
+ "category_name": {
+ "example": "False Eyelashes & Adhesives",
"type": "string"
},
- "reviews": {
+ "children": {
"items": {
- "$ref": "#/definitions/steam.CommunityReview"
+ "$ref": "#/definitions/shein.CategoryNode"
},
"type": "array"
- },
- "source_url": {
- "type": "string"
}
},
"type": "object"
},
- "steam.CommunityReview": {
+ "shein.ColorVariant": {
"properties": {
- "appid": {
- "type": "string"
- },
- "author_name": {
- "type": "string"
- },
- "author_profile_url": {
+ "color_image": {
"type": "string"
},
- "helpful": {
+ "color_name": {
+ "example": "Blue",
"type": "string"
},
- "playtime": {
+ "goods_id": {
+ "example": "162996968",
"type": "string"
},
- "recommendation_id": {
+ "goods_sn": {
+ "example": "sz25081190840936964",
"type": "string"
},
- "review_excerpt": {
+ "goods_url_name": {
"type": "string"
},
- "review_url": {
+ "image": {
"type": "string"
}
},
"type": "object"
},
- "steam.FeaturedBucket": {
+ "shein.DealCategory": {
"properties": {
- "count": {
- "description": "Number of items in the bucket.",
- "type": "integer"
- },
- "id": {
- "description": "Id of the bucket, as Steam names it.",
+ "cat_id": {
+ "example": "4436",
"type": "string"
},
- "items": {
- "description": "Items in the bucket.",
- "items": {
- "$ref": "#/definitions/steam.FeaturedItem"
- },
- "type": "array"
- },
"name": {
- "description": "Display name of the bucket.",
+ "example": "Women Apparel",
+ "type": "string"
+ },
+ "type": {
+ "example": "realCategory",
"type": "string"
}
},
"type": "object"
},
- "steam.FeaturedCategoriesResponse": {
+ "shein.DealProduct": {
"properties": {
- "coming_soon": {
- "allOf": [
- {
- "$ref": "#/definitions/steam.FeaturedBucket"
- }
- ],
- "description": "Bucket of upcoming releases."
+ "brand_code": {
+ "example": "1qmfm",
+ "type": "string"
},
- "new_releases": {
- "allOf": [
- {
- "$ref": "#/definitions/steam.FeaturedBucket"
- }
- ],
- "description": "Bucket of new releases."
+ "category_id": {
+ "example": "12476",
+ "type": "string"
},
- "source_url": {
- "description": "URL the data was read from.",
+ "category_name": {
+ "example": "Women Long Dresses",
"type": "string"
},
- "specials": {
- "allOf": [
- {
- "$ref": "#/definitions/steam.FeaturedBucket"
- }
- ],
- "description": "Bucket of items currently on special offer."
+ "color_img": {
+ "type": "string"
},
- "top_sellers": {
- "allOf": [
- {
- "$ref": "#/definitions/steam.FeaturedBucket"
- }
- ],
- "description": "Bucket of the store's top-selling items."
- }
- },
- "type": "object"
- },
- "steam.FeaturedItem": {
- "properties": {
- "currency": {
- "description": "Currency code of the prices, such as `USD`.",
+ "comment_avg": {
+ "example": "4.68",
"type": "string"
},
- "discount_percent": {
- "description": "Discount currently applied, as a percentage.",
+ "comment_count": {
+ "example": 1001,
"type": "integer"
},
- "discounted": {
- "description": "Whether the item is currently discounted.",
- "type": "boolean"
+ "detail_images": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "final_price": {
- "description": "Price after any discount, in minor currency units such as cents.",
- "type": "integer"
+ "goods_id": {
+ "example": "163003837",
+ "type": "string"
},
- "header_image": {
- "description": "URL of the item's header image.",
+ "goods_img": {
"type": "string"
},
- "id": {
- "description": "Steam id of the featured item.",
- "type": "integer"
+ "goods_name": {
+ "example": "Sweetra Women's Oblique Shoulder Fitted Bandeau Dress",
+ "type": "string"
},
- "linux_available": {
- "description": "Whether the item is available on Linux.",
- "type": "boolean"
+ "goods_sn": {
+ "example": "sz25081193234595996",
+ "type": "string"
},
- "mac_available": {
- "description": "Whether the item is available on macOS.",
+ "goods_url_name": {
+ "example": "Sweetra-Women-s-Oblique-Shoulder-Fitted-Bandeau-Dress",
+ "type": "string"
+ },
+ "is_new_coupon": {
+ "example": false,
"type": "boolean"
},
- "name": {
- "description": "Name of the featured item.",
+ "mall_code": {
+ "example": "1",
"type": "string"
},
- "original_price": {
- "description": "Price before any discount, in minor currency units such as cents.",
- "type": "integer"
+ "on_sale": {
+ "example": true,
+ "type": "boolean"
},
- "type": {
- "description": "Numeric type code Steam gives the featured item.",
- "type": "integer"
+ "retail_price": {
+ "example": "HK$119.00",
+ "type": "string"
},
- "windows_available": {
- "description": "Whether the item is available on Windows.",
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "steam.FeaturedResponse": {
- "properties": {
- "featured_linux": {
- "description": "Items featured for Linux players.",
- "items": {
- "$ref": "#/definitions/steam.FeaturedItem"
- },
- "type": "array"
+ "sale_price": {
+ "example": "HK$119.00",
+ "type": "string"
},
- "featured_mac": {
- "description": "Items featured for macOS players.",
- "items": {
- "$ref": "#/definitions/steam.FeaturedItem"
- },
- "type": "array"
+ "sold_out": {
+ "example": false,
+ "type": "boolean"
},
- "featured_win": {
- "description": "Items featured for Windows players.",
- "items": {
- "$ref": "#/definitions/steam.FeaturedItem"
- },
- "type": "array"
+ "spu": {
+ "example": "z250520775866",
+ "type": "string"
},
- "large_capsules": {
- "description": "Large spotlight capsules shown on the store front page.",
- "items": {
- "$ref": "#/definitions/steam.FeaturedItem"
- },
- "type": "array"
+ "store_code": {
+ "example": "7945614031",
+ "type": "string"
},
- "source_url": {
- "description": "URL the data was read from.",
+ "usd_price": {
+ "example": "$15.16",
"type": "string"
}
},
"type": "object"
},
- "steam.GlobalAchievement": {
+ "shein.DealTabsResponse": {
"properties": {
- "name": {
- "description": "Achievement identifier as Steam lists it, such as `TF_PLAY_GAME_EVERYCLASS`.",
- "type": "string"
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/shein.DealCategory"
+ },
+ "type": "array"
},
- "percent": {
- "description": "Percentage of all players who have unlocked the achievement.",
- "type": "number"
+ "for_you_tab": {
+ "example": "For You",
+ "type": "string"
}
},
"type": "object"
},
- "steam.HistogramBucket": {
+ "shein.DealsProductsResponse": {
"properties": {
- "date": {
- "description": "Start of the bucket, in Unix seconds.",
+ "page": {
+ "example": 1,
"type": "integer"
},
- "recommendations_down": {
- "description": "Number of negative recommendations in the bucket.",
- "type": "integer"
+ "products": {
+ "items": {
+ "$ref": "#/definitions/shein.DealProduct"
+ },
+ "type": "array"
},
- "recommendations_up": {
- "description": "Number of positive recommendations in the bucket.",
+ "total": {
+ "example": 3000,
"type": "integer"
}
},
"type": "object"
},
- "steam.IDName": {
+ "shein.FacetCategory": {
"properties": {
- "description": {
- "description": "Display name of the item, such as a category, genre or app name.",
- "type": "string"
+ "children": {
+ "items": {
+ "$ref": "#/definitions/shein.FacetCategory"
+ },
+ "type": "array"
},
"id": {
- "description": "Id of the item.",
+ "example": "2030",
+ "type": "string"
+ },
+ "name": {
+ "example": "Women Clothing",
"type": "string"
}
},
"type": "object"
},
- "steam.ItemsResponse": {
+ "shein.FacetGroup": {
"properties": {
- "count": {
- "type": "integer"
+ "id": {
+ "example": "87",
+ "type": "string"
},
- "items": {
+ "name": {
+ "example": "Size",
+ "type": "string"
+ },
+ "options": {
"items": {
- "$ref": "#/definitions/steam.CategoryItem"
+ "$ref": "#/definitions/shein.FacetOption"
},
"type": "array"
- },
- "source_url": {
- "type": "string"
}
},
"type": "object"
},
- "steam.Metacritic": {
+ "shein.FacetOption": {
"properties": {
- "score": {
- "description": "Metacritic score of the app, out of 100.",
- "type": "integer"
+ "id": {
+ "example": "87_757",
+ "type": "string"
},
- "url": {
- "description": "URL of the app's page on Metacritic.",
+ "name": {
+ "example": "XXS",
"type": "string"
}
},
"type": "object"
},
- "steam.NewsItem": {
+ "shein.Filter": {
"properties": {
- "author": {
- "description": "Name of the post's author.",
- "type": "string"
- },
- "contents": {
- "description": "Body text of the post, shortened to the requested maximum length.",
- "type": "string"
- },
- "date": {
- "description": "Time the post was published, in Unix seconds.",
- "type": "integer"
- },
- "feedlabel": {
- "description": "Label of the news feed the post came from, such as `Community Announcements`.",
- "type": "string"
- },
- "feedname": {
- "description": "Name of the news feed the post came from, such as `steam_community_announcements`.",
+ "node_id": {
+ "example": "87",
"type": "string"
},
- "gid": {
- "description": "Unique id of the news post.",
+ "node_name": {
+ "example": "Size",
"type": "string"
},
- "is_external_url": {
- "description": "Whether Steam flags the post's `url` as an external link.",
- "type": "boolean"
- },
- "tags": {
- "description": "Tags Steam attaches to the post, such as `patchnotes`.",
+ "options": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/shein.FilterOption"
},
"type": "array"
- },
- "title": {
- "description": "Headline of the news post.",
- "type": "string"
- },
- "url": {
- "description": "URL of the news post.",
- "type": "string"
}
},
"type": "object"
},
- "steam.NewsResponse": {
+ "shein.FilterOption": {
"properties": {
- "appid": {
- "description": "Steam app id the news belongs to.",
+ "node_id": {
+ "example": "87_757",
"type": "string"
},
- "count": {
- "description": "Number of news posts returned.",
- "type": "integer"
- },
- "items": {
- "description": "News posts for the app.",
- "items": {
- "$ref": "#/definitions/steam.NewsItem"
- },
- "type": "array"
- },
- "source_url": {
- "description": "URL the data was read from.",
+ "node_name": {
+ "example": "XXS",
"type": "string"
}
},
"type": "object"
},
- "steam.PackageDetails": {
+ "shein.Keyword": {
"properties": {
- "apps": {
- "description": "Apps included in the package. Each item has the app id in `id` and the app name in `description`.",
- "items": {
- "$ref": "#/definitions/steam.IDName"
- },
- "type": "array"
- },
- "header_image": {
- "description": "URL of the package's header image.",
+ "from": {
+ "example": "search",
"type": "string"
},
- "name": {
- "description": "Name of the package.",
+ "type": {
+ "example": "goods_pool",
"type": "string"
},
- "packageid": {
- "description": "Steam package id.",
- "type": "integer"
- },
- "platforms": {
- "allOf": [
- {
- "$ref": "#/definitions/steam.Platforms"
- }
- ],
- "description": "Operating systems the package supports."
- },
- "price": {
- "allOf": [
- {
- "$ref": "#/definitions/steam.PackagePrice"
- }
- ],
- "description": "Current price of the package. Omitted when the store shows no price."
- },
- "release_date": {
- "allOf": [
- {
- "$ref": "#/definitions/steam.AppRelease"
- }
- ],
- "description": "Release information of the package."
+ "word": {
+ "example": "Mother And Daughter",
+ "type": "string"
},
- "source_url": {
- "description": "URL the data was read from.",
+ "word_id": {
+ "example": "199828",
"type": "string"
}
},
"type": "object"
},
- "steam.PackagePrice": {
+ "shein.NavTab": {
"properties": {
- "currency": {
- "description": "Currency code of the prices, such as `USD`.",
+ "goods_id": {
+ "example": "52544880",
"type": "string"
},
- "discount_percent": {
- "description": "Discount currently applied, as a percentage.",
- "type": "integer"
+ "nav_id": {
+ "example": "1738",
+ "type": "string"
},
- "final": {
- "description": "Price after any discount, in minor currency units such as cents.",
- "type": "integer"
+ "nav_img": {
+ "type": "string"
},
- "individual": {
- "description": "Price of the apps in the package bought individually, in minor currency units such as cents.",
- "type": "integer"
+ "nav_name": {
+ "example": "T-Shirts",
+ "type": "string"
},
- "initial": {
- "description": "Price before any discount, in minor currency units such as cents.",
- "type": "integer"
+ "nav_type": {
+ "example": "1",
+ "type": "string"
}
},
"type": "object"
},
- "steam.Platforms": {
+ "shein.Product": {
"properties": {
- "linux": {
- "description": "Whether the title supports Linux.",
- "type": "boolean"
- },
- "mac": {
- "description": "Whether the title supports macOS.",
- "type": "boolean"
+ "brand_code": {
+ "example": "1qmfm",
+ "type": "string"
},
- "windows": {
- "description": "Whether the title supports Windows.",
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "steam.PlayersResponse": {
- "properties": {
- "appid": {
- "description": "Steam app id the count belongs to.",
+ "category_id": {
+ "example": "12476",
"type": "string"
},
- "player_count": {
- "description": "Number of players currently in the app.",
- "type": "integer"
+ "category_name": {
+ "example": "Women Long Dresses",
+ "type": "string"
},
- "source_url": {
- "description": "URL the data was read from.",
+ "color_img": {
"type": "string"
- }
- },
- "type": "object"
- },
- "steam.Price": {
- "properties": {
- "currency": {
- "description": "Currency code of the prices, such as `USD`.",
+ },
+ "comment_avg": {
+ "example": "4.68",
"type": "string"
},
- "discount_percent": {
- "description": "Discount currently applied, as a percentage.",
+ "comment_count": {
+ "example": 1001,
"type": "integer"
},
- "final": {
- "description": "Price after any discount, in minor currency units such as cents.",
- "type": "integer"
+ "detail_images": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "final_formatted": {
- "description": "Price after any discount, formatted for display as Steam shows it.",
+ "goods_id": {
+ "example": "163003837",
"type": "string"
},
- "initial": {
- "description": "Price before any discount, in minor currency units such as cents.",
- "type": "integer"
- },
- "initial_formatted": {
- "description": "Price before any discount, formatted for display as Steam shows it.",
+ "goods_img": {
"type": "string"
- }
- },
- "type": "object"
- },
- "steam.Review": {
- "properties": {
- "author": {
- "allOf": [
- {
- "$ref": "#/definitions/steam.ReviewAuthor"
- }
- ],
- "description": "Author of the review."
- },
- "comment_count": {
- "description": "Number of comments on the review.",
- "type": "integer"
},
- "language": {
- "description": "Language the review is written in, as a Steam language name such as `english`.",
+ "goods_name": {
+ "example": "Sweetra Women's Oblique Shoulder Fitted Bandeau Dress",
"type": "string"
},
- "received_for_free": {
- "description": "Whether the author received the game for free.",
- "type": "boolean"
+ "goods_sn": {
+ "example": "sz25081193234595996",
+ "type": "string"
},
- "recommendation_id": {
- "description": "Steam id of the review.",
+ "goods_url_name": {
+ "example": "Sweetra-Women-s-Oblique-Shoulder-Fitted-Bandeau-Dress",
"type": "string"
},
- "review": {
- "description": "Full text of the review.",
+ "mall_code": {
+ "example": "1",
"type": "string"
},
- "steam_purchase": {
- "description": "Whether the author bought the game on Steam.",
+ "on_sale": {
+ "example": true,
"type": "boolean"
},
- "timestamp_created": {
- "description": "Time the review was posted, in Unix seconds.",
- "type": "integer"
+ "retail_price": {
+ "example": "HK$119.00",
+ "type": "string"
},
- "timestamp_updated": {
- "description": "Time the review was last edited, in Unix seconds.",
- "type": "integer"
+ "sale_price": {
+ "example": "HK$119.00",
+ "type": "string"
},
- "voted_up": {
- "description": "Whether the review recommends the game.",
+ "sold_out": {
+ "example": false,
"type": "boolean"
},
- "votes_funny": {
- "description": "Number of votes marking the review as funny.",
- "type": "integer"
- },
- "votes_up": {
- "description": "Number of votes marking the review as helpful.",
- "type": "integer"
+ "spu": {
+ "example": "z250520775866",
+ "type": "string"
},
- "weighted_vote_score": {
- "description": "Helpfulness score Steam gives the review, returned as a string such as `0.5`.",
+ "store_code": {
+ "example": "7945614031",
"type": "string"
},
- "written_during_early_access": {
- "description": "Whether the review was written while the game was in Early Access.",
- "type": "boolean"
+ "usd_price": {
+ "example": "$15.16",
+ "type": "string"
}
},
"type": "object"
},
- "steam.ReviewAuthor": {
+ "shein.ProductDetail": {
"properties": {
- "last_played": {
- "description": "Time the author last played the game.",
- "type": "integer"
- },
- "num_games_owned": {
- "description": "Number of games the author owns on Steam.",
- "type": "integer"
+ "brand_code": {
+ "example": "1qmfm",
+ "type": "string"
},
- "num_reviews": {
- "description": "Number of reviews the author has written on Steam.",
- "type": "integer"
+ "category_id": {
+ "example": "12476",
+ "type": "string"
},
- "playtime_at_review": {
- "description": "Author's playtime in the game when the review was written, in minutes.",
- "type": "integer"
+ "category_name": {
+ "example": "Women Dresses",
+ "type": "string"
},
- "playtime_forever": {
- "description": "Author's total playtime in the game, in minutes.",
- "type": "integer"
+ "color_variants": {
+ "items": {
+ "$ref": "#/definitions/shein.ColorVariant"
+ },
+ "type": "array"
},
- "playtime_last_two_weeks": {
- "description": "Author's playtime in the game over the last two weeks, in minutes.",
- "type": "integer"
+ "description": {
+ "type": "string"
},
- "steamid": {
- "description": "Steam id of the review author.",
+ "goods_id": {
+ "example": "163003837",
"type": "string"
- }
- },
- "type": "object"
- },
- "steam.ReviewSummary": {
- "properties": {
- "num_reviews": {
- "description": "Number of reviews returned in this response.",
- "type": "integer"
},
- "review_score": {
- "description": "Numeric review score Steam gives the app. Set on the first page only.",
- "type": "integer"
+ "goods_name": {
+ "example": "Sweetra Women's Oblique Shoulder Fitted Bandeau Dress",
+ "type": "string"
},
- "review_score_desc": {
- "description": "Review rating label, such as `Very Positive`. Set on the first page only.",
+ "goods_sn": {
+ "example": "sz25081193234595996",
"type": "string"
},
- "total_negative": {
- "description": "Total number of negative reviews. Set on the first page only.",
- "type": "integer"
+ "images": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "total_positive": {
- "description": "Total number of positive reviews. Set on the first page only.",
- "type": "integer"
+ "on_sale": {
+ "example": true,
+ "type": "boolean"
},
- "total_reviews": {
- "description": "Total number of reviews. Set on the first page only.",
- "type": "integer"
- }
- },
- "type": "object"
- },
- "steam.ReviewsHistogramResponse": {
- "properties": {
- "appid": {
- "description": "Steam app id the histogram belongs to.",
+ "retail_price": {
+ "example": "HK$119.00",
"type": "string"
},
- "count_all_reviews": {
- "description": "Total number of reviews counted for the histogram.",
- "type": "integer"
+ "sale_price": {
+ "example": "HK$119.00",
+ "type": "string"
},
- "end_date": {
- "description": "End of the period the histogram covers, in Unix seconds.",
- "type": "integer"
+ "size_guide_url": {
+ "type": "string"
},
- "recent": {
- "description": "Daily buckets of recommendations for the most recent period.",
+ "sizes": {
"items": {
- "$ref": "#/definitions/steam.HistogramBucket"
+ "$ref": "#/definitions/shein.SizeOption"
},
"type": "array"
},
- "rollup_type": {
- "description": "Size of each bucket in `rollups`, such as `week`.",
- "type": "string"
- },
- "rollups": {
- "description": "Weekly or monthly buckets of recommendations covering the whole period.",
+ "skus": {
"items": {
- "$ref": "#/definitions/steam.HistogramBucket"
+ "$ref": "#/definitions/shein.SkuVariant"
},
"type": "array"
},
- "source_url": {
- "description": "URL the data was read from.",
+ "store_code": {
+ "example": "7945614031",
"type": "string"
},
- "start_date": {
- "description": "Start of the period the histogram covers, in Unix seconds.",
- "type": "integer"
+ "usd_price": {
+ "example": "$15.16",
+ "type": "string"
+ },
+ "video_url": {
+ "type": "string"
}
},
"type": "object"
},
- "steam.ReviewsResponse": {
+ "shein.SearchKeywordsResponse": {
"properties": {
- "appid": {
- "description": "Steam app id the reviews belong to.",
- "type": "string"
- },
- "count": {
- "description": "Number of reviews returned.",
- "type": "integer"
- },
- "cursor": {
- "description": "Cursor to pass back to fetch the next page of reviews.",
- "type": "string"
- },
- "query_summary": {
- "allOf": [
- {
- "$ref": "#/definitions/steam.ReviewSummary"
- }
- ],
- "description": "Review totals and score for the query."
- },
- "reviews": {
- "description": "Reviews on this page.",
+ "keywords": {
"items": {
- "$ref": "#/definitions/steam.Review"
+ "$ref": "#/definitions/shein.Keyword"
},
"type": "array"
- },
- "source_url": {
- "description": "URL the data was read from.",
- "type": "string"
}
},
"type": "object"
},
- "steam.SearchItem": {
+ "shein.SearchProductsResponse": {
"properties": {
- "controller_support": {
- "description": "Level of controller support Steam lists for the item.",
- "type": "string"
- },
- "id": {
- "description": "Steam id of the result. Use it with the app endpoint when `type` is `app`.",
- "type": "integer"
- },
- "metascore": {
- "description": "Metacritic score of the item, returned as a string such as `90`.",
+ "keyword": {
+ "example": "dress",
"type": "string"
},
- "name": {
- "description": "Name of the item on the Steam store.",
+ "origin_word": {
+ "example": "dress",
"type": "string"
},
- "platforms": {
- "allOf": [
- {
- "$ref": "#/definitions/steam.Platforms"
- }
- ],
- "description": "Operating systems the item supports."
- },
- "price": {
- "allOf": [
- {
- "$ref": "#/definitions/steam.Price"
- }
- ],
- "description": "Current price of the item. Omitted when the store shows no price."
+ "page": {
+ "example": 1,
+ "type": "integer"
},
- "streamingvideo": {
- "description": "Whether Steam marks the item as streaming video.",
- "type": "boolean"
+ "products": {
+ "items": {
+ "$ref": "#/definitions/shein.Product"
+ },
+ "type": "array"
},
- "tiny_image": {
- "description": "URL of a small image of the item.",
- "type": "string"
+ "suggest_words": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "type": {
- "description": "Kind of result, such as `app`.",
- "type": "string"
+ "total": {
+ "example": 6535,
+ "type": "integer"
}
},
"type": "object"
},
- "steam.SearchResponse": {
+ "shein.SizeOption": {
"properties": {
- "count": {
- "description": "Number of results returned.",
- "type": "integer"
- },
- "items": {
- "description": "Store items matching the search term.",
- "items": {
- "$ref": "#/definitions/steam.SearchItem"
- },
- "type": "array"
+ "attr_id": {
+ "example": "87",
+ "type": "string"
},
- "source_url": {
- "description": "URL the data was read from.",
+ "attr_name": {
+ "example": "Size",
"type": "string"
},
- "term": {
- "description": "Search term that was used.",
+ "attr_value_id": {
+ "example": "757",
"type": "string"
},
- "total": {
- "description": "Total number of matches Steam reports for the term.",
- "type": "integer"
+ "attr_value_name": {
+ "example": "XXS",
+ "type": "string"
}
},
"type": "object"
},
- "steam.SearchResultRow": {
+ "shein.SkuVariant": {
"properties": {
- "appid": {
- "description": "Steam app id of the row, when the row is an app.",
+ "retail_price": {
+ "example": "HK$119.00",
"type": "string"
},
- "bundleid": {
- "description": "Steam bundle id of the row, when the row is a bundle.",
+ "sale_price": {
+ "example": "HK$119.00",
"type": "string"
},
- "discount_pct": {
- "description": "Discount shown on the row, as text.",
+ "sku_code": {
+ "example": "I6ar22eezl2i",
"type": "string"
},
- "name": {
- "description": "Name of the item on the Steam store.",
+ "sku_sale_attr": {
"type": "string"
},
- "packageid": {
- "description": "Steam package id of the row, when the row is a package.",
+ "stock": {
+ "example": "20",
"type": "string"
},
- "platforms": {
- "allOf": [
- {
- "$ref": "#/definitions/steam.Platforms"
- }
- ],
- "description": "Operating systems the item supports."
- },
- "price": {
- "description": "Price shown on the row, as text.",
+ "usd_price": {
+ "example": "$15.16",
"type": "string"
- },
- "release_date": {
- "description": "Release date shown on the row, such as `20 Oct, 2022`.",
+ }
+ },
+ "type": "object"
+ },
+ "shein.StoreCategory": {
+ "properties": {
+ "category_id": {
+ "example": "1767",
"type": "string"
},
- "review_summary": {
- "description": "Review rating label shown on the row, such as `Overwhelmingly Positive`.",
+ "category_name": {
+ "example": "Women Bottoms",
"type": "string"
},
- "tag_ids": {
- "description": "Ids of the item's most-weighted community tags. Resolve their names with the tags list endpoint.",
- "items": {
- "type": "integer"
- },
- "type": "array"
+ "level": {
+ "example": 3,
+ "type": "integer"
},
- "url": {
- "description": "URL of the item's store page.",
- "type": "string"
+ "product_count": {
+ "example": 205,
+ "type": "integer"
}
},
"type": "object"
},
- "steam.SearchResultsResponse": {
+ "shein.StoreProductsResponse": {
"properties": {
- "count": {
- "description": "Number of rows returned.",
+ "category_id": {
+ "example": "1766",
+ "type": "string"
+ },
+ "page": {
+ "example": 1,
"type": "integer"
},
- "results": {
- "description": "Rows of the store search results on this page.",
+ "products": {
"items": {
- "$ref": "#/definitions/steam.SearchResultRow"
+ "$ref": "#/definitions/shein.Product"
},
"type": "array"
},
- "source_url": {
- "description": "URL the data was read from.",
- "type": "string"
- },
- "start": {
- "description": "Offset of the first row returned.",
- "type": "integer"
- },
- "term": {
- "description": "Search term that was used.",
+ "store_code": {
+ "example": "1813776918",
"type": "string"
},
"total": {
- "description": "Total number of matches Steam reports for the term.",
+ "example": 156,
"type": "integer"
}
},
"type": "object"
},
- "steam.SteamSpyResponse": {
+ "shein.StoreResponse": {
"properties": {
- "appid": {
- "description": "Steam app id.",
- "type": "integer"
- },
- "average_2weeks": {
- "description": "Average playtime over the last two weeks, in minutes, as SteamSpy estimates it.",
- "type": "integer"
- },
- "average_forever": {
- "description": "Average total playtime, in minutes, as SteamSpy estimates it.",
- "type": "integer"
- },
- "ccu": {
- "description": "Concurrent users, as SteamSpy estimates it.",
- "type": "integer"
- },
- "developer": {
- "description": "Name of the developer, as SteamSpy lists it.",
- "type": "string"
- },
- "discount": {
- "description": "Current discount, as SteamSpy reports it.",
- "type": "string"
- },
- "genre": {
- "description": "Genres of the app, as a comma-separated list such as `Action, Free to Play, Strategy`.",
- "type": "string"
- },
- "initialprice": {
- "description": "Price before any discount, as SteamSpy reports it.",
- "type": "string"
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/shein.StoreCategory"
+ },
+ "type": "array"
},
- "languages": {
- "description": "Languages the app supports, as SteamSpy lists them.",
+ "followers": {
+ "example": "231K",
"type": "string"
},
- "median_2weeks": {
- "description": "Median playtime over the last two weeks, in minutes, as SteamSpy estimates it.",
- "type": "integer"
- },
- "median_forever": {
- "description": "Median total playtime, in minutes, as SteamSpy estimates it.",
- "type": "integer"
- },
- "name": {
- "description": "Name of the app, as SteamSpy lists it.",
- "type": "string"
+ "is_brand_store": {
+ "example": false,
+ "type": "boolean"
},
- "negative": {
- "description": "Number of negative reviews, as SteamSpy counts them.",
- "type": "integer"
+ "is_choices_store": {
+ "example": false,
+ "type": "boolean"
},
- "owners": {
- "description": "Estimated range of owners, such as `100,000,000 .. 200,000,000`.",
- "type": "string"
+ "is_lifestyle_store": {
+ "example": false,
+ "type": "boolean"
},
- "positive": {
- "description": "Number of positive reviews, as SteamSpy counts them.",
- "type": "integer"
+ "is_trends_store": {
+ "example": true,
+ "type": "boolean"
},
- "price": {
- "description": "Current price, as SteamSpy reports it.",
+ "seller_label": {
+ "example": "Brand",
"type": "string"
},
- "publisher": {
- "description": "Name of the publisher, as SteamSpy lists it.",
+ "store_code": {
+ "example": "1813776918",
"type": "string"
},
- "source": {
- "description": "Name of the data source, always `steamspy`.",
+ "store_logo": {
"type": "string"
},
- "source_url": {
- "description": "URL the data was read from.",
+ "store_name": {
+ "example": "COUREZ",
"type": "string"
- },
- "tags": {
- "additionalProperties": {
- "type": "integer"
- },
- "description": "Map of tag name to the number of votes the tag received.",
- "type": "object"
- },
- "userscore": {
- "description": "User score of the app, as SteamSpy reports it.",
- "type": "integer"
}
},
"type": "object"
},
- "steam.TagEntry": {
+ "shein.TrendCollection": {
"properties": {
- "name": {
+ "tab_id": {
+ "example": "6810",
"type": "string"
},
- "tagid": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "steam.TagsListResponse": {
- "properties": {
- "count": {
- "type": "integer"
- },
- "language": {
+ "tab_name": {
+ "example": "#Elegant Affair Collection",
"type": "string"
},
- "source_url": {
+ "tab_name_en": {
"type": "string"
},
- "tags": {
- "items": {
- "$ref": "#/definitions/steam.TagEntry"
- },
- "type": "array"
+ "tab_type": {
+ "example": "trend",
+ "type": "string"
}
},
"type": "object"
},
- "steam.TopReleasePage": {
+ "shein.TrendFilterCategory": {
"properties": {
- "appids": {
- "items": {
- "type": "integer"
- },
- "type": "array"
- },
- "name": {
+ "cat_id": {
+ "example": "2030",
"type": "string"
},
- "start_of_month_unix": {
- "type": "integer"
- },
- "url_path": {
+ "category_name": {
+ "example": "Women Clothing",
"type": "string"
}
},
"type": "object"
},
- "steam.TopReleasesResponse": {
+ "shein.TrendingCategoriesResponse": {
"properties": {
- "count": {
- "type": "integer"
- },
- "pages": {
+ "categories": {
"items": {
- "$ref": "#/definitions/steam.TopReleasePage"
+ "$ref": "#/definitions/shein.TrendingCategory"
},
"type": "array"
- },
- "source_url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "steam.TopSellerRank": {
- "properties": {
- "appid": {
- "type": "integer"
- },
- "item": {
- "$ref": "#/definitions/steam.CategoryItem"
- },
- "rank": {
- "type": "integer"
}
},
"type": "object"
},
- "steam.TopSellersResponse": {
+ "shein.TrendingCategory": {
"properties": {
- "count": {
- "type": "integer"
+ "cat_id": {
+ "example": "1930",
+ "type": "string"
},
- "country_code": {
+ "category_name": {
+ "example": "Women Denim",
"type": "string"
},
- "ranks": {
- "items": {
- "$ref": "#/definitions/steam.TopSellerRank"
- },
- "type": "array"
+ "goods_id": {
+ "example": "425338947",
+ "type": "string"
},
- "source_url": {
+ "image": {
"type": "string"
},
- "start_date_unix": {
- "type": "integer"
+ "store_code": {
+ "example": "1813776918",
+ "type": "string"
}
},
"type": "object"
},
- "steam.WeightedTag": {
+ "shein.TrendingFiltersResponse": {
"properties": {
- "tagid": {
- "type": "integer"
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/shein.TrendFilterCategory"
+ },
+ "type": "array"
},
- "weight": {
- "type": "integer"
+ "collections": {
+ "items": {
+ "$ref": "#/definitions/shein.TrendCollection"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "steam.achievementsResponseDoc": {
+ "shein.aggregationFiltersResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/steam.AchievementsResponse"
+ "$ref": "#/definitions/shein.AggregationFilters"
},
"msg": {
"example": "OK",
@@ -220283,14 +225611,14 @@
},
"type": "object"
},
- "steam.appResponseDoc": {
+ "shein.autocompleteResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/steam.AppDetails"
+ "$ref": "#/definitions/shein.AutocompleteResponse"
},
"msg": {
"example": "OK",
@@ -220299,14 +225627,14 @@
},
"type": "object"
},
- "steam.categoryBrowseResponseDoc": {
+ "shein.brandsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/steam.CategoryBrowseResponse"
+ "$ref": "#/definitions/shein.BrandsResponse"
},
"msg": {
"example": "OK",
@@ -220315,14 +225643,14 @@
},
"type": "object"
},
- "steam.chartResponseDoc": {
+ "shein.categoriesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/steam.ChartResponse"
+ "$ref": "#/definitions/shein.CategoriesResponse"
},
"msg": {
"example": "OK",
@@ -220331,14 +225659,14 @@
},
"type": "object"
},
- "steam.communityRecommendationsResponseDoc": {
+ "shein.categoryFiltersResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/steam.CommunityRecommendationsResponse"
+ "$ref": "#/definitions/shein.CategoryFiltersResponse"
},
"msg": {
"example": "OK",
@@ -220347,14 +225675,14 @@
},
"type": "object"
},
- "steam.featuredCategoriesResponseDoc": {
+ "shein.categoryGoodsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/steam.FeaturedCategoriesResponse"
+ "$ref": "#/definitions/shein.CategoryGoodsResponse"
},
"msg": {
"example": "OK",
@@ -220363,14 +225691,14 @@
},
"type": "object"
},
- "steam.featuredResponseDoc": {
+ "shein.categoryNavResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/steam.FeaturedResponse"
+ "$ref": "#/definitions/shein.CategoryNavResponse"
},
"msg": {
"example": "OK",
@@ -220379,14 +225707,14 @@
},
"type": "object"
},
- "steam.histogramResponseDoc": {
+ "shein.dealTabsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/steam.ReviewsHistogramResponse"
+ "$ref": "#/definitions/shein.DealTabsResponse"
},
"msg": {
"example": "OK",
@@ -220395,14 +225723,14 @@
},
"type": "object"
},
- "steam.itemsResponseDoc": {
+ "shein.dealsProductsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/steam.ItemsResponse"
+ "$ref": "#/definitions/shein.DealsProductsResponse"
},
"msg": {
"example": "OK",
@@ -220411,14 +225739,14 @@
},
"type": "object"
},
- "steam.newsResponseDoc": {
+ "shein.productDetailResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/steam.NewsResponse"
+ "$ref": "#/definitions/shein.ProductDetail"
},
"msg": {
"example": "OK",
@@ -220427,14 +225755,14 @@
},
"type": "object"
},
- "steam.packageResponseDoc": {
+ "shein.productsSearchResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/steam.PackageDetails"
+ "$ref": "#/definitions/shein.SearchProductsResponse"
},
"msg": {
"example": "OK",
@@ -220443,14 +225771,14 @@
},
"type": "object"
},
- "steam.playersResponseDoc": {
+ "shein.searchKeywordsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/steam.PlayersResponse"
+ "$ref": "#/definitions/shein.SearchKeywordsResponse"
},
"msg": {
"example": "OK",
@@ -220459,14 +225787,14 @@
},
"type": "object"
},
- "steam.reviewsResponseDoc": {
+ "shein.storeProductsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/steam.ReviewsResponse"
+ "$ref": "#/definitions/shein.StoreProductsResponse"
},
"msg": {
"example": "OK",
@@ -220475,14 +225803,14 @@
},
"type": "object"
},
- "steam.searchResponseDoc": {
+ "shein.storeResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/steam.SearchResponse"
+ "$ref": "#/definitions/shein.StoreResponse"
},
"msg": {
"example": "OK",
@@ -220491,14 +225819,14 @@
},
"type": "object"
},
- "steam.searchResultsResponseDoc": {
+ "shein.trendingCategoriesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/steam.SearchResultsResponse"
+ "$ref": "#/definitions/shein.TrendingCategoriesResponse"
},
"msg": {
"example": "OK",
@@ -220507,14 +225835,14 @@
},
"type": "object"
},
- "steam.steamspyResponseDoc": {
+ "shein.trendingFiltersResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/steam.SteamSpyResponse"
+ "$ref": "#/definitions/shein.TrendingFiltersResponse"
},
"msg": {
"example": "OK",
@@ -220523,886 +225851,1197 @@
},
"type": "object"
},
- "steam.tagsListResponseDoc": {
+ "shopapp.AnalysisResponse": {
"properties": {
- "code": {
- "example": 200,
+ "currencies": {
+ "description": "Currency codes found among the sampled products.",
+ "example": [
+ "USD",
+ "GBP"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "discounts": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/shopapp.DiscountSummary"
+ }
+ ],
+ "description": "Discount percentages across sampled products that are on sale and have an original price."
+ },
+ "groups_count": {
+ "description": "Number of product groups Shop.app returned with the results.",
+ "example": 5,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/steam.TagsListResponse"
+ "prices_by_currency": {
+ "description": "Price summary for each currency found among the sampled products.",
+ "items": {
+ "$ref": "#/definitions/shopapp.CurrencyPriceSummary"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "products_count": {
+ "description": "Number of products sampled.",
+ "example": 20,
+ "type": "integer"
+ },
+ "query": {
+ "description": "Search query that was analyzed.",
+ "example": "sneakers",
"type": "string"
- }
- },
- "type": "object"
- },
- "steam.topReleasesResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ },
+ "sale_count": {
+ "description": "Number of sampled products that are on sale.",
+ "example": 6,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/steam.TopReleasesResponse"
+ "sampled_product_ids": {
+ "description": "Product IDs of the first sampled products, up to 10.",
+ "example": [
+ "8075903107261",
+ "7093164834901"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
- "type": "string"
+ "shops_count": {
+ "description": "Number of distinct shops among the sampled products.",
+ "example": 8,
+ "type": "integer"
+ },
+ "top_shops": {
+ "description": "Up to five shops with the most sampled products.",
+ "items": {
+ "$ref": "#/definitions/shopapp.ShopSummary"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "steam.topSellersResponseDoc": {
+ "shopapp.CategoriesResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/steam.TopSellersResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "categories": {
+ "description": "Product categories listed on Shop.app, each with its subcategories.",
+ "items": {
+ "$ref": "#/definitions/shopapp.CategoryItem"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "stockx.AskServiceLevel": {
+ "shopapp.CategoryItem": {
"properties": {
- "count": {
- "example": 1341,
- "type": "integer"
+ "children": {
+ "description": "Subcategories of this category.",
+ "items": {
+ "$ref": "#/definitions/shopapp.CategoryItem"
+ },
+ "type": "array"
},
- "inventory_type": {
- "example": "CUSTODIAL",
+ "gid": {
+ "description": "Shopify global ID of the category.",
+ "example": "gid://shopify/ProductCategory/1?version=13",
"type": "string"
},
- "lowest_ask": {
- "example": 260,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "stockx.Badge": {
- "properties": {
+ "has_children": {
+ "description": "`true` when the category has subcategories.",
+ "type": "boolean"
+ },
"id": {
- "example": "SELLING_FAST",
+ "description": "Numeric category ID taken from the Shopify global ID.",
+ "example": "1",
"type": "string"
},
- "subtitle": {
- "example": "This item sells fast.",
+ "image": {
+ "description": "URL of the category image.",
"type": "string"
},
- "title": {
- "example": "713 Sold in Last 3 Days!",
+ "name": {
+ "description": "Category name, for example `Women`.",
+ "example": "Women",
+ "type": "string"
+ },
+ "path": {
+ "description": "Categories on the path from the top level down to this category.",
+ "items": {
+ "$ref": "#/definitions/shopapp.CategoryPath"
+ },
+ "type": "array"
+ },
+ "slug": {
+ "description": "URL-friendly form of the category name.",
+ "example": "women",
"type": "string"
}
},
"type": "object"
},
- "stockx.Brand": {
+ "shopapp.CategoryPath": {
"properties": {
- "group": {
- "example": "M-O",
+ "gid": {
+ "description": "Shopify global ID of the category on the path.",
+ "example": "gid://shopify/ProductCategory/1?version=13",
"type": "string"
},
- "name": {
- "example": "Nike",
+ "id": {
+ "description": "Numeric ID of the category on the path.",
+ "example": "1",
"type": "string"
},
- "slug": {
- "example": "nike",
+ "name": {
+ "description": "Name of the category on the path.",
+ "example": "Women",
"type": "string"
}
},
"type": "object"
},
- "stockx.BrandsResponse": {
+ "shopapp.CurrencyPriceSummary": {
"properties": {
- "brands": {
- "items": {
- "$ref": "#/definitions/stockx.Brand"
- },
- "type": "array"
+ "average": {
+ "description": "Average price in this currency, rounded to two decimals.",
+ "example": 72.42,
+ "type": "number"
},
- "total_count": {
- "example": 396,
+ "count": {
+ "description": "Number of sampled products priced in this currency.",
+ "example": 12,
"type": "integer"
+ },
+ "currency": {
+ "description": "Currency code of the prices.",
+ "example": "USD",
+ "type": "string"
+ },
+ "max": {
+ "description": "Highest price in this currency.",
+ "example": 149.99,
+ "type": "number"
+ },
+ "min": {
+ "description": "Lowest price in this currency.",
+ "example": 35.9,
+ "type": "number"
}
},
"type": "object"
},
- "stockx.CategoriesResponse": {
+ "shopapp.DiscountSummary": {
"properties": {
- "categories": {
- "items": {
- "$ref": "#/definitions/stockx.Category"
- },
- "type": "array"
+ "average_percent": {
+ "description": "Average discount across on-sale products, as a percentage of the original price.",
+ "example": 24.6,
+ "type": "number"
+ },
+ "max_percent": {
+ "description": "Largest discount among on-sale products, as a percentage of the original price.",
+ "example": 60,
+ "type": "number"
+ },
+ "min_percent": {
+ "description": "Smallest discount among on-sale products, as a percentage of the original price.",
+ "example": 10,
+ "type": "number"
}
},
"type": "object"
},
- "stockx.Category": {
+ "shopapp.ImageItem": {
"properties": {
- "name": {
- "example": "Shoes",
+ "alt": {
+ "description": "Alt text of the image.",
+ "example": "Product image",
"type": "string"
},
- "slug": {
- "example": "shoes",
+ "url": {
+ "description": "URL of the image.",
+ "example": "https://cdn.shopify.com/example.jpg",
"type": "string"
- },
- "subcategories": {
- "items": {
- "$ref": "#/definitions/stockx.Subcategory"
- },
- "type": "array"
}
},
"type": "object"
},
- "stockx.Listing": {
+ "shopapp.LocationAddress": {
"properties": {
- "condition": {
- "example": "New - Other",
+ "address1": {
+ "description": "First line of the street address.",
+ "example": "175b Mott Street",
"type": "string"
},
- "condition_alias": {
- "example": "new-other",
+ "address2": {
+ "description": "Second line of the street address.",
"type": "string"
},
- "condition_description": {
- "example": "Replacement box",
+ "city": {
+ "description": "City of the address.",
+ "example": "New York",
"type": "string"
},
- "image_url": {
+ "country": {
+ "description": "Country of the address, for example `US`.",
+ "example": "US",
"type": "string"
},
- "price": {
- "example": 250,
- "type": "integer"
- },
- "size": {
- "example": "12",
+ "postal_code": {
+ "description": "Postal code of the address.",
+ "example": "10012",
"type": "string"
},
- "size_descriptor": {
- "example": "Size",
+ "zone_code": {
+ "description": "State or region code of the address, for example `NY`.",
+ "example": "NY",
"type": "string"
}
},
"type": "object"
},
- "stockx.MarketData": {
+ "shopapp.OptionGroup": {
"properties": {
- "annual_average_price": {
- "example": 253,
- "type": "integer"
- },
- "annual_sales_count": {
- "example": 12394,
- "type": "integer"
+ "name": {
+ "description": "Option name, for example `Size`.",
+ "example": "Size",
+ "type": "string"
},
- "ask_service_levels": {
- "additionalProperties": {
- "$ref": "#/definitions/stockx.AskServiceLevel"
+ "values": {
+ "description": "Values available for the option.",
+ "items": {
+ "type": "string"
},
- "type": "object"
- },
- "highest_bid": {
- "example": 315,
- "type": "integer"
- },
- "last_90_days_average_price": {
- "example": 253,
- "type": "integer"
- },
- "last_90_days_sales_count": {
- "example": 12394,
- "type": "integer"
- },
- "last_sale": {
- "example": 271,
- "type": "integer"
- },
- "lowest_ask": {
- "example": 260,
- "type": "integer"
- },
- "number_of_asks": {
- "example": 1341,
- "type": "integer"
- },
- "number_of_bids": {
- "example": 334,
- "type": "integer"
- },
- "sales_last_72_hours": {
- "example": 713,
- "type": "integer"
+ "type": "array"
}
},
"type": "object"
},
- "stockx.ProductDetail": {
+ "shopapp.ProductDetail": {
"properties": {
- "badges": {
- "items": {
- "$ref": "#/definitions/stockx.Badge"
- },
- "type": "array"
- },
- "brand": {
- "example": "Jordan",
- "type": "string"
+ "available": {
+ "description": "`true` when the selected variant is available for sale.",
+ "type": "boolean"
},
- "colorway": {
- "example": "Black/University Blue/White",
+ "currency": {
+ "description": "Currency code of `price` and `original_price`.",
+ "example": "HKD",
"type": "string"
},
"description": {
+ "description": "Product description text.",
"type": "string"
},
- "gender": {
- "example": "men",
+ "external_url": {
+ "description": "URL of the product on the seller's own online store.",
"type": "string"
},
"id": {
- "example": "019ac251-3a0d-7243-bb16-5128353be8bf",
- "type": "string"
- },
- "image_url": {
+ "description": "Shop.app product ID.",
+ "example": "4596217053229",
"type": "string"
},
- "listings": {
+ "images": {
+ "description": "Images of the product.",
"items": {
- "$ref": "#/definitions/stockx.Listing"
+ "$ref": "#/definitions/shopapp.ImageItem"
},
"type": "array"
},
- "market": {
- "$ref": "#/definitions/stockx.MarketData"
- },
- "model": {
- "example": "Jordan 5 Retro",
- "type": "string"
+ "option_groups": {
+ "description": "Option choices of the product, such as size or colour, with their values.",
+ "items": {
+ "$ref": "#/definitions/shopapp.OptionGroup"
+ },
+ "type": "array"
},
- "primary_category": {
- "example": "Air Jordan",
- "type": "string"
+ "original_price": {
+ "description": "Price before the discount, in `currency`.",
+ "example": 1166,
+ "type": "number"
},
- "primary_title": {
- "example": "Jordan 5 Retro",
- "type": "string"
+ "price": {
+ "description": "Current price of the selected variant, in `currency`.",
+ "example": 1076,
+ "type": "number"
},
- "product_category": {
- "example": "sneakers",
- "type": "string"
+ "rating": {
+ "description": "Average shopper rating of the product.",
+ "example": 4.4,
+ "type": "number"
},
"related_products": {
+ "description": "Products Shop.app shows as related to this one.",
"items": {
- "$ref": "#/definitions/stockx.ProductSummary"
+ "$ref": "#/definitions/shopapp.ProductItem"
},
"type": "array"
},
- "release_date": {
- "example": "2026-06-20",
- "type": "string"
+ "reviews": {
+ "description": "Shopper reviews shown on the product page.",
+ "items": {
+ "$ref": "#/definitions/shopapp.ReviewItem"
+ },
+ "type": "array"
},
- "retail_price": {
- "example": "220",
+ "reviews_count": {
+ "description": "Number of shopper reviews of the product.",
+ "example": 22,
+ "type": "integer"
+ },
+ "shop_handle": {
+ "description": "Shop.app handle of the shop selling the product.",
+ "example": "n1r478fp0h",
"type": "string"
},
- "secondary_title": {
- "example": "Black University Blue (2026)",
+ "shop_id": {
+ "description": "Shop.app ID of the shop selling the product.",
"type": "string"
},
- "source_url": {
- "example": "https://stockx.com/air-jordan-5-retro-black-university-blue-2026",
+ "shop_name": {
+ "description": "Name of the shop selling the product.",
+ "example": "Wide Fit Shoes UK",
"type": "string"
},
- "style_id": {
- "example": "DD0587-008",
+ "slug": {
+ "description": "URL slug of the product.",
+ "example": "mens-wide-fit-new-balance-624v5-black-trainers-abzorb",
"type": "string"
},
"title": {
- "example": "Jordan 5 Retro Black University Blue (2026)",
+ "description": "Product title as shown on the product page.",
+ "example": "Mens Wide Fit New Balance 624V5 Black Trainers ABZORB",
"type": "string"
},
- "traits": {
- "items": {
- "$ref": "#/definitions/stockx.ProductTrait"
- },
- "type": "array"
+ "url": {
+ "description": "Shop.app page URL of the product.",
+ "type": "string"
},
- "url_key": {
- "example": "air-jordan-5-retro-black-university-blue-2026",
+ "variant_id": {
+ "description": "ID of the selected variant.",
+ "example": "34761278160941",
"type": "string"
}
},
"type": "object"
},
- "stockx.ProductSummary": {
+ "shopapp.ProductDetailResponse": {
"properties": {
- "brand": {
- "example": "Jordan",
+ "product": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/shopapp.ProductDetail"
+ }
+ ],
+ "description": "Details of the product."
+ }
+ },
+ "type": "object"
+ },
+ "shopapp.ProductItem": {
+ "properties": {
+ "currency": {
+ "description": "Currency code of `price` and `original_price`.",
+ "example": "USD",
"type": "string"
},
- "gender": {
- "example": "men",
+ "group_query": {
+ "description": "Search query of the product group this item belongs to.",
+ "example": "kids' athletic sneakers",
"type": "string"
},
- "highest_bid": {
- "example": 267,
- "type": "integer"
+ "group_title": {
+ "description": "Title of the product group this item belongs to.",
+ "example": "kids' athletic sneakers",
+ "type": "string"
},
"id": {
- "example": "9acafeb5-bc4a-4d66-bc3a-4899d2e64775",
+ "description": "Shop.app product ID.",
+ "example": "8075903107261",
"type": "string"
},
- "image_url": {
+ "image": {
+ "description": "URL of the product's first image.",
+ "example": "https://cdn.shopify.com/s/files/1/1145/5784/files/example.jpg",
"type": "string"
},
- "last_sale": {
- "example": 176,
- "type": "integer"
+ "image_alt": {
+ "description": "Alt text of the product's first image.",
+ "example": "Black sneaker side view",
+ "type": "string"
},
- "lowest_ask": {
- "example": 173,
+ "on_sale": {
+ "description": "`true` when the original price is higher than the current price.",
+ "type": "boolean"
+ },
+ "original_price": {
+ "description": "Price before the discount, in `currency`.",
+ "example": 120,
+ "type": "number"
+ },
+ "position": {
+ "description": "Position of the product in the results, starting at 1.",
+ "example": 1,
"type": "integer"
},
- "model": {
- "example": "Jordan 4 Retro",
- "type": "string"
+ "price": {
+ "description": "Current price of the product, in `currency`.",
+ "example": 100,
+ "type": "number"
},
- "product_category": {
- "example": "sneakers",
+ "shop_id": {
+ "description": "Shop.app ID of the shop selling the product.",
+ "example": "62696",
"type": "string"
},
- "release_date": {
- "example": "2026-08-05",
+ "shop_name": {
+ "description": "Name of the shop selling the product.",
+ "example": "BILLY Footwear",
"type": "string"
},
"title": {
- "example": "Jordan 4 Retro Toro Bravo (2026)",
+ "description": "Product title as shown on the Shop.app card.",
+ "example": "Black/Black/Gum BILLY Sport Inclusion DZ1",
"type": "string"
},
- "url_key": {
- "example": "air-jordan-4-retro-toro-bravo-2026",
+ "url": {
+ "description": "Link to the product page.",
+ "example": "https://billyfootwear.com/products/black-black-gum-billy-sport-inclusion-dz1-zipper-shoes?utm_source=shop_app",
+ "type": "string"
+ },
+ "variant_id": {
+ "description": "ID of the product variant shown on the card.",
+ "example": "46242960965821",
"type": "string"
}
},
"type": "object"
},
- "stockx.ProductTrait": {
+ "shopapp.ProductShopResponse": {
"properties": {
- "format": {
- "example": "currency",
- "type": "string"
- },
- "name": {
- "example": "Style",
+ "product_id": {
+ "description": "Shop.app ID of the product.",
+ "example": "4596217053229",
"type": "string"
},
- "value": {
- "example": "DD0587-008",
- "type": "string"
+ "shop": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/shopapp.ShopDetail"
+ }
+ ],
+ "description": "Shop that sells the product."
}
},
"type": "object"
},
- "stockx.ReleaseCalendarResponse": {
+ "shopapp.ProductVariantResponse": {
"properties": {
- "from": {
- "example": "2026-08-04",
+ "product_id": {
+ "description": "Shop.app ID of the product.",
+ "example": "4596217053229",
"type": "string"
},
+ "variant": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/shopapp.VariantItem"
+ }
+ ],
+ "description": "Variant that matches the selected options."
+ }
+ },
+ "type": "object"
+ },
+ "shopapp.RelatedResponse": {
+ "properties": {
"limit": {
+ "description": "Maximum number of related products requested.",
"example": 20,
"type": "integer"
},
- "page": {
- "example": 1,
- "type": "integer"
+ "product_id": {
+ "description": "Shop.app ID of the product the results relate to.",
+ "example": "4596217053229",
+ "type": "string"
},
- "releases": {
+ "products": {
+ "description": "Products related to the requested product.",
"items": {
- "$ref": "#/definitions/stockx.ProductSummary"
+ "$ref": "#/definitions/shopapp.ProductItem"
},
"type": "array"
- },
- "total_count": {
- "example": 469,
- "type": "integer"
}
},
"type": "object"
},
- "stockx.SearchResponse": {
+ "shopapp.ReviewItem": {
"properties": {
- "category": {
- "example": "sneakers",
+ "author": {
+ "description": "Name of the reviewer.",
+ "example": "Donal",
"type": "string"
},
- "limit": {
- "example": 20,
- "type": "integer"
+ "body": {
+ "description": "Text of the review.",
+ "example": "Perfect fit.",
+ "type": "string"
},
- "page": {
- "example": 1,
- "type": "integer"
+ "date": {
+ "description": "Date of the review, either an ISO 8601 timestamp such as `2026-01-01T00:00:00Z` or text such as `December 6, 2025`.",
+ "example": "December 6, 2025",
+ "type": "string"
},
- "products": {
- "items": {
- "$ref": "#/definitions/stockx.ProductSummary"
- },
- "type": "array"
+ "helpful_count": {
+ "description": "Number of shoppers who found the review helpful.",
+ "type": "integer"
},
- "query": {
- "example": "jordan 5",
+ "id": {
+ "description": "Shop.app review ID.",
"type": "string"
},
- "sort": {
- "example": "featured",
+ "product": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/shopapp.ReviewProduct"
+ }
+ ],
+ "description": "Product the review is for."
+ },
+ "rating": {
+ "description": "Rating the reviewer gave.",
+ "example": 5,
+ "type": "number"
+ },
+ "title": {
+ "description": "Headline of the review.",
"type": "string"
},
- "total_count": {
- "example": 1000,
- "type": "integer"
+ "variant_label": {
+ "description": "Label of the product variant that was reviewed, for example `Black / 12.5 / 4E`.",
+ "example": "Black / 12.5 / 4E",
+ "type": "string"
}
},
"type": "object"
},
- "stockx.Subcategory": {
+ "shopapp.ReviewProduct": {
"properties": {
- "name": {
- "example": "Boots",
+ "id": {
+ "description": "Shop.app ID of the reviewed product.",
+ "example": "8114373328975",
"type": "string"
},
- "slug": {
- "example": "boots",
+ "image": {
+ "description": "URL of the product image.",
"type": "string"
- }
- },
- "type": "object"
- },
- "stockx.brandsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/stockx.BrandsResponse"
+ "image_alt": {
+ "description": "Alt text of the product image.",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "slug": {
+ "description": "URL slug of the reviewed product.",
+ "example": "solana-brown-woven-leather-backstrap-clogs",
"type": "string"
- }
- },
- "type": "object"
- },
- "stockx.categoriesResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/stockx.CategoriesResponse"
+ "title": {
+ "description": "Title of the reviewed product.",
+ "example": "Solana Brown Woven Leather Backstrap Clogs",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "url": {
+ "description": "Shop.app page URL of the reviewed product.",
+ "type": "string"
+ },
+ "variant": {
+ "description": "Variant of the product that was reviewed, for example `7 / Brown Woven / Leather`.",
+ "example": "7 / Brown Woven / Leather",
"type": "string"
}
},
"type": "object"
},
- "stockx.productResponseDoc": {
+ "shopapp.ReviewsResponse": {
"properties": {
- "code": {
- "example": 200,
+ "limit": {
+ "description": "Maximum number of reviews requested.",
+ "example": 20,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/stockx.ProductDetail"
- },
- "msg": {
- "example": "OK",
+ "product_id": {
+ "description": "Shop.app ID of the reviewed product.",
+ "example": "4596217053229",
"type": "string"
+ },
+ "reviews": {
+ "description": "Shopper reviews of the product.",
+ "items": {
+ "$ref": "#/definitions/shopapp.ReviewItem"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "stockx.releasesResponseDoc": {
+ "shopapp.SearchGroup": {
"properties": {
- "code": {
- "example": 200,
+ "product_ids": {
+ "description": "IDs of the products in the group.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "products_seen": {
+ "description": "Number of products seen in the group.",
+ "example": 4,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/stockx.ReleaseCalendarResponse"
+ "query": {
+ "description": "Search query that defines the group.",
+ "example": "men's running sneakers",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "title": {
+ "description": "Group heading, for example `men's running sneakers`.",
+ "example": "men's running sneakers",
"type": "string"
}
},
"type": "object"
},
- "stockx.searchResponseDoc": {
+ "shopapp.SearchResponse": {
"properties": {
- "code": {
- "example": 200,
+ "groups": {
+ "description": "Groups of related products. Returned only when Shop.app supplies them.",
+ "items": {
+ "$ref": "#/definitions/shopapp.SearchGroup"
+ },
+ "type": "array"
+ },
+ "limit": {
+ "description": "Maximum number of products requested.",
+ "example": 20,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/stockx.SearchResponse"
+ "products": {
+ "description": "Products matching the query, in Shop.app ranking order.",
+ "items": {
+ "$ref": "#/definitions/shopapp.ProductItem"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "query": {
+ "description": "Search query that was run.",
+ "example": "sneakers",
"type": "string"
}
},
"type": "object"
},
- "straitstimes.AuthorResponse": {
+ "shopapp.ShopCollection": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/newsplatform.HeadlineItem"
- },
- "type": "array"
+ "id": {
+ "description": "Shop.app collection ID.",
+ "example": "292518002767",
+ "type": "string"
},
- "email": {
+ "slug": {
+ "description": "URL slug of the collection.",
+ "example": "mens-dress-shoes",
"type": "string"
},
- "name": {
+ "title": {
+ "description": "Collection title, for example `Mens Dress Shoes`.",
+ "example": "Mens Dress Shoes",
"type": "string"
},
"url": {
+ "description": "Shop.app page URL of the collection.",
"type": "string"
}
},
"type": "object"
},
- "strava.Challenge": {
+ "shopapp.ShopDetail": {
"properties": {
- "cover_image_url": {
- "example": "https://dgalywyr863hv.cloudfront.net/challenges/6162/6162-cover.png",
+ "banner": {
+ "description": "URL of the shop's banner image.",
"type": "string"
},
- "dimension": {
- "example": "avg_pace_min_distance",
+ "collections": {
+ "description": "Collections found on the shop's page.",
+ "items": {
+ "$ref": "#/definitions/shopapp.ShopCollection"
+ },
+ "type": "array"
+ },
+ "description": {
+ "description": "Description of the shop.",
"type": "string"
},
- "duration": {
- "example": "Aug 1, 2026 to Aug 31, 2026",
+ "handle": {
+ "description": "Shop.app handle of the shop, as used in its page URL.",
+ "example": "marcnolan",
"type": "string"
},
- "goal": {
- "example": 10000,
- "type": "number"
+ "id": {
+ "description": "Shop.app shop ID.",
+ "example": "186720",
+ "type": "string"
},
- "goal_description": {
- "example": "Complete a 10 km (6.2 mi) run.",
+ "logo": {
+ "description": "URL of the shop's logo.",
"type": "string"
},
- "icon": {
- "example": "run",
+ "name": {
+ "description": "Name of the shop.",
+ "example": "Marc Nolan",
"type": "string"
},
- "id": {
- "example": 6162,
+ "rating": {
+ "description": "Average shopper rating of the shop.",
+ "example": 4.7,
+ "type": "number"
+ },
+ "reviews_count": {
+ "description": "Number of shopper ratings or reviews of the shop.",
+ "example": 19699,
"type": "integer"
},
- "logo_image_url": {
- "example": "https://dgalywyr863hv.cloudfront.net/challenges/6162/6162-logo.png",
+ "shopify_id": {
+ "description": "Shopify ID of the shop.",
"type": "string"
},
- "name": {
- "example": "August 10K Challenge",
+ "storefront": {
+ "description": "URL of the shop's own website.",
"type": "string"
},
- "sponsored": {
- "example": false,
- "type": "boolean"
- },
"url": {
- "example": "https://www.strava.com/challenges/August-10K-challenge-2026",
+ "description": "Shop.app page URL of the shop.",
+ "type": "string"
+ },
+ "uuid": {
+ "description": "UUID of the shop.",
"type": "string"
}
},
"type": "object"
},
- "strava.ChallengeSection": {
+ "shopapp.ShopLocationItem": {
"properties": {
- "category": {
- "example": "run",
+ "address": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/shopapp.LocationAddress"
+ }
+ ],
+ "description": "Street address of the location."
+ },
+ "id": {
+ "description": "Shopify location ID, for example `gid://shopify/Location/78620459087`.",
+ "example": "gid://shopify/Location/78620459087",
"type": "string"
},
- "challenges": {
- "items": {
- "$ref": "#/definitions/strava.Challenge"
- },
- "type": "array"
+ "latitude": {
+ "description": "Latitude of the location, in degrees.",
+ "example": 40.7205232,
+ "type": "number"
},
- "title": {
- "example": "Run Challenges",
+ "longitude": {
+ "description": "Longitude of the location, in degrees.",
+ "example": -73.9961032,
+ "type": "number"
+ },
+ "name": {
+ "description": "Name of the location, for example `NYC`.",
+ "example": "NYC",
"type": "string"
}
},
"type": "object"
},
- "strava.ChallengesResponse": {
+ "shopapp.ShopLocationsResponse": {
"properties": {
- "fetched_at": {
- "example": "2026-08-07T12:00:00Z",
- "type": "string"
- },
- "promoted_challenge": {
- "$ref": "#/definitions/strava.Challenge"
+ "limit": {
+ "description": "Maximum number of locations requested.",
+ "example": 10,
+ "type": "integer"
},
- "sections": {
+ "locations": {
+ "description": "Retail locations of the shop.",
"items": {
- "$ref": "#/definitions/strava.ChallengeSection"
+ "$ref": "#/definitions/shopapp.ShopLocationItem"
},
"type": "array"
},
- "source_url": {
- "example": "https://www.strava.com/challenges",
+ "next_cursor": {
+ "description": "Cursor Shop.app returns for the next page of locations.",
+ "type": "string"
+ },
+ "shop_handle": {
+ "description": "Shop.app handle of the shop.",
+ "example": "marcnolan",
+ "type": "string"
+ },
+ "shop_id": {
+ "description": "Shop.app ID of the shop.",
+ "example": "186720",
"type": "string"
+ },
+ "total_count": {
+ "description": "Total number of locations the shop has.",
+ "example": 2,
+ "type": "integer"
}
},
"type": "object"
},
- "strava.ClubResponse": {
+ "shopapp.ShopProductsResponse": {
"properties": {
- "avatar_image_url": {
- "example": "https://dgalywyr863hv.cloudfront.net/pictures/clubs/521703/11986503/2/large.jpg",
- "type": "string"
+ "collection": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/shopapp.ShopCollection"
+ }
+ ],
+ "description": "Collection the products were filtered by."
},
- "country_code": {
- "example": "us",
+ "collection_id": {
+ "description": "ID of the collection the products were filtered by.",
+ "example": "292518002767",
"type": "string"
},
- "cover_image_url": {
- "example": "https://dgalywyr863hv.cloudfront.net/pictures/clubs/521703/11986498/3/large.jpg",
- "type": "string"
+ "limit": {
+ "description": "Maximum number of products requested.",
+ "example": 30,
+ "type": "integer"
},
- "description": {
- "example": "Founded in 2019 Women of OZ NWA is an inclusive, non-profit organization...",
+ "next_cursor": {
+ "description": "Cursor Shop.app returns for the next page of products.",
"type": "string"
},
- "fetched_at": {
- "example": "2026-08-07T12:00:00Z",
- "type": "string"
+ "products": {
+ "description": "Products of the shop.",
+ "items": {
+ "$ref": "#/definitions/shopapp.ProductItem"
+ },
+ "type": "array"
},
- "id": {
- "example": "521703",
+ "shop_handle": {
+ "description": "Shop.app handle of the shop.",
+ "example": "marcnolan",
"type": "string"
},
- "location": {
- "example": "Bentonville, Arkansas",
+ "sort_by": {
+ "description": "Sort order applied: `MOST_SALES`, `PRICE_LOW_TO_HIGH`, `PRICE_HIGH_TO_LOW` or `RELEVANCE`.",
+ "example": "MOST_SALES",
"type": "string"
- },
- "member_count": {
- "example": 937,
+ }
+ },
+ "type": "object"
+ },
+ "shopapp.ShopResponse": {
+ "properties": {
+ "shop": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/shopapp.ShopDetail"
+ }
+ ],
+ "description": "Details of the shop."
+ }
+ },
+ "type": "object"
+ },
+ "shopapp.ShopReviewsResponse": {
+ "properties": {
+ "limit": {
+ "description": "Maximum number of reviews requested.",
+ "example": 20,
"type": "integer"
},
- "name": {
- "example": "Women of OZ NWA",
+ "next_cursor": {
+ "description": "Cursor Shop.app returns for the next page of reviews.",
"type": "string"
},
- "private": {
- "example": true,
- "type": "boolean"
+ "reviews": {
+ "description": "Shopper reviews of the shop.",
+ "items": {
+ "$ref": "#/definitions/shopapp.ReviewItem"
+ },
+ "type": "array"
},
- "source_url": {
- "example": "https://www.strava.com/clubs/521703",
+ "shop_handle": {
+ "description": "Shop.app handle of the shop.",
+ "example": "marcnolan",
"type": "string"
},
- "url": {
- "example": "https://www.strava.com/clubs/521703",
+ "shop_id": {
+ "description": "Shop.app ID of the shop.",
+ "example": "186720",
"type": "string"
},
- "verified": {
- "example": false,
- "type": "boolean"
+ "total_count": {
+ "description": "Total number of reviews the shop has.",
+ "example": 15015,
+ "type": "integer"
}
},
"type": "object"
},
- "strava.RouteCard": {
+ "shopapp.ShopSummary": {
"properties": {
- "description": {
- "description": "Short description of the route.",
- "example": "The Mallory Cave hike takes you to the mouth of a beautiful cave...",
- "type": "string"
+ "count": {
+ "description": "Number of sampled products from this shop.",
+ "example": 4,
+ "type": "integer"
},
- "difficulty": {
- "description": "Difficulty label Strava shows for the route, such as `Easy`.",
- "example": "Easy",
+ "shop_id": {
+ "description": "Shop.app ID of the shop.",
+ "example": "3961166",
"type": "string"
},
- "distance_raw": {
- "description": "Route distance as Strava displays it, with its unit, such as `1.46 mi`.",
- "example": "1.46 mi",
+ "shop_name": {
+ "description": "Name of the shop.",
+ "example": "Start Fitness",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "shopapp.ShopTypeaheadItem": {
+ "properties": {
+ "collection": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/shopapp.ShopCollection"
+ }
+ ],
+ "description": "Suggested collection. Set when `type` is `collection`."
},
- "elevation_gain_raw": {
- "description": "Elevation gain as Strava displays it, with its unit, such as `345 ft`.",
- "example": "345 ft",
+ "id": {
+ "description": "ID of the suggested product, collection or term.",
+ "example": "7438827651151",
"type": "string"
},
- "image_url": {
- "description": "URL of the route's image.",
- "example": "https://dgtzuqphqg23d.cloudfront.net/8UruePMrrrQMdHGsELroGsOsTMWqh030g7159PMSue4-768x576.jpg",
- "type": "string"
+ "position": {
+ "description": "Position of the suggestion in the list, starting at 1.",
+ "example": 1,
+ "type": "integer"
},
- "name": {
- "description": "Name of the route as Strava shows it.",
- "example": "Mallory Cave via N.C.A.R. Trail",
- "type": "string"
+ "product": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/shopapp.ProductItem"
+ }
+ ],
+ "description": "Suggested product. Set when `type` is `product`."
},
- "path": {
- "description": "Route path on Strava. Pass it to the route detail endpoint.",
- "example": "hiking/usa/colorado/boulder/mallory-cave_5171952737974445730",
+ "text": {
+ "description": "Text of the suggestion, such as a term or product title.",
+ "example": "loafer",
"type": "string"
},
- "rank": {
- "description": "Position of the route in the listing.",
- "example": 1,
- "type": "integer"
+ "type": {
+ "description": "Kind of suggestion: `product`, `collection` or `term`.",
+ "example": "product",
+ "type": "string"
},
"url": {
- "description": "URL of the route page on Strava.",
- "example": "https://www.strava.com/routes/hiking/usa/colorado/boulder/mallory-cave_5171952737974445730",
+ "description": "Shop.app URL of the suggested product or collection.",
"type": "string"
}
},
"type": "object"
},
- "strava.RouteDetailResponse": {
+ "shopapp.ShopTypeaheadResponse": {
"properties": {
- "difficulty": {
- "example": "Easy",
+ "limit": {
+ "description": "Maximum number of suggestions requested.",
+ "example": 20,
+ "type": "integer"
+ },
+ "query": {
+ "description": "Text that was searched for within the shop.",
+ "example": "loafer",
"type": "string"
},
- "distance_raw": {
- "example": "1.46 mi",
+ "shop_handle": {
+ "description": "Shop.app handle of the shop.",
+ "example": "marcnolan",
"type": "string"
},
- "elevation_gain_raw": {
- "example": "345 ft",
+ "shop_id": {
+ "description": "Shop.app ID of the shop.",
+ "example": "186720",
"type": "string"
},
- "estimated_time_raw": {
- "example": "33:48",
+ "suggestions": {
+ "description": "Typeahead suggestions from the shop.",
+ "items": {
+ "$ref": "#/definitions/shopapp.ShopTypeaheadItem"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "shopapp.SuggestResponse": {
+ "properties": {
+ "limit": {
+ "description": "Maximum number of suggestions requested.",
+ "example": 10,
+ "type": "integer"
+ },
+ "query": {
+ "description": "Partial search text that suggestions were requested for.",
+ "example": "sneakers",
"type": "string"
},
- "fetched_at": {
- "example": "2026-08-07T12:00:00Z",
+ "suggestions": {
+ "description": "Search suggestions returned for the text.",
+ "items": {
+ "$ref": "#/definitions/shopapp.SuggestionItem"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "shopapp.SuggestionItem": {
+ "properties": {
+ "image": {
+ "description": "URL of the shop logo. Set for `shop` suggestions.",
"type": "string"
},
- "name": {
- "example": "Mallory Cave via N.C.A.R. Trail",
+ "rating": {
+ "description": "Average shopper rating of the shop. Set for `shop` suggestions.",
+ "example": 4.79,
+ "type": "number"
+ },
+ "shop_handle": {
+ "description": "Shop.app handle of the shop. Set for `shop` suggestions.",
+ "example": "gr21z45he0",
"type": "string"
},
- "path": {
- "example": "hiking/usa/colorado/boulder/mallory-cave_5171952737974445730",
+ "shop_id": {
+ "description": "Shop.app ID of the shop. Set for `shop` suggestions.",
+ "example": "365323",
"type": "string"
},
- "route_type": {
- "example": "Hiking Trail",
+ "shop_name": {
+ "description": "Name of the shop. Set for `shop` suggestions.",
+ "example": "Sneakers Plus",
"type": "string"
},
- "source_url": {
- "example": "https://www.strava.com/routes/hiking/usa/colorado/boulder/mallory-cave_5171952737974445730",
+ "text": {
+ "description": "Suggested search text or shop name.",
+ "example": "sneakers",
"type": "string"
},
- "summary": {
- "example": "The Mallory Cave hike takes you to the mouth of a beautiful cave...",
+ "type": {
+ "description": "Kind of suggestion: `query` or `shop`.",
+ "example": "query",
"type": "string"
},
"url": {
- "example": "https://www.strava.com/routes/hiking/usa/colorado/boulder/mallory-cave_5171952737974445730",
+ "description": "Shop.app URL of the search results or shop page for the suggestion.",
+ "example": "https://shop.app/search/results?query=sneakers",
"type": "string"
}
},
"type": "object"
},
- "strava.RoutesResponse": {
+ "shopapp.VariantItem": {
"properties": {
- "country": {
- "description": "Country slug that was requested, such as `usa`.",
- "example": "usa",
- "type": "string"
+ "available_for_sale": {
+ "description": "`true` when the variant can be bought.",
+ "type": "boolean"
},
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-08-07T12:00:00Z",
+ "currency": {
+ "description": "Currency code of `price` and `original_price`.",
"type": "string"
},
- "page": {
- "description": "Page number returned, starting at 1.",
- "example": 1,
- "type": "integer"
+ "gid": {
+ "description": "Shopify global ID of the variant.",
+ "example": "gid://shopify/ProductVariant/34761278160941",
+ "type": "string"
},
- "region": {
- "description": "Region slug that was requested, such as `colorado`.",
- "example": "colorado",
+ "id": {
+ "description": "Shop.app variant ID.",
+ "example": "34761278160941",
"type": "string"
},
- "routes": {
- "description": "Routes listed on this page.",
- "items": {
- "$ref": "#/definitions/strava.RouteCard"
+ "image": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/shopapp.ImageItem"
+ }
+ ],
+ "description": "Image of the variant."
+ },
+ "options": {
+ "additionalProperties": {
+ "type": "string"
},
- "type": "array"
+ "description": "Option values of the variant keyed by option name, for example `Size`.",
+ "type": "object"
},
- "source_url": {
- "description": "URL the data was read from.",
- "example": "https://www.strava.com/routes/hiking/usa/colorado?page=1",
- "type": "string"
+ "original_price": {
+ "description": "Price before the discount, in `currency`.",
+ "type": "number"
},
- "sport": {
- "description": "Sport the routes are for, such as `hiking`.",
- "example": "hiking",
- "type": "string"
+ "price": {
+ "description": "Current price of the variant, in `currency`.",
+ "type": "number"
+ },
+ "requires_shipping": {
+ "description": "`true` when the variant has to be shipped.",
+ "type": "boolean"
},
"title": {
- "description": "Title of the Strava route listing page.",
- "example": "The Best Hiking Trails in Colorado",
+ "description": "Variant title, for example `Black / 7 / 6E`.",
+ "example": "Black / 7 / 6E",
"type": "string"
- },
- "total_pages": {
- "description": "Total number of pages in the route listing.",
- "example": 16,
+ }
+ },
+ "type": "object"
+ },
+ "shopapp.VariantsResponse": {
+ "properties": {
+ "limit": {
+ "description": "Maximum number of variants requested.",
+ "example": 50,
"type": "integer"
},
- "total_results": {
- "description": "Total number of routes in the listing.",
- "example": 318,
- "type": "integer"
+ "product_id": {
+ "description": "Shop.app ID of the product.",
+ "example": "4596217053229",
+ "type": "string"
+ },
+ "variants": {
+ "description": "Variants of the product.",
+ "items": {
+ "$ref": "#/definitions/shopapp.VariantItem"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "strava.challengesResponseDoc": {
+ "shopapp.analysisResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/strava.ChallengesResponse"
+ "$ref": "#/definitions/shopapp.AnalysisResponse"
},
"msg": {
"example": "OK",
@@ -221411,14 +227050,14 @@
},
"type": "object"
},
- "strava.clubResponseDoc": {
+ "shopapp.categoriesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/strava.ClubResponse"
+ "$ref": "#/definitions/shopapp.CategoriesResponse"
},
"msg": {
"example": "OK",
@@ -221427,14 +227066,14 @@
},
"type": "object"
},
- "strava.routeDetailResponseDoc": {
+ "shopapp.productResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/strava.RouteDetailResponse"
+ "$ref": "#/definitions/shopapp.ProductDetailResponse"
},
"msg": {
"example": "OK",
@@ -221443,14 +227082,14 @@
},
"type": "object"
},
- "strava.routesResponseDoc": {
+ "shopapp.productShopResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/strava.RoutesResponse"
+ "$ref": "#/definitions/shopapp.ProductShopResponse"
},
"msg": {
"example": "OK",
@@ -221459,1589 +227098,1214 @@
},
"type": "object"
},
- "streeteasy.Area": {
+ "shopapp.productVariantResponseDoc": {
"properties": {
- "id": {
- "type": "integer"
- },
- "level": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "name": {
- "type": "string"
- },
- "parentId": {
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/shopapp.ProductVariantResponse"
},
- "short": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "streeteasy.BuildingAmenityGroup": {
+ "shopapp.relatedResponseDoc": {
"properties": {
- "items": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "name": {
+ "data": {
+ "$ref": "#/definitions/shopapp.RelatedResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "streeteasy.BuildingDetails": {
+ "shopapp.reviewsResponseDoc": {
"properties": {
- "address": {
- "type": "string"
- },
- "amenities": {
- "items": {
- "$ref": "#/definitions/streeteasy.BuildingAmenityGroup"
- },
- "type": "array"
- },
- "available_rental_count": {
- "type": "integer"
- },
- "available_rental_listings": {
- "items": {
- "$ref": "#/definitions/streeteasy.BuildingListing"
- },
- "type": "array"
- },
- "available_sale_count": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "available_sale_listings": {
- "items": {
- "$ref": "#/definitions/streeteasy.BuildingListing"
- },
- "type": "array"
- },
- "building_type": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/shopapp.ReviewsResponse"
},
- "description": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "facts": {
- "items": {
- "$ref": "#/definitions/streeteasy.BuildingFact"
- },
- "type": "array"
- },
- "floor_count": {
+ }
+ },
+ "type": "object"
+ },
+ "shopapp.searchResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "name": {
- "type": "string"
- },
- "neighborhoods": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "policies": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "slug": {
- "type": "string"
- },
- "unit_count": {
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/shopapp.SearchResponse"
},
- "url": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "year_built": {
- "type": "integer"
}
},
"type": "object"
},
- "streeteasy.BuildingFact": {
+ "shopapp.shopLocationsResponseDoc": {
"properties": {
- "label": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "value": {
+ "data": {
+ "$ref": "#/definitions/shopapp.ShopLocationsResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "streeteasy.BuildingListing": {
+ "shopapp.shopProductsResponseDoc": {
"properties": {
- "bathrooms": {
- "type": "string"
- },
- "bedrooms": {
- "type": "string"
- },
- "listed_by": {
- "type": "string"
- },
- "listing_type": {
- "type": "string"
- },
- "photo_url": {
- "type": "string"
- },
- "price": {
- "type": "string"
- },
- "square_footage": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "unit": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/shopapp.ShopProductsResponse"
},
- "url_path": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "streeteasy.GeoPoint": {
+ "shopapp.shopResponseDoc": {
"properties": {
- "latitude": {
- "type": "number"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "longitude": {
- "type": "number"
+ "data": {
+ "$ref": "#/definitions/shopapp.ShopResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "streeteasy.LeadMedia": {
+ "shopapp.shopReviewsResponseDoc": {
"properties": {
- "photo": {
- "$ref": "#/definitions/streeteasy.Photo"
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/shopapp.ShopReviewsResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "streeteasy.MarketDataCatalog": {
+ "shopapp.shopTypeaheadResponseDoc": {
"properties": {
- "metrics": {
- "items": {
- "$ref": "#/definitions/streeteasy.MarketDataMetric"
- },
- "type": "array"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "source": {
+ "data": {
+ "$ref": "#/definitions/shopapp.ShopTypeaheadResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "streeteasy.MarketDataMetric": {
+ "shopapp.suggestionsResponseDoc": {
"properties": {
- "bedrooms": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "id": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/shopapp.SuggestResponse"
},
- "label": {
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "shopapp.variantsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "property_type": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/shopapp.VariantsResponse"
},
- "type": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "streeteasy.MarketDataSeries": {
+ "shopee.Banner": {
"properties": {
- "area_count": {
+ "banner_id": {
+ "example": 265864,
"type": "integer"
},
- "areas": {
- "items": {
- "$ref": "#/definitions/streeteasy.MarketDataSeriesArea"
- },
- "type": "array"
- },
- "data_through": {
- "type": "string"
+ "campaign_unit_id": {
+ "type": "integer"
},
- "dataset": {
- "$ref": "#/definitions/streeteasy.MarketDataMetric"
+ "end_time": {
+ "type": "integer"
},
- "end_month": {
+ "image": {
"type": "string"
},
- "source": {
- "type": "string"
+ "slot_id": {
+ "type": "integer"
},
- "start_month": {
+ "start_time": {
+ "type": "integer"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "streeteasy.MarketDataSeriesArea": {
+ "shopee.BannersResponse": {
"properties": {
- "borough": {
- "type": "string"
- },
- "months": {
+ "banners": {
"items": {
- "$ref": "#/definitions/streeteasy.MarketDataSeriesMonth"
+ "$ref": "#/definitions/shopee.Banner"
},
"type": "array"
},
- "name": {
+ "ratio": {
+ "example": 3.3333333,
+ "type": "number"
+ },
+ "region": {
+ "example": "my",
"type": "string"
},
- "type": {
+ "slot": {
+ "example": "HOME_CAROUSEL_01",
+ "type": "string"
+ },
+ "space_key": {
+ "example": "PC-MY-HOME_CAROUSEL_01",
"type": "string"
}
},
"type": "object"
},
- "streeteasy.MarketDataSeriesMonth": {
+ "shopee.CategoriesResponse": {
"properties": {
- "month": {
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/shopee.CategoryNode"
+ },
+ "type": "array"
+ },
+ "region": {
+ "example": "my",
"type": "string"
},
- "value": {
- "type": "number"
+ "total_roots": {
+ "example": 25,
+ "type": "integer"
}
},
"type": "object"
},
- "streeteasy.MarketIndices": {
+ "shopee.CategoryDetail": {
"properties": {
- "area_count": {
+ "category_id": {
+ "example": 11000979,
"type": "integer"
},
- "areas": {
+ "display_names": {
"items": {
- "$ref": "#/definitions/streeteasy.MarketIndicesArea"
+ "$ref": "#/definitions/shopee.LocalizedName"
},
"type": "array"
},
- "data_through": {
+ "image": {
"type": "string"
},
- "end_month": {
- "type": "string"
+ "level": {
+ "type": "integer"
},
- "source": {
+ "name": {
+ "example": "Mobile & Accessories",
"type": "string"
},
- "start_month": {
- "type": "string"
+ "parent_category_ids": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "streeteasy.MarketIndicesArea": {
+ "shopee.CategoryDetailResponse": {
"properties": {
- "borough": {
- "type": "string"
- },
- "months": {
+ "categories": {
"items": {
- "$ref": "#/definitions/streeteasy.MarketIndicesMonth"
+ "$ref": "#/definitions/shopee.CategoryDetail"
},
"type": "array"
},
- "name": {
- "type": "string"
+ "catids": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
},
- "type": {
+ "region": {
+ "example": "my",
"type": "string"
}
},
"type": "object"
},
- "streeteasy.MarketIndicesMonth": {
+ "shopee.CategoryNode": {
"properties": {
- "month": {
+ "category_id": {
+ "example": 11000979,
+ "type": "integer"
+ },
+ "children": {
+ "items": {
+ "$ref": "#/definitions/shopee.CategoryNode"
+ },
+ "type": "array"
+ },
+ "display_name": {
+ "example": "Mobile & Accessories",
"type": "string"
},
- "rent_index": {
- "type": "number"
+ "image": {
+ "type": "string"
},
- "sales_price_index": {
- "type": "number"
+ "level": {
+ "example": 1,
+ "type": "integer"
+ },
+ "name": {
+ "example": "Mobile & Accessories",
+ "type": "string"
+ },
+ "parent_category_id": {
+ "type": "integer"
}
},
"type": "object"
},
- "streeteasy.MarketInventory": {
+ "shopee.FlashSaleItem": {
"properties": {
- "area_count": {
- "type": "integer"
- },
- "areas": {
+ "category_ids": {
"items": {
- "$ref": "#/definitions/streeteasy.MarketInventoryArea"
+ "type": "integer"
},
"type": "array"
},
- "data_through": {
+ "discount": {
+ "example": "31%",
"type": "string"
},
- "end_month": {
+ "end_time": {
+ "type": "integer"
+ },
+ "flash_sale_stock": {
+ "type": "integer"
+ },
+ "historical_sold": {
+ "example": 28759,
+ "type": "integer"
+ },
+ "image": {
"type": "string"
},
- "source": {
+ "item_id": {
+ "example": 18893260244,
+ "type": "integer"
+ },
+ "name": {
"type": "string"
},
- "start_month": {
+ "official_shop": {
+ "type": "boolean"
+ },
+ "price": {
+ "example": 188.1,
+ "type": "number"
+ },
+ "price_before_discount": {
+ "example": 272.32,
+ "type": "number"
+ },
+ "promo_name": {
+ "type": "string"
+ },
+ "rating": {
+ "example": 4.73,
+ "type": "number"
+ },
+ "rating_count": {
+ "example": 11806,
+ "type": "integer"
+ },
+ "shop_id": {
+ "example": 1002453997,
+ "type": "integer"
+ },
+ "shopee_choice": {
+ "type": "boolean"
+ },
+ "start_time": {
+ "type": "integer"
+ },
+ "stock": {
+ "example": 513,
+ "type": "integer"
+ },
+ "tags": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "streeteasy.MarketInventoryArea": {
+ "shopee.FlashSaleResponse": {
"properties": {
- "borough": {
- "type": "string"
- },
- "months": {
+ "items": {
"items": {
- "$ref": "#/definitions/streeteasy.MarketInventoryMonth"
+ "$ref": "#/definitions/shopee.FlashSaleItem"
},
"type": "array"
},
- "name": {
- "type": "string"
+ "limit": {
+ "example": 20,
+ "type": "integer"
},
- "type": {
+ "offset": {
+ "example": 0,
+ "type": "integer"
+ },
+ "region": {
+ "example": "my",
"type": "string"
+ },
+ "session": {
+ "$ref": "#/definitions/shopee.FlashSaleSession"
}
},
"type": "object"
},
- "streeteasy.MarketInventoryMonth": {
+ "shopee.FlashSaleSession": {
"properties": {
- "month": {
- "type": "string"
+ "end_time": {
+ "type": "integer"
},
- "rental_inventory": {
+ "promotion_id": {
"type": "integer"
},
- "sales_inventory": {
+ "start_time": {
+ "type": "integer"
+ },
+ "status": {
"type": "integer"
}
},
"type": "object"
},
- "streeteasy.OpenHouse": {
+ "shopee.FooterBlock": {
"properties": {
- "end_date": {
+ "sections": {
+ "items": {
+ "$ref": "#/definitions/shopee.FooterSection"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "shopee.FooterLink": {
+ "properties": {
+ "text": {
+ "example": "Help Centre",
"type": "string"
},
- "name": {
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "shopee.FooterMedia": {
+ "properties": {
+ "image": {
"type": "string"
},
- "start_date": {
+ "text": {
"type": "string"
},
- "status": {
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "streeteasy.Photo": {
+ "shopee.FooterQR": {
"properties": {
- "key": {
+ "extra_images": {
+ "items": {
+ "$ref": "#/definitions/shopee.FooterMedia"
+ },
+ "type": "array"
+ },
+ "image": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "streeteasy.QuickSearchEntry": {
+ "shopee.FooterResponse": {
"properties": {
- "details": {
+ "blocks": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/shopee.FooterBlock"
},
"type": "array"
},
- "name": {
+ "layout_id": {
+ "example": 1,
+ "type": "integer"
+ },
+ "layout_name": {
+ "example": "Default Layout",
"type": "string"
},
- "url": {
+ "mobile_blocks": {
+ "items": {
+ "$ref": "#/definitions/shopee.FooterBlock"
+ },
+ "type": "array"
+ },
+ "region": {
+ "example": "my",
"type": "string"
}
},
"type": "object"
},
- "streeteasy.QuickSearchGroup": {
+ "shopee.FooterSection": {
"properties": {
- "entries": {
+ "images": {
"items": {
- "$ref": "#/definitions/streeteasy.QuickSearchEntry"
+ "$ref": "#/definitions/shopee.FooterMedia"
},
"type": "array"
},
- "id": {
- "type": "string"
+ "links": {
+ "items": {
+ "$ref": "#/definitions/shopee.FooterLink"
+ },
+ "type": "array"
},
- "is_preview": {
- "type": "boolean"
+ "qr": {
+ "$ref": "#/definitions/shopee.FooterQR"
+ },
+ "simple": {
+ "$ref": "#/definitions/shopee.FooterSimple"
+ },
+ "social_media": {
+ "items": {
+ "$ref": "#/definitions/shopee.FooterMedia"
+ },
+ "type": "array"
},
"title": {
+ "example": "CUSTOMER SERVICE",
"type": "string"
},
- "total_count": {
+ "type": {
"type": "integer"
}
},
"type": "object"
},
- "streeteasy.QuickSearchResult": {
+ "shopee.FooterSimple": {
"properties": {
- "groups": {
- "items": {
- "$ref": "#/definitions/streeteasy.QuickSearchGroup"
- },
- "type": "array"
+ "image": {
+ "type": "string"
},
- "query": {
+ "text": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "streeteasy.RentalEdge": {
+ "shopee.HomeBanner": {
"properties": {
- "node": {
- "$ref": "#/definitions/streeteasy.RentalListing"
+ "image": {
+ "type": "string"
},
- "type": {
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "streeteasy.RentalListing": {
+ "shopee.HomeCampaign": {
"properties": {
- "advertisedOnSe": {
- "type": "boolean"
- },
- "areaName": {
+ "image": {
"type": "string"
},
- "bedroomCount": {
- "type": "integer"
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "shopee.HomeCategoriesResponse": {
+ "properties": {
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/shopee.HomeCategory"
+ },
+ "type": "array"
},
- "buildingType": {
+ "region": {
+ "example": "my",
"type": "string"
},
- "fullBathroomCount": {
+ "total": {
+ "example": 25,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "shopee.HomeCategory": {
+ "properties": {
+ "category_id": {
+ "example": 11000979,
"type": "integer"
},
- "furnished": {
- "type": "boolean"
+ "display_name": {
+ "type": "string"
},
- "geoPoint": {
- "$ref": "#/definitions/streeteasy.GeoPoint"
+ "image": {
+ "type": "string"
},
- "halfBathroomCount": {
+ "level": {
+ "example": 1,
"type": "integer"
},
- "id": {
+ "name": {
+ "example": "Mobile & Accessories",
"type": "string"
},
- "isPremiumHdpEnabled": {
- "type": "boolean"
- },
- "leadMedia": {
- "$ref": "#/definitions/streeteasy.LeadMedia"
- },
- "offMarketAt": {
+ "parent_category_id": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "shopee.HomeLiveSession": {
+ "properties": {
+ "cover": {
"type": "string"
},
- "price": {
- "type": "number"
+ "session_id": {
+ "type": "integer"
},
- "saleType": {
- "type": "string"
+ "shop_id": {
+ "type": "integer"
},
- "sourceGroupLabel": {
+ "title": {
"type": "string"
},
- "status": {
- "type": "string"
- },
- "street": {
- "type": "string"
- },
- "tier": {
- "type": "string"
- },
- "totalMonthlyPrice": {
- "type": "number"
- },
- "unit": {
- "type": "string"
- },
- "urlPath": {
- "type": "string"
+ "view_count": {
+ "type": "integer"
}
},
"type": "object"
},
- "streeteasy.RentalSearch": {
+ "shopee.HomeResponse": {
"properties": {
- "edges": {
+ "banners": {
"items": {
- "$ref": "#/definitions/streeteasy.RentalEdge"
+ "$ref": "#/definitions/shopee.HomeBanner"
},
"type": "array"
},
- "search": {
- "properties": {
- "criteria": {
- "type": "string"
- }
+ "campaigns": {
+ "items": {
+ "$ref": "#/definitions/shopee.HomeCampaign"
},
- "type": "object"
- },
- "totalCount": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "streeteasy.SaleEdge": {
- "properties": {
- "node": {
- "$ref": "#/definitions/streeteasy.SaleListing"
- },
- "type": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "streeteasy.SaleListing": {
- "properties": {
- "advertisedOnSe": {
- "type": "boolean"
- },
- "areaName": {
- "type": "string"
- },
- "bedroomCount": {
- "type": "integer"
- },
- "buildingType": {
- "type": "string"
- },
- "fullBathroomCount": {
- "type": "integer"
- },
- "furnished": {
- "type": "boolean"
- },
- "geoPoint": {
- "$ref": "#/definitions/streeteasy.GeoPoint"
- },
- "id": {
- "type": "string"
- },
- "isPremiumHdpEnabled": {
- "type": "boolean"
- },
- "leadMedia": {
- "$ref": "#/definitions/streeteasy.LeadMedia"
- },
- "offMarketAt": {
- "type": "string"
- },
- "price": {
- "type": "number"
- },
- "saleType": {
- "type": "string"
- },
- "sourceGroupLabel": {
- "type": "string"
- },
- "street": {
- "type": "string"
- },
- "unit": {
- "type": "string"
+ "type": "array"
},
- "urlPath": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "streeteasy.SaleSearch": {
- "properties": {
- "edges": {
+ "components": {
"items": {
- "$ref": "#/definitions/streeteasy.SaleEdge"
+ "type": "string"
},
"type": "array"
},
- "search": {
- "properties": {
- "criteria": {
- "type": "string"
- }
+ "flash_sale": {
+ "items": {
+ "$ref": "#/definitions/shopee.FlashSaleItem"
},
- "type": "object"
- },
- "totalCount": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "streeteasy.SchoolDetails": {
- "properties": {
- "address": {
- "type": "string"
- },
- "district": {
- "type": "integer"
- },
- "fax": {
- "type": "string"
+ "type": "array"
},
- "grades": {
+ "live_sessions": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/shopee.HomeLiveSession"
},
"type": "array"
},
- "name": {
- "type": "string"
- },
- "neighborhood": {
- "type": "string"
- },
- "phone": {
- "type": "string"
- },
- "slug": {
- "type": "string"
- },
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "streeteasy.UnitAddress": {
- "properties": {
- "country": {
- "type": "string"
- },
- "neighborhood": {
- "type": "string"
- },
- "postal_code": {
- "type": "string"
- },
- "region": {
- "type": "string"
- },
- "street": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "streeteasy.UnitDetails": {
- "properties": {
- "address": {
- "$ref": "#/definitions/streeteasy.UnitAddress"
- },
- "amenities": {
+ "prefills": {
"items": {
"type": "string"
},
"type": "array"
},
- "availability": {
- "type": "string"
- },
- "building_slug": {
- "type": "string"
- },
- "currency": {
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "listed_date": {
- "type": "string"
- },
- "name": {
+ "region": {
+ "example": "my",
"type": "string"
},
- "open_houses": {
+ "squares": {
"items": {
- "$ref": "#/definitions/streeteasy.OpenHouse"
+ "$ref": "#/definitions/shopee.HomeSquare"
},
"type": "array"
- },
- "photo_url": {
- "type": "string"
- },
- "price": {
- "type": "number"
- },
- "unit": {
- "type": "string"
- },
- "url": {
- "type": "string"
}
},
"type": "object"
},
- "stubhub.CarouselEvent": {
+ "shopee.HomeSquare": {
"properties": {
- "category_id": {
- "example": 33253,
- "type": "integer"
- },
- "day_of_week": {
- "example": "Sat",
- "type": "string"
- },
- "event_id": {
- "example": 161204289,
- "type": "integer"
- },
- "image_url": {
- "type": "string"
- },
- "is_date_confirmed": {
- "type": "boolean"
- },
- "is_time_confirmed": {
- "type": "boolean"
- },
- "local_event_date": {
- "example": "Mar 06 2027",
- "type": "string"
- },
- "local_event_time": {
- "example": "7:30 PM",
- "type": "string"
- },
- "location": {
- "example": "Kai Tak, Kowloon City",
+ "image": {
"type": "string"
},
- "min_price": {
- "example": 99,
- "type": "number"
- },
- "name": {
- "example": "BTS",
+ "title": {
"type": "string"
},
"url": {
"type": "string"
- },
- "venue_name": {
- "type": "string"
}
},
"type": "object"
},
- "stubhub.CarouselPerson": {
+ "shopee.LocalizedName": {
"properties": {
- "available_local_events": {
- "example": 4,
- "type": "integer"
- },
- "category_id": {
- "example": 26202,
- "type": "integer"
- },
- "formatted_local_events_dates": {
- "example": "Nov 27 - Dec 06",
- "type": "string"
- },
- "image_credit_name": {
- "type": "string"
- },
- "image_url": {
- "type": "string"
+ "is_default": {
+ "type": "boolean"
},
- "name": {
- "example": "The Weeknd",
+ "lang": {
+ "example": "en",
"type": "string"
},
- "url": {
+ "value": {
+ "example": "Mobile & Accessories",
"type": "string"
}
},
"type": "object"
},
- "stubhub.CarouselResponse": {
+ "shopee.LocationFiltersResponse": {
"properties": {
- "alternative_performers": {
+ "groups": {
"items": {
- "$ref": "#/definitions/stubhub.CarouselPerson"
+ "$ref": "#/definitions/shopee.LocationGroup"
},
"type": "array"
},
- "category_id": {
- "type": "integer"
- },
- "fetched_at": {
+ "region": {
+ "example": "my",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "shopee.LocationGroup": {
+ "properties": {
+ "group": {
+ "example": "E",
"type": "string"
},
- "lat": {
- "type": "number"
- },
- "lon": {
- "type": "number"
- },
- "max": {
- "type": "integer"
+ "group_name": {
+ "type": "string"
},
- "maybe_interested_in": {
+ "location_tag_ids": {
"items": {
- "$ref": "#/definitions/stubhub.CarouselPerson"
+ "type": "string"
},
"type": "array"
},
- "performer_id": {
- "type": "integer"
- },
- "performer_slug": {
- "type": "string"
- },
- "recently_viewed": {
+ "locations": {
"items": {
- "$ref": "#/definitions/stubhub.CarouselPerson"
+ "type": "string"
},
"type": "array"
},
- "source_url": {
+ "translated_group": {
"type": "string"
},
- "top_level_category_id": {
- "type": "integer"
- },
- "trending_events": {
+ "translated_locations": {
"items": {
- "$ref": "#/definitions/stubhub.CarouselEvent"
+ "type": "string"
},
"type": "array"
}
},
"type": "object"
},
- "stubhub.CategoriesResponse": {
+ "shopee.MallCategoriesResponse": {
"properties": {
"categories": {
"items": {
- "$ref": "#/definitions/stubhub.Category"
+ "$ref": "#/definitions/shopee.MallCategory"
},
"type": "array"
},
- "count": {
- "example": 12,
- "type": "integer"
- },
- "fetched_at": {
- "type": "string"
- },
- "from": {
- "type": "string"
- },
- "source_url": {
+ "region": {
+ "example": "my",
"type": "string"
},
- "to": {
- "type": "string"
+ "total": {
+ "example": 24,
+ "type": "integer"
}
},
"type": "object"
},
- "stubhub.Category": {
+ "shopee.MallCategory": {
"properties": {
- "id": {
- "example": 5084,
+ "category_id": {
+ "example": 11000616,
"type": "integer"
},
- "is_venue": {
- "type": "boolean"
- },
- "min_price": {
- "example": 45,
- "type": "number"
- },
- "name": {
- "example": "NFL",
+ "image": {
"type": "string"
},
- "url": {
+ "name": {
+ "example": "Muslim Fashion",
"type": "string"
}
},
"type": "object"
},
- "stubhub.CategoryEvent": {
+ "shopee.MallShop": {
"properties": {
- "country": {
- "example": "USA",
- "type": "string"
- },
- "date": {
- "example": "Sep 15",
- "type": "string"
- },
- "day_of_week": {
- "example": "Tue",
- "type": "string"
- },
- "distance_miles": {
- "example": "26 mi",
+ "brand_name": {
"type": "string"
},
- "event_id": {
- "example": 161280784,
+ "ctime": {
"type": "integer"
},
- "has_active_listings": {
- "type": "boolean"
- },
- "is_date_confirmed": {
- "type": "boolean"
- },
- "is_multiday_event": {
- "type": "boolean"
- },
- "is_parking_pass": {
- "type": "boolean"
- },
- "is_time_confirmed": {
- "type": "boolean"
- },
- "name": {
- "example": "ERRA",
- "type": "string"
- },
- "time": {
- "example": "6:30 PM",
- "type": "string"
- },
- "url": {
+ "logo": {
"type": "string"
},
- "venue_city": {
- "example": "Sayreville",
+ "logo_pc": {
"type": "string"
},
- "venue_name": {
- "example": "Starland Ballroom",
+ "name": {
+ "example": "ANTA Official Store",
"type": "string"
},
- "venue_state": {
- "example": "NJ",
+ "redirect_url": {
"type": "string"
- }
- },
- "type": "object"
- },
- "stubhub.CategoryEventsResponse": {
- "properties": {
- "category_id": {
- "type": "integer"
},
- "count": {
- "example": 20,
+ "shop_id": {
+ "example": 236986575,
"type": "integer"
},
- "events": {
- "items": {
- "$ref": "#/definitions/stubhub.CategoryEvent"
- },
- "type": "array"
- },
- "fetched_at": {
- "type": "string"
- },
- "page": {
- "example": 1,
+ "shop_type": {
"type": "integer"
},
- "page_size": {
- "example": 20,
+ "user_id": {
"type": "integer"
},
- "source_url": {
+ "username": {
+ "example": "antamalaysia.os",
"type": "string"
- },
- "total_count": {
- "example": 1588,
- "type": "integer"
}
},
"type": "object"
},
- "stubhub.ExploreEvent": {
+ "shopee.PrefillItem": {
"properties": {
- "category_id": {
- "example": 5084,
- "type": "integer"
- },
- "date": {
- "example": "Sep 15",
- "type": "string"
- },
- "day_of_week": {
- "example": "Tue",
- "type": "string"
- },
- "event_id": {
- "example": 161341819,
- "type": "integer"
- },
- "has_active_listings": {
- "type": "boolean"
- },
- "image_url": {
- "type": "string"
- },
- "is_date_confirmed": {
- "type": "boolean"
- },
- "is_time_confirmed": {
- "type": "boolean"
- },
- "location": {
- "example": "Inglewood, CA, USA",
- "type": "string"
- },
- "name": {
- "example": "Taylor Swift",
+ "hint": {
+ "example": "Sign Up & Get Your First Order Free!",
"type": "string"
},
- "time": {
- "example": "10:00 AM",
+ "image": {
"type": "string"
},
"url": {
"type": "string"
- },
- "venue_name": {
- "example": "SoFi Stadium",
- "type": "string"
}
},
"type": "object"
},
- "stubhub.ExploreResponse": {
+ "shopee.PrefillsResponse": {
"properties": {
- "count": {
- "example": 20,
- "type": "integer"
- },
- "events": {
+ "prefills": {
"items": {
- "$ref": "#/definitions/stubhub.ExploreEvent"
+ "$ref": "#/definitions/shopee.PrefillItem"
},
"type": "array"
},
- "fetched_at": {
- "type": "string"
- },
- "from": {
- "type": "string"
- },
- "lat": {
- "type": "number"
- },
- "lon": {
- "type": "number"
- },
- "source_url": {
- "type": "string"
- },
- "to": {
+ "region": {
+ "example": "my",
"type": "string"
}
},
"type": "object"
},
- "stubhub.NavigationCategoriesResponse": {
+ "shopee.SearchFilterGroup": {
"properties": {
- "category_id": {
- "example": 1,
- "type": "integer"
+ "display_name": {
+ "example": "Brand",
+ "type": "string"
},
- "id": {
- "example": 1,
- "type": "integer"
+ "dynamic": {
+ "type": "boolean"
},
- "subcategories": {
+ "name": {
+ "example": "BRANDS",
+ "type": "string"
+ },
+ "options": {
"items": {
- "$ref": "#/definitions/stubhub.NavigationCategory"
+ "$ref": "#/definitions/shopee.SearchFilterOption"
},
"type": "array"
},
- "title": {
- "example": "Theater",
- "type": "string"
- },
- "url": {
- "example": "https://www.stubhub.com/theater-and-arts-tickets/category/174",
- "type": "string"
- },
- "view_all_content": {
- "example": "View More Theater",
- "type": "string"
+ "ui_type": {
+ "example": 1,
+ "type": "integer"
}
},
"type": "object"
},
- "stubhub.NavigationCategory": {
+ "shopee.SearchFilterOption": {
"properties": {
- "id": {
- "example": 12585,
- "type": "integer"
- },
- "subcategories": {
- "items": {
- "$ref": "#/definitions/stubhub.NavigationCategory"
- },
- "type": "array"
- },
- "title": {
- "example": "Broadway Shows",
+ "display_name": {
+ "example": "Wireless Earbuds",
"type": "string"
},
- "url": {
- "example": "https://www.stubhub.com/broadway-shows-tickets/category/138275421",
+ "name": {
+ "example": "Wireless Earbuds",
"type": "string"
},
- "view_all_content": {
- "example": "View More Theater",
+ "value": {
+ "example": "11000993",
"type": "string"
}
},
"type": "object"
},
- "stubhub.PerformerEvent": {
+ "shopee.SearchFiltersResponse": {
"properties": {
- "availability": {
- "example": "http://schema.org/InStock",
- "type": "string"
- },
- "low_price": {
- "example": 71.87,
- "type": "number"
- },
- "name": {
- "example": "Indianapolis Colts at Kansas City Chiefs",
- "type": "string"
- },
- "price_currency": {
- "example": "USD",
- "type": "string"
- },
- "start_date": {
- "example": "2026-09-20T19:20:00",
- "type": "string"
- },
- "url": {
+ "category": {
+ "example": "11000979",
"type": "string"
},
- "venue_city": {
- "example": "Kansas City",
- "type": "string"
+ "groups": {
+ "items": {
+ "$ref": "#/definitions/shopee.SearchFilterGroup"
+ },
+ "type": "array"
},
- "venue_country": {
- "example": "USA",
+ "keyword": {
+ "example": "headphones",
"type": "string"
},
- "venue_name": {
- "example": "GEHA Field at Arrowhead Stadium",
+ "region": {
+ "example": "my",
"type": "string"
},
- "venue_state": {
- "example": "Missouri",
- "type": "string"
+ "shortcuts": {
+ "items": {
+ "$ref": "#/definitions/shopee.SearchFilterOption"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "stubhub.PerformerEventsResponse": {
+ "shopee.SearchHint": {
"properties": {
- "count": {
- "example": 10,
+ "category_id": {
"type": "integer"
},
- "events": {
+ "category_name": {
+ "type": "string"
+ },
+ "item_ids": {
"items": {
- "$ref": "#/definitions/stubhub.PerformerEvent"
+ "type": "integer"
},
"type": "array"
},
- "fetched_at": {
+ "keyword": {
+ "example": "phone case",
"type": "string"
},
- "performer_id": {
+ "position": {
"type": "integer"
},
- "performer_slug": {
- "type": "string"
- },
- "source_url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "stubhub.SearchGroup": {
- "properties": {
- "count": {
- "example": 3,
+ "record_type": {
"type": "integer"
},
- "entity": {
- "example": 5,
+ "source_type": {
"type": "integer"
- },
- "results": {
- "items": {
- "$ref": "#/definitions/stubhub.SearchResult"
- },
- "type": "array"
}
},
"type": "object"
},
- "stubhub.SearchResponse": {
+ "shopee.SearchHintsResponse": {
"properties": {
- "fetched_at": {
+ "algorithm": {
"type": "string"
},
- "groups": {
+ "hints": {
"items": {
- "$ref": "#/definitions/stubhub.SearchGroup"
+ "$ref": "#/definitions/shopee.SearchHint"
},
"type": "array"
},
- "more": {
- "type": "boolean"
- },
- "query": {
- "example": "The Weeknd",
+ "keyword": {
+ "example": "phone",
"type": "string"
},
- "source_url": {
+ "region": {
+ "example": "my",
"type": "string"
},
- "special_char_only": {
- "type": "boolean"
+ "search_keyword_type": {
+ "type": "integer"
+ },
+ "version": {
+ "example": 2,
+ "type": "integer"
}
},
"type": "object"
},
- "stubhub.SearchResult": {
+ "shopee.ShopInfoResponse": {
"properties": {
- "category_image_url": {
+ "description": {
"type": "string"
},
- "entity_type": {
- "example": 1,
- "type": "integer"
- },
- "icon_name": {
- "example": "Concert",
+ "images": {
"type": "string"
},
- "id": {
- "example": 26202,
- "type": "integer"
+ "is_mart": {
+ "type": "boolean"
},
- "image_url": {
- "type": "string"
+ "is_ship_from_overseas": {
+ "type": "boolean"
},
- "subtitle": {
- "example": "Concert Tickets",
- "type": "string"
+ "label_ids": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
},
- "title": {
- "example": "The Weeknd",
+ "name": {
"type": "string"
},
- "url": {
- "example": "https://www.stubhub.com/the-weeknd-tickets/performer/714235",
- "type": "string"
- }
- },
- "type": "object"
- },
- "stubhub.SuggestedSearch": {
- "properties": {
- "category_image_url": {
+ "official_shop": {
+ "type": "boolean"
+ },
+ "rating_star": {
+ "example": 4.948498,
+ "type": "number"
+ },
+ "region": {
+ "example": "my",
"type": "string"
},
- "id": {
- "example": 26202,
+ "shop_id": {
+ "example": 52784309,
"type": "integer"
},
- "title": {
- "example": "The Weeknd",
- "type": "string"
+ "shopee_verified": {
+ "type": "boolean"
},
- "top_level_category_id": {
- "example": 3,
+ "status": {
"type": "integer"
},
- "url": {
- "example": "https://www.stubhub.com/the-weeknd-tickets/performer/714235",
- "type": "string"
+ "user_id": {
+ "type": "integer"
}
},
"type": "object"
},
- "stubhub.SuggestedSearchesResponse": {
+ "shopee.ShopsResponse": {
"properties": {
- "count": {
- "example": 10,
+ "limit": {
+ "example": 20,
"type": "integer"
},
- "fetched_at": {
- "type": "string"
+ "offset": {
+ "example": 0,
+ "type": "integer"
},
- "source_url": {
+ "region": {
+ "example": "my",
"type": "string"
},
- "suggestions": {
+ "shops": {
"items": {
- "$ref": "#/definitions/stubhub.SuggestedSearch"
+ "$ref": "#/definitions/shopee.MallShop"
},
"type": "array"
+ },
+ "total": {
+ "example": 632,
+ "type": "integer"
}
},
"type": "object"
},
- "stubhub.TrendingEvent": {
+ "shopee.SuggestResponse": {
"properties": {
- "category_id": {
- "example": 4892,
- "type": "integer"
- },
- "date": {
- "example": "Sep 19 2026",
- "type": "string"
- },
- "day_of_week": {
- "example": "Sat",
- "type": "string"
- },
- "event_id": {
- "example": 160790802,
- "type": "integer"
- },
- "image_url": {
- "type": "string"
- },
- "is_date_confirmed": {
- "type": "boolean"
- },
- "is_time_confirmed": {
- "type": "boolean"
- },
- "location": {
- "example": "Nanterre, Ile-de-France",
- "type": "string"
- },
- "name": {
- "example": "Celine Dion",
- "type": "string"
- },
- "time": {
- "example": "7:30 PM",
- "type": "string"
- },
- "url": {
+ "keyword": {
+ "example": "head",
"type": "string"
},
- "venue_name": {
+ "region": {
+ "example": "my",
"type": "string"
- }
- },
- "type": "object"
- },
- "stubhub.TrendingEventsResponse": {
- "properties": {
- "count": {
- "example": 20,
- "type": "integer"
},
- "events": {
+ "suggestions": {
"items": {
- "$ref": "#/definitions/stubhub.TrendingEvent"
+ "type": "string"
},
"type": "array"
- },
- "fetched_at": {
- "type": "string"
- },
- "page": {
- "example": 1,
- "type": "integer"
- },
- "page_size": {
- "example": 20,
- "type": "integer"
- },
- "source_url": {
- "type": "string"
- },
- "top_level_category_id": {
- "type": "integer"
- },
- "total_count": {
- "example": 200,
- "type": "integer"
}
},
"type": "object"
},
- "stubhub.TrendingPerformer": {
+ "shopee.bannersResponseDoc": {
"properties": {
- "event_dates_range": {
- "example": "Sep 16 - May 29 2027",
- "type": "string"
- },
- "favorites_count": {
- "example": 154655,
- "type": "integer"
- },
- "id": {
- "example": 20519,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "image_url": {
- "type": "string"
- },
- "name": {
- "example": "Bruno Mars",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/shopee.BannersResponse"
},
- "url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "stubhub.TrendingResponse": {
+ "shopee.categoriesResponseDoc": {
"properties": {
- "count": {
- "example": 10,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "fetched_at": {
- "type": "string"
- },
- "performers": {
- "items": {
- "$ref": "#/definitions/stubhub.TrendingPerformer"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/shopee.CategoriesResponse"
},
- "source_url": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "top_level_category_id": {
- "type": "integer"
}
},
"type": "object"
},
- "stubhub.VenueEvent": {
+ "shopee.categoryDetailResponseDoc": {
"properties": {
- "availability": {
- "example": "http://schema.org/InStock",
- "type": "string"
- },
- "low_price": {
- "example": 71.87,
- "type": "number"
- },
- "name": {
- "example": "Indianapolis Colts at Kansas City Chiefs",
- "type": "string"
- },
- "price_currency": {
- "example": "USD",
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "start_date": {
- "example": "2026-09-20T19:20:00",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/shopee.CategoryDetailResponse"
},
- "url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "stubhub.VenueEventsResponse": {
+ "shopee.flashSaleResponseDoc": {
"properties": {
- "count": {
- "example": 11,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "events": {
- "items": {
- "$ref": "#/definitions/stubhub.VenueEvent"
- },
- "type": "array"
- },
- "fetched_at": {
- "type": "string"
- },
- "source_url": {
- "type": "string"
- },
- "venue_id": {
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/shopee.FlashSaleResponse"
},
- "venue_slug": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "stubhub.carouselResponseDoc": {
+ "shopee.footerResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/stubhub.CarouselResponse"
+ "$ref": "#/definitions/shopee.FooterResponse"
},
"msg": {
"example": "OK",
@@ -223050,14 +228314,14 @@
},
"type": "object"
},
- "stubhub.categoriesResponseDoc": {
+ "shopee.homeCategoriesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/stubhub.CategoriesResponse"
+ "$ref": "#/definitions/shopee.HomeCategoriesResponse"
},
"msg": {
"example": "OK",
@@ -223066,14 +228330,14 @@
},
"type": "object"
},
- "stubhub.categoryEventsResponseDoc": {
+ "shopee.homeResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/stubhub.CategoryEventsResponse"
+ "$ref": "#/definitions/shopee.HomeResponse"
},
"msg": {
"example": "OK",
@@ -223082,14 +228346,14 @@
},
"type": "object"
},
- "stubhub.exploreResponseDoc": {
+ "shopee.locationFiltersResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/stubhub.ExploreResponse"
+ "$ref": "#/definitions/shopee.LocationFiltersResponse"
},
"msg": {
"example": "OK",
@@ -223098,14 +228362,14 @@
},
"type": "object"
},
- "stubhub.navigationCategoriesResponseDoc": {
+ "shopee.mallCategoriesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/stubhub.NavigationCategoriesResponse"
+ "$ref": "#/definitions/shopee.MallCategoriesResponse"
},
"msg": {
"example": "OK",
@@ -223114,14 +228378,14 @@
},
"type": "object"
},
- "stubhub.performerEventsResponseDoc": {
+ "shopee.prefillsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/stubhub.PerformerEventsResponse"
+ "$ref": "#/definitions/shopee.PrefillsResponse"
},
"msg": {
"example": "OK",
@@ -223130,14 +228394,14 @@
},
"type": "object"
},
- "stubhub.searchResponseDoc": {
+ "shopee.searchFiltersResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/stubhub.SearchResponse"
+ "$ref": "#/definitions/shopee.SearchFiltersResponse"
},
"msg": {
"example": "OK",
@@ -223146,14 +228410,14 @@
},
"type": "object"
},
- "stubhub.suggestedSearchesResponseDoc": {
+ "shopee.searchHintsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/stubhub.SuggestedSearchesResponse"
+ "$ref": "#/definitions/shopee.SearchHintsResponse"
},
"msg": {
"example": "OK",
@@ -223162,14 +228426,14 @@
},
"type": "object"
},
- "stubhub.trendingEventsResponseDoc": {
+ "shopee.shopInfoResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/stubhub.TrendingEventsResponse"
+ "$ref": "#/definitions/shopee.ShopInfoResponse"
},
"msg": {
"example": "OK",
@@ -223178,14 +228442,14 @@
},
"type": "object"
},
- "stubhub.trendingResponseDoc": {
+ "shopee.shopsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/stubhub.TrendingResponse"
+ "$ref": "#/definitions/shopee.ShopsResponse"
},
"msg": {
"example": "OK",
@@ -223194,14 +228458,14 @@
},
"type": "object"
},
- "stubhub.venueEventsResponseDoc": {
+ "shopee.suggestResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/stubhub.VenueEventsResponse"
+ "$ref": "#/definitions/shopee.SuggestResponse"
},
"msg": {
"example": "OK",
@@ -223210,3539 +228474,3337 @@
},
"type": "object"
},
- "stuff.AuthorResponse": {
+ "shopify.CollectionItem": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/stuff.HeadlineItem"
- },
- "type": "array"
- },
- "biography": {
+ "created_at": {
+ "description": "Time the record was created, as Shopify returns it.",
"type": "string"
},
- "email": {
+ "description": {
+ "description": "Collection description as plain text.",
"type": "string"
},
- "image_url": {
+ "handle": {
+ "description": "URL slug of the collection, for example `mens`.",
+ "example": "mens",
"type": "string"
},
- "job_title": {
+ "id": {
+ "description": "Shopify collection id.",
+ "example": "278435758160",
"type": "string"
},
- "location": {
+ "products_count": {
+ "description": "Number of products in the collection. Omitted for headless storefronts.",
+ "example": 24,
+ "type": "integer"
+ },
+ "published_at": {
+ "description": "Time the record was published, as Shopify returns it.",
"type": "string"
},
- "name": {
+ "title": {
+ "description": "Collection name as shown on the storefront.",
+ "example": "Men",
"type": "string"
},
- "slug": {
+ "updated_at": {
+ "description": "Time the record was last updated, as Shopify returns it.",
"type": "string"
},
"url": {
+ "description": "Storefront page URL of the collection.",
+ "example": "https://www.allbirds.com/collections/mens",
"type": "string"
}
},
"type": "object"
},
- "stuff.HeadlineItem": {
+ "shopify.CollectionProductsResponse": {
"properties": {
- "author": {
- "type": "string"
- },
- "image_url": {
- "type": "string"
- },
- "published_at": {
+ "collection": {
+ "description": "Handle of the collection the products belong to.",
+ "example": "mens",
"type": "string"
},
- "summary": {
- "type": "string"
+ "facets": {
+ "additionalProperties": {
+ "additionalProperties": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "type": "object"
+ },
+ "description": "Facets and FacetsStats are populated when TransportMode is ssr_embedded\nor storefront_filtered -- see the identical fields' doc comment on\nProductsResponse.",
+ "type": "object"
},
- "title": {
- "type": "string"
+ "facets_stats": {
+ "additionalProperties": {
+ "$ref": "#/definitions/shopify.FacetStat"
+ },
+ "description": "Lowest, highest and average value per numeric facet such as `price`. Present only when `transport_mode` is set.",
+ "type": "object"
},
- "type": {
- "type": "string"
+ "filters": {
+ "additionalProperties": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "description": "Facet filters applied, mapping each facet name to the values requested. Present only for headless storefronts.",
+ "type": "object"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "substack.AppStorePlan": {
- "properties": {
- "active": {
+ "in_stock_only": {
+ "description": "Whether only in-stock products were requested. Present only when `transport_mode` is `storefront_filtered`.",
"type": "boolean"
},
- "amount_cents": {
- "example": 1400,
+ "limit": {
+ "description": "Maximum number of products returned per page.",
+ "example": 50,
"type": "integer"
},
- "currency": {
- "example": "usd",
- "type": "string"
- },
- "display_name": {
- "type": "string"
+ "max_price": {
+ "description": "Maximum price filter applied. Present only when `transport_mode` is `storefront_filtered`.",
+ "type": "number"
},
- "display_price": {
- "example": "$14",
- "type": "string"
+ "min_price": {
+ "description": "Minimum price filter applied. Present only when `transport_mode` is `storefront_filtered`.",
+ "type": "number"
},
- "is_founding": {
- "type": "boolean"
+ "page": {
+ "description": "Page number returned.",
+ "example": 1,
+ "type": "integer"
},
- "period": {
- "example": "month",
- "type": "string"
+ "product_type": {
+ "description": "Product types the results were filtered to. Present only when `transport_mode` is `storefront_filtered`.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "sku": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "substack.CategoriesResult": {
- "properties": {
- "categories": {
+ "products": {
+ "description": "Products on this page, one item per product.",
"items": {
- "$ref": "#/definitions/substack.Category"
+ "$ref": "#/definitions/shopify.ProductItem"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "substack.Category": {
- "properties": {
- "emoji": {
- "example": "🕹",
- "type": "string"
},
- "id": {
- "example": "4",
+ "sort": {
+ "description": "Sort and Filters echo back the effective sortBy/facet-filter query\nparams that were applied, present only when transport_mode is\nssr_embedded and the caller supplied at least one. Always omitted for\nthe classic transport (which rejects them as invalid params instead).",
+ "enum": [
+ "sortLTH",
+ "sortHTL",
+ "newest"
+ ],
+ "example": "sortLTH",
"type": "string"
},
- "in_category_listing": {
- "description": "InCategoryListing is false for the one id the category listing\nrejects (\"bestseller\", which exists only as a leaderboard).",
- "type": "boolean"
- },
- "in_leaderboard": {
- "description": "InLeaderboard is true when /substack/leaderboard accepts this id.",
- "type": "boolean"
- },
- "name": {
- "example": "Technology",
+ "sort_by": {
+ "description": "SortBy, MinPrice, MaxPrice, ProductType, InStockOnly, and\nVariantOptions echo back the effective storefront-filtering params\nthat were applied -- see the identical fields' doc comment on\nProductsResponse.",
+ "enum": [
+ "manual",
+ "best-selling",
+ "title-ascending",
+ "title-descending",
+ "price-ascending",
+ "price-descending",
+ "created-ascending",
+ "created-descending"
+ ],
+ "example": "price-ascending",
"type": "string"
},
- "slug": {
- "example": "technology",
- "type": "string"
- }
- },
- "type": "object"
- },
- "substack.CategoryResult": {
- "properties": {
- "category_id": {
- "example": "4",
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://www.allbirds.com",
"type": "string"
},
- "has_more": {
- "type": "boolean"
+ "store_url": {
+ "description": "Base URL of the Shopify storefront that was queried.",
+ "example": "https://www.allbirds.com",
+ "type": "string"
},
- "page": {
+ "total_items": {
+ "description": "TotalItems and TotalPages are populated only when TransportMode is\nssr_embedded, from the storefront's own embedded search-result\npagination metadata.",
+ "example": 184,
"type": "integer"
},
- "publications": {
- "items": {
- "$ref": "#/definitions/substack.PublicationListItem"
- },
- "type": "array"
+ "total_pages": {
+ "description": "Total number of result pages. Present only for headless storefronts.",
+ "example": 4,
+ "type": "integer"
},
- "type": {
- "example": "paid",
+ "transport_mode": {
+ "description": "Set to `ssr_embedded` for headless storefronts, or `storefront_filtered` when sort, price, product type, in-stock or variant filters were applied. Omitted otherwise.",
+ "enum": [
+ "ssr_embedded",
+ "storefront_filtered"
+ ],
+ "example": "ssr_embedded",
"type": "string"
+ },
+ "variant_options": {
+ "additionalProperties": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "description": "Variant option filters applied, mapping an option name such as `size` to the values requested. Present only when `transport_mode` is `storefront_filtered`.",
+ "type": "object"
}
},
"type": "object"
},
- "substack.Contributor": {
+ "shopify.CollectionsResponse": {
"properties": {
- "bestseller_tier": {
- "type": "integer"
- },
- "bio": {
- "type": "string"
- },
- "handle": {
- "type": "string"
+ "collections": {
+ "description": "Collections on this page, one item per collection.",
+ "items": {
+ "$ref": "#/definitions/shopify.CollectionItem"
+ },
+ "type": "array"
},
- "id": {
- "example": 29561926,
+ "limit": {
+ "description": "Maximum number of collections returned per page.",
+ "example": 50,
"type": "integer"
},
- "is_byline_only": {
- "type": "boolean"
+ "page": {
+ "description": "Page number returned.",
+ "example": 1,
+ "type": "integer"
},
- "name": {
- "example": "Sergiu Klainerman",
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://www.allbirds.com",
"type": "string"
},
- "photo_url": {
+ "store_url": {
+ "description": "Base URL of the Shopify storefront that was queried.",
+ "example": "https://www.allbirds.com",
"type": "string"
},
- "url": {
+ "transport_mode": {
+ "description": "Set only for headless storefronts that do not expose Shopify's standard catalogue; the value is `ssr_embedded`. Omitted otherwise. Titles are then derived from handles.",
+ "enum": [
+ "ssr_embedded"
+ ],
+ "example": "ssr_embedded",
"type": "string"
}
},
"type": "object"
},
- "substack.ContributorsResult": {
+ "shopify.FacetStat": {
"properties": {
- "contributors": {
- "items": {
- "$ref": "#/definitions/substack.Contributor"
- },
- "type": "array"
+ "avg": {
+ "description": "Average value of the facet across the current results.",
+ "example": 56.46,
+ "type": "number"
},
- "page": {
- "type": "integer"
+ "max": {
+ "description": "Highest value of the facet across the current results.",
+ "example": 85,
+ "type": "number"
},
- "publication": {
- "example": "www.thefp.com",
- "type": "string"
+ "min": {
+ "description": "Lowest value of the facet across the current results.",
+ "example": 27,
+ "type": "number"
}
},
"type": "object"
},
- "substack.ExploreModule": {
+ "shopify.ImageItem": {
"properties": {
- "category_id": {
+ "alt": {
+ "description": "Alternative text of the image.",
+ "example": "Product image",
"type": "string"
},
- "category_name": {
+ "created_at": {
+ "description": "Time the record was created, as Shopify returns it.",
"type": "string"
},
- "notes": {
- "items": {
- "$ref": "#/definitions/substack.Note"
- },
- "type": "array"
+ "height": {
+ "description": "Image height in pixels.",
+ "example": 1600,
+ "type": "integer"
},
- "posts": {
- "items": {
- "$ref": "#/definitions/substack.Post"
- },
- "type": "array"
+ "id": {
+ "description": "Shopify image id.",
+ "example": "36411373027408",
+ "type": "string"
},
- "profiles": {
- "items": {
- "$ref": "#/definitions/substack.User"
- },
- "type": "array"
+ "position": {
+ "description": "Position of the image in the product's image list, starting at 1.",
+ "example": 1,
+ "type": "integer"
},
- "publications": {
- "items": {
- "$ref": "#/definitions/substack.PublicationListItem"
- },
- "type": "array"
+ "updated_at": {
+ "description": "Time the record was last updated, as Shopify returns it.",
+ "type": "string"
},
- "title": {
- "example": "Trending posts",
+ "url": {
+ "description": "URL of the image file.",
+ "example": "https://cdn.shopify.com/s/files/1/example.jpg",
"type": "string"
},
- "topics": {
+ "variant_ids": {
+ "description": "Ids of the variants this image is attached to.",
"items": {
- "$ref": "#/definitions/substack.ExploreTopic"
+ "type": "string"
},
"type": "array"
},
- "type": {
- "description": "Type is the upstream module kind. Known values:\ntrendingTopicsExplore, trendingPostsExplore, newBestsellersExplore,\nvideoSuggestionsExplore, categoryLeaderboard, comment, post.",
- "example": "trendingPostsExplore",
- "type": "string"
+ "width": {
+ "description": "Image width in pixels.",
+ "example": 1600,
+ "type": "integer"
}
},
"type": "object"
},
- "substack.ExploreResult": {
+ "shopify.OptionItem": {
"properties": {
- "has_more": {
- "type": "boolean"
+ "name": {
+ "description": "Option name, for example `Size`.",
+ "example": "Size",
+ "type": "string"
},
- "modules": {
+ "position": {
+ "description": "Position of the option on the product, starting at 1.",
+ "example": 1,
+ "type": "integer"
+ },
+ "values": {
+ "description": "Values the option can take, for example `S` or `M`.",
"items": {
- "$ref": "#/definitions/substack.ExploreModule"
+ "type": "string"
},
"type": "array"
- },
- "next_cursor": {
- "type": "string"
- },
- "tab": {
- "example": "explore",
- "type": "string"
- },
- "type": {
- "example": "base",
- "type": "string"
}
},
"type": "object"
},
- "substack.ExploreTopic": {
+ "shopify.PageItem": {
"properties": {
- "alternate_queries": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "category": {
+ "content": {
+ "description": "Body of the page as plain text.",
"type": "string"
},
- "description": {
+ "created_at": {
+ "description": "Time the record was created, as Shopify returns it.",
"type": "string"
},
- "featured": {
- "type": "boolean"
- },
- "first_trending_at": {
+ "handle": {
+ "description": "URL slug of the page, for example `accessibility`.",
+ "example": "accessibility",
"type": "string"
},
"id": {
+ "description": "Shopify page id.",
+ "example": "54831906896",
"type": "string"
},
- "query": {
- "example": "Trump campaign rhetoric 2026",
+ "published_at": {
+ "description": "Time the record was published, as Shopify returns it.",
"type": "string"
},
- "source": {
- "example": "search_history",
+ "title": {
+ "description": "Page title as shown on the storefront.",
+ "example": "Accessibility",
+ "type": "string"
+ },
+ "updated_at": {
+ "description": "Time the record was last updated, as Shopify returns it.",
"type": "string"
},
"url": {
+ "description": "Storefront URL of the page.",
+ "example": "https://www.allbirds.com/pages/accessibility",
"type": "string"
}
},
"type": "object"
},
- "substack.LeaderboardEntry": {
+ "shopify.PageResponse": {
"properties": {
- "author": {
- "$ref": "#/definitions/substack.User"
+ "page": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/shopify.PageItem"
+ }
+ ],
+ "description": "The static page that was requested."
},
- "publication": {
- "$ref": "#/definitions/substack.PublicationListItem"
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://www.allbirds.com",
+ "type": "string"
},
- "rank": {
- "example": 1,
- "type": "integer"
+ "store_url": {
+ "description": "Base URL of the Shopify storefront that was queried.",
+ "example": "https://www.allbirds.com",
+ "type": "string"
+ },
+ "transport_mode": {
+ "description": "Set only for headless storefronts that do not expose Shopify's standard catalogue; the value is `ssr_embedded`. Omitted otherwise.",
+ "enum": [
+ "ssr_embedded"
+ ],
+ "example": "ssr_embedded",
+ "type": "string"
}
},
"type": "object"
},
- "substack.LeaderboardResult": {
+ "shopify.PagesResponse": {
"properties": {
- "category_id": {
- "example": "96",
- "type": "string"
+ "limit": {
+ "description": "Maximum number of pages returned per page of results.",
+ "example": 50,
+ "type": "integer"
},
- "entries": {
+ "page": {
+ "description": "Page number returned.",
+ "example": 1,
+ "type": "integer"
+ },
+ "pages": {
+ "description": "Static pages on this page of results, one item per page.",
"items": {
- "$ref": "#/definitions/substack.LeaderboardEntry"
+ "$ref": "#/definitions/shopify.PageItem"
},
"type": "array"
},
- "has_more": {
- "type": "boolean"
- },
- "page": {
- "type": "integer"
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://www.allbirds.com",
+ "type": "string"
},
- "title": {
- "example": "Culture Bestsellers",
+ "store_url": {
+ "description": "Base URL of the Shopify storefront that was queried.",
+ "example": "https://www.allbirds.com",
"type": "string"
},
- "type": {
- "example": "trending",
+ "transport_mode": {
+ "description": "TransportMode is present only when the store required the\nembedded-SSR-JSON fallback transport. In this mode pages are\ndiscovered from the storefront's own pages sitemap rather than a\nlisting API: each item only carries handle/url/updated_at (no title\nor content) — call GET /shopify/pages/{handle} per handle for full\ncontent.",
+ "enum": [
+ "ssr_embedded"
+ ],
+ "example": "ssr_embedded",
"type": "string"
}
},
"type": "object"
},
- "substack.Note": {
+ "shopify.ProductItem": {
"properties": {
- "attached_post": {
- "$ref": "#/definitions/substack.NotePost"
- },
- "author_bestseller_tier": {
- "type": "integer"
+ "available": {
+ "description": "Whether at least one variant is available to buy.",
+ "type": "boolean"
},
- "author_handle": {
- "example": "jameelajamil",
+ "canonical_colour": {
+ "description": "Main colour name the storefront groups the product under, for example `black`.",
+ "example": "black",
"type": "string"
},
- "author_id": {
- "example": 138271663,
- "type": "integer"
+ "collection_tags": {
+ "description": "Collections the product is listed in, as the storefront labels them.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "author_name": {
- "example": "Jameela Jamil",
+ "colour": {
+ "description": "The fields below are only populated when the product was resolved via\nthe embedded-SSR-JSON fallback transport (see ssr_fallback.go) and the\nsource page exposed this data; they are additive and never populated\nfor classic-store responses.",
+ "example": "black",
"type": "string"
},
- "author_photo_url": {
- "type": "string"
+ "compare_at_price": {
+ "description": "Original price before discount, in the store's currency. The highest compare-at price across variants.",
+ "example": 120,
+ "type": "number"
},
- "author_url": {
+ "condition": {
+ "description": "Condition is only populated for resale-marketplace search results\n(Fashionphile's AlgoliaSearch, Rebag's StorefrontSearch -- see\nsearch.go) whose catalog data exposes a condition grade. Never\npopulated for any other brand or endpoint in this family.",
+ "example": "Excellent",
"type": "string"
},
- "body": {
+ "created_at": {
+ "description": "Time the record was created, as Shopify returns it.",
"type": "string"
},
- "edited_at": {
+ "description": {
+ "description": "Product description as plain text.",
"type": "string"
},
- "id": {
- "example": 316240438,
- "type": "integer"
- },
- "is_ai_generated": {
- "type": "boolean"
+ "discount_percentage": {
+ "description": "Discount currently applied to the product, as a percentage.",
+ "example": 20,
+ "type": "number"
},
- "language": {
+ "featured_image": {
+ "description": "URL of the product's main image.",
"type": "string"
},
- "published_at": {
+ "handle": {
+ "description": "URL slug of the product, for example `mens-wool-runners`.",
+ "example": "mens-wool-runners",
"type": "string"
},
- "reaction_count": {
- "example": 12846,
- "type": "integer"
+ "id": {
+ "description": "Shopify product id.",
+ "example": "6616124981328",
+ "type": "string"
},
- "reactions": {
- "additionalProperties": {
- "format": "int64",
- "type": "integer"
+ "images": {
+ "description": "Images of the product, in the storefront's order.",
+ "items": {
+ "$ref": "#/definitions/shopify.ImageItem"
},
- "type": "object"
+ "type": "array"
},
- "reply_count": {
- "example": 129,
- "type": "integer"
+ "labels": {
+ "description": "Badges the storefront shows on the product, for example `new`.",
+ "example": [
+ "new"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "restack_count": {
- "example": 1139,
- "type": "integer"
+ "options": {
+ "description": "Options the product varies by, such as size or colour.",
+ "items": {
+ "$ref": "#/definitions/shopify.OptionItem"
+ },
+ "type": "array"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "substack.NotePost": {
- "properties": {
- "id": {
- "type": "integer"
+ "price": {
+ "description": "Current price in the store's currency. The lowest variant price when variants are listed.",
+ "example": 98,
+ "type": "number"
},
- "title": {
+ "product_type": {
+ "description": "Product type set by the merchant, for example `Shoes`.",
+ "example": "Shoes",
"type": "string"
},
- "url": {
+ "published_at": {
+ "description": "Time the record was published, as Shopify returns it.",
"type": "string"
- }
- },
- "type": "object"
- },
- "substack.NoteRepliesResult": {
- "properties": {
- "has_more": {
- "type": "boolean"
- },
- "more_count": {
- "description": "MoreCount is how many further reply branches the upstream reports.",
- "type": "integer"
},
- "next_cursor": {
- "type": "string"
+ "rating": {
+ "description": "Average customer rating shown by the storefront.",
+ "example": 4.2,
+ "type": "number"
},
- "note_id": {
- "example": 316240438,
+ "rating_count": {
+ "description": "Number of customer ratings behind `rating`.",
+ "example": 1549,
"type": "integer"
},
- "replies": {
+ "tags": {
+ "description": "Tags the merchant attached to the product.",
"items": {
- "$ref": "#/definitions/substack.Note"
+ "type": "string"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "substack.NoteRestacksResult": {
- "properties": {
- "has_more": {
- "type": "boolean"
},
- "next_cursor": {
+ "title": {
+ "description": "Product name as shown on the storefront.",
+ "example": "Men's Wool Runners",
"type": "string"
},
- "note_id": {
- "example": 316240438,
- "type": "integer"
+ "updated_at": {
+ "description": "Time the record was last updated, as Shopify returns it.",
+ "type": "string"
},
- "restacks": {
+ "url": {
+ "description": "Storefront page URL of the product.",
+ "example": "https://www.allbirds.com/products/mens-wool-runners",
+ "type": "string"
+ },
+ "variants": {
+ "description": "Purchasable variants of the product, such as each size and colour.",
"items": {
- "$ref": "#/definitions/substack.Note"
+ "$ref": "#/definitions/shopify.VariantItem"
},
"type": "array"
+ },
+ "vendor": {
+ "description": "Brand or vendor name set by the merchant.",
+ "example": "Allbirds",
+ "type": "string"
}
},
"type": "object"
},
- "substack.NotesFeedResult": {
+ "shopify.ProductRecommendationsResponse": {
"properties": {
- "has_more": {
- "type": "boolean"
+ "handle": {
+ "description": "Handle of the product the recommendations are based on.",
+ "example": "mens-wool-runners",
+ "type": "string"
},
- "next_cursor": {
+ "intent": {
+ "description": "Recommendation type returned: `related` or `complementary`.",
+ "example": "related",
"type": "string"
},
- "notes": {
+ "limit": {
+ "description": "Maximum number of recommended products returned.",
+ "example": 10,
+ "type": "integer"
+ },
+ "product_id": {
+ "description": "Shopify id of the product the recommendations are based on.",
+ "example": "6616124981328",
+ "type": "string"
+ },
+ "products": {
+ "description": "Recommended products, one item per product.",
"items": {
- "$ref": "#/definitions/substack.Note"
+ "$ref": "#/definitions/shopify.ProductItem"
},
"type": "array"
},
- "tab": {
- "example": "for-you",
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://www.allbirds.com",
"type": "string"
},
- "type": {
- "example": "base",
+ "store_url": {
+ "description": "Base URL of the Shopify storefront that was queried.",
+ "example": "https://www.allbirds.com",
+ "type": "string"
+ },
+ "transport_mode": {
+ "description": "Set only for headless storefronts that do not expose Shopify's standard catalogue; the value is `ssr_embedded`. Omitted otherwise.",
+ "enum": [
+ "ssr_embedded"
+ ],
+ "example": "ssr_embedded",
"type": "string"
}
},
"type": "object"
},
- "substack.NotesFeedTab": {
+ "shopify.ProductResponse": {
"properties": {
- "id": {
- "example": "for-you",
+ "product": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/shopify.ProductItem"
+ }
+ ],
+ "description": "The requested product with its variants, options and images."
+ },
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://www.allbirds.com",
"type": "string"
},
- "name": {
- "example": "For you",
+ "store_url": {
+ "description": "Base URL of the Shopify storefront that was queried.",
+ "example": "https://www.allbirds.com",
"type": "string"
},
- "type": {
- "example": "base",
+ "transport_mode": {
+ "description": "Set only for headless storefronts that do not expose Shopify's standard catalogue; the value is `ssr_embedded`. Omitted otherwise.",
+ "enum": [
+ "ssr_embedded"
+ ],
+ "example": "ssr_embedded",
"type": "string"
}
},
"type": "object"
},
- "substack.NotesFeedTabsResult": {
+ "shopify.ProductsResponse": {
"properties": {
- "surface": {
- "example": "feed",
- "type": "string"
+ "facets": {
+ "additionalProperties": {
+ "additionalProperties": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "type": "object"
+ },
+ "description": "Facets and FacetsStats are populated when TransportMode is ssr_embedded\n(from the storefront's own embedded search-index facet buckets) or\nstorefront_filtered (from the storefront's own Storefront Filtering\nsidebar -- Size/Color/etc. option facets, Product Type, and a \"price\"\nFacetsStats entry for the price-range slider's own min/max bounds).",
+ "type": "object"
},
- "tabs": {
- "items": {
- "$ref": "#/definitions/substack.NotesFeedTab"
+ "facets_stats": {
+ "additionalProperties": {
+ "$ref": "#/definitions/shopify.FacetStat"
},
- "type": "array"
- }
- },
- "type": "object"
- },
- "substack.PlanCurrency": {
- "properties": {
- "amount_cents": {
- "example": 900,
- "type": "integer"
+ "description": "Lowest, highest and average value per numeric facet such as `price`. Present only when `transport_mode` is set.",
+ "type": "object"
},
- "currency": {
- "example": "eur",
- "type": "string"
- }
- },
- "type": "object"
- },
- "substack.Post": {
- "properties": {
- "audience": {
- "example": "everyone",
- "type": "string"
+ "filters": {
+ "additionalProperties": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "description": "Facet filters applied, mapping each facet name to the values requested. Present only for headless storefronts.",
+ "type": "object"
},
- "comment_count": {
+ "in_stock_only": {
+ "description": "Whether only in-stock products were requested. Present only when `transport_mode` is `storefront_filtered`.",
+ "type": "boolean"
+ },
+ "limit": {
+ "description": "Maximum number of products returned per page.",
+ "example": 50,
"type": "integer"
},
- "cover_image_url": {
- "type": "string"
+ "max_price": {
+ "description": "Maximum price filter applied. Present only when `transport_mode` is `storefront_filtered`.",
+ "type": "number"
},
- "description": {
- "type": "string"
+ "min_price": {
+ "description": "Minimum price filter applied. Present only when `transport_mode` is `storefront_filtered`.",
+ "type": "number"
},
- "id": {
- "example": 213613469,
+ "page": {
+ "description": "Page number returned.",
+ "example": 1,
"type": "integer"
},
- "paywalled": {
- "type": "boolean"
- },
- "published_at": {
- "type": "string"
+ "product_type": {
+ "description": "Product types the results were filtered to. Present only when `transport_mode` is `storefront_filtered`.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "reaction_count": {
- "type": "integer"
+ "products": {
+ "description": "Products on this page, one item per product.",
+ "items": {
+ "$ref": "#/definitions/shopify.ProductItem"
+ },
+ "type": "array"
},
- "slug": {
+ "sort": {
+ "description": "Sort and Filters echo back the effective sortBy/facet-filter query\nparams that were applied, present only when transport_mode is\nssr_embedded and the caller supplied at least one. Always omitted for\nthe classic transport (which rejects them as invalid params instead).",
+ "enum": [
+ "sortLTH",
+ "sortHTL",
+ "newest"
+ ],
+ "example": "sortLTH",
"type": "string"
},
- "subtitle": {
+ "sort_by": {
+ "description": "SortBy, MinPrice, MaxPrice, ProductType, InStockOnly, and\nVariantOptions echo back the effective storefront-filtering params\nthat were applied, present only when transport_mode is\nstorefront_filtered.",
+ "enum": [
+ "manual",
+ "best-selling",
+ "title-ascending",
+ "title-descending",
+ "price-ascending",
+ "price-descending",
+ "created-ascending",
+ "created-descending"
+ ],
+ "example": "price-ascending",
"type": "string"
},
- "title": {
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://www.allbirds.com",
"type": "string"
},
- "type": {
- "example": "newsletter",
+ "store_url": {
+ "description": "Base URL of the Shopify storefront that was queried.",
+ "example": "https://www.allbirds.com",
"type": "string"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "substack.PostByline": {
- "properties": {
- "handle": {
- "type": "string"
+ "total_items": {
+ "description": "TotalItems and TotalPages are populated only when TransportMode is\nssr_embedded, from the storefront's own embedded search-result\npagination metadata.",
+ "example": 184,
+ "type": "integer"
},
- "id": {
- "example": 134996999,
+ "total_pages": {
+ "description": "Total number of result pages. Present only for headless storefronts.",
+ "example": 4,
"type": "integer"
},
- "name": {
- "example": "Max Kan",
+ "transport_mode": {
+ "description": "Set to `ssr_embedded` for headless storefronts, or `storefront_filtered` when sort, price, product type, in-stock or variant filters were applied. Omitted otherwise.",
+ "enum": [
+ "ssr_embedded",
+ "storefront_filtered"
+ ],
+ "example": "ssr_embedded",
"type": "string"
},
- "url": {
- "type": "string"
+ "variant_options": {
+ "additionalProperties": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "description": "Variant option filters applied, mapping an option name such as `size` to the values requested. Present only when `transport_mode` is `storefront_filtered`.",
+ "type": "object"
}
},
"type": "object"
},
- "substack.PostDetail": {
+ "shopify.ReviewDTO": {
"properties": {
- "audience": {
- "example": "everyone",
- "type": "string"
- },
- "bylines": {
- "items": {
- "$ref": "#/definitions/substack.PostByline"
- },
- "type": "array"
- },
- "comment_count": {
- "type": "integer"
- },
- "cover_image_url": {
+ "body": {
+ "example": "Excellent condition, fast shipping!",
"type": "string"
},
- "description": {
+ "created_at": {
+ "example": "2026-08-25T18:17:23.000Z",
"type": "string"
},
"id": {
- "example": 213613469,
- "type": "integer"
+ "example": "4a8567d4-b397-5ff5-b327-a8cbec368987",
+ "type": "string"
},
- "paywalled": {
+ "is_shop_review": {
"type": "boolean"
},
- "podcast_duration_seconds": {
- "type": "integer"
+ "pictures": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "podcast_url": {
+ "product_title": {
"type": "string"
},
- "published_at": {
+ "product_url": {
"type": "string"
},
- "reaction_count": {
+ "rating": {
+ "example": 5,
"type": "integer"
},
- "slug": {
- "type": "string"
- },
- "subtitle": {
+ "reviewer_name": {
+ "example": "Mario Henao",
"type": "string"
},
"title": {
"type": "string"
},
- "type": {
- "example": "newsletter",
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "wordcount": {
- "example": 3953,
- "type": "integer"
+ "verified_buyer": {
+ "example": true,
+ "type": "boolean"
}
},
"type": "object"
},
- "substack.PostsResult": {
+ "shopify.ReviewsResponse": {
"properties": {
- "limit": {
- "type": "integer"
- },
- "offset": {
+ "page": {
+ "example": 1,
"type": "integer"
},
- "posts": {
+ "reviews": {
"items": {
- "$ref": "#/definitions/substack.Post"
+ "$ref": "#/definitions/shopify.ReviewDTO"
},
"type": "array"
},
- "publication": {
- "example": "semianalysis",
+ "source_url": {
+ "example": "https://cdn.judge.me/reviews/all_reviews_js_based",
"type": "string"
},
- "search": {
- "example": "nvidia",
+ "store_url": {
+ "example": "https://www.pristinemarketplace.com",
"type": "string"
},
- "sort": {
- "example": "new",
- "type": "string"
+ "total_count": {
+ "example": 88,
+ "type": "integer"
+ },
+ "total_pages": {
+ "example": 18,
+ "type": "integer"
}
},
"type": "object"
},
- "substack.Publication": {
+ "shopify.SearchQueryItem": {
"properties": {
- "author_id": {
- "type": "integer"
- },
- "copyright": {
- "type": "string"
- },
- "custom_domain": {
- "type": "string"
- },
- "explicit": {
- "type": "boolean"
- },
- "hero_text": {
- "type": "string"
- },
- "id": {
- "example": 6349492,
- "type": "integer"
- },
- "invite_only": {
- "type": "boolean"
- },
- "language": {
- "type": "string"
- },
- "logo_url": {
- "type": "string"
- },
- "name": {
- "example": "SemiAnalysis",
- "type": "string"
- },
- "subdomain": {
+ "text": {
+ "description": "Suggested search phrase.",
+ "example": "wool",
"type": "string"
},
- "subscribers": {
- "$ref": "#/definitions/substack.SubscriberCounts"
- },
- "subscription": {
- "$ref": "#/definitions/substack.Subscription"
- },
"url": {
- "example": "https://semianalysis.substack.com",
+ "description": "Storefront search results URL for the phrase.",
+ "example": "https://www.allbirds.com/search?q=wool",
"type": "string"
}
},
"type": "object"
},
- "substack.PublicationListItem": {
+ "shopify.SearchResponse": {
"properties": {
- "author_handle": {
- "type": "string"
- },
- "author_id": {
- "type": "integer"
- },
- "author_name": {
- "example": "Dylan Patel",
- "type": "string"
- },
- "custom_domain": {
- "type": "string"
- },
- "explicit": {
- "type": "boolean"
- },
- "hero_text": {
- "type": "string"
- },
- "id": {
- "example": 6349492,
- "type": "integer"
- },
- "language": {
- "type": "string"
- },
- "logo_url": {
- "type": "string"
- },
- "name": {
- "example": "SemiAnalysis",
+ "availability": {
+ "description": "Availability is the availability filter that was applied (available,\nsold, or all). Only set by Fashionphile search.",
+ "example": "available",
"type": "string"
},
- "payments_enabled": {
- "type": "boolean"
- },
- "subdomain": {
- "example": "semianalysis",
+ "condition": {
+ "example": "Excellent",
"type": "string"
},
- "subscribers": {
- "$ref": "#/definitions/substack.SubscriberCounts"
- },
- "subscription": {
- "$ref": "#/definitions/substack.Subscription"
- },
- "url": {
- "example": "https://semianalysis.substack.com",
- "type": "string"
- }
- },
- "type": "object"
- },
- "substack.RecommendationsResult": {
- "properties": {
- "publication_id": {
- "example": 6349492,
+ "limit": {
+ "example": 20,
"type": "integer"
},
- "recommendations": {
- "items": {
- "$ref": "#/definitions/substack.PublicationListItem"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "substack.SearchResult": {
- "properties": {
- "focused_posts": {
- "items": {
- "$ref": "#/definitions/substack.Post"
- },
- "type": "array"
- },
- "has_more": {
- "type": "boolean"
- },
"page": {
+ "example": 1,
"type": "integer"
},
- "posts": {
- "items": {
- "$ref": "#/definitions/substack.Post"
- },
- "type": "array"
- },
- "publications": {
+ "products": {
"items": {
- "$ref": "#/definitions/substack.PublicationListItem"
+ "$ref": "#/definitions/shopify.ProductItem"
},
"type": "array"
},
"query": {
- "example": "artificial intelligence",
+ "example": "chanel",
"type": "string"
- }
- },
- "type": "object"
- },
- "substack.SubscriberCounts": {
- "properties": {
- "follower_count": {
- "example": 365727,
- "type": "integer"
},
- "paid_rough": {
- "description": "PaidRough and PaidRoughInt are the only paid-subscriber figures\nSubstack publishes, and both are buckets rather than counts.\nPaidRoughInt is the finer of the two and is always present; PaidTier\nis the coarser threshold behind the public bestseller badge.",
- "example": "Thousands of paid subscribers",
+ "sort": {
+ "example": "relevance",
"type": "string"
},
- "paid_rough_int": {
- "example": 1000,
- "type": "integer"
- },
- "paid_tier": {
- "example": 1000,
- "type": "integer"
- },
- "total": {
- "example": 315000,
- "type": "integer"
+ "source_url": {
+ "example": "https://www.fashionphile.com",
+ "type": "string"
},
- "total_display": {
- "example": "315K+",
+ "store_url": {
+ "example": "https://www.fashionphile.com",
"type": "string"
},
- "total_hidden": {
- "type": "boolean"
+ "total_items": {
+ "description": "TotalItems for AlgoliaSearch is the exact number of products matching\nthe query and every filter (condition, vendor, availability); it does\nnot change with sort. For StorefrontSearch it is only the number of results the\nupstream Storefront API returned for this page's fetch window --\nShopify's search field does not expose a true total match count, so\nthis is not a reliable \"how many pages exist\" signal on that\ntransport; treat an empty Products page as the practical end of\nresults instead.",
+ "example": 184,
+ "type": "integer"
},
- "total_rough": {
- "example": "Hundreds of thousands of subscribers",
+ "vendor": {
+ "example": "Chanel",
"type": "string"
}
},
"type": "object"
},
- "substack.Subscription": {
+ "shopify.SearchSuggestResponse": {
"properties": {
- "annual_disabled": {
- "type": "boolean"
- },
- "app_store_plans": {
+ "collections": {
+ "description": "Collections suggested for the query.",
"items": {
- "$ref": "#/definitions/substack.AppStorePlan"
+ "$ref": "#/definitions/shopify.CollectionItem"
},
"type": "array"
},
- "founding_benefits": {
+ "limit": {
+ "description": "Maximum number of suggestions requested.",
+ "example": 10,
+ "type": "integer"
+ },
+ "products": {
+ "description": "Products suggested for the query.",
"items": {
- "type": "string"
+ "$ref": "#/definitions/shopify.ProductItem"
},
"type": "array"
},
- "founding_plan_name": {
- "example": "Founding Member",
- "type": "string"
- },
- "free_benefits": {
+ "queries": {
+ "description": "Search phrases suggested for the query.",
"items": {
- "type": "string"
+ "$ref": "#/definitions/shopify.SearchQueryItem"
},
"type": "array"
},
- "free_trial_enabled": {
- "type": "boolean"
- },
- "group_discount_percent": {
- "example": 20,
- "type": "number"
- },
- "monthly_disabled": {
- "type": "boolean"
+ "query": {
+ "description": "Search text that was run.",
+ "example": "wool",
+ "type": "string"
},
- "paid_benefits": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://www.allbirds.com",
+ "type": "string"
},
- "payments_state": {
- "example": "enabled",
+ "store_url": {
+ "description": "Base URL of the Shopify storefront that was queried.",
+ "example": "https://www.allbirds.com",
"type": "string"
},
- "plans": {
+ "types": {
+ "description": "Suggestion types returned: `product`, `collection` and `query`.",
+ "example": [
+ "product",
+ "collection",
+ "query"
+ ],
"items": {
- "$ref": "#/definitions/substack.SubscriptionPlan"
+ "type": "string"
},
"type": "array"
- },
- "pledges_enabled": {
- "type": "boolean"
}
},
"type": "object"
},
- "substack.SubscriptionPlan": {
+ "shopify.SiteSearchResponse": {
"properties": {
- "active": {
- "type": "boolean"
+ "limit": {
+ "example": 20,
+ "type": "integer"
},
- "amount_cents": {
- "example": 5000,
+ "page": {
+ "example": 1,
"type": "integer"
},
- "currencies": {
+ "products": {
"items": {
- "$ref": "#/definitions/substack.PlanCurrency"
+ "$ref": "#/definitions/shopify.ProductItem"
},
"type": "array"
},
- "currency": {
- "example": "usd",
+ "query": {
+ "example": "jordan",
"type": "string"
},
- "id": {
- "example": "monthly50usd_982ddb86",
+ "source_url": {
"type": "string"
},
- "interval": {
- "example": "month",
+ "store_url": {
+ "example": "https://www.pristinemarketplace.com",
"type": "string"
},
- "interval_count": {
- "example": 1,
+ "total_count": {
+ "example": 413,
"type": "integer"
},
- "kind": {
- "example": "monthly",
- "type": "string"
- },
- "nickname": {
- "example": "$50 a month",
- "type": "string"
- },
- "trial_period_days": {
+ "total_pages": {
+ "example": 26,
"type": "integer"
}
},
"type": "object"
},
- "substack.User": {
+ "shopify.SitemapImage": {
"properties": {
- "bestseller_tier": {
- "example": 10000,
- "type": "integer"
- },
- "bio": {
- "type": "string"
- },
- "handle": {
- "example": "pragmaticengineer",
- "type": "string"
- },
- "id": {
- "example": 2067309,
- "type": "integer"
- },
- "name": {
- "example": "Gergely Orosz",
+ "caption": {
+ "description": "Caption of the image listed in the sitemap.",
"type": "string"
},
- "photo_url": {
+ "title": {
+ "description": "Title of the image listed in the sitemap.",
+ "example": "Men's Wool Runner",
"type": "string"
},
- "profile_set_up_at": {
+ "url": {
+ "description": "URL of the image file.",
+ "example": "https://cdn.shopify.com/example.png",
"type": "string"
- },
- "publications": {
+ }
+ },
+ "type": "object"
+ },
+ "shopify.SitemapIndexResponse": {
+ "properties": {
+ "sitemaps": {
+ "description": "Child sitemaps listed by the store's main sitemap.",
"items": {
- "$ref": "#/definitions/substack.UserPublication"
+ "$ref": "#/definitions/shopify.SitemapItem"
},
"type": "array"
},
- "slug": {
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://www.allbirds.com",
"type": "string"
},
- "subscribers": {
- "$ref": "#/definitions/substack.SubscriberCounts"
- },
- "subscriptions": {
- "items": {
- "$ref": "#/definitions/substack.UserSubscription"
- },
- "type": "array"
- },
- "url": {
- "example": "https://substack.com/@pragmaticengineer",
+ "store_url": {
+ "description": "Base URL of the Shopify storefront that was queried.",
+ "example": "https://www.allbirds.com",
"type": "string"
}
},
"type": "object"
},
- "substack.UserActivityItem": {
+ "shopify.SitemapItem": {
"properties": {
- "kind": {
- "example": "comment_restack",
+ "loc": {
+ "description": "URL of the child sitemap file.",
+ "example": "https://www.allbirds.com/sitemap_products_1.xml",
"type": "string"
},
- "note": {
- "$ref": "#/definitions/substack.Note"
- },
- "post": {
- "$ref": "#/definitions/substack.Post"
- },
- "timestamp": {
+ "type": {
+ "description": "Section the sitemap covers: `products`, `collections`, `pages`, `blogs`, `agentic_discovery` or `other`.",
+ "example": "products",
"type": "string"
}
},
"type": "object"
},
- "substack.UserActivityResult": {
+ "shopify.SitemapURLItem": {
"properties": {
- "has_more": {
- "type": "boolean"
+ "changefreq": {
+ "description": "Update frequency hint from the sitemap entry, for example `weekly`.",
+ "example": "weekly",
+ "type": "string"
},
- "items": {
+ "handle": {
+ "description": "Handle of the product, collection or page the URL points to.",
+ "example": "mens-wool-runners",
+ "type": "string"
+ },
+ "images": {
+ "description": "Images listed for the URL in the sitemap.",
"items": {
- "$ref": "#/definitions/substack.UserActivityItem"
+ "$ref": "#/definitions/shopify.SitemapImage"
},
"type": "array"
},
- "next_cursor": {
+ "lastmod": {
+ "description": "Last modification time listed for the URL in the sitemap.",
+ "example": "2026-03-19T11:41:39-07:00",
"type": "string"
},
- "types": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "loc": {
+ "description": "Storefront URL listed in the sitemap.",
+ "example": "https://www.allbirds.com/products/mens-wool-runners",
+ "type": "string"
},
- "user_id": {
- "example": 49731969,
- "type": "integer"
+ "type": {
+ "description": "Section the URL belongs to: `products`, `collections`, `pages`, `blogs`, `agentic_discovery` or `other`.",
+ "example": "products",
+ "type": "string"
}
},
"type": "object"
},
- "substack.UserConnectionsResult": {
+ "shopify.SitemapURLsResponse": {
"properties": {
- "list": {
- "example": "followers",
+ "limit": {
+ "description": "Maximum number of URL entries returned.",
+ "example": 50,
+ "type": "integer"
+ },
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://www.allbirds.com",
"type": "string"
},
- "name": {
- "example": "Followers",
+ "store_url": {
+ "description": "Base URL of the Shopify storefront that was queried.",
+ "example": "https://www.allbirds.com",
"type": "string"
},
- "user_id": {
- "example": 49731969,
- "type": "integer"
+ "type": {
+ "description": "Sitemap section requested: `all`, `products`, `collections`, `pages`, `blogs`, `agentic_discovery` or `other`.",
+ "example": "products",
+ "type": "string"
},
- "users": {
+ "urls": {
+ "description": "URL entries from the matching sitemaps.",
"items": {
- "$ref": "#/definitions/substack.User"
+ "$ref": "#/definitions/shopify.SitemapURLItem"
},
"type": "array"
}
},
"type": "object"
},
- "substack.UserPublication": {
+ "shopify.StoreResponse": {
"properties": {
- "custom_domain": {
+ "city": {
+ "description": "City of the store's business address.",
+ "example": "San Francisco",
"type": "string"
},
- "id": {
- "example": 458709,
- "type": "integer"
+ "country": {
+ "description": "Country code of the store, for example `US`.",
+ "example": "US",
+ "type": "string"
},
- "is_primary": {
- "type": "boolean"
+ "currency": {
+ "description": "Currency code the store prices in, for example `USD`.",
+ "example": "USD",
+ "type": "string"
+ },
+ "description": {
+ "description": "Store description set by the merchant.",
+ "type": "string"
+ },
+ "domain": {
+ "description": "Domain of the storefront URL that was requested.",
+ "example": "www.gymshark.com",
+ "type": "string"
+ },
+ "myshopify_domain": {
+ "description": "The store's `myshopify.com` domain, for example `gymsharkusa.myshopify.com`.",
+ "example": "gymsharkusa.myshopify.com",
+ "type": "string"
},
"name": {
- "example": "The Pragmatic Engineer",
+ "description": "Store name, for example `Allbirds`.",
+ "example": "Allbirds",
"type": "string"
},
- "role": {
- "example": "admin",
+ "province": {
+ "description": "State or province of the store's business address.",
+ "example": "CA",
"type": "string"
},
- "subdomain": {
+ "published_collections_count": {
+ "description": "Number of published collections in the store.",
+ "example": 42,
+ "type": "integer"
+ },
+ "published_products_count": {
+ "description": "Number of published products in the store.",
+ "example": 638,
+ "type": "integer"
+ },
+ "requested_url": {
+ "description": "Storefront URL that was requested.",
+ "example": "https://www.gymshark.com",
"type": "string"
},
- "url": {
+ "source_domain": {
+ "description": "Domain the store data was read from. It differs from `domain` when the store's `myshopify.com` domain is used.",
+ "example": "gymsharkusa.myshopify.com",
+ "type": "string"
+ },
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://gymsharkusa.myshopify.com",
+ "type": "string"
+ },
+ "transport_mode": {
+ "description": "Set only for headless storefronts that do not expose Shopify's standard catalogue; the value is `ssr_embedded`. Omitted otherwise.",
+ "enum": [
+ "ssr_embedded"
+ ],
+ "example": "ssr_embedded",
"type": "string"
}
},
"type": "object"
},
- "substack.UserSearchResult": {
+ "shopify.VariantItem": {
"properties": {
- "has_more": {
+ "available": {
+ "description": "Whether this variant is currently available to buy.",
"type": "boolean"
},
- "page": {
+ "barcode": {
+ "description": "Barcode of the variant, such as a UPC or EAN.",
+ "type": "string"
+ },
+ "compare_at_price": {
+ "description": "Original price before discount, in the store's currency.",
+ "example": 120,
+ "type": "number"
+ },
+ "created_at": {
+ "description": "Time the record was created, as Shopify returns it.",
+ "type": "string"
+ },
+ "featured_image": {
+ "description": "URL of the image shown for this variant.",
+ "type": "string"
+ },
+ "grams": {
+ "description": "Weight of the variant in grams.",
+ "example": 400,
"type": "integer"
},
- "query": {
- "example": "pragmatic engineer",
+ "id": {
+ "description": "Shopify variant id.",
+ "example": "34761278160941",
"type": "string"
},
- "users": {
- "items": {
- "$ref": "#/definitions/substack.User"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "substack.UserSubscription": {
- "properties": {
- "is_founding": {
- "type": "boolean"
+ "inventory_quantity": {
+ "description": "InventoryQuantity is only populated via the embedded-SSR-JSON fallback\ntransport (see ssr_fallback.go); classic-store responses never set it.",
+ "example": 24,
+ "type": "integer"
},
- "membership_state": {
- "example": "free_signup",
+ "option1": {
+ "description": "Value of the product's first option for this variant, for example a size.",
"type": "string"
},
- "publication_id": {
+ "option2": {
+ "description": "Value of the product's second option for this variant.",
+ "type": "string"
+ },
+ "option3": {
+ "description": "Value of the product's third option for this variant.",
+ "type": "string"
+ },
+ "position": {
+ "description": "Position of the variant in the product's variant list, starting at 1.",
+ "example": 1,
"type": "integer"
},
- "publication_name": {
+ "price": {
+ "description": "Current price of the variant in the store's currency.",
+ "example": 98,
+ "type": "number"
+ },
+ "product_id": {
+ "description": "Shopify id of the product the variant belongs to.",
+ "example": "6616124981328",
"type": "string"
},
- "subdomain": {
+ "requires_shipping": {
+ "description": "Whether the variant is a physical item that needs shipping.",
+ "type": "boolean"
+ },
+ "sku": {
+ "description": "Merchant stock keeping unit code of the variant.",
+ "example": "A123",
+ "type": "string"
+ },
+ "taxable": {
+ "description": "Whether tax is charged on the variant.",
+ "type": "boolean"
+ },
+ "title": {
+ "description": "Variant name, for example `Natural Black / 10`.",
+ "example": "Natural Black / 10",
+ "type": "string"
+ },
+ "updated_at": {
+ "description": "Time the record was last updated, as Shopify returns it.",
"type": "string"
}
},
"type": "object"
},
- "substack.categoriesResponseDoc": {
+ "shopify.collectionProductsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/substack.CategoriesResult"
+ "$ref": "#/definitions/shopify.CollectionProductsResponse"
},
"msg": {
- "example": "success",
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "substack.categoryResponseDoc": {
+ "shopify.collectionsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/substack.CategoryResult"
+ "$ref": "#/definitions/shopify.CollectionsResponse"
},
"msg": {
- "example": "success",
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "substack.contributorsResponseDoc": {
+ "shopify.pageResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/substack.ContributorsResult"
+ "$ref": "#/definitions/shopify.PageResponse"
},
"msg": {
- "example": "success",
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "substack.exploreResponseDoc": {
+ "shopify.pagesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/substack.ExploreResult"
+ "$ref": "#/definitions/shopify.PagesResponse"
},
"msg": {
- "example": "success",
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "substack.leaderboardResponseDoc": {
+ "shopify.productRecommendationsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/substack.LeaderboardResult"
+ "$ref": "#/definitions/shopify.ProductRecommendationsResponse"
},
"msg": {
- "example": "success",
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "substack.noteRepliesResponseDoc": {
+ "shopify.productResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/substack.NoteRepliesResult"
+ "$ref": "#/definitions/shopify.ProductResponse"
},
"msg": {
- "example": "success",
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "substack.noteResponseDoc": {
+ "shopify.productsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/substack.Note"
+ "$ref": "#/definitions/shopify.ProductsResponse"
},
"msg": {
- "example": "success",
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "substack.noteRestacksResponseDoc": {
+ "shopify.searchSuggestResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/substack.NoteRestacksResult"
+ "$ref": "#/definitions/shopify.SearchSuggestResponse"
},
"msg": {
- "example": "success",
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "substack.notesFeedResponseDoc": {
+ "shopify.sitemapIndexResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/substack.NotesFeedResult"
+ "$ref": "#/definitions/shopify.SitemapIndexResponse"
},
"msg": {
- "example": "success",
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "substack.notesFeedTabsResponseDoc": {
+ "shopify.sitemapURLsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/substack.NotesFeedTabsResult"
+ "$ref": "#/definitions/shopify.SitemapURLsResponse"
},
"msg": {
- "example": "success",
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "substack.postResponseDoc": {
+ "shopify.storeResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/substack.PostDetail"
+ "$ref": "#/definitions/shopify.StoreResponse"
},
"msg": {
- "example": "success",
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "substack.postsResponseDoc": {
+ "shopifybrands.collectionProductsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/substack.PostsResult"
+ "$ref": "#/definitions/shopify.CollectionProductsResponse"
},
"msg": {
- "example": "success",
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "substack.publicationResponseDoc": {
+ "shopifybrands.collectionsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/substack.Publication"
+ "$ref": "#/definitions/shopify.CollectionsResponse"
},
"msg": {
- "example": "success",
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "substack.recommendationsResponseDoc": {
+ "shopifybrands.pageResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/substack.RecommendationsResult"
+ "$ref": "#/definitions/shopify.PageResponse"
},
"msg": {
- "example": "success",
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "substack.searchResponseDoc": {
+ "shopifybrands.pagesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/substack.SearchResult"
+ "$ref": "#/definitions/shopify.PagesResponse"
},
"msg": {
- "example": "success",
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "substack.userActivityResponseDoc": {
+ "shopifybrands.productRecommendationsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/substack.UserActivityResult"
+ "$ref": "#/definitions/shopify.ProductRecommendationsResponse"
},
"msg": {
- "example": "success",
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "substack.userConnectionsResponseDoc": {
+ "shopifybrands.productResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/substack.UserConnectionsResult"
+ "$ref": "#/definitions/shopify.ProductResponse"
},
"msg": {
- "example": "success",
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "substack.userResponseDoc": {
+ "shopifybrands.productsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/substack.User"
+ "$ref": "#/definitions/shopify.ProductsResponse"
},
"msg": {
- "example": "success",
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "substack.userSearchResponseDoc": {
+ "shopifybrands.reviewsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/substack.UserSearchResult"
+ "$ref": "#/definitions/shopify.ReviewsResponse"
},
"msg": {
- "example": "success",
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "subway.Allergen": {
+ "shopifybrands.searchResponseDoc": {
"properties": {
- "contains": {
- "type": "boolean"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "may_contain": {
- "type": "boolean"
+ "data": {
+ "$ref": "#/definitions/shopify.SearchResponse"
},
- "name": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "subway.AvailableTimesResponse": {
+ "shopifybrands.searchSuggestResponseDoc": {
"properties": {
- "count": {
- "example": 177,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "earliest_slot": {
- "description": "EarliestSlot and LatestSlot bracket Slots, kept as their own fields\nso a caller can read the window without scanning the array.",
- "example": "2026-09-05T13:15:00Z",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/shopify.SearchSuggestResponse"
},
- "fetched_at": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "interval_minutes": {
- "description": "IntervalMinutes is the spacing between consecutive slots, derived\nfrom the returned data rather than assumed. It is 0 when fewer than\ntwo slots came back.",
- "example": 5,
+ }
+ },
+ "type": "object"
+ },
+ "shopifybrands.siteSearchResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "latest_slot": {
- "example": "2026-09-06T03:55:00Z",
- "type": "string"
- },
- "slots": {
- "description": "Slots are RFC3339 UTC instants, earliest first, spaced by\nIntervalMinutes. They start at the store's next orderable time --\nroughly half an hour out, not immediately -- and run to closing.",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "source_url": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/shopify.SiteSearchResponse"
},
- "store_id": {
- "example": "75376-0",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "subway.ComboItem": {
+ "shopifybrands.sitemapIndexResponseDoc": {
"properties": {
- "a_la_carte_price": {
- "example": 12.97,
- "type": "number"
- },
- "description": {
- "description": "Description comes from the matching translation when the upstream\ncarries one; it is frequently empty.",
- "type": "string"
- },
- "id": {
- "example": "6",
- "type": "string"
- },
- "min_bundled_price": {
- "description": "MinBundledPrice is the cheapest advertised price for taking the\ncategory as a bundle; ALaCartePrice is the cheapest for buying its\ncontents separately. Either can be absent, so both are pointers --\na missing price and a genuine 0.00 are different facts.",
- "example": 9.99,
- "type": "number"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "name": {
- "example": "Sub Meal Deal",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/shopify.SitemapIndexResponse"
},
- "parent_id": {
- "description": "ParentID is set for a category nested under another, empty for a\ntop-level one.",
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "sort_order": {
- "example": 36,
- "type": "integer"
}
},
"type": "object"
},
- "subway.ComboResponse": {
+ "shopifybrands.sitemapURLsResponseDoc": {
"properties": {
- "categories": {
- "items": {
- "$ref": "#/definitions/subway.ComboItem"
- },
- "type": "array"
- },
- "count": {
- "example": 6,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "fetched_at": {
- "type": "string"
- },
- "source_url": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/shopify.SitemapURLsResponse"
},
- "store_id": {
- "example": "50916-0",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "subway.MenuCategory": {
+ "shopifybrands.storeResponseDoc": {
"properties": {
- "description": {
- "example": "",
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "is_main_category": {
- "type": "boolean"
- },
- "items": {
- "items": {
- "$ref": "#/definitions/subway.MenuItem"
- },
- "type": "array"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "name": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/shopify.StoreResponse"
},
- "slug": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "subway.MenuItem": {
+ "similarweb.SearchResp": {
"properties": {
- "id": {
- "type": "string"
- },
- "name": {
- "type": "string"
+ "apps": {
+ "description": "Apps matching the search term, grouped by store: Google Play and the App Store.",
+ "properties": {
+ "appStore": {
+ "items": {
+ "properties": {
+ "appKey": {
+ "example": "1_1484366079",
+ "type": "string"
+ },
+ "id": {
+ "example": "1484366079",
+ "type": "string"
+ },
+ "image": {
+ "example": "https://site-images.similarcdn.com/url?url=https%3A%2F%2Fis1-ssl.mzstatic.com%2Fimage%2Fthumb%2FPurple211%2Fv4%2F1c%2F1c%2Fe3%2F1c1ce399-1181-5be1-56d8-ee74e9f0cef4%2FAppIcon-0-0-1x_U007emarketing-0-0-0-7-0-0-85-220.png%2F175x175bb.png",
+ "type": "string"
+ },
+ "name": {
+ "example": "TwitterIt for Twitter X",
+ "type": "string"
+ },
+ "publisher": {
+ "example": "BEST SOCIAL APPS DEVELOPMENT LTD",
+ "type": "string"
+ },
+ "ratings": {
+ "example": 38197,
+ "type": "integer"
+ },
+ "store": {
+ "example": "apple",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "googlePlay": {
+ "items": {
+ "properties": {
+ "appKey": {
+ "example": "0_twittervideodownloader.twitter.videoindir.savegif.twdown",
+ "type": "string"
+ },
+ "id": {
+ "example": "twittervideodownloader.twitter.videoindir.savegif.twdown",
+ "type": "string"
+ },
+ "image": {
+ "example": "https://site-images.similarcdn.com/url?url=https%3A%2F%2Fplay-lh.googleusercontent.com%2FFi9-CFodjxpqvc3dC0XHDXHkFD3wkw9VccX_iL68U_3kmu2iIuHvIp5AZUoXGZ3mlQ%3Ds180",
+ "type": "string"
+ },
+ "name": {
+ "example": "X Saver:Download Twitter Video",
+ "type": "string"
+ },
+ "publisher": {
+ "example": "Shotcut Video Workshop",
+ "type": "string"
+ },
+ "ratings": {
+ "example": 159344,
+ "type": "integer"
+ },
+ "store": {
+ "example": "google",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
},
- "slug": {
- "type": "string"
+ "companies": {
+ "description": "Companies matching the search term.",
+ "items": {
+ "properties": {
+ "domain": {
+ "example": "twitter.com",
+ "type": "string"
+ },
+ "logoUrl": {
+ "example": "https://sw-df-production-internal-data.s3.amazonaws.com/si/company_data/merged_v2/firmographics_logos/30e41d95dd013b4ec1b8d9e614ec546807cb2152b1f54fa3031d7e6488f93ce4.jpg",
+ "type": "string"
+ },
+ "name": {
+ "example": "Twitter",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "type": "array"
},
- "variants": {
+ "websites": {
+ "description": "Websites matching the search term.",
"items": {
- "$ref": "#/definitions/subway.MenuVariant"
+ "properties": {
+ "image": {
+ "example": "https://site-images.similarcdn.com/image?url=twitter.com&t=2&s=1&h=05438debe431144d9c727828570d1754a25bd9286bc14f3aa65a4f05b9057e25",
+ "type": "string"
+ },
+ "isVirtual": {
+ "example": false,
+ "type": "boolean"
+ },
+ "name": {
+ "example": "twitter.com",
+ "type": "string"
+ }
+ },
+ "type": "object"
},
"type": "array"
}
},
"type": "object"
},
- "subway.MenuResponse": {
+ "similarweb.SimilarWebResp": {
"properties": {
- "categories": {
- "items": {
- "$ref": "#/definitions/subway.MenuCategory"
+ "AiTrafficDetails": {
+ "description": "AiTrafficDetails carries SimilarWeb's AI-chatbot traffic insights (the\nextension's \"AI Traffic\" feature set): which AI platforms send traffic\nto this domain, how that mix changed over recent months, and the top\nprompts users asked those chatbots that referred visits here. Left at\nits zero value when DataSource is \"public_page\" because that source\ndoesn't expose it.",
+ "properties": {
+ "ReferralTraffic": {
+ "type": "number"
+ },
+ "TopPrompts": {
+ "properties": {
+ "ErrorMessage": {
+ "type": "string"
+ },
+ "Prompts": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Status": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "TotalVisits": {
+ "type": "number"
+ },
+ "Traffic": {
+ "properties": {
+ "Distribution": {
+ "properties": {
+ "Boundary": {
+ "type": "string"
+ },
+ "Chart": {
+ "items": {
+ "properties": {
+ "History": {
+ "items": {
+ "properties": {
+ "Date": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "Icon": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "Chatbots": {
+ "items": {
+ "properties": {
+ "Icon": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "Split": {
+ "items": {
+ "properties": {
+ "Icon": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "Rank": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
},
- "type": "array"
- },
- "category_count": {
- "type": "integer"
- },
- "currency": {
- "example": "USD",
- "type": "string"
+ "type": "object"
},
- "fetched_at": {
+ "Category": {
+ "description": "Category SimilarWeb places the site in.",
"type": "string"
},
- "product_count": {
- "type": "integer"
+ "CategoryRank": {
+ "description": "Rank of the site within its category, with the category name.",
+ "properties": {
+ "Category": {
+ "type": "string"
+ },
+ "Rank": {
+ "type": "string"
+ }
+ },
+ "type": "object"
},
- "source_url": {
- "type": "string"
+ "Competitors": {
+ "description": "Sites SimilarWeb lists as most similar to the domain.",
+ "properties": {
+ "TopSimilarityCompetitors": {
+ "items": {},
+ "type": "array"
+ }
+ },
+ "type": "object"
},
- "store_id": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "subway.MenuVariant": {
- "properties": {
- "allergens": {
+ "Countries": {
+ "description": "Countries SimilarWeb returns with the site's data, each with a code, URL code and name.",
"items": {
- "$ref": "#/definitions/subway.Allergen"
+ "properties": {
+ "Code": {
+ "type": "string"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "UrlCode": {
+ "type": "string"
+ }
+ },
+ "type": "object"
},
"type": "array"
},
- "available": {
- "type": "boolean"
+ "CountryRank": {
+ "description": "Rank of the site within one country, with that country's code.",
+ "properties": {
+ "Country": {
+ "type": "integer"
+ },
+ "CountryCode": {
+ "type": "string"
+ },
+ "Rank": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
},
- "id": {
+ "DataSource": {
+ "description": "DataSource reports which upstream this response was populated from.\n\"extension_api\" is the full-coverage source (SimilarWeb's undocumented\nbrowser-extension API); \"public_page\" is a narrower, credential-free\nfallback (see website.go) used only when the extension API is\nunreachable -- some fields above are left at their zero value when\nDataSource is \"public_page\" because this source doesn't expose them.\nSee docs/similarweb-web.md for the full field-availability breakdown.",
+ "example": "extension_api",
"type": "string"
},
- "image_asset_urn": {
- "description": "ImageAssetURN is Subway's own Adobe AEM asset identifier, not a\ndirectly fetchable URL -- confirmed live 2026-09-02 that the\nupstream's own imageUrl field is always empty; this is what is\nactually populated. Kept as-is rather than inventing an unverified\ndelivery-URL scheme.",
+ "Description": {
+ "description": "Site description as SimilarWeb shows it.",
"type": "string"
},
- "name": {
- "description": "Name is the upstream product name, which sometimes carries an\ninternal build code in parentheses (e.g. \"(1DM)\") -- passed through\nverbatim rather than stripped, since the meaning of that code is not\ndocumented anywhere this family could confirm.",
- "type": "string"
+ "Engagments": {
+ "description": "Engagement figures for the latest month: bounce rate, pages per visit, visits, time on site, month and year.",
+ "properties": {
+ "BounceRate": {
+ "type": "string"
+ },
+ "Month": {
+ "type": "string"
+ },
+ "PagePerVisit": {
+ "type": "string"
+ },
+ "TimeOnSite": {
+ "type": "string"
+ },
+ "Visits": {
+ "type": "string"
+ },
+ "Year": {
+ "type": "string"
+ }
+ },
+ "type": "object"
},
- "nutrition": {
- "items": {
- "$ref": "#/definitions/subway.NutritionFact"
+ "EstimatedMonthlyVisits": {
+ "description": "Estimated visits per month, keyed by the first day of the month (YYYY-MM-DD).",
+ "properties": {
+ "2024-09-01": {
+ "type": "integer"
+ },
+ "2024-10-01": {
+ "type": "integer"
+ },
+ "2024-11-01": {
+ "type": "integer"
+ }
},
- "type": "array"
+ "type": "object"
},
- "price": {
- "type": "number"
+ "GlobalCategoryRank": {
+ "description": "Rank of the site within its category across all countries, when SimilarWeb provides it."
},
- "size": {
- "description": "Size is the build label (\"Footlong\", \"6''\", \"Kids\") distinguishing\nthis variant from siblings of the same MenuItem.",
- "type": "string"
- }
- },
- "type": "object"
- },
- "subway.NearbyResponse": {
- "properties": {
- "count": {
- "type": "integer"
+ "GlobalRank": {
+ "description": "Global traffic rank of the site, in `Rank`.",
+ "properties": {
+ "Rank": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
},
- "fetched_at": {
- "type": "string"
+ "IsDataFromGa": {
+ "description": "Whether SimilarWeb reports the site's data as coming from Google Analytics.",
+ "type": "boolean"
},
- "next_offset": {
- "description": "NextOffset pages through TotalResults -- pass it back as offset on\nthe next call. Upstream does not signal \"last page\" explicitly;\ncompare count/total_results, or stop once a page returns fewer\nstores than requested.",
- "type": "string"
+ "IsSmall": {
+ "description": "Whether SimilarWeb treats the site as a small site.",
+ "type": "boolean"
},
- "source_url": {
+ "LargeScreenshot": {
+ "description": "URL of a large screenshot of the site.",
"type": "string"
},
- "stores": {
- "items": {
- "$ref": "#/definitions/subway.NearbyStore"
+ "Notification": {
+ "description": "Notice SimilarWeb attaches to the site's data, in `Content`.",
+ "properties": {
+ "Content": {}
},
- "type": "array"
+ "type": "object"
},
- "total_results": {
+ "Policy": {
+ "description": "Numeric policy value SimilarWeb returns with the site's data.",
"type": "integer"
- }
- },
- "type": "object"
- },
- "subway.NearbyStore": {
- "properties": {
- "address": {
- "$ref": "#/definitions/subway.StoreAddress"
},
- "can_take_online_orders": {
- "type": "boolean"
+ "SiteName": {
+ "description": "Domain name of the site.",
+ "type": "string"
},
- "catering_url": {
+ "SnapshotDate": {
+ "description": "Date and time of the SimilarWeb data snapshot.",
"type": "string"
},
- "distance_miles": {
- "description": "DistanceMiles is measured from the requested coordinate/query.",
- "type": "number"
+ "Title": {
+ "description": "Site title as SimilarWeb shows it.",
+ "type": "string"
},
- "features": {
- "description": "Features lists which of the seven documented filter values this\nstore actually has -- the same tokens the features query param\naccepts as input.",
+ "TopCountryShares": {
+ "description": "Countries that send the most visits, each with its country code and share of traffic.",
"items": {
- "type": "string"
+ "properties": {
+ "Country": {
+ "type": "integer"
+ },
+ "CountryCode": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "number"
+ }
+ },
+ "type": "object"
},
"type": "array"
},
- "hours": {
+ "TopKeywords": {
+ "description": "Top search keywords bringing visits to the site, each with estimated value, volume and cost per click.",
"items": {
- "$ref": "#/definitions/subway.StoreHours"
+ "properties": {
+ "Cpc": {
+ "type": "number"
+ },
+ "EstimatedValue": {
+ "type": "number"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "Volume": {
+ "type": "number"
+ }
+ },
+ "type": "object"
},
"type": "array"
},
- "is_open_now": {
- "type": "boolean"
- },
- "latitude": {
- "type": "number"
- },
- "longitude": {
- "type": "number"
- },
- "payment_methods": {
- "items": {
- "type": "string"
+ "TrafficSources": {
+ "description": "Share of traffic from each source: social, paid referrals, mail, referrals, search and direct.",
+ "properties": {
+ "Direct": {
+ "type": "number"
+ },
+ "Mail": {
+ "type": "number"
+ },
+ "Paid Referrals": {
+ "type": "number"
+ },
+ "Referrals": {
+ "type": "number"
+ },
+ "Search": {
+ "type": "number"
+ },
+ "Social": {
+ "type": "number"
+ }
},
- "type": "array"
+ "type": "object"
},
- "phone_number": {
- "type": "string"
+ "Version": {
+ "description": "Version number SimilarWeb returns with the site's data.",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "similarweb.searchResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "store_id": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/similarweb.SearchResp"
},
- "timezone": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "subway.NutritionFact": {
+ "similarweb.webResponseDoc": {
"properties": {
- "name": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "value": {
- "type": "number"
+ "data": {
+ "$ref": "#/definitions/similarweb.SimilarWebResp"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "subway.SitemapEntry": {
+ "skynews.AuthorInfoItem": {
"properties": {
- "depth": {
- "description": "Depth is how many path segments the entry has. A store page is the\ndeepest level; shallower entries are country/region/city directory\npages that are also listed in the same sitemap.",
- "example": 4,
- "type": "integer"
- },
- "path": {
- "description": "Path is the locator path, the value /subway/store takes.",
- "example": "united-states/ny/new-york/1-penn-plaza",
+ "label": {
"type": "string"
},
"url": {
"type": "string"
+ },
+ "value": {
+ "type": "string"
}
},
"type": "object"
},
- "subway.SitemapResponse": {
+ "skynews.AuthorResponse": {
"properties": {
- "count": {
- "example": 100,
- "type": "integer"
- },
- "entries": {
+ "articles": {
"items": {
- "$ref": "#/definitions/subway.SitemapEntry"
+ "$ref": "#/definitions/skynews.HeadlineItem"
},
"type": "array"
},
- "fetched_at": {
- "type": "string"
- },
- "page": {
- "example": 1,
- "type": "integer"
- },
- "shard": {
- "example": 0,
- "type": "integer"
+ "biography": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "shard_count": {
- "example": 1,
- "type": "integer"
+ "info": {
+ "items": {
+ "$ref": "#/definitions/skynews.AuthorInfoItem"
+ },
+ "type": "array"
},
- "source_url": {
+ "job_title": {
"type": "string"
},
- "total_in_shard": {
- "example": 22706,
- "type": "integer"
+ "name": {
+ "type": "string"
},
- "total_pages": {
- "example": 228,
- "type": "integer"
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "subway.StoreAddress": {
+ "skynews.HeadlineItem": {
"properties": {
- "city": {
- "example": "New York",
+ "author": {
"type": "string"
},
- "country": {
- "example": "US",
+ "image_url": {
"type": "string"
},
- "postal_code": {
- "example": "10119",
+ "published_at": {
"type": "string"
},
- "region": {
- "example": "NY",
+ "summary": {
"type": "string"
},
- "street": {
- "example": "1 Penn Plaza",
+ "title": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "subway.StoreHours": {
+ "skynews.VideoResponse": {
"properties": {
- "closed": {
- "example": false,
- "type": "boolean"
+ "description": {
+ "type": "string"
},
- "closes": {
- "example": "23:00",
+ "duration_seconds": {
+ "type": "integer"
+ },
+ "embed_url": {
"type": "string"
},
- "day_of_week": {
- "example": "Monday",
+ "published_at": {
"type": "string"
},
- "opens": {
- "example": "09:00",
+ "thumbnail_urls": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "title": {
"type": "string"
},
- "segments": {
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "skynews.VideosResponse": {
+ "properties": {
+ "items": {
"items": {
- "$ref": "#/definitions/subway.TimeSegment"
+ "$ref": "#/definitions/skynews.HeadlineItem"
},
"type": "array"
}
},
"type": "object"
},
- "subway.StoreResponse": {
+ "skysports.AuthorResponse": {
"properties": {
- "address": {
- "$ref": "#/definitions/subway.StoreAddress"
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/newsplatform.HeadlineItem"
+ },
+ "type": "array"
},
- "description": {
- "description": "Description is the store's marketing blurb.",
- "type": "string"
+ "biography": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "fetched_at": {
+ "job_title": {
"type": "string"
},
- "franchise_number": {
- "description": "FranchiseNumber is the store's franchise identifier, distinct from\nStoreID (which carries a \"-0\" ordering suffix).",
- "example": "75376",
+ "name": {
"type": "string"
},
- "google_cid": {
- "example": "7950893118019215099",
+ "url": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "slate.ArticleResponse": {
+ "properties": {
+ "authors": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "google_place_id": {
- "description": "GooglePlaceID and GoogleCID identify this store in Google's own\ndata, so a caller can join a Subway location to a Google Maps\nplace without geocoding it themselves.",
- "example": "ChIJcXhciqhZwokR-x6iSio_V24",
+ "description": {
"type": "string"
},
- "has_catering": {
- "type": "boolean"
- },
- "has_drive_through": {
- "type": "boolean"
- },
- "has_online_ordering": {
- "description": "HasOnlineOrdering, HasCatering and HasDriveThrough are the\nlocator's explicit booleans. They are pointers so \"not published\"\nstays distinguishable from a published false.",
- "type": "boolean"
- },
- "hours": {
+ "headings": {
"items": {
- "$ref": "#/definitions/subway.StoreHours"
+ "type": "string"
},
"type": "array"
},
- "latitude": {
- "example": 40.7517026,
- "type": "number"
+ "image_url": {
+ "type": "string"
},
- "longitude": {
- "example": -73.9925826,
- "type": "number"
+ "is_paywalled": {
+ "type": "boolean"
},
- "meals_served": {
+ "paragraphs": {
"items": {
"type": "string"
},
"type": "array"
},
- "menu_url": {
- "description": "MenuURL and OrderURL point at the store's ordering pages.",
- "example": "https://order.subway.com/en-us/restaurant/75376-0/menu/",
+ "published_at": {
"type": "string"
},
- "name": {
- "example": "Subway",
+ "section": {
"type": "string"
},
- "open": {
- "description": "Open reports the location's own published status. False means the\nstore is flagged closed (permanently or long-term), which is not\nthe same as being outside today's opening hours.",
- "example": true,
- "type": "boolean"
- },
- "order_url": {
- "type": "string"
+ "tags": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "path": {
+ "title": {
"type": "string"
},
- "phone_e164": {
- "description": "PhoneE164 is the same number in dialable E.164 form.",
- "example": "+12122440101",
+ "updated_at": {
"type": "string"
},
- "phone_number": {
- "example": "(212) 244-0101",
+ "url": {
"type": "string"
- },
- "pickup_and_delivery_services": {
- "description": "PickupAndDeliveryServices and MealsServed are the locator's own\nseparate groupings, kept distinct rather than merged into Services.",
+ }
+ },
+ "type": "object"
+ },
+ "slate.CategoriesResponse": {
+ "properties": {
+ "sections": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/slate.Section"
},
"type": "array"
- },
- "price_range": {
- "description": "PriceRange is the locator's own band, e.g. \"$\".",
- "example": "$",
+ }
+ },
+ "type": "object"
+ },
+ "slate.HeadlineItem": {
+ "properties": {
+ "author": {
"type": "string"
},
- "services": {
- "description": "Services lists the amenities the locator publishes for this store,\ne.g. \"online ordering\", \"delivery\", \"catering\".",
+ "categories": {
"items": {
"type": "string"
},
"type": "array"
},
- "source_url": {
+ "id": {
"type": "string"
},
- "store_id": {
- "description": "StoreID is the numeric ordering identifier (e.g. \"75376-0\") this\nstore uses on subway.com's ordering app -- pass it to\nGET /subway/menu as store_id. It comes free with this same page\nfetch; the locator and ordering platforms share one store ID.",
- "example": "75376-0",
+ "image_url": {
"type": "string"
},
- "timezone": {
- "description": "Timezone is the store's IANA zone -- needed to read the UTC slots\nfrom GET /subway/available-times as local wall-clock times.",
- "example": "America/New_York",
+ "published_at": {
"type": "string"
- }
- },
- "type": "object"
- },
- "subway.TimeSegment": {
- "properties": {
- "closes": {
- "example": "23:00",
+ },
+ "summary": {
"type": "string"
},
- "opens": {
- "example": "09:00",
+ "title": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "subway.availableTimesResponseDoc": {
+ "slate.HeadlinesResponse": {
"properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
+ "feed_url": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/subway.AvailableTimesResponse"
+ "items": {
+ "items": {
+ "$ref": "#/definitions/slate.HeadlineItem"
+ },
+ "type": "array"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "section": {
+ "type": "string"
}
},
"type": "object"
},
- "subway.combosResponseDoc": {
+ "slate.Section": {
"properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
+ "feed_url": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/subway.ComboResponse"
+ "name": {
+ "type": "string"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
- }
- },
- "type": "object"
- },
- "subway.menuResponseDoc": {
- "properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
+ "path": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/subway.MenuResponse"
+ "slug": {
+ "type": "string"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "subway.nearbyResponseDoc": {
+ "slate.articleResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/subway.NearbyResponse"
+ "$ref": "#/definitions/slate.ArticleResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "subway.sitemapResponseDoc": {
+ "slate.categoriesResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/subway.SitemapResponse"
+ "$ref": "#/definitions/slate.CategoriesResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "subway.storeResponseDoc": {
+ "slate.headlinesResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/subway.StoreResponse"
+ "$ref": "#/definitions/slate.HeadlinesResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "suggest.Response": {
+ "slickdeals.CategoriesResponse": {
"properties": {
- "query": {
- "example": "openai",
- "type": "string"
- },
- "suggestions": {
+ "categories": {
"items": {
- "$ref": "#/definitions/suggest.Suggestion"
+ "$ref": "#/definitions/slickdeals.CategoryRef"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "suggest.Suggestion": {
- "properties": {
- "position": {
- "example": 1,
+ },
+ "count": {
+ "example": 421,
"type": "integer"
},
- "query": {
- "example": "openai api key",
+ "fetched_at": {
+ "type": "string"
+ },
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "sun.AuthorArticle": {
+ "slickdeals.CategoryDeal": {
"properties": {
- "category": {
- "type": "string"
+ "comment_count": {
+ "example": 1,
+ "type": "integer"
},
- "category_url": {
+ "found_by": {
+ "example": "phoinix",
"type": "string"
},
- "excerpt": {
- "type": "string"
+ "is_expired": {
+ "example": false,
+ "type": "boolean"
},
- "title": {
+ "is_frontpage": {
+ "example": false,
+ "type": "boolean"
+ },
+ "is_new": {
+ "example": false,
+ "type": "boolean"
+ },
+ "is_popular": {
+ "example": true,
+ "type": "boolean"
+ },
+ "list_price": {
+ "example": "$150",
"type": "string"
},
- "url": {
+ "posted_at": {
+ "example": "2026-08-28T14:21:36Z",
"type": "string"
- }
- },
- "type": "object"
- },
- "sun.AuthorResponse": {
- "properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/sun.AuthorArticle"
- },
- "type": "array"
},
- "bio": {
+ "price": {
+ "example": "$24.99",
"type": "string"
},
- "job_title": {
+ "store": {
+ "example": "Morningsave.com",
"type": "string"
},
- "name": {
+ "thread_id": {
+ "example": 19842723,
+ "type": "integer"
+ },
+ "title": {
+ "example": "Hex Evolve Backpack Aspect Duffel Bag $24.99 Free Shipping",
"type": "string"
},
"url": {
"type": "string"
+ },
+ "vote_score": {
+ "example": 9,
+ "type": "integer"
}
},
"type": "object"
},
- "swiggy.Collection": {
+ "slickdeals.CategoryRef": {
"properties": {
- "id": {
+ "name": {
+ "example": "Laptop Bags",
"type": "string"
},
- "image_url": {
+ "slug": {
+ "example": "laptop-bag",
"type": "string"
},
- "title": {
+ "url": {
+ "example": "https://slickdeals.net/deals/laptop-bag/",
"type": "string"
}
},
"type": "object"
},
- "swiggy.CollectionsResponse": {
- "properties": {
- "collections": {
- "items": {
- "$ref": "#/definitions/swiggy.Collection"
- },
- "type": "array"
- },
- "is_serviceable": {
- "description": "IsServiceable reports whether Swiggy delivers to the requested\ncoordinates at all. False means the coordinates are outside\nSwiggy's delivery coverage, so an empty collections list is a\ncoverage answer rather than a served location that simply has no\ncurated collections. The same field is returned by /swiggy/search's\nplain nearby browse.",
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "swiggy.ExternalRating": {
+ "slickdeals.CategoryResponse": {
"properties": {
"count": {
- "type": "string"
- },
- "rating": {
- "type": "number"
+ "example": 37,
+ "type": "integer"
},
- "source": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "swiggy.MenuCategory": {
- "properties": {
- "items": {
+ "deals": {
"items": {
- "$ref": "#/definitions/swiggy.MenuItem"
+ "$ref": "#/definitions/slickdeals.CategoryDeal"
},
"type": "array"
},
- "subcategory": {
+ "fetched_at": {
"type": "string"
},
- "title": {
+ "slug": {
+ "example": "laptop-bag",
+ "type": "string"
+ },
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "swiggy.MenuItem": {
+ "slickdeals.Comment": {
"properties": {
- "category": {
+ "author": {
+ "example": "OutFr0mUndr",
"type": "string"
},
- "description": {
- "type": "string"
+ "author_post_count": {
+ "example": 49,
+ "type": "integer"
},
- "discounted_price": {
- "type": "number"
+ "author_title": {
+ "example": "L2: Beginner",
+ "type": "string"
},
- "id": {
+ "content": {
+ "example": "Shows as $358.53 for me...",
"type": "string"
},
- "image_url": {
+ "content_html": {
"type": "string"
},
- "in_stock": {
- "type": "boolean"
+ "funny_count": {
+ "type": "integer"
},
- "is_veg": {
- "type": "boolean"
+ "helpful_count": {
+ "type": "integer"
},
- "name": {
- "type": "string"
+ "like_count": {
+ "example": 1,
+ "type": "integer"
},
- "price": {
- "type": "number"
+ "not_helpful_count": {
+ "type": "integer"
},
- "rating": {
- "description": "Rating and TotalRatings are Swiggy's own aggregate score and review\ncount for this individual dish, the same two fields a restaurant\ncarries. Omitted when the dish has no rating yet. Only the headline\naggregate is returned -- individual reviews and reviewer identity\nare out of scope for this platform.",
- "type": "number"
+ "permalink": {
+ "type": "string"
},
- "total_ratings": {
+ "post_id": {
+ "example": 186692484,
"type": "integer"
+ },
+ "posted_at": {
+ "example": "2026-09-14T19:17:54-07:00",
+ "type": "string"
}
},
"type": "object"
},
- "swiggy.MenuResponse": {
+ "slickdeals.CommentsResponse": {
"properties": {
- "categories": {
- "items": {
- "$ref": "#/definitions/swiggy.MenuCategory"
- },
- "type": "array"
- },
- "offers": {
+ "comments": {
"items": {
- "$ref": "#/definitions/swiggy.Offer"
+ "$ref": "#/definitions/slickdeals.Comment"
},
"type": "array"
},
- "restaurant": {
- "$ref": "#/definitions/swiggy.Restaurant"
- }
- },
- "type": "object"
- },
- "swiggy.Offer": {
- "properties": {
- "coupon_code": {
- "type": "string"
+ "count": {
+ "example": 4,
+ "type": "integer"
},
- "description": {
+ "fetched_at": {
"type": "string"
},
- "tag": {
- "type": "string"
+ "has_more": {
+ "type": "boolean"
},
- "title": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "swiggy.OpeningHours": {
- "properties": {
- "day": {
+ "source_url": {
"type": "string"
},
- "hours": {
- "type": "string"
+ "thread_id": {
+ "example": 20015817,
+ "type": "integer"
}
},
"type": "object"
},
- "swiggy.Restaurant": {
+ "slickdeals.Deal": {
"properties": {
- "address": {
- "type": "string"
- },
- "area": {
- "type": "string"
- },
- "city": {
+ "brand": {
+ "example": "Microsoft",
"type": "string"
},
- "cost_for_two": {
+ "category": {
+ "description": "Category/SubCategory/CategoryPaths are Slickdeals' modern product\ntaxonomy for this deal (distinct from Forum/ForumID above -- these\nare two different id spaces Slickdeals maintains in parallel).",
+ "example": "Computers",
"type": "string"
},
- "cuisines": {
+ "category_paths": {
+ "example": [
+ "Computers > Laptops",
+ "Computers"
+ ],
"items": {
"type": "string"
},
"type": "array"
},
- "delivery_time_minutes": {
+ "comment_count": {
+ "example": 4,
"type": "integer"
},
- "dishes": {
- "description": "Dishes are the menu items that actually matched a /swiggy/search\nquery, carried only by Swiggy's own \"Dishes\" search tab (tab=dish).\nEmpty on the restaurant tab, on a plain nearby browse, on a\ncollection browse, and on /swiggy/restaurant -- none of those\nupstream shapes carry per-restaurant dish matches.",
- "items": {
- "$ref": "#/definitions/swiggy.MenuItem"
- },
- "type": "array"
- },
- "external_rating": {
- "$ref": "#/definitions/swiggy.ExternalRating"
- },
- "hours_message": {
+ "cta_text": {
+ "example": "Get Deal at eBay",
"type": "string"
},
- "hours_status": {
- "description": "HoursStatus/HoursMessage are Swiggy's own live open/close callout\nfor this outlet (\"Open now\" / \"Closes 11:30 pm\"); OpeningHours is\nits weekly schedule. Only the restaurant detail and menu responses\ncarry these -- search and collection listing cards do not, so they\nare empty on /swiggy/search results.",
+ "deal_url": {
+ "description": "DealURL is Slickdeals' own outbound/affiliate redirect to the\nmerchant; following it lands on the store's own page for this deal.",
"type": "string"
},
- "id": {
+ "description": {
"type": "string"
},
- "image_url": {
+ "description_html": {
"type": "string"
},
- "is_open": {
- "type": "boolean"
- },
- "is_promoted": {
- "description": "IsPromoted reports whether Swiggy itself labels this a promoted\n(sponsored, paid-placement) result rather than an organic one.\nPresent and true only for those; Swiggy marks none on a plain\nnearby browse.",
- "type": "boolean"
+ "fetched_at": {
+ "type": "string"
},
- "latitude": {
- "type": "number"
+ "final_price": {
+ "example": "$358.53",
+ "type": "string"
},
- "locality": {
+ "forum": {
+ "description": "Forum is Slickdeals' own legacy sub-forum name the thread was posted\nin (e.g. \"Hot Deals\") -- a different, coarser taxonomy than\nCategory/SubCategory. ForumID is its numeric legacy id.",
+ "example": "Hot Deals",
"type": "string"
},
- "longitude": {
- "type": "number"
+ "forum_id": {
+ "example": 9,
+ "type": "integer"
},
- "name": {
+ "found_by": {
+ "description": "FoundBy is the public Slickdeals username who posted the deal --\nthe same public-forum-post attribution class this repo already\nexposes for Reddit.",
+ "example": "BML6182",
"type": "string"
},
- "offers": {
- "description": "Offers are the promotions Swiggy shows on this restaurant's own\nlisting card in a search, browse, or collection result -- the\nheadline discount and its condition, its badge, and any separate\nfree-delivery benefit. Absent when the card shows no promotion, and\non /swiggy/restaurant and /swiggy/restaurant/menu, whose responses\ncarry the restaurant's fuller offer list at the top level instead.",
- "items": {
- "$ref": "#/definitions/swiggy.Offer"
- },
- "type": "array"
+ "found_by_profile": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/slickdeals.UserProfile"
+ }
+ ],
+ "description": "FoundByProfile is a public summary of the FoundBy user's Slickdeals\ncommunity standing -- read from the same page's own \"About the\nAuthor\" sidebar, at no additional upstream cost."
},
- "opening_hours": {
+ "image_urls": {
"items": {
- "$ref": "#/definitions/swiggy.OpeningHours"
+ "type": "string"
},
"type": "array"
},
- "phone": {
- "type": "string"
+ "is_expired": {
+ "example": false,
+ "type": "boolean"
},
- "postal_code": {
+ "list_price": {
+ "example": "$1,200.00",
"type": "string"
},
- "rating": {
- "type": "number"
- },
- "rating_count": {
+ "posted_at": {
+ "example": "2026-09-14T19:13:22-07:00",
"type": "string"
},
- "total_ratings": {
- "type": "integer"
- },
- "unavailable_message": {
- "description": "UnavailableMessage is Swiggy's own reason this listed restaurant\ncannot be ordered from right now (\"Currently not taking orders for\nthis location\", \"Opens next at 5 pm, today\", \"Temporarily closed for\ndelivery\"). Absent for a restaurant that is currently orderable.\nNote it is not simply the inverse of is_open: a restaurant Swiggy\nreports as open can still be unavailable for the requested location.",
- "type": "string"
- }
- },
- "type": "object"
- },
- "swiggy.RestaurantResponse": {
- "properties": {
- "offers": {
+ "related_deals": {
+ "description": "RelatedDeals is Slickdeals' own \"Popular Deals\"/\"Trending Deals\"\nsidebar shown alongside this thread -- read from the same page\nfetch as the rest of this record, at no additional upstream cost.",
"items": {
- "$ref": "#/definitions/swiggy.Offer"
+ "$ref": "#/definitions/slickdeals.RelatedDeal"
},
"type": "array"
},
- "restaurant": {
- "$ref": "#/definitions/swiggy.Restaurant"
- }
- },
- "type": "object"
- },
- "swiggy.SearchResponse": {
- "properties": {
- "is_serviceable": {
- "description": "IsServiceable reports whether Swiggy delivers to the requested\ncoordinates at all. False means the coordinates are outside\nSwiggy's delivery coverage, so an empty restaurants list is a\ncoverage answer rather than a no-matches answer; an empty list\nwithout this field means no matches in a served area. Returned\nonly for the plain nearby browse -- keyword search and a\ncollection_id browse omit it, because Swiggy answers neither with\na coverage verdict.",
- "type": "boolean"
- },
- "next_offset": {
+ "source_url": {
"type": "string"
},
- "restaurants": {
- "items": {
- "$ref": "#/definitions/swiggy.Restaurant"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "swiggy.collectionsResponseDoc": {
- "properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/swiggy.CollectionsResponse"
- },
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
- }
- },
- "type": "object"
- },
- "swiggy.menuResponseDoc": {
- "properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/swiggy.MenuResponse"
- },
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
- }
- },
- "type": "object"
- },
- "swiggy.restaurantResponseDoc": {
- "properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/swiggy.RestaurantResponse"
- },
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
- }
- },
- "type": "object"
- },
- "swiggy.searchResponseDoc": {
- "properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/swiggy.SearchResponse"
- },
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
- }
- },
- "type": "object"
- },
- "tacobell.AppMenuBundleChoice": {
- "properties": {
- "code": {
- "example": "22603_22902_1",
+ "store": {
+ "example": "eBay",
"type": "string"
},
- "default_product_codes": {
- "example": [
- "22101"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
+ "sub_category": {
+ "example": "Laptops",
+ "type": "string"
},
- "max_selections": {
- "example": 1,
+ "thread_id": {
+ "example": 20015817,
"type": "integer"
},
- "min_selections": {
- "example": 1,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "tacobell.AppMenuCategory": {
- "properties": {
- "code": {
- "example": "tacos",
+ "title": {
+ "example": "Microsoft Surface Laptop 5 13.5\" 2.5GHz/16GB/256GB - Refurb w/Warranty $358.53",
"type": "string"
},
- "items": {
- "items": {
- "$ref": "#/definitions/tacobell.AppMenuItem"
- },
- "type": "array"
- },
- "name": {
- "example": "Tacos",
- "type": "string"
- }
- },
- "type": "object"
- },
- "tacobell.AppMenuDaypart": {
- "properties": {
- "code": {
- "example": "HappyHour",
+ "url": {
+ "example": "https://slickdeals.net/f/20015817-microsoft-surface-laptop-5-13-5-2-5ghz-16gb-256gb-refurb-w-warranty-358-53",
"type": "string"
},
- "name": {
- "example": "Happy Hour",
- "type": "string"
+ "vote_score": {
+ "example": -1,
+ "type": "integer"
}
},
"type": "object"
},
- "tacobell.AppMenuItem": {
+ "slickdeals.DealTypeRef": {
"properties": {
- "calories": {
- "example": 771,
+ "id": {
+ "example": 1774,
"type": "integer"
},
- "choices": {
- "description": "Choices is populated only when kind is \"bundle\".",
- "items": {
- "$ref": "#/definitions/tacobell.AppMenuBundleChoice"
- },
- "type": "array"
- },
- "code": {
- "example": "22603",
- "type": "string"
- },
- "daypart_codes": {
- "example": [
- "BalanceOfDay"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "description": {
- "type": "string"
- },
- "image_url": {
- "type": "string"
- },
- "kind": {
- "example": "bundle",
- "type": "string"
- },
"name": {
- "example": "3 Crunchy Tacos Supreme Combo",
+ "example": "Free / Freebie",
"type": "string"
- },
- "price": {
- "$ref": "#/definitions/tacobell.Money"
}
},
"type": "object"
},
- "tacobell.AppMenuResponse": {
+ "slickdeals.DealTypesResponse": {
"properties": {
- "categories": {
- "items": {
- "$ref": "#/definitions/tacobell.AppMenuCategory"
- },
- "type": "array"
- },
- "category_count": {
- "example": 17,
+ "count": {
+ "example": 10,
"type": "integer"
},
- "dayparts": {
+ "deal_types": {
"items": {
- "$ref": "#/definitions/tacobell.AppMenuDaypart"
+ "$ref": "#/definitions/slickdeals.DealTypeRef"
},
"type": "array"
},
"fetched_at": {
"type": "string"
},
- "item_count": {
- "example": 207,
- "type": "integer"
- },
"source_url": {
"type": "string"
- },
- "store_number": {
- "example": "034922",
- "type": "string"
}
},
"type": "object"
},
- "tacobell.CategoriesResponse": {
+ "slickdeals.ForumRef": {
"properties": {
- "categories": {
- "items": {
- "$ref": "#/definitions/tacobell.Category"
- },
- "type": "array"
- },
- "count": {
- "example": 17,
+ "id": {
+ "example": 9,
"type": "integer"
},
- "fetched_at": {
- "type": "string"
- },
- "source_url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "tacobell.Category": {
- "properties": {
- "hidden_from_menu": {
- "description": "HiddenFromMenu marks a category Taco Bell does not surface in its own\nmenu navigation; it is still fetchable.",
- "example": false,
- "type": "boolean"
- },
"name": {
- "example": "Tacos",
- "type": "string"
- },
- "slug": {
- "example": "tacos",
+ "example": "Hot Deals",
"type": "string"
},
"url": {
+ "example": "https://slickdeals.net/forums/forumdisplay.php?f=9",
"type": "string"
}
},
"type": "object"
},
- "tacobell.CustomizationGroup": {
+ "slickdeals.ForumsResponse": {
"properties": {
"count": {
- "example": 9,
+ "example": 26,
"type": "integer"
},
- "group": {
- "example": "sauce_options",
+ "fetched_at": {
"type": "string"
},
- "options": {
+ "forums": {
"items": {
- "$ref": "#/definitions/tacobell.CustomizationOption"
+ "$ref": "#/definitions/slickdeals.ForumRef"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "tacobell.CustomizationOption": {
- "properties": {
- "accurate_calories": {
- "description": "AccurateCalories is Taco Bell's unrounded figure; `calories` is the\nrounded number the site displays.",
- "example": 4.0419,
- "type": "number"
- },
- "available_in_store": {
- "example": true,
- "type": "boolean"
- },
- "calories": {
- "example": 0,
- "type": "integer"
- },
- "code": {
- "example": "2111",
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "image_url": {
- "type": "string"
},
- "name": {
- "example": "Pico De Gallo",
+ "source_url": {
"type": "string"
- },
- "price": {
- "$ref": "#/definitions/tacobell.Money"
}
},
"type": "object"
},
- "tacobell.DayHours": {
+ "slickdeals.FrontpageResponse": {
"properties": {
- "closes": {
- "example": "4:00 AM",
- "type": "string"
- },
- "dayparts": {
+ "deals": {
"items": {
- "$ref": "#/definitions/tacobell.Daypart"
+ "$ref": "#/definitions/slickdeals.SearchAdvancedResult"
},
"type": "array"
},
- "opens": {
- "example": "7:00 AM",
- "type": "string"
- },
- "week_day": {
- "example": "Monday",
+ "fetched_at": {
"type": "string"
- }
- },
- "type": "object"
- },
- "tacobell.Daypart": {
- "properties": {
- "all_day": {
- "example": false,
- "type": "boolean"
},
- "closed": {
- "example": false,
+ "has_next_page": {
+ "description": "HasNextPage reflects whether the page itself exposed a further page\nlink, not a total page count -- Slickdeals' own homepage pagination\nis next/prev-only, with no total page count in its state payload.",
+ "example": true,
"type": "boolean"
},
- "ends": {
- "example": "4:00 AM",
- "type": "string"
- },
- "name": {
- "example": "Balance Of Day",
- "type": "string"
+ "page": {
+ "example": 1,
+ "type": "integer"
},
- "starts": {
- "example": "7:00 AM",
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "tacobell.MenuItem": {
+ "slickdeals.PrimaryCategoriesResponse": {
"properties": {
- "available_in_store": {
- "example": true,
- "type": "boolean"
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/slickdeals.CategoryRef"
+ },
+ "type": "array"
},
- "calories": {
- "example": 430,
+ "count": {
+ "example": 13,
"type": "integer"
},
- "calories_text": {
- "example": "430 Cal",
- "type": "string"
- },
- "category": {
- "example": "tacos",
- "type": "string"
- },
- "code": {
- "example": "CB-1234",
- "type": "string"
- },
- "food_type": {
- "type": "string"
- },
- "has_meatless": {
- "description": "HasMeatless marks an item with a meatless variant available.",
- "example": false,
- "type": "boolean"
- },
- "image_url": {
- "type": "string"
- },
- "item_type": {
- "type": "string"
- },
- "modifiable": {
- "description": "Modifiable marks an item Taco Bell allows customizing.",
- "example": true,
- "type": "boolean"
- },
- "name": {
- "example": "Naked Chicken Chalupa",
- "type": "string"
- },
- "price": {
- "$ref": "#/definitions/tacobell.Money"
- },
- "product_type": {
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "tacobell.MenuResponse": {
+ "slickdeals.PrimaryCategoryResponse": {
"properties": {
- "category": {
- "example": "tacos",
- "type": "string"
- },
"count": {
- "example": 16,
+ "example": 40,
"type": "integer"
},
- "fetched_at": {
- "type": "string"
- },
- "items": {
+ "deals": {
"items": {
- "$ref": "#/definitions/tacobell.MenuItem"
+ "$ref": "#/definitions/slickdeals.CategoryDeal"
},
"type": "array"
},
- "source_url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "tacobell.Money": {
- "properties": {
- "currency": {
- "example": "USD",
+ "fetched_at": {
"type": "string"
},
- "formatted": {
- "description": "Formatted is Taco Bell's own rendering, kept because it carries the\nupstream's rounding/symbol conventions.",
- "example": "$5.99",
+ "slug": {
+ "example": "laptop-deals",
"type": "string"
},
- "value": {
- "example": 5.99,
- "type": "number"
- }
- },
- "type": "object"
- },
- "tacobell.NutritionFacts": {
- "properties": {
- "added_sugars_g": {
- "example": 2.01,
- "type": "number"
- },
- "caffeine_mg": {
- "type": "number"
- },
- "calcium_mg": {
- "example": 214.1077,
- "type": "number"
- },
- "calories": {
- "example": 392.9079,
- "type": "number"
- },
- "calories_from_fat": {
- "example": 118.0107,
- "type": "number"
- },
- "cholesterol_mg": {
- "example": 27.4909,
- "type": "number"
- },
- "dietary_fiber_g": {
- "example": 7.5198,
- "type": "number"
- },
- "iron_mg": {
- "example": 4.1016,
- "type": "number"
- },
- "monounsaturated_fat_g": {
- "example": 3.6845,
- "type": "number"
- },
- "polyunsaturated_fat_g": {
- "example": 3.33,
- "type": "number"
- },
- "potassium_mg": {
- "type": "number"
- },
- "protein_g": {
- "example": 15.6483,
- "type": "number"
- },
- "saturated_fat_g": {
- "example": 6.4715,
- "type": "number"
- },
- "sodium_mg": {
- "example": 1163.993,
- "type": "number"
- },
- "sugar_alcohol_g": {
- "type": "number"
- },
- "sugars_g": {
- "example": 4.0006,
- "type": "number"
- },
- "total_carbohydrate_g": {
- "example": 51.5623,
- "type": "number"
- },
- "total_fat_g": {
- "example": 13.8961,
- "type": "number"
- },
- "trans_fat_g": {
- "example": 0.2417,
- "type": "number"
- },
- "vitamin_a": {
- "example": 11.4691,
- "type": "number"
- },
- "vitamin_c": {
- "example": 7.2259,
- "type": "number"
- },
- "vitamin_d_mcg": {
- "example": 1.6074,
- "type": "number"
+ "source_url": {
+ "type": "string"
}
},
"type": "object"
},
- "tacobell.NutritionResponse": {
+ "slickdeals.RelatedDeal": {
"properties": {
- "allergens": {
- "description": "Allergens is the label's \"Contains:\" statement, split into items.",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "category": {
- "example": "burritos",
- "type": "string"
- },
- "fetched_at": {
- "type": "string"
+ "comment_count": {
+ "type": "integer"
},
- "ingredients": {
- "description": "Ingredients is the full component-by-component statement, present\nonly when include_ingredients is set.",
+ "final_price": {
+ "example": "$22",
"type": "string"
},
- "label_name": {
- "description": "LabelName is the label's own item name, which can be more specific\nthan the menu name (e.g. \"Burrito Supreme® - Beef\").",
+ "found_by": {
+ "example": "iconian",
"type": "string"
},
- "label_url": {
- "description": "LabelURL is the nutrition label this data came from. Taco Bell\npublishes its panel there rather than on tacobell.com.",
+ "list_price": {
+ "example": "$37",
"type": "string"
},
- "nutrition": {
- "$ref": "#/definitions/tacobell.NutritionFacts"
- },
- "product": {
- "example": "burrito-supreme",
+ "posted_at": {
"type": "string"
},
- "serving_size_unit": {
- "example": "Burrito",
+ "source": {
+ "description": "Source names which sidebar this entry came from: \"popular\" or\n\"trending\".",
+ "example": "popular",
"type": "string"
},
- "serving_weight_grams": {
- "example": 232.4657,
- "type": "number"
- },
- "source_url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "tacobell.ProductImage": {
- "properties": {
- "format": {
- "example": "640x650",
- "type": "string"
+ "thread_id": {
+ "example": 20013396,
+ "type": "integer"
},
- "type": {
- "example": "PRIMARY",
+ "title": {
+ "example": "20,000mAh BooKoo A9 2000A Car Battery Jumper w/ QC 3.0, PD 18W $22.20 + Free S/H",
"type": "string"
},
"url": {
"type": "string"
+ },
+ "vote_score": {
+ "example": 5,
+ "type": "integer"
}
},
"type": "object"
},
- "tacobell.ProductResponse": {
+ "slickdeals.SearchAdvancedResponse": {
"properties": {
- "accurate_calories": {
- "description": "AccurateCalories is the unrounded figure behind `calories`.",
- "example": 392.9079,
- "type": "number"
- },
- "available_in_store": {
- "example": true,
- "type": "boolean"
- },
- "calories": {
- "example": 390,
- "type": "integer"
- },
- "category": {
- "example": "burritos",
- "type": "string"
- },
- "code": {
- "example": "22201",
- "type": "string"
- },
- "customizations": {
- "description": "Customizations are the option groups this item accepts, each with\nper-option calories and prices. Empty for a non-modifiable item.",
+ "facets": {
"items": {
- "$ref": "#/definitions/tacobell.CustomizationGroup"
+ "$ref": "#/definitions/slickdeals.SearchFacetGroup"
},
"type": "array"
},
- "description": {
- "type": "string"
- },
"fetched_at": {
"type": "string"
},
- "has_meatless": {
- "example": false,
- "type": "boolean"
- },
- "images": {
- "items": {
- "$ref": "#/definitions/tacobell.ProductImage"
- },
- "type": "array"
- },
- "modifiable": {
- "example": true,
- "type": "boolean"
+ "page": {
+ "example": 1,
+ "type": "integer"
},
- "name": {
- "example": "Burrito Supreme®",
- "type": "string"
+ "per_page": {
+ "example": 40,
+ "type": "integer"
},
- "nutrition_label_url": {
- "description": "NutritionLabelURL is the full nutrition-facts label Taco Bell links\nfor this item. /taco-bell/nutrition reads it.",
+ "query": {
+ "example": "laptop",
"type": "string"
},
- "price": {
- "$ref": "#/definitions/tacobell.Money"
+ "result_count": {
+ "example": 915,
+ "type": "integer"
},
- "related": {
+ "results": {
"items": {
- "$ref": "#/definitions/tacobell.RelatedProduct"
+ "$ref": "#/definitions/slickdeals.SearchAdvancedResult"
},
"type": "array"
},
"source_url": {
"type": "string"
},
- "url": {
- "type": "string"
- },
- "vegetarian_friendly": {
- "example": false,
- "type": "boolean"
+ "total_pages": {
+ "example": 23,
+ "type": "integer"
}
},
"type": "object"
},
- "tacobell.RelatedProduct": {
+ "slickdeals.SearchAdvancedResult": {
"properties": {
- "calories": {
- "example": 690,
+ "comment_count": {
+ "example": 4,
"type": "integer"
},
- "code": {
- "example": "22963",
- "type": "string"
+ "discount": {
+ "example": 26,
+ "type": "integer"
},
- "image_url": {
+ "final_price": {
+ "example": "$66",
"type": "string"
},
- "name": {
- "example": "Grilled Cheese Burrito",
+ "forum_id": {
+ "example": 9,
+ "type": "integer"
+ },
+ "found_by": {
+ "example": "htp182",
"type": "string"
},
- "price": {
- "$ref": "#/definitions/tacobell.Money"
+ "has_rebate": {
+ "example": false,
+ "type": "boolean"
},
- "reference_type": {
- "example": "CROSSELLING",
+ "image_url": {
"type": "string"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "tacobell.Store": {
- "properties": {
- "address": {
- "$ref": "#/definitions/tacobell.StoreAddress"
+ "is_expired": {
+ "example": false,
+ "type": "boolean"
},
- "capabilities": {
- "$ref": "#/definitions/tacobell.StoreCapabilities"
+ "is_fire_deal": {
+ "description": "IsFireDeal and HasRebate are populated on Frontpage's own deal cards;\nGET /slickdeals/search/advanced's result cards were not observed\ncarrying either field live, so they read as their zero value there.",
+ "example": false,
+ "type": "boolean"
},
- "delivery": {
+ "is_frontpage": {
"example": true,
"type": "boolean"
},
- "distance_text": {
- "example": "0.90 Miles",
- "type": "string"
- },
- "name": {
- "example": "040890",
- "type": "string"
+ "is_new": {
+ "example": false,
+ "type": "boolean"
},
- "online_available": {
+ "is_popular": {
"example": true,
"type": "boolean"
},
- "phone_number": {
- "example": "+16268423006",
+ "list_price": {
+ "example": "$90",
"type": "string"
},
- "status": {
- "example": "openNow",
+ "posted_at": {
"type": "string"
},
- "store_number": {
- "example": "040890",
+ "store": {
+ "example": "Newegg",
"type": "string"
},
- "timezone": {
- "example": "America/Los_Angeles",
+ "store_id": {
+ "example": 701,
+ "type": "integer"
+ },
+ "thread_id": {
+ "example": 19618338,
+ "type": "integer"
+ },
+ "title": {
+ "example": "Anker 4-Port up to 140W USB-C Laptop Charger w/ 5' Cable",
"type": "string"
},
- "timezone_offset": {
- "example": "GMT-07:00",
+ "url": {
"type": "string"
},
- "today_hours": {
- "$ref": "#/definitions/tacobell.StoreHours"
+ "views_count": {
+ "example": 3274,
+ "type": "integer"
+ },
+ "vote_score": {
+ "example": 20,
+ "type": "integer"
}
},
"type": "object"
},
- "tacobell.StoreAddress": {
+ "slickdeals.SearchFacetGroup": {
"properties": {
- "city": {
- "example": "Los Angeles",
- "type": "string"
- },
- "country": {
- "example": "US",
- "type": "string"
- },
- "latitude": {
- "example": 34.048934,
- "type": "number"
- },
- "line1": {
- "example": "801 West 7th Street",
- "type": "string"
- },
- "line2": {
- "type": "string"
- },
- "longitude": {
- "example": -118.258867,
- "type": "number"
- },
- "postal_code": {
- "example": "90017",
+ "label": {
+ "example": "Categories",
"type": "string"
},
- "region": {
- "example": "US-CA",
- "type": "string"
+ "options": {
+ "items": {
+ "$ref": "#/definitions/slickdeals.SearchFacetOption"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "tacobell.StoreCapabilities": {
+ "slickdeals.SearchFacetOption": {
"properties": {
- "breakfast": {
- "example": true,
- "type": "boolean"
- },
- "delivery_enabled": {
- "example": true,
- "type": "boolean"
- },
- "drive_thru": {
- "example": false,
- "type": "boolean"
- },
- "live_mas_cafe": {
- "example": false,
- "type": "boolean"
- },
- "mobile_enabled": {
- "example": true,
- "type": "boolean"
+ "count": {
+ "example": 27,
+ "type": "integer"
},
- "online": {
- "example": true,
- "type": "boolean"
+ "label": {
+ "example": "Laptops",
+ "type": "string"
},
- "open_late": {
- "example": false,
- "type": "boolean"
+ "parent_value": {
+ "description": "ParentValue is set when this option is a subcategory of another\noption in the same group (Slickdeals' own Categories facet nests\none level deep).",
+ "type": "string"
},
- "pickup_shelves": {
- "example": true,
- "type": "boolean"
+ "value": {
+ "example": "34",
+ "type": "string"
}
},
"type": "object"
},
- "tacobell.StoreDetailResponse": {
+ "slickdeals.SearchResponse": {
"properties": {
- "address": {
- "$ref": "#/definitions/tacobell.StoreAddress"
- },
- "breakfast_available": {
- "description": "BreakfastAvailable is the store-hours record's own flag, which can\ndiffer from capabilities.breakfast.",
- "example": true,
- "type": "boolean"
- },
- "capabilities": {
- "$ref": "#/definitions/tacobell.StoreCapabilities"
- },
- "delivery": {
- "example": true,
- "type": "boolean"
+ "count": {
+ "example": 25,
+ "type": "integer"
},
"fetched_at": {
"type": "string"
},
- "geofencing_radius": {
- "example": 3,
- "type": "integer"
+ "query": {
+ "example": "laptop",
+ "type": "string"
},
- "hours": {
- "description": "Hours is the full published week, Monday-first. /taco-bell/stores\ncarries only today's window.",
+ "results": {
"items": {
- "$ref": "#/definitions/tacobell.DayHours"
+ "$ref": "#/definitions/slickdeals.SearchResult"
},
"type": "array"
},
- "name": {
- "example": "040890",
- "type": "string"
- },
- "online_available": {
- "example": true,
- "type": "boolean"
- },
- "phone_number": {
- "example": "+16268423006",
- "type": "string"
- },
- "pickup_status": {
- "description": "PickupStatus is whether mobile pickup ordering is switched on for\nthis restaurant.",
- "example": "Activated",
- "type": "string"
- },
"source_url": {
"type": "string"
- },
- "status": {
- "example": "openNow",
- "type": "string"
- },
- "store_number": {
- "example": "040890",
- "type": "string"
- },
- "timezone": {
- "description": "Timezone is the IANA zone; TimezoneOffset is Taco Bell's own GMT\nrendering, kept because it reflects the store's current DST state.",
- "example": "America/Los_Angeles",
- "type": "string"
- },
- "timezone_offset": {
- "example": "GMT-07:00",
- "type": "string"
- },
- "today_hours": {
- "$ref": "#/definitions/tacobell.DayHours"
}
},
"type": "object"
},
- "tacobell.StoreHours": {
+ "slickdeals.SearchResult": {
"properties": {
- "closes": {
- "example": "4:00 AM",
+ "found_by": {
+ "example": "BML6182",
"type": "string"
},
- "opens": {
- "example": "5:30 AM",
+ "price": {
+ "example": "$358.53",
"type": "string"
},
- "week_day": {
- "example": "Sunday",
+ "published_at": {
+ "example": "2026-09-15T02:13:22Z",
"type": "string"
- }
- },
- "type": "object"
- },
- "tacobell.StoreMenuCategory": {
- "properties": {
- "code": {
- "example": "breakfast",
+ },
+ "store": {
+ "example": "ebay.com",
"type": "string"
},
- "items": {
- "items": {
- "$ref": "#/definitions/tacobell.MenuItem"
- },
- "type": "array"
+ "thread_id": {
+ "example": 20015817,
+ "type": "integer"
},
- "name": {
- "example": "Breakfast",
+ "title": {
+ "description": "Title is Slickdeals' own thread title, which conventionally embeds\nthe deal price (e.g. \"... $358.53\") -- Price is a best-effort\nconvenience field extracted from it, not a separately structured\nupstream field.",
+ "example": "Microsoft Surface Laptop 5 13.5\" 2.5GHz/16GB/256GB - Refurb w/Warranty $358.53",
+ "type": "string"
+ },
+ "url": {
+ "example": "https://slickdeals.net/f/20015817-microsoft-surface-laptop-5-13-5-2-5ghz-16gb-256gb-refurb-w-warranty-358-53",
"type": "string"
+ },
+ "vote_score": {
+ "example": 16,
+ "type": "integer"
}
},
"type": "object"
},
- "tacobell.StoreMenuResponse": {
+ "slickdeals.UserProfile": {
"properties": {
- "categories": {
- "items": {
- "$ref": "#/definitions/tacobell.StoreMenuCategory"
- },
- "type": "array"
+ "avatar_url": {
+ "type": "string"
},
- "category_count": {
- "example": 17,
+ "deals_posted": {
+ "example": 175,
"type": "integer"
},
- "fetched_at": {
+ "join_date": {
+ "example": "Nov 2017",
"type": "string"
},
- "happier_hours": {
- "allOf": [
- {
- "$ref": "#/definitions/tacobell.TimeWindow"
- }
- ],
- "description": "HappierHours is this store's current happy-hour discount window, if\none is in effect. Not published anywhere else in this family."
+ "reputation": {
+ "example": 685,
+ "type": "integer"
},
- "item_count": {
- "example": 312,
+ "total_comments": {
+ "example": 519,
"type": "integer"
},
- "source_url": {
- "type": "string"
+ "total_votes": {
+ "example": 728,
+ "type": "integer"
},
- "store_number": {
- "example": "040890",
+ "user_id": {
+ "example": "13480663",
"type": "string"
}
},
"type": "object"
},
- "tacobell.StoresResponse": {
+ "slickdeals.categoriesResponseDoc": {
"properties": {
- "count": {
- "example": 10,
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
- "fetched_at": {
- "type": "string"
- },
- "source_url": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/slickdeals.CategoriesResponse"
},
- "stores": {
- "items": {
- "$ref": "#/definitions/tacobell.Store"
- },
- "type": "array"
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "tacobell.TimeWindow": {
+ "slickdeals.categoryResponseDoc": {
"properties": {
- "ends_at": {
- "example": "2026-09-02T00:00:00Z",
- "type": "string"
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
},
- "starts_at": {
- "example": "2026-09-01T21:00:00Z",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/slickdeals.CategoryResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "tacobell.appMenuResponseDoc": {
+ "slickdeals.commentsResponseDoc": {
"properties": {
"code": {
"description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tacobell.AppMenuResponse"
+ "$ref": "#/definitions/slickdeals.CommentsResponse"
},
"msg": {
"description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
@@ -226750,14 +231812,14 @@
},
"type": "object"
},
- "tacobell.categoriesResponseDoc": {
+ "slickdeals.dealResponseDoc": {
"properties": {
"code": {
"description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tacobell.CategoriesResponse"
+ "$ref": "#/definitions/slickdeals.Deal"
},
"msg": {
"description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
@@ -226765,14 +231827,14 @@
},
"type": "object"
},
- "tacobell.menuResponseDoc": {
+ "slickdeals.dealTypesResponseDoc": {
"properties": {
"code": {
"description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tacobell.MenuResponse"
+ "$ref": "#/definitions/slickdeals.DealTypesResponse"
},
"msg": {
"description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
@@ -226780,14 +231842,14 @@
},
"type": "object"
},
- "tacobell.nutritionResponseDoc": {
+ "slickdeals.forumsResponseDoc": {
"properties": {
"code": {
"description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tacobell.NutritionResponse"
+ "$ref": "#/definitions/slickdeals.ForumsResponse"
},
"msg": {
"description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
@@ -226795,14 +231857,14 @@
},
"type": "object"
},
- "tacobell.productResponseDoc": {
+ "slickdeals.frontpageResponseDoc": {
"properties": {
"code": {
"description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tacobell.ProductResponse"
+ "$ref": "#/definitions/slickdeals.FrontpageResponse"
},
"msg": {
"description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
@@ -226810,14 +231872,14 @@
},
"type": "object"
},
- "tacobell.storeDetailResponseDoc": {
+ "slickdeals.primaryCategoriesResponseDoc": {
"properties": {
"code": {
"description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tacobell.StoreDetailResponse"
+ "$ref": "#/definitions/slickdeals.PrimaryCategoriesResponse"
},
"msg": {
"description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
@@ -226825,14 +231887,14 @@
},
"type": "object"
},
- "tacobell.storeMenuResponseDoc": {
+ "slickdeals.primaryCategoryResponseDoc": {
"properties": {
"code": {
"description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tacobell.StoreMenuResponse"
+ "$ref": "#/definitions/slickdeals.PrimaryCategoryResponse"
},
"msg": {
"description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
@@ -226840,14 +231902,14 @@
},
"type": "object"
},
- "tacobell.storesResponseDoc": {
+ "slickdeals.searchAdvancedResponseDoc": {
"properties": {
"code": {
"description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tacobell.StoresResponse"
+ "$ref": "#/definitions/slickdeals.SearchAdvancedResponse"
},
"msg": {
"description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
@@ -226855,460 +231917,343 @@
},
"type": "object"
},
- "target.Answer": {
+ "slickdeals.searchResponseDoc": {
"properties": {
- "author": {
- "type": "string"
- },
- "helpful": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
- "id": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/slickdeals.SearchResponse"
},
- "submitted_at": {
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "sloanreview.ArticleIndexItem": {
+ "properties": {
+ "last_modified": {
"type": "string"
},
- "text": {
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "target.Availability": {
+ "sloanreview.ArticleResponse": {
"properties": {
- "backup_store": {
- "type": "boolean"
+ "archive_timestamp": {
+ "type": "string"
},
- "primary_store": {
- "type": "boolean"
+ "archive_url": {
+ "type": "string"
},
- "scheduled_delivery": {
- "type": "boolean"
+ "authors": {
+ "type": "string"
},
- "shipping": {
- "type": "boolean"
+ "description": {
+ "type": "string"
},
- "sold_out": {
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "target.Breadcrumb": {
- "properties": {
- "id": {
- "example": "4yi5p",
+ "paragraphs": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "published_at": {
"type": "string"
},
- "name": {
- "example": "Coffee",
+ "title": {
"type": "string"
},
"url": {
"type": "string"
+ },
+ "word_count": {
+ "type": "integer"
}
},
"type": "object"
},
- "target.CategoriesResponse": {
+ "sloanreview.ArticlesResponse": {
"properties": {
- "categories": {
+ "has_next": {
+ "type": "boolean"
+ },
+ "items": {
"items": {
- "$ref": "#/definitions/target.Category"
+ "$ref": "#/definitions/sloanreview.ArticleIndexItem"
},
"type": "array"
},
- "count": {
- "example": 29,
+ "page": {
"type": "integer"
},
- "fetched_at": {
- "type": "string"
+ "page_size": {
+ "type": "integer"
},
- "group_count": {
- "example": 16,
+ "total": {
"type": "integer"
},
- "groups": {
+ "total_pages": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "sloanreview.CategoriesResponse": {
+ "properties": {
+ "categories": {
"items": {
- "$ref": "#/definitions/target.CategoryGroup"
+ "$ref": "#/definitions/sloanreview.Category"
},
"type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "sloanreview.Category": {
+ "properties": {
+ "name": {
+ "type": "string"
},
- "source_url": {
+ "slug": {
"type": "string"
}
},
"type": "object"
},
- "target.Category": {
+ "sloanreview.HeadlineItem": {
"properties": {
- "id": {
- "example": "5xt1a",
+ "authors": {
"type": "string"
},
- "image_url": {
+ "published_at": {
"type": "string"
},
- "name": {
- "example": "Grocery",
+ "title": {
+ "type": "string"
+ },
+ "topic": {
"type": "string"
},
"url": {
- "example": "https://www.target.com/c/grocery/-/N-5xt1a",
"type": "string"
}
},
"type": "object"
},
- "target.CategoryGroup": {
+ "sloanreview.HeadlinesResponse": {
"properties": {
- "categories": {
+ "items": {
"items": {
- "$ref": "#/definitions/target.Category"
+ "$ref": "#/definitions/sloanreview.HeadlineItem"
},
"type": "array"
- },
- "name": {
- "example": "Grocery",
- "type": "string"
}
},
"type": "object"
},
- "target.CategoryProductsResponse": {
+ "sloanreview.TopicResponse": {
"properties": {
- "applied_filter_ids": {
+ "items": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/sloanreview.HeadlineItem"
},
"type": "array"
},
- "category_id": {
- "example": "5q0ga",
- "type": "string"
- },
- "count": {
- "example": 24,
- "type": "integer"
- },
- "fetched_at": {
+ "topic": {
"type": "string"
- },
- "filter_groups": {
- "items": {
- "$ref": "#/definitions/target.FilterGroup"
- },
- "type": "array"
- },
- "page": {
- "example": 1,
- "type": "integer"
- },
- "page_size": {
- "example": 24,
+ }
+ },
+ "type": "object"
+ },
+ "sloanreview.articleResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "products": {
- "items": {
- "$ref": "#/definitions/target.ProductSummary"
- },
- "type": "array"
- },
- "sort": {
- "example": "featured",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/sloanreview.ArticleResponse"
},
- "source_url": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "store_id": {
- "example": 2885,
- "type": "integer"
- },
- "total": {
- "example": 4158,
- "type": "integer"
- },
- "total_pages": {
- "example": 50,
- "type": "integer"
}
},
"type": "object"
},
- "target.FilterGroup": {
+ "sloanreview.articlesResponseDoc": {
"properties": {
- "display_name": {
- "description": "Name of the filter group as Target shows it, such as `Deals`.",
- "example": "Deals",
- "type": "string"
- },
- "expanded": {
- "description": "Whether Target shows the group expanded.",
- "type": "boolean"
- },
- "id": {
- "description": "Target filter group id, such as `d_deals`.",
- "example": "d_deals",
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "options": {
- "description": "Filter options in the group.",
- "items": {
- "$ref": "#/definitions/target.FilterOption"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/sloanreview.ArticlesResponse"
},
- "type": {
- "description": "Kind of control Target uses for the group, such as `checkbox`.",
- "example": "checkbox",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "target.FilterOption": {
+ "sloanreview.categoriesResponseDoc": {
"properties": {
- "display_name": {
- "description": "Label of the option as Target shows it, such as `Clearance`.",
- "example": "Clearance",
- "type": "string"
- },
- "id": {
- "description": "Target filter option id, such as `5tdv1`.",
- "example": "5tdv1",
- "type": "string"
- },
- "selected": {
- "description": "Whether the option is currently applied.",
- "type": "boolean"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "url": {
- "description": "Filter reference for the option, such as `d_deals:clearance`.",
- "example": "d_deals:clearance",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/sloanreview.CategoriesResponse"
},
- "value": {
- "description": "Value of the option, such as `clearance`.",
- "example": "clearance",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "target.FilterOptionsResponse": {
+ "sloanreview.headlinesResponseDoc": {
"properties": {
- "applied_filter_ids": {
- "description": "Ids of the filter options currently applied.",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "category_id": {
- "description": "Target category id the filters are for. Omitted when filters were requested by search query.",
- "example": "5q0ga",
- "type": "string"
- },
- "count": {
- "description": "Number of filter groups returned.",
- "example": 7,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "type": "string"
- },
- "filter_groups": {
- "description": "Filter groups and their options for the current result set.",
- "items": {
- "$ref": "#/definitions/target.FilterGroup"
- },
- "type": "array"
- },
- "query": {
- "description": "Search query the filters are for. Omitted when filters were requested by category.",
- "example": "coffee",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/sloanreview.HeadlinesResponse"
},
- "source_url": {
- "description": "URL the data was read from.",
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "store_id": {
- "description": "Target store id the results are for.",
- "example": 2885,
- "type": "integer"
- },
- "total": {
- "description": "Number of products in the current result set.",
- "example": 4158,
- "type": "integer"
}
},
"type": "object"
},
- "target.Price": {
+ "sloanreview.topicResponseDoc": {
"properties": {
- "current": {
- "example": 12.79,
- "type": "number"
- },
- "formatted": {
- "example": "$12.79",
- "type": "string"
- },
- "regular": {
- "example": 12.79,
- "type": "number"
- },
- "store_id": {
- "example": 2885,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "unit_formatted": {
- "example": "$1.07/ounce",
+ "data": {
+ "$ref": "#/definitions/sloanreview.TopicResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "target.Product": {
+ "smh.ArticleResponse": {
"properties": {
- "availability": {
- "$ref": "#/definitions/target.Availability"
+ "authors": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "brand": {
- "example": "Starbucks",
+ "description": {
"type": "string"
},
- "breadcrumbs": {
+ "image_url": {
+ "type": "string"
+ },
+ "is_accessible_for_free": {
+ "type": "boolean"
+ },
+ "is_truncated": {
+ "type": "boolean"
+ },
+ "keywords": {
"items": {
- "$ref": "#/definitions/target.Breadcrumb"
+ "type": "string"
},
"type": "array"
},
- "bullets": {
+ "paragraphs": {
"items": {
"type": "string"
},
"type": "array"
},
- "category": {
- "example": "Ground Coffee",
+ "paywalled": {
+ "type": "boolean"
+ },
+ "published_at": {
"type": "string"
},
- "category_id": {
- "example": "x2hqv",
+ "section": {
"type": "string"
},
- "description": {
+ "title": {
"type": "string"
},
- "dpci": {
- "example": "231-10-1932",
+ "updated_at": {
"type": "string"
},
- "images": {
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "smh.AuthorResponse": {
+ "properties": {
+ "articles": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/smh.HeadlineItem"
},
"type": "array"
},
- "item_type": {
- "example": "Coffee",
+ "bio": {
"type": "string"
},
- "parent_category_id": {
- "example": "4yi5p",
+ "email": {
"type": "string"
},
- "parent_tcin": {
- "example": "89169599",
+ "image_url": {
"type": "string"
},
- "price": {
- "$ref": "#/definitions/target.Price"
- },
- "primary_image_url": {
+ "name": {
"type": "string"
},
- "rating": {
- "$ref": "#/definitions/target.Rating"
- },
- "specifications": {
+ "social_links": {
"items": {
"type": "string"
},
"type": "array"
},
- "tcin": {
- "example": "12954151",
- "type": "string"
- },
- "title": {
- "example": "Starbucks Pike Place Roast Medium Ground Coffee - 12oz",
- "type": "string"
- },
"url": {
"type": "string"
}
},
"type": "object"
},
- "target.ProductResponse": {
- "properties": {
- "fetched_at": {
- "type": "string"
- },
- "product": {
- "$ref": "#/definitions/target.Product"
- },
- "source_url": {
- "type": "string"
- },
- "store_id": {
- "example": 2885,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "target.ProductSummary": {
+ "smh.HeadlineItem": {
"properties": {
- "brand": {
- "example": "Starbucks",
- "type": "string"
- },
- "category_id": {
- "example": "x2hqv",
+ "author": {
"type": "string"
},
- "parent_category_id": {
- "example": "4yi5p",
+ "image_url": {
"type": "string"
},
- "parent_tcin": {
- "example": "89169599",
+ "published_at": {
"type": "string"
},
- "price": {
- "$ref": "#/definitions/target.Price"
- },
- "primary_image_url": {
+ "summary": {
"type": "string"
},
- "rating": {
- "$ref": "#/definitions/target.Rating"
- },
- "tcin": {
- "example": "12954151",
+ "title": {
"type": "string"
},
- "title": {
- "example": "Starbucks Pike Place Roast Medium Ground Coffee - 12oz",
+ "type": {
"type": "string"
},
"url": {
@@ -227317,5156 +232262,5759 @@
},
"type": "object"
},
- "target.Question": {
+ "sofascore.AchievementSeason": {
"properties": {
- "answers": {
- "items": {
- "$ref": "#/definitions/target.Answer"
- },
- "type": "array"
- },
- "author": {
- "type": "string"
- },
- "helpful": {
+ "season_id": {
+ "example": 3391,
"type": "integer"
},
- "id": {
- "type": "string"
- },
- "submitted_at": {
- "type": "string"
- },
- "text": {
+ "year": {
+ "example": "23/24",
"type": "string"
}
},
"type": "object"
},
- "target.QuestionsResponse": {
+ "sofascore.AveragePosition": {
"properties": {
- "count": {
- "type": "integer"
- },
- "fetched_at": {
- "type": "string"
- },
- "page": {
- "type": "integer"
- },
- "per_page": {
- "type": "integer"
- },
- "questions": {
- "items": {
- "$ref": "#/definitions/target.Question"
- },
- "type": "array"
+ "average_x": {
+ "example": 64.25,
+ "type": "number"
},
- "source_url": {
- "type": "string"
+ "average_y": {
+ "example": 47.8,
+ "type": "number"
},
- "tcin": {
- "type": "string"
+ "player": {
+ "$ref": "#/definitions/sofascore.PlayerBrief"
},
- "total_pages": {
+ "points_count": {
+ "example": 35,
"type": "integer"
}
},
"type": "object"
},
- "target.Rating": {
+ "sofascore.AveragePositionSubstitution": {
"properties": {
- "average": {
- "example": 4.51,
- "type": "number"
+ "is_home": {
+ "type": "boolean"
},
- "rating_count": {
- "example": 1586,
+ "minute": {
+ "example": 60,
"type": "integer"
},
- "review_count": {
- "example": 1076,
- "type": "integer"
+ "player_in": {
+ "$ref": "#/definitions/sofascore.PlayerBrief"
+ },
+ "player_out": {
+ "$ref": "#/definitions/sofascore.PlayerBrief"
}
},
"type": "object"
},
- "target.Review": {
+ "sofascore.BaseballAtBat": {
"properties": {
- "author": {
- "type": "string"
+ "away_win_probability": {
+ "example": 52.1,
+ "type": "number"
},
- "helpful": {
- "type": "integer"
+ "away_win_probability_start": {
+ "example": 49,
+ "type": "number"
},
- "id": {
+ "end_time": {
+ "example": "2026-10-06T22:13:59Z",
"type": "string"
},
- "rating": {
+ "end_timestamp": {
+ "description": "EndTimestamp is the Unix time the at-bat finished (it matches the end of\nits last pitch); EndTime is the same instant in RFC 3339.",
+ "example": 1791324839,
"type": "integer"
},
- "submitted_at": {
- "type": "string"
+ "hitter": {
+ "$ref": "#/definitions/sofascore.PlayerBrief"
},
- "syndicated": {
- "type": "boolean"
+ "hitter_team": {
+ "$ref": "#/definitions/sofascore.TeamRef"
},
- "text": {
- "type": "string"
+ "home_win_probability": {
+ "example": 47.9,
+ "type": "number"
},
- "title": {
+ "home_win_probability_start": {
+ "description": "Win probabilities are percentages. The *Start values are before the\nat-bat, the others after it.",
+ "example": 51,
+ "type": "number"
+ },
+ "id": {
+ "example": 2595879,
+ "type": "integer"
+ },
+ "inning": {
+ "example": 1,
+ "type": "integer"
+ },
+ "inning_half": {
+ "description": "InningHalf is `top` or `bottom`.",
+ "example": "top",
"type": "string"
},
- "verified": {
- "type": "boolean"
+ "pitcher": {
+ "$ref": "#/definitions/sofascore.PlayerBrief"
+ },
+ "pitcher_team": {
+ "$ref": "#/definitions/sofascore.TeamRef"
}
},
"type": "object"
},
- "target.ReviewsResponse": {
+ "sofascore.BaseballFielder": {
"properties": {
- "count": {
- "type": "integer"
+ "first_name": {
+ "example": "Frederick",
+ "type": "string"
},
- "fetched_at": {
+ "jersey_number": {
+ "example": "5",
"type": "string"
},
- "page": {
- "type": "integer"
+ "last_name": {
+ "example": "Freeman",
+ "type": "string"
},
- "per_page": {
+ "player_id": {
+ "example": 961444,
"type": "integer"
},
- "reviews": {
- "items": {
- "$ref": "#/definitions/target.Review"
- },
- "type": "array"
+ "sequence": {
+ "example": 1,
+ "type": "integer"
},
- "source_url": {
+ "type": {
+ "description": "Type is the credit, for example `putout` or `assist`.",
+ "example": "putout",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.BaseballPerformer": {
+ "properties": {
+ "player": {
+ "$ref": "#/definitions/sofascore.PlayerBrief"
},
- "tcin": {
+ "rating": {
+ "example": 0.503,
+ "type": "number"
+ },
+ "role": {
+ "description": "Role is `pitcher` or `batter`.",
+ "example": "pitcher",
"type": "string"
},
- "total": {
- "type": "integer"
+ "statistics": {
+ "additionalProperties": {
+ "format": "float64",
+ "type": "number"
+ },
+ "description": "Statistics is a snake_case metric map; its keys depend on the role.",
+ "type": "object"
},
- "total_pages": {
- "type": "integer"
+ "team": {
+ "$ref": "#/definitions/sofascore.TeamRef"
}
},
"type": "object"
},
- "target.SearchResponse": {
+ "sofascore.BaseballPitch": {
"properties": {
- "applied_filter_ids": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "at_bat_over": {
+ "type": "boolean"
},
- "count": {
- "example": 24,
+ "away_team_runs": {
+ "example": 0,
"type": "integer"
},
- "fetched_at": {
+ "balls": {
+ "example": 0,
+ "type": "integer"
+ },
+ "bunt": {
+ "type": "boolean"
+ },
+ "double_play": {
+ "type": "boolean"
+ },
+ "end_time": {
+ "example": "2026-10-06T22:12:04Z",
"type": "string"
},
- "filter_groups": {
+ "fielders": {
"items": {
- "$ref": "#/definitions/target.FilterGroup"
+ "$ref": "#/definitions/sofascore.BaseballFielder"
},
"type": "array"
},
- "page": {
- "example": 1,
- "type": "integer"
+ "hit": {
+ "type": "boolean"
},
- "page_size": {
- "example": 24,
- "type": "integer"
+ "hit_hardness": {
+ "example": "medium",
+ "type": "string"
},
- "products": {
- "items": {
- "$ref": "#/definitions/target.ProductSummary"
- },
- "type": "array"
+ "hit_location": {
+ "example": "20",
+ "type": "string"
},
- "query": {
- "example": "coffee",
+ "hit_trajectory": {
+ "example": "ground_ball",
"type": "string"
},
- "sort": {
- "example": "relevance",
+ "hit_type": {
+ "example": "GB",
"type": "string"
},
- "source_url": {
+ "hit_x": {
+ "example": 164.06,
+ "type": "number"
+ },
+ "hit_y": {
+ "example": 164.01,
+ "type": "number"
+ },
+ "hitter_hand": {
+ "example": "R",
"type": "string"
},
- "store_id": {
- "example": 2885,
+ "home_team_runs": {
+ "example": 0,
"type": "integer"
},
- "total": {
- "example": 20939,
+ "id": {
+ "example": 10178342,
"type": "integer"
},
- "total_pages": {
- "example": 50,
+ "inning": {
+ "example": 1,
"type": "integer"
- }
- },
- "type": "object"
- },
- "target.Store": {
- "properties": {
- "address_line1": {
- "example": "20745 Stevens Creek Blvd",
- "type": "string"
},
- "city": {
- "example": "Cupertino",
+ "inning_half": {
+ "example": "top",
"type": "string"
},
- "country": {
- "example": "US",
- "type": "string"
+ "mlb_x": {
+ "example": 137.94,
+ "type": "number"
},
- "distance_miles": {
- "example": 2.62,
+ "mlb_y": {
+ "example": 184.98,
"type": "number"
},
- "hours": {
- "items": {
- "$ref": "#/definitions/target.StoreHoursDay"
- },
- "type": "array"
+ "mlb_zone": {
+ "example": 7,
+ "type": "integer"
},
- "name": {
- "example": "Cupertino De Anza Blvd",
+ "outcome": {
+ "description": "Outcome is SofaScore's result code for the pitch. Seen: `bB` ball, `kKL`\nstrike looking, `kKS` strike swinging, `kF` foul, `aS` hit into play,\n`oFO` fly out, `oLO` line out, `oGO` ground out.",
+ "example": "kKL",
"type": "string"
},
- "phone": {
- "example": "408-725-2651",
+ "outs": {
+ "example": 0,
+ "type": "integer"
+ },
+ "passed_ball": {
+ "type": "boolean"
+ },
+ "pitch_code": {
+ "example": "FF",
"type": "string"
},
- "postal_code": {
- "example": "95014-2123",
+ "pitch_count": {
+ "example": 1,
+ "type": "integer"
+ },
+ "pitch_description": {
+ "example": "Four-Seam Fastball",
"type": "string"
},
- "services": {
- "description": "Services is Target's own service/amenity label list for this store\n(e.g. \"Starbucks Cafe\", \"Drive Up\", \"Wine, Beer & Spirits Available\"),\npassed through as-is rather than translated to a fixed vocabulary.",
+ "pitch_speed": {
+ "description": "PitchSpeed is in kilometres per hour.",
+ "example": 158.04,
+ "type": "number"
+ },
+ "pitch_type": {
+ "description": "PitchType is the short pitch-type code and PitchDescription its name,\nfor example `FA` and `Four-Seam Fastball`.",
+ "example": "FA",
+ "type": "string"
+ },
+ "pitch_x": {
+ "description": "PitchX and PitchY are SofaScore's plate-location plot units. MLBX, MLBY and\nMLBZone are the league tracking location and zone as provided.",
+ "example": 76,
+ "type": "integer"
+ },
+ "pitch_y": {
+ "example": -47,
+ "type": "integer"
+ },
+ "pitch_zone": {
+ "example": 9,
+ "type": "integer"
+ },
+ "pitcher_hand": {
+ "example": "L",
+ "type": "string"
+ },
+ "runners": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/sofascore.BaseballRunner"
},
"type": "array"
},
- "state": {
- "example": "CA",
- "type": "string"
+ "sequence": {
+ "example": 3,
+ "type": "integer"
},
- "status": {
- "example": "Open",
+ "start_time": {
+ "example": "2026-10-06T22:11:49Z",
"type": "string"
},
- "store_id": {
- "example": "323",
+ "status": {
+ "example": "official",
"type": "string"
},
- "time_zone": {
- "example": "PST",
- "type": "string"
- }
- },
- "type": "object"
- },
- "target.StoreHoursDay": {
- "properties": {
- "close_time": {
- "example": "23:00:00",
- "type": "string"
+ "strike_zone_bottom": {
+ "example": 1.563,
+ "type": "number"
},
- "date": {
- "example": "2026-09-15",
- "type": "string"
+ "strike_zone_top": {
+ "example": 3.096,
+ "type": "number"
},
- "day_name": {
- "example": "Tuesday",
- "type": "string"
+ "strikes": {
+ "example": 1,
+ "type": "integer"
},
- "is_open": {
+ "triple_play": {
"type": "boolean"
},
- "open_time": {
- "example": "07:00:00",
+ "type": {
+ "description": "Type is the upstream event type, `pitch` for a thrown pitch.",
+ "example": "pitch",
"type": "string"
+ },
+ "wild_pitch": {
+ "type": "boolean"
}
},
"type": "object"
},
- "target.StoresResponse": {
+ "sofascore.BaseballRunner": {
"properties": {
- "count": {
- "example": 20,
+ "description": {
+ "type": "string"
+ },
+ "ending_base": {
+ "example": 1,
"type": "integer"
},
- "fetched_at": {
+ "jersey_number": {
+ "example": "50",
"type": "string"
},
- "place": {
- "example": "95014",
+ "out": {
+ "type": "boolean"
+ },
+ "outcome_code": {
+ "example": "AD1",
"type": "string"
},
- "source_url": {
+ "player_id": {
+ "example": 960736,
+ "type": "integer"
+ },
+ "player_name": {
+ "example": "Mookie Betts",
"type": "string"
},
- "stores": {
- "items": {
- "$ref": "#/definitions/target.Store"
- },
- "type": "array"
+ "starting_base": {
+ "description": "StartingBase and EndingBase are base numbers, 0 for the batter's box and\n1 to 3 for the bases.",
+ "example": 0,
+ "type": "integer"
}
},
"type": "object"
},
- "target.categoriesResponseDoc": {
+ "sofascore.BestPlayer": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "label": {
+ "example": "rating",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/target.CategoriesResponse"
+ "player": {
+ "$ref": "#/definitions/sofascore.PlayerBrief"
},
- "msg": {
- "example": "OK",
+ "team": {
+ "$ref": "#/definitions/sofascore.TeamRef"
+ },
+ "value": {
+ "example": 9.8,
+ "type": "number"
+ },
+ "value_text": {
+ "description": "ValueText carries the upstream value verbatim when it is not a number,\nfor example the en dash an ice hockey goalkeeper gets next to the `pts`\nlabel. It is omitted whenever Value is set.",
+ "example": "-",
"type": "string"
}
},
"type": "object"
},
- "target.categoryProductsResponseDoc": {
+ "sofascore.CategoriesResponse": {
"properties": {
- "code": {
- "example": 200,
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/sofascore.Category"
+ },
+ "type": "array"
+ },
+ "count": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/target.CategoryProductsResponse"
+ "fetched_at": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "source_url": {
+ "type": "string"
+ },
+ "sport": {
+ "example": "football",
"type": "string"
}
},
"type": "object"
},
- "target.filterOptionsResponseDoc": {
+ "sofascore.Category": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/target.FilterOptionsResponse"
+ "alpha2": {
+ "example": "EN",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "flag": {
+ "example": "england",
"type": "string"
- }
- },
- "type": "object"
- },
- "target.productResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/target.ProductResponse"
+ "id": {
+ "example": 1,
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "name": {
+ "example": "England",
"type": "string"
- }
- },
- "type": "object"
- },
- "target.questionsResponseDoc": {
- "properties": {
- "code": {
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/target.QuestionsResponse"
+ "priority": {
+ "example": 10,
+ "type": "integer"
},
- "msg": {
+ "slug": {
+ "example": "england",
"type": "string"
}
},
"type": "object"
},
- "target.reviewsResponseDoc": {
+ "sofascore.CategoryTournament": {
"properties": {
- "code": {
+ "category_id": {
+ "example": 1,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/target.ReviewsResponse"
- },
- "msg": {
+ "category_name": {
+ "example": "England",
"type": "string"
- }
- },
- "type": "object"
- },
- "target.searchResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ },
+ "id": {
+ "example": 17,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/target.SearchResponse"
+ "name": {
+ "example": "Premier League",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "slug": {
+ "example": "premier-league",
"type": "string"
+ },
+ "user_count": {
+ "example": 1234567,
+ "type": "integer"
}
},
"type": "object"
},
- "target.storesResponseDoc": {
+ "sofascore.CategoryTournamentsResponse": {
"properties": {
- "code": {
- "example": 200,
+ "category_id": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/target.StoresResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
- }
- },
- "type": "object"
- },
- "tcgplayer.Facet": {
- "properties": {
"count": {
"type": "integer"
},
- "url_value": {
+ "fetched_at": {
"type": "string"
},
- "value": {
+ "source_url": {
"type": "string"
- }
- },
- "type": "object"
- },
- "tcgplayer.Facets": {
- "properties": {
- "card_types": {
- "items": {
- "$ref": "#/definitions/tcgplayer.Facet"
- },
- "type": "array"
- },
- "energy_types": {
- "items": {
- "$ref": "#/definitions/tcgplayer.Facet"
- },
- "type": "array"
- },
- "product_lines": {
- "items": {
- "$ref": "#/definitions/tcgplayer.Facet"
- },
- "type": "array"
- },
- "product_types": {
- "items": {
- "$ref": "#/definitions/tcgplayer.Facet"
- },
- "type": "array"
- },
- "rarities": {
- "items": {
- "$ref": "#/definitions/tcgplayer.Facet"
- },
- "type": "array"
},
- "sets": {
+ "tournaments": {
"items": {
- "$ref": "#/definitions/tcgplayer.Facet"
+ "$ref": "#/definitions/sofascore.CategoryTournament"
},
"type": "array"
}
},
"type": "object"
},
- "tcgplayer.FilterValue": {
+ "sofascore.CompetitionRef": {
"properties": {
- "abbreviation": {
- "type": "string"
- },
"id": {
+ "example": 18,
"type": "integer"
},
"name": {
+ "example": "Championship",
+ "type": "string"
+ },
+ "slug": {
+ "example": "championship",
"type": "string"
}
},
"type": "object"
},
- "tcgplayer.FiltersResponse": {
+ "sofascore.Coordinates": {
"properties": {
- "conditions": {
- "items": {
- "$ref": "#/definitions/tcgplayer.FilterValue"
- },
- "type": "array"
- },
- "languages": {
- "items": {
- "$ref": "#/definitions/tcgplayer.FilterValue"
- },
- "type": "array"
- },
- "listing_types": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "product_id": {
- "type": "integer"
- },
- "product_line": {
- "type": "string"
+ "x": {
+ "type": "number"
},
- "product_line_id": {
- "type": "integer"
+ "y": {
+ "type": "number"
},
- "variants": {
- "items": {
- "$ref": "#/definitions/tcgplayer.FilterValue"
- },
- "type": "array"
+ "z": {
+ "type": "number"
}
},
"type": "object"
},
- "tcgplayer.Listing": {
+ "sofascore.CricketBattingLine": {
"properties": {
- "condition": {
- "type": "string"
- },
- "direct_seller": {
- "type": "boolean"
+ "balls": {
+ "example": 12,
+ "type": "integer"
},
- "gold_seller": {
- "type": "boolean"
+ "bowler": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/sofascore.PlayerBrief"
+ }
+ ],
+ "description": "Bowler is the bowler credited with the wicket and Fielder the catcher or\nstumper, when SofaScore lists them."
},
- "language": {
+ "dismissal": {
+ "description": "Dismissal is SofaScore's status text: a dismissal such as `Caught`,\n`Bowled`, `LBW`, `Stumped` or `Hit wicket`, `Not out`, or `Did not bat`.",
+ "example": "Caught",
"type": "string"
},
- "listing_id": {
+ "dismissal_code": {
+ "example": 3,
"type": "integer"
},
- "listing_type": {
- "type": "string"
- },
- "price": {
+ "fall_of_wicket_over": {
+ "example": 3.4,
"type": "number"
},
- "printing": {
- "type": "string"
- },
- "quantity": {
+ "fall_of_wicket_score": {
+ "description": "FallOfWicketScore and FallOfWicketOver give the team score and over when\nthis batter was dismissed; omitted for batters who were not dismissed.",
+ "example": 26,
"type": "integer"
},
- "seller_city": {
- "type": "string"
- },
- "seller_country": {
- "type": "string"
+ "fielder": {
+ "$ref": "#/definitions/sofascore.PlayerBrief"
},
- "seller_name": {
- "type": "string"
+ "fours": {
+ "example": 2,
+ "type": "integer"
},
- "seller_rating": {
- "type": "number"
+ "player": {
+ "$ref": "#/definitions/sofascore.PlayerBrief"
},
- "seller_sales": {
- "type": "string"
+ "runs": {
+ "example": 12,
+ "type": "integer"
},
- "seller_state": {
+ "scorecard_name": {
+ "description": "ScorecardName is the short name as printed on the scorecard.",
+ "example": "S Sudharsan",
"type": "string"
},
- "shipping_price": {
- "type": "number"
- },
- "verified_seller": {
- "type": "boolean"
+ "sixes": {
+ "example": 0,
+ "type": "integer"
}
},
"type": "object"
},
- "tcgplayer.ListingFacets": {
+ "sofascore.CricketBowlingLine": {
"properties": {
- "conditions": {
- "items": {
- "$ref": "#/definitions/tcgplayer.Facet"
- },
- "type": "array"
+ "maidens": {
+ "example": 0,
+ "type": "integer"
},
- "languages": {
- "items": {
- "$ref": "#/definitions/tcgplayer.Facet"
- },
- "type": "array"
+ "no_balls": {
+ "example": 0,
+ "type": "integer"
},
- "printings": {
- "items": {
- "$ref": "#/definitions/tcgplayer.Facet"
- },
- "type": "array"
+ "overs": {
+ "description": "Overs uses cricket notation: 3.4 is three overs and four balls.",
+ "example": 4,
+ "type": "number"
+ },
+ "player": {
+ "$ref": "#/definitions/sofascore.PlayerBrief"
+ },
+ "runs": {
+ "example": 38,
+ "type": "integer"
+ },
+ "scorecard_name": {
+ "example": "J Duffy",
+ "type": "string"
+ },
+ "wickets": {
+ "example": 0,
+ "type": "integer"
+ },
+ "wides": {
+ "example": 3,
+ "type": "integer"
}
},
"type": "object"
},
- "tcgplayer.ListingsResponse": {
+ "sofascore.CricketExtras": {
"properties": {
- "facets": {
- "$ref": "#/definitions/tcgplayer.ListingFacets"
- },
- "limit": {
+ "byes": {
+ "example": 0,
"type": "integer"
},
- "listings": {
- "items": {
- "$ref": "#/definitions/tcgplayer.Listing"
- },
- "type": "array"
- },
- "next_offset": {
+ "leg_byes": {
+ "example": 1,
"type": "integer"
},
- "offset": {
+ "no_balls": {
+ "example": 0,
"type": "integer"
},
- "product_id": {
+ "penalty": {
+ "example": 0,
"type": "integer"
},
"total": {
+ "example": 5,
+ "type": "integer"
+ },
+ "wides": {
+ "example": 4,
"type": "integer"
}
},
"type": "object"
},
- "tcgplayer.PriceBucket": {
+ "sofascore.CricketFallOfWicket": {
"properties": {
- "high_sale_price": {
- "type": "number"
- },
- "high_sale_price_with_shipping": {
- "type": "number"
- },
- "low_sale_price": {
- "type": "number"
- },
- "low_sale_price_with_shipping": {
+ "over": {
+ "example": 2.2,
"type": "number"
},
- "market_price": {
- "type": "number"
+ "player": {
+ "$ref": "#/definitions/sofascore.PlayerBrief"
},
- "quantity_sold": {
+ "score": {
+ "example": 22,
"type": "integer"
},
- "start_date": {
- "type": "string"
- },
- "transaction_count": {
+ "wicket": {
+ "example": 1,
"type": "integer"
}
},
"type": "object"
},
- "tcgplayer.PriceGuideResponse": {
+ "sofascore.CricketInnings": {
"properties": {
- "game": {
- "type": "string"
+ "batting": {
+ "items": {
+ "$ref": "#/definitions/sofascore.CricketBattingLine"
+ },
+ "type": "array"
},
- "limit": {
- "type": "integer"
+ "batting_team": {
+ "$ref": "#/definitions/sofascore.TeamRef"
},
- "next_offset": {
- "type": "integer"
+ "bowling": {
+ "items": {
+ "$ref": "#/definitions/sofascore.CricketBowlingLine"
+ },
+ "type": "array"
},
- "offset": {
- "type": "integer"
+ "bowling_team": {
+ "$ref": "#/definitions/sofascore.TeamRef"
},
- "rows": {
+ "extras": {
+ "$ref": "#/definitions/sofascore.CricketExtras"
+ },
+ "fall_of_wickets": {
+ "description": "FallOfWickets is derived from the batting lines that carry a fall-of-wicket\nscore, ordered by team score and then over, and numbered from 1.",
"items": {
- "$ref": "#/definitions/tcgplayer.PriceGuideRow"
+ "$ref": "#/definitions/sofascore.CricketFallOfWicket"
},
"type": "array"
},
- "set_abbreviation": {
- "type": "string"
+ "id": {
+ "example": 82607,
+ "type": "integer"
},
- "set_id": {
+ "number": {
+ "example": 1,
"type": "integer"
},
- "set_name": {
- "type": "string"
+ "overs": {
+ "description": "Overs uses cricket notation: 18.4 is eighteen overs and four balls.",
+ "example": 20,
+ "type": "number"
},
- "total": {
+ "partnerships": {
+ "items": {
+ "$ref": "#/definitions/sofascore.CricketPartnership"
+ },
+ "type": "array"
+ },
+ "runs": {
+ "example": 155,
+ "type": "integer"
+ },
+ "wickets": {
+ "example": 8,
"type": "integer"
}
},
"type": "object"
},
- "tcgplayer.PriceGuideRow": {
+ "sofascore.CricketPartnership": {
"properties": {
- "condition": {
- "type": "string"
- },
- "language": {
- "type": "string"
- },
- "low_price": {
- "type": "number"
- },
- "market_price": {
- "type": "number"
- },
- "name": {
- "type": "string"
+ "balls": {
+ "example": 14,
+ "type": "integer"
},
"number": {
- "type": "string"
- },
- "printing": {
- "type": "string"
- },
- "product_id": {
+ "description": "Number is the partnership's position in the innings, starting at 1.",
+ "example": 1,
"type": "integer"
},
- "rarity": {
- "type": "string"
+ "player1": {
+ "$ref": "#/definitions/sofascore.PlayerBrief"
},
- "sales": {
+ "player2": {
+ "$ref": "#/definitions/sofascore.PlayerBrief"
+ },
+ "runs": {
+ "example": 22,
"type": "integer"
}
},
"type": "object"
},
- "tcgplayer.PriceHistoryResponse": {
+ "sofascore.CupTree": {
"properties": {
- "product_id": {
+ "current_round": {
+ "example": 5,
"type": "integer"
},
- "range": {
+ "final_match": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/sofascore.CupTreeBlock"
+ }
+ ],
+ "description": "FinalMatch is the final tie, repeated from the last round. It is omitted\nwhen the tree has no final yet (a qualifying tree)."
+ },
+ "id": {
+ "example": 10850333,
+ "type": "integer"
+ },
+ "name": {
+ "example": "UEFA Champions League 25/26, Knockout stage",
"type": "string"
},
- "skus": {
+ "rounds": {
"items": {
- "$ref": "#/definitions/tcgplayer.SKUHistory"
+ "$ref": "#/definitions/sofascore.CupTreeRound"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "tcgplayer.PricePoint": {
- "properties": {
- "buylist_market_price": {
- "type": "number"
- },
- "listed_median_price": {
- "type": "number"
},
- "market_price": {
- "type": "number"
+ "third_place_match": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/sofascore.CupTreeBlock"
+ }
+ ],
+ "description": "ThirdPlaceMatch is the third-place tie, when the competition plays one."
},
- "printing": {
+ "tournament_name": {
+ "example": "UEFA Champions League, Knockout stage",
"type": "string"
}
},
"type": "object"
},
- "tcgplayer.Product": {
+ "sofascore.CupTreeBlock": {
"properties": {
- "attributes": {
- "additionalProperties": {
- "type": "string"
- },
- "type": "object"
- },
- "description": {
- "type": "string"
- },
- "foil_only": {
- "type": "boolean"
- },
- "image_url": {
- "type": "string"
- },
- "lowest_price": {
- "type": "number"
- },
- "lowest_price_with_shipping": {
- "type": "number"
- },
- "market_price": {
- "type": "number"
- },
- "median_price": {
- "type": "number"
- },
- "name": {
+ "away_score": {
+ "example": "1 (3)",
"type": "string"
},
- "normal_only": {
- "type": "boolean"
- },
- "number": {
- "type": "string"
+ "block_id": {
+ "description": "BlockID is the identifier later blocks cite as source_block_id.",
+ "example": 2536336,
+ "type": "integer"
},
- "price_points": {
+ "event_ids": {
+ "description": "EventIDs are the match ids of the tie; fetch each with the event endpoint.",
"items": {
- "$ref": "#/definitions/tcgplayer.PricePoint"
+ "type": "integer"
},
"type": "array"
},
- "product_id": {
- "type": "integer"
- },
- "product_line": {
- "type": "string"
- },
- "product_line_url_name": {
- "type": "string"
+ "finished": {
+ "type": "boolean"
},
- "product_type": {
+ "home_score": {
+ "description": "HomeScore and AwayScore are the scores of the participants with order 1\nand 2. They are strings because a shoot-out is appended (\"1 (4)\").",
+ "example": "1 (4)",
"type": "string"
},
- "rarity": {
- "type": "string"
+ "id": {
+ "example": 2946978,
+ "type": "integer"
},
- "sealed": {
+ "in_progress": {
+ "description": "InProgress is true while a match of the tie is being played.",
"type": "boolean"
},
- "set_code": {
- "type": "string"
+ "matches": {
+ "description": "Matches is the scheduled length of the tie: 1 for a single match, 2 for a\ntwo-legged tie, 7 for a best-of-seven series (whether or not all seven\nwere needed), 0 for a bye.",
+ "example": 2,
+ "type": "integer"
},
- "set_name": {
- "type": "string"
+ "order": {
+ "example": 2,
+ "type": "integer"
},
- "skus": {
+ "participants": {
"items": {
- "$ref": "#/definitions/tcgplayer.SKU"
+ "$ref": "#/definitions/sofascore.CupTreeParticipant"
},
"type": "array"
},
- "total_listings": {
- "type": "integer"
+ "result": {
+ "description": "Result is the tie result as published (\"4:5\", or a text such as \"Retired\").",
+ "example": "4:5",
+ "type": "string"
},
- "total_sellers": {
+ "series_start_time": {
+ "example": "2026-02-17T20:00:00Z",
+ "type": "string"
+ },
+ "series_start_timestamp": {
"type": "integer"
},
- "url": {
- "type": "string"
+ "venue": {
+ "$ref": "#/definitions/sofascore.Venue"
}
},
"type": "object"
},
- "tcgplayer.ProductLine": {
+ "sofascore.CupTreeParticipant": {
"properties": {
- "direct": {
- "type": "boolean"
- },
- "id": {
+ "order": {
+ "description": "Order is the side's position in the block; the block's home_score\nbelongs to order 1 and away_score to order 2.",
+ "example": 1,
"type": "integer"
},
- "name": {
+ "seed": {
+ "description": "Seed is the draw seed or entry label (\"1\", \"WC\" for a wild card), when published.",
+ "example": "WC",
"type": "string"
},
- "url_name": {
- "type": "string"
+ "source_block_id": {
+ "description": "SourceBlockID is the block_id of the earlier block this side advanced from.",
+ "type": "integer"
+ },
+ "team": {
+ "$ref": "#/definitions/sofascore.TeamRef"
+ },
+ "winner": {
+ "type": "boolean"
}
},
"type": "object"
},
- "tcgplayer.ProductLinesResponse": {
+ "sofascore.CupTreeRound": {
"properties": {
- "product_lines": {
+ "blocks": {
"items": {
- "$ref": "#/definitions/tcgplayer.ProductLine"
+ "$ref": "#/definitions/sofascore.CupTreeBlock"
},
"type": "array"
+ },
+ "description": {
+ "example": "Quarterfinal",
+ "type": "string"
+ },
+ "id": {
+ "type": "integer"
+ },
+ "order": {
+ "example": 1,
+ "type": "integer"
+ },
+ "round_type": {
+ "description": "RoundType is the upstream round code: the number of ties for the\nstandard knockout rounds (8 round of 16, 4 quarterfinals, 2 semifinals,\n1 final) and other codes (0, 101 to 105, 201 to 202) for named rounds.",
+ "example": 4,
+ "type": "integer"
}
},
"type": "object"
},
- "tcgplayer.ProductResponse": {
- "properties": {
- "product": {
- "$ref": "#/definitions/tcgplayer.Product"
- }
- },
- "type": "object"
- },
- "tcgplayer.ProductSummary": {
+ "sofascore.DraftInfo": {
"properties": {
- "card_types": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "foil_only": {
- "type": "boolean"
- },
- "image_url": {
+ "end_time": {
"type": "string"
},
- "lowest_price": {
- "type": "number"
- },
- "lowest_price_with_shipping": {
- "type": "number"
- },
- "market_price": {
- "type": "number"
+ "end_timestamp": {
+ "type": "integer"
},
- "median_price": {
- "type": "number"
+ "is_lottery_complete": {
+ "type": "boolean"
},
- "name": {
- "type": "string"
+ "rounds": {
+ "example": [
+ 1,
+ 2
+ ],
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
},
- "number": {
+ "start_time": {
+ "example": "2026-06-23T00:00:00Z",
"type": "string"
},
- "product_id": {
+ "start_timestamp": {
"type": "integer"
},
- "product_line": {
- "type": "string"
- },
- "rarity": {
+ "status": {
+ "example": "closed",
"type": "string"
},
- "sealed": {
- "type": "boolean"
+ "year": {
+ "example": 2026,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.DraftPick": {
+ "properties": {
+ "overall_pick": {
+ "example": 1,
+ "type": "integer"
},
- "set_code": {
- "type": "string"
+ "pick_in_round": {
+ "example": 1,
+ "type": "integer"
},
- "set_name": {
- "type": "string"
+ "prospect": {
+ "$ref": "#/definitions/sofascore.DraftProspect"
},
- "total_listings": {
+ "round": {
+ "example": 1,
"type": "integer"
},
- "url": {
- "type": "string"
+ "team": {
+ "$ref": "#/definitions/sofascore.TeamRef"
}
},
"type": "object"
},
- "tcgplayer.SKU": {
+ "sofascore.DraftPicksResponse": {
"properties": {
- "condition": {
+ "count": {
+ "type": "integer"
+ },
+ "fetched_at": {
"type": "string"
},
- "language": {
+ "league": {
+ "example": "nba",
"type": "string"
},
- "sku": {
+ "picks": {
+ "items": {
+ "$ref": "#/definitions/sofascore.DraftPick"
+ },
+ "type": "array"
+ },
+ "round": {
+ "example": 1,
"type": "integer"
},
- "variant": {
+ "source_url": {
"type": "string"
+ },
+ "teams_without_round_pick": {
+ "items": {
+ "$ref": "#/definitions/sofascore.TeamRef"
+ },
+ "type": "array"
+ },
+ "year": {
+ "example": 2025,
+ "type": "integer"
}
},
"type": "object"
},
- "tcgplayer.SKUHistory": {
+ "sofascore.DraftProspect": {
"properties": {
- "average_daily_quantity_sold": {
- "type": "number"
- },
- "average_daily_transaction_count": {
- "type": "number"
+ "first_name": {
+ "type": "string"
},
- "buckets": {
- "items": {
- "$ref": "#/definitions/tcgplayer.PriceBucket"
- },
- "type": "array"
+ "is_top_prospect": {
+ "type": "boolean"
},
- "condition": {
+ "last_name": {
"type": "string"
},
- "language": {
+ "name": {
+ "example": "Cooper Flagg",
"type": "string"
},
- "sku": {
- "type": "integer"
+ "player": {
+ "$ref": "#/definitions/sofascore.PlayerBrief"
},
- "total_quantity_sold": {
- "type": "integer"
+ "position": {
+ "example": "GF",
+ "type": "string"
},
- "total_transaction_count": {
- "type": "integer"
+ "school": {
+ "$ref": "#/definitions/sofascore.TeamRef"
},
- "variant": {
+ "school_name": {
+ "example": "Duke",
"type": "string"
}
},
"type": "object"
},
- "tcgplayer.Sale": {
+ "sofascore.DraftResponse": {
"properties": {
- "condition": {
- "type": "string"
+ "draft": {
+ "$ref": "#/definitions/sofascore.DraftInfo"
},
- "language": {
+ "fetched_at": {
"type": "string"
},
- "listing_type": {
- "type": "string"
+ "has_lottery_draw": {
+ "type": "boolean"
},
- "order_date": {
+ "league": {
+ "example": "nba",
"type": "string"
},
- "purchase_price": {
- "type": "number"
+ "lottery_year": {
+ "example": 2026,
+ "type": "integer"
},
- "quantity": {
+ "previous_draft": {
+ "$ref": "#/definitions/sofascore.DraftInfo"
+ },
+ "prospects_year": {
+ "example": 2026,
"type": "integer"
},
- "shipping_price": {
- "type": "number"
+ "season": {
+ "example": 80229,
+ "type": "integer"
},
- "variant": {
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "tcgplayer.SalesResponse": {
+ "sofascore.EsportsCharacter": {
"properties": {
- "product_id": {
+ "id": {
+ "example": 1638,
"type": "integer"
},
- "sales": {
- "items": {
- "$ref": "#/definitions/tcgplayer.Sale"
- },
- "type": "array"
+ "name": {
+ "example": "Witch Doctor",
+ "type": "string"
+ },
+ "slug": {
+ "example": "witch-doctor",
+ "type": "string"
}
},
"type": "object"
},
- "tcgplayer.SearchResponse": {
+ "sofascore.EsportsGame": {
"properties": {
- "facets": {
- "$ref": "#/definitions/tcgplayer.Facets"
+ "away_score": {
+ "$ref": "#/definitions/sofascore.EsportsGameScore"
},
- "limit": {
- "type": "integer"
+ "has_complete_statistics": {
+ "description": "HasCompleteStatistics reports whether the per-game statistics, lineups\nand bans are complete.",
+ "type": "boolean"
},
- "next_offset": {
- "type": "integer"
+ "home_score": {
+ "$ref": "#/definitions/sofascore.EsportsGameScore"
},
- "offset": {
+ "home_team_starting_side_code": {
+ "description": "HomeTeamStartingSideCode is SofaScore's code for the side the home team\nstarted on. In Counter-Strike 4 is terrorist and 5 is counter-terrorist.",
+ "example": 5,
"type": "integer"
},
- "products": {
- "items": {
- "$ref": "#/definitions/tcgplayer.ProductSummary"
- },
- "type": "array"
- },
- "query": {
- "type": "string"
- },
- "total": {
+ "id": {
+ "example": 588883,
"type": "integer"
- }
- },
- "type": "object"
- },
- "tcgplayer.Set": {
- "properties": {
- "abbreviation": {
- "type": "string"
},
- "id": {
+ "length_seconds": {
+ "description": "LengthSeconds is the game length; omitted while the game is running.",
+ "example": 2543,
"type": "integer"
},
- "name": {
- "type": "string"
+ "map": {
+ "$ref": "#/definitions/sofascore.EsportsGameMap"
},
- "release_date": {
+ "start_time": {
+ "example": "2026-10-04T14:23:29Z",
"type": "string"
},
- "supplemental": {
- "type": "boolean"
+ "start_timestamp": {
+ "type": "integer"
},
- "url_name": {
- "type": "string"
+ "status": {
+ "$ref": "#/definitions/sofascore.EventStatus"
+ },
+ "winner_code": {
+ "description": "WinnerCode is 1 for the home side, 2 for the away side, 0 until decided.",
+ "example": 1,
+ "type": "integer"
}
},
"type": "object"
},
- "tcgplayer.SetsResponse": {
+ "sofascore.EsportsGameBans": {
"properties": {
- "product_line": {
- "type": "string"
+ "away": {
+ "items": {
+ "$ref": "#/definitions/sofascore.EsportsCharacter"
+ },
+ "type": "array"
},
- "sets": {
+ "home": {
"items": {
- "$ref": "#/definitions/tcgplayer.Set"
+ "$ref": "#/definitions/sofascore.EsportsCharacter"
},
"type": "array"
}
},
"type": "object"
},
- "tcgplayer.filtersResponseDoc": {
+ "sofascore.EsportsGameLineups": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/tcgplayer.FiltersResponse"
+ "away_players": {
+ "items": {
+ "$ref": "#/definitions/sofascore.EsportsPlayerLine"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
- "type": "string"
+ "home_players": {
+ "items": {
+ "$ref": "#/definitions/sofascore.EsportsPlayerLine"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "tcgplayer.listingsResponseDoc": {
+ "sofascore.EsportsGameMap": {
"properties": {
- "code": {
- "example": 200,
+ "id": {
+ "example": 23,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/tcgplayer.ListingsResponse"
- },
- "msg": {
- "example": "OK",
+ "name": {
+ "example": "Ancient",
"type": "string"
}
},
"type": "object"
},
- "tcgplayer.priceGuideResponseDoc": {
+ "sofascore.EsportsGameResponse": {
"properties": {
- "code": {
- "example": 200,
+ "bans": {
+ "$ref": "#/definitions/sofascore.EsportsGameBans"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "game_id": {
+ "example": 588883,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/tcgplayer.PriceGuideResponse"
+ "lineups": {
+ "$ref": "#/definitions/sofascore.EsportsGameLineups"
},
- "msg": {
- "example": "OK",
+ "part": {
+ "example": "lineups",
"type": "string"
- }
- },
- "type": "object"
- },
- "tcgplayer.priceHistoryResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/tcgplayer.PriceHistoryResponse"
+ "rounds": {
+ "$ref": "#/definitions/sofascore.EsportsGameRounds"
},
- "msg": {
- "example": "OK",
+ "source_url": {
"type": "string"
+ },
+ "statistics": {
+ "$ref": "#/definitions/sofascore.EsportsGameStatistics"
}
},
"type": "object"
},
- "tcgplayer.productLinesResponseDoc": {
+ "sofascore.EsportsGameRounds": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "normaltime": {
+ "items": {
+ "$ref": "#/definitions/sofascore.EsportsRound"
+ },
+ "type": "array"
},
- "data": {
- "$ref": "#/definitions/tcgplayer.ProductLinesResponse"
+ "overtime": {
+ "items": {
+ "$ref": "#/definitions/sofascore.EsportsRound"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
- "type": "string"
+ "overtime_chunk_size": {
+ "example": 3,
+ "type": "integer"
+ },
+ "rounds_in_a_half": {
+ "example": 12,
+ "type": "integer"
}
},
"type": "object"
},
- "tcgplayer.productResponseDoc": {
+ "sofascore.EsportsGameScore": {
"properties": {
- "code": {
- "example": 200,
+ "display": {
+ "description": "Display is the headline score: kills in Dota 2 and League of Legends,\nrounds won in Counter-Strike.",
+ "example": 31,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/tcgplayer.ProductResponse"
+ "overtime": {
+ "example": 3,
+ "type": "integer"
},
- "msg": {
- "example": "OK",
- "type": "string"
+ "period1": {
+ "example": 4,
+ "type": "integer"
+ },
+ "period2": {
+ "example": 3,
+ "type": "integer"
}
},
"type": "object"
},
- "tcgplayer.salesResponseDoc": {
+ "sofascore.EsportsGameStatistics": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/tcgplayer.SalesResponse"
+ "away": {
+ "$ref": "#/definitions/sofascore.EsportsTeamStatistics"
},
- "msg": {
- "example": "OK",
- "type": "string"
+ "home": {
+ "$ref": "#/definitions/sofascore.EsportsTeamStatistics"
}
},
"type": "object"
},
- "tcgplayer.searchResponseDoc": {
+ "sofascore.EsportsPlayerLine": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "character": {
+ "$ref": "#/definitions/sofascore.EsportsCharacter"
},
- "data": {
- "$ref": "#/definitions/tcgplayer.SearchResponse"
+ "flags": {
+ "additionalProperties": {
+ "type": "boolean"
+ },
+ "type": "object"
},
- "msg": {
- "example": "OK",
+ "player": {
+ "$ref": "#/definitions/sofascore.PlayerBrief"
+ },
+ "role": {
+ "example": "mid",
"type": "string"
+ },
+ "statistics": {
+ "additionalProperties": {
+ "format": "float64",
+ "type": "number"
+ },
+ "type": "object"
}
},
"type": "object"
},
- "tcgplayer.setsResponseDoc": {
+ "sofascore.EsportsRound": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "home_team_side": {
+ "example": "counter_terrorist",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/tcgplayer.SetsResponse"
+ "home_team_side_code": {
+ "description": "HomeTeamSideCode is the side the home team played this round: 4 is\nterrorist and 5 is counter-terrorist; HomeTeamSide names it.",
+ "example": 5,
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "outcome": {
+ "example": "bomb_defused",
"type": "string"
+ },
+ "outcome_code": {
+ "description": "OutcomeCode is SofaScore's round-result code. In Counter-Strike 0 is an\nelimination, 1 a defused bomb, 2 an exploded bomb and 3 a round lost on\ntime; Outcome names it.",
+ "example": 1,
+ "type": "integer"
+ },
+ "winner_code": {
+ "description": "WinnerCode is 1 for the home side and 2 for the away side.",
+ "example": 1,
+ "type": "integer"
}
},
"type": "object"
},
- "techcrunch.AuthorArticle": {
+ "sofascore.EsportsTeamStatistics": {
"properties": {
- "category": {
- "type": "string"
- },
- "title": {
- "type": "string"
+ "flags": {
+ "additionalProperties": {
+ "type": "boolean"
+ },
+ "type": "object"
},
- "url": {
- "type": "string"
+ "statistics": {
+ "additionalProperties": {
+ "format": "float64",
+ "type": "number"
+ },
+ "type": "object"
}
},
"type": "object"
},
- "techcrunch.AuthorResponse": {
+ "sofascore.EventAtBatPitchesResponse": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/techcrunch.AuthorArticle"
- },
- "type": "array"
+ "at_bat_id": {
+ "example": 2595879,
+ "type": "integer"
},
- "biography": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "count": {
+ "type": "integer"
},
- "headshot_url": {
- "type": "string"
+ "event_id": {
+ "example": 17199139,
+ "type": "integer"
},
- "job_title": {
+ "fetched_at": {
"type": "string"
},
- "name": {
- "type": "string"
+ "hitter": {
+ "$ref": "#/definitions/sofascore.PlayerBrief"
},
- "page": {
- "type": "integer"
+ "pitcher": {
+ "$ref": "#/definitions/sofascore.PlayerBrief"
},
- "social_links": {
- "additionalProperties": {
- "type": "string"
+ "pitches": {
+ "items": {
+ "$ref": "#/definitions/sofascore.BaseballPitch"
},
- "type": "object"
+ "type": "array"
},
- "url": {
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "techradar.AuthorResponse": {
+ "sofascore.EventAtBatsResponse": {
"properties": {
- "articles": {
+ "at_bats": {
"items": {
- "$ref": "#/definitions/newsplatform.HeadlineItem"
+ "$ref": "#/definitions/sofascore.BaseballAtBat"
},
"type": "array"
},
- "biography": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "count": {
+ "type": "integer"
},
- "has_next_page": {
- "type": "boolean"
+ "event_id": {
+ "example": 17199139,
+ "type": "integer"
},
- "job_title": {
+ "fetched_at": {
"type": "string"
},
- "name": {
+ "source_url": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.EventAveragePositionsResponse": {
+ "properties": {
+ "away": {
+ "items": {
+ "$ref": "#/definitions/sofascore.AveragePosition"
+ },
+ "type": "array"
},
- "page": {
+ "event_id": {
+ "example": 16363867,
"type": "integer"
},
- "slug": {
+ "fetched_at": {
"type": "string"
},
- "social_links": {
+ "home": {
"items": {
- "$ref": "#/definitions/techradar.AuthorSocialLink"
+ "$ref": "#/definitions/sofascore.AveragePosition"
},
"type": "array"
},
- "url": {
+ "source_url": {
"type": "string"
+ },
+ "substitutions": {
+ "items": {
+ "$ref": "#/definitions/sofascore.AveragePositionSubstitution"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "techradar.AuthorSocialLink": {
+ "sofascore.EventBaseballTopPerformersResponse": {
"properties": {
- "platform": {
+ "event_id": {
+ "example": 17199139,
+ "type": "integer"
+ },
+ "fetched_at": {
"type": "string"
},
- "url": {
+ "performers": {
+ "items": {
+ "$ref": "#/definitions/sofascore.BaseballPerformer"
+ },
+ "type": "array"
+ },
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "techstack.Technology": {
+ "sofascore.EventBestPlayersResponse": {
"properties": {
- "categories": {
+ "away_players": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/sofascore.BestPlayer"
},
"type": "array"
},
- "confidence": {
- "description": "high | medium | low",
- "type": "string"
- },
- "evidence": {
- "description": "Evidence is a short, human-readable hint of what matched (e.g. a script\nhost or a value) — not the full markup.",
- "type": "string"
+ "event_id": {
+ "example": 16363867,
+ "type": "integer"
},
- "name": {
+ "fetched_at": {
"type": "string"
},
- "version": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "techstack.UnmatchedEvidence": {
- "properties": {
- "domains": {
+ "home_players": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/sofascore.BestPlayer"
},
"type": "array"
},
- "generator": {
+ "player_of_the_match": {
+ "$ref": "#/definitions/sofascore.BestPlayer"
+ },
+ "source_url": {
"type": "string"
+ },
+ "top_players": {
+ "items": {
+ "$ref": "#/definitions/sofascore.BestPlayer"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "telegram.BotResponse": {
+ "sofascore.EventComment": {
"properties": {
- "avatar_url": {
- "type": "string"
+ "assist": {
+ "$ref": "#/definitions/sofascore.PlayerBrief"
},
- "description": {
+ "away_score": {
+ "type": "integer"
+ },
+ "goal_type": {
"type": "string"
},
- "monthly_users": {
+ "home_score": {
"type": "integer"
},
- "name": {
- "type": "string"
+ "id": {
+ "type": "integer"
},
- "url": {
+ "is_home": {
+ "type": "boolean"
+ },
+ "minute": {
+ "example": 94,
+ "type": "integer"
+ },
+ "penalty_drawn_by": {
+ "$ref": "#/definitions/sofascore.PlayerBrief"
+ },
+ "period": {
+ "example": "2ND",
"type": "string"
},
- "username": {
+ "player": {
+ "$ref": "#/definitions/sofascore.PlayerBrief"
+ },
+ "player_in": {
+ "$ref": "#/definitions/sofascore.PlayerBrief"
+ },
+ "player_out": {
+ "$ref": "#/definitions/sofascore.PlayerBrief"
+ },
+ "text": {
+ "example": "Attempt saved. Malick Fofana (Sunderland) right footed shot.",
"type": "string"
},
- "verified": {
- "type": "boolean"
+ "time_seconds": {
+ "type": "integer"
+ },
+ "type": {
+ "example": "shotSaved",
+ "type": "string"
}
},
"type": "object"
},
- "telegram.ChannelPostsResponse": {
+ "sofascore.EventCommentsResponse": {
"properties": {
- "has_more": {
- "type": "boolean"
- },
- "next_before": {
- "type": "integer"
- },
- "posts": {
+ "comments": {
"items": {
- "$ref": "#/definitions/telegram.Post"
+ "$ref": "#/definitions/sofascore.EventComment"
},
"type": "array"
},
- "query": {
- "type": "string"
+ "count": {
+ "type": "integer"
},
- "title": {
+ "event_id": {
+ "example": 16363867,
+ "type": "integer"
+ },
+ "fetched_at": {
"type": "string"
},
- "username": {
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "telegram.ChannelResponse": {
+ "sofascore.EventDetail": {
"properties": {
- "avatar_url": {
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "files_count": {
+ "attendance": {
+ "description": "Reported attendance.",
"type": "integer"
},
- "links_count": {
- "type": "integer"
+ "away_score": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/sofascore.ScoreLine"
+ }
+ ],
+ "description": "Away side's score, when available."
},
- "photos_count": {
- "type": "integer"
+ "away_team": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/sofascore.TeamRef"
+ }
+ ],
+ "description": "Away side."
},
- "preview_url": {
- "type": "string"
+ "home_score": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/sofascore.ScoreLine"
+ }
+ ],
+ "description": "Home side's score, when available."
},
- "subscribers": {
+ "home_team": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/sofascore.TeamRef"
+ }
+ ],
+ "description": "Home side."
+ },
+ "id": {
+ "description": "SofaScore event id. Use it with the event endpoints.",
+ "example": 14025013,
"type": "integer"
},
- "subscribers_approximate": {
- "type": "boolean"
+ "referee": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/sofascore.Referee"
+ }
+ ],
+ "description": "Match referee. Omitted when SofaScore has none for it."
},
- "title": {
+ "slug": {
+ "description": "URL slug of the match on SofaScore.",
"type": "string"
},
- "url": {
+ "start_time": {
+ "description": "Start time in UTC (RFC 3339).",
+ "example": "2025-08-15T19:00:00Z",
"type": "string"
},
- "username": {
- "type": "string"
+ "start_timestamp": {
+ "description": "Start time as a Unix timestamp in seconds.",
+ "type": "integer"
},
- "verified": {
- "type": "boolean"
+ "status": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/sofascore.EventStatus"
+ }
+ ],
+ "description": "Current status of the match."
},
- "videos_count": {
+ "tournament": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/sofascore.TournamentRef"
+ }
+ ],
+ "description": "Tournament and parent competition the match belongs to."
+ },
+ "venue": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/sofascore.Venue"
+ }
+ ],
+ "description": "Venue of the match. Omitted when SofaScore has none for it."
+ },
+ "winner_code": {
+ "description": "Result code: 1 when the home side won, 2 when the away side won, 3 for a draw. Omitted until the match is decided.",
"type": "integer"
}
},
"type": "object"
},
- "telegram.ForwardedRef": {
+ "sofascore.EventEsportsGamesResponse": {
"properties": {
- "name": {
+ "count": {
+ "type": "integer"
+ },
+ "event_id": {
+ "example": 17260338,
+ "type": "integer"
+ },
+ "fetched_at": {
"type": "string"
},
- "url": {
+ "games": {
+ "items": {
+ "$ref": "#/definitions/sofascore.EsportsGame"
+ },
+ "type": "array"
+ },
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "telegram.GroupResponse": {
+ "sofascore.EventGraphResponse": {
"properties": {
- "avatar_url": {
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "members": {
+ "count": {
"type": "integer"
},
- "online": {
+ "event_id": {
+ "example": 16363867,
"type": "integer"
},
- "title": {
+ "fetched_at": {
"type": "string"
},
- "url": {
- "type": "string"
+ "overtime_count": {
+ "type": "integer"
},
- "username": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "telegram.LinkPreview": {
- "properties": {
- "description": {
- "type": "string"
+ "overtime_length": {
+ "example": 15,
+ "type": "integer"
},
- "image_url": {
- "type": "string"
+ "period_count": {
+ "example": 2,
+ "type": "integer"
},
- "site_name": {
- "type": "string"
+ "period_time": {
+ "example": 45,
+ "type": "integer"
},
- "title": {
- "type": "string"
+ "points": {
+ "items": {
+ "$ref": "#/definitions/sofascore.GraphPoint"
+ },
+ "type": "array"
},
- "url": {
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "telegram.Media": {
+ "sofascore.EventH2HResponse": {
"properties": {
- "thumbnail_url": {
- "type": "string"
+ "event_id": {
+ "description": "SofaScore event id the record belongs to.",
+ "type": "integer"
},
- "type": {
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
"type": "string"
},
- "url": {
+ "manager_duel": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/sofascore.TeamDuel"
+ }
+ ],
+ "description": "Record between the two managers. Omitted when SofaScore has no history for them."
+ },
+ "source_url": {
+ "description": "SofaScore URL the data was read from.",
"type": "string"
+ },
+ "team_duel": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/sofascore.TeamDuel"
+ }
+ ],
+ "description": "All-time record between the two teams."
}
},
"type": "object"
},
- "telegram.Post": {
+ "sofascore.EventHighlight": {
"properties": {
- "author": {
+ "created_at": {
+ "example": "2026-09-20T22:08:35Z",
"type": "string"
},
- "edited": {
- "type": "boolean"
- },
- "forwarded_from": {
- "$ref": "#/definitions/telegram.ForwardedRef"
- },
- "id": {
+ "created_timestamp": {
"type": "integer"
},
- "link_preview": {
- "$ref": "#/definitions/telegram.LinkPreview"
- },
- "links": {
+ "for_countries": {
+ "example": [
+ "BA",
+ "HR"
+ ],
"items": {
"type": "string"
},
"type": "array"
},
- "media": {
- "items": {
- "$ref": "#/definitions/telegram.Media"
- },
- "type": "array"
+ "id": {
+ "example": 8084695,
+ "type": "integer"
},
- "published_at": {
- "type": "string"
+ "key_highlight": {
+ "type": "boolean"
},
- "reactions": {
- "items": {
- "$ref": "#/definitions/telegram.Reaction"
- },
- "type": "array"
+ "livestream": {
+ "type": "boolean"
},
- "reply_to": {
- "$ref": "#/definitions/telegram.ReplyRef"
+ "media_type_code": {
+ "example": 6,
+ "type": "integer"
},
- "text": {
+ "subtitle": {
+ "example": "Full Highlights",
"type": "string"
},
- "url": {
+ "thumbnail_url": {
"type": "string"
},
- "username": {
+ "title": {
+ "example": "Man City 5 - 3 Sunderland",
"type": "string"
},
- "views": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "telegram.PostResponse": {
- "properties": {
- "post": {
- "$ref": "#/definitions/telegram.Post"
+ "url": {
+ "example": "https://www.youtube.com/watch?v=bniBAK1Idog",
+ "type": "string"
}
},
"type": "object"
},
- "telegram.Reaction": {
+ "sofascore.EventHighlightsResponse": {
"properties": {
"count": {
"type": "integer"
},
- "custom_emoji_id": {
- "type": "string"
+ "event_id": {
+ "example": 16363867,
+ "type": "integer"
},
- "emoji": {
+ "fetched_at": {
"type": "string"
},
- "paid": {
- "type": "boolean"
+ "highlights": {
+ "items": {
+ "$ref": "#/definitions/sofascore.EventHighlight"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
}
},
"type": "object"
},
- "telegram.ReplyRef": {
+ "sofascore.EventIncidentsResponse": {
"properties": {
- "author": {
- "type": "string"
+ "count": {
+ "description": "Number of incidents returned.",
+ "type": "integer"
},
- "id": {
+ "event_id": {
+ "description": "SofaScore event (match) id that was requested.",
"type": "integer"
},
- "text": {
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
"type": "string"
},
- "url": {
+ "incidents": {
+ "description": "Match timeline of goals, cards, substitutions and period markers.",
+ "items": {
+ "$ref": "#/definitions/sofascore.Incident"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "description": "URL the data was read from.",
"type": "string"
}
},
"type": "object"
},
- "telegram.botResponseDoc": {
+ "sofascore.EventInningsResponse": {
"properties": {
- "code": {
- "example": 200,
+ "count": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/telegram.BotResponse"
+ "event_id": {
+ "example": 16253632,
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "fetched_at": {
"type": "string"
- }
- },
- "type": "object"
- },
- "telegram.channelPostsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/telegram.ChannelPostsResponse"
+ "innings": {
+ "items": {
+ "$ref": "#/definitions/sofascore.CricketInnings"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "telegram.channelResponseDoc": {
+ "sofascore.EventLineupsResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "away": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/sofascore.TeamLineup"
+ }
+ ],
+ "description": "Away side's lineup."
},
- "data": {
- "$ref": "#/definitions/telegram.ChannelResponse"
+ "confirmed": {
+ "description": "True for the official confirmed lineups, false while they are still predicted.",
+ "type": "boolean"
},
- "msg": {
- "example": "OK",
- "type": "string"
- }
- },
- "type": "object"
- },
- "telegram.groupResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ "event_id": {
+ "description": "SofaScore event id the lineups belong to.",
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/telegram.GroupResponse"
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "home": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/sofascore.TeamLineup"
+ }
+ ],
+ "description": "Home side's lineup."
+ },
+ "source_url": {
+ "description": "SofaScore URL the data was read from.",
"type": "string"
}
},
"type": "object"
},
- "telegram.postResponseDoc": {
+ "sofascore.EventManagersResponse": {
"properties": {
- "code": {
- "example": 200,
+ "away": {
+ "$ref": "#/definitions/sofascore.ManagerBrief"
+ },
+ "event_id": {
+ "example": 16363867,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/telegram.PostResponse"
+ "fetched_at": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "home": {
+ "$ref": "#/definitions/sofascore.ManagerBrief"
+ },
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "telegraph.AuthorArticle": {
+ "sofascore.EventOddsResponse": {
"properties": {
- "excerpt": {
- "type": "string"
+ "count": {
+ "description": "Number of markets returned.",
+ "type": "integer"
},
- "published_at": {
- "type": "string"
+ "event_id": {
+ "description": "SofaScore event id the odds belong to.",
+ "type": "integer"
},
- "title": {
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
"type": "string"
},
- "url": {
+ "markets": {
+ "description": "Betting markets for the match.",
+ "items": {
+ "$ref": "#/definitions/sofascore.OddsMarket"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "description": "SofaScore URL the data was read from.",
"type": "string"
}
},
"type": "object"
},
- "telegraph.AuthorResponse": {
+ "sofascore.EventPlayerActionsResponse": {
"properties": {
- "articles": {
+ "ball_carries": {
"items": {
- "$ref": "#/definitions/telegraph.AuthorArticle"
+ "$ref": "#/definitions/sofascore.PlayerAction"
},
"type": "array"
},
- "bio": {
- "type": "string"
+ "defensive": {
+ "items": {
+ "$ref": "#/definitions/sofascore.PlayerAction"
+ },
+ "type": "array"
},
- "job_title": {
- "type": "string"
+ "dribbles": {
+ "items": {
+ "$ref": "#/definitions/sofascore.PlayerAction"
+ },
+ "type": "array"
},
- "name": {
+ "event_id": {
+ "type": "integer"
+ },
+ "fetched_at": {
"type": "string"
},
- "url": {
+ "passes": {
+ "items": {
+ "$ref": "#/definitions/sofascore.PlayerAction"
+ },
+ "type": "array"
+ },
+ "player_id": {
+ "type": "integer"
+ },
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "tes.EmployerDetail": {
+ "sofascore.EventPlayerHeatmapResponse": {
"properties": {
- "address": {
- "type": "string"
- },
- "age_range": {
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "funding_status": {
- "type": "string"
- },
- "gender": {
- "type": "string"
- },
- "id": {
- "type": "string"
+ "count": {
+ "type": "integer"
},
- "location": {
- "type": "string"
+ "event_id": {
+ "example": 16363867,
+ "type": "integer"
},
- "name": {
+ "fetched_at": {
"type": "string"
},
- "phase": {
- "type": "string"
+ "player_id": {
+ "example": 839956,
+ "type": "integer"
},
- "positions": {
+ "points": {
"items": {
- "$ref": "#/definitions/tes.EmployerPosition"
+ "$ref": "#/definitions/sofascore.HeatmapPoint"
},
"type": "array"
},
- "type": {
- "type": "string"
- },
- "url": {
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "tes.EmployerPosition": {
+ "sofascore.EventPlayerStatisticsResponse": {
"properties": {
- "id": {
+ "event_id": {
+ "example": 16363867,
+ "type": "integer"
+ },
+ "fetched_at": {
"type": "string"
},
- "title": {
+ "player": {
+ "$ref": "#/definitions/sofascore.PlayerBrief"
+ },
+ "player_id": {
+ "example": 839956,
+ "type": "integer"
+ },
+ "position": {
+ "example": "F",
"type": "string"
},
- "url": {
+ "source_url": {
"type": "string"
+ },
+ "statistics": {
+ "additionalProperties": {
+ "format": "float64",
+ "type": "number"
+ },
+ "type": "object"
+ },
+ "team": {
+ "$ref": "#/definitions/sofascore.TeamRef"
}
},
"type": "object"
},
- "tes.JobDetail": {
+ "sofascore.EventPointByPointResponse": {
"properties": {
- "application_email": {
- "type": "string"
- },
- "application_url": {
- "type": "string"
+ "event_id": {
+ "example": 17257382,
+ "type": "integer"
},
- "closing_date": {
+ "fetched_at": {
"type": "string"
},
- "contract_terms": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "set_count": {
+ "example": 3,
+ "type": "integer"
},
- "contract_types": {
+ "sets": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/sofascore.PointByPointSet"
},
"type": "array"
},
- "description_excerpt": {
- "type": "string"
- },
- "employer": {
- "type": "string"
- },
- "employer_header_url": {
- "type": "string"
- },
- "employer_logo_url": {
- "type": "string"
- },
- "employer_url": {
- "type": "string"
- },
- "employer_website": {
- "type": "string"
- },
- "id": {
+ "source_url": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.EventPregameFormResponse": {
+ "properties": {
+ "away": {
+ "$ref": "#/definitions/sofascore.PregameFormSide"
},
- "location": {
- "type": "string"
+ "event_id": {
+ "example": 16363867,
+ "type": "integer"
},
- "posted_date": {
+ "fetched_at": {
"type": "string"
},
- "quick_apply": {
- "type": "boolean"
- },
- "salary": {
- "type": "string"
+ "home": {
+ "$ref": "#/definitions/sofascore.PregameFormSide"
},
- "title": {
+ "label": {
+ "example": "Pts",
"type": "string"
},
- "url": {
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "tes.JobFacet": {
+ "sofascore.EventResponse": {
"properties": {
- "children": {
- "items": {
- "$ref": "#/definitions/tes.JobFacet"
- },
- "type": "array"
+ "event": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/sofascore.EventDetail"
+ }
+ ],
+ "description": "The match."
},
- "count": {
- "type": "integer"
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "type": "string"
},
- "value": {
+ "source_url": {
+ "description": "SofaScore URL the data was read from.",
"type": "string"
}
},
"type": "object"
},
- "tes.JobFacets": {
+ "sofascore.EventShotmapResponse": {
"properties": {
- "contract_terms": {
- "items": {
- "$ref": "#/definitions/tes.JobFacet"
- },
- "type": "array"
+ "count": {
+ "type": "integer"
},
- "contract_types": {
- "items": {
- "$ref": "#/definitions/tes.JobFacet"
- },
- "type": "array"
+ "event_id": {
+ "example": 16363867,
+ "type": "integer"
},
- "positions": {
- "items": {
- "$ref": "#/definitions/tes.JobFacet"
- },
- "type": "array"
+ "fetched_at": {
+ "type": "string"
},
- "subjects": {
+ "shots": {
"items": {
- "$ref": "#/definitions/tes.JobFacet"
+ "$ref": "#/definitions/sofascore.Shot"
},
"type": "array"
},
- "workplaces": {
- "items": {
- "$ref": "#/definitions/tes.JobFacet"
- },
- "type": "array"
+ "source_url": {
+ "type": "string"
}
},
"type": "object"
},
- "tes.JobSearchResponse": {
+ "sofascore.EventStatisticsResponse": {
"properties": {
- "facets": {
- "allOf": [
- {
- "$ref": "#/definitions/tes.JobFacets"
- }
- ],
- "description": "Facets is the same live faceted-search breakdown tes.com's own search\npage renders as its filter sidebar (position/subject/workplace\ncategory trees plus contract type/term counts), so a caller can\ndiscover exact Position/Subject/Workplace filter values without\nguessing. Counts reflect the query and other filters already applied."
+ "event_id": {
+ "description": "SofaScore event id the statistics belong to.",
+ "type": "integer"
},
- "jobs": {
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "type": "string"
+ },
+ "periods": {
+ "description": "Statistics for the whole match and for each period.",
"items": {
- "$ref": "#/definitions/tes.JobSummary"
+ "$ref": "#/definitions/sofascore.StatPeriod"
},
"type": "array"
},
- "keywords": {
+ "source_url": {
+ "description": "SofaScore URL the data was read from.",
"type": "string"
- },
- "location": {
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.EventStatus": {
+ "properties": {
+ "code": {
+ "description": "SofaScore's numeric status code, for example 0 for not started and 100 for ended.",
+ "type": "integer"
+ },
+ "description": {
+ "description": "Status as displayed, for example \"Ended\".",
+ "example": "Ended",
"type": "string"
},
- "page": {
+ "type": {
+ "description": "Status group, for example `notstarted`, `inprogress` or `finished`.",
+ "example": "finished",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.EventSummary": {
+ "properties": {
+ "away_score": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/sofascore.ScoreLine"
+ }
+ ],
+ "description": "Away side's score, when available."
+ },
+ "away_team": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/sofascore.TeamRef"
+ }
+ ],
+ "description": "Away side."
+ },
+ "home_score": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/sofascore.ScoreLine"
+ }
+ ],
+ "description": "Home side's score, when available."
+ },
+ "home_team": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/sofascore.TeamRef"
+ }
+ ],
+ "description": "Home side."
+ },
+ "id": {
+ "description": "SofaScore event id. Use it with the event endpoints.",
+ "example": 14025013,
"type": "integer"
},
- "page_size": {
+ "slug": {
+ "description": "URL slug of the match on SofaScore.",
+ "type": "string"
+ },
+ "start_time": {
+ "description": "Start time in UTC (RFC 3339).",
+ "example": "2025-08-15T19:00:00Z",
+ "type": "string"
+ },
+ "start_timestamp": {
+ "description": "Start time as a Unix timestamp in seconds.",
"type": "integer"
},
- "total": {
+ "status": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/sofascore.EventStatus"
+ }
+ ],
+ "description": "Current status of the match."
+ },
+ "tournament": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/sofascore.TournamentRef"
+ }
+ ],
+ "description": "Tournament and parent competition the match belongs to."
+ },
+ "winner_code": {
+ "description": "Result code: 1 when the home side won, 2 when the away side won, 3 for a draw. Omitted until the match is decided.",
"type": "integer"
}
},
"type": "object"
},
- "tes.JobSummary": {
+ "sofascore.EventTVChannelsResponse": {
"properties": {
- "closing_date": {
- "type": "string"
- },
- "contract_terms": {
+ "available_countries": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/sofascore.TVCountryChannels"
},
"type": "array"
},
- "contract_types": {
+ "channels": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/sofascore.TVChannel"
},
"type": "array"
},
- "employer": {
- "type": "string"
- },
- "employer_logo_url": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "location": {
- "type": "string"
- },
- "salary": {
+ "country": {
+ "example": "GB",
"type": "string"
},
- "short_description": {
- "type": "string"
+ "event_id": {
+ "example": 16363867,
+ "type": "integer"
},
- "title": {
+ "fetched_at": {
"type": "string"
},
- "url": {
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "tes.ResourceAttachment": {
+ "sofascore.EventTeamHeatmapResponse": {
"properties": {
- "file_type": {
- "type": "string"
+ "event_id": {
+ "example": 16363867,
+ "type": "integer"
},
- "preview_image_url": {
+ "fetched_at": {
"type": "string"
},
- "size": {
+ "goalkeeper_points": {
+ "items": {
+ "$ref": "#/definitions/sofascore.HeatmapPoint"
+ },
+ "type": "array"
+ },
+ "player_points": {
+ "items": {
+ "$ref": "#/definitions/sofascore.HeatmapPoint"
+ },
+ "type": "array"
+ },
+ "source_url": {
"type": "string"
+ },
+ "team_id": {
+ "example": 17,
+ "type": "integer"
}
},
"type": "object"
},
- "tes.ResourceDetail": {
+ "sofascore.EventTeamShotmapResponse": {
"properties": {
- "age_range": {
+ "count": {
+ "type": "integer"
+ },
+ "event_id": {
+ "type": "integer"
+ },
+ "fetched_at": {
"type": "string"
},
- "attachments": {
- "description": "Attachments lists each downloadable file's own type/size and a\npreview thumbnail -- metadata only (the file itself is never fetched;\nrobots.txt disallows /teaching-resource/download/ regardless).",
+ "locations": {
"items": {
- "$ref": "#/definitions/tes.ResourceAttachment"
+ "$ref": "#/definitions/sofascore.ShotLocation"
},
"type": "array"
},
- "author": {
- "type": "string"
- },
- "author_url": {
+ "source_url": {
"type": "string"
},
- "currency": {
- "type": "string"
+ "team_id": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.EventTeamStreaksResponse": {
+ "properties": {
+ "event_id": {
+ "example": 16363867,
+ "type": "integer"
},
- "description": {
+ "fetched_at": {
"type": "string"
},
- "free": {
- "type": "boolean"
+ "general": {
+ "items": {
+ "$ref": "#/definitions/sofascore.TeamStreak"
+ },
+ "type": "array"
},
- "id": {
- "type": "string"
+ "head2head": {
+ "items": {
+ "$ref": "#/definitions/sofascore.TeamStreak"
+ },
+ "type": "array"
},
- "license": {
- "description": "License is the resource's own licence label as Tes's detail page\nitself displays it (e.g. \"Tes paid licence\", `Creative Commons\n\"Sharealike\"`) -- a longer display string than\nResourceSummary.License's short facet code, since the detail page has\nno equivalent short-code field to read.",
+ "source_url": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.EventTennisPowerResponse": {
+ "properties": {
+ "count": {
+ "type": "integer"
},
- "price": {
- "type": "number"
- },
- "rating": {
- "type": "number"
- },
- "rating_count": {
+ "event_id": {
+ "example": 17257382,
"type": "integer"
},
- "resource_type": {
+ "fetched_at": {
"type": "string"
},
- "reviews": {
- "description": "Reviews is the most recent page of reviews (the same page the\npricing/reviews JSON endpoint returns by default -- see\nrawResourcePricing's doc comment). RatingCount is the true total\nacross every review, not just len(Reviews).",
+ "games": {
"items": {
- "$ref": "#/definitions/tes.ResourceReview"
+ "$ref": "#/definitions/sofascore.TennisPowerGame"
},
"type": "array"
},
- "subject": {
+ "source_url": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.EventVotesResponse": {
+ "properties": {
+ "both_teams_to_score": {
+ "$ref": "#/definitions/sofascore.VoteBothTeamsToScore"
},
- "thumbnail_url": {
- "type": "string"
+ "event_id": {
+ "example": 16363867,
+ "type": "integer"
},
- "title": {
+ "fetched_at": {
"type": "string"
},
- "url": {
+ "first_to_score": {
+ "$ref": "#/definitions/sofascore.VoteFirstToScore"
+ },
+ "match_result": {
+ "$ref": "#/definitions/sofascore.VoteMatchResult"
+ },
+ "source_url": {
"type": "string"
+ },
+ "who_should_have_won": {
+ "$ref": "#/definitions/sofascore.VoteWhoShouldHaveWon"
}
},
"type": "object"
},
- "tes.ResourceReview": {
+ "sofascore.FeatureTournament": {
"properties": {
- "author": {
- "type": "string"
+ "category_id": {
+ "example": 1465,
+ "type": "integer"
},
- "author_url": {
+ "category_name": {
+ "example": "Europe",
"type": "string"
},
- "comment": {
+ "id": {
+ "example": 7,
+ "type": "integer"
+ },
+ "name": {
+ "example": "UEFA Champions League",
"type": "string"
},
- "id": {
+ "slug": {
+ "example": "uefa-champions-league",
"type": "string"
},
- "posted": {
+ "sport": {
+ "example": "football",
"type": "string"
},
- "rating": {
- "type": "number"
+ "user_count": {
+ "type": "integer"
}
},
"type": "object"
},
- "tes.ResourceSearchResponse": {
+ "sofascore.GoalDistribution": {
"properties": {
- "country": {
- "type": "string"
- },
- "page": {
+ "conceded_goals": {
+ "example": 5,
"type": "integer"
},
- "page_size": {
+ "matches": {
+ "example": 5,
"type": "integer"
},
- "query": {
- "type": "string"
- },
- "resources": {
+ "periods": {
"items": {
- "$ref": "#/definitions/tes.ResourceSummary"
+ "$ref": "#/definitions/sofascore.GoalPeriod"
},
"type": "array"
},
- "total": {
+ "scored_goals": {
+ "example": 13,
"type": "integer"
+ },
+ "type": {
+ "example": "overall",
+ "type": "string"
}
},
"type": "object"
},
- "tes.ResourceShop": {
+ "sofascore.GoalPeriod": {
"properties": {
- "avatar_url": {
- "type": "string"
+ "conceded_goals": {
+ "example": 1,
+ "type": "integer"
},
- "bio": {
- "type": "string"
+ "end_minute": {
+ "example": 15,
+ "type": "integer"
},
- "downloads": {
+ "scored_goals": {
+ "example": 1,
"type": "integer"
},
+ "start_minute": {
+ "example": 1,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.GrandSlamTournament": {
+ "properties": {
"name": {
+ "example": "Australian Open, Men",
"type": "string"
},
- "page": {
- "type": "integer"
- },
- "rating": {
- "type": "number"
- },
- "rating_count": {
+ "tournament_id": {
+ "example": 2363,
"type": "integer"
},
- "resources": {
+ "years": {
"items": {
- "$ref": "#/definitions/tes.ShopResourceSummary"
+ "$ref": "#/definitions/sofascore.GrandSlamYear"
},
"type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.GrandSlamYear": {
+ "properties": {
+ "is_live": {
+ "type": "boolean"
},
- "uploads": {
- "type": "integer"
+ "is_upcoming": {
+ "type": "boolean"
},
- "url": {
+ "round": {
+ "example": "Final",
"type": "string"
},
- "username": {
- "type": "string"
+ "season_id": {
+ "example": 48186,
+ "type": "integer"
},
- "views": {
+ "winner": {
+ "type": "boolean"
+ },
+ "year": {
+ "example": 2023,
"type": "integer"
}
},
"type": "object"
},
- "tes.ResourceSummary": {
+ "sofascore.GraphPoint": {
"properties": {
- "author": {
- "type": "string"
+ "minute": {
+ "example": 45.5,
+ "type": "number"
},
- "bundle_original_price": {
+ "value": {
+ "example": -12,
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.HeatmapPoint": {
+ "properties": {
+ "x": {
+ "example": 47.6,
"type": "number"
},
- "bundle_resource_count": {
+ "y": {
+ "example": 55.9,
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.Incident": {
+ "properties": {
+ "added_time": {
+ "description": "Minutes of added time at the point of the incident.",
"type": "integer"
},
- "currency": {
+ "away_score": {
+ "description": "Away team's score after the incident.",
+ "type": "integer"
+ },
+ "card_color": {
+ "description": "Color of the card, such as `yellow` or `red`. Set for card incidents.",
+ "example": "yellow",
"type": "string"
},
- "downloads": {
+ "home_score": {
+ "description": "Home team's score after the incident.",
"type": "integer"
},
- "file_types": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "is_home": {
+ "description": "Whether the incident belongs to the home team.",
+ "type": "boolean"
},
- "first_published": {
+ "player": {
+ "description": "Name of the player involved in the incident.",
"type": "string"
},
- "free": {
- "type": "boolean"
- },
- "id": {
+ "player_in": {
+ "description": "Name of the player coming on in a substitution.",
"type": "string"
},
- "is_bundle": {
- "description": "IsBundle marks a listing that packages multiple resources under one\nprice, tes.com's own \"Bundle\" badge. BundleResourceCount and\nBundleOriginalPrice are only meaningful when IsBundle is true.",
- "type": "boolean"
+ "player_out": {
+ "description": "Name of the player going off in a substitution.",
+ "type": "string"
},
- "last_published": {
+ "reason": {
+ "description": "Reason SofaScore gives for the incident.",
"type": "string"
},
- "license": {
- "description": "License is Tes's own short licence code -- one of \"Paid\", \"CC-BY-SA\",\n\"CC-BY-ND\", \"CC-BY\" (its licence facet's own values, confirmed live\n2026-09-04).",
+ "text": {
+ "description": "Short label for the incident, such as `FT` for full time.",
+ "example": "FT",
"type": "string"
},
- "on_sale": {
- "type": "boolean"
+ "time": {
+ "description": "Match minute at which the incident happened.",
+ "type": "integer"
},
- "price": {
- "type": "number"
+ "type": {
+ "description": "Incident type, such as `period`, `goal`, `card` or `substitution`.",
+ "example": "goal",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.LineupPlayer": {
+ "properties": {
+ "jersey_number": {
+ "description": "Shirt number worn in this match.",
+ "type": "string"
},
- "rating": {
- "type": "number"
+ "player": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/sofascore.PlayerRef"
+ }
+ ],
+ "description": "The player."
},
- "rating_count": {
+ "position": {
+ "description": "Position in this match, for example G, D, M or F.",
+ "type": "string"
+ },
+ "substitute": {
+ "description": "True for a player on the bench.",
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.LiveEventsResponse": {
+ "properties": {
+ "count": {
+ "description": "Number of events returned.",
+ "example": 10,
"type": "integer"
},
- "resource_types": {
+ "events": {
+ "description": "Matches currently in progress.",
"items": {
- "type": "string"
+ "$ref": "#/definitions/sofascore.EventSummary"
},
"type": "array"
},
- "thumbnail_url": {
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
"type": "string"
},
- "title": {
+ "source_url": {
+ "description": "SofaScore URL the data was read from.",
"type": "string"
},
- "url": {
+ "sport": {
+ "description": "Sport the events belong to.",
+ "example": "football",
"type": "string"
}
},
"type": "object"
},
- "tes.SchoolSearchResponse": {
+ "sofascore.MMACardResponse": {
"properties": {
- "page": {
+ "card_id": {
+ "example": 197311,
"type": "integer"
},
- "page_size": {
+ "card_name": {
+ "example": "UFC 332: Silva vs. Wang",
+ "type": "string"
+ },
+ "count": {
"type": "integer"
},
- "query": {
+ "fetched_at": {
"type": "string"
},
- "schools": {
+ "fights": {
"items": {
- "$ref": "#/definitions/tes.SchoolSummary"
+ "$ref": "#/definitions/sofascore.MMAFight"
},
"type": "array"
},
- "total": {
+ "org_id": {
+ "example": 19906,
"type": "integer"
},
- "total_pages": {
- "type": "integer"
+ "part": {
+ "example": "all",
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
}
},
"type": "object"
},
- "tes.SchoolSummary": {
+ "sofascore.MMAFight": {
"properties": {
- "address": {
+ "away_fighter": {
+ "$ref": "#/definitions/sofascore.MMAFighter"
+ },
+ "card_id": {
+ "example": 197311,
+ "type": "integer"
+ },
+ "card_name": {
+ "example": "UFC 332: Silva vs. Wang",
"type": "string"
},
- "country": {
+ "fight_type": {
+ "description": "FightType is the card segment the bout belongs to: `maincard`, `prelims`\nor `earlyprelims`.",
+ "example": "maincard",
"type": "string"
},
- "description": {
+ "final_round": {
+ "description": "FinalRound is the round the bout ended in; ScheduledRounds is its\nscheduled length. TimePlayedSeconds is the fight time actually fought.",
+ "example": 5,
+ "type": "integer"
+ },
+ "gender": {
+ "example": "F",
"type": "string"
},
+ "home_fighter": {
+ "$ref": "#/definitions/sofascore.MMAFighter"
+ },
"id": {
- "type": "string"
+ "example": 17042538,
+ "type": "integer"
},
- "logo_url": {
+ "order": {
+ "description": "Order is the bout's position on the card; the highest number is the main\nevent.",
+ "example": 14,
+ "type": "integer"
+ },
+ "scheduled_rounds": {
+ "example": 5,
+ "type": "integer"
+ },
+ "slug": {
+ "example": "wang-cong-natalia-silva",
"type": "string"
},
- "name": {
+ "start_time": {
+ "example": "2026-10-02T02:12:33Z",
"type": "string"
},
- "post_code": {
+ "start_timestamp": {
+ "type": "integer"
+ },
+ "status": {
+ "$ref": "#/definitions/sofascore.EventStatus"
+ },
+ "time_played_seconds": {
+ "example": 1500,
+ "type": "integer"
+ },
+ "weight_class": {
+ "description": "WeightClass is SofaScore's division key, for example `fly`, `bantam`,\n`feather`, `light`, `welter`, `middle`, `lightheavy`, `heavy` or `straw`.",
+ "example": "fly",
"type": "string"
},
- "url": {
+ "win_type": {
+ "description": "WinType is how the bout ended, for example `KO`, `TKO`, `SUB`, `UD`, `SD`\nor `NC`; omitted until it has ended.",
+ "example": "UD",
"type": "string"
+ },
+ "winner_code": {
+ "description": "WinnerCode is 1 when the home fighter won, 2 for the away fighter; absent\nuntil decided.",
+ "example": 1,
+ "type": "integer"
}
},
"type": "object"
},
- "tes.ShopResourceSummary": {
+ "sofascore.MMAFighter": {
"properties": {
- "currency": {
+ "country": {
+ "example": "Brazil",
"type": "string"
},
- "free": {
- "type": "boolean"
+ "draws": {
+ "example": 1,
+ "type": "integer"
},
"id": {
- "type": "string"
+ "example": 461932,
+ "type": "integer"
},
- "price": {
- "type": "number"
+ "losses": {
+ "example": 5,
+ "type": "integer"
},
- "thumbnail_url": {
+ "name": {
+ "example": "Natália Silva",
"type": "string"
},
- "title": {
+ "nickname": {
+ "example": "Deus da Guerra",
"type": "string"
},
- "url": {
+ "ranking": {
+ "description": "Ranking is the fighter's division ranking; 0 is the champion, and it is\nomitted for an unranked fighter.",
+ "example": 0,
+ "type": "integer"
+ },
+ "slug": {
+ "example": "natalia-silva",
"type": "string"
+ },
+ "wins": {
+ "description": "Wins, Draws and Losses are the professional record going into the fight.",
+ "example": 21,
+ "type": "integer"
}
},
"type": "object"
},
- "tes.employerDetailResponseDoc": {
+ "sofascore.MMAScheduleResponse": {
"properties": {
- "code": {
- "example": 200,
+ "count": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/tes.EmployerDetail"
+ "fetched_at": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "main_events": {
+ "items": {
+ "$ref": "#/definitions/sofascore.MMAFight"
+ },
+ "type": "array"
+ },
+ "month": {
+ "example": "2026-10",
"type": "string"
- }
- },
- "type": "object"
- },
- "tes.jobDetailResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/tes.JobDetail"
+ "org_id": {
+ "example": 19906,
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "tes.jobSearchResponseDoc": {
+ "sofascore.ManagerBrief": {
"properties": {
- "code": {
- "example": 200,
+ "id": {
+ "example": 794873,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/tes.JobSearchResponse"
+ "name": {
+ "example": "Enzo Maresca",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "short_name": {
+ "example": "E. Maresca",
+ "type": "string"
+ },
+ "slug": {
+ "example": "enzo-maresca",
"type": "string"
}
},
"type": "object"
},
- "tes.resourceDetailResponseDoc": {
+ "sofascore.ManagerDetail": {
"properties": {
- "code": {
- "example": 200,
+ "country": {
+ "example": "Italy",
+ "type": "string"
+ },
+ "date_of_birth": {
+ "example": "1980-02-10",
+ "type": "string"
+ },
+ "deceased": {
+ "type": "boolean"
+ },
+ "former_player_id": {
+ "example": 2026,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/tes.ResourceDetail"
+ "id": {
+ "example": 794873,
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "name": {
+ "example": "Enzo Maresca",
"type": "string"
- }
- },
- "type": "object"
- },
- "tes.resourceSearchResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/tes.ResourceSearchResponse"
+ "nationality_code": {
+ "example": "ITA",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "nationality_iso2": {
+ "example": "IT",
"type": "string"
- }
- },
- "type": "object"
- },
- "tes.resourceShopResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/tes.ResourceShop"
+ "performance": {
+ "$ref": "#/definitions/sofascore.ManagerPerformance"
},
- "msg": {
- "example": "OK",
+ "preferred_formation": {
+ "example": "4-2-3-1",
"type": "string"
- }
- },
- "type": "object"
- },
- "tes.schoolSearchResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/tes.SchoolSearchResponse"
+ "short_name": {
+ "example": "E. Maresca",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "slug": {
+ "example": "enzo-maresca",
"type": "string"
+ },
+ "team": {
+ "$ref": "#/definitions/sofascore.TeamRef"
+ },
+ "teams": {
+ "items": {
+ "$ref": "#/definitions/sofascore.TeamRef"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "teslajobs.ListResponse": {
+ "sofascore.ManagerEventsResponse": {
"properties": {
- "jobs": {
- "description": "Job listings on this page.",
+ "count": {
+ "type": "integer"
+ },
+ "events": {
"items": {
- "$ref": "#/definitions/teslajobs.TeslaJobListing"
+ "$ref": "#/definitions/sofascore.EventSummary"
},
"type": "array"
},
- "location": {
- "description": "Location filter that was applied.",
- "example": "Palo Alto",
+ "fetched_at": {
"type": "string"
},
- "page": {
- "description": "Page number returned, starting at 1.",
- "example": 1,
+ "has_next_page": {
+ "type": "boolean"
+ },
+ "manager_id": {
+ "example": 794873,
"type": "integer"
},
- "page_size": {
- "description": "Number of job listings per page.",
- "example": 20,
+ "page": {
"type": "integer"
},
- "query": {
- "description": "Title or department filter that was applied.",
- "example": "software engineer",
+ "source_url": {
"type": "string"
- },
- "total": {
- "description": "Total number of job listings that match the filters.",
- "example": 302,
- "type": "integer"
}
},
"type": "object"
},
- "teslajobs.TeslaJob": {
+ "sofascore.ManagerPerformance": {
"properties": {
- "apply_url": {
- "type": "string"
- },
- "compensation_text": {
- "type": "string"
- },
- "country": {
- "example": "US",
- "type": "string"
+ "draws": {
+ "example": 30,
+ "type": "integer"
},
- "department": {
- "example": "Tesla AI",
- "type": "string"
+ "goals_conceded": {
+ "example": 211,
+ "type": "integer"
},
- "description": {
- "type": "string"
+ "goals_scored": {
+ "example": 418,
+ "type": "integer"
},
- "employment_type": {
- "example": "fulltime",
- "type": "string"
+ "losses": {
+ "example": 44,
+ "type": "integer"
},
- "id": {
- "example": "224501",
- "type": "string"
+ "total": {
+ "example": 194,
+ "type": "integer"
},
- "job_family": {
- "example": "AI",
- "type": "string"
+ "total_points": {
+ "example": 390,
+ "type": "integer"
},
- "location": {
- "example": "Palo Alto, California",
+ "wins": {
+ "example": 120,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.ManagerResponse": {
+ "properties": {
+ "fetched_at": {
"type": "string"
},
- "requirements": {
- "type": "string"
+ "manager": {
+ "$ref": "#/definitions/sofascore.ManagerDetail"
},
- "responsibilities": {
+ "source_url": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.MoverOddsChoice": {
+ "properties": {
+ "change": {
+ "description": "Change is 1 when the fractional price is above its opening value, -1\nwhen below it and 0 when unchanged.",
+ "example": 1,
+ "type": "integer"
},
- "state": {
- "example": "CA",
+ "initial_value": {
+ "example": "31/50",
"type": "string"
},
- "title": {
- "example": "AI Engineer, Manipulation, Optimus",
+ "name": {
+ "example": "1",
"type": "string"
},
- "url": {
- "example": "https://www.tesla.com/careers/search/job/ai-engineer-manipulation-optimus-224501",
+ "value": {
+ "example": "29/100",
"type": "string"
}
},
"type": "object"
},
- "teslajobs.TeslaJobListing": {
+ "sofascore.MoverOddsMarket": {
"properties": {
- "department": {
- "description": "Tesla department the job belongs to, such as `Tesla AI`.",
- "example": "Tesla AI",
- "type": "string"
+ "choices": {
+ "items": {
+ "$ref": "#/definitions/sofascore.MoverOddsChoice"
+ },
+ "type": "array"
},
- "id": {
- "description": "Tesla careers job id. Use it with the job endpoint.",
- "example": "224501",
+ "group": {
+ "example": "1X2",
"type": "string"
},
- "location": {
- "description": "Job location as Tesla shows it, such as `Palo Alto, California`.",
- "example": "Palo Alto, California",
+ "is_live": {
+ "type": "boolean"
+ },
+ "name": {
+ "example": "Full time",
"type": "string"
},
- "title": {
- "description": "Job title as shown on Tesla Careers.",
- "example": "AI Engineer, Manipulation, Optimus",
+ "period": {
+ "example": "Full-time",
"type": "string"
+ },
+ "suspended": {
+ "type": "boolean"
}
},
"type": "object"
},
- "teslajobs.jobResponseDoc": {
+ "sofascore.NamedCode": {
"properties": {
"code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/teslajobs.TeslaJob"
+ "example": "EN",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "name": {
+ "example": "England",
"type": "string"
}
},
"type": "object"
},
- "teslajobs.listResponseDoc": {
+ "sofascore.OddsChoice": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/teslajobs.ListResponse"
+ "name": {
+ "description": "Outcome label, for example 1, X or 2.",
+ "example": "1",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "value": {
+ "description": "Fractional odds, for example 29/100.",
+ "example": "29/100",
"type": "string"
+ },
+ "winning": {
+ "description": "True when this outcome won.",
+ "type": "boolean"
}
},
"type": "object"
},
- "theage.ArticleResponse": {
+ "sofascore.OddsDroppingEvent": {
"properties": {
- "authors": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "away_score": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/sofascore.ScoreLine"
+ }
+ ],
+ "description": "Away side's score, when available."
},
- "description": {
- "type": "string"
+ "away_team": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/sofascore.TeamRef"
+ }
+ ],
+ "description": "Away side."
},
- "image_url": {
+ "choice_name": {
+ "example": "2",
"type": "string"
},
- "is_accessible_for_free": {
- "type": "boolean"
+ "home_score": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/sofascore.ScoreLine"
+ }
+ ],
+ "description": "Home side's score, when available."
},
- "is_truncated": {
- "type": "boolean"
+ "home_team": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/sofascore.TeamRef"
+ }
+ ],
+ "description": "Home side."
},
- "keywords": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "id": {
+ "description": "SofaScore event id. Use it with the event endpoints.",
+ "example": 14025013,
+ "type": "integer"
},
- "paragraphs": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "market": {
+ "$ref": "#/definitions/sofascore.MoverOddsMarket"
},
- "paywalled": {
- "type": "boolean"
+ "percentage": {
+ "example": 63,
+ "type": "number"
},
- "published_at": {
+ "slug": {
+ "description": "URL slug of the match on SofaScore.",
"type": "string"
},
- "section": {
+ "sport": {
+ "example": "football",
"type": "string"
},
- "title": {
+ "start_time": {
+ "description": "Start time in UTC (RFC 3339).",
+ "example": "2025-08-15T19:00:00Z",
"type": "string"
},
- "updated_at": {
- "type": "string"
+ "start_timestamp": {
+ "description": "Start time as a Unix timestamp in seconds.",
+ "type": "integer"
},
- "url": {
- "type": "string"
+ "status": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/sofascore.EventStatus"
+ }
+ ],
+ "description": "Current status of the match."
+ },
+ "tournament": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/sofascore.TournamentRef"
+ }
+ ],
+ "description": "Tournament and parent competition the match belongs to."
+ },
+ "winner_code": {
+ "description": "Result code: 1 when the home side won, 2 when the away side won, 3 for a draw. Omitted until the match is decided.",
+ "type": "integer"
}
},
"type": "object"
},
- "theage.AuthorResponse": {
+ "sofascore.OddsDroppingResponse": {
"properties": {
- "articles": {
+ "count": {
+ "type": "integer"
+ },
+ "events": {
"items": {
- "$ref": "#/definitions/theage.HeadlineItem"
+ "$ref": "#/definitions/sofascore.OddsDroppingEvent"
},
"type": "array"
},
- "bio": {
- "type": "string"
- },
- "email": {
- "type": "string"
- },
- "image_url": {
+ "fetched_at": {
"type": "string"
},
- "name": {
+ "source_url": {
"type": "string"
},
- "social_links": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "url": {
+ "sport": {
+ "example": "all",
"type": "string"
}
},
"type": "object"
},
- "theage.HeadlineItem": {
+ "sofascore.OddsMarket": {
"properties": {
- "author": {
- "type": "string"
- },
- "image_url": {
- "type": "string"
- },
- "published_at": {
- "type": "string"
+ "choices": {
+ "description": "Outcomes that can be selected in this market.",
+ "items": {
+ "$ref": "#/definitions/sofascore.OddsChoice"
+ },
+ "type": "array"
},
- "summary": {
+ "group": {
+ "description": "Market group, for example 1X2.",
+ "example": "1X2",
"type": "string"
},
- "title": {
+ "name": {
+ "description": "Market name, for example \"Full time\".",
+ "example": "Full time",
"type": "string"
},
- "type": {
+ "period": {
+ "description": "Part of the match the market covers, for example \"Full-time\".",
+ "example": "Full-time",
"type": "string"
},
- "url": {
- "type": "string"
+ "suspended": {
+ "description": "True while the market is suspended.",
+ "type": "boolean"
}
},
"type": "object"
},
- "theatlantic.ArticleResponse": {
+ "sofascore.OddsWinningEvent": {
"properties": {
- "authors": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "actual": {
+ "example": 1,
+ "type": "number"
},
- "description": {
- "type": "string"
+ "away_score": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/sofascore.ScoreLine"
+ }
+ ],
+ "description": "Away side's score, when available."
},
- "image_url": {
- "type": "string"
+ "away_team": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/sofascore.TeamRef"
+ }
+ ],
+ "description": "Away side."
},
- "metered": {
- "type": "boolean"
+ "expected": {
+ "example": 51,
+ "type": "number"
},
- "paragraphs": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "home_score": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/sofascore.ScoreLine"
+ }
+ ],
+ "description": "Home side's score, when available."
},
- "published_at": {
- "type": "string"
+ "home_team": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/sofascore.TeamRef"
+ }
+ ],
+ "description": "Home side."
},
- "section": {
- "type": "string"
+ "id": {
+ "description": "SofaScore event id. Use it with the event endpoints.",
+ "example": 14025013,
+ "type": "integer"
},
- "tags": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "market": {
+ "$ref": "#/definitions/sofascore.MoverOddsMarket"
},
- "title": {
+ "slug": {
+ "description": "URL slug of the match on SofaScore.",
"type": "string"
},
- "updated_at": {
+ "sport": {
+ "example": "basketball",
"type": "string"
},
- "url": {
+ "start_time": {
+ "description": "Start time in UTC (RFC 3339).",
+ "example": "2025-08-15T19:00:00Z",
+ "type": "string"
+ },
+ "start_timestamp": {
+ "description": "Start time as a Unix timestamp in seconds.",
+ "type": "integer"
+ },
+ "status": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/sofascore.EventStatus"
+ }
+ ],
+ "description": "Current status of the match."
+ },
+ "tournament": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/sofascore.TournamentRef"
+ }
+ ],
+ "description": "Tournament and parent competition the match belongs to."
+ },
+ "winner_code": {
+ "description": "Result code: 1 when the home side won, 2 when the away side won, 3 for a draw. Omitted until the match is decided.",
+ "type": "integer"
+ },
+ "winning_odds": {
+ "example": "24/25",
"type": "string"
}
},
"type": "object"
},
- "theatlantic.AuthorResponse": {
+ "sofascore.OddsWinningResponse": {
"properties": {
- "articles": {
+ "count": {
+ "type": "integer"
+ },
+ "events": {
"items": {
- "$ref": "#/definitions/theatlantic.HeadlineItem"
+ "$ref": "#/definitions/sofascore.OddsWinningEvent"
},
"type": "array"
},
- "biography": {
- "type": "string"
- },
- "headshot_url": {
+ "fetched_at": {
"type": "string"
},
- "name": {
+ "source_url": {
"type": "string"
},
- "url": {
+ "sport": {
+ "example": "all",
"type": "string"
}
},
"type": "object"
},
- "theatlantic.HeadlineItem": {
+ "sofascore.PlayerAction": {
"properties": {
- "author": {
- "type": "string"
+ "coordinates": {
+ "$ref": "#/definitions/sofascore.Coordinates"
},
- "description": {
- "type": "string"
+ "end_coordinates": {
+ "$ref": "#/definitions/sofascore.Coordinates"
},
- "image_url": {
- "type": "string"
+ "is_home": {
+ "type": "boolean"
},
- "published_at": {
- "type": "string"
+ "key_pass": {
+ "type": "boolean"
},
- "title": {
- "type": "string"
+ "outcome": {
+ "type": "boolean"
},
- "url": {
+ "type": {
"type": "string"
}
},
"type": "object"
},
- "theatlantic.HeadlinesResponse": {
+ "sofascore.PlayerAttributeOverview": {
"properties": {
- "items": {
- "items": {
- "$ref": "#/definitions/theatlantic.HeadlineItem"
+ "attributes": {
+ "additionalProperties": {
+ "format": "float64",
+ "type": "number"
},
- "type": "array"
+ "type": "object"
},
- "section": {
+ "position": {
+ "example": "F",
"type": "string"
+ },
+ "year_shift": {
+ "description": "YearShift is 0 for the current scores and N for the scores N years earlier.",
+ "example": 0,
+ "type": "integer"
}
},
"type": "object"
},
- "theatlantic.Section": {
+ "sofascore.PlayerAttributesResponse": {
"properties": {
- "name": {
- "type": "string"
+ "characteristics": {
+ "$ref": "#/definitions/sofascore.PlayerCharacteristics"
},
- "slug": {
+ "characteristics_url": {
"type": "string"
},
- "url": {
+ "fetched_at": {
"type": "string"
- }
- },
- "type": "object"
- },
- "theatlantic.SectionsResponse": {
- "properties": {
- "sections": {
+ },
+ "overviews": {
"items": {
- "$ref": "#/definitions/theatlantic.Section"
+ "$ref": "#/definitions/sofascore.PlayerAttributeOverview"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "theatlantic.articleResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ },
+ "player_id": {
+ "example": 839956,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/theatlantic.ArticleResponse"
+ "position_averages": {
+ "items": {
+ "$ref": "#/definitions/sofascore.PlayerAttributeOverview"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "source_url": {
+ "type": "string"
+ },
+ "sport": {
+ "example": "football",
"type": "string"
}
},
"type": "object"
},
- "theatlantic.authorResponseDoc": {
+ "sofascore.PlayerBrief": {
"properties": {
- "code": {
- "example": 200,
+ "id": {
+ "example": 839956,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/theatlantic.AuthorResponse"
+ "jersey_number": {
+ "example": "9",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "name": {
+ "example": "Erling Haaland",
"type": "string"
- }
- },
- "type": "object"
- },
- "theatlantic.headlinesResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/theatlantic.HeadlinesResponse"
+ "position": {
+ "example": "F",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "short_name": {
+ "example": "E. Haaland",
+ "type": "string"
+ },
+ "slug": {
+ "example": "erling-haaland",
"type": "string"
}
},
"type": "object"
},
- "theatlantic.sectionsResponseDoc": {
+ "sofascore.PlayerCharacteristic": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is SofaScore's numeric characteristic code.",
+ "example": 5,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/theatlantic.SectionsResponse"
+ "key": {
+ "description": "Key is the identifier the SofaScore web client uses for the code (for\nexample finishing); omitted for a code the client does not name.",
+ "example": "finishing",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "name": {
+ "example": "Finishing",
"type": "string"
+ },
+ "rank": {
+ "description": "Rank is SofaScore's rank value for the characteristic.",
+ "example": 25,
+ "type": "integer"
}
},
"type": "object"
},
- "theblaze.AuthorResponse": {
+ "sofascore.PlayerCharacteristics": {
"properties": {
- "articles": {
+ "positions": {
"items": {
- "$ref": "#/definitions/newsplatform.HeadlineItem"
+ "type": "string"
},
"type": "array"
},
- "biography": {
+ "strengths": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/sofascore.PlayerCharacteristic"
},
"type": "array"
},
- "image_url": {
- "type": "string"
- },
- "name": {
- "type": "string"
- },
- "role": {
- "type": "string"
- },
- "slug": {
- "type": "string"
- },
- "url": {
- "type": "string"
+ "weaknesses": {
+ "items": {
+ "$ref": "#/definitions/sofascore.PlayerCharacteristic"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "thedailybeast.AuthorArticle": {
+ "sofascore.PlayerDetail": {
"properties": {
- "title": {
+ "country": {
+ "description": "Player's country.",
"type": "string"
},
- "url": {
+ "date_of_birth": {
+ "description": "Date of birth (RFC 3339).",
"type": "string"
- }
- },
- "type": "object"
- },
- "thedailybeast.AuthorResponse": {
- "properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/thedailybeast.AuthorArticle"
- },
- "type": "array"
},
- "bio": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "deceased": {
+ "description": "True when the player has died.",
+ "type": "boolean"
},
- "image_url": {
- "type": "string"
+ "height": {
+ "description": "Height in centimetres.",
+ "type": "integer"
},
- "job_title": {
- "type": "string"
+ "id": {
+ "description": "SofaScore player id. Use it with the player endpoints.",
+ "type": "integer"
},
- "name": {
+ "jersey_number": {
+ "description": "Shirt number.",
"type": "string"
},
- "twitter": {
- "type": "string"
+ "market_value": {
+ "description": "SofaScore's estimated market value, in units of `market_value_currency`. Omitted when unavailable.",
+ "type": "integer"
},
- "url": {
+ "market_value_currency": {
+ "description": "Currency of `market_value`, for example EUR.",
"type": "string"
- }
- },
- "type": "object"
- },
- "thehill.AuthorArticle": {
- "properties": {
- "category": {
+ },
+ "name": {
+ "description": "Player's full name.",
"type": "string"
},
- "category_url": {
+ "position": {
+ "description": "Position code, for example G, D, M or F.",
"type": "string"
},
- "published_at": {
+ "preferred_foot": {
+ "description": "Preferred foot, for example \"Right\".",
"type": "string"
},
- "title": {
+ "short_name": {
+ "description": "Shortened name, for example \"E. Haaland\".",
"type": "string"
},
- "url": {
+ "slug": {
+ "description": "URL slug of the player on SofaScore.",
"type": "string"
+ },
+ "team": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/sofascore.TeamRef"
+ }
+ ],
+ "description": "The player's current team."
}
},
"type": "object"
},
- "thehill.AuthorResponse": {
+ "sofascore.PlayerEventRow": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/thehill.AuthorArticle"
- },
- "type": "array"
- },
- "bio": {
- "type": "string"
+ "event": {
+ "$ref": "#/definitions/sofascore.EventSummary"
},
- "image_url": {
- "type": "string"
+ "incident_counts": {
+ "additionalProperties": {
+ "format": "float64",
+ "type": "number"
+ },
+ "description": "IncidentCounts holds counts of the player's match incidents, for example\ngoals, assists, yellow_cards, red_cards and penalty_goals.",
+ "type": "object"
},
- "job_title": {
- "type": "string"
+ "on_bench": {
+ "description": "OnBench is true only when the player was an unused substitute.",
+ "type": "boolean"
},
- "name": {
- "type": "string"
+ "played_for_team_id": {
+ "description": "PlayedForTeamID is the team the player represented in the match.",
+ "example": 17,
+ "type": "integer"
},
- "url": {
- "type": "string"
+ "statistics": {
+ "additionalProperties": {
+ "format": "float64",
+ "type": "number"
+ },
+ "description": "Statistics holds the player's numbers in the match (football: rating and\nminutes_played; basketball: points, rebounds and more). It is absent when\nthe player did not play or the match has not started.",
+ "type": "object"
}
},
"type": "object"
},
- "thehindu.AuthorResponse": {
+ "sofascore.PlayerEventsResponse": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/thehindu.HeadlineItem"
- },
- "type": "array"
+ "count": {
+ "type": "integer"
},
- "biography": {
+ "events": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/sofascore.PlayerEventRow"
},
"type": "array"
},
- "designation": {
- "type": "string"
- },
- "email": {
- "type": "string"
- },
- "facebook_url": {
- "type": "string"
- },
- "image_url": {
+ "fetched_at": {
"type": "string"
},
- "linkedin_url": {
- "type": "string"
+ "has_next_page": {
+ "type": "boolean"
},
- "name": {
- "type": "string"
+ "page": {
+ "type": "integer"
},
- "twitter_url": {
- "type": "string"
+ "player_id": {
+ "example": 839956,
+ "type": "integer"
},
- "url": {
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "thehindu.HeadlineItem": {
+ "sofascore.PlayerFormEntry": {
"properties": {
- "author": {
- "type": "string"
- },
- "image_url": {
+ "date": {
+ "example": "2025-11-02T16:30:00Z",
"type": "string"
},
- "published_at": {
- "type": "string"
+ "rating": {
+ "example": 9.3,
+ "type": "number"
},
- "summary": {
- "type": "string"
+ "timestamp": {
+ "type": "integer"
},
- "title": {
- "type": "string"
+ "tournament_id": {
+ "example": 17,
+ "type": "integer"
},
"type": {
+ "example": "event",
"type": "string"
},
- "url": {
+ "value": {
+ "description": "Value is the upstream value as published: the rating for an event, an\nopaque number for an injury, absent for the other types.",
+ "example": "9.3",
"type": "string"
}
},
"type": "object"
},
- "thejournal.AuthorArticle": {
+ "sofascore.PlayerLastYearSummaryResponse": {
"properties": {
- "image_url": {
- "type": "string"
+ "count": {
+ "type": "integer"
},
- "section": {
+ "fetched_at": {
"type": "string"
},
- "summary": {
- "type": "string"
+ "player_id": {
+ "example": 839956,
+ "type": "integer"
},
- "title": {
+ "source_url": {
"type": "string"
},
- "url": {
- "type": "string"
+ "summary": {
+ "items": {
+ "$ref": "#/definitions/sofascore.PlayerFormEntry"
+ },
+ "type": "array"
+ },
+ "tournaments": {
+ "items": {
+ "$ref": "#/definitions/sofascore.UniqueTournamentBrief"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "thejournal.AuthorResponse": {
+ "sofascore.PlayerMatchRating": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/thejournal.AuthorArticle"
- },
- "type": "array"
+ "event": {
+ "$ref": "#/definitions/sofascore.EventSummary"
},
- "has_more": {
+ "event_id": {
+ "example": 14023936,
+ "type": "integer"
+ },
+ "is_home": {
"type": "boolean"
},
- "id": {
- "type": "string"
+ "opponent": {
+ "$ref": "#/definitions/sofascore.TeamRef"
},
- "name": {
- "type": "string"
+ "rating": {
+ "example": 7.4,
+ "type": "number"
},
- "slug": {
+ "start_time": {
+ "example": "2026-05-20T19:00:00Z",
"type": "string"
},
- "url": {
- "type": "string"
+ "start_timestamp": {
+ "type": "integer"
}
},
"type": "object"
},
- "thenextweb.AuthorResponse": {
+ "sofascore.PlayerNationalTeamRecord": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/newsplatform.HeadlineItem"
- },
- "type": "array"
+ "appearances": {
+ "example": 59,
+ "type": "integer"
},
- "image_url": {
+ "debut_date": {
+ "example": "2019-09-06",
"type": "string"
},
- "name": {
- "type": "string"
+ "debut_timestamp": {
+ "type": "integer"
},
- "slug": {
- "type": "string"
+ "goals": {
+ "example": 65,
+ "type": "integer"
},
- "url": {
- "type": "string"
+ "team": {
+ "$ref": "#/definitions/sofascore.TeamRef"
}
},
"type": "object"
},
- "therealreal.AutocompleteResponse": {
+ "sofascore.PlayerNationalTeamStatisticsResponse": {
"properties": {
+ "count": {
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "player_id": {
+ "example": 839956,
+ "type": "integer"
+ },
"source_url": {
"type": "string"
},
- "suggestions": {
- "items": {
- "$ref": "#/definitions/therealreal.Suggestion"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "therealreal.CategoriesResponse": {
- "properties": {
- "categories": {
+ "teams": {
"items": {
- "$ref": "#/definitions/therealreal.Category"
+ "$ref": "#/definitions/sofascore.PlayerNationalTeamRecord"
},
"type": "array"
- },
- "source_url": {
- "type": "string"
}
},
"type": "object"
},
- "therealreal.Category": {
+ "sofascore.PlayerPenalty": {
"properties": {
- "children": {
- "items": {
- "$ref": "#/definitions/therealreal.Category"
- },
- "type": "array"
+ "event": {
+ "$ref": "#/definitions/sofascore.EventSummary"
},
- "count": {
- "example": 225361,
+ "id": {
+ "example": 6089564,
"type": "integer"
},
- "id": {
- "example": "493",
+ "outcome": {
+ "example": "goal",
"type": "string"
},
- "name": {
- "example": "Handbags",
- "type": "string"
+ "x": {
+ "example": 68.82,
+ "type": "number"
},
- "permalink": {
- "example": "women/handbags",
+ "xg": {
+ "description": "XG is the expected-goals value of the penalty when SofaScore has one.",
+ "example": 0.78,
+ "type": "number"
+ },
+ "y": {
+ "example": 95.83,
+ "type": "number"
+ },
+ "zone": {
+ "example": "low-right",
"type": "string"
}
},
"type": "object"
},
- "therealreal.CollectionSlug": {
+ "sofascore.PlayerPenaltyHistoryResponse": {
"properties": {
- "slug": {
- "example": "on-sale-now",
- "type": "string"
+ "attempts": {
+ "example": 61,
+ "type": "integer"
},
- "url": {
- "example": "https://www.therealreal.com/sales/on-sale-now",
+ "count": {
+ "type": "integer"
+ },
+ "fetched_at": {
"type": "string"
- }
- },
- "type": "object"
- },
- "therealreal.CollectionsResponse": {
- "properties": {
- "collections": {
+ },
+ "penalties": {
"items": {
- "$ref": "#/definitions/therealreal.CollectionSlug"
+ "$ref": "#/definitions/sofascore.PlayerPenalty"
},
"type": "array"
},
- "source_url": {
- "type": "string"
+ "player_id": {
+ "example": 839956,
+ "type": "integer"
},
- "total": {
- "example": 535,
+ "scored": {
+ "example": 52,
"type": "integer"
+ },
+ "source_url": {
+ "type": "string"
}
},
"type": "object"
},
- "therealreal.Condition": {
+ "sofascore.PlayerRatingsResponse": {
"properties": {
"count": {
- "example": 162975,
"type": "integer"
},
- "id": {
- "example": "20",
+ "fetched_at": {
"type": "string"
},
- "name": {
- "example": "Very Good",
- "type": "string"
- }
- },
- "type": "object"
- },
- "therealreal.ConditionsResponse": {
- "properties": {
- "conditions": {
+ "player_id": {
+ "example": 839956,
+ "type": "integer"
+ },
+ "ratings": {
"items": {
- "$ref": "#/definitions/therealreal.Condition"
+ "$ref": "#/definitions/sofascore.PlayerMatchRating"
},
"type": "array"
},
+ "season": {
+ "example": 76986,
+ "type": "integer"
+ },
"source_url": {
"type": "string"
+ },
+ "tournament_id": {
+ "example": 17,
+ "type": "integer"
+ },
+ "type": {
+ "example": "overall",
+ "type": "string"
}
},
"type": "object"
},
- "therealreal.Designer": {
+ "sofascore.PlayerRef": {
"properties": {
- "id": {
- "example": "267",
+ "country": {
+ "description": "Player's country.",
+ "example": "Spain",
"type": "string"
},
+ "id": {
+ "description": "SofaScore player id. Use it with the player endpoints.",
+ "example": 855833,
+ "type": "integer"
+ },
"name": {
- "example": "Chanel",
+ "description": "Player's full name.",
+ "example": "Ferran Torres",
+ "type": "string"
+ },
+ "position": {
+ "description": "Position code, for example G, D, M or F.",
+ "example": "F",
+ "type": "string"
+ },
+ "short_name": {
+ "description": "Shortened name, for example \"F. Torres\".",
+ "example": "F. Torres",
"type": "string"
},
"slug": {
- "example": "chanel",
+ "description": "URL slug of the player on SofaScore.",
+ "example": "ferran-torres",
"type": "string"
}
},
"type": "object"
},
- "therealreal.DesignerDirectoryCategory": {
+ "sofascore.PlayerResponse": {
"properties": {
- "name": {
- "example": "Women",
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
"type": "string"
},
- "slug": {
- "example": "women",
+ "player": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/sofascore.PlayerDetail"
+ }
+ ],
+ "description": "The player's profile."
+ },
+ "source_url": {
+ "description": "SofaScore URL the data was read from.",
"type": "string"
}
},
"type": "object"
},
- "therealreal.DesignersResponse": {
+ "sofascore.PlayerSeasonHeatmapResponse": {
"properties": {
- "categories": {
+ "count": {
+ "type": "integer"
+ },
+ "events": {
+ "description": "Events are the matches the heatmap aggregates.",
"items": {
- "$ref": "#/definitions/therealreal.DesignerDirectoryCategory"
+ "$ref": "#/definitions/sofascore.EventSummary"
},
"type": "array"
},
- "category": {
- "example": "women",
+ "fetched_at": {
"type": "string"
},
- "designers": {
+ "matches": {
+ "example": 35,
+ "type": "integer"
+ },
+ "player_id": {
+ "example": 839956,
+ "type": "integer"
+ },
+ "points": {
"items": {
- "$ref": "#/definitions/therealreal.Designer"
+ "$ref": "#/definitions/sofascore.SeasonHeatmapPoint"
},
"type": "array"
},
+ "season": {
+ "example": 76986,
+ "type": "integer"
+ },
"source_url": {
"type": "string"
},
- "total": {
- "example": 5413,
+ "tournament_id": {
+ "example": 17,
"type": "integer"
}
},
"type": "object"
},
- "therealreal.Listing": {
+ "sofascore.PlayerSeasonStatisticsResponse": {
"properties": {
- "available": {
- "example": true,
- "type": "boolean"
- },
- "color": {
- "example": "Blue",
+ "fetched_at": {
"type": "string"
},
- "condition": {
- "example": "Very Good",
- "type": "string"
+ "player_id": {
+ "example": 839956,
+ "type": "integer"
},
- "designer": {
- "example": "Chanel",
- "type": "string"
+ "rating_breakdown": {
+ "additionalProperties": {
+ "format": "float64",
+ "type": "number"
+ },
+ "type": "object"
},
- "designer_slug": {
- "example": "chanel",
- "type": "string"
+ "season": {
+ "example": 96668,
+ "type": "integer"
},
- "gender": {
- "example": "Women",
+ "source_url": {
"type": "string"
},
- "id": {
- "example": "54388578",
- "type": "string"
+ "statistics": {
+ "additionalProperties": {
+ "format": "float64",
+ "type": "number"
+ },
+ "type": "object"
},
- "image_url": {
- "example": "https://product-images.therealreal.com/CHA1494621_1_enlarged.jpg",
- "type": "string"
+ "team": {
+ "$ref": "#/definitions/sofascore.TeamRef"
},
- "images": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "tournament_id": {
+ "example": 17,
+ "type": "integer"
},
- "name": {
- "example": "Denim Pearl Crush Wallet On Chain",
+ "type": {
+ "example": "overall",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.PlayerStatisticRank": {
+ "properties": {
+ "count": {
+ "example": 421,
+ "type": "integer"
},
- "original_price_usd": {
- "example": 3800,
- "type": "number"
- },
- "price_usd": {
- "example": 3800,
- "type": "number"
+ "order": {
+ "description": "Order is the player's position when ties are broken; it is never lower than Rank.",
+ "example": 1,
+ "type": "integer"
},
- "sku": {
- "example": "CHA1494621",
- "type": "string"
+ "rank": {
+ "description": "Rank is the competition rank (tied values share a rank) among Count players.",
+ "example": 1,
+ "type": "integer"
},
- "url": {
- "example": "https://www.therealreal.com/products/women/handbags/crossbody-bags/chanel-denim-pearl-crush-wallet-on-chain-wdqhu",
+ "statistic": {
+ "example": "goals",
"type": "string"
},
- "waitlisted": {
- "example": false,
- "type": "boolean"
+ "value": {
+ "example": 5,
+ "type": "number"
}
},
"type": "object"
},
- "therealreal.ListingDetail": {
+ "sofascore.PlayerStatisticalRankingsResponse": {
"properties": {
- "available": {
- "example": true,
- "type": "boolean"
- },
- "category_label": {
- "example": "Women's Fashion & Accessories",
- "type": "string"
+ "count": {
+ "type": "integer"
},
- "category_name": {
- "example": "Women",
+ "fetched_at": {
"type": "string"
},
- "color": {
- "example": "Blue",
- "type": "string"
+ "player_id": {
+ "example": 839956,
+ "type": "integer"
},
- "condition": {
- "example": "Very Good",
- "type": "string"
+ "rankings": {
+ "items": {
+ "$ref": "#/definitions/sofascore.PlayerStatisticRank"
+ },
+ "type": "array"
},
- "condition_detail": {
- "example": "Minor discoloration throughout; minor discoloration at hardware; minor scuff at corner.",
- "type": "string"
+ "season": {
+ "$ref": "#/definitions/sofascore.Season"
},
- "description": {
+ "source_url": {
"type": "string"
},
- "designer": {
- "example": "Chanel",
- "type": "string"
- },
- "designer_slug": {
- "example": "chanel",
- "type": "string"
- },
- "gender": {
- "example": "Women",
- "type": "string"
- },
- "id": {
- "example": "54388578",
+ "type": {
+ "example": "overall",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.PlayerStatisticsFilters": {
+ "properties": {
+ "min_appearances": {
+ "type": "integer"
},
- "image_url": {
- "example": "https://product-images.therealreal.com/CHA1494621_1_enlarged.jpg",
- "type": "string"
+ "min_minutes": {
+ "type": "integer"
},
- "images": {
+ "nationalities": {
"items": {
"type": "string"
},
"type": "array"
},
- "measurements": {
- "additionalProperties": {
+ "positions": {
+ "items": {
"type": "string"
},
- "type": "object"
- },
- "name": {
- "example": "Denim Pearl Crush Wallet On Chain",
- "type": "string"
- },
- "original_price_usd": {
- "example": 3800,
- "type": "number"
- },
- "price_usd": {
- "example": 3800,
- "type": "number"
+ "type": "array"
},
- "sku": {
- "example": "CHA1494621",
- "type": "string"
+ "team_ids": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.PlayerStatisticsRow": {
+ "properties": {
+ "player": {
+ "$ref": "#/definitions/sofascore.PlayerRef"
},
- "source_url": {
- "type": "string"
+ "rank": {
+ "example": 1,
+ "type": "integer"
},
- "url": {
- "example": "https://www.therealreal.com/products/women/handbags/crossbody-bags/chanel-denim-pearl-crush-wallet-on-chain-wdqhu",
- "type": "string"
+ "statistics": {
+ "additionalProperties": {
+ "format": "float64",
+ "type": "number"
+ },
+ "type": "object"
},
- "waitlisted": {
- "example": false,
- "type": "boolean"
+ "team": {
+ "$ref": "#/definitions/sofascore.TeamRef"
}
},
"type": "object"
},
- "therealreal.ProductsResponse": {
+ "sofascore.PlayerStatisticsSeasonsResponse": {
"properties": {
- "has_more": {
- "example": true,
- "type": "boolean"
- },
- "listings": {
- "items": {
- "$ref": "#/definitions/therealreal.Listing"
- },
- "type": "array"
+ "count": {
+ "type": "integer"
},
- "next_after": {
- "example": "YXJyYXljb25uZWN0aW9uOjExOQ==",
+ "fetched_at": {
"type": "string"
},
+ "player_id": {
+ "example": 839956,
+ "type": "integer"
+ },
"source_url": {
"type": "string"
},
- "total": {
- "example": 404167,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "therealreal.SimilarResponse": {
- "properties": {
- "listings": {
+ "tournaments": {
"items": {
- "$ref": "#/definitions/therealreal.Listing"
+ "$ref": "#/definitions/sofascore.StatisticsTournament"
},
"type": "array"
- },
- "source_url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "therealreal.Suggestion": {
- "properties": {
- "text": {
- "example": "gucci handbags",
- "type": "string"
}
},
"type": "object"
},
- "therealreal.autocompleteResponseDoc": {
+ "sofascore.PlayerTournamentsResponse": {
"properties": {
- "code": {
- "example": 200,
+ "count": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/therealreal.AutocompleteResponse"
+ "fetched_at": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "player_id": {
+ "example": 839956,
+ "type": "integer"
+ },
+ "source_url": {
"type": "string"
+ },
+ "tournaments": {
+ "items": {
+ "$ref": "#/definitions/sofascore.UniqueTournamentBrief"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "therealreal.categoriesResponseDoc": {
+ "sofascore.PlayerTransfersResponse": {
"properties": {
- "code": {
- "example": 200,
+ "count": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/therealreal.CategoriesResponse"
+ "fetched_at": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "player_id": {
+ "example": 839956,
+ "type": "integer"
+ },
+ "source_url": {
"type": "string"
+ },
+ "transfers": {
+ "items": {
+ "$ref": "#/definitions/sofascore.Transfer"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "therealreal.collectionsResponseDoc": {
+ "sofascore.PointByPointGame": {
"properties": {
- "code": {
- "example": 200,
+ "game": {
+ "example": 10,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/therealreal.CollectionsResponse"
+ "points": {
+ "items": {
+ "$ref": "#/definitions/sofascore.PointByPointPoint"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
- "type": "string"
+ "score": {
+ "$ref": "#/definitions/sofascore.PointByPointScore"
}
},
"type": "object"
},
- "therealreal.conditionsResponseDoc": {
+ "sofascore.PointByPointPoint": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "away_marker": {
+ "example": "set_or_match_point",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/therealreal.ConditionsResponse"
+ "away_point": {
+ "example": "40",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "away_point_type": {
+ "example": 2,
+ "type": "integer"
+ },
+ "description": {
+ "description": "Description is `ace` or `double_fault` when SofaScore flags the point;\nomitted otherwise. DescriptionCode is the upstream code (0 none, 1 ace,\n2 double fault).",
+ "example": "ace",
"type": "string"
- }
- },
- "type": "object"
- },
- "therealreal.designersResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ },
+ "description_code": {
+ "example": 0,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/therealreal.DesignersResponse"
+ "home_marker": {
+ "description": "HomeMarker and AwayMarker name the codes that mean a player holds a\npoint opportunity after the point: `break_point` (code 2) and\n`set_or_match_point` (code 3).",
+ "example": "break_point",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "home_point": {
+ "description": "HomePoint and AwayPoint are the points as SofaScore prints them: `0`,\n`15`, `30`, `40` and `A` in a tennis game, a plain count in a tie-break,\ntable tennis or badminton set.",
+ "example": "30",
"type": "string"
+ },
+ "home_point_type": {
+ "description": "HomePointType and AwayPointType are SofaScore's per-player point codes.",
+ "example": 5,
+ "type": "integer"
}
},
"type": "object"
},
- "therealreal.listingResponseDoc": {
+ "sofascore.PointByPointScore": {
"properties": {
- "code": {
- "example": 200,
+ "away_score": {
+ "example": 4,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/therealreal.ListingDetail"
+ "home_score": {
+ "example": 6,
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "server": {
+ "description": "Server is `home` or `away`; omitted when SofaScore does not know it.",
+ "example": "away",
+ "type": "string"
+ },
+ "winner": {
+ "description": "Winner is `home` or `away`; omitted while the game or set is unfinished.",
+ "example": "away",
"type": "string"
}
},
"type": "object"
},
- "therealreal.searchResponseDoc": {
+ "sofascore.PointByPointSet": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "games": {
+ "items": {
+ "$ref": "#/definitions/sofascore.PointByPointGame"
+ },
+ "type": "array"
},
- "data": {
- "$ref": "#/definitions/therealreal.ProductsResponse"
+ "points": {
+ "items": {
+ "$ref": "#/definitions/sofascore.PointByPointPoint"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
- "type": "string"
+ "score": {
+ "$ref": "#/definitions/sofascore.PointByPointScore"
+ },
+ "set": {
+ "example": 1,
+ "type": "integer"
}
},
"type": "object"
},
- "therealreal.similarResponseDoc": {
+ "sofascore.PregameFormSide": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "avg_rating": {
+ "example": 7.91,
+ "type": "number"
},
- "data": {
- "$ref": "#/definitions/therealreal.SimilarResponse"
+ "form": {
+ "example": [
+ "W",
+ "W",
+ "W",
+ "W"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "position": {
+ "example": 1,
+ "type": "integer"
+ },
+ "value": {
+ "example": "12",
"type": "string"
}
},
"type": "object"
},
- "thestarmy.AuthorArticle": {
+ "sofascore.RankingEntity": {
"properties": {
- "image_url": {
+ "country": {
+ "example": "Italy",
"type": "string"
},
- "published_at": {
+ "country_code": {
+ "example": "IT",
"type": "string"
},
- "section": {
+ "gender": {
+ "example": "M",
"type": "string"
},
- "summary": {
- "type": "string"
+ "id": {
+ "example": 720,
+ "type": "integer"
},
- "title": {
+ "name": {
+ "example": "Jannik Sinner",
"type": "string"
},
- "url": {
+ "national": {
+ "type": "boolean"
+ },
+ "record": {
+ "$ref": "#/definitions/sofascore.WDLRecord"
+ },
+ "short_name": {
+ "example": "J. Sinner",
"type": "string"
- }
- },
- "type": "object"
- },
- "thestarmy.AuthorResponse": {
- "properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/thestarmy.AuthorArticle"
- },
- "type": "array"
},
- "email": {
+ "slug": {
+ "example": "sinner-jannik",
"type": "string"
},
- "name": {
+ "sport": {
+ "example": "tennis",
"type": "string"
},
- "url": {
+ "type": {
+ "example": "player",
"type": "string"
}
},
"type": "object"
},
- "theverge.AuthorArticle": {
+ "sofascore.RankingRow": {
"properties": {
- "category": {
- "type": "string"
+ "best_rank": {
+ "type": "integer"
},
- "excerpt": {
- "type": "string"
+ "entity": {
+ "$ref": "#/definitions/sofascore.RankingEntity"
},
- "published_at": {
+ "label": {
+ "example": "England",
"type": "string"
},
- "title": {
- "type": "string"
+ "max_points": {
+ "type": "number"
},
- "url": {
+ "next_win_points": {
+ "type": "number"
+ },
+ "playing_teams": {
+ "type": "integer"
+ },
+ "points": {
+ "type": "number"
+ },
+ "previous_points": {
+ "type": "number"
+ },
+ "previous_rank": {
+ "type": "integer"
+ },
+ "rank": {
+ "example": 1,
+ "type": "integer"
+ },
+ "total_teams": {
+ "type": "integer"
+ },
+ "tournaments_played": {
+ "type": "integer"
+ },
+ "year": {
+ "example": "2027",
"type": "string"
}
},
"type": "object"
},
- "theverge.AuthorResponse": {
+ "sofascore.RankingType": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/theverge.AuthorArticle"
- },
- "type": "array"
+ "description": {
+ "type": "string"
},
- "bio": {
+ "entity_type": {
+ "example": "player",
"type": "string"
},
- "job_title": {
+ "gender": {
+ "example": "M",
"type": "string"
},
"name": {
+ "example": "ATP men's singles ranking",
"type": "string"
},
- "url": {
+ "sport": {
+ "example": "tennis",
"type": "string"
+ },
+ "type": {
+ "example": 5,
+ "type": "integer"
}
},
"type": "object"
},
- "thisismoney.AuthorArticle": {
+ "sofascore.RankingTypesResponse": {
"properties": {
- "excerpt": {
- "type": "string"
- },
- "published_at": {
- "type": "string"
- },
- "title": {
- "type": "string"
+ "count": {
+ "example": 32,
+ "type": "integer"
},
- "url": {
- "type": "string"
+ "types": {
+ "items": {
+ "$ref": "#/definitions/sofascore.RankingType"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "thisismoney.AuthorResponse": {
+ "sofascore.RankingsResponse": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/thisismoney.AuthorArticle"
- },
- "type": "array"
+ "count": {
+ "example": 500,
+ "type": "integer"
},
- "bio": {
+ "entity_type": {
+ "example": "player",
"type": "string"
},
- "coverage": {
+ "fetched_at": {
+ "type": "string"
+ },
+ "name": {
+ "example": "ATP men's singles ranking",
+ "type": "string"
+ },
+ "rankings": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/sofascore.RankingRow"
},
"type": "array"
},
- "job_title": {
+ "source_url": {
"type": "string"
},
- "name": {
+ "sport": {
+ "example": "tennis",
"type": "string"
},
- "url": {
+ "total_rows": {
+ "example": 500,
+ "type": "integer"
+ },
+ "type": {
+ "example": 5,
+ "type": "integer"
+ },
+ "updated_at": {
+ "example": "2026-10-06T23:00:37Z",
"type": "string"
+ },
+ "updated_timestamp": {
+ "type": "integer"
}
},
"type": "object"
},
- "threads.Author": {
+ "sofascore.Referee": {
"properties": {
- "id": {
- "description": "Threads user ID of the author.",
+ "country": {
+ "description": "Referee's country.",
+ "example": "England",
"type": "string"
},
- "name": {
- "description": "Display name of the author.",
- "type": "string"
+ "id": {
+ "description": "SofaScore referee id.",
+ "type": "integer"
},
- "username": {
- "description": "Threads username of the author.",
+ "name": {
+ "description": "Referee's name.",
+ "example": "Anthony Taylor",
"type": "string"
}
},
"type": "object"
},
- "threads.Post": {
+ "sofascore.RefereeCompetitionStatistics": {
"properties": {
- "author": {
- "$ref": "#/definitions/threads.Author"
+ "appearances": {
+ "example": 27,
+ "type": "integer"
},
- "code": {
- "type": "string"
+ "competition": {
+ "$ref": "#/definitions/sofascore.UniqueTournamentBrief"
},
- "image_url": {
- "type": "string"
+ "penalties": {
+ "example": 11,
+ "type": "integer"
},
- "text": {
- "type": "string"
+ "red_cards": {
+ "example": 4,
+ "type": "integer"
},
- "url": {
- "type": "string"
+ "yellow_cards": {
+ "example": 86,
+ "type": "integer"
+ },
+ "yellow_red_cards": {
+ "example": 1,
+ "type": "integer"
}
},
"type": "object"
},
- "threads.Profile": {
+ "sofascore.RefereeDetail": {
"properties": {
- "avatar_url": {
- "description": "URL of the profile picture.",
+ "country": {
+ "example": "England",
"type": "string"
},
- "biography": {
- "description": "Bio text shown on the profile.",
+ "date_of_birth": {
+ "example": "1979-06-20",
"type": "string"
},
- "followers_count": {
- "description": "Number of followers of the profile.",
+ "first_league_debut": {
+ "description": "FirstLeagueDebut is the date of the referee's first top-flight match when\nSofaScore records it.",
+ "example": "2010-02-03",
+ "type": "string"
+ },
+ "games": {
+ "description": "Games, YellowCards, RedCards and YellowRedCards are career totals across\nevery competition; each is omitted when SofaScore gives none.",
+ "example": 321,
+ "type": "integer"
+ },
+ "id": {
+ "example": 74264,
"type": "integer"
},
"name": {
- "description": "Display name shown on the profile.",
+ "example": "Robert Jones",
"type": "string"
},
- "threads_count": {
- "description": "Number of threads the profile has posted.",
+ "red_cards": {
+ "example": 20,
"type": "integer"
},
- "url": {
- "description": "URL of the profile on Threads.",
+ "slug": {
+ "example": "robert-jones",
"type": "string"
},
- "username": {
- "description": "Threads username of the profile.",
+ "sport": {
+ "example": "football",
"type": "string"
- }
- },
- "type": "object"
- },
- "threads.ProfileMediaResult": {
- "properties": {
- "has_more": {
- "description": "Whether Threads reports more public media beyond this page.",
- "type": "boolean"
- },
- "items": {
- "description": "Public media posts, including image and video attachments when available.",
- "items": {
- "$ref": "#/definitions/threads.Thread"
- },
- "type": "array"
},
- "pagination_limited": {
- "description": "True when Threads gates additional media behind login or exposes no supported continuation cursor.",
- "type": "boolean"
+ "yellow_cards": {
+ "example": 1156,
+ "type": "integer"
},
- "username": {
- "description": "Profile whose public Media tab was read.",
- "type": "string"
+ "yellow_red_cards": {
+ "example": 13,
+ "type": "integer"
}
},
"type": "object"
},
- "threads.ProfilePostsResult": {
+ "sofascore.RefereeEventsResponse": {
"properties": {
- "has_more": {
- "type": "boolean"
+ "count": {
+ "type": "integer"
},
- "items": {
+ "events": {
"items": {
- "$ref": "#/definitions/threads.Thread"
+ "$ref": "#/definitions/sofascore.EventSummary"
},
"type": "array"
},
- "next_cursor": {
- "description": "Cursor to pass to fetch the next page when Threads provides one.",
+ "fetched_at": {
"type": "string"
},
- "pagination_limited": {
- "description": "True when Threads reports more posts but does not provide a usable cursor.",
- "type": "boolean"
- },
- "username": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "threads.ProfileRepliesResult": {
- "properties": {
- "has_more": {
- "description": "Whether Threads reports more public items beyond the first page.",
+ "has_next_page": {
"type": "boolean"
},
- "items": {
- "description": "Public items exposed on that tab, preserving each item's actual author.",
- "items": {
- "$ref": "#/definitions/threads.Thread"
- },
- "type": "array"
+ "page": {
+ "type": "integer"
},
- "pagination_limited": {
- "description": "True when Threads gates additional items behind login or exposes no supported continuation cursor.",
- "type": "boolean"
+ "referee_id": {
+ "example": 74264,
+ "type": "integer"
},
- "username": {
- "description": "Profile whose public Replies tab was read.",
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "threads.ProfileRepostsResult": {
+ "sofascore.RefereeResponse": {
"properties": {
- "has_more": {
- "description": "Whether Threads reports more public items beyond the first page.",
- "type": "boolean"
- },
- "items": {
- "description": "Public posts reposted by the profile, retaining their original authors.",
- "items": {
- "$ref": "#/definitions/threads.Thread"
- },
- "type": "array"
+ "fetched_at": {
+ "type": "string"
},
- "pagination_limited": {
- "description": "True when Threads gates additional items behind login or exposes no supported continuation cursor.",
- "type": "boolean"
+ "referee": {
+ "$ref": "#/definitions/sofascore.RefereeDetail"
},
- "username": {
- "description": "Profile whose public Reposts tab was read.",
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "threads.ProfileTopicsResult": {
+ "sofascore.RefereeStatisticsResponse": {
"properties": {
- "items": {
- "description": "Every topic tag exposed on the profile page.",
+ "competitions": {
"items": {
- "$ref": "#/definitions/threads.Topic"
+ "$ref": "#/definitions/sofascore.RefereeCompetitionStatistics"
},
"type": "array"
},
- "username": {
- "description": "Profile whose public topic tags were read.",
- "type": "string"
- }
- },
- "type": "object"
- },
- "threads.RepliesResult": {
- "properties": {
- "code": {
- "type": "string"
- },
- "has_more": {
- "description": "Whether Threads reports more replies beyond this page.",
- "type": "boolean"
- },
- "items": {
- "description": "Replies to the post, each as a thread.",
- "items": {
- "$ref": "#/definitions/threads.Thread"
- },
- "type": "array"
+ "count": {
+ "type": "integer"
},
- "next_cursor": {
- "description": "Cursor to pass to fetch the next page of replies.",
+ "fetched_at": {
"type": "string"
},
- "pagination_limited": {
- "description": "True when more replies exist but Threads gives no usable cursor to fetch them.",
- "type": "boolean"
+ "referee_id": {
+ "example": 74264,
+ "type": "integer"
},
- "username": {
- "description": "Username of the post's author.",
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "threads.SearchResult": {
+ "sofascore.RoundEventsResponse": {
"properties": {
- "has_more": {
- "description": "Whether more results are available after this page.",
- "type": "boolean"
+ "count": {
+ "description": "Number of events returned.",
+ "type": "integer"
},
- "items": {
- "description": "Threads matching the search, one entry per post.",
+ "events": {
+ "description": "Fixtures in the round.",
"items": {
- "$ref": "#/definitions/threads.Thread"
+ "$ref": "#/definitions/sofascore.EventSummary"
},
"type": "array"
},
- "next_cursor": {
- "description": "Cursor to pass to fetch the next page of results.",
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
"type": "string"
},
- "pagination_limited": {
- "description": "True when Threads gates further results behind login or provides no supported continuation.",
+ "has_next_page": {
+ "description": "True when more fixtures are available on a further page.",
"type": "boolean"
},
- "query": {
- "description": "Search query that was run.",
- "type": "string"
- },
- "sort": {
- "description": "Result ordering selected for the search.",
- "type": "string"
- }
- },
- "type": "object"
- },
- "threads.Thread": {
- "properties": {
- "author": {
- "allOf": [
- {
- "$ref": "#/definitions/threads.Author"
- }
- ],
- "description": "Account that posted the thread."
- },
- "code": {
- "type": "string"
- },
- "created_at": {
- "description": "Time the thread was posted, in UTC (RFC 3339).",
- "type": "string"
- },
- "id": {
- "description": "Threads post ID.",
+ "prefix": {
+ "description": "Round prefix, set for stages such as Qualification.",
+ "example": "Qualification",
"type": "string"
},
- "image_urls": {
- "description": "URLs of the images attached to the thread.",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "is_reply": {
- "description": "Whether the thread is a reply to another thread.",
- "type": "boolean"
- },
- "like_count": {
- "description": "Number of likes on the thread.",
- "type": "integer"
- },
- "quote_count": {
- "description": "Number of times the thread was quoted.",
- "type": "integer"
- },
- "reply_count": {
- "description": "Number of replies to the thread.",
+ "round": {
+ "description": "Round number.",
"type": "integer"
},
- "reply_to": {
- "description": "Username of the account this thread replies to.",
- "type": "string"
- },
- "repost_count": {
- "description": "Number of times the thread was reposted.",
+ "season_id": {
+ "description": "SofaScore season id.",
"type": "integer"
},
- "text": {
- "description": "Text of the thread.",
+ "slug": {
+ "description": "Round slug, set for named rounds such as `round-of-16`.",
+ "example": "round-of-16",
"type": "string"
},
- "topic": {
- "allOf": [
- {
- "$ref": "#/definitions/threads.Topic"
- }
- ],
- "description": "Public topic/community tag attached to the thread, when present."
- },
- "url": {
- "description": "URL of the thread on Threads.",
+ "source_url": {
+ "description": "SofaScore URL the data was read from.",
"type": "string"
},
- "video_urls": {
- "description": "URLs of the videos attached to the thread.",
- "items": {
- "type": "string"
- },
- "type": "array"
+ "tournament_id": {
+ "description": "Id of the competition (the unique tournament id).",
+ "type": "integer"
}
},
"type": "object"
},
- "threads.Topic": {
+ "sofascore.RoundRef": {
"properties": {
- "community_emoji": {
- "description": "Community reaction emoji, when present on a post tag.",
- "type": "string"
- },
- "community_favicon_url": {
- "description": "Community icon URL, when present.",
- "type": "string"
- },
- "display_name": {
- "description": "Topic label shown in Threads.",
- "type": "string"
- },
- "id": {
- "description": "Numeric Threads topic tag identifier.",
- "type": "string"
- },
- "is_community": {
- "description": "Whether Threads identifies this topic as a community.",
- "type": "boolean"
- },
"name": {
- "description": "Canonical topic query returned on profile topic lists.",
+ "example": "Round of 16",
"type": "string"
},
- "search_query": {
- "description": "Query to pair with ID when calling the topic search endpoint.",
+ "prefix": {
+ "example": "Qualification",
"type": "string"
},
- "tag_cluster_name": {
- "description": "Topic cluster or category label, when present.",
+ "round": {
+ "example": 5,
+ "type": "integer"
+ },
+ "slug": {
+ "example": "round-of-16",
"type": "string"
}
},
"type": "object"
},
- "threads.TopicSearchResult": {
+ "sofascore.ScheduledEventsResponse": {
"properties": {
- "has_more": {
- "description": "Whether Threads reports another page.",
- "type": "boolean"
+ "category_id": {
+ "type": "integer"
},
- "items": {
- "description": "Public threads matching the topic tag.",
+ "count": {
+ "type": "integer"
+ },
+ "date": {
+ "example": "2026-10-08",
+ "type": "string"
+ },
+ "events": {
"items": {
- "$ref": "#/definitions/threads.Thread"
+ "$ref": "#/definitions/sofascore.EventSummary"
},
"type": "array"
},
- "pagination_limited": {
- "description": "True when Threads gates further results behind login or provides no supported continuation.",
- "type": "boolean"
- },
- "query": {
- "description": "Search query used by the topic tag.",
+ "fetched_at": {
"type": "string"
},
- "topic_id": {
- "description": "Numeric Threads topic tag identifier.",
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "threads.postResponseDoc": {
+ "sofascore.ScheduledTournament": {
"properties": {
- "code": {
- "example": 200,
+ "category_id": {
+ "example": 13,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/threads.Post"
- },
- "msg": {
- "example": "OK",
+ "category_name": {
+ "example": "Brazil",
"type": "string"
- }
- },
- "type": "object"
- },
- "threads.profileMediaResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/threads.ProfileMediaResult"
+ "event_count": {
+ "description": "EventCount is the number of events that start on the requested UTC date.",
+ "example": 3,
+ "type": "integer"
},
- "msg": {
- "example": "OK",
- "type": "string"
- }
- },
- "type": "object"
- },
- "threads.profilePostsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ "id": {
+ "example": 83,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/threads.ProfilePostsResult"
+ "name": {
+ "example": "Campeonato Brasileiro Série A",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "slug": {
"type": "string"
- }
- },
- "type": "object"
- },
- "threads.profileRepliesResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/threads.ProfileRepliesResult"
+ "unique_tournament_id": {
+ "example": 325,
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "unique_tournament_name": {
"type": "string"
}
},
"type": "object"
},
- "threads.profileRepostsResponseDoc": {
+ "sofascore.ScheduledTournamentsResponse": {
"properties": {
- "code": {
- "example": 200,
+ "count": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/threads.ProfileRepostsResult"
+ "date": {
+ "example": "2026-10-08",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "fetched_at": {
"type": "string"
- }
- },
- "type": "object"
- },
- "threads.profileResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/threads.Profile"
+ "has_next_page": {
+ "type": "boolean"
},
- "msg": {
- "example": "OK",
- "type": "string"
- }
- },
- "type": "object"
- },
- "threads.profileTopicsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ "page": {
+ "example": 1,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/threads.ProfileTopicsResult"
+ "source_url": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "sport": {
+ "example": "football",
"type": "string"
+ },
+ "tournaments": {
+ "items": {
+ "$ref": "#/definitions/sofascore.ScheduledTournament"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "threads.repliesResponseDoc": {
+ "sofascore.ScoreLine": {
"properties": {
- "code": {
- "example": 200,
+ "current": {
+ "description": "Current score, which is the final score once the match is over.",
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/threads.RepliesResult"
+ "period1": {
+ "description": "Score in the first period.",
+ "type": "integer"
},
- "msg": {
- "example": "OK",
- "type": "string"
+ "period2": {
+ "description": "Score in the second period.",
+ "type": "integer"
}
},
"type": "object"
},
- "threads.searchResponseDoc": {
+ "sofascore.SearchResponse": {
"properties": {
- "code": {
- "example": 200,
+ "count": {
+ "description": "Number of results returned.",
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/threads.SearchResult"
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "query": {
+ "description": "Search query that was run.",
"type": "string"
- }
- },
- "type": "object"
- },
- "threads.topicSearchResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/threads.TopicSearchResult"
+ "results": {
+ "description": "Matching teams, players and other entities. Empty when nothing matches.",
+ "items": {
+ "$ref": "#/definitions/sofascore.SearchResult"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "source_url": {
+ "description": "SofaScore URL the data was read from.",
"type": "string"
}
},
"type": "object"
},
- "ticketmaster.Attraction": {
+ "sofascore.SearchResult": {
"properties": {
- "classification": {
- "$ref": "#/definitions/ticketmaster.Classification"
- },
- "discovery_id": {
- "example": "K8vZ9172Qo7",
+ "country": {
+ "description": "Country of the result.",
"type": "string"
},
- "has_artist_video": {
- "type": "boolean"
- },
"id": {
- "example": "1688071",
- "type": "string"
+ "description": "SofaScore id of the result. Which endpoints accept it depends on `type`.",
+ "type": "integer"
},
- "image_url": {
+ "name": {
+ "description": "Name of the result.",
"type": "string"
},
- "name": {
- "example": "Ariana Grande",
+ "slug": {
+ "description": "URL slug of the result on SofaScore.",
"type": "string"
},
- "setlist_source_url": {
+ "sport": {
+ "description": "Sport the result belongs to.",
"type": "string"
},
- "setlists": {
- "items": {
- "$ref": "#/definitions/ticketmaster.Setlist"
- },
- "type": "array"
+ "team_id": {
+ "description": "For a player, the SofaScore id of their team.",
+ "type": "integer"
},
- "synopsis": {
+ "team_name": {
+ "description": "For a player, the name of their team.",
"type": "string"
},
- "url": {
+ "type": {
+ "description": "Kind of result, for example `team` or `player`.",
+ "example": "team",
"type": "string"
}
},
"type": "object"
},
- "ticketmaster.AttractionRef": {
+ "sofascore.SearchTypedResponse": {
"properties": {
- "discovery_id": {
- "example": "K8vZ9172Qo7",
- "type": "string"
- },
- "id": {
- "example": "1688071",
- "type": "string"
+ "count": {
+ "type": "integer"
},
- "image_url": {
+ "fetched_at": {
"type": "string"
},
- "name": {
- "example": "Ariana Grande",
- "type": "string"
+ "page": {
+ "type": "integer"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "ticketmaster.AttractionRelatedResponse": {
- "properties": {
- "attraction_id": {
- "example": "1688071",
+ "query": {
"type": "string"
},
- "attractions": {
+ "results": {
"items": {
- "$ref": "#/definitions/ticketmaster.AttractionRef"
+ "$ref": "#/definitions/sofascore.TypedSearchResult"
},
"type": "array"
},
- "count": {
- "type": "integer"
+ "source_url": {
+ "type": "string"
},
- "fetched_at": {
+ "sport": {
"type": "string"
},
- "source_url": {
+ "type": {
+ "example": "teams",
"type": "string"
}
},
"type": "object"
},
- "ticketmaster.AttractionResponse": {
+ "sofascore.Season": {
"properties": {
- "attraction": {
- "$ref": "#/definitions/ticketmaster.Attraction"
+ "id": {
+ "description": "SofaScore season id. Pass it to the standings and round endpoints.",
+ "type": "integer"
},
- "fetched_at": {
+ "name": {
+ "description": "Season name.",
"type": "string"
},
- "source_url": {
+ "year": {
+ "description": "Season label, for example 26/27.",
"type": "string"
}
},
"type": "object"
},
- "ticketmaster.AttractionReviewsResponse": {
+ "sofascore.SeasonEvent": {
"properties": {
- "ai_review_summary": {
- "type": "string"
- },
- "attraction_id": {
- "example": "1688071",
- "type": "string"
+ "away_score": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/sofascore.ScoreLine"
+ }
+ ],
+ "description": "Away side's score, when available."
},
- "average_rating": {
- "example": 4.6,
- "type": "number"
+ "away_team": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/sofascore.TeamRef"
+ }
+ ],
+ "description": "Away side."
},
- "best_rating": {
- "example": 5,
- "type": "number"
+ "home_score": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/sofascore.ScoreLine"
+ }
+ ],
+ "description": "Home side's score, when available."
},
- "fetched_at": {
- "type": "string"
+ "home_team": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/sofascore.TeamRef"
+ }
+ ],
+ "description": "Home side."
},
- "limit": {
- "example": 10,
+ "id": {
+ "description": "SofaScore event id. Use it with the event endpoints.",
+ "example": 14025013,
"type": "integer"
},
- "offset": {
- "example": 0,
+ "round": {
+ "example": 3,
"type": "integer"
},
- "reviews": {
- "items": {
- "$ref": "#/definitions/ticketmaster.Review"
- },
- "type": "array"
- },
- "source_url": {
+ "round_name": {
"type": "string"
},
- "time_zone": {
- "example": "America/New_York",
+ "slug": {
+ "description": "URL slug of the match on SofaScore.",
"type": "string"
},
- "total": {
- "example": 2024,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "ticketmaster.Classification": {
- "properties": {
- "genre": {
- "example": "Pop",
+ "start_time": {
+ "description": "Start time in UTC (RFC 3339).",
+ "example": "2025-08-15T19:00:00Z",
"type": "string"
},
- "segment": {
- "example": "Music",
- "type": "string"
+ "start_timestamp": {
+ "description": "Start time as a Unix timestamp in seconds.",
+ "type": "integer"
},
- "sub_genre": {
- "example": "Electro Pop",
- "type": "string"
+ "status": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/sofascore.EventStatus"
+ }
+ ],
+ "description": "Current status of the match."
},
- "sub_type": {
- "example": "Musician",
- "type": "string"
+ "tournament": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/sofascore.TournamentRef"
+ }
+ ],
+ "description": "Tournament and parent competition the match belongs to."
},
- "type": {
- "example": "Individual",
- "type": "string"
+ "winner_code": {
+ "description": "Result code: 1 when the home side won, 2 when the away side won, 3 for a draw. Omitted until the match is decided.",
+ "type": "integer"
}
},
"type": "object"
},
- "ticketmaster.DiscoverCategoriesResponse": {
+ "sofascore.SeasonEventsResponse": {
"properties": {
- "categories": {
+ "count": {
+ "type": "integer"
+ },
+ "direction": {
+ "example": "next",
+ "type": "string"
+ },
+ "events": {
"items": {
- "$ref": "#/definitions/ticketmaster.DiscoverCategory"
+ "$ref": "#/definitions/sofascore.SeasonEvent"
},
"type": "array"
},
- "count": {
- "type": "integer"
- },
"fetched_at": {
"type": "string"
},
+ "has_next_page": {
+ "type": "boolean"
+ },
"page": {
"type": "integer"
},
- "per_page": {
+ "season_id": {
"type": "integer"
},
- "section": {
+ "source_url": {
"type": "string"
},
- "source_urls": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "total": {
+ "tournament_id": {
"type": "integer"
}
},
"type": "object"
},
- "ticketmaster.DiscoverCategory": {
+ "sofascore.SeasonHeatmapPoint": {
"properties": {
- "id": {
- "type": "string"
- },
- "major": {
- "type": "boolean"
- },
- "name": {
- "type": "string"
+ "count": {
+ "example": 1,
+ "type": "integer"
},
- "section": {
- "type": "string"
+ "x": {
+ "example": 71,
+ "type": "number"
},
- "url": {
- "type": "string"
+ "y": {
+ "example": 42,
+ "type": "number"
}
},
"type": "object"
},
- "ticketmaster.DiscoverCitiesResponse": {
+ "sofascore.SeasonInfo": {
"properties": {
- "cities": {
- "items": {
- "$ref": "#/definitions/ticketmaster.DiscoverCity"
- },
- "type": "array"
+ "away_team_wins": {
+ "type": "integer"
},
- "count": {
+ "draws": {
"type": "integer"
},
- "country": {
- "type": "string"
+ "goals": {
+ "type": "integer"
},
- "fetched_at": {
+ "home_team_wins": {
+ "type": "integer"
+ },
+ "id": {
+ "example": 96668,
+ "type": "integer"
+ },
+ "name": {
+ "example": "Premier League 26/27",
"type": "string"
},
- "page": {
+ "newcomers_lower_division": {
+ "items": {
+ "$ref": "#/definitions/sofascore.TeamRef"
+ },
+ "type": "array"
+ },
+ "newcomers_other": {
+ "items": {
+ "$ref": "#/definitions/sofascore.TeamRef"
+ },
+ "type": "array"
+ },
+ "newcomers_upper_division": {
+ "items": {
+ "$ref": "#/definitions/sofascore.TeamRef"
+ },
+ "type": "array"
+ },
+ "number_of_competitors": {
"type": "integer"
},
- "per_page": {
+ "red_cards": {
"type": "integer"
},
- "source_url": {
+ "year": {
+ "example": "26/27",
"type": "string"
},
- "total": {
+ "yellow_cards": {
"type": "integer"
}
},
"type": "object"
},
- "ticketmaster.DiscoverCity": {
+ "sofascore.SeasonTeam": {
"properties": {
"country": {
+ "example": "England",
"type": "string"
},
- "image_url": {
+ "country_code": {
+ "example": "EN",
"type": "string"
},
- "locale": {
+ "gender": {
+ "example": "M",
"type": "string"
},
+ "id": {
+ "example": 42,
+ "type": "integer"
+ },
"name": {
+ "example": "Arsenal",
+ "type": "string"
+ },
+ "name_code": {
+ "example": "ARS",
+ "type": "string"
+ },
+ "national": {
+ "type": "boolean"
+ },
+ "ranking": {
+ "type": "integer"
+ },
+ "short_name": {
+ "example": "Arsenal",
"type": "string"
},
"slug": {
+ "example": "arsenal",
"type": "string"
},
- "url": {
+ "sport": {
+ "example": "football",
"type": "string"
+ },
+ "type": {
+ "description": "Type is the upstream competitor type: 0 for a team, 1 for an individual\nplayer; other codes (for example doubles pairs) are passed through.",
+ "example": 0,
+ "type": "integer"
+ },
+ "user_count": {
+ "type": "integer"
}
},
"type": "object"
},
- "ticketmaster.EventDetail": {
+ "sofascore.Shot": {
"properties": {
- "attractions": {
- "items": {
- "$ref": "#/definitions/ticketmaster.AttractionRef"
- },
- "type": "array"
- },
- "cancelled": {
- "type": "boolean"
- },
- "classification": {
- "$ref": "#/definitions/ticketmaster.Classification"
- },
- "currency": {
- "example": "USD",
- "type": "string"
+ "added_time": {
+ "example": 4,
+ "type": "integer"
},
- "description": {
- "type": "string"
+ "block_coordinates": {
+ "$ref": "#/definitions/sofascore.Coordinates"
},
- "discovery_id": {
- "example": "vv1A7ZkG_GkdqBxS4",
+ "body_part": {
+ "example": "right-foot",
"type": "string"
},
- "event_change_status": {
- "example": "none",
- "type": "string"
+ "coordinates": {
+ "$ref": "#/definitions/sofascore.Coordinates"
},
- "event_type": {
- "example": "STANDARD",
- "type": "string"
+ "goal_mouth_coordinates": {
+ "$ref": "#/definitions/sofascore.Coordinates"
},
- "id": {
- "example": "04006319DDEA2CD5",
+ "goal_mouth_location": {
+ "example": "low-left",
"type": "string"
},
- "image_url": {
+ "goal_type": {
+ "example": "regular",
"type": "string"
},
- "limited_availability": {
- "type": "boolean"
+ "goalkeeper": {
+ "$ref": "#/definitions/sofascore.PlayerBrief"
},
- "onsale_time": {
- "example": "2025-09-10T15:00:00Z",
- "type": "string"
+ "id": {
+ "type": "integer"
},
- "postponed": {
+ "is_home": {
"type": "boolean"
},
- "presales": {
- "items": {
- "$ref": "#/definitions/ticketmaster.Presale"
- },
- "type": "array"
+ "minute": {
+ "example": 90,
+ "type": "integer"
},
- "product_type": {
- "example": "General",
+ "outcome": {
+ "example": "saved",
"type": "string"
},
- "rescheduled": {
- "type": "boolean"
- },
- "seatmap_url": {
+ "period": {
+ "example": "1ST",
"type": "string"
},
- "sold_out": {
- "type": "boolean"
+ "period_time_seconds": {
+ "example": 458,
+ "type": "integer"
},
- "start_time": {
- "example": "2026-08-04T02:00:00Z",
- "type": "string"
+ "player": {
+ "$ref": "#/definitions/sofascore.PlayerBrief"
},
- "tba": {
- "type": "boolean"
+ "player_coordinates": {
+ "$ref": "#/definitions/sofascore.Coordinates"
},
- "ticketing_status": {
- "example": "UNKNOWN",
- "type": "string"
+ "reversed_period_time_seconds": {
+ "example": 742,
+ "type": "integer"
},
- "time_zone": {
- "example": "America/Chicago",
+ "shot_type": {
+ "example": "goal",
"type": "string"
},
- "title": {
- "example": "Ariana Grande - The Eternal Sunshine Tour",
+ "situation": {
+ "example": "assisted",
"type": "string"
},
- "url": {
+ "strength": {
+ "example": "powerplay",
"type": "string"
},
- "venue": {
- "$ref": "#/definitions/ticketmaster.VenueRef"
+ "team": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/sofascore.TeamRef"
+ }
+ ],
+ "description": "Ice hockey fields. Hockey shots carry the shooting team, an outcome, the\nstrength situation and the period clock instead of a minute, and one\nrink position instead of pitch and goal-mouth coordinates."
},
- "virtual": {
- "type": "boolean"
+ "time_seconds": {
+ "type": "integer"
+ },
+ "xg": {
+ "example": 0.19,
+ "type": "number"
+ },
+ "xgot": {
+ "example": 0.08,
+ "type": "number"
}
},
"type": "object"
},
- "ticketmaster.EventResponse": {
+ "sofascore.ShotLocation": {
"properties": {
- "event": {
- "$ref": "#/definitions/ticketmaster.EventDetail"
+ "made": {
+ "type": "integer"
},
- "fetched_at": {
- "type": "string"
+ "missed": {
+ "type": "integer"
},
- "source_url": {
- "type": "string"
+ "saved": {
+ "type": "integer"
+ },
+ "x": {
+ "type": "integer"
+ },
+ "y": {
+ "type": "integer"
}
},
"type": "object"
},
- "ticketmaster.EventSummary": {
+ "sofascore.SportEntry": {
"properties": {
- "attractions": {
- "items": {
- "$ref": "#/definitions/ticketmaster.AttractionRef"
- },
- "type": "array"
- },
- "cancelled": {
- "type": "boolean"
- },
- "discovery_id": {
- "example": "vv1A7ZkG_GkdqBxS4",
+ "key": {
+ "example": "football",
"type": "string"
},
- "event_change_status": {
- "example": "none",
- "type": "string"
+ "live_events": {
+ "example": 3,
+ "type": "integer"
},
- "id": {
- "example": "04006319DDEA2CD5",
+ "name": {
+ "example": "Football",
"type": "string"
},
- "image_url": {
- "type": "string"
+ "total_events": {
+ "example": 1441,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.SportsResponse": {
+ "properties": {
+ "count": {
+ "example": 24,
+ "type": "integer"
},
- "limited_availability": {
+ "counts_available": {
+ "description": "CountsAvailable is false when the live count feed could not be read; the\nsport list itself is always complete.",
"type": "boolean"
},
- "onsale_time": {
- "example": "2025-09-10T15:00:00Z",
+ "fetched_at": {
"type": "string"
},
- "postponed": {
- "type": "boolean"
+ "source_url": {
+ "type": "string"
},
- "presales": {
+ "sports": {
"items": {
- "$ref": "#/definitions/ticketmaster.Presale"
+ "$ref": "#/definitions/sofascore.SportEntry"
},
"type": "array"
- },
- "rescheduled": {
- "type": "boolean"
- },
- "seatmap_url": {
- "type": "string"
- },
- "sold_out": {
- "type": "boolean"
- },
- "start_time": {
- "example": "2026-08-04T02:00:00Z",
- "type": "string"
- },
- "tba": {
- "type": "boolean"
- },
- "ticketing_status": {
- "example": "UNKNOWN",
- "type": "string"
- },
- "time_zone": {
- "example": "America/Chicago",
- "type": "string"
- },
- "title": {
- "example": "Ariana Grande - The Eternal Sunshine Tour",
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "venue": {
- "$ref": "#/definitions/ticketmaster.VenueRef"
- },
- "virtual": {
- "type": "boolean"
}
},
"type": "object"
},
- "ticketmaster.EventsResponse": {
+ "sofascore.SquadPlayer": {
"properties": {
- "count": {
- "example": 20,
- "type": "integer"
+ "country": {
+ "description": "Player's country.",
+ "type": "string"
},
- "entity_id": {
+ "date_of_birth": {
+ "description": "Date of birth (RFC 3339).",
"type": "string"
},
- "events": {
- "items": {
- "$ref": "#/definitions/ticketmaster.EventSummary"
- },
- "type": "array"
+ "height": {
+ "description": "Height in centimetres.",
+ "type": "integer"
},
- "fetched_at": {
+ "id": {
+ "description": "SofaScore player id. Use it with the player endpoints.",
+ "type": "integer"
+ },
+ "jersey_number": {
+ "description": "Shirt number.",
"type": "string"
},
- "page": {
+ "market_value": {
+ "description": "SofaScore's estimated market value, in units of `market_value_currency`. Omitted when unavailable.",
"type": "integer"
},
- "query": {
+ "market_value_currency": {
+ "description": "Currency of `market_value`, for example EUR.",
"type": "string"
},
- "sort": {
- "example": "date",
+ "name": {
+ "description": "Player's full name.",
"type": "string"
},
- "source_url": {
+ "position": {
+ "description": "Position code, for example G, D, M or F.",
"type": "string"
},
- "total": {
- "example": 28,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "ticketmaster.Presale": {
- "properties": {
- "end_time": {
- "example": "2025-09-10T03:00:00Z",
+ "preferred_foot": {
+ "description": "Preferred foot, for example \"Right\".",
"type": "string"
},
- "name": {
- "example": "Artist Presale",
+ "short_name": {
+ "description": "Shortened name, for example \"E. Haaland\".",
"type": "string"
},
- "start_time": {
- "example": "2025-09-09T15:00:00Z",
+ "slug": {
+ "description": "URL slug of the player on SofaScore.",
"type": "string"
}
},
"type": "object"
},
- "ticketmaster.Review": {
+ "sofascore.Stage": {
"properties": {
- "city": {
- "example": "Chicago",
- "type": "string"
+ "competition": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/sofascore.StageCompetition"
+ }
+ ],
+ "description": "Competition is the series this stage belongs to."
},
- "date_created": {
- "example": "2026-08-14T16:14:29Z",
+ "country": {
+ "example": "Azerbaijan",
"type": "string"
},
- "nick_name": {
- "example": "Lynn",
+ "country_code": {
+ "example": "AZ",
"type": "string"
},
- "rating": {
- "example": 5,
+ "end_timestamp": {
+ "description": "EndTimestamp is omitted when SofaScore publishes none or one before the start.",
"type": "integer"
},
- "review": {
- "type": "string"
+ "id": {
+ "example": 214258,
+ "type": "integer"
},
- "title": {
- "example": "Best concert of my life",
- "type": "string"
+ "info": {
+ "$ref": "#/definitions/sofascore.StageInfo"
},
- "venue": {
- "example": "United Center",
- "type": "string"
- }
- },
- "type": "object"
- },
- "ticketmaster.Setlist": {
- "properties": {
- "city_name": {
- "example": "London",
+ "name": {
+ "example": "Grand Prix",
"type": "string"
},
- "country_name": {
- "example": "United Kingdom",
- "type": "string"
+ "on_date": {
+ "description": "OnDate is true when at least one session of the event starts inside the\nrequested UTC day (stage-schedule only).",
+ "type": "boolean"
},
- "event_date": {
- "example": "2026-08-20",
- "type": "string"
+ "parent": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/sofascore.StageRef"
+ }
+ ],
+ "description": "Parent is the season of an event, the event of a session, and so on."
},
- "sets": {
+ "parts": {
+ "description": "Parts are the qualifying or practice parts of a session (substages only).",
"items": {
- "$ref": "#/definitions/ticketmaster.SetlistSet"
+ "$ref": "#/definitions/sofascore.StageSession"
},
"type": "array"
},
- "tour_name": {
- "example": "Eternal Sunshine",
+ "season_name": {
+ "example": "Formula 1 2026",
"type": "string"
},
- "venue_name": {
- "example": "The O2 Arena",
- "type": "string"
- }
- },
- "type": "object"
- },
- "ticketmaster.SetlistSet": {
- "properties": {
- "name": {
- "example": "Act I",
- "type": "string"
+ "sequence": {
+ "description": "Sequence orders practice sessions and cycling stages within their event.",
+ "example": 1,
+ "type": "integer"
},
- "songs": {
+ "session": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/sofascore.StageSession"
+ }
+ ],
+ "description": "Session is the session SofaScore highlights for an event: the live,\nnext or latest one (schedule routes only)."
+ },
+ "session_start_timestamps": {
+ "description": "SessionStartTimestamps lists every session start of an event (schedule\nroutes only).",
"items": {
- "$ref": "#/definitions/ticketmaster.SetlistSong"
+ "type": "integer"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "ticketmaster.SetlistSong": {
- "properties": {
- "name": {
- "example": "thank u, next",
- "type": "string"
- },
- "original_artist": {
- "example": "Lady Gaga",
- "type": "string"
},
- "performance_notes": {
- "example": "extended outro",
+ "slug": {
+ "example": "grand-prix",
"type": "string"
},
- "pre_recorded": {
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "ticketmaster.Suggestion": {
- "properties": {
- "category": {
+ "start_time": {
+ "example": "2026-09-26T11:00:00Z",
"type": "string"
},
- "event_count": {
+ "start_timestamp": {
+ "example": 1790420400,
"type": "integer"
},
- "image_url": {
- "type": "string"
- },
- "title": {
- "type": "string"
+ "status": {
+ "$ref": "#/definitions/sofascore.StageStatus"
},
"type": {
- "type": "string"
+ "$ref": "#/definitions/sofascore.StageType"
},
- "url": {
+ "winner": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/sofascore.StageEntity"
+ }
+ ],
+ "description": "Winner is set once the stage has a winner; for practice and qualifying it is the fastest competitor."
+ },
+ "year": {
+ "example": "2026",
"type": "string"
}
},
"type": "object"
},
- "ticketmaster.SuggestionsResponse": {
+ "sofascore.StageCategoriesResponse": {
"properties": {
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/sofascore.StageCategory"
+ },
+ "type": "array"
+ },
"count": {
+ "example": 28,
"type": "integer"
},
"fetched_at": {
"type": "string"
},
- "query": {
- "type": "string"
- },
"source_url": {
"type": "string"
},
- "suggestions": {
- "items": {
- "$ref": "#/definitions/ticketmaster.Suggestion"
- },
- "type": "array"
+ "sport": {
+ "example": "motorsport",
+ "type": "string"
}
},
"type": "object"
},
- "ticketmaster.TrendingAttraction": {
+ "sofascore.StageCategory": {
"properties": {
- "discovery_id": {
- "example": "K8vZ9172Qo7",
- "type": "string"
- },
- "genre": {
- "example": "Pop",
- "type": "string"
+ "competitions": {
+ "items": {
+ "$ref": "#/definitions/sofascore.StageCompetition"
+ },
+ "type": "array"
},
- "genre_id": {
- "example": "KnvZfZ7vAev",
+ "flag": {
+ "example": "formula-1",
"type": "string"
},
"id": {
- "example": "1688071",
- "type": "string"
+ "example": 36,
+ "type": "integer"
},
- "image_url": {
+ "name": {
+ "example": "Formula 1",
"type": "string"
},
- "images": {
- "items": {
- "$ref": "#/definitions/ticketmaster.TrendingAttractionImage"
- },
- "type": "array"
+ "priority": {
+ "example": 13,
+ "type": "integer"
},
- "name": {
- "example": "Ariana Grande",
+ "slug": {
+ "example": "formula-1",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.StageCompetition": {
+ "properties": {
+ "category_id": {
+ "example": 36,
+ "type": "integer"
+ },
+ "category_name": {
+ "example": "Formula 1",
"type": "string"
},
- "rank": {
- "example": 1,
+ "id": {
+ "example": 40,
"type": "integer"
},
- "segment": {
- "example": "Music",
+ "name": {
+ "example": "Formula 1",
"type": "string"
},
- "segment_id": {
- "example": "KZFzniwnSyZfZ7v7nJ",
+ "slug": {
+ "example": "formula-1",
"type": "string"
},
- "url": {
+ "sport": {
+ "example": "motorsport",
"type": "string"
}
},
"type": "object"
},
- "ticketmaster.TrendingAttractionImage": {
+ "sofascore.StageDetailResponse": {
"properties": {
- "ratio": {
- "example": "16_9",
+ "fetched_at": {
"type": "string"
},
- "url": {
+ "source_url": {
"type": "string"
+ },
+ "stage": {
+ "$ref": "#/definitions/sofascore.Stage"
}
},
"type": "object"
},
- "ticketmaster.TrendingAttractionsResponse": {
+ "sofascore.StageDriverPerformanceResponse": {
"properties": {
- "attractions": {
+ "competitors": {
"items": {
- "$ref": "#/definitions/ticketmaster.TrendingAttraction"
+ "$ref": "#/definitions/sofascore.StagePerformance"
},
"type": "array"
},
"count": {
- "example": 10,
"type": "integer"
},
"fetched_at": {
@@ -232474,837 +238022,968 @@
},
"source_url": {
"type": "string"
+ },
+ "stage": {
+ "$ref": "#/definitions/sofascore.Stage"
+ },
+ "stage_id": {
+ "example": 214258,
+ "type": "integer"
}
},
"type": "object"
},
- "ticketmaster.Venue": {
+ "sofascore.StageEntity": {
"properties": {
- "address": {
- "example": "1901 W Madison",
- "type": "string"
- },
- "city": {
- "example": "Chicago",
+ "code": {
+ "description": "Code is the three-letter timing code (for example RUS), when published.",
+ "example": "RUS",
"type": "string"
},
- "city_categories": {
- "items": {
- "$ref": "#/definitions/ticketmaster.VenueCityCategory"
- },
- "type": "array"
- },
"country": {
- "example": "US",
+ "example": "United Kingdom",
"type": "string"
},
- "discovery_id": {
- "example": "KovZpa2M7e",
+ "country_code": {
+ "example": "GB",
"type": "string"
},
"id": {
- "example": "32882",
- "type": "string"
+ "example": 271315,
+ "type": "integer"
},
- "image_url": {
+ "kind": {
+ "description": "Kind is individual for a driver or rider and team for a team or constructor.",
+ "example": "individual",
"type": "string"
},
- "info": {
- "items": {
- "$ref": "#/definitions/ticketmaster.VenueInfoBlock"
- },
- "type": "array"
- },
- "latitude": {
- "example": 41.881244,
- "type": "number"
- },
- "longitude": {
- "example": -87.674274,
- "type": "number"
- },
"name": {
- "example": "United Center",
- "type": "string"
- },
- "postal_code": {
- "example": "60612",
+ "example": "George Russell",
"type": "string"
},
- "seat_maps": {
- "items": {
- "$ref": "#/definitions/ticketmaster.VenueSeatMap"
- },
- "type": "array"
- },
- "state": {
- "example": "IL",
+ "short_name": {
+ "example": "G. Russell",
"type": "string"
},
- "time_zone": {
- "example": "America/Chicago",
+ "slug": {
+ "example": "russell-george",
"type": "string"
},
- "url": {
- "type": "string"
+ "team": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/sofascore.StageTeamRef"
+ }
+ ],
+ "description": "Team is the team or constructor of an individual competitor."
}
},
"type": "object"
},
- "ticketmaster.VenueCityCategory": {
+ "sofascore.StageFeaturedResponse": {
"properties": {
- "id": {
- "example": "KZFzniwnSyZfZ7v7nJ",
- "type": "string"
+ "count": {
+ "type": "integer"
},
- "name": {
- "example": "Concerts",
+ "fetched_at": {
"type": "string"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "ticketmaster.VenueEnhancedDetailsResponse": {
- "properties": {
- "fetched_at": {
+ "source_url": {
"type": "string"
},
- "header_image_url": {
+ "sport": {
+ "example": "motorsport",
"type": "string"
},
- "related_links": {
+ "stages": {
"items": {
- "$ref": "#/definitions/ticketmaster.VenueRelatedLink"
+ "$ref": "#/definitions/sofascore.Stage"
},
"type": "array"
- },
- "source_url": {
- "type": "string"
- },
- "venue_id": {
- "example": "32882",
- "type": "string"
}
},
"type": "object"
},
- "ticketmaster.VenueInfoBlock": {
+ "sofascore.StageInfo": {
"properties": {
- "name": {
- "example": "Parking",
- "type": "string"
+ "actual_distance": {
+ "example": 400.5,
+ "type": "number"
},
- "text": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "ticketmaster.VenueRef": {
- "properties": {
- "address": {
- "example": "1901 W Madison",
+ "air_temperature": {
+ "description": "AirTemperature and TrackTemperature are degrees Celsius; Humidity is a percentage.",
+ "example": 26.5,
+ "type": "number"
+ },
+ "arrival_city": {
+ "example": "Kampar",
"type": "string"
},
- "city": {
- "example": "Chicago",
+ "average_speed": {
+ "example": 147.363,
+ "type": "number"
+ },
+ "caution_laps": {
+ "example": 21,
+ "type": "integer"
+ },
+ "cautions": {
+ "example": 4,
+ "type": "integer"
+ },
+ "circuit": {
+ "example": "Baku City Circuit",
"type": "string"
},
- "country": {
- "example": "US",
+ "circuit_city": {
+ "example": "Baku",
"type": "string"
},
- "discovery_id": {
- "example": "KovZpa2M7e",
+ "circuit_country": {
+ "example": "Azerbaijan",
"type": "string"
},
- "id": {
- "example": "32882",
+ "circuit_length_m": {
+ "example": 6003,
+ "type": "number"
+ },
+ "departure_city": {
+ "example": "Shah Alam",
"type": "string"
},
- "image_url": {
+ "discipline": {
+ "description": "Cycling facts.",
+ "example": "Category Pro",
"type": "string"
},
- "latitude": {
- "example": 41.881244,
+ "distance": {
+ "description": "NASCAR facts. Distances use the series' own unit (miles).",
+ "example": 400,
"type": "number"
},
- "longitude": {
- "example": -87.674274,
+ "elapsed_time": {
+ "example": "2:43:04",
+ "type": "string"
+ },
+ "humidity": {
+ "example": 50.4,
"type": "number"
},
- "name": {
- "example": "United Center",
+ "lap_record": {
+ "example": "1:44.916",
"type": "string"
},
- "postal_code": {
- "example": "60612",
- "type": "string"
+ "laps": {
+ "description": "Laps is the scheduled lap count and LapsCompleted the laps actually run.",
+ "example": 51,
+ "type": "integer"
},
- "state": {
- "example": "IL",
- "type": "string"
+ "laps_completed": {
+ "example": 51,
+ "type": "integer"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "ticketmaster.VenueRelatedLink": {
- "properties": {
- "image_url": {
- "type": "string"
+ "lead_changes": {
+ "example": 12,
+ "type": "integer"
},
- "title": {
- "example": "Chicago Bulls",
- "type": "string"
+ "race_distance_m": {
+ "description": "RaceDistanceM and CircuitLengthM are in metres.",
+ "example": 306049,
+ "type": "number"
},
- "url": {
+ "race_segments": {
+ "description": "RaceSegments is the number of scored segments in a NASCAR race.",
+ "example": 2,
+ "type": "integer"
+ },
+ "race_type": {
+ "example": "normal",
"type": "string"
- }
- },
- "type": "object"
- },
- "ticketmaster.VenueResponse": {
- "properties": {
- "fetched_at": {
+ },
+ "round": {
+ "description": "Round is the championship round of an event, or the stage number within a\ncycling race or rally; practice, qualifying and race sessions carry none.",
+ "example": 15,
+ "type": "integer"
+ },
+ "safety_car": {
+ "type": "boolean"
+ },
+ "special_stages": {
+ "description": "SpecialStages is the number of special stages of a rally (0 for a canceled rally).",
+ "example": 17,
+ "type": "integer"
+ },
+ "stage_day": {
+ "description": "StageDay is the weekday label (THU, FRI, SAT, SUN) of a rally stage or race-weekend session.",
+ "example": "FRI",
"type": "string"
},
- "source_url": {
+ "summary": {
"type": "string"
},
- "venue": {
- "$ref": "#/definitions/ticketmaster.Venue"
- }
- },
- "type": "object"
- },
- "ticketmaster.VenueSeatMap": {
- "properties": {
- "image_url": {
+ "track_condition": {
+ "example": "Dry",
"type": "string"
},
- "name": {
- "example": "Chicago Bulls",
+ "track_temperature": {
+ "example": 40.1,
+ "type": "number"
+ },
+ "weather": {
+ "example": "sunny",
"type": "string"
}
},
"type": "object"
},
- "ticketmaster.attractionRelatedResponseDoc": {
+ "sofascore.StageLap": {
"properties": {
- "code": {
- "example": 200,
+ "lap": {
+ "example": 1,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/ticketmaster.AttractionRelatedResponse"
+ "pit_stop": {
+ "type": "boolean"
},
- "msg": {
- "example": "OK",
- "type": "string"
- }
- },
- "type": "object"
- },
- "ticketmaster.attractionResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ "position": {
+ "description": "Position is omitted on the lap a competitor retired.",
+ "example": 1,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/ticketmaster.AttractionResponse"
+ "retired": {
+ "type": "boolean"
},
- "msg": {
- "example": "OK",
+ "tyre_type": {
+ "example": "M",
"type": "string"
}
},
"type": "object"
},
- "ticketmaster.attractionReviewsResponseDoc": {
+ "sofascore.StagePerformance": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "competitor": {
+ "$ref": "#/definitions/sofascore.StageEntity"
},
- "data": {
- "$ref": "#/definitions/ticketmaster.AttractionReviewsResponse"
+ "laps": {
+ "description": "Laps is set for circuit races.",
+ "items": {
+ "$ref": "#/definitions/sofascore.StageLap"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
- "type": "string"
+ "stage_positions": {
+ "description": "StagePositions is set for rallies.",
+ "items": {
+ "$ref": "#/definitions/sofascore.StageSpecialStagePosition"
+ },
+ "type": "array"
+ },
+ "start_number": {
+ "example": 63,
+ "type": "integer"
}
},
"type": "object"
},
- "ticketmaster.categoriesResponseDoc": {
+ "sofascore.StageRef": {
"properties": {
- "code": {
+ "id": {
+ "example": 214253,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/ticketmaster.DiscoverCategoriesResponse"
+ "name": {
+ "example": "Azerbaijan GP",
+ "type": "string"
},
- "msg": {
+ "slug": {
+ "example": "azerbaijan-gp",
"type": "string"
+ },
+ "start_timestamp": {
+ "type": "integer"
}
},
"type": "object"
},
- "ticketmaster.citiesResponseDoc": {
+ "sofascore.StageScheduleResponse": {
"properties": {
- "code": {
+ "count": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/ticketmaster.DiscoverCitiesResponse"
+ "date": {
+ "example": "2026-10-04",
+ "type": "string"
},
- "msg": {
+ "fetched_at": {
"type": "string"
- }
- },
- "type": "object"
- },
- "ticketmaster.eventResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/ticketmaster.EventResponse"
+ "source_url": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "sport": {
+ "example": "motorsport",
"type": "string"
+ },
+ "stages": {
+ "items": {
+ "$ref": "#/definitions/sofascore.Stage"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "ticketmaster.eventsResponseDoc": {
+ "sofascore.StageSeason": {
"properties": {
- "code": {
- "example": 200,
+ "end_timestamp": {
+ "description": "EndTimestamp is omitted for the season still in progress.",
+ "example": 1765119600,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/ticketmaster.EventsResponse"
+ "id": {
+ "example": 214140,
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "name": {
+ "example": "Formula 1 2026",
"type": "string"
- }
- },
- "type": "object"
- },
- "ticketmaster.suggestionsResponseDoc": {
- "properties": {
- "code": {
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/ticketmaster.SuggestionsResponse"
+ "slug": {
+ "example": "formula-1-2026",
+ "type": "string"
},
- "msg": {
+ "start_timestamp": {
+ "example": 1767254187,
+ "type": "integer"
+ },
+ "year": {
+ "example": "2026",
"type": "string"
}
},
"type": "object"
},
- "ticketmaster.trendingAttractionsResponseDoc": {
+ "sofascore.StageSeasonsResponse": {
"properties": {
- "code": {
- "example": 200,
+ "competition": {
+ "$ref": "#/definitions/sofascore.StageCompetition"
+ },
+ "count": {
+ "example": 77,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/ticketmaster.TrendingAttractionsResponse"
+ "fetched_at": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "seasons": {
+ "items": {
+ "$ref": "#/definitions/sofascore.StageSeason"
+ },
+ "type": "array"
+ },
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "ticketmaster.venueEnhancedDetailsResponseDoc": {
+ "sofascore.StageSession": {
"properties": {
- "code": {
- "example": 200,
+ "id": {
+ "example": 214258,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/ticketmaster.VenueEnhancedDetailsResponse"
+ "name": {
+ "example": "Grand Prix",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "sequence": {
+ "example": 1,
+ "type": "integer"
+ },
+ "slug": {
+ "example": "grand-prix",
"type": "string"
+ },
+ "start_timestamp": {
+ "example": 1790420400,
+ "type": "integer"
+ },
+ "status": {
+ "$ref": "#/definitions/sofascore.StageStatus"
+ },
+ "type": {
+ "$ref": "#/definitions/sofascore.StageType"
}
},
"type": "object"
},
- "ticketmaster.venueResponseDoc": {
+ "sofascore.StageSpecialStagePosition": {
"properties": {
- "code": {
- "example": 200,
+ "position": {
+ "example": 3,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/ticketmaster.VenueResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "stage": {
+ "example": 1,
+ "type": "integer"
}
},
"type": "object"
},
- "ticketweb.Attraction": {
+ "sofascore.StageStanding": {
"properties": {
- "category": {
- "example": "Arts & Theater",
- "type": "string"
+ "bonus_points": {
+ "type": "number"
},
- "genre": {
- "example": "Comedy",
+ "comment": {
+ "example": "Retired",
"type": "string"
},
- "id": {
- "type": "string"
+ "competitor": {
+ "$ref": "#/definitions/sofascore.StageEntity"
},
- "image_url": {
- "type": "string"
+ "did_not_finish": {
+ "description": "DidNotFinish is 1 in a race row for a competitor who did not finish; in a\nNASCAR season row it counts the races not finished.",
+ "example": 1,
+ "type": "integer"
},
- "name": {
- "example": "Comedy Beast",
- "type": "string"
- }
- },
- "type": "object"
- },
- "ticketweb.DeliveryMethod": {
- "properties": {
- "description": {
- "type": "string"
+ "distance": {
+ "description": "Distance is the distance covered in a NASCAR race, in the series' unit (miles).",
+ "example": 400,
+ "type": "number"
},
- "fee": {
- "example": "Free",
+ "fastest_lap_time": {
+ "example": "1:44.916",
"type": "string"
},
- "name": {
- "example": "eTickets",
+ "fastest_laps": {
+ "description": "FastestLaps is the number of fastest laps (race row) or fastest laps of the season (season row).",
+ "example": 1,
+ "type": "integer"
+ },
+ "gap": {
+ "description": "Gap is the time behind the leader, or DNF (did not finish) or DNS (did not start).",
+ "example": "+0.196",
"type": "string"
- }
- },
- "type": "object"
- },
- "ticketweb.EventDetail": {
- "properties": {
- "age_restriction": {
- "example": 18,
+ },
+ "grid_position": {
+ "description": "GridPosition is the starting grid slot of a race.",
+ "example": 1,
"type": "integer"
},
- "age_restriction_message": {
- "example": "Ages 18+",
+ "interval": {
+ "description": "Interval is the time behind the competitor ahead.",
+ "example": "+0.196",
"type": "string"
},
- "announce_time": {
+ "jersey": {
+ "description": "Jersey is the classification jersey a cycling rider wears (general for the overall leader).",
+ "example": "general",
"type": "string"
},
- "attractions": {
- "items": {
- "$ref": "#/definitions/ticketweb.Attraction"
- },
- "type": "array"
+ "laps": {
+ "example": 51,
+ "type": "integer"
},
- "currency": {
- "example": "USD",
- "type": "string"
+ "laps_behind": {
+ "type": "integer"
},
- "delivery_methods": {
- "items": {
- "$ref": "#/definitions/ticketweb.DeliveryMethod"
- },
- "type": "array"
+ "laps_led": {
+ "example": 51,
+ "type": "integer"
},
- "description": {
- "type": "string"
+ "personal_fastest_lap": {
+ "example": 49,
+ "type": "integer"
},
- "end_time": {
+ "personal_fastest_lap_time": {
+ "example": "1:44.916",
"type": "string"
},
- "has_tickets": {
- "example": true,
- "type": "boolean"
+ "pit_stops": {
+ "example": 2,
+ "type": "integer"
},
- "id": {
- "example": "14241184",
+ "podiums": {
+ "example": 13,
+ "type": "integer"
+ },
+ "points": {
+ "description": "Points are omitted when the row earned none published.",
+ "example": 25,
+ "type": "number"
+ },
+ "pole_positions": {
+ "example": 6,
+ "type": "integer"
+ },
+ "position": {
+ "description": "Position is the classified position. It is omitted for competitors who\ndid not finish or set no time.",
+ "example": 1,
+ "type": "integer"
+ },
+ "races_started": {
+ "example": 16,
+ "type": "integer"
+ },
+ "races_with_points": {
+ "example": 14,
+ "type": "integer"
+ },
+ "rank": {
+ "description": "Rank is the points rank of a NASCAR classification, which can differ from Position.",
+ "type": "integer"
+ },
+ "start_number": {
+ "description": "StartNumber is the car, bike or bib number.",
+ "example": 63,
+ "type": "integer"
+ },
+ "status": {
+ "description": "Status is Finished, Out or Did not start; SubStatus gives the reason (Retired, Did not start); Comment is free text.",
+ "example": "Out",
"type": "string"
},
- "image_url": {
+ "sub_status": {
+ "example": "Retired",
"type": "string"
},
- "name": {
- "example": "Comedy Beast",
+ "time": {
+ "description": "Time is the race time, the best lap of a practice or qualifying session, or a stage time.\nSome series (IndyCar) publish the time behind the winner here for every row but the first.",
+ "example": "1:38:02.143",
"type": "string"
},
- "on_sale_time": {
- "example": "2026-07-01T12:05:00.000-05:00",
+ "top10": {
+ "type": "integer"
+ },
+ "top5": {
+ "type": "integer"
+ },
+ "total_time": {
+ "example": "28:57:04",
"type": "string"
},
- "price_range": {
- "$ref": "#/definitions/ticketweb.PriceRange"
+ "tyre_state": {
+ "example": "Used",
+ "type": "string"
},
- "sections": {
+ "tyre_stints": {
"items": {
- "$ref": "#/definitions/ticketweb.TicketSection"
+ "$ref": "#/definitions/sofascore.StageTyreStint"
},
"type": "array"
},
- "start_time": {
- "example": "2026-08-25T19:30:00.000-05:00",
- "type": "string"
- },
- "terms_and_conditions": {
+ "tyre_type": {
+ "description": "TyreType is the compound code at the finish (S, M observed); TyreStints lists every stint.",
+ "example": "S",
"type": "string"
},
- "url": {
- "type": "string"
+ "updated_timestamp": {
+ "description": "UpdatedTimestamp is when SofaScore last updated the row (Unix seconds).",
+ "example": 1790428823,
+ "type": "integer"
},
- "venue": {
- "$ref": "#/definitions/ticketweb.EventVenue"
+ "victories": {
+ "description": "Season championship totals.",
+ "example": 8,
+ "type": "integer"
}
},
"type": "object"
},
- "ticketweb.EventResponse": {
+ "sofascore.StageStandingsResponse": {
"properties": {
- "event": {
- "$ref": "#/definitions/ticketweb.EventDetail"
+ "count": {
+ "type": "integer"
},
"fetched_at": {
"type": "string"
},
"source_url": {
"type": "string"
+ },
+ "stage_id": {
+ "example": 214258,
+ "type": "integer"
+ },
+ "standings": {
+ "items": {
+ "$ref": "#/definitions/sofascore.StageStanding"
+ },
+ "type": "array"
+ },
+ "type": {
+ "example": "competitor",
+ "type": "string"
}
},
"type": "object"
},
- "ticketweb.EventSummary": {
+ "sofascore.StageStatus": {
"properties": {
- "availability": {
- "enum": [
- "in_stock",
- "sold_out",
- "unknown"
- ],
- "example": "in_stock",
- "type": "string"
- },
- "id": {
- "example": "14241184",
+ "description": {
+ "example": "Finished",
"type": "string"
},
- "image_url": {
+ "type": {
+ "example": "finished",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.StageSubstagesResponse": {
+ "properties": {
+ "count": {
+ "type": "integer"
},
- "name": {
- "example": "Comedy Beast",
+ "fetched_at": {
"type": "string"
},
- "start_time": {
- "example": "2026-08-25T19:30",
+ "source_url": {
"type": "string"
},
- "url": {
- "type": "string"
+ "stage_id": {
+ "example": 214253,
+ "type": "integer"
},
- "venue": {
- "$ref": "#/definitions/ticketweb.VenueRef"
+ "stages": {
+ "items": {
+ "$ref": "#/definitions/sofascore.Stage"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "ticketweb.EventVenue": {
+ "sofascore.StageTeamRef": {
"properties": {
- "address": {
- "example": "907 South Peters",
+ "chassis": {
+ "description": "Chassis and Engine are published for Formula 1 constructors only.",
+ "example": "W17",
"type": "string"
},
- "city": {
- "example": "New Orleans",
+ "code": {
+ "example": "MER",
"type": "string"
},
"country": {
- "example": "US",
+ "example": "Germany",
"type": "string"
},
- "id": {
- "example": "15005",
+ "engine": {
+ "example": "Mercedes-AMG F1 M17",
"type": "string"
},
- "map_image": {
- "type": "string"
+ "id": {
+ "example": 214910,
+ "type": "integer"
},
"name": {
- "example": "Howlin' Wolf",
- "type": "string"
- },
- "postal_code": {
- "example": "70130",
+ "example": "Mercedes",
"type": "string"
},
- "state": {
- "example": "LA",
+ "short_name": {
+ "example": "Mercedes",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.StageType": {
+ "properties": {
+ "id": {
+ "example": 6,
+ "type": "integer"
},
- "time_zone": {
- "example": "US/Central",
+ "name": {
+ "example": "Race",
"type": "string"
}
},
"type": "object"
},
- "ticketweb.PriceRange": {
+ "sofascore.StageTyreStint": {
"properties": {
- "max": {
- "example": 8.16,
- "type": "number"
+ "laps": {
+ "example": 31,
+ "type": "integer"
},
- "min": {
- "example": 8.16,
- "type": "number"
+ "type": {
+ "example": "M",
+ "type": "string"
}
},
"type": "object"
},
- "ticketweb.SearchResponse": {
+ "sofascore.StandingsGroup": {
"properties": {
- "count": {
- "example": 20,
- "type": "integer"
+ "name": {
+ "description": "Table name, set when the competition publishes more than one table, such as group-stage groups.",
+ "type": "string"
},
- "events": {
+ "rows": {
+ "description": "Table rows in position order.",
"items": {
- "$ref": "#/definitions/ticketweb.EventSummary"
+ "$ref": "#/definitions/sofascore.StandingsRow"
},
"type": "array"
- },
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.StandingsResponse": {
+ "properties": {
"fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
"type": "string"
},
- "page": {
- "example": 1,
+ "groups": {
+ "description": "One entry per table the competition publishes.",
+ "items": {
+ "$ref": "#/definitions/sofascore.StandingsGroup"
+ },
+ "type": "array"
+ },
+ "season_id": {
+ "description": "SofaScore season id.",
"type": "integer"
},
- "query": {
+ "source_url": {
+ "description": "SofaScore URL the data was read from.",
"type": "string"
},
- "source_url": {
+ "tournament_id": {
+ "description": "Id of the competition (the unique tournament id).",
+ "type": "integer"
+ },
+ "type": {
+ "description": "Which table was requested: `total`, `home` or `away`.",
+ "example": "total",
"type": "string"
}
},
"type": "object"
},
- "ticketweb.TicketFees": {
+ "sofascore.StandingsRow": {
"properties": {
- "credit_card": {
- "example": 0.16,
- "type": "number"
+ "draws": {
+ "description": "Matches drawn.",
+ "type": "integer"
},
- "facility": {
- "type": "number"
+ "losses": {
+ "description": "Matches lost.",
+ "type": "integer"
},
- "per_ticket": {
- "example": 1.5,
- "type": "number"
+ "matches": {
+ "description": "Matches played.",
+ "type": "integer"
},
- "rebate": {
- "example": 1.5,
- "type": "number"
+ "points": {
+ "description": "Points in the table.",
+ "type": "integer"
},
- "taxes": {
- "type": "number"
- }
- },
- "type": "object"
- },
- "ticketweb.TicketPrice": {
- "properties": {
- "base": {
- "example": 5,
- "type": "number"
+ "position": {
+ "description": "Position in the table.",
+ "type": "integer"
},
- "fees": {
- "$ref": "#/definitions/ticketweb.TicketFees"
+ "promotion": {
+ "description": "What the position currently leads to, for example \"Champions League\". Omitted when the position carries nothing.",
+ "example": "Champions League",
+ "type": "string"
},
- "max_purchase_limit": {
- "example": 10,
+ "scores_against": {
+ "description": "Goals or points conceded.",
"type": "integer"
},
- "min_purchase_limit": {
+ "scores_for": {
+ "description": "Goals or points scored.",
"type": "integer"
},
- "name": {
- "example": "GA Seating",
- "type": "string"
- },
- "sold_out": {
- "type": "boolean"
+ "team": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/sofascore.TeamRef"
+ }
+ ],
+ "description": "The team."
},
- "total": {
- "example": 8.16,
- "type": "number"
+ "wins": {
+ "description": "Matches won.",
+ "type": "integer"
}
},
"type": "object"
},
- "ticketweb.TicketSection": {
+ "sofascore.StatGroup": {
"properties": {
- "name": {
- "example": "GA Seating",
- "type": "string"
- },
- "prices": {
+ "items": {
+ "description": "Statistics in the group.",
"items": {
- "$ref": "#/definitions/ticketweb.TicketPrice"
+ "$ref": "#/definitions/sofascore.StatItem"
},
"type": "array"
},
- "purchase_limit": {
- "example": 10,
- "type": "integer"
- },
- "sold_out": {
- "type": "boolean"
+ "name": {
+ "description": "Group name, for example \"Match overview\" or \"Shots\".",
+ "type": "string"
}
},
"type": "object"
},
- "ticketweb.VenueDetail": {
+ "sofascore.StatItem": {
"properties": {
- "address": {
- "example": "907 South Peters, New Orleans, LA 70130",
+ "away": {
+ "description": "Away side's value as displayed, for example 39%.",
+ "example": "39%",
"type": "string"
},
- "id": {
- "example": "15005",
+ "home": {
+ "description": "Home side's value as displayed, for example 61%.",
+ "example": "61%",
"type": "string"
},
- "name": {
- "example": "Howlin' Wolf",
+ "key": {
+ "description": "Stable key for the statistic, for example `ballPossession`.",
+ "example": "ballPossession",
"type": "string"
},
- "url": {
+ "name": {
+ "description": "Statistic name, for example \"Ball possession\".",
+ "example": "Ball possession",
"type": "string"
}
},
"type": "object"
},
- "ticketweb.VenueRef": {
+ "sofascore.StatPeriod": {
"properties": {
- "address": {
- "example": "New Orleans, LA",
+ "groups": {
+ "description": "Statistic groups for the period.",
+ "items": {
+ "$ref": "#/definitions/sofascore.StatGroup"
+ },
+ "type": "array"
+ },
+ "period": {
+ "description": "Period the statistics cover: `ALL`, `1ST` or `2ND`.",
+ "example": "ALL",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.StatisticsSeason": {
+ "properties": {
+ "id": {
+ "example": 96668,
+ "type": "integer"
},
"name": {
- "example": "Howlin' Wolf",
+ "example": "Premier League 26/27",
"type": "string"
},
- "url": {
+ "types": {
+ "items": {
+ "enum": [
+ "overall",
+ "home",
+ "away",
+ "regular_season",
+ "playoffs"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "year": {
+ "example": "26/27",
"type": "string"
}
},
"type": "object"
},
- "ticketweb.VenueResponse": {
+ "sofascore.StatisticsTournament": {
"properties": {
- "count": {
- "example": 20,
- "type": "integer"
+ "category": {
+ "example": "England",
+ "type": "string"
},
- "events": {
+ "name": {
+ "example": "Premier League",
+ "type": "string"
+ },
+ "seasons": {
"items": {
- "$ref": "#/definitions/ticketweb.EventSummary"
+ "$ref": "#/definitions/sofascore.StatisticsSeason"
},
"type": "array"
},
- "fetched_at": {
+ "slug": {
+ "example": "premier-league",
"type": "string"
},
- "page": {
- "example": 1,
+ "unique_tournament_id": {
+ "example": 17,
"type": "integer"
- },
- "source_url": {
- "type": "string"
- },
- "venue": {
- "$ref": "#/definitions/ticketweb.VenueDetail"
}
},
"type": "object"
},
- "ticketweb.eventResponseDoc": {
+ "sofascore.TVChannel": {
"properties": {
- "code": {
- "example": 200,
+ "id": {
+ "example": 1057,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/ticketweb.EventResponse"
- },
- "msg": {
- "example": "OK",
+ "name": {
+ "example": "Sky Sports Premier League",
"type": "string"
}
},
"type": "object"
},
- "ticketweb.searchResponseDoc": {
+ "sofascore.TVCountryChannels": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/ticketweb.SearchResponse"
+ "channel_ids": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "country": {
+ "example": "GB",
"type": "string"
}
},
"type": "object"
},
- "ticketweb.venueResponseDoc": {
+ "sofascore.TeamAchievement": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "competition": {
+ "$ref": "#/definitions/sofascore.UniqueTournamentBrief"
},
- "data": {
- "$ref": "#/definitions/ticketweb.VenueResponse"
+ "seasons": {
+ "description": "Seasons lists the winning seasons, newest first. It can be empty or\nshorter than TrophiesWon (US leagues report a count without years).",
+ "items": {
+ "$ref": "#/definitions/sofascore.AchievementSeason"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
- "type": "string"
+ "trophies_won": {
+ "example": 10,
+ "type": "integer"
}
},
"type": "object"
},
- "tiffany.CategoriesResponse": {
+ "sofascore.TeamAchievementsResponse": {
"properties": {
- "categories": {
+ "achievements": {
"items": {
- "$ref": "#/definitions/tiffany.CategoryFacet"
+ "$ref": "#/definitions/sofascore.TeamAchievement"
},
"type": "array"
},
@@ -233316,327 +238995,377 @@
},
"source_url": {
"type": "string"
+ },
+ "team_id": {
+ "example": 17,
+ "type": "integer"
+ },
+ "total_trophies": {
+ "example": 45,
+ "type": "integer"
}
},
"type": "object"
},
- "tiffany.CategoryFacet": {
+ "sofascore.TeamDetail": {
"properties": {
- "id": {
- "description": "ID is the exact value to pass as tiffany-category's own \"category\"\nquery parameter.",
+ "country": {
+ "description": "Country the team belongs to.",
+ "example": "Spain",
"type": "string"
},
- "kind": {
- "description": "Kind distinguishes a real navigable department/category\n(\"category\", ids starting \"ecommerce_us_\") from a curated\nmerchandising/gift shelf (\"curated_shop\", ids starting\n\"curated_ecommerce_us_\") -- both are valid, filterable category ids,\nbut they serve different purposes: see the categories endpoint\ndocumentation.",
+ "id": {
+ "description": "SofaScore team id. Use it with the team endpoints.",
+ "example": 2817,
+ "type": "integer"
+ },
+ "manager": {
"type": "string"
},
- "label": {
- "description": "Label is a human-readable label derived from ID.",
+ "name": {
+ "description": "Full team name.",
+ "example": "FC Barcelona",
"type": "string"
},
- "product_count": {
- "description": "ProductCount is the live count of in-index products carrying this\ncategory id, as of FetchedAt.",
- "type": "integer"
- }
- },
- "type": "object"
- },
- "tiffany.CategoryResponse": {
- "properties": {
- "category": {
+ "national": {
+ "description": "True for a national team.",
+ "type": "boolean"
+ },
+ "primary_color": {
"type": "string"
},
- "count": {
- "type": "integer"
+ "short_name": {
+ "description": "Shortened team name.",
+ "example": "Barcelona",
+ "type": "string"
},
- "fetched_at": {
+ "slug": {
+ "description": "URL slug of the team on SofaScore.",
+ "example": "barcelona",
"type": "string"
},
- "page": {
- "type": "integer"
+ "sport": {
+ "example": "Football",
+ "type": "string"
},
- "per_page": {
+ "tournament_id": {
"type": "integer"
},
- "products": {
- "items": {
- "$ref": "#/definitions/tiffany.ProductSummary"
- },
- "type": "array"
- },
- "sort": {
+ "tournament_name": {
"type": "string"
},
- "source_url": {
+ "venue": {
"type": "string"
},
- "total_pages": {
+ "venue_capacity": {
"type": "integer"
},
- "total_products": {
- "type": "integer"
+ "venue_city": {
+ "type": "string"
}
},
"type": "object"
},
- "tiffany.ContentResult": {
+ "sofascore.TeamDuel": {
"properties": {
- "description": {
- "type": "string"
- },
- "image_url": {
- "type": "string"
+ "away_wins": {
+ "description": "Past meetings won by the away side of this match.",
+ "type": "integer"
},
- "title": {
- "type": "string"
+ "draws": {
+ "description": "Past meetings that ended in a draw.",
+ "type": "integer"
},
- "url": {
- "type": "string"
+ "home_wins": {
+ "description": "Past meetings won by the home side of this match.",
+ "type": "integer"
}
},
"type": "object"
},
- "tiffany.ContentSearchResponse": {
+ "sofascore.TeamEventsResponse": {
"properties": {
"count": {
+ "description": "Number of events on this page.",
"type": "integer"
},
- "fetched_at": {
+ "direction": {
+ "description": "Which fixtures were requested: `next` for upcoming, `last` for past.",
+ "example": "next",
"type": "string"
},
- "keyword": {
+ "events": {
+ "description": "Fixtures on this page. Empty when there are none.",
+ "items": {
+ "$ref": "#/definitions/sofascore.EventSummary"
+ },
+ "type": "array"
+ },
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
"type": "string"
},
+ "has_next_page": {
+ "description": "True when page + 1 has more fixtures in the same direction.",
+ "type": "boolean"
+ },
"page": {
+ "description": "Zero-based page number returned.",
"type": "integer"
},
- "per_page": {
- "type": "integer"
+ "source_url": {
+ "description": "SofaScore URL the data was read from.",
+ "type": "string"
},
- "results": {
+ "team_id": {
+ "description": "SofaScore team id the fixtures belong to.",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.TeamGoalDistributionsResponse": {
+ "properties": {
+ "distributions": {
"items": {
- "$ref": "#/definitions/tiffany.ContentResult"
+ "$ref": "#/definitions/sofascore.GoalDistribution"
},
"type": "array"
},
+ "fetched_at": {
+ "type": "string"
+ },
+ "season_id": {
+ "example": 96668,
+ "type": "integer"
+ },
"source_url": {
"type": "string"
},
- "total_pages": {
+ "team_id": {
+ "example": 17,
"type": "integer"
},
- "total_results": {
+ "tournament_id": {
+ "example": 17,
"type": "integer"
}
},
"type": "object"
},
- "tiffany.FilterValue": {
+ "sofascore.TeamLineup": {
"properties": {
- "product_count": {
- "type": "integer"
- },
- "value": {
+ "formation": {
+ "description": "Formation, for example 4-3-3.",
+ "example": "4-3-3",
"type": "string"
+ },
+ "players": {
+ "description": "Starting players and substitutes.",
+ "items": {
+ "$ref": "#/definitions/sofascore.LineupPlayer"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "tiffany.FiltersResponse": {
+ "sofascore.TeamNearEventsResponse": {
"properties": {
- "color": {
- "items": {
- "$ref": "#/definitions/tiffany.FilterValue"
- },
- "type": "array"
- },
- "designer": {
- "items": {
- "$ref": "#/definitions/tiffany.FilterValue"
- },
- "type": "array"
- },
"fetched_at": {
"type": "string"
},
- "gemstone": {
- "items": {
- "$ref": "#/definitions/tiffany.FilterValue"
- },
- "type": "array"
- },
- "gender": {
- "items": {
- "$ref": "#/definitions/tiffany.FilterValue"
- },
- "type": "array"
- },
- "material": {
- "items": {
- "$ref": "#/definitions/tiffany.FilterValue"
- },
- "type": "array"
+ "next_event": {
+ "$ref": "#/definitions/sofascore.EventSummary"
},
- "product_type": {
- "items": {
- "$ref": "#/definitions/tiffany.FilterValue"
- },
- "type": "array"
+ "previous_event": {
+ "$ref": "#/definitions/sofascore.EventSummary"
},
"source_url": {
"type": "string"
+ },
+ "team_id": {
+ "example": 17,
+ "type": "integer"
}
},
"type": "object"
},
- "tiffany.ProductDetailResponse": {
+ "sofascore.TeamOfTheWeekPeriod": {
"properties": {
- "available_quantity": {
- "type": "integer"
- },
- "brand": {
+ "created_at": {
"type": "string"
},
- "categories": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "collection": {
+ "date_from": {
"type": "string"
},
- "color": {
+ "date_to": {
"type": "string"
},
- "currency": {
- "type": "string"
+ "id": {
+ "example": 29321,
+ "type": "integer"
},
- "description": {
+ "name": {
+ "example": "round",
"type": "string"
},
- "designer": {
+ "round": {
+ "type": "integer"
+ },
+ "round_name": {
"type": "string"
},
- "fetched_at": {
+ "sequence": {
+ "type": "integer"
+ },
+ "type": {
+ "example": "round",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.TeamOfTheWeekPeriodsResponse": {
+ "properties": {
+ "count": {
+ "type": "integer"
},
- "gemstone": {
+ "fetched_at": {
"type": "string"
},
- "images": {
+ "periods": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/sofascore.TeamOfTheWeekPeriod"
},
"type": "array"
},
- "in_stock": {
- "type": "boolean"
- },
- "low_inventory": {
- "type": "boolean"
- },
- "material": {
- "type": "string"
- },
- "name": {
- "type": "string"
- },
- "price": {
- "type": "number"
+ "season_id": {
+ "type": "integer"
},
- "product_id": {
+ "source_url": {
"type": "string"
},
- "product_type": {
- "type": "string"
+ "tournament_id": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.TeamOfTheWeekPlayer": {
+ "properties": {
+ "event": {
+ "$ref": "#/definitions/sofascore.EventSummary"
},
- "size": {
+ "jersey_number": {
"type": "string"
},
- "source_url": {
- "type": "string"
+ "order": {
+ "example": 1,
+ "type": "integer"
},
- "style_id": {
- "type": "string"
+ "player": {
+ "$ref": "#/definitions/sofascore.PlayerRef"
},
- "url": {
- "type": "string"
+ "rating": {
+ "example": 8.6,
+ "type": "number"
},
- "variations": {
- "items": {
- "$ref": "#/definitions/tiffany.ProductVariation"
- },
- "type": "array"
+ "team": {
+ "$ref": "#/definitions/sofascore.TeamRef"
}
},
"type": "object"
},
- "tiffany.ProductSummary": {
+ "sofascore.TeamOfTheWeekResponse": {
"properties": {
- "collection": {
- "type": "string"
- },
- "color": {
- "type": "string"
- },
- "currency": {
- "type": "string"
- },
- "designer": {
- "type": "string"
+ "count": {
+ "type": "integer"
},
- "gemstone": {
+ "fetched_at": {
"type": "string"
},
- "id": {
+ "formation": {
+ "example": "3-2-4-1",
"type": "string"
},
- "image_url": {
- "type": "string"
+ "period": {
+ "$ref": "#/definitions/sofascore.TeamOfTheWeekPeriod"
},
- "in_stock": {
- "type": "boolean"
+ "players": {
+ "items": {
+ "$ref": "#/definitions/sofascore.TeamOfTheWeekPlayer"
+ },
+ "type": "array"
},
- "low_inventory": {
- "type": "boolean"
+ "season_id": {
+ "type": "integer"
},
- "material": {
+ "source_url": {
"type": "string"
},
- "name": {
- "type": "string"
+ "tournament_id": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.TeamPerformanceEvent": {
+ "properties": {
+ "event": {
+ "$ref": "#/definitions/sofascore.EventSummary"
},
- "price": {
+ "points": {
+ "description": "Points is SofaScore's per-match performance value for the team (higher\nis better, negative for a poor result). Omitted when SofaScore gave none.",
+ "example": 1.333,
"type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.TeamPerformanceResponse": {
+ "properties": {
+ "count": {
+ "type": "integer"
},
- "product_type": {
- "type": "string"
+ "events": {
+ "items": {
+ "$ref": "#/definitions/sofascore.TeamPerformanceEvent"
+ },
+ "type": "array"
},
- "style_id": {
+ "fetched_at": {
"type": "string"
},
- "url": {
+ "source_url": {
"type": "string"
+ },
+ "team_id": {
+ "example": 17,
+ "type": "integer"
}
},
"type": "object"
},
- "tiffany.ProductVariation": {
+ "sofascore.TeamPlayerStatistics": {
"properties": {
- "color": {
- "type": "string"
+ "played_enough": {
+ "type": "boolean"
},
- "id": {
- "type": "string"
+ "player": {
+ "$ref": "#/definitions/sofascore.PlayerBrief"
},
- "online": {
- "type": "boolean"
+ "statistics": {
+ "additionalProperties": {
+ "format": "float64",
+ "type": "number"
+ },
+ "type": "object"
}
},
"type": "object"
},
- "tiffany.SearchResponse": {
+ "sofascore.TeamPlayerStatisticsResponse": {
"properties": {
"count": {
"type": "integer"
@@ -233644,200 +239373,278 @@
"fetched_at": {
"type": "string"
},
- "keyword": {
+ "players": {
+ "items": {
+ "$ref": "#/definitions/sofascore.TeamPlayerStatistics"
+ },
+ "type": "array"
+ },
+ "season": {
+ "example": 96668,
+ "type": "integer"
+ },
+ "source_url": {
"type": "string"
},
- "page": {
+ "team_id": {
+ "example": 17,
"type": "integer"
},
- "per_page": {
+ "tournament_id": {
+ "example": 17,
"type": "integer"
},
- "products": {
- "items": {
- "$ref": "#/definitions/tiffany.ProductSummary"
- },
- "type": "array"
+ "type": {
+ "example": "overall",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.TeamPlayerStatisticsSeasonsResponse": {
+ "properties": {
+ "count": {
+ "type": "integer"
},
- "sort": {
+ "fetched_at": {
"type": "string"
},
"source_url": {
"type": "string"
},
- "total_pages": {
+ "team_id": {
+ "example": 17,
"type": "integer"
},
- "total_products": {
- "type": "integer"
+ "tournaments": {
+ "items": {
+ "$ref": "#/definitions/sofascore.StatisticsTournament"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "tiffany.SearchSuggestion": {
+ "sofascore.TeamPlayersResponse": {
"properties": {
- "popularity": {
+ "count": {
+ "description": "Number of players returned.",
"type": "integer"
},
- "query": {
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
"type": "string"
},
- "result_count": {
+ "players": {
+ "description": "The team's squad.",
+ "items": {
+ "$ref": "#/definitions/sofascore.SquadPlayer"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "description": "SofaScore URL the data was read from.",
+ "type": "string"
+ },
+ "team_id": {
+ "description": "SofaScore team id the squad belongs to.",
"type": "integer"
}
},
"type": "object"
},
- "tiffany.Store": {
+ "sofascore.TeamRanking": {
"properties": {
- "address1": {
+ "category": {
+ "example": "ATP",
"type": "string"
},
- "city": {
+ "gender": {
+ "example": "M",
"type": "string"
},
- "closed": {
- "type": "boolean"
- },
- "country_code": {
+ "last_updated": {
"type": "string"
},
- "distance_miles": {
- "type": "number"
+ "last_updated_timestamp": {
+ "type": "integer"
},
- "faqs": {
- "items": {
- "$ref": "#/definitions/tiffany.StoreFAQ"
- },
- "type": "array"
+ "name": {
+ "example": "ATP Rankings",
+ "type": "string"
},
- "hours": {
+ "rows": {
"items": {
- "$ref": "#/definitions/tiffany.StoreDayHours"
+ "$ref": "#/definitions/sofascore.TeamRankingRow"
},
"type": "array"
},
- "internal_store_id": {
+ "slug": {
+ "example": "atp-rankings",
"type": "string"
},
- "latitude": {
- "type": "number"
+ "sport": {
+ "example": "tennis",
+ "type": "string"
},
- "longitude": {
- "type": "number"
+ "type_id": {
+ "example": 5,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.TeamRankingRow": {
+ "properties": {
+ "best_position": {
+ "type": "integer"
},
- "name": {
- "type": "string"
+ "max_points": {
+ "type": "number"
},
- "phone": {
- "type": "string"
+ "next_win_points": {
+ "type": "number"
},
- "postal_code": {
- "type": "string"
+ "points": {
+ "example": 1168,
+ "type": "number"
},
- "region": {
- "type": "string"
+ "position": {
+ "example": 46,
+ "type": "integer"
},
- "reservation_url": {
- "type": "string"
+ "previous_points": {
+ "type": "number"
},
- "services": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "previous_position": {
+ "type": "integer"
},
- "specialities": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "team": {
+ "$ref": "#/definitions/sofascore.TeamRef"
},
- "store_id": {
- "type": "string"
+ "tournaments_played": {
+ "type": "integer"
},
- "store_type": {
- "example": "Flagship",
+ "updated_at": {
"type": "string"
},
- "timezone": {
- "type": "string"
+ "updated_timestamp": {
+ "type": "integer"
},
- "url": {
- "type": "string"
+ "year": {
+ "example": 2026,
+ "type": "integer"
}
},
"type": "object"
},
- "tiffany.StoreDayHours": {
+ "sofascore.TeamRankingsResponse": {
"properties": {
- "closed": {
- "type": "boolean"
+ "count": {
+ "type": "integer"
},
- "day": {
+ "fetched_at": {
"type": "string"
},
- "intervals": {
+ "rankings": {
"items": {
- "$ref": "#/definitions/tiffany.StoreHoursInterval"
+ "$ref": "#/definitions/sofascore.TeamRanking"
},
"type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "team_id": {
+ "example": 112783,
+ "type": "integer"
}
},
"type": "object"
},
- "tiffany.StoreFAQ": {
+ "sofascore.TeamRef": {
"properties": {
- "answer": {
+ "country": {
+ "description": "Country the team belongs to.",
+ "example": "Spain",
"type": "string"
},
- "question": {
+ "id": {
+ "description": "SofaScore team id. Use it with the team endpoints.",
+ "example": 2817,
+ "type": "integer"
+ },
+ "name": {
+ "description": "Full team name.",
+ "example": "FC Barcelona",
+ "type": "string"
+ },
+ "national": {
+ "description": "True for a national team.",
+ "type": "boolean"
+ },
+ "short_name": {
+ "description": "Shortened team name.",
+ "example": "Barcelona",
+ "type": "string"
+ },
+ "slug": {
+ "description": "URL slug of the team on SofaScore.",
+ "example": "barcelona",
"type": "string"
}
},
"type": "object"
},
- "tiffany.StoreHoursInterval": {
+ "sofascore.TeamResponse": {
"properties": {
- "end": {
+ "fetched_at": {
"type": "string"
},
- "start": {
+ "source_url": {
"type": "string"
+ },
+ "team": {
+ "$ref": "#/definitions/sofascore.TeamDetail"
}
},
"type": "object"
},
- "tiffany.StoresResponse": {
+ "sofascore.TeamSeasonStatisticsResponse": {
"properties": {
- "count": {
- "type": "integer"
- },
"fetched_at": {
"type": "string"
},
- "latitude": {
- "type": "number"
- },
- "longitude": {
- "type": "number"
- },
- "radius": {
- "type": "number"
+ "season": {
+ "example": 96668,
+ "type": "integer"
},
"source_url": {
"type": "string"
},
- "stores": {
- "items": {
- "$ref": "#/definitions/tiffany.Store"
+ "statistics": {
+ "additionalProperties": {
+ "format": "float64",
+ "type": "number"
},
- "type": "array"
+ "type": "object"
+ },
+ "team_id": {
+ "example": 17,
+ "type": "integer"
+ },
+ "tournament_id": {
+ "example": 17,
+ "type": "integer"
+ },
+ "type": {
+ "example": "overall",
+ "type": "string"
}
},
"type": "object"
},
- "tiffany.SuggestResponse": {
+ "sofascore.TeamStatisticsSeasonsResponse": {
"properties": {
"count": {
"type": "integer"
@@ -233845,923 +239652,1493 @@
"fetched_at": {
"type": "string"
},
- "query": {
- "type": "string"
- },
"source_url": {
"type": "string"
},
- "suggestions": {
+ "team_id": {
+ "example": 17,
+ "type": "integer"
+ },
+ "tournaments": {
"items": {
- "$ref": "#/definitions/tiffany.SearchSuggestion"
+ "$ref": "#/definitions/sofascore.StatisticsTournament"
},
"type": "array"
}
},
"type": "object"
},
- "tiffany.categoriesResponseDoc": {
+ "sofascore.TeamStreak": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "continued": {
+ "type": "boolean"
},
- "data": {
- "$ref": "#/definitions/tiffany.CategoriesResponse"
+ "name": {
+ "example": "No goals conceded",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "team": {
+ "example": "home",
+ "type": "string"
+ },
+ "value": {
+ "example": "4",
"type": "string"
}
},
"type": "object"
},
- "tiffany.categoryResponseDoc": {
+ "sofascore.TeamTopPlayersResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/sofascore.TopPlayerCategory"
+ },
+ "type": "array"
},
- "data": {
- "$ref": "#/definitions/tiffany.CategoryResponse"
+ "category_count": {
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "fetched_at": {
"type": "string"
- }
- },
- "type": "object"
- },
- "tiffany.contentSearchResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ },
+ "season_id": {
+ "example": 96668,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/tiffany.ContentSearchResponse"
+ "source_url": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "sport": {
+ "example": "football",
"type": "string"
- }
- },
- "type": "object"
- },
- "tiffany.filtersResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ },
+ "team_id": {
+ "example": 17,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/tiffany.FiltersResponse"
+ "tournament_id": {
+ "example": 17,
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "type": {
+ "example": "overall",
"type": "string"
}
},
"type": "object"
},
- "tiffany.productResponseDoc": {
+ "sofascore.TeamTournamentsResponse": {
"properties": {
- "code": {
- "example": 200,
+ "all": {
+ "type": "boolean"
+ },
+ "count": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/tiffany.ProductDetailResponse"
+ "fetched_at": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "source_url": {
"type": "string"
+ },
+ "team_id": {
+ "example": 17,
+ "type": "integer"
+ },
+ "tournaments": {
+ "items": {
+ "$ref": "#/definitions/sofascore.UniqueTournamentBrief"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "tiffany.searchResponseDoc": {
+ "sofascore.TeamTransfersResponse": {
"properties": {
- "code": {
- "example": 200,
+ "fetched_at": {
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "team_id": {
+ "example": 17,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/tiffany.SearchResponse"
+ "transfers_in": {
+ "items": {
+ "$ref": "#/definitions/sofascore.Transfer"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
- "type": "string"
+ "transfers_out": {
+ "items": {
+ "$ref": "#/definitions/sofascore.Transfer"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "tiffany.storesResponseDoc": {
+ "sofascore.TennisGrandSlamResultsResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/tiffany.StoresResponse"
+ "fetched_at": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "source_url": {
"type": "string"
+ },
+ "team_id": {
+ "example": 14882,
+ "type": "integer"
+ },
+ "tournaments": {
+ "items": {
+ "$ref": "#/definitions/sofascore.GrandSlamTournament"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "tiffany.suggestResponseDoc": {
+ "sofascore.TennisPowerGame": {
"properties": {
- "code": {
- "example": 200,
+ "break_occurred": {
+ "type": "boolean"
+ },
+ "game": {
+ "example": 3,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/tiffany.SuggestResponse"
+ "set": {
+ "example": 1,
+ "type": "integer"
},
- "msg": {
- "example": "OK",
- "type": "string"
+ "value": {
+ "description": "Value is SofaScore's momentum number for the game. Positive favours the\nhome player or team, negative the away side.",
+ "example": -54.2,
+ "type": "number"
}
},
"type": "object"
},
- "tiktok.Category": {
+ "sofascore.TopPlayerCategory": {
"properties": {
- "name": {
- "description": "Category name as shown on TikTok's Explore page.",
- "type": "string"
+ "count": {
+ "type": "integer"
},
- "type": {
- "description": "Numeric category type code, as a string. Use it as the `id` of the explore endpoint.",
+ "key": {
+ "example": "goals",
"type": "string"
+ },
+ "players": {
+ "items": {
+ "$ref": "#/definitions/sofascore.TopPlayerEntry"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "tiktok.ChallengeDetailResp": {
+ "sofascore.TopPlayerEntry": {
"properties": {
- "challengeInfo": {
- "description": "Details of the hashtag (challenge), as TikTok returns them."
+ "appearances": {
+ "example": 5,
+ "type": "integer"
},
- "extra": {
- "description": "Response metadata from TikTok, such as the request log id and server time.",
- "properties": {
- "fatal_item_ids": {
- "items": {},
- "type": "array"
- },
- "logid": {
- "type": "string"
- },
- "now": {
- "type": "integer"
- }
+ "details": {
+ "additionalProperties": {
+ "format": "float64",
+ "type": "number"
},
"type": "object"
},
- "log_pb": {
- "description": "Request tracking information from TikTok, holding the `impr_id` impression id.",
- "properties": {
- "impr_id": {
- "type": "string"
- }
- },
- "type": "object"
+ "played_enough": {
+ "type": "boolean"
},
- "shareMeta": {
- "description": "Title and description TikTok uses when the hashtag is shared.",
- "properties": {
- "desc": {
- "type": "string"
- },
- "title": {
- "type": "string"
- }
- },
- "type": "object"
+ "player": {
+ "$ref": "#/definitions/sofascore.PlayerRef"
},
- "statusCode": {
- "description": "TikTok status code for the request. `0` on a successful response.",
+ "rank": {
+ "example": 1,
"type": "integer"
},
- "status_code": {
- "description": "Second copy of the TikTok status code, sent as `status_code`. `0` on a successful response.",
- "type": "integer"
+ "team": {
+ "$ref": "#/definitions/sofascore.TeamRef"
},
- "status_msg": {
- "description": "Status message that goes with the status code.",
- "type": "string"
+ "value": {
+ "example": 5,
+ "type": "number"
}
},
"type": "object"
},
- "tiktok.ChallengeListResp": {
+ "sofascore.TopTeamCategory": {
"properties": {
- "cursor": {
- "description": "Cursor to pass in the next request to get the next page of videos.",
+ "count": {
+ "type": "integer"
+ },
+ "key": {
+ "example": "avgRating",
"type": "string"
},
- "extra": {
- "description": "Response metadata from TikTok, such as the request log id and server time.",
- "properties": {
- "fatal_item_ids": {
- "items": {},
- "type": "array"
- },
- "logid": {
- "type": "string"
- },
- "now": {
- "type": "integer"
- }
+ "teams": {
+ "items": {
+ "$ref": "#/definitions/sofascore.TopTeamEntry"
},
- "type": "object"
- },
- "hasMore": {
- "description": "Whether more videos remain after this page.",
- "type": "boolean"
- },
- "itemList": {
- "description": "Videos posted under the hashtag, one entry per video, as TikTok returns them.",
- "items": {},
"type": "array"
- },
- "log_pb": {
- "description": "Request tracking information from TikTok, holding the `impr_id` impression id.",
- "properties": {
- "impr_id": {
- "type": "string"
- }
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.TopTeamEntry": {
+ "properties": {
+ "details": {
+ "additionalProperties": {
+ "format": "float64",
+ "type": "number"
},
"type": "object"
},
- "statusCode": {
- "description": "TikTok status code for the request. `0` on a successful response.",
+ "matches": {
+ "example": 5,
"type": "integer"
},
- "status_code": {
- "description": "Second copy of the TikTok status code, sent as `status_code`. `0` on a successful response.",
+ "rank": {
+ "example": 1,
"type": "integer"
},
- "status_msg": {
- "description": "Status message that goes with the status code.",
- "type": "string"
+ "team": {
+ "$ref": "#/definitions/sofascore.TeamRef"
+ },
+ "value": {
+ "example": 7.896,
+ "type": "number"
}
},
"type": "object"
},
- "tiktok.CommentResp": {
+ "sofascore.TournamentCupTreeResponse": {
"properties": {
- "alias_comment_deleted": {
- "description": "Flag TikTok returns for deleted alias comments.",
- "type": "boolean"
- },
- "comments": {
- "description": "Top-level comments on the video, one entry per comment, as TikTok returns them.",
- "items": {},
- "type": "array"
- },
- "cursor": {
- "description": "Cursor to pass in the next request to get the next page of comments.",
+ "count": {
"type": "integer"
},
- "extra": {
- "description": "Response metadata from TikTok, such as server time.",
- "properties": {
- "api_debug_info": {},
- "fatal_item_ids": {},
- "now": {
- "type": "integer"
- }
- },
- "type": "object"
+ "fetched_at": {
+ "type": "string"
},
- "has_filtered_comments": {
- "description": "Flag showing whether TikTok filtered any comments out of the list.",
+ "season_id": {
"type": "integer"
},
- "has_more": {
- "description": "Whether more comments remain after this page, as a number (`1` for yes).",
+ "source_url": {
+ "type": "string"
+ },
+ "tournament_id": {
"type": "integer"
},
- "log_pb": {
- "description": "Request tracking information from TikTok, holding the `impr_id` impression id.",
- "properties": {
- "impr_id": {
- "type": "string"
- }
+ "trees": {
+ "items": {
+ "$ref": "#/definitions/sofascore.CupTree"
},
- "type": "object"
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.TournamentDetail": {
+ "properties": {
+ "category": {
+ "example": "England",
+ "type": "string"
},
- "reply_style": {
- "description": "Reply display style code that TikTok returns with the comments.",
+ "current_season_end": {
+ "example": "2027-05-23T00:00:00Z",
+ "type": "string"
+ },
+ "current_season_start": {
+ "example": "2026-08-21T00:00:00Z",
+ "type": "string"
+ },
+ "gender": {
+ "example": "M",
+ "type": "string"
+ },
+ "has_groups": {
+ "type": "boolean"
+ },
+ "has_playoff_series": {
+ "type": "boolean"
+ },
+ "has_rounds": {
+ "type": "boolean"
+ },
+ "id": {
+ "example": 17,
"type": "integer"
},
- "status_code": {
- "description": "TikTok status code for the request. `0` on a successful response.",
+ "linked_tournaments": {
+ "items": {
+ "$ref": "#/definitions/sofascore.CompetitionRef"
+ },
+ "type": "array"
+ },
+ "lower_divisions": {
+ "items": {
+ "$ref": "#/definitions/sofascore.CompetitionRef"
+ },
+ "type": "array"
+ },
+ "most_titles": {
"type": "integer"
},
- "status_msg": {
- "description": "Status message that goes with the status code.",
+ "most_titles_teams": {
+ "items": {
+ "$ref": "#/definitions/sofascore.TeamRef"
+ },
+ "type": "array"
+ },
+ "name": {
+ "example": "Premier League",
"type": "string"
},
- "top_gifts": {
- "description": "Top gifts attached to the comments, as TikTok returns them."
+ "slug": {
+ "example": "premier-league",
+ "type": "string"
},
- "total": {
- "description": "Total number of comments on the video.",
+ "sport": {
+ "example": "football",
+ "type": "string"
+ },
+ "tier": {
+ "type": "integer"
+ },
+ "title_holder": {
+ "$ref": "#/definitions/sofascore.TeamRef"
+ },
+ "title_holder_titles": {
"type": "integer"
+ },
+ "upper_divisions": {
+ "items": {
+ "$ref": "#/definitions/sofascore.CompetitionRef"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "tiktok.ExploreResp": {
+ "sofascore.TournamentInfoResponse": {
"properties": {
- "cursor": {
- "description": "Cursor to pass in the next request to get the next page of videos.",
+ "fetched_at": {
"type": "string"
},
- "extra": {
- "description": "Response metadata from TikTok, such as the request log id and server time.",
- "properties": {
- "fatal_item_ids": {
- "items": {},
- "type": "array"
- },
- "logid": {
- "type": "string"
- },
- "now": {
- "type": "integer"
- }
- },
- "type": "object"
+ "season": {
+ "$ref": "#/definitions/sofascore.SeasonInfo"
},
- "hasMore": {
- "description": "Whether more videos remain after this page.",
- "type": "boolean"
+ "season_id": {
+ "example": 96668,
+ "type": "integer"
},
- "itemList": {
- "description": "Videos in the explore feed for the category, one entry per video, as TikTok returns them.",
- "items": {},
- "type": "array"
+ "season_source_url": {
+ "type": "string"
},
- "log_pb": {
- "description": "Request tracking information from TikTok, holding the `impr_id` impression id.",
- "properties": {
- "impr_id": {
- "type": "string"
- }
- },
- "type": "object"
+ "source_url": {
+ "type": "string"
},
- "statusCode": {
- "description": "TikTok status code for the request. `0` on a successful response.",
+ "tournament": {
+ "$ref": "#/definitions/sofascore.TournamentDetail"
+ },
+ "tournament_id": {
+ "example": 17,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.TournamentPlayerOfTheSeasonResponse": {
+ "properties": {
+ "appearances": {
+ "example": 35,
"type": "integer"
},
- "status_code": {
- "description": "Second copy of the TikTok status code, sent as `status_code`. `0` on a successful response.",
+ "fetched_at": {
+ "type": "string"
+ },
+ "jersey_number": {
+ "description": "JerseyNumber is the player's shirt number as published.",
+ "type": "string"
+ },
+ "player": {
+ "$ref": "#/definitions/sofascore.PlayerRef"
+ },
+ "rating": {
+ "description": "Rating is the player's average SofaScore rating over the season.",
+ "example": 7.61,
+ "type": "number"
+ },
+ "season_id": {
"type": "integer"
},
- "status_msg": {
- "description": "Status message that goes with the status code.",
+ "source_url": {
+ "type": "string"
+ },
+ "statistics_type": {
+ "description": "StatisticsType is the scope of the rating: overall, regular_season, or\nthe upstream value verbatim for any other scope.",
+ "example": "overall",
"type": "string"
+ },
+ "team": {
+ "$ref": "#/definitions/sofascore.TeamRef"
+ },
+ "tournament_id": {
+ "type": "integer"
}
},
"type": "object"
},
- "tiktok.Profile": {
+ "sofascore.TournamentPlayerStatisticsResponse": {
"properties": {
- "stats": {
- "allOf": [
- {
- "$ref": "#/definitions/tiktok.ProfileStats"
- }
- ],
- "description": "Follower, following, like and video counts for the account."
+ "accumulation": {
+ "example": "total",
+ "type": "string"
},
- "user": {
+ "count": {
+ "type": "integer"
+ },
+ "direction": {
+ "example": "desc",
+ "type": "string"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "filters": {
"allOf": [
{
- "$ref": "#/definitions/tiktok.User"
+ "$ref": "#/definitions/sofascore.PlayerStatisticsFilters"
}
],
- "description": "Account details: identity, bio, verification and region."
- }
- },
- "type": "object"
- },
- "tiktok.ProfileStats": {
- "properties": {
- "diggCount": {
- "description": "Number of videos the account has liked.",
- "example": 0,
+ "description": "Filters echoes the filters applied and is omitted when none were given."
+ },
+ "group": {
+ "example": "summary",
+ "type": "string"
+ },
+ "has_next_page": {
+ "type": "boolean"
+ },
+ "limit": {
+ "example": 20,
"type": "integer"
},
- "followerCount": {
- "description": "Number of accounts that follow this account.",
- "example": 458800,
+ "offset": {
"type": "integer"
},
- "followingCount": {
- "description": "Number of accounts this account follows.",
+ "order": {
+ "example": "rating",
+ "type": "string"
+ },
+ "page": {
"example": 1,
"type": "integer"
},
- "friendCount": {
- "description": "Number of friends, meaning accounts that follow each other.",
- "example": 1,
+ "players": {
+ "items": {
+ "$ref": "#/definitions/sofascore.PlayerStatisticsRow"
+ },
+ "type": "array"
+ },
+ "season_id": {
"type": "integer"
},
- "heart": {
- "description": "Total likes the account's videos have received. Very large totals are rounded.",
- "example": 800300,
+ "source_url": {
+ "type": "string"
+ },
+ "total_pages": {
+ "example": 22,
"type": "integer"
},
- "heartCount": {
- "description": "Total likes the account's videos have received. Can be negative for accounts with more than about 2.1 billion likes; use `heart` then.",
- "example": 800300,
+ "tournament_id": {
"type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.TournamentRef": {
+ "properties": {
+ "category": {
+ "description": "Category the tournament sits under, usually a country or region.",
+ "example": "England",
+ "type": "string"
},
- "videoCount": {
- "description": "Number of videos the account has posted.",
- "example": 59,
+ "id": {
+ "description": "SofaScore id of the tournament the match is filed under. The seasons, standings and round endpoints take `unique_tournament_id` instead.",
+ "type": "integer"
+ },
+ "name": {
+ "description": "Tournament name.",
+ "example": "Premier League",
+ "type": "string"
+ },
+ "slug": {
+ "description": "URL slug of the tournament on SofaScore.",
+ "example": "premier-league",
+ "type": "string"
+ },
+ "unique_tournament_id": {
+ "description": "Id of the parent competition. This is the tournament id the tournament-seasons, standings and round-events endpoints take.",
+ "example": 17,
"type": "integer"
+ },
+ "unique_tournament_name": {
+ "description": "Name of the parent competition.",
+ "example": "Premier League",
+ "type": "string"
}
},
"type": "object"
},
- "tiktok.SearchHashtagResp": {
+ "sofascore.TournamentRoundsResponse": {
"properties": {
- "challenge_list": {
- "description": "Hashtags (challenges) matching the keyword, one entry per hashtag, as TikTok returns them.",
- "items": {},
+ "count": {
+ "type": "integer"
+ },
+ "current_round": {
+ "$ref": "#/definitions/sofascore.RoundRef"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "rounds": {
+ "items": {
+ "$ref": "#/definitions/sofascore.RoundRef"
+ },
"type": "array"
},
- "cursor": {
- "description": "Cursor to pass in the next request to get the next page of results.",
+ "season_id": {
"type": "integer"
},
- "extra": {
- "description": "Response metadata from TikTok, such as the request log id."
+ "source_url": {
+ "type": "string"
},
- "has_more": {
- "description": "Whether more results remain after this page, as a number (`1` for yes).",
+ "tournament_id": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.TournamentSeasonsResponse": {
+ "properties": {
+ "count": {
+ "description": "Number of seasons returned.",
"type": "integer"
},
- "input_keyword": {
- "description": "Search keyword that was run.",
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
"type": "string"
},
- "log_pb": {
- "description": "Request tracking information from TikTok, holding the `impr_id` impression id.",
- "properties": {
- "impr_id": {
+ "seasons": {
+ "description": "Seasons SofaScore has for the competition.",
+ "items": {
+ "$ref": "#/definitions/sofascore.Season"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "description": "SofaScore URL the data was read from.",
+ "type": "string"
+ },
+ "tournament_id": {
+ "description": "Id of the competition (the unique tournament id).",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.TournamentStatisticsInfoResponse": {
+ "properties": {
+ "detailed_groups": {
+ "additionalProperties": {
+ "items": {
"type": "string"
- }
+ },
+ "type": "array"
},
+ "description": "DetailedGroups lists the further per-area statistic names the season\ntracks (upstream's \"detailed\" group); the table does not take them as\n`group` or `order` values.",
"type": "object"
},
- "music_list": {
- "description": "Matching sounds, as TikTok returns them. Usually `null` for a hashtag search."
- },
- "qc": {
- "description": "Query token that TikTok returns with the search results.",
+ "fetched_at": {
"type": "string"
},
- "rid": {
- "description": "Request id that TikTok returns with the search results.",
- "type": "string"
+ "groups": {
+ "additionalProperties": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "description": "Groups lists the statistic columns of each `group` value.",
+ "type": "object"
},
- "status_code": {
- "description": "TikTok status code for the request. `0` on a successful response.",
+ "nationalities": {
+ "description": "Nationalities are the codes the `nationality` filter accepts. SofaScore\nuses its own codes for the home nations (EN England, SX Scotland, WA\nWales, NX Northern Ireland).",
+ "items": {
+ "$ref": "#/definitions/sofascore.NamedCode"
+ },
+ "type": "array"
+ },
+ "positions": {
+ "description": "Positions are the codes the `position` filter accepts. The set is fixed\nby this API (verified: G, D, M and F each filter the table; any other\ncode returns no rows).",
+ "items": {
+ "$ref": "#/definitions/sofascore.NamedCode"
+ },
+ "type": "array"
+ },
+ "season_id": {
"type": "integer"
},
- "status_msg": {
- "description": "Status message that goes with the status code.",
+ "source_url": {
"type": "string"
},
- "type": {
- "description": "Result type code that TikTok returns with the search results.",
- "type": "integer"
+ "teams": {
+ "description": "Teams are the teams whose id the `team` filter accepts.",
+ "items": {
+ "$ref": "#/definitions/sofascore.TeamRef"
+ },
+ "type": "array"
},
- "user_list": {
- "description": "Matching accounts, as TikTok returns them. Usually `null` for a hashtag search."
+ "tournament_id": {
+ "type": "integer"
}
},
"type": "object"
},
- "tiktok.SearchResp": {
+ "sofascore.TournamentTeamOfTheSeasonResponse": {
"properties": {
- "cursor": {
- "description": "Cursor to pass in the next request to get the next page of results.",
+ "count": {
"type": "integer"
},
- "data": {
- "description": "Search results, one entry per matching video, as TikTok returns them.",
- "items": {},
+ "created_at": {
+ "example": "2026-05-25T10:00:00Z",
+ "type": "string"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "formation": {
+ "example": "3-2-4-1",
+ "type": "string"
+ },
+ "players": {
+ "items": {
+ "$ref": "#/definitions/sofascore.TeamOfTheWeekPlayer"
+ },
"type": "array"
},
- "extra": {
- "description": "Response metadata from TikTok, such as the request log id."
+ "season_id": {
+ "type": "integer"
},
- "feedback_type": {
- "description": "Feedback type label that TikTok returns with the search results.",
+ "source_url": {
"type": "string"
},
- "has_more": {
- "description": "Whether more results remain after this page, as a number (`1` for yes).",
+ "tournament_id": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.TournamentTeamsResponse": {
+ "properties": {
+ "count": {
"type": "integer"
},
- "input_keyword": {
- "description": "Search keyword that was run.",
+ "fetched_at": {
"type": "string"
},
- "itemList": {
- "description": "Matching videos, as TikTok returns them. Often `null` when results are in `data`.",
- "items": {},
+ "season_id": {
+ "type": "integer"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "teams": {
+ "items": {
+ "$ref": "#/definitions/sofascore.SeasonTeam"
+ },
"type": "array"
},
- "log_pb": {
- "description": "Request tracking information from TikTok, holding the `impr_id` impression id.",
- "properties": {
- "impr_id": {
- "type": "string"
- }
+ "tournament_id": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.TournamentTopPlayersResponse": {
+ "properties": {
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/sofascore.TopPlayerCategory"
},
- "type": "object"
+ "type": "array"
},
- "qc": {
- "description": "Query token that TikTok returns with the search results.",
- "type": "string"
+ "category_count": {
+ "type": "integer"
},
- "rid": {
- "description": "Request id that TikTok returns with the search results.",
+ "fetched_at": {
"type": "string"
},
- "status_code": {
- "description": "TikTok status code for the request. `0` on a successful response.",
+ "season_id": {
"type": "integer"
},
- "status_msg": {
- "description": "Status message that goes with the status code.",
+ "source_url": {
"type": "string"
},
- "type": {
- "description": "Result type code that TikTok returns with the search results.",
+ "sport": {
+ "example": "football",
+ "type": "string"
+ },
+ "tournament_id": {
"type": "integer"
+ },
+ "type": {
+ "example": "overall",
+ "type": "string"
}
},
"type": "object"
},
- "tiktok.SearchUserResp": {
+ "sofascore.TournamentTopTeamsResponse": {
"properties": {
- "challenge_list": {
- "description": "Matching hashtags, as TikTok returns them. Usually `null` for a user search."
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/sofascore.TopTeamCategory"
+ },
+ "type": "array"
},
- "cursor": {
- "description": "Cursor to pass in the next request to get the next page of results.",
+ "category_count": {
"type": "integer"
},
- "extra": {
- "description": "Response metadata from TikTok, such as the request log id."
+ "fetched_at": {
+ "type": "string"
},
- "feedback_type": {
- "description": "Feedback type label that TikTok returns with the search results.",
+ "season_id": {
+ "type": "integer"
+ },
+ "source_url": {
"type": "string"
},
- "global_doodle_config": {
- "description": "Search page doodle settings that TikTok returns with the results."
+ "sport": {
+ "example": "football",
+ "type": "string"
},
- "has_more": {
- "description": "Whether more results remain after this page, as a number (`1` for yes).",
+ "tournament_id": {
"type": "integer"
},
- "input_keyword": {
- "description": "Search keyword that was run.",
+ "type": {
+ "example": "overall",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.TournamentVenuesResponse": {
+ "properties": {
+ "count": {
+ "type": "integer"
},
- "log_pb": {
- "description": "Request tracking information from TikTok, holding the `impr_id` impression id.",
- "properties": {
- "impr_id": {
- "type": "string"
- }
- },
- "type": "object"
+ "fetched_at": {
+ "type": "string"
},
- "music_list": {
- "description": "Matching sounds, as TikTok returns them. Usually `null` for a user search."
+ "season_id": {
+ "type": "integer"
},
- "qc": {
- "description": "Query token that TikTok returns with the search results.",
+ "source_url": {
"type": "string"
},
- "rid": {
- "description": "Request id that TikTok returns with the search results.",
+ "tournament_id": {
+ "type": "integer"
+ },
+ "venues": {
+ "items": {
+ "$ref": "#/definitions/sofascore.VenueRecord"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.TournamentWinner": {
+ "properties": {
+ "season_id": {
+ "description": "SeasonID is the season id to pass to tournament-seasons-based endpoints.",
+ "example": 76986,
+ "type": "integer"
+ },
+ "winner": {
+ "$ref": "#/definitions/sofascore.TeamRef"
+ },
+ "year": {
+ "description": "Year is the upstream year label of the season (the year it ended).",
+ "example": 2026,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.TournamentWinnersResponse": {
+ "properties": {
+ "count": {
+ "type": "integer"
+ },
+ "fetched_at": {
"type": "string"
},
- "status_code": {
- "description": "TikTok status code for the request. `0` on a successful response.",
+ "has_next_page": {
+ "type": "boolean"
+ },
+ "page": {
"type": "integer"
},
- "status_msg": {
- "description": "Status message that goes with the status code.",
+ "source_url": {
"type": "string"
},
- "type": {
- "description": "Result type code that TikTok returns with the search results.",
+ "tournament_id": {
"type": "integer"
},
- "user_list": {
- "description": "Accounts matching the keyword, one entry per account, as TikTok returns them.",
- "items": {},
+ "winners": {
+ "items": {
+ "$ref": "#/definitions/sofascore.TournamentWinner"
+ },
"type": "array"
}
},
"type": "object"
},
- "tiktok.TrendingResp": {
+ "sofascore.TournamentsWithFeatureResponse": {
"properties": {
- "cursor": {
- "description": "Cursor TikTok returns for the next page of the trending feed.",
+ "count": {
+ "type": "integer"
+ },
+ "feature": {
+ "example": "cuptree",
"type": "string"
},
- "extra": {
- "description": "Response metadata from TikTok, such as the request log id and server time.",
- "properties": {
- "fatal_item_ids": {
- "items": {},
- "type": "array"
- },
- "logid": {
- "type": "string"
- },
- "now": {
- "type": "integer"
- }
- },
- "type": "object"
+ "fetched_at": {
+ "type": "string"
},
- "hasMore": {
- "description": "Whether more videos remain after this page.",
- "type": "boolean"
+ "source_url": {
+ "type": "string"
},
- "itemList": {
- "description": "Videos in the trending feed, one entry per video, as TikTok returns them.",
- "items": {},
- "type": "array"
+ "sport": {
+ "example": "football",
+ "type": "string"
},
- "log_pb": {
- "description": "Request tracking information from TikTok, holding the `impr_id` impression id.",
- "properties": {
- "impr_id": {
- "type": "string"
- }
+ "tournaments": {
+ "items": {
+ "$ref": "#/definitions/sofascore.FeatureTournament"
},
- "type": "object"
- },
- "statusCode": {
- "description": "TikTok status code for the request. `0` on a successful response.",
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.Transfer": {
+ "properties": {
+ "fee": {
+ "example": 60000000,
"type": "integer"
},
- "statusMsg": {
- "description": "Status message that goes with the status code.",
+ "fee_currency": {
+ "example": "EUR",
"type": "string"
},
- "status_code": {
- "description": "Second copy of the TikTok status code, sent as `status_code`. `0` on a successful response.",
+ "fee_description": {
+ "example": "60M €",
+ "type": "string"
+ },
+ "from_team": {
+ "$ref": "#/definitions/sofascore.TeamRef"
+ },
+ "from_team_name": {
+ "example": "Borussia Dortmund",
+ "type": "string"
+ },
+ "id": {
"type": "integer"
},
- "status_msg": {
- "description": "Second copy of the status message, sent as `status_msg`.",
+ "player": {
+ "$ref": "#/definitions/sofascore.PlayerBrief"
+ },
+ "to_team": {
+ "$ref": "#/definitions/sofascore.TeamRef"
+ },
+ "to_team_name": {
+ "example": "Manchester City",
"type": "string"
},
- "trendingTopics": {
- "description": "Trending topics returned with the feed, as TikTok returns them.",
- "items": {},
- "type": "array"
+ "transfer_date": {
+ "example": "2022-07-01",
+ "type": "string"
+ },
+ "transfer_timestamp": {
+ "type": "integer"
+ },
+ "type_code": {
+ "example": 3,
+ "type": "integer"
}
},
"type": "object"
},
- "tiktok.User": {
+ "sofascore.TrendingEvent": {
"properties": {
- "avatarLarger": {
- "description": "URL of the account's large profile picture.",
- "example": "https://p16-pu-sign-useast8.tiktokcdn-us.com/tos-useast5-avt-0068-tx/fb1ed871dc01261013179da3fafcc1cd~c5_1080x1080.jpeg?lk3s=a5d48078&nonce=62362&refresh_token=e3e8e01eff1ea0116ae406af630dc407&x-expires=1734098400&x-signature=MXMzwWT8Tl1nxFZfYNQxOZM%2F%2Byo%3D&shp=a5d48078&shcp=81f88b70",
+ "away_score": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/sofascore.ScoreLine"
+ }
+ ],
+ "description": "Away side's score, when available."
+ },
+ "away_team": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/sofascore.TeamRef"
+ }
+ ],
+ "description": "Away side."
+ },
+ "home_score": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/sofascore.ScoreLine"
+ }
+ ],
+ "description": "Home side's score, when available."
+ },
+ "home_team": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/sofascore.TeamRef"
+ }
+ ],
+ "description": "Home side."
+ },
+ "id": {
+ "description": "SofaScore event id. Use it with the event endpoints.",
+ "example": 14025013,
+ "type": "integer"
+ },
+ "slug": {
+ "description": "URL slug of the match on SofaScore.",
"type": "string"
},
- "bioLink": {
- "description": "Link shown in the account's bio.",
- "properties": {
- "link": {
- "example": "www.openai.com/chatgpt",
- "type": "string"
+ "sport": {
+ "example": "football",
+ "type": "string"
+ },
+ "start_time": {
+ "description": "Start time in UTC (RFC 3339).",
+ "example": "2025-08-15T19:00:00Z",
+ "type": "string"
+ },
+ "start_timestamp": {
+ "description": "Start time as a Unix timestamp in seconds.",
+ "type": "integer"
+ },
+ "status": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/sofascore.EventStatus"
}
- },
- "type": "object"
+ ],
+ "description": "Current status of the match."
},
- "commerceUserInfo": {
- "description": "Commerce details for the account: whether it is a commerce account and its category.",
- "properties": {
- "category": {
- "example": "Software & Apps",
- "type": "string"
- },
- "commerceUser": {
- "example": true,
- "type": "boolean"
+ "tournament": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/sofascore.TournamentRef"
}
+ ],
+ "description": "Tournament and parent competition the match belongs to."
+ },
+ "winner_code": {
+ "description": "Result code: 1 when the home side won, 2 when the away side won, 3 for a draw. Omitted until the match is decided.",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.TrendingEventsResponse": {
+ "properties": {
+ "count": {
+ "type": "integer"
+ },
+ "country": {
+ "example": "GB",
+ "type": "string"
+ },
+ "events": {
+ "items": {
+ "$ref": "#/definitions/sofascore.TrendingEvent"
+ },
+ "type": "array"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.TrendingPlayer": {
+ "properties": {
+ "event": {
+ "$ref": "#/definitions/sofascore.EventSummary"
+ },
+ "player": {
+ "$ref": "#/definitions/sofascore.PlayerBrief"
+ },
+ "statistics": {
+ "additionalProperties": {
+ "format": "float64",
+ "type": "number"
},
"type": "object"
},
- "createTime": {
- "description": "Time the account was created, in Unix seconds.",
- "example": 1689461786,
+ "team": {
+ "$ref": "#/definitions/sofascore.TeamRef"
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.TrendingPlayersResponse": {
+ "properties": {
+ "count": {
"type": "integer"
},
- "id": {
- "description": "TikTok numeric user id of the account.",
- "example": "7256182609359995947",
+ "fetched_at": {
"type": "string"
},
- "isOrganization": {
- "description": "Organisation account flag; `1` marks an organisation account.",
+ "players": {
+ "items": {
+ "$ref": "#/definitions/sofascore.TrendingPlayer"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "sport": {
+ "example": "football",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.TypedSearchResult": {
+ "properties": {
+ "capacity": {
+ "example": 60704,
+ "type": "integer"
+ },
+ "category_id": {
+ "description": "Competition fields.",
"example": 1,
"type": "integer"
},
- "language": {
- "description": "Language code set on the account, for example `en`.",
- "example": "en",
+ "category_name": {
+ "example": "England",
"type": "string"
},
- "nickname": {
- "description": "Display name of the account.",
- "example": "chatgpt",
+ "city": {
+ "description": "Venue fields.",
+ "example": "London",
"type": "string"
},
- "privateAccount": {
- "description": "Whether the account is private.",
- "example": false,
+ "country": {
+ "example": "England",
+ "type": "string"
+ },
+ "deceased": {
+ "description": "Deceased applies to players and managers.",
"type": "boolean"
},
- "region": {
- "description": "Country or region code of the account, for example `US`.",
- "example": "US",
+ "event": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/sofascore.EventSummary"
+ }
+ ],
+ "description": "Event is the match summary of an event result."
+ },
+ "gender": {
+ "example": "M",
"type": "string"
},
- "secUid": {
- "description": "TikTok secUid of the account. Use it as the `secUid` of the posts endpoint.",
- "example": "MS4wLjABAAAAT4vq3vsh9X-Vb_WtV6tz4QWTbKjliTKCiK5DqnJNtQEA2RUveHb7UdnL7xgPK2HB",
+ "id": {
+ "example": 42,
+ "type": "integer"
+ },
+ "jersey_number": {
"type": "string"
},
- "secret": {
- "description": "Secret-account flag as TikTok returns it.",
- "example": false,
- "type": "boolean"
+ "name": {
+ "example": "Arsenal",
+ "type": "string"
},
- "signature": {
- "description": "Bio text shown on the account's profile.",
- "example": "What can I help with?",
+ "name_code": {
"type": "string"
},
- "ttSeller": {
- "description": "Whether the account is a TikTok Shop seller.",
- "example": false,
+ "national": {
"type": "boolean"
},
- "uniqueId": {
- "description": "Account handle, the name that follows `@` in the profile URL.",
- "example": "uniqueId",
+ "position": {
+ "description": "Player fields.",
+ "example": "F",
"type": "string"
},
- "verified": {
- "description": "Whether the account has a verified badge.",
- "example": true,
+ "retired": {
"type": "boolean"
+ },
+ "score": {
+ "description": "Score is SofaScore's relevance score; results are ordered by it.",
+ "example": 272039.88,
+ "type": "number"
+ },
+ "short_name": {
+ "type": "string"
+ },
+ "slug": {
+ "example": "arsenal",
+ "type": "string"
+ },
+ "sport": {
+ "example": "football",
+ "type": "string"
+ },
+ "team": {
+ "$ref": "#/definitions/sofascore.TeamRef"
+ },
+ "type": {
+ "description": "Type is event, team, player, manager, referee, venue or unique_tournament.",
+ "example": "team",
+ "type": "string"
+ },
+ "user_count": {
+ "type": "integer"
}
},
"type": "object"
},
- "tiktok.UserPostLinkResp": {
+ "sofascore.UniqueTournamentBrief": {
"properties": {
- "cursor": {
- "description": "Cursor to pass in the next request to get the next page of posts.",
+ "category": {
+ "example": "England",
"type": "string"
},
- "extra": {
- "description": "Response metadata from TikTok, such as the request log id and server time.",
- "properties": {
- "fatal_item_ids": {
- "items": {},
- "type": "array"
- },
- "logid": {
- "type": "string"
- },
- "now": {
- "type": "integer"
- }
+ "gender": {
+ "example": "M",
+ "type": "string"
+ },
+ "id": {
+ "example": 17,
+ "type": "integer"
+ },
+ "name": {
+ "example": "Premier League",
+ "type": "string"
+ },
+ "slug": {
+ "example": "premier-league",
+ "type": "string"
+ },
+ "sport": {
+ "example": "football",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.Venue": {
+ "properties": {
+ "capacity": {
+ "description": "Venue capacity.",
+ "example": 61276,
+ "type": "integer"
+ },
+ "city": {
+ "description": "City the venue is in.",
+ "example": "Liverpool",
+ "type": "string"
+ },
+ "country": {
+ "description": "Country the venue is in.",
+ "example": "England",
+ "type": "string"
+ },
+ "name": {
+ "description": "Venue name.",
+ "example": "Anfield",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.VenueEventsResponse": {
+ "properties": {
+ "count": {
+ "type": "integer"
+ },
+ "direction": {
+ "example": "last",
+ "type": "string"
+ },
+ "events": {
+ "items": {
+ "$ref": "#/definitions/sofascore.EventSummary"
},
- "type": "object"
+ "type": "array"
},
- "hasMore": {
- "description": "Whether more posts remain after this page.",
+ "fetched_at": {
+ "type": "string"
+ },
+ "has_next_page": {
"type": "boolean"
},
- "itemList": {
- "description": "Videos posted by the account, one entry per video, as TikTok returns them.",
- "items": {},
- "type": "array"
+ "page": {
+ "type": "integer"
},
- "log_pb": {
- "description": "Request tracking information from TikTok, holding the `impr_id` impression id.",
- "properties": {
- "impr_id": {
- "type": "string"
- }
- },
- "type": "object"
+ "season_id": {
+ "type": "integer"
},
- "status_code": {
- "description": "TikTok status code for the request. `0` on a successful response.",
+ "source_url": {
+ "type": "string"
+ },
+ "sport": {
+ "example": "all",
+ "type": "string"
+ },
+ "tournament_id": {
"type": "integer"
},
- "status_msg": {
- "description": "Status message that goes with the status code.",
+ "venue_id": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.VenueRecord": {
+ "properties": {
+ "capacity": {
+ "example": 60704,
+ "type": "integer"
+ },
+ "city": {
+ "example": "London",
+ "type": "string"
+ },
+ "country": {
+ "example": "England",
+ "type": "string"
+ },
+ "hidden": {
+ "description": "Hidden is SofaScore's hidden flag. A hidden venue has no venue-wide match\nlist (venue-events answers not found without tournament and season), but\nits matches are still listed per competition season.",
+ "type": "boolean"
+ },
+ "id": {
+ "example": 624,
+ "type": "integer"
+ },
+ "latitude": {
+ "type": "number"
+ },
+ "longitude": {
+ "type": "number"
+ },
+ "name": {
+ "example": "Emirates Stadium",
+ "type": "string"
+ },
+ "slug": {
+ "example": "emirates-stadium",
+ "type": "string"
+ },
+ "state": {
+ "example": "US-TX",
"type": "string"
}
},
"type": "object"
},
- "tiktok.VideoDetailResp": {
+ "sofascore.VenueResponse": {
"properties": {
- "extra": {
- "description": "Response metadata from TikTok, such as the request log id and server time.",
- "properties": {
- "fatal_item_ids": {
- "items": {},
- "type": "array"
- },
- "logid": {
- "type": "string"
- },
- "now": {
- "type": "integer"
- }
+ "fetched_at": {
+ "type": "string"
+ },
+ "main_teams": {
+ "items": {
+ "$ref": "#/definitions/sofascore.TeamRef"
},
- "type": "object"
+ "type": "array"
},
- "itemInfo": {
- "description": "Details of the video, as TikTok returns them."
+ "source_url": {
+ "type": "string"
},
- "log_pb": {
- "description": "Request tracking information from TikTok, holding the `impr_id` impression id.",
- "properties": {
- "impr_id": {
- "type": "string"
- }
+ "sports": {
+ "items": {
+ "$ref": "#/definitions/sofascore.VenueSportStatistics"
},
- "type": "object"
+ "type": "array"
},
- "shareMeta": {
- "description": "Title and description TikTok uses when the video is shared.",
- "properties": {
- "desc": {
- "type": "string"
- },
- "title": {
- "type": "string"
- }
- },
- "type": "object"
+ "totals": {
+ "$ref": "#/definitions/sofascore.VenueTotals"
},
- "status_code": {
- "description": "TikTok status code for the request. `0` on a successful response.",
- "type": "integer"
+ "venue": {
+ "$ref": "#/definitions/sofascore.VenueRecord"
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.VenueSportStatistics": {
+ "properties": {
+ "draw_percentage": {
+ "type": "number"
},
- "status_msg": {
- "description": "Status message that goes with the status code.",
+ "goals_scored": {
+ "type": "number"
+ },
+ "home_win_percentage": {
+ "description": "HomeWinPercentage and DrawPercentage are percentages (0 to 100).",
+ "type": "number"
+ },
+ "sport": {
+ "example": "football",
"type": "string"
+ },
+ "total_matches": {
+ "example": 415,
+ "type": "integer"
}
},
"type": "object"
},
- "tiktok.categoryResponseDoc": {
+ "sofascore.VenueTotals": {
+ "properties": {
+ "avg_corner_kicks_per_game": {
+ "type": "number"
+ },
+ "avg_red_cards_per_game": {
+ "type": "number"
+ },
+ "away_team_goals_scored": {
+ "type": "number"
+ },
+ "away_team_wins_percentage": {
+ "type": "number"
+ },
+ "draws_percentage": {
+ "type": "number"
+ },
+ "home_team_goals_scored": {
+ "type": "number"
+ },
+ "home_team_wins_percentage": {
+ "type": "number"
+ },
+ "total_matches": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.VoteBothTeamsToScore": {
+ "properties": {
+ "no": {
+ "example": 4381,
+ "type": "integer"
+ },
+ "yes": {
+ "example": 5882,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.VoteFirstToScore": {
+ "properties": {
+ "away": {
+ "example": 457,
+ "type": "integer"
+ },
+ "home": {
+ "example": 8908,
+ "type": "integer"
+ },
+ "no_goal": {
+ "example": 159,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.VoteMatchResult": {
+ "properties": {
+ "away": {
+ "example": 2503,
+ "type": "integer"
+ },
+ "draw": {
+ "example": 3713,
+ "type": "integer"
+ },
+ "home": {
+ "example": 52785,
+ "type": "integer"
+ },
+ "total": {
+ "example": 59001,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.VoteWhoShouldHaveWon": {
+ "properties": {
+ "away": {
+ "type": "integer"
+ },
+ "home": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.WDLRecord": {
+ "properties": {
+ "draws": {
+ "type": "integer"
+ },
+ "losses": {
+ "type": "integer"
+ },
+ "wins": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.categoriesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "items": {
- "$ref": "#/definitions/tiktok.Category"
- },
- "type": "array"
+ "$ref": "#/definitions/sofascore.CategoriesResponse"
},
"msg": {
"example": "OK",
@@ -234770,14 +241147,14 @@
},
"type": "object"
},
- "tiktok.challengeListResponseDoc": {
+ "sofascore.categoryTournamentsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tiktok.ChallengeListResp"
+ "$ref": "#/definitions/sofascore.CategoryTournamentsResponse"
},
"msg": {
"example": "OK",
@@ -234786,14 +241163,14 @@
},
"type": "object"
},
- "tiktok.challengeResponseDoc": {
+ "sofascore.draftPicksResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tiktok.ChallengeDetailResp"
+ "$ref": "#/definitions/sofascore.DraftPicksResponse"
},
"msg": {
"example": "OK",
@@ -234802,14 +241179,14 @@
},
"type": "object"
},
- "tiktok.commentsResponseDoc": {
+ "sofascore.draftResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tiktok.CommentResp"
+ "$ref": "#/definitions/sofascore.DraftResponse"
},
"msg": {
"example": "OK",
@@ -234818,14 +241195,14 @@
},
"type": "object"
},
- "tiktok.exploreResponseDoc": {
+ "sofascore.esportsGameResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tiktok.ExploreResp"
+ "$ref": "#/definitions/sofascore.EsportsGameResponse"
},
"msg": {
"example": "OK",
@@ -234834,14 +241211,14 @@
},
"type": "object"
},
- "tiktok.postResponseDoc": {
+ "sofascore.eventAtBatPitchesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tiktok.VideoDetailResp"
+ "$ref": "#/definitions/sofascore.EventAtBatPitchesResponse"
},
"msg": {
"example": "OK",
@@ -234850,14 +241227,14 @@
},
"type": "object"
},
- "tiktok.profilePostResponseDoc": {
+ "sofascore.eventAtBatsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tiktok.UserPostLinkResp"
+ "$ref": "#/definitions/sofascore.EventAtBatsResponse"
},
"msg": {
"example": "OK",
@@ -234866,14 +241243,14 @@
},
"type": "object"
},
- "tiktok.profileResponseDoc": {
+ "sofascore.eventAveragePositionsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tiktok.Profile"
+ "$ref": "#/definitions/sofascore.EventAveragePositionsResponse"
},
"msg": {
"example": "OK",
@@ -234882,14 +241259,14 @@
},
"type": "object"
},
- "tiktok.searchHashtagResponseDoc": {
+ "sofascore.eventBaseballTopPerformersResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tiktok.SearchHashtagResp"
+ "$ref": "#/definitions/sofascore.EventBaseballTopPerformersResponse"
},
"msg": {
"example": "OK",
@@ -234898,14 +241275,14 @@
},
"type": "object"
},
- "tiktok.searchResponseDoc": {
+ "sofascore.eventBestPlayersResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tiktok.SearchResp"
+ "$ref": "#/definitions/sofascore.EventBestPlayersResponse"
},
"msg": {
"example": "OK",
@@ -234914,14 +241291,14 @@
},
"type": "object"
},
- "tiktok.searchUserResponseDoc": {
+ "sofascore.eventCommentsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tiktok.SearchUserResp"
+ "$ref": "#/definitions/sofascore.EventCommentsResponse"
},
"msg": {
"example": "OK",
@@ -234930,14 +241307,14 @@
},
"type": "object"
},
- "tiktok.trendingResponseDoc": {
+ "sofascore.eventEsportsGamesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tiktok.TrendingResp"
+ "$ref": "#/definitions/sofascore.EventEsportsGamesResponse"
},
"msg": {
"example": "OK",
@@ -234946,1274 +241323,750 @@
},
"type": "object"
},
- "tiktokmobile.CategoryListResponse": {
+ "sofascore.eventGraphResponseDoc": {
"properties": {
- "category_list": {
- "items": {},
- "type": "array"
- },
- "cursor": {
- "type": "integer"
- },
- "device_type": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "extra": {},
- "has_more": {
- "type": "boolean"
- },
- "log_pb": {},
- "status_code": {
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/sofascore.EventGraphResponse"
},
- "status_msg": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "tiktokmobile.CollectionDetailResponse": {
+ "sofascore.eventH2HResponseDoc": {
"properties": {
- "extra": {},
- "item_archive": {},
- "log_pb": {},
- "status_code": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "status_msg": {
+ "data": {
+ "$ref": "#/definitions/sofascore.EventH2HResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "tiktokmobile.CollectionListResponse": {
+ "sofascore.eventHighlightsResponseDoc": {
"properties": {
- "cursor": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "extra": {},
- "has_more": {
- "type": "boolean"
- },
- "item_archive_detail_list": {
- "items": {},
- "type": "array"
- },
- "log_pb": {},
- "status_code": {
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/sofascore.EventHighlightsResponse"
},
- "status_msg": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "tiktokmobile.CollectionVideosResponse": {
+ "sofascore.eventIncidentsResponseDoc": {
"properties": {
- "extra": {},
- "has_more": {
- "type": "boolean"
- },
- "items": {
- "items": {},
- "type": "array"
- },
- "log_pb": {},
- "max_cursor": {
- "type": "integer"
- },
- "min_cursor": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "status_code": {
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/sofascore.EventIncidentsResponse"
},
- "status_msg": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "tiktokmobile.CommentRepliesResponse": {
+ "sofascore.eventInningsResponseDoc": {
"properties": {
- "comments": {
- "items": {},
- "type": "array"
- },
- "cursor": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "has_more": {
- "type": "boolean"
- },
- "status_code": {
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/sofascore.EventInningsResponse"
},
- "status_msg": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "total": {
- "type": "integer"
}
},
"type": "object"
},
- "tiktokmobile.CommentsResponse": {
+ "sofascore.eventLineupsResponseDoc": {
"properties": {
- "comments": {
- "items": {},
- "type": "array"
- },
- "cursor": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "has_more": {
- "type": "boolean"
- },
- "status_code": {
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/sofascore.EventLineupsResponse"
},
- "status_msg": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "total": {
- "type": "integer"
}
},
"type": "object"
},
- "tiktokmobile.FeedItem": {
+ "sofascore.eventManagersResponseDoc": {
"properties": {
- "author_id": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "author_id_str": {
- "description": "AuthorIDStr is the same uid as a string. TikTok uids exceed 2^53, so JavaScript consumers of the numeric\nauthor_id receive a rounded value; read this field instead. author_id stays for existing typed clients.",
- "type": "string"
- },
- "aweme_id": {
- "type": "string"
- },
- "create_time": {
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/sofascore.EventManagersResponse"
},
- "share_url": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "statistics": {
- "$ref": "#/definitions/tiktokmobile.FeedStatistics"
}
},
"type": "object"
},
- "tiktokmobile.FeedResponse": {
+ "sofascore.eventOddsResponseDoc": {
"properties": {
- "count": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "fetched_at": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/sofascore.EventOddsResponse"
},
- "host": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "items": {
- "items": {
- "$ref": "#/definitions/tiktokmobile.FeedItem"
- },
- "type": "array"
}
},
"type": "object"
},
- "tiktokmobile.FeedStatistics": {
+ "sofascore.eventPlayerHeatmapResponseDoc": {
"properties": {
- "aweme_id": {
- "type": "string"
- },
- "collect_count": {
- "type": "integer"
- },
- "comment_count": {
- "type": "integer"
- },
- "digg_count": {
- "type": "integer"
- },
- "download_count": {
- "type": "integer"
- },
- "forward_count": {
- "type": "integer"
- },
- "lose_comment_count": {
- "type": "integer"
- },
- "lose_count": {
- "type": "integer"
- },
- "play_count": {
- "type": "integer"
- },
- "repost_count": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "share_count": {
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/sofascore.EventPlayerHeatmapResponse"
},
- "whatsapp_share_count": {
- "type": "integer"
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "tiktokmobile.HashtagInfoResponse": {
+ "sofascore.eventPlayerStatisticsResponseDoc": {
"properties": {
- "ch_info": {},
- "hashtag_name": {
- "type": "string"
- },
- "status_code": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "status_msg": {
+ "data": {
+ "$ref": "#/definitions/sofascore.EventPlayerStatisticsResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "tiktokmobile.HashtagPostsResponse": {
+ "sofascore.eventPointByPointResponseDoc": {
"properties": {
- "aweme_list": {
- "items": {},
- "type": "array"
- },
- "cursor": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "has_more": {
- "type": "boolean"
- },
- "status_code": {
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/sofascore.EventPointByPointResponse"
},
- "status_msg": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "tiktokmobile.HashtagSearchResponse": {
+ "sofascore.eventPregameFormResponseDoc": {
"properties": {
- "challenge_list": {
- "items": {},
- "type": "array"
- },
- "cursor": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "has_more": {
- "type": "boolean"
- },
- "status_code": {
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/sofascore.EventPregameFormResponse"
},
- "status_msg": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "tiktokmobile.HotMusicResponse": {
+ "sofascore.eventResponseDoc": {
"properties": {
- "cursor": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "extra": {},
- "has_more": {
- "type": "boolean"
+ "data": {
+ "$ref": "#/definitions/sofascore.EventResponse"
},
- "log_pb": {},
"msg": {
- "type": "string"
- },
- "music_list": {
- "items": {},
- "type": "array"
- },
- "status_code": {
- "type": "integer"
- },
- "status_msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "tiktokmobile.LiveGameCategory": {
+ "sofascore.eventShotmapResponseDoc": {
"properties": {
- "game_type": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "title": {
+ "data": {
+ "$ref": "#/definitions/sofascore.EventShotmapResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "tiktokmobile.LiveGameTag": {
+ "sofascore.eventStatisticsResponseDoc": {
"properties": {
- "bundle_id": {
- "type": "string"
- },
- "full_name": {
- "type": "string"
- },
- "game_category": {
- "items": {
- "$ref": "#/definitions/tiktokmobile.LiveGameCategory"
- },
- "type": "array"
- },
- "gar": {
- "items": {},
- "type": "array"
- },
- "hashtag_id": {
- "items": {},
- "type": "array"
- },
- "hashtag_list": {
- "items": {
- "$ref": "#/definitions/tiktokmobile.LiveHashtag"
- },
- "type": "array"
- },
- "id": {
- "type": "integer"
- },
- "is_new_game": {
- "type": "boolean"
- },
- "landscape": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "package_name": {
- "type": "string"
- },
- "short_name": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/sofascore.EventStatisticsResponse"
},
- "show_name": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "tiktokmobile.LiveHashtag": {
+ "sofascore.eventTVChannelsResponseDoc": {
"properties": {
- "id": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "image": {},
- "namespace": {
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/sofascore.EventTVChannelsResponse"
},
- "title": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "tiktokmobile.LiveRoomOwner": {
+ "sofascore.eventTeamHeatmapResponseDoc": {
"properties": {
- "avatar": {},
- "nickname": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "user_id": {
+ "data": {
+ "$ref": "#/definitions/sofascore.EventTeamHeatmapResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "tiktokmobile.LiveRoomStats": {
+ "sofascore.eventTeamStreaksResponseDoc": {
"properties": {
- "comment_count": {
- "type": "integer"
- },
- "enter_count": {
- "type": "integer"
- },
- "follow_count": {
- "type": "integer"
- },
- "like_count": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "replay_viewers": {
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/sofascore.EventTeamStreaksResponse"
},
- "share_count": {
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.eventTennisPowerResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "total_user": {
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/sofascore.EventTennisPowerResponse"
},
- "watch_user_count": {
- "type": "integer"
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "tiktokmobile.LiveRoomStream": {
+ "sofascore.eventVotesResponseDoc": {
"properties": {
- "candidate_resolution": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "default_resolution": {
- "type": "string"
- },
- "flv_pull_url": {
- "additionalProperties": {
- "type": "string"
- },
- "type": "object"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "hls_pull_url": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/sofascore.EventVotesResponse"
},
- "rtmp_pull_url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "tiktokmobile.LiveSearchResponse": {
+ "sofascore.liveEventsResponseDoc": {
"properties": {
- "cursor": {
+ "code": {
+ "example": 200,
"type": "integer"
},
"data": {
- "items": {},
- "type": "array"
+ "$ref": "#/definitions/sofascore.LiveEventsResponse"
},
- "extra": {},
- "extra_data": {},
- "feedback_type": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "global_doodle_config": {},
- "guide_search_words": {},
- "has_more": {
- "type": "boolean"
- },
- "log_pb": {},
- "status_code": {
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.managerEventsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "status_msg": {
+ "data": {
+ "$ref": "#/definitions/sofascore.ManagerEventsResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "tiktokmobile.MusicBeatsSongsResponse": {
+ "sofascore.managerResponseDoc": {
"properties": {
- "extra": {},
- "log_pb": {},
- "music_list": {
- "items": {},
- "type": "array"
- },
- "status_code": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "status_msg": {
+ "data": {
+ "$ref": "#/definitions/sofascore.ManagerResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "tiktokmobile.MusicChartResponse": {
+ "sofascore.mmaCardResponseDoc": {
"properties": {
- "chart_info": {},
- "cover_image_url": {
- "type": "string"
- },
- "cursor": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "extra": {},
- "has_more": {
- "type": "boolean"
+ "data": {
+ "$ref": "#/definitions/sofascore.MMACardResponse"
},
- "log_pb": {},
"msg": {
+ "example": "OK",
"type": "string"
- },
- "music_list": {
- "items": {},
- "type": "array"
- },
- "status_code": {
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.mmaScheduleResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "status_msg": {
+ "data": {
+ "$ref": "#/definitions/sofascore.MMAScheduleResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "tiktokmobile.MusicCollectionFeedResponse": {
+ "sofascore.oddsDroppingResponseDoc": {
"properties": {
- "cursor": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "extra": {},
- "has_more": {
- "type": "boolean"
- },
- "log_pb": {},
- "mcf_list": {
- "items": {},
- "type": "array"
- },
- "status_code": {
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/sofascore.OddsDroppingResponse"
},
- "status_msg": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "tiktokmobile.MusicDetailResponse": {
+ "sofascore.oddsWinningResponseDoc": {
"properties": {
- "ai_recommend_music": {},
- "ai_recommend_video": {},
- "behind_the_song_exist": {
- "type": "boolean"
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/sofascore.OddsWinningResponse"
},
- "cost_time_info": {},
- "extra": {},
- "log_pb": {},
"msg": {
+ "example": "OK",
"type": "string"
- },
- "music_chart_rank": {},
- "music_info": {},
- "rec_list": {},
- "similar_music": {},
- "similar_music_ids": {},
- "status_code": {
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.playerAttributesResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "status_msg": {
+ "data": {
+ "$ref": "#/definitions/sofascore.PlayerAttributesResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "tiktokmobile.MusicFreshAwemeResponse": {
+ "sofascore.playerEventsResponseDoc": {
"properties": {
- "aweme_list": {
- "items": {},
- "type": "array"
- },
- "can_pin_video": {
- "description": "popular listing only"
- },
- "cursor": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "extra": {},
- "has_more": {
- "type": "boolean"
- },
- "log_pb": {},
- "need_lazy_loading": {
- "description": "popular listing only"
- },
- "status_code": {
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/sofascore.PlayerEventsResponse"
},
- "status_msg": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "tiktokmobile.MusicPickResponse": {
+ "sofascore.playerLastYearSummaryResponseDoc": {
"properties": {
- "cursor": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "has_more": {
- "type": "boolean"
- },
- "mc_list": {
- "items": {},
- "type": "array"
- },
- "music_list": {
- "items": {},
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/sofascore.PlayerLastYearSummaryResponse"
},
- "radio_cursor": {
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sofascore.playerNationalTeamStatisticsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "status_code": {
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/sofascore.PlayerNationalTeamStatisticsResponse"
},
- "status_msg": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "tiktokmobile.MusicRelatedResponse": {
+ "sofascore.playerPenaltyHistoryResponseDoc": {
"properties": {
- "cursor": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "has_more": {
- "type": "boolean"
+ "data": {
+ "$ref": "#/definitions/sofascore.PlayerPenaltyHistoryResponse"
},
- "music_list": {
- "items": {},
- "type": "array"
- },
- "music_type": {
- "type": "integer"
- },
- "recall_info_list": {
- "items": {},
- "type": "array"
- },
- "similar_song_ids": {
- "items": {},
- "type": "array"
- },
- "status_code": {
- "type": "integer"
- },
- "status_msg": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "tiktokmobile.PlaceMediaResponse": {
- "properties": {
- "data_version": {
- "type": "string"
- },
- "extra": {},
- "has_more": {
- "type": "boolean"
- },
- "item_list": {
- "items": {},
- "type": "array"
- },
- "log_pb": {},
- "next_cursor": {
- "type": "string"
- },
- "pos": {},
- "post_bottom_bar_style": {},
- "status_code": {
- "type": "integer"
- },
- "status_msg": {
- "type": "string"
- },
- "title": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "tiktokmobile.PlacePOIContainer": {
- "properties": {
- "poi_info": {
- "items": {},
- "type": "array"
- }
- },
- "type": "object"
- },
- "tiktokmobile.PlaceReviewsResponse": {
- "properties": {
- "collect_info": {},
- "cursor": {
- "type": "integer"
- },
- "extra": {},
- "folded_cursor": {
- "type": "integer"
- },
- "folded_has_more": {
- "type": "boolean"
- },
- "has_more": {
- "type": "boolean"
- },
- "is_hide_review_summary": {
- "type": "boolean"
- },
- "landing_tab": {
- "type": "integer"
- },
- "log_pb": {},
- "poi_id": {
- "type": "string"
- },
- "poi_name": {
- "type": "string"
- },
- "post_review_description": {
- "type": "string"
- },
- "post_review_sub_description": {
- "type": "string"
- },
- "review_summary": {},
- "review_tags": {
- "items": {},
- "type": "array"
- },
- "reviews": {
- "items": {},
- "type": "array"
- },
- "status_code": {
- "type": "integer"
- },
- "status_msg": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "tiktokmobile.PlaylistDetailResponse": {
- "properties": {
- "extra": {},
- "is_collect": {
- "type": "boolean"
- },
- "log_pb": {},
- "mix": {
- "$ref": "#/definitions/tiktokmobile.PlaylistSummary"
- },
- "status_code": {
- "type": "integer"
- },
- "status_msg": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "tiktokmobile.PlaylistListResponse": {
+ "sofascore.playerRatingsResponseDoc": {
"properties": {
- "cursor": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "extra": {},
- "has_more": {
- "type": "boolean"
- },
- "log_pb": {},
- "mix_list": {
- "items": {
- "$ref": "#/definitions/tiktokmobile.PlaylistSummary"
- },
- "type": "array"
- },
- "status_code": {
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/sofascore.PlayerRatingsResponse"
},
- "status_msg": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "total": {
- "type": "integer"
}
},
"type": "object"
},
- "tiktokmobile.PlaylistSummary": {
- "properties": {
- "author": {},
- "creator_name": {
- "type": "string"
- },
- "last_add_video_timestamp": {
- "type": "integer"
- },
- "mix_id": {
- "type": "string"
- },
- "mix_type": {
- "type": "integer"
- },
- "name": {
- "type": "string"
- },
- "share_info": {},
- "statistic": {},
- "status": {}
- },
- "type": "object"
- },
- "tiktokmobile.PlaylistVideosResponse": {
+ "sofascore.playerResponseDoc": {
"properties": {
- "cursor": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "has_more": {
- "type": "boolean"
- },
- "item_list": {
- "items": {},
- "type": "array"
- },
- "status_code": {
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/sofascore.PlayerResponse"
},
- "status_msg": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "tiktokmobile.SearchGeneralResponse": {
+ "sofascore.playerSeasonHeatmapResponseDoc": {
"properties": {
- "cursor": {
+ "code": {
+ "example": 200,
"type": "integer"
},
"data": {
- "items": {},
- "type": "array"
- },
- "has_more": {
- "type": "boolean"
- },
- "search_id": {
- "type": "string"
- },
- "status_code": {
- "type": "integer"
+ "$ref": "#/definitions/sofascore.PlayerSeasonHeatmapResponse"
},
- "status_msg": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "tiktokmobile.SearchMusicResponse": {
+ "sofascore.playerSeasonStatisticsResponseDoc": {
"properties": {
- "cursor": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "has_more": {
- "type": "boolean"
- },
- "music": {
- "items": {},
- "type": "array"
- },
- "music_info_list": {
- "items": {},
- "type": "array"
- },
- "status_code": {
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/sofascore.PlayerSeasonStatisticsResponse"
},
- "status_msg": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "total": {
- "type": "integer"
}
},
"type": "object"
},
- "tiktokmobile.SearchPlaceResponse": {
+ "sofascore.playerStatisticalRankingsResponseDoc": {
"properties": {
- "cursor": {
- "type": "integer"
- },
- "extra": {},
- "feedback_type": {
- "type": "string"
- },
- "has_more": {
- "type": "boolean"
- },
- "log_pb": {},
- "poi_info": {
- "$ref": "#/definitions/tiktokmobile.PlacePOIContainer"
- },
- "status_code": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "status_msg": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "tiktokmobile.SearchSuggestion": {
- "properties": {
- "content": {
- "type": "string"
- },
- "extra_info": {},
- "highlight_pos": {},
- "pos": {},
- "rich_sug_sec_pos": {},
- "sug_type": {
- "type": "string"
- },
- "word_record": {}
- },
- "type": "object"
- },
- "tiktokmobile.SearchSuggestionResponse": {
- "properties": {
- "extra": {},
- "has_more": {
- "type": "boolean"
- },
- "log_pb": {},
- "rid": {
- "type": "string"
- },
- "status_code": {
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/sofascore.PlayerStatisticalRankingsResponse"
},
- "status_msg": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "sug_list": {
- "items": {
- "$ref": "#/definitions/tiktokmobile.SearchSuggestion"
- },
- "type": "array"
}
},
"type": "object"
},
- "tiktokmobile.SearchUsersResponse": {
+ "sofascore.playerStatisticsSeasonsResponseDoc": {
"properties": {
- "cursor": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "has_more": {
- "type": "boolean"
- },
- "status_code": {
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/sofascore.PlayerStatisticsSeasonsResponse"
},
- "status_msg": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "user_list": {
- "items": {},
- "type": "array"
}
},
"type": "object"
},
- "tiktokmobile.SearchVideosResponse": {
+ "sofascore.playerTournamentsResponseDoc": {
"properties": {
- "aweme_list": {
- "items": {},
- "type": "array"
- },
- "cursor": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "extra": {},
- "feedback_type": {
- "type": "string"
- },
- "has_more": {
- "type": "boolean"
- },
- "log_pb": {},
- "search_id": {
- "type": "string"
- },
- "search_item_list": {
- "items": {},
- "type": "array"
- },
- "status_code": {
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/sofascore.PlayerTournamentsResponse"
},
- "status_msg": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "tiktokmobile.StickerDiscoverResponse": {
+ "sofascore.playerTransfersResponseDoc": {
"properties": {
- "aweme_list": {
- "items": {},
- "type": "array"
- },
- "cursor": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "extra": {},
- "feed_session_id": {
- "type": "string"
- },
- "has_more": {
- "type": "boolean"
- },
- "log_pb": {},
- "status_code": {
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/sofascore.PlayerTransfersResponse"
},
- "status_msg": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "tiktokmobile.SubtitleCue": {
+ "sofascore.rankingTypesResponseDoc": {
"properties": {
- "end": {
- "type": "string"
- },
- "end_ms": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "start": {
- "type": "string"
- },
- "start_ms": {
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/sofascore.RankingTypesResponse"
},
- "text": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "tiktokmobile.UserFollowersResponse": {
+ "sofascore.rankingsResponseDoc": {
"properties": {
- "extra": {},
- "followers": {
- "items": {},
- "type": "array"
- },
- "has_more": {
- "type": "boolean"
- },
- "log_pb": {},
- "max_time": {
- "type": "integer"
- },
- "min_time": {
- "type": "integer"
- },
- "myself_user_id": {
- "type": "string"
- },
- "next_page_token": {
- "type": "string"
- },
- "offset": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "status_code": {
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/sofascore.RankingsResponse"
},
- "status_msg": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "total": {
- "type": "integer"
}
},
"type": "object"
},
- "tiktokmobile.UserOriginalEffectsResponse": {
+ "sofascore.refereeEventsResponseDoc": {
"properties": {
- "cursor": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "effect": {
- "items": {},
- "type": "array"
- },
- "extra": {},
- "has_more": {
- "type": "boolean"
- },
- "log_pb": {},
- "status_code": {
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/sofascore.RefereeEventsResponse"
},
- "status_msg": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "tiktokmobile.UserOriginalMusicResponse": {
+ "sofascore.refereeResponseDoc": {
"properties": {
- "cursor": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "extra": {},
- "groups": {
- "items": {},
- "type": "array"
- },
- "has_more": {
- "type": "boolean"
- },
- "honor_label": {},
- "log_pb": {},
- "music": {
- "items": {},
- "type": "array"
- },
- "status_code": {
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/sofascore.RefereeResponse"
},
- "status_msg": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "tiktokmobile.UserPostsResponse": {
+ "sofascore.refereeStatisticsResponseDoc": {
"properties": {
- "aweme_list": {
- "items": {},
- "type": "array"
- },
- "extra": {},
- "has_more": {
- "type": "boolean"
- },
- "log_pb": {},
- "max_cursor": {
- "type": "integer"
- },
- "min_cursor": {
- "type": "integer"
- },
- "status_code": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "status_msg": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "tiktokmobile.UserProfileResponse": {
- "properties": {
- "common": {},
- "extra": {},
- "header": {},
- "log_pb": {},
- "nav_bar": {},
- "profile_tab": {},
- "status_code": {
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/sofascore.RefereeStatisticsResponse"
},
- "status_msg": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "tiktokmobile.VideoDetailResponse": {
+ "sofascore.roundEventsResponseDoc": {
"properties": {
- "aweme_detail": {},
- "extra": {},
- "log_pb": {},
- "status_code": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "status_msg": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "tiktokmobile.WebcastEffectsData": {
- "properties": {
- "assets": {
- "items": {},
- "type": "array"
- }
- },
- "type": "object"
- },
- "tiktokmobile.WebcastEffectsResponse": {
- "properties": {
"data": {
- "$ref": "#/definitions/tiktokmobile.WebcastEffectsData"
- },
- "extra": {},
- "status_code": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "tiktokmobile.WebcastGiftListResponse": {
- "properties": {
- "data": {},
- "extra": {},
- "status_code": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "tiktokmobile.anchorListResponseDoc": {
- "properties": {
- "anchors": {
- "items": {},
- "type": "array"
- },
- "count": {
- "type": "integer"
- },
- "fetched_at": {
- "type": "string"
+ "$ref": "#/definitions/sofascore.RoundEventsResponse"
},
- "host": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "tiktokmobile.categoryListResponseDoc": {
+ "sofascore.scheduledEventsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tiktokmobile.CategoryListResponse"
+ "$ref": "#/definitions/sofascore.ScheduledEventsResponse"
},
"msg": {
"example": "OK",
@@ -236222,14 +242075,14 @@
},
"type": "object"
},
- "tiktokmobile.collectionDetailResponseDoc": {
+ "sofascore.scheduledTournamentsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tiktokmobile.CollectionDetailResponse"
+ "$ref": "#/definitions/sofascore.ScheduledTournamentsResponse"
},
"msg": {
"example": "OK",
@@ -236238,14 +242091,14 @@
},
"type": "object"
},
- "tiktokmobile.collectionListResponseDoc": {
+ "sofascore.searchResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tiktokmobile.CollectionListResponse"
+ "$ref": "#/definitions/sofascore.SearchResponse"
},
"msg": {
"example": "OK",
@@ -236254,14 +242107,14 @@
},
"type": "object"
},
- "tiktokmobile.collectionVideosResponseDoc": {
+ "sofascore.searchTypedResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tiktokmobile.CollectionVideosResponse"
+ "$ref": "#/definitions/sofascore.SearchTypedResponse"
},
"msg": {
"example": "OK",
@@ -236270,14 +242123,14 @@
},
"type": "object"
},
- "tiktokmobile.commentRepliesResponseDoc": {
+ "sofascore.seasonEventsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tiktokmobile.CommentRepliesResponse"
+ "$ref": "#/definitions/sofascore.SeasonEventsResponse"
},
"msg": {
"example": "OK",
@@ -236286,14 +242139,14 @@
},
"type": "object"
},
- "tiktokmobile.commentsResponseDoc": {
+ "sofascore.sportsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tiktokmobile.CommentsResponse"
+ "$ref": "#/definitions/sofascore.SportsResponse"
},
"msg": {
"example": "OK",
@@ -236302,40 +242155,14 @@
},
"type": "object"
},
- "tiktokmobile.feedPostResponseDoc": {
- "properties": {
- "fetched_at": {
- "example": "2026-10-20T08:20:00Z",
- "type": "string"
- },
- "host": {
- "example": "aggr16-normal.tiktokv.us",
- "type": "string"
- },
- "items": {
- "additionalProperties": {},
- "type": "object"
- },
- "note": {
- "type": "string"
- },
- "strings": {
- "items": {
- "type": "string"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "tiktokmobile.feedResponseDoc": {
+ "sofascore.stageCategoriesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tiktokmobile.FeedResponse"
+ "$ref": "#/definitions/sofascore.StageCategoriesResponse"
},
"msg": {
"example": "OK",
@@ -236344,14 +242171,14 @@
},
"type": "object"
},
- "tiktokmobile.hashtagInfoResponseDoc": {
+ "sofascore.stageDetailResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tiktokmobile.HashtagInfoResponse"
+ "$ref": "#/definitions/sofascore.StageDetailResponse"
},
"msg": {
"example": "OK",
@@ -236360,14 +242187,14 @@
},
"type": "object"
},
- "tiktokmobile.hashtagPostsResponseDoc": {
+ "sofascore.stageDriverPerformanceResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tiktokmobile.HashtagPostsResponse"
+ "$ref": "#/definitions/sofascore.StageDriverPerformanceResponse"
},
"msg": {
"example": "OK",
@@ -236376,14 +242203,14 @@
},
"type": "object"
},
- "tiktokmobile.hashtagSearchResponseDoc": {
+ "sofascore.stageFeaturedResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tiktokmobile.HashtagSearchResponse"
+ "$ref": "#/definitions/sofascore.StageFeaturedResponse"
},
"msg": {
"example": "OK",
@@ -236392,38 +242219,14 @@
},
"type": "object"
},
- "tiktokmobile.hashtagSuggestionsResponseDoc": {
- "properties": {
- "extra": {},
- "log_pb": {},
- "rid": {
- "example": "20261021173213477CE85B8289CE303E4D",
- "type": "string"
- },
- "status_code": {
- "example": 0,
- "type": "integer"
- },
- "status_msg": {
- "example": "",
- "type": "string"
- },
- "sug_list": {
- "items": {},
- "type": "array"
- },
- "words_query_record": {}
- },
- "type": "object"
- },
- "tiktokmobile.hotMusicResponseDoc": {
+ "sofascore.stageScheduleResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tiktokmobile.HotMusicResponse"
+ "$ref": "#/definitions/sofascore.StageScheduleResponse"
},
"msg": {
"example": "OK",
@@ -236432,14 +242235,14 @@
},
"type": "object"
},
- "tiktokmobile.liveEffectsResponseDoc": {
+ "sofascore.stageSeasonsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tiktokmobile.WebcastEffectsResponse"
+ "$ref": "#/definitions/sofascore.StageSeasonsResponse"
},
"msg": {
"example": "OK",
@@ -236448,14 +242251,14 @@
},
"type": "object"
},
- "tiktokmobile.liveGiftsResponseDoc": {
+ "sofascore.stageStandingsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tiktokmobile.WebcastGiftListResponse"
+ "$ref": "#/definitions/sofascore.StageStandingsResponse"
},
"msg": {
"example": "OK",
@@ -236464,119 +242267,46 @@
},
"type": "object"
},
- "tiktokmobile.liveHashtagCatalogResponseDoc": {
+ "sofascore.stageSubstagesResponseDoc": {
"properties": {
- "extra": {},
- "fetched_at": {
- "type": "string"
- },
- "game_hashtag": {
- "$ref": "#/definitions/tiktokmobile.LiveHashtag"
- },
- "game_tag_count": {
- "example": 1500,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "game_tag_list": {
- "items": {
- "$ref": "#/definitions/tiktokmobile.LiveGameTag"
- },
- "type": "array"
- },
- "hashtags": {
- "items": {
- "$ref": "#/definitions/tiktokmobile.LiveHashtag"
- },
- "type": "array"
- },
- "host": {
- "example": "webcast16-normal-c-useast2a.tiktokv.com",
- "type": "string"
- },
- "live_studio_hashtags": {
- "items": {
- "$ref": "#/definitions/tiktokmobile.LiveHashtag"
- },
- "type": "array"
- },
- "live_voice_hashtags": {
- "items": {
- "$ref": "#/definitions/tiktokmobile.LiveHashtag"
- },
- "type": "array"
- },
- "status_code": {
- "example": 0,
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/sofascore.StageSubstagesResponse"
},
- "status_msg": {
- "example": "",
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "third_party_hashtags": {
- "items": {
- "$ref": "#/definitions/tiktokmobile.LiveHashtag"
- },
- "type": "array"
}
},
"type": "object"
},
- "tiktokmobile.liveRoomInfoResponseDoc": {
+ "sofascore.standingsResponseDoc": {
"properties": {
- "cover": {},
- "create_time": {
- "example": 1792603783,
- "type": "integer"
- },
- "data": {},
- "fetched_at": {
- "type": "string"
- },
- "host": {
- "example": "webcast16-normal-c-useast2a.tiktokv.com",
- "type": "string"
- },
- "owner": {
- "$ref": "#/definitions/tiktokmobile.LiveRoomOwner"
- },
- "room_id": {
- "example": "7699174209096059678",
- "type": "string"
- },
- "stats": {
- "$ref": "#/definitions/tiktokmobile.LiveRoomStats"
- },
- "status": {
- "example": 2,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "stream": {
- "$ref": "#/definitions/tiktokmobile.LiveRoomStream"
- },
- "title": {
- "example": "Lets Go LIVE!",
- "type": "string"
- },
- "user_count": {
- "example": 1595,
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/sofascore.StandingsResponse"
},
- "user_id": {
- "example": "6707748031095751686",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "tiktokmobile.liveSearchResponseDoc": {
+ "sofascore.teamAchievementsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tiktokmobile.LiveSearchResponse"
+ "$ref": "#/definitions/sofascore.TeamAchievementsResponse"
},
"msg": {
"example": "OK",
@@ -236585,28 +242315,14 @@
},
"type": "object"
},
- "tiktokmobile.liveTabsResponseDoc": {
- "properties": {
- "data": {
- "items": {},
- "type": "array"
- },
- "extra": {},
- "status_code": {
- "example": 0,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "tiktokmobile.musicBeatsSongsResponseDoc": {
+ "sofascore.teamEventsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tiktokmobile.MusicBeatsSongsResponse"
+ "$ref": "#/definitions/sofascore.TeamEventsResponse"
},
"msg": {
"example": "OK",
@@ -236615,14 +242331,14 @@
},
"type": "object"
},
- "tiktokmobile.musicChartResponseDoc": {
+ "sofascore.teamGoalDistributionsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tiktokmobile.MusicChartResponse"
+ "$ref": "#/definitions/sofascore.TeamGoalDistributionsResponse"
},
"msg": {
"example": "OK",
@@ -236631,33 +242347,14 @@
},
"type": "object"
},
- "tiktokmobile.musicChoicesResponseDoc": {
- "properties": {
- "extra": {},
- "log_pb": {},
- "music_list": {
- "items": {},
- "type": "array"
- },
- "status_code": {
- "example": 0,
- "type": "integer"
- },
- "status_msg": {
- "example": "",
- "type": "string"
- }
- },
- "type": "object"
- },
- "tiktokmobile.musicCollectionFeedResponseDoc": {
+ "sofascore.teamNearEventsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tiktokmobile.MusicCollectionFeedResponse"
+ "$ref": "#/definitions/sofascore.TeamNearEventsResponse"
},
"msg": {
"example": "OK",
@@ -236666,45 +242363,30 @@
},
"type": "object"
},
- "tiktokmobile.musicCollectionListResponseDoc": {
+ "sofascore.teamOfTheWeekPeriodsResponseDoc": {
"properties": {
- "cursor": {
- "example": 5,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "extra": {},
- "has_more": {
- "example": true,
- "type": "boolean"
- },
- "log_pb": {},
- "mc_list": {
- "items": {},
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/sofascore.TeamOfTheWeekPeriodsResponse"
},
"msg": {
- "example": "",
- "type": "string"
- },
- "status_code": {
- "example": 0,
- "type": "integer"
- },
- "status_msg": {
- "example": "",
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "tiktokmobile.musicDetailResponseDoc": {
+ "sofascore.teamOfTheWeekResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tiktokmobile.MusicDetailResponse"
+ "$ref": "#/definitions/sofascore.TeamOfTheWeekResponse"
},
"msg": {
"example": "OK",
@@ -236713,14 +242395,14 @@
},
"type": "object"
},
- "tiktokmobile.musicFreshAwemeResponseDoc": {
+ "sofascore.teamPerformanceResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tiktokmobile.MusicFreshAwemeResponse"
+ "$ref": "#/definitions/sofascore.TeamPerformanceResponse"
},
"msg": {
"example": "OK",
@@ -236729,14 +242411,14 @@
},
"type": "object"
},
- "tiktokmobile.musicPickResponseDoc": {
+ "sofascore.teamPlayerStatisticsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tiktokmobile.MusicPickResponse"
+ "$ref": "#/definitions/sofascore.TeamPlayerStatisticsResponse"
},
"msg": {
"example": "OK",
@@ -236745,14 +242427,14 @@
},
"type": "object"
},
- "tiktokmobile.musicRelatedResponseDoc": {
+ "sofascore.teamPlayerStatisticsSeasonsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tiktokmobile.MusicRelatedResponse"
+ "$ref": "#/definitions/sofascore.TeamPlayerStatisticsSeasonsResponse"
},
"msg": {
"example": "OK",
@@ -236761,252 +242443,78 @@
},
"type": "object"
},
- "tiktokmobile.mvFeedResponseDoc": {
+ "sofascore.teamPlayersResponseDoc": {
"properties": {
- "aweme_list": {
- "items": {},
- "type": "array"
- },
- "cursor": {
- "example": 18,
- "type": "integer"
- },
- "extra": {},
- "fetched_at": {
- "type": "string"
- },
- "has_more": {
- "example": true,
- "type": "boolean"
- },
- "host": {
- "example": "aggr16-normal.tiktokv.us",
- "type": "string"
- },
- "item_count": {
- "example": 15,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "log_pb": {},
- "mv_id": {
- "example": "1",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/sofascore.TeamPlayersResponse"
},
- "original_aweme_id": {
- "example": "",
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "page_extra": {},
- "top_awemes": {
- "items": {},
- "type": "array"
}
},
"type": "object"
},
- "tiktokmobile.offlineFeedResponseDoc": {
+ "sofascore.teamRankingsResponseDoc": {
"properties": {
- "count": {
- "example": 10,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "fetched_at": {
- "type": "string"
- },
- "host": {
- "example": "aggr16-normal.tiktokv.us",
- "type": "string"
- },
- "items": {
- "additionalProperties": {},
- "type": "object"
+ "data": {
+ "$ref": "#/definitions/sofascore.TeamRankingsResponse"
},
- "note": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "pull_type": {
- "example": 11,
- "type": "integer"
- },
- "strings": {
- "items": {
- "type": "string"
- },
- "type": "array"
}
},
"type": "object"
},
- "tiktokmobile.placeDetailResponseDoc": {
+ "sofascore.teamResponseDoc": {
"properties": {
- "fetched_at": {
- "type": "string"
- },
- "frame_count": {
- "example": 4,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "frames": {
- "items": {},
- "type": "array"
- },
- "has_more_posts": {
- "example": true,
- "type": "boolean"
- },
- "has_more_reviews": {
- "example": false,
- "type": "boolean"
- },
- "host": {
- "example": "aggr32-normal.tiktokv.us",
- "type": "string"
- },
- "layout": {
- "additionalProperties": {},
- "type": "object"
- },
- "nodes": {
- "additionalProperties": {},
- "type": "object"
- },
- "page_id": {
- "example": "100614404",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/sofascore.TeamResponse"
},
- "poi_id": {
- "example": "42203861086875992",
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "post_count": {
- "example": 9,
- "type": "integer"
- },
- "post_cursor": {
- "example": 9,
- "type": "integer"
- },
- "review_count": {
- "example": 3,
- "type": "integer"
- },
- "top_video_count": {
- "example": 6,
- "type": "integer"
}
},
"type": "object"
},
- "tiktokmobile.placeInfoResponseDoc": {
+ "sofascore.teamSeasonStatisticsResponseDoc": {
"properties": {
- "address": {
- "example": "304 Ord St, Los Angeles, CA 90012, USA",
- "type": "string"
- },
- "average_price": {
- "example": "$",
- "type": "string"
- },
- "category": {
- "example": "Coffee Shop",
- "type": "string"
- },
- "city_code": {
- "example": "116023605",
- "type": "string"
- },
- "claim_store_status": {
- "example": false,
- "type": "boolean"
- },
- "cover": {},
- "favorite_count": {
- "example": 1,
- "type": "integer"
- },
- "fetched_at": {
- "type": "string"
- },
- "host": {
- "example": "aggr16-normal.tiktokv.us",
- "type": "string"
- },
- "is_collected": {
- "example": false,
- "type": "boolean"
- },
- "latitude": {
- "example": "34.060090",
- "type": "string"
- },
- "longitude": {
- "example": "-118.239007",
- "type": "string"
- },
- "name": {
- "example": "Nam Coffee",
- "type": "string"
- },
- "no_rating": {
- "example": false,
- "type": "boolean"
- },
- "opening_hours": {
- "example": "8:00 AM – 5:00 PM",
- "type": "string"
- },
- "opening_status": {
- "example": true,
- "type": "boolean"
- },
- "parent_poi": {},
- "place": {
- "additionalProperties": {},
- "type": "object"
- },
- "poi_id": {
- "example": "42203861086875992",
- "type": "string"
- },
- "region_code": {
- "example": "6252001",
- "type": "string"
- },
- "review_count": {
- "example": 2,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "review_score": {
- "example": 4.7,
- "type": "number"
- },
- "review_score_display": {
- "example": "4.7",
- "type": "string"
- },
- "share_desc": {
- "example": "Nam Coffee",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/sofascore.TeamSeasonStatisticsResponse"
},
- "share_url": {
- "example": "https://www.tiktok.com/place/Nam-Coffee-42203861086875992",
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "video_count": {
- "example": 11,
- "type": "integer"
}
},
"type": "object"
},
- "tiktokmobile.placeMediaResponseDoc": {
+ "sofascore.teamStatisticsSeasonsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tiktokmobile.PlaceMediaResponse"
+ "$ref": "#/definitions/sofascore.TeamStatisticsSeasonsResponse"
},
"msg": {
"example": "OK",
@@ -237015,43 +242523,30 @@
},
"type": "object"
},
- "tiktokmobile.placePhotosResponseDoc": {
+ "sofascore.teamTopPlayersResponseDoc": {
"properties": {
- "categories": {
- "items": {},
- "type": "array"
- },
- "category_tab_info": {},
- "fetched_at": {
- "type": "string"
- },
- "host": {
- "example": "aggr16-normal.tiktokv.us",
- "type": "string"
- },
- "photo_count": {
- "example": 3,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "poi_id": {
- "example": "42203861086875992",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/sofascore.TeamTopPlayersResponse"
},
- "title": {
- "example": "Gallery (3)",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "tiktokmobile.placeReviewsResponseDoc": {
+ "sofascore.teamTournamentsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tiktokmobile.PlaceReviewsResponse"
+ "$ref": "#/definitions/sofascore.TeamTournamentsResponse"
},
"msg": {
"example": "OK",
@@ -237060,47 +242555,14 @@
},
"type": "object"
},
- "tiktokmobile.placeVideosResponseDoc": {
- "properties": {
- "aweme_list": {
- "items": {},
- "type": "array"
- },
- "cursor": {
- "example": 20,
- "type": "integer"
- },
- "fetched_at": {
- "type": "string"
- },
- "has_more": {
- "example": true,
- "type": "boolean"
- },
- "host": {
- "example": "aggr16-normal.tiktokv.us",
- "type": "string"
- },
- "item_count": {
- "example": 17,
- "type": "integer"
- },
- "poi_id": {
- "example": "21568226355448582",
- "type": "string"
- },
- "poi_info": {}
- },
- "type": "object"
- },
- "tiktokmobile.playlistDetailResponseDoc": {
+ "sofascore.teamTransfersResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tiktokmobile.PlaylistDetailResponse"
+ "$ref": "#/definitions/sofascore.TeamTransfersResponse"
},
"msg": {
"example": "OK",
@@ -237109,14 +242571,14 @@
},
"type": "object"
},
- "tiktokmobile.playlistListResponseDoc": {
+ "sofascore.tennisGrandSlamResultsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tiktokmobile.PlaylistListResponse"
+ "$ref": "#/definitions/sofascore.TennisGrandSlamResultsResponse"
},
"msg": {
"example": "OK",
@@ -237125,14 +242587,14 @@
},
"type": "object"
},
- "tiktokmobile.playlistVideosResponseDoc": {
+ "sofascore.tournamentCupTreeResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tiktokmobile.PlaylistVideosResponse"
+ "$ref": "#/definitions/sofascore.TournamentCupTreeResponse"
},
"msg": {
"example": "OK",
@@ -237141,49 +242603,30 @@
},
"type": "object"
},
- "tiktokmobile.searchEffectsResponseDoc": {
+ "sofascore.tournamentInfoResponseDoc": {
"properties": {
- "bind_effects": {},
- "collection": {},
- "cursor": {
- "example": 100,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "effects": {
- "items": {},
- "type": "array"
- },
- "has_more": {
- "example": true,
- "type": "boolean"
- },
- "search_id": {
- "example": "20261021173221C8185FF1D4A1062AD97C",
- "type": "string"
- },
- "status_code": {
- "example": 0,
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/sofascore.TournamentInfoResponse"
},
- "status_msg": {
- "example": "",
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "use_hot": {
- "example": false,
- "type": "boolean"
}
},
"type": "object"
},
- "tiktokmobile.searchGeneralResponseDoc": {
+ "sofascore.tournamentPlayerOfTheSeasonResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tiktokmobile.SearchGeneralResponse"
+ "$ref": "#/definitions/sofascore.TournamentPlayerOfTheSeasonResponse"
},
"msg": {
"example": "OK",
@@ -237192,14 +242635,14 @@
},
"type": "object"
},
- "tiktokmobile.searchMusicResponseDoc": {
+ "sofascore.tournamentPlayerStatisticsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tiktokmobile.SearchMusicResponse"
+ "$ref": "#/definitions/sofascore.TournamentPlayerStatisticsResponse"
},
"msg": {
"example": "OK",
@@ -237208,53 +242651,30 @@
},
"type": "object"
},
- "tiktokmobile.searchPhotosResponseDoc": {
+ "sofascore.tournamentRoundsResponseDoc": {
"properties": {
- "aweme_list": {
- "items": {},
- "type": "array"
- },
- "backtrace": {},
- "cursor": {
- "example": 10,
- "type": "integer"
- },
- "extra": {},
- "feedback_type": {
- "example": "photo_tab",
- "type": "string"
- },
- "has_more": {
- "example": 1,
- "type": "integer"
- },
- "log_pb": {},
- "response_cropped": {
- "example": 1,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "search_item_list": {
- "items": {},
- "type": "array"
- },
- "status_code": {
- "example": 0,
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/sofascore.TournamentRoundsResponse"
},
- "status_msg": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "tiktokmobile.searchPlaceResponseDoc": {
+ "sofascore.tournamentSeasonsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tiktokmobile.SearchPlaceResponse"
+ "$ref": "#/definitions/sofascore.TournamentSeasonsResponse"
},
"msg": {
"example": "OK",
@@ -237263,81 +242683,30 @@
},
"type": "object"
},
- "tiktokmobile.searchPreInfoResponseDoc": {
- "properties": {
- "fetched_at": {
- "type": "string"
- },
- "host": {
- "type": "string"
- },
- "pre_info_id": {
- "type": "string"
- },
- "ttl": {
- "example": 40,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "tiktokmobile.searchStreamResponseDoc": {
+ "sofascore.tournamentStatisticsInfoResponseDoc": {
"properties": {
- "count": {
- "example": 10,
- "type": "integer"
- },
- "cursor": {
- "example": 10,
- "type": "integer"
- },
- "documents": {
- "items": {},
- "type": "array"
- },
- "fetched_at": {
- "example": "2026-10-20T03:25:54Z",
- "type": "string"
- },
- "frame_count": {
- "example": 5,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "frames": {
- "items": {},
- "type": "array"
- },
- "has_more": {
- "example": true,
- "type": "boolean"
- },
- "host": {
- "example": "aggr32-normal.tiktokv.us",
- "type": "string"
- },
- "keyword": {
- "example": "lofi",
- "type": "string"
- },
- "offset": {
- "example": 0,
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/sofascore.TournamentStatisticsInfoResponse"
},
- "search_id": {
- "example": "20261020032554E5C2D5286808E712236B",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "tiktokmobile.searchSuggestionResponseDoc": {
+ "sofascore.tournamentTeamOfTheSeasonResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tiktokmobile.SearchSuggestionResponse"
+ "$ref": "#/definitions/sofascore.TournamentTeamOfTheSeasonResponse"
},
"msg": {
"example": "OK",
@@ -237346,40 +242715,14 @@
},
"type": "object"
},
- "tiktokmobile.searchTabsResponseDoc": {
- "properties": {
- "fetched_at": {
- "type": "string"
- },
- "host": {
- "example": "aggr32-normal.tiktokv.us",
- "type": "string"
- },
- "is_failed": {
- "example": 0,
- "type": "integer"
- },
- "keyword": {
- "example": "lofi",
- "type": "string"
- },
- "tabs": {
- "items": {
- "type": "string"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "tiktokmobile.searchUsersResponseDoc": {
+ "sofascore.tournamentTeamsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tiktokmobile.SearchUsersResponse"
+ "$ref": "#/definitions/sofascore.TournamentTeamsResponse"
},
"msg": {
"example": "OK",
@@ -237388,14 +242731,14 @@
},
"type": "object"
},
- "tiktokmobile.searchVideosResponseDoc": {
+ "sofascore.tournamentTopPlayersResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tiktokmobile.SearchVideosResponse"
+ "$ref": "#/definitions/sofascore.TournamentTopPlayersResponse"
},
"msg": {
"example": "OK",
@@ -237404,14 +242747,14 @@
},
"type": "object"
},
- "tiktokmobile.stickerDiscoverResponseDoc": {
+ "sofascore.tournamentTopTeamsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tiktokmobile.StickerDiscoverResponse"
+ "$ref": "#/definitions/sofascore.TournamentTopTeamsResponse"
},
"msg": {
"example": "OK",
@@ -237420,55 +242763,30 @@
},
"type": "object"
},
- "tiktokmobile.translationDescriptionResponseDoc": {
+ "sofascore.tournamentVenuesResponseDoc": {
"properties": {
- "extra": {},
- "fetched_at": {
- "type": "string"
- },
- "format": {
- "example": 1,
- "type": "integer"
- },
- "host": {
- "example": "aggr32-normal.tiktokv.us",
- "type": "string"
- },
- "item_id": {
- "example": "7650052642089225493",
- "type": "string"
- },
- "log_pb": {},
- "perf_metrics": {},
- "status_code": {
- "example": 0,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "status_msg": {
- "type": "string"
- },
- "target_lang": {
- "example": "en",
- "type": "string"
- },
- "text": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/sofascore.TournamentVenuesResponse"
},
- "translated_client_text": {},
- "variant": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "tiktokmobile.userFollowersResponseDoc": {
+ "sofascore.tournamentWinnersResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tiktokmobile.UserFollowersResponse"
+ "$ref": "#/definitions/sofascore.TournamentWinnersResponse"
},
"msg": {
"example": "OK",
@@ -237477,62 +242795,30 @@
},
"type": "object"
},
- "tiktokmobile.userFollowingResponseDoc": {
+ "sofascore.tournamentsWithFeatureResponseDoc": {
"properties": {
- "extra": {},
- "followings": {
- "items": {},
- "type": "array"
- },
- "has_more": {
- "example": true,
- "type": "boolean"
- },
- "log_pb": {},
- "max_time": {
- "example": 1792283000,
- "type": "integer"
- },
- "min_time": {
- "example": 1721340854,
- "type": "integer"
- },
- "myself_user_id": {},
- "next_page_token": {
- "example": "eyJtYXhfY3Vyc29yIjoxNzkyMjA2MTA2fQ==",
- "type": "string"
- },
- "offset": {
- "example": 0,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "rec_has_more": {
- "example": true,
- "type": "boolean"
- },
- "status_code": {
- "example": 0,
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/sofascore.TournamentsWithFeatureResponse"
},
- "status_msg": {
- "example": "",
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "total": {
- "example": 11,
- "type": "integer"
}
},
"type": "object"
},
- "tiktokmobile.userOriginalEffectsResponseDoc": {
+ "sofascore.trendingEventsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tiktokmobile.UserOriginalEffectsResponse"
+ "$ref": "#/definitions/sofascore.TrendingEventsResponse"
},
"msg": {
"example": "OK",
@@ -237541,14 +242827,14 @@
},
"type": "object"
},
- "tiktokmobile.userOriginalMusicResponseDoc": {
+ "sofascore.trendingPlayersResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tiktokmobile.UserOriginalMusicResponse"
+ "$ref": "#/definitions/sofascore.TrendingPlayersResponse"
},
"msg": {
"example": "OK",
@@ -237557,14 +242843,14 @@
},
"type": "object"
},
- "tiktokmobile.userPostsResponseDoc": {
+ "sofascore.venueEventsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tiktokmobile.UserPostsResponse"
+ "$ref": "#/definitions/sofascore.VenueEventsResponse"
},
"msg": {
"example": "OK",
@@ -237573,14 +242859,14 @@
},
"type": "object"
},
- "tiktokmobile.userProfileResponseDoc": {
+ "sofascore.venueResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tiktokmobile.UserProfileResponse"
+ "$ref": "#/definitions/sofascore.VenueResponse"
},
"msg": {
"example": "OK",
@@ -237589,140 +242875,139 @@
},
"type": "object"
},
- "tiktokmobile.userRecommendationsResponseDoc": {
+ "sonic.AvailabilityChannel": {
"properties": {
- "extra": {},
- "log_pb": {},
- "status_code": {
- "example": 0,
- "type": "integer"
+ "days": {
+ "items": {
+ "$ref": "#/definitions/sonic.AvailabilityDay"
+ },
+ "type": "array"
},
- "status_msg": {
+ "service_type": {
+ "description": "ServiceType is Sonic's own channel name, e.g. \"ORDER_AHEAD\",\n\"CURBSIDE_PICKUP\", \"DRIVE_THROUGH\", \"DELIVERY\".",
+ "example": "ORDER_AHEAD",
"type": "string"
- },
- "user_list": {
- "items": {},
- "type": "array"
}
},
"type": "object"
},
- "tiktokmobile.videoDetailResponseDoc": {
+ "sonic.AvailabilityDay": {
"properties": {
- "code": {
- "example": 200,
+ "count": {
+ "example": 96,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/tiktokmobile.VideoDetailResponse"
- },
- "msg": {
- "example": "OK",
+ "date": {
+ "example": "2026-09-05",
"type": "string"
+ },
+ "slots": {
+ "items": {
+ "$ref": "#/definitions/sonic.AvailabilitySlot"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "tiktokmobile.videoSubtitlesResponseDoc": {
+ "sonic.AvailabilityResponse": {
"properties": {
- "content_source": {
- "example": "redis",
- "type": "string"
- },
- "cue_count": {
- "example": 9,
- "type": "integer"
- },
- "cues": {
+ "channels": {
"items": {
- "$ref": "#/definitions/tiktokmobile.SubtitleCue"
+ "$ref": "#/definitions/sonic.AvailabilityChannel"
},
"type": "array"
},
"fetched_at": {
"type": "string"
},
- "host": {
- "example": "aggr16-normal.tiktokv.us",
+ "fulfillment": {
+ "example": "PICKUP",
"type": "string"
},
- "language": {
- "example": "en",
- "type": "string"
+ "lead_time_minutes": {
+ "description": "LeadTimeMinutes is the store's prep/handoff buffer before the first\nbookable slot -- the upstream reports it as pickupBuffer on a PICKUP\nquery and deliveryBuffer on a DELIVERY one; both are surfaced here\nunder one name.",
+ "example": 5,
+ "type": "integer"
},
- "variant": {
- "example": "glide_v3_1",
+ "service_types": {
+ "description": "ServiceTypes is every channel the store supports, which is a\nsuperset of the channels that have slots in this response.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "slot_duration_minutes": {
+ "description": "SlotDurationMinutes is how long each window lasts.",
+ "example": 5,
+ "type": "integer"
+ },
+ "source_url": {
"type": "string"
},
- "video_id": {
- "example": "7696141388324293918",
+ "store_id": {
+ "example": "4521",
"type": "string"
},
- "webvtt": {
- "example": "WEBVTT\n\n00:00:00.080 --> 00:00:00.880\nHey.",
+ "timezone": {
+ "example": "America/Denver",
"type": "string"
+ },
+ "total_slots": {
+ "example": 288,
+ "type": "integer"
}
},
"type": "object"
},
- "time.AuthorArticle": {
+ "sonic.AvailabilitySlot": {
"properties": {
- "excerpt": {
- "type": "string"
- },
- "published_at": {
- "type": "string"
- },
- "section": {
- "type": "string"
- },
- "section_url": {
- "type": "string"
- },
- "title": {
+ "end_time": {
+ "example": "2026-09-05T16:50:00Z",
"type": "string"
},
- "url": {
+ "start_time": {
+ "example": "2026-09-05T16:45:00Z",
"type": "string"
}
},
"type": "object"
},
- "time.AuthorResponse": {
+ "sonic.CategoriesResponse": {
"properties": {
- "articles": {
+ "categories": {
"items": {
- "$ref": "#/definitions/time.AuthorArticle"
+ "$ref": "#/definitions/sonic.Category"
},
"type": "array"
},
- "bio": {
- "type": "string"
- },
- "image_url": {
- "type": "string"
- },
- "job_title": {
- "type": "string"
+ "count": {
+ "example": 20,
+ "type": "integer"
},
- "name": {
+ "fetched_at": {
"type": "string"
},
- "social_accounts": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "url": {
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "timesofindia.AuthorArticle": {
+ "sonic.Category": {
"properties": {
- "title": {
+ "name": {
+ "description": "Name is Sonic's own category name where known (see\ncategoryDisplayNames), otherwise a best-effort title-cased form of\nSlug -- see titleCaseSlug's doc comment.",
+ "example": "Tea & Coffee",
+ "type": "string"
+ },
+ "page_count": {
+ "description": "PageCount is the number of subcategory and item pages Sonic's own\nmenu sitemap lists under this category -- a proxy for menu size, not\na deduplicated product count (a size-variant group like \"Coffee\"\ncounts as one page here even though it expands to several orderable\nsizes).",
+ "example": 24,
+ "type": "integer"
+ },
+ "slug": {
+ "example": "tea-coffee",
"type": "string"
},
"url": {
@@ -237731,79 +243016,81 @@
},
"type": "object"
},
- "timesofindia.AuthorResponse": {
+ "sonic.Deal": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/timesofindia.AuthorArticle"
- },
- "type": "array"
- },
- "biography": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "cta_text": {
+ "description": "CTAText is the call-to-action button label, e.g. \"Order Now\".",
+ "example": "Order Now",
+ "type": "string"
},
- "email": {
+ "cta_url": {
+ "description": "CTAURL is the destination the call-to-action links to, absolute for\non-site links.",
+ "example": "https://www.sonicdrivein.com/menu/categories/1-99-menu",
"type": "string"
},
- "image_url": {
+ "description": {
+ "description": "Description is the card's body copy.",
+ "example": "The Jr Bacon Cheeseburger brings crispy bacon, melty cheese, and juicy beef together for just $1.99.",
"type": "string"
},
- "job_title": {
+ "headline": {
+ "description": "Headline is the marketing headline shown on the card.",
+ "example": "BACON MAKES EVERYTHING BETTER",
"type": "string"
},
- "location": {
+ "image_url": {
+ "description": "ImageURL is the promotion's full-resolution creative.",
"type": "string"
},
"name": {
+ "description": "Name is the promotion's public name.",
+ "example": "$1.99 Jr Bacon Cheeseburger",
"type": "string"
},
- "organization": {
+ "section": {
+ "description": "Section is the on-page grouping this deal appeared under, e.g.\n\"Featured Deals\".",
+ "example": "Featured Deals",
"type": "string"
},
- "url": {
+ "terms": {
+ "description": "Terms is the promotion's legal/limitations text when published.",
"type": "string"
}
},
"type": "object"
},
- "timesofisrael.AuthorResponse": {
+ "sonic.DealsResponse": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/newsplatform.HeadlineItem"
- },
- "type": "array"
+ "count": {
+ "example": 3,
+ "type": "integer"
},
- "biography": {
+ "deals": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/sonic.Deal"
},
"type": "array"
},
- "image_url": {
+ "fetched_at": {
"type": "string"
},
- "name": {
+ "heading": {
+ "example": "Featured Sonic Deals",
"type": "string"
},
- "social_links": {
- "items": {
- "$ref": "#/definitions/timesofisrael.AuthorSocialLink"
- },
- "type": "array"
- },
- "url": {
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "timesofisrael.AuthorSocialLink": {
+ "sonic.DeliveryProvider": {
"properties": {
- "type": {
+ "is_active": {
+ "type": "boolean"
+ },
+ "name": {
+ "example": "DoorDash",
"type": "string"
},
"url": {
@@ -237812,1069 +243099,1347 @@
},
"type": "object"
},
- "tmdb.CastCredit": {
+ "sonic.DirectoryCity": {
"properties": {
- "character": {
- "description": "Character the actor plays.",
- "type": "string"
+ "count": {
+ "example": 1,
+ "type": "integer"
},
"name": {
- "description": "Name of the actor.",
+ "example": "Albertville",
"type": "string"
},
"slug": {
- "description": "TMDB person id of the actor.",
+ "description": "Slug is the city segment as it appears in a store path, which is\nthe lowercased form GET /sonic/locations returns.",
+ "example": "albertville",
"type": "string"
}
},
"type": "object"
},
- "tmdb.CollectionResponse": {
+ "sonic.DirectoryCountry": {
"properties": {
- "id": {
+ "count": {
+ "example": 3364,
+ "type": "integer"
+ },
+ "country_code": {
+ "example": "US",
"type": "string"
},
- "movies": {
+ "country_name": {
+ "example": "United States",
+ "type": "string"
+ },
+ "states": {
"items": {
- "$ref": "#/definitions/tmdb.MediaRef"
+ "$ref": "#/definitions/sonic.DirectoryState"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "sonic.DirectoryResponse": {
+ "properties": {
+ "countries": {
+ "items": {
+ "$ref": "#/definitions/sonic.DirectoryCountry"
},
"type": "array"
},
- "overview": {
+ "fetched_at": {
"type": "string"
},
"source_url": {
"type": "string"
},
- "title": {
- "type": "string"
- },
- "uri": {
- "type": "string"
+ "total_count": {
+ "example": 3364,
+ "type": "integer"
}
},
"type": "object"
},
- "tmdb.CrewCredit": {
+ "sonic.DirectoryState": {
"properties": {
- "jobs": {
- "description": "Jobs the person holds on the title, for example `Creator` or `Director`.",
+ "cities": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/sonic.DirectoryCity"
},
"type": "array"
},
- "name": {
- "description": "Name of the crew member.",
+ "code": {
+ "example": "AL",
"type": "string"
},
- "slug": {
- "description": "TMDB person id of the crew member.",
+ "count": {
+ "example": 95,
+ "type": "integer"
+ },
+ "name": {
+ "example": "Alabama",
"type": "string"
}
},
"type": "object"
},
- "tmdb.FilmographyCredit": {
+ "sonic.ItemResponse": {
"properties": {
- "id": {
+ "description": {
+ "example": "Local Favorite! Fluffy egg, melty cheese, and bacon between a toasted bagel.",
"type": "string"
},
- "title": {
+ "fetched_at": {
"type": "string"
},
- "type": {
- "example": "movie",
+ "image_url": {
"type": "string"
},
- "uri": {
+ "name": {
+ "example": "Bacon, Egg and Cheese Bagel",
"type": "string"
- }
- },
- "type": "object"
- },
- "tmdb.Genre": {
- "properties": {
- "id": {
- "example": "18",
+ },
+ "nutrition_guide_url": {
+ "description": "NutritionGuideURL is Sonic's site-wide nutrition/allergen PDF, not a\nper-item document -- every item detail page links the same guide.",
"type": "string"
},
- "name": {
- "example": "Drama",
+ "path": {
"type": "string"
- }
- },
- "type": "object"
- },
- "tmdb.GenresResponse": {
- "properties": {
- "movie": {
- "items": {
- "$ref": "#/definitions/tmdb.Genre"
- },
- "type": "array"
},
"source_url": {
"type": "string"
- },
- "tv": {
- "items": {
- "$ref": "#/definitions/tmdb.Genre"
- },
- "type": "array"
}
},
"type": "object"
},
- "tmdb.MediaRef": {
+ "sonic.LocationEntry": {
"properties": {
- "id": {
- "description": "TMDB id of the movie or TV show. Use it with the movie or TV detail endpoint.",
+ "address_slug": {
+ "example": "2540-dell-range-blvd",
"type": "string"
},
- "overview": {
- "description": "Short plot summary. Not filled in for list and chart results.",
+ "city_slug": {
+ "example": "cheyenne",
"type": "string"
},
- "poster_url": {
- "description": "URL of the poster image. Not filled in for list and chart results.",
+ "country_code": {
+ "example": "US",
"type": "string"
},
- "release_date": {
- "description": "Release or first air date. Not filled in for list and chart results.",
+ "path": {
+ "description": "Path is the ready-made value GET /sonic/store takes.",
+ "example": "locations/us/wy/cheyenne/2540-dell-range-blvd/store-4521",
"type": "string"
},
- "title": {
- "description": "Title of the movie or TV show.",
+ "state_code": {
+ "example": "WY",
"type": "string"
},
- "uri": {
- "description": "Link to the title's page on TMDB.",
+ "store_id": {
+ "example": "4521",
"type": "string"
}
},
"type": "object"
},
- "tmdb.MovieListResponse": {
+ "sonic.LocationSuggestResponse": {
"properties": {
- "category": {
- "type": "string"
+ "count": {
+ "example": 5,
+ "type": "integer"
},
- "has_next_page": {
- "type": "boolean"
+ "country": {
+ "example": "US",
+ "type": "string"
},
- "movies": {
- "items": {
- "$ref": "#/definitions/tmdb.MediaRef"
- },
- "type": "array"
+ "fetched_at": {
+ "type": "string"
},
- "page": {
+ "limit": {
+ "example": 5,
"type": "integer"
},
+ "query": {
+ "example": "cheyenne wy",
+ "type": "string"
+ },
"source_url": {
"type": "string"
+ },
+ "suggestions": {
+ "items": {
+ "$ref": "#/definitions/sonic.LocationSuggestion"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "tmdb.MovieResponse": {
+ "sonic.LocationSuggestion": {
"properties": {
- "budget": {
- "type": "number"
- },
- "cast": {
- "items": {
- "$ref": "#/definitions/tmdb.CastCredit"
- },
- "type": "array"
- },
- "countries": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "city": {
+ "example": "Cheyenne",
+ "type": "string"
},
- "genres": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "confidence": {
+ "description": "Confidence is the geocoder's own match confidence: \"exact\",\n\"interpolated\", or \"fallback\".",
+ "example": "exact",
+ "type": "string"
},
- "homepage": {
+ "country": {
+ "example": "United States",
"type": "string"
},
- "id": {
- "example": "27205",
+ "country_code": {
+ "example": "US",
"type": "string"
},
- "original_language": {
- "example": "English",
+ "county": {
+ "example": "Laramie",
"type": "string"
},
- "overview": {
+ "formatted_address": {
+ "example": "2540 Dell Range Blvd, Cheyenne, WY 82009 US",
"type": "string"
},
- "poster_url": {
+ "label": {
+ "example": "2540 Dell Range Blvd",
"type": "string"
},
- "rating": {
- "$ref": "#/definitions/tmdb.Rating"
+ "latitude": {
+ "example": 41.160549,
+ "type": "number"
},
- "release_date": {
- "example": "2010-07-15",
+ "layer": {
+ "description": "Layer is the match's granularity: \"address\", \"locality\", \"state\",\n\"postalCode\", or \"place\".",
+ "example": "address",
"type": "string"
},
- "revenue": {
+ "longitude": {
+ "example": -104.777671,
"type": "number"
},
- "runtime_minutes": {
- "example": 148,
- "type": "integer"
- },
- "source_url": {
+ "number": {
+ "example": "2540",
"type": "string"
},
- "status": {
- "example": "Released",
+ "postal_code": {
+ "example": "82009",
"type": "string"
},
- "tagline": {
+ "state": {
+ "example": "Wyoming",
"type": "string"
},
- "title": {
- "example": "Inception",
+ "state_code": {
+ "example": "WY",
"type": "string"
},
- "top_crew": {
- "items": {
- "$ref": "#/definitions/tmdb.CrewCredit"
- },
- "type": "array"
- },
- "uri": {
+ "street": {
+ "example": "Dell Range Blvd",
"type": "string"
- },
- "year": {
- "example": 2010,
- "type": "integer"
}
},
"type": "object"
},
- "tmdb.PersonListResponse": {
+ "sonic.LocationsResponse": {
"properties": {
- "has_next_page": {
- "type": "boolean"
+ "city": {
+ "example": "cheyenne",
+ "type": "string"
},
- "page": {
+ "count": {
+ "example": 100,
"type": "integer"
},
- "people": {
+ "fetched_at": {
+ "type": "string"
+ },
+ "locations": {
"items": {
- "$ref": "#/definitions/tmdb.PersonRef"
+ "$ref": "#/definitions/sonic.LocationEntry"
},
"type": "array"
},
+ "page": {
+ "example": 1,
+ "type": "integer"
+ },
+ "page_size": {
+ "example": 100,
+ "type": "integer"
+ },
"source_url": {
"type": "string"
+ },
+ "state": {
+ "example": "WY",
+ "type": "string"
+ },
+ "total": {
+ "example": 5125,
+ "type": "integer"
+ },
+ "total_pages": {
+ "example": 52,
+ "type": "integer"
}
},
"type": "object"
},
- "tmdb.PersonRef": {
+ "sonic.MenuItem": {
"properties": {
- "id": {
- "type": "string"
- },
- "known_for": {
- "type": "string"
+ "calories": {
+ "description": "Calories is Sonic's own published calorie count. A genuine 0 (seen on\na few drink entries in this source) means Sonic did not publish a\ncount for that entry, not that the item has zero calories.",
+ "example": 530,
+ "type": "integer"
},
"name": {
- "type": "string"
- },
- "profile_url": {
- "type": "string"
- },
- "uri": {
+ "example": "Bacon, Egg and Cheese Bagel",
"type": "string"
}
},
"type": "object"
},
- "tmdb.PersonResponse": {
+ "sonic.MenuResponse": {
"properties": {
- "biography": {
+ "category": {
+ "example": "breakfast",
"type": "string"
},
- "birth_date": {
- "example": "1956-07-09",
+ "count": {
+ "example": 24,
+ "type": "integer"
+ },
+ "fetched_at": {
"type": "string"
},
- "filmography": {
+ "items": {
"items": {
- "$ref": "#/definitions/tmdb.FilmographyCredit"
+ "$ref": "#/definitions/sonic.MenuItem"
},
"type": "array"
},
- "id": {
- "example": "31",
- "type": "string"
- },
- "name": {
- "example": "Tom Hanks",
- "type": "string"
- },
- "photo_url": {
- "type": "string"
- },
"source_url": {
"type": "string"
- },
- "uri": {
- "type": "string"
}
},
"type": "object"
},
- "tmdb.Rating": {
+ "sonic.NearbyResponse": {
"properties": {
- "average": {
- "description": "Average TMDB user rating, on a 0 to 10 scale.",
- "example": 8.372,
+ "fetched_at": {
+ "type": "string"
+ },
+ "is_last_page": {
+ "type": "boolean"
+ },
+ "latitude": {
+ "example": 35.4676,
"type": "number"
},
- "count": {
- "description": "Number of user ratings behind the average.",
- "example": 39524,
+ "limit": {
+ "example": 10,
"type": "integer"
},
- "review_count": {
- "description": "Number of written user reviews. Omitted when TMDB shows none.",
- "example": 8,
+ "longitude": {
+ "example": -97.5164,
+ "type": "number"
+ },
+ "page": {
+ "example": 0,
+ "type": "integer"
+ },
+ "radius_miles": {
+ "example": 25,
+ "type": "integer"
+ },
+ "returned_count": {
+ "example": 10,
+ "type": "integer"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "stores": {
+ "items": {
+ "$ref": "#/definitions/sonic.NearbyStore"
+ },
+ "type": "array"
+ },
+ "total_pages": {
+ "example": 2,
+ "type": "integer"
+ },
+ "total_stores": {
+ "example": 17,
"type": "integer"
}
},
"type": "object"
},
- "tmdb.SearchResponse": {
+ "sonic.NearbyStore": {
"properties": {
- "has_next_page": {
- "description": "True when more pages of results are available.",
+ "address": {
+ "$ref": "#/definitions/sonic.StoreAddress"
+ },
+ "amenities": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "delivery_providers": {
+ "items": {
+ "$ref": "#/definitions/sonic.DeliveryProvider"
+ },
+ "type": "array"
+ },
+ "display_name": {
+ "example": "2540 Dell Range Blvd, Cheyenne, WY",
+ "type": "string"
+ },
+ "distance_miles": {
+ "example": 3.45,
+ "type": "number"
+ },
+ "has_drive_through": {
"type": "boolean"
},
- "page": {
- "description": "Page number returned.",
- "type": "integer"
+ "hours": {
+ "items": {
+ "$ref": "#/definitions/sonic.StoreHours"
+ },
+ "type": "array"
},
- "query": {
- "description": "Search text that was run.",
+ "is_delivery_enabled": {
+ "type": "boolean"
+ },
+ "is_digitally_enabled": {
+ "type": "boolean"
+ },
+ "latitude": {
+ "example": 41.160531,
+ "type": "number"
+ },
+ "longitude": {
+ "example": -104.777659,
+ "type": "number"
+ },
+ "phone": {
+ "example": "307-632-9188",
"type": "string"
},
- "results": {
- "description": "Search hits on this page, one item per movie, TV show, person or collection.",
+ "service_hours": {
"items": {
- "$ref": "#/definitions/tmdb.SearchResult"
+ "$ref": "#/definitions/sonic.StoreServiceHours"
},
"type": "array"
},
- "source_url": {
- "description": "URL the data was read from.",
+ "status": {
+ "example": "OPEN",
"type": "string"
},
- "type": {
- "description": "Result type the search was limited to: `movie`, `tv`, `person` or `collection`. Omitted for a mixed search.",
+ "store_id": {
+ "example": "4521",
+ "type": "string"
+ },
+ "timezone": {
+ "example": "America/Denver",
"type": "string"
}
},
"type": "object"
},
- "tmdb.SearchResult": {
+ "sonic.NutritionDocument": {
"properties": {
- "id": {
- "description": "TMDB id of the hit. Use it with the matching detail endpoint.",
+ "category": {
+ "description": "Category is the heading the document is grouped under. It usually\nmatches Name, since most groups hold a single document.",
+ "example": "Nutrition Guide",
"type": "string"
},
- "overview": {
- "description": "Short plot summary or description. Present for movie, TV and collection hits.",
+ "content_type": {
+ "description": "ContentType is the document's MIME type, in practice\n\"application/pdf\".",
+ "example": "application/pdf",
"type": "string"
},
- "release_date": {
- "description": "Release or first air date as TMDB shows it. Present for movie and TV hits.",
+ "file_name": {
+ "example": "61667-1_FEE_0926_Nutrition.pdf",
+ "type": "string"
+ },
+ "name": {
+ "description": "Name is the label Sonic gives the document on the page, e.g.\n\"Nutrition Guide\" or \"Allergen Info\".",
+ "example": "Nutrition Guide",
"type": "string"
},
+ "size_bytes": {
+ "description": "SizeBytes is the file size. These are large print-ready PDFs --\nseveral megabytes each -- so callers may want it before fetching.",
+ "example": 14351111,
+ "type": "integer"
+ },
"title": {
- "description": "Title of the movie, TV show or collection, or name of the person.",
+ "example": "61131-13 SUM26 NAT WOP-English FA cp WCAG",
"type": "string"
},
- "type": {
- "description": "Kind of hit: `movie`, `tv`, `person` or `collection`.",
- "example": "movie",
+ "updated_at": {
+ "description": "UpdatedAt is when Sonic last republished the file.",
+ "example": "2026-06-30T16:45:09.549Z",
"type": "string"
},
- "uri": {
- "description": "Link to the hit's page on TMDB.",
+ "url": {
+ "example": "https://downloads.ctfassets.net/.../nutrition-guide.pdf",
"type": "string"
}
},
"type": "object"
},
- "tmdb.TVListResponse": {
+ "sonic.NutritionDocumentsResponse": {
"properties": {
- "category": {
- "description": "TV chart that was returned: `popular`, `top_rated`, `airing_today` or `on_the_air`.",
- "type": "string"
- },
- "has_next_page": {
- "description": "True when more pages of shows are available.",
- "type": "boolean"
- },
- "page": {
- "description": "Page number returned.",
+ "count": {
+ "example": 5,
"type": "integer"
},
- "shows": {
- "description": "TV shows on this page, one item per show.",
+ "documents": {
"items": {
- "$ref": "#/definitions/tmdb.MediaRef"
+ "$ref": "#/definitions/sonic.NutritionDocument"
},
"type": "array"
},
+ "fetched_at": {
+ "type": "string"
+ },
+ "heading": {
+ "example": "Sonic Nutrition & Allergen Information",
+ "type": "string"
+ },
"source_url": {
- "description": "URL the data was read from.",
"type": "string"
}
},
"type": "object"
},
- "tmdb.TVResponse": {
+ "sonic.SitemapEntry": {
"properties": {
- "cast": {
- "description": "Top-billed cast, up to 25 credits.",
+ "kind": {
+ "description": "Kind classifies the page -- see SitemapOption.Kind's enum per section.",
+ "example": "item",
+ "type": "string"
+ },
+ "path": {
+ "description": "Path is the site-relative path (no leading/trailing slash), the\nshape /sonic/menu's category param and /sonic/item's path param take\nfor \"menu\" section entries, and /sonic/store's path param takes for\n\"locations\" section \"store\" entries.",
+ "example": "menu/categories/breakfast/local-breakfast-favorites/bacon-egg-and-cheese-bagel",
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sonic.SitemapResponse": {
+ "properties": {
+ "count": {
+ "example": 100,
+ "type": "integer"
+ },
+ "entries": {
"items": {
- "$ref": "#/definitions/tmdb.CastCredit"
+ "$ref": "#/definitions/sonic.SitemapEntry"
},
"type": "array"
},
- "countries": {
- "description": "Countries the show comes from.",
+ "fetched_at": {
+ "type": "string"
+ },
+ "page": {
+ "example": 1,
+ "type": "integer"
+ },
+ "section": {
+ "example": "menu",
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "total": {
+ "example": 298,
+ "type": "integer"
+ },
+ "total_pages": {
+ "example": 3,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "sonic.StoreAddress": {
+ "properties": {
+ "city": {
+ "example": "Cheyenne",
+ "type": "string"
+ },
+ "country": {
+ "example": "US",
+ "type": "string"
+ },
+ "line1": {
+ "example": "2540 Dell Range Blvd",
+ "type": "string"
+ },
+ "line2": {
+ "type": "string"
+ },
+ "postal_code": {
+ "example": "82009",
+ "type": "string"
+ },
+ "state": {
+ "example": "WY",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sonic.StoreHours": {
+ "properties": {
+ "closes": {
+ "example": "21:45",
+ "type": "string"
+ },
+ "day_of_week": {
+ "example": "MONDAY",
+ "type": "string"
+ },
+ "is_24_hour": {
+ "type": "boolean"
+ },
+ "opens": {
+ "example": "07:00",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sonic.StoreResponse": {
+ "properties": {
+ "address": {
+ "$ref": "#/definitions/sonic.StoreAddress"
+ },
+ "amenities": {
"items": {
"type": "string"
},
"type": "array"
},
- "first_air_year": {
- "description": "Year the show first aired.",
- "example": 2008,
- "type": "integer"
- },
- "genres": {
- "description": "Genres of the show.",
+ "delivery_providers": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/sonic.DeliveryProvider"
},
"type": "array"
},
- "homepage": {
- "description": "URL of the show's official website.",
+ "display_name": {
+ "example": "2540 Dell Range Blvd, Cheyenne, WY",
"type": "string"
},
- "id": {
- "description": "TMDB id of the TV show.",
- "example": "1396",
+ "fetched_at": {
"type": "string"
},
- "last_air_year": {
- "description": "Year the show last aired. Omitted for shows still airing.",
- "example": 2013,
- "type": "integer"
+ "has_drive_through": {
+ "type": "boolean"
},
- "number_of_episodes": {
- "description": "Total number of episodes.",
- "example": 62,
- "type": "integer"
+ "hours": {
+ "items": {
+ "$ref": "#/definitions/sonic.StoreHours"
+ },
+ "type": "array"
},
- "original_language": {
- "description": "Original language of the show, for example `English`.",
- "example": "English",
- "type": "string"
+ "is_delivery_enabled": {
+ "type": "boolean"
},
- "overview": {
- "description": "Plot summary of the show.",
+ "is_digitally_enabled": {
+ "type": "boolean"
+ },
+ "latitude": {
+ "example": 41.160531,
+ "type": "number"
+ },
+ "longitude": {
+ "example": -104.777659,
+ "type": "number"
+ },
+ "path": {
"type": "string"
},
- "poster_url": {
- "description": "URL of the poster image.",
+ "phone": {
+ "example": "307-632-9188",
"type": "string"
},
- "rating": {
- "allOf": [
- {
- "$ref": "#/definitions/tmdb.Rating"
- }
- ],
- "description": "Aggregate TMDB user rating for the show."
+ "service_hours": {
+ "items": {
+ "$ref": "#/definitions/sonic.StoreServiceHours"
+ },
+ "type": "array"
},
"source_url": {
- "description": "URL the data was read from.",
"type": "string"
},
"status": {
- "description": "Production status of the show, for example `Ended`.",
- "example": "Ended",
+ "example": "OPEN",
"type": "string"
},
- "tagline": {
- "description": "Tagline of the show.",
+ "store_id": {
+ "example": "4521",
"type": "string"
},
- "title": {
- "description": "Title of the show.",
- "example": "Breaking Bad",
+ "timezone": {
+ "example": "America/Denver",
"type": "string"
- },
- "top_crew": {
- "description": "Top-billed crew, such as the creator.",
+ }
+ },
+ "type": "object"
+ },
+ "sonic.StoreServiceHours": {
+ "properties": {
+ "hours": {
"items": {
- "$ref": "#/definitions/tmdb.CrewCredit"
+ "$ref": "#/definitions/sonic.StoreHours"
},
"type": "array"
},
- "uri": {
- "description": "Link to the show's page on TMDB.",
+ "is_fulfillment": {
+ "type": "boolean"
+ },
+ "is_tipping_enabled": {
+ "type": "boolean"
+ },
+ "type": {
+ "description": "Type is Sonic's own channel name, e.g. \"ORDER_AHEAD\", \"PICKUP\",\n\"CURBSIDE_PICKUP\", \"STORE\", \"DELIVERY\", \"DRIVE_THROUGH\".",
+ "example": "DRIVE_THROUGH",
"type": "string"
}
},
"type": "object"
},
- "tmdb.collectionResponseDoc": {
+ "sonic.availabilityResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tmdb.CollectionResponse"
+ "$ref": "#/definitions/sonic.AvailabilityResponse"
},
"msg": {
- "example": "OK",
- "type": "string"
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "tmdb.genresResponseDoc": {
+ "sonic.categoriesResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tmdb.GenresResponse"
+ "$ref": "#/definitions/sonic.CategoriesResponse"
},
"msg": {
- "example": "OK",
- "type": "string"
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "tmdb.movieListResponseDoc": {
+ "sonic.dealsResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tmdb.MovieListResponse"
+ "$ref": "#/definitions/sonic.DealsResponse"
},
"msg": {
- "example": "OK",
- "type": "string"
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "tmdb.movieResponseDoc": {
+ "sonic.directoryResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tmdb.MovieResponse"
+ "$ref": "#/definitions/sonic.DirectoryResponse"
},
"msg": {
- "example": "OK",
- "type": "string"
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "tmdb.personListResponseDoc": {
+ "sonic.itemResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tmdb.PersonListResponse"
+ "$ref": "#/definitions/sonic.ItemResponse"
},
"msg": {
- "example": "OK",
- "type": "string"
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "tmdb.personResponseDoc": {
+ "sonic.locationSuggestResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tmdb.PersonResponse"
+ "$ref": "#/definitions/sonic.LocationSuggestResponse"
},
"msg": {
- "example": "OK",
- "type": "string"
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "tmdb.searchResponseDoc": {
+ "sonic.locationsResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tmdb.SearchResponse"
+ "$ref": "#/definitions/sonic.LocationsResponse"
},
"msg": {
- "example": "OK",
- "type": "string"
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "tmdb.tvListResponseDoc": {
+ "sonic.menuResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tmdb.TVListResponse"
+ "$ref": "#/definitions/sonic.MenuResponse"
},
"msg": {
- "example": "OK",
- "type": "string"
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "tmdb.tvResponseDoc": {
+ "sonic.nearbyResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tmdb.TVResponse"
+ "$ref": "#/definitions/sonic.NearbyResponse"
},
"msg": {
- "example": "OK",
- "type": "string"
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "tmz.AuthorArticle": {
+ "sonic.nutritionDocumentsResponseDoc": {
"properties": {
- "image_url": {
- "type": "string"
- },
- "published_at": {
- "type": "string"
- },
- "summary": {
- "type": "string"
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
},
- "title": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/sonic.NutritionDocumentsResponse"
},
- "url": {
- "type": "string"
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "tmz.AuthorResponse": {
+ "sonic.sitemapResponseDoc": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/tmz.AuthorArticle"
- },
- "type": "array"
- },
- "name": {
- "type": "string"
- },
- "page": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
- "slug": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/sonic.SitemapResponse"
},
- "url": {
- "type": "string"
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "tokopedia.AutocompleteResponse": {
+ "sonic.storeResponseDoc": {
"properties": {
- "browser_rendered": {
- "type": "boolean"
- },
- "fetched_at": {
- "type": "string"
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
},
- "query": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/sonic.StoreResponse"
},
- "suggestions": {
- "items": {
- "$ref": "#/definitions/tokopedia.Suggestion"
- },
- "type": "array"
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "tokopedia.CategoryResponse": {
+ "soundcloud.Playlist": {
"properties": {
- "category_path": {
+ "artwork_url": {
"type": "string"
},
- "fetched_at": {
+ "created_at": {
"type": "string"
},
- "products": {
- "items": {
- "$ref": "#/definitions/tokopedia.Product"
- },
- "type": "array"
+ "description": {
+ "type": "string"
},
- "source_url": {
+ "genre": {
"type": "string"
- }
- },
- "type": "object"
- },
- "tokopedia.HomeResponse": {
- "properties": {
- "browser_rendered": {
+ },
+ "id": {
+ "type": "integer"
+ },
+ "is_album": {
"type": "boolean"
},
- "fetched_at": {
+ "likes_count": {
+ "example": 1024,
+ "type": "integer"
+ },
+ "owner": {
+ "$ref": "#/definitions/soundcloud.Uploader"
+ },
+ "permalink_url": {
"type": "string"
},
- "has_next_page": {
+ "public": {
+ "example": true,
"type": "boolean"
},
- "page": {
+ "reposts_count": {
"type": "integer"
},
- "products": {
+ "tag_list": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "track_count": {
+ "example": 416,
+ "type": "integer"
+ },
+ "tracks": {
"items": {
- "$ref": "#/definitions/tokopedia.Product"
+ "$ref": "#/definitions/soundcloud.Track"
},
"type": "array"
- },
- "tab": {
- "$ref": "#/definitions/tokopedia.HomeTab"
}
},
"type": "object"
},
- "tokopedia.HomeTab": {
+ "soundcloud.Profile": {
"properties": {
+ "avatar_url": {
+ "type": "string"
+ },
+ "city": {
+ "type": "string"
+ },
+ "country_code": {
+ "example": "US",
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "followers_count": {
+ "example": 255531,
+ "type": "integer"
+ },
+ "followings_count": {
+ "example": 634,
+ "type": "integer"
+ },
+ "full_name": {
+ "type": "string"
+ },
"id": {
+ "type": "integer"
+ },
+ "likes_count": {
+ "example": 1032,
+ "type": "integer"
+ },
+ "permalink": {
"type": "string"
},
- "image_url": {
+ "permalink_url": {
"type": "string"
},
- "name": {
+ "playlist_count": {
+ "example": 27,
+ "type": "integer"
+ },
+ "track_count": {
+ "example": 712,
+ "type": "integer"
+ },
+ "username": {
"type": "string"
+ },
+ "verified": {
+ "type": "boolean"
}
},
"type": "object"
},
- "tokopedia.HomeTabsResponse": {
+ "soundcloud.SearchResponse": {
"properties": {
- "fetched_at": {
+ "count": {
+ "example": 20,
+ "type": "integer"
+ },
+ "query": {
"type": "string"
},
- "tabs": {
+ "tracks": {
"items": {
- "$ref": "#/definitions/tokopedia.HomeTab"
+ "$ref": "#/definitions/soundcloud.Track"
},
"type": "array"
}
},
"type": "object"
},
- "tokopedia.Product": {
+ "soundcloud.Track": {
"properties": {
- "image_url": {
+ "artwork_url": {
"type": "string"
},
- "name": {
+ "comment_count": {
+ "example": 57,
+ "type": "integer"
+ },
+ "created_at": {
+ "example": "2021-06-14T15:40:10Z",
"type": "string"
},
- "price": {
+ "description": {
+ "type": "string"
+ },
+ "duration_ms": {
+ "example": 165218,
"type": "integer"
},
- "price_text": {
+ "genre": {
"type": "string"
},
- "rating": {
- "type": "string"
+ "id": {
+ "type": "integer"
},
- "shop_city": {
+ "likes_count": {
+ "example": 10101,
+ "type": "integer"
+ },
+ "permalink_url": {
"type": "string"
},
- "shop_name": {
+ "playback_count": {
+ "example": 2593224,
+ "type": "integer"
+ },
+ "public": {
+ "example": true,
+ "type": "boolean"
+ },
+ "reposts_count": {
+ "example": 196,
+ "type": "integer"
+ },
+ "streamable": {
+ "example": true,
+ "type": "boolean"
+ },
+ "tag_list": {
"type": "string"
},
- "url": {
+ "title": {
"type": "string"
+ },
+ "uploader": {
+ "$ref": "#/definitions/soundcloud.Uploader"
}
},
"type": "object"
},
- "tokopedia.ProductDetail": {
+ "soundcloud.Uploader": {
"properties": {
- "browser_rendered": {
- "type": "boolean"
- },
- "description": {
+ "avatar_url": {
"type": "string"
},
- "discount_percent": {
+ "city": {
"type": "string"
},
- "fetched_at": {
- "type": "string"
+ "followers_count": {
+ "example": 220,
+ "type": "integer"
},
- "images": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "id": {
+ "type": "integer"
},
- "name": {
+ "permalink": {
"type": "string"
},
- "original_price": {
+ "permalink_url": {
"type": "string"
},
- "price": {
+ "track_count": {
+ "example": 12,
"type": "integer"
},
- "price_text": {
- "type": "string"
- },
- "product_id": {
+ "username": {
"type": "string"
},
- "product_key": {
- "type": "string"
+ "verified": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "soundcloud.UserTracksResponse": {
+ "properties": {
+ "count": {
+ "example": 20,
+ "type": "integer"
},
- "shop_domain": {
+ "profile_url": {
"type": "string"
},
- "source_url": {
- "type": "string"
+ "tracks": {
+ "items": {
+ "$ref": "#/definitions/soundcloud.Track"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "tokopedia.ReviewFilterAvailability": {
+ "soundcloud.playlistResponseDoc": {
"properties": {
- "available": {
- "type": "boolean"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "key": {
+ "data": {
+ "$ref": "#/definitions/soundcloud.Playlist"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "tokopedia.ReviewFiltersResponse": {
+ "soundcloud.profileResponseDoc": {
"properties": {
- "browser_rendered": {
- "type": "boolean"
- },
- "fetched_at": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "media": {
- "items": {
- "$ref": "#/definitions/tokopedia.ReviewFilterAvailability"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/soundcloud.Profile"
},
- "product_id": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "ratings": {
- "items": {
- "$ref": "#/definitions/tokopedia.ReviewFilterAvailability"
- },
- "type": "array"
- },
- "topics": {
- "items": {
- "$ref": "#/definitions/tokopedia.ReviewFilterAvailability"
- },
- "type": "array"
}
},
"type": "object"
},
- "tokopedia.SearchFilter": {
+ "soundcloud.searchResponseDoc": {
"properties": {
- "options": {
- "items": {
- "$ref": "#/definitions/tokopedia.SearchFilterOption"
- },
- "type": "array"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "placeholder": {
+ "data": {
+ "$ref": "#/definitions/soundcloud.SearchResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "soundcloud.trackResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "searchable": {
- "type": "boolean"
+ "data": {
+ "$ref": "#/definitions/soundcloud.Track"
},
- "template": {
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "soundcloud.userTracksResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "title": {
+ "data": {
+ "$ref": "#/definitions/soundcloud.UserTracksResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "tokopedia.SearchFilterOption": {
+ "space.AuthorResponse": {
"properties": {
- "children": {
+ "articles": {
"items": {
- "$ref": "#/definitions/tokopedia.SearchFilterOption"
+ "$ref": "#/definitions/newsplatform.HeadlineItem"
},
"type": "array"
},
- "description": {
- "type": "string"
+ "biography": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "hex_color": {
+ "image_url": {
"type": "string"
},
- "icon": {
+ "job_title": {
"type": "string"
},
- "input_type": {
+ "name": {
"type": "string"
},
- "key": {
+ "slug": {
"type": "string"
},
- "max": {
+ "url": {
"type": "string"
- },
- "min": {
+ }
+ },
+ "type": "object"
+ },
+ "sparkfun.CategoriesResponse": {
+ "properties": {
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/sparkfun.Category"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "sparkfun.Category": {
+ "properties": {
+ "id": {
"type": "string"
},
"name": {
"type": "string"
},
- "total_data": {
+ "url_key": {
"type": "string"
},
- "value": {
+ "url_path": {
"type": "string"
}
},
"type": "object"
},
- "tokopedia.SearchFiltersResponse": {
+ "sparkfun.CategoryResponse": {
"properties": {
- "fetched_at": {
- "type": "string"
+ "category": {
+ "$ref": "#/definitions/sparkfun.Category"
},
"filters": {
"items": {
- "$ref": "#/definitions/tokopedia.SearchFilter"
+ "$ref": "#/definitions/sparkfun.Filter"
},
"type": "array"
},
- "query": {
- "type": "string"
+ "page": {
+ "type": "integer"
},
- "sorts": {
+ "per_page": {
+ "type": "integer"
+ },
+ "products": {
"items": {
- "$ref": "#/definitions/tokopedia.SearchSort"
+ "$ref": "#/definitions/sparkfun.Product"
},
"type": "array"
+ },
+ "total": {
+ "type": "integer"
+ },
+ "total_pages": {
+ "type": "integer"
}
},
"type": "object"
},
- "tokopedia.SearchResponse": {
+ "sparkfun.Filter": {
"properties": {
- "browser_rendered": {
- "type": "boolean"
- },
- "fetched_at": {
+ "attribute": {
"type": "string"
},
- "page": {
- "type": "integer"
+ "label": {
+ "type": "string"
},
- "products": {
+ "options": {
"items": {
- "$ref": "#/definitions/tokopedia.Product"
+ "$ref": "#/definitions/sparkfun.FilterOption"
},
"type": "array"
- },
- "query": {
- "type": "string"
- },
- "sort": {
- "type": "integer"
- },
- "source_url": {
- "type": "string"
}
},
"type": "object"
},
- "tokopedia.SearchSort": {
+ "sparkfun.FilterOption": {
"properties": {
- "apply_filter": {
- "type": "string"
- },
- "input_type": {
- "type": "string"
- },
- "key": {
- "type": "string"
+ "count": {
+ "type": "integer"
},
- "name": {
+ "label": {
"type": "string"
},
"value": {
@@ -238883,12 +244448,9 @@
},
"type": "object"
},
- "tokopedia.Suggestion": {
+ "sparkfun.Image": {
"properties": {
- "is_ad": {
- "type": "boolean"
- },
- "text": {
+ "label": {
"type": "string"
},
"url": {
@@ -238897,62 +244459,112 @@
},
"type": "object"
},
- "tokopedia.autocompleteResponseDoc": {
+ "sparkfun.Price": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "currency": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/tokopedia.AutocompleteResponse"
+ "value": {
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "sparkfun.Product": {
+ "properties": {
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/sparkfun.Category"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "description": {
+ "type": "string"
+ },
+ "image": {
+ "$ref": "#/definitions/sparkfun.Image"
+ },
+ "media": {
+ "items": {
+ "$ref": "#/definitions/sparkfun.Image"
+ },
+ "type": "array"
+ },
+ "name": {
+ "type": "string"
+ },
+ "price": {
+ "$ref": "#/definitions/sparkfun.Price"
+ },
+ "recommendations": {
+ "items": {
+ "$ref": "#/definitions/sparkfun.ProductRecommendation"
+ },
+ "type": "array"
+ },
+ "sku": {
+ "type": "string"
+ },
+ "stock_status": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "tokopedia.categoryResponseDoc": {
+ "sparkfun.ProductRecommendation": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/tokopedia.CategoryResponse"
+ "product": {
+ "$ref": "#/definitions/sparkfun.Product"
},
- "msg": {
- "example": "OK",
+ "relation": {
"type": "string"
}
},
"type": "object"
},
- "tokopedia.homeResponseDoc": {
+ "sparkfun.SearchResponse": {
"properties": {
- "code": {
- "example": 200,
+ "filters": {
+ "items": {
+ "$ref": "#/definitions/sparkfun.Filter"
+ },
+ "type": "array"
+ },
+ "page": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/tokopedia.HomeResponse"
+ "per_page": {
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "products": {
+ "items": {
+ "$ref": "#/definitions/sparkfun.Product"
+ },
+ "type": "array"
+ },
+ "query": {
"type": "string"
+ },
+ "total": {
+ "type": "integer"
+ },
+ "total_pages": {
+ "type": "integer"
}
},
"type": "object"
},
- "tokopedia.homeTabsResponseDoc": {
+ "sparkfun.categoriesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tokopedia.HomeTabsResponse"
+ "$ref": "#/definitions/sparkfun.CategoriesResponse"
},
"msg": {
"example": "OK",
@@ -238961,14 +244573,14 @@
},
"type": "object"
},
- "tokopedia.productResponseDoc": {
+ "sparkfun.categoryResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tokopedia.ProductDetail"
+ "$ref": "#/definitions/sparkfun.CategoryResponse"
},
"msg": {
"example": "OK",
@@ -238977,14 +244589,14 @@
},
"type": "object"
},
- "tokopedia.reviewFiltersResponseDoc": {
+ "sparkfun.productResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tokopedia.ReviewFiltersResponse"
+ "$ref": "#/definitions/sparkfun.Product"
},
"msg": {
"example": "OK",
@@ -238993,14 +244605,14 @@
},
"type": "object"
},
- "tokopedia.searchFiltersResponseDoc": {
+ "sparkfun.searchResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tokopedia.SearchFiltersResponse"
+ "$ref": "#/definitions/sparkfun.SearchResponse"
},
"msg": {
"example": "OK",
@@ -239009,66 +244621,88 @@
},
"type": "object"
},
- "tokopedia.searchResponseDoc": {
+ "speedrun.OptionsResponseDoc": {
"properties": {
"code": {
- "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/tokopedia.SearchResponse"
+ "additionalProperties": {
+ "$ref": "#/definitions/speedrun.ResourceOption"
+ },
+ "type": "object"
},
"msg": {
- "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "tomsguide.AuthorResponse": {
+ "speedrun.ResourceOption": {
"properties": {
- "articles": {
+ "catalog_paths": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "directions": {
"items": {
- "$ref": "#/definitions/newsplatform.HeadlineItem"
+ "type": "string"
},
"type": "array"
},
- "biography": {
+ "embeds": {
"items": {
"type": "string"
},
"type": "array"
},
- "has_next_page": {
- "type": "boolean"
- },
- "job_title": {
- "type": "string"
- },
- "name": {
- "type": "string"
- },
- "page": {
- "type": "integer"
- },
- "slug": {
- "type": "string"
+ "orderby": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "social_links": {
+ "timing": {
"items": {
- "$ref": "#/definitions/tomsguide.AuthorSocialLink"
+ "type": "string"
},
"type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "speedrun.ResponseDoc": {
+ "properties": {
+ "code": {
+ "type": "integer"
},
- "url": {
+ "data": {
+ "additionalProperties": true,
+ "type": "object"
+ },
+ "msg": {
"type": "string"
}
},
"type": "object"
},
- "tomsguide.AuthorSocialLink": {
+ "sportingnews.AuthorArticle": {
"properties": {
- "platform": {
+ "author": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "published_at": {
+ "type": "string"
+ },
+ "section": {
+ "type": "string"
+ },
+ "title": {
"type": "string"
},
"url": {
@@ -239077,38 +244711,29 @@
},
"type": "object"
},
- "tomshardware.AuthorResponse": {
+ "sportingnews.AuthorResponse": {
"properties": {
"articles": {
"items": {
- "$ref": "#/definitions/newsplatform.HeadlineItem"
- },
- "type": "array"
- },
- "biography": {
- "items": {
- "type": "string"
+ "$ref": "#/definitions/sportingnews.AuthorArticle"
},
"type": "array"
},
- "has_next_page": {
- "type": "boolean"
+ "bio": {
+ "type": "string"
},
- "job_title": {
+ "image_url": {
"type": "string"
},
"name": {
"type": "string"
},
- "page": {
- "type": "integer"
- },
"slug": {
"type": "string"
},
"social_links": {
"items": {
- "$ref": "#/definitions/tomshardware.AuthorSocialLink"
+ "type": "string"
},
"type": "array"
},
@@ -239118,1421 +244743,807 @@
},
"type": "object"
},
- "tomshardware.AuthorSocialLink": {
+ "sportsbook.Event": {
"properties": {
- "platform": {
+ "id": {
"type": "string"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "torontostar.AuthorArticle": {
- "properties": {
- "published_at": {
- "type": "string"
+ "markets": {
+ "items": {
+ "$ref": "#/definitions/sportsbook.Market"
+ },
+ "type": "array"
},
- "summary": {
+ "name": {
+ "example": "CAR Panthers @ BUF Bills",
"type": "string"
},
- "title": {
+ "participants": {
+ "items": {
+ "$ref": "#/definitions/sportsbook.Participant"
+ },
+ "type": "array"
+ },
+ "start_time": {
"type": "string"
},
- "url": {
+ "status": {
+ "example": "NOT_STARTED",
"type": "string"
}
},
"type": "object"
},
- "torontostar.AuthorResponse": {
+ "sportsbook.EventContextResponse": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/torontostar.AuthorArticle"
- },
- "type": "array"
- },
- "bio": {
+ "event_id": {
+ "example": "34522271",
"type": "string"
},
- "image_url": {
+ "event_seo_id": {
+ "example": "chi-white-sox-@-det-tigers",
"type": "string"
},
- "job_title": {
+ "fetched_at": {
"type": "string"
},
- "location": {
+ "league_id": {
+ "example": "84240",
"type": "string"
},
- "name": {
+ "league_seo_id": {
+ "example": "mlb",
"type": "string"
},
- "slug": {
+ "source_url": {
"type": "string"
},
- "topics": {
+ "sport_id": {
+ "example": "7",
"type": "string"
},
- "url": {
+ "sport_seo_id": {
+ "example": "baseball",
"type": "string"
}
},
"type": "object"
},
- "townhall.AuthorArticle": {
+ "sportsbook.EventMarketsResponse": {
"properties": {
- "image_url": {
- "type": "string"
+ "count": {
+ "type": "integer"
},
- "published_at": {
+ "event_id": {
"type": "string"
},
- "section": {
+ "fetched_at": {
"type": "string"
},
- "title": {
- "type": "string"
+ "markets": {
+ "items": {
+ "$ref": "#/definitions/sportsbook.Market"
+ },
+ "type": "array"
},
- "url": {
+ "source_url": {
"type": "string"
},
- "vip": {
- "description": "VIP is true when Townhall marks the story with its VIP badge, meaning\nonly the lead paragraph is free (see Article's paywalled flag).",
- "type": "boolean"
+ "subcategory_id": {
+ "type": "string"
}
},
"type": "object"
},
- "townhall.AuthorResponse": {
+ "sportsbook.EventResponse": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/townhall.AuthorArticle"
- },
- "type": "array"
+ "fetched_at": {
+ "type": "string"
},
- "bio": {
+ "id": {
"type": "string"
},
- "image_url": {
+ "league_id": {
+ "example": "84240",
"type": "string"
},
"name": {
+ "example": "CAR Panthers @ BUF Bills",
"type": "string"
},
- "slug": {
+ "participants": {
+ "items": {
+ "$ref": "#/definitions/sportsbook.Participant"
+ },
+ "type": "array"
+ },
+ "source_url": {
"type": "string"
},
- "url": {
+ "sport_id": {
+ "example": "7",
"type": "string"
},
- "x_url": {
+ "start_time": {
+ "type": "string"
+ },
+ "status": {
+ "example": "NOT_STARTED",
"type": "string"
}
},
"type": "object"
},
- "trends.ExploreQueriesResponse": {
+ "sportsbook.FeaturedLeague": {
"properties": {
- "category": {
- "description": "Trends category ID that was applied. `0` means all categories.",
- "example": 0,
+ "featured_order": {
+ "example": 4855,
"type": "integer"
},
- "geo": {
- "description": "Location code the data covers, such as `US`.",
- "example": "US",
+ "has_live_offers": {
+ "type": "boolean"
+ },
+ "id": {
+ "example": "84240",
"type": "string"
},
- "hl": {
- "description": "Locale that was applied, such as `en-US`.",
- "example": "en-US",
+ "name": {
+ "example": "MLB",
"type": "string"
},
- "keywords": {
- "description": "Keywords that were compared.",
+ "slug": {
+ "example": "mlb",
+ "type": "string"
+ },
+ "sport": {
+ "example": "Baseball",
+ "type": "string"
+ },
+ "sport_id": {
+ "example": "7",
+ "type": "string"
+ },
+ "tags": {
"items": {
"type": "string"
},
"type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "sportsbook.FeaturedLeaguesResponse": {
+ "properties": {
+ "count": {
+ "type": "integer"
},
- "property": {
- "description": "Google property filter that was applied, matching `type`.",
+ "fetched_at": {
"type": "string"
},
- "queries": {
- "description": "Related queries, grouped by keyword.",
+ "leagues": {
"items": {
- "$ref": "#/definitions/trends.RelatedGroup"
+ "$ref": "#/definitions/sportsbook.FeaturedLeague"
},
"type": "array"
},
- "query_type": {
- "description": "Kind of related queries returned: `top` or `rising`.",
- "example": "top",
- "type": "string"
- },
- "time_range": {
- "description": "Time range that was applied, such as `today 12-m`.",
- "example": "today 12-m",
- "type": "string"
- },
- "type": {
- "description": "Search type that was applied: `web`, `image`, `news`, `youtube` or `shopping`.",
- "example": "web",
+ "source_url": {
"type": "string"
- },
- "tz": {
- "description": "Timezone offset in minutes that was applied.",
- "example": 0,
- "type": "integer"
}
},
"type": "object"
},
- "trends.ExploreRequest": {
+ "sportsbook.FuturesResponse": {
"properties": {
- "category": {
- "example": 0,
+ "count": {
"type": "integer"
},
- "geo": {
- "enum": [
- "WORLDWIDE",
- "AF",
- "AX",
- "AL",
- "DZ",
- "AS",
- "AD",
- "AO",
- "AI",
- "AQ",
- "AG",
- "AR",
- "AM",
- "AW",
- "AU",
- "AT",
- "AZ",
- "BS",
- "BH",
- "BD",
- "BB",
- "BY",
- "BE",
- "BZ",
- "BJ",
- "BM",
- "BT",
- "BO",
- "BA",
- "BW",
- "BV",
- "BR",
- "IO",
- "VG",
- "BN",
- "BG",
- "BF",
- "BI",
- "KH",
- "CM",
- "CA",
- "CV",
- "BQ",
- "KY",
- "CF",
- "TD",
- "CL",
- "CN",
- "CX",
- "CC",
- "CO",
- "KM",
- "CG",
- "CD",
- "CK",
- "CR",
- "CI",
- "HR",
- "CU",
- "CW",
- "CY",
- "CZ",
- "DK",
- "DJ",
- "DM",
- "DO",
- "EC",
- "EG",
- "SV",
- "GQ",
- "ER",
- "EE",
- "SZ",
- "ET",
- "FK",
- "FO",
- "FJ",
- "FI",
- "FR",
- "GF",
- "PF",
- "TF",
- "GA",
- "GM",
- "GE",
- "DE",
- "GH",
- "GI",
- "GR",
- "GL",
- "GD",
- "GP",
- "GU",
- "GT",
- "GG",
- "GN",
- "GW",
- "GY",
- "HT",
- "HM",
- "HN",
- "HK",
- "HU",
- "IS",
- "IN",
- "ID",
- "IR",
- "IQ",
- "IE",
- "IM",
- "IL",
- "IT",
- "JM",
- "JP",
- "JE",
- "JO",
- "KZ",
- "KE",
- "KI",
- "XK",
- "KW",
- "KG",
- "LA",
- "LV",
- "LB",
- "LS",
- "LR",
- "LY",
- "LI",
- "LT",
- "LU",
- "MO",
- "MG",
- "MW",
- "MY",
- "MV",
- "ML",
- "MT",
- "MH",
- "MQ",
- "MR",
- "MU",
- "YT",
- "MX",
- "FM",
- "MD",
- "MC",
- "MN",
- "ME",
- "MS",
- "MA",
- "MZ",
- "MM",
- "NA",
- "NR",
- "NP",
- "NL",
- "NC",
- "NZ",
- "NI",
- "NE",
- "NG",
- "NU",
- "NF",
- "KP",
- "MK",
- "MP",
- "NO",
- "OM",
- "PK",
- "PW",
- "PS",
- "PA",
- "PG",
- "PY",
- "PE",
- "PH",
- "PN",
- "PL",
- "PT",
- "PR",
- "QA",
- "RE",
- "RO",
- "RU",
- "RW",
- "WS",
- "SM",
- "ST",
- "SA",
- "SN",
- "RS",
- "SC",
- "SL",
- "SG",
- "SX",
- "SK",
- "SI",
- "SB",
- "SO",
- "ZA",
- "GS",
- "KR",
- "SS",
- "ES",
- "LK",
- "BL",
- "SH",
- "KN",
- "LC",
- "MF",
- "PM",
- "VC",
- "SD",
- "SR",
- "SJ",
- "SE",
- "CH",
- "SY",
- "TW",
- "TJ",
- "TZ",
- "TH",
- "TL",
- "TG",
- "TK",
- "TO",
- "TT",
- "TN",
- "TR",
- "TM",
- "TC",
- "TV",
- "UM",
- "VI",
- "UG",
- "UA",
- "AE",
- "GB",
- "US",
- "UY",
- "UZ",
- "VU",
- "VA",
- "VE",
- "VN",
- "WF",
- "EH",
- "YE",
- "ZM",
- "ZW"
- ],
- "example": "US",
- "type": "string"
- },
- "hl": {
- "example": "en-US",
- "type": "string"
- },
- "keywords": {
- "example": [
- "chatgpt",
- "openai"
- ],
+ "events": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/sportsbook.Event"
},
"type": "array"
},
- "property": {
- "example": "",
+ "fetched_at": {
"type": "string"
},
- "time_range": {
- "enum": [
- "now 1-H",
- "now 4-H",
- "now 1-d",
- "now 7-d",
- "today 1-m",
- "today 3-m",
- "today 12-m",
- "today 5-y",
- "all"
- ],
- "example": "today 12-m",
+ "league": {
+ "example": "MLB",
"type": "string"
},
- "type": {
- "enum": [
- "web",
- "image",
- "news",
- "youtube",
- "shopping"
- ],
- "example": "web",
+ "league_id": {
"type": "string"
},
- "tz": {
- "example": 0,
- "type": "integer"
+ "source_url": {
+ "type": "string"
+ },
+ "sport": {
+ "example": "Baseball",
+ "type": "string"
+ },
+ "subcategory_id": {
+ "type": "string"
}
},
"type": "object"
},
- "trends.ExploreResponse": {
+ "sportsbook.League": {
"properties": {
- "category": {
- "description": "Trends category ID that was applied. `0` means all categories.",
- "example": 0,
- "type": "integer"
+ "has_live_offers": {
+ "type": "boolean"
},
- "geo": {
- "description": "Location code the data covers, such as `US`.",
- "example": "US",
+ "id": {
+ "example": "104557",
"type": "string"
},
- "hl": {
- "description": "Locale that was applied, such as `en-US`.",
- "example": "en-US",
+ "name": {
+ "example": "ITF Doubles - Muttenz (M)",
"type": "string"
},
- "interest_by_region": {
- "description": "Interest in each keyword by region.",
- "items": {
- "$ref": "#/definitions/trends.RegionInterest"
- },
- "type": "array"
+ "slug": {
+ "example": "itf-m25-muttenz%2C-doubles",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sportsbook.LeagueEvent": {
+ "properties": {
+ "id": {
+ "example": "34522271",
+ "type": "string"
},
- "interest_over_time": {
- "description": "Interest in each keyword over time, one point per time step.",
- "items": {
- "$ref": "#/definitions/trends.InterestPoint"
- },
- "type": "array"
+ "name": {
+ "example": "CHI White Sox @ DET Tigers",
+ "type": "string"
},
- "keywords": {
- "description": "Keywords that were compared.",
+ "participant_type": {
+ "example": "TwoTeam",
+ "type": "string"
+ },
+ "participants": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/sportsbook.Participant"
},
"type": "array"
},
- "property": {
- "description": "Google property filter that was applied, matching `type`.",
+ "start_time": {
"type": "string"
},
- "related_queries": {
- "description": "Top related queries, grouped by keyword. Same content as `top_queries`.",
- "items": {
- "$ref": "#/definitions/trends.RelatedGroup"
- },
- "type": "array"
+ "status": {
+ "example": "NOT_STARTED",
+ "type": "string"
},
- "related_topics": {
- "description": "Related topics, grouped by keyword.",
+ "tags": {
"items": {
- "$ref": "#/definitions/trends.RelatedGroup"
+ "type": "string"
},
"type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "sportsbook.LeagueEventsResponse": {
+ "properties": {
+ "count": {
+ "type": "integer"
},
- "rising_queries": {
- "description": "Rising related queries, grouped by keyword.",
+ "events": {
"items": {
- "$ref": "#/definitions/trends.RelatedGroup"
+ "$ref": "#/definitions/sportsbook.LeagueEvent"
},
"type": "array"
},
- "time_range": {
- "description": "Time range that was applied, such as `today 12-m`.",
- "example": "today 12-m",
+ "fetched_at": {
"type": "string"
},
- "top_queries": {
- "description": "Top related queries, grouped by keyword.",
- "items": {
- "$ref": "#/definitions/trends.RelatedGroup"
- },
- "type": "array"
+ "league": {
+ "example": "MLB",
+ "type": "string"
},
- "type": {
- "description": "Search type that was applied: `web`, `image`, `news`, `youtube` or `shopping`.",
- "example": "web",
+ "league_id": {
+ "example": "84240",
"type": "string"
},
- "tz": {
- "description": "Timezone offset in minutes that was applied.",
- "example": 0,
- "type": "integer"
+ "source_url": {
+ "type": "string"
+ },
+ "sport": {
+ "example": "Baseball",
+ "type": "string"
+ },
+ "sport_id": {
+ "example": "7",
+ "type": "string"
}
},
"type": "object"
},
- "trends.InterestByRegionResponse": {
+ "sportsbook.LeaguesResponse": {
"properties": {
- "category": {
- "description": "Trends category ID that was applied. `0` means all categories.",
- "example": 0,
+ "count": {
"type": "integer"
},
- "geo": {
- "description": "Location code the data covers, such as `US`.",
- "example": "US",
+ "fetched_at": {
"type": "string"
},
- "hl": {
- "description": "Locale that was applied, such as `en-US`.",
- "example": "en-US",
+ "source_url": {
"type": "string"
},
- "interest_by_region": {
- "description": "Interest in each keyword by region.",
- "items": {
- "$ref": "#/definitions/trends.RegionInterest"
- },
- "type": "array"
- },
- "keywords": {
- "description": "Keywords that were compared.",
+ "sports": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/sportsbook.Sport"
},
"type": "array"
- },
- "property": {
- "description": "Google property filter that was applied, matching `type`.",
- "type": "string"
- },
- "time_range": {
- "description": "Time range that was applied, such as `today 12-m`.",
- "example": "today 12-m",
- "type": "string"
- },
- "type": {
- "description": "Search type that was applied: `web`, `image`, `news`, `youtube` or `shopping`.",
- "example": "web",
- "type": "string"
- },
- "tz": {
- "description": "Timezone offset in minutes that was applied.",
- "example": 0,
- "type": "integer"
}
},
"type": "object"
},
- "trends.InterestOverTimeResponse": {
+ "sportsbook.LiveEvent": {
"properties": {
- "category": {
- "description": "Trends category ID that was applied. `0` means all categories.",
- "example": 0,
- "type": "integer"
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/sportsbook.MarketCategory"
+ },
+ "type": "array"
},
- "geo": {
- "description": "Location code the data covers, such as `US`.",
- "example": "US",
+ "id": {
+ "example": "34525244",
"type": "string"
},
- "hl": {
- "description": "Locale that was applied, such as `en-US`.",
- "example": "en-US",
+ "league_id": {
+ "example": "104557",
"type": "string"
},
- "interest_over_time": {
- "description": "Interest in each keyword over time, one point per time step.",
+ "markets": {
"items": {
- "$ref": "#/definitions/trends.InterestPoint"
+ "$ref": "#/definitions/sportsbook.Market"
},
"type": "array"
},
- "keywords": {
- "description": "Keywords that were compared.",
+ "name": {
+ "example": "A. Casanova / Parizzia vs N. Hipfl / C. Mueller",
+ "type": "string"
+ },
+ "participants": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/sportsbook.Participant"
},
"type": "array"
},
- "property": {
- "description": "Google property filter that was applied, matching `type`.",
+ "period": {
+ "example": "2nd",
"type": "string"
},
- "time_range": {
- "description": "Time range that was applied, such as `today 12-m`.",
- "example": "today 12-m",
+ "score": {
+ "$ref": "#/definitions/sportsbook.LiveScore"
+ },
+ "sport_id": {
+ "example": "6",
"type": "string"
},
- "type": {
- "description": "Search type that was applied: `web`, `image`, `news`, `youtube` or `shopping`.",
- "example": "web",
+ "start_time": {
"type": "string"
},
- "tz": {
- "description": "Timezone offset in minutes that was applied.",
- "example": 0,
- "type": "integer"
+ "status": {
+ "example": "STARTED",
+ "type": "string"
+ },
+ "subcategories": {
+ "items": {
+ "$ref": "#/definitions/sportsbook.MarketSubcategory"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "trends.InterestPoint": {
+ "sportsbook.LiveResponse": {
"properties": {
- "formatted_axis_time": {
- "description": "Date label used on the chart axis, such as `Apr 2026`.",
- "example": "Apr 2026",
- "type": "string"
- },
- "formatted_time": {
- "description": "Date label of this point as Google Trends shows it, such as `Apr 2026`.",
- "example": "Apr 2026",
- "type": "string"
- },
- "time": {
- "description": "Time of this data point, in Unix seconds, as a string.",
- "example": "1777075200",
- "type": "string"
+ "count": {
+ "type": "integer"
},
- "values": {
- "description": "Interest value for each keyword at this point.",
+ "events": {
"items": {
- "$ref": "#/definitions/trends.TrendValue"
+ "$ref": "#/definitions/sportsbook.LiveEvent"
},
"type": "array"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
}
},
"type": "object"
},
- "trends.RegionInterest": {
+ "sportsbook.LiveScore": {
"properties": {
- "geo_code": {
- "description": "Code of the region, such as `US-CA`.",
- "example": "US-CA",
- "type": "string"
+ "current": {
+ "$ref": "#/definitions/sportsbook.LiveScoreLine"
},
- "geo_name": {
- "description": "Name of the region, such as `California`.",
- "example": "California",
+ "on_serve": {
+ "example": "away",
"type": "string"
},
- "values": {
- "description": "Interest value for each keyword in this region.",
+ "periods": {
"items": {
- "$ref": "#/definitions/trends.TrendValue"
+ "$ref": "#/definitions/sportsbook.LiveScorePeriod"
},
"type": "array"
}
},
"type": "object"
},
- "trends.RelatedGroup": {
+ "sportsbook.LiveScoreLine": {
"properties": {
- "items": {
- "description": "Related entries for this keyword.",
- "items": {
- "$ref": "#/definitions/trends.RelatedItem"
- },
- "type": "array"
+ "away": {
+ "example": "30",
+ "type": "string"
},
- "keyword": {
- "description": "Keyword the related entries belong to.",
- "example": "chatgpt",
+ "home": {
+ "example": "30",
"type": "string"
}
},
"type": "object"
},
- "trends.RelatedItem": {
+ "sportsbook.LiveScorePeriod": {
"properties": {
- "formatted_value": {
- "description": "Value as Google Trends displays it.",
- "example": "100",
+ "away": {
+ "example": "30",
"type": "string"
},
- "link": {
- "description": "Google Trends path that opens this entry in Explore.",
- "example": "/trends/explore?q=chatgpt",
+ "home": {
+ "example": "30",
"type": "string"
},
- "query": {
- "description": "Related search query.",
- "example": "chatgpt login",
+ "name": {
+ "example": "1",
"type": "string"
- },
- "topic_mid": {
- "description": "Google topic ID of the related topic, such as `/g/11khcfz0y2`.",
- "example": "/g/11khcfz0y2",
+ }
+ },
+ "type": "object"
+ },
+ "sportsbook.Market": {
+ "properties": {
+ "id": {
"type": "string"
},
- "topic_title": {
- "description": "Title of the related topic.",
- "example": "ChatGPT",
- "type": "string"
+ "selections": {
+ "items": {
+ "$ref": "#/definitions/sportsbook.Selection"
+ },
+ "type": "array"
},
- "topic_type": {
- "description": "Type label of the related topic, such as `Topic`.",
- "example": "Topic",
+ "subcategory_id": {
+ "example": "4519",
"type": "string"
},
- "value": {
- "description": "Relative popularity score Google Trends gives the entry.",
- "example": 100,
- "type": "integer"
+ "type": {
+ "example": "Moneyline",
+ "type": "string"
}
},
"type": "object"
},
- "trends.RelatedTopicsResponse": {
+ "sportsbook.MarketCategory": {
"properties": {
- "category": {
- "description": "Trends category ID that was applied. `0` means all categories.",
- "example": 0,
- "type": "integer"
- },
- "geo": {
- "description": "Location code the data covers, such as `US`.",
- "example": "US",
- "type": "string"
- },
- "hl": {
- "description": "Locale that was applied, such as `en-US`.",
- "example": "en-US",
- "type": "string"
- },
- "keywords": {
- "description": "Keywords that were compared.",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "property": {
- "description": "Google property filter that was applied, matching `type`.",
- "type": "string"
- },
- "related_topics": {
- "description": "Related topics, grouped by keyword.",
- "items": {
- "$ref": "#/definitions/trends.RelatedGroup"
- },
- "type": "array"
- },
- "time_range": {
- "description": "Time range that was applied, such as `today 12-m`.",
- "example": "today 12-m",
+ "id": {
+ "example": "488",
"type": "string"
},
- "type": {
- "description": "Search type that was applied: `web`, `image`, `news`, `youtube` or `shopping`.",
- "example": "web",
+ "name": {
+ "example": "Match Lines",
"type": "string"
- },
- "tz": {
- "description": "Timezone offset in minutes that was applied.",
- "example": 0,
- "type": "integer"
}
},
"type": "object"
},
- "trends.TrendCategory": {
+ "sportsbook.MarketSubcategory": {
"properties": {
+ "category_id": {
+ "example": "488",
+ "type": "string"
+ },
"id": {
- "description": "Trends category ID. Pass it as `category`.",
- "example": 0,
- "type": "integer"
+ "example": "6364",
+ "type": "string"
},
"name": {
- "description": "Category name, such as `All`.",
- "example": "All",
+ "example": "Moneyline",
"type": "string"
}
},
"type": "object"
},
- "trends.TrendValue": {
+ "sportsbook.Odds": {
"properties": {
- "formatted_value": {
- "description": "Interest score as Google Trends displays it.",
- "example": "87",
+ "american": {
+ "example": "+130",
"type": "string"
},
- "has_data": {
- "description": "Whether Google Trends has data for this keyword at this point.",
- "example": true,
- "type": "boolean"
- },
- "keyword": {
- "description": "Keyword the value belongs to.",
- "example": "chatgpt",
+ "decimal": {
+ "example": "2.30",
"type": "string"
},
- "value": {
- "description": "Relative interest score for the keyword, as Google Trends reports it.",
- "example": 87,
- "type": "integer"
+ "fractional": {
+ "example": "13/10",
+ "type": "string"
}
},
"type": "object"
},
- "trends.TrendingArticle": {
+ "sportsbook.OddsResponse": {
"properties": {
- "source": {
- "description": "Name of the news outlet that published the article.",
- "example": "Example News",
+ "count": {
+ "type": "integer"
+ },
+ "events": {
+ "items": {
+ "$ref": "#/definitions/sportsbook.Event"
+ },
+ "type": "array"
+ },
+ "fetched_at": {
"type": "string"
},
- "time": {
- "description": "When the article was published, as Google words it, such as `2 hours ago`.",
- "example": "2 hours ago",
+ "league": {
+ "example": "NFL",
"type": "string"
},
- "title": {
- "description": "Headline of the news article.",
- "example": "Why chatgpt is trending",
+ "league_id": {
"type": "string"
},
- "url": {
- "description": "URL of the news article.",
- "example": "https://example.com/news",
+ "source_url": {
+ "type": "string"
+ },
+ "sport": {
+ "example": "Football",
"type": "string"
}
},
"type": "object"
},
- "trends.TrendingDetailRequest": {
+ "sportsbook.Participant": {
"properties": {
- "category": {
- "example": 0,
- "type": "integer"
- },
- "geo": {
- "enum": [
- "WORLDWIDE",
- "AF",
- "AX",
- "AL",
- "DZ",
- "AS",
- "AD",
- "AO",
- "AI",
- "AQ",
- "AG",
- "AR",
- "AM",
- "AW",
- "AU",
- "AT",
- "AZ",
- "BS",
- "BH",
- "BD",
- "BB",
- "BY",
- "BE",
- "BZ",
- "BJ",
- "BM",
- "BT",
- "BO",
- "BA",
- "BW",
- "BV",
- "BR",
- "IO",
- "VG",
- "BN",
- "BG",
- "BF",
- "BI",
- "KH",
- "CM",
- "CV",
- "CA",
- "BQ",
- "KY",
- "CF",
- "TD",
- "CL",
- "CN",
- "CX",
- "CC",
- "CO",
- "KM",
- "CG",
- "CD",
- "CK",
- "CR",
- "CI",
- "HR",
- "CU",
- "CW",
- "CY",
- "CZ",
- "DK",
- "DJ",
- "DM",
- "DO",
- "EC",
- "EG",
- "SV",
- "GQ",
- "ER",
- "EE",
- "SZ",
- "ET",
- "FK",
- "FO",
- "FJ",
- "FI",
- "FR",
- "GF",
- "PF",
- "TF",
- "GA",
- "GM",
- "GE",
- "DE",
- "GH",
- "GI",
- "GR",
- "GL",
- "GD",
- "GP",
- "GU",
- "GT",
- "GG",
- "GN",
- "GW",
- "GY",
- "HT",
- "HM",
- "HN",
- "HK",
- "HU",
- "IS",
- "IN",
- "ID",
- "IR",
- "IQ",
- "IE",
- "IM",
- "IL",
- "IT",
- "JM",
- "JP",
- "JE",
- "JO",
- "KZ",
- "KE",
- "KI",
- "XK",
- "KW",
- "KG",
- "LA",
- "LV",
- "LB",
- "LS",
- "LR",
- "LY",
- "LI",
- "LT",
- "LU",
- "MO",
- "MG",
- "MW",
- "MY",
- "MV",
- "ML",
- "MT",
- "MH",
- "MQ",
- "MR",
- "MU",
- "YT",
- "MX",
- "FM",
- "MD",
- "MC",
- "MN",
- "ME",
- "MS",
- "MA",
- "MZ",
- "MM",
- "NA",
- "NR",
- "NP",
- "NL",
- "NC",
- "NZ",
- "NI",
- "NE",
- "NG",
- "NU",
- "NF",
- "KP",
- "MK",
- "MP",
- "NO",
- "OM",
- "PK",
- "PW",
- "PS",
- "PA",
- "PG",
- "PY",
- "PE",
- "PH",
- "PN",
- "PL",
- "PT",
- "PR",
- "QA",
- "RE",
- "RO",
- "RU",
- "RW",
- "WS",
- "SM",
- "ST",
- "SA",
- "SN",
- "RS",
- "SC",
- "SL",
- "SG",
- "SX",
- "SK",
- "SI",
- "SB",
- "SO",
- "ZA",
- "GS",
- "KR",
- "SS",
- "ES",
- "LK",
- "BL",
- "SH",
- "KN",
- "LC",
- "MF",
- "PM",
- "VC",
- "SD",
- "SR",
- "SJ",
- "SE",
- "CH",
- "SY",
- "TW",
- "TJ",
- "TZ",
- "TH",
- "TL",
- "TG",
- "TK",
- "TO",
- "TT",
- "TN",
- "TR",
- "TM",
- "TC",
- "TV",
- "UM",
- "VI",
- "UG",
- "UA",
- "AE",
- "GB",
- "US",
- "UY",
- "UZ",
- "VU",
- "VA",
- "VE",
- "VN",
- "WF",
- "EH",
- "YE",
- "ZM",
- "ZW"
- ],
- "example": "US",
+ "id": {
"type": "string"
},
- "hl": {
- "example": "en-US",
+ "name": {
+ "example": "BUF Bills",
"type": "string"
},
- "property": {
- "example": "",
+ "role": {
+ "example": "Home",
"type": "string"
- },
- "query": {
- "example": "chatgpt",
+ }
+ },
+ "type": "object"
+ },
+ "sportsbook.QuickLink": {
+ "properties": {
+ "league_id": {
+ "example": "84240",
"type": "string"
},
- "time_range": {
- "enum": [
- "now 1-H",
- "now 4-H",
- "now 1-d",
- "now 7-d",
- "today 1-m",
- "today 3-m",
- "today 12-m",
- "today 5-y",
- "all"
- ],
- "example": "now 7-d",
+ "name": {
+ "example": "MLB",
"type": "string"
},
- "type": {
- "enum": [
- "web",
- "image",
- "news",
- "youtube",
- "shopping"
- ],
- "example": "web",
+ "path": {
+ "example": "/leagues/baseball/mlb",
"type": "string"
},
- "tz": {
- "example": 0,
- "type": "integer"
+ "sport_id": {
+ "example": "7",
+ "type": "string"
}
},
"type": "object"
},
- "trends.TrendingItem": {
+ "sportsbook.QuickLinksResponse": {
"properties": {
- "articles": {
- "description": "News articles linked to the trend.",
+ "count": {
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "links": {
"items": {
- "$ref": "#/definitions/trends.TrendingArticle"
+ "$ref": "#/definitions/sportsbook.QuickLink"
},
"type": "array"
},
- "explore_url": {
- "description": "Google Trends Explore URL for the trend.",
- "example": "https://trends.google.com/trends/explore?q=chatgpt&geo=US",
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sportsbook.Selection": {
+ "properties": {
+ "label": {
+ "example": "CAR Panthers",
"type": "string"
},
- "query": {
- "description": "Search query behind the trend.",
- "example": "chatgpt",
+ "odds": {
+ "$ref": "#/definitions/sportsbook.Odds"
+ },
+ "outcome_type": {
+ "example": "Away",
"type": "string"
},
- "rank": {
- "description": "Rank of the trend in the list, with `1` as the top entry.",
- "example": 1,
- "type": "integer"
+ "points": {
+ "example": 3,
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "sportsbook.Sport": {
+ "properties": {
+ "id": {
+ "example": "6",
+ "type": "string"
},
- "related_terms": {
- "description": "Related search terms listed for the trend.",
+ "leagues": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/sportsbook.League"
},
"type": "array"
},
- "share_url": {
- "description": "Link for sharing the trend.",
+ "name": {
+ "example": "Tennis",
"type": "string"
},
- "started_unix": {
- "description": "Time the trend started, in Unix seconds.",
- "example": 1777075200,
- "type": "integer"
- },
- "status": {
- "description": "Whether the trend is `active` or `ended`.",
- "example": "active",
+ "slug": {
+ "example": "tennis",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sportsbook.Team": {
+ "properties": {
+ "id": {
+ "example": "18454",
"type": "string"
},
- "title": {
- "description": "Title of the trend.",
- "example": "chatgpt",
+ "name": {
+ "example": "Arizona Cardinals",
"type": "string"
},
- "traffic": {
- "description": "Approximate search volume label for the trend, such as `200K+`.",
- "example": "200K+",
+ "slug": {
+ "example": "arizona-cardinals",
"type": "string"
},
- "updated_unix": {
- "description": "Time the trend was last updated, in Unix seconds.",
- "example": 1777078800,
- "type": "integer"
+ "url": {
+ "example": "https://sportsbook.draftkings.com/teams/football/arizona-cardinals-odds-18454",
+ "type": "string"
}
},
"type": "object"
},
- "trends.TrendingResponse": {
+ "sportsbook.TeamDetailResponse": {
"properties": {
- "category": {
- "description": "Trends category ID that was applied. `0` means all categories.",
- "example": 0,
- "type": "integer"
+ "abbreviation": {
+ "example": "ARI",
+ "type": "string"
},
- "geo": {
- "description": "Country code the trends cover, such as `US`.",
- "example": "US",
+ "city": {
+ "example": "Arizona",
"type": "string"
},
- "hl": {
- "description": "Locale that was applied, such as `en-US`.",
- "example": "en-US",
+ "fetched_at": {
"type": "string"
},
- "items": {
- "description": "Trending searches, one entry per trend.",
+ "id": {
+ "example": "18454",
+ "type": "string"
+ },
+ "leagues": {
"items": {
- "$ref": "#/definitions/trends.TrendingItem"
+ "$ref": "#/definitions/sportsbook.TeamLeagueRef"
},
"type": "array"
},
- "sort_by": {
- "description": "Sort order that was applied: `relevance`, `title`, `recency` or `search_volume`.",
- "example": "relevance",
+ "name": {
+ "example": "ARI Cardinals",
"type": "string"
},
- "status": {
- "description": "Status filter that was applied: `all`, `active` or `ended`.",
- "example": "all",
+ "primary_color": {
+ "example": "#97233F",
"type": "string"
},
- "time_range": {
- "description": "Time window that was applied. Same value as `window`.",
- "example": "24h",
+ "secondary_color": {
+ "example": "#000000",
"type": "string"
},
- "tz": {
- "description": "Timezone offset in minutes that was applied.",
- "example": 0,
- "type": "integer"
+ "short_name": {
+ "example": "Cardinals",
+ "type": "string"
},
- "window": {
- "description": "Time window that was applied: `4h`, `24h`, `48h` or `7d`.",
- "example": "24h",
+ "source_url": {
+ "type": "string"
+ },
+ "sport": {
+ "example": "football",
+ "type": "string"
+ },
+ "sport_id": {
+ "example": "3",
"type": "string"
}
},
"type": "object"
},
- "trends.TrendsCategoriesResponse": {
+ "sportsbook.TeamLeagueRef": {
"properties": {
- "categories": {
- "description": "Supported Trends categories, each with an ID and name.",
- "items": {
- "$ref": "#/definitions/trends.TrendCategory"
- },
- "type": "array"
+ "id": {
+ "example": "88808",
+ "type": "string"
+ },
+ "slug": {
+ "example": "nfl",
+ "type": "string"
}
},
"type": "object"
},
- "trends.TrendsEnumsResponse": {
+ "sportsbook.TeamsResponse": {
"properties": {
- "explore_time_ranges": {
- "description": "Supported `time_range` values for the Explore endpoints.",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "locations": {
- "description": "Supported location codes.",
- "items": {
- "type": "string"
- },
- "type": "array"
+ "count": {
+ "type": "integer"
},
- "search_types": {
- "description": "Supported search `type` values.",
- "items": {
- "type": "string"
- },
- "type": "array"
+ "fetched_at": {
+ "type": "string"
},
- "trend_statuses": {
- "description": "Supported `status` values for Trending Now.",
- "items": {
- "type": "string"
- },
- "type": "array"
+ "league": {
+ "example": "nfl",
+ "type": "string"
},
- "trending_categories": {
- "description": "Supported category IDs for Trending Now, each with a name.",
- "items": {
- "$ref": "#/definitions/trends.TrendCategory"
- },
- "type": "array"
+ "source_url": {
+ "type": "string"
},
- "trending_sort_bys": {
- "description": "Supported `sort_by` values for Trending Now.",
- "items": {
- "type": "string"
- },
- "type": "array"
+ "sport": {
+ "example": "football",
+ "type": "string"
},
- "trending_time_ranges": {
- "description": "Supported `window` values for Trending Now.",
+ "teams": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/sportsbook.Team"
},
"type": "array"
}
},
"type": "object"
},
- "trends.TrendsLocationsResponse": {
+ "sportsbook.eventContextResponseDoc": {
"properties": {
- "locations": {
- "description": "Supported location codes, such as `US`.",
- "items": {
- "type": "string"
- },
- "type": "array"
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/sportsbook.EventContextResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "trends.exploreQueriesResponseDoc": {
+ "sportsbook.eventMarketsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/trends.ExploreQueriesResponse"
+ "$ref": "#/definitions/sportsbook.EventMarketsResponse"
},
"msg": {
"example": "OK",
@@ -240541,14 +245552,14 @@
},
"type": "object"
},
- "trends.exploreResponseDoc": {
+ "sportsbook.eventResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/trends.ExploreResponse"
+ "$ref": "#/definitions/sportsbook.EventResponse"
},
"msg": {
"example": "OK",
@@ -240557,14 +245568,14 @@
},
"type": "object"
},
- "trends.interestByRegionResponseDoc": {
+ "sportsbook.featuredLeaguesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/trends.InterestByRegionResponse"
+ "$ref": "#/definitions/sportsbook.FeaturedLeaguesResponse"
},
"msg": {
"example": "OK",
@@ -240573,14 +245584,14 @@
},
"type": "object"
},
- "trends.interestOverTimeResponseDoc": {
+ "sportsbook.futuresResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/trends.InterestOverTimeResponse"
+ "$ref": "#/definitions/sportsbook.FuturesResponse"
},
"msg": {
"example": "OK",
@@ -240589,14 +245600,14 @@
},
"type": "object"
},
- "trends.relatedTopicsResponseDoc": {
+ "sportsbook.leagueEventsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/trends.RelatedTopicsResponse"
+ "$ref": "#/definitions/sportsbook.LeagueEventsResponse"
},
"msg": {
"example": "OK",
@@ -240605,14 +245616,14 @@
},
"type": "object"
},
- "trends.trendingResponseDoc": {
+ "sportsbook.leaguesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/trends.TrendingResponse"
+ "$ref": "#/definitions/sportsbook.LeaguesResponse"
},
"msg": {
"example": "OK",
@@ -240621,14 +245632,14 @@
},
"type": "object"
},
- "trends.trendsCategoriesResponseDoc": {
+ "sportsbook.liveResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/trends.TrendsCategoriesResponse"
+ "$ref": "#/definitions/sportsbook.LiveResponse"
},
"msg": {
"example": "OK",
@@ -240637,14 +245648,14 @@
},
"type": "object"
},
- "trends.trendsEnumsResponseDoc": {
+ "sportsbook.oddsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/trends.TrendsEnumsResponse"
+ "$ref": "#/definitions/sportsbook.OddsResponse"
},
"msg": {
"example": "OK",
@@ -240653,14 +245664,14 @@
},
"type": "object"
},
- "trends.trendsLocationsResponseDoc": {
+ "sportsbook.quickLinksResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/trends.TrendsLocationsResponse"
+ "$ref": "#/definitions/sportsbook.QuickLinksResponse"
},
"msg": {
"example": "OK",
@@ -240669,7050 +245680,6723 @@
},
"type": "object"
},
- "tripadvisor.AutocompleteResponse": {
+ "sportsbook.teamResponseDoc": {
"properties": {
- "locale": {
- "description": "Locale code the suggestions were returned in, for example `en-HK`.",
- "example": "en-HK",
- "type": "string"
- },
- "query": {
- "description": "Search text that was run.",
- "example": "hong kong",
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "results": {
- "description": "Suggested locations and places for the search text, one entry per suggestion.",
- "items": {
- "$ref": "#/definitions/tripadvisor.SearchItem"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/sportsbook.TeamDetailResponse"
},
- "scope_geo_id": {
- "description": "TripAdvisor geo id the suggestions were limited to. Defaults to `60763` when no scope is given.",
- "example": 60763,
- "type": "integer"
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "tripadvisor.EnumsResponse": {
+ "sportsbook.teamsResponseDoc": {
"properties": {
- "attraction_categories": {
- "description": "Attraction category types accepted by the `type` parameter of the search endpoint.",
- "example": [
- "attraction",
- "tour",
- "day_trip"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "attraction_category_ids": {
- "additionalProperties": {
- "type": "string"
- },
- "description": "Map from each attraction category type to its TripAdvisor category id, for example `tour` to `c42`.",
- "example": {
- "day_trip": "c63",
- "tour": "c42"
- },
- "type": "object"
- },
- "currencies": {
- "description": "Currency codes accepted by the `currency` parameter, for example `HKD`.",
- "example": [
- "HKD",
- "USD",
- "EUR"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "filter_ids": {
- "description": "Filter ids accepted by the `filter_id` parameter.",
- "example": [
- "class",
- "ufe"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "hotel_amenities": {
- "description": "Hotel amenity ids accepted by the `amenities` parameter.",
- "example": [
- 9176,
- 9179
- ],
- "items": {
- "type": "integer"
- },
- "type": "array"
- },
- "hotel_classes": {
- "description": "Hotel star classes accepted by the `class` parameter.",
- "example": [
- 1,
- 2,
- 3,
- 4,
- 5
- ],
- "items": {
- "type": "integer"
- },
- "type": "array"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "languages": {
- "description": "Review language codes accepted by the reviews endpoint, for example `en`.",
- "example": [
- "en",
- "fr",
- "zh-CN"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/sportsbook.TeamsResponse"
},
- "listing_types": {
- "description": "Listing types accepted by the `type` parameter of the search endpoint, for example `hotel`.",
- "example": [
- "hotel",
- "restaurant",
- "attraction"
- ],
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sportskeeda.AuthorResponse": {
+ "properties": {
+ "articles": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/newsplatform.HeadlineItem"
},
"type": "array"
},
- "locales": {
- "description": "Locale codes accepted by the `locale` parameter, for example `en-HK`.",
- "example": [
- "en-HK",
- "en-US",
- "en-GB"
- ],
+ "biography": {
"items": {
"type": "string"
},
"type": "array"
},
- "pricing_modes": {
- "description": "Pricing modes accepted by the `pricing_mode` parameter.",
- "example": [
- "ALL_IN_RATE"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
+ "image_url": {
+ "type": "string"
},
- "restaurant_options": {
- "description": "Restaurant online-option ids accepted by the `online_options` parameter.",
- "example": [
- 20693
- ],
- "items": {
- "type": "integer"
- },
- "type": "array"
+ "name": {
+ "type": "string"
},
- "restaurant_types": {
- "description": "Restaurant establishment-type ids accepted by the `establishment_types` parameter.",
- "example": [
- 10591
- ],
- "items": {
- "type": "integer"
- },
- "type": "array"
+ "role": {
+ "type": "string"
},
- "sorts": {
- "description": "Sort orders accepted by the `sort` parameter, for example `BEST_VALUE`.",
- "example": [
- "BEST_VALUE",
- "POPULARITY"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
+ "slug": {
+ "type": "string"
},
- "unsupported_entity_types": {
- "description": "Entity types that cannot be searched, for example `airline`. Omitted when none.",
- "example": [
- "airline",
- "airport"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "tripadvisor.HotelItem": {
+ "sportskeeda.CalendarEvent": {
"properties": {
- "address": {
- "description": "Street address of the hotel.",
- "type": "string"
- },
- "currency": {
- "description": "Currency code of the listed price, for example `HKD`.",
- "example": "HKD",
- "type": "string"
- },
- "id": {
- "description": "TripAdvisor location id of the hotel. Use it with the place and reviews endpoints.",
- "example": "113311",
+ "branding_logo": {
"type": "string"
},
- "image": {
- "description": "URL of the hotel's main image.",
+ "branding_text": {
"type": "string"
},
- "latitude": {
- "description": "Latitude of the hotel in decimal degrees.",
- "example": 40.76174,
- "type": "number"
- },
- "longitude": {
- "description": "Longitude of the hotel in decimal degrees.",
- "example": -73.975365,
- "type": "number"
- },
- "parent": {
- "description": "Name of the city or area the hotel is in.",
- "example": "New York City",
+ "branding_text_color": {
"type": "string"
},
- "phone": {
- "description": "Phone number of the hotel.",
+ "card_background": {
"type": "string"
},
- "price": {
- "description": "Price shown on the listing, formatted with the currency symbol, for example `HK$7,793`.",
- "example": "HK$7,793",
+ "card_background_color": {
"type": "string"
},
- "provider": {
- "description": "Booking site that offers the listed price, for example `Agoda`.",
- "example": "Agoda",
+ "description": {
"type": "string"
},
- "rank": {
- "description": "Hotel's position in TripAdvisor's ranking for the location.",
- "example": 146,
+ "duration_days": {
"type": "integer"
},
- "rank_label": {
- "description": "Ranking text as TripAdvisor shows it, for example `#141 of 519 hotels in New York City`.",
- "example": "#141 of 519 hotels in New York City",
+ "end_date": {
+ "example": "2026-10-17",
"type": "string"
},
- "rating": {
- "description": "Average traveller rating out of 5.",
- "example": 4.5,
- "type": "number"
+ "image_links": {
+ "type": "string"
},
- "review_count": {
- "description": "Number of traveller reviews the hotel has.",
- "example": 1517,
- "type": "integer"
+ "invert_text_color": {
+ "type": "string"
},
- "review_rating": {
- "description": "Rating given in the review shown on the hotel listing.",
- "type": "number"
+ "month": {
+ "example": "2026-09",
+ "type": "string"
},
- "review_snippet": {
- "description": "Excerpt of a review shown on the hotel listing.",
+ "month_label": {
+ "example": "September 2026",
"type": "string"
},
- "review_title": {
- "description": "Title of the review shown on the hotel listing.",
+ "name": {
"type": "string"
},
- "star_rating": {
- "description": "Official star class of the hotel, for example `5`.",
- "example": 5,
- "type": "number"
+ "open_link": {
+ "type": "string"
},
- "tags": {
- "description": "Short labels TripAdvisor shows on the hotel listing.",
- "items": {
- "type": "string"
- },
- "type": "array"
+ "sport": {
+ "type": "string"
},
- "title": {
- "description": "Hotel name as shown on the listing.",
- "example": "The Peninsula New York",
+ "start_date": {
+ "example": "2026-09-27",
"type": "string"
},
- "type": {
- "description": "Listing type, for example `hotel`.",
- "example": "hotel",
+ "venue": {
"type": "string"
},
- "url": {
- "description": "TripAdvisor page URL of the hotel.",
+ "videos": {
"type": "string"
}
},
"type": "object"
},
- "tripadvisor.HotelListResponse": {
+ "sportskeeda.CollegeBasketballConference": {
"properties": {
- "currency": {
- "description": "Currency code the prices are shown in, for example `HKD`.",
- "example": "HKD",
+ "abbr": {
"type": "string"
},
- "full_matches": {
- "description": "Number of hotels TripAdvisor counts as full matches for the filters. Omitted when TripAdvisor gives no count.",
- "example": 519,
+ "id": {
"type": "integer"
},
- "geo_id": {
- "description": "TripAdvisor geo id of the location the hotels are listed for.",
- "example": 294217,
- "type": "integer"
+ "name": {
+ "type": "string"
},
- "limit": {
- "description": "Maximum number of hotels returned on this page.",
- "example": 30,
+ "slug": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sportskeeda.CollegeBasketballDivision": {
+ "properties": {
+ "id": {
"type": "integer"
},
- "offset": {
- "description": "Result offset of this page.",
- "example": 0,
+ "name": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sportskeeda.CollegeBasketballLeader": {
+ "properties": {
+ "player_id": {
"type": "integer"
},
- "results": {
- "description": "Hotels on this page, one entry per hotel.",
- "items": {
- "$ref": "#/definitions/tripadvisor.HotelItem"
- },
- "type": "array"
+ "player_name": {
+ "type": "string"
},
- "sort": {
- "description": "Sort order that was applied, for example `BEST_VALUE`.",
- "example": "BEST_VALUE",
+ "player_slug": {
"type": "string"
},
- "total": {
- "description": "Total number of hotels TripAdvisor lists for the location and filters. Omitted when TripAdvisor gives no total.",
- "example": 519,
+ "value": {
"type": "integer"
}
},
"type": "object"
},
- "tripadvisor.NestedSearchItem": {
+ "sportskeeda.CollegeBasketballLocation": {
"properties": {
- "query": {
- "description": "Search text the shortcut runs, for example `hong kong hotels`.",
- "example": "hong kong hotels",
- "type": "string"
- },
- "title": {
- "description": "Label of the shortcut, for example `Hotels`.",
- "example": "Hotels",
- "type": "string"
- },
- "type": {
- "description": "Kind of search the shortcut opens, for example `hotel_search`.",
- "example": "hotel_search",
+ "abbreviation": {
"type": "string"
},
- "url": {
- "description": "TripAdvisor page URL of the shortcut.",
- "example": "https://en.tripadvisor.com.hk/Hotels-g294217-Hong_Kong-Hotels.html",
+ "name": {
"type": "string"
}
},
"type": "object"
},
- "tripadvisor.PlaceAddressParts": {
+ "sportskeeda.CollegeBasketballScheduleGame": {
"properties": {
- "country": {
- "description": "Country name of the place's address.",
- "type": "string"
+ "away_team": {
+ "$ref": "#/definitions/sportskeeda.CollegeBasketballTeam"
},
- "locality": {
- "description": "City or town.",
+ "end_date": {
"type": "string"
},
- "postal_code": {
- "description": "Postal or ZIP code.",
- "type": "string"
+ "event_id": {
+ "type": "integer"
},
- "region": {
- "description": "State, province or region.",
+ "event_type_id": {
+ "type": "integer"
+ },
+ "has_score": {
+ "type": "boolean"
+ },
+ "home_team": {
+ "$ref": "#/definitions/sportskeeda.CollegeBasketballTeam"
+ },
+ "is_tba": {
+ "type": "boolean"
+ },
+ "loser_high": {
+ "$ref": "#/definitions/sportskeeda.CollegeBasketballLeader"
+ },
+ "start_date": {
"type": "string"
},
- "street": {
- "description": "Street address line.",
+ "status": {
"type": "string"
+ },
+ "tv_stations": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "venue": {
+ "$ref": "#/definitions/sportskeeda.CollegeBasketballVenue"
+ },
+ "winner_high": {
+ "$ref": "#/definitions/sportskeeda.CollegeBasketballLeader"
}
},
"type": "object"
},
- "tripadvisor.PlaceImage": {
+ "sportskeeda.CollegeBasketballScheduleOptionsResponse": {
"properties": {
- "caption": {
- "description": "Caption of the image.",
+ "conference_filter_supported": {
+ "type": "boolean"
+ },
+ "date": {
"type": "string"
},
- "height": {
- "description": "Height of the image in pixels.",
- "example": 768,
- "type": "integer"
+ "date_end": {
+ "type": "string"
},
- "url": {
- "description": "URL of the image.",
+ "date_start": {
"type": "string"
},
- "width": {
- "description": "Width of the image in pixels.",
- "example": 1024,
+ "season": {
"type": "integer"
+ },
+ "season_name": {
+ "type": "string"
+ },
+ "seasons": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "slug": {
+ "type": "string"
}
},
"type": "object"
},
- "tripadvisor.PlaceItem": {
+ "sportskeeda.CollegeBasketballScheduleResponse": {
"properties": {
- "address": {
- "description": "Street address of the place.",
- "type": "string"
- },
- "booking_url": {
- "description": "URL where TripAdvisor lets you book or reserve the place.",
+ "date": {
"type": "string"
},
- "categories": {
- "description": "Categories TripAdvisor lists for the place.",
+ "games": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/sportskeeda.CollegeBasketballScheduleGame"
},
"type": "array"
},
- "cuisines": {
- "description": "Cuisines a restaurant serves.",
- "items": {
- "type": "string"
- },
- "type": "array"
+ "season": {
+ "type": "integer"
},
- "currency": {
- "description": "Currency code of the listed price, for example `HKD`.",
- "example": "HKD",
+ "season_name": {
"type": "string"
},
- "id": {
- "description": "TripAdvisor location id of the place. Use it with the place and reviews endpoints.",
- "example": "5493196",
+ "status": {
+ "enum": [
+ "ok",
+ "no_games"
+ ],
"type": "string"
},
- "image": {
- "description": "URL of the place's main image.",
+ "updated_at": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sportskeeda.CollegeBasketballTeam": {
+ "properties": {
+ "abbr": {
"type": "string"
},
- "latitude": {
- "description": "Latitude of the place in decimal degrees.",
- "example": 22.28331,
- "type": "number"
- },
- "longitude": {
- "description": "Longitude of the place in decimal degrees.",
- "example": 114.15874,
- "type": "number"
+ "conference": {
+ "$ref": "#/definitions/sportskeeda.CollegeBasketballConference"
},
- "parent": {
- "description": "Name of the city or area the place is in.",
- "example": "Hong Kong",
- "type": "string"
+ "division": {
+ "$ref": "#/definitions/sportskeeda.CollegeBasketballDivision"
},
- "phone": {
- "description": "Phone number of the place.",
- "type": "string"
+ "is_winner": {
+ "type": "boolean"
},
- "price": {
- "description": "Price shown on the listing, formatted with the currency symbol, for example `HK$7,793`.",
- "example": "HK$7,793",
+ "location": {
"type": "string"
},
- "price_level": {
- "description": "Price band as TripAdvisor shows it, for example `$$ - $$$`.",
- "example": "$$ - $$$",
+ "location_type": {
"type": "string"
},
- "provider": {
- "description": "Booking or reservation provider shown on the listing, for example `Agoda`.",
- "example": "Agoda",
+ "nickname": {
"type": "string"
},
- "rank": {
- "description": "Place's position in TripAdvisor's ranking for the location.",
- "example": 12,
+ "score": {
"type": "integer"
},
- "rank_label": {
- "description": "Ranking text as TripAdvisor shows it, for example `#12 of 12000 restaurants in Hong Kong`.",
- "example": "#12 of 12000 restaurants in Hong Kong",
- "type": "string"
- },
- "rating": {
- "description": "Average traveller rating out of 5.",
- "example": 4.5,
- "type": "number"
- },
- "review_count": {
- "description": "Number of traveller reviews the place has.",
- "example": 1217,
+ "team_id": {
"type": "integer"
},
- "review_rating": {
- "description": "Rating given in the review shown on the listing.",
- "type": "number"
- },
- "review_snippet": {
- "description": "Excerpt of a review shown on the listing.",
- "type": "string"
- },
- "review_title": {
- "description": "Title of the review shown on the listing.",
- "type": "string"
- },
- "star_rating": {
- "description": "Official star class of the place, for example `5`. Shown for hotels.",
- "example": 5,
- "type": "number"
- },
- "tags": {
- "description": "Short labels TripAdvisor shows on the listing.",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "title": {
- "description": "Place name as shown on the listing.",
- "example": "Hong Kong Asian Cuisine",
- "type": "string"
- },
- "type": {
- "description": "Listing type, for example `restaurant`.",
- "example": "restaurant",
+ "team_name": {
"type": "string"
},
- "url": {
- "description": "TripAdvisor page URL of the place.",
+ "team_slug": {
"type": "string"
}
},
"type": "object"
},
- "tripadvisor.PlaceLink": {
+ "sportskeeda.CollegeBasketballVenue": {
"properties": {
- "label": {
- "description": "Link label, for example `Official website`.",
- "example": "Official website",
+ "city": {
"type": "string"
},
- "type": {
- "description": "Kind of link, for example `website` or `canonical`.",
- "example": "website",
- "type": "string"
+ "country": {
+ "$ref": "#/definitions/sportskeeda.CollegeBasketballLocation"
},
- "url": {
- "description": "Address of the link.",
+ "name": {
"type": "string"
+ },
+ "state": {
+ "$ref": "#/definitions/sportskeeda.CollegeBasketballLocation"
}
},
"type": "object"
},
- "tripadvisor.PlaceResponse": {
+ "sportskeeda.CricketCommentaryResponse": {
"properties": {
- "address": {
- "description": "Full address of the place as one line.",
- "type": "string"
- },
- "address_parts": {
- "allOf": [
- {
- "$ref": "#/definitions/tripadvisor.PlaceAddressParts"
- }
- ],
- "description": "Address split into street, locality, region, postal code and country."
- },
- "amenities": {
- "description": "Amenities TripAdvisor lists for the place.",
+ "commentary": {
"items": {
- "type": "string"
+ "additionalProperties": true,
+ "type": "object"
},
"type": "array"
},
- "awards": {
- "description": "Awards shown on the place's page, for example `Travelers' Choice`.",
- "items": {
- "type": "string"
- },
- "type": "array"
+ "count": {
+ "type": "integer"
},
- "breadcrumbs": {
- "description": "Locations above the place, from the widest region to the city, for example `Asia`, `China`, `Hong Kong`.",
- "items": {
- "type": "string"
- },
- "type": "array"
+ "cursor": {
+ "type": "string"
},
- "canonical_url": {
- "description": "Canonical TripAdvisor page URL of the place.",
+ "language": {
"type": "string"
},
- "categories": {
- "description": "Categories TripAdvisor lists for the place.",
+ "slug": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sportskeeda.CricketMatchResponse": {
+ "properties": {
+ "commentary": {
"items": {
- "type": "string"
+ "additionalProperties": true,
+ "type": "object"
},
"type": "array"
},
- "cuisines": {
- "description": "Cuisines a restaurant serves.",
- "items": {
- "type": "string"
- },
- "type": "array"
+ "competition_id": {},
+ "datetime": {
+ "type": "integer"
},
- "description": {
- "description": "Longer description of the place.",
+ "day": {
"type": "string"
},
- "features": {
- "description": "Features TripAdvisor lists for the place.",
- "items": {
- "type": "string"
- },
- "type": "array"
+ "game_format": {
+ "type": "integer"
},
- "geo_id": {
- "description": "TripAdvisor geo id of the location the place is in.",
- "example": "60763",
+ "game_type": {
"type": "string"
},
- "id": {
- "description": "TripAdvisor location id of the place.",
- "example": "5493196",
- "type": "string"
+ "in_play": {
+ "type": "boolean"
},
- "image": {
- "description": "URL of the place's main image.",
+ "info": {
"type": "string"
},
- "images": {
- "description": "Photos of the place, one entry per image.",
+ "innings": {
"items": {
- "$ref": "#/definitions/tripadvisor.PlaceImage"
+ "additionalProperties": true,
+ "type": "object"
},
"type": "array"
},
- "latitude": {
- "description": "Latitude of the place in decimal degrees.",
- "example": 22.28331,
- "type": "number"
+ "match_id": {
+ "type": "string"
},
- "links": {
- "description": "Useful links for the place, such as its TripAdvisor page and official website.",
- "items": {
- "$ref": "#/definitions/tripadvisor.PlaceLink"
- },
- "type": "array"
+ "match_number": {},
+ "match_number_with_format": {
+ "type": "string"
},
- "longitude": {
- "description": "Longitude of the place in decimal degrees.",
- "example": 114.15874,
- "type": "number"
+ "match_status": {
+ "type": "string"
},
- "opening_hours": {
- "description": "Opening hours, one entry per line, for example `Monday 10:00 - 22:00`.",
+ "now_batting": {
+ "additionalProperties": true,
+ "type": "object"
+ },
+ "now_bowling": {
+ "additionalProperties": true,
+ "type": "object"
+ },
+ "score_strip": {
"items": {
- "type": "string"
+ "additionalProperties": true,
+ "type": "object"
},
"type": "array"
},
- "phone": {
- "description": "Phone number of the place.",
+ "series": {
"type": "string"
},
- "price_level": {
- "description": "Price band as TripAdvisor shows it, for example `$$ - $$$`.",
- "example": "$$ - $$$",
+ "series_keeda_slug": {
"type": "string"
},
- "price_range": {
- "description": "Price range as TripAdvisor shows it, for example `$$ - $$$`.",
- "example": "$$ - $$$",
+ "session": {
"type": "string"
},
- "rank": {
- "description": "Place's position in TripAdvisor's ranking for its location.",
- "example": 1,
- "type": "integer"
- },
- "rank_label": {
- "description": "Ranking text as TripAdvisor shows it, for example `#1 of 1,531 things to do in Hong Kong`.",
- "example": "#1 of 1,531 things to do in Hong Kong",
+ "short_title": {
"type": "string"
},
- "rating": {
- "description": "Average traveller rating out of 5.",
- "type": "number"
- },
- "reviews": {
- "description": "Number of traveller reviews the place has.",
- "type": "integer"
- },
- "summary": {
- "description": "Short summary of the place.",
+ "slug": {
"type": "string"
},
- "tags": {
- "description": "Short labels TripAdvisor shows for the place.",
+ "squad": {
"items": {
- "type": "string"
+ "additionalProperties": true,
+ "type": "object"
},
"type": "array"
},
"title": {
- "description": "Place name as shown on TripAdvisor.",
"type": "string"
},
- "type": {
- "description": "Kind of page, such as `attraction`, `geo` for a destination or `attraction_product` for a bookable tour.",
+ "toss_decision": {
"type": "string"
},
- "url": {
- "description": "TripAdvisor page URL of the place.",
+ "toss_won_by": {
"type": "string"
},
- "website_url": {
- "description": "URL of the place's own website.",
+ "updated_at": {
+ "type": "integer"
+ },
+ "venue": {
"type": "string"
}
},
"type": "object"
},
- "tripadvisor.ReviewItem": {
+ "sportskeeda.DataTable": {
"properties": {
- "author": {
- "description": "Reviewer's display name.",
- "type": "string"
- },
- "author_avatar": {
- "description": "URL of the reviewer's profile picture.",
- "type": "string"
- },
- "author_hometown": {
- "description": "Reviewer's hometown as shown on their profile.",
- "type": "string"
- },
- "author_id": {
- "description": "TripAdvisor id of the reviewer.",
- "type": "string"
- },
- "author_url": {
- "description": "TripAdvisor profile URL of the reviewer.",
- "type": "string"
- },
- "created_date": {
- "description": "Date the review was written, for example `2026-05-01`.",
- "type": "string"
- },
- "date": {
- "description": "Date the review was published, for example `2026-05-01`.",
- "type": "string"
- },
- "helpful": {
- "description": "Number of helpful votes the review received.",
- "type": "integer"
- },
- "id": {
- "description": "TripAdvisor review id.",
- "type": "string"
- },
- "language": {
- "description": "Language code of the review text returned.",
- "type": "string"
- },
- "original_language": {
- "description": "Language code the review was originally written in.",
- "type": "string"
- },
- "photos": {
- "description": "URLs of photos attached to the review.",
+ "columns": {
"items": {
"type": "string"
},
"type": "array"
},
- "rating": {
- "description": "Rating the reviewer gave, out of 5.",
- "type": "number"
- },
- "stay_date": {
- "description": "Date of the reviewer's visit or stay, as TripAdvisor gives it.",
+ "name": {
"type": "string"
},
- "text": {
- "description": "Full text of the review.",
+ "rows": {
+ "items": {
+ "items": {
+ "$ref": "#/definitions/sportskeeda.TableCell"
+ },
+ "type": "array"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "sportskeeda.DepthChartPosition": {
+ "properties": {
+ "name": {
"type": "string"
},
- "title": {
- "description": "Title the reviewer gave the review.",
+ "players": {
+ "items": {
+ "$ref": "#/definitions/sportskeeda.PageView"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "sportskeeda.DepthChartResponse": {
+ "properties": {
+ "slug": {
"type": "string"
},
- "trip_type": {
- "description": "Type of trip the reviewer reported, as TripAdvisor labels it.",
- "type": "string"
+ "teams": {
+ "items": {
+ "$ref": "#/definitions/sportskeeda.DepthChartTeam"
+ },
+ "type": "array"
},
- "url": {
- "description": "TripAdvisor page URL of the review.",
+ "title": {
"type": "string"
}
},
"type": "object"
},
- "tripadvisor.ReviewsResponse": {
+ "sportskeeda.DepthChartTeam": {
"properties": {
- "id": {
- "description": "TripAdvisor location id the reviews belong to.",
- "example": "5493196",
- "type": "string"
- },
- "language": {
- "description": "Review language code that was applied, for example `en`.",
- "example": "en",
+ "name": {
"type": "string"
},
- "limit": {
- "description": "Maximum number of reviews returned per page.",
- "example": 20,
- "type": "integer"
- },
- "page": {
- "description": "Page number returned.",
- "example": 1,
- "type": "integer"
- },
- "reviews": {
- "description": "Reviews on this page, one entry per review.",
+ "positions": {
"items": {
- "$ref": "#/definitions/tripadvisor.ReviewItem"
+ "$ref": "#/definitions/sportskeeda.DepthChartPosition"
},
"type": "array"
},
- "total": {
- "description": "Total number of reviews matching the filters.",
- "example": 25770,
- "type": "integer"
- },
- "url": {
- "description": "TripAdvisor page URL of the place the reviews belong to.",
+ "slug": {
"type": "string"
}
},
"type": "object"
},
- "tripadvisor.SearchItem": {
+ "sportskeeda.DraftPick": {
"properties": {
- "document_id": {
- "description": "TripAdvisor document id of the suggestion, for example `loc;294217;g294217`.",
- "example": "loc;294217;g294217",
+ "college": {
"type": "string"
},
- "id": {
- "description": "TripAdvisor id of the suggested place or location.",
- "example": "294217",
+ "name": {
"type": "string"
},
- "image": {
- "description": "URL of an image for the suggestion.",
+ "overall_pick": {
"type": "string"
},
- "latitude": {
- "description": "Latitude of the suggestion in decimal degrees.",
- "example": 22.28331,
- "type": "number"
- },
- "longitude": {
- "description": "Longitude of the suggestion in decimal degrees.",
- "example": 114.15874,
- "type": "number"
- },
- "nested_results": {
- "description": "Search shortcuts TripAdvisor offers under the suggestion, such as hotels or things to do in that location.",
- "items": {
- "$ref": "#/definitions/tripadvisor.NestedSearchItem"
- },
- "type": "array"
- },
- "parent": {
- "description": "Parent locations of the suggestion, for example `China, Asia`.",
- "example": "China, Asia",
+ "position": {
"type": "string"
},
- "title": {
- "description": "Name of the suggested place or location.",
- "example": "Hong Kong",
+ "round": {
"type": "string"
},
- "type": {
- "description": "Kind of suggestion, for example `geo` for a destination.",
- "example": "geo",
+ "round_pick": {
"type": "string"
},
- "url": {
- "description": "TripAdvisor page URL of the suggestion.",
- "example": "https://en.tripadvisor.com.hk/Tourism-g294217-Hong_Kong-Vacations.html",
+ "team_code": {
"type": "string"
+ },
+ "year": {
+ "type": "integer"
}
},
"type": "object"
},
- "tripadvisor.SearchResponse": {
+ "sportskeeda.DraftPicksOptionsResponse": {
"properties": {
- "currency": {
- "description": "Currency code the prices are shown in, for example `HKD`.",
- "example": "HKD",
- "type": "string"
- },
- "geo_id": {
- "description": "TripAdvisor geo id of the location the places are listed for.",
- "example": 294217,
- "type": "integer"
- },
- "limit": {
- "description": "Maximum number of places returned on this page.",
- "example": 30,
- "type": "integer"
- },
- "locale": {
- "description": "Locale code the results were returned in, for example `en-HK`.",
- "example": "en-HK",
- "type": "string"
- },
- "offset": {
- "description": "Result offset of this page.",
- "example": 0,
- "type": "integer"
+ "positions": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "results": {
- "description": "Places on this page, one entry per place.",
+ "rounds": {
"items": {
- "$ref": "#/definitions/tripadvisor.PlaceItem"
+ "type": "string"
},
"type": "array"
},
- "sort": {
- "description": "Sort order that was applied, for example `POPULARITY`.",
- "example": "POPULARITY",
+ "slug": {
"type": "string"
},
- "source": {
- "description": "Label for the kind of TripAdvisor listing the results came from.",
- "example": "html_listing",
+ "team": {
"type": "string"
},
- "type": {
- "description": "Listing type that was searched, for example `restaurant`.",
- "example": "restaurant",
- "type": "string"
+ "total": {
+ "type": "integer"
},
- "unsupported_types": {
- "description": "Entity types that this search does not cover, for example `airline`. Omitted when none.",
- "example": [
- "vacation_rental",
- "tour",
- "airline"
- ],
+ "years": {
"items": {
- "type": "string"
+ "type": "integer"
},
"type": "array"
}
},
"type": "object"
},
- "tripadvisor.tripadvisorAutocompleteResponseDoc": {
+ "sportskeeda.DraftPicksResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "has_more": {
+ "type": "boolean"
},
- "data": {
- "$ref": "#/definitions/tripadvisor.AutocompleteResponse"
+ "page": {
+ "type": "integer"
},
- "msg": {
- "example": "OK",
- "type": "string"
- }
- },
- "type": "object"
- },
- "tripadvisor.tripadvisorEnumsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ "per_page": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/tripadvisor.EnumsResponse"
+ "picks": {
+ "items": {
+ "$ref": "#/definitions/sportskeeda.DraftPick"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "position": {
"type": "string"
- }
- },
- "type": "object"
- },
- "tripadvisor.tripadvisorHotelsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/tripadvisor.HotelListResponse"
+ "q": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "round": {
"type": "string"
- }
- },
- "type": "object"
- },
- "tripadvisor.tripadvisorReviewsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/tripadvisor.ReviewsResponse"
+ "slug": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "team": {
"type": "string"
+ },
+ "total": {
+ "type": "integer"
+ },
+ "year": {
+ "type": "integer"
}
},
"type": "object"
},
- "tripadvisor.tripadvisorSearchResponseDoc": {
+ "sportskeeda.EventCalendarOptionsResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/tripadvisor.SearchResponse"
- },
- "msg": {
- "example": "OK",
- "type": "string"
+ "regions": {
+ "items": {
+ "$ref": "#/definitions/sportskeeda.EventCalendarRegionOptions"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "tripcom.DetailResponse": {
+ "sportskeeda.EventCalendarRegionOptions": {
"properties": {
- "city_name": {
- "example": "Bang Sao Thong",
- "type": "string"
- },
- "country_name": {
- "example": "Thailand",
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "highlights": {
+ "months": {
"example": [
- "Free airport transfers",
- "Great views"
+ "2026-09",
+ "2026-10",
+ "2026-11",
+ "2026-12"
],
"items": {
"type": "string"
},
"type": "array"
},
- "hotel_id": {
- "example": 39371462,
- "type": "integer"
- },
- "image_count": {
- "example": 10,
- "type": "integer"
+ "region": {
+ "enum": [
+ "us",
+ "india"
+ ],
+ "type": "string"
},
- "images": {
+ "sports": {
"items": {
"type": "string"
},
"type": "array"
- },
- "local_name": {
- "type": "string"
- },
- "location": {
- "$ref": "#/definitions/tripcom.Location"
- },
- "name": {
- "example": "Divalux Resort and Spa Bangkok, Suvarnabhumi Airport-Free Shuttle",
- "type": "string"
- },
- "open_year": {
- "example": "2019",
+ }
+ },
+ "type": "object"
+ },
+ "sportskeeda.EventCalendarResponse": {
+ "properties": {
+ "end_date": {
"type": "string"
},
- "policy": {
- "$ref": "#/definitions/tripcom.Policy"
+ "events": {
+ "items": {
+ "$ref": "#/definitions/sportskeeda.CalendarEvent"
+ },
+ "type": "array"
},
- "popular_facilities": {
- "example": [
- "Outdoor swimming pool",
- "Spa",
- "Massage room"
- ],
+ "months": {
"items": {
"type": "string"
},
"type": "array"
},
- "province_name": {
- "example": "Samut Prakan Province",
+ "region": {
+ "enum": [
+ "us",
+ "india"
+ ],
"type": "string"
},
- "rating": {
- "$ref": "#/definitions/tripcom.Rating"
+ "sport": {
+ "type": "string"
},
- "source_url": {
- "example": "https://www.trip.com/hotels/bang-sao-thong-district-hotel-detail-39371462/divalux-resort-and-spa-bangkok-suvarnabhumi-airport-free-shuttle/",
+ "start_date": {
"type": "string"
},
- "star_rating": {
- "example": 5,
+ "total": {
"type": "integer"
}
},
"type": "object"
},
- "tripcom.HotelSummary": {
+ "sportskeeda.FeedItem": {
"properties": {
- "description": {
- "example": "The hotel has a relaxing wellness atmosphere...",
+ "age": {
"type": "string"
},
- "hotel_id": {
- "example": 39371462,
- "type": "integer"
- },
- "image_url": {
- "example": "https://ak-d.tripcdn.com/images/0585b12000sq6ih4c6345.jpg",
+ "category": {
"type": "string"
},
- "location": {
- "example": "88 Moo3, Sriwaree Road, Sisa Chokhe Noi, Bang Sao Thong District, Srisa Chorakhe Noi, Bang Sao Thong",
+ "image": {
"type": "string"
},
- "name": {
- "example": "Divalux Resort and Spa Bangkok, Suvarnabhumi Airport-Free Shuttle",
+ "section": {
"type": "string"
},
- "price": {
- "$ref": "#/definitions/tripcom.Price"
- },
- "rating_score": {
- "example": 8.7,
- "type": "number"
- },
- "review_count": {
- "example": 872,
- "type": "integer"
+ "slug": {
+ "type": "string"
},
- "star_rating": {
- "example": 5,
- "type": "integer"
+ "title": {
+ "type": "string"
},
"url": {
- "example": "https://www.trip.com/hotels/bang-sao-thong-district-hotel-detail-39371462/divalux-resort-and-spa-bangkok-suvarnabhumi-airport-free-shuttle/",
"type": "string"
}
},
"type": "object"
},
- "tripcom.Location": {
+ "sportskeeda.FeedResponse": {
"properties": {
- "address": {
- "example": "88 Moo3, Sriwaree Road, Sisa Chokhe Noi, Bang Sao Thong District, Samut Prakan Province, 10570, Thailand",
- "type": "string"
+ "items": {
+ "items": {
+ "$ref": "#/definitions/sportskeeda.FeedItem"
+ },
+ "type": "array"
},
- "latitude": {
- "example": 13.69316,
- "type": "number"
+ "next_page": {
+ "type": "integer"
},
- "longitude": {
- "example": 100.793475,
- "type": "number"
+ "page": {
+ "type": "integer"
},
- "traffic_description": {
- "example": "15 km from Pra Chom Klao, approx. 27 mins by car",
+ "slug": {
"type": "string"
},
- "zone_name": {
- "example": "Suvarnabhumi Airport",
+ "title": {
"type": "string"
}
},
"type": "object"
},
- "tripcom.Policy": {
+ "sportskeeda.FootballDataResponse": {
"properties": {
- "check_in_out": {
- "example": [
- "Check-in: After 14:00",
- "Check-out: Before 12:00",
- "Front desk hours: 24/7"
- ],
+ "event": {
+ "type": "string"
+ },
+ "event_name": {
+ "type": "string"
+ },
+ "matchday": {
+ "type": "string"
+ },
+ "matchday_name": {
+ "type": "string"
+ },
+ "matches": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/sportskeeda.FootballFixture"
},
"type": "array"
},
- "child": {
- "example": [
- "Children of all ages are welcome at this property."
- ],
+ "next_matchday": {
+ "type": "string"
+ },
+ "previous_matchday": {
+ "type": "string"
+ },
+ "standings": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/sportskeeda.FootballStanding"
},
"type": "array"
+ },
+ "status": {
+ "enum": [
+ "ok",
+ "no_matches"
+ ],
+ "type": "string"
}
},
"type": "object"
},
- "tripcom.Price": {
+ "sportskeeda.FootballEvent": {
"properties": {
- "amount": {
- "example": 38,
- "type": "number"
- },
- "currency": {
- "example": "US$",
+ "logo": {
"type": "string"
},
- "raw": {
- "example": "US$38",
+ "name": {
"type": "string"
},
- "unit": {
- "example": "1 night",
+ "slug": {
"type": "string"
}
},
"type": "object"
},
- "tripcom.Rating": {
+ "sportskeeda.FootballFixture": {
"properties": {
- "amenities_score": {
- "example": 8.8,
- "type": "number"
+ "away": {
+ "type": "string"
},
- "cleanliness_score": {
- "example": 8.7,
- "type": "number"
+ "away_score": {
+ "type": "string"
},
- "location_score": {
- "example": 8.3,
- "type": "number"
+ "away_slug": {
+ "type": "string"
},
- "recommend": {
- "example": "79% Recommended",
+ "datetime": {
"type": "string"
},
- "score": {
- "example": 8.6,
- "type": "number"
+ "home": {
+ "type": "string"
},
- "score_description": {
- "example": "Very good",
+ "home_score": {
"type": "string"
},
- "score_max": {
- "example": 10,
- "type": "number"
+ "home_slug": {
+ "type": "string"
},
- "service_score": {
- "example": 8.7,
- "type": "number"
+ "id": {
+ "type": "string"
},
- "total_comment": {
- "example": 875,
+ "postponed": {
+ "type": "boolean"
+ },
+ "result": {
+ "type": "string"
+ },
+ "slug": {
+ "type": "string"
+ },
+ "status": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sportskeeda.FootballMatchday": {
+ "properties": {
+ "end": {
+ "type": "string"
+ },
+ "match_count": {
"type": "integer"
+ },
+ "name": {
+ "type": "string"
+ },
+ "selected": {
+ "type": "boolean"
+ },
+ "slug": {
+ "type": "string"
+ },
+ "start": {
+ "type": "string"
}
},
"type": "object"
},
- "tripcom.SearchResponse": {
+ "sportskeeda.FootballOptionsResponse": {
"properties": {
- "city_id": {
- "example": "359",
+ "event": {
"type": "string"
},
- "city_slug": {
- "example": "bangkok",
+ "events": {
+ "items": {
+ "$ref": "#/definitions/sportskeeda.FootballEvent"
+ },
+ "type": "array"
+ },
+ "matchdays": {
+ "items": {
+ "$ref": "#/definitions/sportskeeda.FootballMatchday"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "sportskeeda.FootballStanding": {
+ "properties": {
+ "draws": {
+ "type": "integer"
+ },
+ "goal_difference": {
"type": "string"
},
- "count": {
- "example": 9,
+ "goals_against": {
+ "type": "string"
+ },
+ "goals_for": {
+ "type": "string"
+ },
+ "group": {
+ "type": "string"
+ },
+ "league": {
+ "type": "string"
+ },
+ "losses": {
"type": "integer"
},
- "hotels": {
+ "played": {
+ "type": "integer"
+ },
+ "points": {
+ "type": "integer"
+ },
+ "position": {
+ "type": "integer"
+ },
+ "qualification": {
+ "type": "string"
+ },
+ "team": {
+ "type": "string"
+ },
+ "team_code": {
+ "type": "string"
+ },
+ "team_slug": {
+ "type": "string"
+ },
+ "wins": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "sportskeeda.GuessingGameClue": {
+ "properties": {
+ "image": {
+ "type": "string"
+ },
+ "order": {
+ "type": "integer"
+ },
+ "text": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sportskeeda.GuessingGameDataResponse": {
+ "properties": {
+ "date": {
+ "type": "string"
+ },
+ "game_name": {
+ "type": "string"
+ },
+ "game_slug": {
+ "type": "string"
+ },
+ "instances": {
"items": {
- "$ref": "#/definitions/tripcom.HotelSummary"
+ "$ref": "#/definitions/sportskeeda.GuessingGameInstance"
},
"type": "array"
},
- "source_url": {
- "example": "https://www.trip.com/hotels/bangkok-hotels-list-359/",
+ "slug": {
"type": "string"
}
},
"type": "object"
},
- "tripcom.searchResponseDoc": {
+ "sportskeeda.GuessingGameEntitiesResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "entities": {
+ "items": {
+ "$ref": "#/definitions/sportskeeda.GuessingGameEntity"
+ },
+ "type": "array"
},
- "data": {
- "$ref": "#/definitions/tripcom.SearchResponse"
+ "game_slug": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "slug": {
"type": "string"
}
},
"type": "object"
},
- "trustmrr.AcquireListing": {
+ "sportskeeda.GuessingGameEntity": {
"properties": {
- "asking_price": {
- "type": "number"
+ "age_at_death": {
+ "type": "integer"
},
- "category": {
- "example": "SaaS",
+ "alias1": {
"type": "string"
},
- "description": {
+ "brand": {
"type": "string"
},
- "first_listed_for_sale_at": {
+ "conference": {
"type": "string"
},
- "founded_date": {
+ "date_of_birth": {
"type": "string"
},
- "growth_30d": {
- "type": "number"
+ "dead": {
+ "type": "string"
},
- "icon": {
+ "division": {
"type": "string"
},
- "listing_tier": {
+ "experience": {
"type": "string"
},
- "multiple": {
- "type": "number"
+ "gender": {
+ "type": "string"
},
- "name": {
- "example": "Ploxto",
+ "hall_of_fame": {
"type": "string"
},
- "offer_count": {
+ "height_in_inches": {
"type": "integer"
},
- "payment_provider": {
+ "id": {
"type": "string"
},
- "profit_margin_last_30_days": {
- "type": "number"
- },
- "revenue_last_30_days": {
- "type": "number"
+ "identifier": {
+ "type": "string"
},
- "slug": {
- "example": "ploxto",
+ "name": {
"type": "string"
},
- "stealth_mode": {
- "type": "boolean"
+ "position": {
+ "type": "string"
},
- "url": {
- "example": "https://trustmrr.com/startup/ploxto",
+ "team": {
"type": "string"
+ },
+ "touchdowns": {
+ "type": "integer"
+ },
+ "uniform": {
+ "type": "integer"
+ },
+ "wrestlemania_appearances": {
+ "type": "integer"
}
},
"type": "object"
},
- "trustmrr.AcquireResponse": {
+ "sportskeeda.GuessingGameInstance": {
"properties": {
- "count": {
- "type": "integer"
- },
- "startups": {
+ "clues": {
"items": {
- "$ref": "#/definitions/trustmrr.AcquireListing"
+ "$ref": "#/definitions/sportskeeda.GuessingGameClue"
},
"type": "array"
+ },
+ "date": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "original_image": {
+ "type": "string"
}
},
"type": "object"
},
- "trustmrr.AskingPricePoint": {
+ "sportskeeda.GuessingGameOption": {
"properties": {
- "created_at": {
- "description": "Time the asking price was set, in ISO 8601.",
+ "game_slug": {
"type": "string"
},
- "price": {
- "description": "Asking price recorded at that time.",
- "type": "number"
+ "name": {
+ "type": "string"
+ },
+ "slug": {
+ "type": "string"
}
},
"type": "object"
},
- "trustmrr.CategoriesResponse": {
+ "sportskeeda.GuessingGamesResponse": {
"properties": {
- "categories": {
- "description": "TrustMRR startup categories, one item per category.",
+ "games": {
"items": {
- "$ref": "#/definitions/trustmrr.Category"
+ "$ref": "#/definitions/sportskeeda.GuessingGameOption"
},
"type": "array"
- },
- "count": {
- "description": "Number of categories returned.",
- "example": 31,
- "type": "integer"
}
},
"type": "object"
},
- "trustmrr.Category": {
+ "sportskeeda.NBAQueriesResponse": {
"properties": {
- "description": {
- "description": "Short description of the category.",
- "type": "string"
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/sportskeeda.NBAQueryCategory"
+ },
+ "type": "array"
},
- "icon": {
- "description": "Name of the icon TrustMRR uses for the category, for example `Sparkles`.",
- "example": "Sparkles",
+ "category": {
+ "enum": [
+ "player-stat",
+ "player-vs-team"
+ ],
"type": "string"
},
- "keywords": {
- "description": "Keywords associated with the category.",
+ "items": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/sportskeeda.NBAQueryItem"
},
"type": "array"
},
- "label": {
- "description": "Full category name, for example `Artificial Intelligence`.",
- "example": "Artificial Intelligence",
- "type": "string"
- },
- "label_short": {
- "description": "Short category name, for example `AI`.",
- "example": "AI",
- "type": "string"
+ "limit": {
+ "type": "integer"
},
- "slug": {
- "description": "URL slug of the category. Use it with the category endpoint.",
- "example": "ai",
- "type": "string"
+ "offset": {
+ "type": "integer"
},
- "url": {
- "description": "Link to the category page on TrustMRR.",
- "example": "https://trustmrr.com/category/ai",
- "type": "string"
+ "total": {
+ "type": "integer"
}
},
"type": "object"
},
- "trustmrr.CategoryResponse": {
+ "sportskeeda.NBAQueryCategory": {
"properties": {
"count": {
- "description": "Number of startups returned.",
"type": "integer"
},
- "slug": {
- "description": "URL slug of the category that was requested.",
- "example": "saas",
+ "id": {
+ "enum": [
+ "player-stat",
+ "player-vs-team"
+ ],
"type": "string"
},
- "startups": {
- "description": "Startups listed in the category, one item per startup.",
- "items": {
- "$ref": "#/definitions/trustmrr.CategoryStartup"
- },
- "type": "array"
- },
- "url": {
- "description": "Link to the category page on TrustMRR.",
- "example": "https://trustmrr.com/category/saas",
+ "name": {
"type": "string"
}
},
"type": "object"
},
- "trustmrr.CategoryStartup": {
+ "sportskeeda.NBAQueryItem": {
"properties": {
- "current_last_30_days_revenue": {
- "description": "Verified revenue over the last 30 days, in US dollars.",
- "type": "number"
- },
- "current_mrr": {
- "description": "Verified monthly recurring revenue, in US dollars.",
- "type": "number"
- },
- "current_total_revenue": {
- "description": "Verified total revenue to date, in US dollars.",
- "type": "number"
+ "category": {
+ "enum": [
+ "player-stat",
+ "player-vs-team"
+ ],
+ "type": "string"
},
- "description": {
- "description": "Startup description as shown on TrustMRR.",
+ "slug": {
"type": "string"
},
- "icon": {
- "description": "URL of the startup's icon image.",
+ "subject": {
"type": "string"
},
- "is_merchant_of_record": {
- "description": "`true` when the startup is flagged as the merchant of record for its sales.",
- "type": "boolean"
+ "title": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sportskeeda.NavigationGroup": {
+ "properties": {
+ "items": {
+ "items": {
+ "$ref": "#/definitions/sportskeeda.SectionLink"
+ },
+ "type": "array"
},
"name": {
- "description": "Startup name as shown on TrustMRR.",
- "example": "Hidden Business",
"type": "string"
},
- "on_sale": {
- "description": "`true` when the startup is currently listed for sale.",
- "type": "boolean"
- },
"slug": {
- "description": "URL slug of the startup on TrustMRR. Use it with the startup endpoint.",
- "example": "hidden-business-3",
"type": "string"
},
"url": {
- "description": "Link to the startup's page on TrustMRR.",
- "example": "https://trustmrr.com/startup/hidden-business-3",
"type": "string"
}
},
"type": "object"
},
- "trustmrr.LeaderboardEntry": {
+ "sportskeeda.PageFilter": {
"properties": {
- "current_last_30_days_revenue": {
- "description": "Verified revenue over the last 30 days, in US dollars.",
- "type": "number"
- },
- "current_mrr": {
- "description": "Verified monthly recurring revenue, in US dollars.",
- "example": 3569654.22,
- "type": "number"
- },
- "current_total_revenue": {
- "description": "Verified total revenue to date, in US dollars.",
- "example": 76627685.07,
- "type": "number"
- },
- "description": {
- "description": "Startup description as shown on TrustMRR.",
+ "label": {
"type": "string"
},
- "growth_30d": {
- "description": "Growth over the last 30 days, in percent.",
- "type": "number"
- },
- "growth_mrr_30d": {
- "description": "Growth in monthly recurring revenue over the last 30 days, in percent.",
- "type": "number"
- },
- "icon": {
- "description": "URL of the startup's icon image.",
+ "name": {
"type": "string"
},
- "is_merchant_of_record": {
- "description": "`true` when the startup is flagged as the merchant of record for its sales.",
- "type": "boolean"
- },
+ "values": {
+ "items": {
+ "$ref": "#/definitions/sportskeeda.PageFilterValue"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "sportskeeda.PageFilterValue": {
+ "properties": {
"name": {
- "description": "Startup name as shown on TrustMRR.",
- "example": "Stan",
"type": "string"
},
- "on_sale": {
- "description": "`true` when the startup is currently listed for sale.",
+ "selected": {
"type": "boolean"
},
- "rank": {
- "description": "Position in the leaderboard for the selected metric, starting at 1.",
- "example": 1,
- "type": "integer"
- },
- "revenue_per_visitor_last_30_days": {
- "description": "Revenue per visitor over the last 30 days.",
- "type": "number"
- },
"slug": {
- "description": "URL slug of the startup on TrustMRR. Use it with the startup endpoint.",
- "example": "stan",
- "type": "string"
- },
- "stealth_mode": {
- "description": "`true` when the startup is listed in stealth mode.",
- "type": "boolean"
- },
- "traffic_last_30_days": {
- "description": "Traffic to the startup's website over the last 30 days.",
- "type": "number"
- },
- "url": {
- "description": "Link to the startup's page on TrustMRR.",
- "example": "https://trustmrr.com/startup/stan",
- "type": "string"
- },
- "x_founder_name": {
- "description": "Founder's display name on X.",
"type": "string"
},
- "x_handle": {
- "description": "Founder's X handle, without the `@`.",
+ "value": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sportskeeda.PageGroup": {
+ "properties": {
+ "items": {
+ "items": {
+ "$ref": "#/definitions/sportskeeda.PageView"
+ },
+ "type": "array"
},
- "x_profile_picture": {
- "description": "URL of the founder's X profile picture.",
+ "name": {
"type": "string"
}
},
"type": "object"
},
- "trustmrr.LeaderboardMetric": {
- "enum": [
- "mrr",
- "last_30_days_revenue",
- "all_time_revenue",
- "growth",
- "traffic",
- "revenue_per_visitor"
- ],
- "type": "string",
- "x-enum-varnames": [
- "MetricMRR",
- "MetricLast30DaysRevenue",
- "MetricAllTimeRevenue",
- "MetricGrowth",
- "MetricTraffic",
- "MetricRevenuePerVisitor"
- ]
- },
- "trustmrr.LeaderboardResponse": {
+ "sportskeeda.PageMenu": {
"properties": {
- "count": {
- "description": "Number of startups in the leaderboard.",
- "example": 100,
- "type": "integer"
- },
- "entries": {
- "description": "Ranked startups, best first.",
+ "groups": {
"items": {
- "$ref": "#/definitions/trustmrr.LeaderboardEntry"
+ "$ref": "#/definitions/sportskeeda.PageGroup"
},
"type": "array"
},
- "metric": {
- "allOf": [
- {
- "$ref": "#/definitions/trustmrr.LeaderboardMetric"
- }
- ],
- "description": "Metric the leaderboard is ranked by: `mrr`, `last_30_days_revenue`, `all_time_revenue`, `growth`, `traffic` or `revenue_per_visitor`.",
- "example": "mrr"
+ "name": {
+ "type": "string"
}
},
"type": "object"
},
- "trustmrr.MarketplaceResponse": {
+ "sportskeeda.PageOptionsResponse": {
"properties": {
- "best_deals": {
+ "filters": {
"items": {
- "$ref": "#/definitions/trustmrr.MarketplaceStartup"
+ "$ref": "#/definitions/sportskeeda.PageFilter"
},
"type": "array"
},
- "recently_listed": {
+ "menus": {
"items": {
- "$ref": "#/definitions/trustmrr.MarketplaceStartup"
+ "$ref": "#/definitions/sportskeeda.PageMenu"
+ },
+ "type": "array"
+ },
+ "slug": {
+ "type": "string"
+ },
+ "sports": {
+ "items": {
+ "$ref": "#/definitions/sportskeeda.PageView"
+ },
+ "type": "array"
+ },
+ "tabs": {
+ "items": {
+ "$ref": "#/definitions/sportskeeda.PageView"
+ },
+ "type": "array"
+ },
+ "title": {
+ "type": "string"
+ },
+ "views": {
+ "items": {
+ "$ref": "#/definitions/sportskeeda.PageView"
},
"type": "array"
}
},
"type": "object"
},
- "trustmrr.MarketplaceRevenue": {
+ "sportskeeda.PageView": {
"properties": {
- "last_30_days": {
- "example": 23589.38,
- "type": "number"
- },
- "mrr": {
- "example": 20361.89,
- "type": "number"
+ "name": {
+ "type": "string"
},
- "total": {
- "example": 23589.38,
- "type": "number"
+ "slug": {
+ "type": "string"
}
},
"type": "object"
},
- "trustmrr.MarketplaceStartup": {
+ "sportskeeda.PlayerSeasonStats": {
"properties": {
- "active_subscriptions": {
- "example": 4790,
- "type": "integer"
- },
- "asking_price": {
- "example": 600000,
- "type": "number"
- },
- "category": {
- "example": "Mobile Apps",
- "type": "string"
- },
- "country": {
- "example": "PL",
+ "event_type": {
"type": "string"
},
- "customers": {
- "example": 0,
+ "games_played": {
"type": "integer"
},
- "description": {
- "type": "string"
+ "games_started": {
+ "type": "integer"
},
- "first_listed_for_sale_at": {
- "type": "string"
+ "metrics": {
+ "additionalProperties": {},
+ "type": "object"
},
- "founded_date": {
- "example": "2025-06-01T00:00:00.000Z",
+ "name": {
"type": "string"
},
- "google_search_impressions_last_30_days": {
+ "season": {
"type": "integer"
},
- "growth_30d": {
- "type": "number"
+ "team": {
+ "$ref": "#/definitions/sportskeeda.PlayerStatsTeam"
+ }
+ },
+ "type": "object"
+ },
+ "sportskeeda.PlayerStatsResponse": {
+ "properties": {
+ "event_types": {
+ "items": {
+ "$ref": "#/definitions/sportskeeda.PageFilterValue"
+ },
+ "type": "array"
},
- "growth_mrr_30d": {
- "type": "number"
+ "records": {
+ "items": {
+ "$ref": "#/definitions/sportskeeda.PlayerSeasonStats"
+ },
+ "type": "array"
},
- "icon": {
+ "selected_event_type": {
"type": "string"
},
- "multiple": {
- "example": 2.1,
- "type": "number"
+ "slug": {
+ "type": "string"
},
- "name": {
- "example": "TrackAI",
+ "sport": {
"type": "string"
},
- "on_sale": {
- "example": true,
- "type": "boolean"
+ "stat_fields": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "payment_provider": {
- "example": "revenuecat",
+ "title": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sportskeeda.PlayerStatsTeam": {
+ "properties": {
+ "abbreviation": {
"type": "string"
},
- "profit_margin_last_30_days": {
- "example": 10,
- "type": "number"
- },
- "rank": {
- "example": 858,
+ "id": {
"type": "integer"
},
- "revenue": {
- "$ref": "#/definitions/trustmrr.MarketplaceRevenue"
+ "image_url": {
+ "type": "string"
},
- "revenue_per_visitor": {
- "type": "number"
+ "name": {
+ "type": "string"
},
"slug": {
- "example": "trackai",
"type": "string"
- },
- "target_audience": {
- "example": "B2C",
+ }
+ },
+ "type": "object"
+ },
+ "sportskeeda.ProfileFact": {
+ "properties": {
+ "name": {
"type": "string"
},
- "url": {
- "example": "https://trustmrr.com/startup/trackai",
+ "value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sportskeeda.ProfileResponse": {
+ "properties": {
+ "description": {
"type": "string"
},
- "visitors_last_30_days": {
- "type": "integer"
+ "facts": {
+ "items": {
+ "$ref": "#/definitions/sportskeeda.ProfileFact"
+ },
+ "type": "array"
},
- "website": {
- "example": "https://trackai.app",
+ "kind": {
"type": "string"
},
- "x_handle": {
+ "name": {
"type": "string"
},
- "x_profile_picture": {
+ "news": {
+ "items": {
+ "$ref": "#/definitions/sportskeeda.FeedItem"
+ },
+ "type": "array"
+ },
+ "slug": {
"type": "string"
}
},
"type": "object"
},
- "trustmrr.Startup": {
+ "sportskeeda.QuizCategoriesResponse": {
"properties": {
- "ahrefs_domain": {
- "description": "Domain TrustMRR uses to look up the startup's Ahrefs domain rating.",
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/sportskeeda.QuizCategory"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "sportskeeda.QuizCategory": {
+ "properties": {
+ "name": {
"type": "string"
},
- "ahrefs_domain_rating": {
- "description": "Ahrefs domain rating of the startup's website.",
- "type": "integer"
+ "slug": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sportskeeda.QuizChoice": {
+ "properties": {
+ "text": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sportskeeda.QuizQuestion": {
+ "properties": {
+ "image": {
+ "type": "string"
},
- "asking_price": {
- "description": "Price the seller is asking for the startup.",
- "example": 600000,
- "type": "number"
+ "number": {
+ "type": "integer"
},
- "asking_price_history": {
- "description": "Earlier asking prices for the startup, one item per recorded price.",
+ "options": {
"items": {
- "$ref": "#/definitions/trustmrr.AskingPricePoint"
+ "$ref": "#/definitions/sportskeeda.QuizChoice"
},
"type": "array"
},
- "branding_primary_color": {
- "description": "Primary brand color of the startup, as a hex code.",
- "example": "#ffffff",
+ "text": {
"type": "string"
},
- "branding_secondary_color": {
- "description": "Secondary brand color of the startup, as a hex code.",
- "example": "#000000",
+ "type": {
"type": "string"
- },
+ }
+ },
+ "type": "object"
+ },
+ "sportskeeda.QuizResponse": {
+ "properties": {
"category": {
- "description": "Category label of the startup, for example `Mobile App`.",
- "example": "Mobile App",
- "type": "string"
- },
- "category_slug": {
- "description": "URL slug of the startup's category, for example `mobile-app`.",
- "example": "mobile-app",
"type": "string"
},
- "country": {
- "description": "Country code of the startup, for example `PL`.",
- "example": "PL",
- "type": "string"
+ "questions": {
+ "items": {
+ "$ref": "#/definitions/sportskeeda.QuizQuestion"
+ },
+ "type": "array"
},
- "created_at": {
- "description": "Time the startup was added to TrustMRR, in ISO 8601.",
+ "slug": {
"type": "string"
},
- "deal_score": {
- "description": "TrustMRR's recency-aware acquisition score for the listing.",
- "type": "number"
+ "time_limit_seconds": {
+ "type": "integer"
},
- "description": {
- "description": "Startup description as shown on TrustMRR.",
+ "title": {
"type": "string"
},
- "enrichment": {
- "allOf": [
- {
- "$ref": "#/definitions/trustmrr.StartupEnrichment"
- }
- ],
- "description": "TrustMRR's AI-generated business summary for the startup."
- },
- "first_listed_for_sale_at": {
- "description": "Time the startup was first listed for sale, in ISO 8601.",
+ "version_id": {
"type": "string"
- },
- "founded_date": {
- "description": "Date the startup was founded, in ISO 8601.",
+ }
+ },
+ "type": "object"
+ },
+ "sportskeeda.QuizSummary": {
+ "properties": {
+ "image": {
"type": "string"
},
- "growth_30d": {
- "description": "Growth over the last 30 days, in percent.",
- "type": "number"
- },
- "growth_mrr_30d": {
- "description": "Growth in monthly recurring revenue over the last 30 days, in percent.",
- "type": "number"
- },
- "has_dofollow_backlink": {
- "description": "`true` when TrustMRR has verified a dofollow backlink for the startup.",
- "type": "boolean"
- },
- "has_google_analytics": {
- "description": "`true` when TrustMRR has verified Google Analytics for the startup.",
- "type": "boolean"
- },
- "has_search_console": {
- "description": "`true` when TrustMRR has verified Google Search Console for the startup.",
- "type": "boolean"
- },
- "icon": {
- "description": "URL of the startup's icon image.",
+ "slug": {
"type": "string"
},
- "insight_overrides": {
- "allOf": [
- {
- "$ref": "#/definitions/trustmrr.StartupInsight"
- }
- ],
- "description": "InsightOverrides holds the human-curated business summary TrustMRR displays\nin place of the AI enrichment when a seller has edited it."
- },
- "is_merchant_of_record": {
- "description": "`true` when the startup is flagged as the merchant of record for its sales.",
- "type": "boolean"
- },
- "is_sponsored": {
- "description": "`true` when the listing is sponsored.",
- "type": "boolean"
- },
- "listing_tier": {
- "description": "Marketplace listing tier of the startup, for example `pro`.",
- "example": "pro",
+ "time_limit": {
"type": "string"
},
- "looking_for_cofounder": {
- "description": "`true` when the startup is looking for a cofounder.",
- "type": "boolean"
- },
- "looking_for_cofounder_message": {
- "description": "Message from the founder about the cofounder search. Text written by the founder.",
+ "title": {
"type": "string"
- },
- "marketing_channels": {
- "description": "Marketing channels detected for the startup, one item per channel.",
+ }
+ },
+ "type": "object"
+ },
+ "sportskeeda.QuizzesResponse": {
+ "properties": {
+ "items": {
"items": {
- "$ref": "#/definitions/trustmrr.StartupChannel"
+ "$ref": "#/definitions/sportskeeda.QuizSummary"
},
"type": "array"
},
- "merchant_category_code": {
- "description": "Merchant category code of the startup's payment processor account, for example `7372`.",
- "example": "7372",
+ "slug": {
"type": "string"
},
- "mrr_last_synced_at": {
- "description": "Time the monthly recurring revenue was last synced, in ISO 8601.",
+ "title": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sportskeeda.SalaryBreakdown": {
+ "properties": {
+ "base_salary": {
+ "type": "integer"
},
- "multiple": {
- "description": "Asking price divided by trailing revenue.",
- "example": 2.12,
- "type": "number"
+ "guaranteed": {
+ "type": "integer"
},
- "name": {
- "description": "Startup name as shown on TrustMRR.",
- "example": "TrackAI",
- "type": "string"
+ "option_bonus": {
+ "type": "integer"
},
- "offer_count": {
- "description": "Number of offers made on the listing.",
+ "other_bonus": {
"type": "integer"
},
- "on_sale": {
- "description": "`true` when the startup is currently listed for sale.",
- "type": "boolean"
+ "per_game_bonus": {
+ "type": "integer"
},
- "payment_provider": {
- "description": "Payment provider that verifies the startup's revenue, for example `revenuecat`.",
- "example": "revenuecat",
- "type": "string"
+ "roster_bonus": {
+ "type": "integer"
},
- "profit_margin_last_30_days": {
- "description": "Profit margin over the last 30 days, in percent.",
- "example": 10,
- "type": "number"
+ "signing_bonus": {
+ "type": "integer"
},
- "rank": {
- "description": "Position of the startup on TrustMRR's ranking.",
- "example": 858,
+ "workout_bonus": {
"type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "sportskeeda.SalaryCapPlayer": {
+ "properties": {
+ "breakdown": {
+ "$ref": "#/definitions/sportskeeda.SalaryBreakdown"
},
- "revenue": {
- "allOf": [
- {
- "$ref": "#/definitions/trustmrr.StartupRevenue"
- }
- ],
- "description": "Verified revenue figures for the startup, in US dollars."
+ "cap_number": {
+ "type": "integer"
},
- "revenue_last_synced_at": {
- "description": "Time the revenue figures were last synced, in ISO 8601.",
- "type": "string"
+ "cut_post_june_1_cap_saving": {
+ "type": "integer"
},
- "revenue_per_visitor_last_30_days": {
- "description": "Revenue per visitor over the last 30 days.",
- "type": "number"
+ "cut_post_june_1_dead_money": {
+ "type": "integer"
},
- "secondary_payment_provider": {
- "description": "Second payment provider connected to the startup, when it has one.",
- "type": "string"
+ "cut_pre_june_1_cap_saving": {
+ "type": "integer"
},
- "seller_message": {
- "description": "Message from the seller on the listing. Text written by the seller.",
- "type": "string"
+ "cut_pre_june_1_dead_money": {
+ "type": "integer"
},
- "slug": {
- "description": "URL slug of the startup on TrustMRR. Use it with the startup endpoint.",
- "example": "trackai",
- "type": "string"
+ "extension_cap_saving": {
+ "type": "integer"
},
- "status": {
- "description": "Startup status on TrustMRR, for example `active`.",
- "example": "active",
+ "name": {
"type": "string"
},
- "stealth_mode": {
- "description": "`true` when the startup is listed in stealth mode.",
- "type": "boolean"
+ "restructure_cap_saving": {
+ "type": "integer"
},
- "target_audience": {
- "description": "Audience the startup sells to, for example `B2C` or `B2B`.",
- "example": "B2C",
+ "slug": {
"type": "string"
},
- "tech_stack": {
- "description": "Technologies detected in the startup's stack, one item per technology.",
- "items": {
- "$ref": "#/definitions/trustmrr.StartupTech"
- },
- "type": "array"
+ "trade_post_june_1_cap_saving": {
+ "type": "integer"
},
- "traffic_last_12_months": {
- "description": "Traffic to the startup's website over the last 12 months.",
- "type": "number"
+ "trade_post_june_1_dead_money": {
+ "type": "integer"
},
- "traffic_last_24_hours": {
- "description": "Traffic to the startup's website over the last 24 hours.",
- "type": "number"
+ "trade_pre_june_1_cap_saving": {
+ "type": "integer"
},
- "traffic_last_30_days": {
- "description": "Traffic to the startup's website over the last 30 days.",
- "type": "number"
+ "trade_pre_june_1_dead_money": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "sportskeeda.SalaryCapResponse": {
+ "properties": {
+ "active_cap_spend": {
+ "type": "integer"
},
- "traffic_last_7_days": {
- "description": "Traffic to the startup's website over the last 7 days.",
- "type": "number"
+ "cap_space": {
+ "type": "integer"
},
- "updated_at": {
- "description": "Time the startup record was last updated, in ISO 8601.",
- "type": "string"
+ "dead_money": {
+ "type": "integer"
},
- "url": {
- "description": "Link to the startup's page on TrustMRR.",
- "example": "https://trustmrr.com/startup/trackai",
+ "order": {
"type": "string"
},
- "user_category": {
- "description": "Second category label for the startup, for example `Mobile Apps`.",
- "example": "Mobile Apps",
- "type": "string"
+ "players": {
+ "items": {
+ "$ref": "#/definitions/sportskeeda.SalaryCapPlayer"
+ },
+ "type": "array"
},
- "user_category_slug": {
- "description": "URL slug of the second category label, for example `mobile-apps`.",
- "example": "mobile-apps",
+ "q": {
"type": "string"
},
- "website": {
- "description": "Startup's website address.",
- "example": "https://trackai.app",
- "type": "string"
+ "salary_cap": {
+ "type": "integer"
},
- "x_follower_count": {
- "description": "Number of followers of the founder's X account.",
+ "season": {
"type": "integer"
},
- "x_founder_name": {
- "description": "Founder's display name on X.",
+ "slug": {
"type": "string"
},
- "x_handle": {
- "description": "Founder's X handle, without the `@`.",
+ "sort_by": {
"type": "string"
},
- "x_profile_picture": {
- "description": "URL of the founder's X profile picture.",
- "type": "string"
- }
- },
- "type": "object"
- },
- "trustmrr.StartupChannel": {
- "properties": {
- "category": {
- "description": "Marketing channel category, for example `paid`.",
- "example": "paid",
+ "status": {
+ "enum": [
+ "ok",
+ "no_data"
+ ],
"type": "string"
},
- "slug": {
- "description": "Marketing channel identifier, for example `meta-ads`.",
- "example": "meta-ads",
+ "team": {
"type": "string"
+ },
+ "total": {
+ "type": "integer"
}
},
"type": "object"
},
- "trustmrr.StartupEnrichment": {
+ "sportskeeda.ScheduleMatch": {
"properties": {
- "business_type": {
- "description": "Business type of the startup, for example `B2C`.",
- "example": "B2C",
+ "competition": {
"type": "string"
},
- "estimated_user_count": {
- "description": "Estimated number of users of the startup's product.",
- "type": "integer"
+ "date_time": {
+ "type": "string"
},
- "funding_status": {
- "description": "Funding status of the startup, for example `Unknown`.",
+ "result": {
"type": "string"
},
- "last_enriched_at": {
- "description": "Time the summary was last generated, in ISO 8601.",
+ "score_1": {
"type": "string"
},
- "pricing_model": {
- "description": "Short description of how the startup charges for its product.",
+ "score_2": {
"type": "string"
},
- "problem_solved": {
- "description": "Problem the startup's product solves.",
+ "slug": {
"type": "string"
},
- "screenshots": {
- "description": "Screenshots of the startup's site, one item per screenshot.",
- "items": {
- "$ref": "#/definitions/trustmrr.StartupScreenshot"
- },
- "type": "array"
+ "status": {
+ "type": "string"
},
- "tags": {
- "description": "Topic tags for the startup, for example `ai` or `saas`.",
- "items": {
- "type": "string"
- },
- "type": "array"
+ "team_1": {
+ "type": "string"
},
- "target_persona": {
- "description": "Type of customer the startup's product is aimed at.",
+ "team_2": {
"type": "string"
},
- "value_proposition": {
- "description": "One-line summary of what the startup's product offers.",
+ "venue": {
"type": "string"
}
},
"type": "object"
},
- "trustmrr.StartupInsight": {
+ "sportskeeda.SectionLink": {
"properties": {
- "business_type": {
- "description": "Business type of the startup, for example `B2C`.",
- "example": "B2C",
- "type": "string"
- },
- "estimated_user_count": {
- "description": "Estimated number of users of the startup's product.",
- "type": "integer"
- },
- "pricing_model": {
- "description": "Short description of how the startup charges for its product.",
- "type": "string"
+ "external": {
+ "type": "boolean"
},
- "problem_solved": {
- "description": "Problem the startup's product solves.",
+ "name": {
"type": "string"
},
- "target_persona": {
- "description": "Type of customer the startup's product is aimed at.",
+ "slug": {
"type": "string"
},
- "updated_at": {
- "description": "Time the summary was last updated, in ISO 8601.",
+ "url": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sportskeeda.SectionsResponse": {
+ "properties": {
+ "navigation": {
+ "items": {
+ "$ref": "#/definitions/sportskeeda.NavigationGroup"
+ },
+ "type": "array"
},
- "value_proposition": {
- "description": "One-line summary of what the startup's product offers.",
- "type": "string"
+ "sections": {
+ "items": {
+ "$ref": "#/definitions/sportskeeda.SportSection"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "trustmrr.StartupRef": {
+ "sportskeeda.SitemapItem": {
"properties": {
"last_modified": {
- "description": "Last-modified time TrustMRR lists for the startup page, in ISO 8601.",
- "example": "2026-07-08T05:09:42.880Z",
"type": "string"
},
"slug": {
- "description": "URL slug of the startup on TrustMRR. Use it with the startup endpoint.",
- "example": "gumroad",
"type": "string"
},
"url": {
- "description": "Link to the startup's page on TrustMRR.",
- "example": "https://trustmrr.com/startup/gumroad",
"type": "string"
}
},
"type": "object"
},
- "trustmrr.StartupRevenue": {
+ "sportskeeda.SitemapItemsResponse": {
"properties": {
- "active_subscriptions": {
- "description": "Number of active subscriptions.",
+ "has_more": {
+ "type": "boolean"
+ },
+ "items": {
+ "items": {
+ "$ref": "#/definitions/sportskeeda.SitemapItem"
+ },
+ "type": "array"
+ },
+ "limit": {
"type": "integer"
},
- "customers": {
- "description": "Number of customers.",
+ "offset": {
"type": "integer"
},
- "last_30_days": {
- "description": "Revenue over the last 30 days, in US dollars.",
- "type": "number"
+ "sitemap_url": {
+ "type": "string"
},
- "mrr": {
- "description": "Monthly recurring revenue, in US dollars.",
- "type": "number"
+ "slug": {
+ "type": "string"
},
"total": {
- "description": "Total revenue to date, in US dollars.",
- "type": "number"
+ "type": "integer"
}
},
"type": "object"
},
- "trustmrr.StartupScreenshot": {
+ "sportskeeda.SitemapSource": {
"properties": {
- "captured_at": {
- "description": "Time the screenshot was taken, in ISO 8601.",
+ "last_modified": {
"type": "string"
},
- "label": {
- "description": "Label of the screenshot, for example `Landing page`.",
+ "name": {
+ "type": "string"
+ },
+ "slug": {
"type": "string"
},
"url": {
- "description": "URL of the screenshot image.",
"type": "string"
}
},
"type": "object"
},
- "trustmrr.StartupTech": {
+ "sportskeeda.SitemapsResponse": {
"properties": {
- "category": {
- "description": "Technology category, for example `frontend`.",
- "example": "frontend",
+ "sources": {
+ "items": {
+ "$ref": "#/definitions/sportskeeda.SitemapSource"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "sportskeeda.SportSection": {
+ "properties": {
+ "last_modified": {
"type": "string"
},
"slug": {
- "description": "Technology identifier, for example `reactnative`.",
- "example": "reactnative",
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "trustmrr.StartupsResponse": {
+ "sportskeeda.StandingsOptionsResponse": {
"properties": {
- "has_next": {
- "description": "`true` when more pages of startups remain.",
- "example": true,
- "type": "boolean"
- },
- "page": {
- "description": "Page number returned, starting at 1.",
- "example": 1,
- "type": "integer"
- },
- "page_size": {
- "description": "Number of startups per page.",
- "example": 100,
- "type": "integer"
+ "conferences": {
+ "items": {
+ "$ref": "#/definitions/sportskeeda.PageView"
+ },
+ "type": "array"
},
- "startups": {
- "description": "Startups on this page, one item per startup.",
+ "seasons": {
"items": {
- "$ref": "#/definitions/trustmrr.StartupRef"
+ "type": "integer"
},
"type": "array"
},
- "total": {
- "description": "Total number of startups listed on TrustMRR.",
- "example": 8196,
- "type": "integer"
+ "slug": {
+ "type": "string"
}
},
"type": "object"
},
- "trustmrr.acquireResponseDoc": {
+ "sportskeeda.TableCell": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/trustmrr.AcquireResponse"
+ "slug": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "text": {
"type": "string"
}
},
"type": "object"
},
- "trustmrr.categoriesResponseDoc": {
+ "sportskeeda.TablesResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "matches": {
+ "items": {
+ "$ref": "#/definitions/sportskeeda.ScheduleMatch"
+ },
+ "type": "array"
},
- "data": {
- "$ref": "#/definitions/trustmrr.CategoriesResponse"
+ "slug": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "status": {
+ "type": "string"
+ },
+ "tables": {
+ "items": {
+ "$ref": "#/definitions/sportskeeda.DataTable"
+ },
+ "type": "array"
+ },
+ "title": {
"type": "string"
+ },
+ "views": {
+ "items": {
+ "$ref": "#/definitions/sportskeeda.PageView"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "trustmrr.categoryResponseDoc": {
+ "sportskeeda.TaxonomyResult": {
"properties": {
- "code": {
- "example": 200,
+ "id": {
+ "type": "string"
+ },
+ "image": {
+ "type": "string"
+ },
+ "path_slug": {
+ "type": "string"
+ },
+ "post_count": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/trustmrr.CategoryResponse"
+ "slug": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "taxonomy": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "trustmrr.leaderboardResponseDoc": {
+ "sportskeeda.TaxonomySearchResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "query": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/trustmrr.LeaderboardResponse"
+ "results": {
+ "items": {
+ "$ref": "#/definitions/sportskeeda.TaxonomyResult"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
- "type": "string"
+ "taxonomies": {
+ "items": {
+ "enum": [
+ "category",
+ "event",
+ "team",
+ "player",
+ "wiki",
+ "wiki_tag"
+ ],
+ "type": "string"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "trustmrr.marketplaceResponseDoc": {
+ "sportskeeda.TopicBlock": {
"properties": {
- "code": {
- "example": 200,
+ "alt": {
+ "type": "string"
+ },
+ "caption": {
+ "type": "string"
+ },
+ "embed_url": {
+ "type": "string"
+ },
+ "image": {
+ "type": "string"
+ },
+ "items": {
+ "items": {
+ "$ref": "#/definitions/sportskeeda.TopicListItem"
+ },
+ "type": "array"
+ },
+ "level": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/trustmrr.MarketplaceResponse"
+ "links": {
+ "items": {
+ "$ref": "#/definitions/sportskeeda.TopicLink"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "ordered": {
+ "type": "boolean"
+ },
+ "rows": {
+ "items": {
+ "items": {
+ "$ref": "#/definitions/sportskeeda.TopicTableCell"
+ },
+ "type": "array"
+ },
+ "type": "array"
+ },
+ "text": {
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "paragraph",
+ "heading",
+ "list",
+ "table",
+ "image",
+ "embed"
+ ],
"type": "string"
}
},
"type": "object"
},
- "trustmrr.startupResponseDoc": {
+ "sportskeeda.TopicLink": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "slug": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/trustmrr.Startup"
+ "text": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "trustmrr.startupsResponseDoc": {
+ "sportskeeda.TopicListItem": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/trustmrr.StartupsResponse"
+ "links": {
+ "items": {
+ "$ref": "#/definitions/sportskeeda.TopicLink"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "text": {
"type": "string"
}
},
"type": "object"
},
- "trustpilot.BusinessAbout": {
+ "sportskeeda.TopicResponse": {
"properties": {
- "business_country_code": {
- "description": "Country code of the business, such as `DK`.",
- "example": "DK",
- "type": "string"
- },
- "contact": {
- "allOf": [
- {
- "$ref": "#/definitions/trustpilot.BusinessContact"
- }
- ],
- "description": "Contact details the business lists on its profile."
- },
- "description_html": {
- "description": "Business description from the profile, as HTML.",
- "type": "string"
- },
- "description_text": {
- "description": "Business description from the profile, as plain text.",
+ "author": {
"type": "string"
},
- "facebook_url": {
- "description": "URL of the business's Facebook page.",
- "example": "https://www.facebook.com/Trustpilot",
+ "author_slug": {
"type": "string"
},
- "has_company_elements": {
- "description": "Whether the profile shows company information added by the business.",
- "example": true,
- "type": "boolean"
+ "blocks": {
+ "items": {
+ "$ref": "#/definitions/sportskeeda.TopicBlock"
+ },
+ "type": "array"
},
- "information_source": {
- "description": "Who supplied the company information, as Trustpilot reports it, such as `customer` or `none`.",
- "example": "customer",
+ "last_modified": {
"type": "string"
},
- "promotion_points": {
- "description": "Selling points listed in the business's promotion box.",
+ "related": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/sportskeeda.FeedItem"
},
"type": "array"
},
- "promotion_title": {
- "description": "Title of the promotion box on the business profile.",
+ "slug": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "trustpilot.BusinessActivity": {
+ "sportskeeda.TopicTableCell": {
"properties": {
- "claimed_date": {
- "description": "Time the business claimed its profile, in ISO 8601 UTC.",
- "type": "string"
- },
- "has_business_unit_merge_history": {
- "description": "Whether this profile has been merged with other Trustpilot business profiles.",
- "example": false,
- "type": "boolean"
- },
- "has_subscription": {
- "description": "Whether the business has a Trustpilot subscription.",
- "example": false,
- "type": "boolean"
- },
- "is_asking_for_reviews": {
- "description": "Whether the business invites customers to review it on Trustpilot.",
- "example": false,
- "type": "boolean"
- },
- "is_claimed": {
- "description": "Whether the business has claimed its Trustpilot profile.",
- "example": false,
- "type": "boolean"
+ "colspan": {
+ "type": "integer"
},
- "is_using_ai_responses": {
- "description": "Whether the business uses AI-generated responses to reviews.",
- "example": false,
+ "header": {
"type": "boolean"
},
- "is_using_paid_features": {
- "description": "Whether the business uses paid Trustpilot features.",
- "example": false,
- "type": "boolean"
+ "links": {
+ "items": {
+ "$ref": "#/definitions/sportskeeda.TopicLink"
+ },
+ "type": "array"
},
- "previously_claimed": {
- "description": "Whether the profile has been claimed before.",
- "example": false,
- "type": "boolean"
+ "rowspan": {
+ "type": "integer"
},
- "verification": {
- "allOf": [
- {
- "$ref": "#/definitions/trustpilot.BusinessVerification"
- }
- ],
- "description": "Verification checks the business has passed."
+ "text": {
+ "type": "string"
}
},
"type": "object"
},
- "trustpilot.BusinessBreadcrumb": {
+ "sportskeeda.TradeValuePlayer": {
"properties": {
- "id": {
- "description": "Trustpilot category id at this level of the path.",
- "example": "electronics_technology",
+ "name": {
"type": "string"
},
- "level": {
- "description": "Level of the category in the path: `top`, `mid` or `bottom`.",
- "example": "top",
+ "position": {
"type": "string"
},
- "name": {
- "description": "Display name of the category at this level.",
- "example": "Electronics & Technology",
+ "rank": {
+ "type": "integer"
+ },
+ "slug": {
+ "type": "string"
+ },
+ "team": {
+ "type": "string"
+ },
+ "value": {
"type": "string"
}
},
"type": "object"
},
- "trustpilot.BusinessCategory": {
+ "sportskeeda.TradeValuesResponse": {
"properties": {
- "cardinality": {
- "description": "Cardinality value Trustpilot assigns to this category for the business.",
- "example": 2,
+ "limit": {
"type": "integer"
},
- "id": {
- "description": "Trustpilot category id, such as `software_company`.",
- "example": "software_company",
+ "mode": {
"type": "string"
},
- "is_primary": {
- "description": "Whether this is the business's primary category.",
- "example": true,
- "type": "boolean"
+ "next_offset": {
+ "type": "integer"
},
- "name": {
- "description": "Display name of the category.",
- "example": "Software Company",
+ "offset": {
+ "type": "integer"
+ },
+ "players": {
+ "items": {
+ "$ref": "#/definitions/sportskeeda.TradeValuePlayer"
+ },
+ "type": "array"
+ },
+ "position": {
"type": "string"
},
- "rank": {
- "description": "Rank value Trustpilot assigns to this category for the business.",
- "example": 1,
+ "scoring": {
+ "type": "string"
+ },
+ "slug": {
+ "type": "string"
+ },
+ "superflex": {
+ "type": "boolean"
+ },
+ "total": {
"type": "integer"
+ },
+ "updated_at": {
+ "type": "string"
}
},
"type": "object"
},
- "trustpilot.BusinessCompanyReply": {
+ "sportskeeda.Transaction": {
"properties": {
- "message": {
- "description": "Text of the business's reply.",
+ "date": {
"type": "string"
},
- "published_at_text": {
- "description": "Time the reply was published, in ISO 8601 UTC.",
+ "description": {
"type": "string"
},
- "updated_at_text": {
- "description": "Time the reply was last updated, in ISO 8601 UTC.",
+ "from_team": {
+ "$ref": "#/definitions/sportskeeda.TransactionParty"
+ },
+ "id": {
+ "type": "integer"
+ },
+ "player": {
+ "$ref": "#/definitions/sportskeeda.TransactionPerson"
+ },
+ "positions": {
+ "items": {
+ "$ref": "#/definitions/sportskeeda.TransactionPosition"
+ },
+ "type": "array"
+ },
+ "team": {
+ "$ref": "#/definitions/sportskeeda.TransactionParty"
+ },
+ "type": {
"type": "string"
}
},
"type": "object"
},
- "trustpilot.BusinessContact": {
+ "sportskeeda.TransactionMonth": {
"properties": {
- "address": {
- "description": "Street address of the business.",
- "type": "string"
- },
- "city": {
- "description": "City of the business.",
+ "code": {
"type": "string"
},
- "country": {
- "description": "Country of the business.",
+ "label": {
"type": "string"
- },
- "email": {
- "description": "Contact email address of the business.",
+ }
+ },
+ "type": "object"
+ },
+ "sportskeeda.TransactionParty": {
+ "properties": {
+ "abbr": {
"type": "string"
},
- "phone": {
- "description": "Contact phone number of the business.",
+ "name": {
"type": "string"
},
- "zip_code": {
- "description": "Postal code of the business.",
+ "slug": {
"type": "string"
}
},
"type": "object"
},
- "trustpilot.BusinessPageLanguage": {
+ "sportskeeda.TransactionPerson": {
"properties": {
- "iso_language": {
- "description": "Language and region code of this version, such as `en-US`.",
- "example": "en-US",
+ "name": {
"type": "string"
},
- "language_code": {
- "description": "Language code of this version, such as `en`.",
- "example": "en",
+ "slug": {
"type": "string"
- },
- "locale": {
- "description": "Locale of this version, such as `en-US`.",
- "example": "en-US",
+ }
+ },
+ "type": "object"
+ },
+ "sportskeeda.TransactionPosition": {
+ "properties": {
+ "abbr": {
"type": "string"
},
- "uri": {
- "description": "Base URL of the Trustpilot site for this language version.",
- "example": "https://www.trustpilot.com",
+ "name": {
"type": "string"
}
},
"type": "object"
},
- "trustpilot.BusinessPageMeta": {
+ "sportskeeda.TransactionTeam": {
"properties": {
- "canonical_url": {
- "description": "Canonical URL of the business profile page.",
- "example": "https://www.trustpilot.com/review/openai.com",
+ "name": {
"type": "string"
},
- "domain": {
- "description": "Trustpilot domain the profile page is served from.",
- "example": "https://www.trustpilot.com",
+ "slug": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sportskeeda.TransactionsOptionsResponse": {
+ "properties": {
+ "months": {
+ "items": {
+ "$ref": "#/definitions/sportskeeda.TransactionMonth"
+ },
+ "type": "array"
},
- "languages": {
- "description": "Language versions of the profile page.",
+ "season": {
+ "type": "integer"
+ },
+ "seasons": {
"items": {
- "$ref": "#/definitions/trustpilot.BusinessPageLanguage"
+ "type": "integer"
},
"type": "array"
},
- "locale": {
- "description": "Locale of the profile page, such as `en-US`.",
- "example": "en-US",
- "type": "string"
+ "teams": {
+ "items": {
+ "$ref": "#/definitions/sportskeeda.TransactionTeam"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "trustpilot.BusinessRatingHistogram": {
+ "sportskeeda.TransactionsResponse": {
"properties": {
- "five": {
- "description": "Number of 5-star reviews.",
- "example": 80,
- "type": "integer"
+ "has_more": {
+ "type": "boolean"
},
- "four": {
- "description": "Number of 4-star reviews.",
- "example": 20,
- "type": "integer"
+ "items": {
+ "items": {
+ "$ref": "#/definitions/sportskeeda.Transaction"
+ },
+ "type": "array"
},
- "one": {
- "description": "Number of 1-star reviews.",
- "example": 817,
+ "month": {
+ "type": "string"
+ },
+ "page": {
"type": "integer"
},
- "three": {
- "description": "Number of 3-star reviews.",
- "example": 22,
+ "per_page": {
"type": "integer"
},
- "total": {
- "description": "Total number of reviews counted across all star levels.",
- "example": 984,
+ "season": {
"type": "integer"
},
- "two": {
- "description": "Number of 2-star reviews.",
- "example": 45,
+ "slug": {
+ "type": "string"
+ },
+ "total": {
"type": "integer"
}
},
"type": "object"
},
- "trustpilot.BusinessRelatedResponse": {
+ "sportskeeda.VideoItem": {
"properties": {
- "business": {
- "allOf": [
- {
- "$ref": "#/definitions/trustpilot.businessHeader"
- }
- ],
- "description": "Summary of the business whose related businesses are listed."
+ "channel": {
+ "type": "string"
},
- "items": {
- "description": "Businesses Trustpilot shows as related to this business.",
- "items": {
- "$ref": "#/definitions/trustpilot.RelatedBusiness"
- },
- "type": "array"
+ "duration": {
+ "type": "string"
+ },
+ "image": {
+ "type": "string"
+ },
+ "slug": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "trustpilot.BusinessReplyMetrics": {
+ "sportskeeda.VideoResponse": {
"properties": {
- "average_days_to_reply": {
- "description": "Average number of days the business takes to reply to reviews.",
- "example": 10.59,
- "type": "number"
+ "description": {
+ "type": "string"
},
- "last_reply_to_negative_review": {
- "description": "Time of the business's most recent reply to a negative review, as Trustpilot reports it.",
+ "id": {
"type": "string"
},
- "negative_reviews_with_replies": {
- "description": "Number of negative reviews the business has replied to.",
- "example": 7964,
- "type": "integer"
+ "poster": {
+ "type": "string"
},
- "reply_percentage": {
- "description": "Percentage of negative reviews the business has replied to.",
- "example": 47.88,
- "type": "number"
+ "slug": {
+ "type": "string"
},
- "total_negative_reviews": {
- "description": "Total number of negative reviews the business has received.",
- "example": 16630,
- "type": "integer"
+ "stream_url": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
}
},
"type": "object"
},
- "trustpilot.BusinessResponse": {
+ "sportskeeda.VideosResponse": {
"properties": {
- "about": {
- "allOf": [
- {
- "$ref": "#/definitions/trustpilot.BusinessAbout"
- }
- ],
- "description": "Company information the business shows on its Trustpilot profile."
+ "channels": {
+ "items": {
+ "$ref": "#/definitions/sportskeeda.PageView"
+ },
+ "type": "array"
},
- "breadcrumbs": {
- "description": "Category path of the business, from top level down to the most specific level.",
+ "items": {
"items": {
- "$ref": "#/definitions/trustpilot.BusinessBreadcrumb"
+ "$ref": "#/definitions/sportskeeda.VideoItem"
},
"type": "array"
},
- "categories": {
- "description": "Categories the business is listed under on Trustpilot.",
+ "slug": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sportskeeda.WikiActivityResponse": {
+ "properties": {
+ "activities": {
"items": {
- "$ref": "#/definitions/trustpilot.BusinessCategory"
+ "$ref": "#/definitions/sportskeeda.WikiContribution"
},
"type": "array"
},
- "claimed": {
- "description": "Whether the business has claimed its Trustpilot profile.",
- "example": false,
- "type": "boolean"
+ "limit": {
+ "type": "integer"
},
- "company_activity": {
- "allOf": [
- {
- "$ref": "#/definitions/trustpilot.BusinessActivity"
- }
- ],
- "description": "How the business uses Trustpilot, such as claiming, subscriptions and verification."
+ "page": {
+ "type": "integer"
},
- "name": {
- "description": "Display name of the business on Trustpilot.",
- "example": "OpenAI",
+ "slug": {
"type": "string"
},
- "page_meta": {
- "allOf": [
- {
- "$ref": "#/definitions/trustpilot.BusinessPageMeta"
- }
- ],
- "description": "Page details of the Trustpilot profile, such as canonical URL and language versions."
+ "sort": {
+ "type": "string"
},
- "paid_subscription": {
- "description": "Whether the business uses paid Trustpilot features or has a Trustpilot subscription.",
- "example": false,
- "type": "boolean"
+ "sort_by": {
+ "type": "string"
},
- "rating": {
- "description": "Star rating shown on the business profile, out of 5.",
- "example": 1.5,
- "type": "number"
+ "total_items": {
+ "type": "integer"
},
- "rating_histogram": {
- "allOf": [
- {
- "$ref": "#/definitions/trustpilot.BusinessRatingHistogram"
- }
- ],
- "description": "Number of reviews at each star level."
+ "total_pages": {
+ "type": "integer"
},
- "reply_metrics": {
- "allOf": [
- {
- "$ref": "#/definitions/trustpilot.BusinessReplyMetrics"
- }
- ],
- "description": "Statistics on how the business replies to negative reviews."
+ "wiki": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sportskeeda.WikiArticleResponse": {
+ "properties": {
+ "authors": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "review_count": {
- "description": "Total number of reviews the business has on Trustpilot.",
- "example": 984,
- "type": "integer"
+ "description": {
+ "type": "string"
},
- "review_summary": {
- "allOf": [
- {
- "$ref": "#/definitions/trustpilot.BusinessReviewSummary"
- }
- ],
- "description": "AI-generated summary of the business's reviews shown on its profile."
+ "image_url": {
+ "type": "string"
},
- "review_topics": {
- "description": "AI-generated summaries of what reviewers say about individual topics.",
+ "paragraphs": {
"items": {
- "$ref": "#/definitions/trustpilot.BusinessReviewTopic"
+ "type": "string"
},
"type": "array"
},
+ "published_at": {
+ "type": "string"
+ },
+ "section": {
+ "type": "string"
+ },
"slug": {
- "description": "Business slug used in the Trustpilot profile URL, usually the website domain.",
- "example": "openai.com",
"type": "string"
},
- "trust_score": {
- "description": "Trustpilot TrustScore of the business, as a decimal number.",
- "example": 1.3,
- "type": "number"
+ "title": {
+ "type": "string"
},
- "trustpilot_url": {
- "description": "URL of the business profile on Trustpilot.",
- "example": "https://www.trustpilot.com/review/openai.com",
+ "updated_at": {
"type": "string"
},
- "website_url": {
- "description": "Website address of the business.",
- "example": "https://openai.com",
+ "wiki": {
"type": "string"
}
},
"type": "object"
},
- "trustpilot.BusinessReviewItem": {
+ "sportskeeda.WikiCategoriesResponse": {
"properties": {
- "author_country": {
- "description": "Country code of the reviewer, such as `GB`.",
- "example": "GB",
- "type": "string"
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/sportskeeda.WikiCategory"
+ },
+ "type": "array"
},
- "author_name": {
- "description": "Name of the reviewer as shown on the review.",
- "example": "Summit",
- "type": "string"
- },
- "author_review_count": {
- "description": "Number of reviews the reviewer has written on Trustpilot.",
- "example": 1,
- "type": "integer"
- },
- "body": {
- "description": "Full text of the review.",
- "type": "string"
- },
- "company_reply": {
- "allOf": [
- {
- "$ref": "#/definitions/trustpilot.BusinessCompanyReply"
- }
- ],
- "description": "Reply the business posted to the review. Omitted when there is none."
- },
- "experienced_at_text": {
- "description": "Date of the experience the review describes, in ISO 8601 UTC.",
+ "wiki": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "sportskeeda.WikiCategory": {
+ "properties": {
+ "children": {
+ "items": {
+ "$ref": "#/definitions/sportskeeda.WikiCategory"
+ },
+ "type": "array"
},
- "id": {
- "description": "Trustpilot id of the review.",
- "example": "69b2e2443283f179ac73d3ce",
+ "path_slug": {
"type": "string"
},
- "invited": {
- "description": "Whether the reviewer was invited by the business to write the review.",
- "example": false,
- "type": "boolean"
- },
- "labels": {
- "allOf": [
- {
- "$ref": "#/definitions/trustpilot.BusinessReviewLabels"
- }
- ],
- "description": "Labels Trustpilot attaches to the review, such as source and verification."
+ "sequence": {
+ "type": "integer"
},
- "published_at_text": {
- "description": "Time the review was published, in ISO 8601 UTC.",
+ "slug": {
"type": "string"
},
- "rating": {
- "description": "Star rating the reviewer gave, from 1 to 5.",
- "example": 1,
+ "taxonomy_id": {
"type": "integer"
},
"title": {
- "description": "Headline of the review.",
- "type": "string"
- },
- "updated_at_text": {
- "description": "Time the review was last updated, in ISO 8601 UTC.",
"type": "string"
- },
- "verified": {
- "description": "Whether Trustpilot marks the review as verified.",
- "example": false,
- "type": "boolean"
}
},
"type": "object"
},
- "trustpilot.BusinessReviewLabels": {
+ "sportskeeda.WikiContribution": {
"properties": {
- "filtered": {
- "description": "Whether the review is marked as filtered on Trustpilot.",
- "example": false,
- "type": "boolean"
+ "author_name": {
+ "type": "string"
},
- "merged": {
- "description": "Merge label shown on the review, such as `merged`.",
+ "author_slug": {
"type": "string"
},
- "pending": {
- "description": "Whether the review is still pending.",
- "example": false,
- "type": "boolean"
+ "bytes_added": {
+ "type": "string"
},
- "review_source": {
- "description": "How the review was collected, as Trustpilot labels it, such as `Organic` or `Invited`.",
- "example": "Organic",
+ "bytes_removed": {
"type": "string"
},
- "verification_level": {
- "description": "Verification level of the review, such as `verified` or `not-verified`.",
- "example": "not-verified",
+ "created_at": {
"type": "string"
},
- "verification_source": {
- "description": "How the review was verified, such as `email` or `invitation`.",
- "example": "invitation",
+ "id": {
+ "type": "integer"
+ },
+ "parent_wiki_name": {
"type": "string"
- }
- },
- "type": "object"
- },
- "trustpilot.BusinessReviewSummary": {
- "properties": {
- "model_version": {
- "description": "Version of the model that generated the summary, as Trustpilot reports it.",
+ },
+ "parent_wiki_slug": {
+ "type": "string"
+ },
+ "path_slug": {
"type": "string"
},
"status": {
- "description": "Publication status of the summary, as Trustpilot reports it.",
"type": "string"
},
- "summary": {
- "description": "Text of the AI-generated summary of the business's reviews.",
+ "taxonomy_name": {
"type": "string"
},
"updated_at": {
- "description": "Time the summary was last updated, as Trustpilot reports it.",
+ "type": "string"
+ },
+ "version_number": {
+ "type": "integer"
+ },
+ "words_added": {
+ "type": "string"
+ },
+ "words_removed": {
"type": "string"
}
},
"type": "object"
},
- "trustpilot.BusinessReviewTopic": {
+ "sportskeeda.WikiContributorsResponse": {
"properties": {
- "model_version": {
- "description": "Version of the model that generated the topic summary, as Trustpilot reports it.",
- "type": "string"
+ "contributors": {
+ "items": {
+ "$ref": "#/definitions/sportskeeda.WikiContribution"
+ },
+ "type": "array"
},
- "order": {
- "description": "Position in which Trustpilot lists the topic.",
- "example": 1,
+ "limit": {
"type": "integer"
},
- "summary": {
- "description": "Text of the AI-generated summary of what reviewers say about the topic.",
+ "page": {
+ "type": "integer"
+ },
+ "slug": {
"type": "string"
},
- "topic": {
- "description": "Topic the summary covers, such as `user_experience`.",
- "example": "user_experience",
+ "sort": {
"type": "string"
},
- "updated_at": {
- "description": "Time the topic summary was last updated, as Trustpilot reports it.",
+ "sort_by": {
+ "type": "string"
+ },
+ "total_items": {
+ "type": "integer"
+ },
+ "total_pages": {
+ "type": "integer"
+ },
+ "wiki": {
"type": "string"
}
},
"type": "object"
},
- "trustpilot.BusinessReviewsAppliedFilters": {
+ "sportskeeda.WikiIssue": {
"properties": {
- "language": {
- "description": "Review language code that was applied, in lowercase.",
- "example": "en",
+ "created_at": {
"type": "string"
},
- "query": {
- "description": "Text search that was applied to the review content.",
- "example": "refund",
+ "creator_name": {
"type": "string"
},
- "replied": {
- "description": "Whether only reviews with a business reply were requested.",
- "type": "boolean"
+ "creator_slug": {
+ "type": "string"
},
- "stars": {
- "description": "Star rating, from 1 to 5, that reviews were filtered to.",
- "example": 1,
+ "description": {
+ "type": "string"
+ },
+ "id": {
"type": "integer"
},
- "verified": {
- "description": "Whether only verified reviews were requested.",
- "type": "boolean"
+ "last_opened_at": {
+ "type": "string"
+ },
+ "status": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
}
},
"type": "object"
},
- "trustpilot.BusinessReviewsPagination": {
+ "sportskeeda.WikiIssuesResponse": {
"properties": {
- "has_next_page": {
- "description": "Whether another page of reviews follows this one.",
- "example": true,
- "type": "boolean"
- },
- "next_page": {
- "description": "Number of the next page. Omitted on the last page.",
- "example": 2,
+ "closed_issues_count": {
"type": "integer"
},
- "page": {
- "description": "Page number returned.",
- "example": 1,
- "type": "integer"
+ "issues": {
+ "items": {
+ "$ref": "#/definitions/sportskeeda.WikiIssue"
+ },
+ "type": "array"
},
- "per_page": {
- "description": "Number of reviews per page.",
- "example": 20,
+ "limit": {
"type": "integer"
},
- "total_pages": {
- "description": "Total number of pages of reviews.",
- "example": 50,
+ "opened_issues_count": {
"type": "integer"
},
- "total_reviews": {
- "description": "Total number of reviews available for the business.",
- "example": 984,
+ "page": {
"type": "integer"
- }
- },
- "type": "object"
- },
- "trustpilot.BusinessReviewsResponse": {
- "properties": {
- "applied_filters": {
- "allOf": [
- {
- "$ref": "#/definitions/trustpilot.BusinessReviewsAppliedFilters"
- }
- ],
- "description": "Filters that were applied to the reviews. Omitted when no filter was used."
},
- "business": {
- "allOf": [
- {
- "$ref": "#/definitions/trustpilot.businessHeader"
- }
- ],
- "description": "Summary of the business the reviews belong to."
+ "slug": {
+ "type": "string"
},
- "items": {
- "description": "Reviews on this page, as listed on the business's Trustpilot page.",
- "items": {
- "$ref": "#/definitions/trustpilot.BusinessReviewItem"
- },
- "type": "array"
+ "status": {
+ "type": "string"
},
- "pagination": {
- "allOf": [
- {
- "$ref": "#/definitions/trustpilot.BusinessReviewsPagination"
- }
- ],
- "description": "Paging details for the reviews."
+ "total_pages": {
+ "type": "integer"
+ },
+ "wiki": {
+ "type": "string"
}
},
"type": "object"
},
- "trustpilot.BusinessVerification": {
+ "sportskeeda.WikiOption": {
"properties": {
- "verified_by_google": {
- "description": "Whether the business is verified through Google.",
- "example": false,
- "type": "boolean"
+ "name": {
+ "type": "string"
},
- "verified_payment_method": {
- "description": "Whether the business has a verified payment method.",
- "example": false,
- "type": "boolean"
+ "slug": {
+ "type": "string"
},
- "verified_user_identity": {
- "description": "Whether the identity of the user managing the profile is verified.",
- "example": false,
- "type": "boolean"
+ "taxonomy_id": {
+ "type": "string"
+ },
+ "taxonomy_slug": {
+ "type": "string"
}
},
"type": "object"
},
- "trustpilot.CategoriesResponse": {
+ "sportskeeda.WikiOptionsResponse": {
"properties": {
- "groups": {
- "description": "Top-level category groups, each with the categories it contains.",
+ "wikis": {
"items": {
- "$ref": "#/definitions/trustpilot.CategoryGroup"
+ "$ref": "#/definitions/sportskeeda.WikiOption"
},
"type": "array"
}
},
"type": "object"
},
- "trustpilot.CategoryBusiness": {
+ "sportskeeda.WikiPageItem": {
"properties": {
- "business_unit_id": {
- "description": "Trustpilot id of the business.",
- "example": "5e18c99abe863e0001b6ff0c",
- "type": "string"
- },
- "categories": {
- "description": "Categories the business is tagged with.",
- "items": {
- "$ref": "#/definitions/trustpilot.CategoryBusinessTag"
- },
- "type": "array"
- },
- "display_name": {
- "description": "Display name of the business on Trustpilot.",
- "example": "Houzeo",
- "type": "string"
- },
- "email": {
- "description": "Contact email address of the business.",
- "example": "support@houzeo.com",
+ "id": {
"type": "string"
},
- "identifying_name": {
- "description": "Business slug used in the Trustpilot profile URL, usually the website domain. Use it with the business endpoint.",
- "example": "www.houzeo.com",
+ "image": {
"type": "string"
},
- "location": {
- "allOf": [
- {
- "$ref": "#/definitions/trustpilot.CategoryBusinessLocation"
- }
- ],
- "description": "Location of the business. Omitted when Trustpilot lists none."
- },
- "logo_url": {
- "description": "URL of the business's logo.",
- "example": "https://s3-eu-west-1.amazonaws.com/tpd/screenshotlogo-domain/example/198x149.png",
- "type": "string"
+ "meta": {
+ "$ref": "#/definitions/sportskeeda.WikiPageMeta"
},
- "phone": {
- "description": "Contact phone number of the business.",
- "example": "(844) 448-0110",
+ "path_slug": {
"type": "string"
},
- "recommended": {
- "description": "Whether Trustpilot recommends the business in its categories.",
- "example": true,
- "type": "boolean"
- },
- "review_count": {
- "description": "Total number of reviews the business has on Trustpilot.",
- "example": 3473,
+ "post_count": {
"type": "integer"
},
- "stars": {
- "description": "Star rating of the business, out of 5.",
- "example": 5,
- "type": "number"
- },
- "trust_score": {
- "description": "Trustpilot TrustScore of the business, as a decimal number.",
- "example": 4.8,
- "type": "number"
- },
- "trustpilot_url": {
- "description": "URL of the business profile on Trustpilot.",
- "example": "https://www.trustpilot.com/review/www.houzeo.com",
- "type": "string"
- },
- "website_url": {
- "description": "Website address of the business.",
- "example": "https://www.houzeo.com",
- "type": "string"
- }
- },
- "type": "object"
- },
- "trustpilot.CategoryBusinessLocation": {
- "properties": {
- "address": {
- "description": "Street address of the business.",
+ "slug": {
"type": "string"
},
- "city": {
- "description": "City of the business.",
+ "taxonomy": {
"type": "string"
},
- "country": {
- "description": "Country of the business.",
+ "title": {
"type": "string"
},
- "zip_code": {
- "description": "Postal code of the business.",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "trustpilot.CategoryBusinessTag": {
+ "sportskeeda.WikiPageMeta": {
"properties": {
- "category_id": {
- "description": "Trustpilot category id, such as `software_company`.",
- "example": "software_company",
- "type": "string"
+ "issues_count": {
+ "type": "integer"
},
- "display_name": {
- "description": "Display name of the category.",
- "example": "Software Company",
+ "last_updated": {
"type": "string"
},
- "is_predicted": {
- "description": "Whether Trustpilot predicted this category for the business.",
- "example": false,
- "type": "boolean"
+ "page_size": {
+ "type": "integer"
},
- "is_primary": {
- "description": "Whether this is the business's primary category.",
- "example": true,
- "type": "boolean"
+ "ratings": {
+ "type": "string"
}
},
"type": "object"
},
- "trustpilot.CategoryGroup": {
+ "sportskeeda.WikiPagesResponse": {
"properties": {
"items": {
- "description": "Categories that belong to this group.",
"items": {
- "$ref": "#/definitions/trustpilot.CategoryLink"
+ "$ref": "#/definitions/sportskeeda.WikiPageItem"
},
"type": "array"
},
- "name": {
- "description": "Display name of the category group.",
- "example": "Electronics & Technology",
+ "limit": {
+ "type": "integer"
+ },
+ "page": {
+ "type": "integer"
+ },
+ "search": {
"type": "string"
},
- "slug": {
- "description": "Slug of the category group, such as `electronics_technology`.",
- "example": "electronics_technology",
+ "sort": {
"type": "string"
},
- "url": {
- "description": "URL of the category group page on Trustpilot.",
- "example": "https://www.trustpilot.com/categories/electronics_technology",
+ "sort_by": {
+ "type": "string"
+ },
+ "total_items": {
+ "type": "integer"
+ },
+ "wiki": {
"type": "string"
}
},
"type": "object"
},
- "trustpilot.CategoryLink": {
+ "sportskeeda.WikiSummaryResponse": {
"properties": {
- "name": {
- "description": "Display name of the category.",
- "example": "Software Company",
- "type": "string"
+ "open_issues_count": {
+ "type": "integer"
},
"slug": {
- "description": "Category slug. Use it with the category endpoint.",
- "example": "software_company",
"type": "string"
},
- "url": {
- "description": "URL of the category page on Trustpilot.",
- "example": "https://www.trustpilot.com/categories/software_company",
+ "total_activity_count": {
+ "type": "integer"
+ },
+ "total_contributor_count": {
+ "type": "integer"
+ },
+ "wiki": {
"type": "string"
}
},
"type": "object"
},
- "trustpilot.CategoryPagination": {
+ "spotify.AlbumMeta": {
"properties": {
- "has_next_page": {
- "description": "Whether another page of businesses follows this one.",
- "example": true,
- "type": "boolean"
- },
- "next_page": {
- "description": "Number of the next page. Omitted on the last page.",
- "example": 3,
- "type": "integer"
- },
- "page": {
- "description": "Page number returned.",
- "example": 2,
- "type": "integer"
+ "appVersion": {
+ "description": "Version of the Spotify web player the data was read from.",
+ "type": "string"
},
- "per_page": {
- "description": "Number of businesses per page.",
- "example": 20,
- "type": "integer"
+ "fetchedAt": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "type": "string"
},
- "total_hits": {
- "description": "Total number of businesses in the category.",
- "example": 7963,
- "type": "integer"
+ "operationName": {
+ "description": "Name of the Spotify web player operation that returned the data.",
+ "type": "string"
},
- "total_pages": {
- "description": "Total number of pages in the category.",
- "example": 399,
+ "trackCount": {
+ "description": "Number of tracks returned.",
"type": "integer"
}
},
"type": "object"
},
- "trustpilot.CategoryResponse": {
+ "spotify.AlbumResponse": {
"properties": {
- "breadcrumbs": {
- "description": "Parent categories leading to this category.",
+ "albumType": {
+ "description": "Album format as Spotify labels it.",
+ "type": "string"
+ },
+ "artists": {
+ "description": "Artists credited on the album.",
"items": {
- "$ref": "#/definitions/trustpilot.CategoryLink"
+ "$ref": "#/definitions/spotify.SearchResultSummary"
},
"type": "array"
},
- "country": {
- "description": "Country the listing is filtered to, as Trustpilot reports it.",
- "example": "US",
- "type": "string"
- },
- "items": {
- "description": "Businesses listed on this page of the category.",
+ "copyrights": {
+ "description": "Copyright notices listed for the album.",
"items": {
- "$ref": "#/definitions/trustpilot.CategoryBusiness"
+ "type": "string"
},
"type": "array"
},
- "name": {
- "description": "Display name of the category.",
- "example": "Software Company",
+ "durationMs": {
+ "description": "Total album length in milliseconds.",
+ "type": "integer"
+ },
+ "externalUrl": {
+ "description": "Link to the album on open.spotify.com.",
"type": "string"
},
- "newest_companies": {
- "description": "Businesses recently added to the category.",
+ "id": {
+ "description": "Spotify ID of the album.",
+ "type": "string"
+ },
+ "imageUrl": {
+ "description": "URL of the album cover image.",
+ "type": "string"
+ },
+ "images": {
+ "description": "Cover images available for the album, with their sizes.",
"items": {
- "$ref": "#/definitions/trustpilot.CategoryBusiness"
+ "$ref": "#/definitions/spotify.ImageAsset"
},
"type": "array"
},
- "page": {
- "description": "Page number returned.",
- "example": 2,
+ "isExplicit": {
+ "description": "Whether Spotify marks the album as explicit.",
+ "type": "boolean"
+ },
+ "isPlayable": {
+ "description": "Whether the album can be played.",
+ "type": "boolean"
+ },
+ "limit": {
+ "description": "Maximum number of tracks requested.",
"type": "integer"
},
- "pagination": {
+ "meta": {
"allOf": [
{
- "$ref": "#/definitions/trustpilot.CategoryPagination"
+ "$ref": "#/definitions/spotify.AlbumMeta"
}
],
- "description": "Paging details for the category listing."
+ "description": "Details about this response."
},
- "recently_reviewed_companies": {
- "description": "Businesses in the category that were reviewed recently.",
- "items": {
- "$ref": "#/definitions/trustpilot.CategoryBusiness"
- },
- "type": "array"
+ "name": {
+ "description": "Album title as Spotify shows it.",
+ "type": "string"
},
- "related_categories": {
- "description": "Categories related to this one.",
- "items": {
- "$ref": "#/definitions/trustpilot.CategoryLink"
- },
- "type": "array"
+ "offset": {
+ "description": "Position of the first track returned.",
+ "type": "integer"
},
- "slug": {
- "description": "Category slug, such as `software_company`.",
- "example": "software_company",
+ "releaseDate": {
+ "description": "Date the album was released, as Spotify returns it.",
"type": "string"
},
- "sort": {
- "description": "Sort order of the listing, as Trustpilot reports it, such as `recommended`.",
- "example": "recommended",
+ "shareUrl": {
+ "description": "Link to the album that Spotify offers for sharing.",
"type": "string"
},
- "trustpilot_url": {
- "description": "URL of the category page on Trustpilot.",
- "example": "https://www.trustpilot.com/categories/software_company",
- "type": "string"
- }
- },
- "type": "object"
- },
- "trustpilot.CategorySearchResponse": {
- "properties": {
- "categories": {
- "description": "Categories matching the query.",
+ "totalTracks": {
+ "description": "Total number of tracks on the album.",
+ "type": "integer"
+ },
+ "tracks": {
+ "description": "Tracks returned for the album.",
"items": {
- "$ref": "#/definitions/trustpilot.CategorySearchResult"
+ "$ref": "#/definitions/spotify.SearchResultSummary"
},
"type": "array"
},
- "country": {
- "description": "Two-letter country code the search was run for.",
- "example": "US",
- "type": "string"
- },
- "locale": {
- "description": "Locale the search was run for, such as `en-US`.",
- "example": "en-US",
+ "type": {
+ "description": "Kind of item as Spotify labels it, for example `Album`.",
"type": "string"
},
- "query": {
- "description": "Query that was run.",
- "example": "openai",
+ "uri": {
+ "description": "Spotify URI of the album.",
"type": "string"
- },
- "size": {
- "description": "Maximum number of categories requested.",
- "example": 3,
- "type": "integer"
}
},
"type": "object"
},
- "trustpilot.CategorySearchResult": {
+ "spotify.ArtistAlbumsMeta": {
"properties": {
- "category_id": {
- "description": "Trustpilot category id, such as `software_company`.",
- "example": "software_company",
+ "appVersion": {
+ "description": "Version of the Spotify web player the data was read from.",
"type": "string"
},
- "display_name": {
- "description": "Display name of the category.",
- "example": "Software Company",
+ "count": {
+ "description": "Number of releases returned.",
+ "type": "integer"
+ },
+ "fetchedAt": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
"type": "string"
},
- "top_level_category_id": {
- "description": "Id of the top-level category group the category belongs to.",
- "example": "electronics_technology",
+ "operationName": {
+ "description": "Name of the Spotify web player operation that returned the data.",
"type": "string"
}
},
"type": "object"
},
- "trustpilot.RelatedBusiness": {
+ "spotify.ArtistAlbumsResponse": {
"properties": {
- "business_unit_id": {
- "description": "Trustpilot id of the related business.",
- "example": "63e1530f2ba9106ee583e099",
+ "id": {
+ "description": "Spotify ID of the artist.",
"type": "string"
},
- "display_name": {
- "description": "Display name of the related business.",
- "example": "Chatgpt",
- "type": "string"
+ "items": {
+ "description": "Releases returned for the artist.",
+ "items": {
+ "$ref": "#/definitions/spotify.SearchResultSummary"
+ },
+ "type": "array"
},
- "identifying_name": {
- "description": "Slug of the related business, usually its website domain. Use it with the business endpoint.",
- "example": "chatgpt.com",
- "type": "string"
+ "limit": {
+ "description": "Maximum number of releases requested.",
+ "type": "integer"
},
- "logo_url": {
- "description": "URL of the related business's logo.",
- "example": "https://s3-eu-west-1.amazonaws.com/tpd/screenshots/example/198x149.png",
- "type": "string"
+ "meta": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/spotify.ArtistAlbumsMeta"
+ }
+ ],
+ "description": "Details about this response."
},
- "review_count": {
- "description": "Total number of reviews the related business has.",
- "example": 2720,
+ "offset": {
+ "description": "Position of the first release returned.",
"type": "integer"
},
- "source": {
- "description": "Section of the profile page the business came from: `suggested_companies` or `also_viewed`.",
- "example": "suggested_companies",
+ "order": {
+ "description": "Sort order that was applied: `date_desc`, `date_asc`, `name_asc` or `name_desc`.",
"type": "string"
},
- "stars": {
- "description": "Star rating of the related business, out of 5.",
- "example": 1.5,
- "type": "number"
+ "total": {
+ "description": "Total number of releases of this type on Spotify.",
+ "type": "integer"
},
- "trust_score": {
- "description": "Trustpilot TrustScore of the related business, as a decimal number.",
- "example": 1.6,
- "type": "number"
+ "type": {
+ "description": "Release type that was requested: `album`, `single`, `compilation`, `appears_on` or `all`.",
+ "type": "string"
},
- "trustpilot_url": {
- "description": "URL of the related business's profile on Trustpilot.",
- "example": "https://www.trustpilot.com/review/chatgpt.com",
+ "uri": {
+ "description": "Spotify URI of the artist.",
"type": "string"
}
},
"type": "object"
},
- "trustpilot.SearchAddress": {
+ "spotify.ArtistCollectionMeta": {
"properties": {
- "approximate_area": {
- "allOf": [
- {
- "$ref": "#/definitions/trustpilot.SearchAreaBounds"
- }
- ],
- "description": "Bounding box of the approximate area the address falls in."
- },
- "city": {
- "description": "City of the business.",
- "example": "San Francisco",
- "type": "string"
- },
- "coordinates": {
- "allOf": [
- {
- "$ref": "#/definitions/trustpilot.SearchCoordinates"
- }
- ],
- "description": "Latitude and longitude of the business."
- },
- "country": {
- "description": "Country name of the business.",
- "example": "United States",
+ "appVersion": {
+ "description": "Version of the Spotify web player the data was read from.",
"type": "string"
},
- "country_code": {
- "description": "Country code of the business, such as `US`.",
- "example": "US",
- "type": "string"
+ "count": {
+ "description": "Number of items returned.",
+ "type": "integer"
},
- "postcode": {
- "description": "Postal code of the business.",
- "example": "94105",
+ "fetchedAt": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
"type": "string"
},
- "street": {
- "description": "Street address of the business.",
- "example": "1 Market St",
+ "operationName": {
+ "description": "Name of the Spotify web player operation that returned the data.",
"type": "string"
}
},
"type": "object"
},
- "trustpilot.SearchAreaBounds": {
+ "spotify.ArtistCollectionResponse": {
"properties": {
- "north_west": {
- "allOf": [
- {
- "$ref": "#/definitions/trustpilot.SearchCoordinates"
- }
- ],
- "description": "North-west corner of the area."
+ "id": {
+ "description": "Spotify ID of the artist.",
+ "type": "string"
},
- "south_east": {
+ "items": {
+ "description": "Playlists or related artists returned for the artist.",
+ "items": {
+ "$ref": "#/definitions/spotify.SearchResultSummary"
+ },
+ "type": "array"
+ },
+ "meta": {
"allOf": [
{
- "$ref": "#/definitions/trustpilot.SearchCoordinates"
+ "$ref": "#/definitions/spotify.ArtistCollectionMeta"
}
],
- "description": "South-east corner of the area."
- }
- },
- "type": "object"
- },
- "trustpilot.SearchCategory": {
- "properties": {
- "id": {
- "description": "Trustpilot category id, such as `software_company`.",
- "example": "software_company",
- "type": "string"
+ "description": "Details about this response."
},
- "name": {
- "description": "Display name of the category.",
- "example": "Software Company",
+ "uri": {
+ "description": "Spotify URI of the artist.",
"type": "string"
- },
- "primary": {
- "description": "Whether this is the business's primary category.",
- "example": true,
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "trustpilot.SearchCoordinates": {
- "properties": {
- "lat": {
- "description": "Latitude in decimal degrees.",
- "example": 39.7837304,
- "type": "number"
- },
- "lon": {
- "description": "Longitude in decimal degrees.",
- "example": -100.445882,
- "type": "number"
}
},
"type": "object"
},
- "trustpilot.SearchResponse": {
+ "spotify.ArtistMeta": {
"properties": {
- "country": {
- "description": "Two-letter country code the search was run for.",
- "example": "US",
+ "appVersion": {
+ "description": "Version of the Spotify web player the data was read from.",
"type": "string"
},
- "items": {
- "description": "Businesses matching the query on this page.",
- "items": {
- "$ref": "#/definitions/trustpilot.SearchResult"
- },
- "type": "array"
- },
- "page": {
- "description": "Page number returned.",
- "example": 1,
- "type": "integer"
- },
- "page_size": {
- "description": "Number of results per page.",
- "example": 5,
+ "discographyCount": {
+ "description": "Number of discography entries returned.",
"type": "integer"
},
- "query": {
- "description": "Query that was run.",
- "example": "openai",
+ "fetchedAt": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
"type": "string"
},
- "search_mode": {
- "description": "How Trustpilot matched the query, such as `keyword`.",
- "example": "keyword",
+ "operationName": {
+ "description": "Name of the Spotify web player operation that returned the data.",
"type": "string"
},
- "total_hits": {
- "description": "Total number of businesses matching the query.",
- "example": 147,
+ "playlistCount": {
+ "description": "Number of playlists returned.",
"type": "integer"
},
- "total_pages": {
- "description": "Total number of result pages.",
- "example": 30,
+ "relatedCount": {
+ "description": "Number of related artists returned.",
+ "type": "integer"
+ },
+ "topTrackCount": {
+ "description": "Number of top tracks returned.",
"type": "integer"
}
},
"type": "object"
},
- "trustpilot.SearchResult": {
+ "spotify.ArtistResponse": {
"properties": {
- "address": {
- "allOf": [
- {
- "$ref": "#/definitions/trustpilot.SearchAddress"
- }
- ],
- "description": "Address of the business. Omitted when Trustpilot lists none."
- },
- "business_unit_id": {
- "description": "Trustpilot id of the business.",
- "example": "630f21bc9f08b0302a52590d",
+ "biography": {
+ "description": "Artist biography text.",
"type": "string"
},
- "categories": {
- "description": "Categories the business is listed under.",
+ "discography": {
+ "description": "Selection of the artist's albums and releases.",
"items": {
- "$ref": "#/definitions/trustpilot.SearchCategory"
+ "$ref": "#/definitions/spotify.SearchResultSummary"
},
"type": "array"
},
- "country_code": {
- "description": "Country code of the business, such as `FR`.",
- "example": "FR",
- "type": "string"
- },
- "display_name": {
- "description": "Display name of the business on Trustpilot.",
- "example": "OpenAI",
+ "externalUrl": {
+ "description": "Link to the artist on open.spotify.com.",
"type": "string"
},
- "email": {
- "description": "Contact email address of the business.",
- "example": "hello@example.com",
- "type": "string"
+ "followers": {
+ "description": "Number of Spotify followers the artist has.",
+ "type": "integer"
},
- "identifying_name": {
- "description": "Business slug used in the Trustpilot profile URL, usually the website domain. Use it with the business endpoint.",
- "example": "openai.com",
+ "id": {
+ "description": "Spotify ID of the artist.",
"type": "string"
},
- "logo_url": {
- "description": "URL of the business's logo.",
- "example": "https://s3-eu-west-1.amazonaws.com/tpd/logos/example/0x0.png",
+ "imageUrl": {
+ "description": "URL of the main artist image.",
"type": "string"
},
- "phone": {
- "description": "Contact phone number of the business.",
- "example": "+1-555-555-5555",
- "type": "string"
+ "images": {
+ "description": "Images available for the artist, with their sizes.",
+ "items": {
+ "$ref": "#/definitions/spotify.ImageAsset"
+ },
+ "type": "array"
},
- "predicted_top_category": {
+ "meta": {
"allOf": [
{
- "$ref": "#/definitions/trustpilot.SearchCategory"
+ "$ref": "#/definitions/spotify.ArtistMeta"
}
],
- "description": "Category Trustpilot predicts as the business's top category."
+ "description": "Details about this response."
},
- "review_count": {
- "description": "Total number of reviews the business has on Trustpilot.",
- "example": 984,
+ "monthlyUsers": {
+ "description": "Number of monthly listeners Spotify shows for the artist.",
"type": "integer"
},
- "stars": {
- "description": "Star rating of the business, out of 5.",
- "example": 1.5,
- "type": "number"
- },
- "trust_score": {
- "description": "Trustpilot TrustScore of the business, as a decimal number.",
- "example": 1.3,
- "type": "number"
- },
- "trustpilot_url": {
- "description": "URL of the business profile on Trustpilot.",
- "example": "https://www.trustpilot.com/review/openai.com",
- "type": "string"
- },
- "verified": {
- "description": "Whether Trustpilot marks the business as verified.",
- "example": false,
- "type": "boolean"
- },
- "website_url": {
- "description": "Website address of the business.",
- "example": "https://openai.com",
- "type": "string"
- }
- },
- "type": "object"
- },
- "trustpilot.businessHeader": {
- "properties": {
- "claimed": {
- "description": "Whether the business has claimed its Trustpilot profile.",
- "example": false,
- "type": "boolean"
- },
"name": {
- "description": "Display name of the business on Trustpilot.",
- "example": "OpenAI",
+ "description": "Artist name as Spotify shows it.",
"type": "string"
},
- "rating": {
- "description": "Star rating shown on the business profile, out of 5.",
- "example": 1.5,
- "type": "number"
+ "playlists": {
+ "description": "Playlists featuring the artist.",
+ "items": {
+ "$ref": "#/definitions/spotify.SearchResultSummary"
+ },
+ "type": "array"
},
- "review_count": {
- "description": "Total number of reviews the business has on Trustpilot.",
- "example": 984,
- "type": "integer"
+ "related": {
+ "description": "Artists related to this artist.",
+ "items": {
+ "$ref": "#/definitions/spotify.SearchResultSummary"
+ },
+ "type": "array"
},
- "slug": {
- "description": "Business slug used in the Trustpilot profile URL, usually the website domain.",
- "example": "openai.com",
+ "shareUrl": {
+ "description": "Link to the artist that Spotify offers for sharing.",
"type": "string"
},
- "trust_score": {
- "description": "Trustpilot TrustScore of the business, as a decimal number.",
- "example": 1.3,
- "type": "number"
+ "topTracks": {
+ "description": "Most popular tracks of the artist.",
+ "items": {
+ "$ref": "#/definitions/spotify.SearchResultSummary"
+ },
+ "type": "array"
},
- "trustpilot_url": {
- "description": "URL of the business profile on Trustpilot.",
- "example": "https://www.trustpilot.com/review/openai.com",
+ "type": {
+ "description": "Kind of item as Spotify labels it, for example `Artist`.",
"type": "string"
},
- "website_url": {
- "description": "Website address of the business.",
- "example": "https://openai.com",
+ "uri": {
+ "description": "Spotify URI of the artist.",
"type": "string"
- }
- },
- "type": "object"
- },
- "trustpilot.businessProfileResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/trustpilot.BusinessResponse"
},
- "msg": {
- "example": "OK",
- "type": "string"
+ "verified": {
+ "description": "Whether Spotify shows the artist as verified.",
+ "type": "boolean"
}
},
"type": "object"
},
- "trustpilot.businessRelatedResponseDoc": {
+ "spotify.AudiobookChaptersMeta": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/trustpilot.BusinessRelatedResponse"
- },
- "msg": {
- "example": "OK",
+ "appVersion": {
+ "description": "Version of the Spotify web player the data was read from.",
"type": "string"
- }
- },
- "type": "object"
- },
- "trustpilot.businessReviewsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ },
+ "count": {
+ "description": "Number of chapters returned.",
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/trustpilot.BusinessReviewsResponse"
+ "fetchedAt": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "operationName": {
+ "description": "Name of the Spotify web player operation that returned the data.",
"type": "string"
}
},
"type": "object"
},
- "trustpilot.businessSearchResponseDoc": {
+ "spotify.AudiobookChaptersResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/trustpilot.SearchResponse"
+ "chapters": {
+ "description": "Chapters returned for the audiobook.",
+ "items": {
+ "$ref": "#/definitions/spotify.PodcastEpisodeSummary"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "id": {
+ "description": "Spotify ID of the audiobook.",
"type": "string"
- }
- },
- "type": "object"
- },
- "trustpilot.categoriesResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ },
+ "limit": {
+ "description": "Maximum number of chapters requested.",
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/trustpilot.CategoriesResponse"
+ "meta": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/spotify.AudiobookChaptersMeta"
+ }
+ ],
+ "description": "Details about this response."
},
- "msg": {
- "example": "OK",
- "type": "string"
- }
- },
- "type": "object"
- },
- "trustpilot.categoryResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ "offset": {
+ "description": "Position of the first chapter returned.",
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/trustpilot.CategoryResponse"
+ "total": {
+ "description": "Total number of chapters in the audiobook.",
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "uri": {
+ "description": "Spotify URI of the audiobook.",
"type": "string"
}
},
"type": "object"
},
- "trustpilot.categorySearchResponseDoc": {
+ "spotify.AudiobookMeta": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "appVersion": {
+ "description": "Version of the Spotify web player the data was read from.",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/trustpilot.CategorySearchResponse"
+ "fetchedAt": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "operationName": {
+ "description": "Name of the Spotify web player operation that returned the data.",
"type": "string"
}
},
"type": "object"
},
- "twitch.ChannelGame": {
+ "spotify.AudiobookResponse": {
"properties": {
- "id": {
- "type": "string"
+ "authors": {
+ "description": "Names of the audiobook's authors.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "name": {
- "example": "League of Legends",
+ "description": {
+ "description": "Description text of the audiobook.",
"type": "string"
},
- "slug": {
- "example": "league-of-legends",
+ "externalUrl": {
+ "description": "Link to the audiobook on open.spotify.com.",
"type": "string"
- }
- },
- "type": "object"
- },
- "twitch.ChannelResponse": {
- "properties": {
+ },
"id": {
+ "description": "Spotify ID of the audiobook.",
"type": "string"
},
- "is_live": {
- "example": true,
- "type": "boolean"
+ "imageUrl": {
+ "description": "URL of the audiobook cover image.",
+ "type": "string"
},
- "is_partner": {
- "example": true,
+ "images": {
+ "description": "Cover images available for the audiobook, with their sizes.",
+ "items": {
+ "$ref": "#/definitions/spotify.ImageAsset"
+ },
+ "type": "array"
+ },
+ "isExplicit": {
+ "description": "Whether Spotify marks the audiobook as explicit.",
"type": "boolean"
},
- "last_broadcast_title": {
+ "mediaType": {
+ "description": "Kind of media the audiobook carries, as Spotify labels it.",
"type": "string"
},
- "login": {
- "type": "string"
+ "meta": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/spotify.AudiobookMeta"
+ }
+ ],
+ "description": "Details about this response."
},
- "primary_color_hex": {
- "example": "8205B3",
+ "name": {
+ "description": "Audiobook title as Spotify shows it.",
"type": "string"
},
- "primary_team": {
- "$ref": "#/definitions/twitch.ChannelTeam"
+ "narrators": {
+ "description": "Names of the audiobook's narrators.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "profile_image_url": {
+ "publisher": {
+ "description": "Name of the audiobook's publisher.",
"type": "string"
},
- "stream": {
- "$ref": "#/definitions/twitch.ChannelStream"
- }
- },
- "type": "object"
- },
- "twitch.ChannelStream": {
- "properties": {
- "game": {
- "$ref": "#/definitions/twitch.ChannelGame"
+ "totalChapters": {
+ "description": "Total number of chapters in the audiobook.",
+ "type": "integer"
},
- "id": {
+ "type": {
+ "description": "Kind of item as Spotify labels it, for example `Audiobook`.",
"type": "string"
},
- "started_at": {
- "example": "2026-08-14T07:18:46Z",
+ "uri": {
+ "description": "Spotify URI of the audiobook.",
"type": "string"
}
},
"type": "object"
},
- "twitch.ChannelTeam": {
+ "spotify.BrowsePageItem": {
"properties": {
- "id": {
+ "description": {
+ "description": "Description text of the item.",
+ "example": "The official podcast of comedian Joe Rogan.",
"type": "string"
},
- "name": {
- "example": "yumetalent",
- "type": "string"
- }
- },
- "type": "object"
- },
- "twitch.Clip": {
- "properties": {
- "created_at": {
- "example": "2026-08-07T10:59:22Z",
+ "externalUrl": {
+ "description": "Link to the item on open.spotify.com.",
+ "example": "https://open.spotify.com/show/4rOoJ6Egrf8K2IrywzwOMk",
"type": "string"
},
- "curator": {
- "$ref": "#/definitions/twitch.ClipCurator"
- },
- "duration_seconds": {
- "example": 42,
- "type": "number"
+ "imageUrl": {
+ "description": "URL of the main image for the item.",
+ "example": "https://i.scdn.co/image/ab67656300005f1f54e6837957803d762a3f4d2b",
+ "type": "string"
},
- "game": {
- "$ref": "#/definitions/twitch.ClipGame"
+ "images": {
+ "description": "Images available for the item, with their sizes.",
+ "items": {
+ "$ref": "#/definitions/spotify.ImageAsset"
+ },
+ "type": "array"
},
- "id": {
+ "publisher": {
+ "description": "Publisher or creator name of the item.",
+ "example": "Joe Rogan",
"type": "string"
},
- "thumbnail_url": {
+ "subtitle": {
+ "description": "Secondary line shown under the item title, such as the creator name.",
+ "example": "Joe Rogan",
"type": "string"
},
"title": {
+ "description": "Item title as Spotify shows it.",
+ "example": "The Joe Rogan Experience",
"type": "string"
},
- "url": {
+ "type": {
+ "description": "Kind of item as Spotify labels it, for example `Podcast`.",
+ "example": "Podcast",
"type": "string"
},
- "view_count": {
- "example": 5370,
- "type": "integer"
+ "uri": {
+ "description": "Spotify URI of the item.",
+ "example": "spotify:show:4rOoJ6Egrf8K2IrywzwOMk",
+ "type": "string"
}
},
"type": "object"
},
- "twitch.ClipCurator": {
+ "spotify.BrowsePageMeta": {
"properties": {
- "display_name": {
+ "appVersion": {
+ "description": "Version of the Spotify web player the data was read from.",
+ "example": "1.2.90.403.gf901f20f",
"type": "string"
},
- "id": {
+ "fetchedAt": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-05-13T20:41:12Z",
"type": "string"
},
- "login": {
+ "operationName": {
+ "description": "Name of the Spotify web player operation that returned the data.",
+ "example": "browsePage",
"type": "string"
+ },
+ "sectionCount": {
+ "description": "Number of sections returned.",
+ "example": 8,
+ "type": "integer"
}
},
"type": "object"
},
- "twitch.ClipGame": {
+ "spotify.BrowsePageResponse": {
"properties": {
- "id": {
+ "meta": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/spotify.BrowsePageMeta"
+ }
+ ],
+ "description": "Details about this response."
+ },
+ "sections": {
+ "description": "Sections of the page, in display order.",
+ "items": {
+ "$ref": "#/definitions/spotify.BrowsePageSection"
+ },
+ "type": "array"
+ },
+ "subtitle": {
+ "description": "Secondary line shown under the page title.",
+ "example": "New shows and episodes",
"type": "string"
},
- "name": {
- "example": "League of Legends",
+ "title": {
+ "description": "Page title as Spotify shows it.",
+ "example": "Podcasts",
"type": "string"
},
- "slug": {
- "example": "league-of-legends",
+ "type": {
+ "description": "Kind of page container as Spotify labels it.",
+ "example": "BrowseSectionContainer",
+ "type": "string"
+ },
+ "uri": {
+ "description": "Spotify URI of the page that was loaded.",
+ "example": "spotify:genre:podcasts-web",
"type": "string"
}
},
"type": "object"
},
- "twitch.ClipsResponse": {
+ "spotify.BrowsePageSection": {
"properties": {
- "clips": {
+ "items": {
+ "description": "Items returned for this section.",
"items": {
- "$ref": "#/definitions/twitch.Clip"
+ "$ref": "#/definitions/spotify.BrowsePageItem"
},
"type": "array"
},
- "count": {
- "example": 20,
- "type": "integer"
- },
- "login": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "twitch.ScheduleCategory": {
- "properties": {
- "box_art_url": {
+ "subtitle": {
+ "description": "Secondary line shown under the section heading.",
+ "example": "Recommended shows",
"type": "string"
},
- "id": {
+ "title": {
+ "description": "Section heading as Spotify shows it.",
+ "example": "Popular podcasts",
"type": "string"
},
- "name": {
- "example": "League of Legends",
+ "totalCount": {
+ "description": "Total number of items in the section on Spotify.",
+ "example": 20,
+ "type": "integer"
+ },
+ "type": {
+ "description": "Kind of section as Spotify labels it.",
+ "example": "BrowseGenericSectionData",
"type": "string"
},
- "slug": {
- "example": "league-of-legends",
+ "uri": {
+ "description": "Spotify URI of the section.",
+ "example": "spotify:section:0JQ5IMCbQBLqNPkcmYxQPQ",
"type": "string"
}
},
"type": "object"
},
- "twitch.ScheduleResponse": {
+ "spotify.BrowseSectionMeta": {
"properties": {
- "channel": {
+ "appVersion": {
+ "description": "Version of the Spotify web player the data was read from.",
+ "example": "1.2.90.403.gf901f20f",
"type": "string"
},
"count": {
- "example": 5,
+ "description": "Number of items returned.",
+ "example": 20,
"type": "integer"
},
- "next_segment_at": {
- "example": "2026-08-15T12:00:00Z",
+ "fetchedAt": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-05-13T20:41:12Z",
"type": "string"
},
- "next_segment_id": {
+ "operationName": {
+ "description": "Name of the Spotify web player operation that returned the data.",
+ "example": "browseSection",
"type": "string"
- },
- "segments": {
- "items": {
- "$ref": "#/definitions/twitch.ScheduleSegment"
- },
- "type": "array"
}
},
"type": "object"
},
- "twitch.ScheduleSegment": {
+ "spotify.BrowseSectionResponse": {
"properties": {
- "cancelled_until": {
- "type": "string"
- },
- "categories": {
+ "items": {
+ "description": "Items returned for this section.",
"items": {
- "$ref": "#/definitions/twitch.ScheduleCategory"
+ "$ref": "#/definitions/spotify.BrowsePageItem"
},
"type": "array"
},
- "end_at": {
- "example": "2026-08-15T19:00:00Z",
+ "limit": {
+ "description": "Maximum number of items requested.",
+ "example": 20,
+ "type": "integer"
+ },
+ "meta": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/spotify.BrowseSectionMeta"
+ }
+ ],
+ "description": "Details about this response."
+ },
+ "offset": {
+ "description": "Position of the first item returned within the section.",
+ "example": 0,
+ "type": "integer"
+ },
+ "subtitle": {
+ "description": "Secondary line shown under the section heading.",
+ "example": "Recommended shows",
"type": "string"
},
- "id": {
+ "title": {
+ "description": "Section heading as Spotify shows it.",
+ "example": "Popular podcasts",
"type": "string"
},
- "is_cancelled": {
- "example": false,
- "type": "boolean"
+ "totalCount": {
+ "description": "Total number of items in the section on Spotify.",
+ "example": 50,
+ "type": "integer"
},
- "start_at": {
- "example": "2026-08-15T12:00:00Z",
+ "type": {
+ "description": "Kind of section as Spotify labels it.",
+ "example": "BrowseGenericSectionData",
"type": "string"
},
- "title": {
- "example": "LEC",
+ "uri": {
+ "description": "Spotify URI of the section that was loaded.",
+ "example": "spotify:section:0JQ5IMCbQBLqNPkcmYxQPQ",
"type": "string"
}
},
"type": "object"
},
- "twitch.SearchCategory": {
+ "spotify.ChartItem": {
"properties": {
- "box_art_url": {
+ "description": {
+ "description": "Description text of the chart entry.",
+ "example": "The official podcast of comedian Joe Rogan.",
"type": "string"
},
- "id": {
+ "episodeDescription": {
+ "description": "Description text of the episode, for episode charts.",
+ "example": "A representative chart episode.",
"type": "string"
},
- "slug": {
- "example": "valorant",
+ "episodeExternalUrl": {
+ "description": "Link to the episode on open.spotify.com, for episode charts.",
+ "example": "https://open.spotify.com/episode/2C2Y5kNq7qCVOVhbA0G3os",
"type": "string"
- }
- },
- "type": "object"
- },
- "twitch.SearchChannel": {
- "properties": {
- "game_name": {
+ },
+ "episodeImageUrl": {
+ "description": "URL of the episode's cover image, for episode charts.",
+ "example": "https://i.scdn.co/image/ab67656300005f1f54e6837957803d762a3f4d2b",
"type": "string"
},
- "id": {
+ "episodeName": {
+ "description": "Episode title as Spotify shows it, for episode charts.",
+ "example": "Example episode",
"type": "string"
},
- "is_live": {
- "example": true,
- "type": "boolean"
+ "episodeUri": {
+ "description": "Spotify URI of the episode, for episode charts.",
+ "example": "spotify:episode:2C2Y5kNq7qCVOVhbA0G3os",
+ "type": "string"
},
- "is_verified": {
- "type": "boolean"
+ "externalUrl": {
+ "description": "Link to the chart entry on open.spotify.com.",
+ "example": "https://open.spotify.com/show/4rOoJ6Egrf8K2IrywzwOMk",
+ "type": "string"
},
- "login": {
+ "imageUrl": {
+ "description": "URL of the cover image for the chart entry.",
+ "example": "https://i.scdn.co/image/ab67656300005f1f54e6837957803d762a3f4d2b",
"type": "string"
},
- "profile_image_url": {
+ "name": {
+ "description": "Title of the chart entry (episode title for episode charts, otherwise show title).",
+ "example": "The Joe Rogan Experience",
"type": "string"
},
- "stream_title": {
+ "publisher": {
+ "description": "Name of the publisher of the show.",
+ "example": "Joe Rogan",
"type": "string"
},
- "viewers_count": {
- "example": 3361,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "twitch.SearchResponse": {
- "properties": {
- "count": {
- "example": 10,
+ "rank": {
+ "description": "Position of the entry in the chart, starting at 1.",
+ "example": 1,
"type": "integer"
},
- "query": {
+ "rankMove": {
+ "description": "Change in rank since the previous chart period, as Spotify labels it, for example `UNCHANGED`.",
+ "example": "UNCHANGED",
"type": "string"
},
- "results": {
- "items": {
- "$ref": "#/definitions/twitch.SearchResult"
- },
- "type": "array"
+ "showDescription": {
+ "description": "Description text of the show.",
+ "example": "The official podcast of comedian Joe Rogan.",
+ "type": "string"
+ },
+ "showExternalUrl": {
+ "description": "Link to the show on open.spotify.com.",
+ "example": "https://open.spotify.com/show/4rOoJ6Egrf8K2IrywzwOMk",
+ "type": "string"
+ },
+ "showImageUrl": {
+ "description": "URL of the show's cover image.",
+ "example": "https://i.scdn.co/image/ab67656300005f1f54e6837957803d762a3f4d2b",
+ "type": "string"
+ },
+ "showName": {
+ "description": "Show title as Spotify shows it.",
+ "example": "The Joe Rogan Experience",
+ "type": "string"
+ },
+ "showPublisher": {
+ "description": "Name of the show's publisher.",
+ "example": "Joe Rogan",
+ "type": "string"
+ },
+ "showUri": {
+ "description": "Spotify URI of the show.",
+ "example": "spotify:show:4rOoJ6Egrf8K2IrywzwOMk",
+ "type": "string"
+ },
+ "uri": {
+ "description": "Spotify URI of the chart entry (an episode for episode charts, otherwise a show).",
+ "example": "spotify:show:4rOoJ6Egrf8K2IrywzwOMk",
+ "type": "string"
}
},
"type": "object"
},
- "twitch.SearchResult": {
+ "spotify.ChartMeta": {
"properties": {
- "category": {
- "$ref": "#/definitions/twitch.SearchCategory"
- },
- "channel": {
- "$ref": "#/definitions/twitch.SearchChannel"
+ "count": {
+ "description": "Number of chart entries returned.",
+ "example": 100,
+ "type": "integer"
},
- "text": {
+ "fetchedAt": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-05-13T20:41:13Z",
"type": "string"
},
- "type": {
- "description": "\"category\" or \"channel\"",
- "example": "channel",
+ "sourceUrl": {
+ "description": "URL the data was read from.",
+ "example": "https://podcastcharts.byspotify.com/api/charts/top-podcasts?region=us",
"type": "string"
}
},
"type": "object"
},
- "twitch.Stream": {
+ "spotify.ChartResponse": {
"properties": {
- "broadcaster": {
- "$ref": "#/definitions/twitch.StreamBroadcaster"
+ "chart": {
+ "description": "Chart identifier that was requested, for example `top-podcasts`.",
+ "example": "top-podcasts",
+ "type": "string"
},
- "id": {
+ "chartName": {
+ "description": "Display name of the chart.",
+ "example": "Top Podcasts",
"type": "string"
},
- "preview_image_url": {
+ "chartType": {
+ "description": "Whether the chart is an overall `chart` or a `category` chart.",
+ "example": "chart",
"type": "string"
},
- "tags": {
+ "items": {
+ "description": "Chart entries, ordered by rank.",
"items": {
- "type": "string"
+ "$ref": "#/definitions/spotify.ChartItem"
},
"type": "array"
},
- "title": {
- "type": "string"
- },
- "viewers_count": {
- "example": 56596,
+ "limit": {
+ "description": "Maximum number of chart entries requested.",
+ "example": 100,
"type": "integer"
- }
- },
- "type": "object"
- },
- "twitch.StreamBroadcaster": {
- "properties": {
- "display_name": {
- "type": "string"
},
- "id": {
- "type": "string"
+ "meta": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/spotify.ChartMeta"
+ }
+ ],
+ "description": "Details about this response."
},
- "is_partner": {
- "example": true,
- "type": "boolean"
+ "region": {
+ "description": "Region code the chart was loaded for.",
+ "example": "us",
+ "type": "string"
},
- "login": {
+ "regionName": {
+ "description": "Name of the chart region.",
+ "example": "United States",
"type": "string"
}
},
"type": "object"
},
- "twitch.StreamsResponse": {
+ "spotify.CountryHubContentID": {
"properties": {
- "count": {
- "example": 20,
- "type": "integer"
- },
- "game": {
+ "id": {
+ "description": "Content identifier to pass when requesting that section, for example `CHARTS`.",
+ "example": "CHARTS",
"type": "string"
},
- "streams": {
- "items": {
- "$ref": "#/definitions/twitch.Stream"
- },
- "type": "array"
+ "title": {
+ "description": "Section heading as Spotify shows it.",
+ "example": "Featured Charts",
+ "type": "string"
}
},
"type": "object"
},
- "twitch.TeamMember": {
+ "spotify.CountryHubContentMeta": {
"properties": {
- "display_name": {
+ "appVersion": {
+ "description": "Version of the Spotify web player the data was read from.",
+ "example": "1.2.90.403.gf901f20f",
"type": "string"
},
- "id": {
+ "fetchedAt": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-05-13T20:41:13Z",
"type": "string"
},
- "is_live": {
- "example": true,
- "type": "boolean"
- },
- "login": {
- "type": "string"
+ "itemCount": {
+ "description": "Number of items returned.",
+ "example": 20,
+ "type": "integer"
},
- "profile_image_url": {
+ "operationName": {
+ "description": "Name of the Spotify web player operation that returned the data.",
+ "example": "countryHubContent",
"type": "string"
},
- "viewers_count": {
- "example": 38251,
+ "partialErrors": {
+ "description": "PartialErrors counts upstream GraphQL field errors tolerated alongside\nusable items. Zero on a fully clean response.",
+ "example": 1,
"type": "integer"
}
},
"type": "object"
},
- "twitch.TeamResponse": {
+ "spotify.CountryHubContentResponse": {
"properties": {
- "banner_url": {
+ "contentId": {
+ "description": "Content identifier that was requested: `CHARTS`, `POPULAR_ALBUMS`, `POPULAR_ARTISTS` or `TRENDING_SONGS`.",
+ "example": "CHARTS",
"type": "string"
},
- "description": {
+ "countryCode": {
+ "description": "Country code the content was loaded for.",
+ "example": "US",
"type": "string"
},
- "display_name": {
- "example": "Yume Talent",
+ "countryName": {
+ "description": "Name of the country.",
+ "example": "United States",
"type": "string"
},
- "id": {
+ "hexColor": {
+ "description": "Accent color of the country page, as a hex color code.",
+ "example": "#1DB954",
"type": "string"
},
- "logo_url": {
- "type": "string"
+ "items": {
+ "description": "Items returned for the section.",
+ "items": {
+ "$ref": "#/definitions/spotify.CountryHubItem"
+ },
+ "type": "array"
},
- "member_count": {
- "example": 5,
- "type": "integer"
+ "meta": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/spotify.CountryHubContentMeta"
+ }
+ ],
+ "description": "Details about this response."
},
- "members": {
+ "supportedContentIds": {
+ "description": "Content sections available on the country page.",
"items": {
- "$ref": "#/definitions/twitch.TeamMember"
+ "$ref": "#/definitions/spotify.CountryHubContentID"
},
"type": "array"
},
- "name": {
- "type": "string"
+ "supportedCountries": {
+ "description": "Countries Spotify offers a popular-in page for.",
+ "items": {
+ "$ref": "#/definitions/spotify.PopularCountry"
+ },
+ "type": "array"
},
- "owner_login": {
+ "title": {
+ "description": "Section heading as Spotify shows it.",
+ "example": "Featured Charts",
"type": "string"
}
},
"type": "object"
},
- "twitch.TopGame": {
+ "spotify.CountryHubItem": {
"properties": {
- "box_art_url": {
- "type": "string"
+ "album": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/spotify.SearchResultSummary"
+ }
+ ],
+ "description": "Album the item appears on."
},
- "id": {
- "type": "string"
+ "artists": {
+ "description": "Artists credited on the item.",
+ "items": {
+ "$ref": "#/definitions/spotify.SearchResultSummary"
+ },
+ "type": "array"
},
- "name": {
- "example": "Dota 2",
- "type": "string"
+ "attributes": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Additional key-value attributes Spotify returns for the item.",
+ "example": {
+ "{\"chart\"": "\"top-50\"}"
+ },
+ "type": "object"
},
- "slug": {
- "example": "dota-2",
+ "description": {
+ "description": "Description text of the item.",
+ "example": "Your daily update of the most played tracks right now.",
"type": "string"
},
- "tags": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "externalUrl": {
+ "description": "Link to the item on open.spotify.com.",
+ "example": "https://open.spotify.com/playlist/37i9dQZEVXbLRQDuF5jeBpM",
+ "type": "string"
},
- "viewers_count": {
- "example": 390201,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "twitch.TopGamesResponse": {
- "properties": {
- "count": {
- "example": 20,
- "type": "integer"
+ "imageUrl": {
+ "description": "URL of the main image for the item.",
+ "example": "https://charts-images.scdn.co/assets/locale_en/regional/daily/region_us_default.jpg",
+ "type": "string"
},
- "games": {
+ "images": {
+ "description": "Images available for the item, with their sizes.",
"items": {
- "$ref": "#/definitions/twitch.TopGame"
+ "$ref": "#/definitions/spotify.ImageAsset"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "twitch.Video": {
- "properties": {
- "game": {
- "$ref": "#/definitions/twitch.ClipGame"
- },
- "id": {
- "type": "string"
- },
- "length_seconds": {
- "example": 20818,
- "type": "integer"
},
"owner": {
- "$ref": "#/definitions/twitch.VideoOwner"
+ "allOf": [
+ {
+ "$ref": "#/definitions/spotify.SearchResultSummary"
+ }
+ ],
+ "description": "User or account that owns the item."
},
- "published_at": {
- "example": "2022-04-02T07:10:16Z",
+ "subtitle": {
+ "description": "Secondary line shown under the item title.",
+ "example": "Spotify",
"type": "string"
},
- "thumbnail_url": {
+ "title": {
+ "description": "Item title as Spotify shows it.",
+ "example": "Top 50 - USA",
"type": "string"
},
- "title": {
+ "type": {
+ "description": "Kind of item as Spotify labels it, for example `Playlist`.",
+ "example": "Playlist",
"type": "string"
},
- "view_count": {
- "example": 2800795,
- "type": "integer"
+ "uri": {
+ "description": "Spotify URI of the item.",
+ "example": "spotify:playlist:37i9dQZEVXbLRQDuF5jeBpM",
+ "type": "string"
}
},
"type": "object"
},
- "twitch.VideoOwner": {
+ "spotify.CountryHubMeta": {
"properties": {
- "display_name": {
+ "appVersion": {
+ "description": "Version of the Spotify web player the data was read from.",
+ "example": "1.2.90.403.gf901f20f",
"type": "string"
},
- "id": {
+ "fetchedAt": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-05-13T20:41:13Z",
"type": "string"
},
- "is_partner": {
- "example": true,
- "type": "boolean"
+ "itemCount": {
+ "description": "Number of items returned across all sections.",
+ "example": 20,
+ "type": "integer"
},
- "login": {
+ "operationName": {
+ "description": "Name of the Spotify web player operation that returned the data.",
+ "example": "countryHubsPage",
"type": "string"
+ },
+ "partialErrors": {
+ "description": "PartialErrors counts upstream GraphQL field errors that were tolerated\nbecause usable shelves were still returned (e.g. one broken shelf among\nseveral). Zero on a fully clean response.",
+ "example": 1,
+ "type": "integer"
+ },
+ "sectionCount": {
+ "description": "Number of sections returned.",
+ "example": 5,
+ "type": "integer"
}
},
"type": "object"
},
- "twitch.VideosResponse": {
+ "spotify.CountryHubResponse": {
"properties": {
- "count": {
- "example": 20,
- "type": "integer"
+ "countryCode": {
+ "description": "Country code the hub was loaded for.",
+ "example": "US",
+ "type": "string"
},
- "login": {
+ "countryName": {
+ "description": "Name of the country.",
+ "example": "United States",
"type": "string"
},
- "videos": {
+ "hexColor": {
+ "description": "Accent color of the country page, as a hex color code.",
+ "example": "#1DB954",
+ "type": "string"
+ },
+ "meta": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/spotify.CountryHubMeta"
+ }
+ ],
+ "description": "Details about this response."
+ },
+ "sections": {
+ "description": "Content sections of the country page.",
"items": {
- "$ref": "#/definitions/twitch.Video"
+ "$ref": "#/definitions/spotify.CountryHubSection"
+ },
+ "type": "array"
+ },
+ "supportedCountries": {
+ "description": "Countries Spotify offers a popular-in page for.",
+ "items": {
+ "$ref": "#/definitions/spotify.PopularCountry"
},
"type": "array"
}
},
"type": "object"
},
- "twitch.VodComment": {
+ "spotify.CountryHubSection": {
"properties": {
- "badges": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "commenter": {
- "$ref": "#/definitions/twitch.VodCommentCommenter"
- },
- "created_at": {
- "example": "2026-08-14T07:20:39Z",
+ "contentId": {
+ "description": "Identifier of the section content, for example `CHARTS`.",
+ "example": "CHARTS",
"type": "string"
},
- "fragments": {
+ "items": {
+ "description": "Items returned for this section.",
"items": {
- "$ref": "#/definitions/twitch.VodCommentFragment"
+ "$ref": "#/definitions/spotify.CountryHubItem"
},
"type": "array"
},
- "id": {
- "type": "string"
- },
- "message": {
+ "title": {
+ "description": "Section heading as Spotify shows it.",
+ "example": "Featured Charts",
"type": "string"
},
- "offset_seconds": {
- "example": 113,
+ "totalCount": {
+ "description": "Total number of items in the section on Spotify.",
+ "example": 20,
"type": "integer"
- },
- "user_color": {
- "example": "#0000FF",
- "type": "string"
}
},
"type": "object"
},
- "twitch.VodCommentCommenter": {
+ "spotify.HomeMeta": {
"properties": {
- "display_name": {
+ "appVersion": {
+ "description": "Version of the Spotify web player the data was read from.",
+ "example": "1.2.90.403.gf901f20f",
"type": "string"
},
- "id": {
+ "fetchedAt": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-05-13T20:41:12Z",
"type": "string"
},
- "login": {
+ "operationName": {
+ "description": "Name of the Spotify web player operation that returned the data.",
+ "example": "home",
"type": "string"
+ },
+ "sectionCount": {
+ "description": "Number of sections returned.",
+ "example": 8,
+ "type": "integer"
}
},
"type": "object"
},
- "twitch.VodCommentFragment": {
+ "spotify.HomeResponse": {
"properties": {
- "emote_id": {
+ "facet": {
+ "description": "Home page filter that was applied, for example `music`.",
+ "example": "music",
"type": "string"
},
- "text": {
+ "greeting": {
+ "description": "Greeting Spotify shows at the top of the home page, for example `Good afternoon`.",
+ "example": "Good afternoon",
"type": "string"
- }
- },
- "type": "object"
- },
- "twitch.VodCommentsResponse": {
- "properties": {
- "comments": {
+ },
+ "meta": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/spotify.HomeMeta"
+ }
+ ],
+ "description": "Details about this response."
+ },
+ "sections": {
+ "description": "Home page sections, in display order.",
"items": {
- "$ref": "#/definitions/twitch.VodComment"
+ "$ref": "#/definitions/spotify.BrowsePageSection"
},
"type": "array"
},
- "count": {
- "example": 55,
- "type": "integer"
- },
- "has_more": {
- "example": true,
- "type": "boolean"
- },
- "next_offset_seconds": {
- "example": 140,
- "type": "integer"
- },
- "offset_seconds": {
- "example": 0,
- "type": "integer"
- },
- "video_id": {
+ "timeZone": {
+ "description": "Time zone the home page was personalized for.",
+ "example": "UTC",
"type": "string"
}
},
"type": "object"
},
- "twitch.channelResponseDoc": {
+ "spotify.ImageAsset": {
"properties": {
- "code": {
- "example": 200,
+ "height": {
+ "description": "Image height in pixels.",
+ "example": 640,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/twitch.ChannelResponse"
- },
- "msg": {
- "example": "OK",
+ "url": {
+ "description": "URL of the image.",
+ "example": "https://i.scdn.co/image/ab6765630000ba8ab0484f8ee2933eceab32bac0",
"type": "string"
+ },
+ "width": {
+ "description": "Image width in pixels.",
+ "example": 640,
+ "type": "integer"
}
},
"type": "object"
},
- "twitch.clipsResponseDoc": {
+ "spotify.PlaylistMeta": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "appVersion": {
+ "description": "Version of the Spotify web player the data was read from.",
+ "example": "1.2.90.403.gf901f20f",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/twitch.ClipsResponse"
+ "episodeCount": {
+ "description": "Number of episodes among the returned items.",
+ "example": 0,
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "fetchedAt": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-05-13T20:41:12Z",
"type": "string"
- }
- },
- "type": "object"
- },
- "twitch.scheduleResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/twitch.ScheduleResponse"
+ "itemCount": {
+ "description": "Number of items returned.",
+ "example": 20,
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "operationName": {
+ "description": "Name of the Spotify web player operation that returned the data.",
+ "example": "fetchPlaylist",
"type": "string"
+ },
+ "trackCount": {
+ "description": "Number of tracks among the returned items.",
+ "example": 20,
+ "type": "integer"
}
},
"type": "object"
},
- "twitch.searchResponseDoc": {
+ "spotify.PlaylistResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/twitch.SearchResponse"
+ "collaborative": {
+ "description": "Whether the playlist is collaborative.",
+ "example": false,
+ "type": "boolean"
},
- "msg": {
- "example": "OK",
+ "description": {
+ "description": "Description text of the playlist.",
+ "example": "Your daily update of the most played tracks right now.",
"type": "string"
- }
- },
- "type": "object"
- },
- "twitch.streamsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/twitch.StreamsResponse"
+ "episodes": {
+ "description": "The podcast episode entries among the returned items.",
+ "items": {
+ "$ref": "#/definitions/spotify.SearchResultSummary"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "externalUrl": {
+ "description": "Link to the playlist on open.spotify.com.",
+ "example": "https://open.spotify.com/playlist/37i9dQZEVXbLwpL8TjsxOG",
"type": "string"
- }
- },
- "type": "object"
- },
- "twitch.teamResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ },
+ "followers": {
+ "description": "Number of followers the playlist has.",
+ "example": 17500000,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/twitch.TeamResponse"
+ "id": {
+ "description": "Spotify ID of the playlist.",
+ "example": "37i9dQZEVXbLwpL8TjsxOG",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "imageUrl": {
+ "description": "URL of the playlist cover image.",
+ "example": "https://charts-images.scdn.co/assets/locale_en/regional/daily/region_global_default.jpg",
"type": "string"
- }
- },
- "type": "object"
- },
- "twitch.topGamesResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ },
+ "images": {
+ "description": "Cover images available for the playlist, with their sizes.",
+ "items": {
+ "$ref": "#/definitions/spotify.ImageAsset"
+ },
+ "type": "array"
+ },
+ "items": {
+ "description": "Tracks and episodes returned from the playlist, in playlist order.",
+ "items": {
+ "$ref": "#/definitions/spotify.SearchResultSummary"
+ },
+ "type": "array"
+ },
+ "limit": {
+ "description": "Maximum number of items requested.",
+ "example": 20,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/twitch.TopGamesResponse"
+ "meta": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/spotify.PlaylistMeta"
+ }
+ ],
+ "description": "Details about this response."
},
- "msg": {
- "example": "OK",
+ "name": {
+ "description": "Playlist title as Spotify shows it.",
+ "example": "Top 50 - Global",
"type": "string"
- }
- },
- "type": "object"
- },
- "twitch.videosResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ },
+ "offset": {
+ "description": "Position of the first item returned.",
+ "example": 0,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/twitch.VideosResponse"
+ "owner": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/spotify.SearchResultSummary"
+ }
+ ],
+ "description": "User or account that owns the playlist."
},
- "msg": {
- "example": "OK",
+ "shareUrl": {
+ "description": "Link to the playlist that Spotify offers for sharing.",
+ "example": "https://open.spotify.com/playlist/37i9dQZEVXbLwpL8TjsxOG",
"type": "string"
- }
- },
- "type": "object"
- },
- "twitch.vodCommentsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ },
+ "total": {
+ "description": "Total number of items in the playlist.",
+ "example": 50,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/twitch.VodCommentsResponse"
+ "tracks": {
+ "description": "The track entries among the returned items.",
+ "items": {
+ "$ref": "#/definitions/spotify.SearchResultSummary"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "type": {
+ "description": "Kind of item as Spotify labels it, for example `Playlist`.",
+ "example": "Playlist",
+ "type": "string"
+ },
+ "uri": {
+ "description": "Spotify URI of the playlist.",
+ "example": "spotify:playlist:37i9dQZEVXbLwpL8TjsxOG",
"type": "string"
}
},
"type": "object"
},
- "ubereats.Address": {
+ "spotify.PodcastEpisodeMeta": {
"properties": {
- "city": {
- "type": "string"
- },
- "country": {
+ "appVersion": {
+ "description": "Version of the Spotify web player the data was read from.",
+ "example": "1.2.90.403.gf901f20f",
"type": "string"
},
- "postalCode": {
+ "fetchedAt": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-05-13T20:41:13Z",
"type": "string"
},
- "region": {
+ "operationName": {
+ "description": "Name of the Spotify web player operation that returned the data.",
+ "example": "getEpisodeOrChapter",
"type": "string"
},
- "street": {
+ "sourceUrl": {
+ "description": "URL the data was read from.",
+ "example": "https://open.spotify.com/episode/2C2Y5kNq7qCVOVhbA0G3os",
"type": "string"
}
},
"type": "object"
},
- "ubereats.MenuItem": {
+ "spotify.PodcastEpisodeResponse": {
"properties": {
"description": {
+ "description": "Plain-text description of the episode.",
+ "example": "A new adventure from the Stinky Dragon crew.",
"type": "string"
},
- "imageUrl": {
- "type": "string"
- },
- "isSoldOut": {
- "type": "boolean"
+ "durationMs": {
+ "description": "Episode length in milliseconds.",
+ "example": 3600000,
+ "type": "integer"
},
- "price": {
- "type": "number"
+ "externalUrl": {
+ "description": "Link to the episode on open.spotify.com.",
+ "example": "https://open.spotify.com/episode/2C2Y5kNq7qCVOVhbA0G3os",
+ "type": "string"
},
- "title": {
+ "htmlDescription": {
+ "description": "Description of the episode with its HTML formatting.",
+ "example": "A new adventure from the Stinky Dragon crew.",
"type": "string"
},
- "uuid": {
+ "id": {
+ "description": "Spotify ID of the episode.",
+ "example": "2C2Y5kNq7qCVOVhbA0G3os",
"type": "string"
- }
- },
- "type": "object"
- },
- "ubereats.MenuResponse": {
- "properties": {
- "currencyCode": {
+ },
+ "imageUrl": {
+ "description": "URL of the main cover image for the episode.",
+ "example": "https://i.scdn.co/image/ab6765630000ba8ab0484f8ee2933eceab32bac0",
"type": "string"
},
- "sections": {
+ "images": {
+ "description": "Cover images available for the episode, with their sizes.",
"items": {
- "$ref": "#/definitions/ubereats.MenuSection"
+ "$ref": "#/definitions/spotify.ImageAsset"
},
"type": "array"
},
- "storeTitle": {
- "type": "string"
+ "isExplicit": {
+ "description": "Whether Spotify marks the episode as explicit.",
+ "example": false,
+ "type": "boolean"
},
- "storeUuid": {
- "type": "string"
+ "isPaywallContent": {
+ "description": "Whether the episode is paywalled content.",
+ "example": false,
+ "type": "boolean"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "ubereats.MenuSection": {
- "properties": {
- "items": {
+ "isPlayable": {
+ "description": "Whether the episode can be played.",
+ "example": true,
+ "type": "boolean"
+ },
+ "mediaTypes": {
+ "description": "Media types the episode is available in, for example `AUDIO`.",
+ "example": [
+ "AUDIO"
+ ],
"items": {
- "$ref": "#/definitions/ubereats.MenuItem"
+ "type": "string"
},
"type": "array"
},
- "title": {
+ "meta": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/spotify.PodcastEpisodeMeta"
+ }
+ ],
+ "description": "Details about this response."
+ },
+ "name": {
+ "description": "Episode title as Spotify shows it.",
+ "example": "Tales from the Stinky Dragon",
"type": "string"
- }
- },
- "type": "object"
- },
- "ubereats.Restaurant": {
- "properties": {
- "cuisineTags": {
- "description": "Cuisine labels shown on the restaurant card.",
+ },
+ "playabilityReason": {
+ "description": "Reason code Spotify gives for the episode's playability, for example `PLAYABLE`.",
+ "example": "PLAYABLE",
+ "type": "string"
+ },
+ "previewAudioUrl": {
+ "description": "URL of an audio preview of the episode.",
+ "example": "https://p.scdn.co/mp3-preview/example",
+ "type": "string"
+ },
+ "previewAudioUrls": {
+ "description": "URLs of the audio previews available for the episode.",
+ "example": [
+ "https://p.scdn.co/mp3-preview/example"
+ ],
"items": {
"type": "string"
},
"type": "array"
},
- "currencyCode": {
- "description": "Currency code used for the restaurant's prices, such as `USD`.",
+ "previewVideoUrl": {
+ "description": "URL of a video preview of the episode.",
+ "example": "https://p.scdn.co/video-preview/example",
"type": "string"
},
- "deliveryEtaText": {
- "description": "Estimated delivery time as shown on the card, such as `21 min`.",
+ "releaseDate": {
+ "description": "Date the episode was released, as Spotify returns it.",
+ "example": "2026-05-13",
"type": "string"
},
- "imageUrl": {
- "description": "URL of the restaurant's card image.",
+ "releaseDatePrecision": {
+ "description": "How precise the release date is, for example `DAY`.",
+ "example": "DAY",
"type": "string"
},
- "isSponsored": {
- "description": "Whether Uber Eats shows the restaurant as a sponsored listing.",
- "type": "boolean"
- },
- "latitude": {
- "description": "Latitude of the restaurant, in decimal degrees.",
- "type": "number"
- },
- "longitude": {
- "description": "Longitude of the restaurant, in decimal degrees.",
- "type": "number"
- },
- "name": {
- "description": "Restaurant name as shown on the feed card.",
+ "shareUrl": {
+ "description": "Link to the episode that Spotify offers for sharing.",
+ "example": "https://open.spotify.com/episode/2C2Y5kNq7qCVOVhbA0G3os",
"type": "string"
},
- "rating": {
- "description": "Average customer rating of the restaurant.",
- "type": "number"
+ "show": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/spotify.PodcastEpisodeShowSummary"
+ }
+ ],
+ "description": "Show the episode belongs to."
},
- "reviewCount": {
- "description": "Number of customer reviews the restaurant has.",
+ "transcriptCount": {
+ "description": "Number of transcripts Spotify has for the episode.",
+ "example": 1,
"type": "integer"
},
- "slug": {
- "description": "URL slug of the restaurant's Uber Eats page.",
+ "type": {
+ "description": "Kind of item as Spotify labels it, for example `Episode`.",
+ "example": "Episode",
"type": "string"
},
- "storeUuid": {
- "description": "Uber Eats store UUID. Use it with the store endpoints.",
+ "unplayabilityReasons": {
+ "description": "Reasons the episode cannot be played, such as `not_available_in_region`.",
+ "example": [
+ "not_available_in_region"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "uri": {
+ "description": "Spotify URI of the episode.",
+ "example": "spotify:episode:2C2Y5kNq7qCVOVhbA0G3os",
"type": "string"
},
- "url": {
- "description": "URL of the restaurant's page on Uber Eats.",
+ "videoThumbnailUrl": {
+ "description": "URL of the video thumbnail for the episode.",
+ "example": "https://i.scdn.co/image/ab6765630000ba8ab0484f8ee2933eceab32bac0",
"type": "string"
+ },
+ "videoThumbnails": {
+ "description": "Video thumbnails available for the episode, with their sizes.",
+ "items": {
+ "$ref": "#/definitions/spotify.ImageAsset"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "ubereats.Review": {
+ "spotify.PodcastEpisodeShowSummary": {
"properties": {
- "createdAt": {
- "description": "Time the review was created, in ISO 8601 format.",
+ "description": {
+ "description": "Description text of the show.",
+ "example": "Tales from the Stinky Dragon is an actual-play comedy podcast.",
"type": "string"
},
- "eaterName": {
- "description": "Reviewer's display name as Uber Eats shows it, such as `Jamie L.`.",
+ "externalUrl": {
+ "description": "Link to the show on open.spotify.com.",
+ "example": "https://open.spotify.com/show/1QQJ7FElLE0K6CIfZNCxU4",
"type": "string"
},
- "formattedDate": {
- "description": "Review date as Uber Eats displays it, such as `01/01/26`.",
+ "id": {
+ "description": "Spotify ID of the show.",
+ "example": "1QQJ7FElLE0K6CIfZNCxU4",
"type": "string"
},
- "text": {
- "description": "Full text of the review.",
+ "imageUrl": {
+ "description": "URL of the main cover image for the show.",
+ "example": "https://i.scdn.co/image/ab6765630000ba8ab0484f8ee2933eceab32bac0",
"type": "string"
},
- "timeSinceReview": {
- "description": "How long ago the review was posted, as text such as `2 months ago`.",
- "type": "string"
- }
- },
- "type": "object"
- },
- "ubereats.SearchResponse": {
- "properties": {
- "cityName": {
- "description": "Name of the city feed that was returned, such as `san_francisco`. Set for location feeds only.",
- "type": "string"
+ "images": {
+ "description": "Cover images available for the show, with their sizes.",
+ "items": {
+ "$ref": "#/definitions/spotify.ImageAsset"
+ },
+ "type": "array"
},
- "cursor": {
- "description": "Cursor to pass in the next keyword search request to get more results.",
+ "mediaType": {
+ "description": "Kind of media the show carries, for example `MIXED`.",
+ "example": "MIXED",
"type": "string"
},
- "hasMore": {
- "description": "Whether more restaurants are available beyond this response.",
- "type": "boolean"
+ "name": {
+ "description": "Show title as Spotify shows it.",
+ "example": "Tales from the Stinky Dragon",
+ "type": "string"
},
- "offset": {
- "description": "Offset of the first restaurant returned.",
- "type": "integer"
+ "publisher": {
+ "description": "Name of the show's publisher.",
+ "example": "Stinky Dragon",
+ "type": "string"
},
- "restaurants": {
- "description": "Restaurants matching the search, or found in the location feed.",
+ "showTypes": {
+ "description": "Show type labels Spotify assigns, for example `PODCAST`.",
+ "example": [
+ "PODCAST"
+ ],
"items": {
- "$ref": "#/definitions/ubereats.Restaurant"
+ "type": "string"
},
"type": "array"
+ },
+ "type": {
+ "description": "Kind of item as Spotify labels it, for example `Podcast`.",
+ "example": "Podcast",
+ "type": "string"
+ },
+ "uri": {
+ "description": "Spotify URI of the show.",
+ "example": "spotify:show:1QQJ7FElLE0K6CIfZNCxU4",
+ "type": "string"
}
},
"type": "object"
},
- "ubereats.StoreDetail": {
+ "spotify.PodcastEpisodeSummary": {
"properties": {
- "address": {
- "$ref": "#/definitions/ubereats.Address"
+ "description": {
+ "description": "Description text of the episode.",
+ "example": "A new adventure from the Stinky Dragon crew.",
+ "type": "string"
},
- "cuisineTags": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "durationMs": {
+ "description": "Episode length in milliseconds.",
+ "example": 3600000,
+ "type": "integer"
},
- "currencyCode": {
+ "externalUrl": {
+ "description": "Link to the episode on open.spotify.com.",
+ "example": "https://open.spotify.com/episode/2C2Y5kNq7qCVOVhbA0G3os",
"type": "string"
},
- "heroImageUrl": {
+ "imageUrl": {
+ "description": "URL of the main cover image for the episode.",
+ "example": "https://i.scdn.co/image/ab6765630000ba8ab0484f8ee2933eceab32bac0",
"type": "string"
},
- "isOpen": {
- "type": "boolean"
- },
- "isOrderable": {
- "type": "boolean"
- },
- "latitude": {
- "type": "number"
- },
- "longitude": {
- "type": "number"
- },
- "menu": {
+ "images": {
+ "description": "Cover images available for the episode, with their sizes.",
"items": {
- "$ref": "#/definitions/ubereats.MenuSection"
+ "$ref": "#/definitions/spotify.ImageAsset"
},
"type": "array"
},
- "phoneNumber": {
- "type": "string"
- },
- "priceBucket": {
- "type": "string"
- },
- "rating": {
- "type": "number"
- },
- "reviewCount": {
- "type": "integer"
+ "isExplicit": {
+ "description": "Whether Spotify marks the episode as explicit.",
+ "example": false,
+ "type": "boolean"
},
- "slug": {
- "type": "string"
+ "isPlayable": {
+ "description": "Whether the episode can be played.",
+ "example": true,
+ "type": "boolean"
},
- "storeUuid": {
+ "name": {
+ "description": "Episode title as Spotify shows it.",
+ "example": "Tales from the Stinky Dragon",
"type": "string"
},
- "title": {
+ "releaseDate": {
+ "description": "Date the episode was released, as Spotify returns it.",
+ "example": "2026-05-13",
"type": "string"
},
- "url": {
+ "type": {
+ "description": "Kind of item as Spotify labels it, for example `Episode`.",
+ "example": "Episode",
"type": "string"
},
- "workingHoursTagline": {
+ "uri": {
+ "description": "Spotify URI of the episode.",
+ "example": "spotify:episode:2C2Y5kNq7qCVOVhbA0G3os",
"type": "string"
}
},
"type": "object"
},
- "ubereats.StoreReviewsResponse": {
+ "spotify.PodcastEpisodesMeta": {
"properties": {
- "rating": {
- "description": "Average customer rating of the store.",
- "type": "number"
- },
- "reviewCount": {
- "description": "Total number of reviews the store has.",
- "type": "integer"
+ "appVersion": {
+ "description": "Version of the Spotify web player the data was read from.",
+ "example": "1.2.90.403.gf901f20f",
+ "type": "string"
},
- "reviews": {
- "description": "Sample of recent reviews shown on the store page.",
- "items": {
- "$ref": "#/definitions/ubereats.Review"
- },
- "type": "array"
+ "fetchedAt": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-05-13T20:41:13Z",
+ "type": "string"
},
- "storeUuid": {
- "description": "Uber Eats store UUID that was requested.",
+ "operationName": {
+ "description": "Name of the Spotify web player operation that returned the data.",
+ "example": "queryPodcastEpisodes",
"type": "string"
}
},
"type": "object"
},
- "ubereats.feedResponseDoc": {
+ "spotify.PodcastEpisodesResponse": {
"properties": {
- "code": {
- "example": 200,
+ "episodes": {
+ "description": "Episodes returned for the show.",
+ "items": {
+ "$ref": "#/definitions/spotify.PodcastEpisodeSummary"
+ },
+ "type": "array"
+ },
+ "limit": {
+ "description": "Maximum number of episodes requested.",
+ "example": 20,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/ubereats.SearchResponse"
+ "meta": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/spotify.PodcastEpisodesMeta"
+ }
+ ],
+ "description": "Details about this response."
},
- "msg": {
- "example": "OK",
- "type": "string"
- }
- },
- "type": "object"
- },
- "ubereats.menuResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ "offset": {
+ "description": "Position of the first episode returned.",
+ "example": 0,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/ubereats.MenuResponse"
+ "total": {
+ "description": "Total number of episodes the show has on Spotify.",
+ "example": 202,
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "uri": {
+ "description": "Spotify URI of the show whose episodes are listed.",
+ "example": "spotify:show:1QQJ7FElLE0K6CIfZNCxU4",
"type": "string"
}
},
"type": "object"
},
- "ubereats.searchResponseDoc": {
+ "spotify.PopularCountry": {
"properties": {
"code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/ubereats.SearchResponse"
+ "example": "us",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "name": {
+ "description": "Country name in English.",
+ "example": "United States",
"type": "string"
}
},
"type": "object"
},
- "ubereats.storeResponseDoc": {
+ "spotify.RecommendationSummary": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "description": {
+ "description": "Description text of the recommended item.",
+ "example": "The official podcast of comedian Joe Rogan.",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/ubereats.StoreDetail"
+ "externalUrl": {
+ "description": "Link to the recommended item on open.spotify.com.",
+ "example": "https://open.spotify.com/show/4rOoJ6Egrf8K2IrywzwOMk",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "imageUrl": {
+ "description": "URL of the main image for the recommended item.",
+ "example": "https://i.scdn.co/image/ab67656300005f1f54e6837957803d762a3f4d2b",
"type": "string"
- }
- },
- "type": "object"
- },
- "ubereats.storeReviewsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/ubereats.StoreReviewsResponse"
+ "images": {
+ "description": "Images available for the recommended item, with their sizes.",
+ "items": {
+ "$ref": "#/definitions/spotify.ImageAsset"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "publisher": {
+ "description": "Publisher or creator name of the recommended item.",
+ "example": "Joe Rogan",
+ "type": "string"
+ },
+ "subtitle": {
+ "description": "Secondary line shown under the title, such as the creator name.",
+ "example": "Joe Rogan",
+ "type": "string"
+ },
+ "title": {
+ "description": "Title of the recommended item as Spotify shows it.",
+ "example": "The Joe Rogan Experience",
+ "type": "string"
+ },
+ "type": {
+ "description": "Kind of item as Spotify labels it, for example `Podcast`.",
+ "example": "Podcast",
+ "type": "string"
+ },
+ "uri": {
+ "description": "Spotify URI of the recommended item.",
+ "example": "spotify:show:4rOoJ6Egrf8K2IrywzwOMk",
"type": "string"
}
},
"type": "object"
},
- "ulta.Answer": {
+ "spotify.SearchMeta": {
"properties": {
- "author": {
- "description": "Display name of the answer's author.",
- "type": "string"
+ "albumCount": {
+ "description": "Number of albums returned.",
+ "example": 3,
+ "type": "integer"
},
- "created_at": {
- "description": "Time the answer was posted, in UTC (RFC 3339).",
+ "appVersion": {
+ "description": "Version of the Spotify web player the data was read from.",
+ "example": "1.2.90.403.gf901f20f",
"type": "string"
},
- "helpful_votes": {
- "description": "Number of shoppers who marked the answer helpful.",
+ "artistCount": {
+ "description": "Number of artists returned.",
+ "example": 5,
"type": "integer"
},
- "id": {
- "description": "Ulta answer id.",
- "type": "string"
- },
- "is_expert": {
- "description": "Whether the answer comes from a brand representative rather than a fellow customer.",
- "type": "boolean"
+ "audiobookCount": {
+ "description": "Number of audiobooks returned.",
+ "example": 2,
+ "type": "integer"
},
- "not_helpful_votes": {
- "description": "Number of shoppers who marked the answer not helpful.",
+ "episodeCount": {
+ "description": "Number of episodes returned.",
+ "example": 2,
"type": "integer"
},
- "text": {
- "description": "Text of the answer.",
+ "fetchedAt": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-05-13T20:41:12Z",
"type": "string"
- }
- },
- "type": "object"
- },
- "ulta.CategoriesResponse": {
- "properties": {
- "categories": {
- "items": {
- "$ref": "#/definitions/ulta.CategoryEntry"
- },
- "type": "array"
},
- "fetched_at": {
+ "operationName": {
+ "description": "Name of the Spotify web player operation that returned the data.",
+ "example": "searchDesktop",
"type": "string"
},
- "source_url": {
- "type": "string"
+ "playlistCount": {
+ "description": "Number of playlists returned.",
+ "example": 2,
+ "type": "integer"
+ },
+ "resultCount": {
+ "description": "Total number of results returned.",
+ "example": 22,
+ "type": "integer"
+ },
+ "showCount": {
+ "description": "Number of shows returned.",
+ "example": 4,
+ "type": "integer"
+ },
+ "topCount": {
+ "description": "Number of top results returned.",
+ "example": 3,
+ "type": "integer"
+ },
+ "trackCount": {
+ "description": "Number of tracks returned.",
+ "example": 2,
+ "type": "integer"
+ },
+ "userCount": {
+ "description": "Number of user profiles returned.",
+ "example": 2,
+ "type": "integer"
}
},
"type": "object"
},
- "ulta.CategoryEntry": {
+ "spotify.SearchPodcastsMeta": {
"properties": {
- "department": {
- "example": "makeup-nails",
+ "appVersion": {
+ "description": "Version of the Spotify web player the data was read from.",
+ "example": "1.2.90.403.gf901f20f",
"type": "string"
},
- "group": {
- "example": "Eyes",
- "type": "string"
+ "episodeCount": {
+ "description": "Number of episodes returned.",
+ "example": 2,
+ "type": "integer"
},
- "name": {
- "example": "Mascara",
+ "fetchedAt": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-05-13T20:41:12Z",
"type": "string"
},
- "url": {
- "example": "https://www.ulta.com/shop/makeup/eyes/mascara",
+ "operationName": {
+ "description": "Name of the Spotify web player operation that returned the data.",
+ "example": "searchPodcasts",
"type": "string"
+ },
+ "showCount": {
+ "description": "Number of shows returned.",
+ "example": 4,
+ "type": "integer"
+ },
+ "topCount": {
+ "description": "Number of top results returned.",
+ "example": 3,
+ "type": "integer"
}
},
"type": "object"
},
- "ulta.CategoryFacet": {
+ "spotify.SearchPodcastsResponse": {
"properties": {
- "label": {
- "type": "string"
+ "episodes": {
+ "description": "Podcast episodes that matched the search term.",
+ "items": {
+ "$ref": "#/definitions/spotify.PodcastEpisodeSummary"
+ },
+ "type": "array"
},
- "selected": {
- "type": "boolean"
+ "limit": {
+ "description": "Maximum number of results requested per section.",
+ "example": 20,
+ "type": "integer"
},
- "value": {
+ "meta": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/spotify.SearchPodcastsMeta"
+ }
+ ],
+ "description": "Details about this response."
+ },
+ "offset": {
+ "description": "Position of the first result returned.",
+ "example": 0,
+ "type": "integer"
+ },
+ "searchTerm": {
+ "description": "Search term that was run.",
+ "example": "hello",
"type": "string"
+ },
+ "shows": {
+ "description": "Podcast shows that matched the search term.",
+ "items": {
+ "$ref": "#/definitions/spotify.RecommendationSummary"
+ },
+ "type": "array"
+ },
+ "topResults": {
+ "description": "Best matches across all result types.",
+ "items": {
+ "$ref": "#/definitions/spotify.SearchResultSummary"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "ulta.CategoryResponse": {
+ "spotify.SearchResponse": {
"properties": {
- "category": {
- "type": "string"
- },
- "count": {
- "type": "integer"
- },
- "facets": {
- "description": "Facets is the category's own guided-navigation refinement options,\nread from the same response this package already fetches -- no\nseparate upstream call needed. Confirmed live 2026-08-11 present and\nnon-empty (46 options on an unfiltered category, 17 on a filtered\none) on every case tried (unfiltered, filtered, and page 2), so this\nfield is populated whenever the upstream returns it, nil otherwise.\nUlta's own guidedNavigation does not carry a live per-option result\ncount (unlike this repo's Nike/Zappos facet shapes), so CategoryFacet\nhas no result-count field.",
+ "albums": {
+ "description": "Albums that matched the search term.",
"items": {
- "$ref": "#/definitions/ulta.CategoryFacet"
+ "$ref": "#/definitions/spotify.SearchResultSummary"
},
"type": "array"
},
- "fetched_at": {
- "type": "string"
+ "artists": {
+ "description": "Artists that matched the search term.",
+ "items": {
+ "$ref": "#/definitions/spotify.SearchResultSummary"
+ },
+ "type": "array"
},
- "filter": {
- "type": "string"
+ "audiobooks": {
+ "description": "Audiobooks that matched the search term.",
+ "items": {
+ "$ref": "#/definitions/spotify.SearchResultSummary"
+ },
+ "type": "array"
},
- "has_more": {
- "type": "boolean"
+ "episodes": {
+ "description": "Podcast episodes that matched the search term.",
+ "items": {
+ "$ref": "#/definitions/spotify.SearchResultSummary"
+ },
+ "type": "array"
},
- "page": {
+ "limit": {
+ "description": "Maximum number of results requested per section.",
+ "example": 20,
"type": "integer"
},
- "page_size": {
+ "meta": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/spotify.SearchMeta"
+ }
+ ],
+ "description": "Details about this response."
+ },
+ "offset": {
+ "description": "Position of the first result returned.",
+ "example": 0,
"type": "integer"
},
- "products": {
+ "playlists": {
+ "description": "Playlists that matched the search term.",
"items": {
- "$ref": "#/definitions/ulta.ProductSummary"
+ "$ref": "#/definitions/spotify.SearchResultSummary"
},
"type": "array"
},
- "result_count": {
- "type": "integer"
+ "results": {
+ "description": "All results found, across every type.",
+ "items": {
+ "$ref": "#/definitions/spotify.SearchResultSummary"
+ },
+ "type": "array"
},
- "source_url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "ulta.ProductDetailResponse": {
- "properties": {
- "brand_name": {
+ "searchTerm": {
+ "description": "Search term that was run.",
+ "example": "hello",
"type": "string"
},
- "category": {
+ "shows": {
+ "description": "Podcast shows that matched the search term.",
"items": {
- "type": "string"
+ "$ref": "#/definitions/spotify.SearchResultSummary"
},
"type": "array"
},
- "currency_code": {
- "type": "string"
+ "topResults": {
+ "description": "Best matches across all result types.",
+ "items": {
+ "$ref": "#/definitions/spotify.SearchResultSummary"
+ },
+ "type": "array"
},
+ "tracks": {
+ "description": "Tracks that matched the search term.",
+ "items": {
+ "$ref": "#/definitions/spotify.SearchResultSummary"
+ },
+ "type": "array"
+ },
+ "users": {
+ "description": "User profiles that matched the search term.",
+ "items": {
+ "$ref": "#/definitions/spotify.SearchResultSummary"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "spotify.SearchResultSummary": {
+ "properties": {
"description": {
+ "description": "Description text of the result.",
+ "example": "The official podcast of comedian Joe Rogan.",
"type": "string"
},
- "fetched_at": {
+ "externalUrl": {
+ "description": "Link to the result on open.spotify.com.",
+ "example": "https://open.spotify.com/show/4rOoJ6Egrf8K2IrywzwOMk",
+ "type": "string"
+ },
+ "imageUrl": {
+ "description": "URL of the main image for the result.",
+ "example": "https://i.scdn.co/image/ab67656300005f1f54e6837957803d762a3f4d2b",
"type": "string"
},
"images": {
+ "description": "Images available for the result, with their sizes.",
"items": {
- "type": "string"
+ "$ref": "#/definitions/spotify.ImageAsset"
},
"type": "array"
},
- "list_price": {
+ "publisher": {
+ "description": "Publisher or creator name of the result.",
+ "example": "Joe Rogan",
"type": "string"
},
- "product_id": {
+ "subtitle": {
+ "description": "Secondary line shown under the title, such as the artist or creator name.",
+ "example": "Joe Rogan",
"type": "string"
},
- "product_name": {
+ "title": {
+ "description": "Result title as Spotify shows it.",
+ "example": "The Joe Rogan Experience",
"type": "string"
},
- "rating": {
- "type": "number"
- },
- "review_count": {
- "type": "integer"
+ "type": {
+ "description": "Kind of result as Spotify labels it, for example `Podcast`.",
+ "example": "Podcast",
+ "type": "string"
},
- "sale_price": {
+ "uri": {
+ "description": "Spotify URI of the result.",
+ "example": "spotify:show:4rOoJ6Egrf8K2IrywzwOMk",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "spotify.ShowMetadataMeta": {
+ "properties": {
+ "appVersion": {
+ "example": "1.2.90.403.gf901f20f",
"type": "string"
},
- "sku_id": {
+ "fetchedAt": {
+ "example": "2026-05-13T20:41:13Z",
"type": "string"
},
- "source_url": {
+ "operationName": {
+ "example": "queryShowMetadataV2",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "spotify.ShowMetadataResponse": {
+ "properties": {
+ "description": {
+ "example": "Tales from the Stinky Dragon is an actual-play comedy podcast.",
"type": "string"
},
- "unavailable": {
- "type": "boolean"
+ "externalUrl": {
+ "example": "https://open.spotify.com/show/1QQJ7FElLE0K6CIfZNCxU4",
+ "type": "string"
},
- "url": {
+ "imageUrl": {
+ "example": "https://i.scdn.co/image/ab6765630000ba8ab0484f8ee2933eceab32bac0",
"type": "string"
},
- "variants": {
+ "images": {
"items": {
- "$ref": "#/definitions/ulta.ProductVariant"
+ "$ref": "#/definitions/spotify.ImageAsset"
},
"type": "array"
+ },
+ "isExplicit": {
+ "example": false,
+ "type": "boolean"
+ },
+ "mediaType": {
+ "example": "MIXED",
+ "type": "string"
+ },
+ "meta": {
+ "$ref": "#/definitions/spotify.ShowMetadataMeta"
+ },
+ "name": {
+ "example": "Tales from the Stinky Dragon",
+ "type": "string"
+ },
+ "publisher": {
+ "example": "Stinky Dragon",
+ "type": "string"
+ },
+ "totalEpisodes": {
+ "example": 202,
+ "type": "integer"
+ },
+ "type": {
+ "example": "Podcast",
+ "type": "string"
+ },
+ "uri": {
+ "example": "spotify:show:1QQJ7FElLE0K6CIfZNCxU4",
+ "type": "string"
}
},
"type": "object"
},
- "ulta.ProductQuestionsResponse": {
+ "spotify.ShowRecommendationsMeta": {
"properties": {
+ "appVersion": {
+ "description": "Version of the Spotify web player the data was read from.",
+ "example": "1.2.90.403.gf901f20f",
+ "type": "string"
+ },
"count": {
- "description": "Number of questions returned on this page.",
+ "description": "Number of recommendations returned.",
+ "example": 10,
"type": "integer"
},
- "fetched_at": {
+ "fetchedAt": {
"description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-05-13T20:41:13Z",
"type": "string"
},
- "page": {
- "description": "Page number returned, starting at 1.",
- "type": "integer"
- },
- "page_size": {
- "description": "Number of questions per page.",
- "type": "integer"
- },
- "product_id": {
- "description": "Ulta product id that was requested.",
+ "operationName": {
+ "description": "Name of the Spotify web player operation that returned the data.",
+ "example": "internalLinkRecommenderShow",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "spotify.ShowRecommendationsResponse": {
+ "properties": {
+ "meta": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/spotify.ShowRecommendationsMeta"
+ }
+ ],
+ "description": "Details about this response."
},
- "questions": {
- "description": "Customer questions on this page, each with its answers.",
+ "recommendations": {
+ "description": "Related shows and episodes Spotify suggests.",
"items": {
- "$ref": "#/definitions/ulta.Question"
+ "$ref": "#/definitions/spotify.RecommendationSummary"
},
"type": "array"
},
- "source_url": {
- "description": "URL the data was read from.",
+ "uri": {
+ "description": "Spotify URI of the show the recommendations are for.",
+ "example": "spotify:show:1QQJ7FElLE0K6CIfZNCxU4",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "spotify.TrackMeta": {
+ "properties": {
+ "appVersion": {
+ "description": "Version of the Spotify web player the data was read from.",
+ "example": "1.2.90.403.gf901f20f",
"type": "string"
},
- "total_pages": {
- "description": "Total number of question pages for the product.",
- "type": "integer"
+ "fetchedAt": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-05-13T20:41:10Z",
+ "type": "string"
},
- "total_questions": {
- "description": "Total number of questions for the product.",
- "type": "integer"
+ "operationName": {
+ "description": "Name of the Spotify web player operation that returned the data.",
+ "example": "getTrack",
+ "type": "string"
}
},
"type": "object"
},
- "ulta.ProductReviewsResponse": {
+ "spotify.TrackRecommendedMeta": {
"properties": {
- "average_rating": {
- "type": "number"
+ "appVersion": {
+ "description": "Version of the Spotify web player the data was read from.",
+ "example": "1.2.90.403.gf901f20f",
+ "type": "string"
},
"count": {
+ "description": "Number of recommendations returned.",
+ "example": 10,
"type": "integer"
},
- "fetched_at": {
+ "fetchedAt": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-05-13T20:41:12Z",
"type": "string"
},
- "page": {
- "type": "integer"
- },
- "page_size": {
- "type": "integer"
- },
- "product_id": {
+ "operationName": {
+ "description": "Name of the Spotify web player operation that returned the data.",
+ "example": "internalLinkRecommenderTrack",
"type": "string"
- },
- "rating_count": {
- "description": "RatingCount, AverageRating, RecommendedRatio, and RatingHistogram are\nthe product's site-wide aggregate rating summary, not just this page --\nabsent (zero-valued) for a product with no reviews yet.",
+ }
+ },
+ "type": "object"
+ },
+ "spotify.TrackRecommendedResponse": {
+ "properties": {
+ "limit": {
+ "description": "Maximum number of recommendations requested.",
+ "example": 10,
"type": "integer"
},
- "rating_histogram": {
- "description": "RatingHistogram is the count of ratings per star, ascending: index 0\nis 1-star, index 4 is 5-star.",
+ "meta": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/spotify.TrackRecommendedMeta"
+ }
+ ],
+ "description": "Details about this response."
+ },
+ "recommendations": {
+ "description": "Items Spotify recommends for the track.",
"items": {
- "type": "integer"
+ "$ref": "#/definitions/spotify.RecommendationSummary"
},
"type": "array"
},
- "recommended_ratio": {
- "type": "number"
+ "uri": {
+ "description": "Spotify URI of the track the recommendations are for.",
+ "example": "spotify:track:4vGg44GdCw3X8i8r01XJH0",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "spotify.TrackResponse": {
+ "properties": {
+ "album": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/spotify.SearchResultSummary"
+ }
+ ],
+ "description": "Album the track appears on."
},
- "reviews": {
+ "artists": {
+ "description": "Artists credited on the track.",
"items": {
- "$ref": "#/definitions/ulta.Review"
+ "$ref": "#/definitions/spotify.SearchResultSummary"
},
"type": "array"
},
- "source_url": {
- "type": "string"
- },
- "total_pages": {
+ "discNumber": {
+ "description": "Disc number of the track within its album.",
+ "example": 1,
"type": "integer"
},
- "total_reviews": {
+ "durationMs": {
+ "description": "Track length in milliseconds.",
+ "example": 234083,
"type": "integer"
- }
- },
- "type": "object"
- },
- "ulta.ProductSummary": {
- "properties": {
- "brand_name": {
+ },
+ "externalUrl": {
+ "description": "Link to the track on open.spotify.com.",
+ "example": "https://open.spotify.com/track/4vGg44GdCw3X8i8r01XJH0",
"type": "string"
},
- "discount": {
+ "id": {
+ "description": "Spotify ID of the track.",
+ "example": "4vGg44GdCw3X8i8r01XJH0",
"type": "string"
},
- "image_url": {
+ "imageUrl": {
+ "description": "URL of the track's cover image.",
+ "example": "https://i.scdn.co/image/ab67616d0000b273f377730d2a9c2e432139ac79",
"type": "string"
},
- "is_limited_stock": {
+ "images": {
+ "description": "Cover images available for the track, with their sizes.",
+ "items": {
+ "$ref": "#/definitions/spotify.ImageAsset"
+ },
+ "type": "array"
+ },
+ "isExplicit": {
+ "description": "Whether Spotify marks the track as explicit.",
+ "example": false,
"type": "boolean"
},
- "list_price": {
+ "isPlayable": {
+ "description": "Whether the track can be played.",
+ "example": true,
+ "type": "boolean"
+ },
+ "meta": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/spotify.TrackMeta"
+ }
+ ],
+ "description": "Details about this response."
+ },
+ "name": {
+ "description": "Track title as Spotify shows it.",
+ "example": "Example Track",
"type": "string"
},
- "product_id": {
+ "playabilityReason": {
+ "description": "Reason code Spotify gives for the track's playability, for example `PLAYABLE`.",
+ "example": "PLAYABLE",
"type": "string"
},
- "product_name": {
+ "playcount": {
+ "description": "Number of times the track has been played, as Spotify shows it.",
+ "example": "13129249",
"type": "string"
},
- "promo_text": {
+ "previewAudioUrl": {
+ "description": "URL of an audio preview of the track.",
+ "example": "https://p.scdn.co/mp3-preview/example",
"type": "string"
},
- "rating": {
- "type": "number"
+ "previewAudioUrls": {
+ "description": "URLs of the audio previews available for the track.",
+ "example": [
+ "https://p.scdn.co/mp3-preview/example"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "review_count": {
+ "shareUrl": {
+ "description": "Link to the track that Spotify offers for sharing.",
+ "example": "https://open.spotify.com/track/4vGg44GdCw3X8i8r01XJH0",
+ "type": "string"
+ },
+ "trackNumber": {
+ "description": "Position of the track within its album.",
+ "example": 7,
"type": "integer"
},
- "sale_price": {
+ "type": {
+ "description": "Kind of item as Spotify labels it, for example `Track`.",
+ "example": "Track",
"type": "string"
},
- "sku_id": {
+ "unplayabilityReasons": {
+ "description": "Reasons the track cannot be played, such as `not_available_in_region`.",
+ "example": [
+ "not_available_in_region"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "uri": {
+ "description": "Spotify URI of the track.",
+ "example": "spotify:track:4vGg44GdCw3X8i8r01XJH0",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "spotify.TrackSimilarAlbumsMeta": {
+ "properties": {
+ "appVersion": {
+ "description": "Version of the Spotify web player the data was read from.",
+ "example": "1.2.90.403.gf901f20f",
"type": "string"
},
- "sponsored": {
- "type": "boolean"
+ "count": {
+ "description": "Number of albums returned.",
+ "example": 10,
+ "type": "integer"
},
- "url": {
+ "fetchedAt": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-05-13T20:41:12Z",
"type": "string"
},
- "variant_label": {
+ "operationName": {
+ "description": "Name of the Spotify web player operation that returned the data.",
+ "example": "similarAlbumsBasedOnThisTrack",
"type": "string"
}
},
"type": "object"
},
- "ulta.ProductVariant": {
+ "spotify.TrackSimilarAlbumsResponse": {
"properties": {
- "name": {
- "type": "string"
+ "albums": {
+ "description": "Albums Spotify suggests as similar to the track.",
+ "items": {
+ "$ref": "#/definitions/spotify.SearchResultSummary"
+ },
+ "type": "array"
},
- "product_id": {
- "type": "string"
+ "albumsOnly": {
+ "description": "Whether only album recommendations were requested.",
+ "example": true,
+ "type": "boolean"
},
- "sku_id": {
+ "limit": {
+ "description": "Maximum number of albums requested.",
+ "example": 10,
+ "type": "integer"
+ },
+ "meta": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/spotify.TrackSimilarAlbumsMeta"
+ }
+ ],
+ "description": "Details about this response."
+ },
+ "uri": {
+ "description": "Spotify URI of the track the albums are similar to.",
+ "example": "spotify:track:4vGg44GdCw3X8i8r01XJH0",
"type": "string"
}
},
"type": "object"
},
- "ulta.Question": {
+ "spotify.UserProfileFollowersResponse": {
"properties": {
- "answer_count": {
- "description": "Number of answers the question received.",
+ "limit": {
+ "description": "Maximum number of followers requested.",
+ "example": 50,
"type": "integer"
},
- "answers": {
- "description": "Answers the question received.",
+ "meta": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/spotify.UserProfileMeta"
+ }
+ ],
+ "description": "Details about this response."
+ },
+ "offset": {
+ "description": "Position of the first follower returned.",
+ "example": 0,
+ "type": "integer"
+ },
+ "profiles": {
+ "description": "Follower profiles returned.",
"items": {
- "$ref": "#/definitions/ulta.Answer"
+ "$ref": "#/definitions/spotify.UserProfileSummary"
},
"type": "array"
},
- "author": {
- "description": "Display name of the customer who asked the question.",
- "type": "string"
+ "total": {
+ "description": "Total number of followers the user has.",
+ "example": 998,
+ "type": "integer"
},
- "created_at": {
- "description": "Time the question was posted, in UTC (RFC 3339).",
+ "uri": {
+ "description": "Spotify URI of the user.",
+ "example": "spotify:user:spotify",
"type": "string"
},
- "id": {
- "description": "Ulta question id.",
+ "username": {
+ "description": "Spotify username of the user.",
+ "example": "spotify",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "spotify.UserProfileMeta": {
+ "properties": {
+ "appVersion": {
+ "description": "Version of the Spotify web player the data was read from.",
+ "example": "1.2.90.403.gf901f20f",
"type": "string"
},
- "location": {
- "description": "Location the asker gave, such as `fl`.",
+ "artistCount": {
+ "description": "Number of recently played artists returned.",
+ "example": 0,
+ "type": "integer"
+ },
+ "fetchedAt": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-05-13T20:41:12Z",
"type": "string"
},
- "text": {
- "description": "Text of the question.",
+ "operationName": {
+ "description": "Name of the Spotify web player operation that returned the data.",
+ "example": "userProfileView",
"type": "string"
+ },
+ "playlistCount": {
+ "description": "Number of playlists returned.",
+ "example": 10,
+ "type": "integer"
+ },
+ "profileCount": {
+ "description": "Number of user profiles returned.",
+ "example": 50,
+ "type": "integer"
}
},
"type": "object"
},
- "ulta.Review": {
+ "spotify.UserProfilePlaylist": {
"properties": {
- "author": {
+ "externalUrl": {
+ "description": "Link to the playlist on open.spotify.com.",
+ "example": "https://open.spotify.com/playlist/37i9dQZF1DXcBWIGoYBM5M",
"type": "string"
},
- "body": {
- "type": "string"
+ "followersCount": {
+ "description": "Number of followers the playlist has.",
+ "example": 34324513,
+ "type": "integer"
},
- "created_at": {
+ "id": {
+ "description": "Spotify ID of the playlist.",
+ "example": "37i9dQZF1DXcBWIGoYBM5M",
"type": "string"
},
- "headline": {
+ "imageUrl": {
+ "description": "URL of the playlist cover image.",
+ "example": "https://i.scdn.co/image/ab67706f0000000273f7bb6e77ec5e23d7840ae5",
"type": "string"
},
- "helpful_votes": {
- "type": "integer"
+ "isFollowing": {
+ "description": "Whether Spotify marks the playlist as followed.",
+ "example": false,
+ "type": "boolean"
},
- "id": {
+ "name": {
+ "description": "Playlist title as Spotify shows it.",
+ "example": "Today’s Top Hits",
"type": "string"
},
- "location": {
+ "ownerName": {
+ "description": "Display name of the playlist owner.",
+ "example": "Spotify",
"type": "string"
},
- "not_helpful_votes": {
- "type": "integer"
+ "ownerUri": {
+ "description": "Spotify URI of the playlist owner.",
+ "example": "spotify:user:spotify",
+ "type": "string"
},
- "rating": {
- "type": "integer"
+ "ownerUrl": {
+ "description": "Link to the playlist owner's profile on open.spotify.com.",
+ "example": "https://open.spotify.com/user/spotify",
+ "type": "string"
},
- "updated_at": {
+ "ownerUsername": {
+ "description": "Spotify username of the playlist owner.",
+ "example": "spotify",
"type": "string"
},
- "verified_purchase": {
- "type": "boolean"
+ "uri": {
+ "description": "Spotify URI of the playlist.",
+ "example": "spotify:playlist:37i9dQZF1DXcBWIGoYBM5M",
+ "type": "string"
}
},
"type": "object"
},
- "ulta.SearchResponse": {
+ "spotify.UserProfilePlaylistsResponse": {
"properties": {
- "count": {
+ "limit": {
+ "description": "Maximum number of playlists requested.",
+ "example": 20,
"type": "integer"
},
- "fetched_at": {
- "type": "string"
- },
- "has_more": {
- "type": "boolean"
- },
- "page": {
- "type": "integer"
+ "meta": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/spotify.UserProfileMeta"
+ }
+ ],
+ "description": "Details about this response."
},
- "page_size": {
+ "offset": {
+ "description": "Position of the first playlist returned.",
+ "example": 0,
"type": "integer"
},
- "products": {
+ "publicPlaylists": {
+ "description": "Public playlists of the user.",
"items": {
- "$ref": "#/definitions/ulta.ProductSummary"
+ "$ref": "#/definitions/spotify.UserProfilePlaylist"
},
"type": "array"
},
- "query": {
- "type": "string"
- },
- "result_count": {
+ "totalPublicPlaylistsCount": {
+ "description": "Total number of public playlists the user has.",
+ "example": 1519,
"type": "integer"
},
- "source_url": {
+ "uri": {
+ "description": "Spotify URI of the user.",
+ "example": "spotify:user:spotify",
+ "type": "string"
+ },
+ "username": {
+ "description": "Spotify username of the user.",
+ "example": "spotify",
"type": "string"
}
},
"type": "object"
},
- "ulta.Store": {
+ "spotify.UserProfileResponse": {
"properties": {
- "address": {
- "type": "string"
+ "allowFollows": {
+ "description": "Whether the profile allows other users to follow it.",
+ "example": true,
+ "type": "boolean"
},
- "city": {
- "type": "string"
+ "color": {
+ "description": "Accent color of the profile, as a number.",
+ "example": 16085920,
+ "type": "integer"
},
- "country": {
+ "externalUrl": {
+ "description": "Link to the user's profile on open.spotify.com.",
+ "example": "https://open.spotify.com/user/spotify",
"type": "string"
},
- "hours": {
- "additionalProperties": {
- "type": "string"
- },
- "description": "Hours maps a three-letter day abbreviation (\"Mon\"..\"Sun\") to that\nday's opening range(s), e.g. \"09:00-21:00\" -- joined with \", \" for\nthe rare split-hours day (the upstream's own hoursOfOperation\nshape supports more than one range per day).",
- "type": "object"
+ "followersCount": {
+ "description": "Number of followers the user has.",
+ "example": 12162371,
+ "type": "integer"
},
- "id": {
+ "followingCount": {
+ "description": "Number of accounts the user follows.",
+ "example": 327,
"type": "integer"
},
- "is_permanently_closed": {
+ "hasSpotifyImage": {
+ "description": "Whether the profile has an image set on Spotify.",
+ "example": true,
"type": "boolean"
},
- "latitude": {
- "type": "number"
- },
- "longitude": {
- "type": "number"
+ "hasSpotifyName": {
+ "description": "Whether the profile has a display name set on Spotify.",
+ "example": true,
+ "type": "boolean"
},
- "name": {
+ "imageUrl": {
+ "description": "URL of the user's profile image.",
+ "example": "https://i.scdn.co/image/ab6775700000ee8555c25988a6ac314394d3fbf5",
"type": "string"
},
- "phone": {
- "type": "string"
+ "isCurrentUser": {
+ "description": "Whether Spotify marks the profile as the current user's own.",
+ "example": false,
+ "type": "boolean"
},
- "postal_code": {
+ "isVerified": {
+ "description": "Whether Spotify shows the profile as verified.",
+ "example": true,
+ "type": "boolean"
+ },
+ "meta": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/spotify.UserProfileMeta"
+ }
+ ],
+ "description": "Details about this response."
+ },
+ "name": {
+ "description": "Display name of the user.",
+ "example": "Spotify",
"type": "string"
},
- "services": {
+ "publicPlaylists": {
+ "description": "Public playlists of the user.",
"items": {
- "type": "string"
+ "$ref": "#/definitions/spotify.UserProfilePlaylist"
},
"type": "array"
},
- "slug": {
- "type": "string"
+ "recentlyPlayedArtists": {
+ "description": "Artists the user played recently.",
+ "items": {
+ "$ref": "#/definitions/spotify.UserProfileSummary"
+ },
+ "type": "array"
},
- "state": {
+ "showFollows": {
+ "description": "Whether Spotify shows the profile's follows publicly.",
+ "example": true,
+ "type": "boolean"
+ },
+ "topArtists": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/spotify.UserProfileTopArtists"
+ }
+ ],
+ "description": "Top artists section of the profile."
+ },
+ "totalPublicPlaylistsCount": {
+ "description": "Total number of public playlists the user has.",
+ "example": 1519,
+ "type": "integer"
+ },
+ "uri": {
+ "description": "Spotify URI of the user.",
+ "example": "spotify:user:spotify",
"type": "string"
},
- "url": {
+ "username": {
+ "description": "Spotify username of the user.",
+ "example": "spotify",
"type": "string"
}
},
"type": "object"
},
- "ulta.StoreResponse": {
+ "spotify.UserProfileSummary": {
"properties": {
- "count": {
+ "color": {
+ "description": "Accent color of the profile, as a number.",
+ "example": 16085920,
"type": "integer"
},
- "fetched_at": {
+ "externalUrl": {
+ "description": "Link to the user's profile on open.spotify.com.",
+ "example": "https://open.spotify.com/user/example",
"type": "string"
},
- "lat": {
- "type": "number"
+ "followersCount": {
+ "description": "Number of followers the user has.",
+ "example": 1000,
+ "type": "integer"
},
- "lng": {
- "type": "number"
+ "imageUrl": {
+ "description": "URL of the user's profile image.",
+ "example": "https://i.scdn.co/image/ab6775700000ee8555c25988a6ac314394d3fbf5",
+ "type": "string"
},
- "radius_meters": {
- "type": "integer"
+ "isFollowing": {
+ "description": "Whether Spotify marks the user as followed.",
+ "example": false,
+ "type": "boolean"
},
- "search": {
+ "name": {
+ "description": "Display name of the user.",
+ "example": "Example",
"type": "string"
},
- "source_url": {
+ "uri": {
+ "description": "Spotify URI of the user.",
+ "example": "spotify:user:example",
"type": "string"
},
- "stores": {
- "items": {
- "$ref": "#/definitions/ulta.Store"
- },
- "type": "array"
+ "username": {
+ "description": "Spotify username of the user.",
+ "example": "example",
+ "type": "string"
}
},
"type": "object"
},
- "ulta.SuggestProduct": {
+ "spotify.UserProfileTopArtists": {
"properties": {
- "brand_name": {
+ "imageUrl": {
+ "description": "URL of the image shown for the section.",
+ "example": "https://i.scdn.co/image/ab6775700000ee8555c25988a6ac314394d3fbf5",
"type": "string"
},
- "image_url": {
+ "subtitle": {
+ "description": "Secondary line shown under the section heading.",
+ "example": "Only visible to the user",
"type": "string"
},
- "product_name": {
+ "title": {
+ "description": "Heading of the top artists section, as Spotify shows it.",
+ "example": "Top artists this month",
"type": "string"
},
- "url": {
+ "topArtistsPageUri": {
+ "description": "Spotify URI of the page that lists the user's top artists.",
+ "example": "spotify:user:spotify:top:artists",
"type": "string"
}
},
"type": "object"
},
- "ulta.SuggestResponse": {
+ "spotify.albumResponseDoc": {
"properties": {
- "count": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
- "fetched_at": {
- "type": "string"
- },
- "first_top_result": {
- "items": {
- "$ref": "#/definitions/ulta.SuggestProduct"
- },
- "type": "array"
- },
- "query": {
- "type": "string"
- },
- "source_url": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/spotify.AlbumResponse"
},
- "suggestions": {
- "items": {
- "$ref": "#/definitions/ulta.Suggestion"
- },
- "type": "array"
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "ulta.Suggestion": {
+ "spotify.artistAlbumsResponseDoc": {
"properties": {
- "label": {
- "type": "string"
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
},
- "top_results": {
- "items": {
- "$ref": "#/definitions/ulta.SuggestProduct"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/spotify.ArtistAlbumsResponse"
},
- "url": {
- "type": "string"
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "ulta.categoriesResponseDoc": {
+ "spotify.artistCollectionResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/ulta.CategoriesResponse"
+ "$ref": "#/definitions/spotify.ArtistCollectionResponse"
},
"msg": {
- "example": "OK",
- "type": "string"
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "ulta.categoryResponseDoc": {
+ "spotify.artistResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/ulta.CategoryResponse"
+ "$ref": "#/definitions/spotify.ArtistResponse"
},
"msg": {
- "example": "OK",
- "type": "string"
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "ulta.productDetailResponseDoc": {
+ "spotify.audiobookChaptersResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/ulta.ProductDetailResponse"
+ "$ref": "#/definitions/spotify.AudiobookChaptersResponse"
},
"msg": {
- "example": "OK",
- "type": "string"
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "ulta.productQuestionsResponseDoc": {
+ "spotify.audiobookResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/ulta.ProductQuestionsResponse"
+ "$ref": "#/definitions/spotify.AudiobookResponse"
},
"msg": {
- "example": "OK",
- "type": "string"
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "ulta.productReviewsResponseDoc": {
+ "spotify.browsePageResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/ulta.ProductReviewsResponse"
+ "$ref": "#/definitions/spotify.BrowsePageResponse"
},
"msg": {
- "example": "OK",
- "type": "string"
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "ulta.searchResponseDoc": {
+ "spotify.browseSectionResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/ulta.SearchResponse"
+ "$ref": "#/definitions/spotify.BrowseSectionResponse"
},
"msg": {
- "example": "OK",
- "type": "string"
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "ulta.storesResponseDoc": {
+ "spotify.chartsResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/ulta.StoreResponse"
+ "$ref": "#/definitions/spotify.ChartResponse"
},
"msg": {
- "example": "OK",
- "type": "string"
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "ulta.suggestResponseDoc": {
+ "spotify.countryHubContentResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/ulta.SuggestResponse"
+ "$ref": "#/definitions/spotify.CountryHubContentResponse"
},
"msg": {
- "example": "OK",
- "type": "string"
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "upwork.FreelancerFeedback": {
+ "spotify.countryHubResponseDoc": {
"properties": {
- "client_name": {
- "type": "string"
- },
- "comment": {
- "type": "string"
- },
- "date": {
- "type": "string"
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
},
- "rating": {
- "type": "number"
+ "data": {
+ "$ref": "#/definitions/spotify.CountryHubResponse"
},
- "title": {
- "type": "string"
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "upwork.FreelancerResponse": {
+ "spotify.episodeResponseDoc": {
"properties": {
- "feedback": {
- "items": {
- "$ref": "#/definitions/upwork.FreelancerFeedback"
- },
- "type": "array"
- },
- "hourly_rate": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "job_success_score": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
- "local_time": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/spotify.PodcastEpisodeResponse"
},
- "location": {
- "type": "string"
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "spotify.homeResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
},
- "name": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/spotify.HomeResponse"
},
- "overview": {
- "type": "string"
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "spotify.playlistResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
},
- "rating": {
- "type": "number"
+ "data": {
+ "$ref": "#/definitions/spotify.PlaylistResponse"
},
- "review_count": {
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "spotify.searchCatalogResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
- "title": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/spotify.SearchResponse"
},
- "total_hours": {
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "spotify.searchResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
- "total_jobs": {
+ "data": {
+ "$ref": "#/definitions/spotify.SearchPodcastsResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "spotify.showEpisodesResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
- "url": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/spotify.PodcastEpisodesResponse"
},
- "verified": {
- "type": "boolean"
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "upwork.JobClient": {
+ "spotify.showRecommendationsResponseDoc": {
"properties": {
- "company_size": {
- "description": "Size of the client's company, as Upwork shows it, such as `Small company (2-9 people)`.",
- "type": "string"
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
},
- "country": {
- "description": "Client's country, as Upwork shows it: either a short code such as `UKR` or the full country name.",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/spotify.ShowRecommendationsResponse"
},
- "hires": {
- "description": "Client's hiring history, as text such as `32 hires, 1 active`.",
- "type": "string"
- },
- "industry": {
- "description": "Industry of the client's company, as Upwork shows it.",
- "type": "string"
- },
- "location": {
- "description": "City of the client, as Upwork shows it.",
- "type": "string"
- },
- "member_since": {
- "description": "Date the client joined Upwork, as text such as `Aug 30, 2023`.",
- "type": "string"
- },
- "total_hours": {
- "description": "Total hours shown for the client, as text such as `207 hours`.",
- "type": "string"
- },
- "total_spent": {
- "description": "Total amount the client has spent on Upwork, as text such as `$9K total spent`.",
- "type": "string"
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "upwork.JobResponse": {
+ "spotify.showResponseDoc": {
"properties": {
- "applicant_countries": {
- "description": "Countries the client accepts applicants from.",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "budget_type": {
- "description": "Budget type of the job: `hourly` or `fixed`.",
- "type": "string"
- },
- "client": {
- "allOf": [
- {
- "$ref": "#/definitions/upwork.JobClient"
- }
- ],
- "description": "Summary of the client who posted the job."
- },
- "country": {
- "description": "Country of the job's location, as a code such as `US`.",
- "type": "string"
- },
- "currency": {
- "description": "Currency of the job budget, such as `USD`.",
- "type": "string"
- },
- "description": {
- "description": "Full text of the job description.",
- "type": "string"
- },
- "duration": {
- "description": "Expected length of the project, such as `1 to 3 months`.",
- "type": "string"
- },
- "employment_type": {
- "description": "Employment types of the posting, such as `CONTRACTOR` or `TEMPORARY`.",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "experience_level": {
- "description": "Experience level the client asks for, such as `Expert`.",
- "type": "string"
- },
- "fixed_budget": {
- "description": "Fixed price of the job, in `currency`. Set when `budget_type` is `fixed`.",
- "type": "number"
- },
- "hourly_max": {
- "description": "Highest hourly rate offered, in `currency`. Set when `budget_type` is `hourly`.",
- "type": "number"
- },
- "hourly_min": {
- "description": "Lowest hourly rate offered, in `currency`. Set when `budget_type` is `hourly`.",
- "type": "number"
- },
- "id": {
- "description": "Upwork job id, as returned by the search endpoint.",
- "type": "string"
- },
- "location_type": {
- "description": "Where the work is done, such as `TELECOMMUTE` for remote work.",
- "type": "string"
- },
- "posted_at": {
- "description": "Time the job was posted, in ISO 8601.",
- "type": "string"
- },
- "project_type": {
- "description": "Project type, such as `Ongoing project`.",
- "type": "string"
- },
- "proposals": {
- "description": "Number of proposals the job has received, as text such as `50+`.",
- "type": "string"
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
},
- "title": {
- "description": "Title of the job posting.",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/spotify.ShowMetadataResponse"
},
- "url": {
- "description": "Upwork URL of the job posting.",
- "type": "string"
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "upwork.JobSummary": {
+ "spotify.trackRecommendedResponseDoc": {
"properties": {
- "budget_text": {
- "type": "string"
- },
- "budget_type": {
- "description": "\"hourly\" or \"fixed\"",
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "duration": {
- "type": "string"
- },
- "experience_level": {
- "type": "string"
- },
- "id": {
- "description": "ID is Upwork's own opaque job identifier (the digits after \"~\" in the\njob's URL), suitable for Service.Job.",
- "type": "string"
- },
- "posted_at": {
- "type": "string"
- },
- "skills": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
},
- "title": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/spotify.TrackRecommendedResponse"
},
- "url": {
- "type": "string"
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "upwork.SearchResponse": {
+ "spotify.trackResponseDoc": {
"properties": {
- "jobs": {
- "items": {
- "$ref": "#/definitions/upwork.JobSummary"
- },
- "type": "array"
- },
- "page": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
- "query": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/spotify.TrackResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "upwork.freelancerResponseDoc": {
+ "spotify.trackSimilarAlbumsResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/upwork.FreelancerResponse"
+ "$ref": "#/definitions/spotify.TrackSimilarAlbumsResponse"
},
"msg": {
- "example": "OK",
- "type": "string"
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "upwork.jobResponseDoc": {
+ "spotify.userProfileFollowersResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/upwork.JobResponse"
+ "$ref": "#/definitions/spotify.UserProfileFollowersResponse"
},
"msg": {
- "example": "OK",
- "type": "string"
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "upwork.searchResponseDoc": {
+ "spotify.userProfilePlaylistsResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/upwork.SearchResponse"
+ "$ref": "#/definitions/spotify.UserProfilePlaylistsResponse"
},
"msg": {
- "example": "OK",
- "type": "string"
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "usage.usageBillingStateDoc": {
+ "spotify.userProfileResponseDoc": {
"properties": {
- "allow_overage": {
- "example": true,
- "type": "boolean"
- },
- "created_at": {
- "example": "2026-04-01T00:00:00Z",
- "type": "string"
- },
- "credits_remaining": {
- "example": 398750,
- "type": "integer"
- },
- "credits_used": {
- "example": 1250,
- "type": "integer"
- },
- "currency": {
- "example": "usd",
- "type": "string"
- },
- "daily_credit_limit": {
- "example": 25000,
- "type": "integer"
- },
- "daily_credits_remaining": {
- "example": 24100,
- "type": "integer"
- },
- "daily_credits_used": {
- "example": 900,
- "type": "integer"
- },
- "daily_key": {
- "example": "2026-04-22",
- "type": "string"
- },
- "expected_subscription_amount_cents": {
- "example": 7900,
- "type": "integer"
- },
- "expected_total_amount_cents": {
- "example": 7900,
- "type": "integer"
- },
- "hard_limit": {
- "example": false,
- "type": "boolean"
- },
- "included_credits": {
- "example": 400000,
- "type": "integer"
- },
- "overage_credits": {
- "example": 0,
- "type": "integer"
- },
- "period_end": {
- "example": "2026-05-01T00:00:00Z",
- "type": "string"
- },
- "period_key": {
- "example": "2026-04",
- "type": "string"
- },
- "period_start": {
- "example": "2026-04-01T00:00:00Z",
- "type": "string"
- },
- "plan": {
- "example": "Pro",
- "type": "string"
- },
- "pricing_source": {
- "example": "plan_default",
- "type": "string"
- },
- "subscription_price_cents": {
- "example": 7900,
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
- "updated_at": {
- "example": "2026-04-22T12:00:00Z",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/spotify.UserProfileResponse"
},
- "user_id": {
- "example": "user-1",
- "type": "string"
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "usage.usageEndpointItemDoc": {
+ "standard.AuthorArticle": {
"properties": {
- "charged_requests": {
- "example": 220,
- "type": "integer"
- },
- "credits": {
- "example": 660,
- "type": "integer"
- },
- "endpoint": {
- "example": "google/search",
+ "section": {
"type": "string"
},
- "failed_requests": {
- "example": 8,
- "type": "integer"
- },
- "non_billable_requests": {
- "example": 12,
- "type": "integer"
+ "section_url": {
+ "type": "string"
},
- "overage": {
- "example": 0,
- "type": "integer"
+ "title": {
+ "type": "string"
},
- "requests": {
- "example": 240,
- "type": "integer"
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "usage.usageEndpointsDoc": {
+ "standard.AuthorResponse": {
"properties": {
- "from": {
- "example": "2026-04-01T00:00:00Z",
- "type": "string"
- },
- "items": {
+ "articles": {
"items": {
- "$ref": "#/definitions/usage.usageEndpointItemDoc"
+ "$ref": "#/definitions/standard.AuthorArticle"
},
"type": "array"
},
- "range": {
- "example": "period",
+ "bio": {
"type": "string"
},
- "to": {
- "example": "2026-05-01T00:00:00Z",
+ "job_title": {
"type": "string"
- }
- },
- "type": "object"
- },
- "usage.usageEndpointsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/usage.usageEndpointsDoc"
},
- "msg": {
- "example": "OK",
+ "name": {
"type": "string"
- }
- },
- "type": "object"
- },
- "usage.usageOverviewDoc": {
- "properties": {
- "billing": {
- "$ref": "#/definitions/usage.usageBillingStateDoc"
},
- "from": {
- "example": "2026-04-01T00:00:00Z",
+ "slug": {
"type": "string"
},
- "range": {
- "example": "period",
+ "twitter": {
"type": "string"
},
- "requests": {
- "$ref": "#/definitions/usage.usageRequestSummaryDoc"
- },
- "to": {
- "example": "2026-05-01T00:00:00Z",
+ "url": {
"type": "string"
- },
- "usage": {
- "$ref": "#/definitions/usage.usageWindowSummaryDoc"
}
},
"type": "object"
},
- "usage.usageOverviewResponseDoc": {
+ "starbucks.Amenity": {
"properties": {
"code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/usage.usageOverviewDoc"
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "name": {
"type": "string"
}
},
"type": "object"
},
- "usage.usagePlatformAdjacencyDoc": {
+ "starbucks.MenuCategory": {
"properties": {
- "generated_at": {
- "example": "2026-09-06T02:00:00Z",
- "type": "string"
- },
- "platforms": {
+ "children": {
"items": {
- "$ref": "#/definitions/usage.usagePlatformAdjacencyItemDoc"
+ "$ref": "#/definitions/starbucks.MenuCategory"
},
"type": "array"
},
- "users": {
- "example": 97,
+ "display_order": {
"type": "integer"
},
- "window": {
- "example": "lifetime",
+ "hero_image_url": {
"type": "string"
- }
- },
- "type": "object"
- },
- "usage.usagePlatformAdjacencyItemDoc": {
- "properties": {
- "co_used": {
- "items": {
- "$ref": "#/definitions/usage.usagePlatformCoUseDoc"
- },
- "type": "array"
},
- "platform": {
- "example": "tiktok",
+ "image_url": {
"type": "string"
},
- "requests": {
- "example": 2410,
- "type": "integer"
+ "name": {
+ "type": "string"
},
- "top_endpoints": {
+ "products": {
"items": {
- "$ref": "#/definitions/usage.usagePlatformEndpointTotalDoc"
+ "$ref": "#/definitions/starbucks.MenuProduct"
},
"type": "array"
- },
- "users": {
- "example": 9,
- "type": "integer"
}
},
"type": "object"
},
- "usage.usagePlatformAdjacencyResponseDoc": {
+ "starbucks.MenuProduct": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/usage.usagePlatformAdjacencyDoc"
+ "availability": {
+ "description": "Availability is \"Available\" on the unscoped menu; a store-scoped\nmenu also returns \"NotAvailableHere\" for items that store lacks.",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "default_size": {
"type": "string"
- }
- },
- "type": "object"
- },
- "usage.usagePlatformCoUseDoc": {
- "properties": {
- "platform": {
- "example": "instagram",
+ },
+ "default_size_sku": {
"type": "string"
},
- "users": {
- "example": 4,
+ "display_order": {
"type": "integer"
- }
- },
- "type": "object"
- },
- "usage.usagePlatformEndpointTotalDoc": {
- "properties": {
- "endpoint": {
- "example": "tiktok/search",
+ },
+ "form": {
+ "description": "Form is the normalized, lowercase form slug (\"iced\", \"hot\",\n\"single\", \"packaged\", \"whole-bean\", \"via\") taken from the product's\nown menu URI. It is the second path segment Product requires.",
"type": "string"
},
- "requests": {
- "example": 1830,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "usage.usageRecentIPItemDoc": {
- "properties": {
- "error_count": {
- "example": 6,
- "type": "integer"
+ "image_url": {
+ "type": "string"
},
- "ip": {
- "example": "203.0.113.10",
+ "menu_uri": {
"type": "string"
},
- "last_seen_at": {
- "example": "2026-04-22T12:00:00Z",
+ "name": {
"type": "string"
},
- "last_user_agent": {
- "example": "Mozilla/5.0",
+ "product_detail_url": {
"type": "string"
},
- "request_count": {
- "example": 90,
- "type": "integer"
+ "product_number": {
+ "type": "string"
},
- "success_count": {
- "example": 84,
- "type": "integer"
+ "product_type": {
+ "description": "ProductType is Starbucks' own coarse classification: \"Beverage\",\n\"Food\", or \"Coffee\".",
+ "type": "string"
+ },
+ "sizes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "usage.usageRecentIPsDoc": {
+ "starbucks.MenuResponse": {
"properties": {
- "from": {
- "example": "2026-04-01T00:00:00Z",
- "type": "string"
- },
- "items": {
+ "categories": {
"items": {
- "$ref": "#/definitions/usage.usageRecentIPItemDoc"
+ "$ref": "#/definitions/starbucks.MenuCategory"
},
"type": "array"
},
- "range": {
- "example": "period",
+ "category_count": {
+ "description": "CategoryCount counts top-level categories; ProductCount counts\ndistinct products anywhere in the tree.",
+ "type": "integer"
+ },
+ "fetched_at": {
"type": "string"
},
- "to": {
- "example": "2026-05-01T00:00:00Z",
+ "market": {
"type": "string"
- }
- },
- "type": "object"
- },
- "usage.usageRecentIPsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ },
+ "product_count": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/usage.usageRecentIPsDoc"
+ "source_url": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "store_number": {
"type": "string"
}
},
"type": "object"
},
- "usage.usageRequestSummaryDoc": {
+ "starbucks.NearestStoreResponse": {
"properties": {
- "avg_latency_ms": {
- "example": 824.5,
+ "distance_miles": {
"type": "number"
},
- "distinct_ip_count": {
- "example": 3,
- "type": "integer"
+ "fetched_at": {
+ "type": "string"
},
- "error_requests": {
- "example": 30,
- "type": "integer"
+ "found": {
+ "description": "Found is false when Starbucks reports no nearest store for the\npoint at all.",
+ "type": "boolean"
},
- "last_request_at": {
- "example": "2026-04-22T12:00:00Z",
+ "lat": {
+ "type": "number"
+ },
+ "lng": {
+ "type": "number"
+ },
+ "market": {
"type": "string"
},
- "requests": {
- "example": 420,
- "type": "integer"
+ "nearest_latitude": {
+ "type": "number"
},
- "success_requests": {
- "example": 390,
- "type": "integer"
+ "nearest_longitude": {
+ "type": "number"
+ },
+ "source_url": {
+ "type": "string"
}
},
"type": "object"
},
- "usage.usageTimeseriesDoc": {
+ "starbucks.Nutrition": {
"properties": {
- "bucket": {
- "example": "day",
+ "calories": {
"type": "string"
},
- "from": {
- "example": "2026-04-01T00:00:00Z",
+ "calories_from_fat": {
"type": "string"
},
- "items": {
+ "facts": {
"items": {
- "$ref": "#/definitions/usage.usageTimeseriesItemDoc"
+ "$ref": "#/definitions/starbucks.NutritionFact"
},
"type": "array"
},
- "range": {
- "example": "period",
- "type": "string"
- },
- "to": {
- "example": "2026-05-01T00:00:00Z",
+ "serving_size": {
"type": "string"
}
},
"type": "object"
},
- "usage.usageTimeseriesItemDoc": {
+ "starbucks.NutritionFact": {
"properties": {
- "bucket_end": {
- "example": "2026-04-22T11:00:00Z",
+ "daily_percent_value": {
"type": "string"
},
- "bucket_start": {
- "example": "2026-04-22T10:00:00Z",
+ "name": {
"type": "string"
},
- "charged_requests": {
- "example": 28,
- "type": "integer"
- },
- "credits": {
- "example": 84,
- "type": "integer"
- },
- "failed_requests": {
- "example": 2,
- "type": "integer"
- },
- "non_billable_requests": {
- "example": 2,
- "type": "integer"
+ "subfacts": {
+ "items": {
+ "$ref": "#/definitions/starbucks.NutritionFact"
+ },
+ "type": "array"
},
- "overage": {
- "example": 0,
- "type": "integer"
+ "unit_of_measure": {
+ "type": "string"
},
- "requests": {
- "example": 32,
- "type": "integer"
+ "value": {
+ "type": "string"
}
},
"type": "object"
},
- "usage.usageTimeseriesResponseDoc": {
+ "starbucks.NutritionModifier": {
"properties": {
- "code": {
- "example": 200,
+ "quantity": {
+ "description": "Quantity is how many of this modifier. Defaults to 1. For countable\nmodifiers (formCode \"qty\" -- espresso shots, syrup pumps) this is the\ndial that actually moves the numbers.",
+ "example": 3,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/usage.usageTimeseriesDoc"
+ "replaced_sku": {
+ "description": "ReplacedSKU is the default modifier this one substitutes, when the\ncaller is swapping a pick-one slot such as the milk. Leave empty for\na modifier that is not replacing anything.",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "sku": {
+ "description": "SKU is the modifier's sku, from a product size's default_recipe[].sku\nor from an option in the product's options tree (e.g. a different\nmilk).",
+ "example": "55",
"type": "string"
}
},
"type": "object"
},
- "usage.usageWindowSummaryDoc": {
+ "starbucks.NutritionOption": {
"properties": {
- "charged_requests": {
- "example": 380,
- "type": "integer"
- },
- "credits": {
- "example": 1140,
- "type": "integer"
+ "form": {
+ "example": "hot",
+ "type": "string"
},
- "failed_requests": {
- "example": 15,
- "type": "integer"
+ "market": {
+ "description": "Market selects which country site answers. Defaults to us.",
+ "example": "us",
+ "type": "string"
},
- "non_billable_requests": {
- "example": 25,
- "type": "integer"
+ "modifiers": {
+ "description": "Modifiers is the COMPLETE build, not a delta from the default. Start\nfrom the size's default_recipe (returned by /starbucks/product),\nchange what you want, and send the whole list back. An empty list is\nrejected by Starbucks with \"Modifiers list required\".",
+ "items": {
+ "$ref": "#/definitions/starbucks.NutritionModifier"
+ },
+ "type": "array"
},
- "overage": {
- "example": 0,
- "type": "integer"
+ "product_number": {
+ "description": "ProductNumber and Form identify the product. Only the four\ncombinations in dynamicNutritionProducts are supported upstream.",
+ "example": "406",
+ "type": "string"
},
- "requests": {
- "example": 420,
- "type": "integer"
+ "size_sku": {
+ "description": "SizeSKU is the sku of the size being built, from a /starbucks/product\nresult's sizes[].sku.",
+ "example": "93",
+ "type": "string"
}
},
"type": "object"
},
- "usatoday.ArticleResponse": {
+ "starbucks.NutritionResponse": {
"properties": {
- "authors": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "description": {
+ "fetched_at": {
"type": "string"
},
- "image_url": {
+ "form": {
"type": "string"
},
- "is_accessible_for_free": {
- "type": "boolean"
+ "market": {
+ "type": "string"
},
- "paragraphs": {
+ "modifiers": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/starbucks.NutritionModifier"
},
"type": "array"
},
- "published_at": {
- "type": "string"
- },
- "section": {
+ "product_number": {
"type": "string"
},
- "title": {
+ "size_sku": {
"type": "string"
},
- "updated_at": {
+ "source_url": {
"type": "string"
},
- "url": {
- "type": "string"
+ "values": {
+ "items": {
+ "$ref": "#/definitions/starbucks.NutritionValue"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "usatoday.AuthorArticle": {
+ "starbucks.NutritionValue": {
"properties": {
- "description": {
- "type": "string"
- },
- "image_url": {
+ "key": {
"type": "string"
},
- "published_label": {
+ "name": {
"type": "string"
},
- "title": {
+ "unit_of_measure": {
"type": "string"
},
- "url": {
+ "value": {
"type": "string"
}
},
"type": "object"
},
- "usatoday.AuthorResponse": {
+ "starbucks.PickUpOption": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/usatoday.AuthorArticle"
- },
- "type": "array"
+ "available": {
+ "type": "boolean"
},
- "bio": {
+ "code": {
"type": "string"
},
"name": {
"type": "string"
- },
- "profile_id": {
- "type": "string"
- },
- "social_accounts": {
- "items": {
- "$ref": "#/definitions/usatoday.AuthorSocialAccount"
- },
- "type": "array"
- },
- "url": {
- "type": "string"
}
},
"type": "object"
},
- "usatoday.AuthorSocialAccount": {
+ "starbucks.ProductOptionGroup": {
"properties": {
- "platform": {
+ "name": {
"type": "string"
},
- "url": {
+ "type": {
"type": "string"
}
},
"type": "object"
},
- "usatoday.HeadlineItem": {
+ "starbucks.ProductResponse": {
"properties": {
- "image_url": {
+ "description": {
"type": "string"
},
- "published_at": {
+ "fetched_at": {
"type": "string"
},
- "title": {
+ "form": {
"type": "string"
},
- "updated_at": {
+ "image_url": {
"type": "string"
},
- "url": {
+ "in_catalog": {
+ "type": "boolean"
+ },
+ "market": {
"type": "string"
- }
- },
- "type": "object"
- },
- "usatoday.HeadlinesResponse": {
- "properties": {
- "items": {
+ },
+ "name": {
+ "type": "string"
+ },
+ "options": {
+ "description": "Options are the customization choices Starbucks offers for this\nproduct, e.g. milk, syrups, espresso shots.",
"items": {
- "$ref": "#/definitions/usatoday.HeadlineItem"
+ "$ref": "#/definitions/starbucks.ProductOptionGroup"
},
"type": "array"
},
- "section": {
+ "product_number": {
"type": "string"
- }
- },
- "type": "object"
- },
- "usatoday.NewsResponse": {
- "properties": {
- "items": {
+ },
+ "product_type": {
+ "type": "string"
+ },
+ "sizes": {
"items": {
- "$ref": "#/definitions/usatoday.HeadlineItem"
+ "$ref": "#/definitions/starbucks.ProductSize"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "usatoday.Section": {
- "properties": {
- "name": {
- "type": "string"
},
- "slug": {
+ "source_url": {
"type": "string"
},
- "url": {
+ "star_cost": {
+ "type": "integer"
+ },
+ "store_number": {
"type": "string"
}
},
"type": "object"
},
- "usatoday.SectionsResponse": {
+ "starbucks.ProductSize": {
"properties": {
- "sections": {
+ "default_recipe": {
+ "description": "DefaultRecipe is the size's standard build -- the modifiers a plain\norder of this size already includes. It is exposed because it is the\nrequired input to the nutrition-calculate endpoint: that endpoint\nwants the FULL modifier set, not a delta, so a caller starts from\nthis list, changes what they want, and posts the whole thing back.",
"items": {
- "$ref": "#/definitions/usatoday.Section"
+ "$ref": "#/definitions/starbucks.RecipeModifier"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "usatoday.articleResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/usatoday.ArticleResponse"
},
- "msg": {
- "example": "OK",
+ "display_name": {
"type": "string"
- }
- },
- "type": "object"
- },
- "usatoday.authorResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/usatoday.AuthorResponse"
+ "nutrition": {
+ "$ref": "#/definitions/starbucks.Nutrition"
},
- "msg": {
- "example": "OK",
+ "size_code": {
"type": "string"
- }
- },
- "type": "object"
- },
- "usatoday.headlinesResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/usatoday.HeadlinesResponse"
},
- "msg": {
- "example": "OK",
+ "sku": {
"type": "string"
}
},
"type": "object"
},
- "usatoday.newsResponseDoc": {
+ "starbucks.RecipeModifier": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "form_code": {
+ "description": "FormCode describes how the modifier behaves: \"one\" is a\npick-exactly-one slot (the milk), \"qty\" is a countable (espresso\nshots, syrup pumps), \"modifier\"/\"yes-no\" are toggles.",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/usatoday.NewsResponse"
+ "name": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "option_product_number": {
+ "description": "OptionProductNumber identifies the option in the product's own\noptions tree.",
+ "type": "string"
+ },
+ "sku": {
+ "description": "SKU is the value to send as a nutrition-calculate modifier sku.",
"type": "string"
}
},
"type": "object"
},
- "usatoday.sectionsResponseDoc": {
+ "starbucks.Store": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "address": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/usatoday.SectionsResponse"
+ "amenities": {
+ "description": "Amenities are the store's features, each with Starbucks' own code\nand its human-readable name.",
+ "items": {
+ "$ref": "#/definitions/starbucks.Amenity"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "city": {
"type": "string"
- }
- },
- "type": "object"
- },
- "user.userAPIKeyItemDoc": {
- "properties": {
- "created_at": {
- "example": "2026-04-22T12:00:00Z",
+ },
+ "country": {
"type": "string"
},
- "expires_at": {
- "example": "2026-04-23T12:00:00Z",
+ "distance_miles": {
+ "type": "number"
+ },
+ "guest_ordering": {
+ "type": "boolean"
+ },
+ "hours_status": {
"type": "string"
},
"id": {
- "example": "2f8c3c7c4d8f4a4bb4bcb2d2f9e7f8f1",
"type": "string"
},
- "key_prefix": {
- "example": "abcd1234",
+ "is_open_24_hours": {
+ "type": "boolean"
+ },
+ "latitude": {
+ "type": "number"
+ },
+ "longitude": {
+ "type": "number"
+ },
+ "mobile_ordering_availability": {
+ "description": "MobileOrderingAvailability is the upstream's own enum-ish state for\nMobile Order & Pay at this store, e.g. \"READY\" / \"NOT_READY\". It is\na live readiness state, not a static capability -- a store that\nsupports mobile ordering still reports NOT_READY while closed. Use\nthe \"XO\" amenity code for the static capability.",
"type": "string"
},
- "key_suffix": {
- "example": "ef90",
+ "name": {
"type": "string"
},
- "last_used_at": {
- "example": "2026-04-22T11:58:00Z",
+ "open": {
+ "type": "boolean"
+ },
+ "open_status": {
"type": "string"
},
- "last_used_ip": {
- "example": "203.0.113.10",
+ "ownership_type_code": {
+ "description": "OwnershipTypeCode distinguishes company-operated (\"CO\") from\nlicensed stores, which is why an airport or grocery-store kiosk\nbehaves differently from a standalone café.",
"type": "string"
},
- "masked_key": {
- "example": "abcd1234...ef90",
+ "phone": {
"type": "string"
},
- "rotated_at": {
- "example": "2026-04-22T12:00:00Z",
+ "pick_up_options": {
+ "description": "PickUpOptions are the fulfillment modes the store supports, each\nwith its own live availability flag.",
+ "items": {
+ "$ref": "#/definitions/starbucks.PickUpOption"
+ },
+ "type": "array"
+ },
+ "postal_code": {
"type": "string"
},
- "source": {
- "example": "manual_rotate",
+ "schedule": {
+ "description": "Schedule is the store's weekly opening hours, Sunday-first as the\nupstream returns them.",
+ "items": {
+ "$ref": "#/definitions/starbucks.StoreDay"
+ },
+ "type": "array"
+ },
+ "state": {
"type": "string"
},
- "status": {
- "example": "active",
+ "store_number": {
+ "description": "StoreNumber is Starbucks' own public store identifier, e.g.\n\"101-54\". ID is the locator's separate internal numeric id.",
"type": "string"
},
- "updated_at": {
- "example": "2026-04-22T12:00:00Z",
+ "time_zone": {
"type": "string"
}
},
"type": "object"
},
- "user.userAPIKeysDoc": {
+ "starbucks.StoreDay": {
"properties": {
- "items": {
- "items": {
- "$ref": "#/definitions/user.userAPIKeyItemDoc"
- },
- "type": "array"
+ "day_of_week": {
+ "type": "string"
+ },
+ "holiday": {
+ "type": "string"
+ },
+ "hours": {
+ "type": "string"
+ },
+ "open": {
+ "type": "boolean"
}
},
"type": "object"
},
- "user.userAPIKeysResponseDoc": {
+ "starbucks.StoreResponse": {
"properties": {
- "code": {
- "example": 200,
+ "count": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/user.userAPIKeysDoc"
+ "fetched_at": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "lat": {
+ "type": "number"
+ },
+ "lng": {
+ "type": "number"
+ },
+ "market": {
"type": "string"
- }
- },
- "type": "object"
- },
- "user.userBrowserLanguageDoc": {
- "properties": {
- "updated": {
- "example": true,
+ },
+ "place": {
+ "type": "string"
+ },
+ "place_not_found": {
+ "description": "PlaceNotFound is true when Starbucks could not geocode Place at all.\nThe upstream signals this with a distinct object shape rather than an\nempty list, so a genuine no-results answer stays distinguishable from\nparser drift.",
"type": "boolean"
- }
- },
- "type": "object"
- },
- "user.userBrowserLanguageReq": {
- "properties": {
- "accept_language": {
- "description": "AcceptLanguage is the raw Accept-Language header captured from a live console\nvisit (already ASCII-filtered and length-capped by the frontend, same as the\nOAuth signup path — see the SignupAcceptLanguage comment on models.User).",
+ },
+ "result_capped": {
+ "description": "ResultCapped is true when the upstream returned its hard 50-result\nceiling, meaning more stores may exist near this point that the\nupstream will not return under any pagination parameter.",
+ "type": "boolean"
+ },
+ "source_url": {
"type": "string"
+ },
+ "stores": {
+ "items": {
+ "$ref": "#/definitions/starbucks.Store"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "user.userBrowserLanguageResponseDoc": {
+ "starbucks.menuResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/user.userBrowserLanguageDoc"
+ "$ref": "#/definitions/starbucks.MenuResponse"
},
"msg": {
"example": "OK",
@@ -247721,35 +252405,30 @@
},
"type": "object"
},
- "user.userMeDoc": {
+ "starbucks.nearestStoreResponseDoc": {
"properties": {
- "email": {
- "example": "operator@example.com",
- "type": "string"
- },
- "id": {
- "example": "user-1",
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "plan": {
- "example": "Pro",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/starbucks.NearestStoreResponse"
},
- "username": {
- "example": "operator",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "user.userMeResponseDoc": {
+ "starbucks.nutritionResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/user.userMeDoc"
+ "$ref": "#/definitions/starbucks.NutritionResponse"
},
"msg": {
"example": "OK",
@@ -247758,26 +252437,14 @@
},
"type": "object"
},
- "user.userRevealAPIKeyDoc": {
- "properties": {
- "api_key": {
- "example": "7d0f3f6a5f6c4b91a6e3f5d91ef7dc7e5c7b0c8b4f2b4e57a7d8f1e2c3b4a5d6",
- "type": "string"
- },
- "key": {
- "$ref": "#/definitions/user.userAPIKeyItemDoc"
- }
- },
- "type": "object"
- },
- "user.userRevealAPIKeyResponseDoc": {
+ "starbucks.productResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/user.userRevealAPIKeyDoc"
+ "$ref": "#/definitions/starbucks.ProductResponse"
},
"msg": {
"example": "OK",
@@ -247786,33 +252453,30 @@
},
"type": "object"
},
- "user.userRotateAPIKeyDoc": {
+ "starbucks.storesResponseDoc": {
"properties": {
- "active_key": {
- "$ref": "#/definitions/user.userAPIKeyItemDoc"
- },
- "grace_period_seconds": {
- "example": 86400,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "new_api_key": {
- "example": "7d0f3f6a5f6c4b91a6e3f5d91ef7dc7e5c7b0c8b4f2b4e57a7d8f1e2c3b4a5d6",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/starbucks.StoreResponse"
},
- "previous_key": {
- "$ref": "#/definitions/user.userAPIKeyItemDoc"
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "user.userRotateAPIKeyResponseDoc": {
+ "startpage.suggestResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/user.userRotateAPIKeyDoc"
+ "$ref": "#/definitions/suggest.Response"
},
"msg": {
"example": "OK",
@@ -247821,1033 +252485,1413 @@
},
"type": "object"
},
- "usmagazine.AuthorLink": {
- "properties": {
- "type": {
- "type": "string"
- },
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "usmagazine.AuthorResponse": {
+ "steam.AchievementsResponse": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/usmagazine.HeadlineItem"
- },
- "type": "array"
- },
- "biography": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "links": {
+ "achievements": {
+ "description": "Achievements of the app with their global unlock percentage, most unlocked first.",
"items": {
- "$ref": "#/definitions/usmagazine.AuthorLink"
+ "$ref": "#/definitions/steam.GlobalAchievement"
},
"type": "array"
},
- "name": {
+ "appid": {
+ "description": "Steam app id the achievements belong to.",
"type": "string"
},
- "url": {
+ "count": {
+ "description": "Number of achievements returned.",
+ "type": "integer"
+ },
+ "source_url": {
+ "description": "URL the data was read from.",
"type": "string"
}
},
"type": "object"
},
- "usmagazine.HeadlineItem": {
+ "steam.AppDetails": {
"properties": {
- "author": {
- "type": "string"
- },
- "image_url": {
- "type": "string"
- },
- "published_at": {
- "type": "string"
- },
- "summary": {
- "type": "string"
+ "achievements_total": {
+ "description": "Total number of achievements the app has.",
+ "type": "integer"
},
- "title": {
- "type": "string"
+ "appid": {
+ "description": "Steam app id.",
+ "type": "integer"
},
- "type": {
+ "background": {
+ "description": "URL of the background image on the store page.",
"type": "string"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "usptoppubs.DetailResponse": {
- "properties": {
- "abstract": {
+ "capsule_image": {
+ "description": "URL of the capsule image used on store listings.",
"type": "string"
},
- "applicant_names": {
+ "categories": {
+ "description": "Steam store categories assigned to the app, each with an id and a name.",
"items": {
- "type": "string"
+ "$ref": "#/definitions/steam.IDName"
},
"type": "array"
},
- "application_number": {
- "example": "19/048819",
- "type": "string"
+ "content_descriptor_ids": {
+ "description": "ContentDescriptorIDs are Steam's mature-content flag ids (e.g. 1 nudity, 3\nadult content, 5 strong violence) — the store's own age/adult markers.",
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
},
- "assignee_name": {
+ "controller_support": {
+ "description": "Level of controller support Steam lists for the app.",
"type": "string"
},
- "claims": {
+ "developers": {
+ "description": "Names of the developers of the app.",
"items": {
"type": "string"
},
"type": "array"
},
- "cpc_codes": {
- "type": "string"
- },
- "database": {
- "example": "US-PGPUB",
- "type": "string"
+ "dlc": {
+ "description": "Steam app ids of the downloadable content for the app.",
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
},
- "description": {
+ "genres": {
+ "description": "Genres assigned to the app, each with an id and a name.",
"items": {
- "type": "string"
+ "$ref": "#/definitions/steam.IDName"
},
"type": "array"
},
- "fetched_at": {
+ "header_image": {
+ "description": "URL of the header image on the store page.",
"type": "string"
},
- "filing_date": {
- "example": "2025-02-07",
- "type": "string"
+ "is_free": {
+ "description": "Whether the app is free to play or free to own.",
+ "type": "boolean"
},
- "guid": {
- "example": "US-20260238009-A1",
- "type": "string"
+ "metacritic": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/steam.Metacritic"
+ }
+ ],
+ "description": "Metacritic score and link for the app. Omitted when the store shows none."
},
- "inventors_short": {
- "type": "string"
+ "movies": {
+ "description": "Number of videos on the store page.",
+ "type": "integer"
},
- "ipc_codes": {
+ "name": {
+ "description": "Name of the app on the Steam store.",
"type": "string"
},
- "kind_codes": {
+ "packages": {
+ "description": "Ids of the Steam packages that include the app. Use them with the package endpoint.",
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "platforms": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/steam.Platforms"
+ }
+ ],
+ "description": "Operating systems the app supports."
+ },
+ "price_overview": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/steam.Price"
+ }
+ ],
+ "description": "Current price of the app. Omitted when the store shows no price."
+ },
+ "publishers": {
+ "description": "Names of the publishers of the app.",
"items": {
"type": "string"
},
"type": "array"
},
- "language": {
- "example": "EN",
- "type": "string"
+ "recommendations": {
+ "description": "Total number of user recommendations the app has on Steam.",
+ "type": "integer"
},
- "page_count": {
+ "release_date": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/steam.AppRelease"
+ }
+ ],
+ "description": "Release information of the app."
+ },
+ "required_age": {
+ "description": "Minimum age in years that Steam requires to view the app.",
"type": "integer"
},
- "publication_date": {
- "example": "2026-08-13",
- "type": "string"
+ "screenshots": {
+ "description": "Number of screenshots on the store page.",
+ "type": "integer"
},
- "publication_number": {
- "example": "US20260238009A1",
+ "short_description": {
+ "description": "Short description of the app from the store page, as plain text.",
"type": "string"
},
"source_url": {
+ "description": "URL the data was read from.",
"type": "string"
},
- "title": {
- "example": "HOME GRID FOR IMPROVED EFFICIENCY OF SOLAR ENERGY",
+ "supported_languages": {
+ "description": "Languages the app supports, as listed on the store page.",
+ "type": "string"
+ },
+ "type": {
+ "description": "Kind of store item, such as `game`.",
+ "type": "string"
+ },
+ "website": {
+ "description": "URL of the app's official website.",
"type": "string"
}
},
"type": "object"
},
- "usptoppubs.SearchResponse": {
+ "steam.AppRelease": {
"properties": {
- "fetched_at": {
- "type": "string"
- },
- "num_found": {
- "example": 500,
- "type": "integer"
- },
- "page": {
- "example": 0,
- "type": "integer"
- },
- "per_page": {
- "example": 20,
- "type": "integer"
+ "coming_soon": {
+ "description": "Whether the app has not been released yet.",
+ "type": "boolean"
},
- "query": {
- "example": "battery",
+ "date": {
+ "description": "Release date as the store displays it.",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "steam.CategoryBrowseResponse": {
+ "properties": {
+ "count": {
+ "type": "integer"
},
- "results": {
+ "items": {
"items": {
- "$ref": "#/definitions/usptoppubs.SearchResult"
+ "$ref": "#/definitions/steam.CategoryItem"
},
"type": "array"
},
+ "slug": {
+ "type": "string"
+ },
"source_url": {
"type": "string"
+ },
+ "start": {
+ "type": "integer"
+ },
+ "tag_id": {
+ "type": "integer"
+ },
+ "tag_name": {
+ "type": "string"
+ },
+ "total": {
+ "type": "integer"
}
},
"type": "object"
},
- "usptoppubs.SearchResult": {
+ "steam.CategoryItem": {
"properties": {
- "applicant_names": {
+ "appid": {
+ "type": "integer"
+ },
+ "developers": {
"items": {
"type": "string"
},
"type": "array"
},
- "application_number": {
- "example": "15/620,213",
+ "name": {
"type": "string"
},
- "assignee_name": {
- "type": "string"
+ "platforms": {
+ "$ref": "#/definitions/steam.Platforms"
},
- "cpc_codes": {
- "type": "string"
+ "price_overview": {
+ "$ref": "#/definitions/steam.Price"
},
- "database": {
- "example": "USPAT",
- "type": "string"
+ "publishers": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "filing_date": {
- "example": "2017-06-12",
- "type": "string"
+ "release_date_unix": {
+ "type": "integer"
},
- "guid": {
- "example": "US-10758101-B2",
- "type": "string"
+ "review_count": {
+ "type": "integer"
},
- "inventors_short": {
+ "review_percent_positive": {
+ "type": "integer"
+ },
+ "review_summary": {
"type": "string"
},
- "ipc_codes": {
+ "short_description": {
"type": "string"
},
- "kind_codes": {
+ "tags": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/steam.WeightedTag"
},
"type": "array"
},
- "language": {
- "example": "EN",
- "type": "string"
- },
- "page_count": {
+ "type": {
"type": "integer"
},
- "publication_date": {
- "example": "2020-09-01",
- "type": "string"
- },
- "publication_number": {
- "example": "US10758101B2",
- "type": "string"
- },
- "title": {
- "example": "UPRIGHT VACUUM CLEANER WITH BATTERY SUPPORT PLATE",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "usptoppubs.detailResponseDoc": {
+ "steam.ChartRank": {
"properties": {
- "code": {
- "example": 200,
+ "appid": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/usptoppubs.DetailResponse"
+ "concurrent_in_game": {
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "last_week_rank": {
+ "type": "integer"
+ },
+ "name": {
+ "type": "string"
+ },
+ "peak_in_game": {
+ "type": "integer"
+ },
+ "rank": {
+ "type": "integer"
+ },
+ "review_summary": {
"type": "string"
}
},
"type": "object"
},
- "usptoppubs.searchResponseDoc": {
+ "steam.ChartResponse": {
"properties": {
- "code": {
- "example": 200,
+ "chart": {
+ "type": "string"
+ },
+ "count": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/usptoppubs.SearchResponse"
+ "enriched": {
+ "type": "boolean"
},
- "msg": {
- "example": "OK",
+ "ranks": {
+ "items": {
+ "$ref": "#/definitions/steam.ChartRank"
+ },
+ "type": "array"
+ },
+ "source_url": {
"type": "string"
+ },
+ "updated_unix": {
+ "type": "integer"
}
},
"type": "object"
},
- "valnet.AuthorSocialLink": {
+ "steam.CommunityRecommendationsResponse": {
"properties": {
- "type": {
+ "count": {
+ "type": "integer"
+ },
+ "review_filter": {
"type": "string"
},
- "url": {
+ "reviews": {
+ "items": {
+ "$ref": "#/definitions/steam.CommunityReview"
+ },
+ "type": "array"
+ },
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "vanguardng.AuthorArticle": {
+ "steam.CommunityReview": {
"properties": {
- "byline": {
+ "appid": {
"type": "string"
},
- "published_at": {
+ "author_name": {
"type": "string"
},
- "summary": {
+ "author_profile_url": {
"type": "string"
},
- "title": {
+ "helpful": {
"type": "string"
},
- "url": {
+ "playtime": {
+ "type": "string"
+ },
+ "recommendation_id": {
+ "type": "string"
+ },
+ "review_excerpt": {
+ "type": "string"
+ },
+ "review_url": {
"type": "string"
}
},
"type": "object"
},
- "vanguardng.AuthorResponse": {
+ "steam.FeaturedBucket": {
"properties": {
- "articles": {
+ "count": {
+ "description": "Number of items in the bucket.",
+ "type": "integer"
+ },
+ "id": {
+ "description": "Id of the bucket, as Steam names it.",
+ "type": "string"
+ },
+ "items": {
+ "description": "Items in the bucket.",
"items": {
- "$ref": "#/definitions/vanguardng.AuthorArticle"
+ "$ref": "#/definitions/steam.FeaturedItem"
},
"type": "array"
},
- "feed_url": {
- "type": "string"
- },
"name": {
+ "description": "Display name of the bucket.",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "steam.FeaturedCategoriesResponse": {
+ "properties": {
+ "coming_soon": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/steam.FeaturedBucket"
+ }
+ ],
+ "description": "Bucket of upcoming releases."
},
- "scanned": {
- "type": "integer"
+ "new_releases": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/steam.FeaturedBucket"
+ }
+ ],
+ "description": "Bucket of new releases."
},
- "section": {
+ "source_url": {
+ "description": "URL the data was read from.",
"type": "string"
+ },
+ "specials": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/steam.FeaturedBucket"
+ }
+ ],
+ "description": "Bucket of items currently on special offer."
+ },
+ "top_sellers": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/steam.FeaturedBucket"
+ }
+ ],
+ "description": "Bucket of the store's top-selling items."
}
},
"type": "object"
},
- "vanityfair.AuthorArticle": {
+ "steam.FeaturedItem": {
"properties": {
- "published_at": {
+ "currency": {
+ "description": "Currency code of the prices, such as `USD`.",
"type": "string"
},
- "title": {
+ "discount_percent": {
+ "description": "Discount currently applied, as a percentage.",
+ "type": "integer"
+ },
+ "discounted": {
+ "description": "Whether the item is currently discounted.",
+ "type": "boolean"
+ },
+ "final_price": {
+ "description": "Price after any discount, in minor currency units such as cents.",
+ "type": "integer"
+ },
+ "header_image": {
+ "description": "URL of the item's header image.",
"type": "string"
},
- "url": {
+ "id": {
+ "description": "Steam id of the featured item.",
+ "type": "integer"
+ },
+ "linux_available": {
+ "description": "Whether the item is available on Linux.",
+ "type": "boolean"
+ },
+ "mac_available": {
+ "description": "Whether the item is available on macOS.",
+ "type": "boolean"
+ },
+ "name": {
+ "description": "Name of the featured item.",
"type": "string"
+ },
+ "original_price": {
+ "description": "Price before any discount, in minor currency units such as cents.",
+ "type": "integer"
+ },
+ "type": {
+ "description": "Numeric type code Steam gives the featured item.",
+ "type": "integer"
+ },
+ "windows_available": {
+ "description": "Whether the item is available on Windows.",
+ "type": "boolean"
}
},
"type": "object"
},
- "vanityfair.AuthorResponse": {
+ "steam.FeaturedResponse": {
"properties": {
- "articles": {
+ "featured_linux": {
+ "description": "Items featured for Linux players.",
"items": {
- "$ref": "#/definitions/vanityfair.AuthorArticle"
+ "$ref": "#/definitions/steam.FeaturedItem"
},
"type": "array"
},
- "biography": {
+ "featured_mac": {
+ "description": "Items featured for macOS players.",
"items": {
- "type": "string"
+ "$ref": "#/definitions/steam.FeaturedItem"
},
"type": "array"
},
- "image_url": {
- "type": "string"
- },
- "job_title": {
- "type": "string"
- },
- "name": {
- "type": "string"
+ "featured_win": {
+ "description": "Items featured for Windows players.",
+ "items": {
+ "$ref": "#/definitions/steam.FeaturedItem"
+ },
+ "type": "array"
},
- "social_links": {
+ "large_capsules": {
+ "description": "Large spotlight capsules shown on the store front page.",
"items": {
- "type": "string"
+ "$ref": "#/definitions/steam.FeaturedItem"
},
"type": "array"
},
- "url": {
+ "source_url": {
+ "description": "URL the data was read from.",
"type": "string"
}
},
"type": "object"
},
- "variety.AuthorResponse": {
+ "steam.GlobalAchievement": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/newsplatform.HeadlineItem"
- },
- "type": "array"
+ "name": {
+ "description": "Achievement identifier as Steam lists it, such as `TF_PLAY_GAME_EVERYCLASS`.",
+ "type": "string"
},
- "biography": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "percent": {
+ "description": "Percentage of all players who have unlocked the achievement.",
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "steam.HistogramBucket": {
+ "properties": {
+ "date": {
+ "description": "Start of the bucket, in Unix seconds.",
+ "type": "integer"
},
- "has_next_page": {
- "type": "boolean"
+ "recommendations_down": {
+ "description": "Number of negative recommendations in the bucket.",
+ "type": "integer"
},
- "image_url": {
+ "recommendations_up": {
+ "description": "Number of positive recommendations in the bucket.",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "steam.IDName": {
+ "properties": {
+ "description": {
+ "description": "Display name of the item, such as a category, genre or app name.",
"type": "string"
},
- "name": {
+ "id": {
+ "description": "Id of the item.",
"type": "string"
- },
- "page": {
+ }
+ },
+ "type": "object"
+ },
+ "steam.ItemsResponse": {
+ "properties": {
+ "count": {
"type": "integer"
},
- "slug": {
- "type": "string"
- },
- "social_links": {
+ "items": {
"items": {
- "$ref": "#/definitions/variety.AuthorSocialLink"
+ "$ref": "#/definitions/steam.CategoryItem"
},
"type": "array"
},
- "url": {
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "variety.AuthorSocialLink": {
+ "steam.Metacritic": {
"properties": {
- "platform": {
- "type": "string"
+ "score": {
+ "description": "Metacritic score of the app, out of 100.",
+ "type": "integer"
},
"url": {
+ "description": "URL of the app's page on Metacritic.",
"type": "string"
}
},
"type": "object"
},
- "vestiaire.Brand": {
+ "steam.NewsItem": {
"properties": {
- "id": {
- "example": "50",
+ "author": {
+ "description": "Name of the post's author.",
"type": "string"
},
- "name": {
- "example": "Chanel",
+ "contents": {
+ "description": "Body text of the post, shortened to the requested maximum length.",
"type": "string"
},
- "url": {
- "example": "https://www.vestiairecollective.com/chanel/",
+ "date": {
+ "description": "Time the post was published, in Unix seconds.",
+ "type": "integer"
+ },
+ "feedlabel": {
+ "description": "Label of the news feed the post came from, such as `Community Announcements`.",
"type": "string"
- }
- },
- "type": "object"
- },
- "vestiaire.BrandsResponse": {
- "properties": {
- "brands": {
+ },
+ "feedname": {
+ "description": "Name of the news feed the post came from, such as `steam_community_announcements`.",
+ "type": "string"
+ },
+ "gid": {
+ "description": "Unique id of the news post.",
+ "type": "string"
+ },
+ "is_external_url": {
+ "description": "Whether Steam flags the post's `url` as an external link.",
+ "type": "boolean"
+ },
+ "tags": {
+ "description": "Tags Steam attaches to the post, such as `patchnotes`.",
"items": {
- "$ref": "#/definitions/vestiaire.Brand"
+ "type": "string"
},
"type": "array"
},
- "fetched_at": {
- "example": "2026-09-09T12:00:00Z",
+ "title": {
+ "description": "Headline of the news post.",
"type": "string"
},
- "total": {
- "example": 13693,
- "type": "integer"
+ "url": {
+ "description": "URL of the news post.",
+ "type": "string"
}
},
"type": "object"
},
- "vestiaire.CategoriesResponse": {
+ "steam.NewsResponse": {
"properties": {
- "fetched_at": {
- "example": "2026-09-09T12:00:00Z",
+ "appid": {
+ "description": "Steam app id the news belongs to.",
"type": "string"
},
- "universes": {
+ "count": {
+ "description": "Number of news posts returned.",
+ "type": "integer"
+ },
+ "items": {
+ "description": "News posts for the app.",
"items": {
- "$ref": "#/definitions/vestiaire.Universe"
+ "$ref": "#/definitions/steam.NewsItem"
},
"type": "array"
+ },
+ "source_url": {
+ "description": "URL the data was read from.",
+ "type": "string"
}
},
"type": "object"
},
- "vestiaire.Category": {
+ "steam.PackageDetails": {
"properties": {
- "children": {
+ "apps": {
+ "description": "Apps included in the package. Each item has the app id in `id` and the app name in `description`.",
"items": {
- "$ref": "#/definitions/vestiaire.Category"
+ "$ref": "#/definitions/steam.IDName"
},
"type": "array"
},
- "count": {
- "example": 82421,
- "type": "integer"
- },
- "id": {
- "example": "5",
+ "header_image": {
+ "description": "URL of the package's header image.",
"type": "string"
},
"name": {
- "example": "Bags",
+ "description": "Name of the package.",
+ "type": "string"
+ },
+ "packageid": {
+ "description": "Steam package id.",
+ "type": "integer"
+ },
+ "platforms": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/steam.Platforms"
+ }
+ ],
+ "description": "Operating systems the package supports."
+ },
+ "price": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/steam.PackagePrice"
+ }
+ ],
+ "description": "Current price of the package. Omitted when the store shows no price."
+ },
+ "release_date": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/steam.AppRelease"
+ }
+ ],
+ "description": "Release information of the package."
+ },
+ "source_url": {
+ "description": "URL the data was read from.",
"type": "string"
}
},
"type": "object"
},
- "vestiaire.ConditionsResponse": {
+ "steam.PackagePrice": {
"properties": {
- "conditions": {
- "items": {
- "$ref": "#/definitions/vestiaire.FacetValue"
- },
- "type": "array"
- },
- "fetched_at": {
- "example": "2026-09-09T12:00:00Z",
+ "currency": {
+ "description": "Currency code of the prices, such as `USD`.",
"type": "string"
+ },
+ "discount_percent": {
+ "description": "Discount currently applied, as a percentage.",
+ "type": "integer"
+ },
+ "final": {
+ "description": "Price after any discount, in minor currency units such as cents.",
+ "type": "integer"
+ },
+ "individual": {
+ "description": "Price of the apps in the package bought individually, in minor currency units such as cents.",
+ "type": "integer"
+ },
+ "initial": {
+ "description": "Price before any discount, in minor currency units such as cents.",
+ "type": "integer"
}
},
"type": "object"
},
- "vestiaire.FacetValue": {
+ "steam.Platforms": {
"properties": {
- "count": {
- "example": 119169,
- "type": "integer"
+ "linux": {
+ "description": "Whether the title supports Linux.",
+ "type": "boolean"
},
- "id": {
- "example": "50",
- "type": "string"
+ "mac": {
+ "description": "Whether the title supports macOS.",
+ "type": "boolean"
},
- "name": {
- "example": "Chanel",
- "type": "string"
+ "windows": {
+ "description": "Whether the title supports Windows.",
+ "type": "boolean"
}
},
"type": "object"
},
- "vestiaire.PriceRange": {
+ "steam.PlayersResponse": {
"properties": {
- "max_cents": {
- "example": 9765700,
- "type": "integer"
+ "appid": {
+ "description": "Steam app id the count belongs to.",
+ "type": "string"
},
- "min_cents": {
- "example": 700,
+ "player_count": {
+ "description": "Number of players currently in the app.",
"type": "integer"
+ },
+ "source_url": {
+ "description": "URL the data was read from.",
+ "type": "string"
}
},
"type": "object"
},
- "vestiaire.ProductRef": {
+ "steam.Price": {
"properties": {
- "id": {
- "example": "6444",
+ "currency": {
+ "description": "Currency code of the prices, such as `USD`.",
"type": "string"
},
- "name": {
- "example": "Off-White",
+ "discount_percent": {
+ "description": "Discount currently applied, as a percentage.",
+ "type": "integer"
+ },
+ "final": {
+ "description": "Price after any discount, in minor currency units such as cents.",
+ "type": "integer"
+ },
+ "final_formatted": {
+ "description": "Price after any discount, formatted for display as Steam shows it.",
"type": "string"
},
- "parent_id": {
- "example": "2",
+ "initial": {
+ "description": "Price before any discount, in minor currency units such as cents.",
+ "type": "integer"
+ },
+ "initial_formatted": {
+ "description": "Price before any discount, formatted for display as Steam shows it.",
"type": "string"
}
},
"type": "object"
},
- "vestiaire.ProductResponse": {
+ "steam.Review": {
"properties": {
- "available": {
- "example": true,
- "type": "boolean"
- },
- "brand": {
- "$ref": "#/definitions/vestiaire.ProductRef"
+ "author": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/steam.ReviewAuthor"
+ }
+ ],
+ "description": "Author of the review."
},
- "category": {
- "$ref": "#/definitions/vestiaire.ProductRef"
+ "comment_count": {
+ "description": "Number of comments on the review.",
+ "type": "integer"
},
- "color": {
- "example": "Black",
+ "language": {
+ "description": "Language the review is written in, as a Steam language name such as `english`.",
"type": "string"
},
- "condition": {
- "example": "Never worn",
- "type": "string"
+ "received_for_free": {
+ "description": "Whether the author received the game for free.",
+ "type": "boolean"
},
- "currency": {
- "example": "USD",
+ "recommendation_id": {
+ "description": "Steam id of the review.",
"type": "string"
},
- "description": {
- "example": "Black leather jacket from Off-White for women. Never worn.",
+ "review": {
+ "description": "Full text of the review.",
"type": "string"
},
- "fetched_at": {
- "example": "2026-09-09T12:00:00Z",
- "type": "string"
+ "steam_purchase": {
+ "description": "Whether the author bought the game on Steam.",
+ "type": "boolean"
},
- "id": {
- "example": "70860454",
- "type": "string"
+ "timestamp_created": {
+ "description": "Time the review was posted, in Unix seconds.",
+ "type": "integer"
},
- "in_stock": {
- "example": false,
+ "timestamp_updated": {
+ "description": "Time the review was last edited, in Unix seconds.",
+ "type": "integer"
+ },
+ "voted_up": {
+ "description": "Whether the review recommends the game.",
"type": "boolean"
},
- "like_count": {
- "example": 2,
+ "votes_funny": {
+ "description": "Number of votes marking the review as funny.",
"type": "integer"
},
- "material": {
- "example": "Leather",
- "type": "string"
+ "votes_up": {
+ "description": "Number of votes marking the review as helpful.",
+ "type": "integer"
},
- "model": {
- "$ref": "#/definitions/vestiaire.ProductRef"
+ "weighted_vote_score": {
+ "description": "Helpfulness score Steam gives the review, returned as a string such as `0.5`.",
+ "type": "string"
},
- "name": {
- "example": "Leather biker jacket",
- "type": "string"
- },
- "negotiable": {
- "example": true,
+ "written_during_early_access": {
+ "description": "Whether the review was written while the game was in Early Access.",
"type": "boolean"
- },
- "pictures": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "price_cents": {
- "example": 31100,
+ }
+ },
+ "type": "object"
+ },
+ "steam.ReviewAuthor": {
+ "properties": {
+ "last_played": {
+ "description": "Time the author last played the game.",
"type": "integer"
},
- "reserved": {
- "example": false,
- "type": "boolean"
- },
- "seller": {
- "$ref": "#/definitions/vestiaire.ProductSeller"
- },
- "size": {
- "example": "L",
- "type": "string"
+ "num_games_owned": {
+ "description": "Number of games the author owns on Steam.",
+ "type": "integer"
},
- "size_standard": {
- "example": "International",
- "type": "string"
+ "num_reviews": {
+ "description": "Number of reviews the author has written on Steam.",
+ "type": "integer"
},
- "sold": {
- "example": false,
- "type": "boolean"
+ "playtime_at_review": {
+ "description": "Author's playtime in the game when the review was written, in minutes.",
+ "type": "integer"
},
- "source_url": {
- "example": "https://www.vestiairecollective.com/women-clothing/biker-jackets/off-white/black-leather-off-white-biker-jacket-70860454.shtml",
- "type": "string"
+ "playtime_forever": {
+ "description": "Author's total playtime in the game, in minutes.",
+ "type": "integer"
},
- "universe": {
- "example": "Women",
- "type": "string"
+ "playtime_last_two_weeks": {
+ "description": "Author's playtime in the game over the last two weeks, in minutes.",
+ "type": "integer"
},
- "url": {
- "example": "https://www.vestiairecollective.com/women-clothing/biker-jackets/off-white/black-leather-off-white-biker-jacket-70860454.shtml",
+ "steamid": {
+ "description": "Steam id of the review author.",
"type": "string"
}
},
"type": "object"
},
- "vestiaire.ProductSeller": {
+ "steam.ReviewSummary": {
"properties": {
- "badge": {
- "example": "Common",
- "type": "string"
- },
- "country": {
- "example": "United States",
- "type": "string"
+ "num_reviews": {
+ "description": "Number of reviews returned in this response.",
+ "type": "integer"
},
- "country_iso": {
- "example": "US",
- "type": "string"
+ "review_score": {
+ "description": "Numeric review score Steam gives the app. Set on the first page only.",
+ "type": "integer"
},
- "id": {
- "example": "36526194",
+ "review_score_desc": {
+ "description": "Review rating label, such as `Very Positive`. Set on the first page only.",
"type": "string"
},
- "products_listed": {
- "example": 23,
+ "total_negative": {
+ "description": "Total number of negative reviews. Set on the first page only.",
"type": "integer"
},
- "products_sold": {
- "example": 8,
+ "total_positive": {
+ "description": "Total number of positive reviews. Set on the first page only.",
"type": "integer"
},
- "username": {
- "example": "michelle36526194",
- "type": "string"
+ "total_reviews": {
+ "description": "Total number of reviews. Set on the first page only.",
+ "type": "integer"
}
},
"type": "object"
},
- "vestiaire.SearchFacets": {
+ "steam.ReviewsHistogramResponse": {
"properties": {
- "brands": {
- "items": {
- "$ref": "#/definitions/vestiaire.FacetValue"
- },
- "type": "array"
+ "appid": {
+ "description": "Steam app id the histogram belongs to.",
+ "type": "string"
},
- "categories": {
+ "count_all_reviews": {
+ "description": "Total number of reviews counted for the histogram.",
+ "type": "integer"
+ },
+ "end_date": {
+ "description": "End of the period the histogram covers, in Unix seconds.",
+ "type": "integer"
+ },
+ "recent": {
+ "description": "Daily buckets of recommendations for the most recent period.",
"items": {
- "$ref": "#/definitions/vestiaire.FacetValue"
+ "$ref": "#/definitions/steam.HistogramBucket"
},
"type": "array"
},
- "conditions": {
+ "rollup_type": {
+ "description": "Size of each bucket in `rollups`, such as `week`.",
+ "type": "string"
+ },
+ "rollups": {
+ "description": "Weekly or monthly buckets of recommendations covering the whole period.",
"items": {
- "$ref": "#/definitions/vestiaire.FacetValue"
+ "$ref": "#/definitions/steam.HistogramBucket"
},
"type": "array"
+ },
+ "source_url": {
+ "description": "URL the data was read from.",
+ "type": "string"
+ },
+ "start_date": {
+ "description": "Start of the period the histogram covers, in Unix seconds.",
+ "type": "integer"
}
},
"type": "object"
},
- "vestiaire.SearchItem": {
+ "steam.ReviewsResponse": {
"properties": {
- "brand": {
- "example": "Chanel",
+ "appid": {
+ "description": "Steam app id the reviews belong to.",
"type": "string"
},
- "brand_id": {
- "example": "50",
- "type": "string"
+ "count": {
+ "description": "Number of reviews returned.",
+ "type": "integer"
},
- "color": {
- "example": "Black",
+ "cursor": {
+ "description": "Cursor to pass back to fetch the next page of reviews.",
"type": "string"
},
- "country": {
- "example": "US",
- "type": "string"
+ "query_summary": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/steam.ReviewSummary"
+ }
+ ],
+ "description": "Review totals and score for the query."
},
- "created_at": {
- "example": "2026-09-08T10:00:03Z",
- "type": "string"
+ "reviews": {
+ "description": "Reviews on this page.",
+ "items": {
+ "$ref": "#/definitions/steam.Review"
+ },
+ "type": "array"
},
- "currency": {
- "example": "USD",
+ "source_url": {
+ "description": "URL the data was read from.",
"type": "string"
- },
- "id": {
- "example": "70816051",
+ }
+ },
+ "type": "object"
+ },
+ "steam.SearchItem": {
+ "properties": {
+ "controller_support": {
+ "description": "Level of controller support Steam lists for the item.",
"type": "string"
},
- "in_stock": {
- "example": false,
- "type": "boolean"
- },
- "likes": {
- "example": 1,
+ "id": {
+ "description": "Steam id of the result. Use it with the app endpoint when `type` is `app`.",
"type": "integer"
},
- "model": {
- "example": "Timeless/Classique Chain",
+ "metascore": {
+ "description": "Metacritic score of the item, returned as a string such as `90`.",
"type": "string"
},
"name": {
- "example": "Timeless/Classique Chain leather backpack",
+ "description": "Name of the item on the Steam store.",
"type": "string"
},
- "pictures": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "price_cents": {
- "example": 270000,
- "type": "integer"
+ "platforms": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/steam.Platforms"
+ }
+ ],
+ "description": "Operating systems the item supports."
},
- "seller_id": {
- "example": "28924234",
- "type": "string"
+ "price": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/steam.Price"
+ }
+ ],
+ "description": "Current price of the item. Omitted when the store shows no price."
},
- "sold": {
- "example": false,
+ "streamingvideo": {
+ "description": "Whether Steam marks the item as streaming video.",
"type": "boolean"
},
- "url": {
- "example": "https://www.vestiairecollective.com/women-bags/backpacks/chanel/black-leather-timeless-classique-chain-chanel-backpack-70816051.shtml",
+ "tiny_image": {
+ "description": "URL of a small image of the item.",
+ "type": "string"
+ },
+ "type": {
+ "description": "Kind of result, such as `app`.",
"type": "string"
}
},
"type": "object"
},
- "vestiaire.SearchResponse": {
+ "steam.SearchResponse": {
"properties": {
- "facets": {
- "$ref": "#/definitions/vestiaire.SearchFacets"
- },
- "fetched_at": {
- "example": "2026-09-09T12:00:00Z",
- "type": "string"
+ "count": {
+ "description": "Number of results returned.",
+ "type": "integer"
},
"items": {
+ "description": "Store items matching the search term.",
"items": {
- "$ref": "#/definitions/vestiaire.SearchItem"
+ "$ref": "#/definitions/steam.SearchItem"
},
"type": "array"
},
- "page": {
- "example": 1,
- "type": "integer"
+ "source_url": {
+ "description": "URL the data was read from.",
+ "type": "string"
},
- "per_page": {
- "example": 24,
+ "term": {
+ "description": "Search term that was used.",
+ "type": "string"
+ },
+ "total": {
+ "description": "Total number of matches Steam reports for the term.",
"type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "steam.SearchResultRow": {
+ "properties": {
+ "appid": {
+ "description": "Steam app id of the row, when the row is an app.",
+ "type": "string"
},
- "price_range": {
- "$ref": "#/definitions/vestiaire.PriceRange"
+ "bundleid": {
+ "description": "Steam bundle id of the row, when the row is a bundle.",
+ "type": "string"
},
- "q": {
- "example": "chanel bag",
+ "discount_pct": {
+ "description": "Discount shown on the row, as text.",
"type": "string"
},
- "sort": {
- "example": "relevance",
+ "name": {
+ "description": "Name of the item on the Steam store.",
"type": "string"
},
- "source_url": {
- "example": "https://www.vestiairecollective.com/search/?q=chanel+bag",
+ "packageid": {
+ "description": "Steam package id of the row, when the row is a package.",
"type": "string"
},
- "total_items": {
- "example": 10000,
- "type": "integer"
+ "platforms": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/steam.Platforms"
+ }
+ ],
+ "description": "Operating systems the item supports."
},
- "total_pages": {
- "example": 417,
- "type": "integer"
+ "price": {
+ "description": "Price shown on the row, as text.",
+ "type": "string"
+ },
+ "release_date": {
+ "description": "Release date shown on the row, such as `20 Oct, 2022`.",
+ "type": "string"
+ },
+ "review_summary": {
+ "description": "Review rating label shown on the row, such as `Overwhelmingly Positive`.",
+ "type": "string"
+ },
+ "tag_ids": {
+ "description": "Ids of the item's most-weighted community tags. Resolve their names with the tags list endpoint.",
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "url": {
+ "description": "URL of the item's store page.",
+ "type": "string"
}
},
"type": "object"
},
- "vestiaire.SearchSellersResponse": {
+ "steam.SearchResultsResponse": {
"properties": {
- "fetched_at": {
- "example": "2026-09-09T12:00:00Z",
- "type": "string"
- },
- "q": {
- "example": "michelle",
- "type": "string"
+ "count": {
+ "description": "Number of rows returned.",
+ "type": "integer"
},
- "sellers": {
+ "results": {
+ "description": "Rows of the store search results on this page.",
"items": {
- "$ref": "#/definitions/vestiaire.SellerSearchMatch"
+ "$ref": "#/definitions/steam.SearchResultRow"
},
"type": "array"
+ },
+ "source_url": {
+ "description": "URL the data was read from.",
+ "type": "string"
+ },
+ "start": {
+ "description": "Offset of the first row returned.",
+ "type": "integer"
+ },
+ "term": {
+ "description": "Search term that was used.",
+ "type": "string"
+ },
+ "total": {
+ "description": "Total number of matches Steam reports for the term.",
+ "type": "integer"
}
},
"type": "object"
},
- "vestiaire.SellerResponse": {
+ "steam.SteamSpyResponse": {
"properties": {
- "community_rank": {
- "example": 0,
+ "appid": {
+ "description": "Steam app id.",
"type": "integer"
},
- "country": {
- "example": "United States",
+ "average_2weeks": {
+ "description": "Average playtime over the last two weeks, in minutes, as SteamSpy estimates it.",
+ "type": "integer"
+ },
+ "average_forever": {
+ "description": "Average total playtime, in minutes, as SteamSpy estimates it.",
+ "type": "integer"
+ },
+ "ccu": {
+ "description": "Concurrent users, as SteamSpy estimates it.",
+ "type": "integer"
+ },
+ "developer": {
+ "description": "Name of the developer, as SteamSpy lists it.",
"type": "string"
},
- "country_iso": {
- "example": "US",
+ "discount": {
+ "description": "Current discount, as SteamSpy reports it.",
"type": "string"
},
- "fetched_at": {
- "example": "2026-09-09T12:00:00Z",
+ "genre": {
+ "description": "Genres of the app, as a comma-separated list such as `Action, Free to Play, Strategy`.",
"type": "string"
},
- "firstname": {
- "example": "michelle",
+ "initialprice": {
+ "description": "Price before any discount, as SteamSpy reports it.",
"type": "string"
},
- "followers": {
- "example": 26,
+ "languages": {
+ "description": "Languages the app supports, as SteamSpy lists them.",
+ "type": "string"
+ },
+ "median_2weeks": {
+ "description": "Median playtime over the last two weeks, in minutes, as SteamSpy estimates it.",
"type": "integer"
},
- "following": {
- "example": 11,
+ "median_forever": {
+ "description": "Median total playtime, in minutes, as SteamSpy estimates it.",
"type": "integer"
},
- "id": {
- "example": "36526194",
+ "name": {
+ "description": "Name of the app, as SteamSpy lists it.",
"type": "string"
},
- "products_bought": {
- "example": 0,
+ "negative": {
+ "description": "Number of negative reviews, as SteamSpy counts them.",
"type": "integer"
},
- "products_listed": {
- "example": 23,
- "type": "integer"
+ "owners": {
+ "description": "Estimated range of owners, such as `100,000,000 .. 200,000,000`.",
+ "type": "string"
},
- "products_sold": {
- "example": 8,
+ "positive": {
+ "description": "Number of positive reviews, as SteamSpy counts them.",
"type": "integer"
},
- "segment": {
- "example": "C2C",
+ "price": {
+ "description": "Current price, as SteamSpy reports it.",
"type": "string"
},
- "source_url": {
- "example": "https://www.vestiairecollective.com/profile/36526194",
+ "publisher": {
+ "description": "Name of the publisher, as SteamSpy lists it.",
"type": "string"
},
- "url": {
- "example": "https://www.vestiairecollective.com/profile/36526194",
+ "source": {
+ "description": "Name of the data source, always `steamspy`.",
"type": "string"
},
- "username": {
- "example": "michelle36526194",
+ "source_url": {
+ "description": "URL the data was read from.",
"type": "string"
+ },
+ "tags": {
+ "additionalProperties": {
+ "type": "integer"
+ },
+ "description": "Map of tag name to the number of votes the tag received.",
+ "type": "object"
+ },
+ "userscore": {
+ "description": "User score of the app, as SteamSpy reports it.",
+ "type": "integer"
}
},
"type": "object"
},
- "vestiaire.SellerSearchMatch": {
+ "steam.TagEntry": {
"properties": {
- "avatar_url": {
- "type": "string"
- },
- "id": {
- "example": "36526194",
- "type": "string"
- },
"name": {
- "example": "michelle",
"type": "string"
},
- "username": {
- "example": "michelle36526194",
- "type": "string"
+ "tagid": {
+ "type": "integer"
}
},
"type": "object"
},
- "vestiaire.SuggestBrand": {
+ "steam.TagsListResponse": {
"properties": {
- "id": {
- "example": "50",
- "type": "string"
+ "count": {
+ "type": "integer"
},
- "name": {
- "example": "Chanel",
+ "language": {
"type": "string"
},
- "url": {
- "example": "https://www.vestiairecollective.com/chanel/",
+ "source_url": {
"type": "string"
+ },
+ "tags": {
+ "items": {
+ "$ref": "#/definitions/steam.TagEntry"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "vestiaire.SuggestResponse": {
+ "steam.TopReleasePage": {
"properties": {
- "brands": {
+ "appids": {
"items": {
- "$ref": "#/definitions/vestiaire.SuggestBrand"
+ "type": "integer"
},
"type": "array"
},
- "fetched_at": {
- "example": "2026-09-09T12:00:00Z",
+ "name": {
"type": "string"
},
- "q": {
- "example": "chane",
+ "start_of_month_unix": {
+ "type": "integer"
+ },
+ "url_path": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "steam.TopReleasesResponse": {
+ "properties": {
+ "count": {
+ "type": "integer"
},
- "suggestions": {
+ "pages": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/steam.TopReleasePage"
},
"type": "array"
+ },
+ "source_url": {
+ "type": "string"
}
},
"type": "object"
},
- "vestiaire.Universe": {
+ "steam.TopSellerRank": {
"properties": {
- "categories": {
- "items": {
- "$ref": "#/definitions/vestiaire.Category"
- },
- "type": "array"
+ "appid": {
+ "type": "integer"
+ },
+ "item": {
+ "$ref": "#/definitions/steam.CategoryItem"
},
+ "rank": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "steam.TopSellersResponse": {
+ "properties": {
"count": {
- "example": 346038,
"type": "integer"
},
- "id": {
- "example": "1",
+ "country_code": {
"type": "string"
},
- "name": {
- "example": "Women",
+ "ranks": {
+ "items": {
+ "$ref": "#/definitions/steam.TopSellerRank"
+ },
+ "type": "array"
+ },
+ "source_url": {
"type": "string"
+ },
+ "start_date_unix": {
+ "type": "integer"
}
},
"type": "object"
},
- "vestiaire.brandsResponseDoc": {
+ "steam.WeightedTag": {
+ "properties": {
+ "tagid": {
+ "type": "integer"
+ },
+ "weight": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "steam.achievementsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/vestiaire.BrandsResponse"
+ "$ref": "#/definitions/steam.AchievementsResponse"
},
"msg": {
"example": "OK",
@@ -248856,14 +253900,14 @@
},
"type": "object"
},
- "vestiaire.categoriesResponseDoc": {
+ "steam.appResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/vestiaire.CategoriesResponse"
+ "$ref": "#/definitions/steam.AppDetails"
},
"msg": {
"example": "OK",
@@ -248872,14 +253916,14 @@
},
"type": "object"
},
- "vestiaire.conditionsResponseDoc": {
+ "steam.categoryBrowseResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/vestiaire.ConditionsResponse"
+ "$ref": "#/definitions/steam.CategoryBrowseResponse"
},
"msg": {
"example": "OK",
@@ -248888,14 +253932,14 @@
},
"type": "object"
},
- "vestiaire.productResponseDoc": {
+ "steam.chartResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/vestiaire.ProductResponse"
+ "$ref": "#/definitions/steam.ChartResponse"
},
"msg": {
"example": "OK",
@@ -248904,14 +253948,14 @@
},
"type": "object"
},
- "vestiaire.searchResponseDoc": {
+ "steam.communityRecommendationsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/vestiaire.SearchResponse"
+ "$ref": "#/definitions/steam.CommunityRecommendationsResponse"
},
"msg": {
"example": "OK",
@@ -248920,14 +253964,14 @@
},
"type": "object"
},
- "vestiaire.searchSellersResponseDoc": {
+ "steam.featuredCategoriesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/vestiaire.SearchSellersResponse"
+ "$ref": "#/definitions/steam.FeaturedCategoriesResponse"
},
"msg": {
"example": "OK",
@@ -248936,14 +253980,14 @@
},
"type": "object"
},
- "vestiaire.sellerResponseDoc": {
+ "steam.featuredResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/vestiaire.SellerResponse"
+ "$ref": "#/definitions/steam.FeaturedResponse"
},
"msg": {
"example": "OK",
@@ -248952,14 +253996,14 @@
},
"type": "object"
},
- "vestiaire.suggestResponseDoc": {
+ "steam.histogramResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/vestiaire.SuggestResponse"
+ "$ref": "#/definitions/steam.ReviewsHistogramResponse"
},
"msg": {
"example": "OK",
@@ -248968,432 +254012,611 @@
},
"type": "object"
},
- "vice.AuthorResponse": {
+ "steam.itemsResponseDoc": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/vice.HeadlineItem"
- },
- "type": "array"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "biography": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/steam.ItemsResponse"
},
- "image_url": {
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "steam.newsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "name": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/steam.NewsResponse"
},
- "url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "vice.HeadlineItem": {
+ "steam.packageResponseDoc": {
"properties": {
- "author": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "image_url": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/steam.PackageDetails"
},
- "published_at": {
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "steam.playersResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "summary": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/steam.PlayersResponse"
},
- "title": {
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "steam.reviewsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "type": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/steam.ReviewsResponse"
},
- "url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "vinted.BrandEntry": {
+ "steam.searchResponseDoc": {
"properties": {
- "id": {
- "example": "14",
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "name": {
- "example": "adidas",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/steam.SearchResponse"
},
- "url": {
- "example": "https://www.vinted.com/brand/14-adidas",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "vinted.BrandResponse": {
+ "steam.searchResultsResponseDoc": {
"properties": {
- "fetched_at": {
- "example": "2026-08-07T12:00:00Z",
- "type": "string"
- },
- "id": {
- "example": "386688",
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "items": {
- "items": {
- "$ref": "#/definitions/vinted.ItemCard"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/steam.SearchResultsResponse"
},
- "name": {
- "example": "Cabela's",
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "page": {
- "example": 1,
+ }
+ },
+ "type": "object"
+ },
+ "steam.steamspyResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "source_url": {
- "example": "https://www.vinted.com/brand/386688",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/steam.SteamSpyResponse"
},
- "url": {
- "example": "https://www.vinted.com/brand/386688",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "vinted.BrandsResponse": {
+ "steam.tagsListResponseDoc": {
"properties": {
- "brands": {
- "items": {
- "$ref": "#/definitions/vinted.BrandEntry"
- },
- "type": "array"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "fetched_at": {
- "example": "2026-08-07T12:00:00Z",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/steam.TagsListResponse"
},
- "source_url": {
- "example": "https://www.vinted.com/brands",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "vinted.CatalogResponse": {
+ "steam.topReleasesResponseDoc": {
"properties": {
- "fetched_at": {
- "example": "2026-08-07T12:00:00Z",
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "items": {
- "items": {
- "$ref": "#/definitions/vinted.ItemCard"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/steam.TopReleasesResponse"
},
- "page": {
- "example": 1,
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "steam.topSellersResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "search_text": {
- "example": "jacket",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/steam.TopSellersResponse"
},
- "source_url": {
- "example": "https://www.vinted.com/catalog?search_text=jacket",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "vinted.CategoriesResponse": {
+ "stockx.AskServiceLevel": {
"properties": {
- "categories": {
- "items": {
- "$ref": "#/definitions/vinted.CategoryEntry"
- },
- "type": "array"
+ "count": {
+ "example": 1341,
+ "type": "integer"
},
- "fetched_at": {
- "example": "2026-08-07T12:00:00Z",
+ "inventory_type": {
+ "example": "CUSTODIAL",
"type": "string"
},
- "source_url": {
- "example": "https://www.vinted.com/catalog",
- "type": "string"
+ "lowest_ask": {
+ "example": 260,
+ "type": "integer"
}
},
"type": "object"
},
- "vinted.CategoryEntry": {
+ "stockx.Badge": {
"properties": {
"id": {
- "example": "1904",
+ "example": "SELLING_FAST",
"type": "string"
},
- "name": {
- "example": "Women",
+ "subtitle": {
+ "example": "This item sells fast.",
"type": "string"
},
- "url": {
- "example": "https://www.vinted.com/catalog/1904-women_root",
+ "title": {
+ "example": "713 Sold in Last 3 Days!",
"type": "string"
}
},
"type": "object"
},
- "vinted.CategoryResponse": {
+ "stockx.Brand": {
"properties": {
- "fetched_at": {
- "example": "2026-08-07T12:00:00Z",
+ "group": {
+ "example": "M-O",
"type": "string"
},
- "id": {
- "example": "1904",
+ "name": {
+ "example": "Nike",
"type": "string"
},
- "items": {
+ "slug": {
+ "example": "nike",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "stockx.BrandsResponse": {
+ "properties": {
+ "brands": {
"items": {
- "$ref": "#/definitions/vinted.ItemCard"
+ "$ref": "#/definitions/stockx.Brand"
},
"type": "array"
},
+ "total_count": {
+ "example": 396,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "stockx.CategoriesResponse": {
+ "properties": {
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/stockx.Category"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "stockx.Category": {
+ "properties": {
"name": {
- "example": "Women",
+ "example": "Shoes",
"type": "string"
},
- "page": {
- "example": 1,
- "type": "integer"
- },
- "source_url": {
- "example": "https://www.vinted.com/catalog/1904",
+ "slug": {
+ "example": "shoes",
"type": "string"
},
- "url": {
- "example": "https://www.vinted.com/catalog/1904",
- "type": "string"
+ "subcategories": {
+ "items": {
+ "$ref": "#/definitions/stockx.Subcategory"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "vinted.ItemCard": {
+ "stockx.Listing": {
"properties": {
- "brand": {
- "example": "Cabela's",
- "type": "string"
- },
"condition": {
- "example": "Good",
+ "example": "New - Other",
"type": "string"
},
- "favourite_count": {
- "example": 9,
- "type": "integer"
+ "condition_alias": {
+ "example": "new-other",
+ "type": "string"
},
- "id": {
- "example": "9595406652",
+ "condition_description": {
+ "example": "Replacement box",
"type": "string"
},
"image_url": {
- "example": "https://images1.vinted.net/t/01_00ebe_Runxp7FBSGM86vRdXFhYhM4A/310x430/3e52418b.webp",
"type": "string"
},
- "price_raw": {
- "example": "$20.00",
- "type": "string"
+ "price": {
+ "example": 250,
+ "type": "integer"
},
"size": {
- "example": "L / US 12-14",
+ "example": "12",
"type": "string"
},
- "title": {
- "example": "Vintage leather Cabelas Women's jacket",
+ "size_descriptor": {
+ "example": "Size",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "stockx.MarketData": {
+ "properties": {
+ "annual_average_price": {
+ "example": 253,
+ "type": "integer"
},
- "total_price_raw": {
- "example": "$21.70",
- "type": "string"
+ "annual_sales_count": {
+ "example": 12394,
+ "type": "integer"
},
- "url": {
- "example": "https://www.vinted.com/items/9595406652-vintage-leather-cabelas-womens-jacket",
- "type": "string"
+ "ask_service_levels": {
+ "additionalProperties": {
+ "$ref": "#/definitions/stockx.AskServiceLevel"
+ },
+ "type": "object"
+ },
+ "highest_bid": {
+ "example": 315,
+ "type": "integer"
+ },
+ "last_90_days_average_price": {
+ "example": 253,
+ "type": "integer"
+ },
+ "last_90_days_sales_count": {
+ "example": 12394,
+ "type": "integer"
+ },
+ "last_sale": {
+ "example": 271,
+ "type": "integer"
+ },
+ "lowest_ask": {
+ "example": 260,
+ "type": "integer"
+ },
+ "number_of_asks": {
+ "example": 1341,
+ "type": "integer"
+ },
+ "number_of_bids": {
+ "example": 334,
+ "type": "integer"
+ },
+ "sales_last_72_hours": {
+ "example": 713,
+ "type": "integer"
}
},
"type": "object"
},
- "vinted.ItemResponse": {
+ "stockx.ProductDetail": {
"properties": {
- "brand": {
- "example": "Cabela's",
- "type": "string"
- },
- "categories": {
- "example": [
- "Women",
- "Clothing",
- "Coats & Jackets"
- ],
+ "badges": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/stockx.Badge"
},
"type": "array"
},
- "color": {
- "example": "Brown",
+ "brand": {
+ "example": "Jordan",
"type": "string"
},
- "condition": {
- "example": "Good",
+ "colorway": {
+ "example": "Black/University Blue/White",
"type": "string"
},
"description": {
- "example": "In good condition. Has scratches and scuffs.",
"type": "string"
},
- "fetched_at": {
- "example": "2026-08-07T12:00:00Z",
+ "gender": {
+ "example": "men",
"type": "string"
},
"id": {
- "example": "9595406652",
+ "example": "019ac251-3a0d-7243-bb16-5128353be8bf",
"type": "string"
},
- "material": {
- "example": "Leather",
+ "image_url": {
"type": "string"
},
- "photos": {
+ "listings": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/stockx.Listing"
},
"type": "array"
},
- "price_raw": {
- "example": "$20.00",
+ "market": {
+ "$ref": "#/definitions/stockx.MarketData"
+ },
+ "model": {
+ "example": "Jordan 5 Retro",
"type": "string"
},
- "size": {
- "example": "L / US 12-14",
+ "primary_category": {
+ "example": "Air Jordan",
+ "type": "string"
+ },
+ "primary_title": {
+ "example": "Jordan 5 Retro",
+ "type": "string"
+ },
+ "product_category": {
+ "example": "sneakers",
+ "type": "string"
+ },
+ "related_products": {
+ "items": {
+ "$ref": "#/definitions/stockx.ProductSummary"
+ },
+ "type": "array"
+ },
+ "release_date": {
+ "example": "2026-06-20",
+ "type": "string"
+ },
+ "retail_price": {
+ "example": "220",
+ "type": "string"
+ },
+ "secondary_title": {
+ "example": "Black University Blue (2026)",
"type": "string"
},
"source_url": {
- "example": "https://www.vinted.com/items/9595406652-vintage-leather-cabelas-womens-jacket",
+ "example": "https://stockx.com/air-jordan-5-retro-black-university-blue-2026",
+ "type": "string"
+ },
+ "style_id": {
+ "example": "DD0587-008",
"type": "string"
},
"title": {
- "example": "Vintage leather Cabelas Women's jacket",
+ "example": "Jordan 5 Retro Black University Blue (2026)",
"type": "string"
},
- "url": {
- "example": "https://www.vinted.com/items/9595406652-vintage-leather-cabelas-womens-jacket",
+ "traits": {
+ "items": {
+ "$ref": "#/definitions/stockx.ProductTrait"
+ },
+ "type": "array"
+ },
+ "url_key": {
+ "example": "air-jordan-5-retro-black-university-blue-2026",
"type": "string"
}
},
"type": "object"
},
- "vinted.MemberResponse": {
+ "stockx.ProductSummary": {
"properties": {
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
- "example": "2026-08-07T12:00:00Z",
+ "brand": {
+ "example": "Jordan",
"type": "string"
},
- "followers_count": {
- "description": "Number of members following this member.",
- "example": 5,
- "type": "integer"
+ "gender": {
+ "example": "men",
+ "type": "string"
},
- "following_count": {
- "description": "Number of members this member follows.",
- "example": 0,
+ "highest_bid": {
+ "example": 267,
"type": "integer"
},
"id": {
- "description": "Vinted member id.",
- "example": "3159465141",
+ "example": "9acafeb5-bc4a-4d66-bc3a-4899d2e64775",
"type": "string"
},
- "location": {
- "description": "City and country the member gives on their public profile.",
- "example": "Scottsbluff, United States",
+ "image_url": {
"type": "string"
},
- "rating": {
- "description": "Member's average rating on Vinted.",
- "example": 5,
- "type": "number"
+ "last_sale": {
+ "example": 176,
+ "type": "integer"
},
- "source_url": {
- "description": "URL the data was read from.",
- "example": "https://www.vinted.com/member/3159465141",
+ "lowest_ask": {
+ "example": 173,
+ "type": "integer"
+ },
+ "model": {
+ "example": "Jordan 4 Retro",
"type": "string"
},
- "url": {
- "description": "URL of the member's profile page on Vinted.",
- "example": "https://www.vinted.com/member/3159465141",
+ "product_category": {
+ "example": "sneakers",
"type": "string"
},
- "username": {
- "description": "Member's Vinted username.",
- "example": "alexist738",
+ "release_date": {
+ "example": "2026-08-05",
+ "type": "string"
+ },
+ "title": {
+ "example": "Jordan 4 Retro Toro Bravo (2026)",
+ "type": "string"
+ },
+ "url_key": {
+ "example": "air-jordan-4-retro-toro-bravo-2026",
"type": "string"
}
},
"type": "object"
},
- "vinted.brandResponseDoc": {
+ "stockx.ProductTrait": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "format": {
+ "example": "currency",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/vinted.BrandResponse"
+ "name": {
+ "example": "Style",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "value": {
+ "example": "DD0587-008",
"type": "string"
}
},
"type": "object"
},
- "vinted.brandsResponseDoc": {
+ "stockx.ReleaseCalendarResponse": {
"properties": {
- "code": {
- "example": 200,
+ "from": {
+ "example": "2026-08-04",
+ "type": "string"
+ },
+ "limit": {
+ "example": 20,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/vinted.BrandsResponse"
+ "page": {
+ "example": 1,
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "releases": {
+ "items": {
+ "$ref": "#/definitions/stockx.ProductSummary"
+ },
+ "type": "array"
+ },
+ "total_count": {
+ "example": 469,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "stockx.SearchResponse": {
+ "properties": {
+ "category": {
+ "example": "sneakers",
+ "type": "string"
+ },
+ "limit": {
+ "example": 20,
+ "type": "integer"
+ },
+ "page": {
+ "example": 1,
+ "type": "integer"
+ },
+ "products": {
+ "items": {
+ "$ref": "#/definitions/stockx.ProductSummary"
+ },
+ "type": "array"
+ },
+ "query": {
+ "example": "jordan 5",
+ "type": "string"
+ },
+ "sort": {
+ "example": "featured",
"type": "string"
+ },
+ "total_count": {
+ "example": 1000,
+ "type": "integer"
}
},
"type": "object"
},
- "vinted.catalogResponseDoc": {
+ "stockx.Subcategory": {
+ "properties": {
+ "name": {
+ "example": "Boots",
+ "type": "string"
+ },
+ "slug": {
+ "example": "boots",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "stockx.brandsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/vinted.CatalogResponse"
+ "$ref": "#/definitions/stockx.BrandsResponse"
},
"msg": {
"example": "OK",
@@ -249402,14 +254625,14 @@
},
"type": "object"
},
- "vinted.categoriesResponseDoc": {
+ "stockx.categoriesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/vinted.CategoriesResponse"
+ "$ref": "#/definitions/stockx.CategoriesResponse"
},
"msg": {
"example": "OK",
@@ -249418,14 +254641,14 @@
},
"type": "object"
},
- "vinted.categoryResponseDoc": {
+ "stockx.productResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/vinted.CategoryResponse"
+ "$ref": "#/definitions/stockx.ProductDetail"
},
"msg": {
"example": "OK",
@@ -249434,14 +254657,14 @@
},
"type": "object"
},
- "vinted.itemResponseDoc": {
+ "stockx.releasesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/vinted.ItemResponse"
+ "$ref": "#/definitions/stockx.ReleaseCalendarResponse"
},
"msg": {
"example": "OK",
@@ -249450,14 +254673,14 @@
},
"type": "object"
},
- "vinted.memberResponseDoc": {
+ "stockx.searchResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/vinted.MemberResponse"
+ "$ref": "#/definitions/stockx.SearchResponse"
},
"msg": {
"example": "OK",
@@ -249466,1371 +254689,1225 @@
},
"type": "object"
},
- "vlr.AdvancedLine": {
+ "straitstimes.AuthorResponse": {
"properties": {
- "agent": {
- "example": "omen",
- "type": "string"
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/newsplatform.HeadlineItem"
+ },
+ "type": "array"
},
- "clutches_1v1": {
- "example": 0,
- "type": "integer"
+ "email": {
+ "type": "string"
},
- "clutches_1v2": {
- "example": 0,
- "type": "integer"
+ "name": {
+ "type": "string"
},
- "clutches_1v3": {
- "example": 0,
- "type": "integer"
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "strava.Challenge": {
+ "properties": {
+ "cover_image_url": {
+ "example": "https://dgalywyr863hv.cloudfront.net/challenges/6162/6162-cover.png",
+ "type": "string"
},
- "clutches_1v4": {
- "example": 0,
- "type": "integer"
+ "dimension": {
+ "example": "avg_pace_min_distance",
+ "type": "string"
},
- "clutches_1v5": {
- "example": 0,
- "type": "integer"
+ "duration": {
+ "example": "Aug 1, 2026 to Aug 31, 2026",
+ "type": "string"
},
- "defuses": {
- "example": 3,
- "type": "integer"
+ "goal": {
+ "example": 10000,
+ "type": "number"
},
- "econ_rating": {
- "example": 49,
- "type": "integer"
+ "goal_description": {
+ "example": "Complete a 10 km (6.2 mi) run.",
+ "type": "string"
},
- "multikills_2k": {
- "example": 13,
- "type": "integer"
+ "icon": {
+ "example": "run",
+ "type": "string"
},
- "multikills_3k": {
- "example": 1,
+ "id": {
+ "example": 6162,
"type": "integer"
},
- "multikills_4k": {
- "example": 1,
- "type": "integer"
+ "logo_image_url": {
+ "example": "https://dgalywyr863hv.cloudfront.net/challenges/6162/6162-logo.png",
+ "type": "string"
},
- "multikills_5k": {
- "example": 0,
- "type": "integer"
+ "name": {
+ "example": "August 10K Challenge",
+ "type": "string"
},
- "plants": {
- "example": 8,
- "type": "integer"
+ "sponsored": {
+ "example": false,
+ "type": "boolean"
},
- "player": {
- "$ref": "#/definitions/vlr.MatrixPlayer"
+ "url": {
+ "example": "https://www.strava.com/challenges/August-10K-challenge-2026",
+ "type": "string"
}
},
"type": "object"
},
- "vlr.AgentPick": {
+ "strava.ChallengeSection": {
"properties": {
- "agent": {
- "example": "omen",
+ "category": {
+ "example": "run",
"type": "string"
},
- "percent": {
- "example": 79,
- "type": "number"
+ "challenges": {
+ "items": {
+ "$ref": "#/definitions/strava.Challenge"
+ },
+ "type": "array"
+ },
+ "title": {
+ "example": "Run Challenges",
+ "type": "string"
}
},
"type": "object"
},
- "vlr.AgentUsage": {
+ "strava.ChallengesResponse": {
"properties": {
- "acs": {
- "example": 206.5,
- "type": "number"
- },
- "adr": {
- "example": 128.8,
- "type": "number"
- },
- "agent": {
- "example": "Jett",
+ "fetched_at": {
+ "example": "2026-08-07T12:00:00Z",
"type": "string"
},
- "assists": {
- "example": 26,
- "type": "integer"
+ "promoted_challenge": {
+ "$ref": "#/definitions/strava.Challenge"
},
- "assists_per_round": {
- "example": 0.19,
- "type": "number"
+ "sections": {
+ "items": {
+ "$ref": "#/definitions/strava.ChallengeSection"
+ },
+ "type": "array"
},
- "deaths": {
- "example": 103,
- "type": "integer"
+ "source_url": {
+ "example": "https://www.strava.com/challenges",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "strava.ClubResponse": {
+ "properties": {
+ "avatar_image_url": {
+ "example": "https://dgalywyr863hv.cloudfront.net/pictures/clubs/521703/11986503/2/large.jpg",
+ "type": "string"
},
- "first_deaths": {
- "example": 23,
- "type": "integer"
+ "country_code": {
+ "example": "us",
+ "type": "string"
},
- "first_kills": {
- "example": 14,
- "type": "integer"
+ "cover_image_url": {
+ "example": "https://dgalywyr863hv.cloudfront.net/pictures/clubs/521703/11986498/3/large.jpg",
+ "type": "string"
},
- "first_kills_per_round": {
- "example": 0.61,
- "type": "number"
+ "description": {
+ "example": "Founded in 2019 Women of OZ NWA is an inclusive, non-profit organization...",
+ "type": "string"
},
- "kast_percent": {
- "example": 63,
- "type": "number"
+ "fetched_at": {
+ "example": "2026-08-07T12:00:00Z",
+ "type": "string"
},
- "kd": {
- "example": 0.98,
- "type": "number"
+ "id": {
+ "example": "521703",
+ "type": "string"
},
- "kills": {
- "example": 101,
+ "location": {
+ "example": "Bentonville, Arkansas",
+ "type": "string"
+ },
+ "member_count": {
+ "example": 937,
"type": "integer"
},
- "kills_per_round": {
- "example": 0.74,
- "type": "number"
+ "name": {
+ "example": "Women of OZ NWA",
+ "type": "string"
},
- "rating": {
- "example": 0.93,
- "type": "number"
+ "private": {
+ "example": true,
+ "type": "boolean"
},
- "rounds": {
- "example": 137,
- "type": "integer"
+ "source_url": {
+ "example": "https://www.strava.com/clubs/521703",
+ "type": "string"
},
- "use": {
- "example": "(6) 29%",
+ "url": {
+ "example": "https://www.strava.com/clubs/521703",
"type": "string"
+ },
+ "verified": {
+ "example": false,
+ "type": "boolean"
}
},
"type": "object"
},
- "vlr.ArticleDetail": {
+ "strava.RouteCard": {
"properties": {
- "author": {
- "example": "jenopelle",
+ "description": {
+ "description": "Short description of the route.",
+ "example": "The Mallory Cave hike takes you to the mouth of a beautiful cave...",
"type": "string"
},
- "external_links": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "fetched_at": {
- "example": "2026-10-27T10:00:00Z",
+ "difficulty": {
+ "description": "Difficulty label Strava shows for the route, such as `Easy`.",
+ "example": "Easy",
"type": "string"
},
- "id": {
- "example": "781119",
+ "distance_raw": {
+ "description": "Route distance as Strava displays it, with its unit, such as `1.46 mi`.",
+ "example": "1.46 mi",
"type": "string"
},
- "images": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "paragraphs": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "published_at": {
- "example": "2026-10-28T09:16:51Z",
+ "elevation_gain_raw": {
+ "description": "Elevation gain as Strava displays it, with its unit, such as `345 ft`.",
+ "example": "345 ft",
"type": "string"
},
- "references": {
- "items": {
- "$ref": "#/definitions/vlr.ArticleRef"
- },
- "type": "array"
- },
- "source_url": {
- "example": "https://www.vlr.gg/matches",
+ "image_url": {
+ "description": "URL of the route's image.",
+ "example": "https://dgtzuqphqg23d.cloudfront.net/8UruePMrrrQMdHGsELroGsOsTMWqh030g7159PMSue4-768x576.jpg",
"type": "string"
},
- "text": {
+ "name": {
+ "description": "Name of the route as Strava shows it.",
+ "example": "Mallory Cave via N.C.A.R. Trail",
"type": "string"
},
- "title": {
- "example": "Efina set to leave Gen.G as free agent",
+ "path": {
+ "description": "Route path on Strava. Pass it to the route detail endpoint.",
+ "example": "hiking/usa/colorado/boulder/mallory-cave_5171952737974445730",
"type": "string"
},
+ "rank": {
+ "description": "Position of the route in the listing.",
+ "example": 1,
+ "type": "integer"
+ },
"url": {
+ "description": "URL of the route page on Strava.",
+ "example": "https://www.strava.com/routes/hiking/usa/colorado/boulder/mallory-cave_5171952737974445730",
"type": "string"
}
},
"type": "object"
},
- "vlr.ArticleRef": {
+ "strava.RouteDetailResponse": {
"properties": {
- "id": {
- "example": "17",
+ "difficulty": {
+ "example": "Easy",
+ "type": "string"
+ },
+ "distance_raw": {
+ "example": "1.46 mi",
+ "type": "string"
+ },
+ "elevation_gain_raw": {
+ "example": "345 ft",
+ "type": "string"
+ },
+ "estimated_time_raw": {
+ "example": "33:48",
+ "type": "string"
+ },
+ "fetched_at": {
+ "example": "2026-08-07T12:00:00Z",
"type": "string"
},
"name": {
- "example": "Gen.G",
+ "example": "Mallory Cave via N.C.A.R. Trail",
"type": "string"
},
- "slug": {
- "example": "gen-g",
+ "path": {
+ "example": "hiking/usa/colorado/boulder/mallory-cave_5171952737974445730",
"type": "string"
},
- "type": {
- "enum": [
- "team",
- "player",
- "event"
- ],
- "example": "team",
+ "route_type": {
+ "example": "Hiking Trail",
+ "type": "string"
+ },
+ "source_url": {
+ "example": "https://www.strava.com/routes/hiking/usa/colorado/boulder/mallory-cave_5171952737974445730",
+ "type": "string"
+ },
+ "summary": {
+ "example": "The Mallory Cave hike takes you to the mouth of a beautiful cave...",
"type": "string"
},
"url": {
- "example": "https://www.vlr.gg/team/17/gen-g",
+ "example": "https://www.strava.com/routes/hiking/usa/colorado/boulder/mallory-cave_5171952737974445730",
"type": "string"
}
},
"type": "object"
},
- "vlr.BuyBucket": {
+ "strava.RoutesResponse": {
"properties": {
- "buy": {
- "enum": [
- "eco",
- "half",
- "full"
- ],
- "example": "eco",
+ "country": {
+ "description": "Country slug that was requested, such as `usa`.",
+ "example": "usa",
"type": "string"
},
- "label": {
- "example": "On Eco <10k",
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-08-07T12:00:00Z",
"type": "string"
},
- "teams": {
+ "page": {
+ "description": "Page number returned, starting at 1.",
+ "example": 1,
+ "type": "integer"
+ },
+ "region": {
+ "description": "Region slug that was requested, such as `colorado`.",
+ "example": "colorado",
+ "type": "string"
+ },
+ "routes": {
+ "description": "Routes listed on this page.",
"items": {
- "$ref": "#/definitions/vlr.BuyOutcome"
+ "$ref": "#/definitions/strava.RouteCard"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "vlr.BuyOutcome": {
- "properties": {
- "team": {
- "example": "LOUD",
+ },
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://www.strava.com/routes/hiking/usa/colorado?page=1",
"type": "string"
},
- "vs_eco": {
- "$ref": "#/definitions/vlr.Ratio"
+ "sport": {
+ "description": "Sport the routes are for, such as `hiking`.",
+ "example": "hiking",
+ "type": "string"
},
- "vs_full": {
- "$ref": "#/definitions/vlr.Ratio"
+ "title": {
+ "description": "Title of the Strava route listing page.",
+ "example": "The Best Hiking Trails in Colorado",
+ "type": "string"
},
- "vs_half": {
- "$ref": "#/definitions/vlr.Ratio"
+ "total_pages": {
+ "description": "Total number of pages in the route listing.",
+ "example": 16,
+ "type": "integer"
+ },
+ "total_results": {
+ "description": "Total number of routes in the listing.",
+ "example": 318,
+ "type": "integer"
}
},
"type": "object"
},
- "vlr.CompositionMatch": {
+ "strava.challengesResponseDoc": {
"properties": {
- "agents": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "match_id": {
- "example": "777952",
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "opponent": {
- "example": "Nova Esports",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/strava.ChallengesResponse"
},
- "result": {
- "enum": [
- "win",
- "loss"
- ],
- "example": "win",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "vlr.EconomyBlock": {
+ "strava.clubResponseDoc": {
"properties": {
- "buy_buckets": {
- "items": {
- "$ref": "#/definitions/vlr.BuyBucket"
- },
- "type": "array"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "game_id": {
- "example": "283286",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/strava.ClubResponse"
},
- "map": {
- "example": "Bind",
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "map_number": {
- "example": 1,
+ }
+ },
+ "type": "object"
+ },
+ "strava.routeDetailResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "rounds": {
- "items": {
- "$ref": "#/definitions/vlr.EconomyRound"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/strava.RouteDetailResponse"
},
- "teams": {
- "items": {
- "$ref": "#/definitions/vlr.TeamEconomy"
- },
- "type": "array"
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "vlr.EconomyRound": {
+ "strava.routesResponseDoc": {
"properties": {
- "pistol": {
- "example": true,
- "type": "boolean"
- },
- "round": {
- "example": 1,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "team1_bank_k": {
- "example": 0.1,
- "type": "number"
+ "data": {
+ "$ref": "#/definitions/strava.RoutesResponse"
},
- "team1_buy": {
- "enum": [
- "eco",
- "half",
- "full"
- ],
- "example": "eco",
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "streeteasy.Area": {
+ "properties": {
+ "id": {
+ "type": "integer"
},
- "team1_loadout_k": {
- "example": 3.9,
- "type": "number"
- },
- "team2_bank_k": {
- "example": 0.1,
- "type": "number"
+ "level": {
+ "type": "integer"
},
- "team2_buy": {
- "enum": [
- "eco",
- "half",
- "full"
- ],
- "example": "eco",
+ "name": {
"type": "string"
},
- "team2_loadout_k": {
- "example": 4,
- "type": "number"
+ "parentId": {
+ "type": "integer"
},
- "winner_side": {
- "enum": [
- "attack",
- "defense"
- ],
- "example": "defense",
+ "short": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "streeteasy.BuildingAmenityGroup": {
+ "properties": {
+ "items": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "winner_team": {
- "example": "VIT",
+ "name": {
"type": "string"
}
},
"type": "object"
},
- "vlr.EventAgentsResponse": {
+ "streeteasy.BuildingDetails": {
"properties": {
- "agents": {
- "example": [
- "omen"
- ],
+ "address": {
+ "type": "string"
+ },
+ "amenities": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/streeteasy.BuildingAmenityGroup"
},
"type": "array"
},
- "compositions": {
+ "available_rental_count": {
+ "type": "integer"
+ },
+ "available_rental_listings": {
"items": {
- "$ref": "#/definitions/vlr.MapCompositions"
+ "$ref": "#/definitions/streeteasy.BuildingListing"
},
"type": "array"
},
- "event_id": {
- "example": "3166",
+ "available_sale_count": {
+ "type": "integer"
+ },
+ "available_sale_listings": {
+ "items": {
+ "$ref": "#/definitions/streeteasy.BuildingListing"
+ },
+ "type": "array"
+ },
+ "building_type": {
"type": "string"
},
- "fetched_at": {
- "example": "2026-10-27T10:00:00Z",
+ "description": {
"type": "string"
},
- "maps": {
+ "facts": {
"items": {
- "$ref": "#/definitions/vlr.MapAgentRow"
+ "$ref": "#/definitions/streeteasy.BuildingFact"
},
"type": "array"
},
- "overall": {
- "$ref": "#/definitions/vlr.MapAgentRow"
+ "floor_count": {
+ "type": "integer"
},
- "source_url": {
- "example": "https://www.vlr.gg/matches",
+ "name": {
+ "type": "string"
+ },
+ "neighborhoods": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "policies": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "slug": {
+ "type": "string"
+ },
+ "unit_count": {
+ "type": "integer"
+ },
+ "url": {
"type": "string"
+ },
+ "year_built": {
+ "type": "integer"
}
},
"type": "object"
},
- "vlr.EventDetail": {
+ "streeteasy.BuildingFact": {
"properties": {
- "dates": {
- "example": "Oct 21 – Nov 1, 2026",
+ "label": {
"type": "string"
},
- "fetched_at": {
- "example": "2026-10-27T10:00:00Z",
+ "value": {
"type": "string"
- },
- "id": {
- "example": "3166",
+ }
+ },
+ "type": "object"
+ },
+ "streeteasy.BuildingListing": {
+ "properties": {
+ "bathrooms": {
"type": "string"
},
- "image_url": {
+ "bedrooms": {
"type": "string"
},
- "location": {
+ "listed_by": {
"type": "string"
},
- "name": {
- "example": "VCT 2026: China Threshold",
+ "listing_type": {
"type": "string"
},
- "prize": {
- "example": "TBD",
+ "photo_url": {
"type": "string"
},
- "series": {
- "example": "Valorant Champions Tour 2027",
+ "price": {
"type": "string"
},
- "source_url": {
- "example": "https://www.vlr.gg/matches",
+ "square_footage": {
"type": "string"
},
- "subtitle": {
+ "unit": {
"type": "string"
},
- "teams": {
- "items": {
- "$ref": "#/definitions/vlr.TeamRef"
- },
- "type": "array"
+ "url_path": {
+ "type": "string"
}
},
"type": "object"
},
- "vlr.EventMatchesResponse": {
+ "streeteasy.GeoPoint": {
"properties": {
- "count": {
- "example": 22,
- "type": "integer"
- },
- "event_id": {
- "example": "3166",
- "type": "string"
- },
- "fetched_at": {
- "example": "2026-10-27T10:00:00Z",
- "type": "string"
- },
- "matches": {
- "items": {
- "$ref": "#/definitions/vlr.MatchSummary"
- },
- "type": "array"
+ "latitude": {
+ "type": "number"
},
- "source_url": {
- "example": "https://www.vlr.gg/matches",
- "type": "string"
+ "longitude": {
+ "type": "number"
}
},
"type": "object"
},
- "vlr.EventRef": {
+ "streeteasy.LeadMedia": {
"properties": {
- "id": {
- "example": "3166",
- "type": "string"
- },
- "name": {
- "example": "VCT 2026: China Threshold",
- "type": "string"
- },
- "series": {
- "example": "Week 2: Round of 12",
- "type": "string"
- },
- "url": {
- "type": "string"
+ "photo": {
+ "$ref": "#/definitions/streeteasy.Photo"
}
},
"type": "object"
},
- "vlr.EventStatsResponse": {
+ "streeteasy.MarketDataCatalog": {
"properties": {
- "count": {
- "example": 67,
- "type": "integer"
- },
- "event_id": {
- "example": "3166",
- "type": "string"
- },
- "fetched_at": {
- "example": "2026-10-27T10:00:00Z",
- "type": "string"
- },
- "players": {
+ "metrics": {
"items": {
- "$ref": "#/definitions/vlr.StatsRow"
+ "$ref": "#/definitions/streeteasy.MarketDataMetric"
},
"type": "array"
},
- "side": {
- "enum": [
- "all",
- "t",
- "ct"
- ],
- "example": "all",
- "type": "string"
- },
- "source_url": {
- "example": "https://www.vlr.gg/matches",
+ "source": {
"type": "string"
}
},
"type": "object"
},
- "vlr.EventSummary": {
+ "streeteasy.MarketDataMetric": {
"properties": {
- "country_code": {
- "example": "br",
- "type": "string"
- },
- "dates": {
- "example": "Oct 22—Nov 3",
+ "bedrooms": {
"type": "string"
},
"id": {
- "example": "3166",
- "type": "string"
- },
- "image_url": {
- "type": "string"
- },
- "name": {
- "example": "VCT 2026: China Threshold",
"type": "string"
},
- "prize": {
- "example": "$500,000",
+ "label": {
"type": "string"
},
- "status": {
- "enum": [
- "upcoming",
- "ongoing",
- "completed"
- ],
- "example": "ongoing",
+ "property_type": {
"type": "string"
},
- "url": {
+ "type": {
"type": "string"
}
},
"type": "object"
},
- "vlr.EventsResponse": {
+ "streeteasy.MarketDataSeries": {
"properties": {
- "count": {
- "example": 40,
+ "area_count": {
"type": "integer"
},
- "events": {
+ "areas": {
"items": {
- "$ref": "#/definitions/vlr.EventSummary"
+ "$ref": "#/definitions/streeteasy.MarketDataSeriesArea"
},
"type": "array"
},
- "fetched_at": {
- "example": "2026-10-27T10:00:00Z",
+ "data_through": {
"type": "string"
},
- "has_more": {
- "example": true,
- "type": "boolean"
- },
- "page": {
- "example": 1,
- "type": "integer"
+ "dataset": {
+ "$ref": "#/definitions/streeteasy.MarketDataMetric"
},
- "region": {
- "example": "all",
+ "end_month": {
"type": "string"
},
- "source_url": {
- "example": "https://www.vlr.gg/matches",
+ "source": {
"type": "string"
},
- "tier": {
- "example": "all",
+ "start_month": {
"type": "string"
}
},
"type": "object"
},
- "vlr.ForumCategoriesResponse": {
+ "streeteasy.MarketDataSeriesArea": {
"properties": {
- "categories": {
+ "borough": {
+ "type": "string"
+ },
+ "months": {
"items": {
- "$ref": "#/definitions/vlr.ForumCategory"
+ "$ref": "#/definitions/streeteasy.MarketDataSeriesMonth"
},
"type": "array"
},
- "count": {
- "example": 3,
- "type": "integer"
- },
- "fetched_at": {
- "example": "2026-10-27T10:00:00Z",
+ "name": {
"type": "string"
},
- "source_url": {
- "example": "https://www.vlr.gg/matches",
+ "type": {
"type": "string"
}
},
"type": "object"
},
- "vlr.ForumCategory": {
+ "streeteasy.MarketDataSeriesMonth": {
"properties": {
- "description": {
- "example": "Anything and everything Valorant",
+ "month": {
"type": "string"
},
- "group": {
- "example": "Valorant",
- "type": "string"
+ "value": {
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "streeteasy.MarketIndices": {
+ "properties": {
+ "area_count": {
+ "type": "integer"
},
- "last_post_time": {
- "example": "Oct 27, 2026 at 20:35 CET",
- "type": "string"
+ "areas": {
+ "items": {
+ "$ref": "#/definitions/streeteasy.MarketIndicesArea"
+ },
+ "type": "array"
},
- "last_poster": {
- "example": "iceypicks",
+ "data_through": {
"type": "string"
},
- "last_thread_id": {
- "example": "780920",
+ "end_month": {
"type": "string"
},
- "name": {
- "example": "Valorant Discussion",
+ "source": {
"type": "string"
},
- "posts": {
- "example": 5543705,
- "type": "integer"
- },
- "slug": {
- "enum": [
- "valorant-discussion",
- "off-topic",
- "site-feedback"
- ],
- "example": "valorant-discussion",
+ "start_month": {
"type": "string"
- },
- "threads": {
- "example": 577804,
- "type": "integer"
}
},
"type": "object"
},
- "vlr.ForumThread": {
+ "streeteasy.MarketIndicesArea": {
"properties": {
- "author": {
- "example": "enigma",
+ "borough": {
"type": "string"
},
- "category": {
- "example": "valorant-discussion",
+ "months": {
+ "items": {
+ "$ref": "#/definitions/streeteasy.MarketIndicesMonth"
+ },
+ "type": "array"
+ },
+ "name": {
"type": "string"
},
- "category_name": {
- "example": "Valorant Discussion",
+ "type": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "streeteasy.MarketIndicesMonth": {
+ "properties": {
+ "month": {
"type": "string"
},
- "frags": {
- "example": 2408,
+ "rent_index": {
+ "type": "number"
+ },
+ "sales_price_index": {
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "streeteasy.MarketInventory": {
+ "properties": {
+ "area_count": {
"type": "integer"
},
- "id": {
- "example": "780920",
- "type": "string"
+ "areas": {
+ "items": {
+ "$ref": "#/definitions/streeteasy.MarketInventoryArea"
+ },
+ "type": "array"
},
- "last_active": {
- "example": "5 years ago",
+ "data_through": {
"type": "string"
},
- "last_poster": {
- "example": "enigma",
+ "end_month": {
"type": "string"
},
- "pinned": {
- "example": false,
- "type": "boolean"
+ "source": {
+ "type": "string"
},
- "posted": {
- "example": "5 years ago",
+ "start_month": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "streeteasy.MarketInventoryArea": {
+ "properties": {
+ "borough": {
"type": "string"
},
- "replies": {
- "example": 1,
- "type": "integer"
+ "months": {
+ "items": {
+ "$ref": "#/definitions/streeteasy.MarketInventoryMonth"
+ },
+ "type": "array"
},
- "title": {
- "example": "Zak9: Cane is back",
+ "name": {
"type": "string"
},
- "url": {
+ "type": {
"type": "string"
}
},
"type": "object"
},
- "vlr.ForumThreadsResponse": {
+ "streeteasy.MarketInventoryMonth": {
"properties": {
- "category": {
- "example": "valorant-discussion",
+ "month": {
"type": "string"
},
- "count": {
- "example": 30,
+ "rental_inventory": {
"type": "integer"
},
- "fetched_at": {
- "example": "2026-10-27T10:00:00Z",
- "type": "string"
- },
- "has_more": {
- "example": true,
- "type": "boolean"
- },
- "page": {
- "example": 1,
+ "sales_inventory": {
"type": "integer"
- },
- "source_url": {
- "example": "https://www.vlr.gg/matches",
- "type": "string"
- },
- "threads": {
- "items": {
- "$ref": "#/definitions/vlr.ForumThread"
- },
- "type": "array"
}
},
"type": "object"
},
- "vlr.H2HMatch": {
+ "streeteasy.OpenHouse": {
"properties": {
- "date": {
- "example": "2026/10/16",
- "type": "string"
- },
- "event": {
- "example": "Champions 2026",
+ "end_date": {
"type": "string"
},
- "id": {
- "example": "754736",
+ "name": {
"type": "string"
},
- "stage": {
- "example": "UBF",
+ "start_date": {
"type": "string"
},
- "team1_score": {
- "example": 2,
- "type": "integer"
- },
- "team2_score": {
- "example": 1,
- "type": "integer"
- },
- "url": {
+ "status": {
"type": "string"
- },
- "winner": {
- "description": "team1/team2 are the head_to_head teams, left and right",
- "enum": [
- "team1",
- "team2"
- ],
- "example": "team1",
+ }
+ },
+ "type": "object"
+ },
+ "streeteasy.Photo": {
+ "properties": {
+ "key": {
"type": "string"
}
},
"type": "object"
},
- "vlr.HeadToHead": {
+ "streeteasy.QuickSearchEntry": {
"properties": {
- "matches": {
+ "details": {
"items": {
- "$ref": "#/definitions/vlr.H2HMatch"
+ "type": "string"
},
"type": "array"
},
- "team1": {
- "example": "LOUD",
+ "name": {
"type": "string"
},
- "team2": {
- "example": "Team Vitality",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "vlr.HistoryResponse": {
+ "streeteasy.QuickSearchGroup": {
"properties": {
- "count": {
- "example": 50,
- "type": "integer"
+ "entries": {
+ "items": {
+ "$ref": "#/definitions/streeteasy.QuickSearchEntry"
+ },
+ "type": "array"
},
- "fetched_at": {
- "example": "2026-10-27T10:00:00Z",
+ "id": {
"type": "string"
},
- "has_more": {
- "example": true,
+ "is_preview": {
"type": "boolean"
},
- "id": {
- "example": "2059",
+ "title": {
"type": "string"
},
- "matches": {
- "items": {
- "$ref": "#/definitions/vlr.TeamMatch"
- },
- "type": "array"
- },
- "page": {
- "example": 1,
+ "total_count": {
"type": "integer"
- },
- "source_url": {
- "example": "https://www.vlr.gg/matches",
- "type": "string"
}
},
"type": "object"
},
- "vlr.KillMatrix": {
+ "streeteasy.QuickSearchResult": {
"properties": {
- "mode": {
- "enum": [
- "overall",
- "first_kills",
- "op_kills"
- ],
- "example": "overall",
- "type": "string"
- },
- "rows": {
+ "groups": {
"items": {
- "$ref": "#/definitions/vlr.MatrixRow"
+ "$ref": "#/definitions/streeteasy.QuickSearchGroup"
},
"type": "array"
+ },
+ "query": {
+ "type": "string"
}
},
"type": "object"
},
- "vlr.MapAgentRow": {
+ "streeteasy.RentalEdge": {
"properties": {
- "attack_win_percent": {
- "example": 49,
- "type": "number"
- },
- "defense_win_percent": {
- "example": 51,
- "type": "number"
- },
- "games": {
- "example": 8,
- "type": "integer"
+ "node": {
+ "$ref": "#/definitions/streeteasy.RentalListing"
},
- "map": {
- "example": "Summit",
+ "type": {
"type": "string"
- },
- "pick_rates": {
- "items": {
- "$ref": "#/definitions/vlr.AgentPick"
- },
- "type": "array"
}
},
"type": "object"
},
- "vlr.MapCompositions": {
+ "streeteasy.RentalListing": {
"properties": {
- "map": {
- "example": "Split",
+ "advertisedOnSe": {
+ "type": "boolean"
+ },
+ "areaName": {
"type": "string"
},
- "teams": {
- "items": {
- "$ref": "#/definitions/vlr.TeamComposition"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "vlr.MapResult": {
- "properties": {
- "duration": {
- "example": "41:12",
+ "bedroomCount": {
+ "type": "integer"
+ },
+ "buildingType": {
"type": "string"
},
+ "fullBathroomCount": {
+ "type": "integer"
+ },
+ "furnished": {
+ "type": "boolean"
+ },
+ "geoPoint": {
+ "$ref": "#/definitions/streeteasy.GeoPoint"
+ },
+ "halfBathroomCount": {
+ "type": "integer"
+ },
"id": {
- "example": "287476",
"type": "string"
},
- "name": {
- "example": "Summit",
+ "isPremiumHdpEnabled": {
+ "type": "boolean"
+ },
+ "leadMedia": {
+ "$ref": "#/definitions/streeteasy.LeadMedia"
+ },
+ "offMarketAt": {
"type": "string"
},
- "number": {
- "example": 1,
- "type": "integer"
+ "price": {
+ "type": "number"
},
- "picked_by": {
- "example": "Unsettled Resentment",
+ "saleType": {
"type": "string"
},
- "players": {
- "items": {
- "$ref": "#/definitions/vlr.PlayerLine"
- },
- "type": "array"
+ "sourceGroupLabel": {
+ "type": "string"
},
- "teams": {
- "items": {
- "$ref": "#/definitions/vlr.MapTeamResult"
- },
- "type": "array"
+ "status": {
+ "type": "string"
+ },
+ "street": {
+ "type": "string"
+ },
+ "tier": {
+ "type": "string"
+ },
+ "totalMonthlyPrice": {
+ "type": "number"
+ },
+ "unit": {
+ "type": "string"
+ },
+ "urlPath": {
+ "type": "string"
}
},
"type": "object"
},
- "vlr.MapSide": {
+ "streeteasy.RentalSearch": {
"properties": {
- "first_rounds": {
- "example": 21,
- "type": "integer"
- },
- "round_win_percent": {
- "example": 47,
- "type": "number"
+ "edges": {
+ "items": {
+ "$ref": "#/definitions/streeteasy.RentalEdge"
+ },
+ "type": "array"
},
- "rounds_lost": {
- "example": 248,
- "type": "integer"
+ "search": {
+ "properties": {
+ "criteria": {
+ "type": "string"
+ }
+ },
+ "type": "object"
},
- "rounds_won": {
- "example": 223,
+ "totalCount": {
"type": "integer"
}
},
"type": "object"
},
- "vlr.MapTeamResult": {
+ "streeteasy.SaleEdge": {
"properties": {
- "name": {
- "example": "Unsettled Resentment",
- "type": "string"
- },
- "rounds": {
- "$ref": "#/definitions/vlr.RoundSplit"
+ "node": {
+ "$ref": "#/definitions/streeteasy.SaleListing"
},
- "score": {
- "example": 17,
- "type": "integer"
+ "type": {
+ "type": "string"
}
},
"type": "object"
},
- "vlr.MatchDetail": {
+ "streeteasy.SaleListing": {
"properties": {
- "all_maps_players": {
- "items": {
- "$ref": "#/definitions/vlr.PlayerLine"
- },
- "type": "array"
- },
- "event": {
- "$ref": "#/definitions/vlr.EventRef"
+ "advertisedOnSe": {
+ "type": "boolean"
},
- "fetched_at": {
- "example": "2026-10-27T10:00:00Z",
+ "areaName": {
"type": "string"
},
- "format": {
- "example": "Bo3",
+ "bedroomCount": {
+ "type": "integer"
+ },
+ "buildingType": {
"type": "string"
},
- "head_to_head": {
- "$ref": "#/definitions/vlr.HeadToHead"
+ "fullBathroomCount": {
+ "type": "integer"
+ },
+ "furnished": {
+ "type": "boolean"
+ },
+ "geoPoint": {
+ "$ref": "#/definitions/streeteasy.GeoPoint"
},
"id": {
- "example": "777956",
"type": "string"
},
- "maps": {
- "items": {
- "$ref": "#/definitions/vlr.MapResult"
- },
- "type": "array"
+ "isPremiumHdpEnabled": {
+ "type": "boolean"
},
- "note": {
+ "leadMedia": {
+ "$ref": "#/definitions/streeteasy.LeadMedia"
+ },
+ "offMarketAt": {
"type": "string"
},
- "past_matches": {
- "items": {
- "$ref": "#/definitions/vlr.PastMatches"
- },
- "type": "array"
+ "price": {
+ "type": "number"
},
- "source_url": {
- "example": "https://www.vlr.gg/matches",
+ "saleType": {
"type": "string"
},
- "start_time_utc": {
- "example": "2026-10-27T05:00:00Z",
+ "sourceGroupLabel": {
"type": "string"
},
- "status": {
- "example": "final",
+ "street": {
"type": "string"
},
- "teams": {
- "items": {
- "$ref": "#/definitions/vlr.TeamScore"
- },
- "type": "array"
+ "unit": {
+ "type": "string"
},
- "url": {
+ "urlPath": {
"type": "string"
}
},
"type": "object"
},
- "vlr.MatchEconomy": {
+ "streeteasy.SaleSearch": {
"properties": {
- "all_maps": {
- "$ref": "#/definitions/vlr.EconomyBlock"
- },
- "available": {
- "example": true,
- "type": "boolean"
- },
- "fetched_at": {
- "example": "2026-10-27T10:00:00Z",
- "type": "string"
- },
- "id": {
- "example": "754737",
- "type": "string"
- },
- "maps": {
+ "edges": {
"items": {
- "$ref": "#/definitions/vlr.EconomyBlock"
+ "$ref": "#/definitions/streeteasy.SaleEdge"
},
"type": "array"
},
- "source_url": {
- "example": "https://www.vlr.gg/matches",
- "type": "string"
+ "search": {
+ "properties": {
+ "criteria": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "totalCount": {
+ "type": "integer"
}
},
"type": "object"
},
- "vlr.MatchListResponse": {
+ "streeteasy.SchoolDetails": {
"properties": {
- "count": {
- "example": 50,
+ "address": {
+ "type": "string"
+ },
+ "district": {
"type": "integer"
},
- "fetched_at": {
- "example": "2026-10-27T10:00:00Z",
+ "fax": {
"type": "string"
},
- "has_more": {
- "example": true,
- "type": "boolean"
- },
- "matches": {
+ "grades": {
"items": {
- "$ref": "#/definitions/vlr.MatchSummary"
+ "type": "string"
},
"type": "array"
},
- "page": {
- "example": 1,
- "type": "integer"
- },
- "source_url": {
- "example": "https://www.vlr.gg/matches",
+ "name": {
"type": "string"
- }
- },
- "type": "object"
- },
- "vlr.MatchPerformance": {
- "properties": {
- "all_maps": {
- "$ref": "#/definitions/vlr.PerformanceBlock"
- },
- "available": {
- "example": true,
- "type": "boolean"
},
- "fetched_at": {
- "example": "2026-10-27T10:00:00Z",
+ "neighborhood": {
"type": "string"
},
- "id": {
- "example": "754737",
+ "phone": {
"type": "string"
},
- "maps": {
- "items": {
- "$ref": "#/definitions/vlr.PerformanceBlock"
- },
- "type": "array"
+ "slug": {
+ "type": "string"
},
- "source_url": {
- "example": "https://www.vlr.gg/matches",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "vlr.MatchRounds": {
+ "streeteasy.UnitAddress": {
"properties": {
- "available": {
- "example": true,
- "type": "boolean"
+ "country": {
+ "type": "string"
},
- "fetched_at": {
- "example": "2026-10-27T10:00:00Z",
+ "neighborhood": {
"type": "string"
},
- "id": {
- "example": "754737",
+ "postal_code": {
"type": "string"
},
- "maps": {
- "items": {
- "$ref": "#/definitions/vlr.RoundsBlock"
- },
- "type": "array"
+ "region": {
+ "type": "string"
},
- "source_url": {
- "example": "https://www.vlr.gg/matches",
+ "street": {
"type": "string"
}
},
"type": "object"
},
- "vlr.MatchSummary": {
+ "streeteasy.UnitDetails": {
"properties": {
- "date": {
- "example": "2026-10-27",
- "type": "string"
+ "address": {
+ "$ref": "#/definitions/streeteasy.UnitAddress"
},
- "eta": {
- "example": "3h 33m",
- "type": "string"
+ "amenities": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "event": {
- "example": "VCT 2026: China Threshold",
+ "availability": {
"type": "string"
},
- "has_stats": {
- "example": true,
- "type": "boolean"
- },
- "has_vods": {
- "example": false,
- "type": "boolean"
+ "building_slug": {
+ "type": "string"
},
- "id": {
- "example": "777956",
+ "currency": {
"type": "string"
},
- "note": {
+ "description": {
"type": "string"
},
- "series": {
- "example": "Week 2–Round of 12",
+ "listed_date": {
"type": "string"
},
- "status": {
- "enum": [
- "upcoming",
- "live",
- "completed"
- ],
- "example": "completed",
+ "name": {
"type": "string"
},
- "teams": {
+ "open_houses": {
"items": {
- "$ref": "#/definitions/vlr.MatchTeam"
+ "$ref": "#/definitions/streeteasy.OpenHouse"
},
"type": "array"
},
- "time_label": {
- "example": "5:00 PM",
+ "photo_url": {
+ "type": "string"
+ },
+ "price": {
+ "type": "number"
+ },
+ "unit": {
"type": "string"
},
"url": {
- "example": "https://www.vlr.gg/777956/unsettled-resentment-vs-victory-no-limits-gaming-vct-2026-china-threshold-week-2-ro12",
"type": "string"
}
},
"type": "object"
},
- "vlr.MatchTeam": {
+ "stubhub.CarouselEvent": {
"properties": {
- "country_code": {
- "example": "cn",
- "type": "string"
+ "category_id": {
+ "example": 33253,
+ "type": "integer"
},
- "name": {
- "example": "Unsettled Resentment",
+ "day_of_week": {
+ "example": "Sat",
"type": "string"
},
- "score": {
- "example": 2,
+ "event_id": {
+ "example": 161204289,
"type": "integer"
},
- "winner": {
- "example": true,
+ "image_url": {
+ "type": "string"
+ },
+ "is_date_confirmed": {
"type": "boolean"
- }
- },
- "type": "object"
- },
- "vlr.MatrixCell": {
- "properties": {
- "deaths": {
- "example": 15,
- "type": "integer"
},
- "diff": {
- "example": -4,
- "type": "integer"
+ "is_time_confirmed": {
+ "type": "boolean"
},
- "kills": {
- "example": 11,
- "type": "integer"
+ "local_event_date": {
+ "example": "Mar 06 2027",
+ "type": "string"
+ },
+ "local_event_time": {
+ "example": "7:30 PM",
+ "type": "string"
+ },
+ "location": {
+ "example": "Kai Tak, Kowloon City",
+ "type": "string"
+ },
+ "min_price": {
+ "example": 99,
+ "type": "number"
},
- "opponent": {
- "$ref": "#/definitions/vlr.MatrixPlayer"
- }
- },
- "type": "object"
- },
- "vlr.MatrixPlayer": {
- "properties": {
"name": {
- "example": "erde",
+ "example": "BTS",
"type": "string"
},
- "team": {
- "example": "LOUD",
+ "url": {
"type": "string"
- }
- },
- "type": "object"
- },
- "vlr.MatrixRow": {
- "properties": {
- "player": {
- "$ref": "#/definitions/vlr.MatrixPlayer"
},
- "vs": {
- "items": {
- "$ref": "#/definitions/vlr.MatrixCell"
- },
- "type": "array"
+ "venue_name": {
+ "type": "string"
}
},
"type": "object"
},
- "vlr.NewsItem": {
+ "stubhub.CarouselPerson": {
"properties": {
- "author": {
- "example": "jenopelle",
- "type": "string"
+ "available_local_events": {
+ "example": 4,
+ "type": "integer"
},
- "country_code": {
- "example": "kr",
- "type": "string"
+ "category_id": {
+ "example": 26202,
+ "type": "integer"
},
- "date": {
- "example": "2026-10-27",
+ "formatted_local_events_dates": {
+ "example": "Nov 27 - Dec 06",
"type": "string"
},
- "description": {
+ "image_credit_name": {
"type": "string"
},
- "id": {
- "example": "780785",
+ "image_url": {
"type": "string"
},
- "title": {
- "example": "T1 Academy's full roster released ahead of 2027 season",
+ "name": {
+ "example": "The Weeknd",
"type": "string"
},
"url": {
@@ -250839,1189 +255916,945 @@
},
"type": "object"
},
- "vlr.NewsResponse": {
+ "stubhub.CarouselResponse": {
"properties": {
- "count": {
- "example": 30,
+ "alternative_performers": {
+ "items": {
+ "$ref": "#/definitions/stubhub.CarouselPerson"
+ },
+ "type": "array"
+ },
+ "category_id": {
"type": "integer"
},
"fetched_at": {
- "example": "2026-10-27T10:00:00Z",
"type": "string"
},
- "has_more": {
- "example": true,
- "type": "boolean"
+ "lat": {
+ "type": "number"
},
- "items": {
+ "lon": {
+ "type": "number"
+ },
+ "max": {
+ "type": "integer"
+ },
+ "maybe_interested_in": {
"items": {
- "$ref": "#/definitions/vlr.NewsItem"
+ "$ref": "#/definitions/stubhub.CarouselPerson"
},
"type": "array"
},
- "page": {
- "example": 1,
+ "performer_id": {
"type": "integer"
},
+ "performer_slug": {
+ "type": "string"
+ },
+ "recently_viewed": {
+ "items": {
+ "$ref": "#/definitions/stubhub.CarouselPerson"
+ },
+ "type": "array"
+ },
"source_url": {
- "example": "https://www.vlr.gg/matches",
"type": "string"
+ },
+ "top_level_category_id": {
+ "type": "integer"
+ },
+ "trending_events": {
+ "items": {
+ "$ref": "#/definitions/stubhub.CarouselEvent"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "vlr.PastMatch": {
+ "stubhub.CategoriesResponse": {
"properties": {
- "date": {
- "example": "2026/10/16",
- "type": "string"
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/stubhub.Category"
+ },
+ "type": "array"
},
- "id": {
- "example": "754736",
- "type": "string"
+ "count": {
+ "example": 12,
+ "type": "integer"
},
- "opponent": {
- "example": "Team Vitality",
+ "fetched_at": {
"type": "string"
},
- "result": {
- "enum": [
- "win",
- "loss"
- ],
- "example": "win",
+ "from": {
"type": "string"
},
- "score": {
- "example": "2:1",
+ "source_url": {
"type": "string"
},
- "url": {
+ "to": {
"type": "string"
}
},
"type": "object"
},
- "vlr.PastMatches": {
+ "stubhub.Category": {
"properties": {
- "matches": {
- "items": {
- "$ref": "#/definitions/vlr.PastMatch"
- },
- "type": "array"
+ "id": {
+ "example": 5084,
+ "type": "integer"
},
- "team": {
- "example": "LOUD",
+ "is_venue": {
+ "type": "boolean"
+ },
+ "min_price": {
+ "example": 45,
+ "type": "number"
+ },
+ "name": {
+ "example": "NFL",
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "vlr.PerformanceBlock": {
+ "stubhub.CategoryEvent": {
"properties": {
- "advanced": {
- "items": {
- "$ref": "#/definitions/vlr.AdvancedLine"
- },
- "type": "array"
+ "country": {
+ "example": "USA",
+ "type": "string"
},
- "game_id": {
- "example": "283286",
+ "date": {
+ "example": "Sep 15",
"type": "string"
},
- "kill_matrices": {
- "items": {
- "$ref": "#/definitions/vlr.KillMatrix"
- },
- "type": "array"
+ "day_of_week": {
+ "example": "Tue",
+ "type": "string"
},
- "map": {
- "example": "Bind",
+ "distance_miles": {
+ "example": "26 mi",
"type": "string"
},
- "map_number": {
- "example": 1,
+ "event_id": {
+ "example": 161280784,
"type": "integer"
- }
- },
- "type": "object"
- },
- "vlr.PlayerDetail": {
- "properties": {
- "agent_stats": {
- "items": {
- "$ref": "#/definitions/vlr.AgentUsage"
- },
- "type": "array"
},
- "alias": {
- "example": "Jamppi",
- "type": "string"
+ "has_active_listings": {
+ "type": "boolean"
},
- "country": {
- "example": "FINLAND",
- "type": "string"
+ "is_date_confirmed": {
+ "type": "boolean"
},
- "country_code": {
- "example": "fi",
- "type": "string"
+ "is_multiday_event": {
+ "type": "boolean"
},
- "current_teams": {
- "items": {
- "$ref": "#/definitions/vlr.PlayerTeam"
- },
- "type": "array"
+ "is_parking_pass": {
+ "type": "boolean"
},
- "fetched_at": {
- "example": "2026-10-27T10:00:00Z",
- "type": "string"
+ "is_time_confirmed": {
+ "type": "boolean"
},
- "id": {
- "example": "9780",
+ "name": {
+ "example": "ERRA",
"type": "string"
},
- "image_url": {
+ "time": {
+ "example": "6:30 PM",
"type": "string"
},
- "links": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "past_teams": {
- "items": {
- "$ref": "#/definitions/vlr.PlayerTeam"
- },
- "type": "array"
+ "url": {
+ "type": "string"
},
- "real_name": {
- "example": "Elias Olkkonen",
+ "venue_city": {
+ "example": "Sayreville",
"type": "string"
},
- "recent_matches": {
- "items": {
- "$ref": "#/definitions/vlr.TeamMatch"
- },
- "type": "array"
+ "venue_name": {
+ "example": "Starland Ballroom",
+ "type": "string"
},
- "source_url": {
- "example": "https://www.vlr.gg/matches",
+ "venue_state": {
+ "example": "NJ",
"type": "string"
}
},
"type": "object"
},
- "vlr.PlayerLine": {
+ "stubhub.CategoryEventsResponse": {
"properties": {
- "acs": {
- "example": 297,
+ "category_id": {
"type": "integer"
},
- "adr": {
- "example": 178.3,
- "type": "number"
+ "count": {
+ "example": 20,
+ "type": "integer"
},
- "agents": {
- "example": [
- "Harbor"
- ],
+ "events": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/stubhub.CategoryEvent"
},
"type": "array"
},
- "assists": {
- "example": 12,
- "type": "integer"
- },
- "country_code": {
- "example": "cn",
+ "fetched_at": {
"type": "string"
},
- "deaths": {
- "example": 23,
- "type": "integer"
- },
- "first_deaths": {
- "example": 3,
- "type": "integer"
- },
- "first_kills": {
- "example": 5,
+ "page": {
+ "example": 1,
"type": "integer"
},
- "fk_diff": {
- "example": 2,
+ "page_size": {
+ "example": 20,
"type": "integer"
},
- "headshot_percent": {
- "example": 24,
- "type": "number"
- },
- "id": {
- "example": "66833",
+ "source_url": {
"type": "string"
},
- "kast_percent": {
- "example": 72,
- "type": "number"
- },
- "kd_diff": {
- "example": 13,
- "type": "integer"
- },
- "kills": {
- "example": 36,
+ "total_count": {
+ "example": 1588,
"type": "integer"
- },
- "name": {
- "example": "Hopedawn",
- "type": "string"
- },
- "rating": {
- "example": 1.12,
- "type": "number"
- },
- "team": {
- "example": "UR",
- "type": "string"
}
},
"type": "object"
},
- "vlr.PlayerRef": {
+ "stubhub.ExploreEvent": {
"properties": {
- "country_code": {
- "example": "cl",
- "type": "string"
+ "category_id": {
+ "example": 5084,
+ "type": "integer"
},
- "id": {
- "example": "29242",
+ "date": {
+ "example": "Sep 15",
"type": "string"
},
- "name": {
- "example": "erde",
+ "day_of_week": {
+ "example": "Tue",
"type": "string"
},
- "team": {
- "example": "LOUD",
- "type": "string"
- }
- },
- "type": "object"
- },
- "vlr.PlayerTeam": {
- "properties": {
- "id": {
- "example": "21919",
+ "event_id": {
+ "example": 161341819,
+ "type": "integer"
+ },
+ "has_active_listings": {
+ "type": "boolean"
+ },
+ "image_url": {
"type": "string"
},
- "logo_url": {
+ "is_date_confirmed": {
+ "type": "boolean"
+ },
+ "is_time_confirmed": {
+ "type": "boolean"
+ },
+ "location": {
+ "example": "Inglewood, CA, USA",
"type": "string"
},
"name": {
- "example": "Unsettled Resentment",
+ "example": "Taylor Swift",
"type": "string"
},
- "period": {
- "example": "January 2025 - Present",
+ "time": {
+ "example": "10:00 AM",
"type": "string"
},
- "tag": {
- "example": "UR",
+ "url": {
"type": "string"
},
- "url": {
+ "venue_name": {
+ "example": "SoFi Stadium",
"type": "string"
}
},
"type": "object"
},
- "vlr.RankingRow": {
+ "stubhub.ExploreResponse": {
"properties": {
- "country": {
- "example": "United States",
- "type": "string"
+ "count": {
+ "example": 20,
+ "type": "integer"
},
- "earnings": {
- "example": "$1,191,150",
+ "events": {
+ "items": {
+ "$ref": "#/definitions/stubhub.ExploreEvent"
+ },
+ "type": "array"
+ },
+ "fetched_at": {
"type": "string"
},
- "last_match_id": {
- "example": "754743",
+ "from": {
"type": "string"
},
- "rank": {
- "example": 1,
- "type": "integer"
+ "lat": {
+ "type": "number"
},
- "rating": {
- "example": 2000,
+ "lon": {
"type": "number"
},
- "record": {
- "example": "62–35",
+ "source_url": {
"type": "string"
},
- "streak": {
- "example": "1L",
+ "to": {
"type": "string"
- },
- "team": {
- "$ref": "#/definitions/vlr.TeamRef"
}
},
"type": "object"
},
- "vlr.RankingsResponse": {
+ "stubhub.NavigationCategoriesResponse": {
"properties": {
- "count": {
- "example": 50,
+ "category_id": {
+ "example": 1,
"type": "integer"
},
- "fetched_at": {
- "example": "2026-10-27T10:00:00Z",
- "type": "string"
- },
- "region": {
- "example": "north-america",
- "type": "string"
- },
- "source_url": {
- "example": "https://www.vlr.gg/matches",
- "type": "string"
+ "id": {
+ "example": 1,
+ "type": "integer"
},
- "teams": {
+ "subcategories": {
"items": {
- "$ref": "#/definitions/vlr.RankingRow"
+ "$ref": "#/definitions/stubhub.NavigationCategory"
},
"type": "array"
},
- "total": {
- "example": 197,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "vlr.Ratio": {
- "properties": {
- "played": {
- "example": 8,
- "type": "integer"
+ "title": {
+ "example": "Theater",
+ "type": "string"
},
- "won": {
- "example": 3,
- "type": "integer"
+ "url": {
+ "example": "https://www.stubhub.com/theater-and-arts-tickets/category/174",
+ "type": "string"
+ },
+ "view_all_content": {
+ "example": "View More Theater",
+ "type": "string"
}
},
"type": "object"
},
- "vlr.RosterMember": {
+ "stubhub.NavigationCategory": {
"properties": {
- "alias": {
- "example": "Jamppi",
- "type": "string"
- },
- "country_code": {
- "example": "fi",
- "type": "string"
- },
"id": {
- "example": "9780",
- "type": "string"
+ "example": 12585,
+ "type": "integer"
},
- "image_url": {
+ "subcategories": {
+ "items": {
+ "$ref": "#/definitions/stubhub.NavigationCategory"
+ },
+ "type": "array"
+ },
+ "title": {
+ "example": "Broadway Shows",
"type": "string"
},
- "real_name": {
- "example": "Elias Olkkonen",
+ "url": {
+ "example": "https://www.stubhub.com/broadway-shows-tickets/category/138275421",
"type": "string"
},
- "role": {
- "enum": [
- "player",
- "captain",
- "coach",
- "manager",
- "analyst",
- "staff"
- ],
- "example": "player",
+ "view_all_content": {
+ "example": "View More Theater",
"type": "string"
}
},
"type": "object"
},
- "vlr.RoundEvent": {
+ "stubhub.PerformerEvent": {
"properties": {
- "player": {
- "example": "Derke",
+ "availability": {
+ "example": "http://schema.org/InStock",
"type": "string"
},
- "player_team": {
- "example": "VIT",
- "type": "string"
+ "low_price": {
+ "example": 71.87,
+ "type": "number"
},
- "time": {
- "example": "0:02",
+ "name": {
+ "example": "Indianapolis Colts at Kansas City Chiefs",
"type": "string"
},
- "type": {
- "enum": [
- "kill",
- "plant",
- "defuse"
- ],
- "example": "kill",
+ "price_currency": {
+ "example": "USD",
"type": "string"
},
- "victim": {
- "example": "lukxo",
+ "start_date": {
+ "example": "2026-09-20T19:20:00",
"type": "string"
},
- "weapon": {
- "example": "Headhunter",
- "type": "string"
- }
- },
- "type": "object"
- },
- "vlr.RoundLoadout": {
- "properties": {
- "agent": {
- "example": "Sage",
+ "url": {
"type": "string"
},
- "armor": {
- "example": "Light armor",
+ "venue_city": {
+ "example": "Kansas City",
"type": "string"
},
- "credits_left": {
- "example": 0,
- "type": "integer"
- },
- "player": {
- "example": "erde",
+ "venue_country": {
+ "example": "USA",
"type": "string"
},
- "spent": {
- "example": 800,
- "type": "integer"
- },
- "team": {
- "example": "LOUD",
+ "venue_name": {
+ "example": "GEHA Field at Arrowhead Stadium",
"type": "string"
},
- "weapon": {
- "example": "Ghost",
+ "venue_state": {
+ "example": "Missouri",
"type": "string"
}
},
"type": "object"
},
- "vlr.RoundLog": {
+ "stubhub.PerformerEventsResponse": {
"properties": {
- "attacking_team": {
- "example": "LOUD",
- "type": "string"
+ "count": {
+ "example": 10,
+ "type": "integer"
},
"events": {
"items": {
- "$ref": "#/definitions/vlr.RoundEvent"
+ "$ref": "#/definitions/stubhub.PerformerEvent"
},
"type": "array"
},
- "loadouts": {
- "items": {
- "$ref": "#/definitions/vlr.RoundLoadout"
- },
- "type": "array"
+ "fetched_at": {
+ "type": "string"
},
- "round": {
- "example": 1,
+ "performer_id": {
"type": "integer"
},
- "score_after": {
- "$ref": "#/definitions/vlr.RoundScore"
- },
- "spike_detonated": {
- "example": false,
- "type": "boolean"
+ "performer_slug": {
+ "type": "string"
},
- "winner_team": {
- "example": "Team Vitality",
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "vlr.RoundScore": {
+ "stubhub.SearchGroup": {
"properties": {
- "team1": {
- "example": 0,
+ "count": {
+ "example": 3,
"type": "integer"
},
- "team2": {
- "example": 1,
+ "entity": {
+ "example": 5,
"type": "integer"
+ },
+ "results": {
+ "items": {
+ "$ref": "#/definitions/stubhub.SearchResult"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "vlr.RoundSplit": {
+ "stubhub.SearchResponse": {
"properties": {
- "attack": {
- "example": 6,
- "type": "integer"
+ "fetched_at": {
+ "type": "string"
},
- "defend": {
- "example": 6,
- "type": "integer"
+ "groups": {
+ "items": {
+ "$ref": "#/definitions/stubhub.SearchGroup"
+ },
+ "type": "array"
},
- "overtime": {
- "example": 5,
- "type": "integer"
+ "more": {
+ "type": "boolean"
+ },
+ "query": {
+ "example": "The Weeknd",
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "special_char_only": {
+ "type": "boolean"
}
},
"type": "object"
},
- "vlr.RoundsBlock": {
+ "stubhub.SearchResult": {
"properties": {
- "game_id": {
- "example": "283286",
+ "category_image_url": {
"type": "string"
},
- "map": {
- "example": "Summit",
+ "entity_type": {
+ "example": 1,
+ "type": "integer"
+ },
+ "icon_name": {
+ "example": "Concert",
"type": "string"
},
- "map_number": {
- "example": 1,
+ "id": {
+ "example": 26202,
"type": "integer"
},
- "rounds": {
- "items": {
- "$ref": "#/definitions/vlr.RoundLog"
- },
- "type": "array"
+ "image_url": {
+ "type": "string"
+ },
+ "subtitle": {
+ "example": "Concert Tickets",
+ "type": "string"
+ },
+ "title": {
+ "example": "The Weeknd",
+ "type": "string"
+ },
+ "url": {
+ "example": "https://www.stubhub.com/the-weeknd-tickets/performer/714235",
+ "type": "string"
}
},
"type": "object"
},
- "vlr.SearchCounts": {
+ "stubhub.SuggestedSearch": {
"properties": {
- "events": {
- "example": 5,
- "type": "integer"
+ "category_image_url": {
+ "type": "string"
},
- "players": {
- "example": 16,
+ "id": {
+ "example": 26202,
"type": "integer"
},
- "teams": {
- "example": 26,
+ "title": {
+ "example": "The Weeknd",
+ "type": "string"
+ },
+ "top_level_category_id": {
+ "example": 3,
"type": "integer"
+ },
+ "url": {
+ "example": "https://www.stubhub.com/the-weeknd-tickets/performer/714235",
+ "type": "string"
}
},
"type": "object"
},
- "vlr.SearchResponse": {
+ "stubhub.SuggestedSearchesResponse": {
"properties": {
"count": {
- "example": 47,
+ "example": 10,
"type": "integer"
},
- "counts": {
- "$ref": "#/definitions/vlr.SearchCounts"
- },
"fetched_at": {
- "example": "2026-10-27T10:00:00Z",
"type": "string"
},
- "query": {
- "example": "prime",
+ "source_url": {
"type": "string"
},
- "results": {
+ "suggestions": {
"items": {
- "$ref": "#/definitions/vlr.SearchResult"
+ "$ref": "#/definitions/stubhub.SuggestedSearch"
},
"type": "array"
- },
- "source_url": {
- "example": "https://www.vlr.gg/matches",
- "type": "string"
- },
- "type": {
- "enum": [
- "all",
- "teams",
- "events",
- "players"
- ],
- "example": "all",
- "type": "string"
}
},
"type": "object"
},
- "vlr.SearchResult": {
+ "stubhub.TrendingEvent": {
"properties": {
- "date_range": {
- "example": "May 27, 2026 to Jul 28, 2026",
- "type": "string"
+ "category_id": {
+ "example": 4892,
+ "type": "integer"
},
- "description": {
- "example": "May 27, 2026 to Jul 28, 2026 ⋅ $500",
+ "date": {
+ "example": "Sep 19 2026",
"type": "string"
},
- "id": {
- "example": "2",
+ "day_of_week": {
+ "example": "Sat",
"type": "string"
},
+ "event_id": {
+ "example": 160790802,
+ "type": "integer"
+ },
"image_url": {
"type": "string"
},
- "inactive": {
- "example": true,
+ "is_date_confirmed": {
"type": "boolean"
},
- "kind": {
- "enum": [
- "team",
- "event",
- "player"
- ],
- "example": "team",
+ "is_time_confirmed": {
+ "type": "boolean"
+ },
+ "location": {
+ "example": "Nanterre, Ile-de-France",
"type": "string"
},
"name": {
- "example": "Sentinels",
+ "example": "Celine Dion",
"type": "string"
},
- "prize_pool": {
- "example": "$500",
+ "time": {
+ "example": "7:30 PM",
"type": "string"
},
- "successor": {
- "example": "Into The Breach Prime",
+ "url": {
"type": "string"
},
- "url": {
- "example": "https://www.vlr.gg/team/2",
+ "venue_name": {
"type": "string"
}
},
"type": "object"
},
- "vlr.StatsResponse": {
+ "stubhub.TrendingEventsResponse": {
"properties": {
"count": {
- "example": 50,
+ "example": 20,
"type": "integer"
},
+ "events": {
+ "items": {
+ "$ref": "#/definitions/stubhub.TrendingEvent"
+ },
+ "type": "array"
+ },
"fetched_at": {
- "example": "2026-10-27T10:00:00Z",
"type": "string"
},
- "has_more": {
- "example": true,
- "type": "boolean"
- },
"page": {
"example": 1,
"type": "integer"
},
- "players": {
- "items": {
- "$ref": "#/definitions/vlr.StatsRow"
- },
- "type": "array"
+ "page_size": {
+ "example": 20,
+ "type": "integer"
},
"source_url": {
- "example": "https://www.vlr.gg/matches",
"type": "string"
+ },
+ "top_level_category_id": {
+ "type": "integer"
+ },
+ "total_count": {
+ "example": 200,
+ "type": "integer"
}
},
"type": "object"
},
- "vlr.StatsRow": {
+ "stubhub.TrendingPerformer": {
"properties": {
- "acs": {
- "example": 224,
- "type": "number"
- },
- "adr": {
- "example": 147.2,
- "type": "number"
- },
- "agent_usage": {
- "example": [
- "54%"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "agents": {
- "example": [
- "Jett"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "assists": {
- "example": 289,
- "type": "integer"
- },
- "assists_per_round": {
- "example": 0.38,
- "type": "number"
- },
- "clutch_percent": {
- "example": 15,
- "type": "number"
- },
- "clutches_total": {
- "example": 89,
- "type": "integer"
- },
- "clutches_won": {
- "example": 13,
- "type": "integer"
- },
- "deaths": {
- "example": 466,
- "type": "integer"
- },
- "first_death_percent": {
- "example": 9,
- "type": "number"
- },
- "first_deaths": {
- "example": 69,
- "type": "integer"
- },
- "first_kill_percent": {
- "example": 10,
- "type": "number"
- },
- "first_kills": {
- "example": 73,
- "type": "integer"
- },
- "fk_fd_ratio": {
- "example": 1.06,
- "type": "number"
- },
- "headshot_percent": {
- "example": 28,
- "type": "number"
- },
- "kast_percent": {
- "example": 76,
- "type": "number"
- },
- "kd": {
- "example": 1.27,
- "type": "number"
- },
- "kills": {
- "example": 594,
- "type": "integer"
- },
- "kills_per_round": {
- "example": 0.79,
- "type": "number"
+ "event_dates_range": {
+ "example": "Sep 16 - May 29 2027",
+ "type": "string"
},
- "maps": {
- "example": 35,
+ "favorites_count": {
+ "example": 154655,
"type": "integer"
},
- "max_kills": {
- "example": 28,
+ "id": {
+ "example": 20519,
"type": "integer"
},
- "player": {
- "$ref": "#/definitions/vlr.PlayerRef"
+ "image_url": {
+ "type": "string"
},
- "rating": {
- "example": 1.22,
- "type": "number"
+ "name": {
+ "example": "Bruno Mars",
+ "type": "string"
},
- "rounds": {
- "example": 752,
- "type": "integer"
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "vlr.TeamComposition": {
+ "stubhub.TrendingResponse": {
"properties": {
- "agents_used": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "count": {
+ "example": 10,
+ "type": "integer"
},
- "matches": {
+ "fetched_at": {
+ "type": "string"
+ },
+ "performers": {
"items": {
- "$ref": "#/definitions/vlr.CompositionMatch"
+ "$ref": "#/definitions/stubhub.TrendingPerformer"
},
"type": "array"
},
- "team": {
- "example": "Dragon Ranger Gaming",
+ "source_url": {
"type": "string"
},
- "team_id": {
- "example": "11981",
- "type": "string"
+ "top_level_category_id": {
+ "type": "integer"
}
},
"type": "object"
},
- "vlr.TeamDetail": {
+ "stubhub.VenueEvent": {
"properties": {
- "country": {
- "example": "Europe",
+ "availability": {
+ "example": "http://schema.org/InStock",
"type": "string"
},
- "country_code": {
- "example": "eu",
- "type": "string"
+ "low_price": {
+ "example": 71.87,
+ "type": "number"
},
- "fetched_at": {
- "example": "2026-10-27T10:00:00Z",
+ "name": {
+ "example": "Indianapolis Colts at Kansas City Chiefs",
"type": "string"
},
- "id": {
- "example": "2059",
+ "price_currency": {
+ "example": "USD",
"type": "string"
},
- "links": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "logo_url": {
+ "start_date": {
+ "example": "2026-09-20T19:20:00",
"type": "string"
},
- "name": {
- "example": "Team Vitality",
+ "url": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "stubhub.VenueEventsResponse": {
+ "properties": {
+ "count": {
+ "example": 11,
+ "type": "integer"
},
- "news": {
- "items": {
- "$ref": "#/definitions/vlr.NewsItem"
- },
- "type": "array"
- },
- "recent_matches": {
+ "events": {
"items": {
- "$ref": "#/definitions/vlr.TeamMatch"
+ "$ref": "#/definitions/stubhub.VenueEvent"
},
"type": "array"
},
- "roster": {
- "items": {
- "$ref": "#/definitions/vlr.RosterMember"
- },
- "type": "array"
+ "fetched_at": {
+ "type": "string"
},
"source_url": {
- "example": "https://www.vlr.gg/matches",
"type": "string"
},
- "tag": {
- "example": "VIT",
+ "venue_id": {
+ "type": "integer"
+ },
+ "venue_slug": {
"type": "string"
}
},
"type": "object"
},
- "vlr.TeamEconomy": {
+ "stubhub.carouselResponseDoc": {
"properties": {
- "bonus_rounds": {
- "$ref": "#/definitions/vlr.Ratio"
- },
- "pistol_conversion": {
- "$ref": "#/definitions/vlr.Ratio"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "pistol_rounds": {
- "$ref": "#/definitions/vlr.Ratio"
+ "data": {
+ "$ref": "#/definitions/stubhub.CarouselResponse"
},
- "team": {
- "example": "LOUD",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "vlr.TeamMapRow": {
+ "stubhub.categoriesResponseDoc": {
"properties": {
- "attack": {
- "$ref": "#/definitions/vlr.MapSide"
- },
- "defense": {
- "$ref": "#/definitions/vlr.MapSide"
- },
- "losses": {
- "example": 25,
- "type": "integer"
- },
- "map": {
- "example": "Bind",
- "type": "string"
- },
- "played": {
- "example": 45,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "win_percent": {
- "example": 44,
- "type": "number"
+ "data": {
+ "$ref": "#/definitions/stubhub.CategoriesResponse"
},
- "wins": {
- "example": 20,
- "type": "integer"
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "vlr.TeamMapsResponse": {
+ "stubhub.categoryEventsResponseDoc": {
"properties": {
- "count": {
- "example": 12,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "fetched_at": {
- "example": "2026-10-27T10:00:00Z",
- "type": "string"
- },
- "maps": {
- "items": {
- "$ref": "#/definitions/vlr.TeamMapRow"
- },
- "type": "array"
- },
- "source_url": {
- "example": "https://www.vlr.gg/matches",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/stubhub.CategoryEventsResponse"
},
- "team_id": {
- "example": "2059",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "vlr.TeamMatch": {
+ "stubhub.exploreResponseDoc": {
"properties": {
- "date": {
- "example": "2026/10/18",
- "type": "string"
- },
- "event": {
- "example": "Champions 2026",
- "type": "string"
- },
- "id": {
- "example": "754737",
- "type": "string"
- },
- "opponent": {
- "example": "LOUD",
- "type": "string"
- },
- "result": {
- "enum": [
- "win",
- "loss"
- ],
- "example": "loss",
- "type": "string"
- },
- "score": {
- "example": "1:3",
- "type": "string"
- },
- "stage": {
- "example": "Playoffs ⋅ GF",
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "team": {
- "example": "Team Vitality",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/stubhub.ExploreResponse"
},
- "url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "vlr.TeamRef": {
+ "stubhub.navigationCategoriesResponseDoc": {
"properties": {
- "id": {
- "example": "21919",
- "type": "string"
- },
- "logo_url": {
- "type": "string"
- },
- "name": {
- "example": "Unsettled Resentment",
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "tag": {
- "example": "UR",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/stubhub.NavigationCategoriesResponse"
},
- "url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "vlr.TeamScore": {
+ "stubhub.performerEventsResponseDoc": {
"properties": {
- "id": {
- "example": "21919",
- "type": "string"
- },
- "logo_url": {
- "type": "string"
- },
- "name": {
- "example": "Unsettled Resentment",
- "type": "string"
- },
- "score": {
- "example": 2,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "tag": {
- "example": "UR",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/stubhub.PerformerEventsResponse"
},
- "url": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "winner": {
- "example": true,
- "type": "boolean"
}
},
"type": "object"
},
- "vox.AuthorArticle": {
+ "stubhub.searchResponseDoc": {
"properties": {
- "category": {
- "type": "string"
- },
- "excerpt": {
- "type": "string"
- },
- "published_at": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "title": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/stubhub.SearchResponse"
},
- "url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "vox.AuthorResponse": {
+ "stubhub.suggestedSearchesResponseDoc": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/vox.AuthorArticle"
- },
- "type": "array"
- },
- "bio": {
- "type": "string"
- },
- "job_title": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "name": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/stubhub.SuggestedSearchesResponse"
},
- "url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "vrbo.AmenityGroup": {
+ "stubhub.trendingEventsResponseDoc": {
"properties": {
- "items": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "name": {
+ "data": {
+ "$ref": "#/definitions/stubhub.TrendingEventsResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "vrbo.CalendarDate": {
+ "stubhub.trendingResponseDoc": {
"properties": {
- "day": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "month": {
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/stubhub.TrendingResponse"
},
- "year": {
- "type": "integer"
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "vrbo.Listing": {
+ "stubhub.venueEventsResponseDoc": {
"properties": {
- "bedrooms": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "currency": {
+ "data": {
+ "$ref": "#/definitions/stubhub.VenueEventsResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "stuff.AuthorResponse": {
+ "properties": {
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/stuff.HeadlineItem"
+ },
+ "type": "array"
},
- "description": {
+ "biography": {
"type": "string"
},
- "id": {
+ "email": {
"type": "string"
},
"image_url": {
"type": "string"
},
- "name": {
+ "job_title": {
"type": "string"
},
- "price": {
- "type": "number"
- },
- "property_type": {
+ "location": {
"type": "string"
},
- "rating": {
- "type": "number"
+ "name": {
+ "type": "string"
},
- "review_count": {
- "type": "integer"
+ "slug": {
+ "type": "string"
},
"url": {
"type": "string"
@@ -252029,126 +256862,154 @@
},
"type": "object"
},
- "vrbo.LocationSuggestion": {
+ "stuff.HeadlineItem": {
"properties": {
- "geo_type": {
+ "author": {
"type": "string"
},
- "location_full_name": {
+ "image_url": {
"type": "string"
},
- "primary_text": {
+ "published_at": {
"type": "string"
},
- "region_id": {
+ "summary": {
"type": "string"
},
- "secondary_text": {
+ "title": {
"type": "string"
},
- "sub_items": {
- "items": {
- "$ref": "#/definitions/vrbo.LocationSuggestion"
- },
- "type": "array"
- },
"type": {
"type": "string"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "vrbo.LocationSuggestionGroup": {
+ "substack.AppStorePlan": {
"properties": {
- "items": {
- "items": {
- "$ref": "#/definitions/vrbo.LocationSuggestion"
- },
- "type": "array"
+ "active": {
+ "type": "boolean"
},
- "title": {
+ "amount_cents": {
+ "example": 1400,
+ "type": "integer"
+ },
+ "currency": {
+ "example": "usd",
+ "type": "string"
+ },
+ "display_name": {
+ "type": "string"
+ },
+ "display_price": {
+ "example": "$14",
+ "type": "string"
+ },
+ "is_founding": {
+ "type": "boolean"
+ },
+ "period": {
+ "example": "month",
+ "type": "string"
+ },
+ "sku": {
"type": "string"
}
},
"type": "object"
},
- "vrbo.LocationSuggestionsResponse": {
+ "substack.CategoriesResult": {
"properties": {
- "groups": {
+ "categories": {
"items": {
- "$ref": "#/definitions/vrbo.LocationSuggestionGroup"
+ "$ref": "#/definitions/substack.Category"
},
"type": "array"
- },
- "search_term": {
- "type": "string"
}
},
"type": "object"
},
- "vrbo.Photo": {
+ "substack.Category": {
"properties": {
- "description": {
+ "emoji": {
+ "example": "🕹",
"type": "string"
},
- "url": {
+ "id": {
+ "example": "4",
+ "type": "string"
+ },
+ "in_category_listing": {
+ "description": "InCategoryListing is false for the one id the category listing\nrejects (\"bestseller\", which exists only as a leaderboard).",
+ "type": "boolean"
+ },
+ "in_leaderboard": {
+ "description": "InLeaderboard is true when /substack/leaderboard accepts this id.",
+ "type": "boolean"
+ },
+ "name": {
+ "example": "Technology",
+ "type": "string"
+ },
+ "slug": {
+ "example": "technology",
"type": "string"
}
},
"type": "object"
},
- "vrbo.Property": {
+ "substack.CategoryResult": {
"properties": {
- "amenities": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "amenity_groups": {
- "items": {
- "$ref": "#/definitions/vrbo.AmenityGroup"
- },
- "type": "array"
+ "category_id": {
+ "example": "4",
+ "type": "string"
},
- "content_sections": {
- "items": {
- "$ref": "#/definitions/vrbo.PropertyContentSection"
- },
- "type": "array"
+ "has_more": {
+ "type": "boolean"
},
- "description": {
- "type": "string"
+ "page": {
+ "type": "integer"
},
- "faqs": {
+ "publications": {
"items": {
- "$ref": "#/definitions/vrbo.PropertyFAQ"
+ "$ref": "#/definitions/substack.PublicationListItem"
},
"type": "array"
},
- "id": {
+ "type": {
+ "example": "paid",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "substack.Contributor": {
+ "properties": {
+ "bestseller_tier": {
+ "type": "integer"
},
- "location": {
+ "bio": {
"type": "string"
},
- "name": {
+ "handle": {
"type": "string"
},
- "photos": {
- "items": {
- "$ref": "#/definitions/vrbo.Photo"
- },
- "type": "array"
+ "id": {
+ "example": 29561926,
+ "type": "integer"
},
- "rating": {
- "type": "number"
+ "is_byline_only": {
+ "type": "boolean"
},
- "rating_label": {
+ "name": {
+ "example": "Sergiu Klainerman",
"type": "string"
},
- "review_count": {
- "type": "integer"
+ "photo_url": {
+ "type": "string"
},
"url": {
"type": "string"
@@ -252156,672 +257017,973 @@
},
"type": "object"
},
- "vrbo.PropertyContentSection": {
+ "substack.ContributorsResult": {
"properties": {
- "items": {
+ "contributors": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/substack.Contributor"
},
"type": "array"
},
- "name": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "vrbo.PropertyFAQ": {
- "properties": {
- "answer": {
- "type": "string"
+ "page": {
+ "type": "integer"
},
- "question": {
+ "publication": {
+ "example": "www.thefp.com",
"type": "string"
}
},
"type": "object"
},
- "vrbo.PropertyReview": {
+ "substack.ExploreModule": {
"properties": {
- "author": {
- "type": "string"
- },
- "id": {
+ "category_id": {
"type": "string"
},
- "locale": {
+ "category_name": {
"type": "string"
},
- "management_responses": {
+ "notes": {
"items": {
- "$ref": "#/definitions/vrbo.PropertyReviewResponse"
+ "$ref": "#/definitions/substack.Note"
},
"type": "array"
},
- "rating": {
- "type": "number"
- },
- "rating_label": {
- "type": "string"
+ "posts": {
+ "items": {
+ "$ref": "#/definitions/substack.Post"
+ },
+ "type": "array"
},
- "submission_time": {
- "type": "string"
+ "profiles": {
+ "items": {
+ "$ref": "#/definitions/substack.User"
+ },
+ "type": "array"
},
- "text": {
- "type": "string"
+ "publications": {
+ "items": {
+ "$ref": "#/definitions/substack.PublicationListItem"
+ },
+ "type": "array"
},
"title": {
+ "example": "Trending posts",
"type": "string"
},
- "travelers": {
+ "topics": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/substack.ExploreTopic"
},
"type": "array"
+ },
+ "type": {
+ "description": "Type is the upstream module kind. Known values:\ntrendingTopicsExplore, trendingPostsExplore, newBestsellersExplore,\nvideoSuggestionsExplore, categoryLeaderboard, comment, post.",
+ "example": "trendingPostsExplore",
+ "type": "string"
}
},
"type": "object"
},
- "vrbo.PropertyReviewResponse": {
+ "substack.ExploreResult": {
"properties": {
- "header": {
+ "has_more": {
+ "type": "boolean"
+ },
+ "modules": {
+ "items": {
+ "$ref": "#/definitions/substack.ExploreModule"
+ },
+ "type": "array"
+ },
+ "next_cursor": {
"type": "string"
},
- "id": {
+ "tab": {
+ "example": "explore",
"type": "string"
},
- "response": {
+ "type": {
+ "example": "base",
"type": "string"
}
},
"type": "object"
},
- "vrbo.RateCalendar": {
+ "substack.ExploreTopic": {
"properties": {
- "configuration": {
- "$ref": "#/definitions/vrbo.RateCalendarConfiguration"
- },
- "days": {
+ "alternate_queries": {
"items": {
- "$ref": "#/definitions/vrbo.RateCalendarDay"
+ "type": "string"
},
"type": "array"
},
- "product_id": {
+ "category": {
"type": "string"
},
- "property_id": {
+ "description": {
"type": "string"
},
- "source_url": {
+ "featured": {
+ "type": "boolean"
+ },
+ "first_trending_at": {
"type": "string"
},
- "submit_button_label": {
+ "id": {
"type": "string"
},
- "validation_message": {
+ "query": {
+ "example": "Trump campaign rhetoric 2026",
+ "type": "string"
+ },
+ "source": {
+ "example": "search_history",
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "vrbo.RateCalendarConfiguration": {
+ "substack.LeaderboardEntry": {
"properties": {
- "available_by_default": {
- "type": "boolean"
+ "author": {
+ "$ref": "#/definitions/substack.User"
},
- "begin_date": {
- "$ref": "#/definitions/vrbo.CalendarDate"
+ "publication": {
+ "$ref": "#/definitions/substack.PublicationListItem"
},
- "calendar_template_type": {
+ "rank": {
+ "example": 1,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "substack.LeaderboardResult": {
+ "properties": {
+ "category_id": {
+ "example": "96",
"type": "string"
},
- "current_date": {
- "$ref": "#/definitions/vrbo.CalendarDate"
- },
- "end_date": {
- "$ref": "#/definitions/vrbo.CalendarDate"
- },
- "tnl_fields": {
+ "entries": {
"items": {
- "$ref": "#/definitions/vrbo.RateCalendarField"
+ "$ref": "#/definitions/substack.LeaderboardEntry"
},
"type": "array"
+ },
+ "has_more": {
+ "type": "boolean"
+ },
+ "page": {
+ "type": "integer"
+ },
+ "title": {
+ "example": "Culture Bestsellers",
+ "type": "string"
+ },
+ "type": {
+ "example": "trending",
+ "type": "string"
}
},
"type": "object"
},
- "vrbo.RateCalendarDay": {
+ "substack.Note": {
"properties": {
- "accessibility_label": {
+ "attached_post": {
+ "$ref": "#/definitions/substack.NotePost"
+ },
+ "author_bestseller_tier": {
+ "type": "integer"
+ },
+ "author_handle": {
+ "example": "jameelajamil",
"type": "string"
},
- "available": {
- "type": "boolean"
+ "author_id": {
+ "example": 138271663,
+ "type": "integer"
},
- "checkin_validity": {
- "type": "boolean"
+ "author_name": {
+ "example": "Jameela Jamil",
+ "type": "string"
},
- "checkout_validity": {
+ "author_photo_url": {
+ "type": "string"
+ },
+ "author_url": {
+ "type": "string"
+ },
+ "body": {
+ "type": "string"
+ },
+ "edited_at": {
+ "type": "string"
+ },
+ "id": {
+ "example": 316240438,
+ "type": "integer"
+ },
+ "is_ai_generated": {
"type": "boolean"
},
- "date": {
- "$ref": "#/definitions/vrbo.CalendarDate"
+ "language": {
+ "type": "string"
},
- "display_price": {
+ "published_at": {
"type": "string"
},
- "stay_constraints": {
- "$ref": "#/definitions/vrbo.RateCalendarStayConstraints"
+ "reaction_count": {
+ "example": 12846,
+ "type": "integer"
},
- "theme": {
+ "reactions": {
+ "additionalProperties": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "type": "object"
+ },
+ "reply_count": {
+ "example": 129,
+ "type": "integer"
+ },
+ "restack_count": {
+ "example": 1139,
+ "type": "integer"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "vrbo.RateCalendarField": {
+ "substack.NotePost": {
"properties": {
- "key": {
+ "id": {
+ "type": "integer"
+ },
+ "title": {
"type": "string"
},
- "value": {
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "vrbo.RateCalendarStayConstraints": {
+ "substack.NoteRepliesResult": {
"properties": {
- "maximum_stay_in_days": {
- "type": "integer"
+ "has_more": {
+ "type": "boolean"
},
- "minimum_stay_in_days": {
+ "more_count": {
+ "description": "MoreCount is how many further reply branches the upstream reports.",
"type": "integer"
},
- "stay_increment_in_days": {
+ "next_cursor": {
+ "type": "string"
+ },
+ "note_id": {
+ "example": 316240438,
"type": "integer"
+ },
+ "replies": {
+ "items": {
+ "$ref": "#/definitions/substack.Note"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "vrbo.ReviewSortOption": {
+ "substack.NoteRestacksResult": {
"properties": {
- "description": {
- "type": "string"
+ "has_more": {
+ "type": "boolean"
},
- "label": {
+ "next_cursor": {
"type": "string"
},
- "selected": {
- "type": "boolean"
+ "note_id": {
+ "example": 316240438,
+ "type": "integer"
},
- "value": {
- "type": "string"
+ "restacks": {
+ "items": {
+ "$ref": "#/definitions/substack.Note"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "vrbo.ReviewsResponse": {
+ "substack.NotesFeedResult": {
"properties": {
- "product_id": {
- "type": "string"
+ "has_more": {
+ "type": "boolean"
},
- "property_id": {
+ "next_cursor": {
"type": "string"
},
- "reviews": {
+ "notes": {
"items": {
- "$ref": "#/definitions/vrbo.PropertyReview"
+ "$ref": "#/definitions/substack.Note"
},
"type": "array"
},
- "size": {
- "type": "integer"
- },
- "sort_by": {
+ "tab": {
+ "example": "for-you",
"type": "string"
},
- "sort_options": {
- "items": {
- "$ref": "#/definitions/vrbo.ReviewSortOption"
- },
- "type": "array"
- },
- "source_url": {
+ "type": {
+ "example": "base",
"type": "string"
- },
- "start_index": {
- "type": "integer"
- },
- "total_count": {
- "type": "integer"
}
},
"type": "object"
},
- "vrbo.SearchFilterGroup": {
+ "substack.NotesFeedTab": {
"properties": {
- "control_type": {
- "type": "string"
- },
"id": {
+ "example": "for-you",
"type": "string"
},
- "label": {
+ "name": {
+ "example": "For you",
"type": "string"
},
- "options": {
- "items": {
- "$ref": "#/definitions/vrbo.SearchFilterOption"
- },
- "type": "array"
- },
- "range": {
- "$ref": "#/definitions/vrbo.SearchFilterRange"
+ "type": {
+ "example": "base",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "substack.NotesFeedTabsResult": {
+ "properties": {
+ "surface": {
+ "example": "feed",
+ "type": "string"
},
- "ranges": {
- "description": "Ranges lists every range option nested under a range control. Range\nremains the first option for compatibility with the original response.",
+ "tabs": {
"items": {
- "$ref": "#/definitions/vrbo.SearchFilterRange"
+ "$ref": "#/definitions/substack.NotesFeedTab"
},
"type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "substack.PlanCurrency": {
+ "properties": {
+ "amount_cents": {
+ "example": 900,
+ "type": "integer"
},
- "section": {
+ "currency": {
+ "example": "eur",
"type": "string"
- },
- "step_input": {
- "$ref": "#/definitions/vrbo.SearchFilterStep"
}
},
"type": "object"
},
- "vrbo.SearchFilterOption": {
+ "substack.Post": {
"properties": {
- "disabled": {
- "type": "boolean"
+ "audience": {
+ "example": "everyone",
+ "type": "string"
},
- "id": {
+ "comment_count": {
+ "type": "integer"
+ },
+ "cover_image_url": {
"type": "string"
},
- "label": {
+ "description": {
"type": "string"
},
- "result_count": {
+ "id": {
+ "example": 213613469,
"type": "integer"
},
- "selected": {
+ "paywalled": {
"type": "boolean"
},
- "value": {
+ "published_at": {
+ "type": "string"
+ },
+ "reaction_count": {
+ "type": "integer"
+ },
+ "slug": {
+ "type": "string"
+ },
+ "subtitle": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "type": {
+ "example": "newsletter",
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "vrbo.SearchFilterRange": {
+ "substack.PostByline": {
"properties": {
+ "handle": {
+ "type": "string"
+ },
"id": {
+ "example": 134996999,
+ "type": "integer"
+ },
+ "name": {
+ "example": "Max Kan",
"type": "string"
},
- "max": {
- "type": "number"
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "substack.PostDetail": {
+ "properties": {
+ "audience": {
+ "example": "everyone",
+ "type": "string"
},
- "max_label": {
+ "bylines": {
+ "items": {
+ "$ref": "#/definitions/substack.PostByline"
+ },
+ "type": "array"
+ },
+ "comment_count": {
+ "type": "integer"
+ },
+ "cover_image_url": {
"type": "string"
},
- "min": {
- "type": "number"
+ "description": {
+ "type": "string"
},
- "min_label": {
+ "id": {
+ "example": 213613469,
+ "type": "integer"
+ },
+ "paywalled": {
+ "type": "boolean"
+ },
+ "podcast_duration_seconds": {
+ "type": "integer"
+ },
+ "podcast_url": {
"type": "string"
},
- "number_format": {
+ "published_at": {
"type": "string"
},
- "selected_max": {
- "type": "number"
+ "reaction_count": {
+ "type": "integer"
},
- "selected_min": {
- "type": "number"
+ "slug": {
+ "type": "string"
},
- "step": {
- "type": "number"
- }
- },
- "type": "object"
- },
- "vrbo.SearchFilterRangeSelection": {
- "properties": {
- "id": {
- "example": "nightly_price",
+ "subtitle": {
"type": "string"
},
- "max": {
- "example": 500,
- "type": "number"
+ "title": {
+ "type": "string"
},
- "min": {
- "example": 100,
- "type": "number"
+ "type": {
+ "example": "newsletter",
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "wordcount": {
+ "example": 3953,
+ "type": "integer"
}
},
"type": "object"
},
- "vrbo.SearchFilterSelection": {
+ "substack.PostsResult": {
"properties": {
- "id": {
- "example": "property_type_group",
- "type": "string"
+ "limit": {
+ "type": "integer"
},
- "values": {
- "example": [
- "house"
- ],
+ "offset": {
+ "type": "integer"
+ },
+ "posts": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/substack.Post"
},
"type": "array"
+ },
+ "publication": {
+ "example": "semianalysis",
+ "type": "string"
+ },
+ "search": {
+ "example": "nvidia",
+ "type": "string"
+ },
+ "sort": {
+ "example": "new",
+ "type": "string"
}
},
"type": "object"
},
- "vrbo.SearchFilterStep": {
+ "substack.Publication": {
"properties": {
- "current": {
+ "author_id": {
"type": "integer"
},
- "default": {
- "type": "integer"
+ "copyright": {
+ "type": "string"
},
- "label": {
+ "custom_domain": {
"type": "string"
},
- "max": {
- "type": "integer"
+ "explicit": {
+ "type": "boolean"
},
- "min": {
- "type": "integer"
+ "hero_text": {
+ "type": "string"
},
- "step": {
+ "id": {
+ "example": 6349492,
"type": "integer"
+ },
+ "invite_only": {
+ "type": "boolean"
+ },
+ "language": {
+ "type": "string"
+ },
+ "logo_url": {
+ "type": "string"
+ },
+ "name": {
+ "example": "SemiAnalysis",
+ "type": "string"
+ },
+ "subdomain": {
+ "type": "string"
+ },
+ "subscribers": {
+ "$ref": "#/definitions/substack.SubscriberCounts"
+ },
+ "subscription": {
+ "$ref": "#/definitions/substack.Subscription"
+ },
+ "url": {
+ "example": "https://semianalysis.substack.com",
+ "type": "string"
}
},
"type": "object"
},
- "vrbo.SearchOption": {
+ "substack.PublicationListItem": {
"properties": {
- "adults": {
- "example": 2,
+ "author_handle": {
+ "type": "string"
+ },
+ "author_id": {
"type": "integer"
},
- "check_in": {
- "example": "2026-10-10",
+ "author_name": {
+ "example": "Dylan Patel",
"type": "string"
},
- "check_out": {
- "example": "2026-10-24",
+ "custom_domain": {
"type": "string"
},
- "child_ages": {
- "description": "ChildAges contains ages 2–17 for children in the default single room.",
- "example": [
- 8,
- 12
- ],
- "items": {
- "type": "integer"
- },
- "type": "array"
+ "explicit": {
+ "type": "boolean"
},
- "destination": {
- "example": "Miami Beach, Florida, United States of America",
+ "hero_text": {
"type": "string"
},
- "filter_ranges": {
- "description": "Ranges applies numeric ranges by their live nested facet ID.",
+ "id": {
+ "example": 6349492,
+ "type": "integer"
+ },
+ "language": {
+ "type": "string"
+ },
+ "logo_url": {
+ "type": "string"
+ },
+ "name": {
+ "example": "SemiAnalysis",
+ "type": "string"
+ },
+ "payments_enabled": {
+ "type": "boolean"
+ },
+ "subdomain": {
+ "example": "semianalysis",
+ "type": "string"
+ },
+ "subscribers": {
+ "$ref": "#/definitions/substack.SubscriberCounts"
+ },
+ "subscription": {
+ "$ref": "#/definitions/substack.Subscription"
+ },
+ "url": {
+ "example": "https://semianalysis.substack.com",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "substack.RecommendationsResult": {
+ "properties": {
+ "publication_id": {
+ "example": 6349492,
+ "type": "integer"
+ },
+ "recommendations": {
"items": {
- "$ref": "#/definitions/vrbo.SearchFilterRangeSelection"
+ "$ref": "#/definitions/substack.PublicationListItem"
},
"type": "array"
- },
- "filters": {
- "description": "Filters are selections copied from the live facet metadata in a search response.",
+ }
+ },
+ "type": "object"
+ },
+ "substack.SearchResult": {
+ "properties": {
+ "focused_posts": {
"items": {
- "$ref": "#/definitions/vrbo.SearchFilterSelection"
+ "$ref": "#/definitions/substack.Post"
},
"type": "array"
},
- "flexibility": {
- "example": "3_DAY",
- "type": "string"
- },
- "lat_long": {
- "example": "25.790653,-80.130043",
- "type": "string"
+ "has_more": {
+ "type": "boolean"
},
- "limit": {
- "example": 10,
+ "page": {
"type": "integer"
},
- "region_id": {
- "example": "8833",
- "type": "string"
+ "posts": {
+ "items": {
+ "$ref": "#/definitions/substack.Post"
+ },
+ "type": "array"
},
- "rooms": {
- "description": "Rooms overrides Adults and ChildAges and supports multi-room searches.",
+ "publications": {
"items": {
- "$ref": "#/definitions/vrbo.SearchRoom"
+ "$ref": "#/definitions/substack.PublicationListItem"
},
"type": "array"
},
- "sort": {
- "enum": [
- "RECOMMENDED",
- "PRICE_LOW_TO_HIGH",
- "PRICE_HIGH_TO_LOW",
- "REVIEW",
- "REVIEW_COUNT"
- ],
- "example": "PRICE_LOW_TO_HIGH",
+ "query": {
+ "example": "artificial intelligence",
"type": "string"
}
},
- "required": [
- "check_in",
- "check_out",
- "destination",
- "lat_long",
- "region_id"
- ],
"type": "object"
},
- "vrbo.SearchResponse": {
+ "substack.SubscriberCounts": {
"properties": {
- "check_in": {
+ "follower_count": {
+ "example": 365727,
+ "type": "integer"
+ },
+ "paid_rough": {
+ "description": "PaidRough and PaidRoughInt are the only paid-subscriber figures\nSubstack publishes, and both are buckets rather than counts.\nPaidRoughInt is the finer of the two and is always present; PaidTier\nis the coarser threshold behind the public bestseller badge.",
+ "example": "Thousands of paid subscribers",
"type": "string"
},
- "check_out": {
+ "paid_rough_int": {
+ "example": 1000,
+ "type": "integer"
+ },
+ "paid_tier": {
+ "example": 1000,
+ "type": "integer"
+ },
+ "total": {
+ "example": 315000,
+ "type": "integer"
+ },
+ "total_display": {
+ "example": "315K+",
"type": "string"
},
- "destination": {
+ "total_hidden": {
+ "type": "boolean"
+ },
+ "total_rough": {
+ "example": "Hundreds of thousands of subscribers",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "substack.Subscription": {
+ "properties": {
+ "annual_disabled": {
+ "type": "boolean"
},
- "filters": {
+ "app_store_plans": {
"items": {
- "$ref": "#/definitions/vrbo.SearchFilterGroup"
+ "$ref": "#/definitions/substack.AppStorePlan"
},
"type": "array"
},
- "region_id": {
+ "founding_benefits": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "founding_plan_name": {
+ "example": "Founding Member",
"type": "string"
},
- "results": {
+ "free_benefits": {
"items": {
- "$ref": "#/definitions/vrbo.Listing"
+ "type": "string"
},
"type": "array"
},
- "rooms": {
+ "free_trial_enabled": {
+ "type": "boolean"
+ },
+ "group_discount_percent": {
+ "example": 20,
+ "type": "number"
+ },
+ "monthly_disabled": {
+ "type": "boolean"
+ },
+ "paid_benefits": {
"items": {
- "$ref": "#/definitions/vrbo.SearchRoom"
+ "type": "string"
},
"type": "array"
},
- "sort_options": {
+ "payments_state": {
+ "example": "enabled",
+ "type": "string"
+ },
+ "plans": {
"items": {
- "$ref": "#/definitions/vrbo.SearchSortOption"
+ "$ref": "#/definitions/substack.SubscriptionPlan"
},
"type": "array"
},
- "total_results": {
- "type": "integer"
+ "pledges_enabled": {
+ "type": "boolean"
}
},
"type": "object"
},
- "vrbo.SearchRoom": {
+ "substack.SubscriptionPlan": {
"properties": {
- "adults": {
- "example": 2,
+ "active": {
+ "type": "boolean"
+ },
+ "amount_cents": {
+ "example": 5000,
"type": "integer"
},
- "child_ages": {
- "example": [
- 8
- ],
+ "currencies": {
"items": {
- "type": "integer"
+ "$ref": "#/definitions/substack.PlanCurrency"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "vrbo.SearchSortOption": {
- "properties": {
- "default": {
- "type": "boolean"
+ },
+ "currency": {
+ "example": "usd",
+ "type": "string"
},
"id": {
+ "example": "monthly50usd_982ddb86",
"type": "string"
},
- "label": {
+ "interval": {
+ "example": "month",
"type": "string"
},
- "selected": {
- "type": "boolean"
+ "interval_count": {
+ "example": 1,
+ "type": "integer"
},
- "value": {
+ "kind": {
+ "example": "monthly",
+ "type": "string"
+ },
+ "nickname": {
+ "example": "$50 a month",
"type": "string"
+ },
+ "trial_period_days": {
+ "type": "integer"
}
},
"type": "object"
},
- "vrbo.TravelPage": {
+ "substack.User": {
"properties": {
- "path": {
+ "bestseller_tier": {
+ "example": 10000,
+ "type": "integer"
+ },
+ "bio": {
"type": "string"
},
- "title": {
+ "handle": {
+ "example": "pragmaticengineer",
"type": "string"
},
- "url": {
+ "id": {
+ "example": 2067309,
+ "type": "integer"
+ },
+ "name": {
+ "example": "Gergely Orosz",
"type": "string"
- }
- },
- "type": "object"
- },
- "vrbo.TravelPageDetail": {
- "properties": {
- "description": {
+ },
+ "photo_url": {
"type": "string"
},
- "editorial_sections": {
+ "profile_set_up_at": {
+ "type": "string"
+ },
+ "publications": {
"items": {
- "$ref": "#/definitions/vrbo.TravelPageEditorialSection"
+ "$ref": "#/definitions/substack.UserPublication"
},
"type": "array"
},
- "path": {
+ "slug": {
"type": "string"
},
- "related_page_groups": {
- "items": {
- "$ref": "#/definitions/vrbo.TravelPageLinkGroup"
- },
- "type": "array"
+ "subscribers": {
+ "$ref": "#/definitions/substack.SubscriberCounts"
},
- "sections": {
+ "subscriptions": {
"items": {
- "$ref": "#/definitions/vrbo.TravelPageSection"
+ "$ref": "#/definitions/substack.UserSubscription"
},
"type": "array"
},
- "source_url": {
- "type": "string"
- },
- "title": {
+ "url": {
+ "example": "https://substack.com/@pragmaticengineer",
"type": "string"
}
},
"type": "object"
},
- "vrbo.TravelPageEditorialSection": {
+ "substack.UserActivityItem": {
"properties": {
- "description": {
+ "kind": {
+ "example": "comment_restack",
"type": "string"
},
- "parent_title": {
- "type": "string"
+ "note": {
+ "$ref": "#/definitions/substack.Note"
},
- "title": {
+ "post": {
+ "$ref": "#/definitions/substack.Post"
+ },
+ "timestamp": {
"type": "string"
}
},
"type": "object"
},
- "vrbo.TravelPageLinkGroup": {
+ "substack.UserActivityResult": {
"properties": {
- "pages": {
+ "has_more": {
+ "type": "boolean"
+ },
+ "items": {
"items": {
- "$ref": "#/definitions/vrbo.TravelPage"
+ "$ref": "#/definitions/substack.UserActivityItem"
},
"type": "array"
},
- "title": {
+ "next_cursor": {
"type": "string"
+ },
+ "types": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "user_id": {
+ "example": 49731969,
+ "type": "integer"
}
},
"type": "object"
},
- "vrbo.TravelPageListing": {
+ "substack.UserConnectionsResult": {
"properties": {
- "description": {
- "type": "string"
- },
- "location": {
+ "list": {
+ "example": "followers",
"type": "string"
},
"name": {
+ "example": "Followers",
"type": "string"
},
- "photos": {
+ "user_id": {
+ "example": 49731969,
+ "type": "integer"
+ },
+ "users": {
"items": {
- "$ref": "#/definitions/vrbo.Photo"
+ "$ref": "#/definitions/substack.User"
},
"type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "substack.UserPublication": {
+ "properties": {
+ "custom_domain": {
+ "type": "string"
},
- "rating": {
- "type": "number"
+ "id": {
+ "example": 458709,
+ "type": "integer"
},
- "rating_label": {
+ "is_primary": {
+ "type": "boolean"
+ },
+ "name": {
+ "example": "The Pragmatic Engineer",
"type": "string"
},
- "review_count": {
- "type": "integer"
+ "role": {
+ "example": "admin",
+ "type": "string"
},
- "summary": {
+ "subdomain": {
"type": "string"
},
"url": {
@@ -252830,1489 +257992,1591 @@
},
"type": "object"
},
- "vrbo.TravelPageSection": {
+ "substack.UserSearchResult": {
"properties": {
- "description": {
+ "has_more": {
+ "type": "boolean"
+ },
+ "page": {
+ "type": "integer"
+ },
+ "query": {
+ "example": "pragmatic engineer",
"type": "string"
},
- "listings": {
+ "users": {
"items": {
- "$ref": "#/definitions/vrbo.TravelPageListing"
+ "$ref": "#/definitions/substack.User"
},
"type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "substack.UserSubscription": {
+ "properties": {
+ "is_founding": {
+ "type": "boolean"
},
- "subtitle": {
+ "membership_state": {
+ "example": "free_signup",
"type": "string"
},
- "title": {
+ "publication_id": {
+ "type": "integer"
+ },
+ "publication_name": {
+ "type": "string"
+ },
+ "subdomain": {
"type": "string"
}
},
"type": "object"
},
- "vrbo.TravelPagesResponse": {
+ "substack.categoriesResponseDoc": {
"properties": {
- "pages": {
- "items": {
- "$ref": "#/definitions/vrbo.TravelPage"
- },
- "type": "array"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "source_url": {
+ "data": {
+ "$ref": "#/definitions/substack.CategoriesResult"
+ },
+ "msg": {
+ "example": "success",
"type": "string"
}
},
"type": "object"
},
- "vrbo.vrboLocationSuggestionsResponseDoc": {
+ "substack.categoryResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/vrbo.LocationSuggestionsResponse"
+ "$ref": "#/definitions/substack.CategoryResult"
+ },
+ "msg": {
+ "example": "success",
+ "type": "string"
}
},
"type": "object"
},
- "vrbo.vrboPropertyResponseDoc": {
+ "substack.contributorsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/vrbo.Property"
+ "$ref": "#/definitions/substack.ContributorsResult"
+ },
+ "msg": {
+ "example": "success",
+ "type": "string"
}
},
"type": "object"
},
- "vrbo.vrboRateCalendarResponseDoc": {
+ "substack.exploreResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/vrbo.RateCalendar"
+ "$ref": "#/definitions/substack.ExploreResult"
+ },
+ "msg": {
+ "example": "success",
+ "type": "string"
}
},
"type": "object"
},
- "vrbo.vrboReviewsResponseDoc": {
+ "substack.leaderboardResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/vrbo.ReviewsResponse"
+ "$ref": "#/definitions/substack.LeaderboardResult"
+ },
+ "msg": {
+ "example": "success",
+ "type": "string"
}
},
"type": "object"
},
- "vrbo.vrboSearchResponseDoc": {
+ "substack.noteRepliesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/vrbo.SearchResponse"
+ "$ref": "#/definitions/substack.NoteRepliesResult"
+ },
+ "msg": {
+ "example": "success",
+ "type": "string"
}
},
"type": "object"
},
- "vrbo.vrboTravelPageDetailResponseDoc": {
+ "substack.noteResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/vrbo.TravelPageDetail"
+ "$ref": "#/definitions/substack.Note"
+ },
+ "msg": {
+ "example": "success",
+ "type": "string"
}
},
"type": "object"
},
- "vrbo.vrboTravelPagesResponseDoc": {
+ "substack.noteRestacksResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/vrbo.TravelPagesResponse"
+ "$ref": "#/definitions/substack.NoteRestacksResult"
+ },
+ "msg": {
+ "example": "success",
+ "type": "string"
}
},
"type": "object"
},
- "walgreens.Store": {
+ "substack.notesFeedResponseDoc": {
"properties": {
- "address_line1": {
- "type": "string"
- },
- "brand": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "city": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/substack.NotesFeedResult"
},
- "county": {
+ "msg": {
+ "example": "success",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "substack.notesFeedTabsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "distance_miles": {
- "type": "number"
- },
- "fax": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/substack.NotesFeedTabsResult"
},
- "intersection": {
+ "msg": {
+ "example": "success",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "substack.postResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "latitude": {
- "type": "number"
- },
- "longitude": {
- "type": "number"
+ "data": {
+ "$ref": "#/definitions/substack.PostDetail"
},
- "name": {
+ "msg": {
+ "example": "success",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "substack.postsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "pharmacy_close_time": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/substack.PostsResult"
},
- "pharmacy_open_time": {
+ "msg": {
+ "example": "success",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "substack.publicationResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "phone": {
+ "data": {
+ "$ref": "#/definitions/substack.Publication"
+ },
+ "msg": {
+ "example": "success",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "substack.recommendationsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "services": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/substack.RecommendationsResult"
},
- "state": {
+ "msg": {
+ "example": "success",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "substack.searchResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "store_close_time": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/substack.SearchResult"
},
- "store_number": {
+ "msg": {
+ "example": "success",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "substack.userActivityResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "store_open_time": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/substack.UserActivityResult"
},
- "store_type": {
+ "msg": {
+ "example": "success",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "substack.userConnectionsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "time_zone": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/substack.UserConnectionsResult"
},
- "zip": {
+ "msg": {
+ "example": "success",
"type": "string"
}
},
"type": "object"
},
- "walgreens.StoresResponse": {
+ "substack.userResponseDoc": {
"properties": {
- "stores": {
- "items": {
- "$ref": "#/definitions/walgreens.Store"
- },
- "type": "array"
- },
- "total_count": {
+ "code": {
+ "example": 200,
"type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/substack.User"
+ },
+ "msg": {
+ "example": "success",
+ "type": "string"
}
},
"type": "object"
},
- "walgreens.storesResponseDoc": {
+ "substack.userSearchResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/walgreens.StoresResponse"
+ "$ref": "#/definitions/substack.UserSearchResult"
},
"msg": {
- "example": "OK",
+ "example": "success",
"type": "string"
}
},
"type": "object"
},
- "wallapop.CategoriesResponse": {
+ "subway.Allergen": {
"properties": {
- "categories": {
- "items": {
- "$ref": "#/definitions/wallapop.Category"
- },
- "type": "array"
+ "contains": {
+ "type": "boolean"
+ },
+ "may_contain": {
+ "type": "boolean"
},
+ "name": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "subway.AvailableTimesResponse": {
+ "properties": {
"count": {
- "example": 997,
+ "example": 177,
"type": "integer"
},
+ "earliest_slot": {
+ "description": "EarliestSlot and LatestSlot bracket Slots, kept as their own fields\nso a caller can read the window without scanning the array.",
+ "example": "2026-09-05T13:15:00Z",
+ "type": "string"
+ },
"fetched_at": {
- "example": "2026-10-25T00:00:00Z",
"type": "string"
},
- "max_depth": {
+ "interval_minutes": {
+ "description": "IntervalMinutes is the spacing between consecutive slots, derived\nfrom the returned data rather than assumed. It is 0 when fewer than\ntwo slots came back.",
"example": 5,
"type": "integer"
},
- "root_count": {
- "example": 18,
- "type": "integer"
+ "latest_slot": {
+ "example": "2026-09-06T03:55:00Z",
+ "type": "string"
+ },
+ "slots": {
+ "description": "Slots are RFC3339 UTC instants, earliest first, spaced by\nIntervalMinutes. They start at the store's next orderable time --\nroughly half an hour out, not immediately -- and run to closing.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
"source_url": {
- "example": "https://api.wallapop.com/api/v3/categories?context=search",
+ "type": "string"
+ },
+ "store_id": {
+ "example": "75376-0",
"type": "string"
}
},
"type": "object"
},
- "wallapop.Category": {
+ "subway.ComboItem": {
"properties": {
- "depth": {
- "example": 1,
- "type": "integer"
+ "a_la_carte_price": {
+ "example": 12.97,
+ "type": "number"
+ },
+ "description": {
+ "description": "Description comes from the matching translation when the upstream\ncarries one; it is frequently empty.",
+ "type": "string"
},
"id": {
- "example": 12465,
- "type": "integer"
+ "example": "6",
+ "type": "string"
},
- "is_leaf": {
- "example": false,
- "type": "boolean"
+ "min_bundled_price": {
+ "description": "MinBundledPrice is the cheapest advertised price for taking the\ncategory as a bundle; ALaCartePrice is the cheapest for buying its\ncontents separately. Either can be absent, so both are pointers --\na missing price and a genuine 0.00 are different facts.",
+ "example": 9.99,
+ "type": "number"
},
"name": {
- "example": "Fashion & accessories",
+ "example": "Sub Meal Deal",
"type": "string"
},
"parent_id": {
- "example": 11002,
+ "description": "ParentID is set for a category nested under another, empty for a\ntop-level one.",
+ "type": "string"
+ },
+ "sort_order": {
+ "example": 36,
"type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "subway.ComboResponse": {
+ "properties": {
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/subway.ComboItem"
+ },
+ "type": "array"
},
- "path": {
- "example": "fashion-and-accessories/women",
+ "count": {
+ "example": 6,
+ "type": "integer"
+ },
+ "fetched_at": {
"type": "string"
},
- "root_id": {
- "example": 12465,
- "type": "integer"
+ "source_url": {
+ "type": "string"
},
- "vertical_id": {
- "example": "fashion",
+ "store_id": {
+ "example": "50916-0",
"type": "string"
}
},
"type": "object"
},
- "wallapop.FilterDefinition": {
+ "subway.MenuCategory": {
"properties": {
- "format": {
+ "description": {
+ "example": "",
"type": "string"
},
"id": {
"type": "string"
},
- "is_search_enabled": {
+ "is_main_category": {
"type": "boolean"
},
- "label": {
- "type": "string"
- },
- "options": {
+ "items": {
"items": {
- "$ref": "#/definitions/wallapop.FilterOption"
+ "$ref": "#/definitions/subway.MenuItem"
},
"type": "array"
},
- "options_endpoint": {
+ "name": {
"type": "string"
},
- "reload_when_changed": {
- "type": "boolean"
- },
- "search_params": {
- "additionalProperties": {
- "$ref": "#/definitions/wallapop.FilterParamBinding"
- },
- "type": "object"
+ "slug": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "subway.MenuItem": {
+ "properties": {
+ "id": {
+ "type": "string"
},
- "selection": {
+ "name": {
"type": "string"
},
- "source": {
+ "slug": {
"type": "string"
},
- "steps": {
+ "variants": {
"items": {
- "$ref": "#/definitions/wallapop.FilterRangeStep"
+ "$ref": "#/definitions/subway.MenuVariant"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "subway.MenuResponse": {
+ "properties": {
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/subway.MenuCategory"
},
"type": "array"
},
- "title": {
+ "category_count": {
+ "type": "integer"
+ },
+ "currency": {
+ "example": "USD",
"type": "string"
},
- "type": {
+ "fetched_at": {
"type": "string"
},
- "unit": {
+ "product_count": {
+ "type": "integer"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "store_id": {
"type": "string"
}
},
"type": "object"
},
- "wallapop.FilterOption": {
+ "subway.MenuVariant": {
"properties": {
+ "allergens": {
+ "items": {
+ "$ref": "#/definitions/subway.Allergen"
+ },
+ "type": "array"
+ },
+ "available": {
+ "type": "boolean"
+ },
"id": {
"type": "string"
},
- "title": {
+ "image_asset_urn": {
+ "description": "ImageAssetURN is Subway's own Adobe AEM asset identifier, not a\ndirectly fetchable URL -- confirmed live 2026-09-02 that the\nupstream's own imageUrl field is always empty; this is what is\nactually populated. Kept as-is rather than inventing an unverified\ndelivery-URL scheme.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Name is the upstream product name, which sometimes carries an\ninternal build code in parentheses (e.g. \"(1DM)\") -- passed through\nverbatim rather than stripped, since the meaning of that code is not\ndocumented anywhere this family could confirm.",
+ "type": "string"
+ },
+ "nutrition": {
+ "items": {
+ "$ref": "#/definitions/subway.NutritionFact"
+ },
+ "type": "array"
+ },
+ "price": {
+ "type": "number"
+ },
+ "size": {
+ "description": "Size is the build label (\"Footlong\", \"6''\", \"Kids\") distinguishing\nthis variant from siblings of the same MenuItem.",
"type": "string"
}
},
"type": "object"
},
- "wallapop.FilterOptionsResponse": {
+ "subway.NearbyResponse": {
"properties": {
- "brand": {
- "type": "string"
- },
- "category_id": {
+ "count": {
"type": "integer"
},
"fetched_at": {
"type": "string"
},
- "filter_id": {
+ "next_offset": {
+ "description": "NextOffset pages through TotalResults -- pass it back as offset on\nthe next call. Upstream does not signal \"last page\" explicitly;\ncompare count/total_results, or stop once a page returns fewer\nstores than requested.",
"type": "string"
},
- "next_cursor": {
+ "source_url": {
"type": "string"
},
- "options": {
+ "stores": {
"items": {
- "$ref": "#/definitions/wallapop.FilterOption"
+ "$ref": "#/definitions/subway.NearbyStore"
},
"type": "array"
},
- "options_query": {
+ "total_results": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "subway.NearbyStore": {
+ "properties": {
+ "address": {
+ "$ref": "#/definitions/subway.StoreAddress"
+ },
+ "can_take_online_orders": {
+ "type": "boolean"
+ },
+ "catering_url": {
"type": "string"
},
- "page_size": {
- "type": "integer"
+ "distance_miles": {
+ "description": "DistanceMiles is measured from the requested coordinate/query.",
+ "type": "number"
},
- "q": {
+ "features": {
+ "description": "Features lists which of the seven documented filter values this\nstore actually has -- the same tokens the features query param\naccepts as input.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "hours": {
+ "items": {
+ "$ref": "#/definitions/subway.StoreHours"
+ },
+ "type": "array"
+ },
+ "is_open_now": {
+ "type": "boolean"
+ },
+ "latitude": {
+ "type": "number"
+ },
+ "longitude": {
+ "type": "number"
+ },
+ "payment_methods": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "phone_number": {
"type": "string"
},
- "sort": {
+ "store_id": {
"type": "string"
},
- "source_url": {
+ "timezone": {
"type": "string"
}
},
"type": "object"
},
- "wallapop.FilterParamBinding": {
+ "subway.NutritionFact": {
"properties": {
- "param_key": {
+ "name": {
"type": "string"
},
- "param_value": {
- "type": "string"
+ "value": {
+ "type": "number"
}
},
"type": "object"
},
- "wallapop.FilterRangeStep": {
+ "subway.SitemapEntry": {
"properties": {
- "end": {
- "type": "number"
+ "depth": {
+ "description": "Depth is how many path segments the entry has. A store page is the\ndeepest level; shallower entries are country/region/city directory\npages that are also listed in the same sitemap.",
+ "example": 4,
+ "type": "integer"
},
- "increment": {
- "type": "number"
+ "path": {
+ "description": "Path is the locator path, the value /subway/store takes.",
+ "example": "united-states/ny/new-york/1-penn-plaza",
+ "type": "string"
},
- "start": {
- "type": "number"
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "wallapop.FiltersResponse": {
+ "subway.SitemapResponse": {
"properties": {
- "category_id": {
- "type": "integer"
- },
"count": {
+ "example": 100,
"type": "integer"
},
- "fetched_at": {
- "type": "string"
- },
- "filters": {
+ "entries": {
"items": {
- "$ref": "#/definitions/wallapop.FilterDefinition"
+ "$ref": "#/definitions/subway.SitemapEntry"
},
"type": "array"
},
- "query": {
+ "fetched_at": {
"type": "string"
},
- "root_category_id": {
+ "page": {
+ "example": 1,
+ "type": "integer"
+ },
+ "shard": {
+ "example": 0,
+ "type": "integer"
+ },
+ "shard_count": {
+ "example": 1,
"type": "integer"
},
"source_url": {
"type": "string"
+ },
+ "total_in_shard": {
+ "example": 22706,
+ "type": "integer"
+ },
+ "total_pages": {
+ "example": 228,
+ "type": "integer"
}
},
"type": "object"
},
- "wallapop.ItemDetailAttribute": {
+ "subway.StoreAddress": {
"properties": {
- "key": {
+ "city": {
+ "example": "New York",
"type": "string"
},
- "text": {
+ "country": {
+ "example": "US",
"type": "string"
},
- "title": {
+ "postal_code": {
+ "example": "10119",
"type": "string"
},
- "value": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "wallapop.ItemDetailCharacteristic": {
- "properties": {
- "attribute": {
+ "region": {
+ "example": "NY",
"type": "string"
},
- "value": {
+ "street": {
+ "example": "1 Penn Plaza",
"type": "string"
}
},
"type": "object"
},
- "wallapop.ItemDetailCondition": {
+ "subway.StoreHours": {
"properties": {
- "text": {
- "type": "string"
+ "closed": {
+ "example": false,
+ "type": "boolean"
},
- "title": {
+ "closes": {
+ "example": "23:00",
"type": "string"
},
- "value": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "wallapop.ItemDetailRelatedSearch": {
- "properties": {
- "title": {
+ "day_of_week": {
+ "example": "Monday",
"type": "string"
},
- "url": {
+ "opens": {
+ "example": "09:00",
"type": "string"
+ },
+ "segments": {
+ "items": {
+ "$ref": "#/definitions/subway.TimeSegment"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "wallapop.ItemDetailResponse": {
+ "subway.StoreResponse": {
"properties": {
- "attributes": {
- "items": {
- "$ref": "#/definitions/wallapop.ItemDetailAttribute"
- },
- "type": "array"
- },
- "category_id": {
- "type": "integer"
+ "address": {
+ "$ref": "#/definitions/subway.StoreAddress"
},
- "characteristics": {
- "items": {
- "$ref": "#/definitions/wallapop.ItemDetailCharacteristic"
- },
- "type": "array"
+ "description": {
+ "description": "Description is the store's marketing blurb.",
+ "type": "string"
},
- "condition": {
- "$ref": "#/definitions/wallapop.ItemDetailCondition"
+ "fetched_at": {
+ "type": "string"
},
- "currency": {
+ "franchise_number": {
+ "description": "FranchiseNumber is the store's franchise identifier, distinct from\nStoreID (which carries a \"-0\" ordering suffix).",
+ "example": "75376",
"type": "string"
},
- "description": {
+ "google_cid": {
+ "example": "7950893118019215099",
"type": "string"
},
- "fetched_at": {
+ "google_place_id": {
+ "description": "GooglePlaceID and GoogleCID identify this store in Google's own\ndata, so a caller can join a Subway location to a Google Maps\nplace without geocoding it themselves.",
+ "example": "ChIJcXhciqhZwokR-x6iSio_V24",
"type": "string"
},
- "hashtags": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "has_catering": {
+ "type": "boolean"
},
- "id": {
- "type": "string"
+ "has_drive_through": {
+ "type": "boolean"
},
- "images": {
+ "has_online_ordering": {
+ "description": "HasOnlineOrdering, HasCatering and HasDriveThrough are the\nlocator's explicit booleans. They are pointers so \"not published\"\nstays distinguishable from a published false.",
+ "type": "boolean"
+ },
+ "hours": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/subway.StoreHours"
},
"type": "array"
},
- "location": {
- "$ref": "#/definitions/wallapop.ListingLocation"
+ "latitude": {
+ "example": 40.7517026,
+ "type": "number"
},
- "price": {
+ "longitude": {
+ "example": -73.9925826,
"type": "number"
},
- "related_searches": {
+ "meals_served": {
"items": {
- "$ref": "#/definitions/wallapop.ItemDetailRelatedSearch"
+ "type": "string"
},
"type": "array"
},
- "shipping": {
- "$ref": "#/definitions/wallapop.ListingShipping"
+ "menu_url": {
+ "description": "MenuURL and OrderURL point at the store's ordering pages.",
+ "example": "https://order.subway.com/en-us/restaurant/75376-0/menu/",
+ "type": "string"
},
- "slug": {
+ "name": {
+ "example": "Subway",
"type": "string"
},
- "taxonomy": {
- "items": {
- "$ref": "#/definitions/wallapop.ListingTaxonomy"
- },
- "type": "array"
+ "open": {
+ "description": "Open reports the location's own published status. False means the\nstore is flagged closed (permanently or long-term), which is not\nthe same as being outside today's opening hours.",
+ "example": true,
+ "type": "boolean"
},
- "title": {
+ "order_url": {
"type": "string"
},
- "url": {
+ "path": {
"type": "string"
- }
- },
- "type": "object"
- },
- "wallapop.ListingCard": {
- "properties": {
- "category_id": {
- "type": "integer"
},
- "currency": {
+ "phone_e164": {
+ "description": "PhoneE164 is the same number in dialable E.164 form.",
+ "example": "+12122440101",
"type": "string"
},
- "id": {
+ "phone_number": {
+ "example": "(212) 244-0101",
"type": "string"
},
- "images": {
+ "pickup_and_delivery_services": {
+ "description": "PickupAndDeliveryServices and MealsServed are the locator's own\nseparate groupings, kept distinct rather than merged into Services.",
"items": {
"type": "string"
},
"type": "array"
},
- "location": {
- "$ref": "#/definitions/wallapop.ListingLocation"
- },
- "price": {
- "type": "number"
- },
- "shipping": {
- "$ref": "#/definitions/wallapop.ListingShipping"
- },
- "slug": {
+ "price_range": {
+ "description": "PriceRange is the locator's own band, e.g. \"$\".",
+ "example": "$",
"type": "string"
},
- "taxonomy": {
+ "services": {
+ "description": "Services lists the amenities the locator publishes for this store,\ne.g. \"online ordering\", \"delivery\", \"catering\".",
"items": {
- "$ref": "#/definitions/wallapop.ListingTaxonomy"
+ "type": "string"
},
"type": "array"
},
- "title": {
- "type": "string"
- },
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "wallapop.ListingLocation": {
- "properties": {
- "city": {
- "type": "string"
- },
- "country_code": {
+ "source_url": {
"type": "string"
},
- "region": {
+ "store_id": {
+ "description": "StoreID is the numeric ordering identifier (e.g. \"75376-0\") this\nstore uses on subway.com's ordering app -- pass it to\nGET /subway/menu as store_id. It comes free with this same page\nfetch; the locator and ordering platforms share one store ID.",
+ "example": "75376-0",
"type": "string"
},
- "region2": {
+ "timezone": {
+ "description": "Timezone is the store's IANA zone -- needed to read the UTC slots\nfrom GET /subway/available-times as local wall-clock times.",
+ "example": "America/New_York",
"type": "string"
}
},
"type": "object"
},
- "wallapop.ListingShipping": {
+ "subway.TimeSegment": {
"properties": {
- "item_is_shippable": {
- "type": "boolean"
+ "closes": {
+ "example": "23:00",
+ "type": "string"
},
- "user_allows_shipping": {
- "type": "boolean"
+ "opens": {
+ "example": "09:00",
+ "type": "string"
}
},
"type": "object"
},
- "wallapop.ListingTaxonomy": {
+ "subway.availableTimesResponseDoc": {
"properties": {
- "id": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
- "name": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/subway.AvailableTimesResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "wallapop.SearchResponse": {
+ "subway.combosResponseDoc": {
"properties": {
- "category_id": {
- "type": "integer"
- },
- "count": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
- "country_code": {
- "type": "string"
- },
- "fetched_at": {
- "type": "string"
- },
- "items": {
- "items": {
- "$ref": "#/definitions/wallapop.ListingCard"
- },
- "type": "array"
- },
- "next_cursor": {
- "type": "string"
- },
- "query": {
- "type": "string"
- },
- "sort": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/subway.ComboResponse"
},
- "source_url": {
- "type": "string"
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "wallapop.categoriesResponseDoc": {
+ "subway.menuResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/wallapop.CategoriesResponse"
+ "$ref": "#/definitions/subway.MenuResponse"
},
"msg": {
- "example": "OK",
- "type": "string"
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "wallapop.filterOptionsResponseDoc": {
+ "subway.nearbyResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/wallapop.FilterOptionsResponse"
+ "$ref": "#/definitions/subway.NearbyResponse"
},
"msg": {
- "example": "OK",
- "type": "string"
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "wallapop.filtersResponseDoc": {
+ "subway.sitemapResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/wallapop.FiltersResponse"
+ "$ref": "#/definitions/subway.SitemapResponse"
},
"msg": {
- "example": "OK",
- "type": "string"
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "wallapop.itemDetailResponseDoc": {
+ "subway.storeResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/wallapop.ItemDetailResponse"
+ "$ref": "#/definitions/subway.StoreResponse"
},
"msg": {
- "example": "OK",
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "suggest.Response": {
+ "properties": {
+ "query": {
+ "example": "openai",
"type": "string"
+ },
+ "suggestions": {
+ "items": {
+ "$ref": "#/definitions/suggest.Suggestion"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "wallapop.searchResponseDoc": {
+ "suggest.Suggestion": {
"properties": {
- "code": {
- "example": 200,
+ "position": {
+ "example": 1,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/wallapop.SearchResponse"
- },
- "msg": {
- "example": "OK",
+ "query": {
+ "example": "openai api key",
"type": "string"
}
},
"type": "object"
},
- "walmart.Product": {
+ "sun.AuthorArticle": {
"properties": {
- "attributes": {
- "additionalProperties": {
- "type": "string"
- },
- "type": "object"
- },
- "availability": {
- "example": "IN_STOCK",
+ "category": {
"type": "string"
},
- "brand": {
- "example": "Apple",
+ "category_url": {
"type": "string"
},
- "canonical_url": {
- "example": "https://www.walmart.com/ip/5689919121",
+ "excerpt": {
"type": "string"
},
- "category": {
- "example": "Electronics",
+ "title": {
"type": "string"
},
- "currency": {
- "example": "USD",
+ "url": {
"type": "string"
- },
- "description": {
- "example": "Wireless earbuds with active noise cancellation.",
- "type": "string"
- },
- "highlights": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "image": {
- "example": "https://i5.walmartimages.com/seo/example.jpeg",
- "type": "string"
- },
- "images": {
+ }
+ },
+ "type": "object"
+ },
+ "sun.AuthorResponse": {
+ "properties": {
+ "articles": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/sun.AuthorArticle"
},
"type": "array"
},
- "is_sponsored": {
- "example": false,
- "type": "boolean"
- },
- "item_id": {
- "example": "5689919121",
- "type": "string"
- },
- "price": {
- "example": 169,
- "type": "number"
- },
- "price_text": {
- "example": "$169.00",
+ "bio": {
"type": "string"
},
- "product_id": {
- "example": "5689919121",
+ "job_title": {
"type": "string"
},
- "rating": {
- "example": 4.6,
- "type": "number"
- },
- "review_count": {
- "example": 17823,
- "type": "integer"
- },
- "seller_name": {
- "example": "Walmart.com",
+ "name": {
"type": "string"
},
- "title": {
- "example": "Apple AirPods Pro 2",
+ "url": {
"type": "string"
- },
- "variants": {
- "items": {
- "$ref": "#/definitions/walmart.ProductSummary"
- },
- "type": "array"
}
},
"type": "object"
},
- "walmart.ProductSummary": {
+ "swiggy.Collection": {
"properties": {
- "availability": {
- "example": "IN_STOCK",
- "type": "string"
- },
- "brand": {
- "example": "Apple",
- "type": "string"
- },
- "canonical_url": {
- "example": "https://www.walmart.com/ip/5689919121",
+ "id": {
"type": "string"
},
- "currency": {
- "example": "USD",
+ "image_url": {
"type": "string"
},
- "image": {
- "example": "https://i5.walmartimages.com/seo/example.jpeg",
+ "title": {
"type": "string"
- },
- "images": {
+ }
+ },
+ "type": "object"
+ },
+ "swiggy.CollectionsResponse": {
+ "properties": {
+ "collections": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/swiggy.Collection"
},
"type": "array"
},
- "is_sponsored": {
- "example": false,
+ "is_serviceable": {
+ "description": "IsServiceable reports whether Swiggy delivers to the requested\ncoordinates at all. False means the coordinates are outside\nSwiggy's delivery coverage, so an empty collections list is a\ncoverage answer rather than a served location that simply has no\ncurated collections. The same field is returned by /swiggy/search's\nplain nearby browse.",
"type": "boolean"
- },
- "item_id": {
- "example": "5689919121",
- "type": "string"
- },
- "price": {
- "example": 169,
- "type": "number"
- },
- "price_text": {
- "example": "$169.00",
- "type": "string"
- },
- "product_id": {
- "example": "5689919121",
+ }
+ },
+ "type": "object"
+ },
+ "swiggy.ExternalRating": {
+ "properties": {
+ "count": {
"type": "string"
},
"rating": {
- "example": 4.6,
"type": "number"
},
- "review_count": {
- "example": 17823,
- "type": "integer"
- },
- "seller_name": {
- "example": "Walmart.com",
- "type": "string"
- },
- "title": {
- "example": "Apple AirPods Pro 2",
+ "source": {
"type": "string"
}
},
"type": "object"
},
- "walmart.RatingBreakdown": {
+ "swiggy.MenuCategory": {
"properties": {
- "five_star": {
- "description": "Number of 5-star ratings on the product.",
- "example": 1698,
- "type": "integer"
- },
- "four_star": {
- "description": "Number of 4-star ratings on the product.",
- "example": 273,
- "type": "integer"
- },
- "one_star": {
- "description": "Number of 1-star ratings on the product.",
- "example": 215,
- "type": "integer"
+ "items": {
+ "items": {
+ "$ref": "#/definitions/swiggy.MenuItem"
+ },
+ "type": "array"
},
- "three_star": {
- "description": "Number of 3-star ratings on the product.",
- "example": 150,
- "type": "integer"
+ "subcategory": {
+ "type": "string"
},
- "two_star": {
- "description": "Number of 2-star ratings on the product.",
- "example": 116,
- "type": "integer"
+ "title": {
+ "type": "string"
}
},
"type": "object"
},
- "walmart.Review": {
+ "swiggy.MenuItem": {
"properties": {
- "author": {
- "description": "Nickname of the reviewer.",
- "example": "MusicFan",
+ "category": {
"type": "string"
},
- "negative_feedback": {
- "description": "Number of shoppers who voted the review not helpful.",
- "example": 1,
- "type": "integer"
- },
- "positive_feedback": {
- "description": "Number of shoppers who voted the review helpful.",
- "example": 12,
- "type": "integer"
+ "description": {
+ "type": "string"
},
- "rating": {
- "description": "Star rating the reviewer gave, out of 5.",
- "example": 5,
+ "discounted_price": {
"type": "number"
},
- "review_id": {
- "description": "Walmart review id.",
- "example": "406499690",
+ "id": {
"type": "string"
},
- "submission_date": {
- "description": "Date the review was submitted, as Walmart shows it, for example `11/30/2025`.",
- "example": "11/30/2025",
+ "image_url": {
"type": "string"
},
- "text": {
- "description": "Body text of the review.",
- "type": "string"
+ "in_stock": {
+ "type": "boolean"
},
- "title": {
- "description": "Headline the reviewer gave the review.",
- "example": "Great sound",
- "type": "string"
- }
- },
- "type": "object"
- },
- "walmart.ReviewsResponse": {
- "properties": {
- "average_rating": {
- "description": "Average star rating of the product, out of 5.",
- "example": 4.3,
- "type": "number"
+ "is_veg": {
+ "type": "boolean"
},
- "item_id": {
- "description": "Walmart item id the reviews belong to.",
- "example": "5689919121",
+ "name": {
"type": "string"
},
- "rating_counts": {
- "allOf": [
- {
- "$ref": "#/definitions/walmart.RatingBreakdown"
- }
- ],
- "description": "Number of ratings the product received at each star level."
- },
- "recommended_percent": {
- "description": "Percentage of reviewers who recommend the product.",
- "example": 87,
+ "price": {
"type": "number"
},
- "reviews": {
- "description": "Sample of recent customer reviews shown on the product page.",
- "items": {
- "$ref": "#/definitions/walmart.Review"
- },
- "type": "array"
- },
- "reviews_with_text_count": {
- "description": "Number of reviews that include written text.",
- "example": 1345,
- "type": "integer"
- },
- "top_negative_review": {
- "allOf": [
- {
- "$ref": "#/definitions/walmart.Review"
- }
- ],
- "description": "Most helpful critical review Walmart highlights. Omitted when there is none."
- },
- "top_positive_review": {
- "allOf": [
- {
- "$ref": "#/definitions/walmart.Review"
- }
- ],
- "description": "Most helpful positive review Walmart highlights. Omitted when there is none."
+ "rating": {
+ "description": "Rating and TotalRatings are Swiggy's own aggregate score and review\ncount for this individual dish, the same two fields a restaurant\ncarries. Omitted when the dish has no rating yet. Only the headline\naggregate is returned -- individual reviews and reviewer identity\nare out of scope for this platform.",
+ "type": "number"
},
- "total_review_count": {
- "description": "Total number of reviews on the product.",
- "example": 2452,
+ "total_ratings": {
"type": "integer"
}
},
"type": "object"
},
- "walmart.SearchResponse": {
+ "swiggy.MenuResponse": {
"properties": {
- "items": {
+ "categories": {
"items": {
- "$ref": "#/definitions/walmart.ProductSummary"
+ "$ref": "#/definitions/swiggy.MenuCategory"
},
"type": "array"
},
- "page": {
- "example": 1,
- "type": "integer"
- },
- "query": {
- "example": "lego",
- "type": "string"
+ "offers": {
+ "items": {
+ "$ref": "#/definitions/swiggy.Offer"
+ },
+ "type": "array"
},
- "total_results": {
- "example": 1200,
- "type": "integer"
+ "restaurant": {
+ "$ref": "#/definitions/swiggy.Restaurant"
}
},
"type": "object"
},
- "walmart.productResponseDoc": {
+ "swiggy.Offer": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/walmart.Product"
+ "coupon_code": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "description": {
"type": "string"
- }
- },
- "type": "object"
- },
- "walmart.reviewsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/walmart.ReviewsResponse"
+ "tag": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "title": {
"type": "string"
}
},
"type": "object"
},
- "walmart.searchResponseDoc": {
+ "swiggy.OpeningHours": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/walmart.SearchResponse"
+ "day": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "hours": {
"type": "string"
}
},
"type": "object"
},
- "wapo.ArticleResponse": {
+ "swiggy.Restaurant": {
"properties": {
- "authors": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "address": {
+ "type": "string"
},
- "description": {
+ "area": {
"type": "string"
},
- "image_url": {
+ "city": {
"type": "string"
},
- "paragraphs": {
+ "cost_for_two": {
+ "type": "string"
+ },
+ "cuisines": {
"items": {
"type": "string"
},
"type": "array"
},
- "published_at": {
- "type": "string"
- },
- "section": {
- "type": "string"
- },
- "title": {
- "type": "string"
- },
- "updated_at": {
- "type": "string"
+ "delivery_time_minutes": {
+ "type": "integer"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "wapo.AuthorResponse": {
- "properties": {
- "articles": {
+ "dishes": {
+ "description": "Dishes are the menu items that actually matched a /swiggy/search\nquery, carried only by Swiggy's own \"Dishes\" search tab (tab=dish).\nEmpty on the restaurant tab, on a plain nearby browse, on a\ncollection browse, and on /swiggy/restaurant -- none of those\nupstream shapes carry per-restaurant dish matches.",
"items": {
- "$ref": "#/definitions/wapo.HeadlineItem"
+ "$ref": "#/definitions/swiggy.MenuItem"
},
"type": "array"
},
- "author_type": {
- "type": "string"
- },
- "bio": {
- "type": "string"
+ "external_rating": {
+ "$ref": "#/definitions/swiggy.ExternalRating"
},
- "email": {
+ "hours_message": {
"type": "string"
},
- "expertise": {
+ "hours_status": {
+ "description": "HoursStatus/HoursMessage are Swiggy's own live open/close callout\nfor this outlet (\"Open now\" / \"Closes 11:30 pm\"); OpeningHours is\nits weekly schedule. Only the restaurant detail and menu responses\ncarry these -- search and collection listing cards do not, so they\nare empty on /swiggy/search results.",
"type": "string"
},
- "facebook_url": {
+ "id": {
"type": "string"
},
"image_url": {
"type": "string"
},
- "linkedin_url": {
- "type": "string"
- },
- "location": {
- "type": "string"
+ "is_open": {
+ "type": "boolean"
},
- "name": {
- "type": "string"
+ "is_promoted": {
+ "description": "IsPromoted reports whether Swiggy itself labels this a promoted\n(sponsored, paid-placement) result rather than an organic one.\nPresent and true only for those; Swiggy marks none on a plain\nnearby browse.",
+ "type": "boolean"
},
- "page": {
- "type": "integer"
+ "latitude": {
+ "type": "number"
},
- "role": {
+ "locality": {
"type": "string"
},
- "slug": {
- "type": "string"
+ "longitude": {
+ "type": "number"
},
- "total_count": {
- "type": "integer"
+ "name": {
+ "type": "string"
},
- "total_pages": {
- "type": "integer"
+ "offers": {
+ "description": "Offers are the promotions Swiggy shows on this restaurant's own\nlisting card in a search, browse, or collection result -- the\nheadline discount and its condition, its badge, and any separate\nfree-delivery benefit. Absent when the card shows no promotion, and\non /swiggy/restaurant and /swiggy/restaurant/menu, whose responses\ncarry the restaurant's fuller offer list at the top level instead.",
+ "items": {
+ "$ref": "#/definitions/swiggy.Offer"
+ },
+ "type": "array"
},
- "twitter_url": {
- "type": "string"
+ "opening_hours": {
+ "items": {
+ "$ref": "#/definitions/swiggy.OpeningHours"
+ },
+ "type": "array"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "wapo.HeadlineItem": {
- "properties": {
- "description": {
+ "phone": {
"type": "string"
},
- "image_url": {
+ "postal_code": {
"type": "string"
},
- "published_at": {
- "type": "string"
+ "rating": {
+ "type": "number"
},
- "section": {
+ "rating_count": {
"type": "string"
},
- "title": {
- "type": "string"
+ "total_ratings": {
+ "type": "integer"
},
- "url": {
+ "unavailable_message": {
+ "description": "UnavailableMessage is Swiggy's own reason this listed restaurant\ncannot be ordered from right now (\"Currently not taking orders for\nthis location\", \"Opens next at 5 pm, today\", \"Temporarily closed for\ndelivery\"). Absent for a restaurant that is currently orderable.\nNote it is not simply the inverse of is_open: a restaurant Swiggy\nreports as open can still be unavailable for the requested location.",
"type": "string"
}
},
"type": "object"
},
- "wapo.HeadlinesResponse": {
+ "swiggy.RestaurantResponse": {
"properties": {
- "count": {
- "type": "integer"
- },
- "has_more": {
- "type": "boolean"
- },
- "items": {
+ "offers": {
"items": {
- "$ref": "#/definitions/wapo.HeadlineItem"
+ "$ref": "#/definitions/swiggy.Offer"
},
"type": "array"
},
- "section": {
- "type": "string"
+ "restaurant": {
+ "$ref": "#/definitions/swiggy.Restaurant"
}
},
"type": "object"
},
- "wapo.NewsItem": {
+ "swiggy.SearchResponse": {
"properties": {
- "last_modified": {
- "type": "string"
- },
- "published_at": {
- "type": "string"
+ "is_serviceable": {
+ "description": "IsServiceable reports whether Swiggy delivers to the requested\ncoordinates at all. False means the coordinates are outside\nSwiggy's delivery coverage, so an empty restaurants list is a\ncoverage answer rather than a no-matches answer; an empty list\nwithout this field means no matches in a served area. Returned\nonly for the plain nearby browse -- keyword search and a\ncollection_id browse omit it, because Swiggy answers neither with\na coverage verdict.",
+ "type": "boolean"
},
- "title": {
+ "next_offset": {
"type": "string"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "wapo.NewsResponse": {
- "properties": {
- "items": {
+ "restaurants": {
"items": {
- "$ref": "#/definitions/wapo.NewsItem"
+ "$ref": "#/definitions/swiggy.Restaurant"
},
"type": "array"
}
},
"type": "object"
},
- "wapo.Section": {
+ "swiggy.collectionsResponseDoc": {
"properties": {
- "name": {
- "type": "string"
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
},
- "slug": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/swiggy.CollectionsResponse"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "wapo.SectionsResponse": {
- "properties": {
- "sections": {
- "items": {
- "$ref": "#/definitions/wapo.Section"
- },
- "type": "array"
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "wapo.articleResponseDoc": {
+ "swiggy.menuResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/wapo.ArticleResponse"
+ "$ref": "#/definitions/swiggy.MenuResponse"
},
"msg": {
- "example": "OK",
- "type": "string"
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "wapo.authorResponseDoc": {
+ "swiggy.restaurantResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/wapo.AuthorResponse"
+ "$ref": "#/definitions/swiggy.RestaurantResponse"
},
"msg": {
- "example": "OK",
- "type": "string"
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "wapo.headlinesResponseDoc": {
+ "swiggy.searchResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/wapo.HeadlinesResponse"
+ "$ref": "#/definitions/swiggy.SearchResponse"
},
"msg": {
- "example": "OK",
- "type": "string"
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "wapo.newsResponseDoc": {
+ "tacobell.AppMenuBundleChoice": {
"properties": {
"code": {
- "example": 200,
- "type": "integer"
+ "example": "22603_22902_1",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/wapo.NewsResponse"
+ "default_product_codes": {
+ "example": [
+ "22101"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
- "type": "string"
+ "max_selections": {
+ "example": 1,
+ "type": "integer"
+ },
+ "min_selections": {
+ "example": 1,
+ "type": "integer"
}
},
"type": "object"
},
- "wapo.sectionsResponseDoc": {
+ "tacobell.AppMenuCategory": {
"properties": {
"code": {
- "example": 200,
- "type": "integer"
+ "example": "tacos",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/wapo.SectionsResponse"
+ "items": {
+ "items": {
+ "$ref": "#/definitions/tacobell.AppMenuItem"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "name": {
+ "example": "Tacos",
"type": "string"
}
},
"type": "object"
},
- "wattpad.Author": {
+ "tacobell.AppMenuDaypart": {
"properties": {
- "avatar": {
+ "code": {
+ "example": "HappyHour",
"type": "string"
},
"name": {
+ "example": "Happy Hour",
"type": "string"
- },
- "username": {
- "type": "string"
- },
- "verified": {
- "type": "boolean"
}
},
"type": "object"
},
- "wattpad.CategoriesResponse": {
+ "tacobell.AppMenuItem": {
"properties": {
- "categories": {
+ "calories": {
+ "example": 771,
+ "type": "integer"
+ },
+ "choices": {
+ "description": "Choices is populated only when kind is \"bundle\".",
"items": {
- "$ref": "#/definitions/wattpad.Category"
+ "$ref": "#/definitions/tacobell.AppMenuBundleChoice"
+ },
+ "type": "array"
+ },
+ "code": {
+ "example": "22603",
+ "type": "string"
+ },
+ "daypart_codes": {
+ "example": [
+ "BalanceOfDay"
+ ],
+ "items": {
+ "type": "string"
},
"type": "array"
+ },
+ "description": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "kind": {
+ "example": "bundle",
+ "type": "string"
+ },
+ "name": {
+ "example": "3 Crunchy Tacos Supreme Combo",
+ "type": "string"
+ },
+ "price": {
+ "$ref": "#/definitions/tacobell.Money"
}
},
"type": "object"
},
- "wattpad.Category": {
+ "tacobell.AppMenuResponse": {
"properties": {
- "id": {
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/tacobell.AppMenuCategory"
+ },
+ "type": "array"
+ },
+ "category_count": {
+ "example": 17,
"type": "integer"
},
- "name": {
+ "dayparts": {
+ "items": {
+ "$ref": "#/definitions/tacobell.AppMenuDaypart"
+ },
+ "type": "array"
+ },
+ "fetched_at": {
"type": "string"
},
- "name_english": {
+ "item_count": {
+ "example": 207,
+ "type": "integer"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "store_number": {
+ "example": "034922",
"type": "string"
}
},
"type": "object"
},
- "wattpad.Comment": {
+ "tacobell.CategoriesResponse": {
"properties": {
- "author": {
- "type": "string"
- },
- "author_avatar": {
- "type": "string"
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/tacobell.Category"
+ },
+ "type": "array"
},
- "body": {
- "type": "string"
+ "count": {
+ "example": 17,
+ "type": "integer"
},
- "created_at": {
+ "fetched_at": {
"type": "string"
},
- "id": {
+ "source_url": {
"type": "string"
- },
- "is_reply": {
+ }
+ },
+ "type": "object"
+ },
+ "tacobell.Category": {
+ "properties": {
+ "hidden_from_menu": {
+ "description": "HiddenFromMenu marks a category Taco Bell does not surface in its own\nmenu navigation; it is still fetchable.",
+ "example": false,
"type": "boolean"
},
- "parent_id": {
+ "name": {
+ "example": "Tacos",
"type": "string"
},
- "replies": {
- "type": "integer"
+ "slug": {
+ "example": "tacos",
+ "type": "string"
},
"url": {
"type": "string"
@@ -254320,1442 +259584,1678 @@
},
"type": "object"
},
- "wattpad.Language": {
+ "tacobell.CustomizationGroup": {
"properties": {
- "id": {
+ "count": {
+ "example": 9,
"type": "integer"
},
- "name": {
+ "group": {
+ "example": "sauce_options",
"type": "string"
- }
- },
- "type": "object"
- },
- "wattpad.LanguagesResponse": {
- "properties": {
- "languages": {
+ },
+ "options": {
"items": {
- "$ref": "#/definitions/wattpad.Language"
+ "$ref": "#/definitions/tacobell.CustomizationOption"
},
"type": "array"
}
},
"type": "object"
},
- "wattpad.Part": {
+ "tacobell.CustomizationOption": {
"properties": {
- "comments": {
- "type": "integer"
- },
- "created_at": {
- "type": "string"
+ "accurate_calories": {
+ "description": "AccurateCalories is Taco Bell's unrounded figure; `calories` is the\nrounded number the site displays.",
+ "example": 4.0419,
+ "type": "number"
},
- "draft": {
+ "available_in_store": {
+ "example": true,
"type": "boolean"
},
- "id": {
- "type": "string"
- },
- "length": {
+ "calories": {
+ "example": 0,
"type": "integer"
},
- "modified_at": {
+ "code": {
+ "example": "2111",
"type": "string"
},
- "reads": {
- "type": "integer"
- },
- "title": {
+ "description": {
"type": "string"
},
- "url": {
+ "image_url": {
"type": "string"
},
- "votes": {
- "type": "integer"
+ "name": {
+ "example": "Pico De Gallo",
+ "type": "string"
},
- "word_count": {
- "type": "integer"
+ "price": {
+ "$ref": "#/definitions/tacobell.Money"
}
},
"type": "object"
},
- "wattpad.PartCommentsResponse": {
+ "tacobell.DayHours": {
"properties": {
- "comments": {
+ "closes": {
+ "example": "4:00 AM",
+ "type": "string"
+ },
+ "dayparts": {
"items": {
- "$ref": "#/definitions/wattpad.Comment"
+ "$ref": "#/definitions/tacobell.Daypart"
},
"type": "array"
},
- "limit": {
- "type": "integer"
- },
- "next_offset": {
- "description": "NextOffset is the offset of the next page; absent when this page held\nfewer comments than were asked for, which means it was the last.",
- "type": "integer"
- },
- "offset": {
- "type": "integer"
+ "opens": {
+ "example": "7:00 AM",
+ "type": "string"
},
- "part_id": {
+ "week_day": {
+ "example": "Monday",
"type": "string"
}
},
"type": "object"
},
- "wattpad.PartDetail": {
+ "tacobell.Daypart": {
"properties": {
- "comments": {
- "type": "integer"
+ "all_day": {
+ "example": false,
+ "type": "boolean"
},
- "created_at": {
+ "closed": {
+ "example": false,
+ "type": "boolean"
+ },
+ "ends": {
+ "example": "4:00 AM",
"type": "string"
},
- "draft": {
- "type": "boolean"
+ "name": {
+ "example": "Balance Of Day",
+ "type": "string"
},
- "id": {
+ "starts": {
+ "example": "7:00 AM",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "tacobell.MenuItem": {
+ "properties": {
+ "available_in_store": {
+ "example": true,
+ "type": "boolean"
},
- "length": {
+ "calories": {
+ "example": 430,
"type": "integer"
},
- "modified_at": {
+ "calories_text": {
+ "example": "430 Cal",
"type": "string"
},
- "reads": {
- "type": "integer"
+ "category": {
+ "example": "tacos",
+ "type": "string"
},
- "story_id": {
+ "code": {
+ "example": "CB-1234",
"type": "string"
},
- "story_title": {
+ "food_type": {
"type": "string"
},
- "title": {
+ "has_meatless": {
+ "description": "HasMeatless marks an item with a meatless variant available.",
+ "example": false,
+ "type": "boolean"
+ },
+ "image_url": {
"type": "string"
},
- "url": {
+ "item_type": {
"type": "string"
},
- "votes": {
- "type": "integer"
+ "modifiable": {
+ "description": "Modifiable marks an item Taco Bell allows customizing.",
+ "example": true,
+ "type": "boolean"
},
- "word_count": {
- "type": "integer"
+ "name": {
+ "example": "Naked Chicken Chalupa",
+ "type": "string"
+ },
+ "price": {
+ "$ref": "#/definitions/tacobell.Money"
+ },
+ "product_type": {
+ "type": "string"
}
},
"type": "object"
},
- "wattpad.PartResponse": {
+ "tacobell.MenuResponse": {
"properties": {
- "part": {
- "$ref": "#/definitions/wattpad.PartDetail"
+ "category": {
+ "example": "tacos",
+ "type": "string"
+ },
+ "count": {
+ "example": 16,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "items": {
+ "items": {
+ "$ref": "#/definitions/tacobell.MenuItem"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
}
},
"type": "object"
},
- "wattpad.RecommendationsResponse": {
+ "tacobell.Money": {
"properties": {
- "stories": {
- "items": {
- "$ref": "#/definitions/wattpad.Story"
- },
- "type": "array"
+ "currency": {
+ "example": "USD",
+ "type": "string"
},
- "story_id": {
+ "formatted": {
+ "description": "Formatted is Taco Bell's own rendering, kept because it carries the\nupstream's rounding/symbol conventions.",
+ "example": "$5.99",
"type": "string"
+ },
+ "value": {
+ "example": 5.99,
+ "type": "number"
}
},
"type": "object"
},
- "wattpad.SearchResponse": {
+ "tacobell.NutritionFacts": {
"properties": {
- "limit": {
- "type": "integer"
+ "added_sugars_g": {
+ "example": 2.01,
+ "type": "number"
},
- "next_offset": {
- "description": "NextOffset is the offset of the next page, absent on the last one. A\npage can hold fewer than limit stories (or none) when Wattpad filters\nafter paging, so advance by next_offset rather than by the item count.",
- "type": "integer"
+ "caffeine_mg": {
+ "type": "number"
},
- "offset": {
- "type": "integer"
+ "calcium_mg": {
+ "example": 214.1077,
+ "type": "number"
},
- "stories": {
+ "calories": {
+ "example": 392.9079,
+ "type": "number"
+ },
+ "calories_from_fat": {
+ "example": 118.0107,
+ "type": "number"
+ },
+ "cholesterol_mg": {
+ "example": 27.4909,
+ "type": "number"
+ },
+ "dietary_fiber_g": {
+ "example": 7.5198,
+ "type": "number"
+ },
+ "iron_mg": {
+ "example": 4.1016,
+ "type": "number"
+ },
+ "monounsaturated_fat_g": {
+ "example": 3.6845,
+ "type": "number"
+ },
+ "polyunsaturated_fat_g": {
+ "example": 3.33,
+ "type": "number"
+ },
+ "potassium_mg": {
+ "type": "number"
+ },
+ "protein_g": {
+ "example": 15.6483,
+ "type": "number"
+ },
+ "saturated_fat_g": {
+ "example": 6.4715,
+ "type": "number"
+ },
+ "sodium_mg": {
+ "example": 1163.993,
+ "type": "number"
+ },
+ "sugar_alcohol_g": {
+ "type": "number"
+ },
+ "sugars_g": {
+ "example": 4.0006,
+ "type": "number"
+ },
+ "total_carbohydrate_g": {
+ "example": 51.5623,
+ "type": "number"
+ },
+ "total_fat_g": {
+ "example": 13.8961,
+ "type": "number"
+ },
+ "trans_fat_g": {
+ "example": 0.2417,
+ "type": "number"
+ },
+ "vitamin_a": {
+ "example": 11.4691,
+ "type": "number"
+ },
+ "vitamin_c": {
+ "example": 7.2259,
+ "type": "number"
+ },
+ "vitamin_d_mcg": {
+ "example": 1.6074,
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "tacobell.NutritionResponse": {
+ "properties": {
+ "allergens": {
+ "description": "Allergens is the label's \"Contains:\" statement, split into items.",
"items": {
- "$ref": "#/definitions/wattpad.Story"
+ "type": "string"
},
"type": "array"
},
- "total": {
- "description": "Total is the number of matches Wattpad reports; browse requests (no\ntext query) are capped at 1500.",
- "type": "integer"
+ "category": {
+ "example": "burritos",
+ "type": "string"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "ingredients": {
+ "description": "Ingredients is the full component-by-component statement, present\nonly when include_ingredients is set.",
+ "type": "string"
+ },
+ "label_name": {
+ "description": "LabelName is the label's own item name, which can be more specific\nthan the menu name (e.g. \"Burrito Supreme® - Beef\").",
+ "type": "string"
+ },
+ "label_url": {
+ "description": "LabelURL is the nutrition label this data came from. Taco Bell\npublishes its panel there rather than on tacobell.com.",
+ "type": "string"
+ },
+ "nutrition": {
+ "$ref": "#/definitions/tacobell.NutritionFacts"
+ },
+ "product": {
+ "example": "burrito-supreme",
+ "type": "string"
+ },
+ "serving_size_unit": {
+ "example": "Burrito",
+ "type": "string"
+ },
+ "serving_weight_grams": {
+ "example": 232.4657,
+ "type": "number"
+ },
+ "source_url": {
+ "type": "string"
}
},
"type": "object"
},
- "wattpad.SearchUsersResponse": {
+ "tacobell.ProductImage": {
"properties": {
- "limit": {
- "type": "integer"
- },
- "next_offset": {
- "description": "NextOffset is the offset of the next page; it is absent when this page\nheld fewer users than were asked for.",
- "type": "integer"
+ "format": {
+ "example": "640x650",
+ "type": "string"
},
- "offset": {
- "type": "integer"
+ "type": {
+ "example": "PRIMARY",
+ "type": "string"
},
- "users": {
- "items": {
- "$ref": "#/definitions/wattpad.UserSummary"
- },
- "type": "array"
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "wattpad.Story": {
+ "tacobell.ProductResponse": {
"properties": {
- "author": {
- "$ref": "#/definitions/wattpad.Author"
+ "accurate_calories": {
+ "description": "AccurateCalories is the unrounded figure behind `calories`.",
+ "example": 392.9079,
+ "type": "number"
},
- "category_ids": {
- "items": {
- "type": "integer"
- },
- "type": "array"
+ "available_in_store": {
+ "example": true,
+ "type": "boolean"
},
- "comments": {
+ "calories": {
+ "example": 390,
"type": "integer"
},
- "completed": {
- "type": "boolean"
- },
- "cover": {
+ "category": {
+ "example": "burritos",
"type": "string"
},
- "created_at": {
+ "code": {
+ "example": "22201",
"type": "string"
},
+ "customizations": {
+ "description": "Customizations are the option groups this item accepts, each with\nper-option calories and prices. Empty for a non-modifiable item.",
+ "items": {
+ "$ref": "#/definitions/tacobell.CustomizationGroup"
+ },
+ "type": "array"
+ },
"description": {
"type": "string"
},
- "id": {
+ "fetched_at": {
"type": "string"
},
- "language": {
- "$ref": "#/definitions/wattpad.Language"
+ "has_meatless": {
+ "example": false,
+ "type": "boolean"
},
- "mature": {
+ "images": {
+ "items": {
+ "$ref": "#/definitions/tacobell.ProductImage"
+ },
+ "type": "array"
+ },
+ "modifiable": {
+ "example": true,
"type": "boolean"
},
- "modified_at": {
+ "name": {
+ "example": "Burrito Supreme®",
"type": "string"
},
- "parts": {
- "type": "integer"
+ "nutrition_label_url": {
+ "description": "NutritionLabelURL is the full nutrition-facts label Taco Bell links\nfor this item. /taco-bell/nutrition reads it.",
+ "type": "string"
},
- "reads": {
- "type": "integer"
+ "price": {
+ "$ref": "#/definitions/tacobell.Money"
},
- "tags": {
+ "related": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/tacobell.RelatedProduct"
},
"type": "array"
},
- "title": {
+ "source_url": {
"type": "string"
},
"url": {
"type": "string"
},
- "votes": {
- "type": "integer"
+ "vegetarian_friendly": {
+ "example": false,
+ "type": "boolean"
}
},
"type": "object"
},
- "wattpad.StoryDetail": {
+ "tacobell.RelatedProduct": {
"properties": {
- "author": {
- "$ref": "#/definitions/wattpad.Author"
- },
- "category_ids": {
- "items": {
- "type": "integer"
- },
- "type": "array"
- },
- "comments": {
- "type": "integer"
- },
- "completed": {
- "type": "boolean"
- },
- "copyright": {
+ "calories": {
+ "example": 690,
"type": "integer"
},
- "cover": {
+ "code": {
+ "example": "22963",
"type": "string"
},
- "created_at": {
+ "image_url": {
"type": "string"
},
- "description": {
+ "name": {
+ "example": "Grilled Cheese Burrito",
"type": "string"
},
- "first_part_id": {
- "type": "string"
+ "price": {
+ "$ref": "#/definitions/tacobell.Money"
},
- "id": {
+ "reference_type": {
+ "example": "CROSSELLING",
"type": "string"
},
- "language": {
- "$ref": "#/definitions/wattpad.Language"
- },
- "last_published_at": {
+ "url": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "tacobell.Store": {
+ "properties": {
+ "address": {
+ "$ref": "#/definitions/tacobell.StoreAddress"
},
- "mature": {
+ "capabilities": {
+ "$ref": "#/definitions/tacobell.StoreCapabilities"
+ },
+ "delivery": {
+ "example": true,
"type": "boolean"
},
- "modified_at": {
+ "distance_text": {
+ "example": "0.90 Miles",
"type": "string"
},
- "paid_model": {
+ "name": {
+ "example": "040890",
"type": "string"
},
- "parts": {
- "type": "integer"
- },
- "paywalled": {
+ "online_available": {
+ "example": true,
"type": "boolean"
},
- "rating": {
- "type": "integer"
+ "phone_number": {
+ "example": "+16268423006",
+ "type": "string"
},
- "reads": {
- "type": "integer"
+ "status": {
+ "example": "openNow",
+ "type": "string"
},
- "tags": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "store_number": {
+ "example": "040890",
+ "type": "string"
},
- "title": {
+ "timezone": {
+ "example": "America/Los_Angeles",
"type": "string"
},
- "url": {
+ "timezone_offset": {
+ "example": "GMT-07:00",
"type": "string"
},
- "votes": {
- "type": "integer"
+ "today_hours": {
+ "$ref": "#/definitions/tacobell.StoreHours"
}
},
"type": "object"
},
- "wattpad.StoryPartsResponse": {
+ "tacobell.StoreAddress": {
"properties": {
- "parts": {
- "items": {
- "$ref": "#/definitions/wattpad.Part"
- },
- "type": "array"
+ "city": {
+ "example": "Los Angeles",
+ "type": "string"
},
- "story_id": {
+ "country": {
+ "example": "US",
"type": "string"
},
- "title": {
+ "latitude": {
+ "example": 34.048934,
+ "type": "number"
+ },
+ "line1": {
+ "example": "801 West 7th Street",
"type": "string"
},
- "total": {
- "type": "integer"
+ "line2": {
+ "type": "string"
+ },
+ "longitude": {
+ "example": -118.258867,
+ "type": "number"
+ },
+ "postal_code": {
+ "example": "90017",
+ "type": "string"
+ },
+ "region": {
+ "example": "US-CA",
+ "type": "string"
}
},
"type": "object"
},
- "wattpad.StoryResponse": {
+ "tacobell.StoreCapabilities": {
"properties": {
- "story": {
- "$ref": "#/definitions/wattpad.StoryDetail"
+ "breakfast": {
+ "example": true,
+ "type": "boolean"
+ },
+ "delivery_enabled": {
+ "example": true,
+ "type": "boolean"
+ },
+ "drive_thru": {
+ "example": false,
+ "type": "boolean"
+ },
+ "live_mas_cafe": {
+ "example": false,
+ "type": "boolean"
+ },
+ "mobile_enabled": {
+ "example": true,
+ "type": "boolean"
+ },
+ "online": {
+ "example": true,
+ "type": "boolean"
+ },
+ "open_late": {
+ "example": false,
+ "type": "boolean"
+ },
+ "pickup_shelves": {
+ "example": true,
+ "type": "boolean"
}
},
"type": "object"
},
- "wattpad.UserProfile": {
+ "tacobell.StoreDetailResponse": {
"properties": {
- "ambassador": {
+ "address": {
+ "$ref": "#/definitions/tacobell.StoreAddress"
+ },
+ "breakfast_available": {
+ "description": "BreakfastAvailable is the store-hours record's own flag, which can\ndiffer from capabilities.breakfast.",
+ "example": true,
"type": "boolean"
},
- "avatar": {
- "type": "string"
+ "capabilities": {
+ "$ref": "#/definitions/tacobell.StoreCapabilities"
},
- "background": {
- "type": "string"
+ "delivery": {
+ "example": true,
+ "type": "boolean"
},
- "description": {
+ "fetched_at": {
"type": "string"
},
- "followers": {
+ "geofencing_radius": {
+ "example": 3,
"type": "integer"
},
- "following": {
- "type": "integer"
+ "hours": {
+ "description": "Hours is the full published week, Monday-first. /taco-bell/stores\ncarries only today's window.",
+ "items": {
+ "$ref": "#/definitions/tacobell.DayHours"
+ },
+ "type": "array"
},
- "joined_at": {
+ "name": {
+ "example": "040890",
"type": "string"
},
- "lists": {
- "type": "integer"
+ "online_available": {
+ "example": true,
+ "type": "boolean"
},
- "location": {
+ "phone_number": {
+ "example": "+16268423006",
"type": "string"
},
- "modified_at": {
+ "pickup_status": {
+ "description": "PickupStatus is whether mobile pickup ordering is switched on for\nthis restaurant.",
+ "example": "Activated",
"type": "string"
},
- "name": {
+ "source_url": {
"type": "string"
},
- "stories_published": {
- "type": "integer"
- },
- "url": {
+ "status": {
+ "example": "openNow",
"type": "string"
},
- "username": {
+ "store_number": {
+ "example": "040890",
"type": "string"
},
- "verified": {
- "type": "boolean"
- },
- "votes_received": {
- "type": "integer"
+ "timezone": {
+ "description": "Timezone is the IANA zone; TimezoneOffset is Taco Bell's own GMT\nrendering, kept because it reflects the store's current DST state.",
+ "example": "America/Los_Angeles",
+ "type": "string"
},
- "website": {
+ "timezone_offset": {
+ "example": "GMT-07:00",
"type": "string"
+ },
+ "today_hours": {
+ "$ref": "#/definitions/tacobell.DayHours"
}
},
"type": "object"
},
- "wattpad.UserResponse": {
+ "tacobell.StoreHours": {
"properties": {
- "user": {
- "$ref": "#/definitions/wattpad.UserProfile"
+ "closes": {
+ "example": "4:00 AM",
+ "type": "string"
+ },
+ "opens": {
+ "example": "5:30 AM",
+ "type": "string"
+ },
+ "week_day": {
+ "example": "Sunday",
+ "type": "string"
}
},
"type": "object"
},
- "wattpad.UserStoriesResponse": {
+ "tacobell.StoreMenuCategory": {
"properties": {
- "limit": {
- "type": "integer"
- },
- "next_offset": {
- "type": "integer"
- },
- "offset": {
- "type": "integer"
+ "code": {
+ "example": "breakfast",
+ "type": "string"
},
- "stories": {
+ "items": {
"items": {
- "$ref": "#/definitions/wattpad.Story"
+ "$ref": "#/definitions/tacobell.MenuItem"
},
"type": "array"
},
- "total": {
- "type": "integer"
- },
- "username": {
+ "name": {
+ "example": "Breakfast",
"type": "string"
}
},
"type": "object"
},
- "wattpad.UserSummary": {
+ "tacobell.StoreMenuResponse": {
"properties": {
- "avatar": {
- "type": "string"
- },
- "description": {
- "type": "string"
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/tacobell.StoreMenuCategory"
+ },
+ "type": "array"
},
- "followers": {
+ "category_count": {
+ "example": 17,
"type": "integer"
},
- "name": {
+ "fetched_at": {
"type": "string"
},
- "stories_published": {
+ "happier_hours": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/tacobell.TimeWindow"
+ }
+ ],
+ "description": "HappierHours is this store's current happy-hour discount window, if\none is in effect. Not published anywhere else in this family."
+ },
+ "item_count": {
+ "example": 312,
"type": "integer"
},
- "username": {
+ "source_url": {
"type": "string"
},
- "verified": {
- "type": "boolean"
+ "store_number": {
+ "example": "040890",
+ "type": "string"
}
},
"type": "object"
},
- "wattpad.categoriesResponseDoc": {
+ "tacobell.StoresResponse": {
"properties": {
- "code": {
- "example": 200,
+ "count": {
+ "example": 10,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/wattpad.CategoriesResponse"
+ "fetched_at": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "source_url": {
"type": "string"
+ },
+ "stores": {
+ "items": {
+ "$ref": "#/definitions/tacobell.Store"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "wattpad.languagesResponseDoc": {
+ "tacobell.TimeWindow": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/wattpad.LanguagesResponse"
+ "ends_at": {
+ "example": "2026-09-02T00:00:00Z",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "starts_at": {
+ "example": "2026-09-01T21:00:00Z",
"type": "string"
}
},
"type": "object"
},
- "wattpad.partCommentsResponseDoc": {
+ "tacobell.appMenuResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/wattpad.PartCommentsResponse"
+ "$ref": "#/definitions/tacobell.AppMenuResponse"
},
"msg": {
- "example": "OK",
- "type": "string"
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "wattpad.partResponseDoc": {
+ "tacobell.categoriesResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/wattpad.PartResponse"
+ "$ref": "#/definitions/tacobell.CategoriesResponse"
},
"msg": {
- "example": "OK",
- "type": "string"
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "wattpad.recommendationsResponseDoc": {
+ "tacobell.menuResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/wattpad.RecommendationsResponse"
+ "$ref": "#/definitions/tacobell.MenuResponse"
},
"msg": {
- "example": "OK",
- "type": "string"
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "wattpad.searchResponseDoc": {
+ "tacobell.nutritionResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/wattpad.SearchResponse"
+ "$ref": "#/definitions/tacobell.NutritionResponse"
},
"msg": {
- "example": "OK",
- "type": "string"
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "wattpad.searchUsersResponseDoc": {
+ "tacobell.productResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/wattpad.SearchUsersResponse"
+ "$ref": "#/definitions/tacobell.ProductResponse"
},
"msg": {
- "example": "OK",
- "type": "string"
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "wattpad.storyPartsResponseDoc": {
+ "tacobell.storeDetailResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/wattpad.StoryPartsResponse"
+ "$ref": "#/definitions/tacobell.StoreDetailResponse"
},
"msg": {
- "example": "OK",
- "type": "string"
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "wattpad.storyResponseDoc": {
+ "tacobell.storeMenuResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/wattpad.StoryResponse"
+ "$ref": "#/definitions/tacobell.StoreMenuResponse"
},
"msg": {
- "example": "OK",
- "type": "string"
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "wattpad.userResponseDoc": {
+ "tacobell.storesResponseDoc": {
"properties": {
"code": {
- "example": 200,
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/wattpad.UserResponse"
+ "$ref": "#/definitions/tacobell.StoresResponse"
},
"msg": {
- "example": "OK",
- "type": "string"
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
}
},
"type": "object"
},
- "wattpad.userStoriesResponseDoc": {
+ "target.Answer": {
"properties": {
- "code": {
- "example": 200,
+ "author": {
+ "type": "string"
+ },
+ "helpful": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/wattpad.UserStoriesResponse"
+ "id": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "submitted_at": {
+ "type": "string"
+ },
+ "text": {
"type": "string"
}
},
"type": "object"
},
- "wayfair.CategoriesResponse": {
+ "target.Availability": {
"properties": {
- "categories": {
- "items": {
- "$ref": "#/definitions/wayfair.CategoryRef"
- },
- "type": "array"
+ "backup_store": {
+ "type": "boolean"
},
- "has_next": {
- "example": true,
+ "primary_store": {
"type": "boolean"
},
- "page": {
- "example": 1,
- "type": "integer"
+ "scheduled_delivery": {
+ "type": "boolean"
},
- "page_size": {
- "example": 100,
- "type": "integer"
+ "shipping": {
+ "type": "boolean"
},
- "total": {
- "example": 1521,
- "type": "integer"
+ "sold_out": {
+ "type": "boolean"
}
},
"type": "object"
},
- "wayfair.CategoryRef": {
+ "target.Breadcrumb": {
"properties": {
- "department": {
- "example": "baby-kids",
- "type": "string"
- },
"id": {
- "example": "1829184",
+ "example": "4yi5p",
"type": "string"
},
"name": {
- "example": "Kids Shower Curtains",
+ "example": "Coffee",
"type": "string"
},
"url": {
- "example": "https://www.wayfair.com/baby-kids/sb0/kids-shower-curtains-c1829184.html",
"type": "string"
}
},
"type": "object"
},
- "wayfair.CategoryResponse": {
+ "target.CategoriesResponse": {
"properties": {
- "category": {
- "type": "string"
- },
- "category_id": {
- "type": "string"
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/target.Category"
+ },
+ "type": "array"
},
"count": {
+ "example": 29,
"type": "integer"
},
"fetched_at": {
"type": "string"
},
- "has_more": {
- "type": "boolean"
- },
- "page": {
+ "group_count": {
+ "example": 16,
"type": "integer"
},
- "products": {
+ "groups": {
"items": {
- "$ref": "#/definitions/wayfair.ProductSummary"
+ "$ref": "#/definitions/target.CategoryGroup"
},
"type": "array"
},
"source_url": {
"type": "string"
- },
- "total_count": {
- "type": "integer"
}
},
"type": "object"
},
- "wayfair.ProductDetailResponse": {
+ "target.Category": {
"properties": {
- "brand_name": {
+ "id": {
+ "example": "5xt1a",
"type": "string"
},
- "currency_code": {
+ "image_url": {
"type": "string"
},
- "fetched_at": {
+ "name": {
+ "example": "Grocery",
"type": "string"
},
- "highlights": {
- "description": "Highlights are Wayfair's own site-selected feature bullets (its \"Why\nWe Love It\" section), the closest available substitute for a\nmarketing description -- a distinct marketing description field was\nnot found in the page's initial data.",
+ "url": {
+ "example": "https://www.target.com/c/grocery/-/N-5xt1a",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "target.CategoryGroup": {
+ "properties": {
+ "categories": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/target.Category"
},
"type": "array"
},
- "images": {
- "description": "Images lists every distinct product image found on the page.",
+ "name": {
+ "example": "Grocery",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "target.CategoryProductsResponse": {
+ "properties": {
+ "applied_filter_ids": {
"items": {
"type": "string"
},
"type": "array"
},
- "in_stock": {
- "type": "boolean"
- },
- "original_price": {
- "type": "string"
- },
- "price": {
+ "category_id": {
+ "example": "5q0ga",
"type": "string"
},
- "product_id": {
- "type": "string"
+ "count": {
+ "example": 24,
+ "type": "integer"
},
- "product_name": {
+ "fetched_at": {
"type": "string"
},
- "rating": {
- "type": "number"
- },
- "rating_breakdown": {
- "additionalProperties": {
- "type": "integer"
+ "filter_groups": {
+ "items": {
+ "$ref": "#/definitions/target.FilterGroup"
},
- "description": "RatingBreakdown maps each star value (\"1\" through \"5\") to the number\nof reviews with that rating.",
- "type": "object"
+ "type": "array"
},
- "rating_count": {
- "description": "RatingCount is the product's total review count, sourced from the\npage's own aggregate rating summary.",
+ "page": {
+ "example": 1,
"type": "integer"
},
- "selected_color": {
- "description": "SelectedColor is the color variant this page rendered (from its own\nURL/piid) -- kept for backward compatibility. VariantCategories below\ncovers every variant dimension's full option list, not just the one\nselected color.",
- "type": "string"
- },
- "source_url": {
- "type": "string"
- },
- "stock_message": {
- "description": "StockMessage is Wayfair's own inventory status text (e.g. \"795 Left\nin Stock\"), surfaced verbatim since it is more informative than a\nplain boolean.",
- "type": "string"
- },
- "url": {
- "type": "string"
+ "page_size": {
+ "example": 24,
+ "type": "integer"
},
- "variant_categories": {
- "description": "VariantCategories lists every variant dimension this product offers\n(e.g. \"Base Finish\", \"Upholstery Color\", \"Cord Color\") with every one\nof its options -- not just the single option SelectedColor covers.\nEach option's Available reflects both whether it can be selected\ntogether with the product's other currently-selected variant choices\nand, when known, its own stock status -- confirmed live 2026-08-11\nagainst Wayfair's own PDP data (see service.go's doc comment).",
+ "products": {
"items": {
- "$ref": "#/definitions/wayfair.VariantCategory"
+ "$ref": "#/definitions/target.ProductSummary"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "wayfair.ProductSummary": {
- "properties": {
- "brand_name": {
- "type": "string"
- },
- "currency_code": {
- "type": "string"
- },
- "image_url": {
- "type": "string"
},
- "original_price": {
+ "sort": {
+ "example": "featured",
"type": "string"
},
- "price": {
+ "source_url": {
"type": "string"
},
- "product_id": {
- "type": "string"
+ "store_id": {
+ "example": 2885,
+ "type": "integer"
},
- "product_name": {
- "type": "string"
+ "total": {
+ "example": 4158,
+ "type": "integer"
},
- "url": {
- "type": "string"
+ "total_pages": {
+ "example": 50,
+ "type": "integer"
}
},
"type": "object"
},
- "wayfair.VariantCategory": {
+ "target.FilterGroup": {
"properties": {
- "name": {
+ "display_name": {
+ "description": "Name of the filter group as Target shows it, such as `Deals`.",
+ "example": "Deals",
+ "type": "string"
+ },
+ "expanded": {
+ "description": "Whether Target shows the group expanded.",
+ "type": "boolean"
+ },
+ "id": {
+ "description": "Target filter group id, such as `d_deals`.",
+ "example": "d_deals",
"type": "string"
},
"options": {
+ "description": "Filter options in the group.",
"items": {
- "$ref": "#/definitions/wayfair.VariantOption"
+ "$ref": "#/definitions/target.FilterOption"
},
"type": "array"
+ },
+ "type": {
+ "description": "Kind of control Target uses for the group, such as `checkbox`.",
+ "example": "checkbox",
+ "type": "string"
}
},
"type": "object"
},
- "wayfair.VariantOption": {
+ "target.FilterOption": {
"properties": {
- "available": {
- "description": "Available is false when this option cannot be selected together\nwith the product's other currently-selected variant choices, or\n(when its stock status is known) when it is itself out of stock.",
- "type": "boolean"
- },
- "image_url": {
+ "display_name": {
+ "description": "Label of the option as Target shows it, such as `Clearance`.",
+ "example": "Clearance",
"type": "string"
},
- "name": {
+ "id": {
+ "description": "Target filter option id, such as `5tdv1`.",
+ "example": "5tdv1",
"type": "string"
},
"selected": {
- "description": "Selected is true for the option this page's own URL/piid rendered\n(the same option SelectedColor names, for whichever category it\nbelongs to).",
+ "description": "Whether the option is currently applied.",
"type": "boolean"
- }
- },
- "type": "object"
- },
- "wayfair.categoriesResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/wayfair.CategoriesResponse"
+ "url": {
+ "description": "Filter reference for the option, such as `d_deals:clearance`.",
+ "example": "d_deals:clearance",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "value": {
+ "description": "Value of the option, such as `clearance`.",
+ "example": "clearance",
"type": "string"
}
},
"type": "object"
},
- "wayfair.categoryResponseDoc": {
+ "target.FilterOptionsResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/wayfair.CategoryResponse"
+ "applied_filter_ids": {
+ "description": "Ids of the filter options currently applied.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "category_id": {
+ "description": "Target category id the filters are for. Omitted when filters were requested by search query.",
+ "example": "5q0ga",
"type": "string"
- }
- },
- "type": "object"
- },
- "wayfair.productDetailResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ },
+ "count": {
+ "description": "Number of filter groups returned.",
+ "example": 7,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/wayfair.ProductDetailResponse"
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "filter_groups": {
+ "description": "Filter groups and their options for the current result set.",
+ "items": {
+ "$ref": "#/definitions/target.FilterGroup"
+ },
+ "type": "array"
+ },
+ "query": {
+ "description": "Search query the filters are for. Omitted when filters were requested by category.",
+ "example": "coffee",
+ "type": "string"
+ },
+ "source_url": {
+ "description": "URL the data was read from.",
"type": "string"
+ },
+ "store_id": {
+ "description": "Target store id the results are for.",
+ "example": 2885,
+ "type": "integer"
+ },
+ "total": {
+ "description": "Number of products in the current result set.",
+ "example": 4158,
+ "type": "integer"
}
},
"type": "object"
},
- "wccftech.AuthorArticle": {
+ "target.Price": {
"properties": {
- "image_url": {
- "type": "string"
+ "current": {
+ "example": 12.79,
+ "type": "number"
},
- "published_at": {
+ "formatted": {
+ "example": "$12.79",
"type": "string"
},
- "summary": {
- "type": "string"
+ "regular": {
+ "example": 12.79,
+ "type": "number"
},
- "title": {
- "type": "string"
+ "store_id": {
+ "example": 2885,
+ "type": "integer"
},
- "url": {
+ "unit_formatted": {
+ "example": "$1.07/ounce",
"type": "string"
}
},
"type": "object"
},
- "wccftech.AuthorResponse": {
+ "target.Product": {
"properties": {
- "articles": {
+ "availability": {
+ "$ref": "#/definitions/target.Availability"
+ },
+ "brand": {
+ "example": "Starbucks",
+ "type": "string"
+ },
+ "breadcrumbs": {
"items": {
- "$ref": "#/definitions/wccftech.AuthorArticle"
+ "$ref": "#/definitions/target.Breadcrumb"
},
"type": "array"
},
- "bio": {
- "type": "string"
+ "bullets": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "image_url": {
+ "category": {
+ "example": "Ground Coffee",
"type": "string"
},
- "name": {
+ "category_id": {
+ "example": "x2hqv",
"type": "string"
},
- "role": {
+ "description": {
"type": "string"
},
- "slug": {
+ "dpci": {
+ "example": "231-10-1932",
"type": "string"
},
- "url": {
+ "images": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "item_type": {
+ "example": "Coffee",
"type": "string"
- }
- },
- "type": "object"
- },
- "web.ScrapeInfo": {
- "properties": {
- "backend": {
- "description": "headless backend that rendered, when method=browser",
+ },
+ "parent_category_id": {
+ "example": "4yi5p",
"type": "string"
},
- "cache_state": {
- "description": "\"hit\" | \"miss\" — whether this response came from the cache",
+ "parent_tcin": {
+ "example": "89169599",
"type": "string"
},
- "cached_at": {
- "description": "RFC3339 time the served copy was fetched (cache hits only)",
+ "price": {
+ "$ref": "#/definitions/target.Price"
+ },
+ "primary_image_url": {
"type": "string"
},
- "escalated": {
- "description": "true when the fetch escalated from HTTP to a headless browser",
- "type": "boolean"
+ "rating": {
+ "$ref": "#/definitions/target.Rating"
},
- "method": {
- "description": "\"http\" | \"browser\"",
+ "specifications": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "tcin": {
+ "example": "12954151",
"type": "string"
},
- "render_failed": {
- "description": "RenderFailed is true when a browser render was requested (render=browser or a\npinned backend) but no backend produced a page, so the content is the\nHTTP-tier fallback. Such a page ran no JavaScript and is billed at the\nHTTP-tier price.",
- "type": "boolean"
+ "title": {
+ "example": "Starbucks Pike Place Roast Medium Ground Coffee - 12oz",
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "web.ScrapeLink": {
+ "target.ProductResponse": {
"properties": {
- "href": {
+ "fetched_at": {
"type": "string"
},
- "rel": {
- "type": "string"
+ "product": {
+ "$ref": "#/definitions/target.Product"
},
- "text": {
+ "source_url": {
"type": "string"
+ },
+ "store_id": {
+ "example": 2885,
+ "type": "integer"
}
},
"type": "object"
},
- "web.ScrapeMetadata": {
+ "target.ProductSummary": {
"properties": {
- "author": {
- "type": "string"
- },
- "canonical_url": {
- "type": "string"
- },
- "content_type": {
+ "brand": {
+ "example": "Starbucks",
"type": "string"
},
- "description": {
+ "category_id": {
+ "example": "x2hqv",
"type": "string"
},
- "final_url": {
+ "parent_category_id": {
+ "example": "4yi5p",
"type": "string"
},
- "image": {
+ "parent_tcin": {
+ "example": "89169599",
"type": "string"
},
- "language": {
- "type": "string"
+ "price": {
+ "$ref": "#/definitions/target.Price"
},
- "modified_at": {
+ "primary_image_url": {
"type": "string"
},
- "published_at": {
- "type": "string"
+ "rating": {
+ "$ref": "#/definitions/target.Rating"
},
- "section": {
+ "tcin": {
+ "example": "12954151",
"type": "string"
},
- "site_name": {
+ "title": {
+ "example": "Starbucks Pike Place Roast Medium Ground Coffee - 12oz",
"type": "string"
},
- "source_url": {
- "type": "string"
- },
- "status_code": {
- "type": "integer"
- },
- "title": {
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "web.ScrapeOption": {
+ "target.Question": {
"properties": {
- "backend": {
- "example": "",
- "type": "string"
- },
- "dedicated": {
- "type": "boolean"
- },
- "formats": {
- "example": [
- "markdown"
- ],
+ "answers": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/target.Answer"
},
"type": "array"
},
- "max_age": {
- "example": 604800000,
- "type": "integer"
+ "author": {
+ "type": "string"
},
- "only_main_content": {
- "type": "boolean"
+ "helpful": {
+ "type": "integer"
},
- "proxy": {
- "example": "",
+ "id": {
"type": "string"
},
- "render": {
- "enum": [
- "auto",
- "http",
- "browser",
- "unblocker"
- ],
- "example": "auto",
+ "submitted_at": {
"type": "string"
},
- "store_in_cache": {
- "type": "boolean"
- },
- "url": {
- "example": "https://example.com",
+ "text": {
"type": "string"
- },
- "wait_for": {
- "example": 0,
- "type": "integer"
}
},
- "required": [
- "url"
- ],
"type": "object"
},
- "web.ScrapeResult": {
+ "target.QuestionsResponse": {
"properties": {
- "html": {
+ "count": {
+ "type": "integer"
+ },
+ "fetched_at": {
"type": "string"
},
- "link_details": {
- "items": {
- "$ref": "#/definitions/web.ScrapeLink"
- },
- "type": "array"
+ "page": {
+ "type": "integer"
},
- "links": {
+ "per_page": {
+ "type": "integer"
+ },
+ "questions": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/target.Question"
},
"type": "array"
},
- "markdown": {
+ "source_url": {
"type": "string"
},
- "metadata": {
- "$ref": "#/definitions/web.ScrapeMetadata"
- },
- "raw_html": {
+ "tcin": {
"type": "string"
},
- "scrape": {
- "$ref": "#/definitions/web.ScrapeInfo"
+ "total_pages": {
+ "type": "integer"
}
},
"type": "object"
},
- "web.TechStackOption": {
+ "target.Rating": {
"properties": {
- "render": {
- "enum": [
- "browser",
- "auto",
- "http"
- ],
- "example": "browser",
- "type": "string"
+ "average": {
+ "example": 4.51,
+ "type": "number"
},
- "url": {
- "example": "https://www.example.com",
- "type": "string"
+ "rating_count": {
+ "example": 1586,
+ "type": "integer"
+ },
+ "review_count": {
+ "example": 1076,
+ "type": "integer"
}
},
- "required": [
- "url"
- ],
"type": "object"
},
- "web.TechStackResult": {
+ "target.Review": {
"properties": {
- "categories": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "author": {
+ "type": "string"
},
- "count": {
+ "helpful": {
"type": "integer"
},
- "detector_version": {
+ "id": {
"type": "string"
},
- "failure_reason": {
- "type": "string"
+ "rating": {
+ "type": "integer"
},
- "final_url": {
+ "submitted_at": {
"type": "string"
},
- "is_infrastructure": {
- "description": "IsInfrastructure is true when the URL's host looks like backend\ninfrastructure (a CDN, DNS, or cloud-vendor hostname) rather than a\nreal, human-navigable website.",
- "type": "boolean"
- },
- "reachable": {
+ "syndicated": {
"type": "boolean"
},
- "technologies": {
- "items": {
- "$ref": "#/definitions/techstack.Technology"
- },
- "type": "array"
- },
- "unmatched_evidence": {
- "allOf": [
- {
- "$ref": "#/definitions/techstack.UnmatchedEvidence"
- }
- ],
- "description": "UnmatchedEvidence is the third-party script/stylesheet host domains and\n value seen on the page that don't match any current\nsignature — useful for spotting a vendor worth requesting coverage for."
+ "text": {
+ "type": "string"
},
- "url": {
+ "title": {
"type": "string"
+ },
+ "verified": {
+ "type": "boolean"
}
},
"type": "object"
},
- "web.billingRejectionDoc": {
+ "target.ReviewsResponse": {
"properties": {
- "credit_cost": {
- "description": "credit_cost is what the rejected request would have cost. Credit rejections only.",
- "example": 1,
+ "count": {
"type": "integer"
},
- "credits_included": {
- "description": "credits_included is the plan's credit allowance for the period. Credit rejections only.",
- "example": 2000,
- "type": "integer"
+ "fetched_at": {
+ "type": "string"
},
- "credits_remaining": {
- "description": "credits_remaining is what is left this period. Credit rejections only.",
- "example": 0,
+ "page": {
"type": "integer"
},
- "credits_used": {
- "description": "credits_used is credits spent so far this period. Credit rejections only.",
- "example": 2000,
+ "per_page": {
"type": "integer"
},
- "daily_credit_limit": {
- "description": "daily_credit_limit is the plan's daily cap; 0 means no daily cap. Credit rejections only.",
- "example": 500,
+ "reviews": {
+ "items": {
+ "$ref": "#/definitions/target.Review"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "tcin": {
+ "type": "string"
+ },
+ "total": {
"type": "integer"
},
- "daily_credits_remaining": {
- "description": "daily_credits_remaining is what is left today (UTC). Credit rejections only.",
- "example": 0,
+ "total_pages": {
"type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "target.SearchResponse": {
+ "properties": {
+ "applied_filter_ids": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "daily_credits_used": {
- "description": "daily_credits_used is credits spent so far today (UTC). Credit rejections only.",
- "example": 500,
+ "count": {
+ "example": 24,
"type": "integer"
},
- "message": {
- "description": "message is a human-readable explanation of the rejection.",
- "example": "Your Free plan's 2000 monthly credits are used up. They reset at 2026-08-02T00:00:00Z.",
+ "fetched_at": {
"type": "string"
},
- "plan": {
- "description": "plan is the caller's current plan.",
- "example": "Free",
- "type": "string"
+ "filter_groups": {
+ "items": {
+ "$ref": "#/definitions/target.FilterGroup"
+ },
+ "type": "array"
},
- "rate_limit_per_minute": {
- "description": "rate_limit_per_minute is the plan's request rate. rate_limited only.",
- "example": 5,
+ "page": {
+ "example": 1,
"type": "integer"
},
- "reason": {
- "description": "reason identifies the limit that was hit.",
- "enum": [
- "insufficient_credits",
- "daily_credit_limit",
- "rate_limited",
- "ip_rate_limited"
- ],
- "example": "insufficient_credits",
+ "page_size": {
+ "example": 24,
+ "type": "integer"
+ },
+ "products": {
+ "items": {
+ "$ref": "#/definitions/target.ProductSummary"
+ },
+ "type": "array"
+ },
+ "query": {
+ "example": "coffee",
"type": "string"
},
- "reset_scope": {
- "description": "reset_scope names the window that clears this rejection.",
- "enum": [
- "daily",
- "monthly",
- "minute",
- "ip_window"
- ],
- "example": "monthly",
+ "sort": {
+ "example": "relevance",
"type": "string"
},
- "resets_at": {
- "description": "resets_at is when that window next rolls over, so the caller knows when\nrequests will succeed again without any action. Omitted only for an\ninsufficient_credits rejection whose billing period is not on record (a\nstate that predates period tracking).",
- "example": "2026-08-02T00:00:00Z",
+ "source_url": {
"type": "string"
},
- "retry_after_seconds": {
- "description": "retry_after_seconds is how long to wait before retrying, rounded up to the\nnext whole second. Matches the Retry-After response header. Present on every\nreason whenever resets_at is present — this is not rate_limited-only.",
- "example": 12,
+ "store_id": {
+ "example": 2885,
"type": "integer"
},
- "suggested_plan": {
- "description": "suggested_plan is the cheapest plan that would cover the caller's observed\nusage. Omitted when no higher plan applies, and always omitted for\nip_rate_limited (upgrading plan does not clear an IP-sharing block).",
- "example": "Starter",
- "type": "string"
+ "total": {
+ "example": 20939,
+ "type": "integer"
},
- "upgrade_url": {
- "description": "upgrade_url is where to change plan.",
- "example": "https://crawlora.net/pricing",
- "type": "string"
+ "total_pages": {
+ "example": 50,
+ "type": "integer"
}
},
"type": "object"
},
- "web.billingRejectionResponseDoc": {
+ "target.Store": {
"properties": {
- "code": {
- "example": 402,
- "type": "integer"
+ "address_line1": {
+ "example": "20745 Stevens Creek Blvd",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/web.billingRejectionDoc"
+ "city": {
+ "example": "Cupertino",
+ "type": "string"
},
- "msg": {
- "example": "Payment Required",
+ "country": {
+ "example": "US",
"type": "string"
- }
- },
- "type": "object"
- },
- "web.scrapeResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/web.ScrapeResult"
+ "distance_miles": {
+ "example": 2.62,
+ "type": "number"
},
- "msg": {
- "example": "OK",
+ "hours": {
+ "items": {
+ "$ref": "#/definitions/target.StoreHoursDay"
+ },
+ "type": "array"
+ },
+ "name": {
+ "example": "Cupertino De Anza Blvd",
"type": "string"
- }
- },
- "type": "object"
- },
- "web.techStackResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/web.TechStackResult"
+ "phone": {
+ "example": "408-725-2651",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "postal_code": {
+ "example": "95014-2123",
"type": "string"
- }
- },
- "type": "object"
- },
- "webmonitor.checkDoc": {
- "properties": {
- "added_urls": {
+ },
+ "services": {
+ "description": "Services is Target's own service/amenity label list for this store\n(e.g. \"Starbucks Cafe\", \"Drive Up\", \"Wine, Beer & Spirits Available\"),\npassed through as-is rather than translated to a fixed vocabulary.",
"items": {
"type": "string"
},
"type": "array"
},
- "billed": {
- "example": true,
- "type": "boolean"
+ "state": {
+ "example": "CA",
+ "type": "string"
},
- "changed": {
- "example": false,
- "type": "boolean"
+ "status": {
+ "example": "Open",
+ "type": "string"
},
- "checked_at": {
- "example": "2026-08-22T10:00:00Z",
+ "store_id": {
+ "example": "323",
"type": "string"
},
- "diff": {
+ "time_zone": {
+ "example": "PST",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "target.StoreHoursDay": {
+ "properties": {
+ "close_time": {
+ "example": "23:00:00",
"type": "string"
},
- "error": {
+ "date": {
+ "example": "2026-09-15",
"type": "string"
},
- "fingerprint": {
+ "day_name": {
+ "example": "Tuesday",
"type": "string"
},
- "id": {
- "example": "66d2f0c1c2a4e5f6a7b8c9d1",
+ "is_open": {
+ "type": "boolean"
+ },
+ "open_time": {
+ "example": "07:00:00",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "target.StoresResponse": {
+ "properties": {
+ "count": {
+ "example": 20,
+ "type": "integer"
},
- "monitor_id": {
- "example": "66d2f0b1c2a4e5f6a7b8c9d0",
+ "fetched_at": {
"type": "string"
},
- "removed_urls": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "place": {
+ "example": "95014",
+ "type": "string"
},
- "skipped": {
- "example": false,
- "type": "boolean"
+ "source_url": {
+ "type": "string"
},
- "webhook_deliveries": {
+ "stores": {
"items": {
- "$ref": "#/definitions/webmonitor.webhookDeliveryDoc"
+ "$ref": "#/definitions/target.Store"
},
"type": "array"
}
},
"type": "object"
},
- "webmonitor.checkListResponseDoc": {
+ "target.categoriesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "items": {
- "$ref": "#/definitions/webmonitor.checkDoc"
- },
- "type": "array"
+ "$ref": "#/definitions/target.CategoriesResponse"
},
"msg": {
"example": "OK",
@@ -255764,55 +261264,30 @@
},
"type": "object"
},
- "webmonitor.createMonitorBodyDoc": {
+ "target.categoryProductsResponseDoc": {
"properties": {
- "cadence_minutes": {
- "example": 60,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "enabled": {
- "example": true,
- "type": "boolean"
- },
- "name": {
- "example": "Pricing page",
- "type": "string"
- },
- "notification": {
- "$ref": "#/definitions/webmonitor.notificationBodyDoc"
- },
- "sitemap": {
- "$ref": "#/definitions/webmonitor.sitemapTargetBodyDoc"
- },
- "target_type": {
- "enum": [
- "page",
- "sitemap"
- ],
- "example": "page",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/target.CategoryProductsResponse"
},
- "url": {
- "example": "https://example.com/pricing",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "webmonitor.monitorDeleteResponseDoc": {
+ "target.filterOptionsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "properties": {
- "deleted": {
- "example": true,
- "type": "boolean"
- }
- },
- "type": "object"
+ "$ref": "#/definitions/target.FilterOptionsResponse"
},
"msg": {
"example": "OK",
@@ -255821,83 +261296,58 @@
},
"type": "object"
},
- "webmonitor.monitorDoc": {
+ "target.productResponseDoc": {
"properties": {
- "cadence_minutes": {
- "example": 60,
- "type": "integer"
- },
- "created_at": {
- "example": "2026-08-01T00:00:00Z",
- "type": "string"
- },
- "enabled": {
- "example": true,
- "type": "boolean"
- },
- "failures": {
- "example": 0,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "id": {
- "example": "66d2f0b1c2a4e5f6a7b8c9d0",
- "type": "string"
- },
- "last_changed_at": {
- "example": "2026-08-20T09:00:00Z",
- "type": "string"
- },
- "last_checked_at": {
- "example": "2026-08-22T10:00:00Z",
- "type": "string"
- },
- "last_error": {
- "type": "string"
- },
- "name": {
- "example": "Pricing page",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/target.ProductResponse"
},
- "next_check_at": {
- "example": "2026-08-22T11:00:00Z",
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "target.questionsResponseDoc": {
+ "properties": {
+ "code": {
+ "type": "integer"
},
- "notification": {
- "$ref": "#/definitions/webmonitor.notificationDoc"
- },
- "sitemap": {
- "$ref": "#/definitions/webmonitor.sitemapTargetDoc"
+ "data": {
+ "$ref": "#/definitions/target.QuestionsResponse"
},
- "target_type": {
- "enum": [
- "page",
- "sitemap"
- ],
- "example": "page",
+ "msg": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "target.reviewsResponseDoc": {
+ "properties": {
+ "code": {
+ "type": "integer"
},
- "updated_at": {
- "example": "2026-08-22T10:00:00Z",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/target.ReviewsResponse"
},
- "url": {
- "example": "https://example.com/pricing",
+ "msg": {
"type": "string"
}
},
"type": "object"
},
- "webmonitor.monitorListResponseDoc": {
+ "target.searchResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "items": {
- "$ref": "#/definitions/webmonitor.monitorDoc"
- },
- "type": "array"
+ "$ref": "#/definitions/target.SearchResponse"
},
"msg": {
"example": "OK",
@@ -255906,14 +261356,14 @@
},
"type": "object"
},
- "webmonitor.monitorResponseDoc": {
+ "target.storesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/webmonitor.monitorDoc"
+ "$ref": "#/definitions/target.StoresResponse"
},
"msg": {
"example": "OK",
@@ -255922,1284 +261372,846 @@
},
"type": "object"
},
- "webmonitor.notificationBodyDoc": {
+ "tcgplayer.Facet": {
"properties": {
- "events": {
- "example": [
- "change.detected",
- "run.completed"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
+ "count": {
+ "type": "integer"
},
- "webhook_secret": {
- "example": "whsec_...",
+ "url_value": {
"type": "string"
},
- "webhook_url": {
- "example": "https://example.com/webhooks/crawlora",
+ "value": {
"type": "string"
}
},
"type": "object"
},
- "webmonitor.notificationDoc": {
+ "tcgplayer.Facets": {
"properties": {
- "events": {
- "example": [
- "change.detected",
- "run.completed"
- ],
+ "card_types": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/tcgplayer.Facet"
},
"type": "array"
},
- "webhook_url": {
- "example": "https://example.com/webhooks/crawlora",
- "type": "string"
- }
- },
- "type": "object"
- },
- "webmonitor.sitemapTargetBodyDoc": {
- "properties": {
- "exclude_patterns": {
- "example": [
- "/blog/*"
- ],
+ "energy_types": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/tcgplayer.Facet"
},
"type": "array"
},
- "include_patterns": {
- "example": [
- "/products/*"
- ],
+ "product_lines": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/tcgplayer.Facet"
},
"type": "array"
},
- "max_urls": {
- "example": 5000,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "webmonitor.sitemapTargetDoc": {
- "properties": {
- "exclude_patterns": {
- "example": [
- "/blog/*"
- ],
+ "product_types": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/tcgplayer.Facet"
},
"type": "array"
},
- "include_patterns": {
- "example": [
- "/products/*"
- ],
+ "rarities": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/tcgplayer.Facet"
},
"type": "array"
},
- "max_urls": {
- "example": 5000,
- "type": "integer"
+ "sets": {
+ "items": {
+ "$ref": "#/definitions/tcgplayer.Facet"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "webmonitor.updateMonitorBodyDoc": {
+ "tcgplayer.FilterValue": {
"properties": {
- "cadence_minutes": {
- "example": 60,
- "type": "integer"
- },
- "enabled": {
- "example": true,
- "type": "boolean"
- },
- "name": {
- "example": "Pricing page",
+ "abbreviation": {
"type": "string"
},
- "notification": {
- "$ref": "#/definitions/webmonitor.notificationBodyDoc"
- },
- "sitemap": {
- "$ref": "#/definitions/webmonitor.sitemapTargetBodyDoc"
+ "id": {
+ "type": "integer"
},
- "target_type": {
- "enum": [
- "page",
- "sitemap"
- ],
- "example": "page",
+ "name": {
"type": "string"
}
},
"type": "object"
},
- "webmonitor.webhookDeliveryDoc": {
+ "tcgplayer.FiltersResponse": {
"properties": {
- "attempts": {
- "example": 1,
- "type": "integer"
+ "conditions": {
+ "items": {
+ "$ref": "#/definitions/tcgplayer.FilterValue"
+ },
+ "type": "array"
},
- "delivered_at": {
- "example": "2026-08-22T10:00:02Z",
- "type": "string"
+ "languages": {
+ "items": {
+ "$ref": "#/definitions/tcgplayer.FilterValue"
+ },
+ "type": "array"
},
- "error": {
- "type": "string"
+ "listing_types": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "event": {
- "enum": [
- "change.detected",
- "run.completed"
- ],
- "example": "change.detected",
- "type": "string"
+ "product_id": {
+ "type": "integer"
},
- "status": {
- "enum": [
- "delivered",
- "rejected",
- "failed",
- "skipped_unsafe_url"
- ],
- "example": "delivered",
+ "product_line": {
"type": "string"
},
- "status_code": {
- "example": 200,
+ "product_line_id": {
"type": "integer"
+ },
+ "variants": {
+ "items": {
+ "$ref": "#/definitions/tcgplayer.FilterValue"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "webretrieval.DiscoveredURL": {
+ "tcgplayer.Listing": {
"properties": {
- "discovered_via": {
- "type": "string"
- },
- "last_modified": {
- "type": "string"
- },
- "observed_at": {
- "type": "string"
- },
- "parent_url": {
- "type": "string"
- },
- "title": {
+ "condition": {
"type": "string"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "webretrieval.WebSearchHit": {
- "properties": {
- "document": {
- "$ref": "#/definitions/retrievaltypes.Document"
+ "direct_seller": {
+ "type": "boolean"
},
- "fetch_failure": {
- "$ref": "#/definitions/retrievaltypes.Failure"
+ "gold_seller": {
+ "type": "boolean"
},
- "provider": {
+ "language": {
"type": "string"
},
- "rank": {
+ "listing_id": {
"type": "integer"
},
- "retrieved_at": {
- "type": "string"
- },
- "snippet": {
+ "listing_type": {
"type": "string"
},
- "title": {
- "type": "string"
+ "price": {
+ "type": "number"
},
- "url": {
+ "printing": {
"type": "string"
- }
- },
- "type": "object"
- },
- "wendys.CategoriesResponse": {
- "properties": {
- "categories": {
- "items": {
- "$ref": "#/definitions/wendys.Category"
- },
- "type": "array"
},
- "count": {
- "example": 25,
+ "quantity": {
"type": "integer"
},
- "fetched_at": {
- "type": "string"
- },
- "source_url": {
+ "seller_city": {
"type": "string"
- }
- },
- "type": "object"
- },
- "wendys.Category": {
- "properties": {
- "dayparts": {
- "description": "Dayparts lists which of Wendy's own top-level menu groupings\n(\"Lunch/Dinner\", \"Breakfast\") this category appears under. A few\ncategories (Coffee, Beverages, Give Something Back, Bakery) appear\nunder both.",
- "items": {
- "type": "string"
- },
- "type": "array"
},
- "id": {
- "example": "100",
+ "seller_country": {
"type": "string"
},
- "image_url": {
+ "seller_name": {
"type": "string"
},
- "name": {
- "example": "Hamburgers",
- "type": "string"
+ "seller_rating": {
+ "type": "number"
},
- "slug": {
- "example": "hamburgers",
+ "seller_sales": {
"type": "string"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "wendys.ComboNutritionSelection": {
- "properties": {
- "name": {
- "example": "Dave's Single®",
+ "seller_state": {
"type": "string"
},
- "slot_type": {
- "example": "ENTREE",
- "type": "string"
- }
- },
- "type": "object"
- },
- "wendys.ComboOption": {
- "properties": {
- "base_price": {
- "example": 5.59,
+ "shipping_price": {
"type": "number"
},
- "calories": {
- "example": "560 Cal",
- "type": "string"
- },
- "is_default": {
+ "verified_seller": {
"type": "boolean"
- },
- "name": {
- "example": "Dave's Single®",
- "type": "string"
- },
- "product_id": {
- "example": "10000000000081",
- "type": "string"
}
},
"type": "object"
},
- "wendys.ComboSlot": {
+ "tcgplayer.ListingFacets": {
"properties": {
- "name": {
- "example": "Dave's Hamburger Combo",
- "type": "string"
- },
- "options": {
+ "conditions": {
"items": {
- "$ref": "#/definitions/wendys.ComboOption"
+ "$ref": "#/definitions/tcgplayer.Facet"
},
"type": "array"
},
- "slot_type": {
- "example": "ENTREE",
- "type": "string"
- }
- },
- "type": "object"
- },
- "wendys.Component": {
- "properties": {
- "allergens": {
- "example": [
- "Wheat",
- "Milk"
- ],
+ "languages": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/tcgplayer.Facet"
},
"type": "array"
},
- "description": {
- "type": "string"
- },
- "group": {
- "description": "Group is \"default\" (comes with the item), \"extra\" (a paid add-on), or\n\"required\" (the caller must choose one option from a named group,\ne.g. a salad's dressing).",
- "example": "default",
- "type": "string"
- },
- "is_default_option": {
- "type": "boolean"
- },
- "name": {
- "example": "Grilled Chicken",
- "type": "string"
- },
- "price": {
- "example": 0.5,
- "type": "number"
- },
- "required_group_name": {
- "description": "RequiredGroupName and IsDefaultOption are only set for Group ==\n\"required\" -- e.g. RequiredGroupName \"Dressing\", with\nIsDefaultOption true on whichever dressing Wendy's page pre-selects.",
- "example": "Dressing",
- "type": "string"
+ "printings": {
+ "items": {
+ "$ref": "#/definitions/tcgplayer.Facet"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "wendys.DirectoryChild": {
+ "tcgplayer.ListingsResponse": {
"properties": {
- "is_store": {
- "description": "IsStore marks a child that is a store page rather than another\ndirectory level -- call /wendys/store with its path.",
- "example": false,
- "type": "boolean"
- },
- "name": {
- "example": "Ohio",
- "type": "string"
- },
- "path": {
- "example": "united-states/oh",
- "type": "string"
+ "facets": {
+ "$ref": "#/definitions/tcgplayer.ListingFacets"
},
- "store_count": {
- "description": "StoreCount is how many stores sit under this branch. Present at the\ncountry/state/city levels; absent once children are stores\nthemselves.",
- "example": 388,
+ "limit": {
"type": "integer"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "wendys.DirectoryResponse": {
- "properties": {
- "children": {
+ "listings": {
"items": {
- "$ref": "#/definitions/wendys.DirectoryChild"
+ "$ref": "#/definitions/tcgplayer.Listing"
},
"type": "array"
},
- "count": {
- "example": 88,
+ "next_offset": {
"type": "integer"
},
- "fetched_at": {
- "type": "string"
- },
- "name": {
- "type": "string"
+ "offset": {
+ "type": "integer"
},
- "path": {
- "example": "united-states/oh",
- "type": "string"
+ "product_id": {
+ "type": "integer"
},
- "source_url": {
- "type": "string"
+ "total": {
+ "type": "integer"
}
},
"type": "object"
},
- "wendys.ItemResponse": {
+ "tcgplayer.PriceBucket": {
"properties": {
- "allergens": {
- "description": "Allergens is the union of allergens across the item's default\ncomponents and each required group's default-selected option --\ni.e. the item's allergen profile as configured on Wendy's own page\nbefore any customization. Customizing (removing a default component,\npicking a different required option) changes this in ways this\nsummary field cannot capture; Components lists every option's own\nallergens individually for that.",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "base_price": {
- "example": 7.99,
+ "high_sale_price": {
"type": "number"
},
- "calories": {
- "example": "520 Cal",
- "type": "string"
+ "high_sale_price_with_shipping": {
+ "type": "number"
},
- "category": {
- "example": "hamburgers",
- "type": "string"
+ "low_sale_price": {
+ "type": "number"
},
- "combo_slots": {
- "description": "ComboSlots is set only when IsCombo is true.",
- "items": {
- "$ref": "#/definitions/wendys.ComboSlot"
- },
- "type": "array"
+ "low_sale_price_with_shipping": {
+ "type": "number"
},
- "components": {
- "items": {
- "$ref": "#/definitions/wendys.Component"
- },
- "type": "array"
+ "market_price": {
+ "type": "number"
},
- "description": {
- "description": "Description, BasePrice, Calories, Components and Variants are set\nonly when IsCombo is false.",
- "type": "string"
+ "quantity_sold": {
+ "type": "integer"
},
- "fetched_at": {
+ "start_date": {
"type": "string"
},
- "image_url": {
+ "transaction_count": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "tcgplayer.PriceGuideResponse": {
+ "properties": {
+ "game": {
"type": "string"
},
- "is_combo": {
- "type": "boolean"
- },
- "item": {
- "example": "daves-combo",
- "type": "string"
+ "limit": {
+ "type": "integer"
},
- "name": {
- "example": "Dave's Combo",
- "type": "string"
+ "next_offset": {
+ "type": "integer"
},
- "source_url": {
- "type": "string"
+ "offset": {
+ "type": "integer"
},
- "variants": {
+ "rows": {
"items": {
- "$ref": "#/definitions/wendys.ItemVariant"
+ "$ref": "#/definitions/tcgplayer.PriceGuideRow"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "wendys.ItemVariant": {
- "properties": {
- "base_price": {
- "example": 2.79,
- "type": "number"
- },
- "calories": {
- "example": "260 Cal",
- "type": "string"
},
- "description": {
+ "set_abbreviation": {
"type": "string"
},
- "is_default": {
- "description": "IsDefault marks the variant Wendy's own page selects by default.",
- "type": "boolean"
- },
- "item_id": {
- "example": "40054",
- "type": "string"
+ "set_id": {
+ "type": "integer"
},
- "name": {
- "example": "Small Natural-Cut Fries",
+ "set_name": {
"type": "string"
},
- "short_name": {
- "example": "Small",
- "type": "string"
+ "total": {
+ "type": "integer"
}
},
"type": "object"
},
- "wendys.MenuItemSummary": {
+ "tcgplayer.PriceGuideRow": {
"properties": {
- "calories": {
- "example": "760 Cal",
+ "condition": {
"type": "string"
},
- "has_required_modifiers": {
- "type": "boolean"
- },
- "image_url": {
+ "language": {
"type": "string"
},
- "is_combo": {
- "description": "IsCombo marks an item whose /wendys/item response returns\ncombo_slots instead of components/variants.",
- "type": "boolean"
- },
- "is_limited_time_offer": {
- "type": "boolean"
+ "low_price": {
+ "type": "number"
},
- "item_id": {
- "example": "31009",
- "type": "string"
+ "market_price": {
+ "type": "number"
},
"name": {
- "example": "Dave's Combo",
- "type": "string"
- },
- "price": {
- "description": "Price is Wendy's own displayed price string. It is a string, not a\nnumber, because a size-variant item (e.g. fries) displays a \"from\"\nprice for its default variant here -- GET /wendys/item returns the\nexact per-variant numeric price.",
- "example": "$7.29",
"type": "string"
},
- "slug": {
- "example": "daves-combo",
+ "number": {
"type": "string"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "wendys.MenuResponse": {
- "properties": {
- "category": {
- "example": "hamburgers",
+ "printing": {
"type": "string"
},
- "count": {
- "example": 12,
+ "product_id": {
"type": "integer"
},
- "fetched_at": {
+ "rarity": {
"type": "string"
},
- "items": {
- "items": {
- "$ref": "#/definitions/wendys.MenuItemSummary"
- },
- "type": "array"
- },
- "source_url": {
- "type": "string"
+ "sales": {
+ "type": "integer"
}
},
"type": "object"
},
- "wendys.NearbyResponse": {
+ "tcgplayer.PriceHistoryResponse": {
"properties": {
- "count": {
- "example": 25,
- "type": "integer"
- },
- "fetched_at": {
- "type": "string"
- },
- "radius": {
- "example": 20,
+ "product_id": {
"type": "integer"
},
- "source_url": {
+ "range": {
"type": "string"
},
- "stores": {
+ "skus": {
"items": {
- "$ref": "#/definitions/wendys.NearbyStore"
+ "$ref": "#/definitions/tcgplayer.SKUHistory"
},
"type": "array"
}
},
"type": "object"
},
- "wendys.NearbyStore": {
+ "tcgplayer.PricePoint": {
"properties": {
- "address": {
- "$ref": "#/definitions/wendys.StoreAddress"
- },
- "breakfast_hours": {
- "items": {
- "$ref": "#/definitions/wendys.StoreHours"
- },
- "type": "array"
- },
- "distance_miles": {
- "example": 1.30845,
+ "buylist_market_price": {
"type": "number"
},
- "has_breakfast": {
- "type": "boolean"
- },
- "has_carry_out": {
- "type": "boolean"
- },
- "has_delivery": {
- "type": "boolean"
- },
- "has_drive_thru": {
- "type": "boolean"
- },
- "has_mobile_order": {
- "type": "boolean"
- },
- "has_wifi": {
- "type": "boolean"
- },
- "hours": {
- "description": "Hours is the published week of general dining hours, and\nBreakfastHours the published week of breakfast service hours (often\nnarrower and always starting no later than dining) -- the same dual-\nhours shape /wendys/store publishes, from this API's own per-day\nschedule rather than a second upstream call.",
- "items": {
- "$ref": "#/definitions/wendys.StoreHours"
- },
- "type": "array"
- },
- "is_open": {
- "type": "boolean"
- },
- "latitude": {
- "example": 38.897527,
+ "listed_median_price": {
"type": "number"
},
- "longitude": {
- "example": -77.006362,
+ "market_price": {
"type": "number"
},
- "name": {
- "example": "WASHINGTON UNION STATION",
- "type": "string"
- },
- "phone_number": {
- "example": "2028380978",
- "type": "string"
- },
- "store_id": {
- "example": "12921",
- "type": "string"
- },
- "timezone": {
- "example": "US/Eastern",
+ "printing": {
"type": "string"
}
},
"type": "object"
},
- "wendys.NutritionFacts": {
+ "tcgplayer.Product": {
"properties": {
- "calcium_mg": {
- "example": 15,
- "type": "number"
- },
- "calories": {
- "example": 560,
- "type": "number"
+ "attributes": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
},
- "calories_from_fat": {
- "example": 300,
- "type": "number"
+ "description": {
+ "type": "string"
},
- "cholesterol_mg": {
- "example": 90,
- "type": "number"
+ "foil_only": {
+ "type": "boolean"
},
- "dietary_fiber_g": {
- "example": 2,
- "type": "number"
+ "image_url": {
+ "type": "string"
},
- "iron_mg": {
- "example": 25,
+ "lowest_price": {
"type": "number"
},
- "monounsaturated_fat_g": {
+ "lowest_price_with_shipping": {
"type": "number"
},
- "polyunsaturated_fat_g": {
+ "market_price": {
"type": "number"
},
- "potassium_mg": {
- "example": 10,
+ "median_price": {
"type": "number"
},
- "protein_g": {
- "example": 31,
- "type": "number"
+ "name": {
+ "type": "string"
},
- "saturated_fat_g": {
- "example": 14,
- "type": "number"
+ "normal_only": {
+ "type": "boolean"
},
- "serving_weight_grams": {
- "description": "ServingWeightGrams is omitted (not published) when Wendy's own service\nleaves it out, which it does for some single-component items.",
- "example": 245.43,
- "type": "number"
+ "number": {
+ "type": "string"
},
- "sodium_mg": {
- "example": 1170,
- "type": "number"
+ "price_points": {
+ "items": {
+ "$ref": "#/definitions/tcgplayer.PricePoint"
+ },
+ "type": "array"
},
- "sugars_g": {
- "example": 9,
- "type": "number"
+ "product_id": {
+ "type": "integer"
},
- "total_carbohydrate_g": {
- "example": 37,
- "type": "number"
+ "product_line": {
+ "type": "string"
},
- "total_fat_g": {
- "example": 34,
- "type": "number"
+ "product_line_url_name": {
+ "type": "string"
},
- "trans_fat_g": {
- "example": 1.5,
- "type": "number"
+ "product_type": {
+ "type": "string"
},
- "vitamin_a": {
- "type": "number"
+ "rarity": {
+ "type": "string"
},
- "vitamin_c": {
- "type": "number"
+ "sealed": {
+ "type": "boolean"
},
- "vitamin_d_mcg": {
- "type": "number"
- }
- },
- "type": "object"
- },
- "wendys.NutritionResponse": {
- "properties": {
- "allergens": {
- "description": "Allergens is Wendy's own declared allergen flags for this exact\ndefault configuration -- the same union Wendy's \"Allergens\" panel\nshows next to the nutrition table.",
- "example": [
- "Egg",
- "Milk",
- "Sesame",
- "Soy",
- "Wheat"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
+ "set_code": {
+ "type": "string"
},
- "category": {
- "example": "hamburgers",
+ "set_name": {
"type": "string"
},
- "combo_selections": {
+ "skus": {
"items": {
- "$ref": "#/definitions/wendys.ComboNutritionSelection"
+ "$ref": "#/definitions/tcgplayer.SKU"
},
"type": "array"
},
- "disclaimers": {
- "description": "Disclaimers is any upstream-published caveat text for this item\n(usually empty). Passed through verbatim.",
- "items": {
- "type": "string"
- },
- "type": "array"
+ "total_listings": {
+ "type": "integer"
},
- "fetched_at": {
- "type": "string"
+ "total_sellers": {
+ "type": "integer"
},
- "is_combo": {
- "description": "IsCombo marks a combo response. Nutrition/Allergens/Disclaimers then\ncover the *combined* total across every slot's selected option\n(ComboSelections), computed in one nutritionalData request the same\nway a caller building a full order would sum it themselves -- not a\nseparate per-slot breakdown.",
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "tcgplayer.ProductLine": {
+ "properties": {
+ "direct": {
"type": "boolean"
},
- "item": {
- "example": "daves-single",
- "type": "string"
+ "id": {
+ "type": "integer"
},
"name": {
- "example": "Dave's Single",
"type": "string"
},
- "nutrition": {
- "$ref": "#/definitions/wendys.NutritionFacts"
- },
- "source_url": {
+ "url_name": {
"type": "string"
}
},
"type": "object"
},
- "wendys.RestaurantResponse": {
+ "tcgplayer.ProductLinesResponse": {
"properties": {
- "active_day_part": {
- "description": "ActiveDayPart is which of the restaurant's own dayparts (breakfast,\nlunch/dinner, ...) is currently serving.",
- "example": "BREAKFAST",
- "type": "string"
- },
- "address": {
- "$ref": "#/definitions/wendys.StoreAddress"
- },
- "breakfast_hours": {
+ "product_lines": {
"items": {
- "$ref": "#/definitions/wendys.StoreHours"
+ "$ref": "#/definitions/tcgplayer.ProductLine"
},
"type": "array"
- },
- "currency": {
- "example": "USD",
- "type": "string"
- },
- "fetched_at": {
- "type": "string"
- },
- "has_breakfast": {
- "type": "boolean"
- },
- "has_coke_freestyle": {
- "type": "boolean"
- },
- "has_digital_coupon": {
- "type": "boolean"
- },
- "has_gift_card": {
- "type": "boolean"
- },
- "has_loyalty": {
- "type": "boolean"
- },
- "has_mobile_order": {
- "type": "boolean"
- },
- "has_mobile_pay": {
- "type": "boolean"
- },
- "has_wifi": {
- "type": "boolean"
- },
- "hours": {
- "description": "Hours is the published week of general dining hours, and\nBreakfastHours the published week of breakfast service hours -- the\nsame StoreHours shape /wendys/store and /wendys/nearby publish.",
+ }
+ },
+ "type": "object"
+ },
+ "tcgplayer.ProductResponse": {
+ "properties": {
+ "product": {
+ "$ref": "#/definitions/tcgplayer.Product"
+ }
+ },
+ "type": "object"
+ },
+ "tcgplayer.ProductSummary": {
+ "properties": {
+ "card_types": {
"items": {
- "$ref": "#/definitions/wendys.StoreHours"
+ "type": "string"
},
"type": "array"
},
- "is_open": {
+ "foil_only": {
"type": "boolean"
},
- "is_open_24_hours": {
- "type": "boolean"
+ "image_url": {
+ "type": "string"
},
- "is_open_late": {
- "type": "boolean"
+ "lowest_price": {
+ "type": "number"
},
- "latitude": {
- "example": 38.897527,
+ "lowest_price_with_shipping": {
"type": "number"
},
- "longitude": {
- "example": -77.006362,
+ "market_price": {
+ "type": "number"
+ },
+ "median_price": {
"type": "number"
},
"name": {
- "example": "WASHINGTON UNION STATION",
"type": "string"
},
- "phone_number": {
- "example": "2028380978",
+ "number": {
"type": "string"
},
- "source_url": {
+ "product_id": {
+ "type": "integer"
+ },
+ "product_line": {
"type": "string"
},
- "store_id": {
- "example": "12921",
+ "rarity": {
"type": "string"
},
- "supports_carry_out": {
- "description": "SupportsCarryOut/SupportsDineIn/SupportsDriveThru are whether this\nrestaurant physically offers each fulfillment mode at all -- distinct\nfrom /wendys/nearby's has_drive_thru, which reflects only whether\nthat mode is open right now.",
+ "sealed": {
"type": "boolean"
},
- "supports_dine_in": {
- "type": "boolean"
+ "set_code": {
+ "type": "string"
},
- "supports_drive_thru": {
- "type": "boolean"
+ "set_name": {
+ "type": "string"
},
- "timezone": {
- "example": "US/Eastern",
+ "total_listings": {
+ "type": "integer"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "wendys.StoreAddress": {
+ "tcgplayer.SKU": {
"properties": {
- "city": {
- "example": "Alliance",
- "type": "string"
- },
- "country": {
- "example": "US",
+ "condition": {
"type": "string"
},
- "line1": {
- "example": "1833 W. State St.",
+ "language": {
"type": "string"
},
- "postal_code": {
- "example": "44601-3538",
- "type": "string"
+ "sku": {
+ "type": "integer"
},
- "region": {
- "example": "OH",
+ "variant": {
"type": "string"
}
},
"type": "object"
},
- "wendys.StoreHours": {
+ "tcgplayer.SKUHistory": {
"properties": {
- "closed": {
- "description": "Closed is true when Wendy's publishes the day with no open interval.",
- "example": false,
- "type": "boolean"
+ "average_daily_quantity_sold": {
+ "type": "number"
},
- "closes": {
- "example": "22:00",
+ "average_daily_transaction_count": {
+ "type": "number"
+ },
+ "buckets": {
+ "items": {
+ "$ref": "#/definitions/tcgplayer.PriceBucket"
+ },
+ "type": "array"
+ },
+ "condition": {
"type": "string"
},
- "day_of_week": {
- "example": "Monday",
+ "language": {
"type": "string"
},
- "opens": {
- "example": "06:30",
+ "sku": {
+ "type": "integer"
+ },
+ "total_quantity_sold": {
+ "type": "integer"
+ },
+ "total_transaction_count": {
+ "type": "integer"
+ },
+ "variant": {
"type": "string"
}
},
"type": "object"
},
- "wendys.StoreMenuItem": {
+ "tcgplayer.Sale": {
"properties": {
- "calories": {
- "example": "560 Cal",
+ "condition": {
"type": "string"
},
- "day_part": {
- "description": "DayPart is when this item is on the menu (e.g. \"BREAKFAST\",\n\"LUNCH\") -- an item can appear more than once, once per day-part it\nserves in, each as its own entry.",
- "example": "LUNCH",
+ "language": {
"type": "string"
},
- "description": {
- "description": "Description is omitted for combo/bundle entries, which the upstream\ndoes not publish one for (see /wendys/item's combo_slots for a\ncombo's own constituent-item descriptions instead).",
+ "listing_type": {
"type": "string"
},
- "menu_item_id": {
- "example": 30013,
+ "order_date": {
+ "type": "string"
+ },
+ "purchase_price": {
+ "type": "number"
+ },
+ "quantity": {
"type": "integer"
},
- "name": {
- "example": "Spicy Chicken Sandwich",
- "type": "string"
+ "shipping_price": {
+ "type": "number"
},
- "price": {
- "description": "Price is this store's own displayed price string -- for a combo/\nbundle entry, this is the real bundle price, which /wendys/item does\nnot compute at all (a combo's own price varies by what's chosen in\neach slot; see item.go).",
- "example": "$7.85",
+ "variant": {
"type": "string"
}
},
"type": "object"
},
- "wendys.StoreMenuResponse": {
+ "tcgplayer.SalesResponse": {
"properties": {
- "count": {
- "example": 170,
+ "product_id": {
"type": "integer"
},
- "fetched_at": {
- "type": "string"
- },
- "items": {
+ "sales": {
"items": {
- "$ref": "#/definitions/wendys.StoreMenuItem"
+ "$ref": "#/definitions/tcgplayer.Sale"
},
"type": "array"
- },
- "source_url": {
- "type": "string"
- },
- "store_id": {
- "example": "12921",
- "type": "string"
}
},
"type": "object"
},
- "wendys.StoreResponse": {
+ "tcgplayer.SearchResponse": {
"properties": {
- "address": {
- "$ref": "#/definitions/wendys.StoreAddress"
+ "facets": {
+ "$ref": "#/definitions/tcgplayer.Facets"
},
- "delivery_platforms": {
- "description": "DeliveryPlatforms lists the third-party platforms this store's page\nlinks out to.",
- "items": {
- "type": "string"
- },
- "type": "array"
+ "limit": {
+ "type": "integer"
},
- "drive_thru_hours": {
- "description": "DriveThruHours is the published week of drive-thru hours, which\nWendy's often publishes separately from (and later-closing than)\ngeneral restaurant hours.",
- "items": {
- "$ref": "#/definitions/wendys.StoreHours"
- },
- "type": "array"
+ "next_offset": {
+ "type": "integer"
},
- "fetched_at": {
- "type": "string"
+ "offset": {
+ "type": "integer"
},
- "hours": {
- "description": "Hours is the published week of general restaurant hours.",
+ "products": {
"items": {
- "$ref": "#/definitions/wendys.StoreHours"
+ "$ref": "#/definitions/tcgplayer.ProductSummary"
},
"type": "array"
},
- "latitude": {
- "example": 40.90233810995588,
- "type": "number"
- },
- "longitude": {
- "example": -81.1329160630703,
- "type": "number"
- },
- "name": {
- "example": "Wendy's 1833 W. STATE ST in Alliance, OH",
- "type": "string"
- },
- "order_url": {
- "type": "string"
- },
- "path": {
- "type": "string"
- },
- "phone_number": {
- "example": "(330) 821-4338",
- "type": "string"
- },
- "source_url": {
+ "query": {
"type": "string"
},
- "store_id": {
- "example": "11456",
- "type": "string"
+ "total": {
+ "type": "integer"
}
},
"type": "object"
},
- "wendys.TimeSlotsResponse": {
+ "tcgplayer.Set": {
"properties": {
- "asap_available": {
- "description": "ASAPAvailable is whether an immediate (\"as soon as possible\") pickup\nslot is currently offered, as opposed to only scheduled future slots.",
- "type": "boolean"
- },
- "available_times": {
- "description": "AvailableTimes is every schedulable slot, as Wendy's own service\npublishes them (no explicit UTC offset in the upstream payload).",
- "items": {
- "type": "string"
- },
- "type": "array"
+ "abbreviation": {
+ "type": "string"
},
- "count": {
- "example": 61,
+ "id": {
"type": "integer"
},
- "fetched_at": {
+ "name": {
"type": "string"
},
- "source_url": {
+ "release_date": {
"type": "string"
},
- "store_id": {
- "example": "12921",
+ "supplemental": {
+ "type": "boolean"
+ },
+ "url_name": {
"type": "string"
}
},
"type": "object"
},
- "wendys.categoriesResponseDoc": {
+ "tcgplayer.SetsResponse": {
"properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/wendys.CategoriesResponse"
+ "product_line": {
+ "type": "string"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "sets": {
+ "items": {
+ "$ref": "#/definitions/tcgplayer.Set"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "wendys.directoryResponseDoc": {
+ "tcgplayer.filtersResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/wendys.DirectoryResponse"
+ "$ref": "#/definitions/tcgplayer.FiltersResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "wendys.itemResponseDoc": {
+ "tcgplayer.listingsResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/wendys.ItemResponse"
+ "$ref": "#/definitions/tcgplayer.ListingsResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "wendys.menuResponseDoc": {
+ "tcgplayer.priceGuideResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/wendys.MenuResponse"
+ "$ref": "#/definitions/tcgplayer.PriceGuideResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "wendys.nearbyResponseDoc": {
+ "tcgplayer.priceHistoryResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/wendys.NearbyResponse"
+ "$ref": "#/definitions/tcgplayer.PriceHistoryResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "wendys.nutritionResponseDoc": {
+ "tcgplayer.productLinesResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/wendys.NutritionResponse"
+ "$ref": "#/definitions/tcgplayer.ProductLinesResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "wendys.restaurantResponseDoc": {
+ "tcgplayer.productResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/wendys.RestaurantResponse"
+ "$ref": "#/definitions/tcgplayer.ProductResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "wendys.storeMenuResponseDoc": {
+ "tcgplayer.salesResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/wendys.StoreMenuResponse"
+ "$ref": "#/definitions/tcgplayer.SalesResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "wendys.storeResponseDoc": {
+ "tcgplayer.searchResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/wendys.StoreResponse"
+ "$ref": "#/definitions/tcgplayer.SearchResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "wendys.timeSlotsResponseDoc": {
+ "tcgplayer.setsResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/wendys.TimeSlotsResponse"
+ "$ref": "#/definitions/tcgplayer.SetsResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "whataburger.SitemapEntry": {
+ "techcrunch.AuthorArticle": {
"properties": {
- "kind": {
- "description": "Kind classifies the page: \"store\" is the canonical restaurant page,\n\"curbside\"/\"delivery\" are separate Yext entities for the same\nrestaurant's curbside or delivery service, and \"directory\" is a\nstate- or city-level listing page with no address of its own.",
- "example": "store",
- "type": "string"
- },
- "path": {
- "description": "Path is the locator path, the value /whataburger/store takes.",
- "example": "tx/abilene/1625-tx-hwy-351.html",
+ "category": {
"type": "string"
},
- "store_number": {
- "description": "StoreNumber is only derivable from the short-permalink Curbside/\nDelivery variants (e.g. \"1197C.html\"); it is empty for every other\nkind, since Whataburger's canonical and long-form variant paths use a\nstreet-name slug instead of a numeric id.",
- "example": "1197",
+ "title": {
"type": "string"
},
"url": {
@@ -257208,368 +262220,294 @@
},
"type": "object"
},
- "whataburger.SitemapResponse": {
+ "techcrunch.AuthorResponse": {
"properties": {
- "count": {
- "example": 100,
- "type": "integer"
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/techcrunch.AuthorArticle"
+ },
+ "type": "array"
},
- "entries": {
+ "biography": {
"items": {
- "$ref": "#/definitions/whataburger.SitemapEntry"
+ "type": "string"
},
"type": "array"
},
- "fetched_at": {
+ "headshot_url": {
"type": "string"
},
- "page": {
- "example": 1,
- "type": "integer"
+ "job_title": {
+ "type": "string"
},
- "source_url": {
+ "name": {
"type": "string"
},
- "total": {
- "example": 3955,
+ "page": {
"type": "integer"
},
- "total_pages": {
- "example": 40,
- "type": "integer"
+ "social_links": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "whataburger.StoreAddress": {
+ "techradar.AuthorResponse": {
"properties": {
- "city": {
- "example": "ABILENE",
- "type": "string"
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/newsplatform.HeadlineItem"
+ },
+ "type": "array"
},
- "country": {
- "example": "US",
- "type": "string"
+ "biography": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "line1": {
- "example": "1625 TX HWY 351",
+ "has_next_page": {
+ "type": "boolean"
+ },
+ "job_title": {
"type": "string"
},
- "line2": {
+ "name": {
"type": "string"
},
- "postal_code": {
- "example": "79601",
+ "page": {
+ "type": "integer"
+ },
+ "slug": {
"type": "string"
},
- "region": {
- "example": "TX",
+ "social_links": {
+ "items": {
+ "$ref": "#/definitions/techradar.AuthorSocialLink"
+ },
+ "type": "array"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "whataburger.StoreHours": {
+ "techradar.AuthorSocialLink": {
"properties": {
- "closed": {
- "description": "Closed is true when Whataburger publishes the day with no open interval.",
- "example": false,
- "type": "boolean"
- },
- "closes": {
- "example": "23:59",
- "type": "string"
- },
- "day_of_week": {
- "example": "Monday",
+ "platform": {
"type": "string"
},
- "opens": {
- "example": "00:00",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "whataburger.StoreResponse": {
+ "techstack.Technology": {
"properties": {
- "address": {
- "$ref": "#/definitions/whataburger.StoreAddress"
- },
- "fetched_at": {
- "type": "string"
- },
- "google_place_id": {
- "type": "string"
- },
- "hours": {
+ "categories": {
"items": {
- "$ref": "#/definitions/whataburger.StoreHours"
+ "type": "string"
},
"type": "array"
},
- "latitude": {
- "example": 32.481983,
- "type": "number"
- },
- "longitude": {
- "example": -99.744767,
- "type": "number"
- },
- "name": {
- "example": "Whataburger",
- "type": "string"
- },
- "path": {
- "description": "Path is the canonical /whataburger/store path for this restaurant, as\nWhataburger's own entity data publishes it -- present even when the\nrequested path was a Curbside or Delivery variant of the same store.",
- "type": "string"
- },
- "phone_number": {
- "example": "(325) 692-8480",
+ "confidence": {
+ "description": "high | medium | low",
"type": "string"
},
- "service_hours": {
- "allOf": [
- {
- "$ref": "#/definitions/whataburger.StoreServiceHours"
- }
- ],
- "description": "ServiceHours breaks the same week down per fulfillment channel --\ndine-in, drive-thru, curbside and delivery windows can and do differ\nfrom each other and from Hours (dine-in) at the same store. Whataburger\nalways publishes drive-thru and dine-in hours; curbside and delivery\nare omitted here when the entity carries no schedule for them (a store\nthat does not list that service in Services)."
- },
- "services": {
- "description": "Services are the restaurant services Whataburger publishes for this\nlocation, e.g. \"Curbside\", \"Delivery\".",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "source_url": {
+ "evidence": {
+ "description": "Evidence is a short, human-readable hint of what matched (e.g. a script\nhost or a value) — not the full markup.",
"type": "string"
},
- "store_id": {
- "example": "1403",
+ "name": {
"type": "string"
},
- "timezone": {
- "example": "America/Chicago",
+ "version": {
"type": "string"
}
},
"type": "object"
},
- "whataburger.StoreServiceHours": {
+ "techstack.UnmatchedEvidence": {
"properties": {
- "curbside": {
- "items": {
- "$ref": "#/definitions/whataburger.StoreHours"
- },
- "type": "array"
- },
- "delivery": {
- "items": {
- "$ref": "#/definitions/whataburger.StoreHours"
- },
- "type": "array"
- },
- "dine_in": {
+ "domains": {
"items": {
- "$ref": "#/definitions/whataburger.StoreHours"
+ "type": "string"
},
"type": "array"
},
- "drive_thru": {
- "items": {
- "$ref": "#/definitions/whataburger.StoreHours"
- },
- "type": "array"
+ "generator": {
+ "type": "string"
}
},
"type": "object"
},
- "whataburger.sitemapResponseDoc": {
+ "telegram.BotResponse": {
"properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
+ "avatar_url": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/whataburger.SitemapResponse"
+ "description": {
+ "type": "string"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
- }
- },
- "type": "object"
- },
- "whataburger.storeResponseDoc": {
- "properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "monthly_users": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/whataburger.StoreResponse"
+ "name": {
+ "type": "string"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
- }
- },
- "type": "object"
- },
- "whatnot.BrowseResponse": {
- "properties": {
- "category": {
+ "url": {
"type": "string"
},
- "shows": {
- "items": {
- "$ref": "#/definitions/whatnot.LiveShow"
- },
- "type": "array"
+ "username": {
+ "type": "string"
+ },
+ "verified": {
+ "type": "boolean"
}
},
"type": "object"
},
- "whatnot.CategoriesResponse": {
+ "telegram.ChannelPostsResponse": {
"properties": {
- "categories": {
+ "has_more": {
+ "type": "boolean"
+ },
+ "next_before": {
+ "type": "integer"
+ },
+ "posts": {
"items": {
- "$ref": "#/definitions/whatnot.Category"
+ "$ref": "#/definitions/telegram.Post"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "whatnot.Category": {
- "properties": {
- "id": {
+ },
+ "query": {
"type": "string"
},
- "name": {
+ "title": {
"type": "string"
},
- "slug": {
- "description": "e.g. \"trading_card_games\"",
+ "username": {
"type": "string"
}
},
"type": "object"
},
- "whatnot.LiveProduct": {
+ "telegram.ChannelResponse": {
"properties": {
- "currency": {
+ "avatar_url": {
"type": "string"
},
- "current_bid_cents": {
- "type": "integer"
- },
- "current_bid_count": {
- "type": "integer"
- },
"description": {
"type": "string"
},
- "id": {
- "type": "string"
+ "files_count": {
+ "type": "integer"
},
- "price_cents": {
+ "links_count": {
"type": "integer"
},
- "quantity": {
+ "photos_count": {
"type": "integer"
},
- "seller": {
- "$ref": "#/definitions/whatnot.LiveSeller"
- },
- "status": {
- "description": "Status is the listing's own lifecycle state: active, created, or\nrunning. A terminal \"sold\"/\"sold out\"-style value almost certainly\nalso exists but was not observed in live testing.",
- "enum": [
- "active",
- "created",
- "running"
- ],
- "example": "running",
+ "preview_url": {
"type": "string"
},
+ "subscribers": {
+ "type": "integer"
+ },
+ "subscribers_approximate": {
+ "type": "boolean"
+ },
"title": {
"type": "string"
},
- "transaction_type": {
- "description": "TransactionType distinguishes how a listing is sold: AUCTION,\nGIVEAWAY, or BUY_IT_NOW.",
- "enum": [
- "AUCTION",
- "GIVEAWAY",
- "BUY_IT_NOW"
- ],
- "example": "AUCTION",
+ "url": {
+ "type": "string"
+ },
+ "username": {
"type": "string"
+ },
+ "verified": {
+ "type": "boolean"
+ },
+ "videos_count": {
+ "type": "integer"
}
},
"type": "object"
},
- "whatnot.LiveResponse": {
+ "telegram.ForwardedRef": {
"properties": {
- "id": {
+ "name": {
"type": "string"
},
- "products": {
- "items": {
- "$ref": "#/definitions/whatnot.LiveProduct"
- },
- "type": "array"
- },
"url": {
"type": "string"
}
},
"type": "object"
},
- "whatnot.LiveSeller": {
+ "telegram.GroupResponse": {
"properties": {
- "rating": {
- "type": "number"
+ "avatar_url": {
+ "type": "string"
},
- "review_count": {
+ "description": {
+ "type": "string"
+ },
+ "members": {
+ "type": "integer"
+ },
+ "online": {
"type": "integer"
},
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
"username": {
"type": "string"
}
},
"type": "object"
},
- "whatnot.LiveShow": {
+ "telegram.LinkPreview": {
"properties": {
- "id": {
- "description": "pass as the :id path param to /whatnot/live/{id}",
+ "description": {
"type": "string"
},
- "seller_username": {
+ "image_url": {
"type": "string"
},
- "start_time_ms": {
- "type": "integer"
- },
- "status": {
- "description": "Status is the show's own lifecycle state: PLAYING (currently live) or\nCREATED (scheduled, not yet started). An ended-show state almost\ncertainly also exists but was not observed in live testing -- ended\nshows drop out of Whatnot's own Browse/category feeds essentially\nimmediately.",
- "enum": [
- "PLAYING",
- "CREATED"
- ],
- "example": "PLAYING",
+ "site_name": {
"type": "string"
},
- "tags": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "title": {
+ "type": "string"
},
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "telegram.Media": {
+ "properties": {
"thumbnail_url": {
"type": "string"
},
- "title": {
+ "type": {
"type": "string"
},
"url": {
@@ -257578,78 +262516,112 @@
},
"type": "object"
},
- "whatnot.SellerProfile": {
+ "telegram.Post": {
"properties": {
- "average_ship_days": {
- "type": "integer"
- },
- "bio": {
+ "author": {
"type": "string"
},
- "display_name": {
- "type": "string"
+ "edited": {
+ "type": "boolean"
},
- "follower_count": {
- "type": "integer"
+ "forwarded_from": {
+ "$ref": "#/definitions/telegram.ForwardedRef"
},
- "following_count": {
+ "id": {
"type": "integer"
},
- "is_live": {
- "type": "boolean"
+ "link_preview": {
+ "$ref": "#/definitions/telegram.LinkPreview"
},
- "is_premier_shop": {
- "type": "boolean"
+ "links": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "is_verified_seller": {
- "type": "boolean"
+ "media": {
+ "items": {
+ "$ref": "#/definitions/telegram.Media"
+ },
+ "type": "array"
},
- "rating": {
- "type": "number"
+ "published_at": {
+ "type": "string"
},
- "review_count": {
- "type": "integer"
+ "reactions": {
+ "items": {
+ "$ref": "#/definitions/telegram.Reaction"
+ },
+ "type": "array"
},
- "sold_count": {
- "type": "integer"
+ "reply_to": {
+ "$ref": "#/definitions/telegram.ReplyRef"
+ },
+ "text": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
},
"username": {
"type": "string"
+ },
+ "views": {
+ "type": "integer"
}
},
"type": "object"
},
- "whatnot.SellerResponse": {
+ "telegram.PostResponse": {
"properties": {
- "has_more": {
- "type": "boolean"
+ "post": {
+ "$ref": "#/definitions/telegram.Post"
+ }
+ },
+ "type": "object"
+ },
+ "telegram.Reaction": {
+ "properties": {
+ "count": {
+ "type": "integer"
},
- "next_cursor": {
+ "custom_emoji_id": {
"type": "string"
},
- "profile": {
- "$ref": "#/definitions/whatnot.SellerProfile"
+ "emoji": {
+ "type": "string"
},
- "shows": {
- "items": {
- "$ref": "#/definitions/whatnot.LiveShow"
- },
- "type": "array"
+ "paid": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "telegram.ReplyRef": {
+ "properties": {
+ "author": {
+ "type": "string"
},
- "total_count": {
+ "id": {
"type": "integer"
+ },
+ "text": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "whatnot.browseResponseDoc": {
+ "telegram.botResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/whatnot.BrowseResponse"
+ "$ref": "#/definitions/telegram.BotResponse"
},
"msg": {
"example": "OK",
@@ -257658,14 +262630,14 @@
},
"type": "object"
},
- "whatnot.categoriesResponseDoc": {
+ "telegram.channelPostsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/whatnot.CategoriesResponse"
+ "$ref": "#/definitions/telegram.ChannelPostsResponse"
},
"msg": {
"example": "OK",
@@ -257674,14 +262646,14 @@
},
"type": "object"
},
- "whatnot.liveResponseDoc": {
+ "telegram.channelResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/whatnot.LiveResponse"
+ "$ref": "#/definitions/telegram.ChannelResponse"
},
"msg": {
"example": "OK",
@@ -257690,14 +262662,14 @@
},
"type": "object"
},
- "whatnot.sellerResponseDoc": {
+ "telegram.groupResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/whatnot.SellerResponse"
+ "$ref": "#/definitions/telegram.GroupResponse"
},
"msg": {
"example": "OK",
@@ -257706,48 +262678,31 @@
},
"type": "object"
},
- "wingstop.DeliveryStoreResponse": {
+ "telegram.postResponseDoc": {
"properties": {
- "drive_time_minutes": {
- "example": 17,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "fetched_at": {
- "type": "string"
- },
- "location_status": {
- "example": "Active",
- "type": "string"
- },
- "slug": {
- "description": "Slug can be passed directly as /wingstop/menu's path with\nservice_mode=delivery.",
- "example": "wingstop-128-houston-tx-77065",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/telegram.PostResponse"
},
- "source_url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "wingstop.DirectoryChild": {
+ "telegraph.AuthorArticle": {
"properties": {
- "is_store": {
- "description": "IsStore is a convenience flag equivalent to Kind == \"store\".",
- "example": false,
- "type": "boolean"
- },
- "kind": {
- "description": "Kind classifies the child: \"country\", \"state\", \"city\", or \"store\".\nOnly a \"store\" child carries no further directory levels -- pass its\npath to GET /wingstop/store instead of GET /wingstop/directory.",
- "example": "city",
+ "excerpt": {
"type": "string"
},
- "name": {
- "example": "Houston",
+ "published_at": {
"type": "string"
},
- "path": {
- "example": "us/tx/houston",
+ "title": {
"type": "string"
},
"url": {
@@ -257756,672 +262711,578 @@
},
"type": "object"
},
- "wingstop.DirectoryResponse": {
+ "telegraph.AuthorResponse": {
"properties": {
- "children": {
+ "articles": {
"items": {
- "$ref": "#/definitions/wingstop.DirectoryChild"
+ "$ref": "#/definitions/telegraph.AuthorArticle"
},
"type": "array"
},
- "count": {
- "example": 48,
- "type": "integer"
- },
- "fetched_at": {
+ "bio": {
"type": "string"
},
- "name": {
+ "job_title": {
"type": "string"
},
- "path": {
- "example": "us/tx",
+ "name": {
"type": "string"
},
- "source_url": {
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "wingstop.Flavor": {
+ "tes.EmployerDetail": {
"properties": {
- "description": {
+ "address": {
"type": "string"
},
- "heat_scale": {
- "description": "HeatScale is Wingstop's own 0 (no heat) to 5 (hottest) rating.",
- "example": 1,
- "type": "integer"
- },
- "id": {
+ "age_range": {
"type": "string"
},
- "image_url": {
+ "description": {
"type": "string"
},
- "is_active": {
- "description": "IsActive is false for a retired flavor Wingstop's catalog still\ncarries a record for but no longer offers -- confirmed live via\n\"Hot Lemon\", present in the feed but absent from the rendered page.",
- "type": "boolean"
- },
- "is_dry": {
- "description": "IsDry distinguishes a dry rub from a wet sauce.",
- "type": "boolean"
+ "funding_status": {
+ "type": "string"
},
- "is_limited_time": {
- "type": "boolean"
+ "gender": {
+ "type": "string"
},
- "is_new": {
- "type": "boolean"
+ "id": {
+ "type": "string"
},
- "is_popular": {
- "type": "boolean"
+ "location": {
+ "type": "string"
},
"name": {
- "example": "Lemon Pepper",
"type": "string"
- }
- },
- "type": "object"
- },
- "wingstop.FlavorsResponse": {
- "properties": {
- "count": {
- "example": 16,
- "type": "integer"
},
- "fetched_at": {
+ "phase": {
"type": "string"
},
- "flavors": {
+ "positions": {
"items": {
- "$ref": "#/definitions/wingstop.Flavor"
+ "$ref": "#/definitions/tes.EmployerPosition"
},
"type": "array"
},
- "source_url": {
+ "type": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "wingstop.MenuCategory": {
+ "tes.EmployerPosition": {
"properties": {
"id": {
"type": "string"
},
- "image_url": {
- "type": "string"
- },
- "name": {
- "example": "Wing Combos",
+ "title": {
"type": "string"
},
- "products": {
- "items": {
- "$ref": "#/definitions/wingstop.MenuProduct"
- },
- "type": "array"
- },
- "slug": {
- "example": "wing-combos",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "wingstop.MenuProduct": {
+ "tes.JobDetail": {
"properties": {
- "description": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "image_url": {
+ "application_email": {
"type": "string"
},
- "name": {
- "example": "6 pc Wing Combo",
+ "application_url": {
"type": "string"
},
- "slug": {
- "example": "6-wing-combo",
+ "closing_date": {
"type": "string"
},
- "variants": {
- "description": "Variants is always non-empty: one entry for a standalone item, one\nper size/preparation for a family.",
+ "contract_terms": {
"items": {
- "$ref": "#/definitions/wingstop.MenuVariant"
+ "type": "string"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "wingstop.MenuResponse": {
- "properties": {
- "categories": {
+ },
+ "contract_types": {
"items": {
- "$ref": "#/definitions/wingstop.MenuCategory"
+ "type": "string"
},
"type": "array"
},
- "fetched_at": {
- "type": "string"
- },
- "path": {
- "type": "string"
- },
- "service_mode": {
- "example": "carryout",
- "type": "string"
- },
- "source_url": {
+ "description_excerpt": {
"type": "string"
},
- "store": {
- "$ref": "#/definitions/wingstop.MenuStoreSummary"
- }
- },
- "type": "object"
- },
- "wingstop.MenuStoreSummary": {
- "properties": {
- "currency_code": {
- "example": "USD",
+ "employer": {
"type": "string"
},
- "lead_time_minutes": {
- "example": 10,
- "type": "integer"
- },
- "name": {
- "example": "Wingstop Houston Jones",
+ "employer_header_url": {
"type": "string"
},
- "slug": {
- "example": "wingstop-128-houston-tx-77065",
+ "employer_logo_url": {
"type": "string"
},
- "store_id": {
- "example": "128",
+ "employer_url": {
"type": "string"
},
- "tax_rate_percent": {
- "example": 8.25,
- "type": "number"
- }
- },
- "type": "object"
- },
- "wingstop.MenuVariant": {
- "properties": {
- "description": {
+ "employer_website": {
"type": "string"
},
"id": {
"type": "string"
},
- "image_url": {
+ "location": {
"type": "string"
},
- "is_default": {
- "type": "boolean"
- },
- "is_limited_time": {
- "type": "boolean"
- },
- "is_new": {
- "type": "boolean"
+ "posted_date": {
+ "type": "string"
},
- "is_popular": {
+ "quick_apply": {
"type": "boolean"
},
- "max_calories": {
- "example": 1330,
- "type": "integer"
- },
- "min_calories": {
- "example": 430,
- "type": "integer"
- },
- "name": {
- "example": "6 pc Boneless Combo",
+ "salary": {
"type": "string"
},
- "price": {
- "example": 10.69,
- "type": "number"
- },
- "short_name": {
+ "title": {
"type": "string"
},
- "slug": {
- "example": "6-boneless-combo",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "wingstop.NearbyResponse": {
+ "tes.JobFacet": {
"properties": {
- "count": {
- "example": 20,
- "type": "integer"
- },
- "fetched_at": {
- "type": "string"
+ "children": {
+ "items": {
+ "$ref": "#/definitions/tes.JobFacet"
+ },
+ "type": "array"
},
- "radius_miles": {
- "example": 20,
+ "count": {
"type": "integer"
},
- "source_url": {
+ "value": {
"type": "string"
- },
- "stores": {
- "items": {
- "$ref": "#/definitions/wingstop.NearbyStore"
- },
- "type": "array"
}
},
"type": "object"
},
- "wingstop.NearbyStore": {
+ "tes.JobFacets": {
"properties": {
- "address": {
- "$ref": "#/definitions/wingstop.StoreAddress"
- },
- "amenities": {
- "description": "Amenities are optional in-store features this location has, e.g.\n\"Coca Cola Freestyle\" -- present on a minority of stores (confirmed\nlive: about 60% of a sample radius search carried none).",
- "example": [
- "Coca Cola Freestyle"
- ],
+ "contract_terms": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/tes.JobFacet"
},
"type": "array"
},
- "distance_miles": {
- "example": 0.6,
- "type": "number"
- },
- "fulfillment_services": {
- "description": "FulfillmentServices are this store's enabled handoff modes, e.g.\n\"carryout\", \"delivery\".",
+ "contract_types": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/tes.JobFacet"
},
"type": "array"
},
- "hours": {
- "description": "Hours is this store's general published week, parsed from the\nlocation-worker record's own \"NotDetermined\"/\"Normal\" calendar\nblock -- a different source and shape from /wingstop/store's Yext\nhours, so day-for-day agreement between the two is not guaranteed.",
+ "positions": {
"items": {
- "$ref": "#/definitions/wingstop.StoreHours"
+ "$ref": "#/definitions/tes.JobFacet"
},
"type": "array"
},
- "latitude": {
- "example": 29.9159405,
- "type": "number"
+ "subjects": {
+ "items": {
+ "$ref": "#/definitions/tes.JobFacet"
+ },
+ "type": "array"
},
- "location_status": {
- "example": "Active",
- "type": "string"
+ "workplaces": {
+ "items": {
+ "$ref": "#/definitions/tes.JobFacet"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "tes.JobSearchResponse": {
+ "properties": {
+ "facets": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/tes.JobFacets"
+ }
+ ],
+ "description": "Facets is the same live faceted-search breakdown tes.com's own search\npage renders as its filter sidebar (position/subject/workplace\ncategory trees plus contract type/term counts), so a caller can\ndiscover exact Position/Subject/Workplace filter values without\nguessing. Counts reflect the query and other filters already applied."
},
- "longitude": {
- "example": -95.5838414,
- "type": "number"
+ "jobs": {
+ "items": {
+ "$ref": "#/definitions/tes.JobSummary"
+ },
+ "type": "array"
},
- "name": {
- "example": "Wingstop Houston Jones",
+ "keywords": {
"type": "string"
},
- "phone_number": {
- "example": "+12814779464",
+ "location": {
"type": "string"
},
- "slug": {
- "example": "wingstop-128-houston-tx-77065",
- "type": "string"
+ "page": {
+ "type": "integer"
},
- "store_id": {
- "example": "128",
- "type": "string"
+ "page_size": {
+ "type": "integer"
},
- "timezone": {
- "example": "America/Chicago",
- "type": "string"
+ "total": {
+ "type": "integer"
}
},
"type": "object"
},
- "wingstop.StoreAddress": {
+ "tes.JobSummary": {
"properties": {
- "city": {
- "example": "Houston",
+ "closing_date": {
"type": "string"
},
- "country": {
- "example": "US",
+ "contract_terms": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "contract_types": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "employer": {
"type": "string"
},
- "line1": {
- "example": "9804 Jones Rd Ste A",
+ "employer_logo_url": {
"type": "string"
},
- "line2": {
+ "id": {
"type": "string"
},
- "postal_code": {
- "example": "77065",
+ "location": {
"type": "string"
},
- "region": {
- "example": "TX",
+ "salary": {
+ "type": "string"
+ },
+ "short_description": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "wingstop.StoreHours": {
+ "tes.ResourceAttachment": {
"properties": {
- "closed": {
- "description": "Closed is true when Wingstop publishes the day with no open interval.",
- "example": false,
- "type": "boolean"
- },
- "closes": {
- "example": "01:00",
+ "file_type": {
"type": "string"
},
- "day_of_week": {
- "example": "Monday",
+ "preview_image_url": {
"type": "string"
},
- "opens": {
- "example": "10:30",
+ "size": {
"type": "string"
}
},
"type": "object"
},
- "wingstop.StoreResponse": {
+ "tes.ResourceDetail": {
"properties": {
- "address": {
- "$ref": "#/definitions/wingstop.StoreAddress"
- },
- "fetched_at": {
+ "age_range": {
"type": "string"
},
- "fulfillment_services": {
- "description": "FulfillmentServices are the pickup/delivery service flags Wingstop\npublishes for this store, e.g. \"In-Store Pickup\", \"Delivery\", \"Same\nDay Delivery\", \"No-Contact Delivery\".",
+ "attachments": {
+ "description": "Attachments lists each downloadable file's own type/size and a\npreview thumbnail -- metadata only (the file itself is never fetched;\nrobots.txt disallows /teaching-resource/download/ regardless).",
"items": {
- "type": "string"
+ "$ref": "#/definitions/tes.ResourceAttachment"
},
"type": "array"
},
- "google_place_id": {
+ "author": {
"type": "string"
},
- "hours": {
- "description": "Hours is the store's general published week of hours.",
- "items": {
- "$ref": "#/definitions/wingstop.StoreHours"
- },
- "type": "array"
+ "author_url": {
+ "type": "string"
},
- "latitude": {
- "example": 29.9159405,
- "type": "number"
+ "currency": {
+ "type": "string"
},
- "location_status": {
- "description": "LocationStatus is Wingstop's own operating-status label for this\nstore, e.g. \"Active\".",
- "example": "Active",
+ "description": {
"type": "string"
},
- "longitude": {
- "example": -95.5838414,
- "type": "number"
+ "free": {
+ "type": "boolean"
},
- "name": {
- "example": "Wingstop",
+ "id": {
"type": "string"
},
- "path": {
- "description": "Path is the canonical /wingstop/store path for this restaurant, as\nrequested.",
+ "license": {
+ "description": "License is the resource's own licence label as Tes's detail page\nitself displays it (e.g. \"Tes paid licence\", `Creative Commons\n\"Sharealike\"`) -- a longer display string than\nResourceSummary.License's short facet code, since the detail page has\nno equivalent short-code field to read.",
"type": "string"
},
- "phone_number": {
- "example": "+12814779464",
- "type": "string"
+ "price": {
+ "type": "number"
},
- "price_range": {
- "example": "$",
+ "rating": {
+ "type": "number"
+ },
+ "rating_count": {
+ "type": "integer"
+ },
+ "resource_type": {
"type": "string"
},
- "service_hours": {
- "allOf": [
- {
- "$ref": "#/definitions/wingstop.StoreServiceHours"
- }
- ],
- "description": "ServiceHours is the same week broken down per fulfillment channel --\nsee StoreServiceHours."
+ "reviews": {
+ "description": "Reviews is the most recent page of reviews (the same page the\npricing/reviews JSON endpoint returns by default -- see\nrawResourcePricing's doc comment). RatingCount is the true total\nacross every review, not just len(Reviews).",
+ "items": {
+ "$ref": "#/definitions/tes.ResourceReview"
+ },
+ "type": "array"
},
- "source_url": {
+ "subject": {
"type": "string"
},
- "store_id": {
- "example": "128",
+ "thumbnail_url": {
"type": "string"
},
- "timezone": {
- "example": "America/Chicago",
+ "title": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "wingstop.StoreServiceHours": {
+ "tes.ResourceReview": {
"properties": {
- "delivery": {
- "items": {
- "$ref": "#/definitions/wingstop.StoreHours"
- },
- "type": "array"
+ "author": {
+ "type": "string"
},
- "drive_through": {
- "items": {
- "$ref": "#/definitions/wingstop.StoreHours"
- },
- "type": "array"
+ "author_url": {
+ "type": "string"
},
- "pickup": {
- "items": {
- "$ref": "#/definitions/wingstop.StoreHours"
- },
- "type": "array"
+ "comment": {
+ "type": "string"
},
- "takeout": {
- "items": {
- "$ref": "#/definitions/wingstop.StoreHours"
- },
- "type": "array"
+ "id": {
+ "type": "string"
+ },
+ "posted": {
+ "type": "string"
+ },
+ "rating": {
+ "type": "number"
}
},
"type": "object"
},
- "wingstop.deliveryStoreResponseDoc": {
+ "tes.ResourceSearchResponse": {
"properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "country": {
+ "type": "string"
+ },
+ "page": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/wingstop.DeliveryStoreResponse"
+ "page_size": {
+ "type": "integer"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "query": {
+ "type": "string"
+ },
+ "resources": {
+ "items": {
+ "$ref": "#/definitions/tes.ResourceSummary"
+ },
+ "type": "array"
+ },
+ "total": {
+ "type": "integer"
}
},
"type": "object"
},
- "wingstop.directoryResponseDoc": {
+ "tes.ResourceShop": {
"properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "avatar_url": {
+ "type": "string"
+ },
+ "bio": {
+ "type": "string"
+ },
+ "downloads": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/wingstop.DirectoryResponse"
+ "name": {
+ "type": "string"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
- }
- },
- "type": "object"
- },
- "wingstop.flavorsResponseDoc": {
- "properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "page": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/wingstop.FlavorsResponse"
+ "rating": {
+ "type": "number"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
- }
- },
- "type": "object"
- },
- "wingstop.menuResponseDoc": {
- "properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "rating_count": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/wingstop.MenuResponse"
+ "resources": {
+ "items": {
+ "$ref": "#/definitions/tes.ShopResourceSummary"
+ },
+ "type": "array"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
- }
- },
- "type": "object"
- },
- "wingstop.nearbyResponseDoc": {
- "properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "uploads": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/wingstop.NearbyResponse"
+ "url": {
+ "type": "string"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "username": {
+ "type": "string"
+ },
+ "views": {
+ "type": "integer"
}
},
"type": "object"
},
- "wingstop.storeResponseDoc": {
+ "tes.ResourceSummary": {
"properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "author": {
+ "type": "string"
+ },
+ "bundle_original_price": {
+ "type": "number"
+ },
+ "bundle_resource_count": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/wingstop.StoreResponse"
+ "currency": {
+ "type": "string"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
- }
- },
- "type": "object"
- },
- "wired.ArticleResponse": {
- "properties": {
- "authors": {
+ "downloads": {
+ "type": "integer"
+ },
+ "file_types": {
"items": {
"type": "string"
},
"type": "array"
},
- "description": {
+ "first_published": {
"type": "string"
},
- "image_url": {
+ "free": {
+ "type": "boolean"
+ },
+ "id": {
"type": "string"
},
- "paragraphs": {
+ "is_bundle": {
+ "description": "IsBundle marks a listing that packages multiple resources under one\nprice, tes.com's own \"Bundle\" badge. BundleResourceCount and\nBundleOriginalPrice are only meaningful when IsBundle is true.",
+ "type": "boolean"
+ },
+ "last_published": {
+ "type": "string"
+ },
+ "license": {
+ "description": "License is Tes's own short licence code -- one of \"Paid\", \"CC-BY-SA\",\n\"CC-BY-ND\", \"CC-BY\" (its licence facet's own values, confirmed live\n2026-09-04).",
+ "type": "string"
+ },
+ "on_sale": {
+ "type": "boolean"
+ },
+ "price": {
+ "type": "number"
+ },
+ "rating": {
+ "type": "number"
+ },
+ "rating_count": {
+ "type": "integer"
+ },
+ "resource_types": {
"items": {
"type": "string"
},
"type": "array"
},
- "published_at": {
- "type": "string"
- },
- "section": {
+ "thumbnail_url": {
"type": "string"
},
"title": {
"type": "string"
},
- "updated_at": {
- "type": "string"
- },
"url": {
"type": "string"
}
},
"type": "object"
},
- "wired.AuthorArticle": {
+ "tes.SchoolSearchResponse": {
"properties": {
- "published_at": {
- "type": "string"
+ "page": {
+ "type": "integer"
},
- "title": {
- "type": "string"
+ "page_size": {
+ "type": "integer"
},
- "url": {
+ "query": {
"type": "string"
+ },
+ "schools": {
+ "items": {
+ "$ref": "#/definitions/tes.SchoolSummary"
+ },
+ "type": "array"
+ },
+ "total": {
+ "type": "integer"
+ },
+ "total_pages": {
+ "type": "integer"
}
},
"type": "object"
},
- "wired.AuthorResponse": {
+ "tes.SchoolSummary": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/wired.AuthorArticle"
- },
- "type": "array"
+ "address": {
+ "type": "string"
},
- "biography": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "country": {
+ "type": "string"
},
- "image_url": {
+ "description": {
"type": "string"
},
- "job_title": {
+ "id": {
+ "type": "string"
+ },
+ "logo_url": {
"type": "string"
},
"name": {
"type": "string"
},
- "social_links": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "post_code": {
+ "type": "string"
},
"url": {
"type": "string"
@@ -258429,50 +263290,72 @@
},
"type": "object"
},
- "wired.HeadlinesResponse": {
+ "tes.ShopResourceSummary": {
"properties": {
- "items": {
- "items": {
- "$ref": "#/definitions/newsplatform.HeadlineItem"
- },
- "type": "array"
+ "currency": {
+ "type": "string"
},
- "section": {
+ "free": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "price": {
+ "type": "number"
+ },
+ "thumbnail_url": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "wired.NewsResponse": {
+ "tes.employerDetailResponseDoc": {
"properties": {
- "items": {
- "items": {
- "$ref": "#/definitions/newsplatform.HeadlineItem"
- },
- "type": "array"
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/tes.EmployerDetail"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "wired.SectionsResponse": {
+ "tes.jobDetailResponseDoc": {
"properties": {
- "sections": {
- "items": {
- "$ref": "#/definitions/newsplatform.Section"
- },
- "type": "array"
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/tes.JobDetail"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "wired.articleResponseDoc": {
+ "tes.jobSearchResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/wired.ArticleResponse"
+ "$ref": "#/definitions/tes.JobSearchResponse"
},
"msg": {
"example": "OK",
@@ -258481,14 +263364,14 @@
},
"type": "object"
},
- "wired.authorResponseDoc": {
+ "tes.resourceDetailResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/wired.AuthorResponse"
+ "$ref": "#/definitions/tes.ResourceDetail"
},
"msg": {
"example": "OK",
@@ -258497,14 +263380,14 @@
},
"type": "object"
},
- "wired.headlinesResponseDoc": {
+ "tes.resourceSearchResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/wired.HeadlinesResponse"
+ "$ref": "#/definitions/tes.ResourceSearchResponse"
},
"msg": {
"example": "OK",
@@ -258513,14 +263396,14 @@
},
"type": "object"
},
- "wired.newsResponseDoc": {
+ "tes.resourceShopResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/wired.NewsResponse"
+ "$ref": "#/definitions/tes.ResourceShop"
},
"msg": {
"example": "OK",
@@ -258529,14 +263412,14 @@
},
"type": "object"
},
- "wired.sectionsResponseDoc": {
+ "tes.schoolSearchResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/wired.SectionsResponse"
+ "$ref": "#/definitions/tes.SchoolSearchResponse"
},
"msg": {
"example": "OK",
@@ -258545,189 +263428,260 @@
},
"type": "object"
},
- "wish.CategoriesResponse": {
+ "teslajobs.ListResponse": {
"properties": {
- "categories": {
+ "jobs": {
+ "description": "Job listings on this page.",
"items": {
- "$ref": "#/definitions/wish.Category"
+ "$ref": "#/definitions/teslajobs.TeslaJobListing"
},
"type": "array"
},
- "fetched_at": {
+ "location": {
+ "description": "Location filter that was applied.",
+ "example": "Palo Alto",
"type": "string"
},
- "source_url": {
+ "page": {
+ "description": "Page number returned, starting at 1.",
+ "example": 1,
+ "type": "integer"
+ },
+ "page_size": {
+ "description": "Number of job listings per page.",
+ "example": 20,
+ "type": "integer"
+ },
+ "query": {
+ "description": "Title or department filter that was applied.",
+ "example": "software engineer",
"type": "string"
+ },
+ "total": {
+ "description": "Total number of job listings that match the filters.",
+ "example": 302,
+ "type": "integer"
}
},
"type": "object"
},
- "wish.Category": {
+ "teslajobs.TeslaJob": {
"properties": {
- "filter_groups": {
- "items": {
- "$ref": "#/definitions/wish.FilterGroup"
- },
- "type": "array"
+ "apply_url": {
+ "type": "string"
},
- "filter_id": {
+ "compensation_text": {
"type": "string"
},
- "is_main_tab": {
- "type": "boolean"
+ "country": {
+ "example": "US",
+ "type": "string"
},
- "name": {
+ "department": {
+ "example": "Tesla AI",
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "employment_type": {
+ "example": "fulltime",
+ "type": "string"
+ },
+ "id": {
+ "example": "224501",
+ "type": "string"
+ },
+ "job_family": {
+ "example": "AI",
+ "type": "string"
+ },
+ "location": {
+ "example": "Palo Alto, California",
+ "type": "string"
+ },
+ "requirements": {
+ "type": "string"
+ },
+ "responsibilities": {
+ "type": "string"
+ },
+ "state": {
+ "example": "CA",
+ "type": "string"
+ },
+ "title": {
+ "example": "AI Engineer, Manipulation, Optimus",
+ "type": "string"
+ },
+ "url": {
+ "example": "https://www.tesla.com/careers/search/job/ai-engineer-manipulation-optimus-224501",
"type": "string"
}
},
"type": "object"
},
- "wish.Filter": {
+ "teslajobs.TeslaJobListing": {
"properties": {
- "default_selected": {
- "type": "boolean"
- },
- "filter_id": {
+ "department": {
+ "description": "Tesla department the job belongs to, such as `Tesla AI`.",
+ "example": "Tesla AI",
"type": "string"
},
- "is_quick_filter": {
- "type": "boolean"
+ "id": {
+ "description": "Tesla careers job id. Use it with the job endpoint.",
+ "example": "224501",
+ "type": "string"
},
- "is_toggle": {
- "type": "boolean"
+ "location": {
+ "description": "Job location as Tesla shows it, such as `Palo Alto, California`.",
+ "example": "Palo Alto, California",
+ "type": "string"
},
- "name": {
+ "title": {
+ "description": "Job title as shown on Tesla Careers.",
+ "example": "AI Engineer, Manipulation, Optimus",
"type": "string"
}
},
"type": "object"
},
- "wish.FilterGroup": {
+ "teslajobs.jobResponseDoc": {
"properties": {
- "filters": {
- "items": {
- "$ref": "#/definitions/wish.Filter"
- },
- "type": "array"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "icon_url": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/teslajobs.TeslaJob"
},
- "id": {
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "teslajobs.listResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "name": {
+ "data": {
+ "$ref": "#/definitions/teslajobs.ListResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "wish.ProductDetailResponse": {
+ "theage.ArticleResponse": {
"properties": {
+ "authors": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
"description": {
"type": "string"
},
- "fetched_at": {
+ "image_url": {
"type": "string"
},
- "images": {
+ "is_accessible_for_free": {
+ "type": "boolean"
+ },
+ "is_truncated": {
+ "type": "boolean"
+ },
+ "keywords": {
"items": {
"type": "string"
},
"type": "array"
},
- "is_sold_out": {
+ "paragraphs": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "paywalled": {
"type": "boolean"
},
- "name": {
+ "published_at": {
"type": "string"
},
- "product_id": {
+ "section": {
"type": "string"
},
- "rating": {
- "description": "Rating and RatingCount are the product's own aggregate rating, sourced\nfrom product-detail's dedicated rating module. A brand-new product\nwith no reviews yet carries a zero value for both rather than an\nerror.",
- "type": "number"
- },
- "rating_count": {
- "type": "integer"
+ "title": {
+ "type": "string"
},
- "source_url": {
+ "updated_at": {
"type": "string"
},
"url": {
"type": "string"
- },
- "variations": {
- "items": {
- "$ref": "#/definitions/wish.ProductVariation"
- },
- "type": "array"
}
},
"type": "object"
},
- "wish.ProductReviewsResponse": {
+ "theage.AuthorResponse": {
"properties": {
- "count": {
- "description": "Number of reviews that was requested.",
- "type": "integer"
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/theage.HeadlineItem"
+ },
+ "type": "array"
},
- "fetched_at": {
- "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "bio": {
"type": "string"
},
- "has_more": {
- "description": "Whether more reviews exist beyond those returned.",
- "type": "boolean"
+ "email": {
+ "type": "string"
},
- "product_id": {
- "description": "Wish product id that was requested.",
+ "image_url": {
"type": "string"
},
- "result_count": {
- "description": "Number of reviews returned.",
- "type": "integer"
+ "name": {
+ "type": "string"
},
- "reviews": {
- "description": "Customer reviews of the product.",
+ "social_links": {
"items": {
- "$ref": "#/definitions/wish.Review"
+ "type": "string"
},
"type": "array"
},
- "source_url": {
- "description": "URL the data was read from.",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "wish.ProductSummary": {
+ "theage.HeadlineItem": {
"properties": {
- "currency_code": {
+ "author": {
"type": "string"
},
"image_url": {
"type": "string"
},
- "merchant_id": {
+ "published_at": {
"type": "string"
},
- "name": {
+ "summary": {
"type": "string"
},
- "price": {
- "type": "number"
- },
- "product_id": {
+ "title": {
"type": "string"
},
- "rating": {
- "type": "number"
- },
- "review_count": {
- "type": "integer"
+ "type": {
+ "type": "string"
},
"url": {
"type": "string"
@@ -258735,238 +263689,146 @@
},
"type": "object"
},
- "wish.ProductVariation": {
+ "theatlantic.ArticleResponse": {
"properties": {
- "color": {
- "type": "string"
- },
- "currency_code": {
- "type": "string"
- },
- "inventory": {
- "type": "integer"
+ "authors": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "merchant_id": {
+ "description": {
"type": "string"
},
- "merchant_name": {
+ "image_url": {
"type": "string"
},
- "merchant_rating": {
- "type": "number"
- },
- "price": {
- "type": "number"
+ "metered": {
+ "type": "boolean"
},
- "size": {
- "type": "string"
+ "paragraphs": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "variation_id": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "wish.RelatedItem": {
- "properties": {
- "currency_code": {
+ "published_at": {
"type": "string"
},
- "image_url": {
+ "section": {
"type": "string"
},
- "merchant_id": {
- "type": "string"
+ "tags": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "name": {
+ "title": {
"type": "string"
},
- "price": {
- "type": "number"
- },
- "product_id": {
+ "updated_at": {
"type": "string"
},
- "rating": {
- "type": "number"
- },
- "review_count": {
- "type": "integer"
- },
"url": {
"type": "string"
}
},
"type": "object"
},
- "wish.RelatedItemsResponse": {
+ "theatlantic.AuthorResponse": {
"properties": {
- "fetched_at": {
- "type": "string"
- },
- "product_id": {
- "type": "string"
- },
- "shelves": {
+ "articles": {
"items": {
- "$ref": "#/definitions/wish.RelatedShelf"
+ "$ref": "#/definitions/theatlantic.HeadlineItem"
},
"type": "array"
},
- "source_url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "wish.RelatedShelf": {
- "properties": {
- "feed_mode": {
- "example": "similar",
+ "biography": {
"type": "string"
},
- "has_more": {
- "type": "boolean"
- },
- "items": {
- "items": {
- "$ref": "#/definitions/wish.RelatedItem"
- },
- "type": "array"
+ "headshot_url": {
+ "type": "string"
},
- "subtitle": {
- "example": "Similar Items with 5-7 Day Shipping",
+ "name": {
"type": "string"
},
- "title": {
- "example": "Faster Shipping",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "wish.Review": {
+ "theatlantic.HeadlineItem": {
"properties": {
- "color": {
- "description": "Product color the review is for.",
+ "author": {
"type": "string"
},
- "comment": {
- "description": "Text of the review.",
+ "description": {
"type": "string"
},
- "created_at": {
- "description": "Time the review was posted, in ISO 8601 format.",
+ "image_url": {
"type": "string"
},
- "downvote_count": {
- "description": "Number of downvotes the review received.",
- "type": "integer"
- },
- "id": {
- "description": "Wish review id.",
+ "published_at": {
"type": "string"
},
- "image_ids": {
- "description": "Ids of the photos attached to the review.",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "is_wish_star": {
- "description": "Whether Wish marks the review as a Wish Star rating.",
- "type": "boolean"
- },
- "rating": {
- "description": "Star rating the reviewer gave.",
- "type": "integer"
- },
"title": {
- "description": "Review headline written by the reviewer.",
- "type": "string"
- },
- "upvote_count": {
- "description": "Number of upvotes the review received.",
- "type": "integer"
- },
- "user_country_code": {
- "description": "Country code of the reviewer, such as `US`.",
"type": "string"
},
- "user_name": {
- "description": "Display name of the reviewer.",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "wish.SearchResponse": {
+ "theatlantic.HeadlinesResponse": {
"properties": {
- "count": {
- "type": "integer"
- },
- "fetched_at": {
- "type": "string"
- },
- "has_more": {
- "type": "boolean"
- },
- "next_offset": {
- "type": "integer"
- },
- "offset": {
- "type": "integer"
- },
- "products": {
+ "items": {
"items": {
- "$ref": "#/definitions/wish.ProductSummary"
+ "$ref": "#/definitions/theatlantic.HeadlineItem"
},
"type": "array"
},
- "query": {
- "type": "string"
- },
- "result_count": {
- "type": "integer"
- },
- "source_url": {
+ "section": {
"type": "string"
}
},
"type": "object"
},
- "wish.SuggestResponse": {
+ "theatlantic.Section": {
"properties": {
- "count": {
- "type": "integer"
- },
- "fetched_at": {
+ "name": {
"type": "string"
},
- "query": {
+ "slug": {
"type": "string"
},
- "source_url": {
+ "url": {
"type": "string"
- },
- "suggestions": {
+ }
+ },
+ "type": "object"
+ },
+ "theatlantic.SectionsResponse": {
+ "properties": {
+ "sections": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/theatlantic.Section"
},
"type": "array"
}
},
"type": "object"
},
- "wish.categoriesResponseDoc": {
+ "theatlantic.articleResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/wish.CategoriesResponse"
+ "$ref": "#/definitions/theatlantic.ArticleResponse"
},
"msg": {
"example": "OK",
@@ -258975,14 +263837,14 @@
},
"type": "object"
},
- "wish.productDetailResponseDoc": {
+ "theatlantic.authorResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/wish.ProductDetailResponse"
+ "$ref": "#/definitions/theatlantic.AuthorResponse"
},
"msg": {
"example": "OK",
@@ -258991,14 +263853,14 @@
},
"type": "object"
},
- "wish.productReviewsResponseDoc": {
+ "theatlantic.headlinesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/wish.ProductReviewsResponse"
+ "$ref": "#/definitions/theatlantic.HeadlinesResponse"
},
"msg": {
"example": "OK",
@@ -259007,14 +263869,14 @@
},
"type": "object"
},
- "wish.relatedItemsResponseDoc": {
+ "theatlantic.sectionsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/wish.RelatedItemsResponse"
+ "$ref": "#/definitions/theatlantic.SectionsResponse"
},
"msg": {
"example": "OK",
@@ -259023,787 +263885,824 @@
},
"type": "object"
},
- "wish.searchResponseDoc": {
+ "theblaze.AuthorResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/newsplatform.HeadlineItem"
+ },
+ "type": "array"
},
- "data": {
- "$ref": "#/definitions/wish.SearchResponse"
+ "biography": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "image_url": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "role": {
+ "type": "string"
+ },
+ "slug": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "wish.suggestResponseDoc": {
+ "thedailybeast.AuthorArticle": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/wish.SuggestResponse"
+ "title": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "wolt.AvailabilityResponse": {
+ "thedailybeast.AuthorResponse": {
"properties": {
- "delivery_enabled": {
- "type": "boolean"
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/thedailybeast.AuthorArticle"
+ },
+ "type": "array"
},
- "delivery_fee": {
- "description": "DeliveryFee is the base delivery price for this caller's coordinate,\nin major currency units (e.g. euros). Wolt scales it with distance --\nconfirmed live 2026-09-05: the same venue returned 1.99 for a 474m\ncoordinate and 7.99 for a 16.2km one.",
- "type": "number"
+ "bio": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "delivery_fee_label": {
- "description": "DeliveryFeeLabel is Wolt's own locale-formatted rendering of the fee\nactually shown on the venue page (e.g. \"€0.00\" while a free-delivery\ncampaign is running), which can differ from DeliveryFee's list price.",
+ "image_url": {
"type": "string"
},
- "delivery_method_default": {
- "description": "DeliveryMethodDefault is the fulfilment method Wolt itself would\npreselect for this caller's coordinate: \"DELIVERY\", \"PICKUP\", or\n\"UNAVAILABLE\" when no coordinate was supplied (or the venue does not\ndeliver there at all). Confirmed live 2026-09-05.",
+ "job_title": {
"type": "string"
},
- "delivery_open_status": {
- "$ref": "#/definitions/wolt.OpenStatus"
- },
- "distance_label": {
- "description": "DistanceLabel is Wolt's own formatted venue distance from the\ncaller's coordinate (e.g. \"474 m\", \"16.2 km\"). Only present when\ncoordinates were supplied.",
+ "name": {
"type": "string"
},
- "estimates": {
- "items": {
- "$ref": "#/definitions/wolt.DeliveryEstimate"
- },
- "type": "array"
- },
- "id": {
+ "twitter": {
"type": "string"
},
- "online": {
- "type": "boolean"
- },
- "open_status": {
- "$ref": "#/definitions/wolt.OpenStatus"
- },
- "order_minimum": {
- "description": "OrderMinimum is the venue's minimum order value in major currency\nunits, and OrderMinimumLabel Wolt's own locale-formatted rendering of\nit (e.g. \"Min. order €10.00\").",
- "type": "number"
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "thehill.AuthorArticle": {
+ "properties": {
+ "category": {
+ "type": "string"
},
- "order_minimum_label": {
+ "category_url": {
"type": "string"
},
- "promotions": {
- "description": "Promotions are the discount campaign labels Wolt currently shows on\nthe venue's own public page (e.g. \"0 € delivery fee\", \"3x5 €\"). This\nis display text only -- no campaign is claimed, redeemed, or applied.",
- "items": {
- "type": "string"
- },
- "type": "array"
+ "published_at": {
+ "type": "string"
},
- "self_delivery": {
- "type": "boolean"
+ "title": {
+ "type": "string"
},
- "slug": {
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "wolt.CategoryFilter": {
+ "thehill.AuthorResponse": {
"properties": {
- "count": {
- "type": "integer"
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/thehill.AuthorArticle"
+ },
+ "type": "array"
},
- "id": {
+ "bio": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "job_title": {
"type": "string"
},
"name": {
"type": "string"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "wolt.CitiesResponse": {
+ "thehindu.AuthorResponse": {
"properties": {
- "cities": {
+ "articles": {
"items": {
- "$ref": "#/definitions/wolt.City"
+ "$ref": "#/definitions/thehindu.HeadlineItem"
},
"type": "array"
},
- "country": {
+ "biography": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "designation": {
"type": "string"
},
- "total_results": {
- "type": "integer"
+ "email": {
+ "type": "string"
+ },
+ "facebook_url": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "linkedin_url": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "twitter_url": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "wolt.City": {
+ "thehindu.HeadlineItem": {
"properties": {
- "country": {
+ "author": {
"type": "string"
},
- "country_iso3": {
+ "image_url": {
"type": "string"
},
- "distance_km": {
- "description": "DistanceKm is Wolt's own whole-kilometre distance from the reference\ncoordinate, present only when latitude/longitude were supplied.\nConfirmed live 2026-09-05 against a haversine recomputation: Wolt\nreports 9 for a city 9.65km away and 13 for one 13.79km away, i.e.\nkilometres truncated to an integer, not metres.",
- "type": "integer"
- },
- "id": {
+ "published_at": {
"type": "string"
},
- "latitude": {
- "type": "number"
- },
- "longitude": {
- "type": "number"
+ "summary": {
+ "type": "string"
},
- "name": {
+ "title": {
"type": "string"
},
- "slug": {
+ "type": {
"type": "string"
},
- "timezone": {
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "wolt.Collection": {
+ "thejournal.AuthorArticle": {
"properties": {
- "id": {
+ "image_url": {
"type": "string"
},
- "restaurants": {
- "items": {
- "$ref": "#/definitions/wolt.Restaurant"
- },
- "type": "array"
+ "section": {
+ "type": "string"
+ },
+ "summary": {
+ "type": "string"
},
"title": {
"type": "string"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "wolt.CollectionsResponse": {
+ "thejournal.AuthorResponse": {
"properties": {
- "collections": {
+ "articles": {
"items": {
- "$ref": "#/definitions/wolt.Collection"
+ "$ref": "#/definitions/thejournal.AuthorArticle"
},
"type": "array"
},
- "is_serviceable": {
- "description": "IsServiceable reports whether Wolt delivers to the requested\ncoordinates at all. False means the coordinates are outside Wolt's\ndelivery coverage, so an empty collections list is a coverage\nanswer rather than a served location whose homepage happens to\ncarry no curated lists.",
+ "has_more": {
"type": "boolean"
- }
- },
- "type": "object"
- },
- "wolt.DaySchedule": {
- "properties": {
- "day": {
+ },
+ "id": {
"type": "string"
},
- "formatted_times": {
+ "name": {
+ "type": "string"
+ },
+ "slug": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "wolt.DeliveryEstimate": {
+ "thenextweb.AuthorResponse": {
"properties": {
- "label": {
- "type": "string"
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/newsplatform.HeadlineItem"
+ },
+ "type": "array"
},
- "max_minutes": {
- "type": "integer"
+ "image_url": {
+ "type": "string"
},
- "method": {
+ "name": {
"type": "string"
},
- "min_minutes": {
- "type": "integer"
+ "slug": {
+ "type": "string"
},
- "minutes": {
- "type": "integer"
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "wolt.FiltersResponse": {
+ "therealreal.AutocompleteResponse": {
"properties": {
- "categories": {
+ "source_url": {
+ "type": "string"
+ },
+ "suggestions": {
"items": {
- "$ref": "#/definitions/wolt.CategoryFilter"
+ "$ref": "#/definitions/therealreal.Suggestion"
},
"type": "array"
- },
- "total_results": {
- "type": "integer"
}
},
"type": "object"
},
- "wolt.MenuCategory": {
+ "therealreal.CategoriesResponse": {
"properties": {
- "items": {
+ "categories": {
"items": {
- "$ref": "#/definitions/wolt.MenuItem"
+ "$ref": "#/definitions/therealreal.Category"
},
"type": "array"
},
- "name": {
- "type": "string"
- },
- "subcategory": {
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "wolt.MenuItem": {
+ "therealreal.Category": {
"properties": {
- "barcode_gtin": {
- "description": "BarcodeGTIN, UnitInfo, and UnitPrice are retail/grocery product\nfields. A restaurant dish carries none of them; a packaged store\nproduct usually carries all three.",
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "dietary_preferences": {
+ "children": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/therealreal.Category"
},
"type": "array"
},
- "id": {
- "type": "string"
+ "count": {
+ "example": 225361,
+ "type": "integer"
},
- "image_url": {
+ "id": {
+ "example": "493",
"type": "string"
},
"name": {
+ "example": "Handbags",
"type": "string"
},
- "original_price": {
- "type": "number"
- },
- "price": {
- "type": "number"
+ "permalink": {
+ "example": "women/handbags",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "therealreal.CollectionSlug": {
+ "properties": {
+ "slug": {
+ "example": "on-sale-now",
+ "type": "string"
},
- "tags": {
+ "url": {
+ "example": "https://www.therealreal.com/sales/on-sale-now",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "therealreal.CollectionsResponse": {
+ "properties": {
+ "collections": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/therealreal.CollectionSlug"
},
"type": "array"
},
- "unit_info": {
+ "source_url": {
"type": "string"
},
- "unit_price": {
- "$ref": "#/definitions/wolt.UnitPrice"
+ "total": {
+ "example": 535,
+ "type": "integer"
}
},
"type": "object"
},
- "wolt.MenuResponse": {
+ "therealreal.Condition": {
"properties": {
- "categories": {
- "items": {
- "$ref": "#/definitions/wolt.MenuCategory"
- },
- "type": "array"
+ "count": {
+ "example": 162975,
+ "type": "integer"
},
- "loading_strategy": {
- "description": "LoadingStrategy reports whether this venue's items are included.\n\"full\" means every category below carries its items. \"partial\"\nmeans Wolt does not bulk-load this venue's assortment: the\ncategories are real but every one of them comes back with an empty\nitems list, and the venue's items are reachable only by keyword\nthrough /wolt/restaurant/menu/search. Large stores of any kind --\nsupermarkets, pharmacies, drugstores, DIY and toy stores -- are\ncommonly \"partial\"; restaurants are \"full\".",
+ "id": {
+ "example": "20",
"type": "string"
},
- "restaurant": {
- "$ref": "#/definitions/wolt.RestaurantResponse"
+ "name": {
+ "example": "Very Good",
+ "type": "string"
}
},
"type": "object"
},
- "wolt.MenuSearchResponse": {
+ "therealreal.ConditionsResponse": {
"properties": {
- "items": {
+ "conditions": {
"items": {
- "$ref": "#/definitions/wolt.MenuItem"
+ "$ref": "#/definitions/therealreal.Condition"
},
"type": "array"
},
- "query": {
- "type": "string"
- },
- "slug": {
+ "source_url": {
"type": "string"
- },
- "total_results": {
- "type": "integer"
}
},
"type": "object"
},
- "wolt.OpenStatus": {
+ "therealreal.Designer": {
"properties": {
- "is_open": {
- "type": "boolean"
- },
- "label": {
+ "id": {
+ "example": "267",
"type": "string"
},
- "next_close": {
+ "name": {
+ "example": "Chanel",
"type": "string"
},
- "next_open": {
+ "slug": {
+ "example": "chanel",
"type": "string"
- },
- "now": {
+ }
+ },
+ "type": "object"
+ },
+ "therealreal.DesignerDirectoryCategory": {
+ "properties": {
+ "name": {
+ "example": "Women",
"type": "string"
},
- "previous_open": {
+ "slug": {
+ "example": "women",
"type": "string"
}
},
"type": "object"
},
- "wolt.Restaurant": {
+ "therealreal.DesignersResponse": {
"properties": {
- "address": {
- "type": "string"
- },
"categories": {
- "description": "Categories are the venue's own category ids, in the same taxonomy\n/wolt/search's category parameter and /wolt/search/filters use. This\nis a machine-readable vocabulary, distinct from Tags's free-text\ndisplay list. Only the two browse modes carry it; a keyword search\nomits it.",
"items": {
- "type": "string"
+ "$ref": "#/definitions/therealreal.DesignerDirectoryCategory"
},
"type": "array"
},
- "city": {
+ "category": {
+ "example": "women",
"type": "string"
},
- "country": {
- "type": "string"
+ "designers": {
+ "items": {
+ "$ref": "#/definitions/therealreal.Designer"
+ },
+ "type": "array"
},
- "currency": {
+ "source_url": {
"type": "string"
},
- "delivers": {
- "type": "boolean"
- },
- "estimate_minutes": {
+ "total": {
+ "example": 5413,
"type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "therealreal.Listing": {
+ "properties": {
+ "available": {
+ "example": true,
+ "type": "boolean"
},
- "estimate_range": {
+ "color": {
+ "example": "Blue",
"type": "string"
},
- "id": {
+ "condition": {
+ "example": "Very Good",
"type": "string"
},
- "image_url": {
+ "designer": {
+ "example": "Chanel",
"type": "string"
},
- "latitude": {
- "description": "Latitude/Longitude are the venue's own coordinates.",
- "type": "number"
+ "designer_slug": {
+ "example": "chanel",
+ "type": "string"
},
- "longitude": {
- "type": "number"
+ "gender": {
+ "example": "Women",
+ "type": "string"
},
- "name": {
+ "id": {
+ "example": "54388578",
"type": "string"
},
- "online": {
- "type": "boolean"
+ "image_url": {
+ "example": "https://product-images.therealreal.com/CHA1494621_1_enlarged.jpg",
+ "type": "string"
},
- "price_range": {
- "type": "integer"
+ "images": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "product_line": {
+ "name": {
+ "example": "Denim Pearl Crush Wallet On Chain",
"type": "string"
},
- "rating_count": {
- "type": "integer"
+ "original_price_usd": {
+ "example": 3800,
+ "type": "number"
},
- "rating_score": {
+ "price_usd": {
+ "example": 3800,
"type": "number"
},
- "short_description": {
+ "sku": {
+ "example": "CHA1494621",
"type": "string"
},
- "slug": {
+ "url": {
+ "example": "https://www.therealreal.com/products/women/handbags/crossbody-bags/chanel-denim-pearl-crush-wallet-on-chain-wdqhu",
"type": "string"
},
- "tags": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "waitlisted": {
+ "example": false,
+ "type": "boolean"
}
},
"type": "object"
},
- "wolt.RestaurantResponse": {
+ "therealreal.ListingDetail": {
"properties": {
- "address": {
+ "available": {
+ "example": true,
+ "type": "boolean"
+ },
+ "category_label": {
+ "example": "Women's Fashion & Accessories",
"type": "string"
},
- "brand_name": {
+ "category_name": {
+ "example": "Women",
"type": "string"
},
- "brand_slug": {
- "description": "BrandSlug is a grouping key shared by every location of a chain\n(e.g. \"mcdonalds\"). Wolt publishes no brand listing, so it is not\naccepted as a parameter anywhere -- it is useful for collapsing\nresults by chain.",
+ "color": {
+ "example": "Blue",
"type": "string"
},
- "categories": {
- "description": "Categories are the venue's own categories, each with the id\n/wolt/search's category parameter accepts, a display name, and a\nflag for the venue's primary category.",
- "items": {
- "$ref": "#/definitions/wolt.VenueCategory"
- },
- "type": "array"
+ "condition": {
+ "example": "Very Good",
+ "type": "string"
},
- "city": {
+ "condition_detail": {
+ "example": "Minor discoloration throughout; minor discoloration at hardware; minor scuff at corner.",
"type": "string"
},
- "city_id": {
- "description": "CityID is the id of the /wolt/cities entry this venue belongs to.",
+ "description": {
"type": "string"
},
- "country": {
+ "designer": {
+ "example": "Chanel",
"type": "string"
},
- "currency": {
+ "designer_slug": {
+ "example": "chanel",
"type": "string"
},
- "delivery_base_price": {
- "type": "integer"
- },
- "delivery_methods": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "delivery_times": {
- "items": {
- "$ref": "#/definitions/wolt.DaySchedule"
- },
- "type": "array"
- },
- "description": {
- "type": "string"
+ "gender": {
+ "example": "Women",
+ "type": "string"
},
"id": {
+ "example": "54388578",
"type": "string"
},
"image_url": {
+ "example": "https://product-images.therealreal.com/CHA1494621_1_enlarged.jpg",
"type": "string"
},
- "latitude": {
- "description": "Latitude/Longitude are the venue's own coordinates.",
- "type": "number"
- },
- "longitude": {
- "type": "number"
- },
- "name": {
- "type": "string"
- },
- "opening_times": {
+ "images": {
"items": {
- "$ref": "#/definitions/wolt.DaySchedule"
+ "type": "string"
},
"type": "array"
},
- "order_minimum": {
- "type": "string"
- },
- "phone": {
- "type": "string"
- },
- "pickup_friendly": {
- "type": "boolean"
- },
- "post_code": {
- "type": "string"
- },
- "price_range": {
- "description": "PriceRange is Wolt's own 1-4 price tier and Tags its free-text\ndisplay cuisine list -- the same two fields /wolt/search returns per\nresult.",
- "type": "integer"
+ "measurements": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
},
- "product_line": {
+ "name": {
+ "example": "Denim Pearl Crush Wallet On Chain",
"type": "string"
},
- "rating_count": {
- "type": "integer"
- },
- "rating_score": {
+ "original_price_usd": {
+ "example": 3800,
"type": "number"
},
- "service_fee_max": {
- "type": "integer"
- },
- "service_fee_min": {
- "type": "integer"
- },
- "service_fee_percent": {
- "type": "integer"
- },
- "share_url": {
- "type": "string"
+ "price_usd": {
+ "example": 3800,
+ "type": "number"
},
- "slug": {
+ "sku": {
+ "example": "CHA1494621",
"type": "string"
},
- "tags": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "timezone": {
- "description": "Timezone is the IANA zone (e.g. \"Europe/Helsinki\") the venue's\nopening and delivery hours are expressed in.",
+ "source_url": {
"type": "string"
},
- "website": {
+ "url": {
+ "example": "https://www.therealreal.com/products/women/handbags/crossbody-bags/chanel-denim-pearl-crush-wallet-on-chain-wdqhu",
"type": "string"
},
- "wolt_plus": {
- "description": "WoltPlus reports whether the venue participates in Wolt's\nsubscription programme.",
+ "waitlisted": {
+ "example": false,
"type": "boolean"
}
},
"type": "object"
},
- "wolt.SearchResponse": {
+ "therealreal.ProductsResponse": {
"properties": {
- "category": {
- "type": "string"
- },
- "is_serviceable": {
- "description": "IsServiceable reports whether Wolt delivers to the requested\ncoordinates at all. False means the coordinates are outside Wolt's\ndelivery coverage, so an empty restaurants list is a coverage\nanswer rather than a no-matches answer. True with an empty list\nmeans the location is served but nothing matched. Always present:\nall three search modes -- plain browse, keyword search, and\ncategory browse -- answer it definitively.",
- "type": "boolean"
- },
- "open_now": {
+ "has_more": {
+ "example": true,
"type": "boolean"
},
- "product_line": {
- "type": "string"
- },
- "query": {
- "type": "string"
- },
- "restaurants": {
+ "listings": {
"items": {
- "$ref": "#/definitions/wolt.Restaurant"
+ "$ref": "#/definitions/therealreal.Listing"
},
"type": "array"
},
- "sort": {
+ "next_after": {
+ "example": "YXJyYXljb25uZWN0aW9uOjExOQ==",
"type": "string"
},
- "total_results": {
+ "source_url": {
+ "type": "string"
+ },
+ "total": {
+ "example": 404167,
"type": "integer"
}
},
"type": "object"
},
- "wolt.UnitPrice": {
+ "therealreal.SimilarResponse": {
"properties": {
- "base": {
- "type": "integer"
- },
- "price": {
- "type": "number"
+ "listings": {
+ "items": {
+ "$ref": "#/definitions/therealreal.Listing"
+ },
+ "type": "array"
},
- "unit": {
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "wolt.VenueCategory": {
+ "therealreal.Suggestion": {
"properties": {
- "id": {
- "type": "string"
- },
- "name": {
+ "text": {
+ "example": "gucci handbags",
"type": "string"
- },
- "primary": {
- "type": "boolean"
}
},
"type": "object"
},
- "wolt.availabilityResponseDoc": {
+ "therealreal.autocompleteResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/wolt.AvailabilityResponse"
+ "$ref": "#/definitions/therealreal.AutocompleteResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "wolt.citiesResponseDoc": {
+ "therealreal.categoriesResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/wolt.CitiesResponse"
+ "$ref": "#/definitions/therealreal.CategoriesResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "wolt.collectionsResponseDoc": {
+ "therealreal.collectionsResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/wolt.CollectionsResponse"
+ "$ref": "#/definitions/therealreal.CollectionsResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "wolt.filtersResponseDoc": {
+ "therealreal.conditionsResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/wolt.FiltersResponse"
+ "$ref": "#/definitions/therealreal.ConditionsResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "wolt.menuResponseDoc": {
+ "therealreal.designersResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/wolt.MenuResponse"
+ "$ref": "#/definitions/therealreal.DesignersResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "wolt.menuSearchResponseDoc": {
+ "therealreal.listingResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/wolt.MenuSearchResponse"
+ "$ref": "#/definitions/therealreal.ListingDetail"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "wolt.restaurantResponseDoc": {
+ "therealreal.searchResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/wolt.RestaurantResponse"
+ "$ref": "#/definitions/therealreal.ProductsResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "wolt.searchResponseDoc": {
+ "therealreal.similarResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/wolt.SearchResponse"
+ "$ref": "#/definitions/therealreal.SimilarResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "wsj.ArticleResponse": {
+ "thestarmy.AuthorArticle": {
"properties": {
- "archive_timestamp": {
+ "image_url": {
"type": "string"
},
- "archive_url": {
+ "published_at": {
"type": "string"
},
- "author": {
+ "section": {
"type": "string"
},
- "paragraphs": {
+ "summary": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "thestarmy.AuthorResponse": {
+ "properties": {
+ "articles": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/thestarmy.AuthorArticle"
},
"type": "array"
},
- "published_at": {
+ "email": {
"type": "string"
},
- "title": {
+ "name": {
"type": "string"
},
"url": {
"type": "string"
- },
- "word_count": {
- "type": "integer"
}
},
"type": "object"
},
- "wsj.AuthorArticle": {
+ "theverge.AuthorArticle": {
"properties": {
+ "category": {
+ "type": "string"
+ },
+ "excerpt": {
+ "type": "string"
+ },
"published_at": {
"type": "string"
},
@@ -259816,136 +264715,101 @@
},
"type": "object"
},
- "wsj.AuthorResponse": {
+ "theverge.AuthorResponse": {
"properties": {
"articles": {
"items": {
- "$ref": "#/definitions/wsj.AuthorArticle"
+ "$ref": "#/definitions/theverge.AuthorArticle"
},
"type": "array"
},
"bio": {
"type": "string"
},
- "email": {
- "type": "string"
- },
"job_title": {
"type": "string"
},
"name": {
"type": "string"
},
- "social_accounts": {
- "items": {
- "$ref": "#/definitions/wsj.AuthorSocialAccount"
- },
- "type": "array"
- },
"url": {
"type": "string"
}
},
"type": "object"
},
- "wsj.AuthorSocialAccount": {
+ "thisismoney.AuthorArticle": {
"properties": {
- "platform": {
+ "excerpt": {
"type": "string"
},
- "url": {
+ "published_at": {
"type": "string"
- }
- },
- "type": "object"
- },
- "wsj.articleResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/wsj.ArticleResponse"
+ "title": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "wsj.authorResponseDoc": {
+ "thisismoney.AuthorResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/wsj.AuthorResponse"
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/thisismoney.AuthorArticle"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "bio": {
"type": "string"
- }
- },
- "type": "object"
- },
- "x.Metrics": {
- "properties": {
- "bookmarks": {
- "type": "integer"
},
- "likes": {
- "type": "integer"
+ "coverage": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "replies": {
- "type": "integer"
+ "job_title": {
+ "type": "string"
},
- "reposts": {
- "type": "integer"
+ "name": {
+ "type": "string"
},
- "views": {
- "type": "integer"
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "x.Post": {
+ "threads.Author": {
"properties": {
- "author": {
- "$ref": "#/definitions/x.User"
- },
- "created_at": {
- "type": "string"
- },
"id": {
+ "description": "Threads user ID of the author.",
"type": "string"
},
- "metrics": {
- "$ref": "#/definitions/x.Metrics"
- },
- "quoted": {
- "$ref": "#/definitions/x.PostQuote"
- },
- "text": {
+ "name": {
+ "description": "Display name of the author.",
"type": "string"
},
- "url": {
+ "username": {
+ "description": "Threads username of the author.",
"type": "string"
}
},
"type": "object"
},
- "x.PostQuote": {
+ "threads.Post": {
"properties": {
"author": {
- "$ref": "#/definitions/x.User"
+ "$ref": "#/definitions/threads.Author"
},
- "created_at": {
+ "code": {
"type": "string"
},
- "id": {
+ "image_url": {
"type": "string"
},
"text": {
@@ -259957,634 +264821,446 @@
},
"type": "object"
},
- "x.Profile": {
+ "threads.Profile": {
"properties": {
- "affiliate_label": {
- "description": "AffiliateLabel is the small highlighted-affiliation badge X shows next\nto the display name (e.g. \"Prime Video\" for an account run on behalf\nof that brand). Distinct from VerifiedType; empty when the account has\nno highlighted affiliation.",
- "type": "string"
- },
"avatar_url": {
+ "description": "URL of the profile picture.",
"type": "string"
},
- "banner_url": {
- "type": "string"
- },
- "bio_urls": {
- "description": "BioURLs are links written inside the bio, expanded from their t.co form.\nDistinct from ExternalURL, which is the single profile-header link.",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "created_at": {
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "email": {
- "description": "Email is an address the account self-published in its own bio text. It is\nonly ever extracted, never inferred or de-obfuscated. Empty for the vast\nmajority of profiles.",
- "type": "string"
- },
- "external_url": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "is_blue_verified": {
- "type": "boolean"
- },
- "is_default_profile_image": {
- "description": "IsDefaultProfileImage marks accounts still on the placeholder avatar --\na strong shell/abandoned-account signal.",
- "type": "boolean"
- },
- "is_protected": {
- "type": "boolean"
- },
- "is_unavailable": {
- "type": "boolean"
- },
- "location": {
+ "biography": {
+ "description": "Bio text shown on the profile.",
"type": "string"
},
- "metrics": {
- "$ref": "#/definitions/x.ProfileMetrics"
+ "followers_count": {
+ "description": "Number of followers of the profile.",
+ "type": "integer"
},
"name": {
+ "description": "Display name shown on the profile.",
"type": "string"
},
+ "threads_count": {
+ "description": "Number of threads the profile has posted.",
+ "type": "integer"
+ },
"url": {
+ "description": "URL of the profile on Threads.",
"type": "string"
},
"username": {
- "type": "string"
- },
- "verified_type": {
- "description": "VerifiedType distinguishes the flavour of verification (e.g. \"Business\",\n\"Government\"); empty for ordinary/blue accounts.",
+ "description": "Threads username of the profile.",
"type": "string"
}
},
"type": "object"
},
- "x.ProfileMetrics": {
+ "threads.ProfileMediaResult": {
"properties": {
- "followers": {
- "type": "integer"
- },
- "following": {
- "type": "integer"
- },
- "likes": {
- "type": "integer"
+ "has_more": {
+ "description": "Whether Threads reports more public media beyond this page.",
+ "type": "boolean"
},
- "listed": {
- "description": "Listed is how many curated lists include this account -- the best\nauthority proxy in the payload. Media/Likes are activity signals.\nOnly the syndication source populates these; the x.com page parser\nleaves them zero.",
- "type": "integer"
+ "items": {
+ "description": "Public media posts, including image and video attachments when available.",
+ "items": {
+ "$ref": "#/definitions/threads.Thread"
+ },
+ "type": "array"
},
- "media": {
- "type": "integer"
+ "pagination_limited": {
+ "description": "True when Threads gates additional media behind login or exposes no supported continuation cursor.",
+ "type": "boolean"
},
- "posts": {
- "type": "integer"
+ "username": {
+ "description": "Profile whose public Media tab was read.",
+ "type": "string"
}
},
"type": "object"
},
- "x.ProfilePosts": {
+ "threads.ProfilePostsResult": {
"properties": {
- "count": {
- "type": "integer"
+ "has_more": {
+ "type": "boolean"
},
- "posts": {
+ "items": {
"items": {
- "$ref": "#/definitions/x.Post"
+ "$ref": "#/definitions/threads.Thread"
},
"type": "array"
},
- "url": {
+ "next_cursor": {
+ "description": "Cursor to pass to fetch the next page when Threads provides one.",
"type": "string"
},
+ "pagination_limited": {
+ "description": "True when Threads reports more posts but does not provide a usable cursor.",
+ "type": "boolean"
+ },
"username": {
"type": "string"
}
},
"type": "object"
},
- "x.User": {
+ "threads.ProfileRepliesResult": {
"properties": {
- "avatar_url": {
- "type": "string"
- },
- "banner_url": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "is_blue_verified": {
- "type": "boolean"
- },
- "is_protected": {
+ "has_more": {
+ "description": "Whether Threads reports more public items beyond the first page.",
"type": "boolean"
},
- "name": {
- "type": "string"
+ "items": {
+ "description": "Public items exposed on that tab, preserving each item's actual author.",
+ "items": {
+ "$ref": "#/definitions/threads.Thread"
+ },
+ "type": "array"
},
- "url": {
- "type": "string"
+ "pagination_limited": {
+ "description": "True when Threads gates additional items behind login or exposes no supported continuation cursor.",
+ "type": "boolean"
},
"username": {
+ "description": "Profile whose public Replies tab was read.",
"type": "string"
}
},
"type": "object"
},
- "x.postResponseDoc": {
+ "threads.ProfileRepostsResult": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "has_more": {
+ "description": "Whether Threads reports more public items beyond the first page.",
+ "type": "boolean"
},
- "data": {
- "$ref": "#/definitions/x.Post"
+ "items": {
+ "description": "Public posts reposted by the profile, retaining their original authors.",
+ "items": {
+ "$ref": "#/definitions/threads.Thread"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "pagination_limited": {
+ "description": "True when Threads gates additional items behind login or exposes no supported continuation cursor.",
+ "type": "boolean"
+ },
+ "username": {
+ "description": "Profile whose public Reposts tab was read.",
"type": "string"
}
},
"type": "object"
},
- "x.profilePostsResponseDoc": {
+ "threads.ProfileTopicsResult": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/x.ProfilePosts"
+ "items": {
+ "description": "Every topic tag exposed on the profile page.",
+ "items": {
+ "$ref": "#/definitions/threads.Topic"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "username": {
+ "description": "Profile whose public topic tags were read.",
"type": "string"
}
},
"type": "object"
},
- "x.profileResponseDoc": {
+ "threads.RepliesResult": {
"properties": {
"code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/x.Profile"
- },
- "msg": {
- "example": "OK",
"type": "string"
- }
- },
- "type": "object"
- },
- "xbox.BrowseResponse": {
- "properties": {
+ },
"has_more": {
- "example": true,
+ "description": "Whether Threads reports more replies beyond this page.",
"type": "boolean"
},
"items": {
+ "description": "Replies to the post, each as a thread.",
"items": {
- "$ref": "#/definitions/xbox.GameSummary"
+ "$ref": "#/definitions/threads.Thread"
},
"type": "array"
},
"next_cursor": {
+ "description": "Cursor to pass to fetch the next page of replies.",
"type": "string"
},
- "total_items": {
- "example": 17620,
- "type": "integer"
+ "pagination_limited": {
+ "description": "True when more replies exist but Threads gives no usable cursor to fetch them.",
+ "type": "boolean"
+ },
+ "username": {
+ "description": "Username of the post's author.",
+ "type": "string"
}
},
"type": "object"
},
- "xbox.CollectionResponse": {
+ "threads.SearchResult": {
"properties": {
"has_more": {
- "example": true,
+ "description": "Whether more results are available after this page.",
"type": "boolean"
},
- "id": {
- "example": "TopFreeGames",
- "type": "string"
- },
"items": {
+ "description": "Threads matching the search, one entry per post.",
"items": {
- "$ref": "#/definitions/xbox.GameSummary"
+ "$ref": "#/definitions/threads.Thread"
},
"type": "array"
},
"next_cursor": {
+ "description": "Cursor to pass to fetch the next page of results.",
"type": "string"
},
- "title": {
- "example": "Top free games",
- "type": "string"
- },
- "total_items": {
- "example": 500,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "xbox.ContentRating": {
- "properties": {
- "age": {
- "example": 17,
- "type": "integer"
- },
- "board": {
- "example": "ESRB",
- "type": "string"
- },
- "description": {
- "example": "For ages 17 and up",
- "type": "string"
- },
- "descriptors": {
- "example": [
- "[\"Blood and Gore\"",
- "\"Intense Violence\"]"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
+ "pagination_limited": {
+ "description": "True when Threads gates further results behind login or provides no supported continuation.",
+ "type": "boolean"
},
- "image_url": {
+ "query": {
+ "description": "Search query that was run.",
"type": "string"
},
- "rating": {
- "example": "MATURE 17+",
+ "sort": {
+ "description": "Result ordering selected for the search.",
"type": "string"
}
},
"type": "object"
},
- "xbox.GameDetail": {
+ "threads.Thread": {
"properties": {
- "available_on": {
- "example": [
- "[\"XboxSeriesX|S\"",
- "\"PC\"]"
+ "author": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/threads.Author"
+ }
],
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "average_rating": {
- "example": 4.5,
- "type": "number"
+ "description": "Account that posted the thread."
},
- "box_art_url": {
+ "code": {
"type": "string"
},
- "categories": {
- "example": [
- "[\"Shooter\"]"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "content_rating": {
- "$ref": "#/definitions/xbox.ContentRating"
- },
- "description": {
+ "created_at": {
+ "description": "Time the thread was posted, in UTC (RFC 3339).",
"type": "string"
},
- "has_add_ons": {
- "type": "boolean"
- },
- "hero_art_url": {
+ "id": {
+ "description": "Threads post ID.",
"type": "string"
},
- "included_with_subscription_ids": {
- "example": [
- "[\"CFQ7TTC0KHS0\"]"
- ],
+ "image_urls": {
+ "description": "URLs of the images attached to the thread.",
"items": {
"type": "string"
},
"type": "array"
},
- "is_preorder": {
+ "is_reply": {
+ "description": "Whether the thread is a reply to another thread.",
"type": "boolean"
},
- "poster_url": {
- "type": "string"
- },
- "price": {
- "$ref": "#/definitions/xbox.Price"
+ "like_count": {
+ "description": "Number of likes on the thread.",
+ "type": "integer"
},
- "product_id": {
- "example": "9PK3G146XXVF",
- "type": "string"
+ "quote_count": {
+ "description": "Number of times the thread was quoted.",
+ "type": "integer"
},
- "product_kind": {
- "example": "Game",
- "type": "string"
+ "reply_count": {
+ "description": "Number of replies to the thread.",
+ "type": "integer"
},
- "publisher": {
- "example": "343 Industries",
+ "reply_to": {
+ "description": "Username of the account this thread replies to.",
"type": "string"
},
- "rating_count": {
+ "repost_count": {
+ "description": "Number of times the thread was reposted.",
"type": "integer"
},
- "release_date_utc": {
- "example": "2021-12-08T00:00:00Z",
- "type": "string"
- },
- "short_description": {
+ "text": {
+ "description": "Text of the thread.",
"type": "string"
},
- "title": {
- "example": "Halo Infinite",
- "type": "string"
+ "topic": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/threads.Topic"
+ }
+ ],
+ "description": "Public topic/community tag attached to the thread, when present."
},
"url": {
- "example": "https://www.xbox.com/en-US/games/store/game/9pk3g146xxvf",
+ "description": "URL of the thread on Threads.",
"type": "string"
},
- "videos": {
+ "video_urls": {
+ "description": "URLs of the videos attached to the thread.",
"items": {
- "$ref": "#/definitions/xbox.Video"
+ "type": "string"
},
"type": "array"
}
},
"type": "object"
},
- "xbox.GameSummary": {
+ "threads.Topic": {
"properties": {
- "available_on": {
- "example": [
- "[\"XboxSeriesX|S\"",
- "\"PC\"]"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "average_rating": {
- "example": 4.5,
- "type": "number"
- },
- "box_art_url": {
- "type": "string"
- },
- "categories": {
- "example": [
- "[\"Shooter\"]"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "content_rating": {
- "$ref": "#/definitions/xbox.ContentRating"
- },
- "hero_art_url": {
- "type": "string"
- },
- "is_preorder": {
- "type": "boolean"
- },
- "poster_url": {
+ "community_emoji": {
+ "description": "Community reaction emoji, when present on a post tag.",
"type": "string"
},
- "price": {
- "$ref": "#/definitions/xbox.Price"
- },
- "product_id": {
- "example": "9PK3G146XXVF",
+ "community_favicon_url": {
+ "description": "Community icon URL, when present.",
"type": "string"
},
- "product_kind": {
- "example": "Game",
+ "display_name": {
+ "description": "Topic label shown in Threads.",
"type": "string"
},
- "publisher": {
- "example": "343 Industries",
+ "id": {
+ "description": "Numeric Threads topic tag identifier.",
"type": "string"
},
- "rating_count": {
- "type": "integer"
+ "is_community": {
+ "description": "Whether Threads identifies this topic as a community.",
+ "type": "boolean"
},
- "release_date_utc": {
- "example": "2021-12-08T00:00:00Z",
+ "name": {
+ "description": "Canonical topic query returned on profile topic lists.",
"type": "string"
},
- "title": {
- "example": "Halo Infinite",
+ "search_query": {
+ "description": "Query to pair with ID when calling the topic search endpoint.",
"type": "string"
},
- "url": {
- "example": "https://www.xbox.com/en-US/games/store/game/9pk3g146xxvf",
+ "tag_cluster_name": {
+ "description": "Topic cluster or category label, when present.",
"type": "string"
}
},
"type": "object"
},
- "xbox.Price": {
+ "threads.TopicSearchResult": {
"properties": {
- "currency": {
- "example": "USD",
- "type": "string"
+ "has_more": {
+ "description": "Whether Threads reports another page.",
+ "type": "boolean"
},
- "discount_percentage": {
- "example": 25,
- "type": "number"
+ "items": {
+ "description": "Public threads matching the topic tag.",
+ "items": {
+ "$ref": "#/definitions/threads.Thread"
+ },
+ "type": "array"
},
- "is_free": {
- "example": false,
+ "pagination_limited": {
+ "description": "True when Threads gates further results behind login or provides no supported continuation.",
"type": "boolean"
},
- "list_price": {
- "example": 59.99,
- "type": "number"
- },
- "msrp": {
- "example": 59.99,
- "type": "number"
+ "query": {
+ "description": "Search query used by the topic tag.",
+ "type": "string"
},
- "sale_end_date_utc": {
- "example": "2026-10-23T03:59:59Z",
+ "topic_id": {
+ "description": "Numeric Threads topic tag identifier.",
"type": "string"
}
},
"type": "object"
},
- "xbox.RatingsSummary": {
+ "threads.postResponseDoc": {
"properties": {
- "average_rating": {
- "example": 3.3,
- "type": "number"
- },
- "star1_count": {
- "example": 82702,
- "type": "integer"
- },
- "star2_count": {
- "example": 8799,
- "type": "integer"
- },
- "star3_count": {
- "example": 9863,
- "type": "integer"
- },
- "star4_count": {
- "example": 12807,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "star5_count": {
- "example": 112007,
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/threads.Post"
},
- "total_count": {
- "example": 226178,
- "type": "integer"
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "xbox.Review": {
+ "threads.profileMediaResponseDoc": {
"properties": {
- "device_family": {
- "example": "Windows.Xbox",
- "type": "string"
- },
- "helpful_negative": {
- "example": 647,
- "type": "integer"
- },
- "helpful_positive": {
- "example": 16025,
- "type": "integer"
- },
- "rating": {
- "example": 5,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "review_id": {
- "type": "string"
- },
- "submitted_date_time": {
- "example": "2024-04-19T18:53:50Z",
- "type": "string"
- },
- "text": {
- "type": "string"
- },
- "title": {
- "example": "Great game",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/threads.ProfileMediaResult"
},
- "user_name": {
- "example": "Ryder2010676",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "xbox.ReviewsResponse": {
+ "threads.profilePostsResponseDoc": {
"properties": {
- "product_id": {
- "example": "BT5P2X999VH2",
- "type": "string"
- },
- "ratings": {
- "$ref": "#/definitions/xbox.RatingsSummary"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "reviews": {
- "items": {
- "$ref": "#/definitions/xbox.Review"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/threads.ProfilePostsResult"
},
- "total_reviews": {
- "example": 91078,
- "type": "integer"
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "xbox.SearchResponse": {
+ "threads.profileRepliesResponseDoc": {
"properties": {
- "category": {
- "example": "games",
- "type": "string"
- },
- "has_more": {
- "example": true,
- "type": "boolean"
- },
- "items": {
- "items": {
- "$ref": "#/definitions/xbox.GameSummary"
- },
- "type": "array"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "next_cursor": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/threads.ProfileRepliesResult"
},
- "query": {
- "example": "halo",
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "total_items": {
- "example": 41,
- "type": "integer"
}
},
"type": "object"
},
- "xbox.Video": {
+ "threads.profileRepostsResponseDoc": {
"properties": {
- "height": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "preview_image_url": {
- "type": "string"
- },
- "title": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/threads.ProfileRepostsResult"
},
- "url": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "width": {
- "type": "integer"
}
},
"type": "object"
},
- "xbox.browseResponseDoc": {
+ "threads.profileResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/xbox.BrowseResponse"
+ "$ref": "#/definitions/threads.Profile"
},
"msg": {
"example": "OK",
@@ -260593,14 +265269,14 @@
},
"type": "object"
},
- "xbox.collectionResponseDoc": {
+ "threads.profileTopicsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/xbox.CollectionResponse"
+ "$ref": "#/definitions/threads.ProfileTopicsResult"
},
"msg": {
"example": "OK",
@@ -260609,14 +265285,14 @@
},
"type": "object"
},
- "xbox.gameResponseDoc": {
+ "threads.repliesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/xbox.GameDetail"
+ "$ref": "#/definitions/threads.RepliesResult"
},
"msg": {
"example": "OK",
@@ -260625,14 +265301,14 @@
},
"type": "object"
},
- "xbox.reviewsResponseDoc": {
+ "threads.searchResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/xbox.ReviewsResponse"
+ "$ref": "#/definitions/threads.SearchResult"
},
"msg": {
"example": "OK",
@@ -260641,14 +265317,14 @@
},
"type": "object"
},
- "xbox.searchResponseDoc": {
+ "threads.topicSearchResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/xbox.SearchResponse"
+ "$ref": "#/definitions/threads.TopicSearchResult"
},
"msg": {
"example": "OK",
@@ -260657,30 +265333,39 @@
},
"type": "object"
},
- "xda.AuthorResponse": {
+ "ticketmaster.Attraction": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/newsplatform.HeadlineItem"
- },
- "type": "array"
+ "classification": {
+ "$ref": "#/definitions/ticketmaster.Classification"
},
- "biography": {
+ "discovery_id": {
+ "example": "K8vZ9172Qo7",
+ "type": "string"
+ },
+ "has_artist_video": {
+ "type": "boolean"
+ },
+ "id": {
+ "example": "1688071",
"type": "string"
},
"image_url": {
"type": "string"
},
"name": {
+ "example": "Ariana Grande",
"type": "string"
},
- "social_links": {
+ "setlist_source_url": {
+ "type": "string"
+ },
+ "setlists": {
"items": {
- "$ref": "#/definitions/valnet.AuthorSocialLink"
+ "$ref": "#/definitions/ticketmaster.Setlist"
},
"type": "array"
},
- "title": {
+ "synopsis": {
"type": "string"
},
"url": {
@@ -260689,397 +265374,614 @@
},
"type": "object"
},
- "xiaohongshu.Channel": {
+ "ticketmaster.AttractionRef": {
"properties": {
+ "discovery_id": {
+ "example": "K8vZ9172Qo7",
+ "type": "string"
+ },
"id": {
- "example": "homefeed.food_v3",
+ "example": "1688071",
+ "type": "string"
+ },
+ "image_url": {
"type": "string"
},
"name": {
- "example": "美食",
+ "example": "Ariana Grande",
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "xiaohongshu.Comment": {
+ "ticketmaster.AttractionRelatedResponse": {
"properties": {
- "author": {
- "$ref": "#/definitions/xiaohongshu.CommentAuthor"
+ "attraction_id": {
+ "example": "1688071",
+ "type": "string"
},
- "comment_id": {
- "example": "0123456789abcdef01234567",
+ "attractions": {
+ "items": {
+ "$ref": "#/definitions/ticketmaster.AttractionRef"
+ },
+ "type": "array"
+ },
+ "count": {
+ "type": "integer"
+ },
+ "fetched_at": {
"type": "string"
},
- "content": {
+ "source_url": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ticketmaster.AttractionResponse": {
+ "properties": {
+ "attraction": {
+ "$ref": "#/definitions/ticketmaster.Attraction"
},
- "created_at": {
- "example": 1700000000,
- "type": "integer"
+ "fetched_at": {
+ "type": "string"
},
- "ip_location": {
- "example": "上海",
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ticketmaster.AttractionReviewsResponse": {
+ "properties": {
+ "ai_review_summary": {
"type": "string"
},
- "like_count": {
- "example": 12,
+ "attraction_id": {
+ "example": "1688071",
+ "type": "string"
+ },
+ "average_rating": {
+ "example": 4.6,
+ "type": "number"
+ },
+ "best_rating": {
+ "example": 5,
+ "type": "number"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "limit": {
+ "example": 10,
"type": "integer"
},
- "sub_comment_count": {
- "example": 3,
+ "offset": {
+ "example": 0,
"type": "integer"
},
- "sub_comments": {
+ "reviews": {
"items": {
- "$ref": "#/definitions/xiaohongshu.Comment"
+ "$ref": "#/definitions/ticketmaster.Review"
},
"type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "time_zone": {
+ "example": "America/New_York",
+ "type": "string"
+ },
+ "total": {
+ "example": 2024,
+ "type": "integer"
}
},
"type": "object"
},
- "xiaohongshu.CommentAuthor": {
+ "ticketmaster.Classification": {
"properties": {
- "avatar_url": {
+ "genre": {
+ "example": "Pop",
"type": "string"
},
- "nickname": {
- "example": "synthetic_user",
+ "segment": {
+ "example": "Music",
"type": "string"
},
- "user_id": {
- "example": "000000000000000000000002",
+ "sub_genre": {
+ "example": "Electro Pop",
+ "type": "string"
+ },
+ "sub_type": {
+ "example": "Musician",
+ "type": "string"
+ },
+ "type": {
+ "example": "Individual",
"type": "string"
}
},
"type": "object"
},
- "xiaohongshu.CommentsResponse": {
+ "ticketmaster.DiscoverCategoriesResponse": {
"properties": {
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/ticketmaster.DiscoverCategory"
+ },
+ "type": "array"
+ },
"count": {
- "example": 20,
"type": "integer"
},
- "cursor": {
+ "fetched_at": {
"type": "string"
},
- "has_more": {
- "type": "boolean"
+ "page": {
+ "type": "integer"
},
- "items": {
+ "per_page": {
+ "type": "integer"
+ },
+ "section": {
+ "type": "string"
+ },
+ "source_urls": {
"items": {
- "$ref": "#/definitions/xiaohongshu.Comment"
+ "type": "string"
},
"type": "array"
},
- "note_id": {
- "example": "0123456789abcdef01234567",
- "type": "string"
+ "total": {
+ "type": "integer"
}
},
"type": "object"
},
- "xiaohongshu.ExploreCard": {
+ "ticketmaster.DiscoverCategory": {
"properties": {
- "author": {
- "$ref": "#/definitions/xiaohongshu.NoteAuthor"
- },
- "cover_url": {
- "type": "string"
- },
- "liked_count": {
- "example": 14000,
- "type": "integer"
- },
- "note_id": {
- "example": "0123456789abcdef01234567",
+ "id": {
"type": "string"
},
- "note_url": {
- "type": "string"
+ "major": {
+ "type": "boolean"
},
- "title": {
+ "name": {
"type": "string"
},
- "type": {
- "example": "video",
+ "section": {
"type": "string"
},
- "xsec_token": {
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "xiaohongshu.ExploreResponse": {
+ "ticketmaster.DiscoverCitiesResponse": {
"properties": {
- "channel_id": {
- "example": "homefeed_recommend",
- "type": "string"
- },
- "channels": {
+ "cities": {
"items": {
- "$ref": "#/definitions/xiaohongshu.Channel"
+ "$ref": "#/definitions/ticketmaster.DiscoverCity"
},
"type": "array"
},
"count": {
- "example": 30,
"type": "integer"
},
- "items": {
- "items": {
- "$ref": "#/definitions/xiaohongshu.ExploreCard"
- },
- "type": "array"
+ "country": {
+ "type": "string"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "page": {
+ "type": "integer"
+ },
+ "per_page": {
+ "type": "integer"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "total": {
+ "type": "integer"
}
},
"type": "object"
},
- "xiaohongshu.NoteAuthor": {
+ "ticketmaster.DiscoverCity": {
"properties": {
- "avatar_url": {
+ "country": {
"type": "string"
},
- "nickname": {
- "example": "synthetic_user",
+ "image_url": {
"type": "string"
},
- "user_id": {
- "example": "000000000000000000000002",
+ "locale": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "slug": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "xiaohongshu.NoteResponse": {
+ "ticketmaster.EventDetail": {
"properties": {
- "author": {
- "$ref": "#/definitions/xiaohongshu.NoteAuthor"
+ "attractions": {
+ "items": {
+ "$ref": "#/definitions/ticketmaster.AttractionRef"
+ },
+ "type": "array"
+ },
+ "cancelled": {
+ "type": "boolean"
+ },
+ "classification": {
+ "$ref": "#/definitions/ticketmaster.Classification"
+ },
+ "currency": {
+ "example": "USD",
+ "type": "string"
},
"description": {
"type": "string"
},
- "image_urls": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "discovery_id": {
+ "example": "vv1A7ZkG_GkdqBxS4",
+ "type": "string"
},
- "note_id": {
- "example": "0123456789abcdef01234567",
+ "event_change_status": {
+ "example": "none",
"type": "string"
},
- "published_at": {
- "example": "2026-09-22T04:03:46Z",
+ "event_type": {
+ "example": "STANDARD",
"type": "string"
},
- "stats": {
- "$ref": "#/definitions/xiaohongshu.NoteStats"
+ "id": {
+ "example": "04006319DDEA2CD5",
+ "type": "string"
},
- "tags": {
+ "image_url": {
+ "type": "string"
+ },
+ "limited_availability": {
+ "type": "boolean"
+ },
+ "onsale_time": {
+ "example": "2025-09-10T15:00:00Z",
+ "type": "string"
+ },
+ "postponed": {
+ "type": "boolean"
+ },
+ "presales": {
"items": {
- "$ref": "#/definitions/xiaohongshu.NoteTag"
+ "$ref": "#/definitions/ticketmaster.Presale"
},
"type": "array"
},
- "title": {
+ "product_type": {
+ "example": "General",
"type": "string"
},
- "type": {
- "example": "video",
+ "rescheduled": {
+ "type": "boolean"
+ },
+ "seatmap_url": {
"type": "string"
},
- "url": {
+ "sold_out": {
+ "type": "boolean"
+ },
+ "start_time": {
+ "example": "2026-08-04T02:00:00Z",
"type": "string"
},
- "video_duration_seconds": {
- "type": "integer"
+ "tba": {
+ "type": "boolean"
},
- "video_url": {
+ "ticketing_status": {
+ "example": "UNKNOWN",
"type": "string"
- }
- },
- "type": "object"
- },
- "xiaohongshu.NoteStats": {
- "properties": {
- "collected_count": {
- "type": "integer"
},
- "comment_count": {
- "type": "integer"
+ "time_zone": {
+ "example": "America/Chicago",
+ "type": "string"
},
- "liked_count": {
- "type": "integer"
+ "title": {
+ "example": "Ariana Grande - The Eternal Sunshine Tour",
+ "type": "string"
},
- "share_count": {
- "type": "integer"
+ "url": {
+ "type": "string"
+ },
+ "venue": {
+ "$ref": "#/definitions/ticketmaster.VenueRef"
+ },
+ "virtual": {
+ "type": "boolean"
}
},
"type": "object"
},
- "xiaohongshu.NoteTag": {
+ "ticketmaster.EventResponse": {
"properties": {
- "id": {
+ "event": {
+ "$ref": "#/definitions/ticketmaster.EventDetail"
+ },
+ "fetched_at": {
"type": "string"
},
- "name": {
- "example": "美食",
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "xiaohongshu.SuggestItem": {
+ "ticketmaster.EventSummary": {
"properties": {
- "highlight_flags": {
+ "attractions": {
"items": {
- "type": "boolean"
+ "$ref": "#/definitions/ticketmaster.AttractionRef"
},
"type": "array"
},
- "search_type": {
- "example": "notes",
+ "cancelled": {
+ "type": "boolean"
+ },
+ "discovery_id": {
+ "example": "vv1A7ZkG_GkdqBxS4",
"type": "string"
},
- "text": {
- "example": "coffee",
+ "event_change_status": {
+ "example": "none",
"type": "string"
},
- "type": {
- "example": "top_note",
+ "id": {
+ "example": "04006319DDEA2CD5",
"type": "string"
- }
- },
- "type": "object"
- },
- "xiaohongshu.SuggestResponse": {
- "properties": {
- "count": {
- "example": 10,
- "type": "integer"
},
- "items": {
+ "image_url": {
+ "type": "string"
+ },
+ "limited_availability": {
+ "type": "boolean"
+ },
+ "onsale_time": {
+ "example": "2025-09-10T15:00:00Z",
+ "type": "string"
+ },
+ "postponed": {
+ "type": "boolean"
+ },
+ "presales": {
"items": {
- "$ref": "#/definitions/xiaohongshu.SuggestItem"
+ "$ref": "#/definitions/ticketmaster.Presale"
},
"type": "array"
},
- "keyword": {
- "example": "coffee",
+ "rescheduled": {
+ "type": "boolean"
+ },
+ "seatmap_url": {
"type": "string"
},
- "search_cpl_id": {
+ "sold_out": {
+ "type": "boolean"
+ },
+ "start_time": {
+ "example": "2026-08-04T02:00:00Z",
"type": "string"
},
- "word_request_id": {
+ "tba": {
+ "type": "boolean"
+ },
+ "ticketing_status": {
+ "example": "UNKNOWN",
+ "type": "string"
+ },
+ "time_zone": {
+ "example": "America/Chicago",
"type": "string"
+ },
+ "title": {
+ "example": "Ariana Grande - The Eternal Sunshine Tour",
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "venue": {
+ "$ref": "#/definitions/ticketmaster.VenueRef"
+ },
+ "virtual": {
+ "type": "boolean"
}
},
"type": "object"
},
- "xiaohongshu.commentsResponseDoc": {
+ "ticketmaster.EventsResponse": {
"properties": {
- "code": {
- "example": 200,
+ "count": {
+ "example": 20,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/xiaohongshu.CommentsResponse"
+ "entity_id": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "events": {
+ "items": {
+ "$ref": "#/definitions/ticketmaster.EventSummary"
+ },
+ "type": "array"
+ },
+ "fetched_at": {
"type": "string"
- }
- },
- "type": "object"
- },
- "xiaohongshu.exploreResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ },
+ "page": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/xiaohongshu.ExploreResponse"
+ "query": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "sort": {
+ "example": "date",
+ "type": "string"
+ },
+ "source_url": {
"type": "string"
+ },
+ "total": {
+ "example": 28,
+ "type": "integer"
}
},
"type": "object"
},
- "xiaohongshu.noteResponseDoc": {
+ "ticketmaster.Presale": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "end_time": {
+ "example": "2025-09-10T03:00:00Z",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/xiaohongshu.NoteResponse"
+ "name": {
+ "example": "Artist Presale",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "start_time": {
+ "example": "2025-09-09T15:00:00Z",
"type": "string"
}
},
"type": "object"
},
- "xiaohongshu.suggestResponseDoc": {
+ "ticketmaster.Review": {
"properties": {
- "code": {
- "example": 200,
+ "city": {
+ "example": "Chicago",
+ "type": "string"
+ },
+ "date_created": {
+ "example": "2026-08-14T16:14:29Z",
+ "type": "string"
+ },
+ "nick_name": {
+ "example": "Lynn",
+ "type": "string"
+ },
+ "rating": {
+ "example": 5,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/xiaohongshu.SuggestResponse"
+ "review": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "title": {
+ "example": "Best concert of my life",
+ "type": "string"
+ },
+ "venue": {
+ "example": "United Center",
"type": "string"
}
},
"type": "object"
},
- "yahooautos.ArticleResponse": {
+ "ticketmaster.Setlist": {
"properties": {
- "author": {
+ "city_name": {
+ "example": "London",
"type": "string"
},
- "description": {
+ "country_name": {
+ "example": "United Kingdom",
"type": "string"
},
- "image_url": {
+ "event_date": {
+ "example": "2026-08-20",
"type": "string"
},
- "keywords": {
+ "sets": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/ticketmaster.SetlistSet"
},
"type": "array"
},
- "paragraphs": {
+ "tour_name": {
+ "example": "Eternal Sunshine",
+ "type": "string"
+ },
+ "venue_name": {
+ "example": "The O2 Arena",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ticketmaster.SetlistSet": {
+ "properties": {
+ "name": {
+ "example": "Act I",
+ "type": "string"
+ },
+ "songs": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/ticketmaster.SetlistSong"
},
"type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "ticketmaster.SetlistSong": {
+ "properties": {
+ "name": {
+ "example": "thank u, next",
+ "type": "string"
},
- "provider": {
+ "original_artist": {
+ "example": "Lady Gaga",
"type": "string"
},
- "published_at": {
+ "performance_notes": {
+ "example": "extended outro",
"type": "string"
},
- "section": {
+ "pre_recorded": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "ticketmaster.Suggestion": {
+ "properties": {
+ "category": {
+ "type": "string"
+ },
+ "event_count": {
+ "type": "integer"
+ },
+ "image_url": {
"type": "string"
},
"title": {
"type": "string"
},
- "updated_at": {
+ "type": {
"type": "string"
},
"url": {
@@ -261088,59 +265990,70 @@
},
"type": "object"
},
- "yahooautos.CategoryPaginate": {
+ "ticketmaster.SuggestionsResponse": {
"properties": {
- "next_page": {
- "example": 2,
+ "count": {
"type": "integer"
},
- "page": {
- "example": 1,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "yahooautos.CategoryResponse": {
- "properties": {
- "category": {
+ "fetched_at": {
"type": "string"
},
- "items": {
- "items": {
- "$ref": "#/definitions/yahooautos.StreamItem"
- },
- "type": "array"
+ "query": {
+ "type": "string"
},
- "pagination": {
- "$ref": "#/definitions/yahooautos.CategoryPaginate"
- }
- },
- "type": "object"
- },
- "yahooautos.HomeResponse": {
- "properties": {
- "items": {
+ "source_url": {
+ "type": "string"
+ },
+ "suggestions": {
"items": {
- "$ref": "#/definitions/yahooautos.StreamItem"
+ "$ref": "#/definitions/ticketmaster.Suggestion"
},
"type": "array"
}
},
"type": "object"
},
- "yahooautos.StreamItem": {
+ "ticketmaster.TrendingAttraction": {
"properties": {
- "category": {
+ "discovery_id": {
+ "example": "K8vZ9172Qo7",
+ "type": "string"
+ },
+ "genre": {
+ "example": "Pop",
+ "type": "string"
+ },
+ "genre_id": {
+ "example": "KnvZfZ7vAev",
"type": "string"
},
"id": {
+ "example": "1688071",
"type": "string"
},
- "thumbnail_url": {
+ "image_url": {
"type": "string"
},
- "title": {
+ "images": {
+ "items": {
+ "$ref": "#/definitions/ticketmaster.TrendingAttractionImage"
+ },
+ "type": "array"
+ },
+ "name": {
+ "example": "Ariana Grande",
+ "type": "string"
+ },
+ "rank": {
+ "example": 1,
+ "type": "integer"
+ },
+ "segment": {
+ "example": "Music",
+ "type": "string"
+ },
+ "segment_id": {
+ "example": "KZFzniwnSyZfZ7v7nJ",
"type": "string"
},
"url": {
@@ -261149,90 +266062,104 @@
},
"type": "object"
},
- "yahooautos.articleResponseDoc": {
+ "ticketmaster.TrendingAttractionImage": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/yahooautos.ArticleResponse"
+ "ratio": {
+ "example": "16_9",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "yahooautos.categoryResponseDoc": {
+ "ticketmaster.TrendingAttractionsResponse": {
"properties": {
- "code": {
- "example": 200,
+ "attractions": {
+ "items": {
+ "$ref": "#/definitions/ticketmaster.TrendingAttraction"
+ },
+ "type": "array"
+ },
+ "count": {
+ "example": 10,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/yahooautos.CategoryResponse"
+ "fetched_at": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "yahooautos.homeResponseDoc": {
+ "ticketmaster.Venue": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "address": {
+ "example": "1901 W Madison",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/yahooautos.HomeResponse"
+ "city": {
+ "example": "Chicago",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "city_categories": {
+ "items": {
+ "$ref": "#/definitions/ticketmaster.VenueCityCategory"
+ },
+ "type": "array"
+ },
+ "country": {
+ "example": "US",
"type": "string"
- }
- },
- "type": "object"
- },
- "yahooentertainment.ArticleResponse": {
- "properties": {
- "author": {
+ },
+ "discovery_id": {
+ "example": "KovZpa2M7e",
"type": "string"
},
- "description": {
+ "id": {
+ "example": "32882",
"type": "string"
},
"image_url": {
"type": "string"
},
- "keywords": {
+ "info": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/ticketmaster.VenueInfoBlock"
},
"type": "array"
},
- "paragraphs": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "latitude": {
+ "example": 41.881244,
+ "type": "number"
},
- "provider": {
- "type": "string"
+ "longitude": {
+ "example": -87.674274,
+ "type": "number"
},
- "published_at": {
+ "name": {
+ "example": "United Center",
"type": "string"
},
- "section": {
+ "postal_code": {
+ "example": "60612",
"type": "string"
},
- "title": {
+ "seat_maps": {
+ "items": {
+ "$ref": "#/definitions/ticketmaster.VenueSeatMap"
+ },
+ "type": "array"
+ },
+ "state": {
+ "example": "IL",
"type": "string"
},
- "updated_at": {
+ "time_zone": {
+ "example": "America/Chicago",
"type": "string"
},
"url": {
@@ -261241,59 +266168,116 @@
},
"type": "object"
},
- "yahooentertainment.CategoryPaginate": {
+ "ticketmaster.VenueCityCategory": {
"properties": {
- "next_page": {
- "example": 2,
- "type": "integer"
+ "id": {
+ "example": "KZFzniwnSyZfZ7v7nJ",
+ "type": "string"
},
- "page": {
- "example": 1,
- "type": "integer"
+ "name": {
+ "example": "Concerts",
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "yahooentertainment.CategoryResponse": {
+ "ticketmaster.VenueEnhancedDetailsResponse": {
"properties": {
- "category": {
+ "fetched_at": {
"type": "string"
},
- "items": {
+ "header_image_url": {
+ "type": "string"
+ },
+ "related_links": {
"items": {
- "$ref": "#/definitions/yahooentertainment.StreamItem"
+ "$ref": "#/definitions/ticketmaster.VenueRelatedLink"
},
"type": "array"
},
- "pagination": {
- "$ref": "#/definitions/yahooentertainment.CategoryPaginate"
+ "source_url": {
+ "type": "string"
+ },
+ "venue_id": {
+ "example": "32882",
+ "type": "string"
}
},
"type": "object"
},
- "yahooentertainment.HomeResponse": {
+ "ticketmaster.VenueInfoBlock": {
"properties": {
- "items": {
- "items": {
- "$ref": "#/definitions/yahooentertainment.StreamItem"
- },
- "type": "array"
+ "name": {
+ "example": "Parking",
+ "type": "string"
+ },
+ "text": {
+ "type": "string"
}
},
"type": "object"
},
- "yahooentertainment.StreamItem": {
+ "ticketmaster.VenueRef": {
"properties": {
- "category": {
+ "address": {
+ "example": "1901 W Madison",
+ "type": "string"
+ },
+ "city": {
+ "example": "Chicago",
+ "type": "string"
+ },
+ "country": {
+ "example": "US",
+ "type": "string"
+ },
+ "discovery_id": {
+ "example": "KovZpa2M7e",
"type": "string"
},
"id": {
+ "example": "32882",
"type": "string"
},
- "thumbnail_url": {
+ "image_url": {
+ "type": "string"
+ },
+ "latitude": {
+ "example": 41.881244,
+ "type": "number"
+ },
+ "longitude": {
+ "example": -87.674274,
+ "type": "number"
+ },
+ "name": {
+ "example": "United Center",
+ "type": "string"
+ },
+ "postal_code": {
+ "example": "60612",
+ "type": "string"
+ },
+ "state": {
+ "example": "IL",
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ticketmaster.VenueRelatedLink": {
+ "properties": {
+ "image_url": {
"type": "string"
},
"title": {
+ "example": "Chicago Bulls",
"type": "string"
},
"url": {
@@ -261302,14 +266286,40 @@
},
"type": "object"
},
- "yahooentertainment.articleResponseDoc": {
+ "ticketmaster.VenueResponse": {
+ "properties": {
+ "fetched_at": {
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "venue": {
+ "$ref": "#/definitions/ticketmaster.Venue"
+ }
+ },
+ "type": "object"
+ },
+ "ticketmaster.VenueSeatMap": {
+ "properties": {
+ "image_url": {
+ "type": "string"
+ },
+ "name": {
+ "example": "Chicago Bulls",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ticketmaster.attractionRelatedResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/yahooentertainment.ArticleResponse"
+ "$ref": "#/definitions/ticketmaster.AttractionRelatedResponse"
},
"msg": {
"example": "OK",
@@ -261318,14 +266328,14 @@
},
"type": "object"
},
- "yahooentertainment.categoryResponseDoc": {
+ "ticketmaster.attractionResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/yahooentertainment.CategoryResponse"
+ "$ref": "#/definitions/ticketmaster.AttractionResponse"
},
"msg": {
"example": "OK",
@@ -261334,14 +266344,14 @@
},
"type": "object"
},
- "yahooentertainment.homeResponseDoc": {
+ "ticketmaster.attractionReviewsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/yahooentertainment.HomeResponse"
+ "$ref": "#/definitions/ticketmaster.AttractionReviewsResponse"
},
"msg": {
"example": "OK",
@@ -261350,904 +266360,523 @@
},
"type": "object"
},
- "yahoofinance.ActionEvents": {
+ "ticketmaster.categoriesResponseDoc": {
"properties": {
- "capital_gains": {
- "description": "Capital gain distributions in the period.",
- "items": {
- "additionalProperties": {},
- "type": "object"
- },
- "type": "array"
+ "code": {
+ "type": "integer"
},
- "dividends": {
- "description": "Dividend payments in the period.",
- "items": {
- "additionalProperties": {},
- "type": "object"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/ticketmaster.DiscoverCategoriesResponse"
},
- "splits": {
- "description": "Stock splits in the period.",
- "items": {
- "additionalProperties": {},
- "type": "object"
- },
- "type": "array"
+ "msg": {
+ "type": "string"
}
},
"type": "object"
},
- "yahoofinance.CalendarResponse": {
+ "ticketmaster.citiesResponseDoc": {
"properties": {
- "end": {
- "description": "Last date covered, as YYYY-MM-DD.",
- "example": "2026-05-27",
- "type": "string"
- },
- "limit": {
- "description": "Maximum number of rows returned.",
- "example": 12,
- "type": "integer"
- },
- "offset": {
- "description": "Zero-based offset of the first row.",
- "example": 0,
+ "code": {
"type": "integer"
},
- "rows": {
- "description": "Calendar entries, one object per row, with the columns Yahoo Finance shows.",
- "items": {
- "additionalProperties": {},
- "type": "object"
- },
- "type": "array"
- },
- "start": {
- "description": "First date covered, as YYYY-MM-DD.",
- "example": "2026-05-20",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/ticketmaster.DiscoverCitiesResponse"
},
- "type": {
- "description": "Calendar returned, for example `earnings`.",
- "example": "earnings",
+ "msg": {
"type": "string"
}
},
"type": "object"
},
- "yahoofinance.CalendarsResponse": {
+ "ticketmaster.eventResponseDoc": {
"properties": {
- "calendars": {
- "description": "Names of the available calendars.",
- "items": {
- "type": "string"
- },
- "type": "array"
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/ticketmaster.EventResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "yahoofinance.DomainListResponse": {
+ "ticketmaster.eventsResponseDoc": {
"properties": {
- "items": {
- "description": "Sectors or industries in the list.",
- "items": {
- "$ref": "#/definitions/yahoofinance.DomainRef"
- },
- "type": "array"
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/ticketmaster.EventsResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "yahoofinance.DomainRef": {
+ "ticketmaster.suggestionsResponseDoc": {
"properties": {
- "key": {
- "description": "Identifier of the sector or industry. Use it with the matching endpoint.",
- "example": "technology",
- "type": "string"
+ "code": {
+ "type": "integer"
},
- "name": {
- "description": "Display name of the sector or industry.",
- "example": "Technology",
+ "data": {
+ "$ref": "#/definitions/ticketmaster.SuggestionsResponse"
+ },
+ "msg": {
"type": "string"
}
},
"type": "object"
},
- "yahoofinance.DownloadRequest": {
+ "ticketmaster.trendingAttractionsResponseDoc": {
"properties": {
- "auto_adjust": {
- "type": "boolean"
- },
- "back_adjust": {
- "type": "boolean"
- },
- "end": {
- "type": "string"
- },
- "include_actions": {
- "type": "boolean"
- },
- "include_prepost": {
- "type": "boolean"
- },
- "interval": {
- "type": "string"
- },
- "keepna": {
- "type": "boolean"
- },
- "period": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "rounding": {
- "type": "boolean"
+ "data": {
+ "$ref": "#/definitions/ticketmaster.TrendingAttractionsResponse"
},
- "start": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "symbols": {
- "items": {
- "type": "string"
- },
- "type": "array"
- }
- },
- "required": [
- "symbols"
- ],
- "type": "object"
- },
- "yahoofinance.DownloadResponse": {
- "properties": {
- "results": {
- "description": "One result per requested symbol, in request order.",
- "items": {
- "$ref": "#/definitions/yahoofinance.DownloadResult"
- },
- "type": "array"
}
},
"type": "object"
},
- "yahoofinance.DownloadResult": {
+ "ticketmaster.venueEnhancedDetailsResponseDoc": {
"properties": {
- "error": {
- "description": "Message explaining why the history could not be returned. Omitted on success.",
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "history": {
- "allOf": [
- {
- "$ref": "#/definitions/yahoofinance.HistoryResponse"
- }
- ],
- "description": "Price history of the symbol. Omitted when the symbol failed."
+ "data": {
+ "$ref": "#/definitions/ticketmaster.VenueEnhancedDetailsResponse"
},
- "symbol": {
- "description": "Ticker symbol this result is for.",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "yahoofinance.EarningsDatesResponse": {
+ "ticketmaster.venueResponseDoc": {
"properties": {
- "limit": {
- "description": "Maximum number of rows returned.",
- "example": 12,
- "type": "integer"
- },
- "offset": {
- "description": "Zero-based offset of the first row.",
- "example": 0,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "rows": {
- "description": "Earnings dates, one object per row.",
- "items": {
- "additionalProperties": {},
- "type": "object"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/ticketmaster.VenueResponse"
},
- "symbol": {
- "description": "Ticker symbol, for example `AAPL`.",
- "example": "AAPL",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "yahoofinance.FinancialsResponse": {
+ "ticketweb.Attraction": {
"properties": {
- "modules": {
- "additionalProperties": {},
- "description": "Statement line items grouped by section.",
- "type": "object"
+ "category": {
+ "example": "Arts & Theater",
+ "type": "string"
},
- "period": {
- "description": "Reporting period returned, for example `annual`.",
- "example": "annual",
+ "genre": {
+ "example": "Comedy",
"type": "string"
},
- "statement": {
- "description": "Statement returned, for example `income`.",
- "example": "income",
+ "id": {
"type": "string"
},
- "symbol": {
- "description": "Ticker symbol, for example `AAPL`.",
- "example": "AAPL",
+ "image_url": {
+ "type": "string"
+ },
+ "name": {
+ "example": "Comedy Beast",
"type": "string"
}
},
"type": "object"
},
- "yahoofinance.HistoryMetadataResponse": {
+ "ticketweb.DeliveryMethod": {
"properties": {
- "meta": {
- "additionalProperties": {},
- "description": "Metadata about the instrument and its price history, as Yahoo Finance reports it.",
- "type": "object"
+ "description": {
+ "type": "string"
},
- "symbol": {
- "description": "Ticker symbol, for example `AAPL`.",
- "example": "AAPL",
+ "fee": {
+ "example": "Free",
+ "type": "string"
+ },
+ "name": {
+ "example": "eTickets",
"type": "string"
}
},
"type": "object"
},
- "yahoofinance.HistoryResponse": {
+ "ticketweb.EventDetail": {
"properties": {
- "events": {
- "allOf": [
- {
- "$ref": "#/definitions/yahoofinance.ActionEvents"
- }
- ],
- "description": "Dividends, splits and capital gains in the period. Present when actions were requested."
+ "age_restriction": {
+ "example": 18,
+ "type": "integer"
},
- "meta": {
- "additionalProperties": {},
- "description": "Metadata about the instrument and the price series, as Yahoo Finance reports it.",
- "type": "object"
+ "age_restriction_message": {
+ "example": "Ages 18+",
+ "type": "string"
},
- "points": {
- "description": "Price candles in time order.",
+ "announce_time": {
+ "type": "string"
+ },
+ "attractions": {
"items": {
- "$ref": "#/definitions/yahoofinance.PricePoint"
+ "$ref": "#/definitions/ticketweb.Attraction"
},
"type": "array"
},
- "symbol": {
- "description": "Ticker symbol, for example `AAPL`.",
- "example": "AAPL",
+ "currency": {
+ "example": "USD",
"type": "string"
- }
- },
- "type": "object"
- },
- "yahoofinance.ISINResponse": {
- "properties": {
- "isin": {
- "description": "International Securities Identification Number of the instrument, for example `US0378331005`.",
- "example": "US0378331005",
+ },
+ "delivery_methods": {
+ "items": {
+ "$ref": "#/definitions/ticketweb.DeliveryMethod"
+ },
+ "type": "array"
+ },
+ "description": {
"type": "string"
},
- "symbol": {
- "description": "Ticker symbol, for example `AAPL`.",
- "example": "AAPL",
+ "end_time": {
"type": "string"
- }
- },
- "type": "object"
- },
- "yahoofinance.IndustryResponse": {
- "properties": {
- "key": {
- "description": "Identifier of the industry.",
- "example": "semiconductors",
+ },
+ "has_tickets": {
+ "example": true,
+ "type": "boolean"
+ },
+ "id": {
+ "example": "14241184",
+ "type": "string"
+ },
+ "image_url": {
"type": "string"
},
"name": {
- "description": "Name of the industry.",
- "example": "Semiconductors",
+ "example": "Comedy Beast",
"type": "string"
},
- "overview": {
- "additionalProperties": {},
- "description": "Summary figures for the industry.",
- "type": "object"
+ "on_sale_time": {
+ "example": "2026-07-01T12:05:00.000-05:00",
+ "type": "string"
},
- "research_reports": {
- "description": "Research reports about the industry.",
+ "price_range": {
+ "$ref": "#/definitions/ticketweb.PriceRange"
+ },
+ "sections": {
"items": {
- "additionalProperties": {},
- "type": "object"
+ "$ref": "#/definitions/ticketweb.TicketSection"
},
"type": "array"
},
- "sector_key": {
- "description": "Identifier of the sector the industry belongs to.",
- "example": "technology",
+ "start_time": {
+ "example": "2026-08-25T19:30:00.000-05:00",
"type": "string"
},
- "sector_name": {
- "description": "Name of the sector the industry belongs to.",
- "example": "Technology",
+ "terms_and_conditions": {
"type": "string"
},
- "symbol": {
- "description": "Index symbol that tracks the industry.",
+ "url": {
"type": "string"
},
- "top_companies": {
- "description": "Largest companies in the industry.",
- "items": {
- "additionalProperties": {},
- "type": "object"
- },
- "type": "array"
- },
- "top_growth_companies": {
- "description": "Fastest-growing companies in the industry.",
- "items": {
- "additionalProperties": {},
- "type": "object"
- },
- "type": "array"
- },
- "top_performing_companies": {
- "description": "Best-performing companies in the industry.",
- "items": {
- "additionalProperties": {},
- "type": "object"
- },
- "type": "array"
+ "venue": {
+ "$ref": "#/definitions/ticketweb.EventVenue"
}
},
"type": "object"
},
- "yahoofinance.InfoResponse": {
+ "ticketweb.EventResponse": {
"properties": {
- "modules": {
- "additionalProperties": {},
- "description": "Company and quote information grouped by section.",
- "type": "object"
+ "event": {
+ "$ref": "#/definitions/ticketweb.EventDetail"
},
- "symbol": {
- "description": "Ticker symbol, for example `AAPL`.",
- "example": "AAPL",
+ "fetched_at": {
+ "type": "string"
+ },
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "yahoofinance.LookupResponse": {
+ "ticketweb.EventSummary": {
"properties": {
- "count": {
- "description": "Number of documents returned.",
- "example": 10,
- "type": "integer"
+ "availability": {
+ "enum": [
+ "in_stock",
+ "sold_out",
+ "unknown"
+ ],
+ "example": "in_stock",
+ "type": "string"
},
- "documents": {
- "description": "Matching instruments, one object per match.",
- "items": {
- "additionalProperties": {},
- "type": "object"
- },
- "type": "array"
+ "id": {
+ "example": "14241184",
+ "type": "string"
},
- "query": {
- "description": "Lookup text that was run.",
- "example": "apple",
+ "image_url": {
"type": "string"
},
- "start": {
- "description": "Zero-based offset of the first result.",
- "example": 0,
- "type": "integer"
+ "name": {
+ "example": "Comedy Beast",
+ "type": "string"
},
- "total": {
- "description": "Total number of matches reported by Yahoo Finance.",
- "example": 10,
- "type": "integer"
+ "start_time": {
+ "example": "2026-08-25T19:30",
+ "type": "string"
},
- "type": {
- "description": "Instrument type filter applied, for example `all`.",
- "example": "all",
+ "url": {
"type": "string"
+ },
+ "venue": {
+ "$ref": "#/definitions/ticketweb.VenueRef"
}
},
"type": "object"
},
- "yahoofinance.MarketStatusResponse": {
+ "ticketweb.EventVenue": {
"properties": {
- "market": {
- "description": "Market code, for example `US`.",
- "example": "US",
+ "address": {
+ "example": "907 South Peters",
"type": "string"
},
- "status": {
- "additionalProperties": {},
- "description": "Current trading status of the market, as Yahoo Finance reports it.",
- "type": "object"
- }
- },
- "type": "object"
- },
- "yahoofinance.MarketSummaryResponse": {
- "properties": {
- "market": {
- "description": "Market code, for example `US`.",
+ "city": {
+ "example": "New Orleans",
+ "type": "string"
+ },
+ "country": {
"example": "US",
"type": "string"
},
- "summary": {
- "description": "Market summary entries, one object per index or instrument.",
- "items": {
- "additionalProperties": {},
- "type": "object"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "yahoofinance.ModuleResponse": {
- "properties": {
- "modules": {
- "additionalProperties": {},
- "description": "Data grouped by section.",
- "type": "object"
+ "id": {
+ "example": "15005",
+ "type": "string"
},
- "symbol": {
- "description": "Ticker symbol, for example `AAPL`.",
- "example": "AAPL",
+ "map_image": {
+ "type": "string"
+ },
+ "name": {
+ "example": "Howlin' Wolf",
+ "type": "string"
+ },
+ "postal_code": {
+ "example": "70130",
+ "type": "string"
+ },
+ "state": {
+ "example": "LA",
+ "type": "string"
+ },
+ "time_zone": {
+ "example": "US/Central",
"type": "string"
}
},
"type": "object"
},
- "yahoofinance.OptionExpiration": {
+ "ticketweb.PriceRange": {
"properties": {
- "calls": {
- "description": "Call option contracts for this expiration.",
- "items": {
- "additionalProperties": {},
- "type": "object"
- },
- "type": "array"
- },
- "expiration_date": {
- "description": "Expiration date of the chain, in Unix seconds.",
- "example": 1779235200,
- "type": "integer"
+ "max": {
+ "example": 8.16,
+ "type": "number"
},
- "puts": {
- "description": "Put option contracts for this expiration.",
- "items": {
- "additionalProperties": {},
- "type": "object"
- },
- "type": "array"
+ "min": {
+ "example": 8.16,
+ "type": "number"
}
},
"type": "object"
},
- "yahoofinance.OptionsResponse": {
+ "ticketweb.SearchResponse": {
"properties": {
- "expiration_dates": {
- "description": "Available option expiration dates, in Unix seconds.",
- "items": {
- "type": "integer"
- },
- "type": "array"
+ "count": {
+ "example": 20,
+ "type": "integer"
},
- "options": {
- "description": "Option chains, one entry per expiration date.",
+ "events": {
"items": {
- "$ref": "#/definitions/yahoofinance.OptionExpiration"
+ "$ref": "#/definitions/ticketweb.EventSummary"
},
"type": "array"
},
- "symbol": {
- "description": "Ticker symbol, for example `AAPL`.",
- "example": "AAPL",
+ "fetched_at": {
"type": "string"
},
- "underlying": {
- "additionalProperties": {},
- "description": "Quote data of the underlying stock.",
- "type": "object"
+ "page": {
+ "example": 1,
+ "type": "integer"
+ },
+ "query": {
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
}
},
"type": "object"
},
- "yahoofinance.PricePoint": {
+ "ticketweb.TicketFees": {
"properties": {
- "adj_close": {
- "description": "Closing price adjusted for dividends and splits.",
- "example": 211,
+ "credit_card": {
+ "example": 0.16,
"type": "number"
},
- "close": {
- "description": "Closing price of the candle.",
- "example": 211,
+ "facility": {
"type": "number"
},
- "datetime": {
- "description": "Start of the candle, in UTC (RFC 3339).",
- "example": "2026-05-18T13:30:00Z",
- "type": "string"
- },
- "high": {
- "description": "Highest price of the candle.",
- "example": 212,
+ "per_ticket": {
+ "example": 1.5,
"type": "number"
},
- "low": {
- "description": "Lowest price of the candle.",
- "example": 209,
+ "rebate": {
+ "example": 1.5,
"type": "number"
},
- "open": {
- "description": "Opening price of the candle.",
- "example": 210,
+ "taxes": {
"type": "number"
- },
- "timestamp": {
- "description": "Start of the candle, in Unix seconds.",
- "example": 1779111000,
- "type": "integer"
- },
- "volume": {
- "description": "Number of shares traded during the candle.",
- "example": 54200000,
- "type": "integer"
}
},
"type": "object"
},
- "yahoofinance.QuoteResponse": {
+ "ticketweb.TicketPrice": {
"properties": {
- "quotes": {
- "description": "Quote data, one object per symbol.",
- "items": {
- "additionalProperties": {},
- "type": "object"
- },
- "type": "array"
+ "base": {
+ "example": 5,
+ "type": "number"
},
- "symbols": {
- "description": "Ticker symbols that were requested.",
- "items": {
- "type": "string"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "yahoofinance.ScreenerRequest": {
- "properties": {
- "count": {
- "description": "Count is the maximum number of matching quotes to return (default 25, maximum 250).",
- "type": "integer"
+ "fees": {
+ "$ref": "#/definitions/ticketweb.TicketFees"
},
- "offset": {
- "description": "Offset is the zero-based index of the first matching quote (default 0, maximum 10000).",
+ "max_purchase_limit": {
+ "example": 10,
"type": "integer"
},
- "query": {
- "additionalProperties": {},
- "description": "Query is required and contains Yahoo's recursive criteria tree. Combine conditions with AND or OR; leaves use an operator such as EQ or GT with operands [field, value], for example {operator: GT, operands: [dayvolume, 1000000]}. Accepted fields depend on quote_type.",
- "type": "object"
+ "min_purchase_limit": {
+ "type": "integer"
},
- "quote_type": {
- "description": "QuoteType selects the instrument class to screen. Allowed values are EQUITY (default), ETF, and MUTUALFUND.",
+ "name": {
+ "example": "GA Seating",
"type": "string"
},
- "sort_asc": {
- "description": "SortAsc sorts in ascending order when true; the default is descending.",
+ "sold_out": {
"type": "boolean"
},
- "sort_field": {
- "description": "SortField selects the quote field used to order results, such as ticker or marketcap (default ticker).",
- "type": "string"
+ "total": {
+ "example": 8.16,
+ "type": "number"
}
},
- "required": [
- "query"
- ],
"type": "object"
},
- "yahoofinance.ScreenerResponse": {
+ "ticketweb.TicketSection": {
"properties": {
- "description": {
- "description": "Description of the screener.",
- "type": "string"
- },
- "id": {
- "description": "Identifier of the screener, for example `day_gainers`.",
- "example": "day_gainers",
+ "name": {
+ "example": "GA Seating",
"type": "string"
},
- "meta": {
- "additionalProperties": {},
- "description": "Screener metadata: its canonical name and criteria details.",
- "type": "object"
- },
- "quotes": {
- "description": "Instruments that match the screener.",
+ "prices": {
"items": {
- "additionalProperties": {},
- "type": "object"
+ "$ref": "#/definitions/ticketweb.TicketPrice"
},
"type": "array"
},
- "title": {
- "description": "Display title of the screener, for example `Day Gainers`.",
- "example": "Day Gainers",
- "type": "string"
- },
- "total": {
- "description": "Total number of instruments that match the screener.",
- "example": 25,
+ "purchase_limit": {
+ "example": 10,
"type": "integer"
- }
- },
- "type": "object"
- },
- "yahoofinance.ScreenersResponse": {
- "properties": {
- "screeners": {
- "items": {
- "type": "string"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "yahoofinance.SearchResponse": {
- "properties": {
- "lists": {
- "description": "Yahoo Finance lists matching the query.",
- "items": {
- "additionalProperties": {},
- "type": "object"
- },
- "type": "array"
- },
- "news": {
- "description": "News articles matching the query.",
- "items": {
- "additionalProperties": {},
- "type": "object"
- },
- "type": "array"
- },
- "query": {
- "description": "Search text that was run.",
- "type": "string"
- },
- "quotes": {
- "description": "Ticker and company matches.",
- "items": {
- "additionalProperties": {},
- "type": "object"
- },
- "type": "array"
},
- "research": {
- "items": {
- "additionalProperties": {},
- "type": "object"
- },
- "type": "array"
+ "sold_out": {
+ "type": "boolean"
}
},
"type": "object"
},
- "yahoofinance.SectorResponse": {
+ "ticketweb.VenueDetail": {
"properties": {
- "industries": {
- "items": {
- "additionalProperties": {},
- "type": "object"
- },
- "type": "array"
+ "address": {
+ "example": "907 South Peters, New Orleans, LA 70130",
+ "type": "string"
},
- "key": {
- "example": "technology",
+ "id": {
+ "example": "15005",
"type": "string"
},
"name": {
- "example": "Technology",
+ "example": "Howlin' Wolf",
"type": "string"
},
- "overview": {
- "additionalProperties": {},
- "type": "object"
- },
- "research_reports": {
- "items": {
- "additionalProperties": {},
- "type": "object"
- },
- "type": "array"
- },
- "symbol": {
- "example": "^IXT",
+ "url": {
"type": "string"
- },
- "top_companies": {
- "items": {
- "additionalProperties": {},
- "type": "object"
- },
- "type": "array"
- },
- "top_etfs": {
- "additionalProperties": {
- "type": "string"
- },
- "type": "object"
- },
- "top_mutual_funds": {
- "additionalProperties": {
- "type": "string"
- },
- "type": "object"
}
},
"type": "object"
},
- "yahoofinance.SharesFullResponse": {
+ "ticketweb.VenueRef": {
"properties": {
- "end": {
- "description": "Last date covered, as YYYY-MM-DD.",
- "example": "2026-05-20",
- "type": "string"
- },
- "points": {
- "description": "Share count history, one object per data point.",
- "items": {
- "additionalProperties": {},
- "type": "object"
- },
- "type": "array"
- },
- "start": {
- "description": "First date covered, as YYYY-MM-DD.",
- "example": "2025-01-01",
+ "address": {
+ "example": "New Orleans, LA",
"type": "string"
},
- "symbol": {
- "description": "Ticker symbol, for example `AAPL`.",
- "example": "AAPL",
+ "name": {
+ "example": "Howlin' Wolf",
"type": "string"
- }
- },
- "type": "object"
- },
- "yahoofinance.SharesResponse": {
- "properties": {
- "shares": {
- "additionalProperties": {},
- "description": "Share count information, as Yahoo Finance reports it.",
- "type": "object"
},
- "symbol": {
- "description": "Ticker symbol, for example `AAPL`.",
- "example": "AAPL",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "yahoofinance.TrendingResponse": {
+ "ticketweb.VenueResponse": {
"properties": {
"count": {
- "description": "Number of trending symbols returned.",
- "example": 5,
- "type": "integer"
- },
- "job_timestamp": {
- "description": "Time Yahoo Finance generated the list, in Unix milliseconds.",
- "example": 1779268508061,
- "type": "integer"
- },
- "region": {
- "description": "Region code of the trending list, for example `US`.",
- "example": "US",
- "type": "string"
- },
- "start_interval": {
- "description": "Start of the trending interval, as a 12-digit number such as `202605200800`.",
- "example": 202605200800,
+ "example": 20,
"type": "integer"
},
- "symbols": {
- "description": "Trending ticker symbols.",
- "items": {
- "type": "string"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "yahoofinance.ValuationResponse": {
- "properties": {
- "headers": {
- "description": "Column headers of the valuation table.",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "rows": {
- "description": "Valuation measures, one object per row.",
+ "events": {
"items": {
- "additionalProperties": {},
- "type": "object"
+ "$ref": "#/definitions/ticketweb.EventSummary"
},
"type": "array"
},
- "symbol": {
- "description": "Ticker symbol, for example `AAPL`.",
- "example": "AAPL",
+ "fetched_at": {
"type": "string"
- }
- },
- "type": "object"
- },
- "yahoofinance.actionsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/yahoofinance.ActionEvents"
},
- "msg": {
- "example": "OK",
- "type": "string"
- }
- },
- "type": "object"
- },
- "yahoofinance.calendarResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ "page": {
+ "example": 1,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/yahoofinance.CalendarResponse"
- },
- "msg": {
- "example": "OK",
+ "source_url": {
"type": "string"
+ },
+ "venue": {
+ "$ref": "#/definitions/ticketweb.VenueDetail"
}
},
"type": "object"
},
- "yahoofinance.calendarsResponseDoc": {
+ "ticketweb.eventResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/yahoofinance.CalendarsResponse"
+ "$ref": "#/definitions/ticketweb.EventResponse"
},
"msg": {
"example": "OK",
@@ -262256,14 +266885,14 @@
},
"type": "object"
},
- "yahoofinance.domainListResponseDoc": {
+ "ticketweb.searchResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/yahoofinance.DomainListResponse"
+ "$ref": "#/definitions/ticketweb.SearchResponse"
},
"msg": {
"example": "OK",
@@ -262272,14 +266901,14 @@
},
"type": "object"
},
- "yahoofinance.downloadResponseDoc": {
+ "ticketweb.venueResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/yahoofinance.DownloadResponse"
+ "$ref": "#/definitions/ticketweb.VenueResponse"
},
"msg": {
"example": "OK",
@@ -262288,531 +266917,320 @@
},
"type": "object"
},
- "yahoofinance.earningsDatesResponseDoc": {
+ "tiffany.CategoriesResponse": {
"properties": {
- "code": {
- "example": 200,
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/tiffany.CategoryFacet"
+ },
+ "type": "array"
+ },
+ "count": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/yahoofinance.EarningsDatesResponse"
+ "fetched_at": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "yahoofinance.financialsResponseDoc": {
+ "tiffany.CategoryFacet": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "id": {
+ "description": "ID is the exact value to pass as tiffany-category's own \"category\"\nquery parameter.",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/yahoofinance.FinancialsResponse"
+ "kind": {
+ "description": "Kind distinguishes a real navigable department/category\n(\"category\", ids starting \"ecommerce_us_\") from a curated\nmerchandising/gift shelf (\"curated_shop\", ids starting\n\"curated_ecommerce_us_\") -- both are valid, filterable category ids,\nbut they serve different purposes: see the categories endpoint\ndocumentation.",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "label": {
+ "description": "Label is a human-readable label derived from ID.",
"type": "string"
+ },
+ "product_count": {
+ "description": "ProductCount is the live count of in-index products carrying this\ncategory id, as of FetchedAt.",
+ "type": "integer"
}
},
"type": "object"
},
- "yahoofinance.historyMetadataResponseDoc": {
+ "tiffany.CategoryResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "category": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/yahoofinance.HistoryMetadataResponse"
+ "count": {
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "fetched_at": {
"type": "string"
- }
- },
- "type": "object"
- },
- "yahoofinance.historyResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/yahoofinance.HistoryResponse"
+ "page": {
+ "type": "integer"
},
- "msg": {
- "example": "OK",
- "type": "string"
- }
- },
- "type": "object"
- },
- "yahoofinance.industryResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ "per_page": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/yahoofinance.IndustryResponse"
+ "products": {
+ "items": {
+ "$ref": "#/definitions/tiffany.ProductSummary"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "sort": {
"type": "string"
- }
- },
- "type": "object"
- },
- "yahoofinance.infoResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/yahoofinance.InfoResponse"
},
- "msg": {
- "example": "OK",
+ "source_url": {
"type": "string"
- }
- },
- "type": "object"
- },
- "yahoofinance.isinResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/yahoofinance.ISINResponse"
+ "total_pages": {
+ "type": "integer"
},
- "msg": {
- "example": "OK",
- "type": "string"
+ "total_products": {
+ "type": "integer"
}
},
"type": "object"
},
- "yahoofinance.lookupResponseDoc": {
+ "tiffany.ContentResult": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/yahoofinance.LookupResponse"
+ "description": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "image_url": {
"type": "string"
- }
- },
- "type": "object"
- },
- "yahoofinance.marketStatusResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/yahoofinance.MarketStatusResponse"
+ "title": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "yahoofinance.marketSummaryResponseDoc": {
+ "tiffany.ContentSearchResponse": {
"properties": {
- "code": {
- "example": 200,
+ "count": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/yahoofinance.MarketSummaryResponse"
+ "fetched_at": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "keyword": {
"type": "string"
- }
- },
- "type": "object"
- },
- "yahoofinance.moduleResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/yahoofinance.ModuleResponse"
+ "page": {
+ "type": "integer"
},
- "msg": {
- "example": "OK",
- "type": "string"
- }
- },
- "type": "object"
- },
- "yahoofinance.optionsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ "per_page": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/yahoofinance.OptionsResponse"
+ "results": {
+ "items": {
+ "$ref": "#/definitions/tiffany.ContentResult"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "source_url": {
"type": "string"
- }
- },
- "type": "object"
- },
- "yahoofinance.quoteResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/yahoofinance.QuoteResponse"
+ "total_pages": {
+ "type": "integer"
},
- "msg": {
- "example": "OK",
- "type": "string"
+ "total_results": {
+ "type": "integer"
}
},
"type": "object"
},
- "yahoofinance.screenerResponseDoc": {
+ "tiffany.FilterValue": {
"properties": {
- "code": {
- "example": 200,
+ "product_count": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/yahoofinance.ScreenerResponse"
- },
- "msg": {
- "example": "OK",
+ "value": {
"type": "string"
}
},
"type": "object"
},
- "yahoofinance.screenersResponseDoc": {
+ "tiffany.FiltersResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "color": {
+ "items": {
+ "$ref": "#/definitions/tiffany.FilterValue"
+ },
+ "type": "array"
},
- "data": {
- "$ref": "#/definitions/yahoofinance.ScreenersResponse"
+ "designer": {
+ "items": {
+ "$ref": "#/definitions/tiffany.FilterValue"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "fetched_at": {
"type": "string"
- }
- },
- "type": "object"
- },
- "yahoofinance.searchResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/yahoofinance.SearchResponse"
+ "gemstone": {
+ "items": {
+ "$ref": "#/definitions/tiffany.FilterValue"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
- "type": "string"
- }
- },
- "type": "object"
- },
- "yahoofinance.sectorResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "gender": {
+ "items": {
+ "$ref": "#/definitions/tiffany.FilterValue"
+ },
+ "type": "array"
},
- "data": {
- "$ref": "#/definitions/yahoofinance.SectorResponse"
+ "material": {
+ "items": {
+ "$ref": "#/definitions/tiffany.FilterValue"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "product_type": {
+ "items": {
+ "$ref": "#/definitions/tiffany.FilterValue"
+ },
+ "type": "array"
+ },
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "yahoofinance.sharesFullResponseDoc": {
+ "tiffany.ProductDetailResponse": {
"properties": {
- "code": {
- "example": 200,
+ "available_quantity": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/yahoofinance.SharesFullResponse"
- },
- "msg": {
- "example": "OK",
+ "brand": {
"type": "string"
- }
- },
- "type": "object"
- },
- "yahoofinance.sharesResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/yahoofinance.SharesResponse"
+ "categories": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "collection": {
"type": "string"
- }
- },
- "type": "object"
- },
- "yahoofinance.trendingResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/yahoofinance.TrendingResponse"
- },
- "msg": {
- "example": "OK",
+ "color": {
"type": "string"
- }
- },
- "type": "object"
- },
- "yahoofinance.valuationResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/yahoofinance.ValuationResponse"
+ "currency": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "description": {
"type": "string"
- }
- },
- "type": "object"
- },
- "yahoohealth.ArticleResponse": {
- "properties": {
- "author": {
+ },
+ "designer": {
"type": "string"
},
- "description": {
+ "fetched_at": {
"type": "string"
},
- "image_url": {
+ "gemstone": {
"type": "string"
},
- "keywords": {
+ "images": {
"items": {
"type": "string"
},
"type": "array"
},
- "paragraphs": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "in_stock": {
+ "type": "boolean"
},
- "provider": {
+ "low_inventory": {
+ "type": "boolean"
+ },
+ "material": {
"type": "string"
},
- "published_at": {
+ "name": {
"type": "string"
},
- "section": {
+ "price": {
+ "type": "number"
+ },
+ "product_id": {
"type": "string"
},
- "title": {
+ "product_type": {
"type": "string"
},
- "updated_at": {
+ "size": {
"type": "string"
},
- "url": {
+ "source_url": {
"type": "string"
- }
- },
- "type": "object"
- },
- "yahoohealth.CategoryPaginate": {
- "properties": {
- "next_page": {
- "example": 2,
- "type": "integer"
},
- "page": {
- "example": 1,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "yahoohealth.CategoryResponse": {
- "properties": {
- "category": {
+ "style_id": {
"type": "string"
},
- "items": {
- "items": {
- "$ref": "#/definitions/yahoohealth.StreamItem"
- },
- "type": "array"
+ "url": {
+ "type": "string"
},
- "pagination": {
- "$ref": "#/definitions/yahoohealth.CategoryPaginate"
- }
- },
- "type": "object"
- },
- "yahoohealth.HomeResponse": {
- "properties": {
- "items": {
+ "variations": {
"items": {
- "$ref": "#/definitions/yahoohealth.StreamItem"
+ "$ref": "#/definitions/tiffany.ProductVariation"
},
"type": "array"
}
},
"type": "object"
},
- "yahoohealth.StreamItem": {
+ "tiffany.ProductSummary": {
"properties": {
- "category": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "thumbnail_url": {
- "type": "string"
- },
- "title": {
+ "collection": {
"type": "string"
},
- "url": {
+ "color": {
"type": "string"
- }
- },
- "type": "object"
- },
- "yahoohealth.articleResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/yahoohealth.ArticleResponse"
},
- "msg": {
- "example": "OK",
+ "currency": {
"type": "string"
- }
- },
- "type": "object"
- },
- "yahoohealth.categoryResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/yahoohealth.CategoryResponse"
- },
- "msg": {
- "example": "OK",
+ "designer": {
"type": "string"
- }
- },
- "type": "object"
- },
- "yahoohealth.homeResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/yahoohealth.HomeResponse"
},
- "msg": {
- "example": "OK",
- "type": "string"
- }
- },
- "type": "object"
- },
- "yahoolife.ArticleResponse": {
- "properties": {
- "author": {
+ "gemstone": {
"type": "string"
},
- "description": {
+ "id": {
"type": "string"
},
"image_url": {
"type": "string"
},
- "keywords": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "in_stock": {
+ "type": "boolean"
},
- "paragraphs": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "low_inventory": {
+ "type": "boolean"
},
- "provider": {
+ "material": {
"type": "string"
},
- "published_at": {
+ "name": {
"type": "string"
},
- "section": {
- "type": "string"
+ "price": {
+ "type": "number"
},
- "title": {
+ "product_type": {
"type": "string"
},
- "updated_at": {
+ "style_id": {
"type": "string"
},
"url": {
@@ -262821,362 +267239,230 @@
},
"type": "object"
},
- "yahoolife.HomeResponse": {
+ "tiffany.ProductVariation": {
"properties": {
- "items": {
- "items": {
- "$ref": "#/definitions/yahoolife.StreamItem"
- },
- "type": "array"
+ "color": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "online": {
+ "type": "boolean"
}
},
"type": "object"
},
- "yahoolife.StreamItem": {
+ "tiffany.SearchResponse": {
"properties": {
- "id": {
- "type": "string"
+ "count": {
+ "type": "integer"
},
- "thumbnail_url": {
+ "fetched_at": {
"type": "string"
},
- "title": {
+ "keyword": {
"type": "string"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "yahoolife.articleResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ "page": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/yahoolife.ArticleResponse"
+ "per_page": {
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "products": {
+ "items": {
+ "$ref": "#/definitions/tiffany.ProductSummary"
+ },
+ "type": "array"
+ },
+ "sort": {
+ "type": "string"
+ },
+ "source_url": {
"type": "string"
+ },
+ "total_pages": {
+ "type": "integer"
+ },
+ "total_products": {
+ "type": "integer"
}
},
"type": "object"
},
- "yahoolife.homeResponseDoc": {
+ "tiffany.SearchSuggestion": {
"properties": {
- "code": {
- "example": 200,
+ "popularity": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/yahoolife.HomeResponse"
- },
- "msg": {
- "example": "OK",
+ "query": {
"type": "string"
+ },
+ "result_count": {
+ "type": "integer"
}
},
"type": "object"
},
- "yahoonews.ArticleResponse": {
+ "tiffany.Store": {
"properties": {
- "author": {
+ "address1": {
"type": "string"
},
- "category": {
+ "city": {
"type": "string"
},
- "description": {
- "type": "string"
+ "closed": {
+ "type": "boolean"
},
- "id": {
+ "country_code": {
"type": "string"
},
- "image_url": {
- "type": "string"
+ "distance_miles": {
+ "type": "number"
},
- "keywords": {
+ "faqs": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/tiffany.StoreFAQ"
},
"type": "array"
},
- "paragraphs": {
+ "hours": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/tiffany.StoreDayHours"
},
"type": "array"
},
- "provider": {
+ "internal_store_id": {
"type": "string"
},
- "provider_url": {
- "type": "string"
+ "latitude": {
+ "type": "number"
},
- "published_at": {
+ "longitude": {
+ "type": "number"
+ },
+ "name": {
"type": "string"
},
- "title": {
+ "phone": {
"type": "string"
},
- "updated_at": {
+ "postal_code": {
"type": "string"
},
- "url": {
+ "region": {
"type": "string"
- }
- },
- "type": "object"
- },
- "yahoonews.CategoryResponse": {
- "properties": {
- "category": {
+ },
+ "reservation_url": {
"type": "string"
},
- "items": {
+ "services": {
"items": {
- "$ref": "#/definitions/yahoonews.StreamItem"
+ "type": "string"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "yahoonews.Comment": {
- "properties": {
- "author": {
- "$ref": "#/definitions/yahoonews.CommentAuthor"
- },
- "body": {
- "type": "string"
},
- "created_at": {
- "type": "string"
+ "specialities": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "id": {
+ "store_id": {
"type": "string"
},
- "pinned": {
- "type": "boolean"
- },
- "reactions": {
- "$ref": "#/definitions/yahoonews.CommentReactions"
- },
- "reply_count": {
- "type": "integer"
- },
- "updated_at": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "yahoonews.CommentAuthor": {
- "properties": {
- "avatar_url": {
+ "store_type": {
+ "example": "Flagship",
"type": "string"
},
- "handle": {
+ "timezone": {
"type": "string"
},
- "has_default_avatar": {
- "type": "boolean"
- },
- "nickname": {
+ "url": {
"type": "string"
- },
- "total_comment_count": {
- "type": "integer"
- },
- "total_reaction_count": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "yahoonews.CommentReactions": {
- "properties": {
- "clap": {
- "type": "integer"
- },
- "heart": {
- "type": "integer"
- },
- "laugh": {
- "type": "integer"
- },
- "sad": {
- "type": "integer"
- },
- "thumbs_down": {
- "type": "integer"
- },
- "thumbs_up": {
- "type": "integer"
- },
- "total": {
- "type": "integer"
}
},
"type": "object"
},
- "yahoonews.CommentsResponse": {
+ "tiffany.StoreDayHours": {
"properties": {
- "comments_count": {
- "type": "integer"
- },
- "content_id": {
- "type": "string"
- },
- "has_next_page": {
+ "closed": {
"type": "boolean"
},
- "items": {
- "items": {
- "$ref": "#/definitions/yahoonews.Comment"
- },
- "type": "array"
- },
- "next_cursor": {
+ "day": {
"type": "string"
},
- "sort": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "yahoonews.HomeResponse": {
- "properties": {
- "items": {
+ "intervals": {
"items": {
- "$ref": "#/definitions/yahoonews.StreamItem"
+ "$ref": "#/definitions/tiffany.StoreHoursInterval"
},
"type": "array"
}
},
"type": "object"
},
- "yahoonews.Image": {
- "properties": {
- "height": {
- "type": "integer"
- },
- "url": {
- "type": "string"
- },
- "width": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "yahoonews.RelatedResponse": {
+ "tiffany.StoreFAQ": {
"properties": {
- "content_id": {
+ "answer": {
"type": "string"
},
- "has_next_page": {
- "type": "boolean"
- },
- "items": {
- "items": {
- "$ref": "#/definitions/yahoonews.StreamItem"
- },
- "type": "array"
- },
- "next_cursor": {
+ "question": {
"type": "string"
}
},
"type": "object"
},
- "yahoonews.RepliesResponse": {
+ "tiffany.StoreHoursInterval": {
"properties": {
- "comment_id": {
- "type": "string"
- },
- "content_id": {
- "type": "string"
- },
- "has_next_page": {
- "type": "boolean"
- },
- "items": {
- "items": {
- "$ref": "#/definitions/yahoonews.Comment"
- },
- "type": "array"
- },
- "next_cursor": {
+ "end": {
"type": "string"
},
- "sort": {
+ "start": {
"type": "string"
- },
- "total_count": {
- "type": "integer"
}
},
"type": "object"
},
- "yahoonews.StreamItem": {
+ "tiffany.StoresResponse": {
"properties": {
- "authors": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "category": {
- "type": "string"
- },
- "comment_count": {
+ "count": {
"type": "integer"
},
- "id": {
+ "fetched_at": {
"type": "string"
},
- "images": {
- "items": {
- "$ref": "#/definitions/yahoonews.Image"
- },
- "type": "array"
+ "latitude": {
+ "type": "number"
},
- "published_at": {
- "type": "string"
+ "longitude": {
+ "type": "number"
},
- "source": {
- "type": "string"
+ "radius": {
+ "type": "number"
},
"source_url": {
"type": "string"
},
- "summary": {
- "type": "string"
- },
- "thumbnail_url": {
- "type": "string"
- },
- "title": {
- "type": "string"
- },
- "url": {
- "type": "string"
+ "stores": {
+ "items": {
+ "$ref": "#/definitions/tiffany.Store"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "yahoonews.SuggestResponse": {
+ "tiffany.SuggestResponse": {
"properties": {
+ "count": {
+ "type": "integer"
+ },
"fetched_at": {
"type": "string"
},
"query": {
- "example": "chatgpt",
"type": "string"
},
"source_url": {
@@ -263184,21 +267470,21 @@
},
"suggestions": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/tiffany.SearchSuggestion"
},
"type": "array"
}
},
"type": "object"
},
- "yahoonews.articleResponseDoc": {
+ "tiffany.categoriesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/yahoonews.ArticleResponse"
+ "$ref": "#/definitions/tiffany.CategoriesResponse"
},
"msg": {
"example": "OK",
@@ -263207,14 +267493,14 @@
},
"type": "object"
},
- "yahoonews.categoryResponseDoc": {
+ "tiffany.categoryResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/yahoonews.CategoryResponse"
+ "$ref": "#/definitions/tiffany.CategoryResponse"
},
"msg": {
"example": "OK",
@@ -263223,14 +267509,14 @@
},
"type": "object"
},
- "yahoonews.commentsResponseDoc": {
+ "tiffany.contentSearchResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/yahoonews.CommentsResponse"
+ "$ref": "#/definitions/tiffany.ContentSearchResponse"
},
"msg": {
"example": "OK",
@@ -263239,14 +267525,14 @@
},
"type": "object"
},
- "yahoonews.homeResponseDoc": {
+ "tiffany.filtersResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/yahoonews.HomeResponse"
+ "$ref": "#/definitions/tiffany.FiltersResponse"
},
"msg": {
"example": "OK",
@@ -263255,14 +267541,14 @@
},
"type": "object"
},
- "yahoonews.relatedResponseDoc": {
+ "tiffany.productResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/yahoonews.RelatedResponse"
+ "$ref": "#/definitions/tiffany.ProductDetailResponse"
},
"msg": {
"example": "OK",
@@ -263271,14 +267557,14 @@
},
"type": "object"
},
- "yahoonews.repliesResponseDoc": {
+ "tiffany.searchResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/yahoonews.RepliesResponse"
+ "$ref": "#/definitions/tiffany.SearchResponse"
},
"msg": {
"example": "OK",
@@ -263287,14 +267573,14 @@
},
"type": "object"
},
- "yahoonews.suggestResponseDoc": {
+ "tiffany.storesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/yahoonews.SuggestResponse"
+ "$ref": "#/definitions/tiffany.StoresResponse"
},
"msg": {
"example": "OK",
@@ -263303,664 +267589,844 @@
},
"type": "object"
},
- "yahoosearch.ImageResult": {
+ "tiffany.suggestResponseDoc": {
"properties": {
- "domain": {
- "example": "example.com",
- "type": "string"
- },
- "height": {
- "example": 1080,
- "type": "integer"
- },
- "image_url": {
- "example": "https://example.com/chatgpt.jpg",
- "type": "string"
- },
- "page_url": {
- "example": "https://example.com/article",
- "type": "string"
- },
- "position": {
- "example": 1,
+ "code": {
+ "example": 200,
"type": "integer"
},
- "thumbnail_url": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/tiffany.SuggestResponse"
},
- "title": {
- "example": "ChatGPT logo",
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "width": {
- "example": 1920,
- "type": "integer"
}
},
"type": "object"
},
- "yahoosearch.ImagesResponse": {
+ "tiktok.Category": {
"properties": {
- "query": {
- "example": "chatgpt",
+ "name": {
+ "description": "Category name as shown on TikTok's Explore page.",
"type": "string"
},
- "results": {
- "items": {
- "$ref": "#/definitions/yahoosearch.ImageResult"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "yahoosearch.LocalResponse": {
- "properties": {
- "query": {
- "example": "pizza near seattle wa",
+ "type": {
+ "description": "Numeric category type code, as a string. Use it as the `id` of the explore endpoint.",
"type": "string"
- },
- "results": {
- "items": {
- "$ref": "#/definitions/yahoosearch.LocalResult"
- },
- "type": "array"
}
},
"type": "object"
},
- "yahoosearch.LocalResult": {
+ "tiktok.ChallengeDetailResp": {
"properties": {
- "address": {
- "example": "2001 4th Ave",
- "type": "string"
- },
- "category": {
- "example": "Pizza",
- "type": "string"
- },
- "id": {
- "example": "36383310",
- "type": "string"
+ "challengeInfo": {
+ "description": "Details of the hashtag (challenge), as TikTok returns them."
},
- "image_url": {
- "type": "string"
+ "extra": {
+ "description": "Response metadata from TikTok, such as the request log id and server time.",
+ "properties": {
+ "fatal_item_ids": {
+ "items": {},
+ "type": "array"
+ },
+ "logid": {
+ "type": "string"
+ },
+ "now": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
},
- "name": {
- "example": "Serious Pie Downtown",
- "type": "string"
+ "log_pb": {
+ "description": "Request tracking information from TikTok, holding the `impr_id` impression id.",
+ "properties": {
+ "impr_id": {
+ "type": "string"
+ }
+ },
+ "type": "object"
},
- "open_status": {
- "example": "Closed",
- "type": "string"
+ "shareMeta": {
+ "description": "Title and description TikTok uses when the hashtag is shared.",
+ "properties": {
+ "desc": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ }
+ },
+ "type": "object"
},
- "phone": {
- "example": "(206) 838-7388",
- "type": "string"
+ "statusCode": {
+ "description": "TikTok status code for the request. `0` on a successful response.",
+ "type": "integer"
},
- "position": {
- "example": 1,
+ "status_code": {
+ "description": "Second copy of the TikTok status code, sent as `status_code`. `0` on a successful response.",
"type": "integer"
},
- "price_range": {
- "example": "$$",
+ "status_msg": {
+ "description": "Status message that goes with the status code.",
"type": "string"
- },
- "rating": {
- "example": 4,
- "type": "number"
- },
- "review_count": {
- "example": 4870,
- "type": "integer"
}
},
"type": "object"
},
- "yahoosearch.NewsResponse": {
+ "tiktok.ChallengeListResp": {
"properties": {
- "query": {
- "example": "chatgpt",
+ "cursor": {
+ "description": "Cursor to pass in the next request to get the next page of videos.",
"type": "string"
},
- "results": {
- "items": {
- "$ref": "#/definitions/yahoosearch.NewsResult"
+ "extra": {
+ "description": "Response metadata from TikTok, such as the request log id and server time.",
+ "properties": {
+ "fatal_item_ids": {
+ "items": {},
+ "type": "array"
+ },
+ "logid": {
+ "type": "string"
+ },
+ "now": {
+ "type": "integer"
+ }
},
- "type": "array"
- }
- },
- "type": "object"
- },
- "yahoosearch.NewsResult": {
- "properties": {
- "age": {
- "example": "29 minutes ago",
- "type": "string"
+ "type": "object"
},
- "description": {
- "type": "string"
+ "hasMore": {
+ "description": "Whether more videos remain after this page.",
+ "type": "boolean"
},
- "position": {
- "example": 1,
- "type": "integer"
+ "itemList": {
+ "description": "Videos posted under the hashtag, one entry per video, as TikTok returns them.",
+ "items": {},
+ "type": "array"
},
- "source": {
- "example": "AFP",
- "type": "string"
+ "log_pb": {
+ "description": "Request tracking information from TikTok, holding the `impr_id` impression id.",
+ "properties": {
+ "impr_id": {
+ "type": "string"
+ }
+ },
+ "type": "object"
},
- "thumbnail_url": {
- "type": "string"
+ "statusCode": {
+ "description": "TikTok status code for the request. `0` on a successful response.",
+ "type": "integer"
},
- "title": {
- "example": "OpenAI announces ChatGPT update",
- "type": "string"
+ "status_code": {
+ "description": "Second copy of the TikTok status code, sent as `status_code`. `0` on a successful response.",
+ "type": "integer"
},
- "url": {
- "example": "https://example.com/article",
+ "status_msg": {
+ "description": "Status message that goes with the status code.",
"type": "string"
}
},
"type": "object"
},
- "yahoosearch.SearchPagination": {
+ "tiktok.CommentResp": {
"properties": {
- "next_page": {
- "example": 2,
+ "alias_comment_deleted": {
+ "description": "Flag TikTok returns for deleted alias comments.",
+ "type": "boolean"
+ },
+ "comments": {
+ "description": "Top-level comments on the video, one entry per comment, as TikTok returns them.",
+ "items": {},
+ "type": "array"
+ },
+ "cursor": {
+ "description": "Cursor to pass in the next request to get the next page of comments.",
"type": "integer"
},
- "page": {
- "example": 1,
+ "extra": {
+ "description": "Response metadata from TikTok, such as server time.",
+ "properties": {
+ "api_debug_info": {},
+ "fatal_item_ids": {},
+ "now": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "has_filtered_comments": {
+ "description": "Flag showing whether TikTok filtered any comments out of the list.",
"type": "integer"
- }
- },
- "type": "object"
- },
- "yahoosearch.SearchResponse": {
- "properties": {
- "pagination": {
- "$ref": "#/definitions/yahoosearch.SearchPagination"
},
- "query": {
- "example": "openai",
- "type": "string"
+ "has_more": {
+ "description": "Whether more comments remain after this page, as a number (`1` for yes).",
+ "type": "integer"
},
- "results": {
- "items": {
- "$ref": "#/definitions/yahoosearch.SearchResult"
+ "log_pb": {
+ "description": "Request tracking information from TikTok, holding the `impr_id` impression id.",
+ "properties": {
+ "impr_id": {
+ "type": "string"
+ }
},
- "type": "array"
- }
- },
- "type": "object"
- },
- "yahoosearch.SearchResult": {
- "properties": {
- "description": {
- "example": "OpenAI is an AI research and deployment company. Our mission is to ensure that artificial general intelligence benefits all of humanity.",
- "type": "string"
+ "type": "object"
},
- "hostname": {
- "example": "openai.com",
- "type": "string"
+ "reply_style": {
+ "description": "Reply display style code that TikTok returns with the comments.",
+ "type": "integer"
},
- "position": {
- "example": 1,
+ "status_code": {
+ "description": "TikTok status code for the request. `0` on a successful response.",
"type": "integer"
},
- "title": {
- "example": "OpenAI | Research & Deployment",
+ "status_msg": {
+ "description": "Status message that goes with the status code.",
"type": "string"
},
- "url": {
- "example": "https://openai.com/",
- "type": "string"
+ "top_gifts": {
+ "description": "Top gifts attached to the comments, as TikTok returns them."
+ },
+ "total": {
+ "description": "Total number of comments on the video.",
+ "type": "integer"
}
},
"type": "object"
},
- "yahoosearch.SuggestResponse": {
+ "tiktok.ExploreResp": {
"properties": {
- "fetched_at": {
- "type": "string"
- },
- "query": {
- "example": "chatgpt",
+ "cursor": {
+ "description": "Cursor to pass in the next request to get the next page of videos.",
"type": "string"
},
- "source_url": {
- "type": "string"
- },
- "suggestions": {
- "items": {
- "$ref": "#/definitions/yahoosearch.Suggestion"
+ "extra": {
+ "description": "Response metadata from TikTok, such as the request log id and server time.",
+ "properties": {
+ "fatal_item_ids": {
+ "items": {},
+ "type": "array"
+ },
+ "logid": {
+ "type": "string"
+ },
+ "now": {
+ "type": "integer"
+ }
},
+ "type": "object"
+ },
+ "hasMore": {
+ "description": "Whether more videos remain after this page.",
+ "type": "boolean"
+ },
+ "itemList": {
+ "description": "Videos in the explore feed for the category, one entry per video, as TikTok returns them.",
+ "items": {},
"type": "array"
- }
- },
- "type": "object"
- },
- "yahoosearch.Suggestion": {
- "properties": {
- "entity": {
- "$ref": "#/definitions/yahoosearch.SuggestionEntity"
},
- "text": {
- "example": "chatgpt free",
+ "log_pb": {
+ "description": "Request tracking information from TikTok, holding the `impr_id` impression id.",
+ "properties": {
+ "impr_id": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "statusCode": {
+ "description": "TikTok status code for the request. `0` on a successful response.",
+ "type": "integer"
+ },
+ "status_code": {
+ "description": "Second copy of the TikTok status code, sent as `status_code`. `0` on a successful response.",
+ "type": "integer"
+ },
+ "status_msg": {
+ "description": "Status message that goes with the status code.",
"type": "string"
}
},
"type": "object"
},
- "yahoosearch.SuggestionEntity": {
+ "tiktok.Profile": {
"properties": {
- "description": {
- "type": "string"
- },
- "image_url": {
- "type": "string"
- },
- "subtitle": {
- "type": "string"
+ "stats": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/tiktok.ProfileStats"
+ }
+ ],
+ "description": "Follower, following, like and video counts for the account."
},
- "type": {
- "example": "company",
- "type": "string"
+ "user": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/tiktok.User"
+ }
+ ],
+ "description": "Account details: identity, bio, verification and region."
}
},
"type": "object"
},
- "yahoosearch.VideoResult": {
+ "tiktok.ProfileStats": {
"properties": {
- "description": {
- "type": "string"
+ "diggCount": {
+ "description": "Number of videos the account has liked.",
+ "example": 0,
+ "type": "integer"
},
- "domain": {
- "example": "YouTube",
- "type": "string"
+ "followerCount": {
+ "description": "Number of accounts that follow this account.",
+ "example": 458800,
+ "type": "integer"
},
- "duration": {
- "example": "00:29",
- "type": "string"
+ "followingCount": {
+ "description": "Number of accounts this account follows.",
+ "example": 1,
+ "type": "integer"
},
- "position": {
+ "friendCount": {
+ "description": "Number of friends, meaning accounts that follow each other.",
"example": 1,
"type": "integer"
},
- "thumbnail_url": {
- "type": "string"
+ "heart": {
+ "description": "Total likes the account's videos have received. Very large totals are rounded.",
+ "example": 800300,
+ "type": "integer"
},
- "title": {
- "example": "ChatGPT Demo",
- "type": "string"
+ "heartCount": {
+ "description": "Total likes the account's videos have received. Can be negative for accounts with more than about 2.1 billion likes; use `heart` then.",
+ "example": 800300,
+ "type": "integer"
},
- "url": {
- "example": "https://www.youtube.com/watch?v=example",
- "type": "string"
+ "videoCount": {
+ "description": "Number of videos the account has posted.",
+ "example": 59,
+ "type": "integer"
}
},
"type": "object"
},
- "yahoosearch.VideosResponse": {
+ "tiktok.SearchHashtagResp": {
"properties": {
- "query": {
- "example": "chatgpt",
+ "challenge_list": {
+ "description": "Hashtags (challenges) matching the keyword, one entry per hashtag, as TikTok returns them.",
+ "items": {},
+ "type": "array"
+ },
+ "cursor": {
+ "description": "Cursor to pass in the next request to get the next page of results.",
+ "type": "integer"
+ },
+ "extra": {
+ "description": "Response metadata from TikTok, such as the request log id."
+ },
+ "has_more": {
+ "description": "Whether more results remain after this page, as a number (`1` for yes).",
+ "type": "integer"
+ },
+ "input_keyword": {
+ "description": "Search keyword that was run.",
"type": "string"
},
- "results": {
- "items": {
- "$ref": "#/definitions/yahoosearch.VideoResult"
+ "log_pb": {
+ "description": "Request tracking information from TikTok, holding the `impr_id` impression id.",
+ "properties": {
+ "impr_id": {
+ "type": "string"
+ }
},
- "type": "array"
- }
- },
- "type": "object"
- },
- "yahoosearch.imagesResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "type": "object"
},
- "data": {
- "$ref": "#/definitions/yahoosearch.ImagesResponse"
+ "music_list": {
+ "description": "Matching sounds, as TikTok returns them. Usually `null` for a hashtag search."
},
- "msg": {
- "example": "OK",
+ "qc": {
+ "description": "Query token that TikTok returns with the search results.",
"type": "string"
- }
- },
- "type": "object"
- },
- "yahoosearch.localResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/yahoosearch.LocalResponse"
+ "rid": {
+ "description": "Request id that TikTok returns with the search results.",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "status_code": {
+ "description": "TikTok status code for the request. `0` on a successful response.",
+ "type": "integer"
+ },
+ "status_msg": {
+ "description": "Status message that goes with the status code.",
"type": "string"
+ },
+ "type": {
+ "description": "Result type code that TikTok returns with the search results.",
+ "type": "integer"
+ },
+ "user_list": {
+ "description": "Matching accounts, as TikTok returns them. Usually `null` for a hashtag search."
}
},
"type": "object"
},
- "yahoosearch.newsResponseDoc": {
+ "tiktok.SearchResp": {
"properties": {
- "code": {
- "example": 200,
+ "cursor": {
+ "description": "Cursor to pass in the next request to get the next page of results.",
"type": "integer"
},
"data": {
- "$ref": "#/definitions/yahoosearch.NewsResponse"
+ "description": "Search results, one entry per matching video, as TikTok returns them.",
+ "items": {},
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "extra": {
+ "description": "Response metadata from TikTok, such as the request log id."
+ },
+ "feedback_type": {
+ "description": "Feedback type label that TikTok returns with the search results.",
"type": "string"
- }
- },
- "type": "object"
- },
- "yahoosearch.searchResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ },
+ "has_more": {
+ "description": "Whether more results remain after this page, as a number (`1` for yes).",
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/yahoosearch.SearchResponse"
+ "input_keyword": {
+ "description": "Search keyword that was run.",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "itemList": {
+ "description": "Matching videos, as TikTok returns them. Often `null` when results are in `data`.",
+ "items": {},
+ "type": "array"
+ },
+ "log_pb": {
+ "description": "Request tracking information from TikTok, holding the `impr_id` impression id.",
+ "properties": {
+ "impr_id": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "qc": {
+ "description": "Query token that TikTok returns with the search results.",
"type": "string"
- }
- },
- "type": "object"
- },
- "yahoosearch.suggestResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/yahoosearch.SuggestResponse"
+ "rid": {
+ "description": "Request id that TikTok returns with the search results.",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "status_code": {
+ "description": "TikTok status code for the request. `0` on a successful response.",
+ "type": "integer"
+ },
+ "status_msg": {
+ "description": "Status message that goes with the status code.",
"type": "string"
+ },
+ "type": {
+ "description": "Result type code that TikTok returns with the search results.",
+ "type": "integer"
}
},
"type": "object"
},
- "yahoosearch.videosResponseDoc": {
+ "tiktok.SearchUserResp": {
"properties": {
- "code": {
- "example": 200,
+ "challenge_list": {
+ "description": "Matching hashtags, as TikTok returns them. Usually `null` for a user search."
+ },
+ "cursor": {
+ "description": "Cursor to pass in the next request to get the next page of results.",
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/yahoosearch.VideosResponse"
+ "extra": {
+ "description": "Response metadata from TikTok, such as the request log id."
},
- "msg": {
- "example": "OK",
- "type": "string"
- }
- },
- "type": "object"
- },
- "yahooshopping.ArticleResponse": {
- "properties": {
- "author": {
+ "feedback_type": {
+ "description": "Feedback type label that TikTok returns with the search results.",
"type": "string"
},
- "description": {
- "type": "string"
+ "global_doodle_config": {
+ "description": "Search page doodle settings that TikTok returns with the results."
},
- "image_url": {
- "type": "string"
+ "has_more": {
+ "description": "Whether more results remain after this page, as a number (`1` for yes).",
+ "type": "integer"
},
- "keywords": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "input_keyword": {
+ "description": "Search keyword that was run.",
+ "type": "string"
},
- "paragraphs": {
- "items": {
- "type": "string"
+ "log_pb": {
+ "description": "Request tracking information from TikTok, holding the `impr_id` impression id.",
+ "properties": {
+ "impr_id": {
+ "type": "string"
+ }
},
- "type": "array"
+ "type": "object"
},
- "provider": {
- "type": "string"
+ "music_list": {
+ "description": "Matching sounds, as TikTok returns them. Usually `null` for a user search."
},
- "published_at": {
+ "qc": {
+ "description": "Query token that TikTok returns with the search results.",
"type": "string"
},
- "section": {
+ "rid": {
+ "description": "Request id that TikTok returns with the search results.",
"type": "string"
},
- "title": {
- "type": "string"
+ "status_code": {
+ "description": "TikTok status code for the request. `0` on a successful response.",
+ "type": "integer"
},
- "updated_at": {
+ "status_msg": {
+ "description": "Status message that goes with the status code.",
"type": "string"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "yahooshopping.CategoryPaginate": {
- "properties": {
- "next_page": {
- "example": 2,
+ "type": {
+ "description": "Result type code that TikTok returns with the search results.",
"type": "integer"
},
- "page": {
- "example": 1,
- "type": "integer"
+ "user_list": {
+ "description": "Accounts matching the keyword, one entry per account, as TikTok returns them.",
+ "items": {},
+ "type": "array"
}
},
"type": "object"
},
- "yahooshopping.CategoryResponse": {
+ "tiktok.TrendingResp": {
"properties": {
- "category": {
+ "cursor": {
+ "description": "Cursor TikTok returns for the next page of the trending feed.",
"type": "string"
},
- "items": {
- "items": {
- "$ref": "#/definitions/yahooshopping.StreamItem"
+ "extra": {
+ "description": "Response metadata from TikTok, such as the request log id and server time.",
+ "properties": {
+ "fatal_item_ids": {
+ "items": {},
+ "type": "array"
+ },
+ "logid": {
+ "type": "string"
+ },
+ "now": {
+ "type": "integer"
+ }
},
+ "type": "object"
+ },
+ "hasMore": {
+ "description": "Whether more videos remain after this page.",
+ "type": "boolean"
+ },
+ "itemList": {
+ "description": "Videos in the trending feed, one entry per video, as TikTok returns them.",
+ "items": {},
"type": "array"
},
- "pagination": {
- "$ref": "#/definitions/yahooshopping.CategoryPaginate"
- }
- },
- "type": "object"
- },
- "yahooshopping.HomeResponse": {
- "properties": {
- "items": {
- "items": {
- "$ref": "#/definitions/yahooshopping.StreamItem"
+ "log_pb": {
+ "description": "Request tracking information from TikTok, holding the `impr_id` impression id.",
+ "properties": {
+ "impr_id": {
+ "type": "string"
+ }
},
+ "type": "object"
+ },
+ "statusCode": {
+ "description": "TikTok status code for the request. `0` on a successful response.",
+ "type": "integer"
+ },
+ "statusMsg": {
+ "description": "Status message that goes with the status code.",
+ "type": "string"
+ },
+ "status_code": {
+ "description": "Second copy of the TikTok status code, sent as `status_code`. `0` on a successful response.",
+ "type": "integer"
+ },
+ "status_msg": {
+ "description": "Second copy of the status message, sent as `status_msg`.",
+ "type": "string"
+ },
+ "trendingTopics": {
+ "description": "Trending topics returned with the feed, as TikTok returns them.",
+ "items": {},
"type": "array"
}
},
"type": "object"
},
- "yahooshopping.ShoppingListItem": {
+ "tiktok.User": {
"properties": {
- "currency": {
+ "avatarLarger": {
+ "description": "URL of the account's large profile picture.",
+ "example": "https://p16-pu-sign-useast8.tiktokcdn-us.com/tos-useast5-avt-0068-tx/fb1ed871dc01261013179da3fafcc1cd~c5_1080x1080.jpeg?lk3s=a5d48078&nonce=62362&refresh_token=e3e8e01eff1ea0116ae406af630dc407&x-expires=1734098400&x-signature=MXMzwWT8Tl1nxFZfYNQxOZM%2F%2Byo%3D&shp=a5d48078&shcp=81f88b70",
"type": "string"
},
- "image_url": {
- "type": "string"
+ "bioLink": {
+ "description": "Link shown in the account's bio.",
+ "properties": {
+ "link": {
+ "example": "www.openai.com/chatgpt",
+ "type": "string"
+ }
+ },
+ "type": "object"
},
- "price": {
- "type": "number"
+ "commerceUserInfo": {
+ "description": "Commerce details for the account: whether it is a commerce account and its category.",
+ "properties": {
+ "category": {
+ "example": "Software & Apps",
+ "type": "string"
+ },
+ "commerceUser": {
+ "example": true,
+ "type": "boolean"
+ }
+ },
+ "type": "object"
},
- "sale_price": {
- "type": "number"
+ "createTime": {
+ "description": "Time the account was created, in Unix seconds.",
+ "example": 1689461786,
+ "type": "integer"
},
- "seller": {
+ "id": {
+ "description": "TikTok numeric user id of the account.",
+ "example": "7256182609359995947",
"type": "string"
},
- "title": {
- "type": "string"
+ "isOrganization": {
+ "description": "Organisation account flag; `1` marks an organisation account.",
+ "example": 1,
+ "type": "integer"
},
- "url": {
+ "language": {
+ "description": "Language code set on the account, for example `en`.",
+ "example": "en",
"type": "string"
- }
- },
- "type": "object"
- },
- "yahooshopping.ShoppingListListing": {
- "properties": {
- "image_url": {
+ },
+ "nickname": {
+ "description": "Display name of the account.",
+ "example": "chatgpt",
"type": "string"
},
- "list": {
+ "privateAccount": {
+ "description": "Whether the account is private.",
+ "example": false,
+ "type": "boolean"
+ },
+ "region": {
+ "description": "Country or region code of the account, for example `US`.",
+ "example": "US",
"type": "string"
},
- "title": {
+ "secUid": {
+ "description": "TikTok secUid of the account. Use it as the `secUid` of the posts endpoint.",
+ "example": "MS4wLjABAAAAT4vq3vsh9X-Vb_WtV6tz4QWTbKjliTKCiK5DqnJNtQEA2RUveHb7UdnL7xgPK2HB",
"type": "string"
- }
- },
- "type": "object"
- },
- "yahooshopping.ShoppingListResponse": {
- "properties": {
- "items": {
- "items": {
- "$ref": "#/definitions/yahooshopping.ShoppingListItem"
- },
- "type": "array"
},
- "list": {
+ "secret": {
+ "description": "Secret-account flag as TikTok returns it.",
+ "example": false,
+ "type": "boolean"
+ },
+ "signature": {
+ "description": "Bio text shown on the account's profile.",
+ "example": "What can I help with?",
"type": "string"
},
- "title": {
+ "ttSeller": {
+ "description": "Whether the account is a TikTok Shop seller.",
+ "example": false,
+ "type": "boolean"
+ },
+ "uniqueId": {
+ "description": "Account handle, the name that follows `@` in the profile URL.",
+ "example": "uniqueId",
"type": "string"
+ },
+ "verified": {
+ "description": "Whether the account has a verified badge.",
+ "example": true,
+ "type": "boolean"
}
},
"type": "object"
},
- "yahooshopping.ShoppingListsResponse": {
+ "tiktok.UserPostLinkResp": {
"properties": {
- "lists": {
- "items": {
- "$ref": "#/definitions/yahooshopping.ShoppingListListing"
+ "cursor": {
+ "description": "Cursor to pass in the next request to get the next page of posts.",
+ "type": "string"
+ },
+ "extra": {
+ "description": "Response metadata from TikTok, such as the request log id and server time.",
+ "properties": {
+ "fatal_item_ids": {
+ "items": {},
+ "type": "array"
+ },
+ "logid": {
+ "type": "string"
+ },
+ "now": {
+ "type": "integer"
+ }
},
+ "type": "object"
+ },
+ "hasMore": {
+ "description": "Whether more posts remain after this page.",
+ "type": "boolean"
+ },
+ "itemList": {
+ "description": "Videos posted by the account, one entry per video, as TikTok returns them.",
+ "items": {},
"type": "array"
- }
- },
- "type": "object"
- },
- "yahooshopping.StoreListing": {
- "properties": {
- "logo_url": {
- "type": "string"
},
- "name": {
- "type": "string"
+ "log_pb": {
+ "description": "Request tracking information from TikTok, holding the `impr_id` impression id.",
+ "properties": {
+ "impr_id": {
+ "type": "string"
+ }
+ },
+ "type": "object"
},
- "store": {
+ "status_code": {
+ "description": "TikTok status code for the request. `0` on a successful response.",
+ "type": "integer"
+ },
+ "status_msg": {
+ "description": "Status message that goes with the status code.",
"type": "string"
}
},
"type": "object"
},
- "yahooshopping.StoreOffer": {
+ "tiktok.VideoDetailResp": {
"properties": {
- "brand": {
- "type": "string"
- },
- "currency": {
- "type": "string"
+ "extra": {
+ "description": "Response metadata from TikTok, such as the request log id and server time.",
+ "properties": {
+ "fatal_item_ids": {
+ "items": {},
+ "type": "array"
+ },
+ "logid": {
+ "type": "string"
+ },
+ "now": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
},
- "image_url": {
- "type": "string"
+ "itemInfo": {
+ "description": "Details of the video, as TikTok returns them."
},
- "price": {
- "type": "number"
+ "log_pb": {
+ "description": "Request tracking information from TikTok, holding the `impr_id` impression id.",
+ "properties": {
+ "impr_id": {
+ "type": "string"
+ }
+ },
+ "type": "object"
},
- "sale_price": {
- "type": "number"
+ "shareMeta": {
+ "description": "Title and description TikTok uses when the video is shared.",
+ "properties": {
+ "desc": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ }
+ },
+ "type": "object"
},
- "title": {
- "type": "string"
+ "status_code": {
+ "description": "TikTok status code for the request. `0` on a successful response.",
+ "type": "integer"
},
- "url": {
+ "status_msg": {
+ "description": "Status message that goes with the status code.",
"type": "string"
}
},
"type": "object"
},
- "yahooshopping.StoreResponse": {
+ "tiktok.categoryResponseDoc": {
"properties": {
- "name": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "offers": {
+ "data": {
"items": {
- "$ref": "#/definitions/yahooshopping.StoreOffer"
+ "$ref": "#/definitions/tiktok.Category"
},
"type": "array"
},
- "store": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "yahooshopping.StoresResponse": {
+ "tiktok.challengeListResponseDoc": {
"properties": {
- "stores": {
- "items": {
- "$ref": "#/definitions/yahooshopping.StoreListing"
- },
- "type": "array"
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/tiktok.ChallengeListResp"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "yahooshopping.StreamItem": {
+ "tiktok.challengeResponseDoc": {
"properties": {
- "category": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "thumbnail_url": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "title": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/tiktok.ChallengeDetailResp"
},
- "url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "yahooshopping.articleResponseDoc": {
+ "tiktok.commentsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/yahooshopping.ArticleResponse"
+ "$ref": "#/definitions/tiktok.CommentResp"
},
"msg": {
"example": "OK",
@@ -263969,14 +268435,14 @@
},
"type": "object"
},
- "yahooshopping.categoryResponseDoc": {
+ "tiktok.exploreResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/yahooshopping.CategoryResponse"
+ "$ref": "#/definitions/tiktok.ExploreResp"
},
"msg": {
"example": "OK",
@@ -263985,14 +268451,14 @@
},
"type": "object"
},
- "yahooshopping.homeResponseDoc": {
+ "tiktok.postResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/yahooshopping.HomeResponse"
+ "$ref": "#/definitions/tiktok.VideoDetailResp"
},
"msg": {
"example": "OK",
@@ -264001,14 +268467,14 @@
},
"type": "object"
},
- "yahooshopping.shoppingListResponseDoc": {
+ "tiktok.profilePostResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/yahooshopping.ShoppingListResponse"
+ "$ref": "#/definitions/tiktok.UserPostLinkResp"
},
"msg": {
"example": "OK",
@@ -264017,14 +268483,14 @@
},
"type": "object"
},
- "yahooshopping.shoppingListsResponseDoc": {
+ "tiktok.profileResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/yahooshopping.ShoppingListsResponse"
+ "$ref": "#/definitions/tiktok.Profile"
},
"msg": {
"example": "OK",
@@ -264033,14 +268499,14 @@
},
"type": "object"
},
- "yahooshopping.storeResponseDoc": {
+ "tiktok.searchHashtagResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/yahooshopping.StoreResponse"
+ "$ref": "#/definitions/tiktok.SearchHashtagResp"
},
"msg": {
"example": "OK",
@@ -264049,14 +268515,14 @@
},
"type": "object"
},
- "yahooshopping.storesResponseDoc": {
+ "tiktok.searchResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/yahooshopping.StoresResponse"
+ "$ref": "#/definitions/tiktok.SearchResp"
},
"msg": {
"example": "OK",
@@ -264065,1690 +268531,1306 @@
},
"type": "object"
},
- "yahoosports.Broadcast": {
+ "tiktok.searchUserResponseDoc": {
"properties": {
- "abbr": {
- "example": "NFLN",
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "name": {
- "example": "NFL Network",
+ "data": {
+ "$ref": "#/definitions/tiktok.SearchUserResp"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "yahoosports.Game": {
+ "tiktok.trendingResponseDoc": {
"properties": {
- "away_score": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "away_team": {
- "$ref": "#/definitions/yahoosports.TeamRef"
- },
- "broadcasts": {
- "items": {
- "$ref": "#/definitions/yahoosports.Broadcast"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/tiktok.TrendingResp"
},
- "display_name": {
- "example": "Green Bay @ Pittsburgh",
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "tiktokmobile.CategoryListResponse": {
+ "properties": {
+ "category_list": {
+ "items": {},
+ "type": "array"
},
- "home_score": {
+ "cursor": {
"type": "integer"
},
- "home_team": {
- "$ref": "#/definitions/yahoosports.TeamRef"
- },
- "id": {
- "example": "nfl.g.20260813023",
- "type": "string"
- },
- "slug": {
- "example": "green-bay-packers-pittsburgh-steelers-20260813023",
- "type": "string"
+ "device_type": {
+ "type": "integer"
},
- "start_time": {
- "example": "2026-08-13T16:00:00-07:00",
- "type": "string"
+ "extra": {},
+ "has_more": {
+ "type": "boolean"
},
- "status": {
- "example": "PREGAME",
- "type": "string"
+ "log_pb": {},
+ "status_code": {
+ "type": "integer"
},
- "status_display": {
+ "status_msg": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "tiktokmobile.CollectionDetailResponse": {
+ "properties": {
+ "extra": {},
+ "item_archive": {},
+ "log_pb": {},
+ "status_code": {
+ "type": "integer"
},
- "url": {
+ "status_msg": {
"type": "string"
- },
- "venue": {
- "$ref": "#/definitions/yahoosports.Venue"
- },
- "week": {
- "type": "integer"
}
},
"type": "object"
},
- "yahoosports.GameResponse": {
+ "tiktokmobile.CollectionListResponse": {
"properties": {
- "away_score": {
+ "cursor": {
"type": "integer"
},
- "away_team": {
- "$ref": "#/definitions/yahoosports.TeamRef"
+ "extra": {},
+ "has_more": {
+ "type": "boolean"
},
- "broadcasts": {
- "items": {
- "$ref": "#/definitions/yahoosports.Broadcast"
- },
+ "item_archive_detail_list": {
+ "items": {},
"type": "array"
},
- "display_name": {
- "example": "Cleveland @ Detroit",
- "type": "string"
+ "log_pb": {},
+ "status_code": {
+ "type": "integer"
},
- "fetched_at": {
+ "status_msg": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "tiktokmobile.CollectionVideosResponse": {
+ "properties": {
+ "extra": {},
+ "has_more": {
+ "type": "boolean"
},
- "game": {
- "example": "cleveland-guardians-detroit-tigers-460811106",
- "type": "string"
+ "items": {
+ "items": {},
+ "type": "array"
},
- "home_score": {
+ "log_pb": {},
+ "max_cursor": {
"type": "integer"
},
- "home_team": {
- "$ref": "#/definitions/yahoosports.TeamRef"
+ "min_cursor": {
+ "type": "integer"
},
- "id": {
- "example": "mlb.g.460811106",
- "type": "string"
+ "status_code": {
+ "type": "integer"
},
- "league": {
- "example": "mlb",
+ "status_msg": {
"type": "string"
- },
- "line_score": {
- "items": {
- "$ref": "#/definitions/yahoosports.LinePeriod"
- },
+ }
+ },
+ "type": "object"
+ },
+ "tiktokmobile.CommentRepliesResponse": {
+ "properties": {
+ "comments": {
+ "items": {},
"type": "array"
},
- "source_url": {
- "type": "string"
+ "cursor": {
+ "type": "integer"
},
- "start_time": {
- "type": "string"
+ "has_more": {
+ "type": "boolean"
},
- "status": {
- "example": "FINAL",
- "type": "string"
+ "status_code": {
+ "type": "integer"
},
- "status_display": {
- "example": "Final",
+ "status_msg": {
"type": "string"
},
- "team_stats": {
- "items": {
- "$ref": "#/definitions/yahoosports.TeamStatLine"
- },
- "type": "array"
- },
- "venue": {
- "$ref": "#/definitions/yahoosports.Venue"
- },
- "week": {
+ "total": {
"type": "integer"
- },
- "winning_team_id": {
- "type": "string"
}
},
"type": "object"
},
- "yahoosports.GolfLeaderboardEntry": {
+ "tiktokmobile.CommentsResponse": {
"properties": {
- "player": {
- "$ref": "#/definitions/yahoosports.GolfPlayerRef"
- },
- "rank": {
- "example": "T1",
- "type": "string"
- },
- "rounds": {
- "items": {
- "$ref": "#/definitions/yahoosports.GolfRoundResult"
- },
+ "comments": {
+ "items": {},
"type": "array"
},
- "score": {
- "example": -5,
+ "cursor": {
"type": "integer"
},
- "score_display": {
- "example": "-5",
- "type": "string"
+ "has_more": {
+ "type": "boolean"
},
- "stats": {
- "$ref": "#/definitions/yahoosports.GolfPlayerStats"
+ "status_code": {
+ "type": "integer"
},
- "status": {
- "example": "IN_PROGRESS",
+ "status_msg": {
"type": "string"
},
- "thru": {
- "example": 18,
+ "total": {
"type": "integer"
}
},
"type": "object"
},
- "yahoosports.GolfLeaderboardResponse": {
+ "tiktokmobile.FeedItem": {
"properties": {
- "count": {
- "example": 156,
+ "author_id": {
"type": "integer"
},
- "entries": {
- "items": {
- "$ref": "#/definitions/yahoosports.GolfLeaderboardEntry"
- },
- "type": "array"
+ "author_id_str": {
+ "description": "AuthorIDStr is the same uid as a string. TikTok uids exceed 2^53, so JavaScript consumers of the numeric\nauthor_id receive a rounded value; read this field instead. author_id stays for existing typed clients.",
+ "type": "string"
},
- "fetched_at": {
+ "aweme_id": {
"type": "string"
},
- "season": {
- "example": 2026,
+ "create_time": {
"type": "integer"
},
- "source_url": {
- "type": "string"
- },
- "tour": {
- "example": "pga-tour",
+ "share_url": {
"type": "string"
},
- "tournament": {
- "$ref": "#/definitions/yahoosports.GolfTournamentRef"
+ "statistics": {
+ "$ref": "#/definitions/tiktokmobile.FeedStatistics"
}
},
"type": "object"
},
- "yahoosports.GolfPlayerRef": {
+ "tiktokmobile.FeedResponse": {
"properties": {
- "country": {
- "example": "United States",
- "type": "string"
- },
- "id": {
- "example": "golf.p.23296",
- "type": "string"
+ "count": {
+ "type": "integer"
},
- "name": {
- "example": "Michael Thorbjornsen",
+ "fetched_at": {
"type": "string"
},
- "short_name": {
- "example": "M. Thorbjornsen",
+ "host": {
"type": "string"
},
- "url": {
- "type": "string"
+ "items": {
+ "items": {
+ "$ref": "#/definitions/tiktokmobile.FeedItem"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "yahoosports.GolfPlayerStats": {
+ "tiktokmobile.FeedStatistics": {
"properties": {
- "birdies": {
- "example": 12,
+ "aweme_id": {
+ "type": "string"
+ },
+ "collect_count": {
"type": "integer"
},
- "bogeys": {
- "example": 3,
+ "comment_count": {
"type": "integer"
},
- "double_bogeys": {
- "example": 0,
+ "digg_count": {
"type": "integer"
},
- "eagles": {
- "example": 1,
+ "download_count": {
"type": "integer"
},
- "earnings": {
- "example": "$0.00",
- "type": "string"
+ "forward_count": {
+ "type": "integer"
},
- "pars": {
- "example": 48,
+ "lose_comment_count": {
"type": "integer"
- }
- },
- "type": "object"
- },
- "yahoosports.GolfRoundResult": {
- "properties": {
- "round": {
- "example": 1,
+ },
+ "lose_count": {
"type": "integer"
},
- "score": {
- "example": -5,
+ "play_count": {
"type": "integer"
},
- "score_display": {
- "example": "-5",
- "type": "string"
+ "repost_count": {
+ "type": "integer"
},
- "strokes": {
- "example": 65,
+ "share_count": {
+ "type": "integer"
+ },
+ "whatsapp_share_count": {
"type": "integer"
}
},
"type": "object"
},
- "yahoosports.GolfScheduleResponse": {
+ "tiktokmobile.HashtagInfoResponse": {
"properties": {
- "count": {
- "example": 41,
- "type": "integer"
- },
- "fetched_at": {
+ "ch_info": {},
+ "hashtag_name": {
"type": "string"
},
- "season": {
- "example": 2026,
+ "status_code": {
"type": "integer"
},
- "source_url": {
- "type": "string"
- },
- "tour": {
- "example": "pga-tour",
+ "status_msg": {
"type": "string"
- },
- "tournaments": {
- "items": {
- "$ref": "#/definitions/yahoosports.GolfTournament"
- },
- "type": "array"
}
},
"type": "object"
},
- "yahoosports.GolfTournament": {
+ "tiktokmobile.HashtagPostsResponse": {
"properties": {
- "end_date": {
- "example": "2026-08-16",
- "type": "string"
+ "aweme_list": {
+ "items": {},
+ "type": "array"
},
- "id": {
- "example": "golf.e.23",
- "type": "string"
+ "cursor": {
+ "type": "integer"
},
- "name": {
- "example": "FedEx St. Jude Championship",
- "type": "string"
+ "has_more": {
+ "type": "boolean"
},
- "purse": {
- "example": "20000000.00",
+ "status_code": {
+ "type": "integer"
+ },
+ "status_msg": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "tiktokmobile.HashtagSearchResponse": {
+ "properties": {
+ "challenge_list": {
+ "items": {},
+ "type": "array"
},
- "season": {
- "example": 2026,
+ "cursor": {
"type": "integer"
},
- "start_date": {
- "example": "2026-08-13",
- "type": "string"
+ "has_more": {
+ "type": "boolean"
},
- "status": {
- "example": "IN_PROGRESS",
- "type": "string"
+ "status_code": {
+ "type": "integer"
},
- "url": {
+ "status_msg": {
"type": "string"
- },
- "venue": {
- "$ref": "#/definitions/yahoosports.Venue"
}
},
"type": "object"
},
- "yahoosports.GolfTournamentRef": {
+ "tiktokmobile.HotMusicResponse": {
"properties": {
- "current_round": {
- "example": 1,
+ "cursor": {
"type": "integer"
},
- "end_date": {
- "example": "2026-08-16",
- "type": "string"
- },
- "id": {
- "example": "golf.e.23",
- "type": "string"
+ "extra": {},
+ "has_more": {
+ "type": "boolean"
},
- "name": {
- "example": "FedEx St. Jude Championship",
+ "log_pb": {},
+ "msg": {
"type": "string"
},
- "purse": {
- "example": "20000000.00",
- "type": "string"
+ "music_list": {
+ "items": {},
+ "type": "array"
},
- "rounds": {
- "example": 4,
+ "status_code": {
"type": "integer"
},
- "start_date": {
- "example": "2026-08-13",
- "type": "string"
- },
- "status": {
- "example": "IN_PROGRESS",
- "type": "string"
- },
- "url": {
+ "status_msg": {
"type": "string"
- },
- "venue": {
- "$ref": "#/definitions/yahoosports.Venue"
}
},
"type": "object"
},
- "yahoosports.LinePeriod": {
+ "tiktokmobile.LiveGameCategory": {
"properties": {
- "away": {
- "type": "integer"
- },
- "home": {
+ "game_type": {
"type": "integer"
},
- "label": {
- "example": "Bottom 5th",
+ "title": {
"type": "string"
}
},
"type": "object"
},
- "yahoosports.MMAEvent": {
+ "tiktokmobile.LiveGameTag": {
"properties": {
- "id": {
- "example": "combat.e.2144",
- "type": "string"
- },
- "name": {
- "example": "UFC 324: Gaethje vs. Pimblett",
+ "bundle_id": {
"type": "string"
},
- "start_time": {
- "example": "2026-01-25T07:12:00+08:00",
+ "full_name": {
"type": "string"
},
- "status": {
- "example": "FINAL",
- "type": "string"
- }
- },
- "type": "object"
- },
- "yahoosports.MMAFight": {
- "properties": {
- "card_position": {
- "example": "Main",
- "type": "string"
+ "game_category": {
+ "items": {
+ "$ref": "#/definitions/tiktokmobile.LiveGameCategory"
+ },
+ "type": "array"
},
- "current_round": {
- "type": "integer"
+ "gar": {
+ "items": {},
+ "type": "array"
},
- "fighter_one": {
- "$ref": "#/definitions/yahoosports.MMAFighterRef"
+ "hashtag_id": {
+ "items": {},
+ "type": "array"
},
- "fighter_two": {
- "$ref": "#/definitions/yahoosports.MMAFighterRef"
+ "hashtag_list": {
+ "items": {
+ "$ref": "#/definitions/tiktokmobile.LiveHashtag"
+ },
+ "type": "array"
},
"id": {
- "example": "combat.g.13595836",
- "type": "string"
+ "type": "integer"
},
- "start_time": {
- "example": "2026-08-16T10:00:00+08:00",
- "type": "string"
+ "is_new_game": {
+ "type": "boolean"
},
- "status": {
- "example": "PREGAME",
+ "landscape": {
+ "type": "integer"
+ },
+ "package_name": {
"type": "string"
},
- "weight_class": {
- "example": "Womens Strawweight",
+ "short_name": {
"type": "string"
},
- "winner_id": {
+ "show_name": {
"type": "string"
}
},
"type": "object"
},
- "yahoosports.MMAFightCardResponse": {
+ "tiktokmobile.LiveHashtag": {
"properties": {
- "count": {
- "example": 12,
+ "id": {
"type": "integer"
},
- "event": {
- "$ref": "#/definitions/yahoosports.MMAEvent"
+ "image": {},
+ "namespace": {
+ "type": "integer"
},
- "fetched_at": {
+ "title": {
"type": "string"
- },
- "fights": {
- "items": {
- "$ref": "#/definitions/yahoosports.MMAFight"
- },
- "type": "array"
- },
- "promotion": {
- "example": "UFC",
+ }
+ },
+ "type": "object"
+ },
+ "tiktokmobile.LiveRoomOwner": {
+ "properties": {
+ "avatar": {},
+ "nickname": {
"type": "string"
},
- "source_url": {
+ "user_id": {
"type": "string"
}
},
"type": "object"
},
- "yahoosports.MMAFighterRef": {
+ "tiktokmobile.LiveRoomStats": {
"properties": {
- "country": {
- "example": "United States",
- "type": "string"
+ "comment_count": {
+ "type": "integer"
},
- "fighting_out_of": {
- "example": "United States",
- "type": "string"
+ "enter_count": {
+ "type": "integer"
},
- "headshot_url": {
- "type": "string"
+ "follow_count": {
+ "type": "integer"
},
- "id": {
- "example": "combat.p.2087412",
- "type": "string"
+ "like_count": {
+ "type": "integer"
},
- "name": {
- "example": "Mackenzie Dern",
- "type": "string"
+ "replay_viewers": {
+ "type": "integer"
},
- "rank": {
- "example": 5,
+ "share_count": {
"type": "integer"
},
- "record": {
- "example": "16-5-0",
- "type": "string"
+ "total_user": {
+ "type": "integer"
+ },
+ "watch_user_count": {
+ "type": "integer"
}
},
"type": "object"
},
- "yahoosports.MMAScheduleResponse": {
+ "tiktokmobile.LiveRoomStream": {
"properties": {
- "count": {
- "example": 51,
- "type": "integer"
- },
- "events": {
+ "candidate_resolution": {
"items": {
- "$ref": "#/definitions/yahoosports.MMAEvent"
+ "type": "string"
},
"type": "array"
},
- "fetched_at": {
+ "default_resolution": {
"type": "string"
},
- "promotion": {
- "example": "UFC",
+ "flv_pull_url": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "hls_pull_url": {
"type": "string"
},
- "source_url": {
+ "rtmp_pull_url": {
"type": "string"
}
},
"type": "object"
},
- "yahoosports.MotorsportsCar": {
+ "tiktokmobile.LiveSearchResponse": {
"properties": {
- "engine": {
- "example": "Mercedes M08 EQ Power+",
- "type": "string"
+ "cursor": {
+ "type": "integer"
},
- "model": {
- "example": "Mercedes F1 W08 EQ Power+",
+ "data": {
+ "items": {},
+ "type": "array"
+ },
+ "extra": {},
+ "extra_data": {},
+ "feedback_type": {
"type": "string"
},
- "number": {
- "example": 63,
+ "global_doodle_config": {},
+ "guide_search_words": {},
+ "has_more": {
+ "type": "boolean"
+ },
+ "log_pb": {},
+ "status_code": {
"type": "integer"
},
- "owner": {
- "example": "Mercedes AMG Motorsport",
+ "status_msg": {
"type": "string"
}
},
"type": "object"
},
- "yahoosports.MotorsportsDriverRef": {
+ "tiktokmobile.MusicBeatsSongsResponse": {
"properties": {
- "id": {
- "example": "motorsports.p.1490",
- "type": "string"
+ "extra": {},
+ "log_pb": {},
+ "music_list": {
+ "items": {},
+ "type": "array"
},
- "name": {
- "example": "George Russell",
- "type": "string"
+ "status_code": {
+ "type": "integer"
},
- "url": {
+ "status_msg": {
"type": "string"
}
},
"type": "object"
},
- "yahoosports.MotorsportsRace": {
+ "tiktokmobile.MusicChartResponse": {
"properties": {
- "distance_mi": {
- "example": "306.12",
- "type": "string"
- },
- "id": {
- "example": "motorsports.g.2961",
+ "chart_info": {},
+ "cover_image_url": {
"type": "string"
},
- "laps": {
- "example": 58,
+ "cursor": {
"type": "integer"
},
- "laps_completed": {
- "example": 58,
- "type": "integer"
+ "extra": {},
+ "has_more": {
+ "type": "boolean"
},
- "name": {
- "example": "Australian Grand Prix",
+ "log_pb": {},
+ "msg": {
"type": "string"
},
- "pole_winner": {
- "$ref": "#/definitions/yahoosports.MotorsportsDriverRef"
- },
- "race_winner": {
- "$ref": "#/definitions/yahoosports.MotorsportsDriverRef"
- },
- "start_time": {
- "example": "2026-03-07T20:00:00-08:00",
- "type": "string"
+ "music_list": {
+ "items": {},
+ "type": "array"
},
- "status": {
- "example": "FINAL",
- "type": "string"
+ "status_code": {
+ "type": "integer"
},
- "url": {
+ "status_msg": {
"type": "string"
- },
- "venue": {
- "$ref": "#/definitions/yahoosports.Venue"
}
},
"type": "object"
},
- "yahoosports.MotorsportsRaceResponse": {
+ "tiktokmobile.MusicCollectionFeedResponse": {
"properties": {
- "count": {
- "example": 20,
+ "cursor": {
"type": "integer"
},
- "fetched_at": {
- "type": "string"
- },
- "race": {
- "$ref": "#/definitions/yahoosports.MotorsportsRace"
+ "extra": {},
+ "has_more": {
+ "type": "boolean"
},
- "results": {
- "items": {
- "$ref": "#/definitions/yahoosports.MotorsportsResult"
- },
+ "log_pb": {},
+ "mcf_list": {
+ "items": {},
"type": "array"
},
- "season": {
- "example": 2026,
+ "status_code": {
"type": "integer"
},
- "series": {
- "example": "f1",
- "type": "string"
- },
- "source_url": {
+ "status_msg": {
"type": "string"
}
},
"type": "object"
},
- "yahoosports.MotorsportsResult": {
+ "tiktokmobile.MusicDetailResponse": {
"properties": {
- "bonus_points": {
- "type": "integer"
- },
- "car": {
- "$ref": "#/definitions/yahoosports.MotorsportsCar"
- },
- "driver": {
- "$ref": "#/definitions/yahoosports.MotorsportsDriverRef"
+ "ai_recommend_music": {},
+ "ai_recommend_video": {},
+ "behind_the_song_exist": {
+ "type": "boolean"
},
- "fastest_lap_time": {
- "example": "1:22.670",
+ "cost_time_info": {},
+ "extra": {},
+ "log_pb": {},
+ "msg": {
"type": "string"
},
- "laps": {
- "example": 58,
- "type": "integer"
- },
- "laps_led": {
- "example": 32,
- "type": "integer"
- },
- "place": {
- "example": 1,
- "type": "integer"
- },
- "points": {
- "example": 25,
- "type": "integer"
- },
- "starting_pos": {
- "example": 1,
+ "music_chart_rank": {},
+ "music_info": {},
+ "rec_list": {},
+ "similar_music": {},
+ "similar_music_ids": {},
+ "status_code": {
"type": "integer"
},
- "status": {
- "example": "RUNNING",
- "type": "string"
- },
- "time": {
- "example": "1:23:06.801",
+ "status_msg": {
"type": "string"
}
},
"type": "object"
},
- "yahoosports.MotorsportsScheduleResponse": {
+ "tiktokmobile.MusicFreshAwemeResponse": {
"properties": {
- "count": {
- "example": 24,
+ "aweme_list": {
+ "items": {},
+ "type": "array"
+ },
+ "can_pin_video": {
+ "description": "popular listing only"
+ },
+ "cursor": {
"type": "integer"
},
- "fetched_at": {
- "type": "string"
+ "extra": {},
+ "has_more": {
+ "type": "boolean"
},
- "races": {
- "items": {
- "$ref": "#/definitions/yahoosports.MotorsportsRace"
- },
- "type": "array"
+ "log_pb": {},
+ "need_lazy_loading": {
+ "description": "popular listing only"
},
- "season": {
- "example": 2026,
+ "status_code": {
"type": "integer"
},
- "series": {
- "example": "f1",
- "type": "string"
- },
- "source_url": {
+ "status_msg": {
"type": "string"
}
},
"type": "object"
},
- "yahoosports.NewsArticle": {
+ "tiktokmobile.MusicPickResponse": {
"properties": {
- "author": {
- "example": "Yahoo Sports Staff",
- "type": "string"
- },
- "category": {
- "example": "Sports",
- "type": "string"
- },
- "published": {
- "example": "2026-08-13T15:25:12Z",
- "type": "string"
+ "cursor": {
+ "type": "integer"
},
- "summary": {
- "type": "string"
+ "has_more": {
+ "type": "boolean"
},
- "title": {
- "example": "NFL news, live updates: ...",
- "type": "string"
+ "mc_list": {
+ "items": {},
+ "type": "array"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "yahoosports.NewsResponse": {
- "properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/yahoosports.NewsArticle"
- },
+ "music_list": {
+ "items": {},
"type": "array"
},
- "count": {
- "example": 50,
+ "radio_cursor": {
"type": "integer"
},
- "fetched_at": {
- "type": "string"
- },
- "league": {
- "example": "nfl",
- "type": "string"
+ "status_code": {
+ "type": "integer"
},
- "source_url": {
+ "status_msg": {
"type": "string"
}
},
"type": "object"
},
- "yahoosports.OlympicsCountryMedals": {
+ "tiktokmobile.MusicRelatedResponse": {
"properties": {
- "bronze": {
- "example": 11,
+ "cursor": {
"type": "integer"
},
- "country": {
- "example": "Norway",
- "type": "string"
+ "has_more": {
+ "type": "boolean"
},
- "gold": {
- "example": 18,
- "type": "integer"
+ "music_list": {
+ "items": {},
+ "type": "array"
},
- "ioc_code": {
- "example": "NOR",
- "type": "string"
+ "music_type": {
+ "type": "integer"
},
- "iso_code": {
- "example": "NOR",
- "type": "string"
+ "recall_info_list": {
+ "items": {},
+ "type": "array"
},
- "rank": {
- "example": 1,
- "type": "integer"
+ "similar_song_ids": {
+ "items": {},
+ "type": "array"
},
- "silver": {
- "example": 12,
+ "status_code": {
"type": "integer"
},
- "total": {
- "example": 41,
- "type": "integer"
+ "status_msg": {
+ "type": "string"
}
},
"type": "object"
},
- "yahoosports.OlympicsGames": {
+ "tiktokmobile.PlaceMediaResponse": {
"properties": {
- "end_date": {
- "example": "2026-02-22T08:00:00+08:00",
+ "data_version": {
"type": "string"
},
- "name": {
- "example": "Milan 2026 Winter Olympics",
+ "extra": {},
+ "has_more": {
+ "type": "boolean"
+ },
+ "item_list": {
+ "items": {},
+ "type": "array"
+ },
+ "log_pb": {},
+ "next_cursor": {
"type": "string"
},
- "season": {
- "example": 2026,
+ "pos": {},
+ "post_bottom_bar_style": {},
+ "status_code": {
"type": "integer"
},
- "short_name": {
- "example": "Milan",
+ "status_msg": {
"type": "string"
},
- "start_date": {
- "example": "2026-02-06T08:00:00+08:00",
+ "title": {
"type": "string"
}
},
"type": "object"
},
- "yahoosports.OlympicsMedalsResponse": {
+ "tiktokmobile.PlacePOIContainer": {
"properties": {
- "count": {
- "example": 93,
- "type": "integer"
- },
- "fetched_at": {
- "type": "string"
- },
- "games": {
- "$ref": "#/definitions/yahoosports.OlympicsGames"
- },
- "medals": {
- "items": {
- "$ref": "#/definitions/yahoosports.OlympicsCountryMedals"
- },
+ "poi_info": {
+ "items": {},
"type": "array"
- },
- "source_url": {
- "type": "string"
}
},
"type": "object"
},
- "yahoosports.PlayerDetail": {
+ "tiktokmobile.PlaceReviewsResponse": {
"properties": {
- "age": {
- "type": "integer"
- },
- "college": {
- "type": "string"
- },
- "draft_pick": {
- "example": 34,
+ "collect_info": {},
+ "cursor": {
"type": "integer"
},
- "draft_round": {
- "example": 7,
+ "extra": {},
+ "folded_cursor": {
"type": "integer"
},
- "draft_year": {
- "example": 2025,
- "type": "integer"
+ "folded_has_more": {
+ "type": "boolean"
},
- "experience_years": {
- "type": "integer"
+ "has_more": {
+ "type": "boolean"
},
- "height": {
- "example": "6'4\"",
- "type": "string"
+ "is_hide_review_summary": {
+ "type": "boolean"
},
- "id": {
- "example": "nfl.p.42019",
- "type": "string"
+ "landing_tab": {
+ "type": "integer"
},
- "injury": {
- "example": "Questionable",
+ "log_pb": {},
+ "poi_id": {
"type": "string"
},
- "name": {
- "example": "John Williams",
+ "poi_name": {
"type": "string"
},
- "number": {
- "example": "73",
+ "post_review_description": {
"type": "string"
},
- "position": {
- "example": "G",
+ "post_review_sub_description": {
"type": "string"
},
- "season_stats": {
- "items": {
- "$ref": "#/definitions/yahoosports.SeasonStatCategory"
- },
+ "review_summary": {},
+ "review_tags": {
+ "items": {},
"type": "array"
},
- "status": {
- "example": "ACT",
- "type": "string"
+ "reviews": {
+ "items": {},
+ "type": "array"
},
- "team": {
- "$ref": "#/definitions/yahoosports.TeamRef"
+ "status_code": {
+ "type": "integer"
},
- "url": {
+ "status_msg": {
"type": "string"
- },
- "weight": {
- "type": "integer"
}
},
"type": "object"
},
- "yahoosports.PlayerResponse": {
+ "tiktokmobile.PlaylistDetailResponse": {
"properties": {
- "fetched_at": {
- "type": "string"
+ "extra": {},
+ "is_collect": {
+ "type": "boolean"
},
- "league": {
- "example": "nfl",
- "type": "string"
+ "log_pb": {},
+ "mix": {
+ "$ref": "#/definitions/tiktokmobile.PlaylistSummary"
},
- "player": {
- "$ref": "#/definitions/yahoosports.PlayerDetail"
+ "status_code": {
+ "type": "integer"
},
- "source_url": {
+ "status_msg": {
"type": "string"
}
},
"type": "object"
},
- "yahoosports.RosterPlayer": {
+ "tiktokmobile.PlaylistListResponse": {
"properties": {
- "age": {
+ "cursor": {
"type": "integer"
},
- "college": {
- "type": "string"
- },
- "experience_years": {
- "type": "integer"
+ "extra": {},
+ "has_more": {
+ "type": "boolean"
},
- "height": {
- "example": "6'4\"",
- "type": "string"
+ "log_pb": {},
+ "mix_list": {
+ "items": {
+ "$ref": "#/definitions/tiktokmobile.PlaylistSummary"
+ },
+ "type": "array"
},
- "id": {
- "example": "nfl.p.42019",
- "type": "string"
+ "status_code": {
+ "type": "integer"
},
- "injury": {
- "example": "Questionable",
+ "status_msg": {
"type": "string"
},
- "name": {
- "example": "John Williams",
+ "total": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "tiktokmobile.PlaylistSummary": {
+ "properties": {
+ "author": {},
+ "creator_name": {
"type": "string"
},
- "number": {
- "example": "73",
- "type": "string"
+ "last_add_video_timestamp": {
+ "type": "integer"
},
- "position": {
- "example": "G",
+ "mix_id": {
"type": "string"
},
- "status": {
- "example": "ACT",
- "type": "string"
+ "mix_type": {
+ "type": "integer"
},
- "url": {
+ "name": {
"type": "string"
},
- "weight": {
- "type": "integer"
- }
+ "share_info": {},
+ "statistic": {},
+ "status": {}
},
"type": "object"
},
- "yahoosports.RosterResponse": {
+ "tiktokmobile.PlaylistVideosResponse": {
"properties": {
- "count": {
- "example": 53,
+ "cursor": {
"type": "integer"
},
- "fetched_at": {
- "type": "string"
- },
- "league": {
- "example": "nfl",
- "type": "string"
+ "has_more": {
+ "type": "boolean"
},
- "players": {
- "items": {
- "$ref": "#/definitions/yahoosports.RosterPlayer"
- },
+ "item_list": {
+ "items": {},
"type": "array"
},
- "source_url": {
- "type": "string"
+ "status_code": {
+ "type": "integer"
},
- "team": {
- "$ref": "#/definitions/yahoosports.TeamRef"
+ "status_msg": {
+ "type": "string"
}
},
"type": "object"
},
- "yahoosports.ScoreboardResponse": {
+ "tiktokmobile.SearchGeneralResponse": {
"properties": {
- "count": {
- "example": 8,
+ "cursor": {
"type": "integer"
},
- "date": {
- "example": "2026-08-13",
- "type": "string"
- },
- "fetched_at": {
- "type": "string"
- },
- "games": {
- "items": {
- "$ref": "#/definitions/yahoosports.Game"
- },
+ "data": {
+ "items": {},
"type": "array"
},
- "league": {
- "example": "nfl",
+ "has_more": {
+ "type": "boolean"
+ },
+ "search_id": {
"type": "string"
},
- "source_url": {
+ "status_code": {
+ "type": "integer"
+ },
+ "status_msg": {
"type": "string"
}
},
"type": "object"
},
- "yahoosports.SeasonStatCategory": {
+ "tiktokmobile.SearchMusicResponse": {
"properties": {
- "category": {
- "example": "passing",
+ "cursor": {
+ "type": "integer"
+ },
+ "has_more": {
+ "type": "boolean"
+ },
+ "music": {
+ "items": {},
+ "type": "array"
+ },
+ "music_info_list": {
+ "items": {},
+ "type": "array"
+ },
+ "status_code": {
+ "type": "integer"
+ },
+ "status_msg": {
"type": "string"
},
- "stats": {
- "additionalProperties": {
- "type": "string"
- },
- "type": "object"
+ "total": {
+ "type": "integer"
}
},
"type": "object"
},
- "yahoosports.StandingsEntry": {
+ "tiktokmobile.SearchPlaceResponse": {
"properties": {
- "away_record": {
- "example": "35-25",
- "type": "string"
+ "cursor": {
+ "type": "integer"
},
- "clinched_division": {
- "type": "boolean"
+ "extra": {},
+ "feedback_type": {
+ "type": "string"
},
- "clinched_playoff": {
+ "has_more": {
"type": "boolean"
},
- "games_back": {
- "type": "number"
- },
- "home_record": {
- "example": "29-31",
- "type": "string"
- },
- "last10": {
- "example": "5-5",
- "type": "string"
+ "log_pb": {},
+ "poi_info": {
+ "$ref": "#/definitions/tiktokmobile.PlacePOIContainer"
},
- "position": {
- "example": 3,
+ "status_code": {
"type": "integer"
},
- "record": {
- "$ref": "#/definitions/yahoosports.TeamRecord"
- },
- "streak": {
- "example": "L-5",
+ "status_msg": {
"type": "string"
- },
- "team": {
- "$ref": "#/definitions/yahoosports.TeamRef"
}
},
"type": "object"
},
- "yahoosports.StandingsGroup": {
+ "tiktokmobile.SearchSuggestion": {
"properties": {
- "conference": {
- "example": "American League",
+ "content": {
"type": "string"
},
- "division": {
- "example": "East",
+ "extra_info": {},
+ "highlight_pos": {},
+ "pos": {},
+ "rich_sug_sec_pos": {},
+ "sug_type": {
"type": "string"
},
- "entries": {
- "items": {
- "$ref": "#/definitions/yahoosports.StandingsEntry"
- },
- "type": "array"
- }
+ "word_record": {}
},
"type": "object"
},
- "yahoosports.StandingsResponse": {
+ "tiktokmobile.SearchSuggestionResponse": {
"properties": {
- "count": {
- "example": 30,
+ "extra": {},
+ "has_more": {
+ "type": "boolean"
+ },
+ "log_pb": {},
+ "rid": {
+ "type": "string"
+ },
+ "status_code": {
"type": "integer"
},
- "fetched_at": {
+ "status_msg": {
"type": "string"
},
- "groups": {
+ "sug_list": {
"items": {
- "$ref": "#/definitions/yahoosports.StandingsGroup"
+ "$ref": "#/definitions/tiktokmobile.SearchSuggestion"
},
"type": "array"
- },
- "league": {
- "example": "mlb",
- "type": "string"
- },
- "source_url": {
- "type": "string"
}
},
"type": "object"
},
- "yahoosports.Stat": {
+ "tiktokmobile.SearchUsersResponse": {
"properties": {
- "id": {
- "example": "RUNS",
- "type": "string"
+ "cursor": {
+ "type": "integer"
},
- "label": {
- "example": "Runs",
- "type": "string"
+ "has_more": {
+ "type": "boolean"
},
- "value": {
- "example": "6",
+ "status_code": {
+ "type": "integer"
+ },
+ "status_msg": {
"type": "string"
+ },
+ "user_list": {
+ "items": {},
+ "type": "array"
}
},
"type": "object"
},
- "yahoosports.TeamDetail": {
+ "tiktokmobile.SearchVideosResponse": {
"properties": {
- "abbreviation": {
- "example": "GB",
- "type": "string"
+ "aweme_list": {
+ "items": {},
+ "type": "array"
},
- "conference": {
- "example": "NFC",
+ "cursor": {
+ "type": "integer"
+ },
+ "extra": {},
+ "feedback_type": {
"type": "string"
},
- "division": {
- "example": "NFC North",
- "type": "string"
- },
- "id": {
- "example": "nfl.t.9",
- "type": "string"
- },
- "location": {
- "example": "Green Bay",
- "type": "string"
- },
- "logo": {
- "type": "string"
- },
- "name": {
- "example": "Green Bay Packers",
- "type": "string"
- },
- "nickname": {
- "example": "Packers",
- "type": "string"
- },
- "primary_color": {
- "example": "203731",
- "type": "string"
- },
- "record": {
- "$ref": "#/definitions/yahoosports.TeamRecord"
+ "has_more": {
+ "type": "boolean"
},
- "secondary_color": {
- "example": "FFB612",
+ "log_pb": {},
+ "search_id": {
"type": "string"
},
- "short_name": {
- "example": "Green Bay",
- "type": "string"
+ "search_item_list": {
+ "items": {},
+ "type": "array"
},
- "standing_summary": {
- "example": "4th NFC North",
- "type": "string"
+ "status_code": {
+ "type": "integer"
},
- "url": {
- "example": "https://sports.yahoo.com/nfl/teams/green-bay/",
+ "status_msg": {
"type": "string"
}
},
"type": "object"
},
- "yahoosports.TeamRecord": {
+ "tiktokmobile.StickerDiscoverResponse": {
"properties": {
- "display": {
- "example": "64-56",
- "type": "string"
+ "aweme_list": {
+ "items": {},
+ "type": "array"
},
- "losses": {
+ "cursor": {
"type": "integer"
},
- "points": {
- "description": "Points is soccer's own standings metric (3 per win, 1 per draw);\nomitted for every other league.",
- "example": 85,
- "type": "integer"
+ "extra": {},
+ "feed_session_id": {
+ "type": "string"
},
- "ties": {
+ "has_more": {
+ "type": "boolean"
+ },
+ "log_pb": {},
+ "status_code": {
"type": "integer"
},
- "win_pct": {
- "example": ".533",
+ "status_msg": {
"type": "string"
- },
- "wins": {
- "type": "integer"
}
},
"type": "object"
},
- "yahoosports.TeamRef": {
+ "tiktokmobile.SubtitleCue": {
"properties": {
- "abbreviation": {
- "example": "GB",
- "type": "string"
- },
- "id": {
- "example": "nfl.t.9",
- "type": "string"
- },
- "location": {
- "example": "Green Bay",
- "type": "string"
- },
- "logo": {
- "type": "string"
- },
- "name": {
- "example": "Green Bay Packers",
- "type": "string"
- },
- "nickname": {
- "example": "Packers",
+ "end": {
"type": "string"
},
- "primary_color": {
- "example": "203731",
- "type": "string"
+ "end_ms": {
+ "type": "integer"
},
- "secondary_color": {
- "example": "FFB612",
+ "start": {
"type": "string"
},
- "short_name": {
- "example": "Green Bay",
- "type": "string"
+ "start_ms": {
+ "type": "integer"
},
- "url": {
- "example": "https://sports.yahoo.com/nfl/teams/green-bay/",
+ "text": {
"type": "string"
}
},
"type": "object"
},
- "yahoosports.TeamResponse": {
+ "tiktokmobile.UserFollowersResponse": {
"properties": {
- "fetched_at": {
- "type": "string"
+ "extra": {},
+ "followers": {
+ "items": {},
+ "type": "array"
},
- "league": {
- "example": "nfl",
- "type": "string"
+ "has_more": {
+ "type": "boolean"
},
- "source_url": {
- "type": "string"
+ "log_pb": {},
+ "max_time": {
+ "type": "integer"
},
- "team": {
- "$ref": "#/definitions/yahoosports.TeamDetail"
- }
- },
- "type": "object"
- },
- "yahoosports.TeamScheduleResponse": {
- "properties": {
- "count": {
- "example": 25,
+ "min_time": {
"type": "integer"
},
- "fetched_at": {
+ "myself_user_id": {
"type": "string"
},
- "games": {
- "items": {
- "$ref": "#/definitions/yahoosports.Game"
- },
- "type": "array"
- },
- "league": {
- "example": "nfl",
+ "next_page_token": {
"type": "string"
},
- "source_url": {
- "type": "string"
+ "offset": {
+ "type": "integer"
},
- "team": {
- "$ref": "#/definitions/yahoosports.TeamRef"
- }
- },
- "type": "object"
- },
- "yahoosports.TeamStatLine": {
- "properties": {
- "stats": {
- "items": {
- "$ref": "#/definitions/yahoosports.Stat"
- },
- "type": "array"
+ "status_code": {
+ "type": "integer"
},
- "team": {
- "$ref": "#/definitions/yahoosports.TeamRef"
- }
- },
- "type": "object"
- },
- "yahoosports.TennisChampion": {
- "properties": {
- "name": {
- "example": "Daniil Medvedev",
+ "status_msg": {
"type": "string"
},
- "player_id": {
- "example": "ten.p.19603",
- "type": "string"
+ "total": {
+ "type": "integer"
}
},
"type": "object"
},
- "yahoosports.TennisMatch": {
+ "tiktokmobile.UserOriginalEffectsResponse": {
"properties": {
- "event": {
- "example": "Men's Singles",
- "type": "string"
- },
- "id": {
- "example": "ten.g.15754498",
- "type": "string"
- },
- "league": {
- "example": "ATP",
- "type": "string"
- },
- "round": {
- "example": "Round of 128",
- "type": "string"
- },
- "sets": {
- "items": {
- "$ref": "#/definitions/yahoosports.TennisSetScore"
- },
- "type": "array"
- },
- "side1": {
- "items": {
- "$ref": "#/definitions/yahoosports.TennisPlayerRef"
- },
- "type": "array"
- },
- "side1_seed": {
+ "cursor": {
"type": "integer"
},
- "side2": {
- "items": {
- "$ref": "#/definitions/yahoosports.TennisPlayerRef"
- },
+ "effect": {
+ "items": {},
"type": "array"
},
- "side2_seed": {
- "type": "integer"
- },
- "start_time": {
- "example": "2026-08-13T19:35:00-07:00",
- "type": "string"
- },
- "status": {
- "example": "IN_PROGRESS",
- "type": "string"
- },
- "status_display": {
- "example": "Set 2",
- "type": "string"
- },
- "surface": {
- "example": "Hard",
- "type": "string"
+ "extra": {},
+ "has_more": {
+ "type": "boolean"
},
- "tournament": {
- "example": "Western & Southern Open",
- "type": "string"
+ "log_pb": {},
+ "status_code": {
+ "type": "integer"
},
- "url": {
+ "status_msg": {
"type": "string"
- },
- "venue": {
- "$ref": "#/definitions/yahoosports.Venue"
- },
- "winner_ids": {
- "items": {
- "type": "string"
- },
- "type": "array"
}
},
"type": "object"
},
- "yahoosports.TennisPlayerRef": {
+ "tiktokmobile.UserOriginalMusicResponse": {
"properties": {
- "country": {
- "example": "Spain",
- "type": "string"
+ "cursor": {
+ "type": "integer"
},
- "id": {
- "example": "ten.p.34440",
- "type": "string"
+ "extra": {},
+ "groups": {
+ "items": {},
+ "type": "array"
},
- "name": {
- "example": "Martin Landaluce",
- "type": "string"
+ "has_more": {
+ "type": "boolean"
},
- "rank": {
- "example": 64,
+ "honor_label": {},
+ "log_pb": {},
+ "music": {
+ "items": {},
+ "type": "array"
+ },
+ "status_code": {
"type": "integer"
},
- "short_name": {
- "example": "M. Landaluce",
+ "status_msg": {
"type": "string"
}
},
"type": "object"
},
- "yahoosports.TennisRankingEntry": {
+ "tiktokmobile.UserPostsResponse": {
"properties": {
- "age": {
- "example": 24,
- "type": "integer"
+ "aweme_list": {
+ "items": {},
+ "type": "array"
},
- "country": {
- "example": "Italy",
- "type": "string"
+ "extra": {},
+ "has_more": {
+ "type": "boolean"
},
- "name": {
- "example": "Jannik Sinner",
- "type": "string"
+ "log_pb": {},
+ "max_cursor": {
+ "type": "integer"
},
- "points": {
- "example": 13450,
+ "min_cursor": {
"type": "integer"
},
- "rank": {
- "example": 1,
+ "status_code": {
"type": "integer"
+ },
+ "status_msg": {
+ "type": "string"
}
},
"type": "object"
},
- "yahoosports.TennisRankingsResponse": {
+ "tiktokmobile.UserProfileResponse": {
"properties": {
- "count": {
- "example": 100,
+ "common": {},
+ "extra": {},
+ "header": {},
+ "log_pb": {},
+ "nav_bar": {},
+ "profile_tab": {},
+ "status_code": {
"type": "integer"
},
- "fetched_at": {
- "type": "string"
- },
- "rankings": {
- "items": {
- "$ref": "#/definitions/yahoosports.TennisRankingEntry"
- },
- "type": "array"
- },
- "source_url": {
- "type": "string"
- },
- "type": {
- "example": "mens-singles",
+ "status_msg": {
"type": "string"
}
},
"type": "object"
},
- "yahoosports.TennisScheduleResponse": {
+ "tiktokmobile.VideoDetailResponse": {
"properties": {
- "count": {
- "example": 86,
+ "aweme_detail": {},
+ "extra": {},
+ "log_pb": {},
+ "status_code": {
"type": "integer"
},
- "fetched_at": {
- "type": "string"
- },
- "source_url": {
+ "status_msg": {
"type": "string"
- },
- "tournaments": {
- "items": {
- "$ref": "#/definitions/yahoosports.TennisTournament"
- },
- "type": "array"
}
},
"type": "object"
},
- "yahoosports.TennisScoreboardResponse": {
+ "tiktokmobile.WebcastEffectsData": {
"properties": {
- "count": {
- "example": 20,
- "type": "integer"
- },
- "fetched_at": {
- "type": "string"
- },
- "matches": {
- "items": {
- "$ref": "#/definitions/yahoosports.TennisMatch"
- },
+ "assets": {
+ "items": {},
"type": "array"
- },
- "source_url": {
- "type": "string"
}
},
"type": "object"
},
- "yahoosports.TennisSetScore": {
+ "tiktokmobile.WebcastEffectsResponse": {
"properties": {
- "set": {
- "example": 1,
- "type": "integer"
- },
- "side1_score": {
- "example": 6,
- "type": "integer"
- },
- "side1_tiebreak": {
- "type": "integer"
- },
- "side2_score": {
- "example": 3,
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/tiktokmobile.WebcastEffectsData"
},
- "side2_tiebreak": {
+ "extra": {},
+ "status_code": {
"type": "integer"
}
},
"type": "object"
},
- "yahoosports.TennisTournament": {
+ "tiktokmobile.WebcastGiftListResponse": {
"properties": {
- "champion": {
- "$ref": "#/definitions/yahoosports.TennisChampion"
- },
- "end_time": {
- "example": "2026-01-11T04:00:00-08:00",
- "type": "string"
- },
- "gender": {
- "example": "MEN",
- "type": "string"
- },
- "id": {
- "example": "ten.e.2042",
- "type": "string"
- },
- "match_type": {
- "example": "SINGLES",
- "type": "string"
- },
- "name": {
- "example": "Brisbane International presented by Evie",
- "type": "string"
- },
- "start_time": {
- "example": "2026-01-03T16:00:00-08:00",
- "type": "string"
- },
- "status": {
- "example": "FINAL",
- "type": "string"
- },
- "surface": {
- "example": "Hard",
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "venue": {
- "$ref": "#/definitions/yahoosports.Venue"
+ "data": {},
+ "extra": {},
+ "status_code": {
+ "type": "integer"
}
},
"type": "object"
},
- "yahoosports.Venue": {
+ "tiktokmobile.anchorListResponseDoc": {
"properties": {
- "city": {
- "type": "string"
+ "anchors": {
+ "items": {},
+ "type": "array"
},
- "country": {
- "type": "string"
+ "count": {
+ "type": "integer"
},
- "name": {
- "example": "Acrisure Stadium",
+ "fetched_at": {
"type": "string"
},
- "state": {
+ "host": {
"type": "string"
}
},
"type": "object"
},
- "yahoosports.gameResponseDoc": {
+ "tiktokmobile.categoryListResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/yahoosports.GameResponse"
+ "$ref": "#/definitions/tiktokmobile.CategoryListResponse"
},
"msg": {
"example": "OK",
@@ -265757,14 +269839,14 @@
},
"type": "object"
},
- "yahoosports.golfLeaderboardResponseDoc": {
+ "tiktokmobile.collectionDetailResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/yahoosports.GolfLeaderboardResponse"
+ "$ref": "#/definitions/tiktokmobile.CollectionDetailResponse"
},
"msg": {
"example": "OK",
@@ -265773,14 +269855,14 @@
},
"type": "object"
},
- "yahoosports.golfScheduleResponseDoc": {
+ "tiktokmobile.collectionListResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/yahoosports.GolfScheduleResponse"
+ "$ref": "#/definitions/tiktokmobile.CollectionListResponse"
},
"msg": {
"example": "OK",
@@ -265789,14 +269871,14 @@
},
"type": "object"
},
- "yahoosports.mmaFightCardResponseDoc": {
+ "tiktokmobile.collectionVideosResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/yahoosports.MMAFightCardResponse"
+ "$ref": "#/definitions/tiktokmobile.CollectionVideosResponse"
},
"msg": {
"example": "OK",
@@ -265805,14 +269887,14 @@
},
"type": "object"
},
- "yahoosports.mmaScheduleResponseDoc": {
+ "tiktokmobile.commentRepliesResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/yahoosports.MMAScheduleResponse"
+ "$ref": "#/definitions/tiktokmobile.CommentRepliesResponse"
},
"msg": {
"example": "OK",
@@ -265821,14 +269903,14 @@
},
"type": "object"
},
- "yahoosports.motorsportsRaceResponseDoc": {
+ "tiktokmobile.commentsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/yahoosports.MotorsportsRaceResponse"
+ "$ref": "#/definitions/tiktokmobile.CommentsResponse"
},
"msg": {
"example": "OK",
@@ -265837,62 +269919,40 @@
},
"type": "object"
},
- "yahoosports.motorsportsScheduleResponseDoc": {
+ "tiktokmobile.feedPostResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/yahoosports.MotorsportsScheduleResponse"
- },
- "msg": {
- "example": "OK",
+ "fetched_at": {
+ "example": "2026-10-20T08:20:00Z",
"type": "string"
- }
- },
- "type": "object"
- },
- "yahoosports.newsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/yahoosports.NewsResponse"
},
- "msg": {
- "example": "OK",
+ "host": {
+ "example": "aggr16-normal.tiktokv.us",
"type": "string"
- }
- },
- "type": "object"
- },
- "yahoosports.olympicsMedalsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/yahoosports.OlympicsMedalsResponse"
+ "items": {
+ "additionalProperties": {},
+ "type": "object"
},
- "msg": {
- "example": "OK",
+ "note": {
"type": "string"
+ },
+ "strings": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "yahoosports.playerResponseDoc": {
+ "tiktokmobile.feedResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/yahoosports.PlayerResponse"
+ "$ref": "#/definitions/tiktokmobile.FeedResponse"
},
"msg": {
"example": "OK",
@@ -265901,14 +269961,14 @@
},
"type": "object"
},
- "yahoosports.rosterResponseDoc": {
+ "tiktokmobile.hashtagInfoResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/yahoosports.RosterResponse"
+ "$ref": "#/definitions/tiktokmobile.HashtagInfoResponse"
},
"msg": {
"example": "OK",
@@ -265917,14 +269977,14 @@
},
"type": "object"
},
- "yahoosports.scoreboardResponseDoc": {
+ "tiktokmobile.hashtagPostsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/yahoosports.ScoreboardResponse"
+ "$ref": "#/definitions/tiktokmobile.HashtagPostsResponse"
},
"msg": {
"example": "OK",
@@ -265933,14 +269993,14 @@
},
"type": "object"
},
- "yahoosports.standingsResponseDoc": {
+ "tiktokmobile.hashtagSearchResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/yahoosports.StandingsResponse"
+ "$ref": "#/definitions/tiktokmobile.HashtagSearchResponse"
},
"msg": {
"example": "OK",
@@ -265949,46 +270009,38 @@
},
"type": "object"
},
- "yahoosports.teamResponseDoc": {
+ "tiktokmobile.hashtagSuggestionsResponseDoc": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "extra": {},
+ "log_pb": {},
+ "rid": {
+ "example": "20261021173213477CE85B8289CE303E4D",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/yahoosports.TeamResponse"
+ "status_code": {
+ "example": 0,
+ "type": "integer"
},
- "msg": {
- "example": "OK",
+ "status_msg": {
+ "example": "",
"type": "string"
- }
- },
- "type": "object"
- },
- "yahoosports.teamScheduleResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/yahoosports.TeamScheduleResponse"
+ "sug_list": {
+ "items": {},
+ "type": "array"
},
- "msg": {
- "example": "OK",
- "type": "string"
- }
+ "words_query_record": {}
},
"type": "object"
},
- "yahoosports.tennisRankingsResponseDoc": {
+ "tiktokmobile.hotMusicResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/yahoosports.TennisRankingsResponse"
+ "$ref": "#/definitions/tiktokmobile.HotMusicResponse"
},
"msg": {
"example": "OK",
@@ -265997,14 +270049,14 @@
},
"type": "object"
},
- "yahoosports.tennisScheduleResponseDoc": {
+ "tiktokmobile.liveEffectsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/yahoosports.TennisScheduleResponse"
+ "$ref": "#/definitions/tiktokmobile.WebcastEffectsResponse"
},
"msg": {
"example": "OK",
@@ -266013,14 +270065,14 @@
},
"type": "object"
},
- "yahoosports.tennisScoreboardResponseDoc": {
+ "tiktokmobile.liveGiftsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/yahoosports.TennisScoreboardResponse"
+ "$ref": "#/definitions/tiktokmobile.WebcastGiftListResponse"
},
"msg": {
"example": "OK",
@@ -266029,119 +270081,119 @@
},
"type": "object"
},
- "yahootech.ArticleResponse": {
+ "tiktokmobile.liveHashtagCatalogResponseDoc": {
"properties": {
- "author": {
+ "extra": {},
+ "fetched_at": {
"type": "string"
},
- "description": {
- "type": "string"
+ "game_hashtag": {
+ "$ref": "#/definitions/tiktokmobile.LiveHashtag"
},
- "image_url": {
- "type": "string"
+ "game_tag_count": {
+ "example": 1500,
+ "type": "integer"
},
- "keywords": {
+ "game_tag_list": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/tiktokmobile.LiveGameTag"
},
"type": "array"
},
- "paragraphs": {
+ "hashtags": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/tiktokmobile.LiveHashtag"
},
"type": "array"
},
- "provider": {
- "type": "string"
- },
- "published_at": {
- "type": "string"
- },
- "section": {
+ "host": {
+ "example": "webcast16-normal-c-useast2a.tiktokv.com",
"type": "string"
},
- "title": {
- "type": "string"
+ "live_studio_hashtags": {
+ "items": {
+ "$ref": "#/definitions/tiktokmobile.LiveHashtag"
+ },
+ "type": "array"
},
- "updated_at": {
- "type": "string"
+ "live_voice_hashtags": {
+ "items": {
+ "$ref": "#/definitions/tiktokmobile.LiveHashtag"
+ },
+ "type": "array"
},
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "yahootech.CategoryPaginate": {
- "properties": {
- "next_page": {
- "example": 2,
+ "status_code": {
+ "example": 0,
"type": "integer"
},
- "page": {
- "example": 1,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "yahootech.CategoryResponse": {
- "properties": {
- "category": {
+ "status_msg": {
+ "example": "",
"type": "string"
},
- "items": {
- "items": {
- "$ref": "#/definitions/yahootech.StreamItem"
- },
- "type": "array"
- },
- "pagination": {
- "$ref": "#/definitions/yahootech.CategoryPaginate"
- }
- },
- "type": "object"
- },
- "yahootech.HomeResponse": {
- "properties": {
- "items": {
+ "third_party_hashtags": {
"items": {
- "$ref": "#/definitions/yahootech.StreamItem"
+ "$ref": "#/definitions/tiktokmobile.LiveHashtag"
},
"type": "array"
}
},
"type": "object"
},
- "yahootech.StreamItem": {
+ "tiktokmobile.liveRoomInfoResponseDoc": {
"properties": {
- "category": {
+ "cover": {},
+ "create_time": {
+ "example": 1792603783,
+ "type": "integer"
+ },
+ "data": {},
+ "fetched_at": {
"type": "string"
},
- "id": {
+ "host": {
+ "example": "webcast16-normal-c-useast2a.tiktokv.com",
"type": "string"
},
- "thumbnail_url": {
+ "owner": {
+ "$ref": "#/definitions/tiktokmobile.LiveRoomOwner"
+ },
+ "room_id": {
+ "example": "7699174209096059678",
"type": "string"
},
+ "stats": {
+ "$ref": "#/definitions/tiktokmobile.LiveRoomStats"
+ },
+ "status": {
+ "example": 2,
+ "type": "integer"
+ },
+ "stream": {
+ "$ref": "#/definitions/tiktokmobile.LiveRoomStream"
+ },
"title": {
+ "example": "Lets Go LIVE!",
"type": "string"
},
- "url": {
+ "user_count": {
+ "example": 1595,
+ "type": "integer"
+ },
+ "user_id": {
+ "example": "6707748031095751686",
"type": "string"
}
},
"type": "object"
},
- "yahootech.articleResponseDoc": {
+ "tiktokmobile.liveSearchResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/yahootech.ArticleResponse"
+ "$ref": "#/definitions/tiktokmobile.LiveSearchResponse"
},
"msg": {
"example": "OK",
@@ -266150,14 +270202,28 @@
},
"type": "object"
},
- "yahootech.categoryResponseDoc": {
+ "tiktokmobile.liveTabsResponseDoc": {
+ "properties": {
+ "data": {
+ "items": {},
+ "type": "array"
+ },
+ "extra": {},
+ "status_code": {
+ "example": 0,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "tiktokmobile.musicBeatsSongsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/yahootech.CategoryResponse"
+ "$ref": "#/definitions/tiktokmobile.MusicBeatsSongsResponse"
},
"msg": {
"example": "OK",
@@ -266166,14 +270232,14 @@
},
"type": "object"
},
- "yahootech.homeResponseDoc": {
+ "tiktokmobile.musicChartResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/yahootech.HomeResponse"
+ "$ref": "#/definitions/tiktokmobile.MusicChartResponse"
},
"msg": {
"example": "OK",
@@ -266182,70 +270248,80 @@
},
"type": "object"
},
- "yandex.SearchPagination": {
+ "tiktokmobile.musicChoicesResponseDoc": {
"properties": {
- "next_page": {
- "example": 2,
- "type": "integer"
+ "extra": {},
+ "log_pb": {},
+ "music_list": {
+ "items": {},
+ "type": "array"
},
- "page": {
- "example": 1,
+ "status_code": {
+ "example": 0,
"type": "integer"
+ },
+ "status_msg": {
+ "example": "",
+ "type": "string"
}
},
"type": "object"
},
- "yandex.SearchResponse": {
+ "tiktokmobile.musicCollectionFeedResponseDoc": {
"properties": {
- "pagination": {
- "$ref": "#/definitions/yandex.SearchPagination"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "query": {
- "example": "openai",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/tiktokmobile.MusicCollectionFeedResponse"
},
- "results": {
- "items": {
- "$ref": "#/definitions/yandex.SearchResult"
- },
- "type": "array"
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "yandex.SearchResult": {
+ "tiktokmobile.musicCollectionListResponseDoc": {
"properties": {
- "description": {
- "example": "OpenAI is an AI research and deployment company.",
- "type": "string"
+ "cursor": {
+ "example": 5,
+ "type": "integer"
},
- "display_url": {
- "example": "openai.com",
- "type": "string"
+ "extra": {},
+ "has_more": {
+ "example": true,
+ "type": "boolean"
},
- "position": {
- "example": 1,
- "type": "integer"
+ "log_pb": {},
+ "mc_list": {
+ "items": {},
+ "type": "array"
},
- "title": {
- "example": "OpenAI | Research & Deployment",
+ "msg": {
+ "example": "",
"type": "string"
},
- "url": {
- "example": "https://openai.com/",
+ "status_code": {
+ "example": 0,
+ "type": "integer"
+ },
+ "status_msg": {
+ "example": "",
"type": "string"
}
},
"type": "object"
},
- "yandex.searchResponseDoc": {
+ "tiktokmobile.musicDetailResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/yandex.SearchResponse"
+ "$ref": "#/definitions/tiktokmobile.MusicDetailResponse"
},
"msg": {
"example": "OK",
@@ -266254,14 +270330,14 @@
},
"type": "object"
},
- "yandex.suggestResponseDoc": {
+ "tiktokmobile.musicFreshAwemeResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/suggest.Response"
+ "$ref": "#/definitions/tiktokmobile.MusicFreshAwemeResponse"
},
"msg": {
"example": "OK",
@@ -266270,581 +270346,378 @@
},
"type": "object"
},
- "yardbarker.AuthorResponse": {
+ "tiktokmobile.musicPickResponseDoc": {
"properties": {
- "articles": {
- "items": {
- "$ref": "#/definitions/newsplatform.HeadlineItem"
- },
- "type": "array"
- },
- "image_url": {
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "name": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/tiktokmobile.MusicPickResponse"
},
- "url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "yelp.AddressDetails": {
+ "tiktokmobile.musicRelatedResponseDoc": {
"properties": {
- "address_line_1": {
- "type": "string"
- },
- "address_line_2": {
- "type": "string"
- },
- "address_line_3": {
- "type": "string"
- },
- "city": {
- "type": "string"
- },
- "country": {
- "type": "string"
- },
- "formatted_address": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "postal_code": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/tiktokmobile.MusicRelatedResponse"
},
- "state": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "yelp.BusinessAttribute": {
+ "tiktokmobile.mvFeedResponseDoc": {
"properties": {
- "alias": {
- "type": "string"
- },
- "title": {
- "type": "string"
- },
- "value": {
- "type": "string"
- },
- "values": {
- "items": {
- "type": "string"
- },
+ "aweme_list": {
+ "items": {},
"type": "array"
- }
- },
- "type": "object"
- },
- "yelp.BusinessItem": {
- "properties": {
- "address": {
- "type": "string"
},
- "address_details": {
- "$ref": "#/definitions/yelp.AddressDetails"
+ "cursor": {
+ "example": 18,
+ "type": "integer"
},
- "alias": {
+ "extra": {},
+ "fetched_at": {
"type": "string"
},
- "categories": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "claimed": {
- "type": "boolean"
- },
- "closed": {
+ "has_more": {
+ "example": true,
"type": "boolean"
},
- "coordinates": {
- "$ref": "#/definitions/yelp.Coordinates"
- },
- "encoded_id": {
- "type": "string"
- },
- "id": {
- "example": "tonys-pizza-napoletana-san-francisco",
- "type": "string"
- },
- "image": {
- "type": "string"
- },
- "name": {
+ "host": {
+ "example": "aggr16-normal.tiktokv.us",
"type": "string"
},
- "neighborhoods": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "item_count": {
+ "example": 15,
+ "type": "integer"
},
- "phone": {
+ "log_pb": {},
+ "mv_id": {
+ "example": "1",
"type": "string"
},
- "phone_number": {
+ "original_aweme_id": {
+ "example": "",
"type": "string"
},
- "photos": {
- "items": {
- "type": "string"
- },
+ "page_extra": {},
+ "top_awemes": {
+ "items": {},
"type": "array"
- },
- "price": {
- "type": "string"
- },
- "rating": {
- "type": "number"
- },
- "review_count": {
- "type": "integer"
- },
- "url": {
- "type": "string"
- },
- "website": {
- "type": "string"
}
},
"type": "object"
},
- "yelp.Coordinates": {
+ "tiktokmobile.offlineFeedResponseDoc": {
"properties": {
- "latitude": {
- "type": "number"
+ "count": {
+ "example": 10,
+ "type": "integer"
},
- "longitude": {
- "type": "number"
- }
- },
- "type": "object"
- },
- "yelp.MobileBusinessMenuResponse": {
- "properties": {
- "id": {
- "example": "pequods-pizza-chicago-3",
+ "fetched_at": {
"type": "string"
},
- "items": {
- "items": {
- "$ref": "#/definitions/yelp.MobileMenuItem"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "yelp.MobileBusinessPhotosResponse": {
- "properties": {
- "id": {
- "example": "pequods-pizza-chicago-3",
+ "host": {
+ "example": "aggr16-normal.tiktokv.us",
"type": "string"
},
- "limit": {
- "example": 20,
- "type": "integer"
+ "items": {
+ "additionalProperties": {},
+ "type": "object"
},
- "offset": {
- "example": 0,
+ "note": {
+ "type": "string"
+ },
+ "pull_type": {
+ "example": 11,
"type": "integer"
},
- "photos": {
+ "strings": {
"items": {
- "$ref": "#/definitions/yelp.MobilePhotoItem"
+ "type": "string"
},
"type": "array"
- },
- "total": {
- "example": 6052,
- "type": "integer"
}
},
"type": "object"
},
- "yelp.MobileBusinessResponse": {
+ "tiktokmobile.placeDetailResponseDoc": {
"properties": {
- "address": {
- "type": "string"
- },
- "address_details": {
- "$ref": "#/definitions/yelp.AddressDetails"
- },
- "alias": {
+ "fetched_at": {
"type": "string"
},
- "attributes": {
- "items": {
- "$ref": "#/definitions/yelp.BusinessAttribute"
- },
- "type": "array"
+ "frame_count": {
+ "example": 4,
+ "type": "integer"
},
- "categories": {
- "items": {
- "type": "string"
- },
+ "frames": {
+ "items": {},
"type": "array"
},
- "claimed": {
+ "has_more_posts": {
+ "example": true,
"type": "boolean"
},
- "closed": {
+ "has_more_reviews": {
+ "example": false,
"type": "boolean"
},
- "coordinates": {
- "$ref": "#/definitions/yelp.Coordinates"
- },
- "description": {
- "type": "string"
- },
- "encoded_id": {
- "type": "string"
- },
- "health_score": {
- "type": "string"
- },
- "hours": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "id": {
- "example": "tonys-pizza-napoletana-san-francisco",
- "type": "string"
- },
- "image": {
+ "host": {
+ "example": "aggr32-normal.tiktokv.us",
"type": "string"
},
- "name": {
- "type": "string"
+ "layout": {
+ "additionalProperties": {},
+ "type": "object"
},
- "neighborhoods": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "nodes": {
+ "additionalProperties": {},
+ "type": "object"
},
- "phone": {
+ "page_id": {
+ "example": "100614404",
"type": "string"
},
- "phone_number": {
+ "poi_id": {
+ "example": "42203861086875992",
"type": "string"
},
- "photo_count": {
+ "post_count": {
+ "example": 9,
"type": "integer"
},
- "photos": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "price": {
- "type": "string"
- },
- "rating": {
- "type": "number"
+ "post_cursor": {
+ "example": 9,
+ "type": "integer"
},
"review_count": {
+ "example": 3,
"type": "integer"
},
- "url": {
- "type": "string"
- },
- "website": {
- "type": "string"
- },
- "year_established": {
+ "top_video_count": {
+ "example": 6,
"type": "integer"
}
},
"type": "object"
},
- "yelp.MobileBusinessReviewHighlightsResponse": {
+ "tiktokmobile.placeInfoResponseDoc": {
"properties": {
- "highlights": {
- "items": {
- "$ref": "#/definitions/yelp.MobileReviewHighlight"
- },
- "type": "array"
- },
- "id": {
- "example": "pequods-pizza-chicago-3",
+ "address": {
+ "example": "304 Ord St, Los Angeles, CA 90012, USA",
"type": "string"
},
- "total": {
- "example": 5,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "yelp.MobileBusinessReviewsResponse": {
- "properties": {
- "id": {
- "example": "pequods-pizza-chicago-3",
+ "average_price": {
+ "example": "$",
"type": "string"
},
- "limit": {
- "example": 20,
- "type": "integer"
- },
- "offset": {
- "example": 0,
- "type": "integer"
- },
- "reviews": {
- "items": {
- "$ref": "#/definitions/yelp.MobileReviewItem"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "yelp.MobileBusinessReviewsSearchResponse": {
- "properties": {
- "id": {
- "example": "pequods-pizza-chicago-3",
+ "category": {
+ "example": "Coffee Shop",
"type": "string"
},
- "reviews": {
- "items": {
- "$ref": "#/definitions/yelp.MobileReviewSearchItem"
- },
- "type": "array"
- },
- "term": {
- "example": "crust",
+ "city_code": {
+ "example": "116023605",
"type": "string"
},
- "total": {
- "example": 20,
+ "claim_store_status": {
+ "example": false,
+ "type": "boolean"
+ },
+ "cover": {},
+ "favorite_count": {
+ "example": 1,
"type": "integer"
- }
- },
- "type": "object"
- },
- "yelp.MobileGeocodeResponse": {
- "properties": {
- "address": {
- "example": "1600 Amphitheatre Parkway, Mountain View, CA",
- "type": "string"
},
- "address_line_1": {
+ "fetched_at": {
"type": "string"
},
- "city": {
+ "host": {
+ "example": "aggr16-normal.tiktokv.us",
"type": "string"
},
- "coordinates": {
- "$ref": "#/definitions/yelp.Coordinates"
+ "is_collected": {
+ "example": false,
+ "type": "boolean"
},
- "country": {
+ "latitude": {
+ "example": "34.060090",
"type": "string"
},
- "county": {
+ "longitude": {
+ "example": "-118.239007",
"type": "string"
},
- "display_name": {
+ "name": {
+ "example": "Nam Coffee",
"type": "string"
},
- "postal_code": {
- "type": "string"
+ "no_rating": {
+ "example": false,
+ "type": "boolean"
},
- "state": {
+ "opening_hours": {
+ "example": "8:00 AM – 5:00 PM",
"type": "string"
},
- "yelp_available": {
+ "opening_status": {
+ "example": true,
"type": "boolean"
- }
- },
- "type": "object"
- },
- "yelp.MobileMenuItem": {
- "properties": {
- "alias": {
- "type": "string"
- },
- "description": {
- "type": "string"
},
- "name": {
- "type": "string"
+ "parent_poi": {},
+ "place": {
+ "additionalProperties": {},
+ "type": "object"
},
- "photo": {
+ "poi_id": {
+ "example": "42203861086875992",
"type": "string"
},
- "photo_count": {
- "type": "integer"
- },
- "price": {
+ "region_code": {
+ "example": "6252001",
"type": "string"
},
"review_count": {
+ "example": 2,
"type": "integer"
- }
- },
- "type": "object"
- },
- "yelp.MobilePhotoItem": {
- "properties": {
- "caption": {
- "type": "string"
},
- "height": {
- "type": "integer"
+ "review_score": {
+ "example": 4.7,
+ "type": "number"
},
- "id": {
+ "review_score_display": {
+ "example": "4.7",
"type": "string"
},
- "share_url": {
+ "share_desc": {
+ "example": "Nam Coffee",
"type": "string"
},
- "time_created": {
- "type": "integer"
- },
- "url": {
+ "share_url": {
+ "example": "https://www.tiktok.com/place/Nam-Coffee-42203861086875992",
"type": "string"
},
- "width": {
+ "video_count": {
+ "example": 11,
"type": "integer"
}
},
"type": "object"
},
- "yelp.MobileReviewHighlight": {
+ "tiktokmobile.placeMediaResponseDoc": {
"properties": {
- "identifier": {
- "type": "string"
- },
- "photo_url": {
- "type": "string"
- },
- "review_count": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "review_id": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/tiktokmobile.PlaceMediaResponse"
},
- "sentence_html": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "yelp.MobileReviewItem": {
+ "tiktokmobile.placePhotosResponseDoc": {
"properties": {
- "author": {
- "type": "string"
- },
- "author_location": {
- "type": "string"
- },
- "author_review_count": {
- "type": "integer"
+ "categories": {
+ "items": {},
+ "type": "array"
},
- "id": {
+ "category_tab_info": {},
+ "fetched_at": {
"type": "string"
},
- "language": {
+ "host": {
+ "example": "aggr16-normal.tiktokv.us",
"type": "string"
},
- "rating": {
- "type": "number"
+ "photo_count": {
+ "example": 3,
+ "type": "integer"
},
- "share_url": {
+ "poi_id": {
+ "example": "42203861086875992",
"type": "string"
},
- "text": {
+ "title": {
+ "example": "Gallery (3)",
"type": "string"
- },
- "time_modified": {
- "type": "integer"
}
},
"type": "object"
},
- "yelp.MobileReviewSearchItem": {
+ "tiktokmobile.placeReviewsResponseDoc": {
"properties": {
- "author": {
- "type": "string"
- },
- "author_location": {
- "type": "string"
- },
- "author_review_count": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "excerpt_html": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "language": {
- "type": "string"
- },
- "rating": {
- "type": "number"
+ "data": {
+ "$ref": "#/definitions/tiktokmobile.PlaceReviewsResponse"
},
- "share_url": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "time_modified": {
- "type": "integer"
}
},
"type": "object"
},
- "yelp.MobileSearchResponse": {
+ "tiktokmobile.placeVideosResponseDoc": {
"properties": {
- "limit": {
+ "aweme_list": {
+ "items": {},
+ "type": "array"
+ },
+ "cursor": {
"example": 20,
"type": "integer"
},
- "location": {
- "example": "San Francisco, CA",
+ "fetched_at": {
"type": "string"
},
- "offset": {
- "example": 0,
- "type": "integer"
- },
- "results": {
- "items": {
- "$ref": "#/definitions/yelp.BusinessItem"
- },
- "type": "array"
+ "has_more": {
+ "example": true,
+ "type": "boolean"
},
- "term": {
- "example": "pizza",
+ "host": {
+ "example": "aggr16-normal.tiktokv.us",
"type": "string"
},
- "total": {
- "example": 240,
+ "item_count": {
+ "example": 17,
"type": "integer"
- }
+ },
+ "poi_id": {
+ "example": "21568226355448582",
+ "type": "string"
+ },
+ "poi_info": {}
},
"type": "object"
},
- "yelp.mobileBusinessMenuResponseDoc": {
+ "tiktokmobile.playlistDetailResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/yelp.MobileBusinessMenuResponse"
+ "$ref": "#/definitions/tiktokmobile.PlaylistDetailResponse"
},
"msg": {
"example": "OK",
@@ -266853,14 +270726,14 @@
},
"type": "object"
},
- "yelp.mobileBusinessPhotosResponseDoc": {
+ "tiktokmobile.playlistListResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/yelp.MobileBusinessPhotosResponse"
+ "$ref": "#/definitions/tiktokmobile.PlaylistListResponse"
},
"msg": {
"example": "OK",
@@ -266869,14 +270742,14 @@
},
"type": "object"
},
- "yelp.mobileBusinessResponseDoc": {
+ "tiktokmobile.playlistVideosResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/yelp.MobileBusinessResponse"
+ "$ref": "#/definitions/tiktokmobile.PlaylistVideosResponse"
},
"msg": {
"example": "OK",
@@ -266885,30 +270758,49 @@
},
"type": "object"
},
- "yelp.mobileBusinessReviewHighlightsResponseDoc": {
+ "tiktokmobile.searchEffectsResponseDoc": {
"properties": {
- "code": {
- "example": 200,
+ "bind_effects": {},
+ "collection": {},
+ "cursor": {
+ "example": 100,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/yelp.MobileBusinessReviewHighlightsResponse"
+ "effects": {
+ "items": {},
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "has_more": {
+ "example": true,
+ "type": "boolean"
+ },
+ "search_id": {
+ "example": "20261021173221C8185FF1D4A1062AD97C",
+ "type": "string"
+ },
+ "status_code": {
+ "example": 0,
+ "type": "integer"
+ },
+ "status_msg": {
+ "example": "",
"type": "string"
+ },
+ "use_hot": {
+ "example": false,
+ "type": "boolean"
}
},
"type": "object"
},
- "yelp.mobileBusinessReviewsResponseDoc": {
+ "tiktokmobile.searchGeneralResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/yelp.MobileBusinessReviewsResponse"
+ "$ref": "#/definitions/tiktokmobile.SearchGeneralResponse"
},
"msg": {
"example": "OK",
@@ -266917,14 +270809,14 @@
},
"type": "object"
},
- "yelp.mobileBusinessReviewsSearchResponseDoc": {
+ "tiktokmobile.searchMusicResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/yelp.MobileBusinessReviewsSearchResponse"
+ "$ref": "#/definitions/tiktokmobile.SearchMusicResponse"
},
"msg": {
"example": "OK",
@@ -266933,30 +270825,53 @@
},
"type": "object"
},
- "yelp.mobileGeocodeResponseDoc": {
+ "tiktokmobile.searchPhotosResponseDoc": {
"properties": {
- "code": {
- "example": 200,
+ "aweme_list": {
+ "items": {},
+ "type": "array"
+ },
+ "backtrace": {},
+ "cursor": {
+ "example": 10,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/yelp.MobileGeocodeResponse"
+ "extra": {},
+ "feedback_type": {
+ "example": "photo_tab",
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "has_more": {
+ "example": 1,
+ "type": "integer"
+ },
+ "log_pb": {},
+ "response_cropped": {
+ "example": 1,
+ "type": "integer"
+ },
+ "search_item_list": {
+ "items": {},
+ "type": "array"
+ },
+ "status_code": {
+ "example": 0,
+ "type": "integer"
+ },
+ "status_msg": {
"type": "string"
}
},
"type": "object"
},
- "yelp.mobileSearchResponseDoc": {
+ "tiktokmobile.searchPlaceResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/yelp.MobileSearchResponse"
+ "$ref": "#/definitions/tiktokmobile.SearchPlaceResponse"
},
"msg": {
"example": "OK",
@@ -266965,206 +270880,276 @@
},
"type": "object"
},
- "yoox.CategoriesResponse": {
- "properties": {
- "departments": {
- "items": {
- "$ref": "#/definitions/yoox.DepartmentCategories"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "yoox.Category": {
+ "tiktokmobile.searchPreInfoResponseDoc": {
"properties": {
- "name": {
+ "fetched_at": {
"type": "string"
},
- "slug": {
+ "host": {
"type": "string"
},
- "url": {
+ "pre_info_id": {
"type": "string"
+ },
+ "ttl": {
+ "example": 40,
+ "type": "integer"
}
},
"type": "object"
},
- "yoox.DepartmentCategories": {
+ "tiktokmobile.searchStreamResponseDoc": {
"properties": {
- "categories": {
- "items": {
- "$ref": "#/definitions/yoox.Category"
- },
+ "count": {
+ "example": 10,
+ "type": "integer"
+ },
+ "cursor": {
+ "example": 10,
+ "type": "integer"
+ },
+ "documents": {
+ "items": {},
"type": "array"
},
- "department": {
+ "fetched_at": {
+ "example": "2026-10-20T03:25:54Z",
"type": "string"
- }
- },
- "type": "object"
- },
- "yoox.Designer": {
- "properties": {
- "name": {
+ },
+ "frame_count": {
+ "example": 5,
+ "type": "integer"
+ },
+ "frames": {
+ "items": {},
+ "type": "array"
+ },
+ "has_more": {
+ "example": true,
+ "type": "boolean"
+ },
+ "host": {
+ "example": "aggr32-normal.tiktokv.us",
"type": "string"
},
- "slug": {
+ "keyword": {
+ "example": "lofi",
"type": "string"
},
- "url": {
+ "offset": {
+ "example": 0,
+ "type": "integer"
+ },
+ "search_id": {
+ "example": "20261020032554E5C2D5286808E712236B",
"type": "string"
}
},
"type": "object"
},
- "yoox.DesignersResponse": {
+ "tiktokmobile.searchSuggestionResponseDoc": {
"properties": {
- "count": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "department": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/tiktokmobile.SearchSuggestionResponse"
},
- "designers": {
- "items": {
- "$ref": "#/definitions/yoox.Designer"
- },
- "type": "array"
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "yoox.Detail": {
+ "tiktokmobile.searchTabsResponseDoc": {
"properties": {
- "brand": {
- "type": "string"
- },
- "category": {
+ "fetched_at": {
"type": "string"
},
- "currency": {
+ "host": {
+ "example": "aggr32-normal.tiktokv.us",
"type": "string"
},
- "description": {
- "type": "string"
+ "is_failed": {
+ "example": 0,
+ "type": "integer"
},
- "id": {
+ "keyword": {
+ "example": "lofi",
"type": "string"
},
- "images": {
+ "tabs": {
"items": {
"type": "string"
},
"type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "tiktokmobile.searchUsersResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "in_stock": {
- "type": "boolean"
+ "data": {
+ "$ref": "#/definitions/tiktokmobile.SearchUsersResponse"
},
- "name": {
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "tiktokmobile.searchVideosResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "price": {
- "type": "number"
+ "data": {
+ "$ref": "#/definitions/tiktokmobile.SearchVideosResponse"
},
- "url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "yoox.Facets": {
+ "tiktokmobile.stickerDiscoverResponseDoc": {
"properties": {
- "colors": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "sizes": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "data": {
+ "$ref": "#/definitions/tiktokmobile.StickerDiscoverResponse"
},
- "sorts": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "yoox.Product": {
+ "tiktokmobile.translationDescriptionResponseDoc": {
"properties": {
- "brand": {
+ "extra": {},
+ "fetched_at": {
"type": "string"
},
- "currency": {
- "type": "string"
+ "format": {
+ "example": 1,
+ "type": "integer"
},
- "id": {
+ "host": {
+ "example": "aggr32-normal.tiktokv.us",
"type": "string"
},
- "image_url": {
+ "item_id": {
+ "example": "7650052642089225493",
"type": "string"
},
- "in_stock": {
- "type": "boolean"
+ "log_pb": {},
+ "perf_metrics": {},
+ "status_code": {
+ "example": 0,
+ "type": "integer"
},
- "name": {
+ "status_msg": {
"type": "string"
},
- "price": {
- "type": "number"
+ "target_lang": {
+ "example": "en",
+ "type": "string"
},
- "url": {
+ "text": {
+ "type": "string"
+ },
+ "translated_client_text": {},
+ "variant": {
"type": "string"
}
},
"type": "object"
},
- "yoox.SearchResponse": {
+ "tiktokmobile.userFollowersResponseDoc": {
"properties": {
- "count": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "department": {
+ "data": {
+ "$ref": "#/definitions/tiktokmobile.UserFollowersResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "tiktokmobile.userFollowingResponseDoc": {
+ "properties": {
+ "extra": {},
+ "followings": {
+ "items": {},
+ "type": "array"
},
- "facets": {
- "$ref": "#/definitions/yoox.Facets"
+ "has_more": {
+ "example": true,
+ "type": "boolean"
},
- "limit": {
+ "log_pb": {},
+ "max_time": {
+ "example": 1792283000,
"type": "integer"
},
- "page": {
+ "min_time": {
+ "example": 1721340854,
"type": "integer"
},
- "products": {
- "items": {
- "$ref": "#/definitions/yoox.Product"
- },
- "type": "array"
- },
- "query": {
+ "myself_user_id": {},
+ "next_page_token": {
+ "example": "eyJtYXhfY3Vyc29yIjoxNzkyMjA2MTA2fQ==",
"type": "string"
},
- "source_url": {
+ "offset": {
+ "example": 0,
+ "type": "integer"
+ },
+ "rec_has_more": {
+ "example": true,
+ "type": "boolean"
+ },
+ "status_code": {
+ "example": 0,
+ "type": "integer"
+ },
+ "status_msg": {
+ "example": "",
"type": "string"
+ },
+ "total": {
+ "example": 11,
+ "type": "integer"
}
},
"type": "object"
},
- "yoox.categoriesDoc": {
+ "tiktokmobile.userOriginalEffectsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/yoox.CategoriesResponse"
+ "$ref": "#/definitions/tiktokmobile.UserOriginalEffectsResponse"
},
"msg": {
"example": "OK",
@@ -267173,14 +271158,14 @@
},
"type": "object"
},
- "yoox.designersDoc": {
+ "tiktokmobile.userOriginalMusicResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/yoox.DesignersResponse"
+ "$ref": "#/definitions/tiktokmobile.UserOriginalMusicResponse"
},
"msg": {
"example": "OK",
@@ -267189,14 +271174,14 @@
},
"type": "object"
},
- "yoox.productDoc": {
+ "tiktokmobile.userPostsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/yoox.Detail"
+ "$ref": "#/definitions/tiktokmobile.UserPostsResponse"
},
"msg": {
"example": "OK",
@@ -267205,14 +271190,14 @@
},
"type": "object"
},
- "yoox.searchDoc": {
+ "tiktokmobile.userProfileResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/yoox.SearchResponse"
+ "$ref": "#/definitions/tiktokmobile.UserProfileResponse"
},
"msg": {
"example": "OK",
@@ -267221,733 +271206,772 @@
},
"type": "object"
},
- "youtube.Caption": {
+ "tiktokmobile.userRecommendationsResponseDoc": {
"properties": {
- "duration": {
- "description": "Length of the caption cue, in seconds.",
- "type": "number"
+ "extra": {},
+ "log_pb": {},
+ "status_code": {
+ "example": 0,
+ "type": "integer"
},
- "start": {
- "description": "Time the caption cue starts, in seconds from the start of the video.",
- "type": "number"
+ "status_msg": {
+ "type": "string"
},
- "text": {
- "description": "Caption text shown for this cue.",
+ "user_list": {
+ "items": {},
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "tiktokmobile.videoDetailResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/tiktokmobile.VideoDetailResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "youtube.ChannelFeedResponse": {
+ "tiktokmobile.videoSubtitlesResponseDoc": {
"properties": {
- "channel_id": {
- "description": "YouTube channel ID, starting with `UC`.",
- "example": "UCXZCJLdBC09xxGZ6gcdrc6A",
+ "content_source": {
+ "example": "redis",
"type": "string"
},
- "channel_title": {
- "description": "Channel name as shown on YouTube.",
- "example": "OpenAI",
- "type": "string"
+ "cue_count": {
+ "example": 9,
+ "type": "integer"
},
- "channel_url": {
- "description": "Link to the channel on YouTube.",
- "example": "https://www.youtube.com/@OpenAI",
+ "cues": {
+ "items": {
+ "$ref": "#/definitions/tiktokmobile.SubtitleCue"
+ },
+ "type": "array"
+ },
+ "fetched_at": {
"type": "string"
},
- "continuation_token": {
- "description": "Token to pass in the next request to get the following page. Omitted on the last page.",
- "example": "NEXT_TOKEN",
+ "host": {
+ "example": "aggr16-normal.tiktokv.us",
"type": "string"
},
- "handle": {
- "description": "Channel handle, starting with `@`.",
- "example": "@OpenAI",
+ "language": {
+ "example": "en",
"type": "string"
},
- "items": {
- "description": "Videos or other items from the channel, in the order YouTube lists them.",
- "items": {
- "$ref": "#/definitions/youtube.SearchItem"
- },
- "type": "array"
+ "variant": {
+ "example": "glide_v3_1",
+ "type": "string"
},
- "query": {
- "description": "Search text used to look inside the channel. Omitted when no search was run.",
- "example": "gpt",
+ "video_id": {
+ "example": "7696141388324293918",
"type": "string"
},
- "thumbnail": {
- "description": "URL of the channel's avatar image.",
- "example": "https://yt3.googleusercontent.com/example=s176-c-k-c0x00ffffff-no-rj",
+ "webvtt": {
+ "example": "WEBVTT\n\n00:00:00.080 --> 00:00:00.880\nHey.",
"type": "string"
}
},
"type": "object"
},
- "youtube.ChannelShort": {
+ "time.AuthorArticle": {
"properties": {
- "position": {
- "description": "Position of the Short in the channel's Shorts list, starting at 1.",
- "example": 1,
- "type": "integer"
+ "excerpt": {
+ "type": "string"
},
- "thumbnail": {
- "description": "URL of the Short's thumbnail image.",
- "example": "https://i.ytimg.com/vi/abc123xyz89/oar2.jpg",
+ "published_at": {
"type": "string"
},
- "title": {
- "description": "Title of the Short.",
- "example": "OpenAI demo clip",
+ "section": {
"type": "string"
},
- "url": {
- "description": "Link to the Short on YouTube.",
- "example": "https://www.youtube.com/shorts/abc123xyz89",
+ "section_url": {
"type": "string"
},
- "video_id": {
- "description": "YouTube video ID of the Short.",
- "example": "abc123xyz89",
+ "title": {
"type": "string"
},
- "view_count": {
- "description": "View count as YouTube displays it, such as `1.2M views`.",
- "example": "1.2M views",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "youtube.ChannelShortsResponse": {
+ "time.AuthorResponse": {
"properties": {
- "channel_id": {
- "description": "YouTube channel ID, starting with `UC`.",
- "example": "UCXZCJLdBC09xxGZ6gcdrc6A",
- "type": "string"
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/time.AuthorArticle"
+ },
+ "type": "array"
},
- "channel_title": {
- "description": "Channel name as shown on YouTube.",
- "example": "OpenAI",
+ "bio": {
"type": "string"
},
- "channel_url": {
- "description": "Link to the channel on YouTube.",
- "example": "https://www.youtube.com/@OpenAI",
+ "image_url": {
"type": "string"
},
- "continuation_token": {
- "description": "Token to pass in the next request to get the following page. Omitted on the last page.",
- "example": "NEXT_TOKEN",
+ "job_title": {
"type": "string"
},
- "handle": {
- "description": "Channel handle, starting with `@`.",
- "example": "@OpenAI",
+ "name": {
"type": "string"
},
- "shorts": {
- "description": "YouTube Shorts published by the channel.",
+ "social_accounts": {
"items": {
- "$ref": "#/definitions/youtube.ChannelShort"
+ "type": "string"
},
"type": "array"
},
- "thumbnail": {
- "description": "URL of the channel's avatar image.",
- "example": "https://yt3.googleusercontent.com/example=s176-c-k-c0x00ffffff-no-rj",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "youtube.Comment": {
+ "timesofindia.AuthorArticle": {
"properties": {
- "channel_id": {
- "description": "YouTube channel ID of the commenter.",
+ "title": {
"type": "string"
},
- "comment_id": {
- "description": "YouTube ID of the comment.",
+ "url": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "timesofindia.AuthorResponse": {
+ "properties": {
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/timesofindia.AuthorArticle"
+ },
+ "type": "array"
},
- "content": {
- "description": "Text of the comment.",
+ "biography": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "email": {
"type": "string"
},
- "continuation_token": {
- "description": "Token for loading the replies to this comment. Omitted when none is available.",
+ "image_url": {
"type": "string"
},
- "likes_count": {
- "description": "Number of likes on the comment.",
- "type": "integer"
+ "job_title": {
+ "type": "string"
},
- "published_time": {
- "description": "Approximate time the comment was posted, in UTC (RFC 3339).",
+ "location": {
"type": "string"
},
- "reply_count": {
- "description": "Number of replies to the comment.",
- "type": "integer"
+ "name": {
+ "type": "string"
},
- "user_name": {
- "description": "Display name of the commenter, such as `@handle`.",
+ "organization": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "youtube.CommentResponse": {
+ "timesofisrael.AuthorResponse": {
"properties": {
- "comments": {
- "description": "Comments on this page of the video.",
+ "articles": {
"items": {
- "$ref": "#/definitions/youtube.Comment"
+ "$ref": "#/definitions/newsplatform.HeadlineItem"
},
"type": "array"
},
- "continuation_token": {
- "description": "Token to pass in the next request to get the following page.",
- "type": "string"
- }
- },
- "type": "object"
- },
- "youtube.PlaylistResponse": {
- "properties": {
- "channel_id": {
- "description": "YouTube channel ID of the playlist owner.",
- "example": "UCXZCJLdBC09xxGZ6gcdrc6A",
- "type": "string"
+ "biography": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "channel_title": {
- "description": "Name of the channel that owns the playlist.",
- "example": "OpenAI",
+ "image_url": {
"type": "string"
},
- "continuation_token": {
- "description": "Token to pass in the next request to get the following page. Omitted on the last page.",
- "example": "NEXT_TOKEN",
+ "name": {
"type": "string"
},
- "items": {
- "description": "Videos in the playlist, in playlist order.",
+ "social_links": {
"items": {
- "$ref": "#/definitions/youtube.SearchItem"
+ "$ref": "#/definitions/timesofisrael.AuthorSocialLink"
},
"type": "array"
},
- "playlist_id": {
- "description": "YouTube playlist ID.",
- "example": "PL1234567890abcdef",
- "type": "string"
- },
- "thumbnail": {
- "description": "URL of the playlist's thumbnail image.",
- "example": "https://i.ytimg.com/vi/abc123xyz89/hqdefault.jpg",
+ "url": {
"type": "string"
- },
- "title": {
- "description": "Playlist title as shown on YouTube.",
- "example": "OpenAI Podcast",
+ }
+ },
+ "type": "object"
+ },
+ "timesofisrael.AuthorSocialLink": {
+ "properties": {
+ "type": {
"type": "string"
},
"url": {
- "description": "Link to the playlist on YouTube.",
- "example": "https://www.youtube.com/playlist?list=PL1234567890abcdef",
- "type": "string"
- },
- "video_count": {
- "description": "Number of videos in the playlist as YouTube displays it, such as `12 videos`.",
- "example": "12 videos",
"type": "string"
}
},
"type": "object"
},
- "youtube.Profile": {
+ "tmdb.CastCredit": {
"properties": {
- "bio": {
- "example": "OpenAI’s mission is to ensure that artificial general intelligence benefits all of humanity.",
+ "character": {
+ "description": "Character the actor plays.",
"type": "string"
},
- "channel_id": {
- "example": "UCXZCJLdBC09xxGZ6gcdrc6A",
+ "name": {
+ "description": "Name of the actor.",
"type": "string"
},
- "channel_name": {
- "example": "OpenAI",
+ "slug": {
+ "description": "TMDB person id of the actor.",
"type": "string"
- },
- "channel_url": {
- "example": "http://www.youtube.com/@OpenAI",
+ }
+ },
+ "type": "object"
+ },
+ "tmdb.CollectionResponse": {
+ "properties": {
+ "id": {
"type": "string"
},
- "created_at": {
- "example": "2025-07-12T08:46:11.740932549Z",
+ "movies": {
+ "items": {
+ "$ref": "#/definitions/tmdb.MediaRef"
+ },
+ "type": "array"
+ },
+ "overview": {
"type": "string"
},
- "id": {
- "example": "fe03dcedad8ab90c5f81eb4a405a464b",
+ "source_url": {
"type": "string"
},
- "joined_date": {
- "example": "2017-03-10T00:00:00Z",
+ "title": {
"type": "string"
},
- "links": {
- "example": [
- "twitter.com/openai",
- "linkedin.com/company/openai",
- "openai.com"
- ],
+ "uri": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "tmdb.CrewCredit": {
+ "properties": {
+ "jobs": {
+ "description": "Jobs the person holds on the title, for example `Creator` or `Director`.",
"items": {
"type": "string"
},
"type": "array"
},
- "profile_pic": {
- "example": "https://yt3.googleusercontent.com/MopgmVAFV9BqlzOJ-UINtmutvEPcNe5IbKMmP_4vZZo3vnJXcZGtybUBsXaEVxkmxKyGqX9R=s900-c-k-c0x00ffffff-no-rj",
+ "name": {
+ "description": "Name of the crew member.",
"type": "string"
},
- "region": {
- "example": "United States",
+ "slug": {
+ "description": "TMDB person id of the crew member.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "tmdb.FilmographyCredit": {
+ "properties": {
+ "id": {
"type": "string"
},
- "stats": {
- "$ref": "#/definitions/youtube.ProfileStats"
+ "title": {
+ "type": "string"
},
- "updated_at": {
- "example": "2025-07-12T08:46:11.740932749Z",
+ "type": {
+ "example": "movie",
+ "type": "string"
+ },
+ "uri": {
"type": "string"
}
},
"type": "object"
},
- "youtube.ProfileStats": {
+ "tmdb.Genre": {
"properties": {
- "followers_count": {
- "example": 1580000,
- "type": "integer"
- },
- "videos_count": {
- "example": 305,
- "type": "integer"
+ "id": {
+ "example": "18",
+ "type": "string"
},
- "views_count": {
- "example": 75159285,
- "type": "integer"
+ "name": {
+ "example": "Drama",
+ "type": "string"
}
},
"type": "object"
},
- "youtube.SearchItem": {
+ "tmdb.GenresResponse": {
"properties": {
- "badges": {
- "description": "Badge labels shown on the video, such as `HD` or `CC`.",
- "example": [
- "HD",
- "CC"
- ],
+ "movie": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/tmdb.Genre"
},
"type": "array"
},
- "channel_id": {
- "description": "YouTube channel ID, starting with `UC`.",
- "example": "UCXZCJLdBC09xxGZ6gcdrc6A",
+ "source_url": {
"type": "string"
},
- "channel_thumbnail": {
- "description": "URL of the publishing channel's avatar image.",
- "example": "https://yt3.ggpht.com/example=s68-c-k-c0x00ffffff-no-rj",
+ "tv": {
+ "items": {
+ "$ref": "#/definitions/tmdb.Genre"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "tmdb.MediaRef": {
+ "properties": {
+ "id": {
+ "description": "TMDB id of the movie or TV show. Use it with the movie or TV detail endpoint.",
"type": "string"
},
- "channel_title": {
- "description": "Name of the channel that published the video or playlist.",
- "example": "OpenAI",
+ "overview": {
+ "description": "Short plot summary. Not filled in for list and chart results.",
"type": "string"
},
- "description_snippet": {
- "description": "Short excerpt of the video or channel description shown in the results.",
- "example": "A concise walkthrough of GPT features.",
+ "poster_url": {
+ "description": "URL of the poster image. Not filled in for list and chart results.",
"type": "string"
},
- "duration": {
- "description": "Video length as YouTube displays it, such as `12:34`.",
- "example": "12:34",
+ "release_date": {
+ "description": "Release or first air date. Not filled in for list and chart results.",
"type": "string"
},
- "duration_seconds": {
- "description": "Video length in seconds.",
- "example": 754,
- "type": "integer"
+ "title": {
+ "description": "Title of the movie or TV show.",
+ "type": "string"
},
- "handle": {
- "description": "Channel handle, starting with `@`. Set for channel results.",
- "example": "@OpenAI",
+ "uri": {
+ "description": "Link to the title's page on TMDB.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "tmdb.MovieListResponse": {
+ "properties": {
+ "category": {
"type": "string"
},
- "is_live": {
- "description": "Whether the video is a live stream.",
+ "has_next_page": {
"type": "boolean"
},
- "is_short": {
- "description": "Whether the video is a YouTube Short.",
- "type": "boolean"
+ "movies": {
+ "items": {
+ "$ref": "#/definitions/tmdb.MediaRef"
+ },
+ "type": "array"
},
- "is_verified": {
- "description": "Whether the channel carries a verified badge.",
- "type": "boolean"
+ "page": {
+ "type": "integer"
},
- "playlist_id": {
- "description": "YouTube playlist ID. Set for playlist results.",
- "example": "PL1234567890abcdef",
+ "source_url": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "tmdb.MovieResponse": {
+ "properties": {
+ "budget": {
+ "type": "number"
},
- "position": {
- "description": "Position of the item on this page of results, starting at 1.",
- "example": 1,
- "type": "integer"
+ "cast": {
+ "items": {
+ "$ref": "#/definitions/tmdb.CastCredit"
+ },
+ "type": "array"
},
- "published_text": {
- "description": "Upload time as YouTube displays it, such as `2 days ago`.",
- "example": "2 days ago",
- "type": "string"
+ "countries": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "short_view_count": {
- "description": "Abbreviated view count as YouTube displays it, such as `123K views`.",
- "example": "123K views",
- "type": "string"
+ "genres": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "subscriber_count": {
- "description": "Subscriber count as YouTube displays it, such as `1.93M subscribers`.",
- "example": "1.93M subscribers",
+ "homepage": {
"type": "string"
},
- "thumbnail": {
- "description": "URL of the item's thumbnail image.",
- "example": "https://i.ytimg.com/vi/abc123/hq720.jpg",
+ "id": {
+ "example": "27205",
"type": "string"
},
- "title": {
- "description": "Video or playlist title, or channel name.",
- "example": "ChatGPT Explained",
+ "original_language": {
+ "example": "English",
"type": "string"
},
- "type": {
- "description": "Kind of result: `video`, `channel` or `playlist`.",
- "example": "video",
+ "overview": {
"type": "string"
},
- "url": {
- "description": "Link to the video, channel or playlist on YouTube.",
- "example": "https://www.youtube.com/watch?v=abc123",
+ "poster_url": {
"type": "string"
},
- "video_count": {
- "description": "Number of videos as YouTube displays it, such as `12 videos`. Set for channel and playlist results.",
- "example": "9 lessons",
+ "rating": {
+ "$ref": "#/definitions/tmdb.Rating"
+ },
+ "release_date": {
+ "example": "2010-07-15",
"type": "string"
},
- "video_id": {
- "description": "YouTube video ID. Set for video results.",
- "example": "abc123xyz89",
+ "revenue": {
+ "type": "number"
+ },
+ "runtime_minutes": {
+ "example": 148,
+ "type": "integer"
+ },
+ "source_url": {
"type": "string"
},
- "view_count": {
- "description": "View count as YouTube displays it, such as `123,456 views`.",
- "example": "123,456 views",
+ "status": {
+ "example": "Released",
"type": "string"
- }
- },
- "type": "object"
- },
- "youtube.SearchResponse": {
- "properties": {
- "continuation_token": {
- "description": "Token to pass in the next request to get the following page. Omitted on the last page.",
- "example": "NEXT_TOKEN",
+ },
+ "tagline": {
"type": "string"
},
- "estimated_results": {
- "description": "Approximate number of results YouTube reports for the search.",
- "example": 9895225,
- "type": "integer"
+ "title": {
+ "example": "Inception",
+ "type": "string"
},
- "items": {
- "description": "Videos, channels and playlists on this page of results.",
+ "top_crew": {
"items": {
- "$ref": "#/definitions/youtube.SearchItem"
+ "$ref": "#/definitions/tmdb.CrewCredit"
},
"type": "array"
},
- "query": {
- "description": "Search text that was run.",
- "example": "gpt",
+ "uri": {
"type": "string"
+ },
+ "year": {
+ "example": 2010,
+ "type": "integer"
}
},
"type": "object"
},
- "youtube.TagResp": {
+ "tmdb.PersonListResponse": {
"properties": {
- "continuation_token": {
- "description": "Token to pass in the next request to get the following page.",
- "type": "string"
+ "has_next_page": {
+ "type": "boolean"
},
- "meta": {
- "allOf": [
- {
- "$ref": "#/definitions/youtube.tagMeta"
- }
- ],
- "description": "Totals shown on the hashtag page. Present on the first page only."
+ "page": {
+ "type": "integer"
},
- "videos": {
- "description": "Videos posted under the hashtag.",
+ "people": {
"items": {
- "$ref": "#/definitions/youtube.VideoDetail"
+ "$ref": "#/definitions/tmdb.PersonRef"
},
"type": "array"
+ },
+ "source_url": {
+ "type": "string"
}
},
"type": "object"
},
- "youtube.TranscriptLanguage": {
+ "tmdb.PersonRef": {
"properties": {
- "is_generated": {
- "description": "Whether the transcript is auto-generated rather than written by a person.",
- "type": "boolean"
+ "id": {
+ "type": "string"
},
- "is_translatable": {
- "description": "Whether YouTube offers translations of this transcript.",
- "type": "boolean"
+ "known_for": {
+ "type": "string"
},
- "language": {
- "description": "Language name, such as `English`.",
- "example": "English",
+ "name": {
"type": "string"
},
- "language_code": {
- "description": "Language code of the transcript, such as `en`.",
- "example": "en",
+ "profile_url": {
+ "type": "string"
+ },
+ "uri": {
"type": "string"
}
},
"type": "object"
},
- "youtube.TranscriptResponse": {
+ "tmdb.PersonResponse": {
"properties": {
- "is_generated": {
- "description": "Whether the transcript is auto-generated rather than written by a person.",
- "type": "boolean"
- },
- "language": {
- "description": "Language name of the transcript, such as `English`.",
- "example": "English",
+ "biography": {
"type": "string"
},
- "language_code": {
- "description": "Language code of the transcript, such as `en`.",
- "example": "en",
+ "birth_date": {
+ "example": "1956-07-09",
"type": "string"
},
- "segments": {
- "description": "Transcript split into timed segments.",
+ "filmography": {
"items": {
- "$ref": "#/definitions/youtube.TranscriptSegment"
+ "$ref": "#/definitions/tmdb.FilmographyCredit"
},
"type": "array"
},
- "text": {
- "description": "Full transcript as one block of text.",
- "example": "Never gonna give you up",
+ "id": {
+ "example": "31",
"type": "string"
},
- "translation_language": {
- "description": "Language code the transcript was translated into. Omitted when no translation was requested.",
- "example": "es",
+ "name": {
+ "example": "Tom Hanks",
"type": "string"
},
- "video_id": {
- "description": "YouTube video ID the transcript belongs to.",
- "example": "dQw4w9WgXcQ",
+ "photo_url": {
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "uri": {
"type": "string"
}
},
"type": "object"
},
- "youtube.TranscriptSegment": {
+ "tmdb.Rating": {
"properties": {
- "duration": {
- "description": "Length of the segment, in seconds.",
+ "average": {
+ "description": "Average TMDB user rating, on a 0 to 10 scale.",
+ "example": 8.372,
"type": "number"
},
- "start": {
- "description": "Time the segment starts, in seconds from the start of the video.",
- "type": "number"
+ "count": {
+ "description": "Number of user ratings behind the average.",
+ "example": 39524,
+ "type": "integer"
},
- "text": {
- "description": "Transcript text spoken in this segment.",
- "type": "string"
+ "review_count": {
+ "description": "Number of written user reviews. Omitted when TMDB shows none.",
+ "example": 8,
+ "type": "integer"
}
},
"type": "object"
},
- "youtube.VideoDetail": {
+ "tmdb.SearchResponse": {
"properties": {
- "channel_id": {
- "description": "YouTube channel ID of the uploader.",
- "example": "UCXZCJLdBC09xxGZ6gcdrc6A",
- "type": "string"
- },
- "channel_title": {
- "description": "Name of the channel that uploaded the video.",
- "example": "OpenAI",
- "type": "string"
+ "has_next_page": {
+ "description": "True when more pages of results are available.",
+ "type": "boolean"
},
- "comments_count": {
- "description": "Number of comments on the video; may be rounded when YouTube shows an abbreviated count. Omitted when unavailable.",
- "example": 1400,
+ "page": {
+ "description": "Page number returned.",
"type": "integer"
},
- "description": {
- "description": "Full video description.",
- "example": "On the first episode of the OpenAI Podcast...",
+ "query": {
+ "description": "Search text that was run.",
"type": "string"
},
- "dislikes_count": {
- "description": "may be hidden",
- "example": 0,
- "type": "integer"
+ "results": {
+ "description": "Search hits on this page, one item per movie, TV show, person or collection.",
+ "items": {
+ "$ref": "#/definitions/tmdb.SearchResult"
+ },
+ "type": "array"
},
- "duration_seconds": {
- "description": "length in seconds",
- "example": 2423,
- "type": "number"
+ "source_url": {
+ "description": "URL the data was read from.",
+ "type": "string"
},
+ "type": {
+ "description": "Result type the search was limited to: `movie`, `tv`, `person` or `collection`. Omitted for a mixed search.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "tmdb.SearchResult": {
+ "properties": {
"id": {
- "description": "YouTube video ID.",
- "example": "YbJOTdZBX1g",
+ "description": "TMDB id of the hit. Use it with the matching detail endpoint.",
"type": "string"
},
- "likes_count": {
- "description": "Number of likes on the video; may be rounded when YouTube shows an abbreviated count. Omitted when unavailable.",
- "example": 11000,
- "type": "integer"
+ "overview": {
+ "description": "Short plot summary or description. Present for movie, TV and collection hits.",
+ "type": "string"
},
- "published_at": {
- "description": "Time the video was published, in RFC 3339.",
- "example": "2025-06-18T07:59:20-07:00",
+ "release_date": {
+ "description": "Release or first air date as TMDB shows it. Present for movie and TV hits.",
"type": "string"
},
"title": {
- "description": "Video title as shown on YouTube.",
- "example": "Sam Altman on AGI, GPT-5, and what’s next — the OpenAI Podcast Ep. 1",
+ "description": "Title of the movie, TV show or collection, or name of the person.",
"type": "string"
},
- "views_count": {
- "description": "Number of views of the video. Omitted when unavailable.",
- "example": 460176,
- "type": "integer"
+ "type": {
+ "description": "Kind of hit: `movie`, `tv`, `person` or `collection`.",
+ "example": "movie",
+ "type": "string"
+ },
+ "uri": {
+ "description": "Link to the hit's page on TMDB.",
+ "type": "string"
}
},
"type": "object"
},
- "youtube.captionsResponseDoc": {
+ "tmdb.TVListResponse": {
"properties": {
- "code": {
- "example": 200,
+ "category": {
+ "description": "TV chart that was returned: `popular`, `top_rated`, `airing_today` or `on_the_air`.",
+ "type": "string"
+ },
+ "has_next_page": {
+ "description": "True when more pages of shows are available.",
+ "type": "boolean"
+ },
+ "page": {
+ "description": "Page number returned.",
"type": "integer"
},
- "data": {
+ "shows": {
+ "description": "TV shows on this page, one item per show.",
"items": {
- "$ref": "#/definitions/youtube.Caption"
+ "$ref": "#/definitions/tmdb.MediaRef"
},
"type": "array"
},
- "msg": {
- "example": "OK",
+ "source_url": {
+ "description": "URL the data was read from.",
"type": "string"
}
},
"type": "object"
},
- "youtube.channelFeedResponseDoc": {
+ "tmdb.TVResponse": {
"properties": {
- "code": {
- "example": 200,
+ "cast": {
+ "description": "Top-billed cast, up to 25 credits.",
+ "items": {
+ "$ref": "#/definitions/tmdb.CastCredit"
+ },
+ "type": "array"
+ },
+ "countries": {
+ "description": "Countries the show comes from.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "first_air_year": {
+ "description": "Year the show first aired.",
+ "example": 2008,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/youtube.ChannelFeedResponse"
+ "genres": {
+ "description": "Genres of the show.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "homepage": {
+ "description": "URL of the show's official website.",
"type": "string"
- }
- },
- "type": "object"
- },
- "youtube.channelSearchResponseDataDoc": {
- "properties": {
- "channel_id": {
- "description": "YouTube channel ID, starting with `UC`.",
- "example": "UCXZCJLdBC09xxGZ6gcdrc6A",
+ },
+ "id": {
+ "description": "TMDB id of the TV show.",
+ "example": "1396",
"type": "string"
},
- "channel_title": {
- "description": "Channel name as shown on YouTube.",
- "example": "OpenAI",
+ "last_air_year": {
+ "description": "Year the show last aired. Omitted for shows still airing.",
+ "example": 2013,
+ "type": "integer"
+ },
+ "number_of_episodes": {
+ "description": "Total number of episodes.",
+ "example": 62,
+ "type": "integer"
+ },
+ "original_language": {
+ "description": "Original language of the show, for example `English`.",
+ "example": "English",
"type": "string"
},
- "channel_url": {
- "description": "Link to the channel on YouTube.",
- "example": "https://www.youtube.com/@OpenAI",
+ "overview": {
+ "description": "Plot summary of the show.",
"type": "string"
},
- "continuation_token": {
- "description": "Token to pass in the next request to get the following page. Omitted on the last page.",
- "example": "NEXT_TOKEN",
+ "poster_url": {
+ "description": "URL of the poster image.",
"type": "string"
},
- "handle": {
- "description": "Channel handle, starting with `@`.",
- "example": "@OpenAI",
+ "rating": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/tmdb.Rating"
+ }
+ ],
+ "description": "Aggregate TMDB user rating for the show."
+ },
+ "source_url": {
+ "description": "URL the data was read from.",
"type": "string"
},
- "items": {
- "description": "Videos from the channel that match the search text.",
+ "status": {
+ "description": "Production status of the show, for example `Ended`.",
+ "example": "Ended",
+ "type": "string"
+ },
+ "tagline": {
+ "description": "Tagline of the show.",
+ "type": "string"
+ },
+ "title": {
+ "description": "Title of the show.",
+ "example": "Breaking Bad",
+ "type": "string"
+ },
+ "top_crew": {
+ "description": "Top-billed crew, such as the creator.",
"items": {
- "$ref": "#/definitions/youtube.SearchItem"
+ "$ref": "#/definitions/tmdb.CrewCredit"
},
"type": "array"
},
- "query": {
- "description": "Search text that was run inside the channel.",
- "example": "gpt",
- "type": "string"
- },
- "thumbnail": {
- "description": "URL of the channel's avatar image.",
- "example": "https://yt3.googleusercontent.com/example=s176-c-k-c0x00ffffff-no-rj",
+ "uri": {
+ "description": "Link to the show's page on TMDB.",
"type": "string"
}
},
"type": "object"
},
- "youtube.channelSearchResponseDoc": {
+ "tmdb.collectionResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/youtube.channelSearchResponseDataDoc"
+ "$ref": "#/definitions/tmdb.CollectionResponse"
},
"msg": {
"example": "OK",
@@ -267956,14 +271980,14 @@
},
"type": "object"
},
- "youtube.channelShortsResponseDoc": {
+ "tmdb.genresResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/youtube.ChannelShortsResponse"
+ "$ref": "#/definitions/tmdb.GenresResponse"
},
"msg": {
"example": "OK",
@@ -267972,14 +271996,14 @@
},
"type": "object"
},
- "youtube.commentsResponseDoc": {
+ "tmdb.movieListResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/youtube.CommentResponse"
+ "$ref": "#/definitions/tmdb.MovieListResponse"
},
"msg": {
"example": "OK",
@@ -267988,14 +272012,14 @@
},
"type": "object"
},
- "youtube.playlistResponseDoc": {
+ "tmdb.movieResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/youtube.PlaylistResponse"
+ "$ref": "#/definitions/tmdb.MovieResponse"
},
"msg": {
"example": "OK",
@@ -268004,14 +272028,14 @@
},
"type": "object"
},
- "youtube.profileResponseDoc": {
+ "tmdb.personListResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/youtube.Profile"
+ "$ref": "#/definitions/tmdb.PersonListResponse"
},
"msg": {
"example": "OK",
@@ -268020,14 +272044,14 @@
},
"type": "object"
},
- "youtube.searchResponseDoc": {
+ "tmdb.personResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/youtube.SearchResponse"
+ "$ref": "#/definitions/tmdb.PersonResponse"
},
"msg": {
"example": "OK",
@@ -268036,14 +272060,14 @@
},
"type": "object"
},
- "youtube.suggestResponseDoc": {
+ "tmdb.searchResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/suggest.Response"
+ "$ref": "#/definitions/tmdb.SearchResponse"
},
"msg": {
"example": "OK",
@@ -268052,29 +272076,14 @@
},
"type": "object"
},
- "youtube.tagMeta": {
- "properties": {
- "channelsCount": {
- "description": "Number of channels using the hashtag, as shown on the hashtag page.",
- "format": "int64",
- "type": "integer"
- },
- "videosCount": {
- "description": "Number of videos using the hashtag, as shown on the hashtag page.",
- "format": "int64",
- "type": "integer"
- }
- },
- "type": "object"
- },
- "youtube.tagResponseDoc": {
+ "tmdb.tvListResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/youtube.TagResp"
+ "$ref": "#/definitions/tmdb.TVListResponse"
},
"msg": {
"example": "OK",
@@ -268083,17 +272092,14 @@
},
"type": "object"
},
- "youtube.transcriptLanguagesResponseDoc": {
+ "tmdb.tvResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "items": {
- "$ref": "#/definitions/youtube.TranscriptLanguage"
- },
- "type": "array"
+ "$ref": "#/definitions/tmdb.TVResponse"
},
"msg": {
"example": "OK",
@@ -268102,290 +272108,164 @@
},
"type": "object"
},
- "youtube.transcriptResponseDoc": {
+ "tmz.AuthorArticle": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
+ "image_url": {
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/youtube.TranscriptResponse"
+ "published_at": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "summary": {
"type": "string"
- }
- },
- "type": "object"
- },
- "youtube.videoResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/youtube.VideoDetail"
+ "title": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "zalando.CategoriesResponse": {
+ "tmz.AuthorResponse": {
"properties": {
- "categories": {
+ "articles": {
"items": {
- "$ref": "#/definitions/zalando.CategoryTaxonomyEntry"
+ "$ref": "#/definitions/tmz.AuthorArticle"
},
"type": "array"
},
- "count": {
- "example": 11,
+ "name": {
+ "type": "string"
+ },
+ "page": {
"type": "integer"
},
- "department": {
- "example": "women",
+ "slug": {
+ "type": "string"
+ },
+ "url": {
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "tokopedia.AutocompleteResponse": {
+ "properties": {
+ "browser_rendered": {
+ "type": "boolean"
},
"fetched_at": {
"type": "string"
},
- "market": {
- "example": "de",
+ "query": {
"type": "string"
},
- "source_urls": {
+ "suggestions": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/tokopedia.Suggestion"
},
"type": "array"
}
},
"type": "object"
},
- "zalando.CategoryResponse": {
+ "tokopedia.CategoryResponse": {
"properties": {
- "category": {
- "example": "shoes",
+ "category_path": {
"type": "string"
},
- "count": {
- "example": 24,
- "type": "integer"
- },
"fetched_at": {
"type": "string"
},
- "market": {
- "example": "de",
- "type": "string"
- },
"products": {
"items": {
- "$ref": "#/definitions/zalando.ProductSummary"
+ "$ref": "#/definitions/tokopedia.Product"
},
"type": "array"
},
"source_url": {
"type": "string"
- },
- "total_count": {
- "example": 145032,
- "type": "integer"
}
},
"type": "object"
},
- "zalando.CategoryTaxonomyEntry": {
+ "tokopedia.HomeResponse": {
"properties": {
- "category": {
- "example": "womens-clothing",
- "type": "string"
- },
- "department": {
- "example": "women",
- "type": "string"
+ "browser_rendered": {
+ "type": "boolean"
},
- "name": {
- "example": "Clothing",
+ "fetched_at": {
"type": "string"
},
- "url": {
- "example": "https://en.zalando.de/womens-clothing/",
- "type": "string"
- }
- },
- "type": "object"
- },
- "zalando.Market": {
- "properties": {
- "code": {
- "example": "de",
- "type": "string"
+ "has_next_page": {
+ "type": "boolean"
},
- "domain": {
- "example": "en.zalando.de",
- "type": "string"
- }
- },
- "type": "object"
- },
- "zalando.MarketsResponse": {
- "properties": {
- "count": {
- "example": 8,
+ "page": {
"type": "integer"
},
- "markets": {
+ "products": {
"items": {
- "$ref": "#/definitions/zalando.Market"
+ "$ref": "#/definitions/tokopedia.Product"
},
"type": "array"
+ },
+ "tab": {
+ "$ref": "#/definitions/tokopedia.HomeTab"
}
},
"type": "object"
},
- "zalando.Product": {
+ "tokopedia.HomeTab": {
"properties": {
- "brand": {
- "example": "On",
- "type": "string"
- },
- "color": {
- "example": "white white/white",
- "type": "string"
- },
- "currency": {
- "example": "EUR",
+ "id": {
"type": "string"
},
- "description": {
+ "image_url": {
"type": "string"
},
- "images": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
"name": {
- "example": "CLOUD 6 - Trainers - white white",
- "type": "string"
- },
- "price": {
- "example": 160,
- "type": "number"
- },
- "sku": {
- "example": "ONM11A03W-A12",
"type": "string"
- },
- "url": {
- "example": "https://en.zalando.de/on-cloud-trainers-white-white-onm11a03w-a12.html",
- "type": "string"
- },
- "variants": {
- "items": {
- "$ref": "#/definitions/zalando.ProductVariant"
- },
- "type": "array"
}
},
"type": "object"
},
- "zalando.ProductResponse": {
+ "tokopedia.HomeTabsResponse": {
"properties": {
"fetched_at": {
"type": "string"
},
- "market": {
- "example": "de",
- "type": "string"
- },
- "product": {
- "$ref": "#/definitions/zalando.Product"
- },
- "source_url": {
- "type": "string"
+ "tabs": {
+ "items": {
+ "$ref": "#/definitions/tokopedia.HomeTab"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "zalando.ProductSummary": {
+ "tokopedia.Product": {
"properties": {
- "brand": {
- "example": "On",
- "type": "string"
- },
- "condition": {
- "example": "NEW",
- "type": "string"
- },
- "currency": {
- "example": "EUR",
- "type": "string"
- },
- "discount_percent": {
- "example": 20,
- "type": "integer"
- },
- "image": {
+ "image_url": {
"type": "string"
},
"name": {
- "example": "CLOUD 6 - Trainers - white white",
"type": "string"
},
- "original_price": {
- "example": 199.95,
- "type": "number"
- },
"price": {
- "example": 160,
- "type": "number"
- },
- "silhouette": {
- "example": "LOW_SHOE",
- "type": "string"
- },
- "sku": {
- "example": "ONM11A03W-A12",
- "type": "string"
- },
- "url": {
- "example": "https://en.zalando.de/on-cloud-trainers-white-white-onm11a03w-a12.html",
- "type": "string"
- }
- },
- "type": "object"
- },
- "zalando.ProductVariant": {
- "properties": {
- "availability": {
- "example": "InStock",
- "type": "string"
+ "type": "integer"
},
- "currency": {
- "example": "EUR",
+ "price_text": {
"type": "string"
},
- "gtin": {
- "example": "7615537206202",
+ "rating": {
"type": "string"
},
- "price": {
- "example": 160,
- "type": "number"
- },
- "size": {
- "example": "42",
+ "shop_city": {
"type": "string"
},
- "sku": {
- "example": "ONM11A03W-A120010000",
+ "shop_name": {
"type": "string"
},
"url": {
@@ -268394,620 +272274,270 @@
},
"type": "object"
},
- "zalando.SearchResponse": {
+ "tokopedia.ProductDetail": {
"properties": {
- "count": {
- "example": 24,
- "type": "integer"
- },
- "fetched_at": {
- "type": "string"
- },
- "market": {
- "example": "de",
- "type": "string"
- },
- "products": {
- "items": {
- "$ref": "#/definitions/zalando.ProductSummary"
- },
- "type": "array"
+ "browser_rendered": {
+ "type": "boolean"
},
- "query": {
- "example": "running shoes",
+ "description": {
"type": "string"
},
- "source_url": {
+ "discount_percent": {
"type": "string"
},
- "total_count": {
- "example": 4911,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "zalando.SuggestResponse": {
- "properties": {
"fetched_at": {
"type": "string"
},
- "market": {
- "example": "de",
- "type": "string"
- },
- "query": {
- "example": "running sho",
- "type": "string"
- },
- "source_url": {
- "type": "string"
- },
- "suggestions": {
- "example": [
- "running shoes",
- "running shoes nike",
- "running shoes adidas"
- ],
+ "images": {
"items": {
"type": "string"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "zalando.categoriesResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/zalando.CategoriesResponse"
- },
- "msg": {
- "example": "OK",
+ "name": {
"type": "string"
- }
- },
- "type": "object"
- },
- "zalando.categoryResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/zalando.CategoryResponse"
},
- "msg": {
- "example": "OK",
+ "original_price": {
"type": "string"
- }
- },
- "type": "object"
- },
- "zalando.marketsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/zalando.MarketsResponse"
},
- "msg": {
- "example": "OK",
- "type": "string"
- }
- },
- "type": "object"
- },
- "zalando.productResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
+ "price": {
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/zalando.ProductResponse"
- },
- "msg": {
- "example": "OK",
+ "price_text": {
"type": "string"
- }
- },
- "type": "object"
- },
- "zalando.searchResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/zalando.SearchResponse"
+ "product_id": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "product_key": {
"type": "string"
- }
- },
- "type": "object"
- },
- "zalando.suggestResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/zalando.SuggestResponse"
+ "shop_domain": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "source_url": {
"type": "string"
}
},
"type": "object"
},
- "zappos.BrandRef": {
+ "tokopedia.ReviewFilterAvailability": {
"properties": {
- "id": {
- "example": "WgLNGeICAQs",
- "type": "string"
- },
- "name": {
- "example": "Adidas Outdoor",
- "type": "string"
- },
- "slug": {
- "example": "adidas-outdoor",
- "type": "string"
+ "available": {
+ "type": "boolean"
},
- "url": {
- "example": "https://www.zappos.com/adidas-outdoor/WgLNGeICAQs.zso",
+ "key": {
"type": "string"
}
},
"type": "object"
},
- "zappos.BrandResponse": {
+ "tokopedia.ReviewFiltersResponse": {
"properties": {
- "brand": {
- "type": "string"
+ "browser_rendered": {
+ "type": "boolean"
},
- "brand_id": {
+ "fetched_at": {
"type": "string"
},
- "count": {
- "type": "integer"
- },
- "facets": {
+ "media": {
"items": {
- "$ref": "#/definitions/zappos.Facet"
+ "$ref": "#/definitions/tokopedia.ReviewFilterAvailability"
},
"type": "array"
},
- "fetched_at": {
+ "product_id": {
"type": "string"
},
- "has_more": {
- "type": "boolean"
- },
- "page": {
- "type": "integer"
- },
- "page_count": {
- "type": "integer"
- },
- "page_size": {
- "type": "integer"
- },
- "products": {
+ "ratings": {
"items": {
- "$ref": "#/definitions/zappos.ProductSummary"
+ "$ref": "#/definitions/tokopedia.ReviewFilterAvailability"
},
"type": "array"
},
- "source_url": {
- "type": "string"
- },
- "total_count": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "zappos.BrandsResponse": {
- "properties": {
- "brands": {
+ "topics": {
"items": {
- "$ref": "#/definitions/zappos.BrandRef"
+ "$ref": "#/definitions/tokopedia.ReviewFilterAvailability"
},
"type": "array"
- },
- "has_next": {
- "example": true,
- "type": "boolean"
- },
- "page": {
- "example": 1,
- "type": "integer"
- },
- "page_size": {
- "example": 100,
- "type": "integer"
- },
- "total": {
- "example": 440,
- "type": "integer"
}
},
"type": "object"
},
- "zappos.ColorVariant": {
+ "tokopedia.SearchFilter": {
"properties": {
- "color_id": {
- "type": "string"
- },
- "color_name": {
- "type": "string"
+ "options": {
+ "items": {
+ "$ref": "#/definitions/tokopedia.SearchFilterOption"
+ },
+ "type": "array"
},
- "original_price": {
+ "placeholder": {
"type": "string"
},
- "percent_off": {
- "type": "string"
+ "searchable": {
+ "type": "boolean"
},
- "price": {
+ "template": {
"type": "string"
},
- "url": {
+ "title": {
"type": "string"
}
},
"type": "object"
},
- "zappos.Facet": {
+ "tokopedia.SearchFilterOption": {
"properties": {
- "field": {
- "example": "txAttrFacet_Gender",
- "type": "string"
- },
- "multi_select": {
- "type": "boolean"
- },
- "name": {
- "example": "Gender",
- "type": "string"
- },
- "values": {
+ "children": {
"items": {
- "$ref": "#/definitions/zappos.FacetValue"
+ "$ref": "#/definitions/tokopedia.SearchFilterOption"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "zappos.FacetValue": {
- "properties": {
- "count": {
- "example": 69,
- "type": "integer"
- },
- "selected": {
- "type": "boolean"
},
- "url": {
+ "description": {
"type": "string"
},
- "value": {
- "example": "Women",
- "type": "string"
- }
- },
- "type": "object"
- },
- "zappos.FeaturedReview": {
- "properties": {
- "author": {
+ "hex_color": {
"type": "string"
},
- "body": {
+ "icon": {
"type": "string"
},
- "comfort_rating": {
- "type": "number"
- },
- "date": {
+ "input_type": {
"type": "string"
},
- "id": {
+ "key": {
"type": "string"
},
- "look_rating": {
- "type": "integer"
- },
- "overall_rating": {
- "type": "integer"
+ "max": {
+ "type": "string"
},
- "up_votes": {
- "type": "integer"
+ "min": {
+ "type": "string"
},
- "verified_purchase": {
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "zappos.FitFeedback": {
- "properties": {
- "most_common_answer": {
- "description": "MostCommonAnswer and MostCommonPercentage are Zappos's own \"most\ncommon answer\" summary for this dimension, e.g. \"Felt true to size\"\nat 80%.",
+ "name": {
"type": "string"
},
- "most_common_percentage": {
- "type": "number"
+ "total_data": {
+ "type": "string"
},
- "percentages": {
- "additionalProperties": {
- "format": "float64",
- "type": "number"
- },
- "description": "Percentages maps each response option's own text (e.g. \"Felt true to\nsize\") to the percentage of reviewers who chose it.",
- "type": "object"
+ "value": {
+ "type": "string"
}
},
"type": "object"
},
- "zappos.ProductDetailResponse": {
+ "tokopedia.SearchFiltersResponse": {
"properties": {
- "arch_fit": {
- "$ref": "#/definitions/zappos.FitFeedback"
- },
- "brand_name": {
- "type": "string"
- },
- "breadcrumbs": {
- "description": "Breadcrumbs is the site's own navigation path to this product (e.g.\n[\"shoes\", \"sneakers & athletic shoes\", \"adidas Outdoor\"]).",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "category": {
- "type": "string"
- },
- "color": {
- "type": "string"
- },
- "color_id": {
+ "fetched_at": {
"type": "string"
},
- "color_variants": {
- "description": "ColorVariants lists every sibling color variant of this product\n(including this one), each with its own price. See service.go's doc\ncomment on where this is sourced from.",
+ "filters": {
"items": {
- "$ref": "#/definitions/zappos.ColorVariant"
+ "$ref": "#/definitions/tokopedia.SearchFilter"
},
"type": "array"
},
- "currency_code": {
- "type": "string"
- },
- "description": {
+ "query": {
"type": "string"
},
- "featured_reviews": {
- "description": "FeaturedReviews holds Zappos's own site-selected featured reviews --\nat most two (the page's own \"most helpful\" and \"most voted\" picks,\ndeduplicated if they are the same single review) -- each with real\nauthor/date/body/rating, not the whole review corpus. See service.go's\ndoc comment for why this differs from the JSON-LD block's own\ncontent-free review stub.",
+ "sorts": {
"items": {
- "$ref": "#/definitions/zappos.FeaturedReview"
+ "$ref": "#/definitions/tokopedia.SearchSort"
},
"type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "tokopedia.SearchResponse": {
+ "properties": {
+ "browser_rendered": {
+ "type": "boolean"
},
"fetched_at": {
"type": "string"
},
- "images": {
+ "page": {
+ "type": "integer"
+ },
+ "products": {
"items": {
- "type": "string"
+ "$ref": "#/definitions/tokopedia.Product"
},
"type": "array"
},
- "in_stock": {
- "type": "boolean"
- },
- "original_price": {
- "type": "string"
- },
- "price": {
- "type": "string"
- },
- "product_id": {
- "type": "string"
- },
- "product_name": {
+ "query": {
"type": "string"
},
- "rating": {
- "type": "number"
- },
- "rating_breakdown": {
- "additionalProperties": {
- "format": "float64",
- "type": "number"
- },
- "description": "RatingBreakdown maps each star value (\"1\" through \"5\") to the\npercentage of reviewers who gave that rating.",
- "type": "object"
- },
- "rating_count": {
- "description": "RatingCount is the product's total review count, sourced from the\npage's own aggregate rating summary (not the number of entries in\nFeaturedReviews, which is at most 2 -- see FeaturedReviews' doc\ncomment).",
+ "sort": {
"type": "integer"
},
- "size_fit": {
- "allOf": [
- {
- "$ref": "#/definitions/zappos.FitFeedback"
- }
- ],
- "description": "SizeFit, WidthFit, and ArchFit summarize reviewer-submitted fit\nfeedback for this product -- nil when the product has no fit-feedback\ndata. Sourced from the same RSC \"reviews\" object as RatingBreakdown/\nFeaturedReviews, at no extra upstream cost. See FitFeedback's doc\ncomment."
- },
"source_url": {
"type": "string"
- },
- "url": {
- "type": "string"
- },
- "width_fit": {
- "$ref": "#/definitions/zappos.FitFeedback"
}
},
"type": "object"
},
- "zappos.ProductSummary": {
+ "tokopedia.SearchSort": {
"properties": {
- "brand_name": {
- "type": "string"
- },
- "color": {
- "type": "string"
- },
- "color_id": {
- "type": "string"
- },
- "gender": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "image_url": {
- "type": "string"
- },
- "is_new": {
- "type": "boolean"
- },
- "on_hand": {
- "type": "integer"
- },
- "on_sale": {
- "type": "boolean"
- },
- "original_price": {
- "type": "string"
- },
- "percent_off": {
- "type": "string"
- },
- "price": {
- "type": "string"
- },
- "product_id": {
- "type": "string"
- },
- "product_name": {
+ "apply_filter": {
"type": "string"
},
- "product_type": {
+ "input_type": {
"type": "string"
},
- "rating": {
- "type": "number"
- },
- "review_count": {
- "type": "integer"
- },
- "style_color": {
+ "key": {
"type": "string"
},
- "style_id": {
+ "name": {
"type": "string"
},
- "url": {
+ "value": {
"type": "string"
}
},
"type": "object"
},
- "zappos.SearchResponse": {
+ "tokopedia.Suggestion": {
"properties": {
- "count": {
- "type": "integer"
- },
- "facets": {
- "description": "Facets lists this page's own filterable fields (gender, department,\nshoe size, etc.), each with live result counts and drill-down URLs --\nsourced from the same response this package already fetches, not a\nseparate upstream call. See buildFacets's doc comment.",
- "items": {
- "$ref": "#/definitions/zappos.Facet"
- },
- "type": "array"
- },
- "fetched_at": {
- "type": "string"
- },
- "has_more": {
+ "is_ad": {
"type": "boolean"
},
- "page": {
- "type": "integer"
- },
- "page_count": {
- "type": "integer"
- },
- "page_size": {
- "type": "integer"
- },
- "products": {
- "items": {
- "$ref": "#/definitions/zappos.ProductSummary"
- },
- "type": "array"
- },
- "source_url": {
+ "text": {
"type": "string"
},
- "term": {
+ "url": {
"type": "string"
- },
- "total_count": {
- "type": "integer"
}
},
"type": "object"
},
- "zappos.SuggestResponse": {
+ "tokopedia.autocompleteResponseDoc": {
"properties": {
- "count": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "fetched_at": {
- "type": "string"
- },
- "query": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/tokopedia.AutocompleteResponse"
},
- "source_url": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "suggestions": {
- "items": {
- "type": "string"
- },
- "type": "array"
}
},
"type": "object"
},
- "zappos.brandResponseDoc": {
+ "tokopedia.categoryResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/zappos.BrandResponse"
+ "$ref": "#/definitions/tokopedia.CategoryResponse"
},
"msg": {
"example": "OK",
@@ -269016,14 +272546,14 @@
},
"type": "object"
},
- "zappos.brandsResponseDoc": {
+ "tokopedia.homeResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/zappos.BrandsResponse"
+ "$ref": "#/definitions/tokopedia.HomeResponse"
},
"msg": {
"example": "OK",
@@ -269032,14 +272562,14 @@
},
"type": "object"
},
- "zappos.productDetailResponseDoc": {
+ "tokopedia.homeTabsResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/zappos.ProductDetailResponse"
+ "$ref": "#/definitions/tokopedia.HomeTabsResponse"
},
"msg": {
"example": "OK",
@@ -269048,14 +272578,14 @@
},
"type": "object"
},
- "zappos.searchResponseDoc": {
+ "tokopedia.productResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/zappos.SearchResponse"
+ "$ref": "#/definitions/tokopedia.ProductDetail"
},
"msg": {
"example": "OK",
@@ -269064,14 +272594,14 @@
},
"type": "object"
},
- "zappos.suggestResponseDoc": {
+ "tokopedia.reviewFiltersResponseDoc": {
"properties": {
"code": {
"example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/zappos.SuggestResponse"
+ "$ref": "#/definitions/tokopedia.ReviewFiltersResponse"
},
"msg": {
"example": "OK",
@@ -269080,214 +272610,124 @@
},
"type": "object"
},
- "zara.CategoriesResponse": {
+ "tokopedia.searchFiltersResponseDoc": {
"properties": {
- "categories": {
- "items": {
- "$ref": "#/definitions/zara.CategoryNode"
- },
- "type": "array"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "fetched_at": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/tokopedia.SearchFiltersResponse"
},
- "source_url": {
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "zara.CategoryNode": {
+ "tokopedia.searchResponseDoc": {
"properties": {
- "has_subcategories": {
- "type": "boolean"
- },
- "id": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "name": {
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/tokopedia.SearchResponse"
},
- "section_name": {
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "subcategories": {
- "items": {
- "$ref": "#/definitions/zara.CategoryNode"
- },
- "type": "array"
}
},
"type": "object"
},
- "zara.CategoryProductsResponse": {
+ "tomsguide.AuthorResponse": {
"properties": {
- "category_id": {
- "type": "string"
- },
- "count": {
- "type": "integer"
- },
- "fetched_at": {
- "type": "string"
- },
- "products": {
+ "articles": {
"items": {
- "$ref": "#/definitions/zara.ProductSummary"
+ "$ref": "#/definitions/newsplatform.HeadlineItem"
},
"type": "array"
},
- "source_url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "zara.ColorSummary": {
- "properties": {
- "availability": {
- "type": "string"
+ "biography": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "id": {
- "type": "string"
+ "has_next_page": {
+ "type": "boolean"
},
- "image_url": {
+ "job_title": {
"type": "string"
},
"name": {
"type": "string"
},
- "price": {
- "type": "number"
- },
- "product_id": {
+ "page": {
"type": "integer"
- }
- },
- "type": "object"
- },
- "zara.CompositionComponent": {
- "properties": {
- "material": {
- "type": "string"
- },
- "percentage": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "zara.CompositionPart": {
- "properties": {
- "components": {
- "items": {
- "$ref": "#/definitions/zara.CompositionComponent"
- },
- "type": "array"
},
- "description": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "zara.Facet": {
- "properties": {
- "key": {
+ "slug": {
"type": "string"
},
- "values": {
+ "social_links": {
"items": {
- "$ref": "#/definitions/zara.FacetValue"
+ "$ref": "#/definitions/tomsguide.AuthorSocialLink"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "zara.FacetValue": {
- "properties": {
- "count": {
- "type": "integer"
},
- "id": {
- "type": "string"
- },
- "label": {
+ "url": {
"type": "string"
}
},
"type": "object"
},
- "zara.ProductDetailColor": {
+ "tomsguide.AuthorSocialLink": {
"properties": {
- "availability": {
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "id": {
+ "platform": {
"type": "string"
},
- "images": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "name": {
+ "url": {
"type": "string"
- },
- "price": {
- "type": "number"
- },
- "sizes": {
- "items": {
- "$ref": "#/definitions/zara.ProductDetailSize"
- },
- "type": "array"
}
},
"type": "object"
},
- "zara.ProductDetailResponse": {
+ "tomshardware.AuthorResponse": {
"properties": {
- "colors": {
+ "articles": {
"items": {
- "$ref": "#/definitions/zara.ProductDetailColor"
+ "$ref": "#/definitions/newsplatform.HeadlineItem"
},
"type": "array"
},
- "composition": {
+ "biography": {
"items": {
- "$ref": "#/definitions/zara.CompositionPart"
+ "type": "string"
},
"type": "array"
},
- "family_name": {
- "type": "string"
+ "has_next_page": {
+ "type": "boolean"
},
- "fetched_at": {
+ "job_title": {
"type": "string"
},
"name": {
"type": "string"
},
- "product_id": {
- "type": "string"
- },
- "reference": {
- "type": "string"
- },
- "section_name": {
- "type": "string"
+ "page": {
+ "type": "integer"
},
- "source_url": {
+ "slug": {
"type": "string"
},
- "subfamily_name": {
- "type": "string"
+ "social_links": {
+ "items": {
+ "$ref": "#/definitions/tomshardware.AuthorSocialLink"
+ },
+ "type": "array"
},
"url": {
"type": "string"
@@ -269295,59 +272735,26 @@
},
"type": "object"
},
- "zara.ProductDetailSize": {
+ "tomshardware.AuthorSocialLink": {
"properties": {
- "availability": {
+ "platform": {
"type": "string"
},
- "id": {
- "type": "integer"
- },
- "name": {
+ "url": {
"type": "string"
- },
- "price": {
- "type": "number"
- },
- "sku": {
- "type": "integer"
}
},
"type": "object"
},
- "zara.ProductSummary": {
+ "torontostar.AuthorArticle": {
"properties": {
- "availability": {
- "type": "string"
- },
- "colors": {
- "items": {
- "$ref": "#/definitions/zara.ColorSummary"
- },
- "type": "array"
- },
- "family_name": {
- "type": "string"
- },
- "id": {
- "type": "integer"
- },
- "image_url": {
- "type": "string"
- },
- "name": {
- "type": "string"
- },
- "price": {
- "type": "number"
- },
- "reference": {
+ "published_at": {
"type": "string"
},
- "section_name": {
+ "summary": {
"type": "string"
},
- "subfamily_name": {
+ "title": {
"type": "string"
},
"url": {
@@ -269356,101 +272763,33 @@
},
"type": "object"
},
- "zara.SearchResponse": {
+ "torontostar.AuthorResponse": {
"properties": {
- "count": {
- "type": "integer"
- },
- "facets": {
- "items": {
- "$ref": "#/definitions/zara.Facet"
- },
- "type": "array"
- },
- "fetched_at": {
- "type": "string"
- },
- "is_last_page": {
- "type": "boolean"
- },
- "limit": {
- "type": "integer"
- },
- "offset": {
- "type": "integer"
- },
- "products": {
+ "articles": {
"items": {
- "$ref": "#/definitions/zara.ProductSummary"
+ "$ref": "#/definitions/torontostar.AuthorArticle"
},
"type": "array"
},
- "query": {
- "type": "string"
- },
- "section": {
- "type": "string"
- },
- "source_url": {
- "type": "string"
- },
- "total_count": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "zara.Store": {
- "properties": {
- "address": {
+ "bio": {
"type": "string"
},
- "city": {
+ "image_url": {
"type": "string"
},
- "commercial_name": {
+ "job_title": {
"type": "string"
},
- "country": {
+ "location": {
"type": "string"
},
- "donation_allowed": {
- "type": "boolean"
- },
- "id": {
- "type": "integer"
- },
- "latitude": {
- "type": "number"
- },
- "longitude": {
- "type": "number"
- },
"name": {
"type": "string"
},
- "phone": {
- "type": "string"
- },
- "pickup_allowed": {
- "type": "boolean"
- },
- "postal_code": {
- "type": "string"
- },
- "sections": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "state": {
- "type": "string"
- },
- "status": {
+ "slug": {
"type": "string"
},
- "type": {
+ "topics": {
"type": "string"
},
"url": {
@@ -269459,2466 +272798,69088 @@
},
"type": "object"
},
- "zara.StoreResponse": {
+ "townhall.AuthorArticle": {
"properties": {
- "count": {
- "type": "integer"
- },
- "fetched_at": {
+ "image_url": {
"type": "string"
},
- "lat": {
- "type": "number"
- },
- "lng": {
- "type": "number"
- },
- "radius": {
- "type": "integer"
- },
- "source_url": {
+ "published_at": {
"type": "string"
},
- "stores": {
- "items": {
- "$ref": "#/definitions/zara.Store"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "zara.SuggestResponse": {
- "properties": {
- "count": {
- "type": "integer"
- },
- "fetched_at": {
+ "section": {
"type": "string"
},
- "query": {
+ "title": {
"type": "string"
},
- "source_url": {
+ "url": {
"type": "string"
},
- "suggestions": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "vip": {
+ "description": "VIP is true when Townhall marks the story with its VIP badge, meaning\nonly the lead paragraph is free (see Article's paywalled flag).",
+ "type": "boolean"
}
},
"type": "object"
},
- "zara.categoriesResponseDoc": {
+ "townhall.AuthorResponse": {
"properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/zara.CategoriesResponse"
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/townhall.AuthorArticle"
+ },
+ "type": "array"
},
- "msg": {
- "example": "OK",
+ "bio": {
"type": "string"
- }
- },
- "type": "object"
- },
- "zara.categoryProductsResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/zara.CategoryProductsResponse"
},
- "msg": {
- "example": "OK",
+ "image_url": {
"type": "string"
- }
- },
- "type": "object"
- },
- "zara.productDetailResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/zara.ProductDetailResponse"
},
- "msg": {
- "example": "OK",
+ "name": {
"type": "string"
- }
- },
- "type": "object"
- },
- "zara.searchResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
- },
- "data": {
- "$ref": "#/definitions/zara.SearchResponse"
},
- "msg": {
- "example": "OK",
+ "slug": {
"type": "string"
- }
- },
- "type": "object"
- },
- "zara.storesResponseDoc": {
- "properties": {
- "code": {
- "example": 200,
- "type": "integer"
},
- "data": {
- "$ref": "#/definitions/zara.StoreResponse"
+ "url": {
+ "type": "string"
},
- "msg": {
- "example": "OK",
+ "x_url": {
"type": "string"
}
},
"type": "object"
},
- "zara.suggestResponseDoc": {
+ "trends.ExploreQueriesResponse": {
"properties": {
- "code": {
- "example": 200,
+ "category": {
+ "description": "Trends category ID that was applied. `0` means all categories.",
+ "example": 0,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/zara.SuggestResponse"
- },
- "msg": {
- "example": "OK",
+ "geo": {
+ "description": "Location code the data covers, such as `US`.",
+ "example": "US",
"type": "string"
- }
- },
- "type": "object"
- },
- "zaxbys.MenuCategory": {
- "properties": {
- "catering": {
- "description": "Catering marks a catering-only section (larger platters/boxed\nlunches), separate from the everyday menu.",
- "type": "boolean"
- },
- "id": {
- "type": "integer"
},
- "image": {
+ "hl": {
+ "description": "Locale that was applied, such as `en-US`.",
+ "example": "en-US",
"type": "string"
},
- "name": {
- "example": "Fingerz™ & Wings Meals",
+ "keywords": {
+ "description": "Keywords that were compared.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "property": {
+ "description": "Google property filter that was applied, matching `type`.",
"type": "string"
},
- "products": {
+ "queries": {
+ "description": "Related queries, grouped by keyword.",
"items": {
- "$ref": "#/definitions/zaxbys.MenuProduct"
+ "$ref": "#/definitions/trends.RelatedGroup"
},
"type": "array"
},
- "slug": {
+ "query_type": {
+ "description": "Kind of related queries returned: `top` or `rising`.",
+ "example": "top",
"type": "string"
},
- "spotlight": {
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "zaxbys.MenuModifierGroup": {
- "properties": {
- "id": {
- "type": "integer"
+ "time_range": {
+ "description": "Time range that was applied, such as `today 12-m`.",
+ "example": "today 12-m",
+ "type": "string"
},
- "name": {
- "example": "Boneless or traditional?",
+ "type": {
+ "description": "Search type that was applied: `web`, `image`, `news`, `youtube` or `shopping`.",
+ "example": "web",
"type": "string"
},
- "options": {
- "items": {
- "$ref": "#/definitions/zaxbys.MenuModifierOption"
- },
- "type": "array"
+ "tz": {
+ "description": "Timezone offset in minutes that was applied.",
+ "example": 0,
+ "type": "integer"
}
},
"type": "object"
},
- "zaxbys.MenuModifierOption": {
+ "trends.ExploreRequest": {
"properties": {
- "cost": {
- "example": 17,
- "type": "number"
+ "category": {
+ "example": 0,
+ "type": "integer"
},
- "default": {
- "type": "boolean"
+ "geo": {
+ "enum": [
+ "WORLDWIDE",
+ "AF",
+ "AX",
+ "AL",
+ "DZ",
+ "AS",
+ "AD",
+ "AO",
+ "AI",
+ "AQ",
+ "AG",
+ "AR",
+ "AM",
+ "AW",
+ "AU",
+ "AT",
+ "AZ",
+ "BS",
+ "BH",
+ "BD",
+ "BB",
+ "BY",
+ "BE",
+ "BZ",
+ "BJ",
+ "BM",
+ "BT",
+ "BO",
+ "BA",
+ "BW",
+ "BV",
+ "BR",
+ "IO",
+ "VG",
+ "BN",
+ "BG",
+ "BF",
+ "BI",
+ "KH",
+ "CM",
+ "CA",
+ "CV",
+ "BQ",
+ "KY",
+ "CF",
+ "TD",
+ "CL",
+ "CN",
+ "CX",
+ "CC",
+ "CO",
+ "KM",
+ "CG",
+ "CD",
+ "CK",
+ "CR",
+ "CI",
+ "HR",
+ "CU",
+ "CW",
+ "CY",
+ "CZ",
+ "DK",
+ "DJ",
+ "DM",
+ "DO",
+ "EC",
+ "EG",
+ "SV",
+ "GQ",
+ "ER",
+ "EE",
+ "SZ",
+ "ET",
+ "FK",
+ "FO",
+ "FJ",
+ "FI",
+ "FR",
+ "GF",
+ "PF",
+ "TF",
+ "GA",
+ "GM",
+ "GE",
+ "DE",
+ "GH",
+ "GI",
+ "GR",
+ "GL",
+ "GD",
+ "GP",
+ "GU",
+ "GT",
+ "GG",
+ "GN",
+ "GW",
+ "GY",
+ "HT",
+ "HM",
+ "HN",
+ "HK",
+ "HU",
+ "IS",
+ "IN",
+ "ID",
+ "IR",
+ "IQ",
+ "IE",
+ "IM",
+ "IL",
+ "IT",
+ "JM",
+ "JP",
+ "JE",
+ "JO",
+ "KZ",
+ "KE",
+ "KI",
+ "XK",
+ "KW",
+ "KG",
+ "LA",
+ "LV",
+ "LB",
+ "LS",
+ "LR",
+ "LY",
+ "LI",
+ "LT",
+ "LU",
+ "MO",
+ "MG",
+ "MW",
+ "MY",
+ "MV",
+ "ML",
+ "MT",
+ "MH",
+ "MQ",
+ "MR",
+ "MU",
+ "YT",
+ "MX",
+ "FM",
+ "MD",
+ "MC",
+ "MN",
+ "ME",
+ "MS",
+ "MA",
+ "MZ",
+ "MM",
+ "NA",
+ "NR",
+ "NP",
+ "NL",
+ "NC",
+ "NZ",
+ "NI",
+ "NE",
+ "NG",
+ "NU",
+ "NF",
+ "KP",
+ "MK",
+ "MP",
+ "NO",
+ "OM",
+ "PK",
+ "PW",
+ "PS",
+ "PA",
+ "PG",
+ "PY",
+ "PE",
+ "PH",
+ "PN",
+ "PL",
+ "PT",
+ "PR",
+ "QA",
+ "RE",
+ "RO",
+ "RU",
+ "RW",
+ "WS",
+ "SM",
+ "ST",
+ "SA",
+ "SN",
+ "RS",
+ "SC",
+ "SL",
+ "SG",
+ "SX",
+ "SK",
+ "SI",
+ "SB",
+ "SO",
+ "ZA",
+ "GS",
+ "KR",
+ "SS",
+ "ES",
+ "LK",
+ "BL",
+ "SH",
+ "KN",
+ "LC",
+ "MF",
+ "PM",
+ "VC",
+ "SD",
+ "SR",
+ "SJ",
+ "SE",
+ "CH",
+ "SY",
+ "TW",
+ "TJ",
+ "TZ",
+ "TH",
+ "TL",
+ "TG",
+ "TK",
+ "TO",
+ "TT",
+ "TN",
+ "TR",
+ "TM",
+ "TC",
+ "TV",
+ "UM",
+ "VI",
+ "UG",
+ "UA",
+ "AE",
+ "GB",
+ "US",
+ "UY",
+ "UZ",
+ "VU",
+ "VA",
+ "VE",
+ "VN",
+ "WF",
+ "EH",
+ "YE",
+ "ZM",
+ "ZW"
+ ],
+ "example": "US",
+ "type": "string"
},
- "groups": {
+ "hl": {
+ "example": "en-US",
+ "type": "string"
+ },
+ "keywords": {
+ "example": [
+ "chatgpt",
+ "openai"
+ ],
"items": {
- "$ref": "#/definitions/zaxbys.MenuModifierGroup"
+ "type": "string"
},
"type": "array"
},
- "id": {
- "type": "integer"
+ "property": {
+ "example": "",
+ "type": "string"
},
- "name": {
- "example": "Sauced Fingerz",
+ "time_range": {
+ "enum": [
+ "now 1-H",
+ "now 4-H",
+ "now 1-d",
+ "now 7-d",
+ "today 1-m",
+ "today 3-m",
+ "today 12-m",
+ "today 5-y",
+ "all"
+ ],
+ "example": "today 12-m",
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "web",
+ "image",
+ "news",
+ "youtube",
+ "shopping"
+ ],
+ "example": "web",
"type": "string"
+ },
+ "tz": {
+ "example": 0,
+ "type": "integer"
}
},
"type": "object"
},
- "zaxbys.MenuProduct": {
+ "trends.ExploreResponse": {
"properties": {
- "available_now": {
- "description": "AvailableNow reflects the upstream's own current-availability flag\n(e.g. a limited-time item outside its active window is excluded here,\nnot filtered out of the response -- callers can decide what to do\nwith a not-currently-available item).",
- "type": "boolean"
+ "category": {
+ "description": "Trends category ID that was applied. `0` means all categories.",
+ "example": 0,
+ "type": "integer"
},
- "badges": {
+ "geo": {
+ "description": "Location code the data covers, such as `US`.",
+ "example": "US",
+ "type": "string"
+ },
+ "hl": {
+ "description": "Locale that was applied, such as `en-US`.",
+ "example": "en-US",
+ "type": "string"
+ },
+ "interest_by_region": {
+ "description": "Interest in each keyword by region.",
"items": {
- "type": "string"
+ "$ref": "#/definitions/trends.RegionInterest"
},
"type": "array"
},
- "calories": {
- "example": "1440 - 1770",
- "type": "string"
- },
- "cost": {
- "example": 0,
- "type": "number"
+ "interest_over_time": {
+ "description": "Interest in each keyword over time, one point per time step.",
+ "items": {
+ "$ref": "#/definitions/trends.InterestPoint"
+ },
+ "type": "array"
},
- "customization_available": {
- "type": "boolean"
+ "keywords": {
+ "description": "Keywords that were compared.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "description": {
+ "property": {
+ "description": "Google property filter that was applied, matching `type`.",
"type": "string"
},
- "groups": {
+ "related_queries": {
+ "description": "Top related queries, grouped by keyword. Same content as `top_queries`.",
"items": {
- "$ref": "#/definitions/zaxbys.MenuModifierGroup"
+ "$ref": "#/definitions/trends.RelatedGroup"
},
"type": "array"
},
- "image": {
- "type": "string"
- },
- "product_id": {
- "example": 113251777,
- "type": "integer"
+ "related_topics": {
+ "description": "Related topics, grouped by keyword.",
+ "items": {
+ "$ref": "#/definitions/trends.RelatedGroup"
+ },
+ "type": "array"
},
- "short_description": {
- "type": "string"
+ "rising_queries": {
+ "description": "Rising related queries, grouped by keyword.",
+ "items": {
+ "$ref": "#/definitions/trends.RelatedGroup"
+ },
+ "type": "array"
},
- "size": {
+ "time_range": {
+ "description": "Time range that was applied, such as `today 12-m`.",
+ "example": "today 12-m",
"type": "string"
},
- "tags": {
+ "top_queries": {
+ "description": "Top related queries, grouped by keyword.",
"items": {
- "type": "string"
+ "$ref": "#/definitions/trends.RelatedGroup"
},
"type": "array"
},
- "title": {
- "example": "Lemon Pepper Wings & Things Meal",
+ "type": {
+ "description": "Search type that was applied: `web`, `image`, `news`, `youtube` or `shopping`.",
+ "example": "web",
"type": "string"
+ },
+ "tz": {
+ "description": "Timezone offset in minutes that was applied.",
+ "example": 0,
+ "type": "integer"
}
},
"type": "object"
},
- "zaxbys.MenuResponse": {
+ "trends.InterestByRegionResponse": {
"properties": {
- "categories": {
+ "category": {
+ "description": "Trends category ID that was applied. `0` means all categories.",
+ "example": 0,
+ "type": "integer"
+ },
+ "geo": {
+ "description": "Location code the data covers, such as `US`.",
+ "example": "US",
+ "type": "string"
+ },
+ "hl": {
+ "description": "Locale that was applied, such as `en-US`.",
+ "example": "en-US",
+ "type": "string"
+ },
+ "interest_by_region": {
+ "description": "Interest in each keyword by region.",
"items": {
- "$ref": "#/definitions/zaxbys.MenuCategory"
+ "$ref": "#/definitions/trends.RegionInterest"
},
"type": "array"
},
- "category_count": {
- "example": 15,
- "type": "integer"
+ "keywords": {
+ "description": "Keywords that were compared.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "fetched_at": {
+ "property": {
+ "description": "Google property filter that was applied, matching `type`.",
"type": "string"
},
- "product_count": {
- "example": 106,
- "type": "integer"
+ "time_range": {
+ "description": "Time range that was applied, such as `today 12-m`.",
+ "example": "today 12-m",
+ "type": "string"
},
- "source_url": {
+ "type": {
+ "description": "Search type that was applied: `web`, `image`, `news`, `youtube` or `shopping`.",
+ "example": "web",
"type": "string"
+ },
+ "tz": {
+ "description": "Timezone offset in minutes that was applied.",
+ "example": 0,
+ "type": "integer"
}
},
"type": "object"
},
- "zaxbys.NearbyResponse": {
+ "trends.InterestOverTimeResponse": {
"properties": {
- "count": {
- "example": 10,
+ "category": {
+ "description": "Trends category ID that was applied. `0` means all categories.",
+ "example": 0,
"type": "integer"
},
- "fetched_at": {
+ "geo": {
+ "description": "Location code the data covers, such as `US`.",
+ "example": "US",
"type": "string"
},
- "radius_miles": {
- "example": 25,
- "type": "integer"
- },
- "source_url": {
+ "hl": {
+ "description": "Locale that was applied, such as `en-US`.",
+ "example": "en-US",
"type": "string"
},
- "stores": {
+ "interest_over_time": {
+ "description": "Interest in each keyword over time, one point per time step.",
"items": {
- "$ref": "#/definitions/zaxbys.NearbyStore"
+ "$ref": "#/definitions/trends.InterestPoint"
},
"type": "array"
- }
- },
- "type": "object"
- },
- "zaxbys.NearbyStore": {
- "properties": {
- "address": {
- "$ref": "#/definitions/zaxbys.StoreAddress"
- },
- "available": {
- "description": "Available is Zaxby's own overall availability flag for this store\n(distinct from CurrentlyOpen, which reflects today's hours).",
- "type": "boolean"
- },
- "currently_open": {
- "type": "boolean"
- },
- "distance_miles": {
- "description": "DistanceMiles is measured from the requested coordinate.",
- "example": 1.78,
- "type": "number"
- },
- "eta": {
- "description": "ETA is Zaxby's own published estimate for this store, e.g. \"24MIN\".\nNot a fixed unit-tagged duration upstream, so it is passed through as-is.",
- "example": "24MIN",
- "type": "string"
},
- "hours": {
+ "keywords": {
+ "description": "Keywords that were compared.",
"items": {
- "$ref": "#/definitions/zaxbys.StoreHours"
+ "type": "string"
},
"type": "array"
},
- "latitude": {
- "example": 40.872505,
- "type": "number"
- },
- "longitude": {
- "example": -73.854276,
- "type": "number"
- },
- "name": {
- "example": "Bronx - 3260 Boston Road",
- "type": "string"
- },
- "order_url": {
- "description": "OrderURL is Zaxby's own Olo-hosted ordering page for this store.",
+ "property": {
+ "description": "Google property filter that was applied, matching `type`.",
"type": "string"
},
- "phone": {
- "example": "(929) 992-4390",
+ "time_range": {
+ "description": "Time range that was applied, such as `today 12-m`.",
+ "example": "today 12-m",
"type": "string"
},
- "services": {
- "$ref": "#/definitions/zaxbys.StoreServices"
- },
- "slug": {
- "example": "bronx-3260-boston-road",
+ "type": {
+ "description": "Search type that was applied: `web`, `image`, `news`, `youtube` or `shopping`.",
+ "example": "web",
"type": "string"
},
- "store_id": {
- "example": 299987,
+ "tz": {
+ "description": "Timezone offset in minutes that was applied.",
+ "example": 0,
"type": "integer"
- },
- "store_number": {
- "example": "75030",
- "type": "string"
}
},
"type": "object"
},
- "zaxbys.StoreAddress": {
+ "trends.InterestPoint": {
"properties": {
- "city": {
- "example": "Bronx",
+ "formatted_axis_time": {
+ "description": "Date label used on the chart axis, such as `Apr 2026`.",
+ "example": "Apr 2026",
"type": "string"
},
- "postal_code": {
- "description": "PostalCode is a US ZIP code. The upstream source is US-only.",
- "example": "10469",
+ "formatted_time": {
+ "description": "Date label of this point as Google Trends shows it, such as `Apr 2026`.",
+ "example": "Apr 2026",
"type": "string"
},
- "region": {
- "example": "NY",
+ "time": {
+ "description": "Time of this data point, in Unix seconds, as a string.",
+ "example": "1777075200",
"type": "string"
},
- "street": {
- "example": "3260 Boston Road",
- "type": "string"
+ "values": {
+ "description": "Interest value for each keyword at this point.",
+ "items": {
+ "$ref": "#/definitions/trends.TrendValue"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "zaxbys.StoreHours": {
+ "trends.RegionInterest": {
"properties": {
- "label": {
- "example": "Delivery",
+ "geo_code": {
+ "description": "Code of the region, such as `US-CA`.",
+ "example": "US-CA",
"type": "string"
},
- "ranges": {
+ "geo_name": {
+ "description": "Name of the region, such as `California`.",
+ "example": "California",
+ "type": "string"
+ },
+ "values": {
+ "description": "Interest value for each keyword in this region.",
"items": {
- "$ref": "#/definitions/zaxbys.StoreHoursRange"
+ "$ref": "#/definitions/trends.TrendValue"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "trends.RelatedGroup": {
+ "properties": {
+ "items": {
+ "description": "Related entries for this keyword.",
+ "items": {
+ "$ref": "#/definitions/trends.RelatedItem"
},
"type": "array"
},
- "type": {
- "example": "drivethru",
+ "keyword": {
+ "description": "Keyword the related entries belong to.",
+ "example": "chatgpt",
"type": "string"
}
},
"type": "object"
},
- "zaxbys.StoreHoursRange": {
+ "trends.RelatedItem": {
"properties": {
- "closes_at": {
- "example": "2026-09-06 03:00",
+ "formatted_value": {
+ "description": "Value as Google Trends displays it.",
+ "example": "100",
"type": "string"
},
- "day": {
- "example": "Sat",
+ "link": {
+ "description": "Google Trends path that opens this entry in Explore.",
+ "example": "/trends/explore?q=chatgpt",
"type": "string"
},
- "opens_at": {
- "example": "2026-09-05 10:30",
+ "query": {
+ "description": "Related search query.",
+ "example": "chatgpt login",
+ "type": "string"
+ },
+ "topic_mid": {
+ "description": "Google topic ID of the related topic, such as `/g/11khcfz0y2`.",
+ "example": "/g/11khcfz0y2",
+ "type": "string"
+ },
+ "topic_title": {
+ "description": "Title of the related topic.",
+ "example": "ChatGPT",
+ "type": "string"
+ },
+ "topic_type": {
+ "description": "Type label of the related topic, such as `Topic`.",
+ "example": "Topic",
"type": "string"
+ },
+ "value": {
+ "description": "Relative popularity score Google Trends gives the entry.",
+ "example": 100,
+ "type": "integer"
}
},
"type": "object"
},
- "zaxbys.StoreResponse": {
+ "trends.RelatedTopicsResponse": {
"properties": {
- "address": {
- "$ref": "#/definitions/zaxbys.StoreAddress"
- },
- "available": {
- "description": "Available is Zaxby's own overall availability flag for this store\n(distinct from CurrentlyOpen, which reflects today's hours).",
- "type": "boolean"
- },
- "currently_open": {
- "type": "boolean"
+ "category": {
+ "description": "Trends category ID that was applied. `0` means all categories.",
+ "example": 0,
+ "type": "integer"
},
- "eta": {
- "description": "ETA is Zaxby's own published estimate for this store, e.g. \"24MIN\".\nNot a fixed unit-tagged duration upstream, so it is passed through as-is.",
- "example": "24MIN",
+ "geo": {
+ "description": "Location code the data covers, such as `US`.",
+ "example": "US",
"type": "string"
},
- "fetched_at": {
+ "hl": {
+ "description": "Locale that was applied, such as `en-US`.",
+ "example": "en-US",
"type": "string"
},
- "hours": {
+ "keywords": {
+ "description": "Keywords that were compared.",
"items": {
- "$ref": "#/definitions/zaxbys.StoreHours"
+ "type": "string"
},
"type": "array"
},
- "latitude": {
- "example": 40.872505,
- "type": "number"
- },
- "longitude": {
- "example": -73.854276,
- "type": "number"
- },
- "name": {
- "example": "Bronx - 3260 Boston Road",
- "type": "string"
- },
- "order_url": {
- "description": "OrderURL is Zaxby's own Olo-hosted ordering page for this store.",
- "type": "string"
- },
- "phone": {
- "example": "(929) 992-4390",
+ "property": {
+ "description": "Google property filter that was applied, matching `type`.",
"type": "string"
},
- "services": {
- "$ref": "#/definitions/zaxbys.StoreServices"
+ "related_topics": {
+ "description": "Related topics, grouped by keyword.",
+ "items": {
+ "$ref": "#/definitions/trends.RelatedGroup"
+ },
+ "type": "array"
},
- "slug": {
- "example": "bronx-3260-boston-road",
+ "time_range": {
+ "description": "Time range that was applied, such as `today 12-m`.",
+ "example": "today 12-m",
"type": "string"
},
- "source_url": {
+ "type": {
+ "description": "Search type that was applied: `web`, `image`, `news`, `youtube` or `shopping`.",
+ "example": "web",
"type": "string"
},
- "store_id": {
- "example": 299987,
+ "tz": {
+ "description": "Timezone offset in minutes that was applied.",
+ "example": 0,
"type": "integer"
- },
- "store_number": {
- "example": "75030",
- "type": "string"
}
},
"type": "object"
},
- "zaxbys.StoreServices": {
+ "trends.TrendCategory": {
"properties": {
- "catering": {
- "type": "boolean"
- },
- "curbside": {
- "type": "boolean"
- },
- "delivery": {
- "type": "boolean"
- },
- "dine_in": {
- "type": "boolean"
- },
- "dispatch": {
- "type": "boolean"
- },
- "drive_thru": {
- "type": "boolean"
- },
- "free_wifi": {
- "type": "boolean"
- },
- "milkshakes": {
- "type": "boolean"
- },
- "online_ordering": {
- "type": "boolean"
- },
- "open_late": {
- "type": "boolean"
+ "id": {
+ "description": "Trends category ID. Pass it as `category`.",
+ "example": 0,
+ "type": "integer"
},
- "pickup": {
- "type": "boolean"
+ "name": {
+ "description": "Category name, such as `All`.",
+ "example": "All",
+ "type": "string"
}
},
"type": "object"
},
- "zaxbys.menuResponseDoc": {
+ "trends.TrendValue": {
"properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
+ "formatted_value": {
+ "description": "Interest score as Google Trends displays it.",
+ "example": "87",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/zaxbys.MenuResponse"
+ "has_data": {
+ "description": "Whether Google Trends has data for this keyword at this point.",
+ "example": true,
+ "type": "boolean"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "keyword": {
+ "description": "Keyword the value belongs to.",
+ "example": "chatgpt",
+ "type": "string"
+ },
+ "value": {
+ "description": "Relative interest score for the keyword, as Google Trends reports it.",
+ "example": 87,
+ "type": "integer"
}
},
"type": "object"
},
- "zaxbys.nearbyResponseDoc": {
+ "trends.TrendingArticle": {
"properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
- "type": "integer"
+ "source": {
+ "description": "Name of the news outlet that published the article.",
+ "example": "Example News",
+ "type": "string"
},
- "data": {
- "$ref": "#/definitions/zaxbys.NearbyResponse"
+ "time": {
+ "description": "When the article was published, as Google words it, such as `2 hours ago`.",
+ "example": "2 hours ago",
+ "type": "string"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "title": {
+ "description": "Headline of the news article.",
+ "example": "Why chatgpt is trending",
+ "type": "string"
+ },
+ "url": {
+ "description": "URL of the news article.",
+ "example": "https://example.com/news",
+ "type": "string"
}
},
"type": "object"
},
- "zaxbys.storeResponseDoc": {
+ "trends.TrendingDetailRequest": {
"properties": {
- "code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "category": {
+ "example": 0,
"type": "integer"
},
- "data": {
- "$ref": "#/definitions/zaxbys.StoreResponse"
+ "geo": {
+ "enum": [
+ "WORLDWIDE",
+ "AF",
+ "AX",
+ "AL",
+ "DZ",
+ "AS",
+ "AD",
+ "AO",
+ "AI",
+ "AQ",
+ "AG",
+ "AR",
+ "AM",
+ "AW",
+ "AU",
+ "AT",
+ "AZ",
+ "BS",
+ "BH",
+ "BD",
+ "BB",
+ "BY",
+ "BE",
+ "BZ",
+ "BJ",
+ "BM",
+ "BT",
+ "BO",
+ "BA",
+ "BW",
+ "BV",
+ "BR",
+ "IO",
+ "VG",
+ "BN",
+ "BG",
+ "BF",
+ "BI",
+ "KH",
+ "CM",
+ "CV",
+ "CA",
+ "BQ",
+ "KY",
+ "CF",
+ "TD",
+ "CL",
+ "CN",
+ "CX",
+ "CC",
+ "CO",
+ "KM",
+ "CG",
+ "CD",
+ "CK",
+ "CR",
+ "CI",
+ "HR",
+ "CU",
+ "CW",
+ "CY",
+ "CZ",
+ "DK",
+ "DJ",
+ "DM",
+ "DO",
+ "EC",
+ "EG",
+ "SV",
+ "GQ",
+ "ER",
+ "EE",
+ "SZ",
+ "ET",
+ "FK",
+ "FO",
+ "FJ",
+ "FI",
+ "FR",
+ "GF",
+ "PF",
+ "TF",
+ "GA",
+ "GM",
+ "GE",
+ "DE",
+ "GH",
+ "GI",
+ "GR",
+ "GL",
+ "GD",
+ "GP",
+ "GU",
+ "GT",
+ "GG",
+ "GN",
+ "GW",
+ "GY",
+ "HT",
+ "HM",
+ "HN",
+ "HK",
+ "HU",
+ "IS",
+ "IN",
+ "ID",
+ "IR",
+ "IQ",
+ "IE",
+ "IM",
+ "IL",
+ "IT",
+ "JM",
+ "JP",
+ "JE",
+ "JO",
+ "KZ",
+ "KE",
+ "KI",
+ "XK",
+ "KW",
+ "KG",
+ "LA",
+ "LV",
+ "LB",
+ "LS",
+ "LR",
+ "LY",
+ "LI",
+ "LT",
+ "LU",
+ "MO",
+ "MG",
+ "MW",
+ "MY",
+ "MV",
+ "ML",
+ "MT",
+ "MH",
+ "MQ",
+ "MR",
+ "MU",
+ "YT",
+ "MX",
+ "FM",
+ "MD",
+ "MC",
+ "MN",
+ "ME",
+ "MS",
+ "MA",
+ "MZ",
+ "MM",
+ "NA",
+ "NR",
+ "NP",
+ "NL",
+ "NC",
+ "NZ",
+ "NI",
+ "NE",
+ "NG",
+ "NU",
+ "NF",
+ "KP",
+ "MK",
+ "MP",
+ "NO",
+ "OM",
+ "PK",
+ "PW",
+ "PS",
+ "PA",
+ "PG",
+ "PY",
+ "PE",
+ "PH",
+ "PN",
+ "PL",
+ "PT",
+ "PR",
+ "QA",
+ "RE",
+ "RO",
+ "RU",
+ "RW",
+ "WS",
+ "SM",
+ "ST",
+ "SA",
+ "SN",
+ "RS",
+ "SC",
+ "SL",
+ "SG",
+ "SX",
+ "SK",
+ "SI",
+ "SB",
+ "SO",
+ "ZA",
+ "GS",
+ "KR",
+ "SS",
+ "ES",
+ "LK",
+ "BL",
+ "SH",
+ "KN",
+ "LC",
+ "MF",
+ "PM",
+ "VC",
+ "SD",
+ "SR",
+ "SJ",
+ "SE",
+ "CH",
+ "SY",
+ "TW",
+ "TJ",
+ "TZ",
+ "TH",
+ "TL",
+ "TG",
+ "TK",
+ "TO",
+ "TT",
+ "TN",
+ "TR",
+ "TM",
+ "TC",
+ "TV",
+ "UM",
+ "VI",
+ "UG",
+ "UA",
+ "AE",
+ "GB",
+ "US",
+ "UY",
+ "UZ",
+ "VU",
+ "VA",
+ "VE",
+ "VN",
+ "WF",
+ "EH",
+ "YE",
+ "ZM",
+ "ZW"
+ ],
+ "example": "US",
+ "type": "string"
},
- "msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "hl": {
+ "example": "en-US",
+ "type": "string"
+ },
+ "property": {
+ "example": "",
+ "type": "string"
+ },
+ "query": {
+ "example": "chatgpt",
+ "type": "string"
+ },
+ "time_range": {
+ "enum": [
+ "now 1-H",
+ "now 4-H",
+ "now 1-d",
+ "now 7-d",
+ "today 1-m",
+ "today 3-m",
+ "today 12-m",
+ "today 5-y",
+ "all"
+ ],
+ "example": "now 7-d",
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "web",
+ "image",
+ "news",
+ "youtube",
+ "shopping"
+ ],
+ "example": "web",
+ "type": "string"
+ },
+ "tz": {
+ "example": 0,
+ "type": "integer"
}
},
"type": "object"
},
- "zdnet.AuthorResponse": {
+ "trends.TrendingItem": {
"properties": {
- "article_count": {
- "type": "integer"
- },
"articles": {
+ "description": "News articles linked to the trend.",
"items": {
- "$ref": "#/definitions/newsplatform.HeadlineItem"
+ "$ref": "#/definitions/trends.TrendingArticle"
},
"type": "array"
},
- "biography": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "explore_url": {
+ "description": "Google Trends Explore URL for the trend.",
+ "example": "https://trends.google.com/trends/explore?q=chatgpt&geo=US",
+ "type": "string"
},
- "credentials": {
+ "query": {
+ "description": "Search query behind the trend.",
+ "example": "chatgpt",
"type": "string"
},
- "expertise": {
+ "rank": {
+ "description": "Rank of the trend in the list, with `1` as the top entry.",
+ "example": 1,
+ "type": "integer"
+ },
+ "related_terms": {
+ "description": "Related search terms listed for the trend.",
"items": {
- "$ref": "#/definitions/zdnet.AuthorTopic"
+ "type": "string"
},
"type": "array"
},
- "has_next_page": {
- "type": "boolean"
+ "share_url": {
+ "description": "Link for sharing the trend.",
+ "type": "string"
},
- "image_url": {
+ "started_unix": {
+ "description": "Time the trend started, in Unix seconds.",
+ "example": 1777075200,
+ "type": "integer"
+ },
+ "status": {
+ "description": "Whether the trend is `active` or `ended`.",
+ "example": "active",
"type": "string"
},
- "joined_at": {
+ "title": {
+ "description": "Title of the trend.",
+ "example": "chatgpt",
"type": "string"
},
- "name": {
+ "traffic": {
+ "description": "Approximate search volume label for the trend, such as `200K+`.",
+ "example": "200K+",
"type": "string"
},
- "page": {
+ "updated_unix": {
+ "description": "Time the trend was last updated, in Unix seconds.",
+ "example": 1777078800,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "trends.TrendingResponse": {
+ "properties": {
+ "category": {
+ "description": "Trends category ID that was applied. `0` means all categories.",
+ "example": 0,
"type": "integer"
},
- "role": {
+ "geo": {
+ "description": "Country code the trends cover, such as `US`.",
+ "example": "US",
"type": "string"
},
- "slug": {
+ "hl": {
+ "description": "Locale that was applied, such as `en-US`.",
+ "example": "en-US",
"type": "string"
},
- "social_links": {
+ "items": {
+ "description": "Trending searches, one entry per trend.",
"items": {
- "$ref": "#/definitions/zdnet.AuthorSocialLink"
+ "$ref": "#/definitions/trends.TrendingItem"
},
"type": "array"
},
- "url": {
+ "sort_by": {
+ "description": "Sort order that was applied: `relevance`, `title`, `recency` or `search_volume`.",
+ "example": "relevance",
"type": "string"
- }
- },
- "type": "object"
- },
- "zdnet.AuthorSocialLink": {
- "properties": {
- "platform": {
+ },
+ "status": {
+ "description": "Status filter that was applied: `all`, `active` or `ended`.",
+ "example": "all",
"type": "string"
},
- "url": {
+ "time_range": {
+ "description": "Time window that was applied. Same value as `window`.",
+ "example": "24h",
+ "type": "string"
+ },
+ "tz": {
+ "description": "Timezone offset in minutes that was applied.",
+ "example": 0,
+ "type": "integer"
+ },
+ "window": {
+ "description": "Time window that was applied: `4h`, `24h`, `48h` or `7d`.",
+ "example": "24h",
"type": "string"
}
},
"type": "object"
},
- "zdnet.AuthorTopic": {
+ "trends.TrendsCategoriesResponse": {
"properties": {
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
+ "categories": {
+ "description": "Supported Trends categories, each with an ID and name.",
+ "items": {
+ "$ref": "#/definitions/trends.TrendCategory"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "zillow.AutocompleteItem": {
+ "trends.TrendsEnumsResponse": {
"properties": {
- "city": {
- "description": "City name of the suggested place.",
- "example": "Los Angeles",
- "type": "string"
- },
- "county": {
- "description": "County name of the suggested place.",
- "example": "Los Angeles County",
- "type": "string"
- },
- "id": {
- "description": "Identifier of the suggestion, as Zillow returns it.",
- "type": "string"
- },
- "latitude": {
- "description": "Latitude of the suggested location, in decimal degrees.",
- "type": "number"
- },
- "longitude": {
- "description": "Longitude of the suggested location, in decimal degrees.",
- "type": "number"
- },
- "near_me": {
- "description": "Whether the suggestion is Zillow's near-me search option.",
- "type": "boolean"
- },
- "plid": {
- "description": "Place identifier of the suggestion, as Zillow returns it.",
- "type": "string"
- },
- "region_display_ids": {
- "description": "Display ids of the regions listed in `region_ids`, as Zillow returns them.",
+ "explore_time_ranges": {
+ "description": "Supported `time_range` values for the Explore endpoints.",
"items": {
"type": "string"
},
"type": "array"
},
- "region_id": {
- "description": "Zillow region id of the suggestion. Pass it as `region_id` to the search endpoint.",
- "example": 12447,
- "type": "integer"
- },
- "region_ids": {
- "description": "Zillow region ids covered by a suggestion that spans several regions.",
+ "locations": {
+ "description": "Supported location codes.",
"items": {
- "type": "integer"
+ "type": "string"
},
"type": "array"
},
- "region_type": {
- "description": "Zillow region type code that goes with `region_id`. Pass it as `region_type` to the search endpoint.",
- "example": 6,
- "type": "integer"
- },
- "region_types": {
- "description": "Zillow region type codes that match the region ids in `region_ids`.",
+ "search_types": {
+ "description": "Supported search `type` values.",
"items": {
- "type": "integer"
+ "type": "string"
},
"type": "array"
},
- "school_district_ids": {
- "description": "Zillow ids of the school districts the suggestion refers to.",
+ "trend_statuses": {
+ "description": "Supported `status` values for Trending Now.",
"items": {
- "type": "integer"
+ "type": "string"
},
"type": "array"
},
- "school_ids": {
- "description": "Zillow ids of the schools the suggestion refers to.",
+ "trending_categories": {
+ "description": "Supported category IDs for Trending Now, each with a name.",
"items": {
- "type": "integer"
+ "$ref": "#/definitions/trends.TrendCategory"
},
"type": "array"
},
- "state": {
- "description": "State abbreviation of the suggested place, such as `CA`.",
- "example": "CA",
- "type": "string"
- },
- "sub_type": {
- "description": "Kind of place the suggestion is, such as `city`.",
- "type": "string"
+ "trending_sort_bys": {
+ "description": "Supported `sort_by` values for Trending Now.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "view_latitude_delta": {
- "description": "Latitude span of the map view Zillow suggests for this result.",
- "type": "number"
+ "trending_time_ranges": {
+ "description": "Supported `window` values for Trending Now.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "zillow.AutocompleteResponse": {
+ "trends.TrendsLocationsResponse": {
"properties": {
- "query": {
- "description": "Query that was run.",
- "example": "Los Angeles, CA",
- "type": "string"
- },
- "request_id": {
- "description": "Identifier Zillow gave to this autocomplete request.",
- "type": "string"
- },
- "results": {
- "description": "Location suggestions, in the order Zillow returned them.",
+ "locations": {
+ "description": "Supported location codes, such as `US`.",
"items": {
- "$ref": "#/definitions/zillow.AutocompleteItem"
+ "type": "string"
},
"type": "array"
}
},
"type": "object"
},
- "zillow.PropertyAddressParts": {
+ "trends.exploreQueriesResponseDoc": {
"properties": {
- "city": {
- "description": "City of the property.",
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "county": {
- "description": "County of the property.",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/trends.ExploreQueriesResponse"
},
- "neighborhood": {
- "description": "Neighborhood of the property.",
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "trends.exploreResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "state": {
- "description": "State of the property.",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/trends.ExploreResponse"
},
- "street": {
- "description": "Street address of the property.",
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "trends.interestByRegionResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "subdivision": {
- "description": "Subdivision the property belongs to.",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/trends.InterestByRegionResponse"
},
- "zipcode": {
- "description": "ZIP code of the property.",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "zillow.PropertyAgent": {
+ "trends.interestOverTimeResponseDoc": {
"properties": {
- "email": {
- "description": "Email address of the agent, as shown on the listing.",
- "type": "string"
- },
- "name": {
- "description": "Full name of the agent.",
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "phone": {
- "description": "Phone number of the agent, as shown on the listing.",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/trends.InterestOverTimeResponse"
},
- "type": {
- "description": "Role of the agent on the listing, as Zillow labels it.",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "zillow.PropertyArea": {
+ "trends.relatedTopicsResponseDoc": {
"properties": {
- "text": {
- "description": "Area together with its unit, as text.",
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "unit": {
- "description": "Unit of `value`, such as `sqft` or `acres`.",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/trends.RelatedTopicsResponse"
},
- "value": {
- "description": "Area as a number, in the unit given by `unit`.",
- "type": "number"
+ "msg": {
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "zillow.PropertyFact": {
+ "trends.trendingResponseDoc": {
"properties": {
- "key": {
- "description": "Name of the fact in snake case, such as `year_built`.",
- "type": "string"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "label": {
- "description": "Readable label of the fact.",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/trends.TrendingResponse"
},
- "value": {
- "description": "Value of the fact, as text.",
+ "msg": {
+ "example": "OK",
"type": "string"
}
},
"type": "object"
},
- "zillow.PropertyFacts": {
+ "trends.trendsCategoriesResponseDoc": {
"properties": {
- "accessibility_features": {
- "description": "Accessibility features of the home.",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "additional": {
- "description": "Further facts Zillow lists that have no dedicated field here, one entry per fact.",
- "items": {
- "$ref": "#/definitions/zillow.PropertyFact"
- },
- "type": "array"
- },
- "appliances": {
- "description": "Appliances included with the home.",
- "items": {
- "type": "string"
- },
- "type": "array"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "architectural_style": {
- "description": "Architectural style of the home.",
- "type": "string"
+ "data": {
+ "$ref": "#/definitions/trends.TrendsCategoriesResponse"
},
- "basement": {
- "description": "Description of the home's basement.",
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "bathrooms": {
- "description": "Total number of bathrooms.",
- "type": "number"
- },
- "bathrooms_full": {
- "description": "Number of full bathrooms.",
- "type": "integer"
- },
- "bathrooms_half": {
- "description": "Number of half bathrooms.",
+ }
+ },
+ "type": "object"
+ },
+ "trends.trendsEnumsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "bathrooms_one_quarter": {
- "description": "Number of one-quarter bathrooms.",
- "type": "integer"
+ "data": {
+ "$ref": "#/definitions/trends.TrendsEnumsResponse"
},
- "bathrooms_three_quarter": {
- "description": "Number of three-quarter bathrooms.",
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "trends.trendsLocationsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "bedrooms": {
- "description": "Number of bedrooms.",
- "type": "number"
+ "data": {
+ "$ref": "#/definitions/trends.TrendsLocationsResponse"
},
- "builder_model": {
- "description": "Builder's model name of the home.",
+ "msg": {
+ "example": "OK",
"type": "string"
- },
- "builder_name": {
- "description": "Name of the home's builder.",
+ }
+ },
+ "type": "object"
+ },
+ "tripadvisor.AutocompleteResponse": {
+ "properties": {
+ "locale": {
+ "description": "Locale code the suggestions were returned in, for example `en-HK`.",
+ "example": "en-HK",
"type": "string"
},
- "community_features": {
- "description": "Features of the community the home is in.",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "construction_materials": {
- "description": "Materials the home is built from.",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "cooling": {
- "description": "Cooling systems of the home.",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "exterior_features": {
- "description": "Exterior features of the home.",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "fireplace_features": {
- "description": "Fireplace features of the home.",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "flooring": {
- "description": "Flooring types in the home.",
- "items": {
- "type": "string"
- },
- "type": "array"
+ "query": {
+ "description": "Search text that was run.",
+ "example": "hong kong",
+ "type": "string"
},
- "foundation_details": {
- "description": "Foundation details of the home.",
+ "results": {
+ "description": "Suggested locations and places for the search text, one entry per suggestion.",
"items": {
- "type": "string"
+ "$ref": "#/definitions/tripadvisor.SearchItem"
},
"type": "array"
},
- "garage_spaces": {
- "description": "Number of garage parking spaces.",
- "type": "number"
- },
- "has_fireplace": {
- "description": "Whether the home has a fireplace.",
- "type": "boolean"
- },
- "heating": {
- "description": "Heating systems of the home.",
+ "scope_geo_id": {
+ "description": "TripAdvisor geo id the suggestions were limited to. Defaults to `60763` when no scope is given.",
+ "example": 60763,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "tripadvisor.EnumsResponse": {
+ "properties": {
+ "attraction_categories": {
+ "description": "Attraction category types accepted by the `type` parameter of the search endpoint.",
+ "example": [
+ "attraction",
+ "tour",
+ "day_trip"
+ ],
"items": {
"type": "string"
},
"type": "array"
},
- "hoa_fee": {
- "description": "Homeowners association fee, as text shown by Zillow.",
- "type": "string"
- },
- "home_type": {
- "description": "Property type of the home, as Zillow labels it.",
- "type": "string"
- },
- "laundry_features": {
- "description": "Laundry features of the home.",
- "items": {
+ "attraction_category_ids": {
+ "additionalProperties": {
"type": "string"
},
- "type": "array"
- },
- "levels": {
- "description": "Floor levels of the home.",
- "items": {
- "type": "string"
+ "description": "Map from each attraction category type to its TripAdvisor category id, for example `tour` to `c42`.",
+ "example": {
+ "day_trip": "c63",
+ "tour": "c42"
},
- "type": "array"
- },
- "living_area": {
- "allOf": [
- {
- "$ref": "#/definitions/zillow.PropertyArea"
- }
- ],
- "description": "Interior living area of the home."
+ "type": "object"
},
- "lot_size": {
- "allOf": [
- {
- "$ref": "#/definitions/zillow.PropertyArea"
- }
+ "currencies": {
+ "description": "Currency codes accepted by the `currency` parameter, for example `HKD`.",
+ "example": [
+ "HKD",
+ "USD",
+ "EUR"
],
- "description": "Lot size of the property."
- },
- "lot_size_dimensions": {
- "description": "Lot dimensions, as text.",
- "type": "string"
- },
- "parcel_number": {
- "description": "Assessor parcel number of the property.",
- "type": "string"
- },
- "parking_capacity": {
- "description": "Total number of parking spaces.",
- "type": "integer"
- },
- "parking_features": {
- "description": "Parking features of the home.",
"items": {
"type": "string"
},
"type": "array"
},
- "patio_and_porch_features": {
- "description": "Patio and porch features of the home.",
+ "filter_ids": {
+ "description": "Filter ids accepted by the `filter_id` parameter.",
+ "example": [
+ "class",
+ "ufe"
+ ],
"items": {
"type": "string"
},
"type": "array"
},
- "pool_features": {
- "description": "Pool features of the property.",
+ "hotel_amenities": {
+ "description": "Hotel amenity ids accepted by the `amenities` parameter.",
+ "example": [
+ 9176,
+ 9179
+ ],
"items": {
- "type": "string"
+ "type": "integer"
},
"type": "array"
},
- "property_sub_type": {
- "description": "Property subtypes of the home, as Zillow labels them.",
+ "hotel_classes": {
+ "description": "Hotel star classes accepted by the `class` parameter.",
+ "example": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5
+ ],
"items": {
- "type": "string"
+ "type": "integer"
},
"type": "array"
},
- "roof": {
- "description": "Roof type or material.",
- "type": "string"
- },
- "rooms": {
- "description": "Room types listed for the home.",
+ "languages": {
+ "description": "Review language codes accepted by the reviews endpoint, for example `en`.",
+ "example": [
+ "en",
+ "fr",
+ "zh-CN"
+ ],
"items": {
"type": "string"
},
"type": "array"
},
- "security_features": {
- "description": "Security features of the home.",
+ "listing_types": {
+ "description": "Listing types accepted by the `type` parameter of the search endpoint, for example `hotel`.",
+ "example": [
+ "hotel",
+ "restaurant",
+ "attraction"
+ ],
"items": {
"type": "string"
},
"type": "array"
},
- "sewer": {
- "description": "Sewer arrangements of the property.",
+ "locales": {
+ "description": "Locale codes accepted by the `locale` parameter, for example `en-HK`.",
+ "example": [
+ "en-HK",
+ "en-US",
+ "en-GB"
+ ],
"items": {
"type": "string"
},
"type": "array"
},
- "spa_features": {
- "description": "Spa features of the property.",
+ "pricing_modes": {
+ "description": "Pricing modes accepted by the `pricing_mode` parameter.",
+ "example": [
+ "ALL_IN_RATE"
+ ],
"items": {
"type": "string"
},
"type": "array"
},
- "stories": {
- "description": "Number of stories in the building.",
- "type": "number"
- },
- "structure_type": {
- "description": "Structure type of the home.",
- "type": "string"
- },
- "tax_annual_amount": {
- "description": "Annual property tax amount.",
- "type": "number"
- },
- "tax_assessed_value": {
- "description": "Assessed value of the property for tax purposes.",
- "type": "number"
- },
- "utilities": {
- "description": "Utilities available to or included with the home.",
+ "restaurant_options": {
+ "description": "Restaurant online-option ids accepted by the `online_options` parameter.",
+ "example": [
+ 20693
+ ],
"items": {
- "type": "string"
+ "type": "integer"
},
"type": "array"
},
- "view": {
- "description": "Views the property has.",
+ "restaurant_types": {
+ "description": "Restaurant establishment-type ids accepted by the `establishment_types` parameter.",
+ "example": [
+ 10591
+ ],
"items": {
- "type": "string"
+ "type": "integer"
},
"type": "array"
},
- "water_source": {
- "description": "Water source of the property.",
+ "sorts": {
+ "description": "Sort orders accepted by the `sort` parameter, for example `BEST_VALUE`.",
+ "example": [
+ "BEST_VALUE",
+ "POPULARITY"
+ ],
"items": {
"type": "string"
},
"type": "array"
},
- "waterfront_features": {
- "description": "Waterfront features of the property.",
+ "unsupported_entity_types": {
+ "description": "Entity types that cannot be searched, for example `airline`. Omitted when none.",
+ "example": [
+ "airline",
+ "airport"
+ ],
"items": {
"type": "string"
},
"type": "array"
- },
- "year_built": {
- "description": "Year the home was built.",
- "type": "integer"
- },
- "zoning": {
- "description": "Zoning designation of the property.",
- "type": "string"
}
},
"type": "object"
},
- "zillow.PropertyHistory": {
+ "tripadvisor.HotelItem": {
"properties": {
- "price": {
- "description": "Price history of the property, one entry per event.",
- "items": {
- "$ref": "#/definitions/zillow.PropertyPriceHistoryEntry"
- },
- "type": "array"
+ "address": {
+ "description": "Street address of the hotel.",
+ "type": "string"
},
- "tax": {
- "description": "Property tax history, one entry per tax year.",
- "items": {
- "$ref": "#/definitions/zillow.PropertyTaxHistoryEntry"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "zillow.PropertyListing": {
- "properties": {
- "agent_name": {
- "description": "Name of the listing agent.",
+ "currency": {
+ "description": "Currency code of the listed price, for example `HKD`.",
+ "example": "HKD",
"type": "string"
},
- "agents": {
- "description": "Agents named on the listing.",
- "items": {
- "$ref": "#/definitions/zillow.PropertyAgent"
- },
- "type": "array"
+ "id": {
+ "description": "TripAdvisor location id of the hotel. Use it with the place and reviews endpoints.",
+ "example": "113311",
+ "type": "string"
},
- "attribution_text": {
- "description": "Attribution or disclaimer text Zillow shows for the listing source.",
+ "image": {
+ "description": "URL of the hotel's main image.",
"type": "string"
},
- "broker_name": {
- "description": "Name of the brokerage that holds the listing.",
+ "latitude": {
+ "description": "Latitude of the hotel in decimal degrees.",
+ "example": 40.76174,
+ "type": "number"
+ },
+ "longitude": {
+ "description": "Longitude of the hotel in decimal degrees.",
+ "example": -73.975365,
+ "type": "number"
+ },
+ "parent": {
+ "description": "Name of the city or area the hotel is in.",
+ "example": "New York City",
"type": "string"
},
- "broker_phone": {
- "description": "Phone number of the brokerage, as shown on the listing.",
+ "phone": {
+ "description": "Phone number of the hotel.",
"type": "string"
},
- "date_posted": {
- "description": "Date the listing was posted.",
+ "price": {
+ "description": "Price shown on the listing, formatted with the currency symbol, for example `HK$7,793`.",
+ "example": "HK$7,793",
"type": "string"
},
- "date_updated": {
- "description": "Date the listing was last updated.",
+ "provider": {
+ "description": "Booking site that offers the listed price, for example `Agoda`.",
+ "example": "Agoda",
"type": "string"
},
- "days_on_zillow": {
- "description": "Number of days the listing has been on Zillow.",
+ "rank": {
+ "description": "Hotel's position in TripAdvisor's ranking for the location.",
+ "example": 146,
"type": "integer"
},
- "listing_id": {
- "description": "Identifier of the listing, as Zillow returns it.",
+ "rank_label": {
+ "description": "Ranking text as TripAdvisor shows it, for example `#141 of 519 hotels in New York City`.",
+ "example": "#141 of 519 hotels in New York City",
"type": "string"
},
- "mls_id": {
- "description": "MLS number of the listing.",
- "type": "string"
+ "rating": {
+ "description": "Average traveller rating out of 5.",
+ "example": 4.5,
+ "type": "number"
},
- "open_houses": {
- "description": "Scheduled open houses for the listing.",
- "items": {
- "$ref": "#/definitions/zillow.PropertyOpenHouse"
- },
- "type": "array"
+ "review_count": {
+ "description": "Number of traveller reviews the hotel has.",
+ "example": 1517,
+ "type": "integer"
},
- "provider": {
- "description": "Name of the provider that supplied the listing, as Zillow gives it.",
- "type": "string"
+ "review_rating": {
+ "description": "Rating given in the review shown on the hotel listing.",
+ "type": "number"
},
- "provider_listing_id": {
- "description": "Listing id assigned by the listing provider.",
+ "review_snippet": {
+ "description": "Excerpt of a review shown on the hotel listing.",
"type": "string"
},
- "source": {
- "description": "Source of the listing, such as the MLS name, as Zillow gives it.",
+ "review_title": {
+ "description": "Title of the review shown on the hotel listing.",
"type": "string"
},
- "status": {
- "description": "Listing status, as Zillow labels it, such as `FOR_SALE`.",
- "type": "string"
+ "star_rating": {
+ "description": "Official star class of the hotel, for example `5`.",
+ "example": 5,
+ "type": "number"
},
- "sub_types": {
- "description": "Listing subtypes that apply to the listing, such as `is_FSBA`.",
+ "tags": {
+ "description": "Short labels TripAdvisor shows on the hotel listing.",
"items": {
"type": "string"
},
"type": "array"
},
- "time_on_zillow": {
- "description": "How long the listing has been on Zillow, as text such as `9 days`.",
+ "title": {
+ "description": "Hotel name as shown on the listing.",
+ "example": "The Peninsula New York",
"type": "string"
},
"type": {
- "description": "Listing type, as Zillow labels it.",
+ "description": "Listing type, for example `hotel`.",
+ "example": "hotel",
+ "type": "string"
+ },
+ "url": {
+ "description": "TripAdvisor page URL of the hotel.",
"type": "string"
}
},
"type": "object"
},
- "zillow.PropertyMedia": {
+ "tripadvisor.HotelListResponse": {
"properties": {
- "has_3d_model": {
- "description": "Whether the listing has a 3D tour model.",
- "type": "boolean"
+ "currency": {
+ "description": "Currency code the prices are shown in, for example `HKD`.",
+ "example": "HKD",
+ "type": "string"
},
- "has_video": {
- "description": "Whether the listing has a video.",
- "type": "boolean"
+ "full_matches": {
+ "description": "Number of hotels TripAdvisor counts as full matches for the filters. Omitted when TripAdvisor gives no count.",
+ "example": 519,
+ "type": "integer"
},
- "photo_count": {
- "description": "Number of photos on the listing.",
+ "geo_id": {
+ "description": "TripAdvisor geo id of the location the hotels are listed for.",
+ "example": 294217,
"type": "integer"
},
- "photos": {
- "description": "Photos of the listing with their sizes.",
+ "limit": {
+ "description": "Maximum number of hotels returned on this page.",
+ "example": 30,
+ "type": "integer"
+ },
+ "offset": {
+ "description": "Result offset of this page.",
+ "example": 0,
+ "type": "integer"
+ },
+ "results": {
+ "description": "Hotels on this page, one entry per hotel.",
"items": {
- "$ref": "#/definitions/zillow.PropertyPhoto"
+ "$ref": "#/definitions/tripadvisor.HotelItem"
},
"type": "array"
},
- "primary_image": {
- "description": "URL of the main listing photo.",
- "type": "string"
- },
- "video_url": {
- "description": "URL of the listing video.",
+ "sort": {
+ "description": "Sort order that was applied, for example `BEST_VALUE`.",
+ "example": "BEST_VALUE",
"type": "string"
},
- "virtual_tour_url": {
- "description": "URL of the virtual tour of the property.",
- "type": "string"
+ "total": {
+ "description": "Total number of hotels TripAdvisor lists for the location and filters. Omitted when TripAdvisor gives no total.",
+ "example": 519,
+ "type": "integer"
}
},
"type": "object"
},
- "zillow.PropertyNearby": {
+ "tripadvisor.NestedSearchItem": {
"properties": {
- "address": {
- "description": "Address of the nearby home.",
+ "query": {
+ "description": "Search text the shortcut runs, for example `hong kong hotels`.",
+ "example": "hong kong hotels",
"type": "string"
},
- "baths": {
- "description": "Number of bathrooms in the nearby home.",
- "type": "number"
- },
- "beds": {
- "description": "Number of bedrooms in the nearby home.",
- "type": "number"
- },
- "home_status": {
- "description": "Listing status of the nearby home, as Zillow labels it.",
+ "title": {
+ "description": "Label of the shortcut, for example `Hotels`.",
+ "example": "Hotels",
"type": "string"
},
- "living_area": {
- "description": "Interior living area of the nearby home.",
- "type": "number"
- },
- "price": {
- "description": "Price of the nearby home, as a number.",
- "type": "number"
- },
- "price_text": {
- "description": "Price of the nearby home, as text shown by Zillow.",
+ "type": {
+ "description": "Kind of search the shortcut opens, for example `hotel_search`.",
+ "example": "hotel_search",
"type": "string"
},
"url": {
- "description": "Zillow page URL of the nearby home.",
- "type": "string"
- },
- "zpid": {
- "description": "Zillow property id of the nearby home. Use it with the property endpoint.",
+ "description": "TripAdvisor page URL of the shortcut.",
+ "example": "https://en.tripadvisor.com.hk/Hotels-g294217-Hong_Kong-Hotels.html",
"type": "string"
}
},
"type": "object"
},
- "zillow.PropertyOpenHouse": {
+ "tripadvisor.PlaceAddressParts": {
"properties": {
- "end_time": {
- "description": "End time of the open house.",
+ "country": {
+ "description": "Country name of the place's address.",
"type": "string"
},
- "start_time": {
- "description": "Start time of the open house.",
+ "locality": {
+ "description": "City or town.",
"type": "string"
},
- "text": {
- "description": "Open house time as Zillow shows it, for example `Sun 1-4 PM`.",
+ "postal_code": {
+ "description": "Postal or ZIP code.",
+ "type": "string"
+ },
+ "region": {
+ "description": "State, province or region.",
+ "type": "string"
+ },
+ "street": {
+ "description": "Street address line.",
"type": "string"
}
},
"type": "object"
},
- "zillow.PropertyPhoto": {
+ "tripadvisor.PlaceImage": {
"properties": {
+ "caption": {
+ "description": "Caption of the image.",
+ "type": "string"
+ },
"height": {
- "description": "Photo height in pixels.",
+ "description": "Height of the image in pixels.",
+ "example": 768,
"type": "integer"
},
- "source": {
- "description": "Source or caption of the photo, as Zillow gives it.",
- "type": "string"
- },
"url": {
- "description": "URL of the photo.",
+ "description": "URL of the image.",
"type": "string"
},
"width": {
- "description": "Photo width in pixels.",
+ "description": "Width of the image in pixels.",
+ "example": 1024,
"type": "integer"
}
},
"type": "object"
},
- "zillow.PropertyPriceHistoryEntry": {
+ "tripadvisor.PlaceItem": {
"properties": {
- "buyer_agent": {
- "description": "Name of the buyer's agent for the event.",
+ "address": {
+ "description": "Street address of the place.",
"type": "string"
},
- "change": {
- "description": "Price change at this event, as Zillow reports it.",
- "type": "number"
+ "booking_url": {
+ "description": "URL where TripAdvisor lets you book or reserve the place.",
+ "type": "string"
},
- "date": {
- "description": "Date of the price event.",
+ "categories": {
+ "description": "Categories TripAdvisor lists for the place.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "cuisines": {
+ "description": "Cuisines a restaurant serves.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "currency": {
+ "description": "Currency code of the listed price, for example `HKD`.",
+ "example": "HKD",
"type": "string"
},
- "event": {
- "description": "Kind of price event, such as `Listed for sale`.",
+ "id": {
+ "description": "TripAdvisor location id of the place. Use it with the place and reviews endpoints.",
+ "example": "5493196",
"type": "string"
},
- "price": {
- "description": "Price at this event, as a number.",
+ "image": {
+ "description": "URL of the place's main image.",
+ "type": "string"
+ },
+ "latitude": {
+ "description": "Latitude of the place in decimal degrees.",
+ "example": 22.28331,
"type": "number"
},
- "price_text": {
- "description": "Price at this event, as text shown by Zillow.",
+ "longitude": {
+ "description": "Longitude of the place in decimal degrees.",
+ "example": 114.15874,
+ "type": "number"
+ },
+ "parent": {
+ "description": "Name of the city or area the place is in.",
+ "example": "Hong Kong",
"type": "string"
},
- "seller_agent": {
- "description": "Name of the seller's agent for the event.",
+ "phone": {
+ "description": "Phone number of the place.",
"type": "string"
},
- "source": {
- "description": "Data source that reported the event, such as an MLS name.",
+ "price": {
+ "description": "Price shown on the listing, formatted with the currency symbol, for example `HK$7,793`.",
+ "example": "HK$7,793",
"type": "string"
},
- "time": {
- "description": "Time of the price event, as the numeric timestamp Zillow gives.",
+ "price_level": {
+ "description": "Price band as TripAdvisor shows it, for example `$$ - $$$`.",
+ "example": "$$ - $$$",
+ "type": "string"
+ },
+ "provider": {
+ "description": "Booking or reservation provider shown on the listing, for example `Agoda`.",
+ "example": "Agoda",
+ "type": "string"
+ },
+ "rank": {
+ "description": "Place's position in TripAdvisor's ranking for the location.",
+ "example": 12,
"type": "integer"
- }
- },
- "type": "object"
- },
- "zillow.PropertyPricing": {
- "properties": {
- "currency": {
- "description": "Currency of the price, as Zillow shows it.",
+ },
+ "rank_label": {
+ "description": "Ranking text as TripAdvisor shows it, for example `#12 of 12000 restaurants in Hong Kong`.",
+ "example": "#12 of 12000 restaurants in Hong Kong",
"type": "string"
},
- "estimated_monthly_payment": {
- "description": "Estimated monthly mortgage payment for the property.",
+ "rating": {
+ "description": "Average traveller rating out of 5.",
+ "example": 4.5,
"type": "number"
},
- "monthly_hoa_fee": {
- "description": "Monthly homeowners association fee.",
- "type": "number"
+ "review_count": {
+ "description": "Number of traveller reviews the place has.",
+ "example": 1217,
+ "type": "integer"
},
- "price": {
- "description": "Listing price, as a number.",
+ "review_rating": {
+ "description": "Rating given in the review shown on the listing.",
"type": "number"
},
- "price_per_square_foot": {
- "description": "Listing price per square foot.",
- "type": "number"
+ "review_snippet": {
+ "description": "Excerpt of a review shown on the listing.",
+ "type": "string"
},
- "price_text": {
- "description": "Listing price as text shown by Zillow.",
+ "review_title": {
+ "description": "Title of the review shown on the listing.",
"type": "string"
},
- "property_tax_rate": {
- "description": "Property tax rate, as Zillow reports it.",
+ "star_rating": {
+ "description": "Official star class of the place, for example `5`. Shown for hotels.",
+ "example": 5,
"type": "number"
},
- "rent_zestimate": {
- "description": "Zillow's estimated monthly rent for the property (Rent Zestimate).",
- "type": "number"
+ "tags": {
+ "description": "Short labels TripAdvisor shows on the listing.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "zestimate": {
- "description": "Zillow's estimated market value of the property (Zestimate).",
- "type": "number"
+ "title": {
+ "description": "Place name as shown on the listing.",
+ "example": "Hong Kong Asian Cuisine",
+ "type": "string"
+ },
+ "type": {
+ "description": "Listing type, for example `restaurant`.",
+ "example": "restaurant",
+ "type": "string"
+ },
+ "url": {
+ "description": "TripAdvisor page URL of the place.",
+ "type": "string"
}
},
"type": "object"
},
- "zillow.PropertyResponse": {
+ "tripadvisor.PlaceLink": {
+ "properties": {
+ "label": {
+ "description": "Link label, for example `Official website`.",
+ "example": "Official website",
+ "type": "string"
+ },
+ "type": {
+ "description": "Kind of link, for example `website` or `canonical`.",
+ "example": "website",
+ "type": "string"
+ },
+ "url": {
+ "description": "Address of the link.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "tripadvisor.PlaceResponse": {
"properties": {
"address": {
- "description": "Full address of the property.",
+ "description": "Full address of the place as one line.",
"type": "string"
},
"address_parts": {
"allOf": [
{
- "$ref": "#/definitions/zillow.PropertyAddressParts"
+ "$ref": "#/definitions/tripadvisor.PlaceAddressParts"
}
],
- "description": "Address of the property split into street, city, state, ZIP code and similar parts."
+ "description": "Address split into street, locality, region, postal code and country."
},
- "baths": {
- "description": "Number of bathrooms.",
- "type": "number"
+ "amenities": {
+ "description": "Amenities TripAdvisor lists for the place.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "beds": {
- "description": "Number of bedrooms.",
- "type": "number"
+ "awards": {
+ "description": "Awards shown on the place's page, for example `Travelers' Choice`.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "broker_name": {
- "description": "Name of the brokerage that holds the listing.",
- "type": "string"
+ "breadcrumbs": {
+ "description": "Locations above the place, from the widest region to the city, for example `Asia`, `China`, `Hong Kong`.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "currency": {
- "description": "Currency of the price, as Zillow shows it.",
+ "canonical_url": {
+ "description": "Canonical TripAdvisor page URL of the place.",
"type": "string"
},
- "days_on_zillow": {
- "description": "Number of days the listing has been on Zillow.",
- "type": "integer"
+ "categories": {
+ "description": "Categories TripAdvisor lists for the place.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "description": {
- "description": "Listing description text.",
- "type": "string"
+ "cuisines": {
+ "description": "Cuisines a restaurant serves.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "detail_text": {
- "description": "Short detail text Zillow shows with the listing.",
+ "description": {
+ "description": "Longer description of the place.",
"type": "string"
},
- "facts": {
- "allOf": [
- {
- "$ref": "#/definitions/zillow.PropertyFacts"
- }
- ],
- "description": "Structured facts about the home, such as size, rooms, parking, heating and tax."
- },
- "has_3d_model": {
- "description": "Whether the listing has a 3D tour model.",
- "type": "boolean"
- },
- "has_video": {
- "description": "Whether the listing has a video.",
- "type": "boolean"
- },
- "history": {
- "allOf": [
- {
- "$ref": "#/definitions/zillow.PropertyHistory"
- }
- ],
- "description": "Price and tax history of the property."
+ "features": {
+ "description": "Features TripAdvisor lists for the place.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "home_status": {
- "description": "Listing status in Zillow's terms, such as `FOR_SALE` or `FOR_RENT`.",
+ "geo_id": {
+ "description": "TripAdvisor geo id of the location the place is in.",
+ "example": "60763",
"type": "string"
},
- "home_type": {
- "description": "Property type, as Zillow labels it, such as `SINGLE_FAMILY`.",
+ "id": {
+ "description": "TripAdvisor location id of the place.",
+ "example": "5493196",
"type": "string"
},
"image": {
- "description": "URL of the main listing photo.",
+ "description": "URL of the place's main image.",
"type": "string"
},
- "is_showcase": {
- "description": "Whether Zillow shows the listing as a showcase listing.",
- "type": "boolean"
+ "images": {
+ "description": "Photos of the place, one entry per image.",
+ "items": {
+ "$ref": "#/definitions/tripadvisor.PlaceImage"
+ },
+ "type": "array"
},
"latitude": {
- "description": "Latitude of the property, in decimal degrees.",
+ "description": "Latitude of the place in decimal degrees.",
+ "example": 22.28331,
"type": "number"
},
- "listing": {
- "allOf": [
- {
- "$ref": "#/definitions/zillow.PropertyListing"
- }
- ],
- "description": "Listing details: identifiers, source, broker, agents, dates and open houses."
- },
- "listing_sub_type": {
- "description": "Listing subtypes that apply to the listing, such as `is_FSBA`.",
+ "links": {
+ "description": "Useful links for the place, such as its TripAdvisor page and official website.",
"items": {
- "type": "string"
+ "$ref": "#/definitions/tripadvisor.PlaceLink"
},
"type": "array"
},
- "living_area": {
- "description": "Interior living area in square feet.",
- "type": "number"
- },
"longitude": {
- "description": "Longitude of the property, in decimal degrees.",
- "type": "number"
- },
- "lot_area": {
- "description": "Lot size, in the unit given by `lot_area_unit`.",
+ "description": "Longitude of the place in decimal degrees.",
+ "example": 114.15874,
"type": "number"
},
- "lot_area_unit": {
- "description": "Unit of `lot_area`, as Zillow gives it.",
- "type": "string"
- },
- "media": {
- "allOf": [
- {
- "$ref": "#/definitions/zillow.PropertyMedia"
- }
- ],
- "description": "Photos, video and tour links of the listing."
- },
- "nearby": {
- "description": "Compact summaries of nearby homes.",
- "items": {
- "$ref": "#/definitions/zillow.PropertyNearby"
- },
- "type": "array"
- },
- "photos": {
- "description": "URLs of the listing photos.",
+ "opening_hours": {
+ "description": "Opening hours, one entry per line, for example `Monday 10:00 - 22:00`.",
"items": {
"type": "string"
},
"type": "array"
},
- "price": {
- "description": "Listing price, as a number. The text Zillow shows is in `price_text`.",
- "type": "number"
+ "phone": {
+ "description": "Phone number of the place.",
+ "type": "string"
},
- "price_text": {
- "description": "Listing price as text shown by Zillow, such as `$1,000,000` or `Contact Landlord`.",
+ "price_level": {
+ "description": "Price band as TripAdvisor shows it, for example `$$ - $$$`.",
+ "example": "$$ - $$$",
"type": "string"
},
- "pricing": {
- "allOf": [
- {
- "$ref": "#/definitions/zillow.PropertyPricing"
- }
- ],
- "description": "Price, estimates, fees and monthly payment of the property."
+ "price_range": {
+ "description": "Price range as TripAdvisor shows it, for example `$$ - $$$`.",
+ "example": "$$ - $$$",
+ "type": "string"
},
- "rent_zestimate": {
- "description": "Zillow's estimated monthly rent for the home (Rent Zestimate).",
+ "rank": {
+ "description": "Place's position in TripAdvisor's ranking for its location.",
+ "example": 1,
+ "type": "integer"
+ },
+ "rank_label": {
+ "description": "Ranking text as TripAdvisor shows it, for example `#1 of 1,531 things to do in Hong Kong`.",
+ "example": "#1 of 1,531 things to do in Hong Kong",
+ "type": "string"
+ },
+ "rating": {
+ "description": "Average traveller rating out of 5.",
"type": "number"
},
- "schools": {
- "description": "Schools assigned to or near the property.",
+ "reviews": {
+ "description": "Number of traveller reviews the place has.",
+ "type": "integer"
+ },
+ "summary": {
+ "description": "Short summary of the place.",
+ "type": "string"
+ },
+ "tags": {
+ "description": "Short labels TripAdvisor shows for the place.",
"items": {
- "$ref": "#/definitions/zillow.PropertySchool"
+ "type": "string"
},
"type": "array"
},
- "status_text": {
- "description": "Status label shown on the listing, such as `House for sale`.",
+ "title": {
+ "description": "Place name as shown on TripAdvisor.",
"type": "string"
},
- "url": {
- "description": "Zillow page URL of the listing.",
+ "type": {
+ "description": "Kind of page, such as `attraction`, `geo` for a destination or `attraction_product` for a bookable tour.",
"type": "string"
},
- "zestimate": {
- "description": "Zillow's estimated market value of the home (Zestimate).",
- "type": "number"
+ "url": {
+ "description": "TripAdvisor page URL of the place.",
+ "type": "string"
},
- "zpid": {
- "description": "Zillow property id. Use it with the property endpoint. Rental building rows carry a `latitude--longitude` identifier instead.",
- "example": "12345678",
+ "website_url": {
+ "description": "URL of the place's own website.",
"type": "string"
}
},
"type": "object"
},
- "zillow.PropertySchool": {
+ "tripadvisor.ReviewItem": {
"properties": {
- "assigned": {
- "description": "Whether the school is assigned to the property's address.",
- "type": "boolean"
+ "author": {
+ "description": "Reviewer's display name.",
+ "type": "string"
},
- "distance": {
- "description": "Distance from the property to the school, as Zillow reports it.",
- "type": "number"
+ "author_avatar": {
+ "description": "URL of the reviewer's profile picture.",
+ "type": "string"
},
- "district": {
- "description": "Name of the school district.",
+ "author_hometown": {
+ "description": "Reviewer's hometown as shown on their profile.",
"type": "string"
},
- "grades": {
- "description": "Grades the school serves, such as `K-5`.",
+ "author_id": {
+ "description": "TripAdvisor id of the reviewer.",
"type": "string"
},
- "id": {
- "description": "Identifier of the school, as Zillow returns it.",
+ "author_url": {
+ "description": "TripAdvisor profile URL of the reviewer.",
"type": "string"
},
- "level": {
- "description": "School level, such as `Elementary`.",
+ "created_date": {
+ "description": "Date the review was written, for example `2026-05-01`.",
"type": "string"
},
- "link": {
- "description": "Zillow page URL of the school.",
+ "date": {
+ "description": "Date the review was published, for example `2026-05-01`.",
"type": "string"
},
- "name": {
- "description": "Name of the school.",
+ "helpful": {
+ "description": "Number of helpful votes the review received.",
+ "type": "integer"
+ },
+ "id": {
+ "description": "TripAdvisor review id.",
+ "type": "string"
+ },
+ "language": {
+ "description": "Language code of the review text returned.",
+ "type": "string"
+ },
+ "original_language": {
+ "description": "Language code the review was originally written in.",
"type": "string"
},
+ "photos": {
+ "description": "URLs of photos attached to the review.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
"rating": {
- "description": "School rating, as Zillow shows it.",
+ "description": "Rating the reviewer gave, out of 5.",
"type": "number"
},
- "type": {
- "description": "School type, such as `Public`.",
+ "stay_date": {
+ "description": "Date of the reviewer's visit or stay, as TripAdvisor gives it.",
+ "type": "string"
+ },
+ "text": {
+ "description": "Full text of the review.",
+ "type": "string"
+ },
+ "title": {
+ "description": "Title the reviewer gave the review.",
+ "type": "string"
+ },
+ "trip_type": {
+ "description": "Type of trip the reviewer reported, as TripAdvisor labels it.",
+ "type": "string"
+ },
+ "url": {
+ "description": "TripAdvisor page URL of the review.",
"type": "string"
}
},
"type": "object"
},
- "zillow.PropertyTaxHistoryEntry": {
+ "tripadvisor.ReviewsResponse": {
"properties": {
- "tax_increase": {
- "description": "Rate of increase in tax paid, as Zillow reports it.",
- "type": "number"
+ "id": {
+ "description": "TripAdvisor location id the reviews belong to.",
+ "example": "5493196",
+ "type": "string"
},
- "tax_paid": {
- "description": "Property tax paid for the year.",
- "type": "number"
+ "language": {
+ "description": "Review language code that was applied, for example `en`.",
+ "example": "en",
+ "type": "string"
},
- "time": {
- "description": "Time of the tax record, as the numeric timestamp Zillow gives.",
+ "limit": {
+ "description": "Maximum number of reviews returned per page.",
+ "example": 20,
"type": "integer"
},
- "value": {
- "description": "Assessed value of the property for the year.",
- "type": "number"
+ "page": {
+ "description": "Page number returned.",
+ "example": 1,
+ "type": "integer"
},
- "value_increase": {
- "description": "Rate of increase in assessed value, as Zillow reports it.",
- "type": "number"
+ "reviews": {
+ "description": "Reviews on this page, one entry per review.",
+ "items": {
+ "$ref": "#/definitions/tripadvisor.ReviewItem"
+ },
+ "type": "array"
},
- "year": {
- "description": "Tax year of the record.",
+ "total": {
+ "description": "Total number of reviews matching the filters.",
+ "example": 25770,
"type": "integer"
+ },
+ "url": {
+ "description": "TripAdvisor page URL of the place the reviews belong to.",
+ "type": "string"
}
},
"type": "object"
},
- "zillow.RentalUnit": {
+ "tripadvisor.SearchItem": {
"properties": {
- "beds": {
- "description": "Number of bedrooms of this unit tier. `0` means a studio.",
- "example": 1,
+ "document_id": {
+ "description": "TripAdvisor document id of the suggestion, for example `loc;294217;g294217`.",
+ "example": "loc;294217;g294217",
+ "type": "string"
+ },
+ "id": {
+ "description": "TripAdvisor id of the suggested place or location.",
+ "example": "294217",
+ "type": "string"
+ },
+ "image": {
+ "description": "URL of an image for the suggestion.",
+ "type": "string"
+ },
+ "latitude": {
+ "description": "Latitude of the suggestion in decimal degrees.",
+ "example": 22.28331,
"type": "number"
},
- "price": {
- "description": "Starting monthly rent of this unit tier.",
- "example": 2657,
+ "longitude": {
+ "description": "Longitude of the suggestion in decimal degrees.",
+ "example": 114.15874,
"type": "number"
},
- "price_text": {
- "description": "Starting rent of this unit tier as shown by Zillow, such as `$2,657+`.",
- "example": "$2,657+",
+ "nested_results": {
+ "description": "Search shortcuts TripAdvisor offers under the suggestion, such as hotels or things to do in that location.",
+ "items": {
+ "$ref": "#/definitions/tripadvisor.NestedSearchItem"
+ },
+ "type": "array"
+ },
+ "parent": {
+ "description": "Parent locations of the suggestion, for example `China, Asia`.",
+ "example": "China, Asia",
+ "type": "string"
+ },
+ "title": {
+ "description": "Name of the suggested place or location.",
+ "example": "Hong Kong",
+ "type": "string"
+ },
+ "type": {
+ "description": "Kind of suggestion, for example `geo` for a destination.",
+ "example": "geo",
+ "type": "string"
+ },
+ "url": {
+ "description": "TripAdvisor page URL of the suggestion.",
+ "example": "https://en.tripadvisor.com.hk/Tourism-g294217-Hong_Kong-Vacations.html",
"type": "string"
}
},
"type": "object"
},
- "zillow.SearchItem": {
+ "tripadvisor.SearchResponse": {
"properties": {
- "address": {
- "description": "Full address of the property.",
+ "currency": {
+ "description": "Currency code the prices are shown in, for example `HKD`.",
+ "example": "HKD",
"type": "string"
},
- "availability_count": {
- "description": "Number of units currently available in the rental building.",
- "example": 6,
+ "geo_id": {
+ "description": "TripAdvisor geo id of the location the places are listed for.",
+ "example": 294217,
"type": "integer"
},
- "baths": {
- "description": "Number of bathrooms.",
- "type": "number"
+ "limit": {
+ "description": "Maximum number of places returned on this page.",
+ "example": 30,
+ "type": "integer"
},
- "beds": {
- "description": "Number of bedrooms.",
- "type": "number"
+ "locale": {
+ "description": "Locale code the results were returned in, for example `en-HK`.",
+ "example": "en-HK",
+ "type": "string"
},
- "broker_name": {
- "description": "Name of the brokerage that holds the listing.",
+ "offset": {
+ "description": "Result offset of this page.",
+ "example": 0,
+ "type": "integer"
+ },
+ "results": {
+ "description": "Places on this page, one entry per place.",
+ "items": {
+ "$ref": "#/definitions/tripadvisor.PlaceItem"
+ },
+ "type": "array"
+ },
+ "sort": {
+ "description": "Sort order that was applied, for example `POPULARITY`.",
+ "example": "POPULARITY",
"type": "string"
},
- "building_name": {
- "description": "Name of the rental building, such as an apartment community.",
- "example": "The Pointe at Warner Center",
+ "source": {
+ "description": "Label for the kind of TripAdvisor listing the results came from.",
+ "example": "html_listing",
"type": "string"
},
- "currency": {
- "description": "Currency of the price, as Zillow shows it.",
+ "type": {
+ "description": "Listing type that was searched, for example `restaurant`.",
+ "example": "restaurant",
"type": "string"
},
- "days_on_zillow": {
- "description": "Number of days the listing has been on Zillow.",
+ "unsupported_types": {
+ "description": "Entity types that this search does not cover, for example `airline`. Omitted when none.",
+ "example": [
+ "vacation_rental",
+ "tour",
+ "airline"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "tripadvisor.tripadvisorAutocompleteResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
"type": "integer"
},
- "detail_text": {
- "description": "Short detail text Zillow shows with the listing.",
+ "data": {
+ "$ref": "#/definitions/tripadvisor.AutocompleteResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "tripadvisor.tripadvisorEnumsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "has_3d_model": {
- "description": "Whether the listing has a 3D tour model.",
- "type": "boolean"
+ "data": {
+ "$ref": "#/definitions/tripadvisor.EnumsResponse"
},
- "has_video": {
- "description": "Whether the listing has a video.",
- "type": "boolean"
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "tripadvisor.tripadvisorHotelsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "home_status": {
- "description": "Listing status in Zillow's terms, such as `FOR_SALE` or `FOR_RENT`.",
+ "data": {
+ "$ref": "#/definitions/tripadvisor.HotelListResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "tripadvisor.tripadvisorReviewsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "home_type": {
- "description": "Property type, as Zillow labels it, such as `SINGLE_FAMILY`.",
+ "data": {
+ "$ref": "#/definitions/tripadvisor.ReviewsResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "tripadvisor.tripadvisorSearchResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "image": {
- "description": "URL of the main listing photo.",
+ "data": {
+ "$ref": "#/definitions/tripadvisor.SearchResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "tripcom.DetailResponse": {
+ "properties": {
+ "city_name": {
+ "example": "Bang Sao Thong",
"type": "string"
},
- "is_building": {
- "description": "Whether the row is a rental building rather than a single listing.",
- "example": true,
- "type": "boolean"
+ "country_name": {
+ "example": "Thailand",
+ "type": "string"
},
- "is_showcase": {
- "description": "Whether Zillow shows the listing as a showcase listing.",
- "type": "boolean"
+ "description": {
+ "type": "string"
},
- "latitude": {
- "description": "Latitude of the property, in decimal degrees.",
- "type": "number"
+ "highlights": {
+ "example": [
+ "Free airport transfers",
+ "Great views"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "listing_sub_type": {
- "description": "Listing subtypes that apply to the listing, such as `is_FSBA`.",
+ "hotel_id": {
+ "example": 39371462,
+ "type": "integer"
+ },
+ "image_count": {
+ "example": 10,
+ "type": "integer"
+ },
+ "images": {
"items": {
"type": "string"
},
"type": "array"
},
- "living_area": {
- "description": "Interior living area in square feet.",
- "type": "number"
+ "local_name": {
+ "type": "string"
},
- "longitude": {
- "description": "Longitude of the property, in decimal degrees.",
- "type": "number"
+ "location": {
+ "$ref": "#/definitions/tripcom.Location"
},
- "lot_area": {
- "description": "Lot size, in the unit given by `lot_area_unit`.",
- "type": "number"
+ "name": {
+ "example": "Divalux Resort and Spa Bangkok, Suvarnabhumi Airport-Free Shuttle",
+ "type": "string"
},
- "lot_area_unit": {
- "description": "Unit of `lot_area`, as Zillow gives it.",
+ "open_year": {
+ "example": "2019",
"type": "string"
},
- "photos": {
- "description": "URLs of the listing photos.",
+ "policy": {
+ "$ref": "#/definitions/tripcom.Policy"
+ },
+ "popular_facilities": {
+ "example": [
+ "Outdoor swimming pool",
+ "Spa",
+ "Massage room"
+ ],
"items": {
"type": "string"
},
"type": "array"
},
- "price": {
- "description": "Listing price, as a number. The text Zillow shows is in `price_text`.",
- "type": "number"
+ "province_name": {
+ "example": "Samut Prakan Province",
+ "type": "string"
},
- "price_max": {
- "description": "Highest monthly rent in the rental building.",
- "example": 3157,
- "type": "number"
+ "rating": {
+ "$ref": "#/definitions/tripcom.Rating"
},
- "price_text": {
- "description": "Listing price as text shown by Zillow, such as `$1,000,000` or `Contact Landlord`.",
+ "source_url": {
+ "example": "https://www.trip.com/hotels/bang-sao-thong-district-hotel-detail-39371462/divalux-resort-and-spa-bangkok-suvarnabhumi-airport-free-shuttle/",
"type": "string"
},
- "rent_zestimate": {
- "description": "Zillow's estimated monthly rent for the home (Rent Zestimate).",
- "type": "number"
+ "star_rating": {
+ "example": 5,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "tripcom.HotelSummary": {
+ "properties": {
+ "description": {
+ "example": "The hotel has a relaxing wellness atmosphere...",
+ "type": "string"
},
- "status_text": {
- "description": "Status label shown on the listing, such as `House for sale`.",
+ "hotel_id": {
+ "example": 39371462,
+ "type": "integer"
+ },
+ "image_url": {
+ "example": "https://ak-d.tripcdn.com/images/0585b12000sq6ih4c6345.jpg",
"type": "string"
},
- "units": {
- "description": "Unit tiers of the rental building, one per bedroom count, with starting rent.",
- "items": {
- "$ref": "#/definitions/zillow.RentalUnit"
- },
- "type": "array"
+ "location": {
+ "example": "88 Moo3, Sriwaree Road, Sisa Chokhe Noi, Bang Sao Thong District, Srisa Chorakhe Noi, Bang Sao Thong",
+ "type": "string"
},
- "url": {
- "description": "Zillow page URL of the listing.",
+ "name": {
+ "example": "Divalux Resort and Spa Bangkok, Suvarnabhumi Airport-Free Shuttle",
"type": "string"
},
- "zestimate": {
- "description": "Zillow's estimated market value of the home (Zestimate).",
+ "price": {
+ "$ref": "#/definitions/tripcom.Price"
+ },
+ "rating_score": {
+ "example": 8.7,
"type": "number"
},
- "zpid": {
- "description": "Zillow property id. Use it with the property endpoint. Rental building rows carry a `latitude--longitude` identifier instead.",
- "example": "12345678",
+ "review_count": {
+ "example": 872,
+ "type": "integer"
+ },
+ "star_rating": {
+ "example": 5,
+ "type": "integer"
+ },
+ "url": {
+ "example": "https://www.trip.com/hotels/bang-sao-thong-district-hotel-detail-39371462/divalux-resort-and-spa-bangkok-suvarnabhumi-airport-free-shuttle/",
"type": "string"
}
},
"type": "object"
},
- "zillow.SearchResponse": {
+ "tripcom.Location": {
"properties": {
- "location": {
- "description": "Location that was searched.",
- "example": "San Francisco, CA",
+ "address": {
+ "example": "88 Moo3, Sriwaree Road, Sisa Chokhe Noi, Bang Sao Thong District, Samut Prakan Province, 10570, Thailand",
"type": "string"
},
- "page": {
- "description": "Page number returned.",
- "example": 1,
- "type": "integer"
+ "latitude": {
+ "example": 13.69316,
+ "type": "number"
},
- "results": {
- "description": "Listings and rental buildings matching the search.",
- "items": {
- "$ref": "#/definitions/zillow.SearchItem"
- },
- "type": "array"
+ "longitude": {
+ "example": 100.793475,
+ "type": "number"
+ },
+ "traffic_description": {
+ "example": "15 km from Pra Chom Klao, approx. 27 mins by car",
+ "type": "string"
+ },
+ "zone_name": {
+ "example": "Suvarnabhumi Airport",
+ "type": "string"
}
},
"type": "object"
},
- "zomato.CitiesResponse": {
+ "tripcom.Policy": {
"properties": {
- "cities": {
+ "check_in_out": {
+ "example": [
+ "Check-in: After 14:00",
+ "Check-out: Before 12:00",
+ "Front desk hours: 24/7"
+ ],
"items": {
- "$ref": "#/definitions/zomato.City"
+ "type": "string"
},
"type": "array"
},
- "total": {
- "type": "integer"
+ "child": {
+ "example": [
+ "Children of all ages are welcome at this property."
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "zomato.City": {
+ "tripcom.Price": {
"properties": {
- "name": {
- "description": "Name is Zomato's own display name for the city (e.g. \"Bengaluru\",\n\"Delhi NCR\") -- not always the same word as Slug.",
- "example": "Mumbai",
+ "amount": {
+ "example": 38,
+ "type": "number"
+ },
+ "currency": {
+ "example": "US$",
"type": "string"
},
- "slug": {
- "description": "Slug is the public Zomato city slug -- the value the `city` param on\nzomato-search/zomato-collections and the first path segment of every\nrestaurant/collection URL this family returns use. Not always a\nlower-cased version of Name -- e.g. \"Delhi NCR\" is slug \"ncr\".",
- "example": "mumbai",
+ "raw": {
+ "example": "US$38",
"type": "string"
},
- "url": {
- "description": "URL is the city's canonical public Zomato page.",
- "example": "https://www.zomato.com/mumbai",
+ "unit": {
+ "example": "1 night",
"type": "string"
}
},
"type": "object"
},
- "zomato.CollectionResponse": {
+ "tripcom.Rating": {
"properties": {
- "description": {
+ "amenities_score": {
+ "example": 8.8,
+ "type": "number"
+ },
+ "cleanliness_score": {
+ "example": 8.7,
+ "type": "number"
+ },
+ "location_score": {
+ "example": 8.3,
+ "type": "number"
+ },
+ "recommend": {
+ "example": "79% Recommended",
"type": "string"
},
- "name": {
+ "score": {
+ "example": 8.6,
+ "type": "number"
+ },
+ "score_description": {
+ "example": "Very good",
"type": "string"
},
- "num_places": {
+ "score_max": {
+ "example": 10,
+ "type": "number"
+ },
+ "service_score": {
+ "example": 8.7,
+ "type": "number"
+ },
+ "total_comment": {
+ "example": 875,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "tripcom.SearchResponse": {
+ "properties": {
+ "city_id": {
+ "example": "359",
"type": "string"
},
- "restaurants": {
+ "city_slug": {
+ "example": "bangkok",
+ "type": "string"
+ },
+ "count": {
+ "example": 9,
+ "type": "integer"
+ },
+ "hotels": {
"items": {
- "$ref": "#/definitions/zomato.CollectionRestaurant"
+ "$ref": "#/definitions/tripcom.HotelSummary"
},
"type": "array"
},
- "url": {
+ "source_url": {
+ "example": "https://www.trip.com/hotels/bangkok-hotels-list-359/",
"type": "string"
}
},
"type": "object"
},
- "zomato.CollectionRestaurant": {
+ "tripcom.searchResponseDoc": {
"properties": {
- "cuisines": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "code": {
+ "example": 200,
+ "type": "integer"
},
- "id": {
+ "data": {
+ "$ref": "#/definitions/tripcom.SearchResponse"
+ },
+ "msg": {
+ "example": "OK",
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "trustmrr.AcquireListing": {
+ "properties": {
+ "asking_price": {
+ "type": "number"
},
- "image_url": {
+ "category": {
+ "example": "SaaS",
"type": "string"
},
- "locality": {
+ "description": {
"type": "string"
},
- "name": {
+ "first_listed_for_sale_at": {
"type": "string"
},
- "rating": {
+ "founded_date": {
+ "type": "string"
+ },
+ "growth_30d": {
"type": "number"
},
- "rating_count": {
+ "icon": {
"type": "string"
},
- "type": {
+ "listing_tier": {
+ "type": "string"
+ },
+ "multiple": {
+ "type": "number"
+ },
+ "name": {
+ "example": "Ploxto",
+ "type": "string"
+ },
+ "offer_count": {
+ "type": "integer"
+ },
+ "payment_provider": {
+ "type": "string"
+ },
+ "profit_margin_last_30_days": {
+ "type": "number"
+ },
+ "revenue_last_30_days": {
+ "type": "number"
+ },
+ "slug": {
+ "example": "ploxto",
"type": "string"
},
+ "stealth_mode": {
+ "type": "boolean"
+ },
"url": {
+ "example": "https://trustmrr.com/startup/ploxto",
"type": "string"
}
},
"type": "object"
},
- "zomato.CollectionSummary": {
+ "trustmrr.AcquireResponse": {
"properties": {
- "image_url": {
+ "count": {
+ "type": "integer"
+ },
+ "startups": {
+ "items": {
+ "$ref": "#/definitions/trustmrr.AcquireListing"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "trustmrr.AskingPricePoint": {
+ "properties": {
+ "created_at": {
+ "description": "Time the asking price was set, in ISO 8601.",
"type": "string"
},
- "name": {
+ "price": {
+ "description": "Asking price recorded at that time.",
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "trustmrr.CategoriesResponse": {
+ "properties": {
+ "categories": {
+ "description": "TrustMRR startup categories, one item per category.",
+ "items": {
+ "$ref": "#/definitions/trustmrr.Category"
+ },
+ "type": "array"
+ },
+ "count": {
+ "description": "Number of categories returned.",
+ "example": 31,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "trustmrr.Category": {
+ "properties": {
+ "description": {
+ "description": "Short description of the category.",
"type": "string"
},
- "num_places": {
+ "icon": {
+ "description": "Name of the icon TrustMRR uses for the category, for example `Sparkles`.",
+ "example": "Sparkles",
+ "type": "string"
+ },
+ "keywords": {
+ "description": "Keywords associated with the category.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "label": {
+ "description": "Full category name, for example `Artificial Intelligence`.",
+ "example": "Artificial Intelligence",
+ "type": "string"
+ },
+ "label_short": {
+ "description": "Short category name, for example `AI`.",
+ "example": "AI",
+ "type": "string"
+ },
+ "slug": {
+ "description": "URL slug of the category. Use it with the category endpoint.",
+ "example": "ai",
"type": "string"
},
"url": {
+ "description": "Link to the category page on TrustMRR.",
+ "example": "https://trustmrr.com/category/ai",
"type": "string"
}
},
"type": "object"
},
- "zomato.CollectionsResponse": {
+ "trustmrr.CategoryResponse": {
"properties": {
- "city": {
+ "count": {
+ "description": "Number of startups returned.",
+ "type": "integer"
+ },
+ "slug": {
+ "description": "URL slug of the category that was requested.",
+ "example": "saas",
"type": "string"
},
- "collections": {
+ "startups": {
+ "description": "Startups listed in the category, one item per startup.",
"items": {
- "$ref": "#/definitions/zomato.CollectionSummary"
+ "$ref": "#/definitions/trustmrr.CategoryStartup"
},
"type": "array"
+ },
+ "url": {
+ "description": "Link to the category page on TrustMRR.",
+ "example": "https://trustmrr.com/category/saas",
+ "type": "string"
}
},
"type": "object"
},
- "zomato.MenuCategory": {
+ "trustmrr.CategoryStartup": {
"properties": {
- "items": {
- "items": {
- "$ref": "#/definitions/zomato.MenuItem"
- },
- "type": "array"
+ "current_last_30_days_revenue": {
+ "description": "Verified revenue over the last 30 days, in US dollars.",
+ "type": "number"
+ },
+ "current_mrr": {
+ "description": "Verified monthly recurring revenue, in US dollars.",
+ "type": "number"
+ },
+ "current_total_revenue": {
+ "description": "Verified total revenue to date, in US dollars.",
+ "type": "number"
+ },
+ "description": {
+ "description": "Startup description as shown on TrustMRR.",
+ "type": "string"
+ },
+ "icon": {
+ "description": "URL of the startup's icon image.",
+ "type": "string"
+ },
+ "is_merchant_of_record": {
+ "description": "`true` when the startup is flagged as the merchant of record for its sales.",
+ "type": "boolean"
},
"name": {
+ "description": "Startup name as shown on TrustMRR.",
+ "example": "Hidden Business",
+ "type": "string"
+ },
+ "on_sale": {
+ "description": "`true` when the startup is currently listed for sale.",
+ "type": "boolean"
+ },
+ "slug": {
+ "description": "URL slug of the startup on TrustMRR. Use it with the startup endpoint.",
+ "example": "hidden-business-3",
+ "type": "string"
+ },
+ "url": {
+ "description": "Link to the startup's page on TrustMRR.",
+ "example": "https://trustmrr.com/startup/hidden-business-3",
"type": "string"
}
},
"type": "object"
},
- "zomato.MenuItem": {
+ "trustmrr.LeaderboardEntry": {
"properties": {
+ "current_last_30_days_revenue": {
+ "description": "Verified revenue over the last 30 days, in US dollars.",
+ "type": "number"
+ },
+ "current_mrr": {
+ "description": "Verified monthly recurring revenue, in US dollars.",
+ "example": 3569654.22,
+ "type": "number"
+ },
+ "current_total_revenue": {
+ "description": "Verified total revenue to date, in US dollars.",
+ "example": 76627685.07,
+ "type": "number"
+ },
"description": {
+ "description": "Startup description as shown on TrustMRR.",
"type": "string"
},
- "id": {
- "type": "string"
+ "growth_30d": {
+ "description": "Growth over the last 30 days, in percent.",
+ "type": "number"
},
- "image_url": {
+ "growth_mrr_30d": {
+ "description": "Growth in monthly recurring revenue over the last 30 days, in percent.",
+ "type": "number"
+ },
+ "icon": {
+ "description": "URL of the startup's icon image.",
"type": "string"
},
- "is_veg": {
+ "is_merchant_of_record": {
+ "description": "`true` when the startup is flagged as the merchant of record for its sales.",
"type": "boolean"
},
"name": {
+ "description": "Startup name as shown on TrustMRR.",
+ "example": "Stan",
"type": "string"
},
- "price": {
+ "on_sale": {
+ "description": "`true` when the startup is currently listed for sale.",
+ "type": "boolean"
+ },
+ "rank": {
+ "description": "Position in the leaderboard for the selected metric, starting at 1.",
+ "example": 1,
+ "type": "integer"
+ },
+ "revenue_per_visitor_last_30_days": {
+ "description": "Revenue per visitor over the last 30 days.",
+ "type": "number"
+ },
+ "slug": {
+ "description": "URL slug of the startup on TrustMRR. Use it with the startup endpoint.",
+ "example": "stan",
+ "type": "string"
+ },
+ "stealth_mode": {
+ "description": "`true` when the startup is listed in stealth mode.",
+ "type": "boolean"
+ },
+ "traffic_last_30_days": {
+ "description": "Traffic to the startup's website over the last 30 days.",
"type": "number"
+ },
+ "url": {
+ "description": "Link to the startup's page on TrustMRR.",
+ "example": "https://trustmrr.com/startup/stan",
+ "type": "string"
+ },
+ "x_founder_name": {
+ "description": "Founder's display name on X.",
+ "type": "string"
+ },
+ "x_handle": {
+ "description": "Founder's X handle, without the `@`.",
+ "type": "string"
+ },
+ "x_profile_picture": {
+ "description": "URL of the founder's X profile picture.",
+ "type": "string"
}
},
"type": "object"
},
- "zomato.MenuResponse": {
+ "trustmrr.LeaderboardMetric": {
+ "enum": [
+ "mrr",
+ "last_30_days_revenue",
+ "all_time_revenue",
+ "growth",
+ "traffic",
+ "revenue_per_visitor"
+ ],
+ "type": "string",
+ "x-enum-varnames": [
+ "MetricMRR",
+ "MetricLast30DaysRevenue",
+ "MetricAllTimeRevenue",
+ "MetricGrowth",
+ "MetricTraffic",
+ "MetricRevenuePerVisitor"
+ ]
+ },
+ "trustmrr.LeaderboardResponse": {
"properties": {
- "categories": {
+ "count": {
+ "description": "Number of startups in the leaderboard.",
+ "example": 100,
+ "type": "integer"
+ },
+ "entries": {
+ "description": "Ranked startups, best first.",
"items": {
- "$ref": "#/definitions/zomato.MenuCategory"
+ "$ref": "#/definitions/trustmrr.LeaderboardEntry"
},
"type": "array"
},
- "restaurant": {
- "$ref": "#/definitions/zomato.RestaurantResponse"
+ "metric": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/trustmrr.LeaderboardMetric"
+ }
+ ],
+ "description": "Metric the leaderboard is ranked by: `mrr`, `last_30_days_revenue`, `all_time_revenue`, `growth`, `traffic` or `revenue_per_visitor`.",
+ "example": "mrr"
}
},
"type": "object"
},
- "zomato.OpeningHours": {
+ "trustmrr.MarketplaceResponse": {
"properties": {
- "days": {
- "type": "string"
+ "best_deals": {
+ "items": {
+ "$ref": "#/definitions/trustmrr.MarketplaceStartup"
+ },
+ "type": "array"
},
- "timing": {
- "type": "string"
+ "recently_listed": {
+ "items": {
+ "$ref": "#/definitions/trustmrr.MarketplaceStartup"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "zomato.RestaurantCard": {
+ "trustmrr.MarketplaceRevenue": {
"properties": {
- "address": {
+ "last_30_days": {
+ "example": 23589.38,
+ "type": "number"
+ },
+ "mrr": {
+ "example": 20361.89,
+ "type": "number"
+ },
+ "total": {
+ "example": 23589.38,
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "trustmrr.MarketplaceStartup": {
+ "properties": {
+ "active_subscriptions": {
+ "example": 4790,
+ "type": "integer"
+ },
+ "asking_price": {
+ "example": 600000,
+ "type": "number"
+ },
+ "category": {
+ "example": "Mobile Apps",
"type": "string"
},
- "cost_for_two": {
+ "country": {
+ "example": "PL",
"type": "string"
},
- "cuisines": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "customers": {
+ "example": 0,
+ "type": "integer"
},
- "delivery_time": {
- "description": "DeliveryTime is Zomato's own delivery ETA (e.g. \"38 min\"), present\non results that carry its delivery-order metadata. Both search\nsources carry it but in different display shapes -- the city-wide\nlisting serves a bare \"38 min\", keyword search a prefixed\n\"Delivery in 38 min\" -- so it is normalized to the bare form (see\nnormalizeDeliveryTime). Absent for a restaurant Zomato is not\ncurrently delivering from.",
+ "description": {
"type": "string"
},
- "distance": {
- "description": "Distance is Zomato's own display distance from the resolved city\nlocation to the restaurant (e.g. \"1.2 km\"). Present on both search\npaths.",
+ "first_listed_for_sale_at": {
"type": "string"
},
- "id": {
+ "founded_date": {
+ "example": "2025-06-01T00:00:00.000Z",
"type": "string"
},
- "image_url": {
- "type": "string"
+ "google_search_impressions_last_30_days": {
+ "type": "integer"
},
- "is_promoted": {
- "description": "IsPromoted reports whether Zomato itself labels this a promoted\n(sponsored) placement rather than an organic result.",
- "type": "boolean"
+ "growth_30d": {
+ "type": "number"
},
- "is_serviceable": {
- "description": "IsServiceable reports whether Zomato will currently deliver here\nfrom the resolved location. A pointer so a source that does not\ncarry the flag omits it rather than reporting a false \"not\nserviceable\".",
- "type": "boolean"
+ "growth_mrr_30d": {
+ "type": "number"
},
- "locality": {
+ "icon": {
"type": "string"
},
+ "multiple": {
+ "example": 2.1,
+ "type": "number"
+ },
"name": {
+ "example": "TrackAI",
"type": "string"
},
- "offers": {
- "description": "Offers carries Zomato's own headline offer badges for this\nrestaurant (e.g. \"50% OFF\", \"₹100 OFF\"). Only the city-wide listing\ncarries them -- keyword search results do not.",
- "items": {
- "type": "string"
- },
- "type": "array"
+ "on_sale": {
+ "example": true,
+ "type": "boolean"
},
- "rating": {
+ "payment_provider": {
+ "example": "revenuecat",
+ "type": "string"
+ },
+ "profit_margin_last_30_days": {
+ "example": 10,
"type": "number"
},
- "rating_count": {
+ "rank": {
+ "example": 858,
+ "type": "integer"
+ },
+ "revenue": {
+ "$ref": "#/definitions/trustmrr.MarketplaceRevenue"
+ },
+ "revenue_per_visitor": {
+ "type": "number"
+ },
+ "slug": {
+ "example": "trackai",
+ "type": "string"
+ },
+ "target_audience": {
+ "example": "B2C",
"type": "string"
},
"url": {
+ "example": "https://trustmrr.com/startup/trackai",
+ "type": "string"
+ },
+ "visitors_last_30_days": {
+ "type": "integer"
+ },
+ "website": {
+ "example": "https://trackai.app",
+ "type": "string"
+ },
+ "x_handle": {
+ "type": "string"
+ },
+ "x_profile_picture": {
"type": "string"
}
},
"type": "object"
},
- "zomato.RestaurantDelivery": {
+ "trustmrr.Startup": {
"properties": {
- "has_online_ordering": {
- "type": "boolean"
+ "ahrefs_domain": {
+ "description": "Domain TrustMRR uses to look up the startup's Ahrefs domain rating.",
+ "type": "string"
},
- "is_serviceable": {
- "type": "boolean"
+ "ahrefs_domain_rating": {
+ "description": "Ahrefs domain rating of the startup's website.",
+ "type": "integer"
},
- "min_order_amount": {
+ "asking_price": {
+ "description": "Price the seller is asking for the startup.",
+ "example": 600000,
"type": "number"
},
- "pickup_available": {
- "type": "boolean"
+ "asking_price_history": {
+ "description": "Earlier asking prices for the startup, one item per recorded price.",
+ "items": {
+ "$ref": "#/definitions/trustmrr.AskingPricePoint"
+ },
+ "type": "array"
},
- "time": {
+ "branding_primary_color": {
+ "description": "Primary brand color of the startup, as a hex code.",
+ "example": "#ffffff",
"type": "string"
- }
- },
- "type": "object"
- },
- "zomato.RestaurantRatings": {
- "properties": {
- "delivery": {
- "$ref": "#/definitions/zomato.SplitRating"
},
- "dining": {
- "$ref": "#/definitions/zomato.SplitRating"
- }
- },
- "type": "object"
- },
- "zomato.RestaurantResponse": {
- "properties": {
- "address": {
+ "branding_secondary_color": {
+ "description": "Secondary brand color of the startup, as a hex code.",
+ "example": "#000000",
"type": "string"
},
- "city": {
- "description": "City/Zipcode/Country/Latitude/Longitude come from the same contact\nsection Address and Locality already do -- Zipcode is frequently\nblank or \"0\" upstream and is omitted when it is.",
+ "category": {
+ "description": "Category label of the startup, for example `Mobile App`.",
+ "example": "Mobile App",
+ "type": "string"
+ },
+ "category_slug": {
+ "description": "URL slug of the startup's category, for example `mobile-app`.",
+ "example": "mobile-app",
"type": "string"
},
"country": {
+ "description": "Country code of the startup, for example `PL`.",
+ "example": "PL",
"type": "string"
},
- "cuisines": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "created_at": {
+ "description": "Time the startup was added to TrustMRR, in ISO 8601.",
+ "type": "string"
},
- "delivery": {
+ "deal_score": {
+ "description": "TrustMRR's recency-aware acquisition score for the listing.",
+ "type": "number"
+ },
+ "description": {
+ "description": "Startup description as shown on TrustMRR.",
+ "type": "string"
+ },
+ "enrichment": {
"allOf": [
{
- "$ref": "#/definitions/zomato.RestaurantDelivery"
+ "$ref": "#/definitions/trustmrr.StartupEnrichment"
}
],
- "description": "Delivery is present only when Zomato carries delivery metadata for\nthis restaurant."
+ "description": "TrustMRR's AI-generated business summary for the startup."
},
- "id": {
+ "first_listed_for_sale_at": {
+ "description": "Time the startup was first listed for sale, in ISO 8601.",
"type": "string"
},
- "image_url": {
+ "founded_date": {
+ "description": "Date the startup was founded, in ISO 8601.",
"type": "string"
},
- "is_dark_kitchen": {
+ "growth_30d": {
+ "description": "Growth over the last 30 days, in percent.",
+ "type": "number"
+ },
+ "growth_mrr_30d": {
+ "description": "Growth in monthly recurring revenue over the last 30 days, in percent.",
+ "type": "number"
+ },
+ "has_dofollow_backlink": {
+ "description": "`true` when TrustMRR has verified a dofollow backlink for the startup.",
"type": "boolean"
},
- "is_delivery_only": {
- "description": "IsDeliveryOnly marks a kitchen Zomato lists for delivery only (no\ndining), IsDarkKitchen a delivery-only kitchen with no storefront at\nall, and the two closed flags Zomato's own temporary/permanent\nclosure states.",
+ "has_google_analytics": {
+ "description": "`true` when TrustMRR has verified Google Analytics for the startup.",
"type": "boolean"
},
- "is_permanently_closed": {
+ "has_search_console": {
+ "description": "`true` when TrustMRR has verified Google Search Console for the startup.",
"type": "boolean"
},
- "is_temporarily_closed": {
+ "icon": {
+ "description": "URL of the startup's icon image.",
+ "type": "string"
+ },
+ "insight_overrides": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/trustmrr.StartupInsight"
+ }
+ ],
+ "description": "InsightOverrides holds the human-curated business summary TrustMRR displays\nin place of the AI enrichment when a seller has edited it."
+ },
+ "is_merchant_of_record": {
+ "description": "`true` when the startup is flagged as the merchant of record for its sales.",
"type": "boolean"
},
- "latitude": {
- "type": "number"
+ "is_sponsored": {
+ "description": "`true` when the listing is sponsored.",
+ "type": "boolean"
},
- "locality": {
+ "listing_tier": {
+ "description": "Marketplace listing tier of the startup, for example `pro`.",
+ "example": "pro",
"type": "string"
},
- "longitude": {
- "type": "number"
+ "looking_for_cofounder": {
+ "description": "`true` when the startup is looking for a cofounder.",
+ "type": "boolean"
},
- "name": {
+ "looking_for_cofounder_message": {
+ "description": "Message from the founder about the cofounder search. Text written by the founder.",
"type": "string"
},
- "opening_hours": {
- "description": "OpeningHours is the full weekly table behind the single-line Timing\nstring above.",
+ "marketing_channels": {
+ "description": "Marketing channels detected for the startup, one item per channel.",
"items": {
- "$ref": "#/definitions/zomato.OpeningHours"
+ "$ref": "#/definitions/trustmrr.StartupChannel"
},
"type": "array"
},
- "phone": {
+ "merchant_category_code": {
+ "description": "Merchant category code of the startup's payment processor account, for example `7372`.",
+ "example": "7372",
"type": "string"
},
- "rating": {
+ "mrr_last_synced_at": {
+ "description": "Time the monthly recurring revenue was last synced, in ISO 8601.",
+ "type": "string"
+ },
+ "multiple": {
+ "description": "Asking price divided by trailing revenue.",
+ "example": 2.12,
"type": "number"
},
- "rating_count": {
+ "name": {
+ "description": "Startup name as shown on TrustMRR.",
+ "example": "TrackAI",
"type": "string"
},
- "ratings": {
+ "offer_count": {
+ "description": "Number of offers made on the listing.",
+ "type": "integer"
+ },
+ "on_sale": {
+ "description": "`true` when the startup is currently listed for sale.",
+ "type": "boolean"
+ },
+ "payment_provider": {
+ "description": "Payment provider that verifies the startup's revenue, for example `revenuecat`.",
+ "example": "revenuecat",
+ "type": "string"
+ },
+ "profit_margin_last_30_days": {
+ "description": "Profit margin over the last 30 days, in percent.",
+ "example": 10,
+ "type": "number"
+ },
+ "rank": {
+ "description": "Position of the startup on TrustMRR's ranking.",
+ "example": 858,
+ "type": "integer"
+ },
+ "revenue": {
"allOf": [
{
- "$ref": "#/definitions/zomato.RestaurantRatings"
+ "$ref": "#/definitions/trustmrr.StartupRevenue"
}
],
- "description": "Ratings splits the single headline Rating above into Zomato's own\nseparately-aggregated dining and delivery figures."
+ "description": "Verified revenue figures for the startup, in US dollars."
},
- "status_text": {
+ "revenue_last_synced_at": {
+ "description": "Time the revenue figures were last synced, in ISO 8601.",
"type": "string"
},
- "timing": {
+ "revenue_per_visitor_last_30_days": {
+ "description": "Revenue per visitor over the last 30 days.",
+ "type": "number"
+ },
+ "secondary_payment_provider": {
+ "description": "Second payment provider connected to the startup, when it has one.",
+ "type": "string"
+ },
+ "seller_message": {
+ "description": "Message from the seller on the listing. Text written by the seller.",
+ "type": "string"
+ },
+ "slug": {
+ "description": "URL slug of the startup on TrustMRR. Use it with the startup endpoint.",
+ "example": "trackai",
+ "type": "string"
+ },
+ "status": {
+ "description": "Startup status on TrustMRR, for example `active`.",
+ "example": "active",
+ "type": "string"
+ },
+ "stealth_mode": {
+ "description": "`true` when the startup is listed in stealth mode.",
+ "type": "boolean"
+ },
+ "target_audience": {
+ "description": "Audience the startup sells to, for example `B2C` or `B2B`.",
+ "example": "B2C",
+ "type": "string"
+ },
+ "tech_stack": {
+ "description": "Technologies detected in the startup's stack, one item per technology.",
+ "items": {
+ "$ref": "#/definitions/trustmrr.StartupTech"
+ },
+ "type": "array"
+ },
+ "traffic_last_12_months": {
+ "description": "Traffic to the startup's website over the last 12 months.",
+ "type": "number"
+ },
+ "traffic_last_24_hours": {
+ "description": "Traffic to the startup's website over the last 24 hours.",
+ "type": "number"
+ },
+ "traffic_last_30_days": {
+ "description": "Traffic to the startup's website over the last 30 days.",
+ "type": "number"
+ },
+ "traffic_last_7_days": {
+ "description": "Traffic to the startup's website over the last 7 days.",
+ "type": "number"
+ },
+ "updated_at": {
+ "description": "Time the startup record was last updated, in ISO 8601.",
"type": "string"
},
"url": {
+ "description": "Link to the startup's page on TrustMRR.",
+ "example": "https://trustmrr.com/startup/trackai",
"type": "string"
},
- "zipcode": {
+ "user_category": {
+ "description": "Second category label for the startup, for example `Mobile Apps`.",
+ "example": "Mobile Apps",
+ "type": "string"
+ },
+ "user_category_slug": {
+ "description": "URL slug of the second category label, for example `mobile-apps`.",
+ "example": "mobile-apps",
+ "type": "string"
+ },
+ "website": {
+ "description": "Startup's website address.",
+ "example": "https://trackai.app",
+ "type": "string"
+ },
+ "x_follower_count": {
+ "description": "Number of followers of the founder's X account.",
+ "type": "integer"
+ },
+ "x_founder_name": {
+ "description": "Founder's display name on X.",
+ "type": "string"
+ },
+ "x_handle": {
+ "description": "Founder's X handle, without the `@`.",
+ "type": "string"
+ },
+ "x_profile_picture": {
+ "description": "URL of the founder's X profile picture.",
"type": "string"
}
},
"type": "object"
},
- "zomato.SearchResponse": {
+ "trustmrr.StartupChannel": {
"properties": {
- "city": {
+ "category": {
+ "description": "Marketing channel category, for example `paid`.",
+ "example": "paid",
"type": "string"
},
- "has_more": {
- "type": "boolean"
+ "slug": {
+ "description": "Marketing channel identifier, for example `meta-ads`.",
+ "example": "meta-ads",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "trustmrr.StartupEnrichment": {
+ "properties": {
+ "business_type": {
+ "description": "Business type of the startup, for example `B2C`.",
+ "example": "B2C",
+ "type": "string"
},
- "next_cursor": {
+ "estimated_user_count": {
+ "description": "Estimated number of users of the startup's product.",
+ "type": "integer"
+ },
+ "funding_status": {
+ "description": "Funding status of the startup, for example `Unknown`.",
"type": "string"
},
- "query": {
+ "last_enriched_at": {
+ "description": "Time the summary was last generated, in ISO 8601.",
"type": "string"
},
- "restaurants": {
+ "pricing_model": {
+ "description": "Short description of how the startup charges for its product.",
+ "type": "string"
+ },
+ "problem_solved": {
+ "description": "Problem the startup's product solves.",
+ "type": "string"
+ },
+ "screenshots": {
+ "description": "Screenshots of the startup's site, one item per screenshot.",
"items": {
- "$ref": "#/definitions/zomato.RestaurantCard"
+ "$ref": "#/definitions/trustmrr.StartupScreenshot"
},
"type": "array"
},
- "total_results": {
+ "tags": {
+ "description": "Topic tags for the startup, for example `ai` or `saas`.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "target_persona": {
+ "description": "Type of customer the startup's product is aimed at.",
+ "type": "string"
+ },
+ "value_proposition": {
+ "description": "One-line summary of what the startup's product offers.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "trustmrr.StartupInsight": {
+ "properties": {
+ "business_type": {
+ "description": "Business type of the startup, for example `B2C`.",
+ "example": "B2C",
+ "type": "string"
+ },
+ "estimated_user_count": {
+ "description": "Estimated number of users of the startup's product.",
"type": "integer"
+ },
+ "pricing_model": {
+ "description": "Short description of how the startup charges for its product.",
+ "type": "string"
+ },
+ "problem_solved": {
+ "description": "Problem the startup's product solves.",
+ "type": "string"
+ },
+ "target_persona": {
+ "description": "Type of customer the startup's product is aimed at.",
+ "type": "string"
+ },
+ "updated_at": {
+ "description": "Time the summary was last updated, in ISO 8601.",
+ "type": "string"
+ },
+ "value_proposition": {
+ "description": "One-line summary of what the startup's product offers.",
+ "type": "string"
}
},
"type": "object"
},
- "zomato.SplitRating": {
+ "trustmrr.StartupRef": {
"properties": {
- "rating": {
+ "last_modified": {
+ "description": "Last-modified time TrustMRR lists for the startup page, in ISO 8601.",
+ "example": "2026-07-08T05:09:42.880Z",
+ "type": "string"
+ },
+ "slug": {
+ "description": "URL slug of the startup on TrustMRR. Use it with the startup endpoint.",
+ "example": "gumroad",
+ "type": "string"
+ },
+ "url": {
+ "description": "Link to the startup's page on TrustMRR.",
+ "example": "https://trustmrr.com/startup/gumroad",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "trustmrr.StartupRevenue": {
+ "properties": {
+ "active_subscriptions": {
+ "description": "Number of active subscriptions.",
+ "type": "integer"
+ },
+ "customers": {
+ "description": "Number of customers.",
+ "type": "integer"
+ },
+ "last_30_days": {
+ "description": "Revenue over the last 30 days, in US dollars.",
"type": "number"
},
- "review_count": {
+ "mrr": {
+ "description": "Monthly recurring revenue, in US dollars.",
+ "type": "number"
+ },
+ "total": {
+ "description": "Total revenue to date, in US dollars.",
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "trustmrr.StartupScreenshot": {
+ "properties": {
+ "captured_at": {
+ "description": "Time the screenshot was taken, in ISO 8601.",
+ "type": "string"
+ },
+ "label": {
+ "description": "Label of the screenshot, for example `Landing page`.",
+ "type": "string"
+ },
+ "url": {
+ "description": "URL of the screenshot image.",
"type": "string"
}
},
"type": "object"
},
- "zomato.citiesResponseDoc": {
+ "trustmrr.StartupTech": {
+ "properties": {
+ "category": {
+ "description": "Technology category, for example `frontend`.",
+ "example": "frontend",
+ "type": "string"
+ },
+ "slug": {
+ "description": "Technology identifier, for example `reactnative`.",
+ "example": "reactnative",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "trustmrr.StartupsResponse": {
+ "properties": {
+ "has_next": {
+ "description": "`true` when more pages of startups remain.",
+ "example": true,
+ "type": "boolean"
+ },
+ "page": {
+ "description": "Page number returned, starting at 1.",
+ "example": 1,
+ "type": "integer"
+ },
+ "page_size": {
+ "description": "Number of startups per page.",
+ "example": 100,
+ "type": "integer"
+ },
+ "startups": {
+ "description": "Startups on this page, one item per startup.",
+ "items": {
+ "$ref": "#/definitions/trustmrr.StartupRef"
+ },
+ "type": "array"
+ },
+ "total": {
+ "description": "Total number of startups listed on TrustMRR.",
+ "example": 8196,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "trustmrr.acquireResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/zomato.CitiesResponse"
+ "$ref": "#/definitions/trustmrr.AcquireResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "zomato.collectionResponseDoc": {
+ "trustmrr.categoriesResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/zomato.CollectionResponse"
+ "$ref": "#/definitions/trustmrr.CategoriesResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "zomato.collectionsResponseDoc": {
+ "trustmrr.categoryResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/zomato.CollectionsResponse"
+ "$ref": "#/definitions/trustmrr.CategoryResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "zomato.menuResponseDoc": {
+ "trustmrr.leaderboardResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/zomato.MenuResponse"
+ "$ref": "#/definitions/trustmrr.LeaderboardResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "zomato.restaurantResponseDoc": {
+ "trustmrr.marketplaceResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/zomato.RestaurantResponse"
+ "$ref": "#/definitions/trustmrr.MarketplaceResponse"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
},
- "zomato.searchResponseDoc": {
+ "trustmrr.startupResponseDoc": {
"properties": {
"code": {
- "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "example": 200,
"type": "integer"
},
"data": {
- "$ref": "#/definitions/zomato.SearchResponse"
+ "$ref": "#/definitions/trustmrr.Startup"
},
"msg": {
- "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ "example": "OK",
+ "type": "string"
}
},
"type": "object"
- }
- },
- "host": "api.crawlora.net",
- "info": {
- "contact": {
- "email": "support@crawlora.net",
- "name": "API Support",
- "url": "https://crawlora.net"
},
- "description": "Crawlora is a hosted web-data and SERP API: call documented REST endpoints and get normalized JSON instead of HTML to parse — across search/SERP, maps and local, e-commerce, app stores, social, media and finance. One API key; Crawlora runs the proxy rotation, headless browsers and parsing behind the scenes. Billed pay-on-success: charged only on a successful 2xx response, 1-10 credits per call, with a free tier of 2,000 credits per month and no card. A hosted MCP server (mcp.crawlora.net/mcp) exposes the same catalog as agent tools. Search endpoints accept `q` as a universal alias for whichever search-term parameter they document (`query`, `term`, `keyword`, or Amazon's `k`), so one parameter name works across the whole catalog; an explicitly supplied documented name always wins.",
- "license": {
+ "trustmrr.startupsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/trustmrr.StartupsResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "trustpilot.BusinessAbout": {
+ "properties": {
+ "business_country_code": {
+ "description": "Country code of the business, such as `DK`.",
+ "example": "DK",
+ "type": "string"
+ },
+ "contact": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/trustpilot.BusinessContact"
+ }
+ ],
+ "description": "Contact details the business lists on its profile."
+ },
+ "description_html": {
+ "description": "Business description from the profile, as HTML.",
+ "type": "string"
+ },
+ "description_text": {
+ "description": "Business description from the profile, as plain text.",
+ "type": "string"
+ },
+ "facebook_url": {
+ "description": "URL of the business's Facebook page.",
+ "example": "https://www.facebook.com/Trustpilot",
+ "type": "string"
+ },
+ "has_company_elements": {
+ "description": "Whether the profile shows company information added by the business.",
+ "example": true,
+ "type": "boolean"
+ },
+ "information_source": {
+ "description": "Who supplied the company information, as Trustpilot reports it, such as `customer` or `none`.",
+ "example": "customer",
+ "type": "string"
+ },
+ "promotion_points": {
+ "description": "Selling points listed in the business's promotion box.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "promotion_title": {
+ "description": "Title of the promotion box on the business profile.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "trustpilot.BusinessActivity": {
+ "properties": {
+ "claimed_date": {
+ "description": "Time the business claimed its profile, in ISO 8601 UTC.",
+ "type": "string"
+ },
+ "has_business_unit_merge_history": {
+ "description": "Whether this profile has been merged with other Trustpilot business profiles.",
+ "example": false,
+ "type": "boolean"
+ },
+ "has_subscription": {
+ "description": "Whether the business has a Trustpilot subscription.",
+ "example": false,
+ "type": "boolean"
+ },
+ "is_asking_for_reviews": {
+ "description": "Whether the business invites customers to review it on Trustpilot.",
+ "example": false,
+ "type": "boolean"
+ },
+ "is_claimed": {
+ "description": "Whether the business has claimed its Trustpilot profile.",
+ "example": false,
+ "type": "boolean"
+ },
+ "is_using_ai_responses": {
+ "description": "Whether the business uses AI-generated responses to reviews.",
+ "example": false,
+ "type": "boolean"
+ },
+ "is_using_paid_features": {
+ "description": "Whether the business uses paid Trustpilot features.",
+ "example": false,
+ "type": "boolean"
+ },
+ "previously_claimed": {
+ "description": "Whether the profile has been claimed before.",
+ "example": false,
+ "type": "boolean"
+ },
+ "verification": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/trustpilot.BusinessVerification"
+ }
+ ],
+ "description": "Verification checks the business has passed."
+ }
+ },
+ "type": "object"
+ },
+ "trustpilot.BusinessBreadcrumb": {
+ "properties": {
+ "id": {
+ "description": "Trustpilot category id at this level of the path.",
+ "example": "electronics_technology",
+ "type": "string"
+ },
+ "level": {
+ "description": "Level of the category in the path: `top`, `mid` or `bottom`.",
+ "example": "top",
+ "type": "string"
+ },
+ "name": {
+ "description": "Display name of the category at this level.",
+ "example": "Electronics & Technology",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "trustpilot.BusinessCategory": {
+ "properties": {
+ "cardinality": {
+ "description": "Cardinality value Trustpilot assigns to this category for the business.",
+ "example": 2,
+ "type": "integer"
+ },
+ "id": {
+ "description": "Trustpilot category id, such as `software_company`.",
+ "example": "software_company",
+ "type": "string"
+ },
+ "is_primary": {
+ "description": "Whether this is the business's primary category.",
+ "example": true,
+ "type": "boolean"
+ },
+ "name": {
+ "description": "Display name of the category.",
+ "example": "Software Company",
+ "type": "string"
+ },
+ "rank": {
+ "description": "Rank value Trustpilot assigns to this category for the business.",
+ "example": 1,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "trustpilot.BusinessCompanyReply": {
+ "properties": {
+ "message": {
+ "description": "Text of the business's reply.",
+ "type": "string"
+ },
+ "published_at_text": {
+ "description": "Time the reply was published, in ISO 8601 UTC.",
+ "type": "string"
+ },
+ "updated_at_text": {
+ "description": "Time the reply was last updated, in ISO 8601 UTC.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "trustpilot.BusinessContact": {
+ "properties": {
+ "address": {
+ "description": "Street address of the business.",
+ "type": "string"
+ },
+ "city": {
+ "description": "City of the business.",
+ "type": "string"
+ },
+ "country": {
+ "description": "Country of the business.",
+ "type": "string"
+ },
+ "email": {
+ "description": "Contact email address of the business.",
+ "type": "string"
+ },
+ "phone": {
+ "description": "Contact phone number of the business.",
+ "type": "string"
+ },
+ "zip_code": {
+ "description": "Postal code of the business.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "trustpilot.BusinessPageLanguage": {
+ "properties": {
+ "iso_language": {
+ "description": "Language and region code of this version, such as `en-US`.",
+ "example": "en-US",
+ "type": "string"
+ },
+ "language_code": {
+ "description": "Language code of this version, such as `en`.",
+ "example": "en",
+ "type": "string"
+ },
+ "locale": {
+ "description": "Locale of this version, such as `en-US`.",
+ "example": "en-US",
+ "type": "string"
+ },
+ "uri": {
+ "description": "Base URL of the Trustpilot site for this language version.",
+ "example": "https://www.trustpilot.com",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "trustpilot.BusinessPageMeta": {
+ "properties": {
+ "canonical_url": {
+ "description": "Canonical URL of the business profile page.",
+ "example": "https://www.trustpilot.com/review/openai.com",
+ "type": "string"
+ },
+ "domain": {
+ "description": "Trustpilot domain the profile page is served from.",
+ "example": "https://www.trustpilot.com",
+ "type": "string"
+ },
+ "languages": {
+ "description": "Language versions of the profile page.",
+ "items": {
+ "$ref": "#/definitions/trustpilot.BusinessPageLanguage"
+ },
+ "type": "array"
+ },
+ "locale": {
+ "description": "Locale of the profile page, such as `en-US`.",
+ "example": "en-US",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "trustpilot.BusinessRatingHistogram": {
+ "properties": {
+ "five": {
+ "description": "Number of 5-star reviews.",
+ "example": 80,
+ "type": "integer"
+ },
+ "four": {
+ "description": "Number of 4-star reviews.",
+ "example": 20,
+ "type": "integer"
+ },
+ "one": {
+ "description": "Number of 1-star reviews.",
+ "example": 817,
+ "type": "integer"
+ },
+ "three": {
+ "description": "Number of 3-star reviews.",
+ "example": 22,
+ "type": "integer"
+ },
+ "total": {
+ "description": "Total number of reviews counted across all star levels.",
+ "example": 984,
+ "type": "integer"
+ },
+ "two": {
+ "description": "Number of 2-star reviews.",
+ "example": 45,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "trustpilot.BusinessRelatedResponse": {
+ "properties": {
+ "business": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/trustpilot.businessHeader"
+ }
+ ],
+ "description": "Summary of the business whose related businesses are listed."
+ },
+ "items": {
+ "description": "Businesses Trustpilot shows as related to this business.",
+ "items": {
+ "$ref": "#/definitions/trustpilot.RelatedBusiness"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "trustpilot.BusinessReplyMetrics": {
+ "properties": {
+ "average_days_to_reply": {
+ "description": "Average number of days the business takes to reply to reviews.",
+ "example": 10.59,
+ "type": "number"
+ },
+ "last_reply_to_negative_review": {
+ "description": "Time of the business's most recent reply to a negative review, as Trustpilot reports it.",
+ "type": "string"
+ },
+ "negative_reviews_with_replies": {
+ "description": "Number of negative reviews the business has replied to.",
+ "example": 7964,
+ "type": "integer"
+ },
+ "reply_percentage": {
+ "description": "Percentage of negative reviews the business has replied to.",
+ "example": 47.88,
+ "type": "number"
+ },
+ "total_negative_reviews": {
+ "description": "Total number of negative reviews the business has received.",
+ "example": 16630,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "trustpilot.BusinessResponse": {
+ "properties": {
+ "about": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/trustpilot.BusinessAbout"
+ }
+ ],
+ "description": "Company information the business shows on its Trustpilot profile."
+ },
+ "breadcrumbs": {
+ "description": "Category path of the business, from top level down to the most specific level.",
+ "items": {
+ "$ref": "#/definitions/trustpilot.BusinessBreadcrumb"
+ },
+ "type": "array"
+ },
+ "categories": {
+ "description": "Categories the business is listed under on Trustpilot.",
+ "items": {
+ "$ref": "#/definitions/trustpilot.BusinessCategory"
+ },
+ "type": "array"
+ },
+ "claimed": {
+ "description": "Whether the business has claimed its Trustpilot profile.",
+ "example": false,
+ "type": "boolean"
+ },
+ "company_activity": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/trustpilot.BusinessActivity"
+ }
+ ],
+ "description": "How the business uses Trustpilot, such as claiming, subscriptions and verification."
+ },
+ "name": {
+ "description": "Display name of the business on Trustpilot.",
+ "example": "OpenAI",
+ "type": "string"
+ },
+ "page_meta": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/trustpilot.BusinessPageMeta"
+ }
+ ],
+ "description": "Page details of the Trustpilot profile, such as canonical URL and language versions."
+ },
+ "paid_subscription": {
+ "description": "Whether the business uses paid Trustpilot features or has a Trustpilot subscription.",
+ "example": false,
+ "type": "boolean"
+ },
+ "rating": {
+ "description": "Star rating shown on the business profile, out of 5.",
+ "example": 1.5,
+ "type": "number"
+ },
+ "rating_histogram": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/trustpilot.BusinessRatingHistogram"
+ }
+ ],
+ "description": "Number of reviews at each star level."
+ },
+ "reply_metrics": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/trustpilot.BusinessReplyMetrics"
+ }
+ ],
+ "description": "Statistics on how the business replies to negative reviews."
+ },
+ "review_count": {
+ "description": "Total number of reviews the business has on Trustpilot.",
+ "example": 984,
+ "type": "integer"
+ },
+ "review_summary": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/trustpilot.BusinessReviewSummary"
+ }
+ ],
+ "description": "AI-generated summary of the business's reviews shown on its profile."
+ },
+ "review_topics": {
+ "description": "AI-generated summaries of what reviewers say about individual topics.",
+ "items": {
+ "$ref": "#/definitions/trustpilot.BusinessReviewTopic"
+ },
+ "type": "array"
+ },
+ "slug": {
+ "description": "Business slug used in the Trustpilot profile URL, usually the website domain.",
+ "example": "openai.com",
+ "type": "string"
+ },
+ "trust_score": {
+ "description": "Trustpilot TrustScore of the business, as a decimal number.",
+ "example": 1.3,
+ "type": "number"
+ },
+ "trustpilot_url": {
+ "description": "URL of the business profile on Trustpilot.",
+ "example": "https://www.trustpilot.com/review/openai.com",
+ "type": "string"
+ },
+ "website_url": {
+ "description": "Website address of the business.",
+ "example": "https://openai.com",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "trustpilot.BusinessReviewItem": {
+ "properties": {
+ "author_country": {
+ "description": "Country code of the reviewer, such as `GB`.",
+ "example": "GB",
+ "type": "string"
+ },
+ "author_name": {
+ "description": "Name of the reviewer as shown on the review.",
+ "example": "Summit",
+ "type": "string"
+ },
+ "author_review_count": {
+ "description": "Number of reviews the reviewer has written on Trustpilot.",
+ "example": 1,
+ "type": "integer"
+ },
+ "body": {
+ "description": "Full text of the review.",
+ "type": "string"
+ },
+ "company_reply": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/trustpilot.BusinessCompanyReply"
+ }
+ ],
+ "description": "Reply the business posted to the review. Omitted when there is none."
+ },
+ "experienced_at_text": {
+ "description": "Date of the experience the review describes, in ISO 8601 UTC.",
+ "type": "string"
+ },
+ "id": {
+ "description": "Trustpilot id of the review.",
+ "example": "69b2e2443283f179ac73d3ce",
+ "type": "string"
+ },
+ "invited": {
+ "description": "Whether the reviewer was invited by the business to write the review.",
+ "example": false,
+ "type": "boolean"
+ },
+ "labels": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/trustpilot.BusinessReviewLabels"
+ }
+ ],
+ "description": "Labels Trustpilot attaches to the review, such as source and verification."
+ },
+ "published_at_text": {
+ "description": "Time the review was published, in ISO 8601 UTC.",
+ "type": "string"
+ },
+ "rating": {
+ "description": "Star rating the reviewer gave, from 1 to 5.",
+ "example": 1,
+ "type": "integer"
+ },
+ "title": {
+ "description": "Headline of the review.",
+ "type": "string"
+ },
+ "updated_at_text": {
+ "description": "Time the review was last updated, in ISO 8601 UTC.",
+ "type": "string"
+ },
+ "verified": {
+ "description": "Whether Trustpilot marks the review as verified.",
+ "example": false,
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "trustpilot.BusinessReviewLabels": {
+ "properties": {
+ "filtered": {
+ "description": "Whether the review is marked as filtered on Trustpilot.",
+ "example": false,
+ "type": "boolean"
+ },
+ "merged": {
+ "description": "Merge label shown on the review, such as `merged`.",
+ "type": "string"
+ },
+ "pending": {
+ "description": "Whether the review is still pending.",
+ "example": false,
+ "type": "boolean"
+ },
+ "review_source": {
+ "description": "How the review was collected, as Trustpilot labels it, such as `Organic` or `Invited`.",
+ "example": "Organic",
+ "type": "string"
+ },
+ "verification_level": {
+ "description": "Verification level of the review, such as `verified` or `not-verified`.",
+ "example": "not-verified",
+ "type": "string"
+ },
+ "verification_source": {
+ "description": "How the review was verified, such as `email` or `invitation`.",
+ "example": "invitation",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "trustpilot.BusinessReviewSummary": {
+ "properties": {
+ "model_version": {
+ "description": "Version of the model that generated the summary, as Trustpilot reports it.",
+ "type": "string"
+ },
+ "status": {
+ "description": "Publication status of the summary, as Trustpilot reports it.",
+ "type": "string"
+ },
+ "summary": {
+ "description": "Text of the AI-generated summary of the business's reviews.",
+ "type": "string"
+ },
+ "updated_at": {
+ "description": "Time the summary was last updated, as Trustpilot reports it.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "trustpilot.BusinessReviewTopic": {
+ "properties": {
+ "model_version": {
+ "description": "Version of the model that generated the topic summary, as Trustpilot reports it.",
+ "type": "string"
+ },
+ "order": {
+ "description": "Position in which Trustpilot lists the topic.",
+ "example": 1,
+ "type": "integer"
+ },
+ "summary": {
+ "description": "Text of the AI-generated summary of what reviewers say about the topic.",
+ "type": "string"
+ },
+ "topic": {
+ "description": "Topic the summary covers, such as `user_experience`.",
+ "example": "user_experience",
+ "type": "string"
+ },
+ "updated_at": {
+ "description": "Time the topic summary was last updated, as Trustpilot reports it.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "trustpilot.BusinessReviewsAppliedFilters": {
+ "properties": {
+ "language": {
+ "description": "Review language code that was applied, in lowercase.",
+ "example": "en",
+ "type": "string"
+ },
+ "query": {
+ "description": "Text search that was applied to the review content.",
+ "example": "refund",
+ "type": "string"
+ },
+ "replied": {
+ "description": "Whether only reviews with a business reply were requested.",
+ "type": "boolean"
+ },
+ "stars": {
+ "description": "Star rating, from 1 to 5, that reviews were filtered to.",
+ "example": 1,
+ "type": "integer"
+ },
+ "verified": {
+ "description": "Whether only verified reviews were requested.",
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "trustpilot.BusinessReviewsPagination": {
+ "properties": {
+ "has_next_page": {
+ "description": "Whether another page of reviews follows this one.",
+ "example": true,
+ "type": "boolean"
+ },
+ "next_page": {
+ "description": "Number of the next page. Omitted on the last page.",
+ "example": 2,
+ "type": "integer"
+ },
+ "page": {
+ "description": "Page number returned.",
+ "example": 1,
+ "type": "integer"
+ },
+ "per_page": {
+ "description": "Number of reviews per page.",
+ "example": 20,
+ "type": "integer"
+ },
+ "total_pages": {
+ "description": "Total number of pages of reviews.",
+ "example": 50,
+ "type": "integer"
+ },
+ "total_reviews": {
+ "description": "Total number of reviews available for the business.",
+ "example": 984,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "trustpilot.BusinessReviewsResponse": {
+ "properties": {
+ "applied_filters": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/trustpilot.BusinessReviewsAppliedFilters"
+ }
+ ],
+ "description": "Filters that were applied to the reviews. Omitted when no filter was used."
+ },
+ "business": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/trustpilot.businessHeader"
+ }
+ ],
+ "description": "Summary of the business the reviews belong to."
+ },
+ "items": {
+ "description": "Reviews on this page, as listed on the business's Trustpilot page.",
+ "items": {
+ "$ref": "#/definitions/trustpilot.BusinessReviewItem"
+ },
+ "type": "array"
+ },
+ "pagination": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/trustpilot.BusinessReviewsPagination"
+ }
+ ],
+ "description": "Paging details for the reviews."
+ }
+ },
+ "type": "object"
+ },
+ "trustpilot.BusinessVerification": {
+ "properties": {
+ "verified_by_google": {
+ "description": "Whether the business is verified through Google.",
+ "example": false,
+ "type": "boolean"
+ },
+ "verified_payment_method": {
+ "description": "Whether the business has a verified payment method.",
+ "example": false,
+ "type": "boolean"
+ },
+ "verified_user_identity": {
+ "description": "Whether the identity of the user managing the profile is verified.",
+ "example": false,
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "trustpilot.CategoriesResponse": {
+ "properties": {
+ "groups": {
+ "description": "Top-level category groups, each with the categories it contains.",
+ "items": {
+ "$ref": "#/definitions/trustpilot.CategoryGroup"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "trustpilot.CategoryBusiness": {
+ "properties": {
+ "business_unit_id": {
+ "description": "Trustpilot id of the business.",
+ "example": "5e18c99abe863e0001b6ff0c",
+ "type": "string"
+ },
+ "categories": {
+ "description": "Categories the business is tagged with.",
+ "items": {
+ "$ref": "#/definitions/trustpilot.CategoryBusinessTag"
+ },
+ "type": "array"
+ },
+ "display_name": {
+ "description": "Display name of the business on Trustpilot.",
+ "example": "Houzeo",
+ "type": "string"
+ },
+ "email": {
+ "description": "Contact email address of the business.",
+ "example": "support@houzeo.com",
+ "type": "string"
+ },
+ "identifying_name": {
+ "description": "Business slug used in the Trustpilot profile URL, usually the website domain. Use it with the business endpoint.",
+ "example": "www.houzeo.com",
+ "type": "string"
+ },
+ "location": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/trustpilot.CategoryBusinessLocation"
+ }
+ ],
+ "description": "Location of the business. Omitted when Trustpilot lists none."
+ },
+ "logo_url": {
+ "description": "URL of the business's logo.",
+ "example": "https://s3-eu-west-1.amazonaws.com/tpd/screenshotlogo-domain/example/198x149.png",
+ "type": "string"
+ },
+ "phone": {
+ "description": "Contact phone number of the business.",
+ "example": "(844) 448-0110",
+ "type": "string"
+ },
+ "recommended": {
+ "description": "Whether Trustpilot recommends the business in its categories.",
+ "example": true,
+ "type": "boolean"
+ },
+ "review_count": {
+ "description": "Total number of reviews the business has on Trustpilot.",
+ "example": 3473,
+ "type": "integer"
+ },
+ "stars": {
+ "description": "Star rating of the business, out of 5.",
+ "example": 5,
+ "type": "number"
+ },
+ "trust_score": {
+ "description": "Trustpilot TrustScore of the business, as a decimal number.",
+ "example": 4.8,
+ "type": "number"
+ },
+ "trustpilot_url": {
+ "description": "URL of the business profile on Trustpilot.",
+ "example": "https://www.trustpilot.com/review/www.houzeo.com",
+ "type": "string"
+ },
+ "website_url": {
+ "description": "Website address of the business.",
+ "example": "https://www.houzeo.com",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "trustpilot.CategoryBusinessLocation": {
+ "properties": {
+ "address": {
+ "description": "Street address of the business.",
+ "type": "string"
+ },
+ "city": {
+ "description": "City of the business.",
+ "type": "string"
+ },
+ "country": {
+ "description": "Country of the business.",
+ "type": "string"
+ },
+ "zip_code": {
+ "description": "Postal code of the business.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "trustpilot.CategoryBusinessTag": {
+ "properties": {
+ "category_id": {
+ "description": "Trustpilot category id, such as `software_company`.",
+ "example": "software_company",
+ "type": "string"
+ },
+ "display_name": {
+ "description": "Display name of the category.",
+ "example": "Software Company",
+ "type": "string"
+ },
+ "is_predicted": {
+ "description": "Whether Trustpilot predicted this category for the business.",
+ "example": false,
+ "type": "boolean"
+ },
+ "is_primary": {
+ "description": "Whether this is the business's primary category.",
+ "example": true,
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "trustpilot.CategoryGroup": {
+ "properties": {
+ "items": {
+ "description": "Categories that belong to this group.",
+ "items": {
+ "$ref": "#/definitions/trustpilot.CategoryLink"
+ },
+ "type": "array"
+ },
+ "name": {
+ "description": "Display name of the category group.",
+ "example": "Electronics & Technology",
+ "type": "string"
+ },
+ "slug": {
+ "description": "Slug of the category group, such as `electronics_technology`.",
+ "example": "electronics_technology",
+ "type": "string"
+ },
+ "url": {
+ "description": "URL of the category group page on Trustpilot.",
+ "example": "https://www.trustpilot.com/categories/electronics_technology",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "trustpilot.CategoryLink": {
+ "properties": {
+ "name": {
+ "description": "Display name of the category.",
+ "example": "Software Company",
+ "type": "string"
+ },
+ "slug": {
+ "description": "Category slug. Use it with the category endpoint.",
+ "example": "software_company",
+ "type": "string"
+ },
+ "url": {
+ "description": "URL of the category page on Trustpilot.",
+ "example": "https://www.trustpilot.com/categories/software_company",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "trustpilot.CategoryPagination": {
+ "properties": {
+ "has_next_page": {
+ "description": "Whether another page of businesses follows this one.",
+ "example": true,
+ "type": "boolean"
+ },
+ "next_page": {
+ "description": "Number of the next page. Omitted on the last page.",
+ "example": 3,
+ "type": "integer"
+ },
+ "page": {
+ "description": "Page number returned.",
+ "example": 2,
+ "type": "integer"
+ },
+ "per_page": {
+ "description": "Number of businesses per page.",
+ "example": 20,
+ "type": "integer"
+ },
+ "total_hits": {
+ "description": "Total number of businesses in the category.",
+ "example": 7963,
+ "type": "integer"
+ },
+ "total_pages": {
+ "description": "Total number of pages in the category.",
+ "example": 399,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "trustpilot.CategoryResponse": {
+ "properties": {
+ "breadcrumbs": {
+ "description": "Parent categories leading to this category.",
+ "items": {
+ "$ref": "#/definitions/trustpilot.CategoryLink"
+ },
+ "type": "array"
+ },
+ "country": {
+ "description": "Country the listing is filtered to, as Trustpilot reports it.",
+ "example": "US",
+ "type": "string"
+ },
+ "items": {
+ "description": "Businesses listed on this page of the category.",
+ "items": {
+ "$ref": "#/definitions/trustpilot.CategoryBusiness"
+ },
+ "type": "array"
+ },
+ "name": {
+ "description": "Display name of the category.",
+ "example": "Software Company",
+ "type": "string"
+ },
+ "newest_companies": {
+ "description": "Businesses recently added to the category.",
+ "items": {
+ "$ref": "#/definitions/trustpilot.CategoryBusiness"
+ },
+ "type": "array"
+ },
+ "page": {
+ "description": "Page number returned.",
+ "example": 2,
+ "type": "integer"
+ },
+ "pagination": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/trustpilot.CategoryPagination"
+ }
+ ],
+ "description": "Paging details for the category listing."
+ },
+ "recently_reviewed_companies": {
+ "description": "Businesses in the category that were reviewed recently.",
+ "items": {
+ "$ref": "#/definitions/trustpilot.CategoryBusiness"
+ },
+ "type": "array"
+ },
+ "related_categories": {
+ "description": "Categories related to this one.",
+ "items": {
+ "$ref": "#/definitions/trustpilot.CategoryLink"
+ },
+ "type": "array"
+ },
+ "slug": {
+ "description": "Category slug, such as `software_company`.",
+ "example": "software_company",
+ "type": "string"
+ },
+ "sort": {
+ "description": "Sort order of the listing, as Trustpilot reports it, such as `recommended`.",
+ "example": "recommended",
+ "type": "string"
+ },
+ "trustpilot_url": {
+ "description": "URL of the category page on Trustpilot.",
+ "example": "https://www.trustpilot.com/categories/software_company",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "trustpilot.CategorySearchResponse": {
+ "properties": {
+ "categories": {
+ "description": "Categories matching the query.",
+ "items": {
+ "$ref": "#/definitions/trustpilot.CategorySearchResult"
+ },
+ "type": "array"
+ },
+ "country": {
+ "description": "Two-letter country code the search was run for.",
+ "example": "US",
+ "type": "string"
+ },
+ "locale": {
+ "description": "Locale the search was run for, such as `en-US`.",
+ "example": "en-US",
+ "type": "string"
+ },
+ "query": {
+ "description": "Query that was run.",
+ "example": "openai",
+ "type": "string"
+ },
+ "size": {
+ "description": "Maximum number of categories requested.",
+ "example": 3,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "trustpilot.CategorySearchResult": {
+ "properties": {
+ "category_id": {
+ "description": "Trustpilot category id, such as `software_company`.",
+ "example": "software_company",
+ "type": "string"
+ },
+ "display_name": {
+ "description": "Display name of the category.",
+ "example": "Software Company",
+ "type": "string"
+ },
+ "top_level_category_id": {
+ "description": "Id of the top-level category group the category belongs to.",
+ "example": "electronics_technology",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "trustpilot.RelatedBusiness": {
+ "properties": {
+ "business_unit_id": {
+ "description": "Trustpilot id of the related business.",
+ "example": "63e1530f2ba9106ee583e099",
+ "type": "string"
+ },
+ "display_name": {
+ "description": "Display name of the related business.",
+ "example": "Chatgpt",
+ "type": "string"
+ },
+ "identifying_name": {
+ "description": "Slug of the related business, usually its website domain. Use it with the business endpoint.",
+ "example": "chatgpt.com",
+ "type": "string"
+ },
+ "logo_url": {
+ "description": "URL of the related business's logo.",
+ "example": "https://s3-eu-west-1.amazonaws.com/tpd/screenshots/example/198x149.png",
+ "type": "string"
+ },
+ "review_count": {
+ "description": "Total number of reviews the related business has.",
+ "example": 2720,
+ "type": "integer"
+ },
+ "source": {
+ "description": "Section of the profile page the business came from: `suggested_companies` or `also_viewed`.",
+ "example": "suggested_companies",
+ "type": "string"
+ },
+ "stars": {
+ "description": "Star rating of the related business, out of 5.",
+ "example": 1.5,
+ "type": "number"
+ },
+ "trust_score": {
+ "description": "Trustpilot TrustScore of the related business, as a decimal number.",
+ "example": 1.6,
+ "type": "number"
+ },
+ "trustpilot_url": {
+ "description": "URL of the related business's profile on Trustpilot.",
+ "example": "https://www.trustpilot.com/review/chatgpt.com",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "trustpilot.SearchAddress": {
+ "properties": {
+ "approximate_area": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/trustpilot.SearchAreaBounds"
+ }
+ ],
+ "description": "Bounding box of the approximate area the address falls in."
+ },
+ "city": {
+ "description": "City of the business.",
+ "example": "San Francisco",
+ "type": "string"
+ },
+ "coordinates": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/trustpilot.SearchCoordinates"
+ }
+ ],
+ "description": "Latitude and longitude of the business."
+ },
+ "country": {
+ "description": "Country name of the business.",
+ "example": "United States",
+ "type": "string"
+ },
+ "country_code": {
+ "description": "Country code of the business, such as `US`.",
+ "example": "US",
+ "type": "string"
+ },
+ "postcode": {
+ "description": "Postal code of the business.",
+ "example": "94105",
+ "type": "string"
+ },
+ "street": {
+ "description": "Street address of the business.",
+ "example": "1 Market St",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "trustpilot.SearchAreaBounds": {
+ "properties": {
+ "north_west": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/trustpilot.SearchCoordinates"
+ }
+ ],
+ "description": "North-west corner of the area."
+ },
+ "south_east": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/trustpilot.SearchCoordinates"
+ }
+ ],
+ "description": "South-east corner of the area."
+ }
+ },
+ "type": "object"
+ },
+ "trustpilot.SearchCategory": {
+ "properties": {
+ "id": {
+ "description": "Trustpilot category id, such as `software_company`.",
+ "example": "software_company",
+ "type": "string"
+ },
+ "name": {
+ "description": "Display name of the category.",
+ "example": "Software Company",
+ "type": "string"
+ },
+ "primary": {
+ "description": "Whether this is the business's primary category.",
+ "example": true,
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "trustpilot.SearchCoordinates": {
+ "properties": {
+ "lat": {
+ "description": "Latitude in decimal degrees.",
+ "example": 39.7837304,
+ "type": "number"
+ },
+ "lon": {
+ "description": "Longitude in decimal degrees.",
+ "example": -100.445882,
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "trustpilot.SearchResponse": {
+ "properties": {
+ "country": {
+ "description": "Two-letter country code the search was run for.",
+ "example": "US",
+ "type": "string"
+ },
+ "items": {
+ "description": "Businesses matching the query on this page.",
+ "items": {
+ "$ref": "#/definitions/trustpilot.SearchResult"
+ },
+ "type": "array"
+ },
+ "page": {
+ "description": "Page number returned.",
+ "example": 1,
+ "type": "integer"
+ },
+ "page_size": {
+ "description": "Number of results per page.",
+ "example": 5,
+ "type": "integer"
+ },
+ "query": {
+ "description": "Query that was run.",
+ "example": "openai",
+ "type": "string"
+ },
+ "search_mode": {
+ "description": "How Trustpilot matched the query, such as `keyword`.",
+ "example": "keyword",
+ "type": "string"
+ },
+ "total_hits": {
+ "description": "Total number of businesses matching the query.",
+ "example": 147,
+ "type": "integer"
+ },
+ "total_pages": {
+ "description": "Total number of result pages.",
+ "example": 30,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "trustpilot.SearchResult": {
+ "properties": {
+ "address": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/trustpilot.SearchAddress"
+ }
+ ],
+ "description": "Address of the business. Omitted when Trustpilot lists none."
+ },
+ "business_unit_id": {
+ "description": "Trustpilot id of the business.",
+ "example": "630f21bc9f08b0302a52590d",
+ "type": "string"
+ },
+ "categories": {
+ "description": "Categories the business is listed under.",
+ "items": {
+ "$ref": "#/definitions/trustpilot.SearchCategory"
+ },
+ "type": "array"
+ },
+ "country_code": {
+ "description": "Country code of the business, such as `FR`.",
+ "example": "FR",
+ "type": "string"
+ },
+ "display_name": {
+ "description": "Display name of the business on Trustpilot.",
+ "example": "OpenAI",
+ "type": "string"
+ },
+ "email": {
+ "description": "Contact email address of the business.",
+ "example": "hello@example.com",
+ "type": "string"
+ },
+ "identifying_name": {
+ "description": "Business slug used in the Trustpilot profile URL, usually the website domain. Use it with the business endpoint.",
+ "example": "openai.com",
+ "type": "string"
+ },
+ "logo_url": {
+ "description": "URL of the business's logo.",
+ "example": "https://s3-eu-west-1.amazonaws.com/tpd/logos/example/0x0.png",
+ "type": "string"
+ },
+ "phone": {
+ "description": "Contact phone number of the business.",
+ "example": "+1-555-555-5555",
+ "type": "string"
+ },
+ "predicted_top_category": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/trustpilot.SearchCategory"
+ }
+ ],
+ "description": "Category Trustpilot predicts as the business's top category."
+ },
+ "review_count": {
+ "description": "Total number of reviews the business has on Trustpilot.",
+ "example": 984,
+ "type": "integer"
+ },
+ "stars": {
+ "description": "Star rating of the business, out of 5.",
+ "example": 1.5,
+ "type": "number"
+ },
+ "trust_score": {
+ "description": "Trustpilot TrustScore of the business, as a decimal number.",
+ "example": 1.3,
+ "type": "number"
+ },
+ "trustpilot_url": {
+ "description": "URL of the business profile on Trustpilot.",
+ "example": "https://www.trustpilot.com/review/openai.com",
+ "type": "string"
+ },
+ "verified": {
+ "description": "Whether Trustpilot marks the business as verified.",
+ "example": false,
+ "type": "boolean"
+ },
+ "website_url": {
+ "description": "Website address of the business.",
+ "example": "https://openai.com",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "trustpilot.businessHeader": {
+ "properties": {
+ "claimed": {
+ "description": "Whether the business has claimed its Trustpilot profile.",
+ "example": false,
+ "type": "boolean"
+ },
+ "name": {
+ "description": "Display name of the business on Trustpilot.",
+ "example": "OpenAI",
+ "type": "string"
+ },
+ "rating": {
+ "description": "Star rating shown on the business profile, out of 5.",
+ "example": 1.5,
+ "type": "number"
+ },
+ "review_count": {
+ "description": "Total number of reviews the business has on Trustpilot.",
+ "example": 984,
+ "type": "integer"
+ },
+ "slug": {
+ "description": "Business slug used in the Trustpilot profile URL, usually the website domain.",
+ "example": "openai.com",
+ "type": "string"
+ },
+ "trust_score": {
+ "description": "Trustpilot TrustScore of the business, as a decimal number.",
+ "example": 1.3,
+ "type": "number"
+ },
+ "trustpilot_url": {
+ "description": "URL of the business profile on Trustpilot.",
+ "example": "https://www.trustpilot.com/review/openai.com",
+ "type": "string"
+ },
+ "website_url": {
+ "description": "Website address of the business.",
+ "example": "https://openai.com",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "trustpilot.businessProfileResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/trustpilot.BusinessResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "trustpilot.businessRelatedResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/trustpilot.BusinessRelatedResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "trustpilot.businessReviewsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/trustpilot.BusinessReviewsResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "trustpilot.businessSearchResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/trustpilot.SearchResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "trustpilot.categoriesResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/trustpilot.CategoriesResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "trustpilot.categoryResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/trustpilot.CategoryResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "trustpilot.categorySearchResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/trustpilot.CategorySearchResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "twitch.ChannelGame": {
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "name": {
+ "example": "League of Legends",
+ "type": "string"
+ },
+ "slug": {
+ "example": "league-of-legends",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "twitch.ChannelResponse": {
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "is_live": {
+ "example": true,
+ "type": "boolean"
+ },
+ "is_partner": {
+ "example": true,
+ "type": "boolean"
+ },
+ "last_broadcast_title": {
+ "type": "string"
+ },
+ "login": {
+ "type": "string"
+ },
+ "primary_color_hex": {
+ "example": "8205B3",
+ "type": "string"
+ },
+ "primary_team": {
+ "$ref": "#/definitions/twitch.ChannelTeam"
+ },
+ "profile_image_url": {
+ "type": "string"
+ },
+ "stream": {
+ "$ref": "#/definitions/twitch.ChannelStream"
+ }
+ },
+ "type": "object"
+ },
+ "twitch.ChannelStream": {
+ "properties": {
+ "game": {
+ "$ref": "#/definitions/twitch.ChannelGame"
+ },
+ "id": {
+ "type": "string"
+ },
+ "started_at": {
+ "example": "2026-08-14T07:18:46Z",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "twitch.ChannelTeam": {
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "name": {
+ "example": "yumetalent",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "twitch.Clip": {
+ "properties": {
+ "created_at": {
+ "example": "2026-08-07T10:59:22Z",
+ "type": "string"
+ },
+ "curator": {
+ "$ref": "#/definitions/twitch.ClipCurator"
+ },
+ "duration_seconds": {
+ "example": 42,
+ "type": "number"
+ },
+ "game": {
+ "$ref": "#/definitions/twitch.ClipGame"
+ },
+ "id": {
+ "type": "string"
+ },
+ "thumbnail_url": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "view_count": {
+ "example": 5370,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "twitch.ClipCurator": {
+ "properties": {
+ "display_name": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "login": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "twitch.ClipGame": {
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "name": {
+ "example": "League of Legends",
+ "type": "string"
+ },
+ "slug": {
+ "example": "league-of-legends",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "twitch.ClipsResponse": {
+ "properties": {
+ "clips": {
+ "items": {
+ "$ref": "#/definitions/twitch.Clip"
+ },
+ "type": "array"
+ },
+ "count": {
+ "example": 20,
+ "type": "integer"
+ },
+ "login": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "twitch.ScheduleCategory": {
+ "properties": {
+ "box_art_url": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "name": {
+ "example": "League of Legends",
+ "type": "string"
+ },
+ "slug": {
+ "example": "league-of-legends",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "twitch.ScheduleResponse": {
+ "properties": {
+ "channel": {
+ "type": "string"
+ },
+ "count": {
+ "example": 5,
+ "type": "integer"
+ },
+ "next_segment_at": {
+ "example": "2026-08-15T12:00:00Z",
+ "type": "string"
+ },
+ "next_segment_id": {
+ "type": "string"
+ },
+ "segments": {
+ "items": {
+ "$ref": "#/definitions/twitch.ScheduleSegment"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "twitch.ScheduleSegment": {
+ "properties": {
+ "cancelled_until": {
+ "type": "string"
+ },
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/twitch.ScheduleCategory"
+ },
+ "type": "array"
+ },
+ "end_at": {
+ "example": "2026-08-15T19:00:00Z",
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "is_cancelled": {
+ "example": false,
+ "type": "boolean"
+ },
+ "start_at": {
+ "example": "2026-08-15T12:00:00Z",
+ "type": "string"
+ },
+ "title": {
+ "example": "LEC",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "twitch.SearchCategory": {
+ "properties": {
+ "box_art_url": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "slug": {
+ "example": "valorant",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "twitch.SearchChannel": {
+ "properties": {
+ "game_name": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "is_live": {
+ "example": true,
+ "type": "boolean"
+ },
+ "is_verified": {
+ "type": "boolean"
+ },
+ "login": {
+ "type": "string"
+ },
+ "profile_image_url": {
+ "type": "string"
+ },
+ "stream_title": {
+ "type": "string"
+ },
+ "viewers_count": {
+ "example": 3361,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "twitch.SearchResponse": {
+ "properties": {
+ "count": {
+ "example": 10,
+ "type": "integer"
+ },
+ "query": {
+ "type": "string"
+ },
+ "results": {
+ "items": {
+ "$ref": "#/definitions/twitch.SearchResult"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "twitch.SearchResult": {
+ "properties": {
+ "category": {
+ "$ref": "#/definitions/twitch.SearchCategory"
+ },
+ "channel": {
+ "$ref": "#/definitions/twitch.SearchChannel"
+ },
+ "text": {
+ "type": "string"
+ },
+ "type": {
+ "description": "\"category\" or \"channel\"",
+ "example": "channel",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "twitch.Stream": {
+ "properties": {
+ "broadcaster": {
+ "$ref": "#/definitions/twitch.StreamBroadcaster"
+ },
+ "id": {
+ "type": "string"
+ },
+ "preview_image_url": {
+ "type": "string"
+ },
+ "tags": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "title": {
+ "type": "string"
+ },
+ "viewers_count": {
+ "example": 56596,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "twitch.StreamBroadcaster": {
+ "properties": {
+ "display_name": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "is_partner": {
+ "example": true,
+ "type": "boolean"
+ },
+ "login": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "twitch.StreamsResponse": {
+ "properties": {
+ "count": {
+ "example": 20,
+ "type": "integer"
+ },
+ "game": {
+ "type": "string"
+ },
+ "streams": {
+ "items": {
+ "$ref": "#/definitions/twitch.Stream"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "twitch.TeamMember": {
+ "properties": {
+ "display_name": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "is_live": {
+ "example": true,
+ "type": "boolean"
+ },
+ "login": {
+ "type": "string"
+ },
+ "profile_image_url": {
+ "type": "string"
+ },
+ "viewers_count": {
+ "example": 38251,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "twitch.TeamResponse": {
+ "properties": {
+ "banner_url": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "display_name": {
+ "example": "Yume Talent",
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "logo_url": {
+ "type": "string"
+ },
+ "member_count": {
+ "example": 5,
+ "type": "integer"
+ },
+ "members": {
+ "items": {
+ "$ref": "#/definitions/twitch.TeamMember"
+ },
+ "type": "array"
+ },
+ "name": {
+ "type": "string"
+ },
+ "owner_login": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "twitch.TopGame": {
+ "properties": {
+ "box_art_url": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "name": {
+ "example": "Dota 2",
+ "type": "string"
+ },
+ "slug": {
+ "example": "dota-2",
+ "type": "string"
+ },
+ "tags": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "viewers_count": {
+ "example": 390201,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "twitch.TopGamesResponse": {
+ "properties": {
+ "count": {
+ "example": 20,
+ "type": "integer"
+ },
+ "games": {
+ "items": {
+ "$ref": "#/definitions/twitch.TopGame"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "twitch.Video": {
+ "properties": {
+ "game": {
+ "$ref": "#/definitions/twitch.ClipGame"
+ },
+ "id": {
+ "type": "string"
+ },
+ "length_seconds": {
+ "example": 20818,
+ "type": "integer"
+ },
+ "owner": {
+ "$ref": "#/definitions/twitch.VideoOwner"
+ },
+ "published_at": {
+ "example": "2022-04-02T07:10:16Z",
+ "type": "string"
+ },
+ "thumbnail_url": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "view_count": {
+ "example": 2800795,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "twitch.VideoOwner": {
+ "properties": {
+ "display_name": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "is_partner": {
+ "example": true,
+ "type": "boolean"
+ },
+ "login": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "twitch.VideosResponse": {
+ "properties": {
+ "count": {
+ "example": 20,
+ "type": "integer"
+ },
+ "login": {
+ "type": "string"
+ },
+ "videos": {
+ "items": {
+ "$ref": "#/definitions/twitch.Video"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "twitch.VodComment": {
+ "properties": {
+ "badges": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "commenter": {
+ "$ref": "#/definitions/twitch.VodCommentCommenter"
+ },
+ "created_at": {
+ "example": "2026-08-14T07:20:39Z",
+ "type": "string"
+ },
+ "fragments": {
+ "items": {
+ "$ref": "#/definitions/twitch.VodCommentFragment"
+ },
+ "type": "array"
+ },
+ "id": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ },
+ "offset_seconds": {
+ "example": 113,
+ "type": "integer"
+ },
+ "user_color": {
+ "example": "#0000FF",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "twitch.VodCommentCommenter": {
+ "properties": {
+ "display_name": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "login": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "twitch.VodCommentFragment": {
+ "properties": {
+ "emote_id": {
+ "type": "string"
+ },
+ "text": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "twitch.VodCommentsResponse": {
+ "properties": {
+ "comments": {
+ "items": {
+ "$ref": "#/definitions/twitch.VodComment"
+ },
+ "type": "array"
+ },
+ "count": {
+ "example": 55,
+ "type": "integer"
+ },
+ "has_more": {
+ "example": true,
+ "type": "boolean"
+ },
+ "next_offset_seconds": {
+ "example": 140,
+ "type": "integer"
+ },
+ "offset_seconds": {
+ "example": 0,
+ "type": "integer"
+ },
+ "video_id": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "twitch.channelResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/twitch.ChannelResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "twitch.clipsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/twitch.ClipsResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "twitch.scheduleResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/twitch.ScheduleResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "twitch.searchResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/twitch.SearchResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "twitch.streamsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/twitch.StreamsResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "twitch.teamResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/twitch.TeamResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "twitch.topGamesResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/twitch.TopGamesResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "twitch.videosResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/twitch.VideosResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "twitch.vodCommentsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/twitch.VodCommentsResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ubereats.Address": {
+ "properties": {
+ "city": {
+ "type": "string"
+ },
+ "country": {
+ "type": "string"
+ },
+ "postalCode": {
+ "type": "string"
+ },
+ "region": {
+ "type": "string"
+ },
+ "street": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ubereats.MenuItem": {
+ "properties": {
+ "description": {
+ "type": "string"
+ },
+ "imageUrl": {
+ "type": "string"
+ },
+ "isSoldOut": {
+ "type": "boolean"
+ },
+ "price": {
+ "type": "number"
+ },
+ "title": {
+ "type": "string"
+ },
+ "uuid": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ubereats.MenuResponse": {
+ "properties": {
+ "currencyCode": {
+ "type": "string"
+ },
+ "sections": {
+ "items": {
+ "$ref": "#/definitions/ubereats.MenuSection"
+ },
+ "type": "array"
+ },
+ "storeTitle": {
+ "type": "string"
+ },
+ "storeUuid": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ubereats.MenuSection": {
+ "properties": {
+ "items": {
+ "items": {
+ "$ref": "#/definitions/ubereats.MenuItem"
+ },
+ "type": "array"
+ },
+ "title": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ubereats.Restaurant": {
+ "properties": {
+ "cuisineTags": {
+ "description": "Cuisine labels shown on the restaurant card.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "currencyCode": {
+ "description": "Currency code used for the restaurant's prices, such as `USD`.",
+ "type": "string"
+ },
+ "deliveryEtaText": {
+ "description": "Estimated delivery time as shown on the card, such as `21 min`.",
+ "type": "string"
+ },
+ "imageUrl": {
+ "description": "URL of the restaurant's card image.",
+ "type": "string"
+ },
+ "isSponsored": {
+ "description": "Whether Uber Eats shows the restaurant as a sponsored listing.",
+ "type": "boolean"
+ },
+ "latitude": {
+ "description": "Latitude of the restaurant, in decimal degrees.",
+ "type": "number"
+ },
+ "longitude": {
+ "description": "Longitude of the restaurant, in decimal degrees.",
+ "type": "number"
+ },
+ "name": {
+ "description": "Restaurant name as shown on the feed card.",
+ "type": "string"
+ },
+ "rating": {
+ "description": "Average customer rating of the restaurant.",
+ "type": "number"
+ },
+ "reviewCount": {
+ "description": "Number of customer reviews the restaurant has.",
+ "type": "integer"
+ },
+ "slug": {
+ "description": "URL slug of the restaurant's Uber Eats page.",
+ "type": "string"
+ },
+ "storeUuid": {
+ "description": "Uber Eats store UUID. Use it with the store endpoints.",
+ "type": "string"
+ },
+ "url": {
+ "description": "URL of the restaurant's page on Uber Eats.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ubereats.Review": {
+ "properties": {
+ "createdAt": {
+ "description": "Time the review was created, in ISO 8601 format.",
+ "type": "string"
+ },
+ "eaterName": {
+ "description": "Reviewer's display name as Uber Eats shows it, such as `Jamie L.`.",
+ "type": "string"
+ },
+ "formattedDate": {
+ "description": "Review date as Uber Eats displays it, such as `01/01/26`.",
+ "type": "string"
+ },
+ "text": {
+ "description": "Full text of the review.",
+ "type": "string"
+ },
+ "timeSinceReview": {
+ "description": "How long ago the review was posted, as text such as `2 months ago`.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ubereats.SearchResponse": {
+ "properties": {
+ "cityName": {
+ "description": "Name of the city feed that was returned, such as `san_francisco`. Set for location feeds only.",
+ "type": "string"
+ },
+ "cursor": {
+ "description": "Cursor to pass in the next keyword search request to get more results.",
+ "type": "string"
+ },
+ "hasMore": {
+ "description": "Whether more restaurants are available beyond this response.",
+ "type": "boolean"
+ },
+ "offset": {
+ "description": "Offset of the first restaurant returned.",
+ "type": "integer"
+ },
+ "restaurants": {
+ "description": "Restaurants matching the search, or found in the location feed.",
+ "items": {
+ "$ref": "#/definitions/ubereats.Restaurant"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "ubereats.StoreDetail": {
+ "properties": {
+ "address": {
+ "$ref": "#/definitions/ubereats.Address"
+ },
+ "cuisineTags": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "currencyCode": {
+ "type": "string"
+ },
+ "heroImageUrl": {
+ "type": "string"
+ },
+ "isOpen": {
+ "type": "boolean"
+ },
+ "isOrderable": {
+ "type": "boolean"
+ },
+ "latitude": {
+ "type": "number"
+ },
+ "longitude": {
+ "type": "number"
+ },
+ "menu": {
+ "items": {
+ "$ref": "#/definitions/ubereats.MenuSection"
+ },
+ "type": "array"
+ },
+ "phoneNumber": {
+ "type": "string"
+ },
+ "priceBucket": {
+ "type": "string"
+ },
+ "rating": {
+ "type": "number"
+ },
+ "reviewCount": {
+ "type": "integer"
+ },
+ "slug": {
+ "type": "string"
+ },
+ "storeUuid": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "workingHoursTagline": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ubereats.StoreReviewsResponse": {
+ "properties": {
+ "rating": {
+ "description": "Average customer rating of the store.",
+ "type": "number"
+ },
+ "reviewCount": {
+ "description": "Total number of reviews the store has.",
+ "type": "integer"
+ },
+ "reviews": {
+ "description": "Sample of recent reviews shown on the store page.",
+ "items": {
+ "$ref": "#/definitions/ubereats.Review"
+ },
+ "type": "array"
+ },
+ "storeUuid": {
+ "description": "Uber Eats store UUID that was requested.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ubereats.feedResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/ubereats.SearchResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ubereats.menuResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/ubereats.MenuResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ubereats.searchResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/ubereats.SearchResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ubereats.storeResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/ubereats.StoreDetail"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ubereats.storeReviewsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/ubereats.StoreReviewsResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ulta.Answer": {
+ "properties": {
+ "author": {
+ "description": "Display name of the answer's author.",
+ "type": "string"
+ },
+ "created_at": {
+ "description": "Time the answer was posted, in UTC (RFC 3339).",
+ "type": "string"
+ },
+ "helpful_votes": {
+ "description": "Number of shoppers who marked the answer helpful.",
+ "type": "integer"
+ },
+ "id": {
+ "description": "Ulta answer id.",
+ "type": "string"
+ },
+ "is_expert": {
+ "description": "Whether the answer comes from a brand representative rather than a fellow customer.",
+ "type": "boolean"
+ },
+ "not_helpful_votes": {
+ "description": "Number of shoppers who marked the answer not helpful.",
+ "type": "integer"
+ },
+ "text": {
+ "description": "Text of the answer.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ulta.CategoriesResponse": {
+ "properties": {
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/ulta.CategoryEntry"
+ },
+ "type": "array"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ulta.CategoryEntry": {
+ "properties": {
+ "department": {
+ "example": "makeup-nails",
+ "type": "string"
+ },
+ "group": {
+ "example": "Eyes",
+ "type": "string"
+ },
+ "name": {
+ "example": "Mascara",
+ "type": "string"
+ },
+ "url": {
+ "example": "https://www.ulta.com/shop/makeup/eyes/mascara",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ulta.CategoryFacet": {
+ "properties": {
+ "label": {
+ "type": "string"
+ },
+ "selected": {
+ "type": "boolean"
+ },
+ "value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ulta.CategoryResponse": {
+ "properties": {
+ "category": {
+ "type": "string"
+ },
+ "count": {
+ "type": "integer"
+ },
+ "facets": {
+ "description": "Facets is the category's own guided-navigation refinement options,\nread from the same response this package already fetches -- no\nseparate upstream call needed. Confirmed live 2026-08-11 present and\nnon-empty (46 options on an unfiltered category, 17 on a filtered\none) on every case tried (unfiltered, filtered, and page 2), so this\nfield is populated whenever the upstream returns it, nil otherwise.\nUlta's own guidedNavigation does not carry a live per-option result\ncount (unlike this repo's Nike/Zappos facet shapes), so CategoryFacet\nhas no result-count field.",
+ "items": {
+ "$ref": "#/definitions/ulta.CategoryFacet"
+ },
+ "type": "array"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "filter": {
+ "type": "string"
+ },
+ "has_more": {
+ "type": "boolean"
+ },
+ "page": {
+ "type": "integer"
+ },
+ "page_size": {
+ "type": "integer"
+ },
+ "products": {
+ "items": {
+ "$ref": "#/definitions/ulta.ProductSummary"
+ },
+ "type": "array"
+ },
+ "result_count": {
+ "type": "integer"
+ },
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ulta.ProductDetailResponse": {
+ "properties": {
+ "brand_name": {
+ "type": "string"
+ },
+ "category": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "currency_code": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "images": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "list_price": {
+ "type": "string"
+ },
+ "product_id": {
+ "type": "string"
+ },
+ "product_name": {
+ "type": "string"
+ },
+ "rating": {
+ "type": "number"
+ },
+ "review_count": {
+ "type": "integer"
+ },
+ "sale_price": {
+ "type": "string"
+ },
+ "sku_id": {
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "unavailable": {
+ "type": "boolean"
+ },
+ "url": {
+ "type": "string"
+ },
+ "variants": {
+ "items": {
+ "$ref": "#/definitions/ulta.ProductVariant"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "ulta.ProductQuestionsResponse": {
+ "properties": {
+ "count": {
+ "description": "Number of questions returned on this page.",
+ "type": "integer"
+ },
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "type": "string"
+ },
+ "page": {
+ "description": "Page number returned, starting at 1.",
+ "type": "integer"
+ },
+ "page_size": {
+ "description": "Number of questions per page.",
+ "type": "integer"
+ },
+ "product_id": {
+ "description": "Ulta product id that was requested.",
+ "type": "string"
+ },
+ "questions": {
+ "description": "Customer questions on this page, each with its answers.",
+ "items": {
+ "$ref": "#/definitions/ulta.Question"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "description": "URL the data was read from.",
+ "type": "string"
+ },
+ "total_pages": {
+ "description": "Total number of question pages for the product.",
+ "type": "integer"
+ },
+ "total_questions": {
+ "description": "Total number of questions for the product.",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "ulta.ProductReviewsResponse": {
+ "properties": {
+ "average_rating": {
+ "type": "number"
+ },
+ "count": {
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "page": {
+ "type": "integer"
+ },
+ "page_size": {
+ "type": "integer"
+ },
+ "product_id": {
+ "type": "string"
+ },
+ "rating_count": {
+ "description": "RatingCount, AverageRating, RecommendedRatio, and RatingHistogram are\nthe product's site-wide aggregate rating summary, not just this page --\nabsent (zero-valued) for a product with no reviews yet.",
+ "type": "integer"
+ },
+ "rating_histogram": {
+ "description": "RatingHistogram is the count of ratings per star, ascending: index 0\nis 1-star, index 4 is 5-star.",
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "recommended_ratio": {
+ "type": "number"
+ },
+ "reviews": {
+ "items": {
+ "$ref": "#/definitions/ulta.Review"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "total_pages": {
+ "type": "integer"
+ },
+ "total_reviews": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "ulta.ProductSummary": {
+ "properties": {
+ "brand_name": {
+ "type": "string"
+ },
+ "discount": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "is_limited_stock": {
+ "type": "boolean"
+ },
+ "list_price": {
+ "type": "string"
+ },
+ "product_id": {
+ "type": "string"
+ },
+ "product_name": {
+ "type": "string"
+ },
+ "promo_text": {
+ "type": "string"
+ },
+ "rating": {
+ "type": "number"
+ },
+ "review_count": {
+ "type": "integer"
+ },
+ "sale_price": {
+ "type": "string"
+ },
+ "sku_id": {
+ "type": "string"
+ },
+ "sponsored": {
+ "type": "boolean"
+ },
+ "url": {
+ "type": "string"
+ },
+ "variant_label": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ulta.ProductVariant": {
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "product_id": {
+ "type": "string"
+ },
+ "sku_id": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ulta.Question": {
+ "properties": {
+ "answer_count": {
+ "description": "Number of answers the question received.",
+ "type": "integer"
+ },
+ "answers": {
+ "description": "Answers the question received.",
+ "items": {
+ "$ref": "#/definitions/ulta.Answer"
+ },
+ "type": "array"
+ },
+ "author": {
+ "description": "Display name of the customer who asked the question.",
+ "type": "string"
+ },
+ "created_at": {
+ "description": "Time the question was posted, in UTC (RFC 3339).",
+ "type": "string"
+ },
+ "id": {
+ "description": "Ulta question id.",
+ "type": "string"
+ },
+ "location": {
+ "description": "Location the asker gave, such as `fl`.",
+ "type": "string"
+ },
+ "text": {
+ "description": "Text of the question.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ulta.Review": {
+ "properties": {
+ "author": {
+ "type": "string"
+ },
+ "body": {
+ "type": "string"
+ },
+ "created_at": {
+ "type": "string"
+ },
+ "headline": {
+ "type": "string"
+ },
+ "helpful_votes": {
+ "type": "integer"
+ },
+ "id": {
+ "type": "string"
+ },
+ "location": {
+ "type": "string"
+ },
+ "not_helpful_votes": {
+ "type": "integer"
+ },
+ "rating": {
+ "type": "integer"
+ },
+ "updated_at": {
+ "type": "string"
+ },
+ "verified_purchase": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "ulta.SearchResponse": {
+ "properties": {
+ "count": {
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "has_more": {
+ "type": "boolean"
+ },
+ "page": {
+ "type": "integer"
+ },
+ "page_size": {
+ "type": "integer"
+ },
+ "products": {
+ "items": {
+ "$ref": "#/definitions/ulta.ProductSummary"
+ },
+ "type": "array"
+ },
+ "query": {
+ "type": "string"
+ },
+ "result_count": {
+ "type": "integer"
+ },
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ulta.Store": {
+ "properties": {
+ "address": {
+ "type": "string"
+ },
+ "city": {
+ "type": "string"
+ },
+ "country": {
+ "type": "string"
+ },
+ "hours": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Hours maps a three-letter day abbreviation (\"Mon\"..\"Sun\") to that\nday's opening range(s), e.g. \"09:00-21:00\" -- joined with \", \" for\nthe rare split-hours day (the upstream's own hoursOfOperation\nshape supports more than one range per day).",
+ "type": "object"
+ },
+ "id": {
+ "type": "integer"
+ },
+ "is_permanently_closed": {
+ "type": "boolean"
+ },
+ "latitude": {
+ "type": "number"
+ },
+ "longitude": {
+ "type": "number"
+ },
+ "name": {
+ "type": "string"
+ },
+ "phone": {
+ "type": "string"
+ },
+ "postal_code": {
+ "type": "string"
+ },
+ "services": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "slug": {
+ "type": "string"
+ },
+ "state": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ulta.StoreResponse": {
+ "properties": {
+ "count": {
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "lat": {
+ "type": "number"
+ },
+ "lng": {
+ "type": "number"
+ },
+ "radius_meters": {
+ "type": "integer"
+ },
+ "search": {
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "stores": {
+ "items": {
+ "$ref": "#/definitions/ulta.Store"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "ulta.SuggestProduct": {
+ "properties": {
+ "brand_name": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "product_name": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ulta.SuggestResponse": {
+ "properties": {
+ "count": {
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "first_top_result": {
+ "items": {
+ "$ref": "#/definitions/ulta.SuggestProduct"
+ },
+ "type": "array"
+ },
+ "query": {
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "suggestions": {
+ "items": {
+ "$ref": "#/definitions/ulta.Suggestion"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "ulta.Suggestion": {
+ "properties": {
+ "label": {
+ "type": "string"
+ },
+ "top_results": {
+ "items": {
+ "$ref": "#/definitions/ulta.SuggestProduct"
+ },
+ "type": "array"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ulta.categoriesResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/ulta.CategoriesResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ulta.categoryResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/ulta.CategoryResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ulta.productDetailResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/ulta.ProductDetailResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ulta.productQuestionsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/ulta.ProductQuestionsResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ulta.productReviewsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/ulta.ProductReviewsResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ulta.searchResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/ulta.SearchResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ulta.storesResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/ulta.StoreResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ulta.suggestResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/ulta.SuggestResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "upwork.FreelancerFeedback": {
+ "properties": {
+ "client_name": {
+ "type": "string"
+ },
+ "comment": {
+ "type": "string"
+ },
+ "date": {
+ "type": "string"
+ },
+ "rating": {
+ "type": "number"
+ },
+ "title": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "upwork.FreelancerResponse": {
+ "properties": {
+ "feedback": {
+ "items": {
+ "$ref": "#/definitions/upwork.FreelancerFeedback"
+ },
+ "type": "array"
+ },
+ "hourly_rate": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "job_success_score": {
+ "type": "integer"
+ },
+ "local_time": {
+ "type": "string"
+ },
+ "location": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "overview": {
+ "type": "string"
+ },
+ "rating": {
+ "type": "number"
+ },
+ "review_count": {
+ "type": "integer"
+ },
+ "title": {
+ "type": "string"
+ },
+ "total_hours": {
+ "type": "integer"
+ },
+ "total_jobs": {
+ "type": "integer"
+ },
+ "url": {
+ "type": "string"
+ },
+ "verified": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "upwork.JobClient": {
+ "properties": {
+ "company_size": {
+ "description": "Size of the client's company, as Upwork shows it, such as `Small company (2-9 people)`.",
+ "type": "string"
+ },
+ "country": {
+ "description": "Client's country, as Upwork shows it: either a short code such as `UKR` or the full country name.",
+ "type": "string"
+ },
+ "hires": {
+ "description": "Client's hiring history, as text such as `32 hires, 1 active`.",
+ "type": "string"
+ },
+ "industry": {
+ "description": "Industry of the client's company, as Upwork shows it.",
+ "type": "string"
+ },
+ "location": {
+ "description": "City of the client, as Upwork shows it.",
+ "type": "string"
+ },
+ "member_since": {
+ "description": "Date the client joined Upwork, as text such as `Aug 30, 2023`.",
+ "type": "string"
+ },
+ "total_hours": {
+ "description": "Total hours shown for the client, as text such as `207 hours`.",
+ "type": "string"
+ },
+ "total_spent": {
+ "description": "Total amount the client has spent on Upwork, as text such as `$9K total spent`.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "upwork.JobResponse": {
+ "properties": {
+ "applicant_countries": {
+ "description": "Countries the client accepts applicants from.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "budget_type": {
+ "description": "Budget type of the job: `hourly` or `fixed`.",
+ "type": "string"
+ },
+ "client": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/upwork.JobClient"
+ }
+ ],
+ "description": "Summary of the client who posted the job."
+ },
+ "country": {
+ "description": "Country of the job's location, as a code such as `US`.",
+ "type": "string"
+ },
+ "currency": {
+ "description": "Currency of the job budget, such as `USD`.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Full text of the job description.",
+ "type": "string"
+ },
+ "duration": {
+ "description": "Expected length of the project, such as `1 to 3 months`.",
+ "type": "string"
+ },
+ "employment_type": {
+ "description": "Employment types of the posting, such as `CONTRACTOR` or `TEMPORARY`.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "experience_level": {
+ "description": "Experience level the client asks for, such as `Expert`.",
+ "type": "string"
+ },
+ "fixed_budget": {
+ "description": "Fixed price of the job, in `currency`. Set when `budget_type` is `fixed`.",
+ "type": "number"
+ },
+ "hourly_max": {
+ "description": "Highest hourly rate offered, in `currency`. Set when `budget_type` is `hourly`.",
+ "type": "number"
+ },
+ "hourly_min": {
+ "description": "Lowest hourly rate offered, in `currency`. Set when `budget_type` is `hourly`.",
+ "type": "number"
+ },
+ "id": {
+ "description": "Upwork job id, as returned by the search endpoint.",
+ "type": "string"
+ },
+ "location_type": {
+ "description": "Where the work is done, such as `TELECOMMUTE` for remote work.",
+ "type": "string"
+ },
+ "posted_at": {
+ "description": "Time the job was posted, in ISO 8601.",
+ "type": "string"
+ },
+ "project_type": {
+ "description": "Project type, such as `Ongoing project`.",
+ "type": "string"
+ },
+ "proposals": {
+ "description": "Number of proposals the job has received, as text such as `50+`.",
+ "type": "string"
+ },
+ "title": {
+ "description": "Title of the job posting.",
+ "type": "string"
+ },
+ "url": {
+ "description": "Upwork URL of the job posting.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "upwork.JobSummary": {
+ "properties": {
+ "budget_text": {
+ "type": "string"
+ },
+ "budget_type": {
+ "description": "\"hourly\" or \"fixed\"",
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "duration": {
+ "type": "string"
+ },
+ "experience_level": {
+ "type": "string"
+ },
+ "id": {
+ "description": "ID is Upwork's own opaque job identifier (the digits after \"~\" in the\njob's URL), suitable for Service.Job.",
+ "type": "string"
+ },
+ "posted_at": {
+ "type": "string"
+ },
+ "skills": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "upwork.SearchResponse": {
+ "properties": {
+ "jobs": {
+ "items": {
+ "$ref": "#/definitions/upwork.JobSummary"
+ },
+ "type": "array"
+ },
+ "page": {
+ "type": "integer"
+ },
+ "query": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "upwork.freelancerResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/upwork.FreelancerResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "upwork.jobResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/upwork.JobResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "upwork.searchResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/upwork.SearchResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "usage.usageBillingStateDoc": {
+ "properties": {
+ "allow_overage": {
+ "example": true,
+ "type": "boolean"
+ },
+ "created_at": {
+ "example": "2026-04-01T00:00:00Z",
+ "type": "string"
+ },
+ "credits_remaining": {
+ "example": 398750,
+ "type": "integer"
+ },
+ "credits_used": {
+ "example": 1250,
+ "type": "integer"
+ },
+ "currency": {
+ "example": "usd",
+ "type": "string"
+ },
+ "daily_credit_limit": {
+ "example": 25000,
+ "type": "integer"
+ },
+ "daily_credits_remaining": {
+ "example": 24100,
+ "type": "integer"
+ },
+ "daily_credits_used": {
+ "example": 900,
+ "type": "integer"
+ },
+ "daily_key": {
+ "example": "2026-04-22",
+ "type": "string"
+ },
+ "expected_subscription_amount_cents": {
+ "example": 7900,
+ "type": "integer"
+ },
+ "expected_total_amount_cents": {
+ "example": 7900,
+ "type": "integer"
+ },
+ "hard_limit": {
+ "example": false,
+ "type": "boolean"
+ },
+ "included_credits": {
+ "example": 400000,
+ "type": "integer"
+ },
+ "overage_credits": {
+ "example": 0,
+ "type": "integer"
+ },
+ "period_end": {
+ "example": "2026-05-01T00:00:00Z",
+ "type": "string"
+ },
+ "period_key": {
+ "example": "2026-04",
+ "type": "string"
+ },
+ "period_start": {
+ "example": "2026-04-01T00:00:00Z",
+ "type": "string"
+ },
+ "plan": {
+ "example": "Pro",
+ "type": "string"
+ },
+ "pricing_source": {
+ "example": "plan_default",
+ "type": "string"
+ },
+ "subscription_price_cents": {
+ "example": 7900,
+ "type": "integer"
+ },
+ "updated_at": {
+ "example": "2026-04-22T12:00:00Z",
+ "type": "string"
+ },
+ "user_id": {
+ "example": "user-1",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "usage.usageEndpointItemDoc": {
+ "properties": {
+ "charged_requests": {
+ "example": 220,
+ "type": "integer"
+ },
+ "credits": {
+ "example": 660,
+ "type": "integer"
+ },
+ "endpoint": {
+ "example": "google/search",
+ "type": "string"
+ },
+ "failed_requests": {
+ "example": 8,
+ "type": "integer"
+ },
+ "non_billable_requests": {
+ "example": 12,
+ "type": "integer"
+ },
+ "overage": {
+ "example": 0,
+ "type": "integer"
+ },
+ "requests": {
+ "example": 240,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "usage.usageEndpointsDoc": {
+ "properties": {
+ "from": {
+ "example": "2026-04-01T00:00:00Z",
+ "type": "string"
+ },
+ "items": {
+ "items": {
+ "$ref": "#/definitions/usage.usageEndpointItemDoc"
+ },
+ "type": "array"
+ },
+ "range": {
+ "example": "period",
+ "type": "string"
+ },
+ "to": {
+ "example": "2026-05-01T00:00:00Z",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "usage.usageEndpointsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/usage.usageEndpointsDoc"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "usage.usageOverviewDoc": {
+ "properties": {
+ "billing": {
+ "$ref": "#/definitions/usage.usageBillingStateDoc"
+ },
+ "from": {
+ "example": "2026-04-01T00:00:00Z",
+ "type": "string"
+ },
+ "range": {
+ "example": "period",
+ "type": "string"
+ },
+ "requests": {
+ "$ref": "#/definitions/usage.usageRequestSummaryDoc"
+ },
+ "to": {
+ "example": "2026-05-01T00:00:00Z",
+ "type": "string"
+ },
+ "usage": {
+ "$ref": "#/definitions/usage.usageWindowSummaryDoc"
+ }
+ },
+ "type": "object"
+ },
+ "usage.usageOverviewResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/usage.usageOverviewDoc"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "usage.usagePlatformAdjacencyDoc": {
+ "properties": {
+ "generated_at": {
+ "example": "2026-09-06T02:00:00Z",
+ "type": "string"
+ },
+ "platforms": {
+ "items": {
+ "$ref": "#/definitions/usage.usagePlatformAdjacencyItemDoc"
+ },
+ "type": "array"
+ },
+ "users": {
+ "example": 97,
+ "type": "integer"
+ },
+ "window": {
+ "example": "lifetime",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "usage.usagePlatformAdjacencyItemDoc": {
+ "properties": {
+ "co_used": {
+ "items": {
+ "$ref": "#/definitions/usage.usagePlatformCoUseDoc"
+ },
+ "type": "array"
+ },
+ "platform": {
+ "example": "tiktok",
+ "type": "string"
+ },
+ "requests": {
+ "example": 2410,
+ "type": "integer"
+ },
+ "top_endpoints": {
+ "items": {
+ "$ref": "#/definitions/usage.usagePlatformEndpointTotalDoc"
+ },
+ "type": "array"
+ },
+ "users": {
+ "example": 9,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "usage.usagePlatformAdjacencyResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/usage.usagePlatformAdjacencyDoc"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "usage.usagePlatformCoUseDoc": {
+ "properties": {
+ "platform": {
+ "example": "instagram",
+ "type": "string"
+ },
+ "users": {
+ "example": 4,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "usage.usagePlatformEndpointTotalDoc": {
+ "properties": {
+ "endpoint": {
+ "example": "tiktok/search",
+ "type": "string"
+ },
+ "requests": {
+ "example": 1830,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "usage.usageRecentIPItemDoc": {
+ "properties": {
+ "error_count": {
+ "example": 6,
+ "type": "integer"
+ },
+ "ip": {
+ "example": "203.0.113.10",
+ "type": "string"
+ },
+ "last_seen_at": {
+ "example": "2026-04-22T12:00:00Z",
+ "type": "string"
+ },
+ "last_user_agent": {
+ "example": "Mozilla/5.0",
+ "type": "string"
+ },
+ "request_count": {
+ "example": 90,
+ "type": "integer"
+ },
+ "success_count": {
+ "example": 84,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "usage.usageRecentIPsDoc": {
+ "properties": {
+ "from": {
+ "example": "2026-04-01T00:00:00Z",
+ "type": "string"
+ },
+ "items": {
+ "items": {
+ "$ref": "#/definitions/usage.usageRecentIPItemDoc"
+ },
+ "type": "array"
+ },
+ "range": {
+ "example": "period",
+ "type": "string"
+ },
+ "to": {
+ "example": "2026-05-01T00:00:00Z",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "usage.usageRecentIPsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/usage.usageRecentIPsDoc"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "usage.usageRequestSummaryDoc": {
+ "properties": {
+ "avg_latency_ms": {
+ "example": 824.5,
+ "type": "number"
+ },
+ "distinct_ip_count": {
+ "example": 3,
+ "type": "integer"
+ },
+ "error_requests": {
+ "example": 30,
+ "type": "integer"
+ },
+ "last_request_at": {
+ "example": "2026-04-22T12:00:00Z",
+ "type": "string"
+ },
+ "requests": {
+ "example": 420,
+ "type": "integer"
+ },
+ "success_requests": {
+ "example": 390,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "usage.usageTimeseriesDoc": {
+ "properties": {
+ "bucket": {
+ "example": "day",
+ "type": "string"
+ },
+ "from": {
+ "example": "2026-04-01T00:00:00Z",
+ "type": "string"
+ },
+ "items": {
+ "items": {
+ "$ref": "#/definitions/usage.usageTimeseriesItemDoc"
+ },
+ "type": "array"
+ },
+ "range": {
+ "example": "period",
+ "type": "string"
+ },
+ "to": {
+ "example": "2026-05-01T00:00:00Z",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "usage.usageTimeseriesItemDoc": {
+ "properties": {
+ "bucket_end": {
+ "example": "2026-04-22T11:00:00Z",
+ "type": "string"
+ },
+ "bucket_start": {
+ "example": "2026-04-22T10:00:00Z",
+ "type": "string"
+ },
+ "charged_requests": {
+ "example": 28,
+ "type": "integer"
+ },
+ "credits": {
+ "example": 84,
+ "type": "integer"
+ },
+ "failed_requests": {
+ "example": 2,
+ "type": "integer"
+ },
+ "non_billable_requests": {
+ "example": 2,
+ "type": "integer"
+ },
+ "overage": {
+ "example": 0,
+ "type": "integer"
+ },
+ "requests": {
+ "example": 32,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "usage.usageTimeseriesResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/usage.usageTimeseriesDoc"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "usage.usageWindowSummaryDoc": {
+ "properties": {
+ "charged_requests": {
+ "example": 380,
+ "type": "integer"
+ },
+ "credits": {
+ "example": 1140,
+ "type": "integer"
+ },
+ "failed_requests": {
+ "example": 15,
+ "type": "integer"
+ },
+ "non_billable_requests": {
+ "example": 25,
+ "type": "integer"
+ },
+ "overage": {
+ "example": 0,
+ "type": "integer"
+ },
+ "requests": {
+ "example": 420,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "usatoday.ArticleResponse": {
+ "properties": {
+ "authors": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "description": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "is_accessible_for_free": {
+ "type": "boolean"
+ },
+ "paragraphs": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "published_at": {
+ "type": "string"
+ },
+ "section": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "updated_at": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "usatoday.AuthorArticle": {
+ "properties": {
+ "description": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "published_label": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "usatoday.AuthorResponse": {
+ "properties": {
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/usatoday.AuthorArticle"
+ },
+ "type": "array"
+ },
+ "bio": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "profile_id": {
+ "type": "string"
+ },
+ "social_accounts": {
+ "items": {
+ "$ref": "#/definitions/usatoday.AuthorSocialAccount"
+ },
+ "type": "array"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "usatoday.AuthorSocialAccount": {
+ "properties": {
+ "platform": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "usatoday.HeadlineItem": {
+ "properties": {
+ "image_url": {
+ "type": "string"
+ },
+ "published_at": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "updated_at": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "usatoday.HeadlinesResponse": {
+ "properties": {
+ "items": {
+ "items": {
+ "$ref": "#/definitions/usatoday.HeadlineItem"
+ },
+ "type": "array"
+ },
+ "section": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "usatoday.NewsResponse": {
+ "properties": {
+ "items": {
+ "items": {
+ "$ref": "#/definitions/usatoday.HeadlineItem"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "usatoday.Section": {
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "slug": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "usatoday.SectionsResponse": {
+ "properties": {
+ "sections": {
+ "items": {
+ "$ref": "#/definitions/usatoday.Section"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "usatoday.articleResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/usatoday.ArticleResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "usatoday.authorResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/usatoday.AuthorResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "usatoday.headlinesResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/usatoday.HeadlinesResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "usatoday.newsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/usatoday.NewsResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "usatoday.sectionsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/usatoday.SectionsResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "user.userAPIKeyItemDoc": {
+ "properties": {
+ "created_at": {
+ "example": "2026-04-22T12:00:00Z",
+ "type": "string"
+ },
+ "expires_at": {
+ "example": "2026-04-23T12:00:00Z",
+ "type": "string"
+ },
+ "id": {
+ "example": "2f8c3c7c4d8f4a4bb4bcb2d2f9e7f8f1",
+ "type": "string"
+ },
+ "key_prefix": {
+ "example": "abcd1234",
+ "type": "string"
+ },
+ "key_suffix": {
+ "example": "ef90",
+ "type": "string"
+ },
+ "last_used_at": {
+ "example": "2026-04-22T11:58:00Z",
+ "type": "string"
+ },
+ "last_used_ip": {
+ "example": "203.0.113.10",
+ "type": "string"
+ },
+ "masked_key": {
+ "example": "abcd1234...ef90",
+ "type": "string"
+ },
+ "rotated_at": {
+ "example": "2026-04-22T12:00:00Z",
+ "type": "string"
+ },
+ "source": {
+ "example": "manual_rotate",
+ "type": "string"
+ },
+ "status": {
+ "example": "active",
+ "type": "string"
+ },
+ "updated_at": {
+ "example": "2026-04-22T12:00:00Z",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "user.userAPIKeysDoc": {
+ "properties": {
+ "items": {
+ "items": {
+ "$ref": "#/definitions/user.userAPIKeyItemDoc"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "user.userAPIKeysResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/user.userAPIKeysDoc"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "user.userBrowserLanguageDoc": {
+ "properties": {
+ "updated": {
+ "example": true,
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "user.userBrowserLanguageReq": {
+ "properties": {
+ "accept_language": {
+ "description": "AcceptLanguage is the raw Accept-Language header captured from a live console\nvisit (already ASCII-filtered and length-capped by the frontend, same as the\nOAuth signup path — see the SignupAcceptLanguage comment on models.User).",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "user.userBrowserLanguageResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/user.userBrowserLanguageDoc"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "user.userMeDoc": {
+ "properties": {
+ "email": {
+ "example": "operator@example.com",
+ "type": "string"
+ },
+ "id": {
+ "example": "user-1",
+ "type": "string"
+ },
+ "plan": {
+ "example": "Pro",
+ "type": "string"
+ },
+ "username": {
+ "example": "operator",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "user.userMeResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/user.userMeDoc"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "user.userRevealAPIKeyDoc": {
+ "properties": {
+ "api_key": {
+ "example": "7d0f3f6a5f6c4b91a6e3f5d91ef7dc7e5c7b0c8b4f2b4e57a7d8f1e2c3b4a5d6",
+ "type": "string"
+ },
+ "key": {
+ "$ref": "#/definitions/user.userAPIKeyItemDoc"
+ }
+ },
+ "type": "object"
+ },
+ "user.userRevealAPIKeyResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/user.userRevealAPIKeyDoc"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "user.userRotateAPIKeyDoc": {
+ "properties": {
+ "active_key": {
+ "$ref": "#/definitions/user.userAPIKeyItemDoc"
+ },
+ "grace_period_seconds": {
+ "example": 86400,
+ "type": "integer"
+ },
+ "new_api_key": {
+ "example": "7d0f3f6a5f6c4b91a6e3f5d91ef7dc7e5c7b0c8b4f2b4e57a7d8f1e2c3b4a5d6",
+ "type": "string"
+ },
+ "previous_key": {
+ "$ref": "#/definitions/user.userAPIKeyItemDoc"
+ }
+ },
+ "type": "object"
+ },
+ "user.userRotateAPIKeyResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/user.userRotateAPIKeyDoc"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "usmagazine.AuthorLink": {
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "usmagazine.AuthorResponse": {
+ "properties": {
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/usmagazine.HeadlineItem"
+ },
+ "type": "array"
+ },
+ "biography": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "links": {
+ "items": {
+ "$ref": "#/definitions/usmagazine.AuthorLink"
+ },
+ "type": "array"
+ },
+ "name": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "usmagazine.HeadlineItem": {
+ "properties": {
+ "author": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "published_at": {
+ "type": "string"
+ },
+ "summary": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "usptoppubs.DetailResponse": {
+ "properties": {
+ "abstract": {
+ "type": "string"
+ },
+ "applicant_names": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "application_number": {
+ "example": "19/048819",
+ "type": "string"
+ },
+ "assignee_name": {
+ "type": "string"
+ },
+ "claims": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "cpc_codes": {
+ "type": "string"
+ },
+ "database": {
+ "example": "US-PGPUB",
+ "type": "string"
+ },
+ "description": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "filing_date": {
+ "example": "2025-02-07",
+ "type": "string"
+ },
+ "guid": {
+ "example": "US-20260238009-A1",
+ "type": "string"
+ },
+ "inventors_short": {
+ "type": "string"
+ },
+ "ipc_codes": {
+ "type": "string"
+ },
+ "kind_codes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "language": {
+ "example": "EN",
+ "type": "string"
+ },
+ "page_count": {
+ "type": "integer"
+ },
+ "publication_date": {
+ "example": "2026-08-13",
+ "type": "string"
+ },
+ "publication_number": {
+ "example": "US20260238009A1",
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "title": {
+ "example": "HOME GRID FOR IMPROVED EFFICIENCY OF SOLAR ENERGY",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "usptoppubs.SearchResponse": {
+ "properties": {
+ "fetched_at": {
+ "type": "string"
+ },
+ "num_found": {
+ "example": 500,
+ "type": "integer"
+ },
+ "page": {
+ "example": 0,
+ "type": "integer"
+ },
+ "per_page": {
+ "example": 20,
+ "type": "integer"
+ },
+ "query": {
+ "example": "battery",
+ "type": "string"
+ },
+ "results": {
+ "items": {
+ "$ref": "#/definitions/usptoppubs.SearchResult"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "usptoppubs.SearchResult": {
+ "properties": {
+ "applicant_names": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "application_number": {
+ "example": "15/620,213",
+ "type": "string"
+ },
+ "assignee_name": {
+ "type": "string"
+ },
+ "cpc_codes": {
+ "type": "string"
+ },
+ "database": {
+ "example": "USPAT",
+ "type": "string"
+ },
+ "filing_date": {
+ "example": "2017-06-12",
+ "type": "string"
+ },
+ "guid": {
+ "example": "US-10758101-B2",
+ "type": "string"
+ },
+ "inventors_short": {
+ "type": "string"
+ },
+ "ipc_codes": {
+ "type": "string"
+ },
+ "kind_codes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "language": {
+ "example": "EN",
+ "type": "string"
+ },
+ "page_count": {
+ "type": "integer"
+ },
+ "publication_date": {
+ "example": "2020-09-01",
+ "type": "string"
+ },
+ "publication_number": {
+ "example": "US10758101B2",
+ "type": "string"
+ },
+ "title": {
+ "example": "UPRIGHT VACUUM CLEANER WITH BATTERY SUPPORT PLATE",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "usptoppubs.detailResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/usptoppubs.DetailResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "usptoppubs.searchResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/usptoppubs.SearchResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "valnet.AuthorSocialLink": {
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vanguardng.AuthorArticle": {
+ "properties": {
+ "byline": {
+ "type": "string"
+ },
+ "published_at": {
+ "type": "string"
+ },
+ "summary": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vanguardng.AuthorResponse": {
+ "properties": {
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/vanguardng.AuthorArticle"
+ },
+ "type": "array"
+ },
+ "feed_url": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "scanned": {
+ "type": "integer"
+ },
+ "section": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vanityfair.AuthorArticle": {
+ "properties": {
+ "published_at": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vanityfair.AuthorResponse": {
+ "properties": {
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/vanityfair.AuthorArticle"
+ },
+ "type": "array"
+ },
+ "biography": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "job_title": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "social_links": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "variety.AuthorResponse": {
+ "properties": {
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/newsplatform.HeadlineItem"
+ },
+ "type": "array"
+ },
+ "biography": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "has_next_page": {
+ "type": "boolean"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "page": {
+ "type": "integer"
+ },
+ "slug": {
+ "type": "string"
+ },
+ "social_links": {
+ "items": {
+ "$ref": "#/definitions/variety.AuthorSocialLink"
+ },
+ "type": "array"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "variety.AuthorSocialLink": {
+ "properties": {
+ "platform": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vestiaire.Brand": {
+ "properties": {
+ "id": {
+ "example": "50",
+ "type": "string"
+ },
+ "name": {
+ "example": "Chanel",
+ "type": "string"
+ },
+ "url": {
+ "example": "https://www.vestiairecollective.com/chanel/",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vestiaire.BrandsResponse": {
+ "properties": {
+ "brands": {
+ "items": {
+ "$ref": "#/definitions/vestiaire.Brand"
+ },
+ "type": "array"
+ },
+ "fetched_at": {
+ "example": "2026-09-09T12:00:00Z",
+ "type": "string"
+ },
+ "total": {
+ "example": 13693,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "vestiaire.CategoriesResponse": {
+ "properties": {
+ "fetched_at": {
+ "example": "2026-09-09T12:00:00Z",
+ "type": "string"
+ },
+ "universes": {
+ "items": {
+ "$ref": "#/definitions/vestiaire.Universe"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "vestiaire.Category": {
+ "properties": {
+ "children": {
+ "items": {
+ "$ref": "#/definitions/vestiaire.Category"
+ },
+ "type": "array"
+ },
+ "count": {
+ "example": 82421,
+ "type": "integer"
+ },
+ "id": {
+ "example": "5",
+ "type": "string"
+ },
+ "name": {
+ "example": "Bags",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vestiaire.ConditionsResponse": {
+ "properties": {
+ "conditions": {
+ "items": {
+ "$ref": "#/definitions/vestiaire.FacetValue"
+ },
+ "type": "array"
+ },
+ "fetched_at": {
+ "example": "2026-09-09T12:00:00Z",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vestiaire.FacetValue": {
+ "properties": {
+ "count": {
+ "example": 119169,
+ "type": "integer"
+ },
+ "id": {
+ "example": "50",
+ "type": "string"
+ },
+ "name": {
+ "example": "Chanel",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vestiaire.PriceRange": {
+ "properties": {
+ "max_cents": {
+ "example": 9765700,
+ "type": "integer"
+ },
+ "min_cents": {
+ "example": 700,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "vestiaire.ProductRef": {
+ "properties": {
+ "id": {
+ "example": "6444",
+ "type": "string"
+ },
+ "name": {
+ "example": "Off-White",
+ "type": "string"
+ },
+ "parent_id": {
+ "example": "2",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vestiaire.ProductResponse": {
+ "properties": {
+ "available": {
+ "example": true,
+ "type": "boolean"
+ },
+ "brand": {
+ "$ref": "#/definitions/vestiaire.ProductRef"
+ },
+ "category": {
+ "$ref": "#/definitions/vestiaire.ProductRef"
+ },
+ "color": {
+ "example": "Black",
+ "type": "string"
+ },
+ "condition": {
+ "example": "Never worn",
+ "type": "string"
+ },
+ "currency": {
+ "example": "USD",
+ "type": "string"
+ },
+ "description": {
+ "example": "Black leather jacket from Off-White for women. Never worn.",
+ "type": "string"
+ },
+ "fetched_at": {
+ "example": "2026-09-09T12:00:00Z",
+ "type": "string"
+ },
+ "id": {
+ "example": "70860454",
+ "type": "string"
+ },
+ "in_stock": {
+ "example": false,
+ "type": "boolean"
+ },
+ "like_count": {
+ "example": 2,
+ "type": "integer"
+ },
+ "material": {
+ "example": "Leather",
+ "type": "string"
+ },
+ "model": {
+ "$ref": "#/definitions/vestiaire.ProductRef"
+ },
+ "name": {
+ "example": "Leather biker jacket",
+ "type": "string"
+ },
+ "negotiable": {
+ "example": true,
+ "type": "boolean"
+ },
+ "pictures": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "price_cents": {
+ "example": 31100,
+ "type": "integer"
+ },
+ "reserved": {
+ "example": false,
+ "type": "boolean"
+ },
+ "seller": {
+ "$ref": "#/definitions/vestiaire.ProductSeller"
+ },
+ "size": {
+ "example": "L",
+ "type": "string"
+ },
+ "size_standard": {
+ "example": "International",
+ "type": "string"
+ },
+ "sold": {
+ "example": false,
+ "type": "boolean"
+ },
+ "source_url": {
+ "example": "https://www.vestiairecollective.com/women-clothing/biker-jackets/off-white/black-leather-off-white-biker-jacket-70860454.shtml",
+ "type": "string"
+ },
+ "universe": {
+ "example": "Women",
+ "type": "string"
+ },
+ "url": {
+ "example": "https://www.vestiairecollective.com/women-clothing/biker-jackets/off-white/black-leather-off-white-biker-jacket-70860454.shtml",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vestiaire.ProductSeller": {
+ "properties": {
+ "badge": {
+ "example": "Common",
+ "type": "string"
+ },
+ "country": {
+ "example": "United States",
+ "type": "string"
+ },
+ "country_iso": {
+ "example": "US",
+ "type": "string"
+ },
+ "id": {
+ "example": "36526194",
+ "type": "string"
+ },
+ "products_listed": {
+ "example": 23,
+ "type": "integer"
+ },
+ "products_sold": {
+ "example": 8,
+ "type": "integer"
+ },
+ "username": {
+ "example": "michelle36526194",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vestiaire.SearchFacets": {
+ "properties": {
+ "brands": {
+ "items": {
+ "$ref": "#/definitions/vestiaire.FacetValue"
+ },
+ "type": "array"
+ },
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/vestiaire.FacetValue"
+ },
+ "type": "array"
+ },
+ "conditions": {
+ "items": {
+ "$ref": "#/definitions/vestiaire.FacetValue"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "vestiaire.SearchItem": {
+ "properties": {
+ "brand": {
+ "example": "Chanel",
+ "type": "string"
+ },
+ "brand_id": {
+ "example": "50",
+ "type": "string"
+ },
+ "color": {
+ "example": "Black",
+ "type": "string"
+ },
+ "country": {
+ "example": "US",
+ "type": "string"
+ },
+ "created_at": {
+ "example": "2026-09-08T10:00:03Z",
+ "type": "string"
+ },
+ "currency": {
+ "example": "USD",
+ "type": "string"
+ },
+ "id": {
+ "example": "70816051",
+ "type": "string"
+ },
+ "in_stock": {
+ "example": false,
+ "type": "boolean"
+ },
+ "likes": {
+ "example": 1,
+ "type": "integer"
+ },
+ "model": {
+ "example": "Timeless/Classique Chain",
+ "type": "string"
+ },
+ "name": {
+ "example": "Timeless/Classique Chain leather backpack",
+ "type": "string"
+ },
+ "pictures": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "price_cents": {
+ "example": 270000,
+ "type": "integer"
+ },
+ "seller_id": {
+ "example": "28924234",
+ "type": "string"
+ },
+ "sold": {
+ "example": false,
+ "type": "boolean"
+ },
+ "url": {
+ "example": "https://www.vestiairecollective.com/women-bags/backpacks/chanel/black-leather-timeless-classique-chain-chanel-backpack-70816051.shtml",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vestiaire.SearchResponse": {
+ "properties": {
+ "facets": {
+ "$ref": "#/definitions/vestiaire.SearchFacets"
+ },
+ "fetched_at": {
+ "example": "2026-09-09T12:00:00Z",
+ "type": "string"
+ },
+ "items": {
+ "items": {
+ "$ref": "#/definitions/vestiaire.SearchItem"
+ },
+ "type": "array"
+ },
+ "page": {
+ "example": 1,
+ "type": "integer"
+ },
+ "per_page": {
+ "example": 24,
+ "type": "integer"
+ },
+ "price_range": {
+ "$ref": "#/definitions/vestiaire.PriceRange"
+ },
+ "q": {
+ "example": "chanel bag",
+ "type": "string"
+ },
+ "sort": {
+ "example": "relevance",
+ "type": "string"
+ },
+ "source_url": {
+ "example": "https://www.vestiairecollective.com/search/?q=chanel+bag",
+ "type": "string"
+ },
+ "total_items": {
+ "example": 10000,
+ "type": "integer"
+ },
+ "total_pages": {
+ "example": 417,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "vestiaire.SearchSellersResponse": {
+ "properties": {
+ "fetched_at": {
+ "example": "2026-09-09T12:00:00Z",
+ "type": "string"
+ },
+ "q": {
+ "example": "michelle",
+ "type": "string"
+ },
+ "sellers": {
+ "items": {
+ "$ref": "#/definitions/vestiaire.SellerSearchMatch"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "vestiaire.SellerResponse": {
+ "properties": {
+ "community_rank": {
+ "example": 0,
+ "type": "integer"
+ },
+ "country": {
+ "example": "United States",
+ "type": "string"
+ },
+ "country_iso": {
+ "example": "US",
+ "type": "string"
+ },
+ "fetched_at": {
+ "example": "2026-09-09T12:00:00Z",
+ "type": "string"
+ },
+ "firstname": {
+ "example": "michelle",
+ "type": "string"
+ },
+ "followers": {
+ "example": 26,
+ "type": "integer"
+ },
+ "following": {
+ "example": 11,
+ "type": "integer"
+ },
+ "id": {
+ "example": "36526194",
+ "type": "string"
+ },
+ "products_bought": {
+ "example": 0,
+ "type": "integer"
+ },
+ "products_listed": {
+ "example": 23,
+ "type": "integer"
+ },
+ "products_sold": {
+ "example": 8,
+ "type": "integer"
+ },
+ "segment": {
+ "example": "C2C",
+ "type": "string"
+ },
+ "source_url": {
+ "example": "https://www.vestiairecollective.com/profile/36526194",
+ "type": "string"
+ },
+ "url": {
+ "example": "https://www.vestiairecollective.com/profile/36526194",
+ "type": "string"
+ },
+ "username": {
+ "example": "michelle36526194",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vestiaire.SellerSearchMatch": {
+ "properties": {
+ "avatar_url": {
+ "type": "string"
+ },
+ "id": {
+ "example": "36526194",
+ "type": "string"
+ },
+ "name": {
+ "example": "michelle",
+ "type": "string"
+ },
+ "username": {
+ "example": "michelle36526194",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vestiaire.SuggestBrand": {
+ "properties": {
+ "id": {
+ "example": "50",
+ "type": "string"
+ },
+ "name": {
+ "example": "Chanel",
+ "type": "string"
+ },
+ "url": {
+ "example": "https://www.vestiairecollective.com/chanel/",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vestiaire.SuggestResponse": {
+ "properties": {
+ "brands": {
+ "items": {
+ "$ref": "#/definitions/vestiaire.SuggestBrand"
+ },
+ "type": "array"
+ },
+ "fetched_at": {
+ "example": "2026-09-09T12:00:00Z",
+ "type": "string"
+ },
+ "q": {
+ "example": "chane",
+ "type": "string"
+ },
+ "suggestions": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "vestiaire.Universe": {
+ "properties": {
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/vestiaire.Category"
+ },
+ "type": "array"
+ },
+ "count": {
+ "example": 346038,
+ "type": "integer"
+ },
+ "id": {
+ "example": "1",
+ "type": "string"
+ },
+ "name": {
+ "example": "Women",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vestiaire.brandsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/vestiaire.BrandsResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vestiaire.categoriesResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/vestiaire.CategoriesResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vestiaire.conditionsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/vestiaire.ConditionsResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vestiaire.productResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/vestiaire.ProductResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vestiaire.searchResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/vestiaire.SearchResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vestiaire.searchSellersResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/vestiaire.SearchSellersResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vestiaire.sellerResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/vestiaire.SellerResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vestiaire.suggestResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/vestiaire.SuggestResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vice.AuthorResponse": {
+ "properties": {
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/vice.HeadlineItem"
+ },
+ "type": "array"
+ },
+ "biography": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vice.HeadlineItem": {
+ "properties": {
+ "author": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "published_at": {
+ "type": "string"
+ },
+ "summary": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vinted.BrandEntry": {
+ "properties": {
+ "id": {
+ "example": "14",
+ "type": "string"
+ },
+ "name": {
+ "example": "adidas",
+ "type": "string"
+ },
+ "url": {
+ "example": "https://www.vinted.com/brand/14-adidas",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vinted.BrandResponse": {
+ "properties": {
+ "fetched_at": {
+ "example": "2026-08-07T12:00:00Z",
+ "type": "string"
+ },
+ "id": {
+ "example": "386688",
+ "type": "string"
+ },
+ "items": {
+ "items": {
+ "$ref": "#/definitions/vinted.ItemCard"
+ },
+ "type": "array"
+ },
+ "name": {
+ "example": "Cabela's",
+ "type": "string"
+ },
+ "page": {
+ "example": 1,
+ "type": "integer"
+ },
+ "source_url": {
+ "example": "https://www.vinted.com/brand/386688",
+ "type": "string"
+ },
+ "url": {
+ "example": "https://www.vinted.com/brand/386688",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vinted.BrandsResponse": {
+ "properties": {
+ "brands": {
+ "items": {
+ "$ref": "#/definitions/vinted.BrandEntry"
+ },
+ "type": "array"
+ },
+ "fetched_at": {
+ "example": "2026-08-07T12:00:00Z",
+ "type": "string"
+ },
+ "source_url": {
+ "example": "https://www.vinted.com/brands",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vinted.CatalogResponse": {
+ "properties": {
+ "fetched_at": {
+ "example": "2026-08-07T12:00:00Z",
+ "type": "string"
+ },
+ "items": {
+ "items": {
+ "$ref": "#/definitions/vinted.ItemCard"
+ },
+ "type": "array"
+ },
+ "page": {
+ "example": 1,
+ "type": "integer"
+ },
+ "search_text": {
+ "example": "jacket",
+ "type": "string"
+ },
+ "source_url": {
+ "example": "https://www.vinted.com/catalog?search_text=jacket",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vinted.CategoriesResponse": {
+ "properties": {
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/vinted.CategoryEntry"
+ },
+ "type": "array"
+ },
+ "fetched_at": {
+ "example": "2026-08-07T12:00:00Z",
+ "type": "string"
+ },
+ "source_url": {
+ "example": "https://www.vinted.com/catalog",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vinted.CategoryEntry": {
+ "properties": {
+ "id": {
+ "example": "1904",
+ "type": "string"
+ },
+ "name": {
+ "example": "Women",
+ "type": "string"
+ },
+ "url": {
+ "example": "https://www.vinted.com/catalog/1904-women_root",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vinted.CategoryResponse": {
+ "properties": {
+ "fetched_at": {
+ "example": "2026-08-07T12:00:00Z",
+ "type": "string"
+ },
+ "id": {
+ "example": "1904",
+ "type": "string"
+ },
+ "items": {
+ "items": {
+ "$ref": "#/definitions/vinted.ItemCard"
+ },
+ "type": "array"
+ },
+ "name": {
+ "example": "Women",
+ "type": "string"
+ },
+ "page": {
+ "example": 1,
+ "type": "integer"
+ },
+ "source_url": {
+ "example": "https://www.vinted.com/catalog/1904",
+ "type": "string"
+ },
+ "url": {
+ "example": "https://www.vinted.com/catalog/1904",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vinted.ItemCard": {
+ "properties": {
+ "brand": {
+ "example": "Cabela's",
+ "type": "string"
+ },
+ "condition": {
+ "example": "Good",
+ "type": "string"
+ },
+ "favourite_count": {
+ "example": 9,
+ "type": "integer"
+ },
+ "id": {
+ "example": "9595406652",
+ "type": "string"
+ },
+ "image_url": {
+ "example": "https://images1.vinted.net/t/01_00ebe_Runxp7FBSGM86vRdXFhYhM4A/310x430/3e52418b.webp",
+ "type": "string"
+ },
+ "price_raw": {
+ "example": "$20.00",
+ "type": "string"
+ },
+ "size": {
+ "example": "L / US 12-14",
+ "type": "string"
+ },
+ "title": {
+ "example": "Vintage leather Cabelas Women's jacket",
+ "type": "string"
+ },
+ "total_price_raw": {
+ "example": "$21.70",
+ "type": "string"
+ },
+ "url": {
+ "example": "https://www.vinted.com/items/9595406652-vintage-leather-cabelas-womens-jacket",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vinted.ItemResponse": {
+ "properties": {
+ "brand": {
+ "example": "Cabela's",
+ "type": "string"
+ },
+ "categories": {
+ "example": [
+ "Women",
+ "Clothing",
+ "Coats & Jackets"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "color": {
+ "example": "Brown",
+ "type": "string"
+ },
+ "condition": {
+ "example": "Good",
+ "type": "string"
+ },
+ "description": {
+ "example": "In good condition. Has scratches and scuffs.",
+ "type": "string"
+ },
+ "fetched_at": {
+ "example": "2026-08-07T12:00:00Z",
+ "type": "string"
+ },
+ "id": {
+ "example": "9595406652",
+ "type": "string"
+ },
+ "material": {
+ "example": "Leather",
+ "type": "string"
+ },
+ "photos": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "price_raw": {
+ "example": "$20.00",
+ "type": "string"
+ },
+ "size": {
+ "example": "L / US 12-14",
+ "type": "string"
+ },
+ "source_url": {
+ "example": "https://www.vinted.com/items/9595406652-vintage-leather-cabelas-womens-jacket",
+ "type": "string"
+ },
+ "title": {
+ "example": "Vintage leather Cabelas Women's jacket",
+ "type": "string"
+ },
+ "url": {
+ "example": "https://www.vinted.com/items/9595406652-vintage-leather-cabelas-womens-jacket",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vinted.MemberResponse": {
+ "properties": {
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "example": "2026-08-07T12:00:00Z",
+ "type": "string"
+ },
+ "followers_count": {
+ "description": "Number of members following this member.",
+ "example": 5,
+ "type": "integer"
+ },
+ "following_count": {
+ "description": "Number of members this member follows.",
+ "example": 0,
+ "type": "integer"
+ },
+ "id": {
+ "description": "Vinted member id.",
+ "example": "3159465141",
+ "type": "string"
+ },
+ "location": {
+ "description": "City and country the member gives on their public profile.",
+ "example": "Scottsbluff, United States",
+ "type": "string"
+ },
+ "rating": {
+ "description": "Member's average rating on Vinted.",
+ "example": 5,
+ "type": "number"
+ },
+ "source_url": {
+ "description": "URL the data was read from.",
+ "example": "https://www.vinted.com/member/3159465141",
+ "type": "string"
+ },
+ "url": {
+ "description": "URL of the member's profile page on Vinted.",
+ "example": "https://www.vinted.com/member/3159465141",
+ "type": "string"
+ },
+ "username": {
+ "description": "Member's Vinted username.",
+ "example": "alexist738",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vinted.brandResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/vinted.BrandResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vinted.brandsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/vinted.BrandsResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vinted.catalogResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/vinted.CatalogResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vinted.categoriesResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/vinted.CategoriesResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vinted.categoryResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/vinted.CategoryResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vinted.itemResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/vinted.ItemResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vinted.memberResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/vinted.MemberResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.AdvancedLine": {
+ "properties": {
+ "agent": {
+ "example": "omen",
+ "type": "string"
+ },
+ "clutches_1v1": {
+ "example": 0,
+ "type": "integer"
+ },
+ "clutches_1v2": {
+ "example": 0,
+ "type": "integer"
+ },
+ "clutches_1v3": {
+ "example": 0,
+ "type": "integer"
+ },
+ "clutches_1v4": {
+ "example": 0,
+ "type": "integer"
+ },
+ "clutches_1v5": {
+ "example": 0,
+ "type": "integer"
+ },
+ "defuses": {
+ "example": 3,
+ "type": "integer"
+ },
+ "econ_rating": {
+ "example": 49,
+ "type": "integer"
+ },
+ "multikills_2k": {
+ "example": 13,
+ "type": "integer"
+ },
+ "multikills_3k": {
+ "example": 1,
+ "type": "integer"
+ },
+ "multikills_4k": {
+ "example": 1,
+ "type": "integer"
+ },
+ "multikills_5k": {
+ "example": 0,
+ "type": "integer"
+ },
+ "plants": {
+ "example": 8,
+ "type": "integer"
+ },
+ "player": {
+ "$ref": "#/definitions/vlr.MatrixPlayer"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.AgentPick": {
+ "properties": {
+ "agent": {
+ "example": "omen",
+ "type": "string"
+ },
+ "percent": {
+ "example": 79,
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.AgentUsage": {
+ "properties": {
+ "acs": {
+ "example": 206.5,
+ "type": "number"
+ },
+ "adr": {
+ "example": 128.8,
+ "type": "number"
+ },
+ "agent": {
+ "example": "Jett",
+ "type": "string"
+ },
+ "assists": {
+ "example": 26,
+ "type": "integer"
+ },
+ "assists_per_round": {
+ "example": 0.19,
+ "type": "number"
+ },
+ "deaths": {
+ "example": 103,
+ "type": "integer"
+ },
+ "first_deaths": {
+ "example": 23,
+ "type": "integer"
+ },
+ "first_kills": {
+ "example": 14,
+ "type": "integer"
+ },
+ "first_kills_per_round": {
+ "example": 0.61,
+ "type": "number"
+ },
+ "kast_percent": {
+ "example": 63,
+ "type": "number"
+ },
+ "kd": {
+ "example": 0.98,
+ "type": "number"
+ },
+ "kills": {
+ "example": 101,
+ "type": "integer"
+ },
+ "kills_per_round": {
+ "example": 0.74,
+ "type": "number"
+ },
+ "rating": {
+ "example": 0.93,
+ "type": "number"
+ },
+ "rounds": {
+ "example": 137,
+ "type": "integer"
+ },
+ "use": {
+ "example": "(6) 29%",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.ArticleDetail": {
+ "properties": {
+ "author": {
+ "example": "jenopelle",
+ "type": "string"
+ },
+ "external_links": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
+ "type": "string"
+ },
+ "id": {
+ "example": "781119",
+ "type": "string"
+ },
+ "images": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "paragraphs": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "published_at": {
+ "example": "2026-10-28T09:16:51Z",
+ "type": "string"
+ },
+ "references": {
+ "items": {
+ "$ref": "#/definitions/vlr.ArticleRef"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "example": "https://www.vlr.gg/matches",
+ "type": "string"
+ },
+ "text": {
+ "type": "string"
+ },
+ "title": {
+ "example": "Efina set to leave Gen.G as free agent",
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.ArticleRef": {
+ "properties": {
+ "id": {
+ "example": "17",
+ "type": "string"
+ },
+ "name": {
+ "example": "Gen.G",
+ "type": "string"
+ },
+ "slug": {
+ "example": "gen-g",
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "team",
+ "player",
+ "event"
+ ],
+ "example": "team",
+ "type": "string"
+ },
+ "url": {
+ "example": "https://www.vlr.gg/team/17/gen-g",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.BuyBucket": {
+ "properties": {
+ "buy": {
+ "enum": [
+ "eco",
+ "half",
+ "full"
+ ],
+ "example": "eco",
+ "type": "string"
+ },
+ "label": {
+ "example": "On Eco <10k",
+ "type": "string"
+ },
+ "teams": {
+ "items": {
+ "$ref": "#/definitions/vlr.BuyOutcome"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.BuyOutcome": {
+ "properties": {
+ "team": {
+ "example": "LOUD",
+ "type": "string"
+ },
+ "vs_eco": {
+ "$ref": "#/definitions/vlr.Ratio"
+ },
+ "vs_full": {
+ "$ref": "#/definitions/vlr.Ratio"
+ },
+ "vs_half": {
+ "$ref": "#/definitions/vlr.Ratio"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.CompositionMatch": {
+ "properties": {
+ "agents": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "match_id": {
+ "example": "777952",
+ "type": "string"
+ },
+ "opponent": {
+ "example": "Nova Esports",
+ "type": "string"
+ },
+ "result": {
+ "enum": [
+ "win",
+ "loss"
+ ],
+ "example": "win",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.EconomyBlock": {
+ "properties": {
+ "buy_buckets": {
+ "items": {
+ "$ref": "#/definitions/vlr.BuyBucket"
+ },
+ "type": "array"
+ },
+ "game_id": {
+ "example": "283286",
+ "type": "string"
+ },
+ "map": {
+ "example": "Bind",
+ "type": "string"
+ },
+ "map_number": {
+ "example": 1,
+ "type": "integer"
+ },
+ "rounds": {
+ "items": {
+ "$ref": "#/definitions/vlr.EconomyRound"
+ },
+ "type": "array"
+ },
+ "teams": {
+ "items": {
+ "$ref": "#/definitions/vlr.TeamEconomy"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.EconomyRound": {
+ "properties": {
+ "pistol": {
+ "example": true,
+ "type": "boolean"
+ },
+ "round": {
+ "example": 1,
+ "type": "integer"
+ },
+ "team1_bank_k": {
+ "example": 0.1,
+ "type": "number"
+ },
+ "team1_buy": {
+ "enum": [
+ "eco",
+ "half",
+ "full"
+ ],
+ "example": "eco",
+ "type": "string"
+ },
+ "team1_loadout_k": {
+ "example": 3.9,
+ "type": "number"
+ },
+ "team2_bank_k": {
+ "example": 0.1,
+ "type": "number"
+ },
+ "team2_buy": {
+ "enum": [
+ "eco",
+ "half",
+ "full"
+ ],
+ "example": "eco",
+ "type": "string"
+ },
+ "team2_loadout_k": {
+ "example": 4,
+ "type": "number"
+ },
+ "winner_side": {
+ "enum": [
+ "attack",
+ "defense"
+ ],
+ "example": "defense",
+ "type": "string"
+ },
+ "winner_team": {
+ "example": "VIT",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.EventAgentsResponse": {
+ "properties": {
+ "agents": {
+ "example": [
+ "omen"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "compositions": {
+ "items": {
+ "$ref": "#/definitions/vlr.MapCompositions"
+ },
+ "type": "array"
+ },
+ "event_id": {
+ "example": "3166",
+ "type": "string"
+ },
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
+ "type": "string"
+ },
+ "maps": {
+ "items": {
+ "$ref": "#/definitions/vlr.MapAgentRow"
+ },
+ "type": "array"
+ },
+ "overall": {
+ "$ref": "#/definitions/vlr.MapAgentRow"
+ },
+ "source_url": {
+ "example": "https://www.vlr.gg/matches",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.EventDetail": {
+ "properties": {
+ "dates": {
+ "example": "Oct 21 – Nov 1, 2026",
+ "type": "string"
+ },
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
+ "type": "string"
+ },
+ "id": {
+ "example": "3166",
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "location": {
+ "type": "string"
+ },
+ "name": {
+ "example": "VCT 2026: China Threshold",
+ "type": "string"
+ },
+ "prize": {
+ "example": "TBD",
+ "type": "string"
+ },
+ "series": {
+ "example": "Valorant Champions Tour 2027",
+ "type": "string"
+ },
+ "source_url": {
+ "example": "https://www.vlr.gg/matches",
+ "type": "string"
+ },
+ "subtitle": {
+ "type": "string"
+ },
+ "teams": {
+ "items": {
+ "$ref": "#/definitions/vlr.TeamRef"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.EventMatchesResponse": {
+ "properties": {
+ "count": {
+ "example": 22,
+ "type": "integer"
+ },
+ "event_id": {
+ "example": "3166",
+ "type": "string"
+ },
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
+ "type": "string"
+ },
+ "group": {
+ "enum": [
+ "completed",
+ "upcoming"
+ ],
+ "example": "completed",
+ "type": "string"
+ },
+ "matches": {
+ "items": {
+ "$ref": "#/definitions/vlr.MatchSummary"
+ },
+ "type": "array"
+ },
+ "series_id": {
+ "example": "6080",
+ "type": "string"
+ },
+ "source_url": {
+ "example": "https://www.vlr.gg/matches",
+ "type": "string"
+ },
+ "stages": {
+ "items": {
+ "$ref": "#/definitions/vlr.EventStage"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.EventRef": {
+ "properties": {
+ "id": {
+ "example": "3166",
+ "type": "string"
+ },
+ "name": {
+ "example": "VCT 2026: China Threshold",
+ "type": "string"
+ },
+ "series": {
+ "example": "Week 2: Round of 12",
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.EventStage": {
+ "properties": {
+ "id": {
+ "example": "6080",
+ "type": "string"
+ },
+ "name": {
+ "example": "Week 1",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.EventStatsResponse": {
+ "properties": {
+ "count": {
+ "example": 67,
+ "type": "integer"
+ },
+ "event_id": {
+ "example": "3166",
+ "type": "string"
+ },
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
+ "type": "string"
+ },
+ "players": {
+ "items": {
+ "$ref": "#/definitions/vlr.StatsRow"
+ },
+ "type": "array"
+ },
+ "side": {
+ "enum": [
+ "all",
+ "t",
+ "ct"
+ ],
+ "example": "all",
+ "type": "string"
+ },
+ "source_url": {
+ "example": "https://www.vlr.gg/matches",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.EventSummary": {
+ "properties": {
+ "country_code": {
+ "example": "br",
+ "type": "string"
+ },
+ "dates": {
+ "example": "Oct 22—Nov 3",
+ "type": "string"
+ },
+ "id": {
+ "example": "3166",
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "name": {
+ "example": "VCT 2026: China Threshold",
+ "type": "string"
+ },
+ "prize": {
+ "example": "$500,000",
+ "type": "string"
+ },
+ "status": {
+ "enum": [
+ "upcoming",
+ "ongoing",
+ "completed"
+ ],
+ "example": "ongoing",
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.EventsResponse": {
+ "properties": {
+ "count": {
+ "example": 40,
+ "type": "integer"
+ },
+ "events": {
+ "items": {
+ "$ref": "#/definitions/vlr.EventSummary"
+ },
+ "type": "array"
+ },
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
+ "type": "string"
+ },
+ "has_more": {
+ "example": true,
+ "type": "boolean"
+ },
+ "page": {
+ "example": 1,
+ "type": "integer"
+ },
+ "region": {
+ "example": "all",
+ "type": "string"
+ },
+ "source_url": {
+ "example": "https://www.vlr.gg/matches",
+ "type": "string"
+ },
+ "tier": {
+ "example": "all",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.ForumCategoriesResponse": {
+ "properties": {
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/vlr.ForumCategory"
+ },
+ "type": "array"
+ },
+ "count": {
+ "example": 3,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
+ "type": "string"
+ },
+ "source_url": {
+ "example": "https://www.vlr.gg/matches",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.ForumCategory": {
+ "properties": {
+ "description": {
+ "example": "Anything and everything Valorant",
+ "type": "string"
+ },
+ "group": {
+ "example": "Valorant",
+ "type": "string"
+ },
+ "last_post_time": {
+ "example": "Oct 27, 2026 at 20:35 CET",
+ "type": "string"
+ },
+ "last_poster": {
+ "example": "iceypicks",
+ "type": "string"
+ },
+ "last_thread_id": {
+ "example": "780920",
+ "type": "string"
+ },
+ "name": {
+ "example": "Valorant Discussion",
+ "type": "string"
+ },
+ "posts": {
+ "example": 5543705,
+ "type": "integer"
+ },
+ "slug": {
+ "enum": [
+ "valorant-discussion",
+ "off-topic",
+ "site-feedback"
+ ],
+ "example": "valorant-discussion",
+ "type": "string"
+ },
+ "threads": {
+ "example": 577804,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.ForumThread": {
+ "properties": {
+ "author": {
+ "example": "enigma",
+ "type": "string"
+ },
+ "category": {
+ "example": "valorant-discussion",
+ "type": "string"
+ },
+ "category_name": {
+ "example": "Valorant Discussion",
+ "type": "string"
+ },
+ "frags": {
+ "example": 2408,
+ "type": "integer"
+ },
+ "id": {
+ "example": "780920",
+ "type": "string"
+ },
+ "last_active": {
+ "example": "5 years ago",
+ "type": "string"
+ },
+ "last_poster": {
+ "example": "enigma",
+ "type": "string"
+ },
+ "pinned": {
+ "example": false,
+ "type": "boolean"
+ },
+ "posted": {
+ "example": "5 years ago",
+ "type": "string"
+ },
+ "replies": {
+ "example": 1,
+ "type": "integer"
+ },
+ "title": {
+ "example": "Zak9: Cane is back",
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.ForumThreadsResponse": {
+ "properties": {
+ "category": {
+ "example": "valorant-discussion",
+ "type": "string"
+ },
+ "count": {
+ "example": 30,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
+ "type": "string"
+ },
+ "has_more": {
+ "example": true,
+ "type": "boolean"
+ },
+ "page": {
+ "example": 1,
+ "type": "integer"
+ },
+ "sort": {
+ "enum": [
+ "hot",
+ "new",
+ "top"
+ ],
+ "example": "new",
+ "type": "string"
+ },
+ "source_url": {
+ "example": "https://www.vlr.gg/matches",
+ "type": "string"
+ },
+ "threads": {
+ "items": {
+ "$ref": "#/definitions/vlr.ForumThread"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.H2HMatch": {
+ "properties": {
+ "date": {
+ "example": "2026/10/16",
+ "type": "string"
+ },
+ "event": {
+ "example": "Champions 2026",
+ "type": "string"
+ },
+ "id": {
+ "example": "754736",
+ "type": "string"
+ },
+ "stage": {
+ "example": "UBF",
+ "type": "string"
+ },
+ "team1_score": {
+ "example": 2,
+ "type": "integer"
+ },
+ "team2_score": {
+ "example": 1,
+ "type": "integer"
+ },
+ "url": {
+ "type": "string"
+ },
+ "winner": {
+ "description": "team1/team2 are the head_to_head teams, left and right",
+ "enum": [
+ "team1",
+ "team2"
+ ],
+ "example": "team1",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.HeadToHead": {
+ "properties": {
+ "matches": {
+ "items": {
+ "$ref": "#/definitions/vlr.H2HMatch"
+ },
+ "type": "array"
+ },
+ "team1": {
+ "example": "LOUD",
+ "type": "string"
+ },
+ "team2": {
+ "example": "Team Vitality",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.HistoryResponse": {
+ "properties": {
+ "count": {
+ "example": 50,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
+ "type": "string"
+ },
+ "group": {
+ "enum": [
+ "completed",
+ "upcoming"
+ ],
+ "example": "completed",
+ "type": "string"
+ },
+ "has_more": {
+ "example": true,
+ "type": "boolean"
+ },
+ "id": {
+ "example": "2059",
+ "type": "string"
+ },
+ "matches": {
+ "items": {
+ "$ref": "#/definitions/vlr.TeamMatch"
+ },
+ "type": "array"
+ },
+ "page": {
+ "example": 1,
+ "type": "integer"
+ },
+ "source_url": {
+ "example": "https://www.vlr.gg/matches",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.KillMatrix": {
+ "properties": {
+ "mode": {
+ "enum": [
+ "overall",
+ "first_kills",
+ "op_kills"
+ ],
+ "example": "overall",
+ "type": "string"
+ },
+ "rows": {
+ "items": {
+ "$ref": "#/definitions/vlr.MatrixRow"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.MapAgentRow": {
+ "properties": {
+ "attack_win_percent": {
+ "example": 49,
+ "type": "number"
+ },
+ "defense_win_percent": {
+ "example": 51,
+ "type": "number"
+ },
+ "games": {
+ "example": 8,
+ "type": "integer"
+ },
+ "map": {
+ "example": "Summit",
+ "type": "string"
+ },
+ "pick_rates": {
+ "items": {
+ "$ref": "#/definitions/vlr.AgentPick"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.MapCompositions": {
+ "properties": {
+ "map": {
+ "example": "Split",
+ "type": "string"
+ },
+ "teams": {
+ "items": {
+ "$ref": "#/definitions/vlr.TeamComposition"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.MapResult": {
+ "properties": {
+ "duration": {
+ "example": "41:12",
+ "type": "string"
+ },
+ "id": {
+ "example": "287476",
+ "type": "string"
+ },
+ "name": {
+ "example": "Summit",
+ "type": "string"
+ },
+ "number": {
+ "example": 1,
+ "type": "integer"
+ },
+ "picked_by": {
+ "example": "Unsettled Resentment",
+ "type": "string"
+ },
+ "players": {
+ "items": {
+ "$ref": "#/definitions/vlr.PlayerLine"
+ },
+ "type": "array"
+ },
+ "teams": {
+ "items": {
+ "$ref": "#/definitions/vlr.MapTeamResult"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.MapSide": {
+ "properties": {
+ "first_rounds": {
+ "example": 21,
+ "type": "integer"
+ },
+ "round_win_percent": {
+ "example": 47,
+ "type": "number"
+ },
+ "rounds_lost": {
+ "example": 248,
+ "type": "integer"
+ },
+ "rounds_won": {
+ "example": 223,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.MapTeamResult": {
+ "properties": {
+ "name": {
+ "example": "Unsettled Resentment",
+ "type": "string"
+ },
+ "rounds": {
+ "$ref": "#/definitions/vlr.RoundSplit"
+ },
+ "score": {
+ "example": 17,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.MatchDetail": {
+ "properties": {
+ "all_maps_players": {
+ "items": {
+ "$ref": "#/definitions/vlr.PlayerLine"
+ },
+ "type": "array"
+ },
+ "event": {
+ "$ref": "#/definitions/vlr.EventRef"
+ },
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
+ "type": "string"
+ },
+ "format": {
+ "example": "Bo3",
+ "type": "string"
+ },
+ "head_to_head": {
+ "$ref": "#/definitions/vlr.HeadToHead"
+ },
+ "id": {
+ "example": "777956",
+ "type": "string"
+ },
+ "maps": {
+ "items": {
+ "$ref": "#/definitions/vlr.MapResult"
+ },
+ "type": "array"
+ },
+ "note": {
+ "type": "string"
+ },
+ "past_matches": {
+ "items": {
+ "$ref": "#/definitions/vlr.PastMatches"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "example": "https://www.vlr.gg/matches",
+ "type": "string"
+ },
+ "start_time_utc": {
+ "example": "2026-10-27T05:00:00Z",
+ "type": "string"
+ },
+ "status": {
+ "example": "final",
+ "type": "string"
+ },
+ "teams": {
+ "items": {
+ "$ref": "#/definitions/vlr.TeamScore"
+ },
+ "type": "array"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.MatchEconomy": {
+ "properties": {
+ "all_maps": {
+ "$ref": "#/definitions/vlr.EconomyBlock"
+ },
+ "available": {
+ "example": true,
+ "type": "boolean"
+ },
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
+ "type": "string"
+ },
+ "id": {
+ "example": "754737",
+ "type": "string"
+ },
+ "maps": {
+ "items": {
+ "$ref": "#/definitions/vlr.EconomyBlock"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "example": "https://www.vlr.gg/matches",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.MatchListResponse": {
+ "properties": {
+ "count": {
+ "example": 50,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
+ "type": "string"
+ },
+ "has_more": {
+ "example": true,
+ "type": "boolean"
+ },
+ "matches": {
+ "items": {
+ "$ref": "#/definitions/vlr.MatchSummary"
+ },
+ "type": "array"
+ },
+ "page": {
+ "example": 1,
+ "type": "integer"
+ },
+ "source_url": {
+ "example": "https://www.vlr.gg/matches",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.MatchPerformance": {
+ "properties": {
+ "all_maps": {
+ "$ref": "#/definitions/vlr.PerformanceBlock"
+ },
+ "available": {
+ "example": true,
+ "type": "boolean"
+ },
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
+ "type": "string"
+ },
+ "id": {
+ "example": "754737",
+ "type": "string"
+ },
+ "maps": {
+ "items": {
+ "$ref": "#/definitions/vlr.PerformanceBlock"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "example": "https://www.vlr.gg/matches",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.MatchRounds": {
+ "properties": {
+ "available": {
+ "example": true,
+ "type": "boolean"
+ },
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
+ "type": "string"
+ },
+ "id": {
+ "example": "754737",
+ "type": "string"
+ },
+ "maps": {
+ "items": {
+ "$ref": "#/definitions/vlr.RoundsBlock"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "example": "https://www.vlr.gg/matches",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.MatchSummary": {
+ "properties": {
+ "date": {
+ "example": "2026-10-27",
+ "type": "string"
+ },
+ "eta": {
+ "example": "3h 33m",
+ "type": "string"
+ },
+ "event": {
+ "example": "VCT 2026: China Threshold",
+ "type": "string"
+ },
+ "has_stats": {
+ "example": true,
+ "type": "boolean"
+ },
+ "has_vods": {
+ "example": false,
+ "type": "boolean"
+ },
+ "id": {
+ "example": "777956",
+ "type": "string"
+ },
+ "note": {
+ "type": "string"
+ },
+ "series": {
+ "example": "Week 2–Round of 12",
+ "type": "string"
+ },
+ "status": {
+ "enum": [
+ "upcoming",
+ "live",
+ "completed"
+ ],
+ "example": "completed",
+ "type": "string"
+ },
+ "teams": {
+ "items": {
+ "$ref": "#/definitions/vlr.MatchTeam"
+ },
+ "type": "array"
+ },
+ "time_label": {
+ "example": "5:00 PM",
+ "type": "string"
+ },
+ "url": {
+ "example": "https://www.vlr.gg/777956/unsettled-resentment-vs-victory-no-limits-gaming-vct-2026-china-threshold-week-2-ro12",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.MatchTeam": {
+ "properties": {
+ "country_code": {
+ "example": "cn",
+ "type": "string"
+ },
+ "name": {
+ "example": "Unsettled Resentment",
+ "type": "string"
+ },
+ "score": {
+ "example": 2,
+ "type": "integer"
+ },
+ "winner": {
+ "example": true,
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.MatrixCell": {
+ "properties": {
+ "deaths": {
+ "example": 15,
+ "type": "integer"
+ },
+ "diff": {
+ "example": -4,
+ "type": "integer"
+ },
+ "kills": {
+ "example": 11,
+ "type": "integer"
+ },
+ "opponent": {
+ "$ref": "#/definitions/vlr.MatrixPlayer"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.MatrixPlayer": {
+ "properties": {
+ "name": {
+ "example": "erde",
+ "type": "string"
+ },
+ "team": {
+ "example": "LOUD",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.MatrixRow": {
+ "properties": {
+ "player": {
+ "$ref": "#/definitions/vlr.MatrixPlayer"
+ },
+ "vs": {
+ "items": {
+ "$ref": "#/definitions/vlr.MatrixCell"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.NewsItem": {
+ "properties": {
+ "author": {
+ "example": "jenopelle",
+ "type": "string"
+ },
+ "country_code": {
+ "example": "kr",
+ "type": "string"
+ },
+ "date": {
+ "example": "2026-10-27",
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "id": {
+ "example": "780785",
+ "type": "string"
+ },
+ "title": {
+ "example": "T1 Academy's full roster released ahead of 2027 season",
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.NewsResponse": {
+ "properties": {
+ "count": {
+ "example": 30,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
+ "type": "string"
+ },
+ "has_more": {
+ "example": true,
+ "type": "boolean"
+ },
+ "items": {
+ "items": {
+ "$ref": "#/definitions/vlr.NewsItem"
+ },
+ "type": "array"
+ },
+ "page": {
+ "example": 1,
+ "type": "integer"
+ },
+ "source_url": {
+ "example": "https://www.vlr.gg/matches",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.PastMatch": {
+ "properties": {
+ "date": {
+ "example": "2026/10/16",
+ "type": "string"
+ },
+ "id": {
+ "example": "754736",
+ "type": "string"
+ },
+ "opponent": {
+ "example": "Team Vitality",
+ "type": "string"
+ },
+ "result": {
+ "enum": [
+ "win",
+ "loss"
+ ],
+ "example": "win",
+ "type": "string"
+ },
+ "score": {
+ "example": "2:1",
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.PastMatches": {
+ "properties": {
+ "matches": {
+ "items": {
+ "$ref": "#/definitions/vlr.PastMatch"
+ },
+ "type": "array"
+ },
+ "team": {
+ "example": "LOUD",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.PerformanceBlock": {
+ "properties": {
+ "advanced": {
+ "items": {
+ "$ref": "#/definitions/vlr.AdvancedLine"
+ },
+ "type": "array"
+ },
+ "game_id": {
+ "example": "283286",
+ "type": "string"
+ },
+ "kill_matrices": {
+ "items": {
+ "$ref": "#/definitions/vlr.KillMatrix"
+ },
+ "type": "array"
+ },
+ "map": {
+ "example": "Bind",
+ "type": "string"
+ },
+ "map_number": {
+ "example": 1,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.PlayerDetail": {
+ "properties": {
+ "agent_stats": {
+ "items": {
+ "$ref": "#/definitions/vlr.AgentUsage"
+ },
+ "type": "array"
+ },
+ "alias": {
+ "example": "Jamppi",
+ "type": "string"
+ },
+ "country": {
+ "example": "FINLAND",
+ "type": "string"
+ },
+ "country_code": {
+ "example": "fi",
+ "type": "string"
+ },
+ "current_teams": {
+ "items": {
+ "$ref": "#/definitions/vlr.PlayerTeam"
+ },
+ "type": "array"
+ },
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
+ "type": "string"
+ },
+ "id": {
+ "example": "9780",
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "links": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "past_teams": {
+ "items": {
+ "$ref": "#/definitions/vlr.PlayerTeam"
+ },
+ "type": "array"
+ },
+ "real_name": {
+ "example": "Elias Olkkonen",
+ "type": "string"
+ },
+ "recent_matches": {
+ "items": {
+ "$ref": "#/definitions/vlr.TeamMatch"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "example": "https://www.vlr.gg/matches",
+ "type": "string"
+ },
+ "timespan": {
+ "enum": [
+ "all",
+ "30d",
+ "60d",
+ "90d"
+ ],
+ "example": "90d",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.PlayerLine": {
+ "properties": {
+ "acs": {
+ "example": 297,
+ "type": "integer"
+ },
+ "adr": {
+ "example": 178.3,
+ "type": "number"
+ },
+ "agents": {
+ "example": [
+ "Harbor"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "assists": {
+ "example": 12,
+ "type": "integer"
+ },
+ "country_code": {
+ "example": "cn",
+ "type": "string"
+ },
+ "deaths": {
+ "example": 23,
+ "type": "integer"
+ },
+ "first_deaths": {
+ "example": 3,
+ "type": "integer"
+ },
+ "first_kills": {
+ "example": 5,
+ "type": "integer"
+ },
+ "fk_diff": {
+ "example": 2,
+ "type": "integer"
+ },
+ "headshot_percent": {
+ "example": 24,
+ "type": "number"
+ },
+ "id": {
+ "example": "66833",
+ "type": "string"
+ },
+ "kast_percent": {
+ "example": 72,
+ "type": "number"
+ },
+ "kd_diff": {
+ "example": 13,
+ "type": "integer"
+ },
+ "kills": {
+ "example": 36,
+ "type": "integer"
+ },
+ "name": {
+ "example": "Hopedawn",
+ "type": "string"
+ },
+ "rating": {
+ "example": 1.12,
+ "type": "number"
+ },
+ "team": {
+ "example": "UR",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.PlayerRef": {
+ "properties": {
+ "country_code": {
+ "example": "cl",
+ "type": "string"
+ },
+ "id": {
+ "example": "29242",
+ "type": "string"
+ },
+ "name": {
+ "example": "erde",
+ "type": "string"
+ },
+ "team": {
+ "example": "LOUD",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.PlayerTeam": {
+ "properties": {
+ "id": {
+ "example": "21919",
+ "type": "string"
+ },
+ "logo_url": {
+ "type": "string"
+ },
+ "name": {
+ "example": "Unsettled Resentment",
+ "type": "string"
+ },
+ "period": {
+ "example": "January 2025 - Present",
+ "type": "string"
+ },
+ "tag": {
+ "example": "UR",
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.RankingRow": {
+ "properties": {
+ "country": {
+ "example": "United States",
+ "type": "string"
+ },
+ "earnings": {
+ "example": "$1,191,150",
+ "type": "string"
+ },
+ "last_match_id": {
+ "example": "754743",
+ "type": "string"
+ },
+ "rank": {
+ "example": 1,
+ "type": "integer"
+ },
+ "rating": {
+ "example": 2000,
+ "type": "number"
+ },
+ "record": {
+ "example": "62–35",
+ "type": "string"
+ },
+ "streak": {
+ "example": "1L",
+ "type": "string"
+ },
+ "team": {
+ "$ref": "#/definitions/vlr.TeamRef"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.RankingsResponse": {
+ "properties": {
+ "count": {
+ "example": 50,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
+ "type": "string"
+ },
+ "region": {
+ "example": "north-america",
+ "type": "string"
+ },
+ "source_url": {
+ "example": "https://www.vlr.gg/matches",
+ "type": "string"
+ },
+ "teams": {
+ "items": {
+ "$ref": "#/definitions/vlr.RankingRow"
+ },
+ "type": "array"
+ },
+ "total": {
+ "example": 197,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.Ratio": {
+ "properties": {
+ "played": {
+ "example": 8,
+ "type": "integer"
+ },
+ "won": {
+ "example": 3,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.RosterMember": {
+ "properties": {
+ "alias": {
+ "example": "Jamppi",
+ "type": "string"
+ },
+ "country_code": {
+ "example": "fi",
+ "type": "string"
+ },
+ "id": {
+ "example": "9780",
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "real_name": {
+ "example": "Elias Olkkonen",
+ "type": "string"
+ },
+ "role": {
+ "enum": [
+ "player",
+ "captain",
+ "coach",
+ "manager",
+ "analyst",
+ "staff"
+ ],
+ "example": "player",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.RoundEvent": {
+ "properties": {
+ "player": {
+ "example": "Derke",
+ "type": "string"
+ },
+ "player_team": {
+ "example": "VIT",
+ "type": "string"
+ },
+ "time": {
+ "example": "0:02",
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "kill",
+ "plant",
+ "defuse"
+ ],
+ "example": "kill",
+ "type": "string"
+ },
+ "victim": {
+ "example": "lukxo",
+ "type": "string"
+ },
+ "weapon": {
+ "example": "Headhunter",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.RoundLoadout": {
+ "properties": {
+ "agent": {
+ "example": "Sage",
+ "type": "string"
+ },
+ "armor": {
+ "example": "Light armor",
+ "type": "string"
+ },
+ "credits_left": {
+ "example": 0,
+ "type": "integer"
+ },
+ "player": {
+ "example": "erde",
+ "type": "string"
+ },
+ "spent": {
+ "example": 800,
+ "type": "integer"
+ },
+ "team": {
+ "example": "LOUD",
+ "type": "string"
+ },
+ "weapon": {
+ "example": "Ghost",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.RoundLog": {
+ "properties": {
+ "attacking_team": {
+ "example": "LOUD",
+ "type": "string"
+ },
+ "events": {
+ "items": {
+ "$ref": "#/definitions/vlr.RoundEvent"
+ },
+ "type": "array"
+ },
+ "loadouts": {
+ "items": {
+ "$ref": "#/definitions/vlr.RoundLoadout"
+ },
+ "type": "array"
+ },
+ "round": {
+ "example": 1,
+ "type": "integer"
+ },
+ "score_after": {
+ "$ref": "#/definitions/vlr.RoundScore"
+ },
+ "spike_detonated": {
+ "example": false,
+ "type": "boolean"
+ },
+ "winner_team": {
+ "example": "Team Vitality",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.RoundScore": {
+ "properties": {
+ "team1": {
+ "example": 0,
+ "type": "integer"
+ },
+ "team2": {
+ "example": 1,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.RoundSplit": {
+ "properties": {
+ "attack": {
+ "example": 6,
+ "type": "integer"
+ },
+ "defend": {
+ "example": 6,
+ "type": "integer"
+ },
+ "overtime": {
+ "example": 5,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.RoundsBlock": {
+ "properties": {
+ "game_id": {
+ "example": "283286",
+ "type": "string"
+ },
+ "map": {
+ "example": "Summit",
+ "type": "string"
+ },
+ "map_number": {
+ "example": 1,
+ "type": "integer"
+ },
+ "rounds": {
+ "items": {
+ "$ref": "#/definitions/vlr.RoundLog"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.SearchCounts": {
+ "properties": {
+ "events": {
+ "example": 5,
+ "type": "integer"
+ },
+ "players": {
+ "example": 16,
+ "type": "integer"
+ },
+ "teams": {
+ "example": 26,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.SearchResponse": {
+ "properties": {
+ "count": {
+ "example": 47,
+ "type": "integer"
+ },
+ "counts": {
+ "$ref": "#/definitions/vlr.SearchCounts"
+ },
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
+ "type": "string"
+ },
+ "query": {
+ "example": "prime",
+ "type": "string"
+ },
+ "results": {
+ "items": {
+ "$ref": "#/definitions/vlr.SearchResult"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "example": "https://www.vlr.gg/matches",
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "all",
+ "teams",
+ "events",
+ "players"
+ ],
+ "example": "all",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.SearchResult": {
+ "properties": {
+ "date_range": {
+ "example": "May 27, 2026 to Jul 28, 2026",
+ "type": "string"
+ },
+ "description": {
+ "example": "May 27, 2026 to Jul 28, 2026 ⋅ $500",
+ "type": "string"
+ },
+ "id": {
+ "example": "2",
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "inactive": {
+ "example": true,
+ "type": "boolean"
+ },
+ "kind": {
+ "enum": [
+ "team",
+ "event",
+ "player"
+ ],
+ "example": "team",
+ "type": "string"
+ },
+ "name": {
+ "example": "Sentinels",
+ "type": "string"
+ },
+ "prize_pool": {
+ "example": "$500",
+ "type": "string"
+ },
+ "successor": {
+ "example": "Into The Breach Prime",
+ "type": "string"
+ },
+ "url": {
+ "example": "https://www.vlr.gg/team/2",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.StatsResponse": {
+ "properties": {
+ "count": {
+ "example": 50,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
+ "type": "string"
+ },
+ "has_more": {
+ "example": true,
+ "type": "boolean"
+ },
+ "page": {
+ "example": 1,
+ "type": "integer"
+ },
+ "players": {
+ "items": {
+ "$ref": "#/definitions/vlr.StatsRow"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "example": "https://www.vlr.gg/matches",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.StatsRow": {
+ "properties": {
+ "acs": {
+ "example": 224,
+ "type": "number"
+ },
+ "adr": {
+ "example": 147.2,
+ "type": "number"
+ },
+ "agent_usage": {
+ "example": [
+ "54%"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "agents": {
+ "example": [
+ "Jett"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "assists": {
+ "example": 289,
+ "type": "integer"
+ },
+ "assists_per_round": {
+ "example": 0.38,
+ "type": "number"
+ },
+ "clutch_percent": {
+ "example": 15,
+ "type": "number"
+ },
+ "clutches_total": {
+ "example": 89,
+ "type": "integer"
+ },
+ "clutches_won": {
+ "example": 13,
+ "type": "integer"
+ },
+ "deaths": {
+ "example": 466,
+ "type": "integer"
+ },
+ "first_death_percent": {
+ "example": 9,
+ "type": "number"
+ },
+ "first_deaths": {
+ "example": 69,
+ "type": "integer"
+ },
+ "first_kill_percent": {
+ "example": 10,
+ "type": "number"
+ },
+ "first_kills": {
+ "example": 73,
+ "type": "integer"
+ },
+ "fk_fd_ratio": {
+ "example": 1.06,
+ "type": "number"
+ },
+ "headshot_percent": {
+ "example": 28,
+ "type": "number"
+ },
+ "kast_percent": {
+ "example": 76,
+ "type": "number"
+ },
+ "kd": {
+ "example": 1.27,
+ "type": "number"
+ },
+ "kills": {
+ "example": 594,
+ "type": "integer"
+ },
+ "kills_per_round": {
+ "example": 0.79,
+ "type": "number"
+ },
+ "maps": {
+ "example": 35,
+ "type": "integer"
+ },
+ "max_kills": {
+ "example": 28,
+ "type": "integer"
+ },
+ "player": {
+ "$ref": "#/definitions/vlr.PlayerRef"
+ },
+ "rating": {
+ "example": 1.22,
+ "type": "number"
+ },
+ "rounds": {
+ "example": 752,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.TeamComposition": {
+ "properties": {
+ "agents_used": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "matches": {
+ "items": {
+ "$ref": "#/definitions/vlr.CompositionMatch"
+ },
+ "type": "array"
+ },
+ "team": {
+ "example": "Dragon Ranger Gaming",
+ "type": "string"
+ },
+ "team_id": {
+ "example": "11981",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.TeamDetail": {
+ "properties": {
+ "country": {
+ "example": "Europe",
+ "type": "string"
+ },
+ "country_code": {
+ "example": "eu",
+ "type": "string"
+ },
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
+ "type": "string"
+ },
+ "id": {
+ "example": "2059",
+ "type": "string"
+ },
+ "links": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "logo_url": {
+ "type": "string"
+ },
+ "name": {
+ "example": "Team Vitality",
+ "type": "string"
+ },
+ "news": {
+ "items": {
+ "$ref": "#/definitions/vlr.NewsItem"
+ },
+ "type": "array"
+ },
+ "recent_matches": {
+ "items": {
+ "$ref": "#/definitions/vlr.TeamMatch"
+ },
+ "type": "array"
+ },
+ "roster": {
+ "items": {
+ "$ref": "#/definitions/vlr.RosterMember"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "example": "https://www.vlr.gg/matches",
+ "type": "string"
+ },
+ "tag": {
+ "example": "VIT",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.TeamEconomy": {
+ "properties": {
+ "bonus_rounds": {
+ "$ref": "#/definitions/vlr.Ratio"
+ },
+ "pistol_conversion": {
+ "$ref": "#/definitions/vlr.Ratio"
+ },
+ "pistol_rounds": {
+ "$ref": "#/definitions/vlr.Ratio"
+ },
+ "team": {
+ "example": "LOUD",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.TeamMapRow": {
+ "properties": {
+ "attack": {
+ "$ref": "#/definitions/vlr.MapSide"
+ },
+ "defense": {
+ "$ref": "#/definitions/vlr.MapSide"
+ },
+ "losses": {
+ "example": 25,
+ "type": "integer"
+ },
+ "map": {
+ "example": "Bind",
+ "type": "string"
+ },
+ "played": {
+ "example": 45,
+ "type": "integer"
+ },
+ "win_percent": {
+ "example": 44,
+ "type": "number"
+ },
+ "wins": {
+ "example": 20,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.TeamMapsResponse": {
+ "properties": {
+ "count": {
+ "example": 12,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "example": "2026-10-27T10:00:00Z",
+ "type": "string"
+ },
+ "maps": {
+ "items": {
+ "$ref": "#/definitions/vlr.TeamMapRow"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "example": "https://www.vlr.gg/matches",
+ "type": "string"
+ },
+ "team_id": {
+ "example": "2059",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.TeamMatch": {
+ "properties": {
+ "date": {
+ "example": "2026/10/18",
+ "type": "string"
+ },
+ "eta": {
+ "example": "1d 17h",
+ "type": "string"
+ },
+ "event": {
+ "example": "Champions 2026",
+ "type": "string"
+ },
+ "id": {
+ "example": "754737",
+ "type": "string"
+ },
+ "opponent": {
+ "example": "LOUD",
+ "type": "string"
+ },
+ "result": {
+ "enum": [
+ "win",
+ "loss",
+ "upcoming"
+ ],
+ "example": "loss",
+ "type": "string"
+ },
+ "score": {
+ "example": "1:3",
+ "type": "string"
+ },
+ "stage": {
+ "example": "Playoffs ⋅ GF",
+ "type": "string"
+ },
+ "team": {
+ "example": "Team Vitality",
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.TeamRef": {
+ "properties": {
+ "id": {
+ "example": "21919",
+ "type": "string"
+ },
+ "logo_url": {
+ "type": "string"
+ },
+ "name": {
+ "example": "Unsettled Resentment",
+ "type": "string"
+ },
+ "tag": {
+ "example": "UR",
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vlr.TeamScore": {
+ "properties": {
+ "id": {
+ "example": "21919",
+ "type": "string"
+ },
+ "logo_url": {
+ "type": "string"
+ },
+ "name": {
+ "example": "Unsettled Resentment",
+ "type": "string"
+ },
+ "score": {
+ "example": 2,
+ "type": "integer"
+ },
+ "tag": {
+ "example": "UR",
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "winner": {
+ "example": true,
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "vox.AuthorArticle": {
+ "properties": {
+ "category": {
+ "type": "string"
+ },
+ "excerpt": {
+ "type": "string"
+ },
+ "published_at": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vox.AuthorResponse": {
+ "properties": {
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/vox.AuthorArticle"
+ },
+ "type": "array"
+ },
+ "bio": {
+ "type": "string"
+ },
+ "job_title": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vrbo.AmenityGroup": {
+ "properties": {
+ "items": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "name": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vrbo.CalendarDate": {
+ "properties": {
+ "day": {
+ "type": "integer"
+ },
+ "month": {
+ "type": "integer"
+ },
+ "year": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "vrbo.Listing": {
+ "properties": {
+ "bedrooms": {
+ "type": "integer"
+ },
+ "currency": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "price": {
+ "type": "number"
+ },
+ "property_type": {
+ "type": "string"
+ },
+ "rating": {
+ "type": "number"
+ },
+ "review_count": {
+ "type": "integer"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vrbo.LocationSuggestion": {
+ "properties": {
+ "geo_type": {
+ "type": "string"
+ },
+ "location_full_name": {
+ "type": "string"
+ },
+ "primary_text": {
+ "type": "string"
+ },
+ "region_id": {
+ "type": "string"
+ },
+ "secondary_text": {
+ "type": "string"
+ },
+ "sub_items": {
+ "items": {
+ "$ref": "#/definitions/vrbo.LocationSuggestion"
+ },
+ "type": "array"
+ },
+ "type": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vrbo.LocationSuggestionGroup": {
+ "properties": {
+ "items": {
+ "items": {
+ "$ref": "#/definitions/vrbo.LocationSuggestion"
+ },
+ "type": "array"
+ },
+ "title": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vrbo.LocationSuggestionsResponse": {
+ "properties": {
+ "groups": {
+ "items": {
+ "$ref": "#/definitions/vrbo.LocationSuggestionGroup"
+ },
+ "type": "array"
+ },
+ "search_term": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vrbo.Photo": {
+ "properties": {
+ "description": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vrbo.Property": {
+ "properties": {
+ "amenities": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "amenity_groups": {
+ "items": {
+ "$ref": "#/definitions/vrbo.AmenityGroup"
+ },
+ "type": "array"
+ },
+ "content_sections": {
+ "items": {
+ "$ref": "#/definitions/vrbo.PropertyContentSection"
+ },
+ "type": "array"
+ },
+ "description": {
+ "type": "string"
+ },
+ "faqs": {
+ "items": {
+ "$ref": "#/definitions/vrbo.PropertyFAQ"
+ },
+ "type": "array"
+ },
+ "id": {
+ "type": "string"
+ },
+ "location": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "photos": {
+ "items": {
+ "$ref": "#/definitions/vrbo.Photo"
+ },
+ "type": "array"
+ },
+ "rating": {
+ "type": "number"
+ },
+ "rating_label": {
+ "type": "string"
+ },
+ "review_count": {
+ "type": "integer"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vrbo.PropertyContentSection": {
+ "properties": {
+ "items": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "name": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vrbo.PropertyFAQ": {
+ "properties": {
+ "answer": {
+ "type": "string"
+ },
+ "question": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vrbo.PropertyReview": {
+ "properties": {
+ "author": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "locale": {
+ "type": "string"
+ },
+ "management_responses": {
+ "items": {
+ "$ref": "#/definitions/vrbo.PropertyReviewResponse"
+ },
+ "type": "array"
+ },
+ "rating": {
+ "type": "number"
+ },
+ "rating_label": {
+ "type": "string"
+ },
+ "submission_time": {
+ "type": "string"
+ },
+ "text": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "travelers": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "vrbo.PropertyReviewResponse": {
+ "properties": {
+ "header": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "response": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vrbo.RateCalendar": {
+ "properties": {
+ "configuration": {
+ "$ref": "#/definitions/vrbo.RateCalendarConfiguration"
+ },
+ "days": {
+ "items": {
+ "$ref": "#/definitions/vrbo.RateCalendarDay"
+ },
+ "type": "array"
+ },
+ "product_id": {
+ "type": "string"
+ },
+ "property_id": {
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "submit_button_label": {
+ "type": "string"
+ },
+ "validation_message": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vrbo.RateCalendarConfiguration": {
+ "properties": {
+ "available_by_default": {
+ "type": "boolean"
+ },
+ "begin_date": {
+ "$ref": "#/definitions/vrbo.CalendarDate"
+ },
+ "calendar_template_type": {
+ "type": "string"
+ },
+ "current_date": {
+ "$ref": "#/definitions/vrbo.CalendarDate"
+ },
+ "end_date": {
+ "$ref": "#/definitions/vrbo.CalendarDate"
+ },
+ "tnl_fields": {
+ "items": {
+ "$ref": "#/definitions/vrbo.RateCalendarField"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "vrbo.RateCalendarDay": {
+ "properties": {
+ "accessibility_label": {
+ "type": "string"
+ },
+ "available": {
+ "type": "boolean"
+ },
+ "checkin_validity": {
+ "type": "boolean"
+ },
+ "checkout_validity": {
+ "type": "boolean"
+ },
+ "date": {
+ "$ref": "#/definitions/vrbo.CalendarDate"
+ },
+ "display_price": {
+ "type": "string"
+ },
+ "stay_constraints": {
+ "$ref": "#/definitions/vrbo.RateCalendarStayConstraints"
+ },
+ "theme": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vrbo.RateCalendarField": {
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vrbo.RateCalendarStayConstraints": {
+ "properties": {
+ "maximum_stay_in_days": {
+ "type": "integer"
+ },
+ "minimum_stay_in_days": {
+ "type": "integer"
+ },
+ "stay_increment_in_days": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "vrbo.ReviewSortOption": {
+ "properties": {
+ "description": {
+ "type": "string"
+ },
+ "label": {
+ "type": "string"
+ },
+ "selected": {
+ "type": "boolean"
+ },
+ "value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vrbo.ReviewsResponse": {
+ "properties": {
+ "product_id": {
+ "type": "string"
+ },
+ "property_id": {
+ "type": "string"
+ },
+ "reviews": {
+ "items": {
+ "$ref": "#/definitions/vrbo.PropertyReview"
+ },
+ "type": "array"
+ },
+ "size": {
+ "type": "integer"
+ },
+ "sort_by": {
+ "type": "string"
+ },
+ "sort_options": {
+ "items": {
+ "$ref": "#/definitions/vrbo.ReviewSortOption"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "start_index": {
+ "type": "integer"
+ },
+ "total_count": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "vrbo.SearchFilterGroup": {
+ "properties": {
+ "control_type": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "label": {
+ "type": "string"
+ },
+ "options": {
+ "items": {
+ "$ref": "#/definitions/vrbo.SearchFilterOption"
+ },
+ "type": "array"
+ },
+ "range": {
+ "$ref": "#/definitions/vrbo.SearchFilterRange"
+ },
+ "ranges": {
+ "description": "Ranges lists every range option nested under a range control. Range\nremains the first option for compatibility with the original response.",
+ "items": {
+ "$ref": "#/definitions/vrbo.SearchFilterRange"
+ },
+ "type": "array"
+ },
+ "section": {
+ "type": "string"
+ },
+ "step_input": {
+ "$ref": "#/definitions/vrbo.SearchFilterStep"
+ }
+ },
+ "type": "object"
+ },
+ "vrbo.SearchFilterOption": {
+ "properties": {
+ "disabled": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "label": {
+ "type": "string"
+ },
+ "result_count": {
+ "type": "integer"
+ },
+ "selected": {
+ "type": "boolean"
+ },
+ "value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vrbo.SearchFilterRange": {
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "max": {
+ "type": "number"
+ },
+ "max_label": {
+ "type": "string"
+ },
+ "min": {
+ "type": "number"
+ },
+ "min_label": {
+ "type": "string"
+ },
+ "number_format": {
+ "type": "string"
+ },
+ "selected_max": {
+ "type": "number"
+ },
+ "selected_min": {
+ "type": "number"
+ },
+ "step": {
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "vrbo.SearchFilterRangeSelection": {
+ "properties": {
+ "id": {
+ "example": "nightly_price",
+ "type": "string"
+ },
+ "max": {
+ "example": 500,
+ "type": "number"
+ },
+ "min": {
+ "example": 100,
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "vrbo.SearchFilterSelection": {
+ "properties": {
+ "id": {
+ "example": "property_type_group",
+ "type": "string"
+ },
+ "values": {
+ "example": [
+ "house"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "vrbo.SearchFilterStep": {
+ "properties": {
+ "current": {
+ "type": "integer"
+ },
+ "default": {
+ "type": "integer"
+ },
+ "label": {
+ "type": "string"
+ },
+ "max": {
+ "type": "integer"
+ },
+ "min": {
+ "type": "integer"
+ },
+ "step": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "vrbo.SearchOption": {
+ "properties": {
+ "adults": {
+ "example": 2,
+ "type": "integer"
+ },
+ "check_in": {
+ "example": "2026-10-10",
+ "type": "string"
+ },
+ "check_out": {
+ "example": "2026-10-24",
+ "type": "string"
+ },
+ "child_ages": {
+ "description": "ChildAges contains ages 2–17 for children in the default single room.",
+ "example": [
+ 8,
+ 12
+ ],
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "destination": {
+ "example": "Miami Beach, Florida, United States of America",
+ "type": "string"
+ },
+ "filter_ranges": {
+ "description": "Ranges applies numeric ranges by their live nested facet ID.",
+ "items": {
+ "$ref": "#/definitions/vrbo.SearchFilterRangeSelection"
+ },
+ "type": "array"
+ },
+ "filters": {
+ "description": "Filters are selections copied from the live facet metadata in a search response.",
+ "items": {
+ "$ref": "#/definitions/vrbo.SearchFilterSelection"
+ },
+ "type": "array"
+ },
+ "flexibility": {
+ "example": "3_DAY",
+ "type": "string"
+ },
+ "lat_long": {
+ "example": "25.790653,-80.130043",
+ "type": "string"
+ },
+ "limit": {
+ "example": 10,
+ "type": "integer"
+ },
+ "region_id": {
+ "example": "8833",
+ "type": "string"
+ },
+ "rooms": {
+ "description": "Rooms overrides Adults and ChildAges and supports multi-room searches.",
+ "items": {
+ "$ref": "#/definitions/vrbo.SearchRoom"
+ },
+ "type": "array"
+ },
+ "sort": {
+ "enum": [
+ "RECOMMENDED",
+ "PRICE_LOW_TO_HIGH",
+ "PRICE_HIGH_TO_LOW",
+ "REVIEW",
+ "REVIEW_COUNT"
+ ],
+ "example": "PRICE_LOW_TO_HIGH",
+ "type": "string"
+ }
+ },
+ "required": [
+ "check_in",
+ "check_out",
+ "destination",
+ "lat_long",
+ "region_id"
+ ],
+ "type": "object"
+ },
+ "vrbo.SearchResponse": {
+ "properties": {
+ "check_in": {
+ "type": "string"
+ },
+ "check_out": {
+ "type": "string"
+ },
+ "destination": {
+ "type": "string"
+ },
+ "filters": {
+ "items": {
+ "$ref": "#/definitions/vrbo.SearchFilterGroup"
+ },
+ "type": "array"
+ },
+ "region_id": {
+ "type": "string"
+ },
+ "results": {
+ "items": {
+ "$ref": "#/definitions/vrbo.Listing"
+ },
+ "type": "array"
+ },
+ "rooms": {
+ "items": {
+ "$ref": "#/definitions/vrbo.SearchRoom"
+ },
+ "type": "array"
+ },
+ "sort_options": {
+ "items": {
+ "$ref": "#/definitions/vrbo.SearchSortOption"
+ },
+ "type": "array"
+ },
+ "total_results": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "vrbo.SearchRoom": {
+ "properties": {
+ "adults": {
+ "example": 2,
+ "type": "integer"
+ },
+ "child_ages": {
+ "example": [
+ 8
+ ],
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "vrbo.SearchSortOption": {
+ "properties": {
+ "default": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "label": {
+ "type": "string"
+ },
+ "selected": {
+ "type": "boolean"
+ },
+ "value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vrbo.TravelPage": {
+ "properties": {
+ "path": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vrbo.TravelPageDetail": {
+ "properties": {
+ "description": {
+ "type": "string"
+ },
+ "editorial_sections": {
+ "items": {
+ "$ref": "#/definitions/vrbo.TravelPageEditorialSection"
+ },
+ "type": "array"
+ },
+ "path": {
+ "type": "string"
+ },
+ "related_page_groups": {
+ "items": {
+ "$ref": "#/definitions/vrbo.TravelPageLinkGroup"
+ },
+ "type": "array"
+ },
+ "sections": {
+ "items": {
+ "$ref": "#/definitions/vrbo.TravelPageSection"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vrbo.TravelPageEditorialSection": {
+ "properties": {
+ "description": {
+ "type": "string"
+ },
+ "parent_title": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vrbo.TravelPageLinkGroup": {
+ "properties": {
+ "pages": {
+ "items": {
+ "$ref": "#/definitions/vrbo.TravelPage"
+ },
+ "type": "array"
+ },
+ "title": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vrbo.TravelPageListing": {
+ "properties": {
+ "description": {
+ "type": "string"
+ },
+ "location": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "photos": {
+ "items": {
+ "$ref": "#/definitions/vrbo.Photo"
+ },
+ "type": "array"
+ },
+ "rating": {
+ "type": "number"
+ },
+ "rating_label": {
+ "type": "string"
+ },
+ "review_count": {
+ "type": "integer"
+ },
+ "summary": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vrbo.TravelPageSection": {
+ "properties": {
+ "description": {
+ "type": "string"
+ },
+ "listings": {
+ "items": {
+ "$ref": "#/definitions/vrbo.TravelPageListing"
+ },
+ "type": "array"
+ },
+ "subtitle": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vrbo.TravelPagesResponse": {
+ "properties": {
+ "pages": {
+ "items": {
+ "$ref": "#/definitions/vrbo.TravelPage"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "vrbo.vrboLocationSuggestionsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/vrbo.LocationSuggestionsResponse"
+ }
+ },
+ "type": "object"
+ },
+ "vrbo.vrboPropertyResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/vrbo.Property"
+ }
+ },
+ "type": "object"
+ },
+ "vrbo.vrboRateCalendarResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/vrbo.RateCalendar"
+ }
+ },
+ "type": "object"
+ },
+ "vrbo.vrboReviewsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/vrbo.ReviewsResponse"
+ }
+ },
+ "type": "object"
+ },
+ "vrbo.vrboSearchResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/vrbo.SearchResponse"
+ }
+ },
+ "type": "object"
+ },
+ "vrbo.vrboTravelPageDetailResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/vrbo.TravelPageDetail"
+ }
+ },
+ "type": "object"
+ },
+ "vrbo.vrboTravelPagesResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/vrbo.TravelPagesResponse"
+ }
+ },
+ "type": "object"
+ },
+ "walgreens.Store": {
+ "properties": {
+ "address_line1": {
+ "type": "string"
+ },
+ "brand": {
+ "type": "string"
+ },
+ "city": {
+ "type": "string"
+ },
+ "county": {
+ "type": "string"
+ },
+ "distance_miles": {
+ "type": "number"
+ },
+ "fax": {
+ "type": "string"
+ },
+ "intersection": {
+ "type": "string"
+ },
+ "latitude": {
+ "type": "number"
+ },
+ "longitude": {
+ "type": "number"
+ },
+ "name": {
+ "type": "string"
+ },
+ "pharmacy_close_time": {
+ "type": "string"
+ },
+ "pharmacy_open_time": {
+ "type": "string"
+ },
+ "phone": {
+ "type": "string"
+ },
+ "services": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "state": {
+ "type": "string"
+ },
+ "store_close_time": {
+ "type": "string"
+ },
+ "store_number": {
+ "type": "string"
+ },
+ "store_open_time": {
+ "type": "string"
+ },
+ "store_type": {
+ "type": "string"
+ },
+ "time_zone": {
+ "type": "string"
+ },
+ "zip": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "walgreens.StoresResponse": {
+ "properties": {
+ "stores": {
+ "items": {
+ "$ref": "#/definitions/walgreens.Store"
+ },
+ "type": "array"
+ },
+ "total_count": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "walgreens.storesResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/walgreens.StoresResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wallapop.CategoriesResponse": {
+ "properties": {
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/wallapop.Category"
+ },
+ "type": "array"
+ },
+ "count": {
+ "example": 997,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "example": "2026-10-25T00:00:00Z",
+ "type": "string"
+ },
+ "max_depth": {
+ "example": 5,
+ "type": "integer"
+ },
+ "root_count": {
+ "example": 18,
+ "type": "integer"
+ },
+ "source_url": {
+ "example": "https://api.wallapop.com/api/v3/categories?context=search",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wallapop.Category": {
+ "properties": {
+ "depth": {
+ "example": 1,
+ "type": "integer"
+ },
+ "id": {
+ "example": 12465,
+ "type": "integer"
+ },
+ "is_leaf": {
+ "example": false,
+ "type": "boolean"
+ },
+ "name": {
+ "example": "Fashion & accessories",
+ "type": "string"
+ },
+ "parent_id": {
+ "example": 11002,
+ "type": "integer"
+ },
+ "path": {
+ "example": "fashion-and-accessories/women",
+ "type": "string"
+ },
+ "root_id": {
+ "example": 12465,
+ "type": "integer"
+ },
+ "vertical_id": {
+ "example": "fashion",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wallapop.FilterDefinition": {
+ "properties": {
+ "format": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "is_search_enabled": {
+ "type": "boolean"
+ },
+ "label": {
+ "type": "string"
+ },
+ "options": {
+ "items": {
+ "$ref": "#/definitions/wallapop.FilterOption"
+ },
+ "type": "array"
+ },
+ "options_endpoint": {
+ "type": "string"
+ },
+ "reload_when_changed": {
+ "type": "boolean"
+ },
+ "search_params": {
+ "additionalProperties": {
+ "$ref": "#/definitions/wallapop.FilterParamBinding"
+ },
+ "type": "object"
+ },
+ "selection": {
+ "type": "string"
+ },
+ "source": {
+ "type": "string"
+ },
+ "steps": {
+ "items": {
+ "$ref": "#/definitions/wallapop.FilterRangeStep"
+ },
+ "type": "array"
+ },
+ "title": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "unit": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wallapop.FilterOption": {
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wallapop.FilterOptionsResponse": {
+ "properties": {
+ "brand": {
+ "type": "string"
+ },
+ "category_id": {
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "filter_id": {
+ "type": "string"
+ },
+ "next_cursor": {
+ "type": "string"
+ },
+ "options": {
+ "items": {
+ "$ref": "#/definitions/wallapop.FilterOption"
+ },
+ "type": "array"
+ },
+ "options_query": {
+ "type": "string"
+ },
+ "page_size": {
+ "type": "integer"
+ },
+ "q": {
+ "type": "string"
+ },
+ "sort": {
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wallapop.FilterParamBinding": {
+ "properties": {
+ "param_key": {
+ "type": "string"
+ },
+ "param_value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wallapop.FilterRangeStep": {
+ "properties": {
+ "end": {
+ "type": "number"
+ },
+ "increment": {
+ "type": "number"
+ },
+ "start": {
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "wallapop.FiltersResponse": {
+ "properties": {
+ "category_id": {
+ "type": "integer"
+ },
+ "count": {
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "filters": {
+ "items": {
+ "$ref": "#/definitions/wallapop.FilterDefinition"
+ },
+ "type": "array"
+ },
+ "query": {
+ "type": "string"
+ },
+ "root_category_id": {
+ "type": "integer"
+ },
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wallapop.ItemDetailAttribute": {
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "text": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wallapop.ItemDetailCharacteristic": {
+ "properties": {
+ "attribute": {
+ "type": "string"
+ },
+ "value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wallapop.ItemDetailCondition": {
+ "properties": {
+ "text": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wallapop.ItemDetailRelatedSearch": {
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wallapop.ItemDetailResponse": {
+ "properties": {
+ "attributes": {
+ "items": {
+ "$ref": "#/definitions/wallapop.ItemDetailAttribute"
+ },
+ "type": "array"
+ },
+ "category_id": {
+ "type": "integer"
+ },
+ "characteristics": {
+ "items": {
+ "$ref": "#/definitions/wallapop.ItemDetailCharacteristic"
+ },
+ "type": "array"
+ },
+ "condition": {
+ "$ref": "#/definitions/wallapop.ItemDetailCondition"
+ },
+ "currency": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "hashtags": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "id": {
+ "type": "string"
+ },
+ "images": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "location": {
+ "$ref": "#/definitions/wallapop.ListingLocation"
+ },
+ "price": {
+ "type": "number"
+ },
+ "related_searches": {
+ "items": {
+ "$ref": "#/definitions/wallapop.ItemDetailRelatedSearch"
+ },
+ "type": "array"
+ },
+ "shipping": {
+ "$ref": "#/definitions/wallapop.ListingShipping"
+ },
+ "slug": {
+ "type": "string"
+ },
+ "taxonomy": {
+ "items": {
+ "$ref": "#/definitions/wallapop.ListingTaxonomy"
+ },
+ "type": "array"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wallapop.ListingCard": {
+ "properties": {
+ "category_id": {
+ "type": "integer"
+ },
+ "currency": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "images": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "location": {
+ "$ref": "#/definitions/wallapop.ListingLocation"
+ },
+ "price": {
+ "type": "number"
+ },
+ "shipping": {
+ "$ref": "#/definitions/wallapop.ListingShipping"
+ },
+ "slug": {
+ "type": "string"
+ },
+ "taxonomy": {
+ "items": {
+ "$ref": "#/definitions/wallapop.ListingTaxonomy"
+ },
+ "type": "array"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wallapop.ListingLocation": {
+ "properties": {
+ "city": {
+ "type": "string"
+ },
+ "country_code": {
+ "type": "string"
+ },
+ "region": {
+ "type": "string"
+ },
+ "region2": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wallapop.ListingShipping": {
+ "properties": {
+ "item_is_shippable": {
+ "type": "boolean"
+ },
+ "user_allows_shipping": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "wallapop.ListingTaxonomy": {
+ "properties": {
+ "id": {
+ "type": "integer"
+ },
+ "name": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wallapop.SearchResponse": {
+ "properties": {
+ "category_id": {
+ "type": "integer"
+ },
+ "count": {
+ "type": "integer"
+ },
+ "country_code": {
+ "type": "string"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "items": {
+ "items": {
+ "$ref": "#/definitions/wallapop.ListingCard"
+ },
+ "type": "array"
+ },
+ "next_cursor": {
+ "type": "string"
+ },
+ "query": {
+ "type": "string"
+ },
+ "sort": {
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wallapop.categoriesResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/wallapop.CategoriesResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wallapop.filterOptionsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/wallapop.FilterOptionsResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wallapop.filtersResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/wallapop.FiltersResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wallapop.itemDetailResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/wallapop.ItemDetailResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wallapop.searchResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/wallapop.SearchResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "walmart.Product": {
+ "properties": {
+ "attributes": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "availability": {
+ "example": "IN_STOCK",
+ "type": "string"
+ },
+ "brand": {
+ "example": "Apple",
+ "type": "string"
+ },
+ "canonical_url": {
+ "example": "https://www.walmart.com/ip/5689919121",
+ "type": "string"
+ },
+ "category": {
+ "example": "Electronics",
+ "type": "string"
+ },
+ "currency": {
+ "example": "USD",
+ "type": "string"
+ },
+ "description": {
+ "example": "Wireless earbuds with active noise cancellation.",
+ "type": "string"
+ },
+ "highlights": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "image": {
+ "example": "https://i5.walmartimages.com/seo/example.jpeg",
+ "type": "string"
+ },
+ "images": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "is_sponsored": {
+ "example": false,
+ "type": "boolean"
+ },
+ "item_id": {
+ "example": "5689919121",
+ "type": "string"
+ },
+ "price": {
+ "example": 169,
+ "type": "number"
+ },
+ "price_text": {
+ "example": "$169.00",
+ "type": "string"
+ },
+ "product_id": {
+ "example": "5689919121",
+ "type": "string"
+ },
+ "rating": {
+ "example": 4.6,
+ "type": "number"
+ },
+ "review_count": {
+ "example": 17823,
+ "type": "integer"
+ },
+ "seller_name": {
+ "example": "Walmart.com",
+ "type": "string"
+ },
+ "title": {
+ "example": "Apple AirPods Pro 2",
+ "type": "string"
+ },
+ "variants": {
+ "items": {
+ "$ref": "#/definitions/walmart.ProductSummary"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "walmart.ProductSummary": {
+ "properties": {
+ "availability": {
+ "example": "IN_STOCK",
+ "type": "string"
+ },
+ "brand": {
+ "example": "Apple",
+ "type": "string"
+ },
+ "canonical_url": {
+ "example": "https://www.walmart.com/ip/5689919121",
+ "type": "string"
+ },
+ "currency": {
+ "example": "USD",
+ "type": "string"
+ },
+ "image": {
+ "example": "https://i5.walmartimages.com/seo/example.jpeg",
+ "type": "string"
+ },
+ "images": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "is_sponsored": {
+ "example": false,
+ "type": "boolean"
+ },
+ "item_id": {
+ "example": "5689919121",
+ "type": "string"
+ },
+ "price": {
+ "example": 169,
+ "type": "number"
+ },
+ "price_text": {
+ "example": "$169.00",
+ "type": "string"
+ },
+ "product_id": {
+ "example": "5689919121",
+ "type": "string"
+ },
+ "rating": {
+ "example": 4.6,
+ "type": "number"
+ },
+ "review_count": {
+ "example": 17823,
+ "type": "integer"
+ },
+ "seller_name": {
+ "example": "Walmart.com",
+ "type": "string"
+ },
+ "title": {
+ "example": "Apple AirPods Pro 2",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "walmart.RatingBreakdown": {
+ "properties": {
+ "five_star": {
+ "description": "Number of 5-star ratings on the product.",
+ "example": 1698,
+ "type": "integer"
+ },
+ "four_star": {
+ "description": "Number of 4-star ratings on the product.",
+ "example": 273,
+ "type": "integer"
+ },
+ "one_star": {
+ "description": "Number of 1-star ratings on the product.",
+ "example": 215,
+ "type": "integer"
+ },
+ "three_star": {
+ "description": "Number of 3-star ratings on the product.",
+ "example": 150,
+ "type": "integer"
+ },
+ "two_star": {
+ "description": "Number of 2-star ratings on the product.",
+ "example": 116,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "walmart.Review": {
+ "properties": {
+ "author": {
+ "description": "Nickname of the reviewer.",
+ "example": "MusicFan",
+ "type": "string"
+ },
+ "negative_feedback": {
+ "description": "Number of shoppers who voted the review not helpful.",
+ "example": 1,
+ "type": "integer"
+ },
+ "positive_feedback": {
+ "description": "Number of shoppers who voted the review helpful.",
+ "example": 12,
+ "type": "integer"
+ },
+ "rating": {
+ "description": "Star rating the reviewer gave, out of 5.",
+ "example": 5,
+ "type": "number"
+ },
+ "review_id": {
+ "description": "Walmart review id.",
+ "example": "406499690",
+ "type": "string"
+ },
+ "submission_date": {
+ "description": "Date the review was submitted, as Walmart shows it, for example `11/30/2025`.",
+ "example": "11/30/2025",
+ "type": "string"
+ },
+ "text": {
+ "description": "Body text of the review.",
+ "type": "string"
+ },
+ "title": {
+ "description": "Headline the reviewer gave the review.",
+ "example": "Great sound",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "walmart.ReviewsResponse": {
+ "properties": {
+ "average_rating": {
+ "description": "Average star rating of the product, out of 5.",
+ "example": 4.3,
+ "type": "number"
+ },
+ "item_id": {
+ "description": "Walmart item id the reviews belong to.",
+ "example": "5689919121",
+ "type": "string"
+ },
+ "rating_counts": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/walmart.RatingBreakdown"
+ }
+ ],
+ "description": "Number of ratings the product received at each star level."
+ },
+ "recommended_percent": {
+ "description": "Percentage of reviewers who recommend the product.",
+ "example": 87,
+ "type": "number"
+ },
+ "reviews": {
+ "description": "Sample of recent customer reviews shown on the product page.",
+ "items": {
+ "$ref": "#/definitions/walmart.Review"
+ },
+ "type": "array"
+ },
+ "reviews_with_text_count": {
+ "description": "Number of reviews that include written text.",
+ "example": 1345,
+ "type": "integer"
+ },
+ "top_negative_review": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/walmart.Review"
+ }
+ ],
+ "description": "Most helpful critical review Walmart highlights. Omitted when there is none."
+ },
+ "top_positive_review": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/walmart.Review"
+ }
+ ],
+ "description": "Most helpful positive review Walmart highlights. Omitted when there is none."
+ },
+ "total_review_count": {
+ "description": "Total number of reviews on the product.",
+ "example": 2452,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "walmart.SearchResponse": {
+ "properties": {
+ "items": {
+ "items": {
+ "$ref": "#/definitions/walmart.ProductSummary"
+ },
+ "type": "array"
+ },
+ "page": {
+ "example": 1,
+ "type": "integer"
+ },
+ "query": {
+ "example": "lego",
+ "type": "string"
+ },
+ "total_results": {
+ "example": 1200,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "walmart.productResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/walmart.Product"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "walmart.reviewsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/walmart.ReviewsResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "walmart.searchResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/walmart.SearchResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wapo.ArticleResponse": {
+ "properties": {
+ "authors": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "description": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "paragraphs": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "published_at": {
+ "type": "string"
+ },
+ "section": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "updated_at": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wapo.AuthorResponse": {
+ "properties": {
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/wapo.HeadlineItem"
+ },
+ "type": "array"
+ },
+ "author_type": {
+ "type": "string"
+ },
+ "bio": {
+ "type": "string"
+ },
+ "email": {
+ "type": "string"
+ },
+ "expertise": {
+ "type": "string"
+ },
+ "facebook_url": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "linkedin_url": {
+ "type": "string"
+ },
+ "location": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "page": {
+ "type": "integer"
+ },
+ "role": {
+ "type": "string"
+ },
+ "slug": {
+ "type": "string"
+ },
+ "total_count": {
+ "type": "integer"
+ },
+ "total_pages": {
+ "type": "integer"
+ },
+ "twitter_url": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wapo.HeadlineItem": {
+ "properties": {
+ "description": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "published_at": {
+ "type": "string"
+ },
+ "section": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wapo.HeadlinesResponse": {
+ "properties": {
+ "count": {
+ "type": "integer"
+ },
+ "has_more": {
+ "type": "boolean"
+ },
+ "items": {
+ "items": {
+ "$ref": "#/definitions/wapo.HeadlineItem"
+ },
+ "type": "array"
+ },
+ "section": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wapo.NewsItem": {
+ "properties": {
+ "last_modified": {
+ "type": "string"
+ },
+ "published_at": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wapo.NewsResponse": {
+ "properties": {
+ "items": {
+ "items": {
+ "$ref": "#/definitions/wapo.NewsItem"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "wapo.Section": {
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "slug": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wapo.SectionsResponse": {
+ "properties": {
+ "sections": {
+ "items": {
+ "$ref": "#/definitions/wapo.Section"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "wapo.articleResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/wapo.ArticleResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wapo.authorResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/wapo.AuthorResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wapo.headlinesResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/wapo.HeadlinesResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wapo.newsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/wapo.NewsResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wapo.sectionsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/wapo.SectionsResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wattpad.Author": {
+ "properties": {
+ "avatar": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "username": {
+ "type": "string"
+ },
+ "verified": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "wattpad.CategoriesResponse": {
+ "properties": {
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/wattpad.Category"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "wattpad.Category": {
+ "properties": {
+ "id": {
+ "type": "integer"
+ },
+ "name": {
+ "type": "string"
+ },
+ "name_english": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wattpad.Comment": {
+ "properties": {
+ "author": {
+ "type": "string"
+ },
+ "author_avatar": {
+ "type": "string"
+ },
+ "body": {
+ "type": "string"
+ },
+ "created_at": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "is_reply": {
+ "type": "boolean"
+ },
+ "parent_id": {
+ "type": "string"
+ },
+ "replies": {
+ "type": "integer"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wattpad.Language": {
+ "properties": {
+ "id": {
+ "type": "integer"
+ },
+ "name": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wattpad.LanguagesResponse": {
+ "properties": {
+ "languages": {
+ "items": {
+ "$ref": "#/definitions/wattpad.Language"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "wattpad.Part": {
+ "properties": {
+ "comments": {
+ "type": "integer"
+ },
+ "created_at": {
+ "type": "string"
+ },
+ "draft": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "length": {
+ "type": "integer"
+ },
+ "modified_at": {
+ "type": "string"
+ },
+ "reads": {
+ "type": "integer"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "votes": {
+ "type": "integer"
+ },
+ "word_count": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "wattpad.PartCommentsResponse": {
+ "properties": {
+ "comments": {
+ "items": {
+ "$ref": "#/definitions/wattpad.Comment"
+ },
+ "type": "array"
+ },
+ "limit": {
+ "type": "integer"
+ },
+ "next_offset": {
+ "description": "NextOffset is the offset of the next page; absent when this page held\nfewer comments than were asked for, which means it was the last.",
+ "type": "integer"
+ },
+ "offset": {
+ "type": "integer"
+ },
+ "part_id": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wattpad.PartDetail": {
+ "properties": {
+ "comments": {
+ "type": "integer"
+ },
+ "created_at": {
+ "type": "string"
+ },
+ "draft": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "length": {
+ "type": "integer"
+ },
+ "modified_at": {
+ "type": "string"
+ },
+ "reads": {
+ "type": "integer"
+ },
+ "story_id": {
+ "type": "string"
+ },
+ "story_title": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "votes": {
+ "type": "integer"
+ },
+ "word_count": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "wattpad.PartResponse": {
+ "properties": {
+ "part": {
+ "$ref": "#/definitions/wattpad.PartDetail"
+ }
+ },
+ "type": "object"
+ },
+ "wattpad.RecommendationsResponse": {
+ "properties": {
+ "stories": {
+ "items": {
+ "$ref": "#/definitions/wattpad.Story"
+ },
+ "type": "array"
+ },
+ "story_id": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wattpad.SearchResponse": {
+ "properties": {
+ "limit": {
+ "type": "integer"
+ },
+ "next_offset": {
+ "description": "NextOffset is the offset of the next page, absent on the last one. A\npage can hold fewer than limit stories (or none) when Wattpad filters\nafter paging, so advance by next_offset rather than by the item count.",
+ "type": "integer"
+ },
+ "offset": {
+ "type": "integer"
+ },
+ "stories": {
+ "items": {
+ "$ref": "#/definitions/wattpad.Story"
+ },
+ "type": "array"
+ },
+ "total": {
+ "description": "Total is the number of matches Wattpad reports; browse requests (no\ntext query) are capped at 1500.",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "wattpad.SearchUsersResponse": {
+ "properties": {
+ "limit": {
+ "type": "integer"
+ },
+ "next_offset": {
+ "description": "NextOffset is the offset of the next page; it is absent when this page\nheld fewer users than were asked for.",
+ "type": "integer"
+ },
+ "offset": {
+ "type": "integer"
+ },
+ "users": {
+ "items": {
+ "$ref": "#/definitions/wattpad.UserSummary"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "wattpad.Story": {
+ "properties": {
+ "author": {
+ "$ref": "#/definitions/wattpad.Author"
+ },
+ "category_ids": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "comments": {
+ "type": "integer"
+ },
+ "completed": {
+ "type": "boolean"
+ },
+ "cover": {
+ "type": "string"
+ },
+ "created_at": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "language": {
+ "$ref": "#/definitions/wattpad.Language"
+ },
+ "mature": {
+ "type": "boolean"
+ },
+ "modified_at": {
+ "type": "string"
+ },
+ "parts": {
+ "type": "integer"
+ },
+ "reads": {
+ "type": "integer"
+ },
+ "tags": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "votes": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "wattpad.StoryDetail": {
+ "properties": {
+ "author": {
+ "$ref": "#/definitions/wattpad.Author"
+ },
+ "category_ids": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "comments": {
+ "type": "integer"
+ },
+ "completed": {
+ "type": "boolean"
+ },
+ "copyright": {
+ "type": "integer"
+ },
+ "cover": {
+ "type": "string"
+ },
+ "created_at": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "first_part_id": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "language": {
+ "$ref": "#/definitions/wattpad.Language"
+ },
+ "last_published_at": {
+ "type": "string"
+ },
+ "mature": {
+ "type": "boolean"
+ },
+ "modified_at": {
+ "type": "string"
+ },
+ "paid_model": {
+ "type": "string"
+ },
+ "parts": {
+ "type": "integer"
+ },
+ "paywalled": {
+ "type": "boolean"
+ },
+ "rating": {
+ "type": "integer"
+ },
+ "reads": {
+ "type": "integer"
+ },
+ "tags": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "votes": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "wattpad.StoryPartsResponse": {
+ "properties": {
+ "parts": {
+ "items": {
+ "$ref": "#/definitions/wattpad.Part"
+ },
+ "type": "array"
+ },
+ "story_id": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "total": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "wattpad.StoryResponse": {
+ "properties": {
+ "story": {
+ "$ref": "#/definitions/wattpad.StoryDetail"
+ }
+ },
+ "type": "object"
+ },
+ "wattpad.UserProfile": {
+ "properties": {
+ "ambassador": {
+ "type": "boolean"
+ },
+ "avatar": {
+ "type": "string"
+ },
+ "background": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "followers": {
+ "type": "integer"
+ },
+ "following": {
+ "type": "integer"
+ },
+ "joined_at": {
+ "type": "string"
+ },
+ "lists": {
+ "type": "integer"
+ },
+ "location": {
+ "type": "string"
+ },
+ "modified_at": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "stories_published": {
+ "type": "integer"
+ },
+ "url": {
+ "type": "string"
+ },
+ "username": {
+ "type": "string"
+ },
+ "verified": {
+ "type": "boolean"
+ },
+ "votes_received": {
+ "type": "integer"
+ },
+ "website": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wattpad.UserResponse": {
+ "properties": {
+ "user": {
+ "$ref": "#/definitions/wattpad.UserProfile"
+ }
+ },
+ "type": "object"
+ },
+ "wattpad.UserStoriesResponse": {
+ "properties": {
+ "limit": {
+ "type": "integer"
+ },
+ "next_offset": {
+ "type": "integer"
+ },
+ "offset": {
+ "type": "integer"
+ },
+ "stories": {
+ "items": {
+ "$ref": "#/definitions/wattpad.Story"
+ },
+ "type": "array"
+ },
+ "total": {
+ "type": "integer"
+ },
+ "username": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wattpad.UserSummary": {
+ "properties": {
+ "avatar": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "followers": {
+ "type": "integer"
+ },
+ "name": {
+ "type": "string"
+ },
+ "stories_published": {
+ "type": "integer"
+ },
+ "username": {
+ "type": "string"
+ },
+ "verified": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "wattpad.categoriesResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/wattpad.CategoriesResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wattpad.languagesResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/wattpad.LanguagesResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wattpad.partCommentsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/wattpad.PartCommentsResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wattpad.partResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/wattpad.PartResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wattpad.recommendationsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/wattpad.RecommendationsResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wattpad.searchResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/wattpad.SearchResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wattpad.searchUsersResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/wattpad.SearchUsersResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wattpad.storyPartsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/wattpad.StoryPartsResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wattpad.storyResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/wattpad.StoryResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wattpad.userResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/wattpad.UserResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wattpad.userStoriesResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/wattpad.UserStoriesResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wayfair.CategoriesResponse": {
+ "properties": {
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/wayfair.CategoryRef"
+ },
+ "type": "array"
+ },
+ "has_next": {
+ "example": true,
+ "type": "boolean"
+ },
+ "page": {
+ "example": 1,
+ "type": "integer"
+ },
+ "page_size": {
+ "example": 100,
+ "type": "integer"
+ },
+ "total": {
+ "example": 1521,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "wayfair.CategoryRef": {
+ "properties": {
+ "department": {
+ "example": "baby-kids",
+ "type": "string"
+ },
+ "id": {
+ "example": "1829184",
+ "type": "string"
+ },
+ "name": {
+ "example": "Kids Shower Curtains",
+ "type": "string"
+ },
+ "url": {
+ "example": "https://www.wayfair.com/baby-kids/sb0/kids-shower-curtains-c1829184.html",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wayfair.CategoryResponse": {
+ "properties": {
+ "category": {
+ "type": "string"
+ },
+ "category_id": {
+ "type": "string"
+ },
+ "count": {
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "has_more": {
+ "type": "boolean"
+ },
+ "page": {
+ "type": "integer"
+ },
+ "products": {
+ "items": {
+ "$ref": "#/definitions/wayfair.ProductSummary"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "total_count": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "wayfair.ProductDetailResponse": {
+ "properties": {
+ "brand_name": {
+ "type": "string"
+ },
+ "currency_code": {
+ "type": "string"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "highlights": {
+ "description": "Highlights are Wayfair's own site-selected feature bullets (its \"Why\nWe Love It\" section), the closest available substitute for a\nmarketing description -- a distinct marketing description field was\nnot found in the page's initial data.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "images": {
+ "description": "Images lists every distinct product image found on the page.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "in_stock": {
+ "type": "boolean"
+ },
+ "original_price": {
+ "type": "string"
+ },
+ "price": {
+ "type": "string"
+ },
+ "product_id": {
+ "type": "string"
+ },
+ "product_name": {
+ "type": "string"
+ },
+ "rating": {
+ "type": "number"
+ },
+ "rating_breakdown": {
+ "additionalProperties": {
+ "type": "integer"
+ },
+ "description": "RatingBreakdown maps each star value (\"1\" through \"5\") to the number\nof reviews with that rating.",
+ "type": "object"
+ },
+ "rating_count": {
+ "description": "RatingCount is the product's total review count, sourced from the\npage's own aggregate rating summary.",
+ "type": "integer"
+ },
+ "selected_color": {
+ "description": "SelectedColor is the color variant this page rendered (from its own\nURL/piid) -- kept for backward compatibility. VariantCategories below\ncovers every variant dimension's full option list, not just the one\nselected color.",
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "stock_message": {
+ "description": "StockMessage is Wayfair's own inventory status text (e.g. \"795 Left\nin Stock\"), surfaced verbatim since it is more informative than a\nplain boolean.",
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "variant_categories": {
+ "description": "VariantCategories lists every variant dimension this product offers\n(e.g. \"Base Finish\", \"Upholstery Color\", \"Cord Color\") with every one\nof its options -- not just the single option SelectedColor covers.\nEach option's Available reflects both whether it can be selected\ntogether with the product's other currently-selected variant choices\nand, when known, its own stock status -- confirmed live 2026-08-11\nagainst Wayfair's own PDP data (see service.go's doc comment).",
+ "items": {
+ "$ref": "#/definitions/wayfair.VariantCategory"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "wayfair.ProductSummary": {
+ "properties": {
+ "brand_name": {
+ "type": "string"
+ },
+ "currency_code": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "original_price": {
+ "type": "string"
+ },
+ "price": {
+ "type": "string"
+ },
+ "product_id": {
+ "type": "string"
+ },
+ "product_name": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wayfair.VariantCategory": {
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "options": {
+ "items": {
+ "$ref": "#/definitions/wayfair.VariantOption"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "wayfair.VariantOption": {
+ "properties": {
+ "available": {
+ "description": "Available is false when this option cannot be selected together\nwith the product's other currently-selected variant choices, or\n(when its stock status is known) when it is itself out of stock.",
+ "type": "boolean"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "selected": {
+ "description": "Selected is true for the option this page's own URL/piid rendered\n(the same option SelectedColor names, for whichever category it\nbelongs to).",
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "wayfair.categoriesResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/wayfair.CategoriesResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wayfair.categoryResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/wayfair.CategoryResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wayfair.productDetailResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/wayfair.ProductDetailResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wccftech.AuthorArticle": {
+ "properties": {
+ "image_url": {
+ "type": "string"
+ },
+ "published_at": {
+ "type": "string"
+ },
+ "summary": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wccftech.AuthorResponse": {
+ "properties": {
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/wccftech.AuthorArticle"
+ },
+ "type": "array"
+ },
+ "bio": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "role": {
+ "type": "string"
+ },
+ "slug": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "web.ScrapeInfo": {
+ "properties": {
+ "backend": {
+ "description": "headless backend that rendered, when method=browser",
+ "type": "string"
+ },
+ "cache_state": {
+ "description": "\"hit\" | \"miss\" — whether this response came from the cache",
+ "type": "string"
+ },
+ "cached_at": {
+ "description": "RFC3339 time the served copy was fetched (cache hits only)",
+ "type": "string"
+ },
+ "escalated": {
+ "description": "true when the fetch escalated from HTTP to a headless browser",
+ "type": "boolean"
+ },
+ "method": {
+ "description": "\"http\" | \"browser\"",
+ "type": "string"
+ },
+ "render_failed": {
+ "description": "RenderFailed is true when a browser render was requested (render=browser or a\npinned backend) but no backend produced a page, so the content is the\nHTTP-tier fallback. Such a page ran no JavaScript and is billed at the\nHTTP-tier price.",
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "web.ScrapeLink": {
+ "properties": {
+ "href": {
+ "type": "string"
+ },
+ "rel": {
+ "type": "string"
+ },
+ "text": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "web.ScrapeMetadata": {
+ "properties": {
+ "author": {
+ "type": "string"
+ },
+ "canonical_url": {
+ "type": "string"
+ },
+ "content_type": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "final_url": {
+ "type": "string"
+ },
+ "image": {
+ "type": "string"
+ },
+ "language": {
+ "type": "string"
+ },
+ "modified_at": {
+ "type": "string"
+ },
+ "published_at": {
+ "type": "string"
+ },
+ "section": {
+ "type": "string"
+ },
+ "site_name": {
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "status_code": {
+ "type": "integer"
+ },
+ "title": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "web.ScrapeOption": {
+ "properties": {
+ "backend": {
+ "example": "",
+ "type": "string"
+ },
+ "dedicated": {
+ "type": "boolean"
+ },
+ "formats": {
+ "example": [
+ "markdown"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "max_age": {
+ "example": 604800000,
+ "type": "integer"
+ },
+ "only_main_content": {
+ "type": "boolean"
+ },
+ "proxy": {
+ "example": "",
+ "type": "string"
+ },
+ "render": {
+ "enum": [
+ "auto",
+ "http",
+ "browser",
+ "unblocker"
+ ],
+ "example": "auto",
+ "type": "string"
+ },
+ "store_in_cache": {
+ "type": "boolean"
+ },
+ "url": {
+ "example": "https://example.com",
+ "type": "string"
+ },
+ "wait_for": {
+ "example": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "url"
+ ],
+ "type": "object"
+ },
+ "web.ScrapeResult": {
+ "properties": {
+ "html": {
+ "type": "string"
+ },
+ "link_details": {
+ "items": {
+ "$ref": "#/definitions/web.ScrapeLink"
+ },
+ "type": "array"
+ },
+ "links": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "markdown": {
+ "type": "string"
+ },
+ "metadata": {
+ "$ref": "#/definitions/web.ScrapeMetadata"
+ },
+ "raw_html": {
+ "type": "string"
+ },
+ "scrape": {
+ "$ref": "#/definitions/web.ScrapeInfo"
+ }
+ },
+ "type": "object"
+ },
+ "web.TechStackOption": {
+ "properties": {
+ "render": {
+ "enum": [
+ "browser",
+ "auto",
+ "http"
+ ],
+ "example": "browser",
+ "type": "string"
+ },
+ "url": {
+ "example": "https://www.example.com",
+ "type": "string"
+ }
+ },
+ "required": [
+ "url"
+ ],
+ "type": "object"
+ },
+ "web.TechStackResult": {
+ "properties": {
+ "categories": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "count": {
+ "type": "integer"
+ },
+ "detector_version": {
+ "type": "string"
+ },
+ "failure_reason": {
+ "type": "string"
+ },
+ "final_url": {
+ "type": "string"
+ },
+ "is_infrastructure": {
+ "description": "IsInfrastructure is true when the URL's host looks like backend\ninfrastructure (a CDN, DNS, or cloud-vendor hostname) rather than a\nreal, human-navigable website.",
+ "type": "boolean"
+ },
+ "reachable": {
+ "type": "boolean"
+ },
+ "technologies": {
+ "items": {
+ "$ref": "#/definitions/techstack.Technology"
+ },
+ "type": "array"
+ },
+ "unmatched_evidence": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/techstack.UnmatchedEvidence"
+ }
+ ],
+ "description": "UnmatchedEvidence is the third-party script/stylesheet host domains and\n value seen on the page that don't match any current\nsignature — useful for spotting a vendor worth requesting coverage for."
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "web.billingRejectionDoc": {
+ "properties": {
+ "credit_cost": {
+ "description": "credit_cost is what the rejected request would have cost. Credit rejections only.",
+ "example": 1,
+ "type": "integer"
+ },
+ "credits_included": {
+ "description": "credits_included is the plan's credit allowance for the period. Credit rejections only.",
+ "example": 2000,
+ "type": "integer"
+ },
+ "credits_remaining": {
+ "description": "credits_remaining is what is left this period. Credit rejections only.",
+ "example": 0,
+ "type": "integer"
+ },
+ "credits_used": {
+ "description": "credits_used is credits spent so far this period. Credit rejections only.",
+ "example": 2000,
+ "type": "integer"
+ },
+ "daily_credit_limit": {
+ "description": "daily_credit_limit is the plan's daily cap; 0 means no daily cap. Credit rejections only.",
+ "example": 500,
+ "type": "integer"
+ },
+ "daily_credits_remaining": {
+ "description": "daily_credits_remaining is what is left today (UTC). Credit rejections only.",
+ "example": 0,
+ "type": "integer"
+ },
+ "daily_credits_used": {
+ "description": "daily_credits_used is credits spent so far today (UTC). Credit rejections only.",
+ "example": 500,
+ "type": "integer"
+ },
+ "message": {
+ "description": "message is a human-readable explanation of the rejection.",
+ "example": "Your Free plan's 2000 monthly credits are used up. They reset at 2026-08-02T00:00:00Z.",
+ "type": "string"
+ },
+ "plan": {
+ "description": "plan is the caller's current plan.",
+ "example": "Free",
+ "type": "string"
+ },
+ "rate_limit_per_minute": {
+ "description": "rate_limit_per_minute is the plan's request rate. rate_limited only.",
+ "example": 5,
+ "type": "integer"
+ },
+ "reason": {
+ "description": "reason identifies the limit that was hit.",
+ "enum": [
+ "insufficient_credits",
+ "daily_credit_limit",
+ "rate_limited",
+ "ip_rate_limited"
+ ],
+ "example": "insufficient_credits",
+ "type": "string"
+ },
+ "reset_scope": {
+ "description": "reset_scope names the window that clears this rejection.",
+ "enum": [
+ "daily",
+ "monthly",
+ "minute",
+ "ip_window"
+ ],
+ "example": "monthly",
+ "type": "string"
+ },
+ "resets_at": {
+ "description": "resets_at is when that window next rolls over, so the caller knows when\nrequests will succeed again without any action. Omitted only for an\ninsufficient_credits rejection whose billing period is not on record (a\nstate that predates period tracking).",
+ "example": "2026-08-02T00:00:00Z",
+ "type": "string"
+ },
+ "retry_after_seconds": {
+ "description": "retry_after_seconds is how long to wait before retrying, rounded up to the\nnext whole second. Matches the Retry-After response header. Present on every\nreason whenever resets_at is present — this is not rate_limited-only.",
+ "example": 12,
+ "type": "integer"
+ },
+ "suggested_plan": {
+ "description": "suggested_plan is the cheapest plan that would cover the caller's observed\nusage. Omitted when no higher plan applies, and always omitted for\nip_rate_limited (upgrading plan does not clear an IP-sharing block).",
+ "example": "Starter",
+ "type": "string"
+ },
+ "upgrade_url": {
+ "description": "upgrade_url is where to change plan.",
+ "example": "https://crawlora.net/pricing",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "web.billingRejectionResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 402,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/web.billingRejectionDoc"
+ },
+ "msg": {
+ "example": "Payment Required",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "web.scrapeResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/web.ScrapeResult"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "web.techStackResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/web.TechStackResult"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "webmonitor.checkDoc": {
+ "properties": {
+ "added_urls": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "billed": {
+ "example": true,
+ "type": "boolean"
+ },
+ "changed": {
+ "example": false,
+ "type": "boolean"
+ },
+ "checked_at": {
+ "example": "2026-08-22T10:00:00Z",
+ "type": "string"
+ },
+ "diff": {
+ "type": "string"
+ },
+ "error": {
+ "type": "string"
+ },
+ "fingerprint": {
+ "type": "string"
+ },
+ "id": {
+ "example": "66d2f0c1c2a4e5f6a7b8c9d1",
+ "type": "string"
+ },
+ "monitor_id": {
+ "example": "66d2f0b1c2a4e5f6a7b8c9d0",
+ "type": "string"
+ },
+ "removed_urls": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "skipped": {
+ "example": false,
+ "type": "boolean"
+ },
+ "webhook_deliveries": {
+ "items": {
+ "$ref": "#/definitions/webmonitor.webhookDeliveryDoc"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "webmonitor.checkListResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "items": {
+ "$ref": "#/definitions/webmonitor.checkDoc"
+ },
+ "type": "array"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "webmonitor.createMonitorBodyDoc": {
+ "properties": {
+ "cadence_minutes": {
+ "example": 60,
+ "type": "integer"
+ },
+ "enabled": {
+ "example": true,
+ "type": "boolean"
+ },
+ "name": {
+ "example": "Pricing page",
+ "type": "string"
+ },
+ "notification": {
+ "$ref": "#/definitions/webmonitor.notificationBodyDoc"
+ },
+ "sitemap": {
+ "$ref": "#/definitions/webmonitor.sitemapTargetBodyDoc"
+ },
+ "target_type": {
+ "enum": [
+ "page",
+ "sitemap"
+ ],
+ "example": "page",
+ "type": "string"
+ },
+ "url": {
+ "example": "https://example.com/pricing",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "webmonitor.monitorDeleteResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "properties": {
+ "deleted": {
+ "example": true,
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "webmonitor.monitorDoc": {
+ "properties": {
+ "cadence_minutes": {
+ "example": 60,
+ "type": "integer"
+ },
+ "created_at": {
+ "example": "2026-08-01T00:00:00Z",
+ "type": "string"
+ },
+ "enabled": {
+ "example": true,
+ "type": "boolean"
+ },
+ "failures": {
+ "example": 0,
+ "type": "integer"
+ },
+ "id": {
+ "example": "66d2f0b1c2a4e5f6a7b8c9d0",
+ "type": "string"
+ },
+ "last_changed_at": {
+ "example": "2026-08-20T09:00:00Z",
+ "type": "string"
+ },
+ "last_checked_at": {
+ "example": "2026-08-22T10:00:00Z",
+ "type": "string"
+ },
+ "last_error": {
+ "type": "string"
+ },
+ "name": {
+ "example": "Pricing page",
+ "type": "string"
+ },
+ "next_check_at": {
+ "example": "2026-08-22T11:00:00Z",
+ "type": "string"
+ },
+ "notification": {
+ "$ref": "#/definitions/webmonitor.notificationDoc"
+ },
+ "sitemap": {
+ "$ref": "#/definitions/webmonitor.sitemapTargetDoc"
+ },
+ "target_type": {
+ "enum": [
+ "page",
+ "sitemap"
+ ],
+ "example": "page",
+ "type": "string"
+ },
+ "updated_at": {
+ "example": "2026-08-22T10:00:00Z",
+ "type": "string"
+ },
+ "url": {
+ "example": "https://example.com/pricing",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "webmonitor.monitorListResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "items": {
+ "$ref": "#/definitions/webmonitor.monitorDoc"
+ },
+ "type": "array"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "webmonitor.monitorResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/webmonitor.monitorDoc"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "webmonitor.notificationBodyDoc": {
+ "properties": {
+ "events": {
+ "example": [
+ "change.detected",
+ "run.completed"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "webhook_secret": {
+ "example": "whsec_...",
+ "type": "string"
+ },
+ "webhook_url": {
+ "example": "https://example.com/webhooks/crawlora",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "webmonitor.notificationDoc": {
+ "properties": {
+ "events": {
+ "example": [
+ "change.detected",
+ "run.completed"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "webhook_url": {
+ "example": "https://example.com/webhooks/crawlora",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "webmonitor.sitemapTargetBodyDoc": {
+ "properties": {
+ "exclude_patterns": {
+ "example": [
+ "/blog/*"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "include_patterns": {
+ "example": [
+ "/products/*"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "max_urls": {
+ "example": 5000,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "webmonitor.sitemapTargetDoc": {
+ "properties": {
+ "exclude_patterns": {
+ "example": [
+ "/blog/*"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "include_patterns": {
+ "example": [
+ "/products/*"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "max_urls": {
+ "example": 5000,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "webmonitor.updateMonitorBodyDoc": {
+ "properties": {
+ "cadence_minutes": {
+ "example": 60,
+ "type": "integer"
+ },
+ "enabled": {
+ "example": true,
+ "type": "boolean"
+ },
+ "name": {
+ "example": "Pricing page",
+ "type": "string"
+ },
+ "notification": {
+ "$ref": "#/definitions/webmonitor.notificationBodyDoc"
+ },
+ "sitemap": {
+ "$ref": "#/definitions/webmonitor.sitemapTargetBodyDoc"
+ },
+ "target_type": {
+ "enum": [
+ "page",
+ "sitemap"
+ ],
+ "example": "page",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "webmonitor.webhookDeliveryDoc": {
+ "properties": {
+ "attempts": {
+ "example": 1,
+ "type": "integer"
+ },
+ "delivered_at": {
+ "example": "2026-08-22T10:00:02Z",
+ "type": "string"
+ },
+ "error": {
+ "type": "string"
+ },
+ "event": {
+ "enum": [
+ "change.detected",
+ "run.completed"
+ ],
+ "example": "change.detected",
+ "type": "string"
+ },
+ "status": {
+ "enum": [
+ "delivered",
+ "rejected",
+ "failed",
+ "skipped_unsafe_url"
+ ],
+ "example": "delivered",
+ "type": "string"
+ },
+ "status_code": {
+ "example": 200,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "webretrieval.DiscoveredURL": {
+ "properties": {
+ "discovered_via": {
+ "type": "string"
+ },
+ "last_modified": {
+ "type": "string"
+ },
+ "observed_at": {
+ "type": "string"
+ },
+ "parent_url": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "webretrieval.WebSearchHit": {
+ "properties": {
+ "document": {
+ "$ref": "#/definitions/retrievaltypes.Document"
+ },
+ "fetch_failure": {
+ "$ref": "#/definitions/retrievaltypes.Failure"
+ },
+ "provider": {
+ "type": "string"
+ },
+ "rank": {
+ "type": "integer"
+ },
+ "retrieved_at": {
+ "type": "string"
+ },
+ "snippet": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "webtoon.Episode": {
+ "properties": {
+ "date": {
+ "description": "Release date, YYYY-MM-DD when the site's text parses, otherwise the\nupstream text unchanged.",
+ "example": "2026-11-06",
+ "type": "string"
+ },
+ "episode_no": {
+ "description": "Episode number within the series.",
+ "example": 83,
+ "type": "integer"
+ },
+ "is_up": {
+ "description": "True when the episode carries the site's UP badge (paid early access).",
+ "type": "boolean"
+ },
+ "thumbnail": {
+ "description": "Thumbnail URL.",
+ "type": "string"
+ },
+ "title": {
+ "description": "Episode title as the site prints it.",
+ "example": "Episode 83",
+ "type": "string"
+ },
+ "url": {
+ "description": "Viewer URL on webtoons.com. The viewer's panel images are never read.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "webtoon.Genre": {
+ "properties": {
+ "label": {
+ "description": "Display label as the site prints it, e.g. \"ROMANCE\".",
+ "example": "ROMANCE",
+ "type": "string"
+ },
+ "slug": {
+ "description": "Slug used in the listing URL, e.g. \"romance\".",
+ "example": "romance",
+ "type": "string"
+ },
+ "url": {
+ "description": "Listing URL for the genre.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "webtoon.GenreResponse": {
+ "properties": {
+ "genre": {
+ "example": "romance",
+ "type": "string"
+ },
+ "label": {
+ "example": "ROMANCE",
+ "type": "string"
+ },
+ "sort": {
+ "example": "MANA",
+ "type": "string"
+ },
+ "titles": {
+ "items": {
+ "$ref": "#/definitions/webtoon.Title"
+ },
+ "type": "array"
+ },
+ "total": {
+ "description": "The site's own series count for this genre, when the page carries it.",
+ "example": 616,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "webtoon.GenresResponse": {
+ "properties": {
+ "genres": {
+ "items": {
+ "$ref": "#/definitions/webtoon.Genre"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "webtoon.OriginalsResponse": {
+ "properties": {
+ "day": {
+ "example": "saturday",
+ "type": "string"
+ },
+ "sort": {
+ "example": "MANA",
+ "type": "string"
+ },
+ "titles": {
+ "items": {
+ "$ref": "#/definitions/webtoon.Title"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "webtoon.RankingsResponse": {
+ "properties": {
+ "tab": {
+ "example": "popular",
+ "type": "string"
+ },
+ "titles": {
+ "items": {
+ "$ref": "#/definitions/webtoon.Title"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "webtoon.SearchResponse": {
+ "properties": {
+ "has_next_page": {
+ "description": "True when the returned card window was full and the scope is pageable. The\npage prints no exact remaining count, so this is a window-size signal, never\na promise. Always false for scope=all, which is a preview and is not pageable.",
+ "example": false,
+ "type": "boolean"
+ },
+ "keyword": {
+ "example": "tower",
+ "type": "string"
+ },
+ "page": {
+ "example": 1,
+ "type": "integer"
+ },
+ "scope": {
+ "example": "all",
+ "type": "string"
+ },
+ "sections": {
+ "description": "Result sections in the order the page renders them. Empty when the search\ngenuinely matched nothing or the requested page is past the end.",
+ "items": {
+ "$ref": "#/definitions/webtoon.SearchSection"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "webtoon.SearchSection": {
+ "properties": {
+ "name": {
+ "description": "The site's own section heading, as served.",
+ "example": "ORIGINALS",
+ "type": "string"
+ },
+ "titles": {
+ "description": "Cards in this section window.",
+ "items": {
+ "$ref": "#/definitions/webtoon.SearchTitle"
+ },
+ "type": "array"
+ },
+ "total": {
+ "description": "That section's own series count, when the page prints one. Omitted when\nabsent; it is the upstream count, not the number of cards in this window.",
+ "example": 100,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "webtoon.SearchTitle": {
+ "properties": {
+ "authors": {
+ "description": "Author/cartoonist names when the card prints them, split on the site's\nown separators.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "genre": {
+ "description": "Genre path segment taken from the card's own href (for example \"fantasy\").\nSearch cards carry no genre label, so this is the URL segment, not the\ndisplay label, and multi-word segments are hyphenated (\"slice-of-life\")\nwhereas webtoon-genres slugs are underscored (\"slice_of_life\"); map through\nwebtoon-genres before calling webtoon-genre. Empty for canvas cards, whose\npath segment is \"canvas\".",
+ "example": "fantasy",
+ "type": "string"
+ },
+ "is_adult": {
+ "description": "True when the card is flagged unsuitable for children (the card's own\ndata-title-unsuitable-for-children attribute).",
+ "type": "boolean"
+ },
+ "is_up": {
+ "description": "True when the card carries the UP (paid early access) badge.",
+ "type": "boolean"
+ },
+ "thumbnail": {
+ "description": "Card thumbnail URL.",
+ "type": "string"
+ },
+ "title": {
+ "example": "Tower of God",
+ "type": "string"
+ },
+ "title_no": {
+ "example": 9701,
+ "type": "integer"
+ },
+ "url": {
+ "description": "Absolute canonical series URL on webtoons.com.",
+ "type": "string"
+ },
+ "view_count": {
+ "description": "The site's own view counter as printed, e.g. \"1M Views\". Display text, not\nan exact integer.",
+ "example": "1M Views",
+ "type": "string"
+ },
+ "webtoon_type": {
+ "description": "Normalised content type: \"originals\" or \"canvas\", from the card's\ndata-webtoon-type (WEBTOON / CHALLENGE).",
+ "example": "originals",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "webtoon.SeriesResponse": {
+ "properties": {
+ "authors": {
+ "description": "Author names as printed, split on the site's own separators.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "episodes": {
+ "description": "Episodes in this page window, newest first.",
+ "items": {
+ "$ref": "#/definitions/webtoon.Episode"
+ },
+ "type": "array"
+ },
+ "genre": {
+ "example": "Action",
+ "type": "string"
+ },
+ "has_next_page": {
+ "description": "True when this window was full, so a further page probably exists. The\npage carries no total episode count, so this is a window-size signal and\nnever a promise about the exact remaining count.",
+ "example": true,
+ "type": "boolean"
+ },
+ "is_up": {
+ "description": "True when the series is currently flagged UP (paid early access).",
+ "type": "boolean"
+ },
+ "page": {
+ "description": "Page returned and the fixed window size.",
+ "example": 1,
+ "type": "integer"
+ },
+ "per_page": {
+ "example": 10,
+ "type": "integer"
+ },
+ "rss_url": {
+ "description": "RSS feed of the newest 20 episodes.",
+ "type": "string"
+ },
+ "subscribe_count": {
+ "example": "181,363",
+ "type": "string"
+ },
+ "summary": {
+ "description": "Series summary from the page's own summary block.",
+ "type": "string"
+ },
+ "thumbnail": {
+ "description": "Cover image URL (the page's og:image).",
+ "type": "string"
+ },
+ "title": {
+ "example": "Emperor of Solo Play",
+ "type": "string"
+ },
+ "title_no": {
+ "example": 7830,
+ "type": "integer"
+ },
+ "update_day": {
+ "description": "The series' release day line as printed, e.g. \"EVERY SATURDAY\".",
+ "type": "string"
+ },
+ "url": {
+ "description": "Canonical series URL on webtoons.com.",
+ "type": "string"
+ },
+ "view_count": {
+ "description": "The site's own counter strings, e.g. \"8.3M\" and \"181,363\". Returned raw:\nthey are display text, not exact integers.",
+ "example": "8.3M",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "webtoon.Title": {
+ "properties": {
+ "authors": {
+ "description": "Author/cartoonist names when the card prints them.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "genre": {
+ "description": "Genre display label from the card (or the listing context).",
+ "example": "ROMANCE",
+ "type": "string"
+ },
+ "is_up": {
+ "description": "True when the card carries the UP (paid early access) badge.",
+ "type": "boolean"
+ },
+ "rank": {
+ "description": "1-based ranking position, only on the ranking endpoints.",
+ "example": 1,
+ "type": "integer"
+ },
+ "thumbnail": {
+ "description": "Card thumbnail URL.",
+ "type": "string"
+ },
+ "title": {
+ "example": "Star Catcher",
+ "type": "string"
+ },
+ "title_no": {
+ "example": 6510,
+ "type": "integer"
+ },
+ "url": {
+ "description": "Canonical series URL on webtoons.com.",
+ "type": "string"
+ },
+ "view_count": {
+ "description": "The site's own view/like counter string, e.g. \"3.5M\".",
+ "example": "3.5M",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "webtoon.genreResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/webtoon.GenreResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "webtoon.genresResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/webtoon.GenresResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "webtoon.originalsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/webtoon.OriginalsResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "webtoon.rankingsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/webtoon.RankingsResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "webtoon.searchResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/webtoon.SearchResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "webtoon.seriesResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/webtoon.SeriesResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wendys.CategoriesResponse": {
+ "properties": {
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/wendys.Category"
+ },
+ "type": "array"
+ },
+ "count": {
+ "example": 25,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wendys.Category": {
+ "properties": {
+ "dayparts": {
+ "description": "Dayparts lists which of Wendy's own top-level menu groupings\n(\"Lunch/Dinner\", \"Breakfast\") this category appears under. A few\ncategories (Coffee, Beverages, Give Something Back, Bakery) appear\nunder both.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "id": {
+ "example": "100",
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "name": {
+ "example": "Hamburgers",
+ "type": "string"
+ },
+ "slug": {
+ "example": "hamburgers",
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wendys.ComboNutritionSelection": {
+ "properties": {
+ "name": {
+ "example": "Dave's Single®",
+ "type": "string"
+ },
+ "slot_type": {
+ "example": "ENTREE",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wendys.ComboOption": {
+ "properties": {
+ "base_price": {
+ "example": 5.59,
+ "type": "number"
+ },
+ "calories": {
+ "example": "560 Cal",
+ "type": "string"
+ },
+ "is_default": {
+ "type": "boolean"
+ },
+ "name": {
+ "example": "Dave's Single®",
+ "type": "string"
+ },
+ "product_id": {
+ "example": "10000000000081",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wendys.ComboSlot": {
+ "properties": {
+ "name": {
+ "example": "Dave's Hamburger Combo",
+ "type": "string"
+ },
+ "options": {
+ "items": {
+ "$ref": "#/definitions/wendys.ComboOption"
+ },
+ "type": "array"
+ },
+ "slot_type": {
+ "example": "ENTREE",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wendys.Component": {
+ "properties": {
+ "allergens": {
+ "example": [
+ "Wheat",
+ "Milk"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "description": {
+ "type": "string"
+ },
+ "group": {
+ "description": "Group is \"default\" (comes with the item), \"extra\" (a paid add-on), or\n\"required\" (the caller must choose one option from a named group,\ne.g. a salad's dressing).",
+ "example": "default",
+ "type": "string"
+ },
+ "is_default_option": {
+ "type": "boolean"
+ },
+ "name": {
+ "example": "Grilled Chicken",
+ "type": "string"
+ },
+ "price": {
+ "example": 0.5,
+ "type": "number"
+ },
+ "required_group_name": {
+ "description": "RequiredGroupName and IsDefaultOption are only set for Group ==\n\"required\" -- e.g. RequiredGroupName \"Dressing\", with\nIsDefaultOption true on whichever dressing Wendy's page pre-selects.",
+ "example": "Dressing",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wendys.DirectoryChild": {
+ "properties": {
+ "is_store": {
+ "description": "IsStore marks a child that is a store page rather than another\ndirectory level -- call /wendys/store with its path.",
+ "example": false,
+ "type": "boolean"
+ },
+ "name": {
+ "example": "Ohio",
+ "type": "string"
+ },
+ "path": {
+ "example": "united-states/oh",
+ "type": "string"
+ },
+ "store_count": {
+ "description": "StoreCount is how many stores sit under this branch. Present at the\ncountry/state/city levels; absent once children are stores\nthemselves.",
+ "example": 388,
+ "type": "integer"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wendys.DirectoryResponse": {
+ "properties": {
+ "children": {
+ "items": {
+ "$ref": "#/definitions/wendys.DirectoryChild"
+ },
+ "type": "array"
+ },
+ "count": {
+ "example": 88,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "path": {
+ "example": "united-states/oh",
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wendys.ItemResponse": {
+ "properties": {
+ "allergens": {
+ "description": "Allergens is the union of allergens across the item's default\ncomponents and each required group's default-selected option --\ni.e. the item's allergen profile as configured on Wendy's own page\nbefore any customization. Customizing (removing a default component,\npicking a different required option) changes this in ways this\nsummary field cannot capture; Components lists every option's own\nallergens individually for that.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "base_price": {
+ "example": 7.99,
+ "type": "number"
+ },
+ "calories": {
+ "example": "520 Cal",
+ "type": "string"
+ },
+ "category": {
+ "example": "hamburgers",
+ "type": "string"
+ },
+ "combo_slots": {
+ "description": "ComboSlots is set only when IsCombo is true.",
+ "items": {
+ "$ref": "#/definitions/wendys.ComboSlot"
+ },
+ "type": "array"
+ },
+ "components": {
+ "items": {
+ "$ref": "#/definitions/wendys.Component"
+ },
+ "type": "array"
+ },
+ "description": {
+ "description": "Description, BasePrice, Calories, Components and Variants are set\nonly when IsCombo is false.",
+ "type": "string"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "is_combo": {
+ "type": "boolean"
+ },
+ "item": {
+ "example": "daves-combo",
+ "type": "string"
+ },
+ "name": {
+ "example": "Dave's Combo",
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "variants": {
+ "items": {
+ "$ref": "#/definitions/wendys.ItemVariant"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "wendys.ItemVariant": {
+ "properties": {
+ "base_price": {
+ "example": 2.79,
+ "type": "number"
+ },
+ "calories": {
+ "example": "260 Cal",
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "is_default": {
+ "description": "IsDefault marks the variant Wendy's own page selects by default.",
+ "type": "boolean"
+ },
+ "item_id": {
+ "example": "40054",
+ "type": "string"
+ },
+ "name": {
+ "example": "Small Natural-Cut Fries",
+ "type": "string"
+ },
+ "short_name": {
+ "example": "Small",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wendys.MenuItemSummary": {
+ "properties": {
+ "calories": {
+ "example": "760 Cal",
+ "type": "string"
+ },
+ "has_required_modifiers": {
+ "type": "boolean"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "is_combo": {
+ "description": "IsCombo marks an item whose /wendys/item response returns\ncombo_slots instead of components/variants.",
+ "type": "boolean"
+ },
+ "is_limited_time_offer": {
+ "type": "boolean"
+ },
+ "item_id": {
+ "example": "31009",
+ "type": "string"
+ },
+ "name": {
+ "example": "Dave's Combo",
+ "type": "string"
+ },
+ "price": {
+ "description": "Price is Wendy's own displayed price string. It is a string, not a\nnumber, because a size-variant item (e.g. fries) displays a \"from\"\nprice for its default variant here -- GET /wendys/item returns the\nexact per-variant numeric price.",
+ "example": "$7.29",
+ "type": "string"
+ },
+ "slug": {
+ "example": "daves-combo",
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wendys.MenuResponse": {
+ "properties": {
+ "category": {
+ "example": "hamburgers",
+ "type": "string"
+ },
+ "count": {
+ "example": 12,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "items": {
+ "items": {
+ "$ref": "#/definitions/wendys.MenuItemSummary"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wendys.NearbyResponse": {
+ "properties": {
+ "count": {
+ "example": 25,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "radius": {
+ "example": 20,
+ "type": "integer"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "stores": {
+ "items": {
+ "$ref": "#/definitions/wendys.NearbyStore"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "wendys.NearbyStore": {
+ "properties": {
+ "address": {
+ "$ref": "#/definitions/wendys.StoreAddress"
+ },
+ "breakfast_hours": {
+ "items": {
+ "$ref": "#/definitions/wendys.StoreHours"
+ },
+ "type": "array"
+ },
+ "distance_miles": {
+ "example": 1.30845,
+ "type": "number"
+ },
+ "has_breakfast": {
+ "type": "boolean"
+ },
+ "has_carry_out": {
+ "type": "boolean"
+ },
+ "has_delivery": {
+ "type": "boolean"
+ },
+ "has_drive_thru": {
+ "type": "boolean"
+ },
+ "has_mobile_order": {
+ "type": "boolean"
+ },
+ "has_wifi": {
+ "type": "boolean"
+ },
+ "hours": {
+ "description": "Hours is the published week of general dining hours, and\nBreakfastHours the published week of breakfast service hours (often\nnarrower and always starting no later than dining) -- the same dual-\nhours shape /wendys/store publishes, from this API's own per-day\nschedule rather than a second upstream call.",
+ "items": {
+ "$ref": "#/definitions/wendys.StoreHours"
+ },
+ "type": "array"
+ },
+ "is_open": {
+ "type": "boolean"
+ },
+ "latitude": {
+ "example": 38.897527,
+ "type": "number"
+ },
+ "longitude": {
+ "example": -77.006362,
+ "type": "number"
+ },
+ "name": {
+ "example": "WASHINGTON UNION STATION",
+ "type": "string"
+ },
+ "phone_number": {
+ "example": "2028380978",
+ "type": "string"
+ },
+ "store_id": {
+ "example": "12921",
+ "type": "string"
+ },
+ "timezone": {
+ "example": "US/Eastern",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wendys.NutritionFacts": {
+ "properties": {
+ "calcium_mg": {
+ "example": 15,
+ "type": "number"
+ },
+ "calories": {
+ "example": 560,
+ "type": "number"
+ },
+ "calories_from_fat": {
+ "example": 300,
+ "type": "number"
+ },
+ "cholesterol_mg": {
+ "example": 90,
+ "type": "number"
+ },
+ "dietary_fiber_g": {
+ "example": 2,
+ "type": "number"
+ },
+ "iron_mg": {
+ "example": 25,
+ "type": "number"
+ },
+ "monounsaturated_fat_g": {
+ "type": "number"
+ },
+ "polyunsaturated_fat_g": {
+ "type": "number"
+ },
+ "potassium_mg": {
+ "example": 10,
+ "type": "number"
+ },
+ "protein_g": {
+ "example": 31,
+ "type": "number"
+ },
+ "saturated_fat_g": {
+ "example": 14,
+ "type": "number"
+ },
+ "serving_weight_grams": {
+ "description": "ServingWeightGrams is omitted (not published) when Wendy's own service\nleaves it out, which it does for some single-component items.",
+ "example": 245.43,
+ "type": "number"
+ },
+ "sodium_mg": {
+ "example": 1170,
+ "type": "number"
+ },
+ "sugars_g": {
+ "example": 9,
+ "type": "number"
+ },
+ "total_carbohydrate_g": {
+ "example": 37,
+ "type": "number"
+ },
+ "total_fat_g": {
+ "example": 34,
+ "type": "number"
+ },
+ "trans_fat_g": {
+ "example": 1.5,
+ "type": "number"
+ },
+ "vitamin_a": {
+ "type": "number"
+ },
+ "vitamin_c": {
+ "type": "number"
+ },
+ "vitamin_d_mcg": {
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "wendys.NutritionResponse": {
+ "properties": {
+ "allergens": {
+ "description": "Allergens is Wendy's own declared allergen flags for this exact\ndefault configuration -- the same union Wendy's \"Allergens\" panel\nshows next to the nutrition table.",
+ "example": [
+ "Egg",
+ "Milk",
+ "Sesame",
+ "Soy",
+ "Wheat"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "category": {
+ "example": "hamburgers",
+ "type": "string"
+ },
+ "combo_selections": {
+ "items": {
+ "$ref": "#/definitions/wendys.ComboNutritionSelection"
+ },
+ "type": "array"
+ },
+ "disclaimers": {
+ "description": "Disclaimers is any upstream-published caveat text for this item\n(usually empty). Passed through verbatim.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "is_combo": {
+ "description": "IsCombo marks a combo response. Nutrition/Allergens/Disclaimers then\ncover the *combined* total across every slot's selected option\n(ComboSelections), computed in one nutritionalData request the same\nway a caller building a full order would sum it themselves -- not a\nseparate per-slot breakdown.",
+ "type": "boolean"
+ },
+ "item": {
+ "example": "daves-single",
+ "type": "string"
+ },
+ "name": {
+ "example": "Dave's Single",
+ "type": "string"
+ },
+ "nutrition": {
+ "$ref": "#/definitions/wendys.NutritionFacts"
+ },
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wendys.RestaurantResponse": {
+ "properties": {
+ "active_day_part": {
+ "description": "ActiveDayPart is which of the restaurant's own dayparts (breakfast,\nlunch/dinner, ...) is currently serving.",
+ "example": "BREAKFAST",
+ "type": "string"
+ },
+ "address": {
+ "$ref": "#/definitions/wendys.StoreAddress"
+ },
+ "breakfast_hours": {
+ "items": {
+ "$ref": "#/definitions/wendys.StoreHours"
+ },
+ "type": "array"
+ },
+ "currency": {
+ "example": "USD",
+ "type": "string"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "has_breakfast": {
+ "type": "boolean"
+ },
+ "has_coke_freestyle": {
+ "type": "boolean"
+ },
+ "has_digital_coupon": {
+ "type": "boolean"
+ },
+ "has_gift_card": {
+ "type": "boolean"
+ },
+ "has_loyalty": {
+ "type": "boolean"
+ },
+ "has_mobile_order": {
+ "type": "boolean"
+ },
+ "has_mobile_pay": {
+ "type": "boolean"
+ },
+ "has_wifi": {
+ "type": "boolean"
+ },
+ "hours": {
+ "description": "Hours is the published week of general dining hours, and\nBreakfastHours the published week of breakfast service hours -- the\nsame StoreHours shape /wendys/store and /wendys/nearby publish.",
+ "items": {
+ "$ref": "#/definitions/wendys.StoreHours"
+ },
+ "type": "array"
+ },
+ "is_open": {
+ "type": "boolean"
+ },
+ "is_open_24_hours": {
+ "type": "boolean"
+ },
+ "is_open_late": {
+ "type": "boolean"
+ },
+ "latitude": {
+ "example": 38.897527,
+ "type": "number"
+ },
+ "longitude": {
+ "example": -77.006362,
+ "type": "number"
+ },
+ "name": {
+ "example": "WASHINGTON UNION STATION",
+ "type": "string"
+ },
+ "phone_number": {
+ "example": "2028380978",
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "store_id": {
+ "example": "12921",
+ "type": "string"
+ },
+ "supports_carry_out": {
+ "description": "SupportsCarryOut/SupportsDineIn/SupportsDriveThru are whether this\nrestaurant physically offers each fulfillment mode at all -- distinct\nfrom /wendys/nearby's has_drive_thru, which reflects only whether\nthat mode is open right now.",
+ "type": "boolean"
+ },
+ "supports_dine_in": {
+ "type": "boolean"
+ },
+ "supports_drive_thru": {
+ "type": "boolean"
+ },
+ "timezone": {
+ "example": "US/Eastern",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wendys.StoreAddress": {
+ "properties": {
+ "city": {
+ "example": "Alliance",
+ "type": "string"
+ },
+ "country": {
+ "example": "US",
+ "type": "string"
+ },
+ "line1": {
+ "example": "1833 W. State St.",
+ "type": "string"
+ },
+ "postal_code": {
+ "example": "44601-3538",
+ "type": "string"
+ },
+ "region": {
+ "example": "OH",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wendys.StoreHours": {
+ "properties": {
+ "closed": {
+ "description": "Closed is true when Wendy's publishes the day with no open interval.",
+ "example": false,
+ "type": "boolean"
+ },
+ "closes": {
+ "example": "22:00",
+ "type": "string"
+ },
+ "day_of_week": {
+ "example": "Monday",
+ "type": "string"
+ },
+ "opens": {
+ "example": "06:30",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wendys.StoreMenuItem": {
+ "properties": {
+ "calories": {
+ "example": "560 Cal",
+ "type": "string"
+ },
+ "day_part": {
+ "description": "DayPart is when this item is on the menu (e.g. \"BREAKFAST\",\n\"LUNCH\") -- an item can appear more than once, once per day-part it\nserves in, each as its own entry.",
+ "example": "LUNCH",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description is omitted for combo/bundle entries, which the upstream\ndoes not publish one for (see /wendys/item's combo_slots for a\ncombo's own constituent-item descriptions instead).",
+ "type": "string"
+ },
+ "menu_item_id": {
+ "example": 30013,
+ "type": "integer"
+ },
+ "name": {
+ "example": "Spicy Chicken Sandwich",
+ "type": "string"
+ },
+ "price": {
+ "description": "Price is this store's own displayed price string -- for a combo/\nbundle entry, this is the real bundle price, which /wendys/item does\nnot compute at all (a combo's own price varies by what's chosen in\neach slot; see item.go).",
+ "example": "$7.85",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wendys.StoreMenuResponse": {
+ "properties": {
+ "count": {
+ "example": 170,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "items": {
+ "items": {
+ "$ref": "#/definitions/wendys.StoreMenuItem"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "store_id": {
+ "example": "12921",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wendys.StoreResponse": {
+ "properties": {
+ "address": {
+ "$ref": "#/definitions/wendys.StoreAddress"
+ },
+ "delivery_platforms": {
+ "description": "DeliveryPlatforms lists the third-party platforms this store's page\nlinks out to.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "drive_thru_hours": {
+ "description": "DriveThruHours is the published week of drive-thru hours, which\nWendy's often publishes separately from (and later-closing than)\ngeneral restaurant hours.",
+ "items": {
+ "$ref": "#/definitions/wendys.StoreHours"
+ },
+ "type": "array"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "hours": {
+ "description": "Hours is the published week of general restaurant hours.",
+ "items": {
+ "$ref": "#/definitions/wendys.StoreHours"
+ },
+ "type": "array"
+ },
+ "latitude": {
+ "example": 40.90233810995588,
+ "type": "number"
+ },
+ "longitude": {
+ "example": -81.1329160630703,
+ "type": "number"
+ },
+ "name": {
+ "example": "Wendy's 1833 W. STATE ST in Alliance, OH",
+ "type": "string"
+ },
+ "order_url": {
+ "type": "string"
+ },
+ "path": {
+ "type": "string"
+ },
+ "phone_number": {
+ "example": "(330) 821-4338",
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "store_id": {
+ "example": "11456",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wendys.TimeSlotsResponse": {
+ "properties": {
+ "asap_available": {
+ "description": "ASAPAvailable is whether an immediate (\"as soon as possible\") pickup\nslot is currently offered, as opposed to only scheduled future slots.",
+ "type": "boolean"
+ },
+ "available_times": {
+ "description": "AvailableTimes is every schedulable slot, as Wendy's own service\npublishes them (no explicit UTC offset in the upstream payload).",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "count": {
+ "example": 61,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "store_id": {
+ "example": "12921",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wendys.categoriesResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/wendys.CategoriesResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "wendys.directoryResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/wendys.DirectoryResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "wendys.itemResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/wendys.ItemResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "wendys.menuResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/wendys.MenuResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "wendys.nearbyResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/wendys.NearbyResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "wendys.nutritionResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/wendys.NutritionResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "wendys.restaurantResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/wendys.RestaurantResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "wendys.storeMenuResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/wendys.StoreMenuResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "wendys.storeResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/wendys.StoreResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "wendys.timeSlotsResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/wendys.TimeSlotsResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "whataburger.SitemapEntry": {
+ "properties": {
+ "kind": {
+ "description": "Kind classifies the page: \"store\" is the canonical restaurant page,\n\"curbside\"/\"delivery\" are separate Yext entities for the same\nrestaurant's curbside or delivery service, and \"directory\" is a\nstate- or city-level listing page with no address of its own.",
+ "example": "store",
+ "type": "string"
+ },
+ "path": {
+ "description": "Path is the locator path, the value /whataburger/store takes.",
+ "example": "tx/abilene/1625-tx-hwy-351.html",
+ "type": "string"
+ },
+ "store_number": {
+ "description": "StoreNumber is only derivable from the short-permalink Curbside/\nDelivery variants (e.g. \"1197C.html\"); it is empty for every other\nkind, since Whataburger's canonical and long-form variant paths use a\nstreet-name slug instead of a numeric id.",
+ "example": "1197",
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "whataburger.SitemapResponse": {
+ "properties": {
+ "count": {
+ "example": 100,
+ "type": "integer"
+ },
+ "entries": {
+ "items": {
+ "$ref": "#/definitions/whataburger.SitemapEntry"
+ },
+ "type": "array"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "page": {
+ "example": 1,
+ "type": "integer"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "total": {
+ "example": 3955,
+ "type": "integer"
+ },
+ "total_pages": {
+ "example": 40,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "whataburger.StoreAddress": {
+ "properties": {
+ "city": {
+ "example": "ABILENE",
+ "type": "string"
+ },
+ "country": {
+ "example": "US",
+ "type": "string"
+ },
+ "line1": {
+ "example": "1625 TX HWY 351",
+ "type": "string"
+ },
+ "line2": {
+ "type": "string"
+ },
+ "postal_code": {
+ "example": "79601",
+ "type": "string"
+ },
+ "region": {
+ "example": "TX",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "whataburger.StoreHours": {
+ "properties": {
+ "closed": {
+ "description": "Closed is true when Whataburger publishes the day with no open interval.",
+ "example": false,
+ "type": "boolean"
+ },
+ "closes": {
+ "example": "23:59",
+ "type": "string"
+ },
+ "day_of_week": {
+ "example": "Monday",
+ "type": "string"
+ },
+ "opens": {
+ "example": "00:00",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "whataburger.StoreResponse": {
+ "properties": {
+ "address": {
+ "$ref": "#/definitions/whataburger.StoreAddress"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "google_place_id": {
+ "type": "string"
+ },
+ "hours": {
+ "items": {
+ "$ref": "#/definitions/whataburger.StoreHours"
+ },
+ "type": "array"
+ },
+ "latitude": {
+ "example": 32.481983,
+ "type": "number"
+ },
+ "longitude": {
+ "example": -99.744767,
+ "type": "number"
+ },
+ "name": {
+ "example": "Whataburger",
+ "type": "string"
+ },
+ "path": {
+ "description": "Path is the canonical /whataburger/store path for this restaurant, as\nWhataburger's own entity data publishes it -- present even when the\nrequested path was a Curbside or Delivery variant of the same store.",
+ "type": "string"
+ },
+ "phone_number": {
+ "example": "(325) 692-8480",
+ "type": "string"
+ },
+ "service_hours": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/whataburger.StoreServiceHours"
+ }
+ ],
+ "description": "ServiceHours breaks the same week down per fulfillment channel --\ndine-in, drive-thru, curbside and delivery windows can and do differ\nfrom each other and from Hours (dine-in) at the same store. Whataburger\nalways publishes drive-thru and dine-in hours; curbside and delivery\nare omitted here when the entity carries no schedule for them (a store\nthat does not list that service in Services)."
+ },
+ "services": {
+ "description": "Services are the restaurant services Whataburger publishes for this\nlocation, e.g. \"Curbside\", \"Delivery\".",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "store_id": {
+ "example": "1403",
+ "type": "string"
+ },
+ "timezone": {
+ "example": "America/Chicago",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "whataburger.StoreServiceHours": {
+ "properties": {
+ "curbside": {
+ "items": {
+ "$ref": "#/definitions/whataburger.StoreHours"
+ },
+ "type": "array"
+ },
+ "delivery": {
+ "items": {
+ "$ref": "#/definitions/whataburger.StoreHours"
+ },
+ "type": "array"
+ },
+ "dine_in": {
+ "items": {
+ "$ref": "#/definitions/whataburger.StoreHours"
+ },
+ "type": "array"
+ },
+ "drive_thru": {
+ "items": {
+ "$ref": "#/definitions/whataburger.StoreHours"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "whataburger.sitemapResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/whataburger.SitemapResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "whataburger.storeResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/whataburger.StoreResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "whatnot.BrowseResponse": {
+ "properties": {
+ "category": {
+ "type": "string"
+ },
+ "shows": {
+ "items": {
+ "$ref": "#/definitions/whatnot.LiveShow"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "whatnot.CategoriesResponse": {
+ "properties": {
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/whatnot.Category"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "whatnot.Category": {
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "slug": {
+ "description": "e.g. \"trading_card_games\"",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "whatnot.LiveProduct": {
+ "properties": {
+ "currency": {
+ "type": "string"
+ },
+ "current_bid_cents": {
+ "type": "integer"
+ },
+ "current_bid_count": {
+ "type": "integer"
+ },
+ "description": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "price_cents": {
+ "type": "integer"
+ },
+ "quantity": {
+ "type": "integer"
+ },
+ "seller": {
+ "$ref": "#/definitions/whatnot.LiveSeller"
+ },
+ "status": {
+ "description": "Status is the listing's own lifecycle state: active, created, or\nrunning. A terminal \"sold\"/\"sold out\"-style value almost certainly\nalso exists but was not observed in live testing.",
+ "enum": [
+ "active",
+ "created",
+ "running"
+ ],
+ "example": "running",
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "transaction_type": {
+ "description": "TransactionType distinguishes how a listing is sold: AUCTION,\nGIVEAWAY, or BUY_IT_NOW.",
+ "enum": [
+ "AUCTION",
+ "GIVEAWAY",
+ "BUY_IT_NOW"
+ ],
+ "example": "AUCTION",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "whatnot.LiveResponse": {
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "products": {
+ "items": {
+ "$ref": "#/definitions/whatnot.LiveProduct"
+ },
+ "type": "array"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "whatnot.LiveSeller": {
+ "properties": {
+ "rating": {
+ "type": "number"
+ },
+ "review_count": {
+ "type": "integer"
+ },
+ "username": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "whatnot.LiveShow": {
+ "properties": {
+ "id": {
+ "description": "pass as the :id path param to /whatnot/live/{id}",
+ "type": "string"
+ },
+ "seller_username": {
+ "type": "string"
+ },
+ "start_time_ms": {
+ "type": "integer"
+ },
+ "status": {
+ "description": "Status is the show's own lifecycle state: PLAYING (currently live) or\nCREATED (scheduled, not yet started). An ended-show state almost\ncertainly also exists but was not observed in live testing -- ended\nshows drop out of Whatnot's own Browse/category feeds essentially\nimmediately.",
+ "enum": [
+ "PLAYING",
+ "CREATED"
+ ],
+ "example": "PLAYING",
+ "type": "string"
+ },
+ "tags": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "thumbnail_url": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "whatnot.SellerProfile": {
+ "properties": {
+ "average_ship_days": {
+ "type": "integer"
+ },
+ "bio": {
+ "type": "string"
+ },
+ "display_name": {
+ "type": "string"
+ },
+ "follower_count": {
+ "type": "integer"
+ },
+ "following_count": {
+ "type": "integer"
+ },
+ "is_live": {
+ "type": "boolean"
+ },
+ "is_premier_shop": {
+ "type": "boolean"
+ },
+ "is_verified_seller": {
+ "type": "boolean"
+ },
+ "rating": {
+ "type": "number"
+ },
+ "review_count": {
+ "type": "integer"
+ },
+ "sold_count": {
+ "type": "integer"
+ },
+ "username": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "whatnot.SellerResponse": {
+ "properties": {
+ "has_more": {
+ "type": "boolean"
+ },
+ "next_cursor": {
+ "type": "string"
+ },
+ "profile": {
+ "$ref": "#/definitions/whatnot.SellerProfile"
+ },
+ "shows": {
+ "items": {
+ "$ref": "#/definitions/whatnot.LiveShow"
+ },
+ "type": "array"
+ },
+ "total_count": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "whatnot.browseResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/whatnot.BrowseResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "whatnot.categoriesResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/whatnot.CategoriesResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "whatnot.liveResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/whatnot.LiveResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "whatnot.sellerResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/whatnot.SellerResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wingstop.DeliveryStoreResponse": {
+ "properties": {
+ "drive_time_minutes": {
+ "example": 17,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "location_status": {
+ "example": "Active",
+ "type": "string"
+ },
+ "slug": {
+ "description": "Slug can be passed directly as /wingstop/menu's path with\nservice_mode=delivery.",
+ "example": "wingstop-128-houston-tx-77065",
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wingstop.DirectoryChild": {
+ "properties": {
+ "is_store": {
+ "description": "IsStore is a convenience flag equivalent to Kind == \"store\".",
+ "example": false,
+ "type": "boolean"
+ },
+ "kind": {
+ "description": "Kind classifies the child: \"country\", \"state\", \"city\", or \"store\".\nOnly a \"store\" child carries no further directory levels -- pass its\npath to GET /wingstop/store instead of GET /wingstop/directory.",
+ "example": "city",
+ "type": "string"
+ },
+ "name": {
+ "example": "Houston",
+ "type": "string"
+ },
+ "path": {
+ "example": "us/tx/houston",
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wingstop.DirectoryResponse": {
+ "properties": {
+ "children": {
+ "items": {
+ "$ref": "#/definitions/wingstop.DirectoryChild"
+ },
+ "type": "array"
+ },
+ "count": {
+ "example": 48,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "path": {
+ "example": "us/tx",
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wingstop.Flavor": {
+ "properties": {
+ "description": {
+ "type": "string"
+ },
+ "heat_scale": {
+ "description": "HeatScale is Wingstop's own 0 (no heat) to 5 (hottest) rating.",
+ "example": 1,
+ "type": "integer"
+ },
+ "id": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "is_active": {
+ "description": "IsActive is false for a retired flavor Wingstop's catalog still\ncarries a record for but no longer offers -- confirmed live via\n\"Hot Lemon\", present in the feed but absent from the rendered page.",
+ "type": "boolean"
+ },
+ "is_dry": {
+ "description": "IsDry distinguishes a dry rub from a wet sauce.",
+ "type": "boolean"
+ },
+ "is_limited_time": {
+ "type": "boolean"
+ },
+ "is_new": {
+ "type": "boolean"
+ },
+ "is_popular": {
+ "type": "boolean"
+ },
+ "name": {
+ "example": "Lemon Pepper",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wingstop.FlavorsResponse": {
+ "properties": {
+ "count": {
+ "example": 16,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "flavors": {
+ "items": {
+ "$ref": "#/definitions/wingstop.Flavor"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wingstop.MenuCategory": {
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "name": {
+ "example": "Wing Combos",
+ "type": "string"
+ },
+ "products": {
+ "items": {
+ "$ref": "#/definitions/wingstop.MenuProduct"
+ },
+ "type": "array"
+ },
+ "slug": {
+ "example": "wing-combos",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wingstop.MenuProduct": {
+ "properties": {
+ "description": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "name": {
+ "example": "6 pc Wing Combo",
+ "type": "string"
+ },
+ "slug": {
+ "example": "6-wing-combo",
+ "type": "string"
+ },
+ "variants": {
+ "description": "Variants is always non-empty: one entry for a standalone item, one\nper size/preparation for a family.",
+ "items": {
+ "$ref": "#/definitions/wingstop.MenuVariant"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "wingstop.MenuResponse": {
+ "properties": {
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/wingstop.MenuCategory"
+ },
+ "type": "array"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "path": {
+ "type": "string"
+ },
+ "service_mode": {
+ "example": "carryout",
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "store": {
+ "$ref": "#/definitions/wingstop.MenuStoreSummary"
+ }
+ },
+ "type": "object"
+ },
+ "wingstop.MenuStoreSummary": {
+ "properties": {
+ "currency_code": {
+ "example": "USD",
+ "type": "string"
+ },
+ "lead_time_minutes": {
+ "example": 10,
+ "type": "integer"
+ },
+ "name": {
+ "example": "Wingstop Houston Jones",
+ "type": "string"
+ },
+ "slug": {
+ "example": "wingstop-128-houston-tx-77065",
+ "type": "string"
+ },
+ "store_id": {
+ "example": "128",
+ "type": "string"
+ },
+ "tax_rate_percent": {
+ "example": 8.25,
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "wingstop.MenuVariant": {
+ "properties": {
+ "description": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "is_default": {
+ "type": "boolean"
+ },
+ "is_limited_time": {
+ "type": "boolean"
+ },
+ "is_new": {
+ "type": "boolean"
+ },
+ "is_popular": {
+ "type": "boolean"
+ },
+ "max_calories": {
+ "example": 1330,
+ "type": "integer"
+ },
+ "min_calories": {
+ "example": 430,
+ "type": "integer"
+ },
+ "name": {
+ "example": "6 pc Boneless Combo",
+ "type": "string"
+ },
+ "price": {
+ "example": 10.69,
+ "type": "number"
+ },
+ "short_name": {
+ "type": "string"
+ },
+ "slug": {
+ "example": "6-boneless-combo",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wingstop.NearbyResponse": {
+ "properties": {
+ "count": {
+ "example": 20,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "radius_miles": {
+ "example": 20,
+ "type": "integer"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "stores": {
+ "items": {
+ "$ref": "#/definitions/wingstop.NearbyStore"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "wingstop.NearbyStore": {
+ "properties": {
+ "address": {
+ "$ref": "#/definitions/wingstop.StoreAddress"
+ },
+ "amenities": {
+ "description": "Amenities are optional in-store features this location has, e.g.\n\"Coca Cola Freestyle\" -- present on a minority of stores (confirmed\nlive: about 60% of a sample radius search carried none).",
+ "example": [
+ "Coca Cola Freestyle"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "distance_miles": {
+ "example": 0.6,
+ "type": "number"
+ },
+ "fulfillment_services": {
+ "description": "FulfillmentServices are this store's enabled handoff modes, e.g.\n\"carryout\", \"delivery\".",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "hours": {
+ "description": "Hours is this store's general published week, parsed from the\nlocation-worker record's own \"NotDetermined\"/\"Normal\" calendar\nblock -- a different source and shape from /wingstop/store's Yext\nhours, so day-for-day agreement between the two is not guaranteed.",
+ "items": {
+ "$ref": "#/definitions/wingstop.StoreHours"
+ },
+ "type": "array"
+ },
+ "latitude": {
+ "example": 29.9159405,
+ "type": "number"
+ },
+ "location_status": {
+ "example": "Active",
+ "type": "string"
+ },
+ "longitude": {
+ "example": -95.5838414,
+ "type": "number"
+ },
+ "name": {
+ "example": "Wingstop Houston Jones",
+ "type": "string"
+ },
+ "phone_number": {
+ "example": "+12814779464",
+ "type": "string"
+ },
+ "slug": {
+ "example": "wingstop-128-houston-tx-77065",
+ "type": "string"
+ },
+ "store_id": {
+ "example": "128",
+ "type": "string"
+ },
+ "timezone": {
+ "example": "America/Chicago",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wingstop.StoreAddress": {
+ "properties": {
+ "city": {
+ "example": "Houston",
+ "type": "string"
+ },
+ "country": {
+ "example": "US",
+ "type": "string"
+ },
+ "line1": {
+ "example": "9804 Jones Rd Ste A",
+ "type": "string"
+ },
+ "line2": {
+ "type": "string"
+ },
+ "postal_code": {
+ "example": "77065",
+ "type": "string"
+ },
+ "region": {
+ "example": "TX",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wingstop.StoreHours": {
+ "properties": {
+ "closed": {
+ "description": "Closed is true when Wingstop publishes the day with no open interval.",
+ "example": false,
+ "type": "boolean"
+ },
+ "closes": {
+ "example": "01:00",
+ "type": "string"
+ },
+ "day_of_week": {
+ "example": "Monday",
+ "type": "string"
+ },
+ "opens": {
+ "example": "10:30",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wingstop.StoreResponse": {
+ "properties": {
+ "address": {
+ "$ref": "#/definitions/wingstop.StoreAddress"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "fulfillment_services": {
+ "description": "FulfillmentServices are the pickup/delivery service flags Wingstop\npublishes for this store, e.g. \"In-Store Pickup\", \"Delivery\", \"Same\nDay Delivery\", \"No-Contact Delivery\".",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "google_place_id": {
+ "type": "string"
+ },
+ "hours": {
+ "description": "Hours is the store's general published week of hours.",
+ "items": {
+ "$ref": "#/definitions/wingstop.StoreHours"
+ },
+ "type": "array"
+ },
+ "latitude": {
+ "example": 29.9159405,
+ "type": "number"
+ },
+ "location_status": {
+ "description": "LocationStatus is Wingstop's own operating-status label for this\nstore, e.g. \"Active\".",
+ "example": "Active",
+ "type": "string"
+ },
+ "longitude": {
+ "example": -95.5838414,
+ "type": "number"
+ },
+ "name": {
+ "example": "Wingstop",
+ "type": "string"
+ },
+ "path": {
+ "description": "Path is the canonical /wingstop/store path for this restaurant, as\nrequested.",
+ "type": "string"
+ },
+ "phone_number": {
+ "example": "+12814779464",
+ "type": "string"
+ },
+ "price_range": {
+ "example": "$",
+ "type": "string"
+ },
+ "service_hours": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/wingstop.StoreServiceHours"
+ }
+ ],
+ "description": "ServiceHours is the same week broken down per fulfillment channel --\nsee StoreServiceHours."
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "store_id": {
+ "example": "128",
+ "type": "string"
+ },
+ "timezone": {
+ "example": "America/Chicago",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wingstop.StoreServiceHours": {
+ "properties": {
+ "delivery": {
+ "items": {
+ "$ref": "#/definitions/wingstop.StoreHours"
+ },
+ "type": "array"
+ },
+ "drive_through": {
+ "items": {
+ "$ref": "#/definitions/wingstop.StoreHours"
+ },
+ "type": "array"
+ },
+ "pickup": {
+ "items": {
+ "$ref": "#/definitions/wingstop.StoreHours"
+ },
+ "type": "array"
+ },
+ "takeout": {
+ "items": {
+ "$ref": "#/definitions/wingstop.StoreHours"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "wingstop.deliveryStoreResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/wingstop.DeliveryStoreResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "wingstop.directoryResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/wingstop.DirectoryResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "wingstop.flavorsResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/wingstop.FlavorsResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "wingstop.menuResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/wingstop.MenuResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "wingstop.nearbyResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/wingstop.NearbyResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "wingstop.storeResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/wingstop.StoreResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "wired.ArticleResponse": {
+ "properties": {
+ "authors": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "description": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "paragraphs": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "published_at": {
+ "type": "string"
+ },
+ "section": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "updated_at": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wired.AuthorArticle": {
+ "properties": {
+ "published_at": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wired.AuthorResponse": {
+ "properties": {
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/wired.AuthorArticle"
+ },
+ "type": "array"
+ },
+ "biography": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "job_title": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "social_links": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wired.HeadlinesResponse": {
+ "properties": {
+ "items": {
+ "items": {
+ "$ref": "#/definitions/newsplatform.HeadlineItem"
+ },
+ "type": "array"
+ },
+ "section": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wired.NewsResponse": {
+ "properties": {
+ "items": {
+ "items": {
+ "$ref": "#/definitions/newsplatform.HeadlineItem"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "wired.SectionsResponse": {
+ "properties": {
+ "sections": {
+ "items": {
+ "$ref": "#/definitions/newsplatform.Section"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "wired.articleResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/wired.ArticleResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wired.authorResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/wired.AuthorResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wired.headlinesResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/wired.HeadlinesResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wired.newsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/wired.NewsResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wired.sectionsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/wired.SectionsResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wish.CategoriesResponse": {
+ "properties": {
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/wish.Category"
+ },
+ "type": "array"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wish.Category": {
+ "properties": {
+ "filter_groups": {
+ "items": {
+ "$ref": "#/definitions/wish.FilterGroup"
+ },
+ "type": "array"
+ },
+ "filter_id": {
+ "type": "string"
+ },
+ "is_main_tab": {
+ "type": "boolean"
+ },
+ "name": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wish.Filter": {
+ "properties": {
+ "default_selected": {
+ "type": "boolean"
+ },
+ "filter_id": {
+ "type": "string"
+ },
+ "is_quick_filter": {
+ "type": "boolean"
+ },
+ "is_toggle": {
+ "type": "boolean"
+ },
+ "name": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wish.FilterGroup": {
+ "properties": {
+ "filters": {
+ "items": {
+ "$ref": "#/definitions/wish.Filter"
+ },
+ "type": "array"
+ },
+ "icon_url": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wish.ProductDetailResponse": {
+ "properties": {
+ "description": {
+ "type": "string"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "images": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "is_sold_out": {
+ "type": "boolean"
+ },
+ "name": {
+ "type": "string"
+ },
+ "product_id": {
+ "type": "string"
+ },
+ "rating": {
+ "description": "Rating and RatingCount are the product's own aggregate rating, sourced\nfrom product-detail's dedicated rating module. A brand-new product\nwith no reviews yet carries a zero value for both rather than an\nerror.",
+ "type": "number"
+ },
+ "rating_count": {
+ "type": "integer"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "variations": {
+ "items": {
+ "$ref": "#/definitions/wish.ProductVariation"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "wish.ProductReviewsResponse": {
+ "properties": {
+ "count": {
+ "description": "Number of reviews that was requested.",
+ "type": "integer"
+ },
+ "fetched_at": {
+ "description": "Time the data was fetched, in UTC (RFC 3339).",
+ "type": "string"
+ },
+ "has_more": {
+ "description": "Whether more reviews exist beyond those returned.",
+ "type": "boolean"
+ },
+ "product_id": {
+ "description": "Wish product id that was requested.",
+ "type": "string"
+ },
+ "result_count": {
+ "description": "Number of reviews returned.",
+ "type": "integer"
+ },
+ "reviews": {
+ "description": "Customer reviews of the product.",
+ "items": {
+ "$ref": "#/definitions/wish.Review"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "description": "URL the data was read from.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wish.ProductSummary": {
+ "properties": {
+ "currency_code": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "merchant_id": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "price": {
+ "type": "number"
+ },
+ "product_id": {
+ "type": "string"
+ },
+ "rating": {
+ "type": "number"
+ },
+ "review_count": {
+ "type": "integer"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wish.ProductVariation": {
+ "properties": {
+ "color": {
+ "type": "string"
+ },
+ "currency_code": {
+ "type": "string"
+ },
+ "inventory": {
+ "type": "integer"
+ },
+ "merchant_id": {
+ "type": "string"
+ },
+ "merchant_name": {
+ "type": "string"
+ },
+ "merchant_rating": {
+ "type": "number"
+ },
+ "price": {
+ "type": "number"
+ },
+ "size": {
+ "type": "string"
+ },
+ "variation_id": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wish.RelatedItem": {
+ "properties": {
+ "currency_code": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "merchant_id": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "price": {
+ "type": "number"
+ },
+ "product_id": {
+ "type": "string"
+ },
+ "rating": {
+ "type": "number"
+ },
+ "review_count": {
+ "type": "integer"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wish.RelatedItemsResponse": {
+ "properties": {
+ "fetched_at": {
+ "type": "string"
+ },
+ "product_id": {
+ "type": "string"
+ },
+ "shelves": {
+ "items": {
+ "$ref": "#/definitions/wish.RelatedShelf"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wish.RelatedShelf": {
+ "properties": {
+ "feed_mode": {
+ "example": "similar",
+ "type": "string"
+ },
+ "has_more": {
+ "type": "boolean"
+ },
+ "items": {
+ "items": {
+ "$ref": "#/definitions/wish.RelatedItem"
+ },
+ "type": "array"
+ },
+ "subtitle": {
+ "example": "Similar Items with 5-7 Day Shipping",
+ "type": "string"
+ },
+ "title": {
+ "example": "Faster Shipping",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wish.Review": {
+ "properties": {
+ "color": {
+ "description": "Product color the review is for.",
+ "type": "string"
+ },
+ "comment": {
+ "description": "Text of the review.",
+ "type": "string"
+ },
+ "created_at": {
+ "description": "Time the review was posted, in ISO 8601 format.",
+ "type": "string"
+ },
+ "downvote_count": {
+ "description": "Number of downvotes the review received.",
+ "type": "integer"
+ },
+ "id": {
+ "description": "Wish review id.",
+ "type": "string"
+ },
+ "image_ids": {
+ "description": "Ids of the photos attached to the review.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "is_wish_star": {
+ "description": "Whether Wish marks the review as a Wish Star rating.",
+ "type": "boolean"
+ },
+ "rating": {
+ "description": "Star rating the reviewer gave.",
+ "type": "integer"
+ },
+ "title": {
+ "description": "Review headline written by the reviewer.",
+ "type": "string"
+ },
+ "upvote_count": {
+ "description": "Number of upvotes the review received.",
+ "type": "integer"
+ },
+ "user_country_code": {
+ "description": "Country code of the reviewer, such as `US`.",
+ "type": "string"
+ },
+ "user_name": {
+ "description": "Display name of the reviewer.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wish.SearchResponse": {
+ "properties": {
+ "count": {
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "has_more": {
+ "type": "boolean"
+ },
+ "next_offset": {
+ "type": "integer"
+ },
+ "offset": {
+ "type": "integer"
+ },
+ "products": {
+ "items": {
+ "$ref": "#/definitions/wish.ProductSummary"
+ },
+ "type": "array"
+ },
+ "query": {
+ "type": "string"
+ },
+ "result_count": {
+ "type": "integer"
+ },
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wish.SuggestResponse": {
+ "properties": {
+ "count": {
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "query": {
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "suggestions": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "wish.categoriesResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/wish.CategoriesResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wish.productDetailResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/wish.ProductDetailResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wish.productReviewsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/wish.ProductReviewsResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wish.relatedItemsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/wish.RelatedItemsResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wish.searchResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/wish.SearchResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wish.suggestResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/wish.SuggestResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wolt.AvailabilityResponse": {
+ "properties": {
+ "delivery_enabled": {
+ "type": "boolean"
+ },
+ "delivery_fee": {
+ "description": "DeliveryFee is the base delivery price for this caller's coordinate,\nin major currency units (e.g. euros). Wolt scales it with distance --\nconfirmed live 2026-09-05: the same venue returned 1.99 for a 474m\ncoordinate and 7.99 for a 16.2km one.",
+ "type": "number"
+ },
+ "delivery_fee_label": {
+ "description": "DeliveryFeeLabel is Wolt's own locale-formatted rendering of the fee\nactually shown on the venue page (e.g. \"€0.00\" while a free-delivery\ncampaign is running), which can differ from DeliveryFee's list price.",
+ "type": "string"
+ },
+ "delivery_method_default": {
+ "description": "DeliveryMethodDefault is the fulfilment method Wolt itself would\npreselect for this caller's coordinate: \"DELIVERY\", \"PICKUP\", or\n\"UNAVAILABLE\" when no coordinate was supplied (or the venue does not\ndeliver there at all). Confirmed live 2026-09-05.",
+ "type": "string"
+ },
+ "delivery_open_status": {
+ "$ref": "#/definitions/wolt.OpenStatus"
+ },
+ "distance_label": {
+ "description": "DistanceLabel is Wolt's own formatted venue distance from the\ncaller's coordinate (e.g. \"474 m\", \"16.2 km\"). Only present when\ncoordinates were supplied.",
+ "type": "string"
+ },
+ "estimates": {
+ "items": {
+ "$ref": "#/definitions/wolt.DeliveryEstimate"
+ },
+ "type": "array"
+ },
+ "id": {
+ "type": "string"
+ },
+ "online": {
+ "type": "boolean"
+ },
+ "open_status": {
+ "$ref": "#/definitions/wolt.OpenStatus"
+ },
+ "order_minimum": {
+ "description": "OrderMinimum is the venue's minimum order value in major currency\nunits, and OrderMinimumLabel Wolt's own locale-formatted rendering of\nit (e.g. \"Min. order €10.00\").",
+ "type": "number"
+ },
+ "order_minimum_label": {
+ "type": "string"
+ },
+ "promotions": {
+ "description": "Promotions are the discount campaign labels Wolt currently shows on\nthe venue's own public page (e.g. \"0 € delivery fee\", \"3x5 €\"). This\nis display text only -- no campaign is claimed, redeemed, or applied.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "self_delivery": {
+ "type": "boolean"
+ },
+ "slug": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wolt.CategoryFilter": {
+ "properties": {
+ "count": {
+ "type": "integer"
+ },
+ "id": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wolt.CitiesResponse": {
+ "properties": {
+ "cities": {
+ "items": {
+ "$ref": "#/definitions/wolt.City"
+ },
+ "type": "array"
+ },
+ "country": {
+ "type": "string"
+ },
+ "total_results": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "wolt.City": {
+ "properties": {
+ "country": {
+ "type": "string"
+ },
+ "country_iso3": {
+ "type": "string"
+ },
+ "distance_km": {
+ "description": "DistanceKm is Wolt's own whole-kilometre distance from the reference\ncoordinate, present only when latitude/longitude were supplied.\nConfirmed live 2026-09-05 against a haversine recomputation: Wolt\nreports 9 for a city 9.65km away and 13 for one 13.79km away, i.e.\nkilometres truncated to an integer, not metres.",
+ "type": "integer"
+ },
+ "id": {
+ "type": "string"
+ },
+ "latitude": {
+ "type": "number"
+ },
+ "longitude": {
+ "type": "number"
+ },
+ "name": {
+ "type": "string"
+ },
+ "slug": {
+ "type": "string"
+ },
+ "timezone": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wolt.Collection": {
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "restaurants": {
+ "items": {
+ "$ref": "#/definitions/wolt.Restaurant"
+ },
+ "type": "array"
+ },
+ "title": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wolt.CollectionsResponse": {
+ "properties": {
+ "collections": {
+ "items": {
+ "$ref": "#/definitions/wolt.Collection"
+ },
+ "type": "array"
+ },
+ "is_serviceable": {
+ "description": "IsServiceable reports whether Wolt delivers to the requested\ncoordinates at all. False means the coordinates are outside Wolt's\ndelivery coverage, so an empty collections list is a coverage\nanswer rather than a served location whose homepage happens to\ncarry no curated lists.",
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "wolt.DaySchedule": {
+ "properties": {
+ "day": {
+ "type": "string"
+ },
+ "formatted_times": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wolt.DeliveryEstimate": {
+ "properties": {
+ "label": {
+ "type": "string"
+ },
+ "max_minutes": {
+ "type": "integer"
+ },
+ "method": {
+ "type": "string"
+ },
+ "min_minutes": {
+ "type": "integer"
+ },
+ "minutes": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "wolt.FiltersResponse": {
+ "properties": {
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/wolt.CategoryFilter"
+ },
+ "type": "array"
+ },
+ "total_results": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "wolt.MenuCategory": {
+ "properties": {
+ "items": {
+ "items": {
+ "$ref": "#/definitions/wolt.MenuItem"
+ },
+ "type": "array"
+ },
+ "name": {
+ "type": "string"
+ },
+ "subcategory": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wolt.MenuItem": {
+ "properties": {
+ "barcode_gtin": {
+ "description": "BarcodeGTIN, UnitInfo, and UnitPrice are retail/grocery product\nfields. A restaurant dish carries none of them; a packaged store\nproduct usually carries all three.",
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "dietary_preferences": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "id": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "original_price": {
+ "type": "number"
+ },
+ "price": {
+ "type": "number"
+ },
+ "tags": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "unit_info": {
+ "type": "string"
+ },
+ "unit_price": {
+ "$ref": "#/definitions/wolt.UnitPrice"
+ }
+ },
+ "type": "object"
+ },
+ "wolt.MenuResponse": {
+ "properties": {
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/wolt.MenuCategory"
+ },
+ "type": "array"
+ },
+ "loading_strategy": {
+ "description": "LoadingStrategy reports whether this venue's items are included.\n\"full\" means every category below carries its items. \"partial\"\nmeans Wolt does not bulk-load this venue's assortment: the\ncategories are real but every one of them comes back with an empty\nitems list, and the venue's items are reachable only by keyword\nthrough /wolt/restaurant/menu/search. Large stores of any kind --\nsupermarkets, pharmacies, drugstores, DIY and toy stores -- are\ncommonly \"partial\"; restaurants are \"full\".",
+ "type": "string"
+ },
+ "restaurant": {
+ "$ref": "#/definitions/wolt.RestaurantResponse"
+ }
+ },
+ "type": "object"
+ },
+ "wolt.MenuSearchResponse": {
+ "properties": {
+ "items": {
+ "items": {
+ "$ref": "#/definitions/wolt.MenuItem"
+ },
+ "type": "array"
+ },
+ "query": {
+ "type": "string"
+ },
+ "slug": {
+ "type": "string"
+ },
+ "total_results": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "wolt.OpenStatus": {
+ "properties": {
+ "is_open": {
+ "type": "boolean"
+ },
+ "label": {
+ "type": "string"
+ },
+ "next_close": {
+ "type": "string"
+ },
+ "next_open": {
+ "type": "string"
+ },
+ "now": {
+ "type": "string"
+ },
+ "previous_open": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wolt.Restaurant": {
+ "properties": {
+ "address": {
+ "type": "string"
+ },
+ "categories": {
+ "description": "Categories are the venue's own category ids, in the same taxonomy\n/wolt/search's category parameter and /wolt/search/filters use. This\nis a machine-readable vocabulary, distinct from Tags's free-text\ndisplay list. Only the two browse modes carry it; a keyword search\nomits it.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "city": {
+ "type": "string"
+ },
+ "country": {
+ "type": "string"
+ },
+ "currency": {
+ "type": "string"
+ },
+ "delivers": {
+ "type": "boolean"
+ },
+ "estimate_minutes": {
+ "type": "integer"
+ },
+ "estimate_range": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "latitude": {
+ "description": "Latitude/Longitude are the venue's own coordinates.",
+ "type": "number"
+ },
+ "longitude": {
+ "type": "number"
+ },
+ "name": {
+ "type": "string"
+ },
+ "online": {
+ "type": "boolean"
+ },
+ "price_range": {
+ "type": "integer"
+ },
+ "product_line": {
+ "type": "string"
+ },
+ "rating_count": {
+ "type": "integer"
+ },
+ "rating_score": {
+ "type": "number"
+ },
+ "short_description": {
+ "type": "string"
+ },
+ "slug": {
+ "type": "string"
+ },
+ "tags": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "wolt.RestaurantResponse": {
+ "properties": {
+ "address": {
+ "type": "string"
+ },
+ "brand_name": {
+ "type": "string"
+ },
+ "brand_slug": {
+ "description": "BrandSlug is a grouping key shared by every location of a chain\n(e.g. \"mcdonalds\"). Wolt publishes no brand listing, so it is not\naccepted as a parameter anywhere -- it is useful for collapsing\nresults by chain.",
+ "type": "string"
+ },
+ "categories": {
+ "description": "Categories are the venue's own categories, each with the id\n/wolt/search's category parameter accepts, a display name, and a\nflag for the venue's primary category.",
+ "items": {
+ "$ref": "#/definitions/wolt.VenueCategory"
+ },
+ "type": "array"
+ },
+ "city": {
+ "type": "string"
+ },
+ "city_id": {
+ "description": "CityID is the id of the /wolt/cities entry this venue belongs to.",
+ "type": "string"
+ },
+ "country": {
+ "type": "string"
+ },
+ "currency": {
+ "type": "string"
+ },
+ "delivery_base_price": {
+ "type": "integer"
+ },
+ "delivery_methods": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "delivery_times": {
+ "items": {
+ "$ref": "#/definitions/wolt.DaySchedule"
+ },
+ "type": "array"
+ },
+ "description": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "latitude": {
+ "description": "Latitude/Longitude are the venue's own coordinates.",
+ "type": "number"
+ },
+ "longitude": {
+ "type": "number"
+ },
+ "name": {
+ "type": "string"
+ },
+ "opening_times": {
+ "items": {
+ "$ref": "#/definitions/wolt.DaySchedule"
+ },
+ "type": "array"
+ },
+ "order_minimum": {
+ "type": "string"
+ },
+ "phone": {
+ "type": "string"
+ },
+ "pickup_friendly": {
+ "type": "boolean"
+ },
+ "post_code": {
+ "type": "string"
+ },
+ "price_range": {
+ "description": "PriceRange is Wolt's own 1-4 price tier and Tags its free-text\ndisplay cuisine list -- the same two fields /wolt/search returns per\nresult.",
+ "type": "integer"
+ },
+ "product_line": {
+ "type": "string"
+ },
+ "rating_count": {
+ "type": "integer"
+ },
+ "rating_score": {
+ "type": "number"
+ },
+ "service_fee_max": {
+ "type": "integer"
+ },
+ "service_fee_min": {
+ "type": "integer"
+ },
+ "service_fee_percent": {
+ "type": "integer"
+ },
+ "share_url": {
+ "type": "string"
+ },
+ "slug": {
+ "type": "string"
+ },
+ "tags": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "timezone": {
+ "description": "Timezone is the IANA zone (e.g. \"Europe/Helsinki\") the venue's\nopening and delivery hours are expressed in.",
+ "type": "string"
+ },
+ "website": {
+ "type": "string"
+ },
+ "wolt_plus": {
+ "description": "WoltPlus reports whether the venue participates in Wolt's\nsubscription programme.",
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "wolt.SearchResponse": {
+ "properties": {
+ "category": {
+ "type": "string"
+ },
+ "is_serviceable": {
+ "description": "IsServiceable reports whether Wolt delivers to the requested\ncoordinates at all. False means the coordinates are outside Wolt's\ndelivery coverage, so an empty restaurants list is a coverage\nanswer rather than a no-matches answer. True with an empty list\nmeans the location is served but nothing matched. Always present:\nall three search modes -- plain browse, keyword search, and\ncategory browse -- answer it definitively.",
+ "type": "boolean"
+ },
+ "open_now": {
+ "type": "boolean"
+ },
+ "product_line": {
+ "type": "string"
+ },
+ "query": {
+ "type": "string"
+ },
+ "restaurants": {
+ "items": {
+ "$ref": "#/definitions/wolt.Restaurant"
+ },
+ "type": "array"
+ },
+ "sort": {
+ "type": "string"
+ },
+ "total_results": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "wolt.UnitPrice": {
+ "properties": {
+ "base": {
+ "type": "integer"
+ },
+ "price": {
+ "type": "number"
+ },
+ "unit": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wolt.VenueCategory": {
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "primary": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "wolt.availabilityResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/wolt.AvailabilityResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "wolt.citiesResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/wolt.CitiesResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "wolt.collectionsResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/wolt.CollectionsResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "wolt.filtersResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/wolt.FiltersResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "wolt.menuResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/wolt.MenuResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "wolt.menuSearchResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/wolt.MenuSearchResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "wolt.restaurantResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/wolt.RestaurantResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "wolt.searchResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/wolt.SearchResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "wsj.ArticleResponse": {
+ "properties": {
+ "archive_timestamp": {
+ "type": "string"
+ },
+ "archive_url": {
+ "type": "string"
+ },
+ "author": {
+ "type": "string"
+ },
+ "paragraphs": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "published_at": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "word_count": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "wsj.AuthorArticle": {
+ "properties": {
+ "published_at": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wsj.AuthorResponse": {
+ "properties": {
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/wsj.AuthorArticle"
+ },
+ "type": "array"
+ },
+ "bio": {
+ "type": "string"
+ },
+ "email": {
+ "type": "string"
+ },
+ "job_title": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "social_accounts": {
+ "items": {
+ "$ref": "#/definitions/wsj.AuthorSocialAccount"
+ },
+ "type": "array"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wsj.AuthorSocialAccount": {
+ "properties": {
+ "platform": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wsj.articleResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/wsj.ArticleResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wsj.authorResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/wsj.AuthorResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wta.CalendarPage": {
+ "properties": {
+ "content": {
+ "items": {
+ "$ref": "#/definitions/wta.Tournament"
+ },
+ "type": "array"
+ },
+ "pageInfo": {
+ "$ref": "#/definitions/wta.CalendarPageInfo"
+ }
+ },
+ "type": "object"
+ },
+ "wta.CalendarPageInfo": {
+ "properties": {
+ "numEntries": {
+ "type": "integer"
+ },
+ "numPages": {
+ "type": "integer"
+ },
+ "page": {
+ "type": "integer"
+ },
+ "pageSize": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "wta.CountriesResponseDoc": {
+ "properties": {
+ "code": {
+ "type": "integer"
+ },
+ "data": {
+ "items": {
+ "$ref": "#/definitions/wta.Country"
+ },
+ "type": "array"
+ },
+ "msg": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wta.Country": {
+ "properties": {
+ "code": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wta.MatchStateChoice": {
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wta.MatchStatesResponseDoc": {
+ "properties": {
+ "code": {
+ "type": "integer"
+ },
+ "data": {
+ "items": {
+ "$ref": "#/definitions/wta.MatchStateChoice"
+ },
+ "type": "array"
+ },
+ "msg": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wta.Player": {
+ "properties": {
+ "countryCode": {
+ "type": "string"
+ },
+ "firstName": {
+ "type": "string"
+ },
+ "fullName": {
+ "type": "string"
+ },
+ "id": {
+ "type": "integer"
+ },
+ "lastName": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wta.Ranking": {
+ "properties": {
+ "movement": {
+ "example": 0,
+ "type": "number"
+ },
+ "player": {
+ "$ref": "#/definitions/wta.Player"
+ },
+ "player1": {
+ "$ref": "#/definitions/wta.Player"
+ },
+ "player2": {
+ "$ref": "#/definitions/wta.Player"
+ },
+ "points": {
+ "example": 8099,
+ "type": "number"
+ },
+ "rankedAt": {
+ "example": "2026-11-02T00:00:00Z",
+ "type": "string"
+ },
+ "ranking": {
+ "example": 1,
+ "type": "number"
+ },
+ "tournamentsPlayed": {
+ "example": 20,
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "wta.RankingsResponseDoc": {
+ "properties": {
+ "code": {
+ "type": "integer"
+ },
+ "data": {
+ "items": {
+ "$ref": "#/definitions/wta.Ranking"
+ },
+ "type": "array"
+ },
+ "msg": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wta.Tournament": {
+ "properties": {
+ "city": {
+ "type": "string"
+ },
+ "country": {
+ "type": "string"
+ },
+ "doublesDrawSize": {
+ "type": "integer"
+ },
+ "endDate": {
+ "type": "string"
+ },
+ "inOutdoor": {
+ "type": "string"
+ },
+ "level": {
+ "type": "string"
+ },
+ "prizeMoney": {
+ "type": "number"
+ },
+ "prizeMoneyCurrency": {
+ "type": "string"
+ },
+ "singlesDrawSize": {
+ "type": "integer"
+ },
+ "startDate": {
+ "type": "string"
+ },
+ "status": {
+ "type": "string"
+ },
+ "surface": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "tournamentGroup": {
+ "$ref": "#/definitions/wta.TournamentGroup"
+ },
+ "year": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "wta.TournamentGroup": {
+ "properties": {
+ "id": {
+ "type": "integer"
+ },
+ "level": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wta.TournamentResourceResponseDoc": {
+ "properties": {
+ "code": {
+ "type": "integer"
+ },
+ "data": {
+ "additionalProperties": true,
+ "type": "object"
+ },
+ "msg": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wta.TournamentSeasonsResponseDoc": {
+ "properties": {
+ "code": {
+ "type": "integer"
+ },
+ "data": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "msg": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "wta.TournamentsResponseDoc": {
+ "properties": {
+ "code": {
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/wta.CalendarPage"
+ },
+ "msg": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "x.Metrics": {
+ "properties": {
+ "bookmarks": {
+ "type": "integer"
+ },
+ "likes": {
+ "type": "integer"
+ },
+ "replies": {
+ "type": "integer"
+ },
+ "reposts": {
+ "type": "integer"
+ },
+ "views": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "x.Post": {
+ "properties": {
+ "author": {
+ "$ref": "#/definitions/x.User"
+ },
+ "created_at": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "metrics": {
+ "$ref": "#/definitions/x.Metrics"
+ },
+ "quoted": {
+ "$ref": "#/definitions/x.PostQuote"
+ },
+ "text": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "x.PostQuote": {
+ "properties": {
+ "author": {
+ "$ref": "#/definitions/x.User"
+ },
+ "created_at": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "text": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "x.Profile": {
+ "properties": {
+ "affiliate_label": {
+ "description": "AffiliateLabel is the small highlighted-affiliation badge X shows next\nto the display name (e.g. \"Prime Video\" for an account run on behalf\nof that brand). Distinct from VerifiedType; empty when the account has\nno highlighted affiliation.",
+ "type": "string"
+ },
+ "avatar_url": {
+ "type": "string"
+ },
+ "banner_url": {
+ "type": "string"
+ },
+ "bio_urls": {
+ "description": "BioURLs are links written inside the bio, expanded from their t.co form.\nDistinct from ExternalURL, which is the single profile-header link.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "created_at": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "email": {
+ "description": "Email is an address the account self-published in its own bio text. It is\nonly ever extracted, never inferred or de-obfuscated. Empty for the vast\nmajority of profiles.",
+ "type": "string"
+ },
+ "external_url": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "is_blue_verified": {
+ "type": "boolean"
+ },
+ "is_default_profile_image": {
+ "description": "IsDefaultProfileImage marks accounts still on the placeholder avatar --\na strong shell/abandoned-account signal.",
+ "type": "boolean"
+ },
+ "is_protected": {
+ "type": "boolean"
+ },
+ "is_unavailable": {
+ "type": "boolean"
+ },
+ "location": {
+ "type": "string"
+ },
+ "metrics": {
+ "$ref": "#/definitions/x.ProfileMetrics"
+ },
+ "name": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "username": {
+ "type": "string"
+ },
+ "verified_type": {
+ "description": "VerifiedType distinguishes the flavour of verification (e.g. \"Business\",\n\"Government\"); empty for ordinary/blue accounts.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "x.ProfileMetrics": {
+ "properties": {
+ "followers": {
+ "type": "integer"
+ },
+ "following": {
+ "type": "integer"
+ },
+ "likes": {
+ "type": "integer"
+ },
+ "listed": {
+ "description": "Listed is how many curated lists include this account -- the best\nauthority proxy in the payload. Media/Likes are activity signals.\nOnly the syndication source populates these; the x.com page parser\nleaves them zero.",
+ "type": "integer"
+ },
+ "media": {
+ "type": "integer"
+ },
+ "posts": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "x.ProfilePosts": {
+ "properties": {
+ "count": {
+ "type": "integer"
+ },
+ "posts": {
+ "items": {
+ "$ref": "#/definitions/x.Post"
+ },
+ "type": "array"
+ },
+ "url": {
+ "type": "string"
+ },
+ "username": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "x.User": {
+ "properties": {
+ "avatar_url": {
+ "type": "string"
+ },
+ "banner_url": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "is_blue_verified": {
+ "type": "boolean"
+ },
+ "is_protected": {
+ "type": "boolean"
+ },
+ "name": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "username": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "x.postResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/x.Post"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "x.profilePostsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/x.ProfilePosts"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "x.profileResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/x.Profile"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "xbox.BrowseResponse": {
+ "properties": {
+ "has_more": {
+ "example": true,
+ "type": "boolean"
+ },
+ "items": {
+ "items": {
+ "$ref": "#/definitions/xbox.GameSummary"
+ },
+ "type": "array"
+ },
+ "next_cursor": {
+ "type": "string"
+ },
+ "total_items": {
+ "example": 17620,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "xbox.CollectionResponse": {
+ "properties": {
+ "has_more": {
+ "example": true,
+ "type": "boolean"
+ },
+ "id": {
+ "example": "TopFreeGames",
+ "type": "string"
+ },
+ "items": {
+ "items": {
+ "$ref": "#/definitions/xbox.GameSummary"
+ },
+ "type": "array"
+ },
+ "next_cursor": {
+ "type": "string"
+ },
+ "title": {
+ "example": "Top free games",
+ "type": "string"
+ },
+ "total_items": {
+ "example": 500,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "xbox.ContentRating": {
+ "properties": {
+ "age": {
+ "example": 17,
+ "type": "integer"
+ },
+ "board": {
+ "example": "ESRB",
+ "type": "string"
+ },
+ "description": {
+ "example": "For ages 17 and up",
+ "type": "string"
+ },
+ "descriptors": {
+ "example": [
+ "[\"Blood and Gore\"",
+ "\"Intense Violence\"]"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "rating": {
+ "example": "MATURE 17+",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "xbox.GameDetail": {
+ "properties": {
+ "available_on": {
+ "example": [
+ "[\"XboxSeriesX|S\"",
+ "\"PC\"]"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "average_rating": {
+ "example": 4.5,
+ "type": "number"
+ },
+ "box_art_url": {
+ "type": "string"
+ },
+ "categories": {
+ "example": [
+ "[\"Shooter\"]"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "content_rating": {
+ "$ref": "#/definitions/xbox.ContentRating"
+ },
+ "description": {
+ "type": "string"
+ },
+ "has_add_ons": {
+ "type": "boolean"
+ },
+ "hero_art_url": {
+ "type": "string"
+ },
+ "included_with_subscription_ids": {
+ "example": [
+ "[\"CFQ7TTC0KHS0\"]"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "is_preorder": {
+ "type": "boolean"
+ },
+ "poster_url": {
+ "type": "string"
+ },
+ "price": {
+ "$ref": "#/definitions/xbox.Price"
+ },
+ "product_id": {
+ "example": "9PK3G146XXVF",
+ "type": "string"
+ },
+ "product_kind": {
+ "example": "Game",
+ "type": "string"
+ },
+ "publisher": {
+ "example": "343 Industries",
+ "type": "string"
+ },
+ "rating_count": {
+ "type": "integer"
+ },
+ "release_date_utc": {
+ "example": "2021-12-08T00:00:00Z",
+ "type": "string"
+ },
+ "short_description": {
+ "type": "string"
+ },
+ "title": {
+ "example": "Halo Infinite",
+ "type": "string"
+ },
+ "url": {
+ "example": "https://www.xbox.com/en-US/games/store/game/9pk3g146xxvf",
+ "type": "string"
+ },
+ "videos": {
+ "items": {
+ "$ref": "#/definitions/xbox.Video"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "xbox.GameSummary": {
+ "properties": {
+ "available_on": {
+ "example": [
+ "[\"XboxSeriesX|S\"",
+ "\"PC\"]"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "average_rating": {
+ "example": 4.5,
+ "type": "number"
+ },
+ "box_art_url": {
+ "type": "string"
+ },
+ "categories": {
+ "example": [
+ "[\"Shooter\"]"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "content_rating": {
+ "$ref": "#/definitions/xbox.ContentRating"
+ },
+ "hero_art_url": {
+ "type": "string"
+ },
+ "is_preorder": {
+ "type": "boolean"
+ },
+ "poster_url": {
+ "type": "string"
+ },
+ "price": {
+ "$ref": "#/definitions/xbox.Price"
+ },
+ "product_id": {
+ "example": "9PK3G146XXVF",
+ "type": "string"
+ },
+ "product_kind": {
+ "example": "Game",
+ "type": "string"
+ },
+ "publisher": {
+ "example": "343 Industries",
+ "type": "string"
+ },
+ "rating_count": {
+ "type": "integer"
+ },
+ "release_date_utc": {
+ "example": "2021-12-08T00:00:00Z",
+ "type": "string"
+ },
+ "title": {
+ "example": "Halo Infinite",
+ "type": "string"
+ },
+ "url": {
+ "example": "https://www.xbox.com/en-US/games/store/game/9pk3g146xxvf",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "xbox.Price": {
+ "properties": {
+ "currency": {
+ "example": "USD",
+ "type": "string"
+ },
+ "discount_percentage": {
+ "example": 25,
+ "type": "number"
+ },
+ "is_free": {
+ "example": false,
+ "type": "boolean"
+ },
+ "list_price": {
+ "example": 59.99,
+ "type": "number"
+ },
+ "msrp": {
+ "example": 59.99,
+ "type": "number"
+ },
+ "sale_end_date_utc": {
+ "example": "2026-10-23T03:59:59Z",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "xbox.RatingsSummary": {
+ "properties": {
+ "average_rating": {
+ "example": 3.3,
+ "type": "number"
+ },
+ "star1_count": {
+ "example": 82702,
+ "type": "integer"
+ },
+ "star2_count": {
+ "example": 8799,
+ "type": "integer"
+ },
+ "star3_count": {
+ "example": 9863,
+ "type": "integer"
+ },
+ "star4_count": {
+ "example": 12807,
+ "type": "integer"
+ },
+ "star5_count": {
+ "example": 112007,
+ "type": "integer"
+ },
+ "total_count": {
+ "example": 226178,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "xbox.Review": {
+ "properties": {
+ "device_family": {
+ "example": "Windows.Xbox",
+ "type": "string"
+ },
+ "helpful_negative": {
+ "example": 647,
+ "type": "integer"
+ },
+ "helpful_positive": {
+ "example": 16025,
+ "type": "integer"
+ },
+ "rating": {
+ "example": 5,
+ "type": "integer"
+ },
+ "review_id": {
+ "type": "string"
+ },
+ "submitted_date_time": {
+ "example": "2024-04-19T18:53:50Z",
+ "type": "string"
+ },
+ "text": {
+ "type": "string"
+ },
+ "title": {
+ "example": "Great game",
+ "type": "string"
+ },
+ "user_name": {
+ "example": "Ryder2010676",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "xbox.ReviewsResponse": {
+ "properties": {
+ "product_id": {
+ "example": "BT5P2X999VH2",
+ "type": "string"
+ },
+ "ratings": {
+ "$ref": "#/definitions/xbox.RatingsSummary"
+ },
+ "reviews": {
+ "items": {
+ "$ref": "#/definitions/xbox.Review"
+ },
+ "type": "array"
+ },
+ "total_reviews": {
+ "example": 91078,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "xbox.SearchResponse": {
+ "properties": {
+ "category": {
+ "example": "games",
+ "type": "string"
+ },
+ "has_more": {
+ "example": true,
+ "type": "boolean"
+ },
+ "items": {
+ "items": {
+ "$ref": "#/definitions/xbox.GameSummary"
+ },
+ "type": "array"
+ },
+ "next_cursor": {
+ "type": "string"
+ },
+ "query": {
+ "example": "halo",
+ "type": "string"
+ },
+ "total_items": {
+ "example": 41,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "xbox.Video": {
+ "properties": {
+ "height": {
+ "type": "integer"
+ },
+ "preview_image_url": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "width": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "xbox.browseResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/xbox.BrowseResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "xbox.collectionResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/xbox.CollectionResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "xbox.gameResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/xbox.GameDetail"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "xbox.reviewsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/xbox.ReviewsResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "xbox.searchResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/xbox.SearchResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "xda.AuthorResponse": {
+ "properties": {
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/newsplatform.HeadlineItem"
+ },
+ "type": "array"
+ },
+ "biography": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "social_links": {
+ "items": {
+ "$ref": "#/definitions/valnet.AuthorSocialLink"
+ },
+ "type": "array"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "xiaohongshu.Channel": {
+ "properties": {
+ "id": {
+ "example": "homefeed.food_v3",
+ "type": "string"
+ },
+ "name": {
+ "example": "美食",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "xiaohongshu.Comment": {
+ "properties": {
+ "author": {
+ "$ref": "#/definitions/xiaohongshu.CommentAuthor"
+ },
+ "comment_id": {
+ "example": "0123456789abcdef01234567",
+ "type": "string"
+ },
+ "content": {
+ "type": "string"
+ },
+ "created_at": {
+ "example": 1700000000,
+ "type": "integer"
+ },
+ "ip_location": {
+ "example": "上海",
+ "type": "string"
+ },
+ "like_count": {
+ "example": 12,
+ "type": "integer"
+ },
+ "sub_comment_count": {
+ "example": 3,
+ "type": "integer"
+ },
+ "sub_comments": {
+ "items": {
+ "$ref": "#/definitions/xiaohongshu.Comment"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "xiaohongshu.CommentAuthor": {
+ "properties": {
+ "avatar_url": {
+ "type": "string"
+ },
+ "nickname": {
+ "example": "synthetic_user",
+ "type": "string"
+ },
+ "user_id": {
+ "example": "000000000000000000000002",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "xiaohongshu.CommentsResponse": {
+ "properties": {
+ "count": {
+ "example": 20,
+ "type": "integer"
+ },
+ "cursor": {
+ "type": "string"
+ },
+ "has_more": {
+ "type": "boolean"
+ },
+ "items": {
+ "items": {
+ "$ref": "#/definitions/xiaohongshu.Comment"
+ },
+ "type": "array"
+ },
+ "note_id": {
+ "example": "0123456789abcdef01234567",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "xiaohongshu.ExploreCard": {
+ "properties": {
+ "author": {
+ "$ref": "#/definitions/xiaohongshu.NoteAuthor"
+ },
+ "cover_url": {
+ "type": "string"
+ },
+ "liked_count": {
+ "example": 14000,
+ "type": "integer"
+ },
+ "note_id": {
+ "example": "0123456789abcdef01234567",
+ "type": "string"
+ },
+ "note_url": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "type": {
+ "example": "video",
+ "type": "string"
+ },
+ "xsec_token": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "xiaohongshu.ExploreResponse": {
+ "properties": {
+ "channel_id": {
+ "example": "homefeed_recommend",
+ "type": "string"
+ },
+ "channels": {
+ "items": {
+ "$ref": "#/definitions/xiaohongshu.Channel"
+ },
+ "type": "array"
+ },
+ "count": {
+ "example": 30,
+ "type": "integer"
+ },
+ "items": {
+ "items": {
+ "$ref": "#/definitions/xiaohongshu.ExploreCard"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "xiaohongshu.NoteAuthor": {
+ "properties": {
+ "avatar_url": {
+ "type": "string"
+ },
+ "nickname": {
+ "example": "synthetic_user",
+ "type": "string"
+ },
+ "user_id": {
+ "example": "000000000000000000000002",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "xiaohongshu.NoteResponse": {
+ "properties": {
+ "author": {
+ "$ref": "#/definitions/xiaohongshu.NoteAuthor"
+ },
+ "description": {
+ "type": "string"
+ },
+ "image_urls": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "note_id": {
+ "example": "0123456789abcdef01234567",
+ "type": "string"
+ },
+ "published_at": {
+ "example": "2026-09-22T04:03:46Z",
+ "type": "string"
+ },
+ "stats": {
+ "$ref": "#/definitions/xiaohongshu.NoteStats"
+ },
+ "tags": {
+ "items": {
+ "$ref": "#/definitions/xiaohongshu.NoteTag"
+ },
+ "type": "array"
+ },
+ "title": {
+ "type": "string"
+ },
+ "type": {
+ "example": "video",
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "video_duration_seconds": {
+ "type": "integer"
+ },
+ "video_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "xiaohongshu.NoteStats": {
+ "properties": {
+ "collected_count": {
+ "type": "integer"
+ },
+ "comment_count": {
+ "type": "integer"
+ },
+ "liked_count": {
+ "type": "integer"
+ },
+ "share_count": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "xiaohongshu.NoteTag": {
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "name": {
+ "example": "美食",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "xiaohongshu.SuggestItem": {
+ "properties": {
+ "highlight_flags": {
+ "items": {
+ "type": "boolean"
+ },
+ "type": "array"
+ },
+ "search_type": {
+ "example": "notes",
+ "type": "string"
+ },
+ "text": {
+ "example": "coffee",
+ "type": "string"
+ },
+ "type": {
+ "example": "top_note",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "xiaohongshu.SuggestResponse": {
+ "properties": {
+ "count": {
+ "example": 10,
+ "type": "integer"
+ },
+ "items": {
+ "items": {
+ "$ref": "#/definitions/xiaohongshu.SuggestItem"
+ },
+ "type": "array"
+ },
+ "keyword": {
+ "example": "coffee",
+ "type": "string"
+ },
+ "search_cpl_id": {
+ "type": "string"
+ },
+ "word_request_id": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "xiaohongshu.commentsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/xiaohongshu.CommentsResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "xiaohongshu.exploreResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/xiaohongshu.ExploreResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "xiaohongshu.noteResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/xiaohongshu.NoteResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "xiaohongshu.suggestResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/xiaohongshu.SuggestResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahooautos.ArticleResponse": {
+ "properties": {
+ "author": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "keywords": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "paragraphs": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "provider": {
+ "type": "string"
+ },
+ "published_at": {
+ "type": "string"
+ },
+ "section": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "updated_at": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahooautos.CategoryPaginate": {
+ "properties": {
+ "next_page": {
+ "example": 2,
+ "type": "integer"
+ },
+ "page": {
+ "example": 1,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "yahooautos.CategoryResponse": {
+ "properties": {
+ "category": {
+ "type": "string"
+ },
+ "items": {
+ "items": {
+ "$ref": "#/definitions/yahooautos.StreamItem"
+ },
+ "type": "array"
+ },
+ "pagination": {
+ "$ref": "#/definitions/yahooautos.CategoryPaginate"
+ }
+ },
+ "type": "object"
+ },
+ "yahooautos.HomeResponse": {
+ "properties": {
+ "items": {
+ "items": {
+ "$ref": "#/definitions/yahooautos.StreamItem"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "yahooautos.StreamItem": {
+ "properties": {
+ "category": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "thumbnail_url": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahooautos.articleResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahooautos.ArticleResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahooautos.categoryResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahooautos.CategoryResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahooautos.homeResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahooautos.HomeResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahooentertainment.ArticleResponse": {
+ "properties": {
+ "author": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "keywords": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "paragraphs": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "provider": {
+ "type": "string"
+ },
+ "published_at": {
+ "type": "string"
+ },
+ "section": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "updated_at": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahooentertainment.CategoryPaginate": {
+ "properties": {
+ "next_page": {
+ "example": 2,
+ "type": "integer"
+ },
+ "page": {
+ "example": 1,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "yahooentertainment.CategoryResponse": {
+ "properties": {
+ "category": {
+ "type": "string"
+ },
+ "items": {
+ "items": {
+ "$ref": "#/definitions/yahooentertainment.StreamItem"
+ },
+ "type": "array"
+ },
+ "pagination": {
+ "$ref": "#/definitions/yahooentertainment.CategoryPaginate"
+ }
+ },
+ "type": "object"
+ },
+ "yahooentertainment.HomeResponse": {
+ "properties": {
+ "items": {
+ "items": {
+ "$ref": "#/definitions/yahooentertainment.StreamItem"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "yahooentertainment.StreamItem": {
+ "properties": {
+ "category": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "thumbnail_url": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahooentertainment.articleResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahooentertainment.ArticleResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahooentertainment.categoryResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahooentertainment.CategoryResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahooentertainment.homeResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahooentertainment.HomeResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoofinance.ActionEvents": {
+ "properties": {
+ "capital_gains": {
+ "description": "Capital gain distributions in the period.",
+ "items": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "dividends": {
+ "description": "Dividend payments in the period.",
+ "items": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "splits": {
+ "description": "Stock splits in the period.",
+ "items": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "yahoofinance.CalendarResponse": {
+ "properties": {
+ "end": {
+ "description": "Last date covered, as YYYY-MM-DD.",
+ "example": "2026-05-27",
+ "type": "string"
+ },
+ "limit": {
+ "description": "Maximum number of rows returned.",
+ "example": 12,
+ "type": "integer"
+ },
+ "offset": {
+ "description": "Zero-based offset of the first row.",
+ "example": 0,
+ "type": "integer"
+ },
+ "rows": {
+ "description": "Calendar entries, one object per row, with the columns Yahoo Finance shows.",
+ "items": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "start": {
+ "description": "First date covered, as YYYY-MM-DD.",
+ "example": "2026-05-20",
+ "type": "string"
+ },
+ "type": {
+ "description": "Calendar returned, for example `earnings`.",
+ "example": "earnings",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoofinance.CalendarsResponse": {
+ "properties": {
+ "calendars": {
+ "description": "Names of the available calendars.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "yahoofinance.DomainListResponse": {
+ "properties": {
+ "items": {
+ "description": "Sectors or industries in the list.",
+ "items": {
+ "$ref": "#/definitions/yahoofinance.DomainRef"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "yahoofinance.DomainRef": {
+ "properties": {
+ "key": {
+ "description": "Identifier of the sector or industry. Use it with the matching endpoint.",
+ "example": "technology",
+ "type": "string"
+ },
+ "name": {
+ "description": "Display name of the sector or industry.",
+ "example": "Technology",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoofinance.DownloadRequest": {
+ "properties": {
+ "auto_adjust": {
+ "type": "boolean"
+ },
+ "back_adjust": {
+ "type": "boolean"
+ },
+ "end": {
+ "type": "string"
+ },
+ "include_actions": {
+ "type": "boolean"
+ },
+ "include_prepost": {
+ "type": "boolean"
+ },
+ "interval": {
+ "type": "string"
+ },
+ "keepna": {
+ "type": "boolean"
+ },
+ "period": {
+ "type": "string"
+ },
+ "rounding": {
+ "type": "boolean"
+ },
+ "start": {
+ "type": "string"
+ },
+ "symbols": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "symbols"
+ ],
+ "type": "object"
+ },
+ "yahoofinance.DownloadResponse": {
+ "properties": {
+ "results": {
+ "description": "One result per requested symbol, in request order.",
+ "items": {
+ "$ref": "#/definitions/yahoofinance.DownloadResult"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "yahoofinance.DownloadResult": {
+ "properties": {
+ "error": {
+ "description": "Message explaining why the history could not be returned. Omitted on success.",
+ "type": "string"
+ },
+ "history": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/yahoofinance.HistoryResponse"
+ }
+ ],
+ "description": "Price history of the symbol. Omitted when the symbol failed."
+ },
+ "symbol": {
+ "description": "Ticker symbol this result is for.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoofinance.EarningsDatesResponse": {
+ "properties": {
+ "limit": {
+ "description": "Maximum number of rows returned.",
+ "example": 12,
+ "type": "integer"
+ },
+ "offset": {
+ "description": "Zero-based offset of the first row.",
+ "example": 0,
+ "type": "integer"
+ },
+ "rows": {
+ "description": "Earnings dates, one object per row.",
+ "items": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "symbol": {
+ "description": "Ticker symbol, for example `AAPL`.",
+ "example": "AAPL",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoofinance.FinancialsResponse": {
+ "properties": {
+ "modules": {
+ "additionalProperties": {},
+ "description": "Statement line items grouped by section.",
+ "type": "object"
+ },
+ "period": {
+ "description": "Reporting period returned, for example `annual`.",
+ "example": "annual",
+ "type": "string"
+ },
+ "statement": {
+ "description": "Statement returned, for example `income`.",
+ "example": "income",
+ "type": "string"
+ },
+ "symbol": {
+ "description": "Ticker symbol, for example `AAPL`.",
+ "example": "AAPL",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoofinance.HistoryMetadataResponse": {
+ "properties": {
+ "meta": {
+ "additionalProperties": {},
+ "description": "Metadata about the instrument and its price history, as Yahoo Finance reports it.",
+ "type": "object"
+ },
+ "symbol": {
+ "description": "Ticker symbol, for example `AAPL`.",
+ "example": "AAPL",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoofinance.HistoryResponse": {
+ "properties": {
+ "events": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/yahoofinance.ActionEvents"
+ }
+ ],
+ "description": "Dividends, splits and capital gains in the period. Present when actions were requested."
+ },
+ "meta": {
+ "additionalProperties": {},
+ "description": "Metadata about the instrument and the price series, as Yahoo Finance reports it.",
+ "type": "object"
+ },
+ "points": {
+ "description": "Price candles in time order.",
+ "items": {
+ "$ref": "#/definitions/yahoofinance.PricePoint"
+ },
+ "type": "array"
+ },
+ "symbol": {
+ "description": "Ticker symbol, for example `AAPL`.",
+ "example": "AAPL",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoofinance.ISINResponse": {
+ "properties": {
+ "isin": {
+ "description": "International Securities Identification Number of the instrument, for example `US0378331005`.",
+ "example": "US0378331005",
+ "type": "string"
+ },
+ "symbol": {
+ "description": "Ticker symbol, for example `AAPL`.",
+ "example": "AAPL",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoofinance.IndustryResponse": {
+ "properties": {
+ "key": {
+ "description": "Identifier of the industry.",
+ "example": "semiconductors",
+ "type": "string"
+ },
+ "name": {
+ "description": "Name of the industry.",
+ "example": "Semiconductors",
+ "type": "string"
+ },
+ "overview": {
+ "additionalProperties": {},
+ "description": "Summary figures for the industry.",
+ "type": "object"
+ },
+ "research_reports": {
+ "description": "Research reports about the industry.",
+ "items": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "sector_key": {
+ "description": "Identifier of the sector the industry belongs to.",
+ "example": "technology",
+ "type": "string"
+ },
+ "sector_name": {
+ "description": "Name of the sector the industry belongs to.",
+ "example": "Technology",
+ "type": "string"
+ },
+ "symbol": {
+ "description": "Index symbol that tracks the industry.",
+ "type": "string"
+ },
+ "top_companies": {
+ "description": "Largest companies in the industry.",
+ "items": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "top_growth_companies": {
+ "description": "Fastest-growing companies in the industry.",
+ "items": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "top_performing_companies": {
+ "description": "Best-performing companies in the industry.",
+ "items": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "yahoofinance.InfoResponse": {
+ "properties": {
+ "modules": {
+ "additionalProperties": {},
+ "description": "Company and quote information grouped by section.",
+ "type": "object"
+ },
+ "symbol": {
+ "description": "Ticker symbol, for example `AAPL`.",
+ "example": "AAPL",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoofinance.LookupResponse": {
+ "properties": {
+ "count": {
+ "description": "Number of documents returned.",
+ "example": 10,
+ "type": "integer"
+ },
+ "documents": {
+ "description": "Matching instruments, one object per match.",
+ "items": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "query": {
+ "description": "Lookup text that was run.",
+ "example": "apple",
+ "type": "string"
+ },
+ "start": {
+ "description": "Zero-based offset of the first result.",
+ "example": 0,
+ "type": "integer"
+ },
+ "total": {
+ "description": "Total number of matches reported by Yahoo Finance.",
+ "example": 10,
+ "type": "integer"
+ },
+ "type": {
+ "description": "Instrument type filter applied, for example `all`.",
+ "example": "all",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoofinance.MarketStatusResponse": {
+ "properties": {
+ "market": {
+ "description": "Market code, for example `US`.",
+ "example": "US",
+ "type": "string"
+ },
+ "status": {
+ "additionalProperties": {},
+ "description": "Current trading status of the market, as Yahoo Finance reports it.",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "yahoofinance.MarketSummaryResponse": {
+ "properties": {
+ "market": {
+ "description": "Market code, for example `US`.",
+ "example": "US",
+ "type": "string"
+ },
+ "summary": {
+ "description": "Market summary entries, one object per index or instrument.",
+ "items": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "yahoofinance.ModuleResponse": {
+ "properties": {
+ "modules": {
+ "additionalProperties": {},
+ "description": "Data grouped by section.",
+ "type": "object"
+ },
+ "symbol": {
+ "description": "Ticker symbol, for example `AAPL`.",
+ "example": "AAPL",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoofinance.OptionExpiration": {
+ "properties": {
+ "calls": {
+ "description": "Call option contracts for this expiration.",
+ "items": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "expiration_date": {
+ "description": "Expiration date of the chain, in Unix seconds.",
+ "example": 1779235200,
+ "type": "integer"
+ },
+ "puts": {
+ "description": "Put option contracts for this expiration.",
+ "items": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "yahoofinance.OptionsResponse": {
+ "properties": {
+ "expiration_dates": {
+ "description": "Available option expiration dates, in Unix seconds.",
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "options": {
+ "description": "Option chains, one entry per expiration date.",
+ "items": {
+ "$ref": "#/definitions/yahoofinance.OptionExpiration"
+ },
+ "type": "array"
+ },
+ "symbol": {
+ "description": "Ticker symbol, for example `AAPL`.",
+ "example": "AAPL",
+ "type": "string"
+ },
+ "underlying": {
+ "additionalProperties": {},
+ "description": "Quote data of the underlying stock.",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "yahoofinance.PricePoint": {
+ "properties": {
+ "adj_close": {
+ "description": "Closing price adjusted for dividends and splits.",
+ "example": 211,
+ "type": "number"
+ },
+ "close": {
+ "description": "Closing price of the candle.",
+ "example": 211,
+ "type": "number"
+ },
+ "datetime": {
+ "description": "Start of the candle, in UTC (RFC 3339).",
+ "example": "2026-05-18T13:30:00Z",
+ "type": "string"
+ },
+ "high": {
+ "description": "Highest price of the candle.",
+ "example": 212,
+ "type": "number"
+ },
+ "low": {
+ "description": "Lowest price of the candle.",
+ "example": 209,
+ "type": "number"
+ },
+ "open": {
+ "description": "Opening price of the candle.",
+ "example": 210,
+ "type": "number"
+ },
+ "timestamp": {
+ "description": "Start of the candle, in Unix seconds.",
+ "example": 1779111000,
+ "type": "integer"
+ },
+ "volume": {
+ "description": "Number of shares traded during the candle.",
+ "example": 54200000,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "yahoofinance.QuoteResponse": {
+ "properties": {
+ "quotes": {
+ "description": "Quote data, one object per symbol.",
+ "items": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "symbols": {
+ "description": "Ticker symbols that were requested.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "yahoofinance.ScreenerRequest": {
+ "properties": {
+ "count": {
+ "description": "Count is the maximum number of matching quotes to return (default 25, maximum 250).",
+ "type": "integer"
+ },
+ "offset": {
+ "description": "Offset is the zero-based index of the first matching quote (default 0, maximum 10000).",
+ "type": "integer"
+ },
+ "query": {
+ "additionalProperties": {},
+ "description": "Query is required and contains Yahoo's recursive criteria tree. Combine conditions with AND or OR; leaves use an operator such as EQ or GT with operands [field, value], for example {operator: GT, operands: [dayvolume, 1000000]}. Accepted fields depend on quote_type.",
+ "type": "object"
+ },
+ "quote_type": {
+ "description": "QuoteType selects the instrument class to screen. Allowed values are EQUITY (default), ETF, and MUTUALFUND.",
+ "type": "string"
+ },
+ "sort_asc": {
+ "description": "SortAsc sorts in ascending order when true; the default is descending.",
+ "type": "boolean"
+ },
+ "sort_field": {
+ "description": "SortField selects the quote field used to order results, such as ticker or marketcap (default ticker).",
+ "type": "string"
+ }
+ },
+ "required": [
+ "query"
+ ],
+ "type": "object"
+ },
+ "yahoofinance.ScreenerResponse": {
+ "properties": {
+ "description": {
+ "description": "Description of the screener.",
+ "type": "string"
+ },
+ "id": {
+ "description": "Identifier of the screener, for example `day_gainers`.",
+ "example": "day_gainers",
+ "type": "string"
+ },
+ "meta": {
+ "additionalProperties": {},
+ "description": "Screener metadata: its canonical name and criteria details.",
+ "type": "object"
+ },
+ "quotes": {
+ "description": "Instruments that match the screener.",
+ "items": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "title": {
+ "description": "Display title of the screener, for example `Day Gainers`.",
+ "example": "Day Gainers",
+ "type": "string"
+ },
+ "total": {
+ "description": "Total number of instruments that match the screener.",
+ "example": 25,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "yahoofinance.ScreenersResponse": {
+ "properties": {
+ "screeners": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "yahoofinance.SearchResponse": {
+ "properties": {
+ "lists": {
+ "description": "Yahoo Finance lists matching the query.",
+ "items": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "news": {
+ "description": "News articles matching the query.",
+ "items": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "query": {
+ "description": "Search text that was run.",
+ "type": "string"
+ },
+ "quotes": {
+ "description": "Ticker and company matches.",
+ "items": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "research": {
+ "items": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "yahoofinance.SectorResponse": {
+ "properties": {
+ "industries": {
+ "items": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "key": {
+ "example": "technology",
+ "type": "string"
+ },
+ "name": {
+ "example": "Technology",
+ "type": "string"
+ },
+ "overview": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "research_reports": {
+ "items": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "symbol": {
+ "example": "^IXT",
+ "type": "string"
+ },
+ "top_companies": {
+ "items": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "top_etfs": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "top_mutual_funds": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "yahoofinance.SharesFullResponse": {
+ "properties": {
+ "end": {
+ "description": "Last date covered, as YYYY-MM-DD.",
+ "example": "2026-05-20",
+ "type": "string"
+ },
+ "points": {
+ "description": "Share count history, one object per data point.",
+ "items": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "start": {
+ "description": "First date covered, as YYYY-MM-DD.",
+ "example": "2025-01-01",
+ "type": "string"
+ },
+ "symbol": {
+ "description": "Ticker symbol, for example `AAPL`.",
+ "example": "AAPL",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoofinance.SharesResponse": {
+ "properties": {
+ "shares": {
+ "additionalProperties": {},
+ "description": "Share count information, as Yahoo Finance reports it.",
+ "type": "object"
+ },
+ "symbol": {
+ "description": "Ticker symbol, for example `AAPL`.",
+ "example": "AAPL",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoofinance.TrendingResponse": {
+ "properties": {
+ "count": {
+ "description": "Number of trending symbols returned.",
+ "example": 5,
+ "type": "integer"
+ },
+ "job_timestamp": {
+ "description": "Time Yahoo Finance generated the list, in Unix milliseconds.",
+ "example": 1779268508061,
+ "type": "integer"
+ },
+ "region": {
+ "description": "Region code of the trending list, for example `US`.",
+ "example": "US",
+ "type": "string"
+ },
+ "start_interval": {
+ "description": "Start of the trending interval, as a 12-digit number such as `202605200800`.",
+ "example": 202605200800,
+ "type": "integer"
+ },
+ "symbols": {
+ "description": "Trending ticker symbols.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "yahoofinance.ValuationResponse": {
+ "properties": {
+ "headers": {
+ "description": "Column headers of the valuation table.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "rows": {
+ "description": "Valuation measures, one object per row.",
+ "items": {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "symbol": {
+ "description": "Ticker symbol, for example `AAPL`.",
+ "example": "AAPL",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoofinance.actionsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoofinance.ActionEvents"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoofinance.calendarResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoofinance.CalendarResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoofinance.calendarsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoofinance.CalendarsResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoofinance.domainListResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoofinance.DomainListResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoofinance.downloadResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoofinance.DownloadResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoofinance.earningsDatesResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoofinance.EarningsDatesResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoofinance.financialsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoofinance.FinancialsResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoofinance.historyMetadataResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoofinance.HistoryMetadataResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoofinance.historyResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoofinance.HistoryResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoofinance.industryResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoofinance.IndustryResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoofinance.infoResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoofinance.InfoResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoofinance.isinResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoofinance.ISINResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoofinance.lookupResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoofinance.LookupResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoofinance.marketStatusResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoofinance.MarketStatusResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoofinance.marketSummaryResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoofinance.MarketSummaryResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoofinance.moduleResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoofinance.ModuleResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoofinance.optionsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoofinance.OptionsResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoofinance.quoteResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoofinance.QuoteResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoofinance.screenerResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoofinance.ScreenerResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoofinance.screenersResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoofinance.ScreenersResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoofinance.searchResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoofinance.SearchResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoofinance.sectorResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoofinance.SectorResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoofinance.sharesFullResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoofinance.SharesFullResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoofinance.sharesResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoofinance.SharesResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoofinance.trendingResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoofinance.TrendingResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoofinance.valuationResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoofinance.ValuationResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoohealth.ArticleResponse": {
+ "properties": {
+ "author": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "keywords": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "paragraphs": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "provider": {
+ "type": "string"
+ },
+ "published_at": {
+ "type": "string"
+ },
+ "section": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "updated_at": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoohealth.CategoryPaginate": {
+ "properties": {
+ "next_page": {
+ "example": 2,
+ "type": "integer"
+ },
+ "page": {
+ "example": 1,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "yahoohealth.CategoryResponse": {
+ "properties": {
+ "category": {
+ "type": "string"
+ },
+ "items": {
+ "items": {
+ "$ref": "#/definitions/yahoohealth.StreamItem"
+ },
+ "type": "array"
+ },
+ "pagination": {
+ "$ref": "#/definitions/yahoohealth.CategoryPaginate"
+ }
+ },
+ "type": "object"
+ },
+ "yahoohealth.HomeResponse": {
+ "properties": {
+ "items": {
+ "items": {
+ "$ref": "#/definitions/yahoohealth.StreamItem"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "yahoohealth.StreamItem": {
+ "properties": {
+ "category": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "thumbnail_url": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoohealth.articleResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoohealth.ArticleResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoohealth.categoryResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoohealth.CategoryResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoohealth.homeResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoohealth.HomeResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoolife.ArticleResponse": {
+ "properties": {
+ "author": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "keywords": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "paragraphs": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "provider": {
+ "type": "string"
+ },
+ "published_at": {
+ "type": "string"
+ },
+ "section": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "updated_at": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoolife.HomeResponse": {
+ "properties": {
+ "items": {
+ "items": {
+ "$ref": "#/definitions/yahoolife.StreamItem"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "yahoolife.StreamItem": {
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "thumbnail_url": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoolife.articleResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoolife.ArticleResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoolife.homeResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoolife.HomeResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoonews.ArticleResponse": {
+ "properties": {
+ "author": {
+ "type": "string"
+ },
+ "category": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "keywords": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "paragraphs": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "provider": {
+ "type": "string"
+ },
+ "provider_url": {
+ "type": "string"
+ },
+ "published_at": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "updated_at": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoonews.CategoryResponse": {
+ "properties": {
+ "category": {
+ "type": "string"
+ },
+ "items": {
+ "items": {
+ "$ref": "#/definitions/yahoonews.StreamItem"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "yahoonews.Comment": {
+ "properties": {
+ "author": {
+ "$ref": "#/definitions/yahoonews.CommentAuthor"
+ },
+ "body": {
+ "type": "string"
+ },
+ "created_at": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "pinned": {
+ "type": "boolean"
+ },
+ "reactions": {
+ "$ref": "#/definitions/yahoonews.CommentReactions"
+ },
+ "reply_count": {
+ "type": "integer"
+ },
+ "updated_at": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoonews.CommentAuthor": {
+ "properties": {
+ "avatar_url": {
+ "type": "string"
+ },
+ "handle": {
+ "type": "string"
+ },
+ "has_default_avatar": {
+ "type": "boolean"
+ },
+ "nickname": {
+ "type": "string"
+ },
+ "total_comment_count": {
+ "type": "integer"
+ },
+ "total_reaction_count": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "yahoonews.CommentReactions": {
+ "properties": {
+ "clap": {
+ "type": "integer"
+ },
+ "heart": {
+ "type": "integer"
+ },
+ "laugh": {
+ "type": "integer"
+ },
+ "sad": {
+ "type": "integer"
+ },
+ "thumbs_down": {
+ "type": "integer"
+ },
+ "thumbs_up": {
+ "type": "integer"
+ },
+ "total": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "yahoonews.CommentsResponse": {
+ "properties": {
+ "comments_count": {
+ "type": "integer"
+ },
+ "content_id": {
+ "type": "string"
+ },
+ "has_next_page": {
+ "type": "boolean"
+ },
+ "items": {
+ "items": {
+ "$ref": "#/definitions/yahoonews.Comment"
+ },
+ "type": "array"
+ },
+ "next_cursor": {
+ "type": "string"
+ },
+ "sort": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoonews.HomeResponse": {
+ "properties": {
+ "items": {
+ "items": {
+ "$ref": "#/definitions/yahoonews.StreamItem"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "yahoonews.Image": {
+ "properties": {
+ "height": {
+ "type": "integer"
+ },
+ "url": {
+ "type": "string"
+ },
+ "width": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "yahoonews.RelatedResponse": {
+ "properties": {
+ "content_id": {
+ "type": "string"
+ },
+ "has_next_page": {
+ "type": "boolean"
+ },
+ "items": {
+ "items": {
+ "$ref": "#/definitions/yahoonews.StreamItem"
+ },
+ "type": "array"
+ },
+ "next_cursor": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoonews.RepliesResponse": {
+ "properties": {
+ "comment_id": {
+ "type": "string"
+ },
+ "content_id": {
+ "type": "string"
+ },
+ "has_next_page": {
+ "type": "boolean"
+ },
+ "items": {
+ "items": {
+ "$ref": "#/definitions/yahoonews.Comment"
+ },
+ "type": "array"
+ },
+ "next_cursor": {
+ "type": "string"
+ },
+ "sort": {
+ "type": "string"
+ },
+ "total_count": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "yahoonews.StreamItem": {
+ "properties": {
+ "authors": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "category": {
+ "type": "string"
+ },
+ "comment_count": {
+ "type": "integer"
+ },
+ "id": {
+ "type": "string"
+ },
+ "images": {
+ "items": {
+ "$ref": "#/definitions/yahoonews.Image"
+ },
+ "type": "array"
+ },
+ "published_at": {
+ "type": "string"
+ },
+ "source": {
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "summary": {
+ "type": "string"
+ },
+ "thumbnail_url": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoonews.SuggestResponse": {
+ "properties": {
+ "fetched_at": {
+ "type": "string"
+ },
+ "query": {
+ "example": "chatgpt",
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "suggestions": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "yahoonews.articleResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoonews.ArticleResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoonews.categoryResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoonews.CategoryResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoonews.commentsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoonews.CommentsResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoonews.homeResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoonews.HomeResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoonews.relatedResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoonews.RelatedResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoonews.repliesResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoonews.RepliesResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoonews.suggestResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoonews.SuggestResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosearch.ImageResult": {
+ "properties": {
+ "domain": {
+ "example": "example.com",
+ "type": "string"
+ },
+ "height": {
+ "example": 1080,
+ "type": "integer"
+ },
+ "image_url": {
+ "example": "https://example.com/chatgpt.jpg",
+ "type": "string"
+ },
+ "page_url": {
+ "example": "https://example.com/article",
+ "type": "string"
+ },
+ "position": {
+ "example": 1,
+ "type": "integer"
+ },
+ "thumbnail_url": {
+ "type": "string"
+ },
+ "title": {
+ "example": "ChatGPT logo",
+ "type": "string"
+ },
+ "width": {
+ "example": 1920,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosearch.ImagesResponse": {
+ "properties": {
+ "query": {
+ "example": "chatgpt",
+ "type": "string"
+ },
+ "results": {
+ "items": {
+ "$ref": "#/definitions/yahoosearch.ImageResult"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosearch.LocalResponse": {
+ "properties": {
+ "query": {
+ "example": "pizza near seattle wa",
+ "type": "string"
+ },
+ "results": {
+ "items": {
+ "$ref": "#/definitions/yahoosearch.LocalResult"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosearch.LocalResult": {
+ "properties": {
+ "address": {
+ "example": "2001 4th Ave",
+ "type": "string"
+ },
+ "category": {
+ "example": "Pizza",
+ "type": "string"
+ },
+ "id": {
+ "example": "36383310",
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "name": {
+ "example": "Serious Pie Downtown",
+ "type": "string"
+ },
+ "open_status": {
+ "example": "Closed",
+ "type": "string"
+ },
+ "phone": {
+ "example": "(206) 838-7388",
+ "type": "string"
+ },
+ "position": {
+ "example": 1,
+ "type": "integer"
+ },
+ "price_range": {
+ "example": "$$",
+ "type": "string"
+ },
+ "rating": {
+ "example": 4,
+ "type": "number"
+ },
+ "review_count": {
+ "example": 4870,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosearch.NewsResponse": {
+ "properties": {
+ "query": {
+ "example": "chatgpt",
+ "type": "string"
+ },
+ "results": {
+ "items": {
+ "$ref": "#/definitions/yahoosearch.NewsResult"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosearch.NewsResult": {
+ "properties": {
+ "age": {
+ "example": "29 minutes ago",
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "position": {
+ "example": 1,
+ "type": "integer"
+ },
+ "source": {
+ "example": "AFP",
+ "type": "string"
+ },
+ "thumbnail_url": {
+ "type": "string"
+ },
+ "title": {
+ "example": "OpenAI announces ChatGPT update",
+ "type": "string"
+ },
+ "url": {
+ "example": "https://example.com/article",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosearch.SearchPagination": {
+ "properties": {
+ "next_page": {
+ "example": 2,
+ "type": "integer"
+ },
+ "page": {
+ "example": 1,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosearch.SearchResponse": {
+ "properties": {
+ "pagination": {
+ "$ref": "#/definitions/yahoosearch.SearchPagination"
+ },
+ "query": {
+ "example": "openai",
+ "type": "string"
+ },
+ "results": {
+ "items": {
+ "$ref": "#/definitions/yahoosearch.SearchResult"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosearch.SearchResult": {
+ "properties": {
+ "description": {
+ "example": "OpenAI is an AI research and deployment company. Our mission is to ensure that artificial general intelligence benefits all of humanity.",
+ "type": "string"
+ },
+ "hostname": {
+ "example": "openai.com",
+ "type": "string"
+ },
+ "position": {
+ "example": 1,
+ "type": "integer"
+ },
+ "title": {
+ "example": "OpenAI | Research & Deployment",
+ "type": "string"
+ },
+ "url": {
+ "example": "https://openai.com/",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosearch.SuggestResponse": {
+ "properties": {
+ "fetched_at": {
+ "type": "string"
+ },
+ "query": {
+ "example": "chatgpt",
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "suggestions": {
+ "items": {
+ "$ref": "#/definitions/yahoosearch.Suggestion"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosearch.Suggestion": {
+ "properties": {
+ "entity": {
+ "$ref": "#/definitions/yahoosearch.SuggestionEntity"
+ },
+ "text": {
+ "example": "chatgpt free",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosearch.SuggestionEntity": {
+ "properties": {
+ "description": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "subtitle": {
+ "type": "string"
+ },
+ "type": {
+ "example": "company",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosearch.VideoResult": {
+ "properties": {
+ "description": {
+ "type": "string"
+ },
+ "domain": {
+ "example": "YouTube",
+ "type": "string"
+ },
+ "duration": {
+ "example": "00:29",
+ "type": "string"
+ },
+ "position": {
+ "example": 1,
+ "type": "integer"
+ },
+ "thumbnail_url": {
+ "type": "string"
+ },
+ "title": {
+ "example": "ChatGPT Demo",
+ "type": "string"
+ },
+ "url": {
+ "example": "https://www.youtube.com/watch?v=example",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosearch.VideosResponse": {
+ "properties": {
+ "query": {
+ "example": "chatgpt",
+ "type": "string"
+ },
+ "results": {
+ "items": {
+ "$ref": "#/definitions/yahoosearch.VideoResult"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosearch.imagesResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoosearch.ImagesResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosearch.localResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoosearch.LocalResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosearch.newsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoosearch.NewsResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosearch.searchResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoosearch.SearchResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosearch.suggestResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoosearch.SuggestResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosearch.videosResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoosearch.VideosResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahooshopping.ArticleResponse": {
+ "properties": {
+ "author": {
+ "type": "string"
+ },
+ "author_url": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "keywords": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "paragraphs": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "provider": {
+ "type": "string"
+ },
+ "published_at": {
+ "type": "string"
+ },
+ "section": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "updated_at": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahooshopping.AuthorPagination": {
+ "properties": {
+ "next_page": {
+ "example": 2,
+ "type": "integer"
+ },
+ "page": {
+ "example": 1,
+ "type": "integer"
+ },
+ "total_pages": {
+ "example": 190,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "yahooshopping.AuthorResponse": {
+ "properties": {
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/yahooshopping.StreamItem"
+ },
+ "type": "array"
+ },
+ "articles_on_yahoo": {
+ "type": "string"
+ },
+ "author": {
+ "type": "string"
+ },
+ "bio": {
+ "type": "string"
+ },
+ "editorial_awards": {
+ "type": "string"
+ },
+ "expertise": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "name": {
+ "type": "string"
+ },
+ "pagination": {
+ "$ref": "#/definitions/yahooshopping.AuthorPagination"
+ },
+ "role": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "years_writing": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahooshopping.CategoriesResponse": {
+ "properties": {
+ "article_shortcuts": {
+ "items": {
+ "$ref": "#/definitions/yahooshopping.ShoppingArticleShortcut"
+ },
+ "type": "array"
+ },
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/yahooshopping.ShoppingCategory"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "yahooshopping.CategoryPaginate": {
+ "properties": {
+ "next_page": {
+ "example": 2,
+ "type": "integer"
+ },
+ "page": {
+ "example": 1,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "yahooshopping.CategoryResponse": {
+ "properties": {
+ "category": {
+ "type": "string"
+ },
+ "items": {
+ "items": {
+ "$ref": "#/definitions/yahooshopping.StreamItem"
+ },
+ "type": "array"
+ },
+ "pagination": {
+ "$ref": "#/definitions/yahooshopping.CategoryPaginate"
+ },
+ "subcategory": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahooshopping.ExpertsResponse": {
+ "properties": {
+ "experts": {
+ "items": {
+ "$ref": "#/definitions/yahooshopping.FeaturedExpert"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "yahooshopping.FeaturedExpert": {
+ "properties": {
+ "author": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "role": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahooshopping.HomeResponse": {
+ "properties": {
+ "items": {
+ "items": {
+ "$ref": "#/definitions/yahooshopping.StreamItem"
+ },
+ "type": "array"
+ },
+ "pagination": {
+ "$ref": "#/definitions/yahooshopping.CategoryPaginate"
+ }
+ },
+ "type": "object"
+ },
+ "yahooshopping.ShoppingArticleShortcut": {
+ "properties": {
+ "category": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahooshopping.ShoppingCategory": {
+ "properties": {
+ "category": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "subcategories": {
+ "items": {
+ "$ref": "#/definitions/yahooshopping.ShoppingSubcategory"
+ },
+ "type": "array"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahooshopping.ShoppingListItem": {
+ "properties": {
+ "currency": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "price": {
+ "type": "number"
+ },
+ "sale_price": {
+ "type": "number"
+ },
+ "seller": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahooshopping.ShoppingListListing": {
+ "properties": {
+ "image_url": {
+ "type": "string"
+ },
+ "list": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahooshopping.ShoppingListResponse": {
+ "properties": {
+ "items": {
+ "items": {
+ "$ref": "#/definitions/yahooshopping.ShoppingListItem"
+ },
+ "type": "array"
+ },
+ "list": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahooshopping.ShoppingListsResponse": {
+ "properties": {
+ "lists": {
+ "items": {
+ "$ref": "#/definitions/yahooshopping.ShoppingListListing"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "yahooshopping.ShoppingSubcategory": {
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "subcategory": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahooshopping.ShoppingSuggestion": {
+ "properties": {
+ "search_count": {
+ "type": "integer"
+ },
+ "text": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahooshopping.SitemapArticle": {
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahooshopping.SitemapLink": {
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahooshopping.SitemapPageResponse": {
+ "properties": {
+ "archives": {
+ "items": {
+ "$ref": "#/definitions/yahooshopping.SitemapLink"
+ },
+ "type": "array"
+ },
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/yahooshopping.SitemapArticle"
+ },
+ "type": "array"
+ },
+ "days": {
+ "items": {
+ "$ref": "#/definitions/yahooshopping.SitemapLink"
+ },
+ "type": "array"
+ },
+ "page_type": {
+ "example": "archive",
+ "type": "string"
+ },
+ "sections": {
+ "items": {
+ "$ref": "#/definitions/yahooshopping.SitemapSection"
+ },
+ "type": "array"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahooshopping.SitemapSection": {
+ "properties": {
+ "section": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahooshopping.SitemapsResponse": {
+ "properties": {
+ "sections": {
+ "items": {
+ "$ref": "#/definitions/yahooshopping.SitemapSection"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "yahooshopping.StoreListing": {
+ "properties": {
+ "logo_url": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "store": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahooshopping.StoreOffer": {
+ "properties": {
+ "brand": {
+ "type": "string"
+ },
+ "currency": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "price": {
+ "type": "number"
+ },
+ "sale_price": {
+ "type": "number"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahooshopping.StoreResponse": {
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "offers": {
+ "items": {
+ "$ref": "#/definitions/yahooshopping.StoreOffer"
+ },
+ "type": "array"
+ },
+ "store": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahooshopping.StoresResponse": {
+ "properties": {
+ "stores": {
+ "items": {
+ "$ref": "#/definitions/yahooshopping.StoreListing"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "yahooshopping.StreamItem": {
+ "properties": {
+ "category": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "thumbnail_url": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahooshopping.SuggestResponse": {
+ "properties": {
+ "fetched_at": {
+ "type": "string"
+ },
+ "query": {
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "suggestions": {
+ "items": {
+ "$ref": "#/definitions/yahooshopping.ShoppingSuggestion"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "yahooshopping.articleResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahooshopping.ArticleResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahooshopping.authorResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahooshopping.AuthorResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahooshopping.categoriesResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahooshopping.CategoriesResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahooshopping.categoryResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahooshopping.CategoryResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahooshopping.expertsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahooshopping.ExpertsResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahooshopping.homeResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahooshopping.HomeResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahooshopping.shoppingListResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahooshopping.ShoppingListResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahooshopping.shoppingListsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahooshopping.ShoppingListsResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahooshopping.sitemapPageResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahooshopping.SitemapPageResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahooshopping.sitemapsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahooshopping.SitemapsResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahooshopping.storeResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahooshopping.StoreResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahooshopping.storesResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahooshopping.StoresResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahooshopping.suggestResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahooshopping.SuggestResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.BracketSeasonOption": {
+ "properties": {
+ "name": {
+ "example": "2025",
+ "type": "string"
+ },
+ "value": {
+ "example": 2025,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.Broadcast": {
+ "properties": {
+ "abbr": {
+ "example": "NFLN",
+ "type": "string"
+ },
+ "name": {
+ "example": "NFL Network",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.CollegeRankingsFilter": {
+ "properties": {
+ "name": {
+ "example": "Poll Type",
+ "type": "string"
+ },
+ "options": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.CollegeRankingsFilterOption"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.CollegeRankingsFilterOption": {
+ "properties": {
+ "label": {
+ "example": "AP Top 25",
+ "type": "string"
+ },
+ "selected": {
+ "type": "boolean"
+ },
+ "value": {
+ "example": "AP_TOP_25",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.CollegeRankingsResponse": {
+ "properties": {
+ "count": {
+ "example": 25,
+ "type": "integer"
+ },
+ "current_season": {
+ "example": 2026,
+ "type": "integer"
+ },
+ "data": {
+ "type": "object"
+ },
+ "date": {
+ "example": "2026-10-25-07:00",
+ "type": "string"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "filters": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.CollegeRankingsFilter"
+ },
+ "type": "array"
+ },
+ "graphite_league": {
+ "example": "ncaaw",
+ "type": "string"
+ },
+ "league": {
+ "example": "college-womens-basketball",
+ "type": "string"
+ },
+ "page_url": {
+ "type": "string"
+ },
+ "poll_type": {
+ "example": "AP_TOP_25",
+ "type": "string"
+ },
+ "rankings": {
+ "items": {
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "tz": {
+ "example": "UTC",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.DropdownCatalogResponse": {
+ "properties": {
+ "data": {
+ "type": "object"
+ },
+ "entry_count": {
+ "example": 11,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.Game": {
+ "properties": {
+ "away_score": {
+ "type": "integer"
+ },
+ "away_team": {
+ "$ref": "#/definitions/yahoosports.TeamRef"
+ },
+ "broadcasts": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.Broadcast"
+ },
+ "type": "array"
+ },
+ "competition": {
+ "$ref": "#/definitions/yahoosports.SoccerCompetitionRef"
+ },
+ "display_name": {
+ "example": "Green Bay @ Pittsburgh",
+ "type": "string"
+ },
+ "home_score": {
+ "type": "integer"
+ },
+ "home_team": {
+ "$ref": "#/definitions/yahoosports.TeamRef"
+ },
+ "id": {
+ "example": "nfl.g.20260813023",
+ "type": "string"
+ },
+ "slug": {
+ "example": "green-bay-packers-pittsburgh-steelers-20260813023",
+ "type": "string"
+ },
+ "start_time": {
+ "example": "2026-08-13T16:00:00-07:00",
+ "type": "string"
+ },
+ "status": {
+ "example": "PREGAME",
+ "type": "string"
+ },
+ "status_display": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "venue": {
+ "$ref": "#/definitions/yahoosports.Venue"
+ },
+ "week": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.GameResponse": {
+ "properties": {
+ "away_score": {
+ "type": "integer"
+ },
+ "away_team": {
+ "$ref": "#/definitions/yahoosports.TeamRef"
+ },
+ "broadcasts": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.Broadcast"
+ },
+ "type": "array"
+ },
+ "competition": {
+ "$ref": "#/definitions/yahoosports.SoccerCompetitionRef"
+ },
+ "display_name": {
+ "example": "Cleveland @ Detroit",
+ "type": "string"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "game": {
+ "example": "cleveland-guardians-detroit-tigers-460811106",
+ "type": "string"
+ },
+ "home_score": {
+ "type": "integer"
+ },
+ "home_team": {
+ "$ref": "#/definitions/yahoosports.TeamRef"
+ },
+ "id": {
+ "example": "mlb.g.460811106",
+ "type": "string"
+ },
+ "league": {
+ "example": "mlb",
+ "type": "string"
+ },
+ "line_score": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.LinePeriod"
+ },
+ "type": "array"
+ },
+ "play_by_play": {
+ "items": {
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "start_time": {
+ "type": "string"
+ },
+ "status": {
+ "example": "FINAL",
+ "type": "string"
+ },
+ "status_display": {
+ "example": "Final",
+ "type": "string"
+ },
+ "team_stats": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.TeamStatLine"
+ },
+ "type": "array"
+ },
+ "venue": {
+ "$ref": "#/definitions/yahoosports.Venue"
+ },
+ "week": {
+ "type": "integer"
+ },
+ "win_probability_timeline": {
+ "items": {
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "winning_team_id": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.GolfDirectoryPlayer": {
+ "properties": {
+ "active": {
+ "type": "boolean"
+ },
+ "first_name": {
+ "type": "string"
+ },
+ "headshot_url": {
+ "type": "string"
+ },
+ "id": {
+ "example": "golf.p.22880",
+ "type": "string"
+ },
+ "last_name": {
+ "type": "string"
+ },
+ "name": {
+ "example": "Ludvig Aberg",
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.GolfLeaderboardEntry": {
+ "properties": {
+ "player": {
+ "$ref": "#/definitions/yahoosports.GolfPlayerRef"
+ },
+ "rank": {
+ "example": "T1",
+ "type": "string"
+ },
+ "rounds": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.GolfRoundResult"
+ },
+ "type": "array"
+ },
+ "score": {
+ "example": -5,
+ "type": "integer"
+ },
+ "score_display": {
+ "example": "-5",
+ "type": "string"
+ },
+ "stats": {
+ "$ref": "#/definitions/yahoosports.GolfPlayerStats"
+ },
+ "status": {
+ "example": "IN_PROGRESS",
+ "type": "string"
+ },
+ "thru": {
+ "example": 18,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.GolfLeaderboardResponse": {
+ "properties": {
+ "count": {
+ "example": 156,
+ "type": "integer"
+ },
+ "entries": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.GolfLeaderboardEntry"
+ },
+ "type": "array"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "season": {
+ "example": 2026,
+ "type": "integer"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "tour": {
+ "example": "pga-tour",
+ "type": "string"
+ },
+ "tournament": {
+ "$ref": "#/definitions/yahoosports.GolfTournamentRef"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.GolfPlayerGroup": {
+ "properties": {
+ "count": {
+ "example": 14,
+ "type": "integer"
+ },
+ "initial": {
+ "example": "A",
+ "type": "string"
+ },
+ "players": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.GolfDirectoryPlayer"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.GolfPlayerProfile": {
+ "properties": {
+ "active": {
+ "type": "boolean"
+ },
+ "awards": {
+ "items": {
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "birth_city": {
+ "type": "string"
+ },
+ "birth_country": {
+ "type": "object"
+ },
+ "birth_date": {
+ "type": "string"
+ },
+ "birth_state": {
+ "type": "string"
+ },
+ "college": {
+ "type": "string"
+ },
+ "display_height": {
+ "type": "string"
+ },
+ "earnings": {
+ "type": "string"
+ },
+ "first_name": {
+ "type": "string"
+ },
+ "first_year": {
+ "type": "integer"
+ },
+ "game_log_preview": {
+ "items": {
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "headshot_url": {
+ "type": "string"
+ },
+ "height": {
+ "type": "integer"
+ },
+ "id": {
+ "example": "golf.p.22880",
+ "type": "string"
+ },
+ "injury": {
+ "type": "object"
+ },
+ "last_name": {
+ "type": "string"
+ },
+ "last_year": {
+ "type": "integer"
+ },
+ "name": {
+ "example": "Ludvig Aberg",
+ "type": "string"
+ },
+ "season_stats": {
+ "items": {
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "sport": {
+ "example": "Golf",
+ "type": "string"
+ },
+ "subpages": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.GolfPlayerSubpage"
+ },
+ "type": "array"
+ },
+ "tournament_stats": {
+ "items": {
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "url": {
+ "type": "string"
+ },
+ "weight": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.GolfPlayerRef": {
+ "properties": {
+ "country": {
+ "example": "United States",
+ "type": "string"
+ },
+ "id": {
+ "example": "golf.p.23296",
+ "type": "string"
+ },
+ "name": {
+ "example": "Michael Thorbjornsen",
+ "type": "string"
+ },
+ "short_name": {
+ "example": "M. Thorbjornsen",
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.GolfPlayerResponse": {
+ "properties": {
+ "fetched_at": {
+ "type": "string"
+ },
+ "player": {
+ "$ref": "#/definitions/yahoosports.GolfPlayerProfile"
+ },
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.GolfPlayerStats": {
+ "properties": {
+ "birdies": {
+ "example": 12,
+ "type": "integer"
+ },
+ "bogeys": {
+ "example": 3,
+ "type": "integer"
+ },
+ "double_bogeys": {
+ "example": 0,
+ "type": "integer"
+ },
+ "eagles": {
+ "example": 1,
+ "type": "integer"
+ },
+ "earnings": {
+ "example": "$0.00",
+ "type": "string"
+ },
+ "pars": {
+ "example": 48,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.GolfPlayerSubpage": {
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.GolfPlayersResponse": {
+ "properties": {
+ "count": {
+ "example": 750,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "groups": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.GolfPlayerGroup"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.GolfRoundResult": {
+ "properties": {
+ "round": {
+ "example": 1,
+ "type": "integer"
+ },
+ "score": {
+ "example": -5,
+ "type": "integer"
+ },
+ "score_display": {
+ "example": "-5",
+ "type": "string"
+ },
+ "strokes": {
+ "example": 65,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.GolfScheduleResponse": {
+ "properties": {
+ "count": {
+ "example": 41,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "season": {
+ "example": 2026,
+ "type": "integer"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "tour": {
+ "example": "pga-tour",
+ "type": "string"
+ },
+ "tournaments": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.GolfTournament"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.GolfTournament": {
+ "properties": {
+ "champion": {
+ "type": "string"
+ },
+ "display_name": {
+ "type": "string"
+ },
+ "end_date": {
+ "example": "2026-08-16",
+ "type": "string"
+ },
+ "id": {
+ "example": "golf.e.23",
+ "type": "string"
+ },
+ "name": {
+ "example": "FedEx St. Jude Championship",
+ "type": "string"
+ },
+ "par": {
+ "type": "integer"
+ },
+ "purse": {
+ "example": "20000000.00",
+ "type": "string"
+ },
+ "season": {
+ "example": 2026,
+ "type": "integer"
+ },
+ "start_date": {
+ "example": "2026-08-13",
+ "type": "string"
+ },
+ "start_time": {
+ "type": "string"
+ },
+ "status": {
+ "example": "IN_PROGRESS",
+ "type": "string"
+ },
+ "status_display": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "venue": {
+ "$ref": "#/definitions/yahoosports.Venue"
+ },
+ "yardage": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.GolfTournamentRef": {
+ "properties": {
+ "current_round": {
+ "example": 1,
+ "type": "integer"
+ },
+ "end_date": {
+ "example": "2026-08-16",
+ "type": "string"
+ },
+ "id": {
+ "example": "golf.e.23",
+ "type": "string"
+ },
+ "name": {
+ "example": "FedEx St. Jude Championship",
+ "type": "string"
+ },
+ "purse": {
+ "example": "20000000.00",
+ "type": "string"
+ },
+ "rounds": {
+ "example": 4,
+ "type": "integer"
+ },
+ "start_date": {
+ "example": "2026-08-13",
+ "type": "string"
+ },
+ "status": {
+ "example": "IN_PROGRESS",
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "venue": {
+ "$ref": "#/definitions/yahoosports.Venue"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.HomeResponse": {
+ "properties": {
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.NewsArticle"
+ },
+ "type": "array"
+ },
+ "count": {
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "navigation": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.YahooSportsNavigationItem"
+ },
+ "type": "array"
+ },
+ "navigation_count": {
+ "type": "integer"
+ },
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.InjuryReportPlayer": {
+ "properties": {
+ "description": {
+ "example": "Shoulder",
+ "type": "string"
+ },
+ "headshot_url": {
+ "type": "string"
+ },
+ "id": {
+ "example": "nba.p.6705",
+ "type": "string"
+ },
+ "name": {
+ "example": "Mark Williams",
+ "type": "string"
+ },
+ "positions": {
+ "example": [
+ "C"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "start_date": {
+ "example": "2026-09-11-05:00",
+ "type": "string"
+ },
+ "status": {
+ "example": "Out",
+ "type": "string"
+ },
+ "type_abbr": {
+ "example": "O",
+ "type": "string"
+ },
+ "type_id": {
+ "example": "O",
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.InjuryReportResponse": {
+ "properties": {
+ "count": {
+ "example": 1,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "league": {
+ "example": "nba",
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "team_id": {
+ "example": "nba.t.21",
+ "type": "string"
+ },
+ "teams": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.InjuryReportTeam"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.InjuryReportTeam": {
+ "properties": {
+ "count": {
+ "example": 1,
+ "type": "integer"
+ },
+ "id": {
+ "example": "nba.t.21",
+ "type": "string"
+ },
+ "logo_url": {
+ "type": "string"
+ },
+ "name": {
+ "example": "Phoenix Suns",
+ "type": "string"
+ },
+ "players": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.InjuryReportPlayer"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.LeagueCatalogResponse": {
+ "properties": {
+ "count": {
+ "example": 28,
+ "type": "integer"
+ },
+ "golf_tours": {
+ "example": [
+ "pga-tour",
+ "pga-european-tours",
+ "lpga-tour",
+ "champions-tour",
+ "european-tour",
+ "korn-ferry-tour"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "injury_report_leagues": {
+ "example": [
+ "nfl",
+ "nba",
+ "mlb",
+ "nhl"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "leagues": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.YahooSportsLeague"
+ },
+ "type": "array"
+ },
+ "motorsports_series": {
+ "example": [
+ "f1",
+ "nascar"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "observed_at": {
+ "example": "2026-11-01",
+ "type": "string"
+ },
+ "player_search_leagues": {
+ "example": [
+ "nfl",
+ "nba",
+ "mlb",
+ "golf"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "tennis_ranking_types": {
+ "example": [
+ "mens-singles",
+ "womens-singles",
+ "mens-doubles",
+ "womens-doubles"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.LeagueScheduleCatalogResponse": {
+ "properties": {
+ "current_season": {
+ "example": 2026,
+ "type": "integer"
+ },
+ "date_filter_supported": {
+ "type": "boolean"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "league": {
+ "example": "nfl",
+ "type": "string"
+ },
+ "league_filter_options": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.ScheduleFilterOption"
+ },
+ "type": "array"
+ },
+ "season_options": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.ScheduleSeasonOption"
+ },
+ "type": "array"
+ },
+ "season_phases": {
+ "example": [
+ "REGULAR_SEASON"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "week_filter_supported": {
+ "type": "boolean"
+ },
+ "week_options": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.ScheduleWeekOption"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.LeagueScheduleResponse": {
+ "properties": {
+ "count": {
+ "example": 16,
+ "type": "integer"
+ },
+ "date": {
+ "example": "2026-10-04",
+ "type": "string"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "games": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.Game"
+ },
+ "type": "array"
+ },
+ "league": {
+ "example": "nfl",
+ "type": "string"
+ },
+ "league_filter": {
+ "example": "conferenceIds_1",
+ "type": "string"
+ },
+ "season": {
+ "example": 2026,
+ "type": "integer"
+ },
+ "season_phase": {
+ "example": "REGULAR_SEASON",
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "week": {
+ "example": 9,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.LinePeriod": {
+ "properties": {
+ "away": {
+ "type": "integer"
+ },
+ "home": {
+ "type": "integer"
+ },
+ "label": {
+ "example": "Bottom 5th",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.MMAEvent": {
+ "properties": {
+ "id": {
+ "example": "combat.e.2144",
+ "type": "string"
+ },
+ "name": {
+ "example": "UFC 324: Gaethje vs. Pimblett",
+ "type": "string"
+ },
+ "start_time": {
+ "example": "2026-01-25T07:12:00+08:00",
+ "type": "string"
+ },
+ "status": {
+ "example": "FINAL",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.MMAFight": {
+ "properties": {
+ "card_position": {
+ "example": "Main",
+ "type": "string"
+ },
+ "current_round": {
+ "type": "integer"
+ },
+ "fighter_one": {
+ "$ref": "#/definitions/yahoosports.MMAFighterRef"
+ },
+ "fighter_two": {
+ "$ref": "#/definitions/yahoosports.MMAFighterRef"
+ },
+ "id": {
+ "example": "combat.g.13595836",
+ "type": "string"
+ },
+ "start_time": {
+ "example": "2026-08-16T10:00:00+08:00",
+ "type": "string"
+ },
+ "status": {
+ "example": "PREGAME",
+ "type": "string"
+ },
+ "weight_class": {
+ "example": "Womens Strawweight",
+ "type": "string"
+ },
+ "winner_id": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.MMAFightCardResponse": {
+ "properties": {
+ "count": {
+ "example": 12,
+ "type": "integer"
+ },
+ "event": {
+ "$ref": "#/definitions/yahoosports.MMAEvent"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "fights": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.MMAFight"
+ },
+ "type": "array"
+ },
+ "promotion": {
+ "example": "UFC",
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.MMAFighterRef": {
+ "properties": {
+ "country": {
+ "example": "United States",
+ "type": "string"
+ },
+ "fighting_out_of": {
+ "example": "United States",
+ "type": "string"
+ },
+ "headshot_url": {
+ "type": "string"
+ },
+ "id": {
+ "example": "combat.p.2087412",
+ "type": "string"
+ },
+ "name": {
+ "example": "Mackenzie Dern",
+ "type": "string"
+ },
+ "rank": {
+ "example": 5,
+ "type": "integer"
+ },
+ "record": {
+ "example": "16-5-0",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.MMAScheduleResponse": {
+ "properties": {
+ "count": {
+ "example": 51,
+ "type": "integer"
+ },
+ "events": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.MMAEvent"
+ },
+ "type": "array"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "promotion": {
+ "example": "UFC",
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.MoreNewsPageInfo": {
+ "properties": {
+ "end_cursor": {
+ "type": "string"
+ },
+ "has_next_page": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.MoreNewsPagination": {
+ "properties": {
+ "effective_page": {
+ "example": 1,
+ "type": "integer"
+ },
+ "page_size": {
+ "example": 50,
+ "type": "integer"
+ },
+ "total_pages": {
+ "example": 10,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.MoreNewsResponse": {
+ "properties": {
+ "count": {
+ "example": 50,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "items": {
+ "items": {
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "league": {
+ "example": "top",
+ "type": "string"
+ },
+ "list_id": {
+ "type": "string"
+ },
+ "max_count": {
+ "example": 4000,
+ "type": "integer"
+ },
+ "page": {
+ "example": 1,
+ "type": "integer"
+ },
+ "page_info": {
+ "$ref": "#/definitions/yahoosports.MoreNewsPageInfo"
+ },
+ "page_path": {
+ "example": "/page/",
+ "type": "string"
+ },
+ "page_type": {
+ "example": "news",
+ "type": "string"
+ },
+ "pagination": {
+ "$ref": "#/definitions/yahoosports.MoreNewsPagination"
+ },
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.MotorsportsCar": {
+ "properties": {
+ "engine": {
+ "example": "Mercedes M08 EQ Power+",
+ "type": "string"
+ },
+ "model": {
+ "example": "Mercedes F1 W08 EQ Power+",
+ "type": "string"
+ },
+ "number": {
+ "example": 63,
+ "type": "integer"
+ },
+ "owner": {
+ "example": "Mercedes AMG Motorsport",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.MotorsportsDriverRef": {
+ "properties": {
+ "id": {
+ "example": "motorsports.p.1490",
+ "type": "string"
+ },
+ "name": {
+ "example": "George Russell",
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.MotorsportsRace": {
+ "properties": {
+ "distance_mi": {
+ "example": "306.12",
+ "type": "string"
+ },
+ "id": {
+ "example": "motorsports.g.2961",
+ "type": "string"
+ },
+ "laps": {
+ "example": 58,
+ "type": "integer"
+ },
+ "laps_completed": {
+ "example": 58,
+ "type": "integer"
+ },
+ "name": {
+ "example": "Australian Grand Prix",
+ "type": "string"
+ },
+ "pole_winner": {
+ "$ref": "#/definitions/yahoosports.MotorsportsDriverRef"
+ },
+ "race_winner": {
+ "$ref": "#/definitions/yahoosports.MotorsportsDriverRef"
+ },
+ "start_time": {
+ "example": "2026-03-07T20:00:00-08:00",
+ "type": "string"
+ },
+ "status": {
+ "example": "FINAL",
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "venue": {
+ "$ref": "#/definitions/yahoosports.Venue"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.MotorsportsRaceResponse": {
+ "properties": {
+ "count": {
+ "example": 20,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "race": {
+ "$ref": "#/definitions/yahoosports.MotorsportsRace"
+ },
+ "results": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.MotorsportsResult"
+ },
+ "type": "array"
+ },
+ "season": {
+ "example": 2026,
+ "type": "integer"
+ },
+ "series": {
+ "example": "f1",
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.MotorsportsResult": {
+ "properties": {
+ "bonus_points": {
+ "type": "integer"
+ },
+ "car": {
+ "$ref": "#/definitions/yahoosports.MotorsportsCar"
+ },
+ "driver": {
+ "$ref": "#/definitions/yahoosports.MotorsportsDriverRef"
+ },
+ "fastest_lap_time": {
+ "example": "1:22.670",
+ "type": "string"
+ },
+ "laps": {
+ "example": 58,
+ "type": "integer"
+ },
+ "laps_led": {
+ "example": 32,
+ "type": "integer"
+ },
+ "place": {
+ "example": 1,
+ "type": "integer"
+ },
+ "points": {
+ "example": 25,
+ "type": "integer"
+ },
+ "starting_pos": {
+ "example": 1,
+ "type": "integer"
+ },
+ "status": {
+ "example": "RUNNING",
+ "type": "string"
+ },
+ "time": {
+ "example": "1:23:06.801",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.MotorsportsScheduleResponse": {
+ "properties": {
+ "count": {
+ "example": 24,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "races": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.MotorsportsRace"
+ },
+ "type": "array"
+ },
+ "season": {
+ "example": 2026,
+ "type": "integer"
+ },
+ "series": {
+ "example": "f1",
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.NFLDraftFilter": {
+ "properties": {
+ "name": {
+ "example": "round",
+ "type": "string"
+ },
+ "options": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.NFLDraftFilterOption"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.NFLDraftFilterOption": {
+ "properties": {
+ "label": {
+ "example": "Round 1",
+ "type": "string"
+ },
+ "selected": {
+ "type": "boolean"
+ },
+ "value": {
+ "example": "round:1",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.NFLDraftResponse": {
+ "properties": {
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.NewsArticle"
+ },
+ "type": "array"
+ },
+ "boards": {
+ "items": {
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "count": {
+ "example": 257,
+ "type": "integer"
+ },
+ "current_season": {
+ "example": 2026,
+ "type": "integer"
+ },
+ "draft": {
+ "type": "object"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "filters": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.NFLDraftFilter"
+ },
+ "type": "array"
+ },
+ "league": {
+ "example": "nfl",
+ "type": "string"
+ },
+ "prospects": {
+ "items": {
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "tabs": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.NFLDraftTab"
+ },
+ "type": "array"
+ },
+ "view": {
+ "example": "results",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.NFLDraftTab": {
+ "properties": {
+ "display_id": {
+ "example": "draftedPlayers",
+ "type": "string"
+ },
+ "id": {
+ "example": "draftResults",
+ "type": "string"
+ },
+ "label": {
+ "example": "Drafted Players",
+ "type": "string"
+ },
+ "show_live_indicator": {
+ "type": "boolean"
+ },
+ "status_label": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "url": {
+ "example": "https://sports.yahoo.com/nfl/draft/",
+ "type": "string"
+ },
+ "view": {
+ "example": "results",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.NavigationResponse": {
+ "properties": {
+ "count": {
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "links": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.YahooSportsNavigationItem"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.NetworkCatalogResponse": {
+ "properties": {
+ "fetched_at": {
+ "type": "string"
+ },
+ "partner_count": {
+ "example": 16,
+ "type": "integer"
+ },
+ "partners": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.NetworkPartner"
+ },
+ "type": "array"
+ },
+ "show_count": {
+ "example": 14,
+ "type": "integer"
+ },
+ "shows": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.NetworkShow"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.NetworkImage": {
+ "properties": {
+ "height": {
+ "type": "integer"
+ },
+ "url": {
+ "type": "string"
+ },
+ "width": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.NetworkNavigationLink": {
+ "properties": {
+ "title": {
+ "example": "MMA",
+ "type": "string"
+ },
+ "url": {
+ "example": "https://sports.yahoo.com/mma/",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.NetworkPartner": {
+ "properties": {
+ "attribution_image": {
+ "$ref": "#/definitions/yahoosports.NetworkImage"
+ },
+ "attribution_image_dark": {
+ "$ref": "#/definitions/yahoosports.NetworkImage"
+ },
+ "attribution_text": {
+ "type": "string"
+ },
+ "background_color": {
+ "example": "#000000",
+ "type": "string"
+ },
+ "enabled": {
+ "enum": [
+ "enabled",
+ "disabled"
+ ],
+ "example": "enabled",
+ "type": "string"
+ },
+ "navigation_image": {
+ "$ref": "#/definitions/yahoosports.NetworkImage"
+ },
+ "navigation_image_dark": {
+ "$ref": "#/definitions/yahoosports.NetworkImage"
+ },
+ "navigation_items": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.NetworkNavigationLink"
+ },
+ "type": "array"
+ },
+ "product_switcher_image": {
+ "$ref": "#/definitions/yahoosports.NetworkImage"
+ },
+ "product_switcher_label": {
+ "example": "Uncrowned",
+ "type": "string"
+ },
+ "title": {
+ "example": "Combat",
+ "type": "string"
+ },
+ "url": {
+ "example": "https://sports.yahoo.com/combat/",
+ "type": "string"
+ },
+ "video_hub_image": {
+ "$ref": "#/definitions/yahoosports.NetworkImage"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.NetworkShow": {
+ "properties": {
+ "enabled": {
+ "enum": [
+ "enabled",
+ "disabled"
+ ],
+ "example": "enabled",
+ "type": "string"
+ },
+ "image": {
+ "$ref": "#/definitions/yahoosports.NetworkImage"
+ },
+ "list_id": {
+ "example": "dcb9fa54-438f-4388-ab6c-4ac34fea3df9",
+ "type": "string"
+ },
+ "subtitle": {
+ "type": "string"
+ },
+ "title": {
+ "example": "Yahoo Fantasy Football",
+ "type": "string"
+ },
+ "url": {
+ "example": "https://sports.yahoo.com/videos/shows/fantasy-football-with-josh-and-hayden/",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.NewsArticle": {
+ "properties": {
+ "author": {
+ "example": "Yahoo Sports Staff",
+ "type": "string"
+ },
+ "category": {
+ "example": "Sports",
+ "type": "string"
+ },
+ "content_type": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "published": {
+ "example": "2026-08-13T15:25:12Z",
+ "type": "string"
+ },
+ "summary": {
+ "type": "string"
+ },
+ "tags": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "title": {
+ "example": "NFL news, live updates: ...",
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.NewsResponse": {
+ "properties": {
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.NewsArticle"
+ },
+ "type": "array"
+ },
+ "count": {
+ "example": 50,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "league": {
+ "example": "nfl",
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.NewsletterArchiveResponse": {
+ "properties": {
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.NewsArticle"
+ },
+ "type": "array"
+ },
+ "count": {
+ "example": 50,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "has_next_page": {
+ "type": "boolean"
+ },
+ "newsletter": {
+ "example": "yahoo-sports-am",
+ "type": "string"
+ },
+ "page": {
+ "example": 1,
+ "type": "integer"
+ },
+ "page_links": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.NewsletterPageLink"
+ },
+ "type": "array"
+ },
+ "page_size": {
+ "example": 50,
+ "type": "integer"
+ },
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.NewsletterCatalogEntry": {
+ "properties": {
+ "details": {
+ "example": [
+ "Daily",
+ "All the sports",
+ " all in one place."
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "name": {
+ "example": "Yahoo Sports AM",
+ "type": "string"
+ },
+ "slug": {
+ "example": "yahoo-sports-am",
+ "type": "string"
+ },
+ "url": {
+ "example": "https://sports.yahoo.com/newsletters/yahoo-sports-am/",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.NewsletterCatalogResponse": {
+ "properties": {
+ "count": {
+ "example": 3,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "newsletters": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.NewsletterCatalogEntry"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.NewsletterPageLink": {
+ "properties": {
+ "label": {
+ "example": "2",
+ "type": "string"
+ },
+ "page": {
+ "example": 2,
+ "type": "integer"
+ },
+ "url": {
+ "example": "https://sports.yahoo.com/newsletters/yahoo-sports-am/page/2/#news",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.OddsLeagueOption": {
+ "properties": {
+ "label": {
+ "example": "NFL",
+ "type": "string"
+ },
+ "supported": {
+ "type": "boolean"
+ },
+ "value": {
+ "example": "nfl",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.OlympicsCountryMedals": {
+ "properties": {
+ "bronze": {
+ "example": 11,
+ "type": "integer"
+ },
+ "country": {
+ "example": "Norway",
+ "type": "string"
+ },
+ "gold": {
+ "example": 18,
+ "type": "integer"
+ },
+ "ioc_code": {
+ "example": "NOR",
+ "type": "string"
+ },
+ "iso_code": {
+ "example": "NOR",
+ "type": "string"
+ },
+ "rank": {
+ "example": 1,
+ "type": "integer"
+ },
+ "silver": {
+ "example": 12,
+ "type": "integer"
+ },
+ "total": {
+ "example": 41,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.OlympicsGames": {
+ "properties": {
+ "end_date": {
+ "example": "2026-02-22T08:00:00+08:00",
+ "type": "string"
+ },
+ "name": {
+ "example": "Milan 2026 Winter Olympics",
+ "type": "string"
+ },
+ "season": {
+ "example": 2026,
+ "type": "integer"
+ },
+ "short_name": {
+ "example": "Milan",
+ "type": "string"
+ },
+ "start_date": {
+ "example": "2026-02-06T08:00:00+08:00",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.OlympicsMedalsResponse": {
+ "properties": {
+ "count": {
+ "example": 93,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "games": {
+ "$ref": "#/definitions/yahoosports.OlympicsGames"
+ },
+ "medals": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.OlympicsCountryMedals"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.PlayerDetail": {
+ "properties": {
+ "age": {
+ "type": "integer"
+ },
+ "college": {
+ "type": "string"
+ },
+ "draft_pick": {
+ "example": 34,
+ "type": "integer"
+ },
+ "draft_round": {
+ "example": 7,
+ "type": "integer"
+ },
+ "draft_year": {
+ "example": 2025,
+ "type": "integer"
+ },
+ "experience_years": {
+ "type": "integer"
+ },
+ "height": {
+ "example": "6'4\"",
+ "type": "string"
+ },
+ "id": {
+ "example": "nfl.p.42019",
+ "type": "string"
+ },
+ "injury": {
+ "example": "Questionable",
+ "type": "string"
+ },
+ "name": {
+ "example": "John Williams",
+ "type": "string"
+ },
+ "number": {
+ "example": "73",
+ "type": "string"
+ },
+ "position": {
+ "example": "G",
+ "type": "string"
+ },
+ "season_stats": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.SeasonStatCategory"
+ },
+ "type": "array"
+ },
+ "status": {
+ "example": "ACT",
+ "type": "string"
+ },
+ "team": {
+ "$ref": "#/definitions/yahoosports.TeamRef"
+ },
+ "url": {
+ "type": "string"
+ },
+ "weight": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.PlayerResponse": {
+ "properties": {
+ "fetched_at": {
+ "type": "string"
+ },
+ "league": {
+ "example": "nfl",
+ "type": "string"
+ },
+ "player": {
+ "$ref": "#/definitions/yahoosports.PlayerDetail"
+ },
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.PlayerSearchEntry": {
+ "properties": {
+ "active": {
+ "type": "boolean"
+ },
+ "first_name": {
+ "type": "string"
+ },
+ "headshot_url": {
+ "type": "string"
+ },
+ "id": {
+ "example": "nba.p.3704",
+ "type": "string"
+ },
+ "last_name": {
+ "type": "string"
+ },
+ "name": {
+ "example": "LeBron James",
+ "type": "string"
+ },
+ "team": {
+ "$ref": "#/definitions/yahoosports.PlayerSearchTeam"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.PlayerSearchResponse": {
+ "properties": {
+ "count": {
+ "example": 15,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "league": {
+ "example": "nba",
+ "type": "string"
+ },
+ "players": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.PlayerSearchEntry"
+ },
+ "type": "array"
+ },
+ "query": {
+ "example": "LeBron",
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.PlayerSearchTeam": {
+ "properties": {
+ "abbreviation": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.PlayoffBracketCatalogResponse": {
+ "properties": {
+ "current_season": {
+ "example": 2026,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "graphite_league": {
+ "example": "nba",
+ "type": "string"
+ },
+ "league": {
+ "example": "nba",
+ "type": "string"
+ },
+ "seasons": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.BracketSeasonOption"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "tournaments": {
+ "example": [
+ "PLAY_IN_TOURNAMENT"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.PlayoffBracketResponse": {
+ "properties": {
+ "bracket": {
+ "type": "object"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "graphite_league": {
+ "example": "nba",
+ "type": "string"
+ },
+ "league": {
+ "example": "nba",
+ "type": "string"
+ },
+ "play_in_bracket": {
+ "type": "object"
+ },
+ "play_in_source_url": {
+ "type": "string"
+ },
+ "season": {
+ "example": 2025,
+ "type": "integer"
+ },
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.RSSCatalogResponse": {
+ "properties": {
+ "count": {
+ "example": 27,
+ "type": "integer"
+ },
+ "feeds": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.RSSFeedDescriptor"
+ },
+ "type": "array"
+ },
+ "observed_at": {
+ "example": "2026-10-31",
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.RSSFeedDescriptor": {
+ "properties": {
+ "category": {
+ "example": "All News",
+ "type": "string"
+ },
+ "group": {
+ "example": "all-news",
+ "type": "string"
+ },
+ "key": {
+ "example": "general-news",
+ "type": "string"
+ },
+ "status": {
+ "example": "available",
+ "type": "string"
+ },
+ "url": {
+ "example": "https://sports.yahoo.com/general/news/rss/",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.RSSFeedItem": {
+ "properties": {
+ "categories": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "content_html": {
+ "type": "string"
+ },
+ "creator": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "guid": {
+ "type": "string"
+ },
+ "guid_is_permalink": {
+ "type": "boolean"
+ },
+ "link": {
+ "type": "string"
+ },
+ "published": {
+ "type": "string"
+ },
+ "publisher": {
+ "type": "string"
+ },
+ "source": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.RSSFeedResponse": {
+ "properties": {
+ "category": {
+ "example": "All News",
+ "type": "string"
+ },
+ "count": {
+ "example": 50,
+ "type": "integer"
+ },
+ "description": {
+ "type": "string"
+ },
+ "feed": {
+ "example": "general-news",
+ "type": "string"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "group": {
+ "example": "all-news",
+ "type": "string"
+ },
+ "items": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.RSSFeedItem"
+ },
+ "type": "array"
+ },
+ "language": {
+ "type": "string"
+ },
+ "last_build_date": {
+ "type": "string"
+ },
+ "link": {
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.RosterPlayer": {
+ "properties": {
+ "age": {
+ "type": "integer"
+ },
+ "college": {
+ "type": "string"
+ },
+ "experience_years": {
+ "type": "integer"
+ },
+ "height": {
+ "example": "6'4\"",
+ "type": "string"
+ },
+ "id": {
+ "example": "nfl.p.42019",
+ "type": "string"
+ },
+ "injury": {
+ "example": "Questionable",
+ "type": "string"
+ },
+ "name": {
+ "example": "John Williams",
+ "type": "string"
+ },
+ "number": {
+ "example": "73",
+ "type": "string"
+ },
+ "position": {
+ "example": "G",
+ "type": "string"
+ },
+ "status": {
+ "example": "ACT",
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "weight": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.RosterResponse": {
+ "properties": {
+ "count": {
+ "example": 53,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "league": {
+ "example": "nfl",
+ "type": "string"
+ },
+ "players": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.RosterPlayer"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "team": {
+ "$ref": "#/definitions/yahoosports.TeamRef"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.ScheduleFilterOption": {
+ "properties": {
+ "label": {
+ "example": "ACC",
+ "type": "string"
+ },
+ "selected": {
+ "type": "boolean"
+ },
+ "value": {
+ "example": "conferenceIds_1",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.ScheduleSeasonOption": {
+ "properties": {
+ "label": {
+ "example": "2026-27",
+ "type": "string"
+ },
+ "selected": {
+ "type": "boolean"
+ },
+ "value": {
+ "example": 2026,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.ScheduleWeekOption": {
+ "properties": {
+ "display_name": {
+ "example": "Week 9",
+ "type": "string"
+ },
+ "end_date": {
+ "type": "string"
+ },
+ "season": {
+ "example": 2026,
+ "type": "integer"
+ },
+ "season_phase": {
+ "example": "REGULAR_SEASON",
+ "type": "string"
+ },
+ "start_date": {
+ "type": "string"
+ },
+ "week": {
+ "example": 9,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.ScoreboardResponse": {
+ "properties": {
+ "competition_id": {
+ "example": "soccer.l.fbgb",
+ "type": "string"
+ },
+ "count": {
+ "example": 8,
+ "type": "integer"
+ },
+ "date": {
+ "example": "2026-08-13",
+ "type": "string"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "games": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.Game"
+ },
+ "type": "array"
+ },
+ "league": {
+ "example": "nfl",
+ "type": "string"
+ },
+ "month": {
+ "example": 11,
+ "type": "integer"
+ },
+ "season": {
+ "example": 2025,
+ "type": "integer"
+ },
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.SeasonStatCategory": {
+ "properties": {
+ "category": {
+ "example": "passing",
+ "type": "string"
+ },
+ "stats": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.SectionStreamPageInfo": {
+ "properties": {
+ "count": {
+ "type": "integer"
+ },
+ "has_next_page": {
+ "type": "boolean"
+ },
+ "has_previous_page": {
+ "type": "boolean"
+ },
+ "start": {
+ "type": "integer"
+ },
+ "total_count": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.SectionStreamResponse": {
+ "properties": {
+ "count": {
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "items": {
+ "items": {
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "list_id": {
+ "type": "string"
+ },
+ "page_info": {
+ "$ref": "#/definitions/yahoosports.SectionStreamPageInfo"
+ },
+ "page_offset": {
+ "type": "integer"
+ },
+ "section_url": {
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.SoccerCompetitionRef": {
+ "properties": {
+ "id": {
+ "example": "soccer.l.fbgb",
+ "type": "string"
+ },
+ "logo_url": {
+ "type": "string"
+ },
+ "name": {
+ "example": "Premier League",
+ "type": "string"
+ },
+ "short_name": {
+ "example": "EPL",
+ "type": "string"
+ },
+ "url": {
+ "example": "https://sports.yahoo.com/soccer/premier-league/",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.SoccerScoreboardCompetition": {
+ "properties": {
+ "current_season": {
+ "example": 2026,
+ "type": "integer"
+ },
+ "display_name": {
+ "example": "Premier League",
+ "type": "string"
+ },
+ "id": {
+ "example": "soccer.l.fbgb",
+ "type": "string"
+ },
+ "name": {
+ "example": "Premier League",
+ "type": "string"
+ },
+ "page_types": {
+ "example": [
+ "schedule",
+ "scoreboard",
+ "standings",
+ "statsLeaders",
+ "teams",
+ "transactions"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "scoreboard_url": {
+ "type": "string"
+ },
+ "seasons": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.SoccerScoreboardSeason"
+ },
+ "type": "array"
+ },
+ "selector_value": {
+ "example": "/soccer/premier-league/scoreboard/",
+ "type": "string"
+ },
+ "short_name": {
+ "example": "EPL",
+ "type": "string"
+ },
+ "yahoo_id": {
+ "example": 20,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.SoccerScoreboardResponse": {
+ "properties": {
+ "competition_id": {
+ "example": "soccer.l.fbgb",
+ "type": "string"
+ },
+ "competitions": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.SoccerScoreboardCompetition"
+ },
+ "type": "array"
+ },
+ "count": {
+ "example": 8,
+ "type": "integer"
+ },
+ "date": {
+ "example": "2026-11-01",
+ "type": "string"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "games": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.Game"
+ },
+ "type": "array"
+ },
+ "month": {
+ "example": 10,
+ "type": "integer"
+ },
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.SoccerScoreboardSeason": {
+ "properties": {
+ "name": {
+ "example": "2026-27",
+ "type": "string"
+ },
+ "value": {
+ "example": 2026,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.SportsbookCatalogResponse": {
+ "properties": {
+ "fetched_at": {
+ "type": "string"
+ },
+ "filter_count": {
+ "example": 17,
+ "type": "integer"
+ },
+ "filters": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.SportsbookFilterOption"
+ },
+ "type": "array"
+ },
+ "graphite_league_count": {
+ "example": 15,
+ "type": "integer"
+ },
+ "graphite_leagues": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.OddsLeagueOption"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.SportsbookFilterOption": {
+ "properties": {
+ "children": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "client_side_filter": {
+ "type": "boolean"
+ },
+ "graphite_league": {
+ "example": "nfl",
+ "type": "string"
+ },
+ "graphite_operation": {
+ "example": "trendingGameIds",
+ "type": "string"
+ },
+ "kind": {
+ "enum": [
+ "feed",
+ "league",
+ "group",
+ "unmapped"
+ ],
+ "example": "feed",
+ "type": "string"
+ },
+ "label": {
+ "example": "Trending",
+ "type": "string"
+ },
+ "value": {
+ "example": "trending",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.SportsbookOddsResponse": {
+ "properties": {
+ "data": {
+ "type": "object"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "game_id": {
+ "example": "nfl.g.20261101002",
+ "type": "string"
+ },
+ "league": {
+ "example": "nfl",
+ "type": "string"
+ },
+ "source": {
+ "example": "leagueGameIds",
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "tz": {
+ "example": "UTC",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.StandingsEntry": {
+ "properties": {
+ "away_record": {
+ "example": "35-25",
+ "type": "string"
+ },
+ "clinched_division": {
+ "type": "boolean"
+ },
+ "clinched_playoff": {
+ "type": "boolean"
+ },
+ "games_back": {
+ "type": "number"
+ },
+ "home_record": {
+ "example": "29-31",
+ "type": "string"
+ },
+ "last10": {
+ "example": "5-5",
+ "type": "string"
+ },
+ "position": {
+ "example": 3,
+ "type": "integer"
+ },
+ "record": {
+ "$ref": "#/definitions/yahoosports.TeamRecord"
+ },
+ "streak": {
+ "example": "L-5",
+ "type": "string"
+ },
+ "team": {
+ "$ref": "#/definitions/yahoosports.TeamRef"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.StandingsGroup": {
+ "properties": {
+ "conference": {
+ "example": "American League",
+ "type": "string"
+ },
+ "division": {
+ "example": "East",
+ "type": "string"
+ },
+ "entries": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.StandingsEntry"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.StandingsResponse": {
+ "properties": {
+ "count": {
+ "example": 30,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "groups": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.StandingsGroup"
+ },
+ "type": "array"
+ },
+ "league": {
+ "example": "mlb",
+ "type": "string"
+ },
+ "season": {
+ "example": 2026,
+ "type": "integer"
+ },
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.Stat": {
+ "properties": {
+ "id": {
+ "example": "RUNS",
+ "type": "string"
+ },
+ "label": {
+ "example": "Runs",
+ "type": "string"
+ },
+ "value": {
+ "example": "6",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.StatsCatalogEntry": {
+ "properties": {
+ "league": {
+ "example": "nba",
+ "type": "string"
+ },
+ "page_types": {
+ "example": [
+ "individual",
+ "weekly",
+ "team"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "path": {
+ "example": "/nba/stats/{pageType}/",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.StatsCatalogResponse": {
+ "properties": {
+ "count": {
+ "example": 17,
+ "type": "integer"
+ },
+ "leagues": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.StatsCatalogEntry"
+ },
+ "type": "array"
+ },
+ "observed_at": {
+ "example": "2026-10-31",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.StatsDiscoveryResponse": {
+ "properties": {
+ "available_page_types": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "filter_config": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.StatsFilterConfig"
+ },
+ "type": "array"
+ },
+ "league": {
+ "example": "nba",
+ "type": "string"
+ },
+ "page_type": {
+ "example": "individual",
+ "type": "string"
+ },
+ "season": {
+ "example": 2026,
+ "type": "integer"
+ },
+ "sort_stat": {
+ "type": "string"
+ },
+ "sort_stat_ids": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "tabs": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.StatsTab"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.StatsFilterConfig": {
+ "properties": {
+ "default_value": {
+ "type": "string"
+ },
+ "options": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.StatsFilterOption"
+ },
+ "type": "array"
+ },
+ "page_types": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "param": {
+ "example": "positionIds",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.StatsFilterOption": {
+ "properties": {
+ "text": {
+ "type": "string"
+ },
+ "value": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.StatsTab": {
+ "properties": {
+ "id": {
+ "example": "0",
+ "type": "string"
+ },
+ "title": {
+ "example": "Averages",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.TeamDetail": {
+ "properties": {
+ "abbreviation": {
+ "example": "GB",
+ "type": "string"
+ },
+ "conference": {
+ "example": "NFC",
+ "type": "string"
+ },
+ "division": {
+ "example": "NFC North",
+ "type": "string"
+ },
+ "id": {
+ "example": "nfl.t.9",
+ "type": "string"
+ },
+ "location": {
+ "example": "Green Bay",
+ "type": "string"
+ },
+ "logo": {
+ "type": "string"
+ },
+ "name": {
+ "example": "Green Bay Packers",
+ "type": "string"
+ },
+ "nickname": {
+ "example": "Packers",
+ "type": "string"
+ },
+ "primary_color": {
+ "example": "203731",
+ "type": "string"
+ },
+ "record": {
+ "$ref": "#/definitions/yahoosports.TeamRecord"
+ },
+ "secondary_color": {
+ "example": "FFB612",
+ "type": "string"
+ },
+ "short_name": {
+ "example": "Green Bay",
+ "type": "string"
+ },
+ "standing_summary": {
+ "example": "4th NFC North",
+ "type": "string"
+ },
+ "url": {
+ "example": "https://sports.yahoo.com/nfl/teams/green-bay/",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.TeamRecord": {
+ "properties": {
+ "display": {
+ "example": "64-56",
+ "type": "string"
+ },
+ "losses": {
+ "type": "integer"
+ },
+ "points": {
+ "description": "Points is soccer's own standings metric (3 per win, 1 per draw);\nomitted for every other league.",
+ "example": 85,
+ "type": "integer"
+ },
+ "ties": {
+ "type": "integer"
+ },
+ "win_pct": {
+ "example": ".533",
+ "type": "string"
+ },
+ "wins": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.TeamRef": {
+ "properties": {
+ "abbreviation": {
+ "example": "GB",
+ "type": "string"
+ },
+ "id": {
+ "example": "nfl.t.9",
+ "type": "string"
+ },
+ "location": {
+ "example": "Green Bay",
+ "type": "string"
+ },
+ "logo": {
+ "type": "string"
+ },
+ "name": {
+ "example": "Green Bay Packers",
+ "type": "string"
+ },
+ "nickname": {
+ "example": "Packers",
+ "type": "string"
+ },
+ "primary_color": {
+ "example": "203731",
+ "type": "string"
+ },
+ "secondary_color": {
+ "example": "FFB612",
+ "type": "string"
+ },
+ "short_name": {
+ "example": "Green Bay",
+ "type": "string"
+ },
+ "url": {
+ "example": "https://sports.yahoo.com/nfl/teams/green-bay/",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.TeamResponse": {
+ "properties": {
+ "fetched_at": {
+ "type": "string"
+ },
+ "league": {
+ "example": "nfl",
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "team": {
+ "$ref": "#/definitions/yahoosports.TeamDetail"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.TeamScheduleResponse": {
+ "properties": {
+ "count": {
+ "example": 25,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "games": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.Game"
+ },
+ "type": "array"
+ },
+ "league": {
+ "example": "nfl",
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "team": {
+ "$ref": "#/definitions/yahoosports.TeamRef"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.TeamStatLine": {
+ "properties": {
+ "stats": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.Stat"
+ },
+ "type": "array"
+ },
+ "team": {
+ "$ref": "#/definitions/yahoosports.TeamRef"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.TennisChampion": {
+ "properties": {
+ "name": {
+ "example": "Daniil Medvedev",
+ "type": "string"
+ },
+ "player_id": {
+ "example": "ten.p.19603",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.TennisMatch": {
+ "properties": {
+ "event": {
+ "example": "Men's Singles",
+ "type": "string"
+ },
+ "id": {
+ "example": "ten.g.15754498",
+ "type": "string"
+ },
+ "league": {
+ "example": "ATP",
+ "type": "string"
+ },
+ "round": {
+ "example": "Round of 128",
+ "type": "string"
+ },
+ "sets": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.TennisSetScore"
+ },
+ "type": "array"
+ },
+ "side1": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.TennisPlayerRef"
+ },
+ "type": "array"
+ },
+ "side1_seed": {
+ "type": "integer"
+ },
+ "side2": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.TennisPlayerRef"
+ },
+ "type": "array"
+ },
+ "side2_seed": {
+ "type": "integer"
+ },
+ "start_time": {
+ "example": "2026-08-13T19:35:00-07:00",
+ "type": "string"
+ },
+ "status": {
+ "example": "IN_PROGRESS",
+ "type": "string"
+ },
+ "status_display": {
+ "example": "Set 2",
+ "type": "string"
+ },
+ "surface": {
+ "example": "Hard",
+ "type": "string"
+ },
+ "tournament": {
+ "example": "Western & Southern Open",
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "venue": {
+ "$ref": "#/definitions/yahoosports.Venue"
+ },
+ "winner_ids": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.TennisPlayerRef": {
+ "properties": {
+ "country": {
+ "example": "Spain",
+ "type": "string"
+ },
+ "id": {
+ "example": "ten.p.34440",
+ "type": "string"
+ },
+ "name": {
+ "example": "Martin Landaluce",
+ "type": "string"
+ },
+ "rank": {
+ "example": 64,
+ "type": "integer"
+ },
+ "short_name": {
+ "example": "M. Landaluce",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.TennisRankingEntry": {
+ "properties": {
+ "age": {
+ "example": 24,
+ "type": "integer"
+ },
+ "country": {
+ "example": "Italy",
+ "type": "string"
+ },
+ "name": {
+ "example": "Jannik Sinner",
+ "type": "string"
+ },
+ "points": {
+ "example": 13450,
+ "type": "integer"
+ },
+ "rank": {
+ "example": 1,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.TennisRankingsResponse": {
+ "properties": {
+ "count": {
+ "example": 100,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "rankings": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.TennisRankingEntry"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "type": {
+ "example": "mens-singles",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.TennisScheduleResponse": {
+ "properties": {
+ "count": {
+ "example": 86,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "tournaments": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.TennisTournament"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.TennisScoreboardResponse": {
+ "properties": {
+ "count": {
+ "example": 20,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "matches": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.TennisMatch"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.TennisSetScore": {
+ "properties": {
+ "set": {
+ "example": 1,
+ "type": "integer"
+ },
+ "side1_score": {
+ "example": 6,
+ "type": "integer"
+ },
+ "side1_tiebreak": {
+ "type": "integer"
+ },
+ "side2_score": {
+ "example": 3,
+ "type": "integer"
+ },
+ "side2_tiebreak": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.TennisTournament": {
+ "properties": {
+ "champion": {
+ "$ref": "#/definitions/yahoosports.TennisChampion"
+ },
+ "end_time": {
+ "example": "2026-01-11T04:00:00-08:00",
+ "type": "string"
+ },
+ "gender": {
+ "example": "MEN",
+ "type": "string"
+ },
+ "id": {
+ "example": "ten.e.2042",
+ "type": "string"
+ },
+ "match_type": {
+ "example": "SINGLES",
+ "type": "string"
+ },
+ "name": {
+ "example": "Brisbane International presented by Evie",
+ "type": "string"
+ },
+ "start_time": {
+ "example": "2026-01-03T16:00:00-08:00",
+ "type": "string"
+ },
+ "status": {
+ "example": "FINAL",
+ "type": "string"
+ },
+ "surface": {
+ "example": "Hard",
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "venue": {
+ "$ref": "#/definitions/yahoosports.Venue"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.TopicNewsResponse": {
+ "properties": {
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.NewsArticle"
+ },
+ "type": "array"
+ },
+ "count": {
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "topic": {
+ "example": "how-to-watch",
+ "type": "string"
+ },
+ "topic_url": {
+ "example": "https://sports.yahoo.com/topic/how-to-watch/",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.Venue": {
+ "properties": {
+ "city": {
+ "type": "string"
+ },
+ "country": {
+ "type": "string"
+ },
+ "name": {
+ "example": "Acrisure Stadium",
+ "type": "string"
+ },
+ "state": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.VideoListCatalogResponse": {
+ "properties": {
+ "count": {
+ "example": 31,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "lists": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.VideoListDescriptor"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.VideoListDescriptor": {
+ "properties": {
+ "list_id": {
+ "example": "dcb9fa54-438f-4388-ab6c-4ac34fea3df9",
+ "type": "string"
+ },
+ "source_fields": {
+ "example": [
+ "videoListId",
+ "VideoListId"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "title": {
+ "example": "Yahoo Fantasy Football",
+ "type": "string"
+ },
+ "url": {
+ "example": "https://sports.yahoo.com/videos/shows/fantasy-football-with-josh-and-hayden/",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.WatchScheduleImage": {
+ "properties": {
+ "height": {
+ "type": "object"
+ },
+ "type": {
+ "type": "string"
+ },
+ "uri": {
+ "type": "string"
+ },
+ "width": {
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.WatchScheduleItem": {
+ "properties": {
+ "contentId": {
+ "type": "string"
+ },
+ "descriptionLang": {
+ "type": "string"
+ },
+ "duration": {
+ "type": "integer"
+ },
+ "endTime": {
+ "type": "string"
+ },
+ "episodeNumber": {
+ "type": "integer"
+ },
+ "episodeTitle": {
+ "type": "string"
+ },
+ "genres": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "isLive": {
+ "type": "boolean"
+ },
+ "longDescription": {
+ "type": "string"
+ },
+ "origAirDate": {
+ "type": "string"
+ },
+ "programImages": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.WatchScheduleImage"
+ },
+ "type": "array"
+ },
+ "programType": {
+ "type": "string"
+ },
+ "ratings": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.WatchScheduleRating"
+ },
+ "type": "array"
+ },
+ "releaseDate": {
+ "type": "string"
+ },
+ "releaseYear": {
+ "type": "integer"
+ },
+ "seasonNumber": {
+ "type": "integer"
+ },
+ "seriesDescription": {
+ "type": "string"
+ },
+ "seriesId": {
+ "type": "string"
+ },
+ "seriesImages": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.WatchScheduleImage"
+ },
+ "type": "array"
+ },
+ "shortDescription": {
+ "type": "string"
+ },
+ "sport_event_type": {
+ "type": "string"
+ },
+ "sport_teams_name": {
+ "type": "string"
+ },
+ "sport_type": {
+ "type": "string"
+ },
+ "startTime": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "titleLang": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.WatchScheduleRating": {
+ "properties": {
+ "body": {
+ "type": "string"
+ },
+ "code": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.WatchScheduleResponse": {
+ "properties": {
+ "count": {
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "schedules": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.WatchScheduleItem"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.YahooSportsLeague": {
+ "properties": {
+ "draft": {
+ "type": "boolean"
+ },
+ "game_path": {
+ "example": "/nba/{game}/",
+ "type": "string"
+ },
+ "game_url_from_scoreboard": {
+ "type": "boolean"
+ },
+ "injury_report": {
+ "type": "boolean"
+ },
+ "key": {
+ "example": "nba",
+ "type": "string"
+ },
+ "league_schedule": {
+ "type": "boolean"
+ },
+ "news_path": {
+ "example": "/nba/news/",
+ "type": "string"
+ },
+ "player_path": {
+ "example": "/nba/players/{player}/",
+ "type": "string"
+ },
+ "player_search": {
+ "type": "boolean"
+ },
+ "playoff_bracket": {
+ "type": "boolean"
+ },
+ "rankings": {
+ "type": "boolean"
+ },
+ "roster_path": {
+ "example": "/nba/teams/{team}/roster/",
+ "type": "string"
+ },
+ "schedule_path": {
+ "example": "/nba/teams/{team}/schedule/",
+ "type": "string"
+ },
+ "scoreboard_competition_filter": {
+ "type": "boolean"
+ },
+ "scoreboard_mode": {
+ "example": "competition_page",
+ "type": "string"
+ },
+ "scoreboard_path": {
+ "example": "/nba/scoreboard/",
+ "type": "string"
+ },
+ "standings": {
+ "type": "boolean"
+ },
+ "standings_path": {
+ "example": "/nba/standings/",
+ "type": "string"
+ },
+ "stats_page_types": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "team_path": {
+ "example": "/nba/teams/{team}/",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.YahooSportsNavigationItem": {
+ "properties": {
+ "group": {
+ "example": "subnav",
+ "type": "string"
+ },
+ "label": {
+ "example": "Golf",
+ "type": "string"
+ },
+ "section": {
+ "example": "home",
+ "type": "string"
+ },
+ "url": {
+ "example": "https://sports.yahoo.com/golf/",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.collegeRankingsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoosports.CollegeRankingsResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.dropdownCatalogResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoosports.DropdownCatalogResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.gameResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoosports.GameResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.golfLeaderboardResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoosports.GolfLeaderboardResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.golfPlayerResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoosports.GolfPlayerResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.golfPlayersResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoosports.GolfPlayersResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.golfScheduleResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoosports.GolfScheduleResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.homeResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoosports.HomeResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.injuryReportResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoosports.InjuryReportResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.leagueCatalogResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoosports.LeagueCatalogResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.leagueScheduleCatalogResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoosports.LeagueScheduleCatalogResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.leagueScheduleResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoosports.LeagueScheduleResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.mmaFightCardResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoosports.MMAFightCardResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.mmaScheduleResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoosports.MMAScheduleResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.moreNewsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoosports.MoreNewsResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.motorsportsRaceResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoosports.MotorsportsRaceResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.motorsportsScheduleResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoosports.MotorsportsScheduleResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.navigationResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoosports.NavigationResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.networkCatalogResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoosports.NetworkCatalogResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.newsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoosports.NewsResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.newsletterArchiveResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoosports.NewsletterArchiveResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.newsletterCatalogResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoosports.NewsletterCatalogResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.nflDraftResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoosports.NFLDraftResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.olympicsMedalsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoosports.OlympicsMedalsResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.playerNewsResponseDataDoc": {
+ "properties": {
+ "count": {
+ "example": 20,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "has_next_page": {
+ "type": "boolean"
+ },
+ "items": {
+ "items": {
+ "additionalProperties": true,
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "mode": {
+ "example": "latest",
+ "type": "string"
+ },
+ "next_cursor": {
+ "type": "string"
+ },
+ "player_url": {
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.playerNewsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoosports.playerNewsResponseDataDoc"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.playerResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoosports.PlayerResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.playerSearchResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoosports.PlayerSearchResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.playoffBracketCatalogResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoosports.PlayoffBracketCatalogResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.playoffBracketResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoosports.PlayoffBracketResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.rosterResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoosports.RosterResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.rssCatalogResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoosports.RSSCatalogResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.rssFeedResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoosports.RSSFeedResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.scoreboardResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoosports.ScoreboardResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.sectionStreamResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoosports.SectionStreamResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.soccerScoreboardResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoosports.SoccerScoreboardResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.sportsbookCatalogResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoosports.SportsbookCatalogResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.sportsbookOddsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoosports.SportsbookOddsResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.standingsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoosports.StandingsResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.statsCatalogResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoosports.StatsCatalogResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.statsDiscoveryResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoosports.StatsDiscoveryResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.statsResponseDataDoc": {
+ "properties": {
+ "available_page_types": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "count": {
+ "example": 200,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "filter_config": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.StatsFilterConfig"
+ },
+ "type": "array"
+ },
+ "league": {
+ "example": "nba",
+ "type": "string"
+ },
+ "page_type": {
+ "example": "individual",
+ "type": "string"
+ },
+ "rows": {
+ "items": {
+ "additionalProperties": true,
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "season": {
+ "example": 2026,
+ "type": "integer"
+ },
+ "selected_table": {
+ "example": 0,
+ "type": "integer"
+ },
+ "sort_stat": {
+ "type": "string"
+ },
+ "sort_stat_ids": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "tabs": {
+ "items": {
+ "$ref": "#/definitions/yahoosports.StatsTab"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.statsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoosports.statsResponseDataDoc"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.teamResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoosports.TeamResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.teamScheduleResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoosports.TeamScheduleResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.tennisRankingsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoosports.TennisRankingsResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.tennisScheduleResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoosports.TennisScheduleResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.tennisScoreboardResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoosports.TennisScoreboardResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.topicNewsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoosports.TopicNewsResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.videoHeadlinesResponseDataDoc": {
+ "properties": {
+ "count": {
+ "example": 1,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "items": {
+ "items": {
+ "additionalProperties": true,
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "list_id": {
+ "example": "dcb9fa54-438f-4388-ab6c-4ac34fea3df9",
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.videoHeadlinesResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoosports.videoHeadlinesResponseDataDoc"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.videoListCatalogResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoosports.VideoListCatalogResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahoosports.watchScheduleResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahoosports.WatchScheduleResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahootech.ArticleResponse": {
+ "properties": {
+ "author": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "keywords": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "paragraphs": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "provider": {
+ "type": "string"
+ },
+ "published_at": {
+ "type": "string"
+ },
+ "section": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "updated_at": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahootech.CategoryPaginate": {
+ "properties": {
+ "next_page": {
+ "example": 2,
+ "type": "integer"
+ },
+ "page": {
+ "example": 1,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "yahootech.CategoryResponse": {
+ "properties": {
+ "category": {
+ "type": "string"
+ },
+ "items": {
+ "items": {
+ "$ref": "#/definitions/yahootech.StreamItem"
+ },
+ "type": "array"
+ },
+ "pagination": {
+ "$ref": "#/definitions/yahootech.CategoryPaginate"
+ }
+ },
+ "type": "object"
+ },
+ "yahootech.HomeResponse": {
+ "properties": {
+ "items": {
+ "items": {
+ "$ref": "#/definitions/yahootech.StreamItem"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "yahootech.StreamItem": {
+ "properties": {
+ "category": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "thumbnail_url": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahootech.articleResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahootech.ArticleResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahootech.categoryResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahootech.CategoryResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yahootech.homeResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yahootech.HomeResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yandex.SearchPagination": {
+ "properties": {
+ "next_page": {
+ "example": 2,
+ "type": "integer"
+ },
+ "page": {
+ "example": 1,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "yandex.SearchResponse": {
+ "properties": {
+ "pagination": {
+ "$ref": "#/definitions/yandex.SearchPagination"
+ },
+ "query": {
+ "example": "openai",
+ "type": "string"
+ },
+ "results": {
+ "items": {
+ "$ref": "#/definitions/yandex.SearchResult"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "yandex.SearchResult": {
+ "properties": {
+ "description": {
+ "example": "OpenAI is an AI research and deployment company.",
+ "type": "string"
+ },
+ "display_url": {
+ "example": "openai.com",
+ "type": "string"
+ },
+ "position": {
+ "example": 1,
+ "type": "integer"
+ },
+ "title": {
+ "example": "OpenAI | Research & Deployment",
+ "type": "string"
+ },
+ "url": {
+ "example": "https://openai.com/",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yandex.searchResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yandex.SearchResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yandex.suggestResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/suggest.Response"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yardbarker.AuthorResponse": {
+ "properties": {
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/newsplatform.HeadlineItem"
+ },
+ "type": "array"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yelp.AddressDetails": {
+ "properties": {
+ "address_line_1": {
+ "type": "string"
+ },
+ "address_line_2": {
+ "type": "string"
+ },
+ "address_line_3": {
+ "type": "string"
+ },
+ "city": {
+ "type": "string"
+ },
+ "country": {
+ "type": "string"
+ },
+ "formatted_address": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "postal_code": {
+ "type": "string"
+ },
+ "state": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yelp.BusinessAttribute": {
+ "properties": {
+ "alias": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "value": {
+ "type": "string"
+ },
+ "values": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "yelp.BusinessItem": {
+ "properties": {
+ "address": {
+ "type": "string"
+ },
+ "address_details": {
+ "$ref": "#/definitions/yelp.AddressDetails"
+ },
+ "alias": {
+ "type": "string"
+ },
+ "categories": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "claimed": {
+ "type": "boolean"
+ },
+ "closed": {
+ "type": "boolean"
+ },
+ "coordinates": {
+ "$ref": "#/definitions/yelp.Coordinates"
+ },
+ "encoded_id": {
+ "type": "string"
+ },
+ "id": {
+ "example": "tonys-pizza-napoletana-san-francisco",
+ "type": "string"
+ },
+ "image": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "neighborhoods": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "phone": {
+ "type": "string"
+ },
+ "phone_number": {
+ "type": "string"
+ },
+ "photos": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "price": {
+ "type": "string"
+ },
+ "rating": {
+ "type": "number"
+ },
+ "review_count": {
+ "type": "integer"
+ },
+ "url": {
+ "type": "string"
+ },
+ "website": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yelp.Coordinates": {
+ "properties": {
+ "latitude": {
+ "type": "number"
+ },
+ "longitude": {
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "yelp.MobileBusinessMenuResponse": {
+ "properties": {
+ "id": {
+ "example": "pequods-pizza-chicago-3",
+ "type": "string"
+ },
+ "items": {
+ "items": {
+ "$ref": "#/definitions/yelp.MobileMenuItem"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "yelp.MobileBusinessPhotosResponse": {
+ "properties": {
+ "id": {
+ "example": "pequods-pizza-chicago-3",
+ "type": "string"
+ },
+ "limit": {
+ "example": 20,
+ "type": "integer"
+ },
+ "offset": {
+ "example": 0,
+ "type": "integer"
+ },
+ "photos": {
+ "items": {
+ "$ref": "#/definitions/yelp.MobilePhotoItem"
+ },
+ "type": "array"
+ },
+ "total": {
+ "example": 6052,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "yelp.MobileBusinessResponse": {
+ "properties": {
+ "address": {
+ "type": "string"
+ },
+ "address_details": {
+ "$ref": "#/definitions/yelp.AddressDetails"
+ },
+ "alias": {
+ "type": "string"
+ },
+ "attributes": {
+ "items": {
+ "$ref": "#/definitions/yelp.BusinessAttribute"
+ },
+ "type": "array"
+ },
+ "categories": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "claimed": {
+ "type": "boolean"
+ },
+ "closed": {
+ "type": "boolean"
+ },
+ "coordinates": {
+ "$ref": "#/definitions/yelp.Coordinates"
+ },
+ "description": {
+ "type": "string"
+ },
+ "encoded_id": {
+ "type": "string"
+ },
+ "health_score": {
+ "type": "string"
+ },
+ "hours": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "id": {
+ "example": "tonys-pizza-napoletana-san-francisco",
+ "type": "string"
+ },
+ "image": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "neighborhoods": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "phone": {
+ "type": "string"
+ },
+ "phone_number": {
+ "type": "string"
+ },
+ "photo_count": {
+ "type": "integer"
+ },
+ "photos": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "price": {
+ "type": "string"
+ },
+ "rating": {
+ "type": "number"
+ },
+ "review_count": {
+ "type": "integer"
+ },
+ "url": {
+ "type": "string"
+ },
+ "website": {
+ "type": "string"
+ },
+ "year_established": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "yelp.MobileBusinessReviewHighlightsResponse": {
+ "properties": {
+ "highlights": {
+ "items": {
+ "$ref": "#/definitions/yelp.MobileReviewHighlight"
+ },
+ "type": "array"
+ },
+ "id": {
+ "example": "pequods-pizza-chicago-3",
+ "type": "string"
+ },
+ "total": {
+ "example": 5,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "yelp.MobileBusinessReviewsResponse": {
+ "properties": {
+ "id": {
+ "example": "pequods-pizza-chicago-3",
+ "type": "string"
+ },
+ "limit": {
+ "example": 20,
+ "type": "integer"
+ },
+ "offset": {
+ "example": 0,
+ "type": "integer"
+ },
+ "reviews": {
+ "items": {
+ "$ref": "#/definitions/yelp.MobileReviewItem"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "yelp.MobileBusinessReviewsSearchResponse": {
+ "properties": {
+ "id": {
+ "example": "pequods-pizza-chicago-3",
+ "type": "string"
+ },
+ "reviews": {
+ "items": {
+ "$ref": "#/definitions/yelp.MobileReviewSearchItem"
+ },
+ "type": "array"
+ },
+ "term": {
+ "example": "crust",
+ "type": "string"
+ },
+ "total": {
+ "example": 20,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "yelp.MobileGeocodeResponse": {
+ "properties": {
+ "address": {
+ "example": "1600 Amphitheatre Parkway, Mountain View, CA",
+ "type": "string"
+ },
+ "address_line_1": {
+ "type": "string"
+ },
+ "city": {
+ "type": "string"
+ },
+ "coordinates": {
+ "$ref": "#/definitions/yelp.Coordinates"
+ },
+ "country": {
+ "type": "string"
+ },
+ "county": {
+ "type": "string"
+ },
+ "display_name": {
+ "type": "string"
+ },
+ "postal_code": {
+ "type": "string"
+ },
+ "state": {
+ "type": "string"
+ },
+ "yelp_available": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "yelp.MobileMenuItem": {
+ "properties": {
+ "alias": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "photo": {
+ "type": "string"
+ },
+ "photo_count": {
+ "type": "integer"
+ },
+ "price": {
+ "type": "string"
+ },
+ "review_count": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "yelp.MobilePhotoItem": {
+ "properties": {
+ "caption": {
+ "type": "string"
+ },
+ "height": {
+ "type": "integer"
+ },
+ "id": {
+ "type": "string"
+ },
+ "share_url": {
+ "type": "string"
+ },
+ "time_created": {
+ "type": "integer"
+ },
+ "url": {
+ "type": "string"
+ },
+ "width": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "yelp.MobileReviewHighlight": {
+ "properties": {
+ "identifier": {
+ "type": "string"
+ },
+ "photo_url": {
+ "type": "string"
+ },
+ "review_count": {
+ "type": "integer"
+ },
+ "review_id": {
+ "type": "string"
+ },
+ "sentence_html": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yelp.MobileReviewItem": {
+ "properties": {
+ "author": {
+ "type": "string"
+ },
+ "author_location": {
+ "type": "string"
+ },
+ "author_review_count": {
+ "type": "integer"
+ },
+ "id": {
+ "type": "string"
+ },
+ "language": {
+ "type": "string"
+ },
+ "rating": {
+ "type": "number"
+ },
+ "share_url": {
+ "type": "string"
+ },
+ "text": {
+ "type": "string"
+ },
+ "time_modified": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "yelp.MobileReviewSearchItem": {
+ "properties": {
+ "author": {
+ "type": "string"
+ },
+ "author_location": {
+ "type": "string"
+ },
+ "author_review_count": {
+ "type": "integer"
+ },
+ "excerpt_html": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "language": {
+ "type": "string"
+ },
+ "rating": {
+ "type": "number"
+ },
+ "share_url": {
+ "type": "string"
+ },
+ "time_modified": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "yelp.MobileSearchResponse": {
+ "properties": {
+ "limit": {
+ "example": 20,
+ "type": "integer"
+ },
+ "location": {
+ "example": "San Francisco, CA",
+ "type": "string"
+ },
+ "offset": {
+ "example": 0,
+ "type": "integer"
+ },
+ "results": {
+ "items": {
+ "$ref": "#/definitions/yelp.BusinessItem"
+ },
+ "type": "array"
+ },
+ "term": {
+ "example": "pizza",
+ "type": "string"
+ },
+ "total": {
+ "example": 240,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "yelp.mobileBusinessMenuResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yelp.MobileBusinessMenuResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yelp.mobileBusinessPhotosResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yelp.MobileBusinessPhotosResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yelp.mobileBusinessResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yelp.MobileBusinessResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yelp.mobileBusinessReviewHighlightsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yelp.MobileBusinessReviewHighlightsResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yelp.mobileBusinessReviewsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yelp.MobileBusinessReviewsResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yelp.mobileBusinessReviewsSearchResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yelp.MobileBusinessReviewsSearchResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yelp.mobileGeocodeResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yelp.MobileGeocodeResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yelp.mobileSearchResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yelp.MobileSearchResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yoox.CategoriesResponse": {
+ "properties": {
+ "departments": {
+ "items": {
+ "$ref": "#/definitions/yoox.DepartmentCategories"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "yoox.Category": {
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "slug": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yoox.DepartmentCategories": {
+ "properties": {
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/yoox.Category"
+ },
+ "type": "array"
+ },
+ "department": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yoox.Designer": {
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "slug": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yoox.DesignersResponse": {
+ "properties": {
+ "count": {
+ "type": "integer"
+ },
+ "department": {
+ "type": "string"
+ },
+ "designers": {
+ "items": {
+ "$ref": "#/definitions/yoox.Designer"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "yoox.Detail": {
+ "properties": {
+ "brand": {
+ "type": "string"
+ },
+ "category": {
+ "type": "string"
+ },
+ "currency": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "images": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "in_stock": {
+ "type": "boolean"
+ },
+ "name": {
+ "type": "string"
+ },
+ "price": {
+ "type": "number"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yoox.Facets": {
+ "properties": {
+ "colors": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "sizes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "sorts": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "yoox.Product": {
+ "properties": {
+ "brand": {
+ "type": "string"
+ },
+ "currency": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "in_stock": {
+ "type": "boolean"
+ },
+ "name": {
+ "type": "string"
+ },
+ "price": {
+ "type": "number"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yoox.SearchResponse": {
+ "properties": {
+ "count": {
+ "type": "integer"
+ },
+ "department": {
+ "type": "string"
+ },
+ "facets": {
+ "$ref": "#/definitions/yoox.Facets"
+ },
+ "limit": {
+ "type": "integer"
+ },
+ "page": {
+ "type": "integer"
+ },
+ "products": {
+ "items": {
+ "$ref": "#/definitions/yoox.Product"
+ },
+ "type": "array"
+ },
+ "query": {
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yoox.categoriesDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yoox.CategoriesResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yoox.designersDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yoox.DesignersResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yoox.productDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yoox.Detail"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "yoox.searchDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/yoox.SearchResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "youtube.Caption": {
+ "properties": {
+ "duration": {
+ "description": "Length of the caption cue, in seconds.",
+ "type": "number"
+ },
+ "start": {
+ "description": "Time the caption cue starts, in seconds from the start of the video.",
+ "type": "number"
+ },
+ "text": {
+ "description": "Caption text shown for this cue.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "youtube.ChannelFeedResponse": {
+ "properties": {
+ "channel_id": {
+ "description": "YouTube channel ID, starting with `UC`.",
+ "example": "UCXZCJLdBC09xxGZ6gcdrc6A",
+ "type": "string"
+ },
+ "channel_title": {
+ "description": "Channel name as shown on YouTube.",
+ "example": "OpenAI",
+ "type": "string"
+ },
+ "channel_url": {
+ "description": "Link to the channel on YouTube.",
+ "example": "https://www.youtube.com/@OpenAI",
+ "type": "string"
+ },
+ "continuation_token": {
+ "description": "Token to pass in the next request to get the following page. Omitted on the last page.",
+ "example": "NEXT_TOKEN",
+ "type": "string"
+ },
+ "handle": {
+ "description": "Channel handle, starting with `@`.",
+ "example": "@OpenAI",
+ "type": "string"
+ },
+ "items": {
+ "description": "Videos or other items from the channel, in the order YouTube lists them.",
+ "items": {
+ "$ref": "#/definitions/youtube.SearchItem"
+ },
+ "type": "array"
+ },
+ "query": {
+ "description": "Search text used to look inside the channel. Omitted when no search was run.",
+ "example": "gpt",
+ "type": "string"
+ },
+ "thumbnail": {
+ "description": "URL of the channel's avatar image.",
+ "example": "https://yt3.googleusercontent.com/example=s176-c-k-c0x00ffffff-no-rj",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "youtube.ChannelShort": {
+ "properties": {
+ "position": {
+ "description": "Position of the Short in the channel's Shorts list, starting at 1.",
+ "example": 1,
+ "type": "integer"
+ },
+ "thumbnail": {
+ "description": "URL of the Short's thumbnail image.",
+ "example": "https://i.ytimg.com/vi/abc123xyz89/oar2.jpg",
+ "type": "string"
+ },
+ "title": {
+ "description": "Title of the Short.",
+ "example": "OpenAI demo clip",
+ "type": "string"
+ },
+ "url": {
+ "description": "Link to the Short on YouTube.",
+ "example": "https://www.youtube.com/shorts/abc123xyz89",
+ "type": "string"
+ },
+ "video_id": {
+ "description": "YouTube video ID of the Short.",
+ "example": "abc123xyz89",
+ "type": "string"
+ },
+ "view_count": {
+ "description": "View count as YouTube displays it, such as `1.2M views`.",
+ "example": "1.2M views",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "youtube.ChannelShortsResponse": {
+ "properties": {
+ "channel_id": {
+ "description": "YouTube channel ID, starting with `UC`.",
+ "example": "UCXZCJLdBC09xxGZ6gcdrc6A",
+ "type": "string"
+ },
+ "channel_title": {
+ "description": "Channel name as shown on YouTube.",
+ "example": "OpenAI",
+ "type": "string"
+ },
+ "channel_url": {
+ "description": "Link to the channel on YouTube.",
+ "example": "https://www.youtube.com/@OpenAI",
+ "type": "string"
+ },
+ "continuation_token": {
+ "description": "Token to pass in the next request to get the following page. Omitted on the last page.",
+ "example": "NEXT_TOKEN",
+ "type": "string"
+ },
+ "handle": {
+ "description": "Channel handle, starting with `@`.",
+ "example": "@OpenAI",
+ "type": "string"
+ },
+ "shorts": {
+ "description": "YouTube Shorts published by the channel.",
+ "items": {
+ "$ref": "#/definitions/youtube.ChannelShort"
+ },
+ "type": "array"
+ },
+ "thumbnail": {
+ "description": "URL of the channel's avatar image.",
+ "example": "https://yt3.googleusercontent.com/example=s176-c-k-c0x00ffffff-no-rj",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "youtube.Comment": {
+ "properties": {
+ "channel_id": {
+ "description": "YouTube channel ID of the commenter.",
+ "type": "string"
+ },
+ "comment_id": {
+ "description": "YouTube ID of the comment.",
+ "type": "string"
+ },
+ "content": {
+ "description": "Text of the comment.",
+ "type": "string"
+ },
+ "continuation_token": {
+ "description": "Token for loading the replies to this comment. Omitted when none is available.",
+ "type": "string"
+ },
+ "likes_count": {
+ "description": "Number of likes on the comment.",
+ "type": "integer"
+ },
+ "published_time": {
+ "description": "Approximate time the comment was posted, in UTC (RFC 3339).",
+ "type": "string"
+ },
+ "reply_count": {
+ "description": "Number of replies to the comment.",
+ "type": "integer"
+ },
+ "user_name": {
+ "description": "Display name of the commenter, such as `@handle`.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "youtube.CommentResponse": {
+ "properties": {
+ "comments": {
+ "description": "Comments on this page of the video.",
+ "items": {
+ "$ref": "#/definitions/youtube.Comment"
+ },
+ "type": "array"
+ },
+ "continuation_token": {
+ "description": "Token to pass in the next request to get the following page.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "youtube.PlaylistResponse": {
+ "properties": {
+ "channel_id": {
+ "description": "YouTube channel ID of the playlist owner.",
+ "example": "UCXZCJLdBC09xxGZ6gcdrc6A",
+ "type": "string"
+ },
+ "channel_title": {
+ "description": "Name of the channel that owns the playlist.",
+ "example": "OpenAI",
+ "type": "string"
+ },
+ "continuation_token": {
+ "description": "Token to pass in the next request to get the following page. Omitted on the last page.",
+ "example": "NEXT_TOKEN",
+ "type": "string"
+ },
+ "items": {
+ "description": "Videos in the playlist, in playlist order.",
+ "items": {
+ "$ref": "#/definitions/youtube.SearchItem"
+ },
+ "type": "array"
+ },
+ "playlist_id": {
+ "description": "YouTube playlist ID.",
+ "example": "PL1234567890abcdef",
+ "type": "string"
+ },
+ "thumbnail": {
+ "description": "URL of the playlist's thumbnail image.",
+ "example": "https://i.ytimg.com/vi/abc123xyz89/hqdefault.jpg",
+ "type": "string"
+ },
+ "title": {
+ "description": "Playlist title as shown on YouTube.",
+ "example": "OpenAI Podcast",
+ "type": "string"
+ },
+ "url": {
+ "description": "Link to the playlist on YouTube.",
+ "example": "https://www.youtube.com/playlist?list=PL1234567890abcdef",
+ "type": "string"
+ },
+ "video_count": {
+ "description": "Number of videos in the playlist as YouTube displays it, such as `12 videos`.",
+ "example": "12 videos",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "youtube.Profile": {
+ "properties": {
+ "bio": {
+ "example": "OpenAI’s mission is to ensure that artificial general intelligence benefits all of humanity.",
+ "type": "string"
+ },
+ "channel_id": {
+ "example": "UCXZCJLdBC09xxGZ6gcdrc6A",
+ "type": "string"
+ },
+ "channel_name": {
+ "example": "OpenAI",
+ "type": "string"
+ },
+ "channel_url": {
+ "example": "http://www.youtube.com/@OpenAI",
+ "type": "string"
+ },
+ "created_at": {
+ "example": "2025-07-12T08:46:11.740932549Z",
+ "type": "string"
+ },
+ "id": {
+ "example": "fe03dcedad8ab90c5f81eb4a405a464b",
+ "type": "string"
+ },
+ "joined_date": {
+ "example": "2017-03-10T00:00:00Z",
+ "type": "string"
+ },
+ "links": {
+ "example": [
+ "twitter.com/openai",
+ "linkedin.com/company/openai",
+ "openai.com"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "profile_pic": {
+ "example": "https://yt3.googleusercontent.com/MopgmVAFV9BqlzOJ-UINtmutvEPcNe5IbKMmP_4vZZo3vnJXcZGtybUBsXaEVxkmxKyGqX9R=s900-c-k-c0x00ffffff-no-rj",
+ "type": "string"
+ },
+ "region": {
+ "example": "United States",
+ "type": "string"
+ },
+ "stats": {
+ "$ref": "#/definitions/youtube.ProfileStats"
+ },
+ "updated_at": {
+ "example": "2025-07-12T08:46:11.740932749Z",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "youtube.ProfileStats": {
+ "properties": {
+ "followers_count": {
+ "example": 1580000,
+ "type": "integer"
+ },
+ "videos_count": {
+ "example": 305,
+ "type": "integer"
+ },
+ "views_count": {
+ "example": 75159285,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "youtube.SearchItem": {
+ "properties": {
+ "badges": {
+ "description": "Badge labels shown on the video, such as `HD` or `CC`.",
+ "example": [
+ "HD",
+ "CC"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "channel_id": {
+ "description": "YouTube channel ID, starting with `UC`.",
+ "example": "UCXZCJLdBC09xxGZ6gcdrc6A",
+ "type": "string"
+ },
+ "channel_thumbnail": {
+ "description": "URL of the publishing channel's avatar image.",
+ "example": "https://yt3.ggpht.com/example=s68-c-k-c0x00ffffff-no-rj",
+ "type": "string"
+ },
+ "channel_title": {
+ "description": "Name of the channel that published the video or playlist.",
+ "example": "OpenAI",
+ "type": "string"
+ },
+ "description_snippet": {
+ "description": "Short excerpt of the video or channel description shown in the results.",
+ "example": "A concise walkthrough of GPT features.",
+ "type": "string"
+ },
+ "duration": {
+ "description": "Video length as YouTube displays it, such as `12:34`.",
+ "example": "12:34",
+ "type": "string"
+ },
+ "duration_seconds": {
+ "description": "Video length in seconds.",
+ "example": 754,
+ "type": "integer"
+ },
+ "handle": {
+ "description": "Channel handle, starting with `@`. Set for channel results.",
+ "example": "@OpenAI",
+ "type": "string"
+ },
+ "is_live": {
+ "description": "Whether the video is a live stream.",
+ "type": "boolean"
+ },
+ "is_short": {
+ "description": "Whether the video is a YouTube Short.",
+ "type": "boolean"
+ },
+ "is_verified": {
+ "description": "Whether the channel carries a verified badge.",
+ "type": "boolean"
+ },
+ "playlist_id": {
+ "description": "YouTube playlist ID. Set for playlist results.",
+ "example": "PL1234567890abcdef",
+ "type": "string"
+ },
+ "position": {
+ "description": "Position of the item on this page of results, starting at 1.",
+ "example": 1,
+ "type": "integer"
+ },
+ "published_text": {
+ "description": "Upload time as YouTube displays it, such as `2 days ago`.",
+ "example": "2 days ago",
+ "type": "string"
+ },
+ "short_view_count": {
+ "description": "Abbreviated view count as YouTube displays it, such as `123K views`.",
+ "example": "123K views",
+ "type": "string"
+ },
+ "subscriber_count": {
+ "description": "Subscriber count as YouTube displays it, such as `1.93M subscribers`.",
+ "example": "1.93M subscribers",
+ "type": "string"
+ },
+ "thumbnail": {
+ "description": "URL of the item's thumbnail image.",
+ "example": "https://i.ytimg.com/vi/abc123/hq720.jpg",
+ "type": "string"
+ },
+ "title": {
+ "description": "Video or playlist title, or channel name.",
+ "example": "ChatGPT Explained",
+ "type": "string"
+ },
+ "type": {
+ "description": "Kind of result: `video`, `channel` or `playlist`.",
+ "example": "video",
+ "type": "string"
+ },
+ "url": {
+ "description": "Link to the video, channel or playlist on YouTube.",
+ "example": "https://www.youtube.com/watch?v=abc123",
+ "type": "string"
+ },
+ "video_count": {
+ "description": "Number of videos as YouTube displays it, such as `12 videos`. Set for channel and playlist results.",
+ "example": "9 lessons",
+ "type": "string"
+ },
+ "video_id": {
+ "description": "YouTube video ID. Set for video results.",
+ "example": "abc123xyz89",
+ "type": "string"
+ },
+ "view_count": {
+ "description": "View count as YouTube displays it, such as `123,456 views`.",
+ "example": "123,456 views",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "youtube.SearchResponse": {
+ "properties": {
+ "continuation_token": {
+ "description": "Token to pass in the next request to get the following page. Omitted on the last page.",
+ "example": "NEXT_TOKEN",
+ "type": "string"
+ },
+ "estimated_results": {
+ "description": "Approximate number of results YouTube reports for the search.",
+ "example": 9895225,
+ "type": "integer"
+ },
+ "items": {
+ "description": "Videos, channels and playlists on this page of results.",
+ "items": {
+ "$ref": "#/definitions/youtube.SearchItem"
+ },
+ "type": "array"
+ },
+ "query": {
+ "description": "Search text that was run.",
+ "example": "gpt",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "youtube.TagResp": {
+ "properties": {
+ "continuation_token": {
+ "description": "Token to pass in the next request to get the following page.",
+ "type": "string"
+ },
+ "meta": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/youtube.tagMeta"
+ }
+ ],
+ "description": "Totals shown on the hashtag page. Present on the first page only."
+ },
+ "videos": {
+ "description": "Videos posted under the hashtag.",
+ "items": {
+ "$ref": "#/definitions/youtube.VideoDetail"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "youtube.TranscriptLanguage": {
+ "properties": {
+ "is_generated": {
+ "description": "Whether the transcript is auto-generated rather than written by a person.",
+ "type": "boolean"
+ },
+ "is_translatable": {
+ "description": "Whether YouTube offers translations of this transcript.",
+ "type": "boolean"
+ },
+ "language": {
+ "description": "Language name, such as `English`.",
+ "example": "English",
+ "type": "string"
+ },
+ "language_code": {
+ "description": "Language code of the transcript, such as `en`.",
+ "example": "en",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "youtube.TranscriptResponse": {
+ "properties": {
+ "is_generated": {
+ "description": "Whether the transcript is auto-generated rather than written by a person.",
+ "type": "boolean"
+ },
+ "language": {
+ "description": "Language name of the transcript, such as `English`.",
+ "example": "English",
+ "type": "string"
+ },
+ "language_code": {
+ "description": "Language code of the transcript, such as `en`.",
+ "example": "en",
+ "type": "string"
+ },
+ "segments": {
+ "description": "Transcript split into timed segments.",
+ "items": {
+ "$ref": "#/definitions/youtube.TranscriptSegment"
+ },
+ "type": "array"
+ },
+ "text": {
+ "description": "Full transcript as one block of text.",
+ "example": "Never gonna give you up",
+ "type": "string"
+ },
+ "translation_language": {
+ "description": "Language code the transcript was translated into. Omitted when no translation was requested.",
+ "example": "es",
+ "type": "string"
+ },
+ "video_id": {
+ "description": "YouTube video ID the transcript belongs to.",
+ "example": "dQw4w9WgXcQ",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "youtube.TranscriptSegment": {
+ "properties": {
+ "duration": {
+ "description": "Length of the segment, in seconds.",
+ "type": "number"
+ },
+ "start": {
+ "description": "Time the segment starts, in seconds from the start of the video.",
+ "type": "number"
+ },
+ "text": {
+ "description": "Transcript text spoken in this segment.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "youtube.VideoDetail": {
+ "properties": {
+ "channel_id": {
+ "description": "YouTube channel ID of the uploader.",
+ "example": "UCXZCJLdBC09xxGZ6gcdrc6A",
+ "type": "string"
+ },
+ "channel_title": {
+ "description": "Name of the channel that uploaded the video.",
+ "example": "OpenAI",
+ "type": "string"
+ },
+ "comments_count": {
+ "description": "Number of comments on the video; may be rounded when YouTube shows an abbreviated count. Omitted when unavailable.",
+ "example": 1400,
+ "type": "integer"
+ },
+ "description": {
+ "description": "Full video description.",
+ "example": "On the first episode of the OpenAI Podcast...",
+ "type": "string"
+ },
+ "dislikes_count": {
+ "description": "may be hidden",
+ "example": 0,
+ "type": "integer"
+ },
+ "duration_seconds": {
+ "description": "length in seconds",
+ "example": 2423,
+ "type": "number"
+ },
+ "id": {
+ "description": "YouTube video ID.",
+ "example": "YbJOTdZBX1g",
+ "type": "string"
+ },
+ "likes_count": {
+ "description": "Number of likes on the video; may be rounded when YouTube shows an abbreviated count. Omitted when unavailable.",
+ "example": 11000,
+ "type": "integer"
+ },
+ "published_at": {
+ "description": "Time the video was published, in RFC 3339.",
+ "example": "2025-06-18T07:59:20-07:00",
+ "type": "string"
+ },
+ "title": {
+ "description": "Video title as shown on YouTube.",
+ "example": "Sam Altman on AGI, GPT-5, and what’s next — the OpenAI Podcast Ep. 1",
+ "type": "string"
+ },
+ "views_count": {
+ "description": "Number of views of the video. Omitted when unavailable.",
+ "example": 460176,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "youtube.captionsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "items": {
+ "$ref": "#/definitions/youtube.Caption"
+ },
+ "type": "array"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "youtube.channelFeedResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/youtube.ChannelFeedResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "youtube.channelSearchResponseDataDoc": {
+ "properties": {
+ "channel_id": {
+ "description": "YouTube channel ID, starting with `UC`.",
+ "example": "UCXZCJLdBC09xxGZ6gcdrc6A",
+ "type": "string"
+ },
+ "channel_title": {
+ "description": "Channel name as shown on YouTube.",
+ "example": "OpenAI",
+ "type": "string"
+ },
+ "channel_url": {
+ "description": "Link to the channel on YouTube.",
+ "example": "https://www.youtube.com/@OpenAI",
+ "type": "string"
+ },
+ "continuation_token": {
+ "description": "Token to pass in the next request to get the following page. Omitted on the last page.",
+ "example": "NEXT_TOKEN",
+ "type": "string"
+ },
+ "handle": {
+ "description": "Channel handle, starting with `@`.",
+ "example": "@OpenAI",
+ "type": "string"
+ },
+ "items": {
+ "description": "Videos from the channel that match the search text.",
+ "items": {
+ "$ref": "#/definitions/youtube.SearchItem"
+ },
+ "type": "array"
+ },
+ "query": {
+ "description": "Search text that was run inside the channel.",
+ "example": "gpt",
+ "type": "string"
+ },
+ "thumbnail": {
+ "description": "URL of the channel's avatar image.",
+ "example": "https://yt3.googleusercontent.com/example=s176-c-k-c0x00ffffff-no-rj",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "youtube.channelSearchResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/youtube.channelSearchResponseDataDoc"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "youtube.channelShortsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/youtube.ChannelShortsResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "youtube.commentsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/youtube.CommentResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "youtube.playlistResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/youtube.PlaylistResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "youtube.profileResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/youtube.Profile"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "youtube.searchResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/youtube.SearchResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "youtube.suggestResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/suggest.Response"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "youtube.tagMeta": {
+ "properties": {
+ "channelsCount": {
+ "description": "Number of channels using the hashtag, as shown on the hashtag page.",
+ "format": "int64",
+ "type": "integer"
+ },
+ "videosCount": {
+ "description": "Number of videos using the hashtag, as shown on the hashtag page.",
+ "format": "int64",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "youtube.tagResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/youtube.TagResp"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "youtube.transcriptLanguagesResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "items": {
+ "$ref": "#/definitions/youtube.TranscriptLanguage"
+ },
+ "type": "array"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "youtube.transcriptResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/youtube.TranscriptResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "youtube.videoResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/youtube.VideoDetail"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zalando.CategoriesResponse": {
+ "properties": {
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/zalando.CategoryTaxonomyEntry"
+ },
+ "type": "array"
+ },
+ "count": {
+ "example": 11,
+ "type": "integer"
+ },
+ "department": {
+ "example": "women",
+ "type": "string"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "market": {
+ "example": "de",
+ "type": "string"
+ },
+ "source_urls": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "zalando.CategoryResponse": {
+ "properties": {
+ "category": {
+ "example": "shoes",
+ "type": "string"
+ },
+ "count": {
+ "example": 24,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "market": {
+ "example": "de",
+ "type": "string"
+ },
+ "products": {
+ "items": {
+ "$ref": "#/definitions/zalando.ProductSummary"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "total_count": {
+ "example": 145032,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "zalando.CategoryTaxonomyEntry": {
+ "properties": {
+ "category": {
+ "example": "womens-clothing",
+ "type": "string"
+ },
+ "department": {
+ "example": "women",
+ "type": "string"
+ },
+ "name": {
+ "example": "Clothing",
+ "type": "string"
+ },
+ "url": {
+ "example": "https://en.zalando.de/womens-clothing/",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zalando.Market": {
+ "properties": {
+ "code": {
+ "example": "de",
+ "type": "string"
+ },
+ "domain": {
+ "example": "en.zalando.de",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zalando.MarketsResponse": {
+ "properties": {
+ "count": {
+ "example": 8,
+ "type": "integer"
+ },
+ "markets": {
+ "items": {
+ "$ref": "#/definitions/zalando.Market"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "zalando.Product": {
+ "properties": {
+ "brand": {
+ "example": "On",
+ "type": "string"
+ },
+ "color": {
+ "example": "white white/white",
+ "type": "string"
+ },
+ "currency": {
+ "example": "EUR",
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "images": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "name": {
+ "example": "CLOUD 6 - Trainers - white white",
+ "type": "string"
+ },
+ "price": {
+ "example": 160,
+ "type": "number"
+ },
+ "sku": {
+ "example": "ONM11A03W-A12",
+ "type": "string"
+ },
+ "url": {
+ "example": "https://en.zalando.de/on-cloud-trainers-white-white-onm11a03w-a12.html",
+ "type": "string"
+ },
+ "variants": {
+ "items": {
+ "$ref": "#/definitions/zalando.ProductVariant"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "zalando.ProductResponse": {
+ "properties": {
+ "fetched_at": {
+ "type": "string"
+ },
+ "market": {
+ "example": "de",
+ "type": "string"
+ },
+ "product": {
+ "$ref": "#/definitions/zalando.Product"
+ },
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zalando.ProductSummary": {
+ "properties": {
+ "brand": {
+ "example": "On",
+ "type": "string"
+ },
+ "condition": {
+ "example": "NEW",
+ "type": "string"
+ },
+ "currency": {
+ "example": "EUR",
+ "type": "string"
+ },
+ "discount_percent": {
+ "example": 20,
+ "type": "integer"
+ },
+ "image": {
+ "type": "string"
+ },
+ "name": {
+ "example": "CLOUD 6 - Trainers - white white",
+ "type": "string"
+ },
+ "original_price": {
+ "example": 199.95,
+ "type": "number"
+ },
+ "price": {
+ "example": 160,
+ "type": "number"
+ },
+ "silhouette": {
+ "example": "LOW_SHOE",
+ "type": "string"
+ },
+ "sku": {
+ "example": "ONM11A03W-A12",
+ "type": "string"
+ },
+ "url": {
+ "example": "https://en.zalando.de/on-cloud-trainers-white-white-onm11a03w-a12.html",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zalando.ProductVariant": {
+ "properties": {
+ "availability": {
+ "example": "InStock",
+ "type": "string"
+ },
+ "currency": {
+ "example": "EUR",
+ "type": "string"
+ },
+ "gtin": {
+ "example": "7615537206202",
+ "type": "string"
+ },
+ "price": {
+ "example": 160,
+ "type": "number"
+ },
+ "size": {
+ "example": "42",
+ "type": "string"
+ },
+ "sku": {
+ "example": "ONM11A03W-A120010000",
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zalando.SearchResponse": {
+ "properties": {
+ "count": {
+ "example": 24,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "market": {
+ "example": "de",
+ "type": "string"
+ },
+ "products": {
+ "items": {
+ "$ref": "#/definitions/zalando.ProductSummary"
+ },
+ "type": "array"
+ },
+ "query": {
+ "example": "running shoes",
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "total_count": {
+ "example": 4911,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "zalando.SuggestResponse": {
+ "properties": {
+ "fetched_at": {
+ "type": "string"
+ },
+ "market": {
+ "example": "de",
+ "type": "string"
+ },
+ "query": {
+ "example": "running sho",
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "suggestions": {
+ "example": [
+ "running shoes",
+ "running shoes nike",
+ "running shoes adidas"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "zalando.categoriesResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/zalando.CategoriesResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zalando.categoryResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/zalando.CategoryResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zalando.marketsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/zalando.MarketsResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zalando.productResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/zalando.ProductResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zalando.searchResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/zalando.SearchResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zalando.suggestResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/zalando.SuggestResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zappos.BrandRef": {
+ "properties": {
+ "id": {
+ "example": "WgLNGeICAQs",
+ "type": "string"
+ },
+ "name": {
+ "example": "Adidas Outdoor",
+ "type": "string"
+ },
+ "slug": {
+ "example": "adidas-outdoor",
+ "type": "string"
+ },
+ "url": {
+ "example": "https://www.zappos.com/adidas-outdoor/WgLNGeICAQs.zso",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zappos.BrandResponse": {
+ "properties": {
+ "brand": {
+ "type": "string"
+ },
+ "brand_id": {
+ "type": "string"
+ },
+ "count": {
+ "type": "integer"
+ },
+ "facets": {
+ "items": {
+ "$ref": "#/definitions/zappos.Facet"
+ },
+ "type": "array"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "has_more": {
+ "type": "boolean"
+ },
+ "page": {
+ "type": "integer"
+ },
+ "page_count": {
+ "type": "integer"
+ },
+ "page_size": {
+ "type": "integer"
+ },
+ "products": {
+ "items": {
+ "$ref": "#/definitions/zappos.ProductSummary"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "total_count": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "zappos.BrandsResponse": {
+ "properties": {
+ "brands": {
+ "items": {
+ "$ref": "#/definitions/zappos.BrandRef"
+ },
+ "type": "array"
+ },
+ "has_next": {
+ "example": true,
+ "type": "boolean"
+ },
+ "page": {
+ "example": 1,
+ "type": "integer"
+ },
+ "page_size": {
+ "example": 100,
+ "type": "integer"
+ },
+ "total": {
+ "example": 440,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "zappos.ColorVariant": {
+ "properties": {
+ "color_id": {
+ "type": "string"
+ },
+ "color_name": {
+ "type": "string"
+ },
+ "original_price": {
+ "type": "string"
+ },
+ "percent_off": {
+ "type": "string"
+ },
+ "price": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zappos.Facet": {
+ "properties": {
+ "field": {
+ "example": "txAttrFacet_Gender",
+ "type": "string"
+ },
+ "multi_select": {
+ "type": "boolean"
+ },
+ "name": {
+ "example": "Gender",
+ "type": "string"
+ },
+ "values": {
+ "items": {
+ "$ref": "#/definitions/zappos.FacetValue"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "zappos.FacetValue": {
+ "properties": {
+ "count": {
+ "example": 69,
+ "type": "integer"
+ },
+ "selected": {
+ "type": "boolean"
+ },
+ "url": {
+ "type": "string"
+ },
+ "value": {
+ "example": "Women",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zappos.FeaturedReview": {
+ "properties": {
+ "author": {
+ "type": "string"
+ },
+ "body": {
+ "type": "string"
+ },
+ "comfort_rating": {
+ "type": "number"
+ },
+ "date": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "look_rating": {
+ "type": "integer"
+ },
+ "overall_rating": {
+ "type": "integer"
+ },
+ "up_votes": {
+ "type": "integer"
+ },
+ "verified_purchase": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "zappos.FitFeedback": {
+ "properties": {
+ "most_common_answer": {
+ "description": "MostCommonAnswer and MostCommonPercentage are Zappos's own \"most\ncommon answer\" summary for this dimension, e.g. \"Felt true to size\"\nat 80%.",
+ "type": "string"
+ },
+ "most_common_percentage": {
+ "type": "number"
+ },
+ "percentages": {
+ "additionalProperties": {
+ "format": "float64",
+ "type": "number"
+ },
+ "description": "Percentages maps each response option's own text (e.g. \"Felt true to\nsize\") to the percentage of reviewers who chose it.",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "zappos.ProductDetailResponse": {
+ "properties": {
+ "arch_fit": {
+ "$ref": "#/definitions/zappos.FitFeedback"
+ },
+ "brand_name": {
+ "type": "string"
+ },
+ "breadcrumbs": {
+ "description": "Breadcrumbs is the site's own navigation path to this product (e.g.\n[\"shoes\", \"sneakers & athletic shoes\", \"adidas Outdoor\"]).",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "category": {
+ "type": "string"
+ },
+ "color": {
+ "type": "string"
+ },
+ "color_id": {
+ "type": "string"
+ },
+ "color_variants": {
+ "description": "ColorVariants lists every sibling color variant of this product\n(including this one), each with its own price. See service.go's doc\ncomment on where this is sourced from.",
+ "items": {
+ "$ref": "#/definitions/zappos.ColorVariant"
+ },
+ "type": "array"
+ },
+ "currency_code": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "featured_reviews": {
+ "description": "FeaturedReviews holds Zappos's own site-selected featured reviews --\nat most two (the page's own \"most helpful\" and \"most voted\" picks,\ndeduplicated if they are the same single review) -- each with real\nauthor/date/body/rating, not the whole review corpus. See service.go's\ndoc comment for why this differs from the JSON-LD block's own\ncontent-free review stub.",
+ "items": {
+ "$ref": "#/definitions/zappos.FeaturedReview"
+ },
+ "type": "array"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "images": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "in_stock": {
+ "type": "boolean"
+ },
+ "original_price": {
+ "type": "string"
+ },
+ "price": {
+ "type": "string"
+ },
+ "product_id": {
+ "type": "string"
+ },
+ "product_name": {
+ "type": "string"
+ },
+ "rating": {
+ "type": "number"
+ },
+ "rating_breakdown": {
+ "additionalProperties": {
+ "format": "float64",
+ "type": "number"
+ },
+ "description": "RatingBreakdown maps each star value (\"1\" through \"5\") to the\npercentage of reviewers who gave that rating.",
+ "type": "object"
+ },
+ "rating_count": {
+ "description": "RatingCount is the product's total review count, sourced from the\npage's own aggregate rating summary (not the number of entries in\nFeaturedReviews, which is at most 2 -- see FeaturedReviews' doc\ncomment).",
+ "type": "integer"
+ },
+ "size_fit": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/zappos.FitFeedback"
+ }
+ ],
+ "description": "SizeFit, WidthFit, and ArchFit summarize reviewer-submitted fit\nfeedback for this product -- nil when the product has no fit-feedback\ndata. Sourced from the same RSC \"reviews\" object as RatingBreakdown/\nFeaturedReviews, at no extra upstream cost. See FitFeedback's doc\ncomment."
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "width_fit": {
+ "$ref": "#/definitions/zappos.FitFeedback"
+ }
+ },
+ "type": "object"
+ },
+ "zappos.ProductSummary": {
+ "properties": {
+ "brand_name": {
+ "type": "string"
+ },
+ "color": {
+ "type": "string"
+ },
+ "color_id": {
+ "type": "string"
+ },
+ "gender": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "is_new": {
+ "type": "boolean"
+ },
+ "on_hand": {
+ "type": "integer"
+ },
+ "on_sale": {
+ "type": "boolean"
+ },
+ "original_price": {
+ "type": "string"
+ },
+ "percent_off": {
+ "type": "string"
+ },
+ "price": {
+ "type": "string"
+ },
+ "product_id": {
+ "type": "string"
+ },
+ "product_name": {
+ "type": "string"
+ },
+ "product_type": {
+ "type": "string"
+ },
+ "rating": {
+ "type": "number"
+ },
+ "review_count": {
+ "type": "integer"
+ },
+ "style_color": {
+ "type": "string"
+ },
+ "style_id": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zappos.SearchResponse": {
+ "properties": {
+ "count": {
+ "type": "integer"
+ },
+ "facets": {
+ "description": "Facets lists this page's own filterable fields (gender, department,\nshoe size, etc.), each with live result counts and drill-down URLs --\nsourced from the same response this package already fetches, not a\nseparate upstream call. See buildFacets's doc comment.",
+ "items": {
+ "$ref": "#/definitions/zappos.Facet"
+ },
+ "type": "array"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "has_more": {
+ "type": "boolean"
+ },
+ "page": {
+ "type": "integer"
+ },
+ "page_count": {
+ "type": "integer"
+ },
+ "page_size": {
+ "type": "integer"
+ },
+ "products": {
+ "items": {
+ "$ref": "#/definitions/zappos.ProductSummary"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "term": {
+ "type": "string"
+ },
+ "total_count": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "zappos.SuggestResponse": {
+ "properties": {
+ "count": {
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "query": {
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "suggestions": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "zappos.brandResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/zappos.BrandResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zappos.brandsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/zappos.BrandsResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zappos.productDetailResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/zappos.ProductDetailResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zappos.searchResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/zappos.SearchResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zappos.suggestResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/zappos.SuggestResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zara.CategoriesResponse": {
+ "properties": {
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/zara.CategoryNode"
+ },
+ "type": "array"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zara.CategoryNode": {
+ "properties": {
+ "has_subcategories": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "integer"
+ },
+ "name": {
+ "type": "string"
+ },
+ "section_name": {
+ "type": "string"
+ },
+ "subcategories": {
+ "items": {
+ "$ref": "#/definitions/zara.CategoryNode"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "zara.CategoryProductsResponse": {
+ "properties": {
+ "category_id": {
+ "type": "string"
+ },
+ "count": {
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "products": {
+ "items": {
+ "$ref": "#/definitions/zara.ProductSummary"
+ },
+ "type": "array"
+ },
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zara.ColorSummary": {
+ "properties": {
+ "availability": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "price": {
+ "type": "number"
+ },
+ "product_id": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "zara.CompositionComponent": {
+ "properties": {
+ "material": {
+ "type": "string"
+ },
+ "percentage": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zara.CompositionPart": {
+ "properties": {
+ "components": {
+ "items": {
+ "$ref": "#/definitions/zara.CompositionComponent"
+ },
+ "type": "array"
+ },
+ "description": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zara.Facet": {
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "values": {
+ "items": {
+ "$ref": "#/definitions/zara.FacetValue"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "zara.FacetValue": {
+ "properties": {
+ "count": {
+ "type": "integer"
+ },
+ "id": {
+ "type": "string"
+ },
+ "label": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zara.ProductDetailColor": {
+ "properties": {
+ "availability": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "images": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "name": {
+ "type": "string"
+ },
+ "price": {
+ "type": "number"
+ },
+ "sizes": {
+ "items": {
+ "$ref": "#/definitions/zara.ProductDetailSize"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "zara.ProductDetailResponse": {
+ "properties": {
+ "colors": {
+ "items": {
+ "$ref": "#/definitions/zara.ProductDetailColor"
+ },
+ "type": "array"
+ },
+ "composition": {
+ "items": {
+ "$ref": "#/definitions/zara.CompositionPart"
+ },
+ "type": "array"
+ },
+ "family_name": {
+ "type": "string"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "product_id": {
+ "type": "string"
+ },
+ "reference": {
+ "type": "string"
+ },
+ "section_name": {
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "subfamily_name": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zara.ProductDetailSize": {
+ "properties": {
+ "availability": {
+ "type": "string"
+ },
+ "id": {
+ "type": "integer"
+ },
+ "name": {
+ "type": "string"
+ },
+ "price": {
+ "type": "number"
+ },
+ "sku": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "zara.ProductSummary": {
+ "properties": {
+ "availability": {
+ "type": "string"
+ },
+ "colors": {
+ "items": {
+ "$ref": "#/definitions/zara.ColorSummary"
+ },
+ "type": "array"
+ },
+ "family_name": {
+ "type": "string"
+ },
+ "id": {
+ "type": "integer"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "price": {
+ "type": "number"
+ },
+ "reference": {
+ "type": "string"
+ },
+ "section_name": {
+ "type": "string"
+ },
+ "subfamily_name": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zara.SearchResponse": {
+ "properties": {
+ "count": {
+ "type": "integer"
+ },
+ "facets": {
+ "items": {
+ "$ref": "#/definitions/zara.Facet"
+ },
+ "type": "array"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "is_last_page": {
+ "type": "boolean"
+ },
+ "limit": {
+ "type": "integer"
+ },
+ "offset": {
+ "type": "integer"
+ },
+ "products": {
+ "items": {
+ "$ref": "#/definitions/zara.ProductSummary"
+ },
+ "type": "array"
+ },
+ "query": {
+ "type": "string"
+ },
+ "section": {
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "total_count": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "zara.Store": {
+ "properties": {
+ "address": {
+ "type": "string"
+ },
+ "city": {
+ "type": "string"
+ },
+ "commercial_name": {
+ "type": "string"
+ },
+ "country": {
+ "type": "string"
+ },
+ "donation_allowed": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "integer"
+ },
+ "latitude": {
+ "type": "number"
+ },
+ "longitude": {
+ "type": "number"
+ },
+ "name": {
+ "type": "string"
+ },
+ "phone": {
+ "type": "string"
+ },
+ "pickup_allowed": {
+ "type": "boolean"
+ },
+ "postal_code": {
+ "type": "string"
+ },
+ "sections": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "state": {
+ "type": "string"
+ },
+ "status": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zara.StoreResponse": {
+ "properties": {
+ "count": {
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "lat": {
+ "type": "number"
+ },
+ "lng": {
+ "type": "number"
+ },
+ "radius": {
+ "type": "integer"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "stores": {
+ "items": {
+ "$ref": "#/definitions/zara.Store"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "zara.SuggestResponse": {
+ "properties": {
+ "count": {
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "query": {
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "suggestions": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "zara.categoriesResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/zara.CategoriesResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zara.categoryProductsResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/zara.CategoryProductsResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zara.productDetailResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/zara.ProductDetailResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zara.searchResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/zara.SearchResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zara.storesResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/zara.StoreResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zara.suggestResponseDoc": {
+ "properties": {
+ "code": {
+ "example": 200,
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/zara.SuggestResponse"
+ },
+ "msg": {
+ "example": "OK",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zaxbys.MenuCategory": {
+ "properties": {
+ "catering": {
+ "description": "Catering marks a catering-only section (larger platters/boxed\nlunches), separate from the everyday menu.",
+ "type": "boolean"
+ },
+ "id": {
+ "type": "integer"
+ },
+ "image": {
+ "type": "string"
+ },
+ "name": {
+ "example": "Fingerz™ & Wings Meals",
+ "type": "string"
+ },
+ "products": {
+ "items": {
+ "$ref": "#/definitions/zaxbys.MenuProduct"
+ },
+ "type": "array"
+ },
+ "slug": {
+ "type": "string"
+ },
+ "spotlight": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "zaxbys.MenuModifierGroup": {
+ "properties": {
+ "id": {
+ "type": "integer"
+ },
+ "name": {
+ "example": "Boneless or traditional?",
+ "type": "string"
+ },
+ "options": {
+ "items": {
+ "$ref": "#/definitions/zaxbys.MenuModifierOption"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "zaxbys.MenuModifierOption": {
+ "properties": {
+ "cost": {
+ "example": 17,
+ "type": "number"
+ },
+ "default": {
+ "type": "boolean"
+ },
+ "groups": {
+ "items": {
+ "$ref": "#/definitions/zaxbys.MenuModifierGroup"
+ },
+ "type": "array"
+ },
+ "id": {
+ "type": "integer"
+ },
+ "name": {
+ "example": "Sauced Fingerz",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zaxbys.MenuProduct": {
+ "properties": {
+ "available_now": {
+ "description": "AvailableNow reflects the upstream's own current-availability flag\n(e.g. a limited-time item outside its active window is excluded here,\nnot filtered out of the response -- callers can decide what to do\nwith a not-currently-available item).",
+ "type": "boolean"
+ },
+ "badges": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "calories": {
+ "example": "1440 - 1770",
+ "type": "string"
+ },
+ "cost": {
+ "example": 0,
+ "type": "number"
+ },
+ "customization_available": {
+ "type": "boolean"
+ },
+ "description": {
+ "type": "string"
+ },
+ "groups": {
+ "items": {
+ "$ref": "#/definitions/zaxbys.MenuModifierGroup"
+ },
+ "type": "array"
+ },
+ "image": {
+ "type": "string"
+ },
+ "product_id": {
+ "example": 113251777,
+ "type": "integer"
+ },
+ "short_description": {
+ "type": "string"
+ },
+ "size": {
+ "type": "string"
+ },
+ "tags": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "title": {
+ "example": "Lemon Pepper Wings & Things Meal",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zaxbys.MenuResponse": {
+ "properties": {
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/zaxbys.MenuCategory"
+ },
+ "type": "array"
+ },
+ "category_count": {
+ "example": 15,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "product_count": {
+ "example": 106,
+ "type": "integer"
+ },
+ "source_url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zaxbys.NearbyResponse": {
+ "properties": {
+ "count": {
+ "example": 10,
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "radius_miles": {
+ "example": 25,
+ "type": "integer"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "stores": {
+ "items": {
+ "$ref": "#/definitions/zaxbys.NearbyStore"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "zaxbys.NearbyStore": {
+ "properties": {
+ "address": {
+ "$ref": "#/definitions/zaxbys.StoreAddress"
+ },
+ "available": {
+ "description": "Available is Zaxby's own overall availability flag for this store\n(distinct from CurrentlyOpen, which reflects today's hours).",
+ "type": "boolean"
+ },
+ "currently_open": {
+ "type": "boolean"
+ },
+ "distance_miles": {
+ "description": "DistanceMiles is measured from the requested coordinate.",
+ "example": 1.78,
+ "type": "number"
+ },
+ "eta": {
+ "description": "ETA is Zaxby's own published estimate for this store, e.g. \"24MIN\".\nNot a fixed unit-tagged duration upstream, so it is passed through as-is.",
+ "example": "24MIN",
+ "type": "string"
+ },
+ "hours": {
+ "items": {
+ "$ref": "#/definitions/zaxbys.StoreHours"
+ },
+ "type": "array"
+ },
+ "latitude": {
+ "example": 40.872505,
+ "type": "number"
+ },
+ "longitude": {
+ "example": -73.854276,
+ "type": "number"
+ },
+ "name": {
+ "example": "Bronx - 3260 Boston Road",
+ "type": "string"
+ },
+ "order_url": {
+ "description": "OrderURL is Zaxby's own Olo-hosted ordering page for this store.",
+ "type": "string"
+ },
+ "phone": {
+ "example": "(929) 992-4390",
+ "type": "string"
+ },
+ "services": {
+ "$ref": "#/definitions/zaxbys.StoreServices"
+ },
+ "slug": {
+ "example": "bronx-3260-boston-road",
+ "type": "string"
+ },
+ "store_id": {
+ "example": 299987,
+ "type": "integer"
+ },
+ "store_number": {
+ "example": "75030",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zaxbys.StoreAddress": {
+ "properties": {
+ "city": {
+ "example": "Bronx",
+ "type": "string"
+ },
+ "postal_code": {
+ "description": "PostalCode is a US ZIP code. The upstream source is US-only.",
+ "example": "10469",
+ "type": "string"
+ },
+ "region": {
+ "example": "NY",
+ "type": "string"
+ },
+ "street": {
+ "example": "3260 Boston Road",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zaxbys.StoreHours": {
+ "properties": {
+ "label": {
+ "example": "Delivery",
+ "type": "string"
+ },
+ "ranges": {
+ "items": {
+ "$ref": "#/definitions/zaxbys.StoreHoursRange"
+ },
+ "type": "array"
+ },
+ "type": {
+ "example": "drivethru",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zaxbys.StoreHoursRange": {
+ "properties": {
+ "closes_at": {
+ "example": "2026-09-06 03:00",
+ "type": "string"
+ },
+ "day": {
+ "example": "Sat",
+ "type": "string"
+ },
+ "opens_at": {
+ "example": "2026-09-05 10:30",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zaxbys.StoreResponse": {
+ "properties": {
+ "address": {
+ "$ref": "#/definitions/zaxbys.StoreAddress"
+ },
+ "available": {
+ "description": "Available is Zaxby's own overall availability flag for this store\n(distinct from CurrentlyOpen, which reflects today's hours).",
+ "type": "boolean"
+ },
+ "currently_open": {
+ "type": "boolean"
+ },
+ "eta": {
+ "description": "ETA is Zaxby's own published estimate for this store, e.g. \"24MIN\".\nNot a fixed unit-tagged duration upstream, so it is passed through as-is.",
+ "example": "24MIN",
+ "type": "string"
+ },
+ "fetched_at": {
+ "type": "string"
+ },
+ "hours": {
+ "items": {
+ "$ref": "#/definitions/zaxbys.StoreHours"
+ },
+ "type": "array"
+ },
+ "latitude": {
+ "example": 40.872505,
+ "type": "number"
+ },
+ "longitude": {
+ "example": -73.854276,
+ "type": "number"
+ },
+ "name": {
+ "example": "Bronx - 3260 Boston Road",
+ "type": "string"
+ },
+ "order_url": {
+ "description": "OrderURL is Zaxby's own Olo-hosted ordering page for this store.",
+ "type": "string"
+ },
+ "phone": {
+ "example": "(929) 992-4390",
+ "type": "string"
+ },
+ "services": {
+ "$ref": "#/definitions/zaxbys.StoreServices"
+ },
+ "slug": {
+ "example": "bronx-3260-boston-road",
+ "type": "string"
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "store_id": {
+ "example": 299987,
+ "type": "integer"
+ },
+ "store_number": {
+ "example": "75030",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zaxbys.StoreServices": {
+ "properties": {
+ "catering": {
+ "type": "boolean"
+ },
+ "curbside": {
+ "type": "boolean"
+ },
+ "delivery": {
+ "type": "boolean"
+ },
+ "dine_in": {
+ "type": "boolean"
+ },
+ "dispatch": {
+ "type": "boolean"
+ },
+ "drive_thru": {
+ "type": "boolean"
+ },
+ "free_wifi": {
+ "type": "boolean"
+ },
+ "milkshakes": {
+ "type": "boolean"
+ },
+ "online_ordering": {
+ "type": "boolean"
+ },
+ "open_late": {
+ "type": "boolean"
+ },
+ "pickup": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "zaxbys.menuResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/zaxbys.MenuResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "zaxbys.nearbyResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/zaxbys.NearbyResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "zaxbys.storeResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/zaxbys.StoreResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "zdnet.AuthorResponse": {
+ "properties": {
+ "article_count": {
+ "type": "integer"
+ },
+ "articles": {
+ "items": {
+ "$ref": "#/definitions/newsplatform.HeadlineItem"
+ },
+ "type": "array"
+ },
+ "biography": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "credentials": {
+ "type": "string"
+ },
+ "expertise": {
+ "items": {
+ "$ref": "#/definitions/zdnet.AuthorTopic"
+ },
+ "type": "array"
+ },
+ "has_next_page": {
+ "type": "boolean"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "joined_at": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "page": {
+ "type": "integer"
+ },
+ "role": {
+ "type": "string"
+ },
+ "slug": {
+ "type": "string"
+ },
+ "social_links": {
+ "items": {
+ "$ref": "#/definitions/zdnet.AuthorSocialLink"
+ },
+ "type": "array"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zdnet.AuthorSocialLink": {
+ "properties": {
+ "platform": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zdnet.AuthorTopic": {
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zillow.AutocompleteItem": {
+ "properties": {
+ "city": {
+ "description": "City name of the suggested place.",
+ "example": "Los Angeles",
+ "type": "string"
+ },
+ "county": {
+ "description": "County name of the suggested place.",
+ "example": "Los Angeles County",
+ "type": "string"
+ },
+ "id": {
+ "description": "Identifier of the suggestion, as Zillow returns it.",
+ "type": "string"
+ },
+ "latitude": {
+ "description": "Latitude of the suggested location, in decimal degrees.",
+ "type": "number"
+ },
+ "longitude": {
+ "description": "Longitude of the suggested location, in decimal degrees.",
+ "type": "number"
+ },
+ "near_me": {
+ "description": "Whether the suggestion is Zillow's near-me search option.",
+ "type": "boolean"
+ },
+ "plid": {
+ "description": "Place identifier of the suggestion, as Zillow returns it.",
+ "type": "string"
+ },
+ "region_display_ids": {
+ "description": "Display ids of the regions listed in `region_ids`, as Zillow returns them.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "region_id": {
+ "description": "Zillow region id of the suggestion. Pass it as `region_id` to the search endpoint.",
+ "example": 12447,
+ "type": "integer"
+ },
+ "region_ids": {
+ "description": "Zillow region ids covered by a suggestion that spans several regions.",
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "region_type": {
+ "description": "Zillow region type code that goes with `region_id`. Pass it as `region_type` to the search endpoint.",
+ "example": 6,
+ "type": "integer"
+ },
+ "region_types": {
+ "description": "Zillow region type codes that match the region ids in `region_ids`.",
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "school_district_ids": {
+ "description": "Zillow ids of the school districts the suggestion refers to.",
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "school_ids": {
+ "description": "Zillow ids of the schools the suggestion refers to.",
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "state": {
+ "description": "State abbreviation of the suggested place, such as `CA`.",
+ "example": "CA",
+ "type": "string"
+ },
+ "sub_type": {
+ "description": "Kind of place the suggestion is, such as `city`.",
+ "type": "string"
+ },
+ "view_latitude_delta": {
+ "description": "Latitude span of the map view Zillow suggests for this result.",
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "zillow.AutocompleteResponse": {
+ "properties": {
+ "query": {
+ "description": "Query that was run.",
+ "example": "Los Angeles, CA",
+ "type": "string"
+ },
+ "request_id": {
+ "description": "Identifier Zillow gave to this autocomplete request.",
+ "type": "string"
+ },
+ "results": {
+ "description": "Location suggestions, in the order Zillow returned them.",
+ "items": {
+ "$ref": "#/definitions/zillow.AutocompleteItem"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "zillow.PropertyAddressParts": {
+ "properties": {
+ "city": {
+ "description": "City of the property.",
+ "type": "string"
+ },
+ "county": {
+ "description": "County of the property.",
+ "type": "string"
+ },
+ "neighborhood": {
+ "description": "Neighborhood of the property.",
+ "type": "string"
+ },
+ "state": {
+ "description": "State of the property.",
+ "type": "string"
+ },
+ "street": {
+ "description": "Street address of the property.",
+ "type": "string"
+ },
+ "subdivision": {
+ "description": "Subdivision the property belongs to.",
+ "type": "string"
+ },
+ "zipcode": {
+ "description": "ZIP code of the property.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zillow.PropertyAgent": {
+ "properties": {
+ "email": {
+ "description": "Email address of the agent, as shown on the listing.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Full name of the agent.",
+ "type": "string"
+ },
+ "phone": {
+ "description": "Phone number of the agent, as shown on the listing.",
+ "type": "string"
+ },
+ "type": {
+ "description": "Role of the agent on the listing, as Zillow labels it.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zillow.PropertyArea": {
+ "properties": {
+ "text": {
+ "description": "Area together with its unit, as text.",
+ "type": "string"
+ },
+ "unit": {
+ "description": "Unit of `value`, such as `sqft` or `acres`.",
+ "type": "string"
+ },
+ "value": {
+ "description": "Area as a number, in the unit given by `unit`.",
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "zillow.PropertyFact": {
+ "properties": {
+ "key": {
+ "description": "Name of the fact in snake case, such as `year_built`.",
+ "type": "string"
+ },
+ "label": {
+ "description": "Readable label of the fact.",
+ "type": "string"
+ },
+ "value": {
+ "description": "Value of the fact, as text.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zillow.PropertyFacts": {
+ "properties": {
+ "accessibility_features": {
+ "description": "Accessibility features of the home.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "additional": {
+ "description": "Further facts Zillow lists that have no dedicated field here, one entry per fact.",
+ "items": {
+ "$ref": "#/definitions/zillow.PropertyFact"
+ },
+ "type": "array"
+ },
+ "appliances": {
+ "description": "Appliances included with the home.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "architectural_style": {
+ "description": "Architectural style of the home.",
+ "type": "string"
+ },
+ "basement": {
+ "description": "Description of the home's basement.",
+ "type": "string"
+ },
+ "bathrooms": {
+ "description": "Total number of bathrooms.",
+ "type": "number"
+ },
+ "bathrooms_full": {
+ "description": "Number of full bathrooms.",
+ "type": "integer"
+ },
+ "bathrooms_half": {
+ "description": "Number of half bathrooms.",
+ "type": "integer"
+ },
+ "bathrooms_one_quarter": {
+ "description": "Number of one-quarter bathrooms.",
+ "type": "integer"
+ },
+ "bathrooms_three_quarter": {
+ "description": "Number of three-quarter bathrooms.",
+ "type": "integer"
+ },
+ "bedrooms": {
+ "description": "Number of bedrooms.",
+ "type": "number"
+ },
+ "builder_model": {
+ "description": "Builder's model name of the home.",
+ "type": "string"
+ },
+ "builder_name": {
+ "description": "Name of the home's builder.",
+ "type": "string"
+ },
+ "community_features": {
+ "description": "Features of the community the home is in.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "construction_materials": {
+ "description": "Materials the home is built from.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "cooling": {
+ "description": "Cooling systems of the home.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "exterior_features": {
+ "description": "Exterior features of the home.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "fireplace_features": {
+ "description": "Fireplace features of the home.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "flooring": {
+ "description": "Flooring types in the home.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "foundation_details": {
+ "description": "Foundation details of the home.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "garage_spaces": {
+ "description": "Number of garage parking spaces.",
+ "type": "number"
+ },
+ "has_fireplace": {
+ "description": "Whether the home has a fireplace.",
+ "type": "boolean"
+ },
+ "heating": {
+ "description": "Heating systems of the home.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "hoa_fee": {
+ "description": "Homeowners association fee, as text shown by Zillow.",
+ "type": "string"
+ },
+ "home_type": {
+ "description": "Property type of the home, as Zillow labels it.",
+ "type": "string"
+ },
+ "laundry_features": {
+ "description": "Laundry features of the home.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "levels": {
+ "description": "Floor levels of the home.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "living_area": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/zillow.PropertyArea"
+ }
+ ],
+ "description": "Interior living area of the home."
+ },
+ "lot_size": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/zillow.PropertyArea"
+ }
+ ],
+ "description": "Lot size of the property."
+ },
+ "lot_size_dimensions": {
+ "description": "Lot dimensions, as text.",
+ "type": "string"
+ },
+ "parcel_number": {
+ "description": "Assessor parcel number of the property.",
+ "type": "string"
+ },
+ "parking_capacity": {
+ "description": "Total number of parking spaces.",
+ "type": "integer"
+ },
+ "parking_features": {
+ "description": "Parking features of the home.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "patio_and_porch_features": {
+ "description": "Patio and porch features of the home.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "pool_features": {
+ "description": "Pool features of the property.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "property_sub_type": {
+ "description": "Property subtypes of the home, as Zillow labels them.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "roof": {
+ "description": "Roof type or material.",
+ "type": "string"
+ },
+ "rooms": {
+ "description": "Room types listed for the home.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "security_features": {
+ "description": "Security features of the home.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "sewer": {
+ "description": "Sewer arrangements of the property.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "spa_features": {
+ "description": "Spa features of the property.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "stories": {
+ "description": "Number of stories in the building.",
+ "type": "number"
+ },
+ "structure_type": {
+ "description": "Structure type of the home.",
+ "type": "string"
+ },
+ "tax_annual_amount": {
+ "description": "Annual property tax amount.",
+ "type": "number"
+ },
+ "tax_assessed_value": {
+ "description": "Assessed value of the property for tax purposes.",
+ "type": "number"
+ },
+ "utilities": {
+ "description": "Utilities available to or included with the home.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "view": {
+ "description": "Views the property has.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "water_source": {
+ "description": "Water source of the property.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "waterfront_features": {
+ "description": "Waterfront features of the property.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "year_built": {
+ "description": "Year the home was built.",
+ "type": "integer"
+ },
+ "zoning": {
+ "description": "Zoning designation of the property.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zillow.PropertyHistory": {
+ "properties": {
+ "price": {
+ "description": "Price history of the property, one entry per event.",
+ "items": {
+ "$ref": "#/definitions/zillow.PropertyPriceHistoryEntry"
+ },
+ "type": "array"
+ },
+ "tax": {
+ "description": "Property tax history, one entry per tax year.",
+ "items": {
+ "$ref": "#/definitions/zillow.PropertyTaxHistoryEntry"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "zillow.PropertyListing": {
+ "properties": {
+ "agent_name": {
+ "description": "Name of the listing agent.",
+ "type": "string"
+ },
+ "agents": {
+ "description": "Agents named on the listing.",
+ "items": {
+ "$ref": "#/definitions/zillow.PropertyAgent"
+ },
+ "type": "array"
+ },
+ "attribution_text": {
+ "description": "Attribution or disclaimer text Zillow shows for the listing source.",
+ "type": "string"
+ },
+ "broker_name": {
+ "description": "Name of the brokerage that holds the listing.",
+ "type": "string"
+ },
+ "broker_phone": {
+ "description": "Phone number of the brokerage, as shown on the listing.",
+ "type": "string"
+ },
+ "date_posted": {
+ "description": "Date the listing was posted.",
+ "type": "string"
+ },
+ "date_updated": {
+ "description": "Date the listing was last updated.",
+ "type": "string"
+ },
+ "days_on_zillow": {
+ "description": "Number of days the listing has been on Zillow.",
+ "type": "integer"
+ },
+ "listing_id": {
+ "description": "Identifier of the listing, as Zillow returns it.",
+ "type": "string"
+ },
+ "mls_id": {
+ "description": "MLS number of the listing.",
+ "type": "string"
+ },
+ "open_houses": {
+ "description": "Scheduled open houses for the listing.",
+ "items": {
+ "$ref": "#/definitions/zillow.PropertyOpenHouse"
+ },
+ "type": "array"
+ },
+ "provider": {
+ "description": "Name of the provider that supplied the listing, as Zillow gives it.",
+ "type": "string"
+ },
+ "provider_listing_id": {
+ "description": "Listing id assigned by the listing provider.",
+ "type": "string"
+ },
+ "source": {
+ "description": "Source of the listing, such as the MLS name, as Zillow gives it.",
+ "type": "string"
+ },
+ "status": {
+ "description": "Listing status, as Zillow labels it, such as `FOR_SALE`.",
+ "type": "string"
+ },
+ "sub_types": {
+ "description": "Listing subtypes that apply to the listing, such as `is_FSBA`.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "time_on_zillow": {
+ "description": "How long the listing has been on Zillow, as text such as `9 days`.",
+ "type": "string"
+ },
+ "type": {
+ "description": "Listing type, as Zillow labels it.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zillow.PropertyMedia": {
+ "properties": {
+ "has_3d_model": {
+ "description": "Whether the listing has a 3D tour model.",
+ "type": "boolean"
+ },
+ "has_video": {
+ "description": "Whether the listing has a video.",
+ "type": "boolean"
+ },
+ "photo_count": {
+ "description": "Number of photos on the listing.",
+ "type": "integer"
+ },
+ "photos": {
+ "description": "Photos of the listing with their sizes.",
+ "items": {
+ "$ref": "#/definitions/zillow.PropertyPhoto"
+ },
+ "type": "array"
+ },
+ "primary_image": {
+ "description": "URL of the main listing photo.",
+ "type": "string"
+ },
+ "video_url": {
+ "description": "URL of the listing video.",
+ "type": "string"
+ },
+ "virtual_tour_url": {
+ "description": "URL of the virtual tour of the property.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zillow.PropertyNearby": {
+ "properties": {
+ "address": {
+ "description": "Address of the nearby home.",
+ "type": "string"
+ },
+ "baths": {
+ "description": "Number of bathrooms in the nearby home.",
+ "type": "number"
+ },
+ "beds": {
+ "description": "Number of bedrooms in the nearby home.",
+ "type": "number"
+ },
+ "home_status": {
+ "description": "Listing status of the nearby home, as Zillow labels it.",
+ "type": "string"
+ },
+ "living_area": {
+ "description": "Interior living area of the nearby home.",
+ "type": "number"
+ },
+ "price": {
+ "description": "Price of the nearby home, as a number.",
+ "type": "number"
+ },
+ "price_text": {
+ "description": "Price of the nearby home, as text shown by Zillow.",
+ "type": "string"
+ },
+ "url": {
+ "description": "Zillow page URL of the nearby home.",
+ "type": "string"
+ },
+ "zpid": {
+ "description": "Zillow property id of the nearby home. Use it with the property endpoint.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zillow.PropertyOpenHouse": {
+ "properties": {
+ "end_time": {
+ "description": "End time of the open house.",
+ "type": "string"
+ },
+ "start_time": {
+ "description": "Start time of the open house.",
+ "type": "string"
+ },
+ "text": {
+ "description": "Open house time as Zillow shows it, for example `Sun 1-4 PM`.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zillow.PropertyPhoto": {
+ "properties": {
+ "height": {
+ "description": "Photo height in pixels.",
+ "type": "integer"
+ },
+ "source": {
+ "description": "Source or caption of the photo, as Zillow gives it.",
+ "type": "string"
+ },
+ "url": {
+ "description": "URL of the photo.",
+ "type": "string"
+ },
+ "width": {
+ "description": "Photo width in pixels.",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "zillow.PropertyPriceHistoryEntry": {
+ "properties": {
+ "buyer_agent": {
+ "description": "Name of the buyer's agent for the event.",
+ "type": "string"
+ },
+ "change": {
+ "description": "Price change at this event, as Zillow reports it.",
+ "type": "number"
+ },
+ "date": {
+ "description": "Date of the price event.",
+ "type": "string"
+ },
+ "event": {
+ "description": "Kind of price event, such as `Listed for sale`.",
+ "type": "string"
+ },
+ "price": {
+ "description": "Price at this event, as a number.",
+ "type": "number"
+ },
+ "price_text": {
+ "description": "Price at this event, as text shown by Zillow.",
+ "type": "string"
+ },
+ "seller_agent": {
+ "description": "Name of the seller's agent for the event.",
+ "type": "string"
+ },
+ "source": {
+ "description": "Data source that reported the event, such as an MLS name.",
+ "type": "string"
+ },
+ "time": {
+ "description": "Time of the price event, as the numeric timestamp Zillow gives.",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "zillow.PropertyPricing": {
+ "properties": {
+ "currency": {
+ "description": "Currency of the price, as Zillow shows it.",
+ "type": "string"
+ },
+ "estimated_monthly_payment": {
+ "description": "Estimated monthly mortgage payment for the property.",
+ "type": "number"
+ },
+ "monthly_hoa_fee": {
+ "description": "Monthly homeowners association fee.",
+ "type": "number"
+ },
+ "price": {
+ "description": "Listing price, as a number.",
+ "type": "number"
+ },
+ "price_per_square_foot": {
+ "description": "Listing price per square foot.",
+ "type": "number"
+ },
+ "price_text": {
+ "description": "Listing price as text shown by Zillow.",
+ "type": "string"
+ },
+ "property_tax_rate": {
+ "description": "Property tax rate, as Zillow reports it.",
+ "type": "number"
+ },
+ "rent_zestimate": {
+ "description": "Zillow's estimated monthly rent for the property (Rent Zestimate).",
+ "type": "number"
+ },
+ "zestimate": {
+ "description": "Zillow's estimated market value of the property (Zestimate).",
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "zillow.PropertyResponse": {
+ "properties": {
+ "address": {
+ "description": "Full address of the property.",
+ "type": "string"
+ },
+ "address_parts": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/zillow.PropertyAddressParts"
+ }
+ ],
+ "description": "Address of the property split into street, city, state, ZIP code and similar parts."
+ },
+ "baths": {
+ "description": "Number of bathrooms.",
+ "type": "number"
+ },
+ "beds": {
+ "description": "Number of bedrooms.",
+ "type": "number"
+ },
+ "broker_name": {
+ "description": "Name of the brokerage that holds the listing.",
+ "type": "string"
+ },
+ "currency": {
+ "description": "Currency of the price, as Zillow shows it.",
+ "type": "string"
+ },
+ "days_on_zillow": {
+ "description": "Number of days the listing has been on Zillow.",
+ "type": "integer"
+ },
+ "description": {
+ "description": "Listing description text.",
+ "type": "string"
+ },
+ "detail_text": {
+ "description": "Short detail text Zillow shows with the listing.",
+ "type": "string"
+ },
+ "facts": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/zillow.PropertyFacts"
+ }
+ ],
+ "description": "Structured facts about the home, such as size, rooms, parking, heating and tax."
+ },
+ "has_3d_model": {
+ "description": "Whether the listing has a 3D tour model.",
+ "type": "boolean"
+ },
+ "has_video": {
+ "description": "Whether the listing has a video.",
+ "type": "boolean"
+ },
+ "history": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/zillow.PropertyHistory"
+ }
+ ],
+ "description": "Price and tax history of the property."
+ },
+ "home_status": {
+ "description": "Listing status in Zillow's terms, such as `FOR_SALE` or `FOR_RENT`.",
+ "type": "string"
+ },
+ "home_type": {
+ "description": "Property type, as Zillow labels it, such as `SINGLE_FAMILY`.",
+ "type": "string"
+ },
+ "image": {
+ "description": "URL of the main listing photo.",
+ "type": "string"
+ },
+ "is_showcase": {
+ "description": "Whether Zillow shows the listing as a showcase listing.",
+ "type": "boolean"
+ },
+ "latitude": {
+ "description": "Latitude of the property, in decimal degrees.",
+ "type": "number"
+ },
+ "listing": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/zillow.PropertyListing"
+ }
+ ],
+ "description": "Listing details: identifiers, source, broker, agents, dates and open houses."
+ },
+ "listing_sub_type": {
+ "description": "Listing subtypes that apply to the listing, such as `is_FSBA`.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "living_area": {
+ "description": "Interior living area in square feet.",
+ "type": "number"
+ },
+ "longitude": {
+ "description": "Longitude of the property, in decimal degrees.",
+ "type": "number"
+ },
+ "lot_area": {
+ "description": "Lot size, in the unit given by `lot_area_unit`.",
+ "type": "number"
+ },
+ "lot_area_unit": {
+ "description": "Unit of `lot_area`, as Zillow gives it.",
+ "type": "string"
+ },
+ "media": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/zillow.PropertyMedia"
+ }
+ ],
+ "description": "Photos, video and tour links of the listing."
+ },
+ "nearby": {
+ "description": "Compact summaries of nearby homes.",
+ "items": {
+ "$ref": "#/definitions/zillow.PropertyNearby"
+ },
+ "type": "array"
+ },
+ "photos": {
+ "description": "URLs of the listing photos.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "price": {
+ "description": "Listing price, as a number. The text Zillow shows is in `price_text`.",
+ "type": "number"
+ },
+ "price_text": {
+ "description": "Listing price as text shown by Zillow, such as `$1,000,000` or `Contact Landlord`.",
+ "type": "string"
+ },
+ "pricing": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/zillow.PropertyPricing"
+ }
+ ],
+ "description": "Price, estimates, fees and monthly payment of the property."
+ },
+ "rent_zestimate": {
+ "description": "Zillow's estimated monthly rent for the home (Rent Zestimate).",
+ "type": "number"
+ },
+ "schools": {
+ "description": "Schools assigned to or near the property.",
+ "items": {
+ "$ref": "#/definitions/zillow.PropertySchool"
+ },
+ "type": "array"
+ },
+ "status_text": {
+ "description": "Status label shown on the listing, such as `House for sale`.",
+ "type": "string"
+ },
+ "url": {
+ "description": "Zillow page URL of the listing.",
+ "type": "string"
+ },
+ "zestimate": {
+ "description": "Zillow's estimated market value of the home (Zestimate).",
+ "type": "number"
+ },
+ "zpid": {
+ "description": "Zillow property id. Use it with the property endpoint. Rental building rows carry a `latitude--longitude` identifier instead.",
+ "example": "12345678",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zillow.PropertySchool": {
+ "properties": {
+ "assigned": {
+ "description": "Whether the school is assigned to the property's address.",
+ "type": "boolean"
+ },
+ "distance": {
+ "description": "Distance from the property to the school, as Zillow reports it.",
+ "type": "number"
+ },
+ "district": {
+ "description": "Name of the school district.",
+ "type": "string"
+ },
+ "grades": {
+ "description": "Grades the school serves, such as `K-5`.",
+ "type": "string"
+ },
+ "id": {
+ "description": "Identifier of the school, as Zillow returns it.",
+ "type": "string"
+ },
+ "level": {
+ "description": "School level, such as `Elementary`.",
+ "type": "string"
+ },
+ "link": {
+ "description": "Zillow page URL of the school.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Name of the school.",
+ "type": "string"
+ },
+ "rating": {
+ "description": "School rating, as Zillow shows it.",
+ "type": "number"
+ },
+ "type": {
+ "description": "School type, such as `Public`.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zillow.PropertyTaxHistoryEntry": {
+ "properties": {
+ "tax_increase": {
+ "description": "Rate of increase in tax paid, as Zillow reports it.",
+ "type": "number"
+ },
+ "tax_paid": {
+ "description": "Property tax paid for the year.",
+ "type": "number"
+ },
+ "time": {
+ "description": "Time of the tax record, as the numeric timestamp Zillow gives.",
+ "type": "integer"
+ },
+ "value": {
+ "description": "Assessed value of the property for the year.",
+ "type": "number"
+ },
+ "value_increase": {
+ "description": "Rate of increase in assessed value, as Zillow reports it.",
+ "type": "number"
+ },
+ "year": {
+ "description": "Tax year of the record.",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "zillow.RentalUnit": {
+ "properties": {
+ "beds": {
+ "description": "Number of bedrooms of this unit tier. `0` means a studio.",
+ "example": 1,
+ "type": "number"
+ },
+ "price": {
+ "description": "Starting monthly rent of this unit tier.",
+ "example": 2657,
+ "type": "number"
+ },
+ "price_text": {
+ "description": "Starting rent of this unit tier as shown by Zillow, such as `$2,657+`.",
+ "example": "$2,657+",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zillow.SearchItem": {
+ "properties": {
+ "address": {
+ "description": "Full address of the property.",
+ "type": "string"
+ },
+ "availability_count": {
+ "description": "Number of units currently available in the rental building.",
+ "example": 6,
+ "type": "integer"
+ },
+ "baths": {
+ "description": "Number of bathrooms.",
+ "type": "number"
+ },
+ "beds": {
+ "description": "Number of bedrooms.",
+ "type": "number"
+ },
+ "broker_name": {
+ "description": "Name of the brokerage that holds the listing.",
+ "type": "string"
+ },
+ "building_name": {
+ "description": "Name of the rental building, such as an apartment community.",
+ "example": "The Pointe at Warner Center",
+ "type": "string"
+ },
+ "currency": {
+ "description": "Currency of the price, as Zillow shows it.",
+ "type": "string"
+ },
+ "days_on_zillow": {
+ "description": "Number of days the listing has been on Zillow.",
+ "type": "integer"
+ },
+ "detail_text": {
+ "description": "Short detail text Zillow shows with the listing.",
+ "type": "string"
+ },
+ "has_3d_model": {
+ "description": "Whether the listing has a 3D tour model.",
+ "type": "boolean"
+ },
+ "has_video": {
+ "description": "Whether the listing has a video.",
+ "type": "boolean"
+ },
+ "home_status": {
+ "description": "Listing status in Zillow's terms, such as `FOR_SALE` or `FOR_RENT`.",
+ "type": "string"
+ },
+ "home_type": {
+ "description": "Property type, as Zillow labels it, such as `SINGLE_FAMILY`.",
+ "type": "string"
+ },
+ "image": {
+ "description": "URL of the main listing photo.",
+ "type": "string"
+ },
+ "is_building": {
+ "description": "Whether the row is a rental building rather than a single listing.",
+ "example": true,
+ "type": "boolean"
+ },
+ "is_showcase": {
+ "description": "Whether Zillow shows the listing as a showcase listing.",
+ "type": "boolean"
+ },
+ "latitude": {
+ "description": "Latitude of the property, in decimal degrees.",
+ "type": "number"
+ },
+ "listing_sub_type": {
+ "description": "Listing subtypes that apply to the listing, such as `is_FSBA`.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "living_area": {
+ "description": "Interior living area in square feet.",
+ "type": "number"
+ },
+ "longitude": {
+ "description": "Longitude of the property, in decimal degrees.",
+ "type": "number"
+ },
+ "lot_area": {
+ "description": "Lot size, in the unit given by `lot_area_unit`.",
+ "type": "number"
+ },
+ "lot_area_unit": {
+ "description": "Unit of `lot_area`, as Zillow gives it.",
+ "type": "string"
+ },
+ "photos": {
+ "description": "URLs of the listing photos.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "price": {
+ "description": "Listing price, as a number. The text Zillow shows is in `price_text`.",
+ "type": "number"
+ },
+ "price_max": {
+ "description": "Highest monthly rent in the rental building.",
+ "example": 3157,
+ "type": "number"
+ },
+ "price_text": {
+ "description": "Listing price as text shown by Zillow, such as `$1,000,000` or `Contact Landlord`.",
+ "type": "string"
+ },
+ "rent_zestimate": {
+ "description": "Zillow's estimated monthly rent for the home (Rent Zestimate).",
+ "type": "number"
+ },
+ "status_text": {
+ "description": "Status label shown on the listing, such as `House for sale`.",
+ "type": "string"
+ },
+ "units": {
+ "description": "Unit tiers of the rental building, one per bedroom count, with starting rent.",
+ "items": {
+ "$ref": "#/definitions/zillow.RentalUnit"
+ },
+ "type": "array"
+ },
+ "url": {
+ "description": "Zillow page URL of the listing.",
+ "type": "string"
+ },
+ "zestimate": {
+ "description": "Zillow's estimated market value of the home (Zestimate).",
+ "type": "number"
+ },
+ "zpid": {
+ "description": "Zillow property id. Use it with the property endpoint. Rental building rows carry a `latitude--longitude` identifier instead.",
+ "example": "12345678",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zillow.SearchResponse": {
+ "properties": {
+ "location": {
+ "description": "Location that was searched.",
+ "example": "San Francisco, CA",
+ "type": "string"
+ },
+ "page": {
+ "description": "Page number returned.",
+ "example": 1,
+ "type": "integer"
+ },
+ "results": {
+ "description": "Listings and rental buildings matching the search.",
+ "items": {
+ "$ref": "#/definitions/zillow.SearchItem"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "zomato.CitiesResponse": {
+ "properties": {
+ "cities": {
+ "items": {
+ "$ref": "#/definitions/zomato.City"
+ },
+ "type": "array"
+ },
+ "total": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "zomato.City": {
+ "properties": {
+ "name": {
+ "description": "Name is Zomato's own display name for the city (e.g. \"Bengaluru\",\n\"Delhi NCR\") -- not always the same word as Slug.",
+ "example": "Mumbai",
+ "type": "string"
+ },
+ "slug": {
+ "description": "Slug is the public Zomato city slug -- the value the `city` param on\nzomato-search/zomato-collections and the first path segment of every\nrestaurant/collection URL this family returns use. Not always a\nlower-cased version of Name -- e.g. \"Delhi NCR\" is slug \"ncr\".",
+ "example": "mumbai",
+ "type": "string"
+ },
+ "url": {
+ "description": "URL is the city's canonical public Zomato page.",
+ "example": "https://www.zomato.com/mumbai",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zomato.CollectionResponse": {
+ "properties": {
+ "description": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "num_places": {
+ "type": "string"
+ },
+ "restaurants": {
+ "items": {
+ "$ref": "#/definitions/zomato.CollectionRestaurant"
+ },
+ "type": "array"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zomato.CollectionRestaurant": {
+ "properties": {
+ "cuisines": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "id": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "locality": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "rating": {
+ "type": "number"
+ },
+ "rating_count": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zomato.CollectionSummary": {
+ "properties": {
+ "image_url": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "num_places": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zomato.CollectionsResponse": {
+ "properties": {
+ "city": {
+ "type": "string"
+ },
+ "collections": {
+ "items": {
+ "$ref": "#/definitions/zomato.CollectionSummary"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "zomato.MenuCategory": {
+ "properties": {
+ "items": {
+ "items": {
+ "$ref": "#/definitions/zomato.MenuItem"
+ },
+ "type": "array"
+ },
+ "name": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zomato.MenuItem": {
+ "properties": {
+ "description": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "is_veg": {
+ "type": "boolean"
+ },
+ "name": {
+ "type": "string"
+ },
+ "price": {
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "zomato.MenuResponse": {
+ "properties": {
+ "categories": {
+ "items": {
+ "$ref": "#/definitions/zomato.MenuCategory"
+ },
+ "type": "array"
+ },
+ "restaurant": {
+ "$ref": "#/definitions/zomato.RestaurantResponse"
+ }
+ },
+ "type": "object"
+ },
+ "zomato.OpeningHours": {
+ "properties": {
+ "days": {
+ "type": "string"
+ },
+ "timing": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zomato.RestaurantCard": {
+ "properties": {
+ "address": {
+ "type": "string"
+ },
+ "cost_for_two": {
+ "type": "string"
+ },
+ "cuisines": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "delivery_time": {
+ "description": "DeliveryTime is Zomato's own delivery ETA (e.g. \"38 min\"), present\non results that carry its delivery-order metadata. Both search\nsources carry it but in different display shapes -- the city-wide\nlisting serves a bare \"38 min\", keyword search a prefixed\n\"Delivery in 38 min\" -- so it is normalized to the bare form (see\nnormalizeDeliveryTime). Absent for a restaurant Zomato is not\ncurrently delivering from.",
+ "type": "string"
+ },
+ "distance": {
+ "description": "Distance is Zomato's own display distance from the resolved city\nlocation to the restaurant (e.g. \"1.2 km\"). Present on both search\npaths.",
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "is_promoted": {
+ "description": "IsPromoted reports whether Zomato itself labels this a promoted\n(sponsored) placement rather than an organic result.",
+ "type": "boolean"
+ },
+ "is_serviceable": {
+ "description": "IsServiceable reports whether Zomato will currently deliver here\nfrom the resolved location. A pointer so a source that does not\ncarry the flag omits it rather than reporting a false \"not\nserviceable\".",
+ "type": "boolean"
+ },
+ "locality": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "offers": {
+ "description": "Offers carries Zomato's own headline offer badges for this\nrestaurant (e.g. \"50% OFF\", \"₹100 OFF\"). Only the city-wide listing\ncarries them -- keyword search results do not.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "rating": {
+ "type": "number"
+ },
+ "rating_count": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zomato.RestaurantDelivery": {
+ "properties": {
+ "has_online_ordering": {
+ "type": "boolean"
+ },
+ "is_serviceable": {
+ "type": "boolean"
+ },
+ "min_order_amount": {
+ "type": "number"
+ },
+ "pickup_available": {
+ "type": "boolean"
+ },
+ "time": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zomato.RestaurantRatings": {
+ "properties": {
+ "delivery": {
+ "$ref": "#/definitions/zomato.SplitRating"
+ },
+ "dining": {
+ "$ref": "#/definitions/zomato.SplitRating"
+ }
+ },
+ "type": "object"
+ },
+ "zomato.RestaurantResponse": {
+ "properties": {
+ "address": {
+ "type": "string"
+ },
+ "city": {
+ "description": "City/Zipcode/Country/Latitude/Longitude come from the same contact\nsection Address and Locality already do -- Zipcode is frequently\nblank or \"0\" upstream and is omitted when it is.",
+ "type": "string"
+ },
+ "country": {
+ "type": "string"
+ },
+ "cuisines": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "delivery": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/zomato.RestaurantDelivery"
+ }
+ ],
+ "description": "Delivery is present only when Zomato carries delivery metadata for\nthis restaurant."
+ },
+ "id": {
+ "type": "string"
+ },
+ "image_url": {
+ "type": "string"
+ },
+ "is_dark_kitchen": {
+ "type": "boolean"
+ },
+ "is_delivery_only": {
+ "description": "IsDeliveryOnly marks a kitchen Zomato lists for delivery only (no\ndining), IsDarkKitchen a delivery-only kitchen with no storefront at\nall, and the two closed flags Zomato's own temporary/permanent\nclosure states.",
+ "type": "boolean"
+ },
+ "is_permanently_closed": {
+ "type": "boolean"
+ },
+ "is_temporarily_closed": {
+ "type": "boolean"
+ },
+ "latitude": {
+ "type": "number"
+ },
+ "locality": {
+ "type": "string"
+ },
+ "longitude": {
+ "type": "number"
+ },
+ "name": {
+ "type": "string"
+ },
+ "opening_hours": {
+ "description": "OpeningHours is the full weekly table behind the single-line Timing\nstring above.",
+ "items": {
+ "$ref": "#/definitions/zomato.OpeningHours"
+ },
+ "type": "array"
+ },
+ "phone": {
+ "type": "string"
+ },
+ "rating": {
+ "type": "number"
+ },
+ "rating_count": {
+ "type": "string"
+ },
+ "ratings": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/zomato.RestaurantRatings"
+ }
+ ],
+ "description": "Ratings splits the single headline Rating above into Zomato's own\nseparately-aggregated dining and delivery figures."
+ },
+ "status_text": {
+ "type": "string"
+ },
+ "timing": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "zipcode": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zomato.SearchResponse": {
+ "properties": {
+ "city": {
+ "type": "string"
+ },
+ "has_more": {
+ "type": "boolean"
+ },
+ "next_cursor": {
+ "type": "string"
+ },
+ "query": {
+ "type": "string"
+ },
+ "restaurants": {
+ "items": {
+ "$ref": "#/definitions/zomato.RestaurantCard"
+ },
+ "type": "array"
+ },
+ "total_results": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "zomato.SplitRating": {
+ "properties": {
+ "rating": {
+ "type": "number"
+ },
+ "review_count": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "zomato.citiesResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/zomato.CitiesResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "zomato.collectionResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/zomato.CollectionResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "zomato.collectionsResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/zomato.CollectionsResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "zomato.menuResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/zomato.MenuResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "zomato.restaurantResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/zomato.RestaurantResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ },
+ "zomato.searchResponseDoc": {
+ "properties": {
+ "code": {
+ "description": "Code is the HTTP status code or a custom code used to indicate the result of the request\n@example 200",
+ "type": "integer"
+ },
+ "data": {
+ "$ref": "#/definitions/zomato.SearchResponse"
+ },
+ "msg": {
+ "description": "Msg is the message that describes the result of the request\n@example \"Request successful\""
+ }
+ },
+ "type": "object"
+ }
+ },
+ "host": "api.crawlora.net",
+ "info": {
+ "contact": {
+ "email": "support@crawlora.net",
+ "name": "API Support",
+ "url": "https://crawlora.net"
+ },
+ "description": "Crawlora is a hosted web-data and SERP API: call documented REST endpoints and get normalized JSON instead of HTML to parse — across search/SERP, maps and local, e-commerce, app stores, social, media and finance. One API key; Crawlora runs the proxy rotation, headless browsers and parsing behind the scenes. Billed pay-on-success: charged only on a successful 2xx response, 1-10 credits per call, with a free tier of 2,000 credits per month and no card. A hosted MCP server (mcp.crawlora.net/mcp) exposes the same catalog as agent tools. Search endpoints accept `q` as a universal alias for whichever search-term parameter they document (`query`, `term`, `keyword`, or Amazon's `k`), so one parameter name works across the whole catalog; an explicitly supplied documented name always wins.",
+ "license": {
"name": "Crawlora Terms of Service",
"url": "https://crawlora.net/terms"
},
- "termsOfService": "https://crawlora.net/terms",
- "title": "Crawlora API",
- "version": "1.2",
- "x-logo": {
- "altText": "Crawlora",
- "backgroundColor": "#FFFFFF",
- "url": "https://raw.githubusercontent.com/Crawlora-org/crawlora-mcp/main/assets/logo-400x400.png"
- }
- },
- "paths": {
- "/1stdibs/categories": {
+ "termsOfService": "https://crawlora.net/terms",
+ "title": "Crawlora API",
+ "version": "1.2",
+ "x-logo": {
+ "altText": "Crawlora",
+ "backgroundColor": "#FFFFFF",
+ "url": "https://raw.githubusercontent.com/Crawlora-org/crawlora-mcp/main/assets/logo-400x400.png"
+ }
+ },
+ "paths": {
+ "/1stdibs/categories": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the live handbags category directory, sort keys, price presets, and filter values discovered from 1stDibs. Returned category slugs are valid for firstdibs-search.",
+ "operationId": "firstdibs-categories",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/firstdibs.categoriesDoc"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "List 1stDibs categories and filters",
+ "tags": [
+ "1stDibs"
+ ]
+ }
+ },
+ "/1stdibs/designers": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Lists the designer filter values found on a 1stDibs category page, with a `count` and, for each designer, its `name`, `slug` and `url`. `category` is optional and comes from `firstdibs-categories`. Each `slug` can be used as the designer filter in `firstdibs-search`.",
+ "operationId": "firstdibs-designers",
+ "parameters": [
+ {
+ "description": "Category slug from firstdibs-categories",
+ "in": "query",
+ "name": "category",
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/firstdibs.designersDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "List 1stDibs designers",
+ "tags": [
+ "1stDibs"
+ ]
+ }
+ },
+ "/1stdibs/product": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the details of one 1stDibs product, identified by its product `url`: `name`, `brand`, `category`, `description`, `images`, `price` with `currency`, and the `in_stock` flag. The price is in USD and is present only when 1stDibs shows one.",
+ "operationId": "firstdibs-product",
+ "parameters": [
+ {
+ "description": "1stDibs product URL",
+ "in": "query",
+ "name": "url",
+ "required": true,
+ "type": "string",
+ "x-example": "https://www.1stdibs.com/jewelry/necklaces/chain-necklaces/vintage-gucci-necklace-double-g-gucci-logo-sterling-silver-pendant/id-j_29181182/"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/firstdibs.productDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get a 1stDibs product",
+ "tags": [
+ "1stDibs"
+ ]
+ }
+ },
+ "/1stdibs/search": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Searches or browses 1stDibs handbags and purses with category, designer, price, sale, color, period, location, gender, origin, seller, and sort filters.",
+ "operationId": "firstdibs-search",
+ "parameters": [
+ {
+ "description": "Free-text search",
+ "in": "query",
+ "name": "q",
+ "type": "string"
+ },
+ {
+ "description": "Category slug from firstdibs-categories",
+ "in": "query",
+ "name": "category",
+ "type": "string"
+ },
+ {
+ "description": "Designer slug from firstdibs-designers",
+ "in": "query",
+ "name": "designer",
+ "type": "string"
+ },
+ {
+ "description": "Color value",
+ "in": "query",
+ "name": "color",
+ "type": "string"
+ },
+ {
+ "description": "Period value",
+ "in": "query",
+ "name": "period",
+ "type": "string"
+ },
+ {
+ "description": "Item location",
+ "in": "query",
+ "name": "location",
+ "type": "string"
+ },
+ {
+ "description": "Gender value",
+ "in": "query",
+ "name": "gender",
+ "type": "string"
+ },
+ {
+ "description": "Place-of-origin value",
+ "in": "query",
+ "name": "origin",
+ "type": "string"
+ },
+ {
+ "description": "Price preset",
+ "enum": [
+ "all price",
+ "[* TO 999]",
+ "[* TO 1999]",
+ "[* TO 4999]",
+ "[5000 TO *]"
+ ],
+ "in": "query",
+ "name": "price",
+ "type": "string"
+ },
+ {
+ "description": "Minimum price",
+ "in": "query",
+ "name": "price_min",
+ "type": "number"
+ },
+ {
+ "description": "Maximum price",
+ "in": "query",
+ "name": "price_max",
+ "type": "number"
+ },
+ {
+ "description": "On-sale listings only",
+ "in": "query",
+ "name": "on_sale",
+ "type": "boolean"
+ },
+ {
+ "description": "Listings with measurements",
+ "in": "query",
+ "name": "measurements",
+ "type": "boolean"
+ },
+ {
+ "description": "Listings added this week",
+ "in": "query",
+ "name": "this_week",
+ "type": "boolean"
+ },
+ {
+ "description": "Returnable items only",
+ "in": "query",
+ "name": "returnable",
+ "type": "boolean"
+ },
+ {
+ "description": "Recognized seller listings only",
+ "in": "query",
+ "name": "recognized_seller",
+ "type": "boolean"
+ },
+ {
+ "description": "Top seller listings only",
+ "in": "query",
+ "name": "top_seller",
+ "type": "boolean"
+ },
+ {
+ "description": "Sort",
+ "enum": [
+ "recommended",
+ "newest",
+ "price-high",
+ "price-low",
+ "popular"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "default": 1,
+ "description": "1-based page",
+ "in": "query",
+ "minimum": 1,
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "default": 60,
+ "description": "Results per page",
+ "enum": [
+ 60,
+ 120
+ ],
+ "in": "query",
+ "name": "per_page",
+ "type": "integer"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/firstdibs.searchDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Search 1stDibs listings",
+ "tags": [
+ "1stDibs"
+ ]
+ }
+ },
+ "/7now/catalog": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns one 7NOW store's browsable category list, a paginated item listing per catalog section (each with real per-item pricing, active promotions, calories, UPC and image), and a live active/out-of-stock inventory count for that store. store_id comes from GET /7now/stores; lat and lon are accepted but inert (store_id alone selects the store). The catalog is genuinely store-scoped, not a national price list. skip/limit page every item section uniformly (limit is capped at 50, defaults to 20).",
+ "operationId": "7now-catalog",
+ "parameters": [
+ {
+ "description": "7NOW store id, from GET /7now/stores.",
+ "in": "query",
+ "name": "store_id",
+ "required": true,
+ "type": "string",
+ "x-example": "39226"
+ },
+ {
+ "description": "Accepted but inert -- store_id alone selects the store; responses are byte-identical with any value or none. Forwarded upstream for fidelity with 7now.com's own client.",
+ "in": "query",
+ "name": "lat",
+ "type": "number",
+ "x-example": 40.747508
+ },
+ {
+ "description": "Accepted but inert -- see lat.",
+ "in": "query",
+ "name": "lon",
+ "type": "number",
+ "x-example": -73.989099
+ },
+ {
+ "description": "Pagination offset, applied uniformly to every catalog section. Defaults to 0.",
+ "in": "query",
+ "name": "skip",
+ "type": "integer",
+ "x-example": 0
+ },
+ {
+ "description": "Max items returned per catalog section, 1-50. Defaults to 20.",
+ "in": "query",
+ "name": "limit",
+ "type": "integer",
+ "x-example": 20
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/sevennow.catalogResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get one 7NOW store's live product catalog",
+ "tags": [
+ "7NOW"
+ ]
+ }
+ },
+ "/7now/categories": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Enumerates every value GET /7now/category accepts for a store, so callers do not have to pull the full catalog to discover them. 7NOW has two disjoint id spaces behind that one parameter: `departments` are the store's 10 permanent browsable departments (Fresh Food, Drinks, Snacks, Candy, Ice Cream, Beer & Seltzer, Tobacco, Grocery, Household, Personal Care), and `shelves` are the merchandising rows the homepage currently features (\"$2 Deals\", \"What's New\", \"Only At 7-Eleven\", seasonal ones). Both work as category_id. Shelves rotate with promotions and seasons, so re-read them rather than caching ids long-term. store_id comes from GET /7now/stores; lat and lon are accepted but inert (store_id alone selects the store).",
+ "operationId": "7now-categories",
+ "parameters": [
+ {
+ "description": "7NOW store id, from GET /7now/stores.",
+ "in": "query",
+ "name": "store_id",
+ "required": true,
+ "type": "string",
+ "x-example": "39640"
+ },
+ {
+ "description": "Accepted but inert -- store_id alone selects the store; responses are byte-identical with any value or none. Forwarded upstream for fidelity with 7now.com's own client.",
+ "in": "query",
+ "name": "lat",
+ "type": "number",
+ "x-example": 40.712775
+ },
+ {
+ "description": "Accepted but inert -- see lat.",
+ "in": "query",
+ "name": "lon",
+ "type": "number",
+ "x-example": -74.005973
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/sevennow.categoriesResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "List every category id one 7NOW store accepts",
+ "tags": [
+ "7NOW"
+ ]
+ }
+ },
+ "/7now/category": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns one 7NOW store's top-level category broken into its real subcategory groups (e.g. Fresh Food -> Pizza, Wings & Chicken Bites, Subs & Sandwiches, ...), each with its own paginated, priced item list and live availability, plus a category-wide availability summary. Complements GET /7now/catalog, whose per-category section is a single flat list -- this is the same data organized the way 7now.com's own category page groups it. store_id comes from GET /7now/stores and category_id from GET /7now/categories -- which accepts both the store's permanent departments and the merchandising shelves its homepage features, since 7NOW uses one parameter for two id spaces. An invalid or empty category_id returns a normal 200 with an empty subcategories array, not an error.",
+ "operationId": "7now-category",
+ "parameters": [
+ {
+ "description": "7NOW store id, from GET /7now/stores.",
+ "in": "query",
+ "name": "store_id",
+ "required": true,
+ "type": "string",
+ "x-example": "39226"
+ },
+ {
+ "description": "Category id, from GET /7now/categories -- either a department or a merchandising shelf.",
+ "in": "query",
+ "name": "category_id",
+ "required": true,
+ "type": "string",
+ "x-example": "48423"
+ },
+ {
+ "description": "Restrict to one subcategory group by exact name (from a prior call's subcategories[].name).",
+ "in": "query",
+ "name": "subcategory",
+ "type": "string",
+ "x-example": "Pizza"
+ },
+ {
+ "description": "Pagination offset, applied uniformly to every subcategory group. Defaults to 0.",
+ "in": "query",
+ "name": "skip",
+ "type": "integer",
+ "x-example": 0
+ },
+ {
+ "description": "Max items returned per subcategory group, 1-50. Defaults to 20.",
+ "in": "query",
+ "name": "limit",
+ "type": "integer",
+ "x-example": 20
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/sevennow.categoryResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Browse one 7NOW store's category by subcategory",
+ "tags": [
+ "7NOW"
+ ]
+ }
+ },
+ "/7now/combo": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Expands one bundle deal into its structure: each pick-from group's name, how many items the shopper picks from it, and every eligible item with live pricing and availability -- e.g. the \"$6.99 Pizza\" bundle returns one group, \"Eligible Whole Pizzas\", holding six priced pizzas. Also returns the bundle's shopper-facing headline and full legal terms. promo_id comes from GET /7now/combos' combos[].promo_id, and store_id from GET /7now/stores. The upstream also accepts a plain item-discount promotion id but answers one with unnamed groups -- for those, GET /7now/promotion's flat item list is the right endpoint. An unknown promo_id returns 404.",
+ "operationId": "7now-combo",
+ "parameters": [
+ {
+ "description": "Promotion id, from GET /7now/combos' combos[].promo_id.",
+ "in": "query",
+ "name": "promo_id",
+ "required": true,
+ "type": "string",
+ "x-example": "6a849a8fa1df2409010c719f"
+ },
+ {
+ "description": "7NOW store id, from GET /7now/stores.",
+ "in": "query",
+ "name": "store_id",
+ "required": true,
+ "type": "string",
+ "x-example": "39640"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/sevennow.comboResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get one 7NOW bundle deal's pick-from groups",
+ "tags": [
+ "7NOW"
+ ]
+ }
+ },
+ "/7now/combos": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Lists every bundle deal a store offers -- 7NOW's combo-builder products, where a fixed price buys one item from each of several groups (e.g. \"$6.99 Pizza\", \"Bone In Wing Combo\"). GET /7now/search surfaces a combo only when a query happens to match one, so this is the only way to enumerate a store's bundles. Each entry carries the promotion id behind it: pass it to GET /7now/combo for the actual pick-from groups, or to GET /7now/promotion for a flat list of every eligible item. store_id comes from GET /7now/stores; lat and lon are accepted but inert (store_id alone selects the store).",
+ "operationId": "7now-combos",
+ "parameters": [
+ {
+ "description": "7NOW store id, from GET /7now/stores.",
+ "in": "query",
+ "name": "store_id",
+ "required": true,
+ "type": "string",
+ "x-example": "39640"
+ },
+ {
+ "description": "Accepted but inert -- store_id alone selects the store; responses are byte-identical with any value or none. Forwarded upstream for fidelity with 7now.com's own client.",
+ "in": "query",
+ "name": "lat",
+ "type": "number",
+ "x-example": 40.712775
+ },
+ {
+ "description": "Accepted but inert -- see lat.",
+ "in": "query",
+ "name": "lon",
+ "type": "number",
+ "x-example": -74.005973
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/sevennow.combosResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "List a 7NOW store's bundle deals",
+ "tags": [
+ "7NOW"
+ ]
+ }
+ },
+ "/7now/deals": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns every currently discounted item in a store, paginated, each with the promotion driving the discount -- its id, shopper-facing description (\"2 for $4\", \"On Sale $7\"), promotional price where the offer has a single-unit one, and run dates. A busy store carries several hundred; the response also reports a store-wide availability summary across all of them before paging. This is the store-wide offers listing: the per-category browse endpoints surface promotions only for the items they happen to return, and pulling them all otherwise means walking the entire catalog. Pass a promos[].id to GET /7now/promotion to see every item that same promotion covers. store_id comes from GET /7now/stores; lat and lon are accepted but inert (store_id alone selects the store).",
+ "operationId": "7now-deals",
+ "parameters": [
+ {
+ "description": "7NOW store id, from GET /7now/stores.",
+ "in": "query",
+ "name": "store_id",
+ "required": true,
+ "type": "string",
+ "x-example": "39640"
+ },
+ {
+ "description": "Accepted but inert -- store_id alone selects the store; responses are byte-identical with any value or none. Forwarded upstream for fidelity with 7now.com's own client.",
+ "in": "query",
+ "name": "lat",
+ "type": "number",
+ "x-example": 40.712775
+ },
+ {
+ "description": "Accepted but inert -- see lat.",
+ "in": "query",
+ "name": "lon",
+ "type": "number",
+ "x-example": -74.005973
+ },
+ {
+ "description": "Pagination offset. Defaults to 0.",
+ "in": "query",
+ "name": "skip",
+ "type": "integer",
+ "x-example": 0
+ },
+ {
+ "description": "Max items returned, 1-100. Defaults to 20.",
+ "in": "query",
+ "name": "limit",
+ "type": "integer",
+ "x-example": 20
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/sevennow.dealsResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "List every discounted item in one 7NOW store",
+ "tags": [
+ "7NOW"
+ ]
+ }
+ },
+ "/7now/offers": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns every promotional campaign a store currently advertises -- the headline, body copy, legal terms and artwork behind offers like \"$6.99 Pizza\" or \"2/$5 Gatorade 28oz\". This is campaign-level and complements the item-level views: GET /7now/deals answers \"which items are discounted and why\", while this answers \"what is this store advertising, and on what terms\". The full legal terms are available nowhere else. Each campaign points somewhere: promo_ids[] feed GET /7now/promotion (or GET /7now/combo when the campaign advertises a bundle), while a category campaign instead carries target_id, a category_id GET /7now/category accepts. store_id comes from GET /7now/stores; lat and lon are accepted but inert (store_id alone selects the store).",
+ "operationId": "7now-offers",
+ "parameters": [
+ {
+ "description": "7NOW store id, from GET /7now/stores.",
+ "in": "query",
+ "name": "store_id",
+ "required": true,
+ "type": "string",
+ "x-example": "39640"
+ },
+ {
+ "description": "Accepted but inert -- store_id alone selects the store; responses are byte-identical with any value or none. Forwarded upstream for fidelity with 7now.com's own client.",
+ "in": "query",
+ "name": "lat",
+ "type": "number",
+ "x-example": 40.712775
+ },
+ {
+ "description": "Accepted but inert -- see lat.",
+ "in": "query",
+ "name": "lon",
+ "type": "number",
+ "x-example": -74.005973
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/sevennow.offersResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "List a 7NOW store's advertised promotional campaigns",
+ "tags": [
+ "7NOW"
+ ]
+ }
+ },
+ "/7now/popular": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the trending search terms 7NOW shows in its own search box. Two axes select the index and both matter. vertical picks the catalogue: `convenience` and `restaurant` return different terms for the same store, and `global` is the genuinely national cross-vertical list. store_id (from GET /7now/stores) then narrows to that store's region within the vertical -- a New York store returns index NY_NE, a Florida store SE, and omitting it returns the vertical-wide list. The restaurant vertical is the exception: it ignores store_id entirely, returning identical terms for every store. The response echoes back both the vertical and the regional index the terms came from.",
+ "operationId": "7now-popular",
+ "parameters": [
+ {
+ "description": "7NOW store id, from GET /7now/stores. Selects that store's regional index within the chosen vertical; omit for the vertical-wide list. Ignored by the restaurant vertical.",
+ "in": "query",
+ "name": "store_id",
+ "type": "string",
+ "x-example": "39226"
+ },
+ {
+ "description": "Which trending index to read. One of: convenience, restaurant, global. Defaults to convenience.",
+ "enum": [
+ "convenience",
+ "restaurant",
+ "global"
+ ],
+ "in": "query",
+ "name": "vertical",
+ "type": "string",
+ "x-example": "convenience"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/sevennow.popularResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get 7NOW trending search terms",
+ "tags": [
+ "7NOW"
+ ]
+ }
+ },
+ "/7now/product": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns one product's complete reference record: description, the full nutrition panel (serving size, calories, fat, cholesterol, sodium, carbohydrates, protein, vitamins and allergen \"contains\" list), the declared ingredient list, the allergen statement, size and flavor variants, related products, and any attached promotions. product_id comes from GET /7now/search, /7now/catalog or /7now/category. This record is store-independent and deliberately carries no price, availability or stock -- use those three endpoints for per-store pricing and availability. An unknown product_id returns a 404.",
+ "operationId": "7now-product",
+ "parameters": [
+ {
+ "description": "7NOW product id, from GET /7now/search, /7now/catalog or /7now/category.",
+ "in": "query",
+ "name": "product_id",
+ "required": true,
+ "type": "string",
+ "x-example": "178322-2-6-2"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/sevennow.productResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get one 7NOW product's full reference record",
+ "tags": [
+ "7NOW"
+ ]
+ }
+ },
+ "/7now/promotion": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Expands one promotion into every item it applies to in a store, plus the promotion's own offer type, terms, and run dates. GET /7now/deals reads discount-to-item (here is a discounted product, here is why); this reads it the other way round (here is an offer, here is everything it covers) -- e.g. a \"2 for $4\" tea promotion expands to all five flavours in it. promo_id comes from GET /7now/deals' items[].promos[].id, and store_id from GET /7now/stores. An unknown promo_id returns 404.",
+ "operationId": "7now-promotion",
+ "parameters": [
+ {
+ "description": "Promotion id, from GET /7now/deals' items[].promos[].id.",
+ "in": "query",
+ "name": "promo_id",
+ "required": true,
+ "type": "string",
+ "x-example": "6a9746d488cc35e1bbff1584"
+ },
+ {
+ "description": "7NOW store id, from GET /7now/stores.",
+ "in": "query",
+ "name": "store_id",
+ "required": true,
+ "type": "string",
+ "x-example": "39640"
+ },
+ {
+ "description": "Pagination offset. Defaults to 0.",
+ "in": "query",
+ "name": "skip",
+ "type": "integer",
+ "x-example": 0
+ },
+ {
+ "description": "Max items returned, 1-100. Defaults to 20.",
+ "in": "query",
+ "name": "limit",
+ "type": "integer",
+ "x-example": 20
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/sevennow.promotionResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "List every item one 7NOW promotion covers",
+ "tags": [
+ "7NOW"
+ ]
+ }
+ },
+ "/7now/search": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns one 7NOW store's keyword search results: matching products and combo deals with current pricing (list price, everyday sale price, and any further active promotion), live availability, and a sponsored-brand facet list relevant to the query. store_id comes from GET /7now/stores. A query matching nothing returns a normal 200 with an empty items array, not an error.",
+ "operationId": "7now-search",
+ "parameters": [
+ {
+ "description": "7NOW store id, from GET /7now/stores.",
+ "in": "query",
+ "name": "store_id",
+ "required": true,
+ "type": "string",
+ "x-example": "39226"
+ },
+ {
+ "description": "Keyword search term.",
+ "in": "query",
+ "name": "q",
+ "required": true,
+ "type": "string",
+ "x-example": "pizza"
+ },
+ {
+ "description": "Pagination offset. Defaults to 0.",
+ "in": "query",
+ "name": "skip",
+ "type": "integer",
+ "x-example": 0
+ },
+ {
+ "description": "Max results returned, 1-50. Defaults to 20.",
+ "in": "query",
+ "name": "limit",
+ "type": "integer",
+ "x-example": 20
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/sevennow.searchResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Search one 7NOW store's products",
+ "tags": [
+ "7NOW"
+ ]
+ }
+ },
+ "/7now/stores": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Resolves a free-text delivery address, street, city and state, or postal code to the nearest 7NOW-enabled 7-Eleven stores, nearest first. Each store carries its store_id, address, coordinates, straight-line distance in miles from the resolved address, the banner it trades under, its Nielsen DMA, and its per-day alcohol sale windows -- upstream's own encoding of the local law, which is why a day can hold more than one window (a New York store's Sunday runs 0000-0200 and 0800-2359). An empty alcohol_sale_hours means upstream publishes no windows for that store, which is not the same as it selling no alcohol. The response also carries the Uber H3 cell for the resolved address. Use store_id with GET /7now/catalog, /7now/categories, /7now/deals, /7now/offers or /7now/combos to browse that store. An address that cannot be geocoded, or one with no nearby 7NOW coverage, returns a 404.",
+ "operationId": "7now-stores",
+ "parameters": [
+ {
+ "description": "Free-text delivery address, street, city and state, or postal code.",
+ "in": "query",
+ "name": "address",
+ "required": true,
+ "type": "string",
+ "x-example": "350 5th Ave, New York, NY"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/sevennow.storesResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Find 7NOW delivery stores near an address",
+ "tags": [
+ "7NOW"
+ ]
+ }
+ },
+ "/7now/suggest": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns search-term completions for a partial query, e.g. \"chi\" -> \"chips ahoy\", \"chips\", \"chicken\". No store is required. q must be at least 3 characters -- shorter values return a typed invalid-param error, matching upstream's own enforced minimum. vertical selects which search index to complete against, and the indexes are materially different rather than variations on one list: for \"chi\", `convenience` answers \"chips ahoy, chips, chicken wings\" while `restaurant` answers \"chipotle, chinese food, chili\". `global` is a sparse cross-vertical index -- many prefixes legitimately return no suggestions there.",
+ "operationId": "7now-suggest",
+ "parameters": [
+ {
+ "description": "Partial search term, at least 3 characters.",
+ "in": "query",
+ "name": "q",
+ "required": true,
+ "type": "string",
+ "x-example": "chi"
+ },
+ {
+ "description": "Which search index to complete against. One of: convenience, restaurant, global. Defaults to convenience.",
+ "enum": [
+ "convenience",
+ "restaurant",
+ "global"
+ ],
+ "in": "query",
+ "name": "vertical",
+ "type": "string",
+ "x-example": "convenience"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/sevennow.suggestResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get 7NOW search-term suggestions",
+ "tags": [
+ "7NOW"
+ ]
+ }
+ },
+ "/abcau/article": {
+ "get": {
+ "description": "Returns an ABC News Australia article by `url`, a canonical `abc.net.au` address in the form `/news///`: title, description, publication time, section, authors, image and the body `paragraphs`. Rolling live-blog posts, whose slug ends `-live-blog`, return an error instead of partial content.",
+ "operationId": "abcau-article",
+ "parameters": [
+ {
+ "description": "Canonical ABC News Australia article URL",
+ "in": "query",
+ "name": "url",
+ "required": true,
+ "type": "string",
+ "x-example": "https://www.abc.net.au/news/2026-09-24/example-article-slug/107189792"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.articleResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get ABC News Australia article content",
+ "tags": [
+ "ABC News Australia"
+ ]
+ }
+ },
+ "/abcau/author": {
+ "get": {
+ "description": "Returns an ABC News Australia author profile from `url`, a canonical `https://www.abc.net.au/news//` address: name, `biography`, `image_url` and recent articles. Not every author has a headshot or biography, and wire or staff bylines often have neither.",
+ "operationId": "abcau-author",
+ "parameters": [
+ {
+ "description": "Canonical ABC News Australia author URL",
+ "in": "query",
+ "name": "url",
+ "required": true,
+ "type": "string",
+ "x-example": "https://www.abc.net.au/news/jane-doe/12345"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.abcauAuthorResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get an ABC News Australia author profile",
+ "tags": [
+ "ABC News Australia"
+ ]
+ }
+ },
+ "/abcau/headlines": {
+ "get": {
+ "description": "Returns current headlines for one ABC News Australia section. `section` is required and takes one of 15 slugs, including `justin`, `politics`, `rural`, `analysis-and-opinion` and `australia`. Each item has a title and URL, and may also carry a summary, author, publication time and image.",
+ "operationId": "abcau-headlines",
+ "parameters": [
+ {
+ "description": "ABC News Australia section slug",
+ "enum": [
+ "justin",
+ "world",
+ "politics",
+ "business",
+ "sport",
+ "health",
+ "entertainment",
+ "science",
+ "rural",
+ "analysis-and-opinion",
+ "indigenous",
+ "environment",
+ "backstory",
+ "lifestyle",
+ "australia"
+ ],
+ "in": "query",
+ "name": "section",
+ "required": true,
+ "type": "string",
+ "x-example": "justin"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.headlinesResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get ABC News Australia section headlines",
+ "tags": [
+ "ABC News Australia"
+ ]
+ }
+ },
+ "/abcau/news": {
+ "get": {
+ "description": "Returns the current ABC News Australia top stories, with no input needed. Each item has a title and canonical URL, and may also carry a summary, author, publication time and image.",
+ "operationId": "abcau-news",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.newsResponseDoc"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get ABC News Australia top stories",
+ "tags": [
+ "ABC News Australia"
+ ]
+ }
+ },
+ "/abcau/sections": {
+ "get": {
+ "description": "Lists the 15 ABC News Australia section slugs accepted by `abcau-headlines`, from `justin` and `world` to `backstory` and `australia`. Each entry has a `slug`, a display `name` (for example `Just In`) and the section's page `url`.",
+ "operationId": "abcau-sections",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.sectionsResponseDoc"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get ABC News Australia sections",
+ "tags": [
+ "ABC News Australia"
+ ]
+ }
+ },
+ "/abcnews/article": {
+ "get": {
+ "description": "Returns public ABC News article metadata and body paragraphs from a canonical article URL. Accepts both the \"story?id=...\" and \"wireStory/...\" canonical URL shapes.",
+ "operationId": "abcnews-article",
+ "parameters": [
+ {
+ "description": "Canonical ABC News article URL",
+ "in": "query",
+ "name": "url",
+ "required": true,
+ "type": "string",
+ "x-example": "https://abcnews.com/Politics/example-story/story?id=123456789"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.articleResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get ABC News article content",
+ "tags": [
+ "ABC News"
+ ]
+ }
+ },
+ "/abcnews/author": {
+ "get": {
+ "description": "Returns an ABC News author's profile: name, job title/biography when the page carries one, and social links, from a canonical author URL. Does not include a list of the author's recent articles.",
+ "operationId": "abcnews-author",
+ "parameters": [
+ {
+ "description": "Canonical ABC News author URL",
+ "in": "query",
+ "name": "url",
+ "required": true,
+ "type": "string",
+ "x-example": "https://abcnews.com/author/benjamin_siegel"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.abcNewsAuthorResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get an ABC News author profile",
+ "tags": [
+ "ABC News"
+ ]
+ }
+ },
+ "/abcnews/headlines": {
+ "get": {
+ "description": "Returns the current headlines for one ABC News section. `section` is required and must be `us`, `world`, `politics`, `business`, `technology`, `entertainment`, `health` or `sports`. Each item has a title and URL, and may also carry a summary, author, publication time and image.",
+ "operationId": "abcnews-headlines",
+ "parameters": [
+ {
+ "description": "ABC News section slug",
+ "enum": [
+ "us",
+ "world",
+ "politics",
+ "business",
+ "technology",
+ "entertainment",
+ "health",
+ "sports"
+ ],
+ "in": "query",
+ "name": "section",
+ "required": true,
+ "type": "string",
+ "x-example": "us"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.headlinesResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get ABC News section headlines",
+ "tags": [
+ "ABC News"
+ ]
+ }
+ },
+ "/abcnews/news": {
+ "get": {
+ "description": "Returns the current ABC News top stories, with no input needed. Each item has a title and canonical URL, and may also carry a summary, author, publication time and image.",
+ "operationId": "abcnews-news",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.newsResponseDoc"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get ABC News top stories",
+ "tags": [
+ "ABC News"
+ ]
+ }
+ },
+ "/abcnews/sections": {
+ "get": {
+ "description": "Lists the 8 core ABC News sections that `abcnews-headlines` accepts: `us`, `world`, `politics`, `business`, `technology`, `entertainment`, `health` and `sports`. Each entry has a `slug`, a display `name` and the section's page `url`.",
+ "operationId": "abcnews-sections",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.sectionsResponseDoc"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get ABC News sections",
+ "tags": [
+ "ABC News"
+ ]
+ }
+ },
+ "/accor/amenities": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the anonymous public Accor amenity catalog with stable amenity codes, labels, categories, and display ordering. It is reference data for interpreting hotel search facets; booking, rates, rooms, reviews, and account data are excluded.",
+ "operationId": "accor-amenities",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/accor.amenitiesResponseDoc"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Accor amenity reference catalog",
+ "tags": [
+ "Accor"
+ ]
+ }
+ },
+ "/accor/brands": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the Accor brand directory published on the public brands page, with each brand's name, slug, and source URL. Booking, rates, rooms, reviews, contacts, and location are excluded.",
+ "operationId": "accor-brands",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/accor.brandsResponseDoc"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Accor brand directory",
+ "tags": [
+ "Accor"
+ ]
+ }
+ },
+ "/accor/catalog/hotels": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Searches Accor's anonymous public hotel catalog by text, hotel code, or latitude/longitude radius. Results contain static property identity and broad location metadata plus catalog relevance/distance; contact details, precise hotel coordinates, payment, loyalty, media, rates, rooms, reviews, and booking data are excluded.",
+ "operationId": "accor-catalog-hotels",
+ "parameters": [
+ {
+ "description": "Destination or hotel text (at least two characters)",
+ "in": "query",
+ "name": "query",
+ "type": "string",
+ "x-example": "London"
+ },
+ {
+ "description": "Four-character Accor hotel code",
+ "in": "query",
+ "name": "hotel_id",
+ "type": "string",
+ "x-example": "A7L5"
+ },
+ {
+ "description": "Search-center latitude (-90 to 90)",
+ "in": "query",
+ "name": "latitude",
+ "type": "number",
+ "x-example": 51.5072
+ },
+ {
+ "description": "Search-center longitude (-180 to 180)",
+ "in": "query",
+ "name": "longitude",
+ "type": "number",
+ "x-example": -0.1276
+ },
+ {
+ "default": 10,
+ "description": "Search radius in kilometers (0.1 to 100; defaults to 10 for coordinate searches)",
+ "in": "query",
+ "name": "radius_km",
+ "type": "number",
+ "x-example": 10
+ },
+ {
+ "default": 0,
+ "description": "Zero-based result offset (0 to 300)",
+ "in": "query",
+ "name": "offset",
+ "type": "integer",
+ "x-example": 0
+ },
+ {
+ "default": 20,
+ "description": "Results per request (1 to 50)",
+ "in": "query",
+ "name": "limit",
+ "type": "integer",
+ "x-example": 20
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/accor.catalogResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Search the Accor hotel catalog",
+ "tags": [
+ "Accor"
+ ]
+ }
+ },
+ "/accor/destination/hotels": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the static list of hotels published on one Accor destination directory page (world, continent, country, region, department, city, district, or place), optionally narrowed by a theme facet. Each hotel carries its code, name, source URL, and broad city/country. Booking, rates, rooms, reviews, contacts, and precise location are excluded.",
+ "operationId": "accor-destination-hotels",
+ "parameters": [
+ {
+ "description": "Destination level: world, continent, country, region, department, city, district, or place",
+ "enum": [
+ "world",
+ "continent",
+ "country",
+ "region",
+ "department",
+ "city",
+ "district",
+ "place"
+ ],
+ "in": "query",
+ "name": "destination_type",
+ "required": true,
+ "type": "string",
+ "x-example": "world"
+ },
+ {
+ "description": "Destination page slug, e.g. hotels-dusseldorf-v1158. Required for every type except world.",
+ "in": "query",
+ "name": "slug",
+ "type": "string"
+ },
+ {
+ "description": "Optional theme facet: 4-stars, 5-stars, apart-hotel, breakfast, budget-friendly, business, eco-certified, family-friendly, fitness, luxury, meetings-and-events, parking, pet-friendly, pool, resorts, or spa",
+ "enum": [
+ "4-stars",
+ "5-stars",
+ "apart-hotel",
+ "breakfast",
+ "budget-friendly",
+ "business",
+ "eco-certified",
+ "family-friendly",
+ "fitness",
+ "luxury",
+ "meetings-and-events",
+ "parking",
+ "pet-friendly",
+ "pool",
+ "resorts",
+ "spa"
+ ],
+ "in": "query",
+ "name": "theme",
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/accor.destinationResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Accor hotels in a destination",
+ "tags": [
+ "Accor"
+ ]
+ }
+ },
+ "/accor/property": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns static public metadata for one Accor hotel code, including name, brand, city/country, explicitly listed amenities, and published check-in/check-out times. Booking, rates, rooms, reviews, contacts, and precise location are excluded.",
+ "operationId": "accor-property",
+ "parameters": [
+ {
+ "description": "Four-character Accor hotel code",
+ "in": "query",
+ "name": "hotel_code",
+ "required": true,
+ "type": "string",
+ "x-example": "A7L5"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/accor.propertyResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Accor hotel metadata",
+ "tags": [
+ "Accor"
+ ]
+ }
+ },
+ "/accor/search": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Searches the public Accor hotel index by destination or hotel name, with optional country, city, brand, star, page, and page-size filters. Results contain static hotel identity, location labels, ratings, and source URLs; booking, rates, rooms, reviews, loyalty, and payment flows are excluded.",
+ "operationId": "accor-search",
+ "parameters": [
+ {
+ "description": "Destination or hotel query (at least two characters)",
+ "in": "query",
+ "name": "query",
+ "required": true,
+ "type": "string",
+ "x-example": "London"
+ },
+ {
+ "description": "Index locale",
+ "in": "query",
+ "name": "language",
+ "type": "string",
+ "x-example": "en"
+ },
+ {
+ "default": 0,
+ "description": "Zero-based result page",
+ "in": "query",
+ "name": "page",
+ "type": "integer",
+ "x-example": 0
+ },
+ {
+ "default": 20,
+ "description": "Results per page, 1-100",
+ "in": "query",
+ "name": "limit",
+ "type": "integer",
+ "x-example": 20
+ },
+ {
+ "description": "Country facet",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "United Kingdom"
+ },
+ {
+ "description": "City facet",
+ "in": "query",
+ "name": "city",
+ "type": "string",
+ "x-example": "London"
+ },
+ {
+ "description": "Accor brand code facet",
+ "in": "query",
+ "name": "brand",
+ "type": "string",
+ "x-example": "NOVOTEL"
+ },
+ {
+ "description": "Exact star facet",
+ "enum": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5
+ ],
+ "in": "query",
+ "name": "stars",
+ "type": "integer",
+ "x-example": 4
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/accor.searchResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Search Accor hotels",
+ "tags": [
+ "Accor"
+ ]
+ }
+ },
+ "/accor/search/details": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Resolves an anonymous Accor search suggestion identifier to its description, coordinates, viewport, radius, and address components. It uses the same public place-details source as the Accor search box; booking, rates, rooms, reviews, and account data are excluded.",
+ "operationId": "accor-search-details",
+ "parameters": [
+ {
+ "description": "Suggestion source",
+ "enum": [
+ "google_places",
+ "hod_hotels"
+ ],
+ "in": "query",
+ "name": "source",
+ "required": true,
+ "type": "string",
+ "x-example": "google_places"
+ },
+ {
+ "description": "Identifier returned by Accor search suggestions",
+ "in": "query",
+ "name": "id",
+ "required": true,
+ "type": "string",
+ "x-example": "ChIJdd4hrwug2EcRmSrV3Vo6llI"
+ },
+ {
+ "description": "Optional locale",
+ "in": "query",
+ "name": "language",
+ "type": "string",
+ "x-example": "en"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/accor.detailsResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Accor place coordinates and viewport",
+ "tags": [
+ "Accor"
+ ]
+ }
+ },
+ "/accor/search/suggest": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns anonymous Accor typeahead suggestions for a partial destination or hotel query, including destination/place and hotel identifiers, types, labels, and match metadata. It uses the public search-box suggestion source only; booking, rates, rooms, reviews, and result-list requests are excluded.",
+ "operationId": "accor-search-suggest",
+ "parameters": [
+ {
+ "description": "Partial destination or hotel query (at least two characters)",
+ "in": "query",
+ "name": "query",
+ "required": true,
+ "type": "string",
+ "x-example": "London"
+ },
+ {
+ "description": "Optional locale used by the suggestion source",
+ "in": "query",
+ "name": "language",
+ "type": "string",
+ "x-example": "en"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/accor.suggestResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Accor destination and hotel search suggestions",
+ "tags": [
+ "Accor"
+ ]
+ }
+ },
+ "/adidas/product": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns product-detail data for one Adidas SKU: name, brand, category, description, pricing (current/standard/sale), images, and every purchasable size variant. product_id is the Adidas SKU (e.g. JI0397), taken from a search result's products[].id field or the trailing segment of an Adidas product page URL. An unknown product_id returns a not-found error.",
+ "operationId": "adidas-product",
+ "parameters": [
+ {
+ "description": "Adidas SKU/product id, from a search result's products[].id field",
+ "in": "query",
+ "name": "product_id",
+ "required": true,
+ "type": "string",
+ "x-example": "JI0397"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/adidas.productResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get an Adidas product",
+ "tags": [
+ "Adidas"
+ ]
+ }
+ },
+ "/adidas/product/review-topics": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the topics an Adidas product model's customer reviews can be filtered by -- the \"filter by topic\" chips the product page shows, commonly satisfaction, comfort, color, purchase, fit, appearance, quality and style. Feed a topics[].topic value back to /adidas/product/reviews as its topic parameter to return only reviews about that aspect. The topic vocabulary is per model, not a fixed list: a shoe exposes fit and comfort topics that an accessory does not, so read it per model rather than hard-coding it. model_number is the Adidas model number (e.g. SAMBAU2312) -- NOT the SKU: take it from an adidas_search result's products[].model_number field. A model with no reviews, including a well-formed but unrecognized model_number, returns an empty topics list rather than an error. Note the label field is a display form of topic, not translated text: Adidas returns the same English values for every locale on this route.",
+ "operationId": "adidas-product-review-topics",
+ "parameters": [
+ {
+ "description": "Adidas model number, from an adidas_search result's products[].model_number field",
+ "in": "query",
+ "name": "model_number",
+ "required": true,
+ "type": "string",
+ "x-example": "SAMBAU2312"
+ },
+ {
+ "description": "Locale accepted for consistency with the reviews endpoint. Allowed values: cs_CZ, da_DK, de_AT, de_CH, de_DE, el_GR, en_AE, en_AU, en_CA, en_GB, en_IE, en_IL, en_IN, en_NZ, en_PH, en_SG, en_US, en_ZA, es_AR, es_CL, es_CO, es_ES, es_MX, es_PE, fr_BE, fr_CA, fr_CH, fr_FR, id_ID, it_CH, it_IT, ja_JP, ko_KR, nl_BE, nl_NL, pl_PL, pt_BR, pt_PT, ru_RU, sk_SK, sv_SE, th_TH, tr_TR, zh_HK, zh_TW. Defaults to en_US. Note Adidas returns the same English topic labels regardless of this value.",
+ "in": "query",
+ "name": "locale",
+ "type": "string",
+ "x-example": "en_US"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/adidas.reviewTopicsResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Adidas review topics for a product",
+ "tags": [
+ "Adidas"
+ ]
+ }
+ },
+ "/adidas/product/reviews": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns one page of customer reviews for an Adidas product model, plus the model's rating summary: overall rating, star histogram, percentage of reviewers who recommend it, per-attribute averages (Size, Width, Comfort, Quality with their own scale labels), and Adidas's AI-generated review digest when one exists. Each review carries the rating, headline, body, author nickname, purchased colorway, helpful/not-helpful vote counts, badges, customer photos, and submission time. model_number is the Adidas model number (e.g. SAMBAU2312) -- NOT the SKU: take it from an adidas_search result's products[].model_number field, which is a different value from products[].id. Reviews are returned 10 per page. Reviews are scoped to review text written in the requested locale's language, and most of the US catalog's reviews are English, so a non-English locale commonly returns rating statistics and a localized summary with an empty reviews list. A model with no reviews -- including a well-formed but unrecognized model_number -- returns an empty reviews list rather than an error, because Adidas answers 200 with a zero count rather than 404.",
+ "operationId": "adidas-product-reviews",
+ "parameters": [
+ {
+ "description": "Adidas model number, from an adidas_search result's products[].model_number field",
+ "in": "query",
+ "name": "model_number",
+ "required": true,
+ "type": "string",
+ "x-example": "SAMBAU2312"
+ },
+ {
+ "description": "Locale for the review-summary language, the secondary-rating scale labels, and the language of the reviews returned. Allowed values: cs_CZ, da_DK, de_AT, de_CH, de_DE, el_GR, en_AE, en_AU, en_CA, en_GB, en_IE, en_IL, en_IN, en_NZ, en_PH, en_SG, en_US, en_ZA, es_AR, es_CL, es_CO, es_ES, es_MX, es_PE, fr_BE, fr_CA, fr_CH, fr_FR, id_ID, it_CH, it_IT, ja_JP, ko_KR, nl_BE, nl_NL, pl_PL, pt_BR, pt_PT, ru_RU, sk_SK, sv_SE, th_TH, tr_TR, zh_HK, zh_TW. Defaults to en_US.",
+ "in": "query",
+ "name": "locale",
+ "type": "string",
+ "x-example": "en_US"
+ },
+ {
+ "description": "Return only reviews with this star rating. Allowed values: 1, 2, 3, 4, 5. Omitted returns every rating.",
+ "in": "query",
+ "name": "rating",
+ "type": "integer",
+ "x-example": 5
+ },
+ {
+ "description": "Return only reviews about one topic. Valid values are per-model -- read them from /adidas/product/review-topics for the same model_number (commonly satisfaction, comfort, color, purchase, fit, appearance, quality, style). An unrecognized topic returns a 400 listing the model's own topics.",
+ "in": "query",
+ "name": "topic",
+ "type": "string",
+ "x-example": "comfort"
+ },
+ {
+ "description": "One-based page number, 10 reviews per page, defaults to 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer",
+ "x-example": 1
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/adidas.productReviewsResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Adidas product reviews",
+ "tags": [
+ "Adidas"
+ ]
+ }
+ },
+ "/adidas/search": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Searches Adidas.com product listings by keyword, or browses a category listing by taxonomy slug, with real pagination and sort options. Exactly one of query or category is required. Returns product summaries (title, price, rating, images, color variants) plus facet filter groups, sort options, and (for category browse) a breadcrumb trail. Keyword search is best-effort relevance, not a guaranteed match: an obscure keyword returns whatever Adidas's own search index surfaces. A genuinely empty keyword search returns an empty product list, and requesting a page beyond the available result pages (or an unknown category) returns a not-found error. Category values are the path segment after /us/ in an Adidas category URL (e.g. women-athletic_sneakers); they can also be read from the url fields of a search/category response's own filters and breadcrumbs. Facets are applied by composing them into the category slug rather than by a separate parameter: each filters[].values[].slug is a token you splice into the category value (e.g. category=women-black-athletic_sneakers applies the Color=Black facet, and category=women-athletic_sneakers-prime applies Shipping=PRIME). Use filters[].key (the facet's stable name, e.g. searchcolor) rather than filters[].id, which is an opaque per-deployment UUID that cannot be used to build a request. Note the token's position within the slug varies by facet, so compose from a slug you have seen rather than assuming a fixed order.",
+ "operationId": "adidas-search",
+ "parameters": [
+ {
+ "description": "Search keyword. Exactly one of query or category is required.",
+ "in": "query",
+ "name": "query",
+ "type": "string",
+ "x-example": "running shoes"
+ },
+ {
+ "description": "Category/taxonomy slug, the path segment after /us/ in an Adidas category URL. Exactly one of query or category is required.",
+ "in": "query",
+ "name": "category",
+ "type": "string",
+ "x-example": "women-athletic_sneakers"
+ },
+ {
+ "description": "Sort order. Allowed values: price-low-to-high, newest-to-oldest, top-sellers, price-high-to-low. Omitted means relevance.",
+ "in": "query",
+ "name": "sort",
+ "type": "string",
+ "x-example": "price-low-to-high"
+ },
+ {
+ "description": "One-based page number, defaults to 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer",
+ "x-example": 1
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/adidas.searchResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Search or browse Adidas products",
+ "tags": [
+ "Adidas"
+ ]
+ }
+ },
+ "/adidas/store": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns detail for one Adidas retail store: name, status, phone, description, full address, coordinates, opening hours, and in-store services (e.g. Click and Collect, Free Wi-Fi). store_id is the numeric Adidas store id, taken from an adidas-stores response's stores[].id field. An unknown store_id returns a not-found error.",
+ "operationId": "adidas-store",
+ "parameters": [
+ {
+ "description": "Adidas store id, from a stores response's stores[].id field",
+ "in": "query",
+ "name": "store_id",
+ "required": true,
+ "type": "string",
+ "x-example": "9990021686"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/adidas.storeDetailResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get an Adidas store",
+ "tags": [
+ "Adidas"
+ ]
+ }
+ },
+ "/adidas/stores": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns Adidas physical retail stores nearest to a coordinate, sourced from Adidas's own store-finder API: name, address, phone, coordinates, distance in miles, opening hours, and in-store feature flags. lat and lng are both required. Adidas's upstream ignores a caller-supplied radius and returns the nearest ~20 stores ordered by distance. A location with no stores returns an empty list rather than an error.",
+ "operationId": "adidas-stores",
+ "parameters": [
+ {
+ "description": "Latitude, -90 to 90",
+ "in": "query",
+ "name": "lat",
+ "required": true,
+ "type": "number",
+ "x-example": 40.75
+ },
+ {
+ "description": "Longitude, -180 to 180",
+ "in": "query",
+ "name": "lng",
+ "required": true,
+ "type": "number",
+ "x-example": -73.99
+ },
+ {
+ "description": "Accepted only as 0. Adidas's store finder returns every nearby store (up to 20) in a single page, so any higher value is always empty and is rejected as an invalid parameter.",
+ "in": "query",
+ "name": "page",
+ "type": "integer",
+ "x-example": 0
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/adidas.storesResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Find nearby Adidas stores",
+ "tags": [
+ "Adidas"
+ ]
+ }
+ },
+ "/adidas/suggest": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the top matching products for a partial query, the same search-as-you-type preview Adidas's own search box shows. Adidas has no separate term-autocomplete index, so each suggestion is a matching product (id, title, url, image, price) rather than a completed search phrase. Best-effort relevance: an obscure query returns whatever Adidas's own search surfaces.",
+ "operationId": "adidas-suggest",
+ "parameters": [
+ {
+ "description": "Partial search query",
+ "in": "query",
+ "name": "query",
+ "required": true,
+ "type": "string",
+ "x-example": "samba"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/adidas.suggestResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Adidas search suggestions",
+ "tags": [
+ "Adidas"
+ ]
+ }
+ },
+ "/agoda/activities/search": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns Agoda activities (tours, attractions, experiences) matching a free-text keyword and/or a city. When keyword is omitted, the resolved city's name is used instead to return a general listing of activities in that city. Callers may supply a known Agoda city id or a free-text city name for the city filter; when both are supplied city_id takes precedence.",
+ "operationId": "agoda-activities-search",
+ "parameters": [
+ {
+ "description": "Free-text activity search keyword. When omitted, the resolved city's name is used instead.",
+ "in": "query",
+ "name": "keyword",
+ "type": "string",
+ "x-example": "cooking class"
+ },
+ {
+ "description": "Numeric Agoda city id to filter results to. Optional if keyword is supplied; city_id takes precedence over city when both are supplied.",
+ "in": "query",
+ "name": "city_id",
+ "type": "integer",
+ "x-example": 9395
+ },
+ {
+ "description": "Free-text city name, used directly as the search text when keyword is omitted, and to resolve a city id filter.",
+ "in": "query",
+ "name": "city",
+ "type": "string",
+ "x-example": "Bangkok"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/agoda.activitiesSearchResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Search Agoda activities",
+ "tags": [
+ "Agoda"
+ ]
+ }
+ },
+ "/agoda/activities/{activity_id}": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns full activity detail from Agoda: title, description, stated duration, categories, and content images.",
+ "operationId": "agoda-activity-detail",
+ "parameters": [
+ {
+ "description": "Numeric Agoda activity id, from a prior activities search call's activity_id field",
+ "in": "path",
+ "name": "activity_id",
+ "required": true,
+ "type": "string",
+ "x-example": "1633875"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/agoda.ActivityDetailResponse"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Agoda activity detail",
+ "tags": [
+ "Agoda"
+ ]
+ }
+ },
+ "/agoda/flights/itinerary-amenities": {
+ "post": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns real-content amenities (aircraft type, seat layout, meals, entertainment, wifi) for one or more flight segments. Copy the segments straight from a flight search response's own segment fields.",
+ "operationId": "agoda-flights-itinerary-amenities",
+ "parameters": [
+ {
+ "description": "One or more flight segments to fetch amenities for",
+ "in": "body",
+ "name": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/agoda.FlightItineraryAmenitiesOption"
+ }
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/agoda.flightItineraryAmenitiesResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Agoda flight segment amenities",
+ "tags": [
+ "Agoda"
+ ]
+ }
+ },
+ "/agoda/flights/search": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns bookable one-way flight itineraries between two IATA airport codes for a departure date, including per-segment flight number, airline, times, layovers, aircraft type, and price. Resolve free-text city/airport names to codes first via the flight destination search endpoint.",
+ "operationId": "agoda-flights-search",
+ "parameters": [
+ {
+ "description": "Origin IATA airport code",
+ "in": "query",
+ "name": "origin",
+ "required": true,
+ "type": "string",
+ "x-example": "BKK"
+ },
+ {
+ "description": "Destination IATA airport code",
+ "in": "query",
+ "name": "destination",
+ "required": true,
+ "type": "string",
+ "x-example": "HKT"
+ },
+ {
+ "description": "Departure date, YYYY-MM-DD",
+ "in": "query",
+ "name": "departure_date",
+ "required": true,
+ "type": "string",
+ "x-example": "2026-09-15"
+ },
+ {
+ "description": "Adult passengers (age 12+), defaults to 1",
+ "in": "query",
+ "name": "adults",
+ "type": "integer",
+ "x-example": 1
+ },
+ {
+ "description": "Child passengers (age 2-11), defaults to 0",
+ "in": "query",
+ "name": "children",
+ "type": "integer",
+ "x-example": 0
+ },
+ {
+ "description": "Infant passengers (under age 2), defaults to 0",
+ "in": "query",
+ "name": "infants",
+ "type": "integer",
+ "x-example": 0
+ },
+ {
+ "description": "Cabin class, defaults to Economy",
+ "enum": [
+ "Economy",
+ "PremiumEconomy",
+ "Business",
+ "First"
+ ],
+ "in": "query",
+ "name": "cabin_class",
+ "type": "string"
+ },
+ {
+ "description": "1-indexed result page, defaults to 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer",
+ "x-example": 1
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/agoda.flightSearchResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Search Agoda one-way flights",
+ "tags": [
+ "Agoda"
+ ]
+ }
+ },
+ "/agoda/flights/search-locations": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Resolves a free-text city or airport name into IATA airport codes for flight search, with each city's direct and nearby airports.",
+ "operationId": "agoda-flights-search-locations",
+ "parameters": [
+ {
+ "description": "Free-text city or airport name",
+ "in": "query",
+ "name": "keyword",
+ "required": true,
+ "type": "string",
+ "x-example": "Bangkok"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/agoda.flightLocationSearchResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Search Agoda flight destinations/airports",
+ "tags": [
+ "Agoda"
+ ]
+ }
+ },
+ "/agoda/homes/search": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns Homes & Apartments results for an Agoda city: full listing detail for every matching property whose accommodation type is Apartment. Callers may supply a known Agoda city id or a free-text city name; when both are supplied city_id takes precedence.",
+ "operationId": "agoda-homes-search",
+ "parameters": [
+ {
+ "description": "Numeric Agoda city id, e.g. 9395 for Bangkok. Either city_id or city is required; city_id takes precedence when both are supplied.",
+ "in": "query",
+ "name": "city_id",
+ "type": "integer",
+ "x-example": 9395
+ },
+ {
+ "description": "Free-text city name, resolved to a numeric city id via Agoda's own destination search. Ignored when city_id is also supplied.",
+ "in": "query",
+ "name": "city",
+ "type": "string",
+ "x-example": "Bangkok"
+ },
+ {
+ "description": "1-indexed result page over the underlying city search, defaults to 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer",
+ "x-example": 1
+ },
+ {
+ "description": "Candidate listings fetched per page before filtering to homes/apartments, defaults to 10, maximum 50",
+ "in": "query",
+ "name": "limit",
+ "type": "integer",
+ "x-example": 10
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/agoda.homesSearchResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Search Agoda Homes & Apartments by city",
+ "tags": [
+ "Agoda"
+ ]
+ }
+ },
+ "/agoda/hotels/search": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns hotel search results for an Agoda city: the matching property ids for that city plus a direct link to each property's listing page. Callers may supply a known Agoda city id or a free-text city name; when both are supplied city_id takes precedence.",
+ "operationId": "agoda-hotels-search",
+ "parameters": [
+ {
+ "description": "Numeric Agoda city id, e.g. 9395 for Bangkok. Either city_id or city is required; city_id takes precedence when both are supplied.",
+ "in": "query",
+ "name": "city_id",
+ "type": "integer",
+ "x-example": 9395
+ },
+ {
+ "description": "Free-text city name, resolved to a numeric city id via Agoda's own destination search. Ignored when city_id is also supplied.",
+ "in": "query",
+ "name": "city",
+ "type": "string",
+ "x-example": "Bangkok"
+ },
+ {
+ "description": "1-indexed result page, defaults to 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer",
+ "x-example": 1
+ },
+ {
+ "description": "Results per page, defaults to 10, maximum 50",
+ "in": "query",
+ "name": "limit",
+ "type": "integer",
+ "x-example": 10
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/agoda.searchResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Search Agoda hotels by city",
+ "tags": [
+ "Agoda"
+ ]
+ }
+ },
+ "/agoda/hotels/{property_id}": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns full hotel detail from Agoda: identity (name, any former name), an accommodation type code, address (street address, postal code, city, country), guest rating, a main photo, room count, hotel chain id, a long and short description, and short-form policy statements (minimum age, adult/child definitions, extra-bed and additional-room booking policy).",
+ "operationId": "agoda-hotel-detail",
+ "parameters": [
+ {
+ "description": "Numeric Agoda property id, from a prior search call's property_id field or the id embedded in an Agoda hotel URL",
+ "in": "path",
+ "name": "property_id",
+ "required": true,
+ "type": "string",
+ "x-example": "10637"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/agoda.DetailResponse"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Agoda hotel detail",
+ "tags": [
+ "Agoda"
+ ]
+ }
+ },
+ "/airbnb/host/{id}": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns an Airbnb public host profile — display name, Superhost and identity-verification status, location, bio, hosting tenure, total guest-review count, and total listing count.",
+ "operationId": "airbnb-host",
+ "parameters": [
+ {
+ "description": "Host id (numeric)",
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "type": "string",
+ "x-example": "65056940"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/airbnb.HostResponse"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Airbnb host profile",
+ "tags": [
+ "Airbnb"
+ ]
+ }
+ },
+ "/airbnb/host/{id}/listings": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the listings an Airbnb host manages, paginated. Page 1 comes from the host profile; deeper pages page through the host's full portfolio.",
+ "operationId": "airbnb-host-listings",
+ "parameters": [
+ {
+ "description": "Host id (numeric)",
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "type": "string",
+ "x-example": "65056940"
+ },
+ {
+ "description": "1-based page",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/airbnb.HostListingsResponse"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Airbnb host listings",
+ "tags": [
+ "Airbnb"
+ ]
+ }
+ },
+ "/airbnb/host/{id}/reviews": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the reviews guests left for an Airbnb host, identified by the numeric host `id`. `page` is 1-based (default 1). Each review has its `id`, `rating`, `comments`, `created_at`, `reviewer` name and `reviewer_location`, and `has_more` says whether another page follows.",
+ "operationId": "airbnb-host-reviews",
+ "parameters": [
+ {
+ "description": "Host id (numeric)",
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "type": "string",
+ "x-example": "65056940"
+ },
+ {
+ "description": "1-based page",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/airbnb.HostReviewsResponse"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Airbnb host reviews",
+ "tags": [
+ "Airbnb"
+ ]
+ }
+ },
+ "/airbnb/room/{id}": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the public details of one Airbnb listing by room id: title, description, property type, location and coordinates, guest capacity, amenities, price and price per night, rating, review count, host, and the Superhost and Guest Favorite flags. Some fields are present only when Airbnb exposes them for the listing.",
+ "operationId": "airbnb-room",
+ "parameters": [
+ {
+ "description": "Room id",
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "type": "string",
+ "x-example": "1384733959726184048"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/airbnb.RoomResponse"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Airbnb room",
+ "tags": [
+ "Airbnb"
+ ]
+ }
+ },
+ "/airbnb/room/{id}/calendar": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the public availability calendar for one Airbnb room, grouped by month. Each day carries its date, whether it is available and bookable, whether it can be a check-in or check-out day, and the minimum and maximum nights. Months are returned only when Airbnb exposes them for the listing.",
+ "operationId": "airbnb-room-calendar",
+ "parameters": [
+ {
+ "description": "Room id",
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "type": "string",
+ "x-example": "1384733959726184048"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/airbnb.CalendarResponse"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Airbnb room calendar",
+ "tags": [
+ "Airbnb"
+ ]
+ }
+ },
+ "/airbnb/room/{id}/reviews": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns public guest reviews for one Airbnb room by room id, one page at a time (`page` is 1-based). Each review has the author, date, rating and text. Reviews are returned only when Airbnb exposes them for the listing.",
+ "operationId": "airbnb-room-reviews",
+ "parameters": [
+ {
+ "description": "Room id",
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "type": "string",
+ "x-example": "1384733959726184048"
+ },
+ {
+ "description": "1-based page",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/airbnb.ReviewsResponse"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Airbnb room reviews",
+ "tags": [
+ "Airbnb"
+ ]
+ }
+ },
+ "/airbnb/search": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Searches public Airbnb stays for a location, with optional check-in and check-out dates, adult count, currency and page. Pass `ne_lat`, `ne_lng`, `sw_lat` and `sw_lng` to bound the search to a map area. Each result has the listing id, title, URL, location and coordinates, price and price per night, rating, review count, host, and the Superhost and Guest Favorite flags.",
+ "operationId": "airbnb-search",
+ "parameters": [
+ {
+ "description": "Location",
+ "in": "query",
+ "name": "location",
+ "required": true,
+ "type": "string",
+ "x-example": "New York, NY"
+ },
+ {
+ "description": "Check-in date",
+ "in": "query",
+ "name": "check_in",
+ "type": "string"
+ },
+ {
+ "description": "Check-out date",
+ "in": "query",
+ "name": "check_out",
+ "type": "string"
+ },
+ {
+ "description": "Adult guests",
+ "in": "query",
+ "name": "adults",
+ "type": "integer"
+ },
+ {
+ "description": "1-based page",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Currency for bounded map search",
+ "in": "query",
+ "name": "currency",
+ "type": "string"
+ },
+ {
+ "description": "Northeast latitude for bounded map search",
+ "in": "query",
+ "name": "ne_lat",
+ "type": "number"
+ },
+ {
+ "description": "Northeast longitude for bounded map search",
+ "in": "query",
+ "name": "ne_lng",
+ "type": "number"
+ },
+ {
+ "description": "Southwest latitude for bounded map search",
+ "in": "query",
+ "name": "sw_lat",
+ "type": "number"
+ },
+ {
+ "description": "Southwest longitude for bounded map search",
+ "in": "query",
+ "name": "sw_lng",
+ "type": "number"
+ },
+ {
+ "description": "Map zoom for bounded map search",
+ "in": "query",
+ "name": "zoom",
+ "type": "integer"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/airbnb.SearchResponse"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Search Airbnb stays",
+ "tags": [
+ "Airbnb"
+ ]
+ }
+ },
+ "/alcom/headlines": {
+ "get": {
+ "description": "Returns current headlines from one of AL.com's section feeds. Summaries are brief publisher teasers, not full article text.",
+ "operationId": "alcom-headlines",
+ "parameters": [
+ {
+ "description": "AL.com editorial section",
+ "enum": [
+ "news",
+ "sports",
+ "life"
+ ],
+ "in": "query",
+ "name": "section",
+ "required": true,
+ "type": "string",
+ "x-example": "news"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.headlinesResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get AL.com section headlines",
+ "tags": [
+ "AL.com"
+ ]
+ }
+ },
+ "/alcom/news": {
+ "get": {
+ "description": "Returns current AL.com News stories. Summaries are brief publisher teasers, not full article text.",
+ "operationId": "alcom-news",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.newsResponseDoc"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get AL.com top stories",
+ "tags": [
+ "AL.com"
+ ]
+ }
+ },
+ "/alcom/sections": {
+ "get": {
+ "description": "Lists the three top-level editorial sections in AL.com's navigation: `news`, `sports` and `life`. Each has a `slug`, a display `name` and the section's page `url`, and the slugs are the values `alcom-headlines` accepts for `section`.",
+ "operationId": "alcom-sections",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.sectionsResponseDoc"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get AL.com editorial sections",
+ "tags": [
+ "AL.com"
+ ]
+ }
+ },
+ "/aliexpress/categories": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns AliExpress's category navigation taxonomy. With no parameters it lists the top-level category tabs (about 24), each with its navigation id, name, numeric platform category id and icon. Pass one tab's id as category_tab to expand that tab into its second- and third-level categories; third-level categories carry the search keyword and a ready-to-use search URL, so they can be passed to the search endpoint as q. Category ids are exposed only where AliExpress's payload actually carries them: second-level categories have no numeric platform id, so none is invented for them. This is a taxonomy surface, not a product listing.",
+ "operationId": "aliexpress-categories",
+ "parameters": [
+ {
+ "description": "Top-level tab id from an unfiltered response, e.g. electronics; omit to list top-level tabs only",
+ "in": "query",
+ "name": "category_tab",
+ "type": "string",
+ "x-example": "electronics"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/aliexpress.categoriesResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "List AliExpress category navigation",
+ "tags": [
+ "AliExpress"
+ ]
+ }
+ },
+ "/aliexpress/category-ids": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the AliExpress web category ids that its own product cards carry on one listing page, with each id's parent, depth and full category path. Pass q to discover the categories of products matching a keyword, or category_id to inspect one category listing. Pass exactly one of them. The ids are the same web category ids used in /category//.html URLs and by the search endpoint's cat_id parameter; they are NOT the platform/taxonomy ids returned by the categories endpoint. A parent category listing contains products from its descendants, so inspecting a category reveals its child ids, and every returned path names that id's ancestors: the value space is discoverable by walking from a keyword or a category id rather than guessing.",
+ "operationId": "aliexpress-category-ids",
+ "parameters": [
+ {
+ "description": "Free-text keywords whose result cards' web category ids are returned; pass exactly one of q or category_id",
+ "in": "query",
+ "name": "q",
+ "type": "string",
+ "x-example": "wireless earbuds"
+ },
+ {
+ "description": "AliExpress web category id whose listing is inspected; a parent category reveals its descendants' ids. Pass exactly one of q or category_id",
+ "in": "query",
+ "name": "category_id",
+ "type": "integer",
+ "x-example": 44
+ },
+ {
+ "description": "1-indexed listing page to inspect (1-60), defaults to 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer",
+ "x-example": 1
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/aliexpress.categoryIDsResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Discover AliExpress web category ids",
+ "tags": [
+ "AliExpress"
+ ]
+ }
+ },
+ "/aliexpress/category-products": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns one page (up to 60 products) of a public AliExpress category listing with the same product fields as the search endpoint: product id, title, link, image, price, currency, original price, rating, sold text, discount, SKU id, ship-from country and store name when AliExpress lists them. category_id is the AliExpress web category id from a /category//.html URL (for example 5090301 for Cellphones); the slug segment is cosmetic (the listing is selected by id) and defaults to products. The listing uses the anonymous US English/USD locale. Product-detail pages are currently unavailable through the supported HTTP profiles.",
+ "operationId": "aliexpress-category-products",
+ "parameters": [
+ {
+ "description": "AliExpress web category id: the number in a /category//.html URL (for example 5090301 for Cellphones); taxonomy ids from the categories endpoint are a different namespace and are not interchangeable",
+ "in": "query",
+ "name": "category_id",
+ "required": true,
+ "type": "integer",
+ "x-example": 5090301
+ },
+ {
+ "description": "Category path segment used by AliExpress's own URL (lower-case letters, digits, hyphens); cosmetic, defaults to products",
+ "in": "query",
+ "name": "slug",
+ "type": "string",
+ "x-example": "cellphones"
+ },
+ {
+ "description": "1-indexed result page (1-60), defaults to 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer",
+ "x-example": 1
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/aliexpress.categoryProductsResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "List products in an AliExpress category",
+ "tags": [
+ "AliExpress"
+ ]
+ }
+ },
+ "/aliexpress/reviews": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns one page of public reviews and rating statistics for a numeric AliExpress product id. AliExpress currently returns up to 20 review records per page.",
+ "operationId": "aliexpress-reviews",
+ "parameters": [
+ {
+ "description": "Numeric AliExpress product id",
+ "in": "query",
+ "name": "product_id",
+ "required": true,
+ "type": "string",
+ "x-example": "3256812072210872"
+ },
+ {
+ "description": "1-indexed review page (1-50), defaults to 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer",
+ "x-example": 1
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/aliexpress.reviewsResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get AliExpress product reviews",
+ "tags": [
+ "AliExpress"
+ ]
+ }
+ },
+ "/aliexpress/search": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns one page (up to 60 products) of public keyword search results with product ids, titles, links, images, prices, ratings, sold text, discount, SKU id, ship-from country, and store name when AliExpress lists them. Results can be sorted and filtered by price, free shipping, the Choice program, and product attributes; list the attribute values for a keyword with the search-filters endpoint. The search uses the anonymous US English/USD locale. Product-detail pages are currently unavailable through the supported HTTP profiles.",
+ "operationId": "aliexpress-search",
+ "parameters": [
+ {
+ "description": "Free-text search keywords",
+ "in": "query",
+ "name": "q",
+ "required": true,
+ "type": "string",
+ "x-example": "wireless earbuds"
+ },
+ {
+ "description": "1-indexed result page (1-60), defaults to 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer",
+ "x-example": 1
+ },
+ {
+ "description": "Sort order. Allowed values: best_match (default), orders, price_asc, price_desc",
+ "enum": [
+ "best_match",
+ "orders",
+ "price_asc",
+ "price_desc"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string",
+ "x-example": "price_asc"
+ },
+ {
+ "description": "Minimum price in USD (0-1000000)",
+ "in": "query",
+ "name": "min_price",
+ "type": "number",
+ "x-example": 20
+ },
+ {
+ "description": "Maximum price in USD (0-1000000), not below min_price",
+ "in": "query",
+ "name": "max_price",
+ "type": "number",
+ "x-example": 30
+ },
+ {
+ "description": "Only free-shipping products",
+ "in": "query",
+ "name": "free_shipping",
+ "type": "boolean"
+ },
+ {
+ "description": "Only products in AliExpress's Choice program",
+ "in": "query",
+ "name": "choice",
+ "type": "boolean"
+ },
+ {
+ "description": "Attribute filter -, from the search-filters endpoint for the same q; comma-separate up to 5 values, one per attribute group",
+ "in": "query",
+ "name": "attr",
+ "type": "string",
+ "x-example": "3079-4148335"
+ },
+ {
+ "description": "Search within one AliExpress web category id (the number in a /category//.html URL); taxonomy ids from the categories endpoint are a different namespace and are not interchangeable",
+ "in": "query",
+ "name": "cat_id",
+ "type": "integer",
+ "x-example": 5090301
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/aliexpress.searchResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Search AliExpress products",
+ "tags": [
+ "AliExpress"
+ ]
+ }
+ },
+ "/aliexpress/search-filters": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns every sort value and boolean filter the search endpoint accepts, plus the product-attribute filters (brand, color, style, and so on) AliExpress offers for the keyword, as ready-to-use attr values. Attribute filters differ per keyword, so call this with the same q as the search.",
+ "operationId": "aliexpress-search-filters",
+ "parameters": [
+ {
+ "description": "Free-text search keywords",
+ "in": "query",
+ "name": "q",
+ "required": true,
+ "type": "string",
+ "x-example": "wireless earbuds"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/aliexpress.filtersResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "List AliExpress search filters",
+ "tags": [
+ "AliExpress"
+ ]
+ }
+ },
+ "/aliexpress/suggest": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns AliExpress's own search-box keyword completions for a query, with a ready-to-use search URL for each suggestion. This is a suggestion/autocomplete surface, not a product feed: the upstream payload contains keyword strings only, so no product id, title, price or seller is returned. AliExpress usually offers 10-12 suggestions; each suggestion's url is the matching AliExpress search page and can be passed to the search endpoint as q.",
+ "operationId": "aliexpress-suggest",
+ "parameters": [
+ {
+ "description": "Partial or full search keywords to complete",
+ "in": "query",
+ "name": "q",
+ "required": true,
+ "type": "string",
+ "x-example": "wireless earbuds"
+ },
+ {
+ "description": "Maximum suggestions to return (1-20), defaults to 10",
+ "in": "query",
+ "name": "limit",
+ "type": "integer",
+ "x-example": 10
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/aliexpress.suggestResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Suggest AliExpress search keywords",
+ "tags": [
+ "AliExpress"
+ ]
+ }
+ },
+ "/aliexpress/trending-searches": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns AliExpress's own discovery/trending keyword feed from its anonymous search box: the hot-search keywords it groups by category, plus its discovery and shading keyword modules. Each item carries the keyword, its display casing when different, the kind (hot, shading, discovery, history), the module's UI label, the hot-list category, and a ready-to-use search URL; keyword thumbnails are included where AliExpress supplies them. This is a keyword-discovery feed, not a product list and not a personalized recommendation: no product id, title, price or seller is returned, and AliExpress does not promise a stable order between calls. The anonymous feed carries roughly 40 hot keywords plus a few discovery/shading keywords per call; search history is empty for anonymous callers.",
+ "operationId": "aliexpress-trending-searches",
+ "parameters": [
+ {
+ "description": "Maximum trending keywords to return (1-20), defaults to 10",
+ "in": "query",
+ "name": "limit",
+ "type": "integer",
+ "x-example": 10
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/aliexpress.trendingSearchesResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "List AliExpress trending searches",
+ "tags": [
+ "AliExpress"
+ ]
+ }
+ },
+ "/aljazeera/article": {
+ "get": {
+ "description": "Returns an Al Jazeera article by `url`, a canonical dated `www.aljazeera.com` address such as `/news/2026/9/20/example-slug`: title, description, publication and update times, section, credited authors, lead image and body `paragraphs`. Live-blog URLs return their opening summary bullets as the body; a video page with no article text returns `503` and a malformed URL `400`.",
+ "operationId": "aljazeera-article",
+ "parameters": [
+ {
+ "description": "Canonical www.aljazeera.com article URL",
+ "in": "query",
+ "name": "url",
+ "required": true,
+ "type": "string",
+ "x-example": "https://www.aljazeera.com/news/2026/9/20/example-slug"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/aljazeera.articleResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Al Jazeera article content",
+ "tags": [
+ "Al Jazeera"
+ ]
+ }
+ },
+ "/aljazeera/author": {
+ "get": {
+ "description": "Returns one Al Jazeera author's public profile (name, job title, bio when available) and one page of their recent articles, identified by an author slug or a canonical author URL.",
+ "operationId": "aljazeera-author",
+ "parameters": [
+ {
+ "description": "Al Jazeera author slug",
+ "in": "query",
+ "name": "slug",
+ "type": "string",
+ "x-example": "hakeem-najimdeen"
+ },
+ {
+ "description": "Canonical https://www.aljazeera.com/author/ URL, as an alternative to slug",
+ "in": "query",
+ "name": "url",
+ "type": "string",
+ "x-example": "https://www.aljazeera.com/author/hakeem-najimdeen"
+ },
+ {
+ "description": "1-based page number of the author's article list; overrides any page embedded in url",
+ "in": "query",
+ "name": "page",
+ "type": "integer",
+ "x-example": 1
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/aljazeera.authorResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get an Al Jazeera author's profile and recent articles",
+ "tags": [
+ "Al Jazeera"
+ ]
+ }
+ },
+ "/aljazeera/categories": {
+ "get": {
+ "description": "Lists Al Jazeera's current section navigation, each entry with a `name`, `slug` and `url`. A slug has one segment (`news`, `middle-east`) or two (`tag/human-rights`), and any returned `slug` can be passed as the `topic` parameter of `aljazeera-topic`.",
+ "operationId": "aljazeera-categories",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/aljazeera.categoriesResponseDoc"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Al Jazeera section navigation",
+ "tags": [
+ "Al Jazeera"
+ ]
+ }
+ },
+ "/aljazeera/headlines": {
+ "get": {
+ "description": "Returns recent Al Jazeera text-news headlines from across the site, with no input needed. Each item has a title, canonical URL, summary, publication time and the section when present. Video items are excluded because the article endpoint supports text stories only.",
+ "operationId": "aljazeera-headlines",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/aljazeera.headlinesResponseDoc"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Al Jazeera site-wide headlines",
+ "tags": [
+ "Al Jazeera"
+ ]
+ }
+ },
+ "/aljazeera/topic": {
+ "get": {
+ "description": "Returns the newest public Al Jazeera stories from one section archive page. topic is a section slug; use aljazeera-categories for the current value space.",
+ "operationId": "aljazeera-topic",
+ "parameters": [
+ {
+ "description": "Al Jazeera section slug",
+ "in": "query",
+ "name": "topic",
+ "required": true,
+ "type": "string",
+ "x-example": "news"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/aljazeera.topicResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Al Jazeera section headlines",
+ "tags": [
+ "Al Jazeera"
+ ]
+ }
+ },
+ "/allbirds/collections": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns collections from Allbirds (https://www.allbirds.com). The storefront URL is fixed server-side. Valid empty result pages return `200` with an empty collections array.",
+ "operationId": "allbirds-collections",
+ "parameters": [
+ {
+ "description": "1-based page, defaults to 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer",
+ "x-example": 1
+ },
+ {
+ "description": "Maximum collections, defaults to 50 and supports up to 250",
+ "in": "query",
+ "name": "limit",
+ "type": "integer",
+ "x-example": 50
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/shopifybrands.collectionsResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "List Allbirds collections",
+ "tags": [
+ "Allbirds"
+ ]
+ }
+ },
+ "/allbirds/collections/{handle}/products": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns products from one Allbirds (https://www.allbirds.com) collection. The storefront URL is fixed server-side; `handle` is the collection's URL slug.",
+ "operationId": "allbirds-collection-products",
+ "parameters": [
+ {
+ "description": "Collection handle",
+ "in": "path",
+ "name": "handle",
+ "required": true,
+ "type": "string",
+ "x-example": "collection-handle"
+ },
+ {
+ "description": "1-based page, defaults to 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer",
+ "x-example": 1
+ },
+ {
+ "description": "Maximum products, defaults to 50 and supports up to 250",
+ "in": "query",
+ "name": "limit",
+ "type": "integer",
+ "x-example": 50
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/shopifybrands.collectionProductsResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "List Allbirds collection products",
+ "tags": [
+ "Allbirds"
+ ]
+ }
+ },
+ "/allbirds/pages": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Lists static pages from the Allbirds store, paged with `page` (default 1) and `limit` (default 50, max 250). Each item has `handle`, `title`, `url`, `id`, publish and update times and plain-text `content`. In some responses items carry only `handle`, `url` and `updated_at`.",
+ "operationId": "allbirds-pages",
+ "parameters": [
+ {
+ "description": "1-based page, defaults to 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer",
+ "x-example": 1
+ },
+ {
+ "description": "Maximum static pages, defaults to 50 and supports up to 250",
+ "in": "query",
+ "name": "limit",
+ "type": "integer",
+ "x-example": 50
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/shopifybrands.pagesResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "List Allbirds static pages",
+ "tags": [
+ "Allbirds"
+ ]
+ }
+ },
+ "/allbirds/pages/{handle}": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns one static page from the Allbirds store by its `handle`: title, URL, publish and update times, and `content` as plain text rather than HTML. `id` is omitted on some pages. A handle that does not exist returns 404.",
+ "operationId": "allbirds-page",
+ "parameters": [
+ {
+ "description": "Page handle",
+ "in": "path",
+ "name": "handle",
+ "required": true,
+ "type": "string",
+ "x-example": "page-handle"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/shopifybrands.pageResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get a Allbirds static page",
+ "tags": [
+ "Allbirds"
+ ]
+ }
+ },
+ "/allbirds/products": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns products from Allbirds's (https://www.allbirds.com) public product catalog. The storefront URL is fixed server-side. Valid empty result pages return `200` with an empty products array.",
+ "operationId": "allbirds-products",
+ "parameters": [
+ {
+ "description": "1-based page, defaults to 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer",
+ "x-example": 1
+ },
+ {
+ "description": "Maximum products, defaults to 50 and supports up to 250",
+ "in": "query",
+ "name": "limit",
+ "type": "integer",
+ "x-example": 50
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/shopifybrands.productsResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "List Allbirds products",
+ "tags": [
+ "Allbirds"
+ ]
+ }
+ },
+ "/allbirds/products/{handle}": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns product detail for one Allbirds (https://www.allbirds.com) product handle. The storefront URL is fixed server-side; `handle` is the product's URL slug.",
+ "operationId": "allbirds-product",
+ "parameters": [
+ {
+ "description": "Product handle",
+ "in": "path",
+ "name": "handle",
+ "required": true,
+ "type": "string",
+ "x-example": "product-handle"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/shopifybrands.productResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get a Allbirds product",
+ "tags": [
+ "Allbirds"
+ ]
+ }
+ },
+ "/allbirds/products/{handle}/recommendations": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns recommended products for one Allbirds (https://www.allbirds.com) product handle. The storefront URL is fixed server-side.",
+ "operationId": "allbirds-product-recommendations",
+ "parameters": [
+ {
+ "description": "Product handle",
+ "in": "path",
+ "name": "handle",
+ "required": true,
+ "type": "string",
+ "x-example": "product-handle"
+ },
+ {
+ "description": "Maximum products, defaults to 10 and supports up to 20",
+ "in": "query",
+ "name": "limit",
+ "type": "integer",
+ "x-example": 10
+ },
+ {
+ "description": "Recommendation intent. Allowed values: related, complementary",
+ "enum": [
+ "related",
+ "complementary"
+ ],
+ "in": "query",
+ "name": "intent",
+ "type": "string",
+ "x-example": "related"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/shopifybrands.productRecommendationsResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "List Allbirds product recommendations",
+ "tags": [
+ "Allbirds"
+ ]
+ }
+ },
+ "/allbirds/search/suggest": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns products, collections, and query suggestions from Allbirds's (https://www.allbirds.com) predictive search. The storefront URL is fixed server-side.",
+ "operationId": "allbirds-search-suggest",
+ "parameters": [
+ {
+ "description": "Search query",
+ "in": "query",
+ "name": "q",
+ "required": true,
+ "type": "string",
+ "x-example": "wool"
+ },
+ {
+ "description": "Comma-separated suggestion types. Allowed values: product, collection, query",
+ "in": "query",
+ "name": "types",
+ "type": "string",
+ "x-example": "product,collection,query"
+ },
+ {
+ "description": "Maximum results per type, defaults to 10 and supports up to 20",
+ "in": "query",
+ "name": "limit",
+ "type": "integer",
+ "x-example": 10
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/shopifybrands.searchSuggestResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Allbirds search suggestions",
+ "tags": [
+ "Allbirds"
+ ]
+ }
+ },
+ "/allbirds/sitemap/urls": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Lists URL entries from the Allbirds store sitemaps, filtered by `type` (`all`, `products`, `collections`, `pages`, `blogs`, `agentic_discovery` or `other`; default `all`). `limit` defaults to 50 and is capped at 250. Each entry has `loc`, `type`, `handle`, `lastmod`, `changefreq` and optional `images`.",
+ "operationId": "allbirds-sitemap-urls",
+ "parameters": [
+ {
+ "description": "Sitemap type. Allowed values: all, products, collections, pages, blogs, agentic_discovery, other",
+ "enum": [
+ "all",
+ "products",
+ "collections",
+ "pages",
+ "blogs",
+ "agentic_discovery",
+ "other"
+ ],
+ "in": "query",
+ "name": "type",
+ "type": "string",
+ "x-example": "products"
+ },
+ {
+ "description": "Maximum URL entries, defaults to 50 and supports up to 250",
+ "in": "query",
+ "name": "limit",
+ "type": "integer",
+ "x-example": 50
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/shopifybrands.sitemapURLsResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "List Allbirds sitemap URLs",
+ "tags": [
+ "Allbirds"
+ ]
+ }
+ },
+ "/allbirds/sitemaps": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Lists the child sitemaps in the Allbirds store's sitemap index, each with its `loc` and a `type` of `products`, `collections`, `pages`, `blogs`, `agentic_discovery` or `other`. Takes no parameters. The types match the `type` filter of `allbirds-sitemap-urls`.",
+ "operationId": "allbirds-sitemaps",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/shopifybrands.sitemapIndexResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "List Allbirds sitemaps",
+ "tags": [
+ "Allbirds"
+ ]
+ }
+ },
+ "/allbirds/store": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns storefront metadata for Allbirds (https://www.allbirds.com). The storefront URL is fixed server-side, so no `url` parameter is accepted.",
+ "operationId": "allbirds-store",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/shopifybrands.storeResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Allbirds store metadata",
+ "tags": [
+ "Allbirds"
+ ]
+ }
+ },
+ "/alt/asset": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns one card design's identity, full population report (across every grading company and grade Alt tracks), and a recent raw sales feed -- the \"is this card actually rare, and what does it sell for\" data for a specific card design, independent of any single listing. asset_id comes from a prior alt-search/alt-sold-listings/alt-card-search result's asset_id field. recent_sales has no per-transaction grade breakdown -- Alt does not expose one; see alt-sold-listings for per-grade sold prices on specific listings.",
+ "operationId": "alt-asset",
+ "parameters": [
+ {
+ "description": "The card design's asset id, from a Search/SoldListings/CardSearch result's asset_id field",
+ "in": "query",
+ "name": "asset_id",
+ "required": true,
+ "type": "string",
+ "x-example": "c3156728-e7eb-11ea-a6f0-02d4568f26ba"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/alt.assetResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get one card design's population report and recent sales",
+ "tags": [
+ "Alt"
+ ]
+ }
+ },
+ "/alt/auctions": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Searches Alt's own currently live auctions -- the same pool shown on alt.xyz/browse's \"Auctions\" tab filtered to the Alt source. Unlike alt-search, this never returns another source auction house's listings or Alt's own fixed-price items. See alt-categories for the accepted category/grading_company/sort values.",
+ "operationId": "alt-auctions",
+ "parameters": [
+ {
+ "description": "Free-text search across item name, subject, brand, and variety. Omit or pass * to browse every current Alt auction.",
+ "in": "query",
+ "name": "q",
+ "type": "string",
+ "x-example": "michael jordan"
+ },
+ {
+ "description": "Comma-separated card category filter",
+ "enum": [
+ "BASEBALL_CARDS",
+ "POKEMON_CARDS",
+ "FOOTBALL_CARDS",
+ "BASKETBALL_CARDS",
+ "POP-CULTURE_CARDS",
+ "HOCKEY_CARDS",
+ "SOCCER_CARDS",
+ "ONE_PIECE_CARDS",
+ "OTHER_CARDS",
+ "TCG_CARDS",
+ "COMBAT_SPORTS_CARDS",
+ "RACING_CARDS",
+ "MAGIC_CARDS",
+ "YUGIOH_CARDS",
+ "GOLF_CARDS",
+ "TENNIS_CARDS"
+ ],
+ "in": "query",
+ "name": "category",
+ "type": "string"
+ },
+ {
+ "description": "Comma-separated grading company filter",
+ "enum": [
+ "PSA",
+ "CGC",
+ "BGS",
+ "CSG",
+ "SGC",
+ "PSA/DNA",
+ "BVG",
+ "BCCG",
+ "Factory Sealed",
+ "BAS",
+ "AUTHENTIC",
+ "TAG",
+ "RELABEL",
+ "RECASE",
+ "JSA/BVG",
+ "REVIEW",
+ "INTERNAL",
+ "NEW/",
+ "BULK",
+ "OTHERS",
+ "UNGRADED"
+ ],
+ "in": "query",
+ "name": "grading_company",
+ "type": "string"
+ },
+ {
+ "description": "Result order. Default recommended.",
+ "enum": [
+ "recommended",
+ "alt_value_desc",
+ "alt_value_asc",
+ "price_desc",
+ "price_asc",
+ "watched_desc",
+ "ending_soonest_asc",
+ "timestamp_desc"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "1-based page number, default 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Results per page, default 24, max 100",
+ "in": "query",
+ "name": "per_page",
+ "type": "integer"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/alt.auctionsResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Search Alt's own live 24/7 auctions",
+ "tags": [
+ "Alt"
+ ]
+ }
+ },
+ "/alt/card-search": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Searches Alt's reference card-design catalog -- a canonical catalog of card designs (one entry per year/brand/subject/card-number/variety combination), separate from live listings or sales. Useful for finding a card design's asset_id (to feed into alt-asset for a population report and recent sales) without already having a live listing or sale that references it.",
+ "operationId": "alt-card-search",
+ "parameters": [
+ {
+ "description": "Free-text search across card name, subject, brand, and variety",
+ "in": "query",
+ "name": "q",
+ "type": "string",
+ "x-example": "michael jordan"
+ },
+ {
+ "description": "1-based page number, default 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Results per page, default 24, max 100",
+ "in": "query",
+ "name": "per_page",
+ "type": "integer"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/alt.cardSearchResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Search Alt's reference card-design catalog",
+ "tags": [
+ "Alt"
+ ]
+ }
+ },
+ "/alt/categories": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns every accepted value for alt-search/alt-auctions/alt-sold-listings' category, auction_house, grading_company, and listing_type params, plus the sort enum. category/auction_house/grading_company/listing_type are read live from Alt's own current search index on every call, not a fixed taxonomy -- so this endpoint self-corrects if Alt's aggregator adds a new source auction house, grading company, or category.",
+ "operationId": "alt-categories",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/alt.categoriesResponseDoc"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "List Alt search filter values",
+ "tags": [
+ "Alt"
+ ]
+ }
+ },
+ "/alt/listing": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "One listing's full public detail -- title, description, price/bid state, grading info, and images -- across Alt's own native listings and its aggregated external listings. id and listing_type come from a prior alt-search/alt-auctions result, or from an alt-sold-listings result's listing_id and listing_type for a completed sale on Alt itself. Not every response field applies to every listing_type -- see the field-level notes in this endpoint's markdown doc.",
+ "operationId": "alt-listing",
+ "parameters": [
+ {
+ "description": "The listing's id, from a Search/Auctions result's id field, or a sold-listings result's listing_id for a completed sale on Alt itself",
+ "in": "query",
+ "name": "id",
+ "required": true,
+ "type": "string",
+ "x-example": "58e5a6a5-a7ad-417f-8cda-ceffb226928c"
+ },
+ {
+ "description": "The listing's listing_type from the same Search/Auctions result",
+ "enum": [
+ "AUCTION",
+ "FIXED_PRICE",
+ "EXTERNAL_AUCTION",
+ "EXTERNAL_FIXED_PRICE"
+ ],
+ "in": "query",
+ "name": "listing_type",
+ "required": true,
+ "type": "string",
+ "x-example": "AUCTION"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/alt.listingResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get one Alt listing's full public detail",
+ "tags": [
+ "Alt"
+ ]
+ }
+ },
+ "/alt/market-trends": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns Alt's own category-level price-trend index -- the same data alt.xyz's \"Market Trends\" page shows: a weekly/monthly/90-day change and a current index value per card category, built from Alt's own sold/valuation data.",
+ "operationId": "alt-market-trends",
+ "parameters": [
+ {
+ "description": "Optional exact category filter -- must match one of the categories present in the live response (a subset of alt-categories' category list; Alt only publishes a trend index for its own tracked sports categories). Omit to get every tracked category.",
+ "in": "query",
+ "name": "category",
+ "type": "string",
+ "x-example": "BASKETBALL_CARDS"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/alt.marketTrendsResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Alt's card-market price-trend index",
+ "tags": [
+ "Alt"
+ ]
+ }
+ },
+ "/alt/search": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Searches Alt's universal aggregator index -- live auction and fixed-price listings from Alt itself and every other source auction house its search carries (eBay, Fanatics Collect, Pristine Auction, Goldin, CardHobby, Memory Lane) -- by free-text query, category, source auction house, grading company, and listing type, in a caller-selected sort order. Only currently-live listings are returned; see alt-sold-listings for completed sales. See alt-categories for the accepted category/auction_house/grading_company/listing_type/sort values.",
+ "operationId": "alt-search",
+ "parameters": [
+ {
+ "description": "Free-text search across item name, subject, brand, and variety. Omit or pass * to browse everything.",
+ "in": "query",
+ "name": "q",
+ "type": "string",
+ "x-example": "michael jordan"
+ },
+ {
+ "description": "Comma-separated card category filter",
+ "enum": [
+ "BASEBALL_CARDS",
+ "POKEMON_CARDS",
+ "FOOTBALL_CARDS",
+ "BASKETBALL_CARDS",
+ "POP-CULTURE_CARDS",
+ "HOCKEY_CARDS",
+ "SOCCER_CARDS",
+ "ONE_PIECE_CARDS",
+ "OTHER_CARDS",
+ "TCG_CARDS",
+ "COMBAT_SPORTS_CARDS",
+ "RACING_CARDS",
+ "MAGIC_CARDS",
+ "YUGIOH_CARDS",
+ "GOLF_CARDS",
+ "TENNIS_CARDS"
+ ],
+ "in": "query",
+ "name": "category",
+ "type": "string"
+ },
+ {
+ "description": "Comma-separated source auction house filter",
+ "enum": [
+ "eBay",
+ "Fanatics Collect",
+ "Alt",
+ "Pristine Auction",
+ "Goldin",
+ "CardHobby",
+ "Memory Lane"
+ ],
+ "in": "query",
+ "name": "auction_house",
+ "type": "string"
+ },
+ {
+ "description": "Comma-separated grading company filter",
+ "enum": [
+ "PSA",
+ "CGC",
+ "BGS",
+ "CSG",
+ "SGC",
+ "PSA/DNA",
+ "BVG",
+ "BCCG",
+ "Factory Sealed",
+ "BAS",
+ "AUTHENTIC",
+ "TAG",
+ "RELABEL",
+ "RECASE",
+ "JSA/BVG",
+ "REVIEW",
+ "INTERNAL",
+ "NEW/",
+ "BULK",
+ "OTHERS",
+ "UNGRADED"
+ ],
+ "in": "query",
+ "name": "grading_company",
+ "type": "string"
+ },
+ {
+ "description": "Comma-separated listing type filter. Omit to search auctions and fixed-price listings from every source together.",
+ "enum": [
+ "AUCTION",
+ "FIXED_PRICE",
+ "EXTERNAL_AUCTION",
+ "EXTERNAL_FIXED_PRICE"
+ ],
+ "in": "query",
+ "name": "listing_type",
+ "type": "string"
+ },
+ {
+ "description": "Result order. Default recommended.",
+ "enum": [
+ "recommended",
+ "alt_value_desc",
+ "alt_value_asc",
+ "price_desc",
+ "price_asc",
+ "watched_desc",
+ "ending_soonest_asc",
+ "timestamp_desc"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "1-based page number, default 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Results per page, default 24, max 100",
+ "in": "query",
+ "name": "per_page",
+ "type": "integer"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/alt.searchResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Search Alt's aggregated card marketplace",
+ "tags": [
+ "Alt"
+ ]
+ }
+ },
+ "/alt/sold-listings": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Searches Alt's global archive of completed card sales, aggregated across every source auction house its search carries -- the \"market data\" side of Alt's card-investment-marketplace positioning. This is a separate index from alt-search/alt-auctions, scoped to a rolling 90-day window, not a filtered view of live listings. Filter by sold date (sold_from, sold_to), by when Alt added the sale to its index (added_from, added_to), by listing type, grade, subject, brand, card number, year, price, population and the serial, print-run and rookie flags; order with sort (sold date, added time, price, population or year, either direction); up to 250 rows per page. To read only new sales, pass the largest added_at you already hold as added_from with sort=added_asc and de-duplicate on id. Pass auction_house=Alt to see only Alt's own completed sales. Each of Alt's own sales carries listing_id and listing_type -- pass both to alt-listing to get that item's certificate number -- and its url is the alt.xyz item page; a sale aggregated from another auction house carries that source site's own url instead. See alt-categories for the accepted category/auction_house/grading_company values.",
+ "operationId": "alt-sold-listings",
+ "parameters": [
+ {
+ "description": "Free-text search across item name, subject, brand, and variety. Omit or pass * to browse the most recent sales.",
+ "in": "query",
+ "name": "q",
+ "type": "string",
+ "x-example": "michael jordan"
+ },
+ {
+ "description": "Comma-separated card category filter",
+ "enum": [
+ "BASEBALL_CARDS",
+ "POKEMON_CARDS",
+ "FOOTBALL_CARDS",
+ "BASKETBALL_CARDS",
+ "POP-CULTURE_CARDS",
+ "HOCKEY_CARDS",
+ "SOCCER_CARDS",
+ "ONE_PIECE_CARDS",
+ "OTHER_CARDS",
+ "TCG_CARDS",
+ "COMBAT_SPORTS_CARDS",
+ "RACING_CARDS",
+ "MAGIC_CARDS",
+ "YUGIOH_CARDS",
+ "GOLF_CARDS",
+ "TENNIS_CARDS"
+ ],
+ "in": "query",
+ "name": "category",
+ "type": "string"
+ },
+ {
+ "description": "Comma-separated source auction house filter. Pass Alt to see only Alt's own completed auctions.",
+ "enum": [
+ "eBay",
+ "Fanatics Collect",
+ "Alt",
+ "Pristine Auction",
+ "Goldin",
+ "CardHobby",
+ "Memory Lane"
+ ],
+ "in": "query",
+ "name": "auction_house",
+ "type": "string"
+ },
+ {
+ "description": "Comma-separated grading company filter",
+ "enum": [
+ "PSA",
+ "CGC",
+ "BGS",
+ "CSG",
+ "SGC",
+ "PSA/DNA",
+ "BVG",
+ "BCCG",
+ "Factory Sealed",
+ "BAS",
+ "AUTHENTIC",
+ "TAG",
+ "RELABEL",
+ "RECASE",
+ "JSA/BVG",
+ "REVIEW",
+ "INTERNAL",
+ "NEW/",
+ "BULK",
+ "OTHERS",
+ "UNGRADED"
+ ],
+ "in": "query",
+ "name": "grading_company",
+ "type": "string"
+ },
+ {
+ "description": "Comma-separated listing type filter. AUCTION and FIXED_PRICE are Alt's own sales; EXTERNAL_AUCTION and EXTERNAL_FIXED_PRICE are aggregated from other houses.",
+ "enum": [
+ "AUCTION",
+ "FIXED_PRICE",
+ "EXTERNAL_AUCTION",
+ "EXTERNAL_FIXED_PRICE"
+ ],
+ "in": "query",
+ "name": "listing_type",
+ "type": "string"
+ },
+ {
+ "description": "Comma-separated grade filter. Combine with grading_company to pin a grade such as PSA 10.",
+ "enum": [
+ "1",
+ "1.5",
+ "2",
+ "2.5",
+ "3",
+ "3.5",
+ "4",
+ "4.5",
+ "5",
+ "5.5",
+ "6",
+ "6.5",
+ "7",
+ "7.5",
+ "8",
+ "8.5",
+ "9",
+ "9.5",
+ "10",
+ "Auth",
+ "PRI",
+ "BL"
+ ],
+ "in": "query",
+ "name": "grade",
+ "type": "string"
+ },
+ {
+ "description": "Exact match on the card's subject (player or character name), case-insensitive",
+ "in": "query",
+ "name": "subject",
+ "type": "string",
+ "x-example": "Michael Jordan"
+ },
+ {
+ "description": "Exact match on the card's brand (set name), case-insensitive",
+ "in": "query",
+ "name": "brand",
+ "type": "string",
+ "x-example": "Pokemon Base Set"
+ },
+ {
+ "description": "Exact match on the card number within its set, case-insensitive",
+ "in": "query",
+ "name": "card_number",
+ "type": "string",
+ "x-example": "GG35"
+ },
+ {
+ "description": "Only sales on or after this UTC date, YYYY-MM-DD. The index is a rolling 90-day window, so earlier dates return nothing.",
+ "in": "query",
+ "name": "sold_from",
+ "type": "string",
+ "x-example": "2026-11-01"
+ },
+ {
+ "description": "Only sales on or before this UTC date, YYYY-MM-DD",
+ "in": "query",
+ "name": "sold_to",
+ "type": "string",
+ "x-example": "2026-11-03"
+ },
+ {
+ "description": "Only sales Alt added to its index at or after this time, RFC 3339 or Unix seconds. Pass the largest added_at you already hold and de-duplicate on id to read only what is new.",
+ "in": "query",
+ "name": "added_from",
+ "type": "string",
+ "x-example": "2026-11-04T00:00:00Z"
+ },
+ {
+ "description": "Only sales Alt added to its index at or before this time, RFC 3339 or Unix seconds",
+ "in": "query",
+ "name": "added_to",
+ "type": "string",
+ "x-example": "2026-11-04T12:00:00Z"
+ },
+ {
+ "description": "Minimum card year, inclusive. Cards with an unknown year are never matched by a year filter.",
+ "in": "query",
+ "name": "year_min",
+ "type": "integer",
+ "x-example": 2020
+ },
+ {
+ "description": "Maximum card year, inclusive. Cards with an unknown year are never matched by a year filter.",
+ "in": "query",
+ "name": "year_max",
+ "type": "integer",
+ "x-example": 2023
+ },
+ {
+ "description": "Minimum sale price in US dollars, inclusive",
+ "in": "query",
+ "name": "price_min",
+ "type": "number",
+ "x-example": 100
+ },
+ {
+ "description": "Maximum sale price in US dollars, inclusive",
+ "in": "query",
+ "name": "price_max",
+ "type": "number",
+ "x-example": 5000
+ },
+ {
+ "description": "Minimum grading population, inclusive. Cards with an unknown population are never matched by a pop filter.",
+ "in": "query",
+ "name": "pop_min",
+ "type": "integer",
+ "x-example": 1
+ },
+ {
+ "description": "Maximum grading population, inclusive, for example 10 for low-pop cards. Cards with an unknown population are never matched. 0 or omitted means no maximum.",
+ "in": "query",
+ "name": "pop_max",
+ "type": "integer",
+ "x-example": 10
+ },
+ {
+ "description": "Serial-numbered cards (true) or cards without a serial number (false)",
+ "in": "query",
+ "name": "has_serial",
+ "type": "boolean"
+ },
+ {
+ "description": "Cards with a stated print run (true) or without one (false)",
+ "in": "query",
+ "name": "has_print_run",
+ "type": "boolean"
+ },
+ {
+ "description": "Rookie-year cards (true) or other cards (false)",
+ "in": "query",
+ "name": "rookie_year_card",
+ "type": "boolean"
+ },
+ {
+ "description": "Result order. Default recommended is Alt's relevance order. An explicit sort replaces text relevance. year_asc and pop_asc list unknown values (0) first.",
+ "enum": [
+ "recommended",
+ "sold_date_desc",
+ "sold_date_asc",
+ "added_desc",
+ "added_asc",
+ "price_desc",
+ "price_asc",
+ "pop_desc",
+ "pop_asc",
+ "year_desc",
+ "year_asc"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "1-based page number, default 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Results per page, default 24, max 250",
+ "in": "query",
+ "name": "per_page",
+ "type": "integer"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/alt.soldListingsResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Search Alt's completed sales archive",
+ "tags": [
+ "Alt"
+ ]
+ }
+ },
+ "/alt/top-movers": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns Alt's biggest price-index movers -- either a cross-subject leaderboard (optionally scoped to one category) or, when subject is set, that one player/character's own trend broken out per category it appears in. category is not strictly validated against alt-categories' list -- this trend index's own category set is broader (e.g. it includes MULTI-SPORT_CARDS).",
+ "operationId": "alt-top-movers",
+ "parameters": [
+ {
+ "description": "Optional category filter for the leaderboard. Ignored when subject is set. Omit to rank movers across every category.",
+ "in": "query",
+ "name": "category",
+ "type": "string",
+ "x-example": "BASKETBALL_CARDS"
+ },
+ {
+ "description": "Optional exact player/subject name. Returns that subject's own trend per category instead of a leaderboard, and category is ignored.",
+ "in": "query",
+ "name": "subject",
+ "type": "string",
+ "x-example": "Michael Jordan"
+ },
+ {
+ "description": "Max results, default 10, max 50",
+ "in": "query",
+ "name": "limit",
+ "type": "integer"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/alt.topMoversResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Alt's biggest card-market price movers",
+ "tags": [
+ "Alt"
+ ]
+ }
+ },
+ "/amazon-jobs/categories": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Lists every value amazon-jobs/search's `category` parameter accepts, each with its current live job count. Live-queries amazon.jobs's own search category facet rather than a static list, so counts and coverage stay current.",
+ "operationId": "amazon-jobs-categories",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/amazonjobs.categoriesResponseDoc"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Amazon Jobs category discovery",
+ "tags": [
+ "Amazon Jobs"
+ ]
+ }
+ },
+ "/amazon-jobs/job": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns one Amazon.jobs posting by its numeric job id (the `id` field returned by search).",
+ "operationId": "amazon-jobs-job",
+ "parameters": [
+ {
+ "description": "Numeric Amazon job id",
+ "in": "query",
+ "name": "id",
+ "required": true,
+ "type": "string",
+ "x-example": "10386857"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/amazonjobs.jobResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Amazon Jobs single posting",
+ "tags": [
+ "Amazon Jobs"
+ ]
+ }
+ },
+ "/amazon-jobs/search": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Searches Amazon's public careers site (amazon.jobs). Each result includes the full description and qualifications inline. `sort` accepts `relevant` (default, relevance ranking) or `recent` (newest posted first). Either `q` or `category` (or both) must be given -- `category` filters by Amazon's own job-category taxonomy and works with no text query at all. See `amazon-jobs-categories` for the full, live-verified list of accepted `category` values.",
+ "operationId": "amazon-jobs-search",
+ "parameters": [
+ {
+ "description": "Search query. Either q or category is required",
+ "in": "query",
+ "name": "q",
+ "type": "string",
+ "x-example": "software engineer"
+ },
+ {
+ "description": "Amazon's own job-category taxonomy slug, case-insensitive. Either q or category is required",
+ "enum": [
+ "administrative-support",
+ "applied-science",
+ "audio-video-photography-production",
+ "business-intelligence",
+ "business-merchant-development",
+ "buying-planning-instock-management",
+ "corporate-operations",
+ "customer-service",
+ "data-science",
+ "database-administration",
+ "design",
+ "economics",
+ "editorial-writing-content-management",
+ "facilities-maintenance-real-estate",
+ "finance-accounting",
+ "fulfillment-associate",
+ "fulfillment-operations-management",
+ "fulfillment-warehouse-associate",
+ "hardware-development",
+ "human-resources",
+ "investigation-loss-prevention",
+ "leadership-development-training",
+ "legal",
+ "machine-learning-science",
+ "marketing-pr",
+ "medical-health-safety",
+ "operations-it-support-engineering",
+ "procurement",
+ "project-program-product-management-non-tech",
+ "project-program-product-management-technical",
+ "public-policy",
+ "public-relations",
+ "research-science",
+ "sales-advertising-account-management",
+ "software-development",
+ "solutions-architect",
+ "supply-chain-transportation-management",
+ "systems-quality-security-engineering"
+ ],
+ "in": "query",
+ "name": "category",
+ "type": "string",
+ "x-example": "software-development"
+ },
+ {
+ "description": "ISO 3166-1 alpha-3 country code filter",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "USA"
+ },
+ {
+ "description": "Page number, 1-based",
+ "in": "query",
+ "name": "page",
+ "type": "integer",
+ "x-example": 1
+ },
+ {
+ "description": "Results per page, max 100 (default 20)",
+ "in": "query",
+ "name": "limit",
+ "type": "integer",
+ "x-example": 20
+ },
+ {
+ "description": "Sort order",
+ "enum": [
+ "relevant",
+ "recent"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string",
+ "x-example": "relevant"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/amazonjobs.searchResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Amazon Jobs search",
+ "tags": [
+ "Amazon Jobs"
+ ]
+ }
+ },
+ "/amazon/charts": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns one page of a ranked Amazon chart (Best Sellers, New Releases, or Most Wished For) for a department or department subcategory on `amazon.com`. Discover valid department/node values with amazon-charts-categories.",
+ "operationId": "amazon-charts",
+ "parameters": [
+ {
+ "description": "Chart type",
+ "enum": [
+ "best_sellers",
+ "new_releases",
+ "most_wished_for"
+ ],
+ "in": "query",
+ "name": "chart",
+ "required": true,
+ "type": "string",
+ "x-example": "best_sellers"
+ },
+ {
+ "description": "Amazon department slug",
+ "in": "query",
+ "name": "department",
+ "required": true,
+ "type": "string",
+ "x-example": "electronics"
+ },
+ {
+ "description": "Numeric browse node id",
+ "in": "query",
+ "name": "node",
+ "type": "string",
+ "x-example": "172541"
+ },
+ {
+ "description": "1-based page number",
+ "in": "query",
+ "name": "page",
+ "type": "integer",
+ "x-example": 1
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/amazon.chartsResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Amazon product charts",
+ "tags": [
+ "Amazon"
+ ]
+ }
+ },
+ "/amazon/charts/categories": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the department and subcategory values amazon-charts accepts for a given chart. Omit department to list a chart's top-level departments; pass a department (and optionally a node) to get that category's own name plus its immediate child categories.",
+ "operationId": "amazon-charts-categories",
+ "parameters": [
+ {
+ "description": "Chart type",
+ "enum": [
+ "best_sellers",
+ "new_releases",
+ "most_wished_for"
+ ],
+ "in": "query",
+ "name": "chart",
+ "required": true,
+ "type": "string",
+ "x-example": "best_sellers"
+ },
+ {
+ "description": "Amazon department slug",
+ "in": "query",
+ "name": "department",
+ "type": "string",
+ "x-example": "electronics"
+ },
+ {
+ "description": "Numeric browse node id (requires department)",
+ "in": "query",
+ "name": "node",
+ "type": "string",
+ "x-example": "172541"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/amazon.chartCategoriesResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Amazon chart categories",
+ "tags": [
+ "Amazon"
+ ]
+ }
+ },
+ "/amazon/product/{asin}": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns product details for an Amazon ASIN on `amazon.com`, including pricing, availability, overview data, inline review samples, and descriptive content.",
+ "operationId": "amazon-product",
+ "parameters": [
+ {
+ "description": "Amazon ASIN",
+ "in": "path",
+ "name": "asin",
+ "required": true,
+ "type": "string",
+ "x-example": "B0DGJ736JM"
+ },
+ {
+ "default": "en_US",
+ "description": "Amazon language",
+ "enum": [
+ "en_US"
+ ],
+ "in": "query",
+ "name": "language",
+ "type": "string"
+ },
+ {
+ "default": "USD",
+ "description": "Amazon currency",
+ "enum": [
+ "USD"
+ ],
+ "in": "query",
+ "name": "currency",
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/amazon.productResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Retrieve Amazon product details",
+ "tags": [
+ "Amazon"
+ ]
+ }
+ },
+ "/amazon/search": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Searches `amazon.com` by keyword, with optional sort order and page. Each result card has the ASIN, title, link, image, price and list price, rating and review count, the bought-in-last-month figure, and flags for sponsored placement and free delivery.",
+ "operationId": "amazon-search",
+ "parameters": [
+ {
+ "description": "Search keyword",
+ "in": "query",
+ "name": "k",
+ "required": true,
+ "type": "string",
+ "x-example": "apple watch"
+ },
+ {
+ "description": "Sort order",
+ "in": "query",
+ "name": "s",
+ "type": "string",
+ "x-example": "review-rank"
+ },
+ {
+ "description": "1-based page number",
+ "in": "query",
+ "name": "page",
+ "type": "integer",
+ "x-example": 1
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/amazon.searchResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Search Amazon products",
+ "tags": [
+ "Amazon"
+ ]
+ }
+ },
+ "/amazon/suggest/{keyword}": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns Amazon's search-box autocomplete suggestions for a keyword prefix on `amazon.com`, as a plain list of suggested search phrases such as `apple watch bands`.",
+ "operationId": "amazon-suggest",
+ "parameters": [
+ {
+ "description": "Suggestion prefix",
+ "in": "path",
+ "name": "keyword",
+ "required": true,
+ "type": "string",
+ "x-example": "apple"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/amazon.suggestResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Retrieve Amazon search suggestions",
+ "tags": [
+ "Amazon"
+ ]
+ }
+ },
+ "/androidauthority/article": {
+ "get": {
+ "description": "Returns an Android Authority article by `url`, a canonical `androidauthority.com` address whose path is one slug ending in the numeric post id: title, description, publication and update times, section, authors, image and body `paragraphs`, with TL;DR and pros/cons bullets as separate entries. Section, tag and author pages are rejected, and an unknown post id returns not-found.",
+ "operationId": "androidauthority-article",
+ "parameters": [
+ {
+ "description": "Canonical Android Authority article URL",
+ "in": "query",
+ "name": "url",
+ "required": true,
+ "type": "string",
+ "x-example": "https://www.androidauthority.com/gemini-live-avatar-3715280/"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.articleResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Android Authority article content",
+ "tags": [
+ "Android Authority"
+ ]
+ }
+ },
+ "/androidauthority/headlines": {
+ "get": {
+ "description": "Returns the newest 10 to 20 stories from one Android Authority section hub. `section` is required and takes a slug such as `reviews`, `how-to`, `smartwatches` or `android-phones`. Each item has a title, URL, author and image; `summary` appears on the lead story of a hub, and `published_at` only on stories more than a day old.",
+ "operationId": "androidauthority-headlines",
+ "parameters": [
+ {
+ "description": "Android Authority section slug",
+ "enum": [
+ "news",
+ "reviews",
+ "best",
+ "how-to",
+ "features",
+ "deals",
+ "authority-insights",
+ "audio",
+ "computers-pc",
+ "gaming",
+ "technology",
+ "mobile",
+ "smart-home",
+ "streaming-entertainment",
+ "wearables",
+ "earbuds-headphones",
+ "chromebook",
+ "mac",
+ "pc-windows",
+ "emulation",
+ "handhelds",
+ "mobile-games",
+ "nintendo",
+ "playstation",
+ "xbox",
+ "smart-devices",
+ "smart-speakers",
+ "virtual-assistants",
+ "streaming-hardware",
+ "ai",
+ "mobility",
+ "privacy-security",
+ "vr-ar",
+ "fitness-trackers",
+ "smartwatches",
+ "android-apps",
+ "android-os",
+ "android-phones",
+ "android-tablets",
+ "carriers-plans",
+ "ios-apps",
+ "iphone-ipad",
+ "accessories",
+ "mobile-technology"
+ ],
+ "in": "query",
+ "name": "section",
+ "required": true,
+ "type": "string",
+ "x-example": "news"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.headlinesResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Android Authority section headlines",
+ "tags": [
+ "Android Authority"
+ ]
+ }
+ },
+ "/androidauthority/news": {
+ "get": {
+ "description": "Returns about 80 of the latest Android Authority stories from across the site, newest first, with no input needed. Each has a title, canonical URL, standfirst `summary`, exact publication time, byline `author` and lead image. The headlines endpoint covers a single section.",
+ "operationId": "androidauthority-news",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.newsResponseDoc"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Android Authority top stories",
+ "tags": [
+ "Android Authority"
+ ]
+ }
+ },
+ "/androidauthority/sections": {
+ "get": {
+ "description": "Lists the 44 Android Authority sections that `androidauthority-headlines` accepts: the content-type hubs (`news`, `reviews`, `best`, `how-to`, `features`, `deals`, `authority-insights`), the top-level topic hubs and their sub-hubs. Each has a `slug`, display `name` and page `url`. Tag archives are not sections.",
+ "operationId": "androidauthority-sections",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.sectionsResponseDoc"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Android Authority sections",
+ "tags": [
+ "Android Authority"
+ ]
+ }
+ },
+ "/androidpolice/article": {
+ "get": {
+ "description": "Returns an Android Police article by `url`, a canonical address with a flat, single-slug path. The response has the title, authors, section, description, publication and update times, image and the readable body `paragraphs`.",
+ "operationId": "androidpolice-article",
+ "parameters": [
+ {
+ "description": "Canonical Android Police article URL",
+ "in": "query",
+ "name": "url",
+ "required": true,
+ "type": "string",
+ "x-example": "https://www.androidpolice.com/i-thought-my-galaxy-phone-was-slowing-down-until-disabled-this-setting/"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.articleResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Android Police article content",
+ "tags": [
+ "Android Police"
+ ]
+ }
+ },
+ "/androidpolice/author": {
+ "get": {
+ "description": "Returns a public author's byline metadata, biography, social links, and recent articles from a canonical author URL. Only the first page is covered.",
+ "operationId": "androidpolice-author",
+ "parameters": [
+ {
+ "description": "Canonical Android Police author URL",
+ "in": "query",
+ "name": "url",
+ "required": true,
+ "type": "string",
+ "x-example": "https://www.androidpolice.com/author/jade-bryan-jardinico/"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.androidpoliceAuthorResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get an Android Police author profile",
+ "tags": [
+ "Android Police"
+ ]
+ }
+ },
+ "/androidpolice/headlines": {
+ "get": {
+ "description": "Returns recent Android Police headlines for one of 18 sections. `section` is required and takes a slug such as `news`, `phones`, `smart-home`, `ai-machine-learning` or `deals`. Each item has a title and URL, and may also carry a summary, author, publication time and image.",
+ "operationId": "androidpolice-headlines",
+ "parameters": [
+ {
+ "description": "Android Police section slug",
+ "enum": [
+ "news",
+ "phones",
+ "tablets",
+ "gadgets",
+ "accessories",
+ "apps",
+ "entertainment",
+ "productivity",
+ "utilities",
+ "ai-machine-learning",
+ "operating-systems",
+ "wearables",
+ "smart-home",
+ "smart-tv",
+ "carriers",
+ "deals",
+ "videos",
+ "awards"
+ ],
+ "in": "query",
+ "name": "section",
+ "required": true,
+ "type": "string",
+ "x-example": "news"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.headlinesResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Android Police section headlines",
+ "tags": [
+ "Android Police"
+ ]
+ }
+ },
+ "/androidpolice/news": {
+ "get": {
+ "description": "Returns the current Android Police top stories across the site, with no input needed. Each item has a title and URL, and may also carry the author, publication time, summary and image.",
+ "operationId": "androidpolice-news",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.newsResponseDoc"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Android Police top stories",
+ "tags": [
+ "Android Police"
+ ]
+ }
+ },
+ "/androidpolice/sections": {
+ "get": {
+ "description": "Lists the 18 feed-backed sections in Android Police's primary navigation, from `news`, `phones` and `tablets` to `deals`, `videos` and `awards`. Each entry has a `slug`, a display `name` and the feed `url`, and the slugs are accepted by `androidpolice-headlines`.",
+ "operationId": "androidpolice-sections",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.sectionsResponseDoc"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Android Police sections",
+ "tags": [
+ "Android Police"
+ ]
+ }
+ },
+ "/anime/airing-schedule": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns upcoming anime episode broadcasts (episode number, air time, countdown, and the title), soonest first, paginated.",
+ "operationId": "anime-airing-schedule",
+ "parameters": [
+ {
+ "description": "1-based page number, default 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Results per page, default 20, max 50",
+ "in": "query",
+ "name": "per_page",
+ "type": "integer"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/anime.airingScheduleResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Upcoming anime airing schedule",
+ "tags": [
+ "Anime"
+ ]
+ }
+ },
+ "/anime/character/search": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Searches anime and manga characters by name. Returns character summaries (name, native name, image, favourites), paginated.",
+ "operationId": "anime-character-search",
+ "parameters": [
+ {
+ "description": "Search text",
+ "in": "query",
+ "name": "query",
+ "required": true,
+ "type": "string",
+ "x-example": "Frieren"
+ },
+ {
+ "description": "1-based page number, default 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Results per page, default 10, max 50",
+ "in": "query",
+ "name": "per_page",
+ "type": "integer"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/anime.characterSearchResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Search anime & manga characters",
+ "tags": [
+ "Anime"
+ ]
+ }
+ },
+ "/anime/character/{id}": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns a character profile by AniList id: names, image, description, gender, age, blood type, birthday, favourites, and the titles the character appears in with their billed role.",
+ "operationId": "anime-character",
+ "parameters": [
+ {
+ "description": "AniList character id",
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "type": "string",
+ "x-example": "176754"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/anime.characterResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get an anime/manga character",
+ "tags": [
+ "Anime"
+ ]
+ }
+ },
+ "/anime/rankings": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Ranks anime by `sort` (default `TRENDING_DESC`, or `POPULARITY_DESC`, `SCORE_DESC`, `FAVOURITES_DESC`, `START_DATE_DESC`, `UPDATED_AT_DESC`). Filter by `season`, `season_year` (1940 to 2100), `format`, `genre` and `status`. Paged with `page` and `per_page` (default 20, max 50); results carry titles, scores, popularity, episodes, studios and tags.",
+ "operationId": "anime-rankings",
+ "parameters": [
+ {
+ "description": "Order: TRENDING_DESC, POPULARITY_DESC, SCORE_DESC, FAVOURITES_DESC, START_DATE_DESC, UPDATED_AT_DESC. Default TRENDING_DESC.",
+ "enum": [
+ "TRENDING_DESC",
+ "POPULARITY_DESC",
+ "SCORE_DESC",
+ "FAVOURITES_DESC",
+ "START_DATE_DESC",
+ "UPDATED_AT_DESC"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Airing season filter: WINTER, SPRING, SUMMER, FALL.",
+ "enum": [
+ "WINTER",
+ "SPRING",
+ "SUMMER",
+ "FALL"
+ ],
+ "in": "query",
+ "name": "season",
+ "type": "string"
+ },
+ {
+ "description": "Airing year filter, 1940-2100.",
+ "in": "query",
+ "name": "season_year",
+ "type": "integer"
+ },
+ {
+ "description": "Format filter: TV, TV_SHORT, MOVIE, SPECIAL, OVA, ONA, MUSIC.",
+ "enum": [
+ "TV",
+ "TV_SHORT",
+ "MOVIE",
+ "SPECIAL",
+ "OVA",
+ "ONA",
+ "MUSIC"
+ ],
+ "in": "query",
+ "name": "format",
+ "type": "string"
+ },
+ {
+ "description": "Genre filter, e.g. Fantasy.",
+ "in": "query",
+ "name": "genre",
+ "type": "string"
+ },
+ {
+ "description": "Status filter: FINISHED, RELEASING, NOT_YET_RELEASED, CANCELLED, HIATUS.",
+ "enum": [
+ "FINISHED",
+ "RELEASING",
+ "NOT_YET_RELEASED",
+ "CANCELLED",
+ "HIATUS"
+ ],
+ "in": "query",
+ "name": "status",
+ "type": "string"
+ },
+ {
+ "description": "1-based page number, default 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Results per page, default 20, max 50",
+ "in": "query",
+ "name": "per_page",
+ "type": "integer"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/anime.rankingsResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Rank anime",
+ "tags": [
+ "Anime"
+ ]
+ }
+ },
+ "/anime/search": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Searches anime by free-text query. Returns entries: titles, scores, popularity, format, status, season, genres, tags, and studios.",
+ "operationId": "anime-search",
+ "parameters": [
+ {
+ "description": "Search text",
+ "in": "query",
+ "name": "query",
+ "required": true,
+ "type": "string",
+ "x-example": "Frieren"
+ },
+ {
+ "description": "Ordering: SEARCH_MATCH, POPULARITY_DESC, SCORE_DESC, TRENDING_DESC, FAVOURITES_DESC, START_DATE_DESC. Default SEARCH_MATCH.",
+ "enum": [
+ "SEARCH_MATCH",
+ "POPULARITY_DESC",
+ "SCORE_DESC",
+ "TRENDING_DESC",
+ "FAVOURITES_DESC",
+ "START_DATE_DESC"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "1-based page number, default 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Results per page, default 10, max 50",
+ "in": "query",
+ "name": "per_page",
+ "type": "integer"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/anime.searchResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Search anime",
+ "tags": [
+ "Anime"
+ ]
+ }
+ },
+ "/anime/title/{id}": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns an anime by AniList id: titles (romaji/english/native), MyAnimeList id, scores, popularity, favourites, format, status, season, episodes, duration, genres, ranked tags, studios, dates, description, images, and next-airing countdown. Pass mal=true to additionally enrich the response with the MyAnimeList community score (mal block: score on a 0-10 scale, plus scored-by count).",
+ "operationId": "anime-title",
+ "parameters": [
+ {
+ "description": "AniList anime id",
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "type": "string",
+ "x-example": "154587"
+ },
+ {
+ "description": "Enrich with the MyAnimeList community score (adds one fetch; omitted when the title has no MAL id)",
+ "in": "query",
+ "name": "mal",
+ "type": "boolean"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/anime.mediaResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get an anime",
+ "tags": [
+ "Anime"
+ ]
+ }
+ },
+ "/anime/title/{id}/characters": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Lists the cast of an anime by its AniList anime `id`, sorted by billed role. Each character has `name`, `native_name`, `role` (such as `MAIN` or `SUPPORTING`), `image`, `favourites` and `site_url`. Paged with `page` (default 1) and `per_page` (default 10, max 50), with `total` and `has_next_page`.",
+ "operationId": "anime-title-characters",
+ "parameters": [
+ {
+ "description": "AniList anime id",
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "type": "string",
+ "x-example": "154587"
+ },
+ {
+ "description": "1-based page number, default 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Results per page, default 10, max 50",
+ "in": "query",
+ "name": "per_page",
+ "type": "integer"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/anime.charactersResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "List an anime's characters",
+ "tags": [
+ "Anime"
+ ]
+ }
+ },
+ "/anime/title/{id}/recommendations": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns community-recommended titles for an anime, each with a recommendation rating and the full media entry, paginated.",
+ "operationId": "anime-title-recommendations",
+ "parameters": [
+ {
+ "description": "AniList anime id",
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "type": "string",
+ "x-example": "154587"
+ },
+ {
+ "description": "1-based page number, default 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Results per page, default 10, max 50",
+ "in": "query",
+ "name": "per_page",
+ "type": "integer"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/anime.recommendationsResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "List an anime's recommendations",
+ "tags": [
+ "Anime"
+ ]
+ }
+ },
+ "/anime/title/{id}/staff": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Lists the people credited on an anime by its AniList anime `id`. Each person has `name`, `native_name`, `role` (their production role), `occupations`, `image` and `site_url`. Paged with `page` (default 1) and `per_page` (default 10, max 50), with `total` and `has_next_page`.",
+ "operationId": "anime-title-staff",
+ "parameters": [
+ {
+ "description": "AniList anime id",
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "type": "string",
+ "x-example": "154587"
+ },
+ {
+ "description": "1-based page number, default 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Results per page, default 10, max 50",
+ "in": "query",
+ "name": "per_page",
+ "type": "integer"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/anime.staffResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "List an anime's staff",
+ "tags": [
+ "Anime"
+ ]
+ }
+ },
+ "/apk-teardown/compare-ownership": {
+ "get": {
+ "description": "Compares two DIFFERENT completed jobs (not versions of the same app) for signals of common ownership -- shared signing certificate, SDK/analytics identifiers, and more.",
+ "operationId": "apkTeardownCompareOwnership",
+ "parameters": [
+ {
+ "description": "First completed job ID; copy data.job_id returned by POST /apk-teardown/jobs",
+ "in": "query",
+ "name": "job_id_a",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "description": "Second completed job ID; copy data.job_id returned by another POST /apk-teardown/jobs",
+ "in": "query",
+ "name": "job_id_b",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/apkteardown.CompareOwnershipResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Missing job ids, or one/both jobs not found or not done",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Compare two apk-teardown jobs for evidence of common ownership",
+ "tags": [
+ "AppInsights"
+ ]
+ }
+ },
+ "/apk-teardown/diff": {
+ "get": {
+ "description": "Compares two already-completed jobs -- typically two versions of the same app -- and returns what changed (permissions, signing, SDKs, size, and more).",
+ "operationId": "apkTeardownDiff",
+ "parameters": [
+ {
+ "description": "First completed job ID; copy data.job_id returned by POST /apk-teardown/jobs",
+ "in": "query",
+ "name": "job_id_a",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "description": "Second completed job ID; copy data.job_id returned by another POST /apk-teardown/jobs",
+ "in": "query",
+ "name": "job_id_b",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/apkteardown.DiffResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Missing job ids, or one/both jobs not found or not done",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Diff two completed apk-teardown jobs",
+ "tags": [
+ "AppInsights"
+ ]
+ }
+ },
+ "/apk-teardown/jobs": {
+ "post": {
+ "consumes": [
+ "multipart/form-data"
+ ],
+ "description": "Uploads a single .apk/.xapk file (up to 400MB), or set file_url to have the server fetch it from an https:// URL instead -- exactly one of \"file\" or \"file_url\" must be given, not both. Enqueues a Tier 1 static-analysis job -- manifest, permissions, signing, SDK detection, tech stack, locales, and more. Poll the returned poll_path for the result, or set webhook_url for push delivery. Identical uploads (by sha256) within 48h return the existing job instead of re-running analysis. file_url is validated (https only, must resolve to a public address -- no loopback/private/link-local targets) and every redirect hop is re-validated the same way before being followed.",
+ "operationId": "apkTeardownSubmit",
+ "parameters": [
+ {
+ "description": "APK or XAPK/APKS/APKM bundle file -- mutually exclusive with file_url",
+ "in": "formData",
+ "name": "file",
+ "type": "file"
+ },
+ {
+ "description": "https:// URL to fetch the APK/bundle from server-side -- mutually exclusive with file",
+ "in": "formData",
+ "name": "file_url",
+ "type": "string"
+ },
+ {
+ "description": "Declared filename for a file_url submission (must end .apk/.xapk/.apks/.apkm). Defaults to the URL path's basename when omitted.",
+ "in": "formData",
+ "name": "file_name",
+ "type": "string"
+ },
+ {
+ "description": "Optional URL to receive a webhook POST when the job reaches a terminal state",
+ "in": "formData",
+ "name": "webhook_url",
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/apkteardown.JobSubmitResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Missing/invalid file or file_url, oversized upload, or not a valid APK/ZIP",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too many apk-teardown jobs already in flight for this caller",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal error submitting the job",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "502": {
+ "description": "file_url could not be fetched",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Submit an APK for static teardown analysis",
+ "tags": [
+ "AppInsights"
+ ]
+ }
+ },
+ "/apk-teardown/jobs/{job_id}": {
+ "delete": {
+ "description": "Purges a job's metadata/result before its normal retention window expires. The uploaded binary is already gone by the time any job reaches a terminal state, so this only ever deletes job metadata, never a binary.",
+ "operationId": "apkTeardownDeleteJob",
+ "parameters": [
+ {
+ "description": "Caller-owned job ID from data.job_id returned by POST /apk-teardown/jobs",
+ "in": "path",
+ "name": "job_id",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "400": {
+ "description": "job_id is required",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal error deleting the job",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Delete an apk-teardown job",
+ "tags": [
+ "AppInsights"
+ ]
+ },
+ "get": {
+ "description": "Returns the current status (queued, processing, done, failed, or lost) of a submitted job, and its full result once done.",
+ "operationId": "apkTeardownJobStatus",
+ "parameters": [
+ {
+ "description": "Job ID from data.job_id returned by POST /apk-teardown/jobs; the response also supplies poll_path",
+ "in": "path",
+ "name": "job_id",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/apkteardown.JobStatusResponseDoc"
+ }
+ },
+ "400": {
+ "description": "job_id is required",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Job not found or expired",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal error reading the job",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Poll an apk-teardown job's status/result",
+ "tags": [
+ "AppInsights"
+ ]
+ }
+ },
+ "/apk-teardown/timeline": {
+ "get": {
+ "description": "Compares 2+ completed jobs the caller asserts are versions of the same app and returns the consecutive pairwise diff for each version transition, sorted by version code.",
+ "operationId": "apkTeardownTimeline",
+ "parameters": [
+ {
+ "description": "Comma-separated list of 2+ completed job IDs copied from data.job_id values returned by POST /apk-teardown/jobs",
+ "in": "query",
+ "name": "job_ids",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/apkteardown.TimelineResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Fewer than 2 job ids, or a job not found or not done",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Build a version timeline across 2+ apk-teardown jobs",
+ "tags": [
+ "AppInsights"
+ ]
+ }
+ },
+ "/apnews/article": {
+ "get": {
+ "description": "Returns public AP News article metadata and body paragraphs. The service does not bypass authentication or access controls. Billing is 2 credits, or 10 credits when browser rendering is required.",
+ "operationId": "apnews-article",
+ "parameters": [
+ {
+ "description": "Canonical AP News article URL",
+ "in": "query",
+ "name": "url",
+ "required": true,
+ "type": "string",
+ "x-example": "https://apnews.com/article/example-article-id"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.articleResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get AP News article content",
+ "tags": [
+ "AP News"
+ ]
+ }
+ },
+ "/apnews/author": {
+ "get": {
+ "description": "Returns an AP News author's byline metadata, biography, and recent articles from a canonical author URL. The service does not bypass authentication or access controls. Billing is 1 credit, or 5 credits when browser rendering is required.",
+ "operationId": "apnews-author",
+ "parameters": [
+ {
+ "description": "Canonical AP News author URL",
+ "in": "query",
+ "name": "url",
+ "required": true,
+ "type": "string",
+ "x-example": "https://apnews.com/author/lauran-neergaard"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.apNewsAuthorResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get an AP News author profile",
+ "tags": [
+ "AP News"
+ ]
+ }
+ },
+ "/apnews/fact-check": {
+ "get": {
+ "description": "Returns current headlines from AP News' public Fact Check page. The service does not bypass authentication or access controls. Billing is 1 credit, or 5 credits when browser rendering is required.",
+ "operationId": "apnews-fact-check",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.headlinesResponseDoc"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get AP News fact checks",
+ "tags": [
+ "AP News"
+ ]
+ }
+ },
+ "/apnews/headlines": {
+ "get": {
+ "description": "Returns AP News headlines from a public editorial hub. The service does not bypass authentication or access controls. Billing is 1 credit, or 5 credits when browser rendering is required.",
+ "operationId": "apnews-headlines",
+ "parameters": [
+ {
+ "description": "AP News section slug",
+ "enum": [
+ "ap-top-news",
+ "us-news",
+ "world-news",
+ "politics",
+ "business",
+ "technology",
+ "science",
+ "health",
+ "sports",
+ "entertainment",
+ "lifestyle"
+ ],
+ "in": "query",
+ "name": "section",
+ "required": true,
+ "type": "string",
+ "x-example": "ap-top-news"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.headlinesResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get AP News section headlines",
+ "tags": [
+ "AP News"
+ ]
+ }
+ },
+ "/apnews/news": {
+ "get": {
+ "description": "Returns AP News top stories from the public AP News Top News hub. The service does not bypass authentication or access controls. Billing is 1 credit, or 5 credits when browser rendering is required.",
+ "operationId": "apnews-news",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.newsResponseDoc"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get AP News top stories",
+ "tags": [
+ "AP News"
+ ]
+ }
+ },
+ "/apnews/sections": {
+ "get": {
+ "description": "Lists the 11 AP News hubs accepted by `apnews-headlines`: `ap-top-news`, `us-news`, `world-news`, `politics`, `business`, `technology`, `science`, `health`, `sports`, `entertainment` and `lifestyle`. Each has a `slug`, display `name` and hub `url`. The Fact Check page is served by `apnews-fact-check` instead.",
+ "operationId": "apnews-sections",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.sectionsResponseDoc"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get AP News sections",
+ "tags": [
+ "AP News"
+ ]
+ }
+ },
+ "/apple-books/audiobook-series/{id}": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns series metadata and the full ordered list of audiobooks in the series from Apple Books' public catalog page. An audio-book-series is a catalog resource distinct from a book-series, even for the same conceptual series.",
+ "operationId": "apple-books-audiobook-series",
+ "parameters": [
+ {
+ "description": "Apple Books numeric audiobook series ID",
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "type": "string",
+ "x-example": "6442645726"
+ },
+ {
+ "description": "Two-letter storefront country code",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "us"
+ },
+ {
+ "description": "Result language tag",
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en-us"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/applebooks.audiobookSeriesResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Missing or invalid parameters",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Series not found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Rate limit exceeded",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Retrieve an Apple Books audiobook series and its full audiobook list",
+ "tags": [
+ "AppleBooks"
+ ]
+ }
+ },
+ "/apple-books/audiobook/charts": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the 40 audiobook rows Apple currently serves in its paid top chart for one storefront. `genre_id` narrows the page using an ID from `GET /apple-books/genres?media=audiobook`. The upstream page has no free/paid selector or pagination.",
+ "operationId": "apple-books-audiobook-charts",
+ "parameters": [
+ {
+ "description": "Two-letter storefront code, default us",
+ "in": "query",
+ "name": "country",
+ "type": "string"
+ },
+ {
+ "description": "Audiobook genre ID. Allowed values: 50000042, 50000043, 50000040, 50000049, 50000044, 50000051, 50000052, 50000053, 50000069, 50000055, 50000054, 50000056",
+ "enum": [
+ "50000042",
+ "50000043",
+ "50000040",
+ "50000049",
+ "50000044",
+ "50000051",
+ "50000052",
+ "50000053",
+ "50000069",
+ "50000055",
+ "50000054",
+ "50000056"
+ ],
+ "in": "query",
+ "name": "genre_id",
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/applebooks.audiobookChartsResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Retrieve Apple Books audiobook chart rankings",
+ "tags": [
+ "AppleBooks"
+ ]
+ }
+ },
+ "/apple-books/audiobook/search": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Searches Apple Books audiobooks by `term`, which is required. `country` is the two-letter storefront code (default `us`), `lang` a language tag such as `en-us`, `limit` the result count (default 50, max 200) and `page` starts at 1. Results include `narrator`, `duration_seconds`, price, rating, genres and `preview_url`.",
+ "operationId": "apple-books-audiobook-search",
+ "parameters": [
+ {
+ "description": "Search term",
+ "in": "query",
+ "name": "term",
+ "required": true,
+ "type": "string",
+ "x-example": "harry potter"
+ },
+ {
+ "description": "Two-letter storefront country code",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "us"
+ },
+ {
+ "description": "Result language tag",
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en-us"
+ },
+ {
+ "description": "Number of audiobooks per page",
+ "in": "query",
+ "name": "limit",
+ "type": "integer",
+ "x-example": 50
+ },
+ {
+ "description": "Search page number (1-based)",
+ "in": "query",
+ "name": "page",
+ "type": "integer",
+ "x-example": 1
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/applebooks.audiobookSearchResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Missing or invalid parameters",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Rate limit exceeded",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Search Apple Books audiobooks",
+ "tags": [
+ "AppleBooks"
+ ]
+ }
+ },
+ "/apple-books/audiobook/{id}": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns audiobook metadata from Apple Books, including narrator, duration, audio preview, and a cross-link to the ebook edition (when one exists).",
+ "operationId": "apple-books-audiobook",
+ "parameters": [
+ {
+ "description": "Apple Books numeric audiobook ID",
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "type": "string",
+ "x-example": "1442174040"
+ },
+ {
+ "description": "Two-letter storefront country code",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "us"
+ },
+ {
+ "description": "Result language tag",
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en-us"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/applebooks.audiobookResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Missing or invalid parameters",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Audiobook not found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Rate limit exceeded",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Retrieve Apple Books audiobook details",
+ "tags": [
+ "AppleBooks"
+ ]
+ }
+ },
+ "/apple-books/audiobook/{id}/reviews": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns a page of an audiobook's customer reviews. The default first page is served from the audiobook's own catalog page; deeper pages (page>1 or a larger limit) page through Apple's review API directly, up to 20 per page.",
+ "operationId": "apple-books-audiobook-reviews",
+ "parameters": [
+ {
+ "description": "Apple Books numeric audiobook ID",
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "type": "string",
+ "x-example": "1442174040"
+ },
+ {
+ "description": "Two-letter storefront country code",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "us"
+ },
+ {
+ "description": "Result language tag",
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en-us"
+ },
+ {
+ "description": "Review page number, default 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer",
+ "x-example": 1
+ },
+ {
+ "description": "Reviews per page, default 10, max 20",
+ "in": "query",
+ "name": "limit",
+ "type": "integer",
+ "x-example": 10
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/applebooks.audiobookReviewsResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Missing or invalid parameters",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Audiobook not found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Rate limit exceeded",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Retrieve Apple Books audiobook customer reviews",
+ "tags": [
+ "AppleBooks"
+ ]
+ }
+ },
+ "/apple-books/audiobook/{id}/similar": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the 'Customers Also Bought' audiobooks shown on the Apple Books page of one audiobook, identified by its numeric `id`. `country` (default `us`) and `lang` (such as `en-us`) choose the storefront and language. Each item has name, author, `narrator`, `duration_seconds`, price, rating and `series_name`.",
+ "operationId": "apple-books-audiobook-similar",
+ "parameters": [
+ {
+ "description": "Apple Books numeric audiobook ID",
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "type": "string",
+ "x-example": "1442174040"
+ },
+ {
+ "description": "Two-letter storefront country code",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "us"
+ },
+ {
+ "description": "Result language tag",
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en-us"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/applebooks.audiobookSimilarResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Missing or invalid parameters",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Audiobook not found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Rate limit exceeded",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Retrieve \"Customers Also Bought\" audiobooks",
+ "tags": [
+ "AppleBooks"
+ ]
+ }
+ },
+ "/apple-books/author/{id}": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns an Apple Books author by numeric author `id`: name, URL, genres, their ebooks and, where available, audiobooks. Books carry details such as ISBN, page count, publisher, price, rating and series; audiobooks add narrator, duration and preview. `country` is a two-letter storefront code (default `us`) and `lang` a language tag such as `en-us`.",
+ "operationId": "apple-books-author",
+ "parameters": [
+ {
+ "description": "Apple Books numeric author ID",
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "type": "string",
+ "x-example": "79595314"
+ },
+ {
+ "description": "Two-letter storefront country code",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "us"
+ },
+ {
+ "description": "Result language tag",
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en-us"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/applebooks.authorResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Missing or invalid parameters",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Author not found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Rate limit exceeded",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Retrieve an Apple Books author's bibliography",
+ "tags": [
+ "AppleBooks"
+ ]
+ }
+ },
+ "/apple-books/book/{id}": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns book metadata from Apple Books, including ISBN, page count, publisher, audience, rating histogram, and series linkage.",
+ "operationId": "apple-books-book",
+ "parameters": [
+ {
+ "description": "Apple Books numeric book ID",
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "type": "string",
+ "x-example": "1037193578"
+ },
+ {
+ "description": "Two-letter storefront country code",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "us"
+ },
+ {
+ "description": "Result language tag",
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en-us"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/applebooks.bookResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Missing or invalid parameters",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Book not found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Rate limit exceeded",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Retrieve Apple Books book details",
+ "tags": [
+ "AppleBooks"
+ ]
+ }
+ },
+ "/apple-books/book/{id}/reviews": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns a page of a book's customer reviews. The default first page is served from the book's own catalog page; deeper pages (page>1 or a larger limit) page through Apple's review API directly, up to 20 per page.",
+ "operationId": "apple-books-book-reviews",
+ "parameters": [
+ {
+ "description": "Apple Books numeric book ID",
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "type": "string",
+ "x-example": "1037193578"
+ },
+ {
+ "description": "Two-letter storefront country code",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "us"
+ },
+ {
+ "description": "Result language tag",
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en-us"
+ },
+ {
+ "description": "Review page number, default 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer",
+ "x-example": 1
+ },
+ {
+ "description": "Reviews per page, default 10, max 20",
+ "in": "query",
+ "name": "limit",
+ "type": "integer",
+ "x-example": 10
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/applebooks.reviewsResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Missing or invalid parameters",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Book not found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Rate limit exceeded",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Retrieve Apple Books customer reviews",
+ "tags": [
+ "AppleBooks"
+ ]
+ }
+ },
+ "/apple-books/book/{id}/similar": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the 'Customers Also Bought' books shown on the Apple Books page of one book, identified by its numeric `id`. `country` (default `us`) and `lang` (such as `en-us`) choose the storefront and language. Each item has name, author, `publisher`, `isbn`, `page_count`, price, rating and `series_sequence`.",
+ "operationId": "apple-books-book-similar",
+ "parameters": [
+ {
+ "description": "Apple Books numeric book ID",
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "type": "string",
+ "x-example": "1037193578"
+ },
+ {
+ "description": "Two-letter storefront country code",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "us"
+ },
+ {
+ "description": "Result language tag",
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en-us"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/applebooks.similarResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Missing or invalid parameters",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Book not found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Rate limit exceeded",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Retrieve \"Customers Also Bought\" books",
+ "tags": [
+ "AppleBooks"
+ ]
+ }
+ },
+ "/apple-books/charts": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns Apple Books ebook chart rankings for `collection`, `top-free` (default) or `top-paid`. Omit `genre` for all genres, or use one of the discovered ebook category IDs. `country` defaults to `us`; `limit` defaults to 50 and maxes at 200. Each entry has `name`, author, `genres`, `release_date`, `artwork_url` and `url`.",
+ "operationId": "apple-books-charts",
+ "parameters": [
+ {
+ "description": "Chart collection. Allowed values: top-free, top-paid",
+ "enum": [
+ "top-free",
+ "top-paid"
+ ],
+ "in": "query",
+ "name": "collection",
+ "type": "string",
+ "x-example": "top-free"
+ },
+ {
+ "description": "Optional ebook genre ID. Allowed values: 9008, 9009, 9026, 9027, 9028, 9031, 9025, 9015, 11086, 9032, 9002, 9034, 9018, 9003, 9020, 9035, 11165. Use apple_books_genres with media=book to discover names.",
+ "enum": [
+ 9008,
+ 9009,
+ 9026,
+ 9027,
+ 9028,
+ 9031,
+ 9025,
+ 9015,
+ 11086,
+ 9032,
+ 9002,
+ 9034,
+ 9018,
+ 9003,
+ 9020,
+ 9035,
+ 11165
+ ],
+ "in": "query",
+ "name": "genre",
+ "type": "integer",
+ "x-example": 9031
+ },
+ {
+ "description": "Two-letter storefront country code",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "us"
+ },
+ {
+ "description": "Number of chart items to return",
+ "in": "query",
+ "name": "limit",
+ "type": "integer",
+ "x-example": 50
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/applebooks.chartsResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Missing or invalid parameters",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Rate limit exceeded",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Retrieve Apple Books chart rankings",
+ "tags": [
+ "AppleBooks"
+ ]
+ }
+ },
+ "/apple-books/genres": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Reads every category link from Apple's current chart page. The ebook and audiobook genre ID spaces differ; pass `media=book` before filtering ebook charts or `media=audiobook` before filtering audiobook charts.",
+ "operationId": "apple-books-genres",
+ "parameters": [
+ {
+ "description": "Media taxonomy: book or audiobook",
+ "enum": [
+ "book",
+ "audiobook"
+ ],
+ "in": "query",
+ "name": "media",
+ "required": true,
+ "type": "string",
+ "x-example": "audiobook"
+ },
+ {
+ "description": "Two-letter storefront code, default us",
+ "in": "query",
+ "name": "country",
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/applebooks.genresResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "List Apple Books chart genres",
+ "tags": [
+ "AppleBooks"
+ ]
+ }
+ },
+ "/apple-books/search": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Searches Apple Books ebooks by `term`, which is required. `country` is the two-letter storefront code (default `us`), `lang` a language tag such as `en-us`, `limit` the result count (default 50, max 200) and `page` starts at 1. Results include `isbn`, `publisher`, `page_count`, price, rating, genres and series details.",
+ "operationId": "apple-books-search",
+ "parameters": [
+ {
+ "description": "Search term",
+ "in": "query",
+ "name": "term",
+ "required": true,
+ "type": "string",
+ "x-example": "harry potter"
+ },
+ {
+ "description": "Two-letter storefront country code",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "us"
+ },
+ {
+ "description": "Result language tag",
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en-us"
+ },
+ {
+ "description": "Number of books per page",
+ "in": "query",
+ "name": "limit",
+ "type": "integer",
+ "x-example": 50
+ },
+ {
+ "description": "Search page number (1-based)",
+ "in": "query",
+ "name": "page",
+ "type": "integer",
+ "x-example": 1
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/applebooks.searchResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Missing or invalid parameters",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Rate limit exceeded",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Search Apple Books titles",
+ "tags": [
+ "AppleBooks"
+ ]
+ }
+ },
+ "/apple-books/series/{id}": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns an Apple Books series by its numeric `id`: the series `name` and `url`, and its books in series order. Each book has `series_sequence`, author, `publisher`, `isbn`, `page_count`, price and rating. `country` (default `us`) and `lang` choose the storefront and language.",
+ "operationId": "apple-books-series",
+ "parameters": [
+ {
+ "description": "Apple Books numeric series ID",
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "type": "string",
+ "x-example": "1044374793"
+ },
+ {
+ "description": "Two-letter storefront country code",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "us"
+ },
+ {
+ "description": "Result language tag",
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en-us"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/applebooks.seriesResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Missing or invalid parameters",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Series not found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Rate limit exceeded",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Retrieve an Apple Books series and its full book list",
+ "tags": [
+ "AppleBooks"
+ ]
+ }
+ },
+ "/apple-jobs/job": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns one Apple Careers posting by its job id (the `id` field returned by search, e.g. `200674676-0836` for a specific requisition or `PIPE-200314122` for an evergreen/pipeline retail role).",
+ "operationId": "apple-jobs-job",
+ "parameters": [
+ {
+ "description": "Apple job id",
+ "in": "query",
+ "name": "id",
+ "required": true,
+ "type": "string",
+ "x-example": "200674676-0836"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/applejobs.jobResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Apple Jobs single posting",
+ "tags": [
+ "Apple Jobs"
+ ]
+ }
+ },
+ "/apple-jobs/locations": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Discovery endpoint for apple-jobs-search's `location` parameter, whose accepted values are a closed set Apple itself defines (its own `-` location ids -- free-text location names are rejected). Apple exposes no bulk \"list everything\" option for this; the only lookup is a fuzzy search capped at 10 results per call covering four granularities (country, state/province, metro area, city) with no empty-input listing mode. With no `q`, this returns the full country-level value space (206 values, live-verified) as a static list -- the granularity apple-jobs-search's own examples use and nearly every caller needs. With `q` supplied, this instead looks up Apple's own location filter live so callers can discover state/metro/city-level values for finer filtering; results at those deeper levels may include more than one candidate and are ranked by Apple's own relevance, not alphabetically.",
+ "operationId": "apple-jobs-locations",
+ "parameters": [
+ {
+ "description": "Optional free-text location search. Omit to get the full country-level list; supply to live-search state/metro/city-level values too (e.g. a city name).",
+ "in": "query",
+ "name": "q",
+ "type": "string",
+ "x-example": "singapore"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/applejobs.locationsResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Apple Jobs location discovery",
+ "tags": [
+ "Apple Jobs"
+ ]
+ }
+ },
+ "/apple-jobs/search": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Searches Apple's public careers site (jobs.apple.com) via its server-rendered search page's embedded job data. Page size is fixed by Apple at 20 results. Search results carry identity/location/team metadata only — call the job endpoint for the full description and qualifications.",
+ "operationId": "apple-jobs-search",
+ "parameters": [
+ {
+ "description": "Search query",
+ "in": "query",
+ "name": "q",
+ "required": true,
+ "type": "string",
+ "x-example": "software engineer"
+ },
+ {
+ "description": "Location filter in Apple's own slug format, e.g. united-states-USA or singapore-SGP. Free-text location names are not accepted -- call apple-jobs-locations to discover valid values.",
+ "in": "query",
+ "name": "location",
+ "type": "string",
+ "x-example": "united-states-USA"
+ },
+ {
+ "description": "Page number, 1-based",
+ "in": "query",
+ "name": "page",
+ "type": "integer",
+ "x-example": 1
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/applejobs.searchResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Apple Jobs search",
+ "tags": [
+ "Apple Jobs"
+ ]
+ }
+ },
+ "/apple-maps/autocomplete": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns Apple Maps typeahead suggestions for a partial query near a coordinate: query completions, matching businesses (resolved to the same place summary the search endpoint returns, with the place ID the place endpoint takes), and addresses.",
+ "operationId": "apple-maps-autocomplete",
+ "parameters": [
+ {
+ "description": "Partial search text to complete",
+ "in": "query",
+ "name": "query",
+ "required": true,
+ "type": "string",
+ "x-example": "blue bot"
+ },
+ {
+ "description": "Center latitude the suggestions are biased to",
+ "in": "query",
+ "name": "latitude",
+ "required": true,
+ "type": "number",
+ "x-example": 37.7749
+ },
+ {
+ "description": "Center longitude the suggestions are biased to",
+ "in": "query",
+ "name": "longitude",
+ "required": true,
+ "type": "number",
+ "x-example": -122.4194
+ },
+ {
+ "description": "Viewport size in degrees around the center. Defaults to 0.05; minimum 0.001, maximum 5.",
+ "in": "query",
+ "name": "span",
+ "type": "number",
+ "x-example": 0.05
+ },
+ {
+ "description": "Display language as a BCP 47 tag. Defaults to en-US.",
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en-US"
+ },
+ {
+ "description": "Two-letter ISO 3166-1 country code. Defaults to US.",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "US"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/applemaps.autocompleteResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Apple Maps search suggestions for a partial query",
+ "tags": [
+ "Apple Maps"
+ ]
+ }
+ },
+ "/apple-maps/categories": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the \"Find Nearby\" browse categories Apple Maps offers for an area (for example Restaurants, Coffee Shops, Gas Stations, Hotels, Parking, Grocery Stores), each with the key and name the category-search endpoint takes. The set is location-aware.",
+ "operationId": "apple-maps-categories",
+ "parameters": [
+ {
+ "description": "Center latitude",
+ "in": "query",
+ "name": "latitude",
+ "required": true,
+ "type": "number",
+ "x-example": 37.7749
+ },
+ {
+ "description": "Center longitude",
+ "in": "query",
+ "name": "longitude",
+ "required": true,
+ "type": "number",
+ "x-example": -122.4194
+ },
+ {
+ "description": "Viewport size in degrees around the center. Defaults to 0.05; minimum 0.001, maximum 5.",
+ "in": "query",
+ "name": "span",
+ "type": "number",
+ "x-example": 0.05
+ },
+ {
+ "description": "Display language as a BCP 47 tag. Defaults to en-US.",
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en-US"
+ },
+ {
+ "description": "Two-letter ISO 3166-1 country code. Defaults to US.",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "US"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/applemaps.categoriesResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "List Apple Maps browse categories for an area",
+ "tags": [
+ "Apple Maps"
+ ]
+ }
+ },
+ "/apple-maps/category-search": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns places in one browse category near a coordinate without a keyword, in the same shape as the search endpoint (place summaries, region, relocation flag, and the refinement filters block). The category is a name from the categories endpoint for the same area (case-insensitive) or its key; an unknown name returns 400 listing the categories available there. Filters and sort work exactly as on the search endpoint.",
+ "operationId": "apple-maps-category-search",
+ "parameters": [
+ {
+ "description": "Category name (e.g. Coffee Shops, Restaurants) or key from /apple-maps/categories for the same area",
+ "in": "query",
+ "name": "category",
+ "required": true,
+ "type": "string",
+ "x-example": "Coffee Shops"
+ },
+ {
+ "description": "Search center latitude",
+ "in": "query",
+ "name": "latitude",
+ "required": true,
+ "type": "number",
+ "x-example": 37.7749
+ },
+ {
+ "description": "Search center longitude",
+ "in": "query",
+ "name": "longitude",
+ "required": true,
+ "type": "number",
+ "x-example": -122.4194
+ },
+ {
+ "description": "Search viewport size in degrees around the center. Defaults to 0.05; minimum 0.001, maximum 5.",
+ "in": "query",
+ "name": "span",
+ "type": "number",
+ "x-example": 0.05
+ },
+ {
+ "description": "Max places returned. Defaults to 25, maximum 100.",
+ "in": "query",
+ "name": "limit",
+ "type": "integer",
+ "x-example": 25
+ },
+ {
+ "description": "Display language as a BCP 47 tag. Defaults to en-US.",
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en-US"
+ },
+ {
+ "description": "Two-letter ISO 3166-1 country code. Defaults to US.",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "US"
+ },
+ {
+ "description": "Comma-separated filter keys from the filters block of an unfiltered category search for the same category and area. Unknown keys return 400 listing the available keys. Costs a second upstream call.",
+ "in": "query",
+ "name": "filters",
+ "type": "string",
+ "x-example": "OPEN_NOW"
+ },
+ {
+ "description": "Result order. Costs a second upstream call.",
+ "enum": [
+ "best_match",
+ "distance",
+ "ratings"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string",
+ "x-example": "ratings"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/applemaps.searchResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Browse one Apple Maps category near a coordinate",
+ "tags": [
+ "Apple Maps"
+ ]
+ }
+ },
+ "/apple-maps/directions": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns Apple Maps routes between an origin and a destination, with optional intermediate stops, for driving, walking, or cycling. Each route carries its name, whether it is Apple's main or an alternate route, distance, live/historic/free-flow durations, toll and highway flags, Apple's route description and traffic note, and per-leg turn-by-turn steps (maneuver, road, shield, instruction text, distance, duration); detail=full adds each leg's path as coordinates. Departure time and avoid-tolls/highways/stairs preferences are supported. Transit routing is not available.",
+ "operationId": "apple-maps-directions",
+ "parameters": [
+ {
+ "description": "Origin latitude",
+ "in": "query",
+ "name": "origin_latitude",
+ "required": true,
+ "type": "number",
+ "x-example": 37.7749
+ },
+ {
+ "description": "Origin longitude",
+ "in": "query",
+ "name": "origin_longitude",
+ "required": true,
+ "type": "number",
+ "x-example": -122.4194
+ },
+ {
+ "description": "Destination latitude",
+ "in": "query",
+ "name": "destination_latitude",
+ "required": true,
+ "type": "number",
+ "x-example": 37.8199
+ },
+ {
+ "description": "Destination longitude",
+ "in": "query",
+ "name": "destination_longitude",
+ "required": true,
+ "type": "number",
+ "x-example": -122.4783
+ },
+ {
+ "description": "Intermediate stops as lat,lng pairs separated by |, at most 8",
+ "in": "query",
+ "name": "via",
+ "type": "string",
+ "x-example": "37.7955,-122.3937"
+ },
+ {
+ "description": "Travel mode. Defaults to driving.",
+ "enum": [
+ "driving",
+ "walking",
+ "cycling"
+ ],
+ "in": "query",
+ "name": "mode",
+ "type": "string",
+ "x-example": "driving"
+ },
+ {
+ "description": "Driving only: prefer routes without tolls",
+ "in": "query",
+ "name": "avoid_tolls",
+ "type": "boolean",
+ "x-example": false
+ },
+ {
+ "description": "Driving only: prefer routes without highways",
+ "in": "query",
+ "name": "avoid_highways",
+ "type": "boolean",
+ "x-example": false
+ },
+ {
+ "description": "Walking only: prefer routes without stairs",
+ "in": "query",
+ "name": "avoid_stairs",
+ "type": "boolean",
+ "x-example": false
+ },
+ {
+ "description": "Departure time as RFC 3339 for traffic-aware estimates. Defaults to now.",
+ "in": "query",
+ "name": "depart_at",
+ "type": "string",
+ "x-example": "2026-09-07T08:30:00Z"
+ },
+ {
+ "description": "How much of each route to return. Defaults to steps.",
+ "enum": [
+ "summary",
+ "steps",
+ "full"
+ ],
+ "in": "query",
+ "name": "detail",
+ "type": "string",
+ "x-example": "steps"
+ },
+ {
+ "description": "Language for road names and instructions as a BCP 47 tag. Defaults to en-US.",
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en-US"
+ },
+ {
+ "description": "Two-letter ISO 3166-1 country code. Defaults to US.",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "US"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/applemaps.directionsResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Apple Maps driving, walking, or cycling directions",
+ "tags": [
+ "Apple Maps"
+ ]
+ }
+ },
+ "/apple-maps/eta": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns Apple Maps travel-time estimates between an origin and a destination: for each transport type Apple reports (driving always; walking when requested), the live best estimate, the historic and free-flow durations, and the route distance. Cheaper than the directions endpoint when only the time and distance are needed. Apple has no cycling ETA; use the directions endpoint for cycling.",
+ "operationId": "apple-maps-eta",
+ "parameters": [
+ {
+ "description": "Origin latitude",
+ "in": "query",
+ "name": "origin_latitude",
+ "required": true,
+ "type": "number",
+ "x-example": 37.7749
+ },
+ {
+ "description": "Origin longitude",
+ "in": "query",
+ "name": "origin_longitude",
+ "required": true,
+ "type": "number",
+ "x-example": -122.4194
+ },
+ {
+ "description": "Destination latitude",
+ "in": "query",
+ "name": "destination_latitude",
+ "required": true,
+ "type": "number",
+ "x-example": 37.8199
+ },
+ {
+ "description": "Destination longitude",
+ "in": "query",
+ "name": "destination_longitude",
+ "required": true,
+ "type": "number",
+ "x-example": -122.4783
+ },
+ {
+ "description": "Travel mode. Defaults to driving.",
+ "enum": [
+ "driving",
+ "walking"
+ ],
+ "in": "query",
+ "name": "mode",
+ "type": "string",
+ "x-example": "driving"
+ },
+ {
+ "description": "Two-letter ISO 3166-1 country code. Defaults to US.",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "US"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/applemaps.etaResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Apple Maps travel-time estimates between two points",
+ "tags": [
+ "Apple Maps"
+ ]
+ }
+ },
+ "/apple-maps/guides": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the Apple Guides home page for the Worldwide scope or one city: the featured guide, the guide carousels (expert recommendations, latest, and similar rows), the city shortcut list, and the browse-by-publisher list. Each guide carries its id (the value the guide endpoint takes), title, description, last-modified time, place count, cover photo, source link, and publisher; each publisher carries its id, name, subtitle, website, and guide count.",
+ "operationId": "apple-maps-guides",
+ "parameters": [
+ {
+ "description": "City id from /apple-maps/guides/cities. Omit for the Worldwide guides home.",
+ "in": "query",
+ "name": "city_id",
+ "type": "string",
+ "x-example": "8077516530309122779"
+ },
+ {
+ "description": "Display language as a BCP 47 tag, e.g. en-US, fr-FR. Defaults to en-US.",
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en-US"
+ },
+ {
+ "description": "Two-letter ISO 3166-1 country code. Defaults to US.",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "US"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/applemaps.guidesHomeResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Browse the Apple Guides home page worldwide or for one city",
+ "tags": [
+ "Apple Maps"
+ ]
+ }
+ },
+ "/apple-maps/guides/cities": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the Apple Guides city picker: every region (North America, Europe, Australia, and any Apple adds) with the cities it publishes guides for, each with its id, country, coordinates, and cover photo. Pass a city id to the guides home, publishers, or publisher endpoints to scope them to that city; omit it for the Worldwide scope.",
+ "operationId": "apple-maps-guides-cities",
+ "parameters": [
+ {
+ "description": "Display language as a BCP 47 tag, e.g. en-US, fr-FR. Region and city names follow it. Defaults to en-US.",
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en-US"
+ },
+ {
+ "description": "Two-letter ISO 3166-1 country code. Defaults to US.",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "US"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/applemaps.guidesCitiesResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "List the regions and cities Apple Guides cover",
+ "tags": [
+ "Apple Maps"
+ ]
+ }
+ },
+ "/apple-maps/guides/guide": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns one Apple Guide (curated collection) by id: title, description, last-modified time, cover photos, source link, publisher, and every place in the guide with the publisher's blurb for it plus the place's Apple place ID, name, category, coordinates, address, phone, website, rating, price level, hours, and photo.",
+ "operationId": "apple-maps-guide",
+ "parameters": [
+ {
+ "description": "Guide id: from the guides home, a publisher page, a place's guide_ids, or the curated= value in a maps.apple.com/guides URL",
+ "in": "query",
+ "name": "guide_id",
+ "required": true,
+ "type": "string",
+ "x-example": "13100041759208417726"
+ },
+ {
+ "description": "Display language as a BCP 47 tag, e.g. en-US, fr-FR. Defaults to en-US.",
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en-US"
+ },
+ {
+ "description": "Two-letter ISO 3166-1 country code. Defaults to US.",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "US"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/applemaps.guideResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get one Apple Guide with its places",
+ "tags": [
+ "Apple Maps"
+ ]
+ }
+ },
+ "/apple-maps/guides/lookup": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns guide summaries (id, title, description, last-modified time, place count, cover photo, source link) for up to 20 guide ids in one call, for example the guide_ids a place carries. Ids Apple does not return are listed in not_found. Publisher details are not part of this lookup; use the guide endpoint for a single guide's publisher and places.",
+ "operationId": "apple-maps-guides-lookup",
+ "parameters": [
+ {
+ "description": "Comma-separated Apple guide ids, 1 to 20",
+ "in": "query",
+ "name": "guide_ids",
+ "required": true,
+ "type": "string",
+ "x-example": "13100041759208417726,17954826775154719886"
+ },
+ {
+ "description": "Display language as a BCP 47 tag. Defaults to en-US.",
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en-US"
+ },
+ {
+ "description": "Two-letter ISO 3166-1 country code. Defaults to US.",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "US"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/applemaps.guidesLookupResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Resolve up to 20 Apple Guide ids to guide summaries",
+ "tags": [
+ "Apple Maps"
+ ]
+ }
+ },
+ "/apple-maps/guides/nearby": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the guides Apple suggests for the area around a coordinate (\"Guides We Love\" for that location) as guide summaries, plus the Apple Guides city the area belongs to (with the city id the guides home endpoint takes). A coordinate outside any guides city returns an empty list.",
+ "operationId": "apple-maps-guides-nearby",
+ "parameters": [
+ {
+ "description": "Latitude of the area",
+ "in": "query",
+ "name": "latitude",
+ "required": true,
+ "type": "number",
+ "x-example": 37.7749
+ },
+ {
+ "description": "Longitude of the area",
+ "in": "query",
+ "name": "longitude",
+ "required": true,
+ "type": "number",
+ "x-example": -122.4194
+ },
+ {
+ "description": "Viewport size in degrees around the center. Defaults to 0.05; minimum 0.001, maximum 5.",
+ "in": "query",
+ "name": "span",
+ "type": "number",
+ "x-example": 0.05
+ },
+ {
+ "description": "Display language as a BCP 47 tag. Defaults to en-US.",
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en-US"
+ },
+ {
+ "description": "Two-letter ISO 3166-1 country code. Defaults to US.",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "US"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/applemaps.guidesNearbyResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get the Apple Guides curated for the area around a coordinate",
+ "tags": [
+ "Apple Maps"
+ ]
+ }
+ },
+ "/apple-maps/guides/publisher": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns one Apple Guides publisher by id: name, subtitle, website, guide count, the cities the publisher offers as filters, and its guides (each with id, title, description, last-modified time, place count, cover photo, and source link). Pass one of the publisher's own city ids as city_id to return only the guides for that city.",
+ "operationId": "apple-maps-guides-publisher",
+ "parameters": [
+ {
+ "description": "Publisher id: from the guides home or publishers list, a guide's publisher.id, or the publisher= value in a maps.apple.com/guides URL",
+ "in": "query",
+ "name": "publisher_id",
+ "required": true,
+ "type": "string",
+ "x-example": "1706564968711360917"
+ },
+ {
+ "description": "Restrict to one city: an id from this publisher's own cities list",
+ "in": "query",
+ "name": "city_id",
+ "type": "string",
+ "x-example": "18366846785603624515"
+ },
+ {
+ "description": "Display language as a BCP 47 tag, e.g. en-US, fr-FR. Defaults to en-US.",
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en-US"
+ },
+ {
+ "description": "Two-letter ISO 3166-1 country code. Defaults to US.",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "US"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/applemaps.publisherResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get one Apple Guides publisher and its guides",
+ "tags": [
+ "Apple Maps"
+ ]
+ }
+ },
+ "/apple-maps/guides/publishers": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the Apple Guides \"Browse by Publisher\" list for the Worldwide scope or one city, sorted by name: each publisher's id (the value the publisher endpoint takes), name, subtitle, website, and number of guides. With no city_id this is the complete enumeration of every publisher Apple lists, usable as the id lookup table for the publisher endpoint.",
+ "operationId": "apple-maps-guides-publishers",
+ "parameters": [
+ {
+ "description": "City id from /apple-maps/guides/cities. Omit for the Worldwide publisher list.",
+ "in": "query",
+ "name": "city_id",
+ "type": "string",
+ "x-example": "8077516530309122779"
+ },
+ {
+ "description": "Display language as a BCP 47 tag, e.g. en-US, fr-FR. Defaults to en-US.",
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en-US"
+ },
+ {
+ "description": "Two-letter ISO 3166-1 country code. Defaults to US.",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "US"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/applemaps.guidesPublishersResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "List Apple Guides publishers worldwide or for one city",
+ "tags": [
+ "Apple Maps"
+ ]
+ }
+ },
+ "/apple-maps/place": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns one Apple Maps place by its place ID: name, type, category taxonomy, coordinates, formatted and structured address, phone numbers, website, rating and review count, price level, weekly opening hours, amenities (payment, accessibility, parking, and similar yes/no attributes), photos, review snippets (text, rating, time, and source link, without reviewer identity), the business-claim link, and the IDs of Apple Guides that include the place. Accepts either the external place ID (starts with I, the place-id= value in a maps.apple.com/place URL) or the numeric ID from a search result.",
+ "operationId": "apple-maps-place",
+ "parameters": [
+ {
+ "description": "Apple place ID: external form (I594FECA0B369D14A) or numeric id from a search result",
+ "in": "query",
+ "name": "place_id",
+ "required": true,
+ "type": "string",
+ "x-example": "I594FECA0B369D14A"
+ },
+ {
+ "description": "Display language as a BCP 47 tag, e.g. en-US, ja-JP, de-DE. Defaults to en-US.",
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en-US"
+ },
+ {
+ "description": "Two-letter ISO 3166-1 country code selecting Apple's regional catalog. Defaults to US.",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "US"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/applemaps.placeResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get one Apple Maps place's full detail",
+ "tags": [
+ "Apple Maps"
+ ]
+ }
+ },
+ "/apple-maps/place/photos": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns all of a place's photos (the place endpoint caps at 20): the business cover photo first when present, then the hero photo, then every categorized photo with its category (Food & Drink, Interior, Exterior, ...), width and height.",
+ "operationId": "apple-maps-place-photos",
+ "parameters": [
+ {
+ "description": "Apple place ID (external I... form or numeric id)",
+ "in": "query",
+ "name": "place_id",
+ "required": true,
+ "type": "string",
+ "x-example": "I594FECA0B369D14A"
+ },
+ {
+ "description": "Display language as a BCP 47 tag, e.g. en-US. Defaults to en-US.",
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en-US"
+ },
+ {
+ "description": "Two-letter ISO 3166-1 country code. Defaults to US.",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "US"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/applemaps.placePhotosResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "List every photo Apple Maps carries for a place",
+ "tags": [
+ "Apple Maps"
+ ]
+ }
+ },
+ "/apple-maps/places": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the same full detail as the place endpoint for up to 20 place IDs in a single upstream call, plus the list of requested IDs Apple did not return. Accepts the external I... form and the numeric id interchangeably.",
+ "operationId": "apple-maps-places",
+ "parameters": [
+ {
+ "description": "Comma-separated Apple place ids, 1 to 20",
+ "in": "query",
+ "name": "place_ids",
+ "required": true,
+ "type": "string",
+ "x-example": "I594FECA0B369D14A,243355970509228267"
+ },
+ {
+ "description": "Display language as a BCP 47 tag. Defaults to en-US.",
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en-US"
+ },
+ {
+ "description": "Two-letter ISO 3166-1 country code. Defaults to US.",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "US"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/applemaps.placesResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get full detail for up to 20 Apple Maps places in one call",
+ "tags": [
+ "Apple Maps"
+ ]
+ }
+ },
+ "/apple-maps/reverse-geocode": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns Apple Maps' address record for a coordinate: the matched place name and type (an address, street, or area of interest such as a neighborhood), the formatted and structured address, the matched center, the IANA timezone, and the display region.",
+ "operationId": "apple-maps-reverse-geocode",
+ "parameters": [
+ {
+ "description": "Latitude to reverse-geocode",
+ "in": "query",
+ "name": "latitude",
+ "required": true,
+ "type": "number",
+ "x-example": 37.7749
+ },
+ {
+ "description": "Longitude to reverse-geocode",
+ "in": "query",
+ "name": "longitude",
+ "required": true,
+ "type": "number",
+ "x-example": -122.4194
+ },
+ {
+ "description": "Display language as a BCP 47 tag. Defaults to en-US.",
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en-US"
+ },
+ {
+ "description": "Two-letter ISO 3166-1 country code. Defaults to US.",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "US"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/applemaps.reverseGeocodeResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Reverse-geocode a coordinate with Apple Maps",
+ "tags": [
+ "Apple Maps"
+ ]
+ }
+ },
+ "/apple-maps/search": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns Apple Maps places matching a keyword, business name, category, or street address near a coordinate. Each place carries its Apple place ID (the value the place endpoint takes), name, category, coordinates, formatted and structured address, phone, website, rating and review count, price level, weekly opening hours, and a hero photo. Apple returns a bounded set per viewport (around 25 places for the default span) with no pagination; widen the span or move the center to cover more area. When nothing matches near the center Apple may relocate the search to a default region, reported by relocated=true and the region bounds. The response's filters block lists the refinement chips Apple offers for this query and area (open now, top rated, in guides, cuisines, price bands, amenities, accolades, sort); pass their keys back as filters and sort to refine the same search.",
+ "operationId": "apple-maps-search",
+ "parameters": [
+ {
+ "description": "Keyword, business name, category, or street address to search for",
+ "in": "query",
+ "name": "query",
+ "required": true,
+ "type": "string",
+ "x-example": "coffee"
+ },
+ {
+ "description": "Search center latitude",
+ "in": "query",
+ "name": "latitude",
+ "required": true,
+ "type": "number",
+ "x-example": 37.7749
+ },
+ {
+ "description": "Search center longitude",
+ "in": "query",
+ "name": "longitude",
+ "required": true,
+ "type": "number",
+ "x-example": -122.4194
+ },
+ {
+ "description": "Search viewport size in degrees of latitude/longitude around the center. Defaults to 0.05 (roughly a 5km box); minimum 0.001, maximum 5.",
+ "in": "query",
+ "name": "span",
+ "type": "number",
+ "x-example": 0.05
+ },
+ {
+ "description": "Max places returned. Defaults to 25, maximum 100.",
+ "in": "query",
+ "name": "limit",
+ "type": "integer",
+ "x-example": 25
+ },
+ {
+ "description": "Display language as a BCP 47 tag, e.g. en-US, ja-JP, de-DE. Defaults to en-US.",
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en-US"
+ },
+ {
+ "description": "Two-letter ISO 3166-1 country code selecting Apple's regional catalog. Defaults to US.",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "US"
+ },
+ {
+ "description": "Comma-separated filter keys from the filters block of an unfiltered search for the same query and area, e.g. OPEN_NOW, TOP_RATED, FEATURED_IN_GUIDES, PRICE_RANGE_MODERATE, modern_pizza_restaurant, ACCEPTS_CREDIT_CARDS. Unknown keys return 400 listing the available keys. Costs a second upstream search.",
+ "in": "query",
+ "name": "filters",
+ "type": "string",
+ "x-example": "OPEN_NOW,modern_pizza_restaurant"
+ },
+ {
+ "description": "Result order. Costs a second upstream search.",
+ "enum": [
+ "best_match",
+ "distance",
+ "ratings"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string",
+ "x-example": "ratings"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/applemaps.searchResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Search Apple Maps places near a coordinate",
+ "tags": [
+ "Apple Maps"
+ ]
+ }
+ },
+ "/apple-maps/transit-departures": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns a transit stop or station's systems (e.g. BART, Muni Metro), lines (name, shield, color), and the upcoming departures Apple Maps shows, each with the line, headsign, direction, scheduled and live times, and real-time status. Takes the stop's Apple place ID (find stops with the search endpoint, e.g. a station name). A place that is not a transit stop returns 404.",
+ "operationId": "apple-maps-transit-departures",
+ "parameters": [
+ {
+ "description": "Apple place ID of a transit stop or station (external I... form or numeric id)",
+ "in": "query",
+ "name": "place_id",
+ "required": true,
+ "type": "string",
+ "x-example": "5261664738367631956"
+ },
+ {
+ "description": "Display language as a BCP 47 tag, e.g. en-US. Defaults to en-US.",
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en-US"
+ },
+ {
+ "description": "Two-letter ISO 3166-1 country code. Defaults to US.",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "US"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/applemaps.transitDeparturesResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get a transit stop's lines and live departures from Apple Maps",
+ "tags": [
+ "Apple Maps"
+ ]
+ }
+ },
+ "/apple-maps/venue/browse": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns an indoor venue's directory (mall, airport, stadium: categories such as Clothes, Shoes, Food, All Shops with their subcategories and levels) and, when a category is given, the places inside the venue for that category with the same summary shape as search. Find venues with the search endpoint; a place without a directory returns 404, an unknown category returns 400 listing the available ones.",
+ "operationId": "apple-maps-venue-browse",
+ "parameters": [
+ {
+ "description": "Apple place ID of the venue (external I... form or numeric id)",
+ "in": "query",
+ "name": "place_id",
+ "required": true,
+ "type": "string",
+ "x-example": "14643260860569849804"
+ },
+ {
+ "description": "Directory category or subcategory to browse, by name (case-insensitive) or key from the venue's directory. Omit to list the directory only.",
+ "in": "query",
+ "name": "category",
+ "type": "string",
+ "x-example": "Clothes"
+ },
+ {
+ "description": "Max places returned. Defaults to 25, maximum 100.",
+ "in": "query",
+ "name": "limit",
+ "type": "integer",
+ "x-example": 25
+ },
+ {
+ "description": "Display language as a BCP 47 tag, e.g. en-US. Defaults to en-US.",
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en-US"
+ },
+ {
+ "description": "Two-letter ISO 3166-1 country code. Defaults to US.",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "US"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/applemaps.venueBrowseResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Browse the stores and places inside a venue on Apple Maps",
+ "tags": [
+ "Apple Maps"
+ ]
+ }
+ },
+ "/apple-podcasts/charts": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns Apple Podcasts show chart rankings for a `collection`, either `toppodcasts` or `topaudiopodcasts`. Narrow with `category` (a numeric Apple podcast genre ID), `country` and `limit`. Each entry has `name`, `artist_name`, `genre`, `genre_id`, `description`, `release_date`, `artwork_url` and `url`.",
+ "operationId": "apple-podcasts-charts",
+ "parameters": [
+ {
+ "description": "Chart collection",
+ "in": "query",
+ "name": "collection",
+ "type": "string",
+ "x-example": "toppodcasts"
+ },
+ {
+ "description": "Numeric Apple podcast genre ID",
+ "in": "query",
+ "name": "category",
+ "type": "integer",
+ "x-example": 1303
+ },
+ {
+ "description": "Two-letter storefront country code",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "us"
+ },
+ {
+ "description": "Number of chart items to return",
+ "in": "query",
+ "name": "limit",
+ "type": "integer",
+ "x-example": 50
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/applepodcasts.chartsResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Missing or invalid parameters",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Rate limit exceeded",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Retrieve Apple Podcasts chart rankings",
+ "tags": [
+ "ApplePodcasts"
+ ]
+ }
+ },
+ "/apple-podcasts/charts/rankings": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns Apple Podcasts chart rankings from the modern podcasts.apple.com charts page, covering chart algorithms (`top`, `top-subscriber`, `top-series`) crossed with entity types (`podcasts`, `podcast-episodes`, `podcast-channels`) and an optional genre filter. A richer, differently-sourced capability than the legacy RSS-based `/apple-podcasts/charts` endpoint.",
+ "operationId": "apple-podcasts-charts-rankings",
+ "parameters": [
+ {
+ "description": "Chart algorithm. Allowed values: `top`, `top-subscriber`, `top-series`. Default `top`.",
+ "in": "query",
+ "name": "chart",
+ "type": "string",
+ "x-example": "top"
+ },
+ {
+ "description": "Entity type. Allowed values: `podcasts`, `podcast-episodes`, `podcast-channels`. Default `podcasts`.",
+ "in": "query",
+ "name": "type",
+ "type": "string",
+ "x-example": "podcasts"
+ },
+ {
+ "description": "Optional Apple Podcasts genre ID to filter the chart, e.g. 1303 for Comedy",
+ "in": "query",
+ "name": "genre",
+ "type": "integer",
+ "x-example": 1303
+ },
+ {
+ "description": "Two-letter storefront country code",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "us"
+ },
+ {
+ "description": "Number of chart entries to return, default 24, max 200",
+ "in": "query",
+ "name": "limit",
+ "type": "integer",
+ "x-example": 24
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/applepodcasts.chartRankingsResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Missing or invalid parameters",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Rate limit exceeded",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Retrieve Apple Podcasts chart rankings by algorithm, type, and genre",
+ "tags": [
+ "ApplePodcasts"
+ ]
+ }
+ },
+ "/apple-podcasts/episodes/search": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Searches Apple Podcasts episodes by `term`, which is required. `country`, `lang`, `limit` and `page` (1-based) refine the search. Each episode has its `title`, `show_name`, `show_id`, `description`, `duration_millis`, `release_date`, `episode_url`, `preview_url`, `feed_url`, genres and artwork.",
+ "operationId": "apple-podcasts-episodes-search",
+ "parameters": [
+ {
+ "description": "Search term",
+ "in": "query",
+ "name": "term",
+ "required": true,
+ "type": "string",
+ "x-example": "hardcore history"
+ },
+ {
+ "description": "Two-letter storefront country code",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "us"
+ },
+ {
+ "description": "Result language tag",
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en-us"
+ },
+ {
+ "description": "Number of episodes per page",
+ "in": "query",
+ "name": "limit",
+ "type": "integer",
+ "x-example": 50
+ },
+ {
+ "description": "Search page number (1-based)",
+ "in": "query",
+ "name": "page",
+ "type": "integer",
+ "x-example": 1
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/applepodcasts.episodeSearchResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Missing or invalid parameters",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Rate limit exceeded",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Search Apple Podcasts episodes",
+ "tags": [
+ "ApplePodcasts"
+ ]
+ }
+ },
+ "/apple-podcasts/new": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the curated editorial shelves from podcasts.apple.com/{country}/new (New Shows, New Seasons, New Trailers, Essentials, and other seasonal spotlights). Shelves that merely mirror a Charts Rankings query are omitted here since `/apple-podcasts/charts/rankings` already covers that data.",
+ "operationId": "apple-podcasts-new",
+ "parameters": [
+ {
+ "description": "Two-letter storefront country code",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "us"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/applepodcasts.newShelvesResponseDoc"
+ }
+ },
+ "429": {
+ "description": "Rate limit exceeded",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Retrieve Apple Podcasts curated \"New\" editorial shelves",
+ "tags": [
+ "ApplePodcasts"
+ ]
+ }
+ },
+ "/apple-podcasts/search": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Searches Apple Podcasts shows by `term`, which is required. `country`, `lang`, `limit` and `page` (1-based) refine the search. Each show has `collection_name`, `artist_name`, `feed_url`, `primary_genre_name`, `genres`, `track_count`, `release_date`, content advisory rating and several artwork sizes.",
+ "operationId": "apple-podcasts-search",
+ "parameters": [
+ {
+ "description": "Search term",
+ "in": "query",
+ "name": "term",
+ "required": true,
+ "type": "string",
+ "x-example": "hardcore history"
+ },
+ {
+ "description": "Two-letter storefront country code",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "us"
+ },
+ {
+ "description": "Result language tag",
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en-us"
+ },
+ {
+ "description": "Number of shows per page",
+ "in": "query",
+ "name": "limit",
+ "type": "integer",
+ "x-example": 50
+ },
+ {
+ "description": "Search page number (1-based)",
+ "in": "query",
+ "name": "page",
+ "type": "integer",
+ "x-example": 1
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/applepodcasts.searchResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Missing or invalid parameters",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Rate limit exceeded",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Search Apple Podcasts shows",
+ "tags": [
+ "ApplePodcasts"
+ ]
+ }
+ },
+ "/apple-podcasts/show/{id}": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the details of one Apple Podcasts show by its Apple show `id`: `collection_name`, `artist_name`, `feed_url`, `primary_genre_name`, `genres`, `track_count`, `release_date`, content advisory rating and artwork. `country` and `lang` choose the storefront and language.",
+ "operationId": "apple-podcasts-show",
+ "parameters": [
+ {
+ "description": "Apple Podcasts show ID",
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "type": "string",
+ "x-example": "173001861"
+ },
+ {
+ "description": "Two-letter storefront country code",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "us"
+ },
+ {
+ "description": "Result language tag",
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en-us"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/applepodcasts.showResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Missing or invalid parameters",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Show not found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Rate limit exceeded",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Retrieve Apple Podcasts show details",
+ "tags": [
+ "ApplePodcasts"
+ ]
+ }
+ },
+ "/apple-podcasts/show/{id}/episodes": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns one Apple Podcasts show by its Apple show `id`, together with a list of its episodes. `limit` sets how many episodes to return; `country` and `lang` choose the storefront and language. Episodes have `title`, `description`, `duration_millis`, `release_date`, `episode_url` and `episode_guid`.",
+ "operationId": "apple-podcasts-show-episodes",
+ "parameters": [
+ {
+ "description": "Apple Podcasts show ID",
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "type": "string",
+ "x-example": "173001861"
+ },
+ {
+ "description": "Two-letter storefront country code",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "us"
+ },
+ {
+ "description": "Result language tag",
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en-us"
+ },
+ {
+ "description": "Number of episodes to return",
+ "in": "query",
+ "name": "limit",
+ "type": "integer",
+ "x-example": 50
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/applepodcasts.showEpisodesResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Missing or invalid parameters",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Show not found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Rate limit exceeded",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Retrieve Apple Podcasts show episodes",
+ "tags": [
+ "ApplePodcasts"
+ ]
+ }
+ },
+ "/apple-podcasts/show/{id}/related": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the \"You Might Also Like\" rail for a single show, sourced from the modern podcasts.apple.com show page's listener-cohort recommendation data.",
+ "operationId": "apple-podcasts-show-related",
+ "parameters": [
+ {
+ "description": "Apple Podcasts show ID",
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "type": "string",
+ "x-example": "173001861"
+ },
+ {
+ "description": "Two-letter storefront country code",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "us"
+ },
+ {
+ "description": "Number of related shows to return, default 20, max 50",
+ "in": "query",
+ "name": "limit",
+ "type": "integer",
+ "x-example": 20
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/applepodcasts.relatedShowsResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Missing or invalid parameters",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Show not found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Rate limit exceeded",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Retrieve Apple Podcasts \"You Might Also Like\" related shows",
+ "tags": [
+ "ApplePodcasts"
+ ]
+ }
+ },
+ "/appstore/app": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns app metadata from the App Store. Provide either `id` (numeric track ID) or `app_id` (bundle ID). `id`/`app_id` can identify an iPhone, iPad, or Mac App Store listing.",
+ "operationId": "appstore-app",
+ "parameters": [
+ {
+ "description": "App Store numeric track ID (digits only)",
+ "in": "query",
+ "name": "id",
+ "type": "string",
+ "x-example": "553834731"
+ },
+ {
+ "description": "App Store bundle ID",
+ "in": "query",
+ "name": "app_id",
+ "type": "string",
+ "x-example": "com.midasplayer.apps.candycrushsaga"
+ },
+ {
+ "description": "Two-letter storefront country code",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "us"
+ },
+ {
+ "description": "Result language tag",
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en-us"
+ },
+ {
+ "default": false,
+ "description": "Include ratings histogram",
+ "in": "query",
+ "name": "ratings",
+ "type": "boolean"
+ },
+ {
+ "default": false,
+ "description": "Include the full device-platform compatibility list (adds one extra upstream fetch)",
+ "in": "query",
+ "name": "platforms",
+ "type": "boolean"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/appstore.appDetailsResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Missing or invalid parameters",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "App not found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Rate limit exceeded",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Retrieve full App Store app details",
+ "tags": [
+ "AppStore"
+ ]
+ }
+ },
+ "/appstore/categories": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns every category ID and chart collection accepted by `/appstore/list`, including Games and Magazines & Newspapers subgenres with their parent ID. Collections carry their device platform (`phone`, `pad`, `mac`), chart type (`top_free`, `top_paid`, `top_grossing`, `top`, `new`), and whether the feed currently returns entries.",
+ "operationId": "appstore-categories",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/appstore.categoriesResponseDoc"
+ }
+ },
+ "429": {
+ "description": "Rate limit exceeded",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Retrieve App Store chart categories and collections",
+ "tags": [
+ "AppStore"
+ ]
+ }
+ },
+ "/appstore/collection": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns app items embedded in an Apple room or EDS collection page. Discover IDs with `appstore_collections`. `platform` enum: `iphone`, `ipad`, `mac`, `vision`, `watch`, `tv`. `collection_id` must be a numeric room ID or `eds.UUID` ID returned by the discovery endpoint.",
+ "operationId": "appstore-collection",
+ "parameters": [
+ {
+ "description": "Apple device catalog",
+ "enum": [
+ "iphone",
+ "ipad",
+ "mac",
+ "vision",
+ "watch",
+ "tv"
+ ],
+ "in": "query",
+ "name": "platform",
+ "required": true,
+ "type": "string",
+ "x-example": "iphone"
+ },
+ {
+ "description": "Room ID or EDS UUID collection ID from appstore_collections",
+ "in": "query",
+ "name": "collection_id",
+ "required": true,
+ "type": "string",
+ "x-example": "6757461219"
+ },
+ {
+ "description": "Two-letter storefront country code",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "us"
+ },
+ {
+ "description": "Result language tag",
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en-us"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/appstore.collectionResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Missing or invalid parameters",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Collection not found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Rate limit exceeded",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Retrieve apps in one App Store collection",
+ "tags": [
+ "AppStore"
+ ]
+ }
+ },
+ "/appstore/collections": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the room and EDS collection links embedded in Apple's browse page for one device. `platform` enum: `iphone`, `ipad`, `mac`, `vision`, `watch`, `tv`. Pass a returned `id` and the same platform to `appstore_collection` to retrieve the collection's apps.",
+ "operationId": "appstore-collections",
+ "parameters": [
+ {
+ "description": "Apple device catalog",
+ "enum": [
+ "iphone",
+ "ipad",
+ "mac",
+ "vision",
+ "watch",
+ "tv"
+ ],
+ "in": "query",
+ "name": "platform",
+ "required": true,
+ "type": "string",
+ "x-example": "iphone"
+ },
+ {
+ "description": "Two-letter storefront country code",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "us"
+ },
+ {
+ "description": "Result language tag",
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en-us"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/appstore.collectionsResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Missing or invalid parameters",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Page not found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Rate limit exceeded",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Discover App Store editorial collections",
+ "tags": [
+ "AppStore"
+ ]
+ }
+ },
+ "/appstore/developer/{dev_id}": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Lists the App Store apps published by one developer, by Apple developer (artist) id, for an optional storefront country and language. Each app carries its id, title, description, icon and screenshots, price and currency, genres, version and release notes, rating score and counts, size, supported devices and languages.",
+ "operationId": "appstore-developer",
+ "parameters": [
+ {
+ "description": "Developer artist ID",
+ "in": "path",
+ "name": "dev_id",
+ "required": true,
+ "type": "string",
+ "x-example": "284882218"
+ },
+ {
+ "description": "Two-letter storefront country code",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "us"
+ },
+ {
+ "description": "Result language tag",
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en-us"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/appstore.developerResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Missing or invalid parameters",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Developer not found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Rate limit exceeded",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Retrieve apps by developer ID",
+ "tags": [
+ "AppStore"
+ ]
+ }
+ },
+ "/appstore/editorial": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the curated editorial shelves from one of Apple's per-device App Store landing pages (the same content shown by apps.apple.com's device switcher). `device` enum: `iphone`, `ipad`, `mac`, `vision`, `watch`, `tv`. `section` enum: `main` (the device's Today/Discover/Apps & Games landing page), `arcade` (the device's Apple Arcade landing page). Watch has no Arcade page — `device=watch` with `section=arcade` returns `400`.",
+ "operationId": "appstore-editorial",
+ "parameters": [
+ {
+ "description": "Apple device catalog",
+ "enum": [
+ "iphone",
+ "ipad",
+ "mac",
+ "vision",
+ "watch",
+ "tv"
+ ],
+ "in": "query",
+ "name": "device",
+ "required": true,
+ "type": "string",
+ "x-example": "iphone"
+ },
+ {
+ "default": "main",
+ "description": "Editorial section within the device",
+ "enum": [
+ "main",
+ "arcade"
+ ],
+ "in": "query",
+ "name": "section",
+ "type": "string"
+ },
+ {
+ "description": "Two-letter storefront country code",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "us"
+ },
+ {
+ "description": "Result language tag",
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en-us"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/appstore.editorialResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Missing or invalid parameters",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Page not found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Rate limit exceeded",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Retrieve an App Store device or Arcade editorial landing page",
+ "tags": [
+ "AppStore"
+ ]
+ }
+ },
+ "/appstore/editorial/category": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the curated editorial shelves for one device category page (e.g. \"Entertainment Apps for Vision\"). `category_id` is a numeric, device-specific editorial page ID — not a static enum — discovered from an `appstore_editorial` response for the SAME `device`, in its \"Browse by Category\" shelf items' `destination_id` field. `device` enum: `iphone`, `ipad`, `mac`, `vision`, `watch`, `tv`.",
+ "operationId": "appstore-editorial-category",
+ "parameters": [
+ {
+ "description": "Apple device catalog",
+ "enum": [
+ "iphone",
+ "ipad",
+ "mac",
+ "vision",
+ "watch",
+ "tv"
+ ],
+ "in": "query",
+ "name": "device",
+ "required": true,
+ "type": "string",
+ "x-example": "iphone"
+ },
+ {
+ "description": "Numeric App Store editorial page ID, discovered from appstore_editorial (same device)",
+ "in": "query",
+ "name": "category_id",
+ "required": true,
+ "type": "string",
+ "x-example": "6503709728"
+ },
+ {
+ "description": "Two-letter storefront country code",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "us"
+ },
+ {
+ "description": "Result language tag",
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en-us"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/appstore.editorialResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Missing or invalid parameters",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Category page not found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Rate limit exceeded",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Retrieve an App Store category-scoped editorial page",
+ "tags": [
+ "AppStore"
+ ]
+ }
+ },
+ "/appstore/list": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns ranked App Store apps from an iTunes RSS collection, optionally expanded to full lookup details. `collection` enum: `topfreeapplications`, `toppaidapplications`, `topgrossingapplications`, `topfreeipadapplications`, `toppaidipadapplications`, `topgrossingipadapplications`, `topmacapps`, `topfreemacapps`, `topgrossingmacapps`, `toppaidmacapps`, `newapplications`, `newfreeapplications`, `newpaidapplications`. Of the Mac collections, only `topfreemacapps` currently returns ranked apps — `topmacapps`, `topgrossingmacapps`, and `toppaidmacapps` are accepted but Apple's feed for them is currently empty. There is no separate Games `collection` — combine any collection with `category=6014` (or a Games subgenre ID, e.g. `7012` for Puzzle) to get its Games-only equivalent, e.g. Top Free Games. See the endpoint markdown for the full category ID table.",
+ "operationId": "appstore-list",
+ "parameters": [
+ {
+ "description": "Chart collection slug, see description for the full enum",
+ "in": "query",
+ "name": "collection",
+ "type": "string",
+ "x-example": "topfreeapplications"
+ },
+ {
+ "description": "Numeric App Store category ID, see description for the full enum; e.g. 6014 = Games, 7012 = Games/Puzzle",
+ "in": "query",
+ "name": "category",
+ "type": "integer",
+ "x-example": 6014
+ },
+ {
+ "description": "Two-letter storefront country code",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "us"
+ },
+ {
+ "description": "Result language tag",
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en-us"
+ },
+ {
+ "description": "Number of apps to return",
+ "in": "query",
+ "name": "num",
+ "type": "integer",
+ "x-example": 50
+ },
+ {
+ "default": false,
+ "description": "Expand each app via lookup API",
+ "in": "query",
+ "name": "full_detail",
+ "type": "boolean"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/appstore.listResultsResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Missing or invalid parameters",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Rate limit exceeded",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Retrieve App Store collection rankings",
+ "tags": [
+ "AppStore"
+ ]
+ }
+ },
+ "/appstore/privacy/{id}": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the privacy disclosures shown on an App Store page for one app, identified by its numeric track `id` (digits only; anything else returns 400). The response has `privacy_policy_url`, `manage_privacy_choices_url` and `privacy_types`, each with its data categories and purposes. `country` and `lang` are optional.",
+ "operationId": "appstore-privacy",
+ "parameters": [
+ {
+ "description": "App Store numeric track ID (digits only)",
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "type": "string",
+ "x-example": "324684580"
+ },
+ {
+ "description": "Two-letter storefront country code",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "us"
+ },
+ {
+ "description": "Result language tag",
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en-us"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/appstore.privacyResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Missing or invalid parameters",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "App not found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Rate limit exceeded",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Retrieve App Store privacy disclosures",
+ "tags": [
+ "AppStore"
+ ]
+ }
+ },
+ "/appstore/ratings": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the total `ratings` count and the 1 to 5 star `histogram` for an App Store app. Identify it with either the numeric track `id` or the bundle ID `app_id`; a bundle ID is resolved to the track ID first, and a non-numeric `id` returns 400. `country` and `lang` are optional.",
+ "operationId": "appstore-ratings",
+ "parameters": [
+ {
+ "description": "App Store numeric track ID (digits only)",
+ "in": "query",
+ "name": "id",
+ "type": "string",
+ "x-example": "553834731"
+ },
+ {
+ "description": "App Store bundle ID",
+ "in": "query",
+ "name": "app_id",
+ "type": "string",
+ "x-example": "com.midasplayer.apps.candycrushsaga"
+ },
+ {
+ "description": "Two-letter storefront country code",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "us"
+ },
+ {
+ "description": "Result language tag",
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en-us"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/appstore.ratingsResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Missing or invalid parameters",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "App not found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Rate limit exceeded",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Retrieve App Store ratings histogram",
+ "tags": [
+ "AppStore"
+ ]
+ }
+ },
+ "/appstore/reviews": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns one page of customer reviews for an App Store app, identified by `id` (numeric track ID) or `app_id` (bundle ID). `page` runs 1 to 10 and `sort` is `mostRecent` (default) or `mostHelpful`. Reviews carry `score`, `title`, `text`, `version`, `user_name` and `updated`. Returns 503 when reviews cannot be retrieved, and 404 when the app is not in that `country` storefront.",
+ "operationId": "appstore-reviews",
+ "parameters": [
+ {
+ "description": "App Store numeric track ID (digits only)",
+ "in": "query",
+ "name": "id",
+ "type": "string",
+ "x-example": "553834731"
+ },
+ {
+ "description": "App Store bundle ID",
+ "in": "query",
+ "name": "app_id",
+ "type": "string",
+ "x-example": "com.midasplayer.apps.candycrushsaga"
+ },
+ {
+ "description": "Two-letter storefront country code",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "us"
+ },
+ {
+ "description": "Review page number (1-10)",
+ "in": "query",
+ "name": "page",
+ "type": "integer",
+ "x-example": 1
+ },
+ {
+ "default": "mostRecent",
+ "description": "Sort order",
+ "enum": [
+ "mostRecent",
+ "mostHelpful"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Result language tag",
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en-us"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/appstore.reviewsResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Missing or invalid parameters",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "App not found, or not published in the requested storefront",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Rate limit exceeded",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Retrieve App Store reviews",
+ "tags": [
+ "AppStore"
+ ]
+ }
+ },
+ "/appstore/search": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns App Store search results for a term. Set `ids_only=true` to return only app IDs. `platform` enum: `phone`, `pad`, `mac`.",
+ "operationId": "appstore-search",
+ "parameters": [
+ {
+ "description": "Search term",
+ "in": "query",
+ "name": "term",
+ "required": true,
+ "type": "string",
+ "x-example": "panda"
+ },
+ {
+ "description": "Number of apps per page",
+ "in": "query",
+ "name": "num",
+ "type": "integer",
+ "x-example": 50
+ },
+ {
+ "description": "Search page number (1-based)",
+ "in": "query",
+ "name": "page",
+ "type": "integer",
+ "x-example": 1
+ },
+ {
+ "description": "Two-letter storefront country code",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "us"
+ },
+ {
+ "description": "Result language tag",
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en-us"
+ },
+ {
+ "default": false,
+ "description": "Return only app IDs",
+ "in": "query",
+ "name": "ids_only",
+ "type": "boolean"
+ },
+ {
+ "default": "phone",
+ "description": "App Store catalog to search: phone, pad, mac",
+ "enum": [
+ "phone",
+ "pad",
+ "mac"
+ ],
+ "in": "query",
+ "name": "platform",
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/appstore.searchResultsResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Missing or invalid parameters",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Rate limit exceeded",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Search the App Store",
+ "tags": [
+ "AppStore"
+ ]
+ }
+ },
+ "/appstore/similar": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the related apps shown on the App Store product page. Provide either `id` (numeric track ID) or `app_id` (bundle ID).",
+ "operationId": "appstore-similar",
+ "parameters": [
+ {
+ "description": "App Store numeric track ID (digits only)",
+ "in": "query",
+ "name": "id",
+ "type": "string",
+ "x-example": "553834731"
+ },
+ {
+ "description": "App Store bundle ID",
+ "in": "query",
+ "name": "app_id",
+ "type": "string",
+ "x-example": "com.midasplayer.apps.candycrushsaga"
+ },
+ {
+ "description": "Two-letter storefront country code",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "us"
+ },
+ {
+ "description": "Result language tag",
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en-us"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/appstore.similarResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Missing or invalid parameters",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "App not found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Rate limit exceeded",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Retrieve \"You Might Also Like\" apps",
+ "tags": [
+ "AppStore"
+ ]
+ }
+ },
+ "/appstore/suggest/{term}": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns App Store search suggestions for a partial search term given in the path, as a list of suggested `term` values. `country` is an optional two-letter storefront code.",
+ "operationId": "appstore-suggest",
+ "parameters": [
+ {
+ "description": "Partial search term",
+ "in": "path",
+ "name": "term",
+ "required": true,
+ "type": "string",
+ "x-example": "panda"
+ },
+ {
+ "description": "Two-letter storefront country code",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "us"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/appstore.suggestResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Missing or invalid parameters",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Rate limit exceeded",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Retrieve App Store search suggestions",
+ "tags": [
+ "AppStore"
+ ]
+ }
+ },
+ "/appstore/version-history/{id}": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns an App Store app's version history, as shown under \"What's New\", by numeric track id, for an optional storefront country and language. Each entry has the version number, release date and timestamp, and release notes. A non-numeric id returns `400`.",
+ "operationId": "appstore-version-history",
+ "parameters": [
+ {
+ "description": "App Store numeric track ID (digits only)",
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "type": "string",
+ "x-example": "553834731"
+ },
+ {
+ "description": "Two-letter storefront country code",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "us"
+ },
+ {
+ "description": "Result language tag",
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en-us"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/appstore.versionHistoryResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Missing or invalid parameters",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "App not found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Rate limit exceeded",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Retrieve App Store version history",
+ "tags": [
+ "AppStore"
+ ]
+ }
+ },
+ "/arbys/categories": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns Arby's US menu's top-level categories -- Slow Roasted Beef, Crispy Juicy Chicken, Meals, Sides & Snacks, Beverages, Desserts, Kids Menu and others. Each entry's slug is the value GET /arbys/menu takes. store_id (optional, default 0) selects which pricing snapshot categories' item counts are read from; the default 0 is Arby's own reference catalog and carries no prices at all -- pass a store_id you already know (for example one you have seen on arbys.com after picking a location) to price GET /arbys/menu's items against a specific store. There is no location-lookup endpoint in this family.",
+ "operationId": "arbys-categories",
+ "parameters": [
+ {
+ "description": "Optional. Store id to read the catalog from, default 0 (Arby's priceless national reference catalog).",
+ "in": "query",
+ "name": "store_id",
+ "type": "integer",
+ "x-example": 0
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/arbys.categoriesResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "List Arby's menu categories",
+ "tags": [
+ "Arbys"
+ ]
+ }
+ },
+ "/arbys/directory": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns one level of Arby's US store directory: every state Arby's serves with its store count (no params), one state's cities (state given), or one city's stores (state and city given) -- id, address, and phone only, pair with GET /arbys/location for hours/amenities/status. Unlike GET /arbys/locations, this needs no coordinate; it is a plain browse of the whole ~3,200-store US chain.",
+ "operationId": "arbys-directory",
+ "parameters": [
+ {
+ "description": "Optional. Two-letter US state abbreviation. Omit to list every state.",
+ "in": "query",
+ "name": "state",
+ "type": "string",
+ "x-example": "OH"
+ },
+ {
+ "description": "Optional. City name, requires state. Omit to list every city in the state.",
+ "in": "query",
+ "name": "city",
+ "type": "string",
+ "x-example": "Youngstown"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/arbys.directoryResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Browse Arby's US store directory by state and city",
+ "tags": [
+ "Arbys"
+ ]
+ }
+ },
+ "/arbys/location": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns one Arby's restaurant directly by its store id (e.g. one found via GET /arbys/locations), with the same address, hours, amenities, and capability fields as that endpoint's results, minus distance (there is no search center for a direct lookup).",
+ "operationId": "arbys-location",
+ "parameters": [
+ {
+ "description": "A real Arby's store id, e.g. one returned by GET /arbys/locations",
+ "in": "query",
+ "name": "store_id",
+ "required": true,
+ "type": "integer",
+ "x-example": 8725
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/arbys.locationResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Look up one Arby's restaurant by store id",
+ "tags": [
+ "Arbys"
+ ]
+ }
+ },
+ "/arbys/locations": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns Arby's restaurants within a radius of a coordinate, nearest first, with address, phone, coordinates, distance, open/closed status, hours, amenities, and pickup/delivery capability flags. Each result's store_id also prices GET /arbys/menu and GET /arbys/categories. To search from a free-text address instead of coordinates, resolve it first with GET /geocoding/search.",
+ "operationId": "arbys-locations",
+ "parameters": [
+ {
+ "description": "Search center latitude",
+ "in": "query",
+ "name": "latitude",
+ "required": true,
+ "type": "number",
+ "x-example": 32.787706
+ },
+ {
+ "description": "Search center longitude",
+ "in": "query",
+ "name": "longitude",
+ "required": true,
+ "type": "number",
+ "x-example": -96.79985
+ },
+ {
+ "description": "Optional. Search radius in miles, 1-50, default 50. Upstream hard-blocks any radius over 50.",
+ "in": "query",
+ "name": "radius",
+ "type": "integer",
+ "x-example": 50
+ },
+ {
+ "description": "Optional. Maximum stores per page, 1-50, default 10.",
+ "in": "query",
+ "name": "limit",
+ "type": "integer",
+ "x-example": 10
+ },
+ {
+ "description": "Optional. Zero-based page index, default 0.",
+ "in": "query",
+ "name": "page",
+ "type": "integer",
+ "x-example": 0
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/arbys.nearbyResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Find Arby's restaurants near a coordinate",
+ "tags": [
+ "Arbys"
+ ]
+ }
+ },
+ "/arbys/menu": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the items in one Arby's menu category, each with its stable product code, name, description, image, tags, availability, a full per-serving nutrition panel (calories, total and saturated fat, trans fat, cholesterol, sodium, carbohydrate, fiber, sugar, protein and serving weight), and a price when store_id resolves to a priced catalog. Category slugs come from GET /arbys/categories. store_id (optional, default 0) is Arby's own priceless national reference catalog; pass a store_id you already know to get that store's pricing instead -- there is no location-lookup endpoint in this family, so store_id is a passthrough value, not something this API can look up for you. A price of exactly 0 on an item is a genuine free add-on, distinct from the default catalog's complete absence of pricing.",
+ "operationId": "arbys-menu",
+ "parameters": [
+ {
+ "description": "Category slug from /arbys/categories",
+ "in": "query",
+ "name": "category",
+ "required": true,
+ "type": "string",
+ "x-example": "slow-roasted-beef"
+ },
+ {
+ "description": "Optional. Same store id semantics as /arbys/categories.",
+ "in": "query",
+ "name": "store_id",
+ "type": "integer",
+ "x-example": 0
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/arbys.menuResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "List one Arby's menu category's items with full nutrition and price",
+ "tags": [
+ "Arbys"
+ ]
+ }
+ },
+ "/arstechnica/article": {
+ "get": {
+ "description": "Returns public Ars Technica article metadata and body paragraphs from a canonical article URL. The service does not bypass authentication or access controls.",
+ "operationId": "arstechnica-article",
+ "parameters": [
+ {
+ "description": "Canonical Ars Technica article URL",
+ "in": "query",
+ "name": "url",
+ "required": true,
+ "type": "string",
+ "x-example": "https://arstechnica.com/gadgets/2026/09/example-story/"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.articleResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Ars Technica article content",
+ "tags": [
+ "Ars Technica"
+ ]
+ }
+ },
+ "/arstechnica/author": {
+ "get": {
+ "description": "Returns an Ars Technica contributor's byline metadata (name, job title, headshot, contact email), biography, and recent articles from a canonical author URL. The service does not bypass authentication or access controls.",
+ "operationId": "arstechnica-author",
+ "parameters": [
+ {
+ "description": "Canonical Ars Technica contributor URL",
+ "in": "query",
+ "name": "url",
+ "required": true,
+ "type": "string",
+ "x-example": "https://arstechnica.com/author/example-writer/"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.arstechnicaAuthorResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get an Ars Technica contributor profile",
+ "tags": [
+ "Ars Technica"
+ ]
+ }
+ },
+ "/arstechnica/headlines": {
+ "get": {
+ "description": "Returns recent Ars Technica headlines for one section. `section` is required and takes `ai`, `apple`, `cars`, `culture`, `features`, `gadgets`, `gaming`, `health`, `information-technology`, `reviews`, `science`, `security`, `space`, `staff` or `tech-policy`. Each item has a title and URL, and may also carry a summary, author, publication time and image.",
+ "operationId": "arstechnica-headlines",
+ "parameters": [
+ {
+ "description": "Ars Technica section slug",
+ "enum": [
+ "ai",
+ "apple",
+ "cars",
+ "culture",
+ "features",
+ "gadgets",
+ "gaming",
+ "health",
+ "information-technology",
+ "reviews",
+ "science",
+ "security",
+ "space",
+ "staff",
+ "tech-policy"
+ ],
+ "in": "query",
+ "name": "section",
+ "required": true,
+ "type": "string",
+ "x-example": "ai"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.headlinesResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Ars Technica section headlines",
+ "tags": [
+ "Ars Technica"
+ ]
+ }
+ },
+ "/arstechnica/news": {
+ "get": {
+ "description": "Returns the latest Ars Technica stories, with no input needed. Each item has a title and canonical URL, and may also carry a summary, author, publication time and lead image.",
+ "operationId": "arstechnica-news",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.newsResponseDoc"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Ars Technica top stories",
+ "tags": [
+ "Ars Technica"
+ ]
+ }
+ },
+ "/arstechnica/sections": {
+ "get": {
+ "description": "Returns the Ars Technica section inventory: the site's own current navigation and RSS-feed-directory sections (AI, Gadgets, Science, Security, Space, and others), each linking to its public RSS feed.",
+ "operationId": "arstechnica-sections",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.sectionsResponseDoc"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Ars Technica sections",
+ "tags": [
+ "Ars Technica"
+ ]
+ }
+ },
+ "/audible/categories": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns Audible's full genre/category tree (root genres with their subgenres), including the category ids accepted by GET /audible/search's category_id filter.",
+ "operationId": "audible-categories",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/audible.categoriesResponseDoc"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Audible's genre/category tree",
+ "tags": [
+ "Audible"
+ ]
+ }
+ },
+ "/audible/category/{id}": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns one Audible category node and its immediate children by id — cheaper than fetching the full tree from GET /audible/categories when only one node is needed.",
+ "operationId": "audible-category",
+ "parameters": [
+ {
+ "description": "Audible category id from GET /audible/categories",
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "type": "string",
+ "x-example": "18580606011"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/audible.categoryResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get one Audible category node",
+ "tags": [
+ "Audible"
+ ]
+ }
+ },
+ "/audible/charts": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns one page of an Audible chart — a ranked list with real chart position, price, and rating. This endpoint is less stable than the rest of this family. Its own filters (category, access level, language, duration, Audible-Originals-only) were individually verified to actually change results. category_id, access_level, and content_type=podcasts are mutually exclusive.",
+ "operationId": "audible-charts",
+ "parameters": [
+ {
+ "description": "Chart type, default most_listened",
+ "enum": [
+ "most_listened",
+ "bestselling"
+ ],
+ "in": "query",
+ "name": "chart",
+ "type": "string"
+ },
+ {
+ "description": "Content type, default audiobooks",
+ "enum": [
+ "audiobooks",
+ "podcasts"
+ ],
+ "in": "query",
+ "name": "content_type",
+ "type": "string"
+ },
+ {
+ "description": "Restrict to a category id from GET /audible/categories",
+ "in": "query",
+ "name": "category_id",
+ "type": "string"
+ },
+ {
+ "description": "Membership access level, default all",
+ "enum": [
+ "all",
+ "free",
+ "plus",
+ "premium"
+ ],
+ "in": "query",
+ "name": "access_level",
+ "type": "string"
+ },
+ {
+ "description": "Language filter, default all",
+ "enum": [
+ "all",
+ "danish",
+ "english",
+ "french",
+ "german",
+ "italian",
+ "japanese",
+ "polish",
+ "portuguese",
+ "russian",
+ "spanish",
+ "swedish"
+ ],
+ "in": "query",
+ "name": "language",
+ "type": "string"
+ },
+ {
+ "description": "Runtime-length filter, default all",
+ "enum": [
+ "all",
+ "oneHourLess",
+ "oneToThreeHour",
+ "threeToSixHour",
+ "sixToTenHour",
+ "tenToTwentyHour",
+ "twentyHourMore"
+ ],
+ "in": "query",
+ "name": "duration",
+ "type": "string"
+ },
+ {
+ "description": "Restrict to Audible Originals only",
+ "in": "query",
+ "name": "originals_only",
+ "type": "boolean"
+ },
+ {
+ "description": "1-based result page, default 1, 20 results per page",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/audible.chartsResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get an Audible chart (audible.com/charts)",
+ "tags": [
+ "Audible"
+ ]
+ }
+ },
+ "/audible/charts/authors": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns one page of Audible's ranked author chart. It exposes only rank, author identity, image metadata when available, and a canonical author URI; author detail is not included.",
+ "operationId": "audible-author-charts",
+ "parameters": [
+ {
+ "description": "1-based result page, default 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/audible.authorChartsResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Audible's top-author chart",
+ "tags": [
+ "Audible"
+ ]
+ }
+ },
+ "/audible/list/{list}": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns one of Audible's hand-curated \"Popular Lists\" pages, as its themed shelves (heading + ordered ASINs). Pair an ASIN from any shelf with GET /audible/products (batch) or GET /audible/product/{asin} for full title/author/price/rating detail. \"Best of the Year\" is not covered.",
+ "operationId": "audible-editorial-list",
+ "parameters": [
+ {
+ "description": "Editorial list slug",
+ "enum": [
+ "audiobooks",
+ "booktok",
+ "podcasts"
+ ],
+ "in": "path",
+ "name": "list",
+ "required": true,
+ "type": "string",
+ "x-example": "audiobooks"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/audible.editorialListResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get an Audible curated editorial list",
+ "tags": [
+ "Audible"
+ ]
+ }
+ },
+ "/audible/product/{asin}": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns an Audible audiobook: description, authors, narrators, series, category ladders, publisher, release date, runtime, language, sample audio URL, rating (overall/performance/story), and public list price.",
+ "operationId": "audible-product",
+ "parameters": [
+ {
+ "description": "Audible ASIN",
+ "in": "path",
+ "name": "asin",
+ "required": true,
+ "type": "string",
+ "x-example": "B08G9PRS1K"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/audible.productResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get an Audible audiobook",
+ "tags": [
+ "Audible"
+ ]
+ }
+ },
+ "/audible/product/{asin}/related": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns Audible titles related to a given ASIN by a required relation type: same series, same narrator, same author, next in series, or raw similarity.",
+ "operationId": "audible-product-related",
+ "parameters": [
+ {
+ "description": "Audible ASIN",
+ "in": "path",
+ "name": "asin",
+ "required": true,
+ "type": "string",
+ "x-example": "B08G9PRS1K"
+ },
+ {
+ "description": "How to relate titles to the given ASIN",
+ "enum": [
+ "InTheSameSeries",
+ "ByTheSameNarrator",
+ "RawSimilarities",
+ "ByTheSameAuthor",
+ "NextInSameSeries"
+ ],
+ "in": "query",
+ "name": "similarity_type",
+ "required": true,
+ "type": "string",
+ "x-example": "InTheSameSeries"
+ },
+ {
+ "description": "Max results, default 10, max 50",
+ "in": "query",
+ "name": "limit",
+ "type": "integer"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/audible.relatedResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Audible titles related to an audiobook",
+ "tags": [
+ "Audible"
+ ]
+ }
+ },
+ "/audible/product/{asin}/reviews": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns a page of an Audible audiobook's customer reviews (author, title, body, overall/performance/story ratings, helpful votes, submission date).",
+ "operationId": "audible-product-reviews",
+ "parameters": [
+ {
+ "description": "Audible ASIN",
+ "in": "path",
+ "name": "asin",
+ "required": true,
+ "type": "string",
+ "x-example": "B08G9PRS1K"
+ },
+ {
+ "description": "Zero-based result page, default 0",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Max reviews, default 10, max 50",
+ "in": "query",
+ "name": "limit",
+ "type": "integer"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/audible.reviewsResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get an Audible audiobook's customer reviews",
+ "tags": [
+ "Audible"
+ ]
+ }
+ },
+ "/audible/products": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns Audible audiobooks for up to 50 ASINs in a single request — the same fields as GET /audible/product/{asin}. Unrecognized ASINs are silently omitted rather than failing the whole batch.",
+ "operationId": "audible-products",
+ "parameters": [
+ {
+ "description": "Comma-separated Audible ASINs, up to 50",
+ "in": "query",
+ "name": "asins",
+ "required": true,
+ "type": "string",
+ "x-example": "B08G9PRS1K,B002V1OF70"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/audible.productsResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get multiple Audible audiobooks in one call",
+ "tags": [
+ "Audible"
+ ]
+ }
+ },
+ "/audible/search": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Searches Audible's audiobook catalog by keyword, title, author, narrator, or category id. At least one filter is required.",
+ "operationId": "audible-search",
+ "parameters": [
+ {
+ "description": "Free-text query matched across title, subtitle, and author",
+ "in": "query",
+ "name": "q",
+ "type": "string"
+ },
+ {
+ "description": "Match by title",
+ "in": "query",
+ "name": "title",
+ "type": "string"
+ },
+ {
+ "description": "Match by author name",
+ "in": "query",
+ "name": "author",
+ "type": "string"
+ },
+ {
+ "description": "Match by narrator name",
+ "in": "query",
+ "name": "narrator",
+ "type": "string"
+ },
+ {
+ "description": "Restrict to a category id from GET /audible/categories",
+ "in": "query",
+ "name": "category_id",
+ "type": "string"
+ },
+ {
+ "description": "Zero-based result page, default 0",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Max results, default 10, max 50",
+ "in": "query",
+ "name": "limit",
+ "type": "integer"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/audible.searchResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Search Audible's catalog",
+ "tags": [
+ "Audible"
+ ]
+ }
+ },
+ "/audible/series/{asin}": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns an Audible series and every book in it, in series order. A series has its own ASIN distinct from any book in it — find one via a book's series[].asin field from GET /audible/product/{asin}.",
+ "operationId": "audible-series",
+ "parameters": [
+ {
+ "description": "Audible series ASIN, from a product's series[].asin field",
+ "in": "path",
+ "name": "asin",
+ "required": true,
+ "type": "string",
+ "x-example": "B006W3V2B0"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/audible.seriesResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get an Audible series' ordered book list",
+ "tags": [
+ "Audible"
+ ]
+ }
+ },
+ "/autotrader/dealer/{id}": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns an Autotrader dealer profile (name, phone, address, rating, website) plus a first page of the dealer's own current inventory as vehicle summaries and the dealer's total listing count.",
+ "operationId": "autotrader-dealer",
+ "parameters": [
+ {
+ "description": "Autotrader dealer/owner id, the numeric path segment of a /car-dealers/{id} URL",
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "type": "string",
+ "x-example": "64141623"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/autotrader.DealerResponse"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Autotrader dealer profile",
+ "tags": [
+ "Autotrader"
+ ]
+ }
+ },
+ "/autotrader/search": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Searches Autotrader for new and used car listings, returning vehicle summaries (make, model, trim, year, mileage, pricing, images) plus the total matching count.",
+ "operationId": "autotrader-search",
+ "parameters": [
+ {
+ "description": "Free-text keyword search",
+ "in": "query",
+ "name": "query",
+ "type": "string",
+ "x-example": "leather seats"
+ },
+ {
+ "description": "5-digit US ZIP code to search around",
+ "in": "query",
+ "name": "zip",
+ "type": "string",
+ "x-example": "90210"
+ },
+ {
+ "description": "Search radius in miles around zip",
+ "in": "query",
+ "name": "radius",
+ "type": "integer",
+ "x-example": 50
+ },
+ {
+ "description": "Autotrader make code, e.g. TOYOTA, HONDA, BMW",
+ "in": "query",
+ "name": "make",
+ "type": "string",
+ "x-example": "TOYOTA"
+ },
+ {
+ "description": "Autotrader model code, e.g. CAMRY. Requires make",
+ "in": "query",
+ "name": "model",
+ "type": "string",
+ "x-example": "CAMRY"
+ },
+ {
+ "description": "Autotrader trim code. Requires make and model",
+ "in": "query",
+ "name": "trim",
+ "type": "string",
+ "x-example": "LE"
+ },
+ {
+ "description": "Listing condition. Allowed values: new, used, certified, 3p_cert",
+ "enum": [
+ "new",
+ "used",
+ "certified",
+ "3p_cert"
+ ],
+ "in": "query",
+ "name": "condition",
+ "type": "string",
+ "x-example": "used"
+ },
+ {
+ "description": "Body style. Allowed values: convertible, coupe, hatchback, sedan, suv, truck, van, wagon",
+ "enum": [
+ "convertible",
+ "coupe",
+ "hatchback",
+ "sedan",
+ "suv",
+ "truck",
+ "van",
+ "wagon"
+ ],
+ "in": "query",
+ "name": "body_style",
+ "type": "string",
+ "x-example": "suv"
+ },
+ {
+ "description": "Seller type. Allowed values: dealer, private",
+ "enum": [
+ "dealer",
+ "private"
+ ],
+ "in": "query",
+ "name": "seller_type",
+ "type": "string",
+ "x-example": "dealer"
+ },
+ {
+ "description": "Minimum model year",
+ "in": "query",
+ "name": "min_year",
+ "type": "integer",
+ "x-example": 2020
+ },
+ {
+ "description": "Maximum model year",
+ "in": "query",
+ "name": "max_year",
+ "type": "integer",
+ "x-example": 2026
+ },
+ {
+ "description": "Minimum price in US dollars",
+ "in": "query",
+ "name": "min_price",
+ "type": "integer",
+ "x-example": 10000
+ },
+ {
+ "description": "Maximum price in US dollars",
+ "in": "query",
+ "name": "max_price",
+ "type": "integer",
+ "x-example": 40000
+ },
+ {
+ "description": "Maximum odometer mileage",
+ "in": "query",
+ "name": "max_mileage",
+ "type": "integer",
+ "x-example": 60000
+ },
+ {
+ "description": "1-indexed result page, defaults to 1. Autotrader returns 24 results per page",
+ "in": "query",
+ "name": "page",
+ "type": "integer",
+ "x-example": 1
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/autotrader.searchResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Search Autotrader vehicle listings",
+ "tags": [
+ "Autotrader"
+ ]
+ }
+ },
+ "/autotrader/vehicle/{id}": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns an Autotrader vehicle listing: full vehicle spec (make, model, trim, mileage, colors, transmission, fuel type, engine, images, pricing), the full listing description, and seller detail (dealership or private seller).",
+ "operationId": "autotrader-vehicle",
+ "parameters": [
+ {
+ "description": "Autotrader listing id, the numeric path segment of a /cars-for-sale/vehicle/{id} URL",
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "type": "string",
+ "x-example": "754822172"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/autotrader.VehicleResponse"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Autotrader vehicle listing detail",
+ "tags": [
+ "Autotrader"
+ ]
+ }
+ },
+ "/axios/article": {
+ "get": {
+ "description": "Returns a public Axios article's metadata and full body paragraphs from a canonical article URL. Subscriber-only stories with no free preview return a 403 permission error instead of an empty body.",
+ "operationId": "axios-article",
+ "parameters": [
+ {
+ "description": "Canonical www.axios.com article URL",
+ "in": "query",
+ "name": "url",
+ "required": true,
+ "type": "string",
+ "x-example": "https://www.axios.com/2026/09/19/google-safety-incidents-testing-hacks"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/axios.articleResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "403": {
+ "description": "Forbidden",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Axios article content",
+ "tags": [
+ "Axios"
+ ]
+ }
+ },
+ "/axios/categories": {
+ "get": {
+ "description": "Returns Axios's full public topic and subtopic navigation tree. Use a subtopic's topic value directly as the topic parameter on axios-headlines.",
+ "operationId": "axios-categories",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/axios.categoriesResponseDoc"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Axios topic navigation",
+ "tags": [
+ "Axios"
+ ]
+ }
+ },
+ "/axios/headlines": {
+ "get": {
+ "description": "Returns the newest public Axios stories on one topic or subtopic page. topic is a topic slug (e.g. technology) or a topic/subtopic path (e.g. technology/automation-and-ai) -- see axios-categories for the full known value space.",
+ "operationId": "axios-headlines",
+ "parameters": [
+ {
+ "description": "Axios topic slug or topic/subtopic path",
+ "in": "query",
+ "name": "topic",
+ "required": true,
+ "type": "string",
+ "x-example": "technology"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/axios.headlinesResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Axios topic headlines",
+ "tags": [
+ "Axios"
+ ]
+ }
+ },
+ "/baidu/search": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns Baidu result cards for a query: title, destination URL, snippet, publisher, and date, with page-based pagination. Each result's `type` is `web` (standard pages), `video` (video cards), or `baike` (Baidu Baike encyclopedia entries); answer widgets such as weather, entity panels, and recommendation lists are not returned. Baidu challenges a portion of requests with a security verification page; the service retries and returns 503 if every attempt is challenged, so callers should retry on 503.",
+ "operationId": "baidu-search",
+ "parameters": [
+ {
+ "description": "Search query",
+ "in": "query",
+ "name": "q",
+ "required": true,
+ "type": "string",
+ "x-example": "openai"
+ },
+ {
+ "description": "1-based result page; defaults to 1, maximum 10",
+ "in": "query",
+ "maximum": 10,
+ "minimum": 1,
+ "name": "page",
+ "type": "integer",
+ "x-example": 1
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/baidu.searchResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Missing or invalid parameters",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Rate limit exceeded",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Baidu upstream request failed or was challenged with a security verification",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Search Baidu web results",
+ "tags": [
+ "Baidu"
+ ]
+ }
+ },
+ "/baidu/suggest": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns Baidu search-box autocomplete completions for a query prefix, in Baidu's own ranking order. Baidu never returns more than 10 suggestions per prefix; Chinese prefixes are supported.",
+ "operationId": "baidu-suggest",
+ "parameters": [
+ {
+ "description": "Search query prefix",
+ "in": "query",
+ "name": "q",
+ "required": true,
+ "type": "string",
+ "x-example": "openai"
+ },
+ {
+ "description": "Suggestions to return; defaults to 10, clamped to 1..10",
+ "in": "query",
+ "maximum": 10,
+ "minimum": 1,
+ "name": "count",
+ "type": "integer",
+ "x-example": 10
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/baidu.suggestResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Missing or invalid parameters",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Rate limit exceeded",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Baidu upstream request failed",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Suggest Baidu search queries",
+ "tags": [
+ "Baidu"
+ ]
+ }
+ },
+ "/balenciaga/categories": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Lists Balenciaga's storefront categories with `count`, and for each its `id`, `name`, `department`, `path` and `url`. Each `path` is the value `balenciaga-category` accepts. The response reports `country` (`ZW`) and `language` (`en`).",
+ "operationId": "balenciaga-categories",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/balenciaga.categoriesResponseDoc"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "List Balenciaga categories",
+ "tags": [
+ "Balenciaga"
+ ]
+ }
+ },
+ "/balenciaga/category": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns one Balenciaga category listing from the site's own Search-ShowAjax fragment. path comes from balenciaga-categories. sort accepts latest, price_ascending, or price_descending. filters is a comma-separated list of exact field:value pairs from the response's live facets; repeat a field to OR multiple values within that facet; omit it for an unfiltered listing.",
+ "operationId": "balenciaga-category",
+ "parameters": [
+ {
+ "description": "Category path from balenciaga-categories",
+ "in": "query",
+ "name": "path",
+ "required": true,
+ "type": "string",
+ "x-example": "/en-en/women/bags-for-women/handbags"
+ },
+ {
+ "description": "Sort order",
+ "enum": [
+ "latest",
+ "price_ascending",
+ "price_descending"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string",
+ "x-example": "latest"
+ },
+ {
+ "description": "One-based page number, defaults to 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer",
+ "x-example": 1
+ },
+ {
+ "description": "Products per page, defaults to 16, maximum 48",
+ "in": "query",
+ "name": "limit",
+ "type": "integer",
+ "x-example": 16
+ },
+ {
+ "description": "Comma-separated exact facet filters; repeat a field for OR values, for example akeneo_macroColor:BLACK,akeneo_macroColor:WHITE",
+ "in": "query",
+ "name": "filters",
+ "type": "string",
+ "x-example": "akeneo_macroColor:BLACK"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/balenciaga.listingResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Browse a Balenciaga category",
+ "tags": [
+ "Balenciaga"
+ ]
+ }
+ },
+ "/balenciaga/product": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns structured product detail from Balenciaga's product page, including schema.org name/SKU/price/availability, images, color variants, and visible product details. url must be a product URL returned by balenciaga-category or balenciaga-search.",
+ "operationId": "balenciaga-product",
+ "parameters": [
+ {
+ "description": "Product URL from a Balenciaga listing",
+ "in": "query",
+ "name": "url",
+ "required": true,
+ "type": "string",
+ "x-example": "/en-en/hourglass-avenue-top-handle-bag-small-black-A007IH2ACT21000.html"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/balenciaga.productResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get a Balenciaga product",
+ "tags": [
+ "Balenciaga"
+ ]
+ }
+ },
+ "/balenciaga/product/variants": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns Balenciaga's live color/size variation matrix for a product, including variation ids, selection/sellability flags, care text, availability, and related product ids. url may be a product URL or a Product-Variation URL from balenciaga-product's colors[].url.",
+ "operationId": "balenciaga-product-variants",
+ "parameters": [
+ {
+ "description": "Balenciaga product URL or Product-Variation URL",
+ "in": "query",
+ "name": "url",
+ "required": true,
+ "type": "string",
+ "x-example": "https://www.balenciaga.com/on/demandware.store/Sites-BAL-R-INTL-Site/en_ZW/Product-Variation?dwvar_A007IH2ACT21000_color=1000&dwvar_A007IH2ACT21000_size=U&pid=A007IH2ACT21000&quantity=1"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/balenciaga.productVariantsResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Balenciaga product variations",
+ "tags": [
+ "Balenciaga"
+ ]
+ }
+ },
+ "/balenciaga/search": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Searches Balenciaga's storefront by keyword using the site's own product-grid fragment. q is required; sort accepts latest, price_ascending, or price_descending; page is one-based with 12 products per page; and filters accepts comma-separated exact field:value pairs from live facets. Repeat a field to OR multiple values within that facet. A genuine no-result query returns an empty products list.",
+ "operationId": "balenciaga-search",
+ "parameters": [
+ {
+ "description": "Free-text search query",
+ "in": "query",
+ "name": "q",
+ "required": true,
+ "type": "string",
+ "x-example": "hourglass"
+ },
+ {
+ "description": "Sort order",
+ "enum": [
+ "latest",
+ "price_ascending",
+ "price_descending"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string",
+ "x-example": "latest"
+ },
+ {
+ "description": "One-based page number, defaults to 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer",
+ "x-example": 1
+ },
+ {
+ "description": "Comma-separated exact facet filters; repeat a field for OR values, for example akeneo_macroColor:BLACK,akeneo_macroColor:WHITE",
+ "in": "query",
+ "name": "filters",
+ "type": "string",
+ "x-example": "akeneo_macroColor:BLACK"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/balenciaga.listingResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Search Balenciaga products",
+ "tags": [
+ "Balenciaga"
+ ]
+ }
+ },
+ "/balenciaga/store-countries": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Lists the countries Balenciaga's store locator offers, each with a country `code` and `name`, plus a `count`. Each code is accepted by `balenciaga-stores`. The response also reports the storefront `country` and `language`.",
+ "operationId": "balenciaga-store-countries",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/balenciaga.storeCountriesResponseDoc"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "List Balenciaga store-locator countries",
+ "tags": [
+ "Balenciaga"
+ ]
+ }
+ },
+ "/balenciaga/stores": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns Balenciaga's public physical-store directory for one country, including addresses, coordinates, phone numbers, opening hours, and store-service flags. Use balenciaga-store-countries to discover the complete accepted country enum.",
+ "operationId": "balenciaga-stores",
+ "parameters": [
+ {
+ "description": "Two-letter country code",
+ "enum": [
+ "AE",
+ "AT",
+ "AU",
+ "BE",
+ "BR",
+ "CA",
+ "CN",
+ "CZ",
+ "DE",
+ "DK",
+ "ES",
+ "FR",
+ "GB",
+ "HK",
+ "IE",
+ "IT",
+ "JP",
+ "KR",
+ "KW",
+ "MC",
+ "MO",
+ "MX",
+ "MY",
+ "NL",
+ "NZ",
+ "QA",
+ "SA",
+ "SG",
+ "CH",
+ "TH",
+ "TW",
+ "US"
+ ],
+ "in": "query",
+ "name": "country",
+ "required": true,
+ "type": "string",
+ "x-example": "US"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/balenciaga.storesResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "List Balenciaga stores",
+ "tags": [
+ "Balenciaga"
+ ]
+ }
+ },
+ "/bandcamp/artist": {
+ "get": {
+ "description": "Returns a Bandcamp artist or label page: name, location, bio, image and the discography grid of albums and tracks with their URLs. Pass an entry's url to bandcamp_release for full detail.",
+ "operationId": "bandcamp-artist",
+ "parameters": [
+ {
+ "description": "Artist subdomain or https://{subdomain}.bandcamp.com URL",
+ "in": "query",
+ "name": "artist",
+ "required": true,
+ "type": "string",
+ "x-example": "theforeverwinter"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bandcamp.artistResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get a Bandcamp artist or label page",
+ "tags": [
+ "Bandcamp"
+ ]
+ }
+ },
+ "/bandcamp/discover": {
+ "get": {
+ "description": "Pages through Bandcamp Discover albums. Filter by one to five tags (genres from bandcamp_filters, subgenres from bandcamp_related_tags), physical format (vinyl, CD, cassette), sort (best-selling, new arrivals, random), a time window, and a GeoNames place id. Each album carries artist, location, price, release date, track count, duration, cover art and any physical formats. Page with the returned next_cursor.",
+ "operationId": "bandcamp-discover",
+ "parameters": [
+ {
+ "description": "Comma-separated tag slugs, up to 5, all of which an album must carry",
+ "in": "query",
+ "name": "tags",
+ "type": "string",
+ "x-example": "ambient,drone"
+ },
+ {
+ "default": "all",
+ "description": "Physical format",
+ "enum": [
+ "all",
+ "vinyl",
+ "cd",
+ "cassette"
+ ],
+ "in": "query",
+ "name": "format",
+ "type": "string"
+ },
+ {
+ "default": "best_selling",
+ "description": "Sort order",
+ "enum": [
+ "best_selling",
+ "new",
+ "random"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Time-window id from bandcamp_filters",
+ "in": "query",
+ "maximum": 7,
+ "minimum": 0,
+ "name": "time_facet",
+ "type": "integer"
+ },
+ {
+ "description": "GeoNames place id",
+ "in": "query",
+ "name": "geoname_id",
+ "type": "integer",
+ "x-example": 5368361
+ },
+ {
+ "description": "next_cursor from the previous page",
+ "in": "query",
+ "name": "cursor",
+ "type": "string"
+ },
+ {
+ "default": 24,
+ "description": "Albums per page",
+ "in": "query",
+ "maximum": 100,
+ "minimum": 1,
+ "name": "size",
+ "type": "integer"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bandcamp.discoverResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Browse Bandcamp Discover",
+ "tags": [
+ "Bandcamp"
+ ]
+ }
+ },
+ "/bandcamp/filters": {
+ "get": {
+ "description": "Returns the complete value space of the bandcamp_discover filters: the 27 top-level genre tags, physical formats, sort orders, time-window ids and the size range.",
+ "operationId": "bandcamp-filters",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bandcamp.filtersResponseDoc"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "List Bandcamp Discover filter values",
+ "tags": [
+ "Bandcamp"
+ ]
+ }
+ },
+ "/bandcamp/related-tags": {
+ "get": {
+ "description": "Returns the tags Bandcamp relates to a tag, strongest first, including location tags. Use it to walk from a genre in bandcamp_filters to its subgenres, then pass them to bandcamp_discover.",
+ "operationId": "bandcamp-related-tags",
+ "parameters": [
+ {
+ "description": "Tag slug",
+ "in": "query",
+ "name": "tag",
+ "required": true,
+ "type": "string",
+ "x-example": "ambient"
+ },
+ {
+ "default": 20,
+ "description": "Related tags to return",
+ "in": "query",
+ "maximum": 50,
+ "minimum": 1,
+ "name": "size",
+ "type": "integer"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bandcamp.relatedTagsResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "List tags related to a Bandcamp tag",
+ "tags": [
+ "Bandcamp"
+ ]
+ }
+ },
+ "/bandcamp/release": {
+ "get": {
+ "description": "Returns one Bandcamp album or track page: title, artist, label, release date, tags, about text, credits, digital price, tracklist with durations, physical packages with prices and, for a track, its parent album and ISRC. Audio stream and download URLs are never returned.",
+ "operationId": "bandcamp-release",
+ "parameters": [
+ {
+ "description": "Album or track URL on an artist subdomain",
+ "in": "query",
+ "name": "url",
+ "required": true,
+ "type": "string",
+ "x-example": "https://theforeverwinter.bandcamp.com/album/the-forever-winter-original-soundtrack"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bandcamp.releaseResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get one Bandcamp album or track",
+ "tags": [
+ "Bandcamp"
+ ]
+ }
+ },
+ "/bandcamp/search": {
+ "get": {
+ "description": "Runs Bandcamp's site search and returns artists and labels, albums and tracks in Bandcamp's relevance order, each with its id, name, url and artwork (albums and tracks also carry the artist, tracks the album), plus any tags and genre that match the text. Bandcamp returns at most 50 hits (25 for artists) and does not page, so may_have_more reports when the cap was reached; narrow the text or pick a type to see more. Fan accounts are never returned. Pass a result's url to bandcamp_release or bandcamp_artist, and a tag's slug to bandcamp_discover.",
+ "operationId": "bandcamp-search",
+ "parameters": [
+ {
+ "description": "Text to search, 1 to 100 characters",
+ "in": "query",
+ "name": "q",
+ "required": true,
+ "type": "string",
+ "x-example": "radiohead"
+ },
+ {
+ "description": "Kind of hit to return: all (default), artists (artists and labels), albums or tracks",
+ "enum": [
+ "all",
+ "artists",
+ "albums",
+ "tracks"
+ ],
+ "in": "query",
+ "name": "type",
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bandcamp.searchResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Search Bandcamp",
+ "tags": [
+ "Bandcamp"
+ ]
+ }
+ },
+ "/barrons/article": {
+ "get": {
+ "description": "Returns one Barron's article's title, byline, section, publication time, word count, and body paragraphs, recovered from a public web-archive snapshot of the article. Barron's serves only the first paragraphs of an article at the origin, so an article is returned only when a full-text archive snapshot exists; an article without one returns 404.",
+ "operationId": "barrons-article",
+ "parameters": [
+ {
+ "description": "Canonical Barron's article URL",
+ "in": "query",
+ "name": "url",
+ "required": true,
+ "type": "string",
+ "x-example": "https://www.barrons.com/articles/nvidia-stock-price-meta-ai-chips-rally-11911927"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/barrons.articleResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "403": {
+ "description": "Forbidden",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get a Barron's article's content",
+ "tags": [
+ "Barrons"
+ ]
+ }
+ },
+ "/barrons/headlines": {
+ "get": {
+ "description": "Returns one page of a Barron's topic's headlines: each story's title, canonical URL, summary, publication time, authors, and lead image. Section must be a slug returned by /barrons/topics.",
+ "operationId": "barrons-headlines",
+ "parameters": [
+ {
+ "description": "Barron's topic slug from /barrons/topics",
+ "in": "query",
+ "name": "section",
+ "required": true,
+ "type": "string",
+ "x-example": "technology"
+ },
+ {
+ "description": "Results page",
+ "in": "query",
+ "maximum": 200,
+ "minimum": 1,
+ "name": "page",
+ "type": "integer"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/barrons.headlinesResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get the latest stories in a Barron's topic",
+ "tags": [
+ "Barrons"
+ ]
+ }
+ },
+ "/barrons/news": {
+ "get": {
+ "description": "Returns Barron's current cross-section news feed: the newest stories across every section, each with its title, canonical URL, and publication time.",
+ "operationId": "barrons-news",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/barrons.newsResponseDoc"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get the latest Barron's stories",
+ "tags": [
+ "Barrons"
+ ]
+ }
+ },
+ "/barrons/topics": {
+ "get": {
+ "description": "Lists Barron's editorial topics, each with its `slug`, display `name` and landing-page `url`. The list is long and changes over time. Every `slug` is a valid `section` value for `/barrons/headlines`. Takes no parameters.",
+ "operationId": "barrons-topics",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/barrons.topicsResponseDoc"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "List Barron's topics",
+ "tags": [
+ "Barrons"
+ ]
+ }
+ },
+ "/bbb/article": {
+ "get": {
+ "description": "Returns published BBB article metadata, author names, body text, and useful links from a canonical public article URL on www.bbb.org or bbb.org. If BBB merges a story into another BBB article, the response contains the target article's id and source_url plus the original requested_url. Returns a permanent 404 when BBB moves the URL to an evergreen /all/ page or outside bbb.org, when BBB redirects the URL back to itself so it cannot be loaded, or when the URL resolves to a published non-article type such as an event; safe HTTPS destinations are named in the error and are never fetched.",
+ "operationId": "bbb-article",
+ "parameters": [
+ {
+ "description": "Canonical BBB article URL on www.bbb.org or bbb.org",
+ "in": "query",
+ "name": "url",
+ "required": true,
+ "type": "string",
+ "x-example": "https://www.bbb.org/article/news-releases/34935-bbb-scam-alert-dont-be-fooled-by-free-gas-and-grocery-card-postcards"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/app.Response"
+ },
+ {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/bbbnews.ArticleResponse"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get a BBB article",
+ "tags": [
+ "BBB"
+ ]
+ }
+ },
+ "/bbb/business": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns a bbb.org business profile: BBB rating letter grade and reasons, accreditation status and since-date, years in business, BBB file/incorporation dates, entity type, contact info, business categories, social media, and a short latest-reviews preview.",
+ "operationId": "bbb-business",
+ "parameters": [
+ {
+ "description": "BBB business profile URL, from a bbb-search result's url or hq_profile_url",
+ "in": "query",
+ "name": "url",
+ "required": true,
+ "type": "string",
+ "x-example": "https://www.bbb.org/us/tx/austin/profile/plumber/calixto-plumbing-0825-1000223803"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bbb.businessResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get a Better Business Bureau business profile",
+ "tags": [
+ "BBB"
+ ]
+ }
+ },
+ "/bbb/business/complaints": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns a business's BBB complaint history: total complaint count, complaints closed or filed in the last 12 months, and one page of per-complaint detail (date, type, status, narrative text, and any business response / customer answer thread). Complaints are listed newest first, 10 per page; use page with the returned page, total_pages and has_more to walk the full list. A business with no filed complaints returns total_complaints 0 and an empty complaints list -- this is a normal result, not an error.",
+ "operationId": "bbb-business-complaints",
+ "parameters": [
+ {
+ "description": "BBB business profile URL, from a bbb-search result's url or hq_profile_url. A location URL ending in /addressId/ is accepted and read from the business profile",
+ "in": "query",
+ "name": "url",
+ "required": true,
+ "type": "string",
+ "x-example": "https://www.bbb.org/us/tx/austin/profile/plumber/calixto-plumbing-0825-1000223803"
+ },
+ {
+ "default": 1,
+ "description": "Complaint list page, 1 or greater (10 complaints per page, newest first). Defaults to 1",
+ "in": "query",
+ "minimum": 1,
+ "name": "page",
+ "type": "integer",
+ "x-example": 1
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bbb.complaintsResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get a Better Business Bureau business's complaint history",
+ "tags": [
+ "BBB"
+ ]
+ }
+ },
+ "/bbb/business/more-info": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns a business's full per-factor \"Reasons for Rating\" list and full service-area list. The bbb-business endpoint's own rating_reasons field typically holds only one generic boilerplate bullet regardless of actual rating; this endpoint returns the richer, business-specific list instead. Service area is business-conditional -- some businesses render no service-area section at all, in which case service_areas is empty.",
+ "operationId": "bbb-business-more-info",
+ "parameters": [
+ {
+ "description": "BBB business profile URL, from a bbb-search result's url or hq_profile_url. A location URL ending in /addressId/ is accepted and read from the business profile",
+ "in": "query",
+ "name": "url",
+ "required": true,
+ "type": "string",
+ "x-example": "https://www.bbb.org/us/tx/austin/profile/plumber/calixto-plumbing-0825-1000223803"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bbb.moreInfoResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get a Better Business Bureau business's full rating reasons and service area",
+ "tags": [
+ "BBB"
+ ]
+ }
+ },
+ "/bbb/business/reviews": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns a business's full customer-review list (author, star rating, date, text, and any business response thread), paginated 10 per page, plus the average star rating and total review count.",
+ "operationId": "bbb-business-reviews",
+ "parameters": [
+ {
+ "description": "BBB business profile URL, from a bbb-search result's url or hq_profile_url. A location URL ending in /addressId/ is accepted and read from the business profile",
+ "in": "query",
+ "name": "url",
+ "required": true,
+ "type": "string",
+ "x-example": "https://www.bbb.org/us/tx/austin/profile/plumber/calixto-plumbing-0825-1000223803"
+ },
+ {
+ "description": "Result page (10 per page), default 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bbb.reviewsResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get a Better Business Bureau business's customer reviews",
+ "tags": [
+ "BBB"
+ ]
+ }
+ },
+ "/bbb/category": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Browses bbb.org businesses by category and location directly, without a free-text search query. Returns the same business-result shape as bbb-search. A verified empty first page returns results: [] and total_results: 0; an unavailable or unrecognized page returns an error. A page beyond the exact last page returns 404, and a page beyond BBB's 15-page accessible limit returns 404 naming that limit. Optional sort and filter parameters use the same values as bbb-search; query-scoped category and state/province values come from bbb-search-filters.",
+ "operationId": "bbb-category",
+ "parameters": [
+ {
+ "description": "BBB category browse URL, from a bbb-search result's related_categories",
+ "in": "query",
+ "name": "url",
+ "required": true,
+ "type": "string",
+ "x-example": "https://www.bbb.org/us/tx/austin/category/plumber"
+ },
+ {
+ "description": "Result page, default 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Sort order",
+ "enum": [
+ "Relevance",
+ "Distance",
+ "Rating",
+ "AToZ",
+ "ZToA"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Maximum distance in miles; omit for all distances",
+ "enum": [
+ "5",
+ "10",
+ "25",
+ "50",
+ "100"
+ ],
+ "in": "query",
+ "name": "distance",
+ "type": "string"
+ },
+ {
+ "collectionFormat": "multi",
+ "description": "One or more BBB rating buckets",
+ "in": "query",
+ "items": {
+ "enum": [
+ "A",
+ "B",
+ "C",
+ "D",
+ "F"
+ ],
+ "type": "string"
+ },
+ "name": "rating",
+ "type": "array"
+ },
+ {
+ "collectionFormat": "multi",
+ "description": "Query-scoped category ID from bbb-search-filters",
+ "in": "query",
+ "items": {
+ "type": "string"
+ },
+ "name": "category_id",
+ "type": "array"
+ },
+ {
+ "collectionFormat": "multi",
+ "description": "Query-scoped state or province code from bbb-search-filters",
+ "in": "query",
+ "items": {
+ "type": "string"
+ },
+ "name": "state",
+ "type": "array"
+ },
+ {
+ "description": "Only BBB-accredited businesses",
+ "in": "query",
+ "name": "accredited",
+ "type": "boolean"
+ },
+ {
+ "description": "Only businesses offering quote requests",
+ "in": "query",
+ "name": "get_quote",
+ "type": "boolean"
+ },
+ {
+ "description": "Only businesses serving the searched area",
+ "in": "query",
+ "name": "service_area",
+ "type": "boolean"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bbb.categoryResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Browse a Better Business Bureau category",
+ "tags": [
+ "BBB"
+ ]
+ }
+ },
+ "/bbb/local-bbb": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns public chapter profile details including office locations and hours, service territory, supported languages, and upcoming public events. news_url is the chapter's constructed newsroom route. When BBB publishes a program tile linking to a recognized newsroom path, published_news_url and its descriptive published_news_title are also returned. Use a canonical chapter URL from bbb-local-bbbs or a business record's local_bbb_url.",
+ "operationId": "bbb-local-bbb",
+ "parameters": [
+ {
+ "description": "Canonical BBB chapter URL from bbb-local-bbbs or a business record's local_bbb_url",
+ "in": "query",
+ "name": "url",
+ "required": true,
+ "type": "string",
+ "x-example": "https://www.bbb.org/local-bbb/bbb-serving-the-heart-of-texas"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bbbdirectory.localBBBResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get a local BBB chapter profile",
+ "tags": [
+ "BBB"
+ ]
+ }
+ },
+ "/bbb/local-bbbs": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Lists every chapter and public office shown on BBB's directory page for a region discovered by bbb-regions. Office addresses can be outside the selected service region.",
+ "operationId": "bbb-local-bbbs",
+ "parameters": [
+ {
+ "description": "Country code from bbb-regions",
+ "enum": [
+ "us",
+ "ca"
+ ],
+ "in": "query",
+ "name": "country",
+ "required": true,
+ "type": "string",
+ "x-example": "us"
+ },
+ {
+ "description": "Two-letter region code from bbb-regions",
+ "in": "query",
+ "name": "region",
+ "required": true,
+ "type": "string",
+ "x-example": "tx"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bbbdirectory.localBBBsResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "List local BBB chapters serving a region",
+ "tags": [
+ "BBB"
+ ]
+ }
+ },
+ "/bbb/news": {
+ "get": {
+ "description": "Returns one page of BBB newsroom cards from a canonical BBB newsroom URL. Three scopes are accepted, each with an optional topic: the US or Canada newsroom (/us/news), a state, province or city newsroom (/us/ca/news, /us/ca/san-francisco/news), and one local BBB chapter's own newsroom (/local-bbb//news, the news_url returned by bbb-local-bbbs and bbb-local-bbb). The list is whatever BBB shows on that page: a city or chapter whose local BBB publishes its own stories returns those, and other cities, other chapters and the state pages checked so far return the same list as the country newsroom, so compare total and the first items with the country newsroom before treating a list as local. A chapter URL also returns local_bbb_id and local_bbb_name. Items preserve BBB's type and include Article stories, events, and Near Me related-service cards when present. Near Me URLs are restricted to BBB's /near-me/ paths. Every page carries total_pages and has_more: request page + 1 while has_more is true and stop when it is false; a page past the end returns 404. Event dates and links are preserved when present.",
+ "operationId": "bbb-news",
+ "parameters": [
+ {
+ "description": "Canonical https://www.bbb.org newsroom URL: /us/news or /ca/news; ///news or ////news with country us or ca, the two-letter region code from bbb-regions and the city slug from a business profile URL; or a chapter's news_url from bbb-local-bbbs. Append a topic segment from bbb-news-topics to narrow it and ?page=N (1 to 1000) to page; no other query key is accepted",
+ "in": "query",
+ "name": "url",
+ "required": true,
+ "type": "string",
+ "x-example": "https://www.bbb.org/us/news/scams?page=2"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/app.Response"
+ },
+ {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/bbbnews.NewsResponse"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get BBB newsroom stories",
+ "tags": [
+ "BBB"
+ ]
+ }
+ },
+ "/bbb/news/topics": {
+ "get": {
+ "description": "Returns the complete topic navigation shown by a BBB newsroom page, including its active topic. The page can be the US or Canada newsroom, a state, province or city newsroom, or one local BBB chapter's newsroom; the returned topic URLs stay in that scope, and a chapter has its own topic set.",
+ "operationId": "bbb-news-topics",
+ "parameters": [
+ {
+ "description": "Canonical https://www.bbb.org newsroom URL, optionally with a topic segment: /us/news or /ca/news; ///news or ////news with country us or ca, the two-letter region code from bbb-regions and the city slug from a business profile URL; or a chapter's news_url from bbb-local-bbbs",
+ "in": "query",
+ "name": "url",
+ "required": true,
+ "type": "string",
+ "x-example": "https://www.bbb.org/us/news"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/app.Response"
+ },
+ {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/bbbnews.TopicsResponse"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "List BBB newsroom topics",
+ "tags": [
+ "BBB"
+ ]
+ }
+ },
+ "/bbb/page": {
+ "get": {
+ "description": "Returns one page from the evergreen library BBB keeps under https://www.bbb.org/all/ (tips, topic hubs such as tax or holiday advice, scam studies): its title, introduction, body text, links, main image and last-modified time. BBB folds older newsroom stories into these pages and redirects the old article URL, so the url can be either the evergreen page itself or an article URL that bbb-article reports as moved; requested_url, final_url and every redirect between them are returned. published_at is always present and is null, because BBB publishes no date for these pages: modified_at is when BBB last edited the page, not when a story it replaced was published, and the page may cover a wider topic than that story did. The original article ID is not on the page; article_id repeats the one in the requested article URL. Returns 404 when the page does not exist, when an article URL has not been moved (read it with bbb-article), and when BBB redirects the URL somewhere outside /all/; the error names the destination and the answer is permanent. Content BBB loads in the browser for the visitor's local BBB is not included.",
+ "operationId": "bbb-page",
+ "parameters": [
+ {
+ "description": "Canonical https://www.bbb.org URL of an evergreen page (/all/, no query string) or of an article (/article//-) that BBB has moved to one",
+ "in": "query",
+ "name": "url",
+ "required": true,
+ "type": "string",
+ "x-example": "https://www.bbb.org/all/consumer/tip/what-to-know-before-purchasing-a-gift-card"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/app.Response"
+ },
+ {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/bbbnews.PageResponse"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get a BBB evergreen page",
+ "tags": [
+ "BBB"
+ ]
+ }
+ },
+ "/bbb/regions": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the complete current country and region list from BBB's public local directory. Use the returned region code with bbb-local-bbbs.",
+ "operationId": "bbb-regions",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bbbdirectory.regionsResponseDoc"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "List Better Business Bureau directory regions",
+ "tags": [
+ "BBB"
+ ]
+ }
+ },
+ "/bbb/scamtracker/search": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Searches bbb.org Scam Tracker's consumer-reported-scam database by free-text query, scam category, targeted-victim state/province, reported-scammer state/province, report-date range, and/or dollar-loss range, paginated 10 results/page. A verified search with no matches returns results: [] and total_results: 0; an unavailable or unrecognized page returns 503 rather than an empty list. When result cards are present but BBB's total count is unavailable, total_results is omitted. Every page returns has_more and, when BBB's result count is exact, total_pages: request the next page only while has_more is true, because a page past the end returns 404. Omit every filter to browse the most-recent-first feed. This is a separate BBB dataset from the bbb-search/bbb-business/bbb-business-complaints business-rating family -- consumer-reported scam incidents, not business ratings.",
+ "operationId": "bbb-scamtracker-search",
+ "parameters": [
+ {
+ "description": "Free-text search (phone number, website, email, business name, scam ID, description). Omit to browse the most-recent feed",
+ "in": "query",
+ "name": "query",
+ "type": "string",
+ "x-example": "amazon"
+ },
+ {
+ "description": "Scam category filter",
+ "enum": [
+ "Advance Fee Loan",
+ "Bank/Credit Card Company Imposter",
+ "Business Email Compromise",
+ "Charity",
+ "Counterfeit Product",
+ "COVID-19",
+ "Credit Cards",
+ "Credit Repair/Debt Relief",
+ "CryptoCurrency",
+ "Debt Collections",
+ "Employment",
+ "Fake Check/Money Order",
+ "Fake Invoice/Supplier Bill",
+ "Family/Friend Emergency",
+ "Foreign Money Exchange",
+ "Government Agency Imposter",
+ "Government Grant",
+ "Healthcare/Medicaid/Medicare",
+ "Home Improvement",
+ "Identity Theft",
+ "Investment",
+ "Moving",
+ "Online Purchase",
+ "Other",
+ "Phishing",
+ "Rental",
+ "Retail Business",
+ "Romance",
+ "Scholarship",
+ "Sweepstakes/Lottery/Prizes",
+ "Tax Collection",
+ "Tech Support",
+ "Travel/Vacation/Timeshare",
+ "Utility",
+ "Vanity Award",
+ "Worthless Problem-solving Service",
+ "Yellow Pages/Directories"
+ ],
+ "in": "query",
+ "name": "scam_type",
+ "type": "string"
+ },
+ {
+ "description": "Optional 2-letter targeted-victim state/province code (US state or Canadian province)",
+ "in": "query",
+ "name": "state",
+ "type": "string",
+ "x-example": "TX"
+ },
+ {
+ "description": "Optional 2-letter reported-scammer state/province code (US state or Canadian province) -- where the scammer is reported to be, not the victim",
+ "in": "query",
+ "name": "scammer_state",
+ "type": "string",
+ "x-example": "NY"
+ },
+ {
+ "description": "Optional report-date range start (YYYY-MM-DD), inclusive. Must be set together with date_to",
+ "in": "query",
+ "name": "date_from",
+ "type": "string",
+ "x-example": "2026-01-01"
+ },
+ {
+ "description": "Optional report-date range end (YYYY-MM-DD), inclusive. Must be set together with date_from",
+ "in": "query",
+ "name": "date_to",
+ "type": "string",
+ "x-example": "2026-01-31"
+ },
+ {
+ "description": "Optional minimum reported dollar loss. Must be set together with max_dollars_lost",
+ "in": "query",
+ "name": "min_dollars_lost",
+ "type": "integer",
+ "x-example": 500000
+ },
+ {
+ "description": "Optional maximum reported dollar loss. Must be set together with min_dollars_lost",
+ "in": "query",
+ "name": "max_dollars_lost",
+ "type": "integer",
+ "x-example": 1000000
+ },
+ {
+ "description": "Result page (10 per page), default 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bbbscamtracker.searchResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Search Better Business Bureau Scam Tracker reports",
+ "tags": [
+ "BBB"
+ ]
+ }
+ },
+ "/bbb/scamtracker/state-stats": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns aggregate scam-report stats per US state and Canadian province for a given time window: report counts, dollar losses, per-capita rates, year-over-year change, and top scam-type breakdown.",
+ "operationId": "bbb-scamtracker-state-stats",
+ "parameters": [
+ {
+ "description": "Aggregation window, default 90",
+ "enum": [
+ "30",
+ "90",
+ "365",
+ "all"
+ ],
+ "in": "query",
+ "name": "period",
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bbbscamtracker.stateStatsResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Better Business Bureau Scam Tracker state/province aggregate stats",
+ "tags": [
+ "BBB"
+ ]
+ }
+ },
+ "/bbb/scamtracker/{id}": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns one BBB Scam Tracker consumer scam report: description, dollars lost, targeted person's location, scammer location/email/phone/URL (when known), scam type, business name used, and date reported. If BBB no longer shows the report and serves its search page at that address, the endpoint returns a permanent 404; do not retry it.",
+ "operationId": "bbb-scamtracker-detail",
+ "parameters": [
+ {
+ "description": "BBB Scam Tracker report id, from a bbb-scamtracker-search result's id or url",
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "type": "string",
+ "x-example": "1397968"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bbbscamtracker.detailResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get a Better Business Bureau Scam Tracker report",
+ "tags": [
+ "BBB"
+ ]
+ }
+ },
+ "/bbb/search": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Searches bbb.org for businesses by name or category near a location. Returns each business's BBB rating letter grade, accreditation status, categories, service areas, contact info, and profile URL. A verified empty first page returns results: [] and total_results: 0; an unavailable or unrecognized page returns an error. A page beyond the exact last page returns 404, and a page beyond BBB's 15-page accessible limit returns 404 naming that limit. Category IDs and state/province codes are query-scoped; call bbb-search-filters to discover values for this query and location.",
+ "operationId": "bbb-search",
+ "parameters": [
+ {
+ "description": "Business name or category/service keyword",
+ "in": "query",
+ "name": "query",
+ "required": true,
+ "type": "string",
+ "x-example": "plumber"
+ },
+ {
+ "description": "City and state (e.g. 'Austin, TX') or a ZIP code",
+ "in": "query",
+ "name": "location",
+ "required": true,
+ "type": "string",
+ "x-example": "Austin, TX"
+ },
+ {
+ "description": "Result page, default 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "default": "USA",
+ "description": "BBB country code",
+ "enum": [
+ "USA",
+ "CAN"
+ ],
+ "in": "query",
+ "name": "country",
+ "type": "string"
+ },
+ {
+ "description": "Sort order",
+ "enum": [
+ "Relevance",
+ "Distance",
+ "Rating",
+ "AToZ",
+ "ZToA"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Maximum distance in miles; omit for all distances",
+ "enum": [
+ "5",
+ "10",
+ "25",
+ "50",
+ "100"
+ ],
+ "in": "query",
+ "name": "distance",
+ "type": "string"
+ },
+ {
+ "collectionFormat": "multi",
+ "description": "One or more BBB rating buckets",
+ "in": "query",
+ "items": {
+ "enum": [
+ "A",
+ "B",
+ "C",
+ "D",
+ "F"
+ ],
+ "type": "string"
+ },
+ "name": "rating",
+ "type": "array"
+ },
+ {
+ "collectionFormat": "multi",
+ "description": "Query-scoped category ID from bbb-search-filters",
+ "in": "query",
+ "items": {
+ "type": "string"
+ },
+ "name": "category_id",
+ "type": "array"
+ },
+ {
+ "collectionFormat": "multi",
+ "description": "Query-scoped state or province code from bbb-search-filters",
+ "in": "query",
+ "items": {
+ "type": "string"
+ },
+ "name": "state",
+ "type": "array"
+ },
+ {
+ "description": "Only BBB-accredited businesses",
+ "in": "query",
+ "name": "accredited",
+ "type": "boolean"
+ },
+ {
+ "description": "Only businesses offering quote requests",
+ "in": "query",
+ "name": "get_quote",
+ "type": "boolean"
+ },
+ {
+ "description": "Only businesses serving the searched area",
+ "in": "query",
+ "name": "service_area",
+ "type": "boolean"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bbb.searchResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Search Better Business Bureau businesses",
+ "tags": [
+ "BBB"
+ ]
+ }
+ },
+ "/bbb/search/filters": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the live sort, category, and state/province values BBB currently advertises for one context. Supply query and location for text search, or category_url for the exact category-browse context; do not combine these modes. Category IDs and state/province codes are query-scoped; call this endpoint again when the search context changes. Static accepted values are country USA or CAN; sort Relevance, Distance, Rating, AToZ, or ZToA; distance 5, 10, 25, 50, or 100 miles; rating A, B, C, D, or F.",
+ "operationId": "bbb-search-filters",
+ "parameters": [
+ {
+ "description": "Business name or category/service keyword; use with location when category_url is omitted",
+ "in": "query",
+ "name": "query",
+ "type": "string",
+ "x-example": "plumber"
+ },
+ {
+ "description": "City and state/province or ZIP code; use with query when category_url is omitted",
+ "in": "query",
+ "name": "location",
+ "type": "string",
+ "x-example": "Austin, TX"
+ },
+ {
+ "description": "BBB category browse URL; use instead of query and location",
+ "in": "query",
+ "name": "category_url",
+ "type": "string",
+ "x-example": "https://www.bbb.org/us/tx/austin/category/plumber"
+ },
+ {
+ "default": "USA",
+ "description": "BBB country code",
+ "enum": [
+ "USA",
+ "CAN"
+ ],
+ "in": "query",
+ "name": "country",
+ "type": "string"
+ },
+ {
+ "description": "Result page, default 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Sort order",
+ "enum": [
+ "Relevance",
+ "Distance",
+ "Rating",
+ "AToZ",
+ "ZToA"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Maximum distance in miles; omit for all distances",
+ "enum": [
+ "5",
+ "10",
+ "25",
+ "50",
+ "100"
+ ],
+ "in": "query",
+ "name": "distance",
+ "type": "string"
+ },
+ {
+ "collectionFormat": "multi",
+ "description": "Selected rating values",
+ "in": "query",
+ "items": {
+ "enum": [
+ "A",
+ "B",
+ "C",
+ "D",
+ "F"
+ ],
+ "type": "string"
+ },
+ "name": "rating",
+ "type": "array"
+ },
+ {
+ "collectionFormat": "multi",
+ "description": "Selected category IDs previously returned for this search context",
+ "in": "query",
+ "items": {
+ "type": "string"
+ },
+ "name": "category_id",
+ "type": "array"
+ },
+ {
+ "collectionFormat": "multi",
+ "description": "Selected state/province codes previously returned for this search context",
+ "in": "query",
+ "items": {
+ "type": "string"
+ },
+ "name": "state",
+ "type": "array"
+ },
+ {
+ "description": "Only BBB-accredited businesses",
+ "in": "query",
+ "name": "accredited",
+ "type": "boolean"
+ },
+ {
+ "description": "Only businesses offering quote requests",
+ "in": "query",
+ "name": "get_quote",
+ "type": "boolean"
+ },
+ {
+ "description": "Only businesses serving the searched area",
+ "in": "query",
+ "name": "service_area",
+ "type": "boolean"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bbb.searchFiltersResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Discover Better Business Bureau search filters",
+ "tags": [
+ "BBB"
+ ]
+ }
+ },
+ "/bbc/article": {
+ "get": {
+ "description": "Returns a BBC News article's public metadata and body paragraphs from a canonical article URL. Live pages are not supported.",
+ "operationId": "bbc-article",
+ "parameters": [
+ {
+ "description": "Canonical BBC News article URL",
+ "in": "query",
+ "name": "url",
+ "required": true,
+ "type": "string",
+ "x-example": "https://www.bbc.co.uk/news/articles/cd68q3wynnqo"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bbc.articleResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get BBC News article content",
+ "tags": [
+ "BBC"
+ ]
+ }
+ },
+ "/bbc/author": {
+ "get": {
+ "description": "Returns a BBC News correspondent's profile from `url`, a canonical `bbc.co.uk/news/correspondents/` address: name, short `bio` and recent articles with title, URL, section and publication date when the page shows one. `published_at` is `YYYY-MM-DD` when the page gives a full date; items labelled only with a relative time, such as `2 days ago`, come back as written.",
+ "operationId": "bbc-author",
+ "parameters": [
+ {
+ "description": "Canonical BBC News correspondent URL",
+ "in": "query",
+ "name": "url",
+ "required": true,
+ "type": "string",
+ "x-example": "https://www.bbc.co.uk/news/correspondents/jonnydymond"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bbc.authorResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get a BBC News correspondent's profile",
+ "tags": [
+ "BBC"
+ ]
+ }
+ },
+ "/bbc/headlines": {
+ "get": {
+ "description": "Returns fresh BBC News headlines for one section, `world` by default. `section` can be `all`, `world`, `uk`, `politics`, `business`, `health`, `science_and_environment`, `technology` or `entertainment_and_arts`; `all` can mix stories from several sections. Each item has a title, URL, summary and publication time when available.",
+ "operationId": "bbc-headlines",
+ "parameters": [
+ {
+ "description": "BBC News RSS section, defaults to world",
+ "enum": [
+ "all",
+ "world",
+ "uk",
+ "politics",
+ "business",
+ "health",
+ "science_and_environment",
+ "technology",
+ "entertainment_and_arts"
+ ],
+ "in": "query",
+ "name": "section",
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bbc.headlinesResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get BBC News section headlines",
+ "tags": [
+ "BBC"
+ ]
+ }
+ },
+ "/bbc/live": {
+ "get": {
+ "description": "Returns the current server-rendered text updates from one canonical BBC News live URL. It does not subscribe to updates or return broadcast, player, or stream data.",
+ "operationId": "bbc-live",
+ "parameters": [
+ {
+ "description": "Canonical BBC News live URL",
+ "in": "query",
+ "name": "url",
+ "required": true,
+ "type": "string",
+ "x-example": "https://www.bbc.co.uk/news/live/c6y8mjmnpxv0t"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bbc.liveResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get a BBC News live-page text snapshot",
+ "tags": [
+ "BBC"
+ ]
+ }
+ },
+ "/bbc/search": {
+ "get": {
+ "description": "Returns a bounded page of public BBC search-result metadata: title, URL, standfirst summary, display date, and a type of article, video, audio, live, topic, or page. Topic items are BBC topic hub pages rather than articles and carry no published_at. Media entries link only to their BBC landing pages; streams, downloads, and transcripts are not returned.",
+ "operationId": "bbc-search",
+ "parameters": [
+ {
+ "description": "Search query, up to 120 characters",
+ "in": "query",
+ "name": "q",
+ "required": true,
+ "type": "string",
+ "x-example": "climate"
+ },
+ {
+ "description": "Results page, defaults to 1",
+ "in": "query",
+ "maximum": 10,
+ "minimum": 1,
+ "name": "page",
+ "type": "integer"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bbc.searchResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Search public BBC pages",
+ "tags": [
+ "BBC"
+ ]
+ }
+ },
+ "/benzinga/article": {
+ "get": {
+ "description": "Returns a Benzinga article by `url`, a canonical dated editorial article URL: title, description, publication and update times, section, authors, image and the body `paragraphs`. Paid products, profiles, press releases, SEC pages and partner content are not accepted.",
+ "operationId": "benzinga-article",
+ "parameters": [
+ {
+ "description": "Canonical dated Benzinga editorial article URL",
+ "in": "query",
+ "name": "url",
+ "required": true,
+ "type": "string",
+ "x-example": "https://www.benzinga.com/trading-ideas/movers/26/09/62057574/spacex-stock-rises-tuesday"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.articleResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get a Benzinga article",
+ "tags": [
+ "Benzinga"
+ ]
+ }
+ },
+ "/benzinga/headlines": {
+ "get": {
+ "description": "Returns current Benzinga story cards for one section. `section` is required and is `latest`, `technology-stocks`, `politics` or `health-care`. Each item has a title and URL, and may also carry a summary, author, publication time and image.",
+ "operationId": "benzinga-headlines",
+ "parameters": [
+ {
+ "description": "Benzinga editorial section slug",
+ "enum": [
+ "latest",
+ "technology-stocks",
+ "politics",
+ "health-care"
+ ],
+ "in": "query",
+ "name": "section",
+ "required": true,
+ "type": "string",
+ "x-example": "latest"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.headlinesResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Benzinga section headlines",
+ "tags": [
+ "Benzinga"
+ ]
+ }
+ },
+ "/benzinga/news": {
+ "get": {
+ "description": "Returns the current Benzinga stories, with no input needed. Each item has a title, URL and a `summary` that is the publisher's short teaser rather than article text, and may also carry the author, publication time and image.",
+ "operationId": "benzinga-news",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.newsResponseDoc"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Benzinga top stories",
+ "tags": [
+ "Benzinga"
+ ]
+ }
+ },
+ "/benzinga/search": {
+ "get": {
+ "description": "Returns up to five public news-article suggestions from Benzinga's anonymous search typeahead. Ticker-only suggestions are omitted; this is not a paginated archive search.",
+ "operationId": "benzinga-search",
+ "parameters": [
+ {
+ "description": "Search text (2 to 100 characters)",
+ "in": "query",
+ "name": "q",
+ "required": true,
+ "type": "string",
+ "x-example": "Tesla"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.benzingaSearchResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Search Benzinga article suggestions",
+ "tags": [
+ "Benzinga"
+ ]
+ }
+ },
+ "/benzinga/sections": {
+ "get": {
+ "description": "Lists the four Benzinga editorial sections accepted by `benzinga-headlines`: `latest` (named Breaking News), `technology-stocks`, `politics` and `health-care`. Each has a `slug`, a display `name` and the section's page `url`.",
+ "operationId": "benzinga-sections",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.sectionsResponseDoc"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "List Benzinga news sections",
+ "tags": [
+ "Benzinga"
+ ]
+ }
+ },
+ "/bestbuy/brands": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns Best Buy's full brand directory (name, category id, url), sourced from the site's own \"Name Brands\" page. Each id is directly usable as bestbuy_category's category_id input.",
+ "operationId": "bestbuy-brands",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bestbuy.brandsResponseDoc"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Best Buy's full brand directory",
+ "tags": [
+ "Best Buy"
+ ]
+ }
+ },
+ "/bestbuy/categories": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns Best Buy's current top-level Shop departments (name, category id, url). Each id is directly usable as bestbuy_category's category_id input; this is not the full category tree.",
+ "operationId": "bestbuy-categories",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bestbuy.categoriesResponseDoc"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Best Buy's top-level shopping departments",
+ "tags": [
+ "Best Buy"
+ ]
+ }
+ },
+ "/bestbuy/categories/trending": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns Best Buy's fine-grained, often deeply-nested product-type categories (e.g. \"Windows Laptops\", \"55-Inch TVs (55 - 64 in)\", \"PS5 Consoles\") sourced from the homepage's own \"Best Selling\" section -- much more specific than bestbuy_categories' 21 current top-level departments. Each id is directly usable as bestbuy_category's category_id input.",
+ "operationId": "bestbuy-categories-trending",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bestbuy.trendingCategoriesResponseDoc"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Best Buy's fine-grained trending product-type categories",
+ "tags": [
+ "Best Buy"
+ ]
+ }
+ },
+ "/bestbuy/category": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns one page (up to 24) of one Best Buy category's product listing (sku, title, url, image, price, rating, review count). category_id is a Best Buy category id, e.g. pcmcat138500050001, found in a category page URL's trailing .c?id= segment. page is the optional 1-indexed page number (defaults to 1); requesting a page past the last one returns an empty products list, not an error.",
+ "operationId": "bestbuy-category",
+ "parameters": [
+ {
+ "description": "Best Buy category id",
+ "in": "query",
+ "name": "category_id",
+ "required": true,
+ "type": "string",
+ "x-example": "pcmcat138500050001"
+ },
+ {
+ "description": "1-indexed page number, defaults to 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer",
+ "x-example": 1
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bestbuy.categoryResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get a Best Buy category's product listing",
+ "tags": [
+ "Best Buy"
+ ]
+ }
+ },
+ "/bestbuy/category/subcategories": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns a Best Buy category's own sibling/child category set (name, category id, url), sourced from that category page's own \"Category\" filter facet. Each id is directly usable as bestbuy_category's category_id input. category_id is a Best Buy category id, e.g. pcmcat138500050001, found in a category page URL's trailing .c?id= segment. A leaf category with no siblings returns an empty list, not an error.",
+ "operationId": "bestbuy-category-subcategories",
+ "parameters": [
+ {
+ "description": "Best Buy category id",
+ "in": "query",
+ "name": "category_id",
+ "required": true,
+ "type": "string",
+ "x-example": "pcmcat138500050001"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bestbuy.subcategoriesResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get a Best Buy category's own sibling/child categories",
+ "tags": [
+ "Best Buy"
+ ]
+ }
+ },
+ "/bestbuy/product": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns one Best Buy product's detail (name, brand, model, color, price, availability, rating, images, breadcrumbs). sku is the numeric Best Buy SKU shown on bestbuy.com product pages and URLs.",
+ "operationId": "bestbuy-product",
+ "parameters": [
+ {
+ "description": "Numeric Best Buy SKU",
+ "in": "query",
+ "name": "sku",
+ "required": true,
+ "type": "string",
+ "x-example": "6673590"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bestbuy.productResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get a Best Buy product's detail",
+ "tags": [
+ "Best Buy"
+ ]
+ }
+ },
+ "/bestbuy/product/questions": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the customer questions (with answers, when present) Best Buy embeds directly on a product's page: question text, answer text, who answered, and when. sku is the numeric Best Buy SKU shown on bestbuy.com product pages and URLs. A product with no questions asked yet returns an empty list, not an error.",
+ "operationId": "bestbuy-product-questions",
+ "parameters": [
+ {
+ "description": "Numeric Best Buy SKU",
+ "in": "query",
+ "name": "sku",
+ "required": true,
+ "type": "string",
+ "x-example": "6673590"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bestbuy.productQuestionsResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get a Best Buy product's customer questions and answers",
+ "tags": [
+ "Best Buy"
+ ]
+ }
+ },
+ "/bestbuy/product/related": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the organic (non-sponsored) related products Best Buy embeds in a product page's own comparison table (sku, name, url, image, price). sku is the numeric Best Buy SKU shown on bestbuy.com product pages and URLs. A product page with no comparison table returns an empty list, not an error.",
+ "operationId": "bestbuy-product-related",
+ "parameters": [
+ {
+ "description": "Numeric Best Buy SKU",
+ "in": "query",
+ "name": "sku",
+ "required": true,
+ "type": "string",
+ "x-example": "6673590"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bestbuy.productRelatedResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get a Best Buy product's related products",
+ "tags": [
+ "Best Buy"
+ ]
+ }
+ },
+ "/bestbuy/product/reviews": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns page 1 (up to 20) of one Best Buy product's customer reviews (rating, title, text, author, posted date, tags such as Verified Purchaser, recommended flag, helpful/unhelpful counts). sku is the numeric Best Buy SKU shown on bestbuy.com product pages and URLs.",
+ "operationId": "bestbuy-product-reviews",
+ "parameters": [
+ {
+ "description": "Numeric Best Buy SKU",
+ "in": "query",
+ "name": "sku",
+ "required": true,
+ "type": "string",
+ "x-example": "6673590"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bestbuy.productReviewsResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get a Best Buy product's customer reviews",
+ "tags": [
+ "Best Buy"
+ ]
+ }
+ },
+ "/bestbuy/search": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns one page (up to 24) of one Best Buy keyword search's product listing (sku, title, url, image, price, rating, review count). q is free-text search keywords, e.g. \"laptop\". page is the optional 1-indexed page number (defaults to 1); requesting a page past the last one returns an empty products list, not an error.",
+ "operationId": "bestbuy-search",
+ "parameters": [
+ {
+ "description": "Search keywords",
+ "in": "query",
+ "name": "q",
+ "required": true,
+ "type": "string",
+ "x-example": "laptop"
+ },
+ {
+ "description": "1-indexed page number, defaults to 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer",
+ "x-example": 1
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bestbuy.searchResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Search Best Buy's product catalog",
+ "tags": [
+ "Best Buy"
+ ]
+ }
+ },
+ "/bestbuy/stores": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns Best Buy's physical store locations in one city (name, address, phone, coordinates, rating, hours), sourced from Best Buy's own SEO store directory. state is one of the 50 US state codes plus dc and pr: `al`, `ak`, `az`, `ar`, `ca`, `co`, `ct`, `de`, `dc`, `fl`, `ga`, `hi`, `id`, `il`, `in`, `ia`, `ks`, `ky`, `la`, `me`, `md`, `ma`, `mi`, `mn`, `ms`, `mo`, `mt`, `ne`, `nv`, `nh`, `nj`, `nm`, `ny`, `nc`, `nd`, `oh`, `ok`, `or`, `pa`, `pr`, `ri`, `sc`, `sd`, `tn`, `tx`, `ut`, `vt`, `va`, `wa`, `wv`, `wi`, `wy`. city is free text matched case-insensitively against that state's own directory (e.g. \"Chicago\").",
+ "operationId": "bestbuy-stores",
+ "parameters": [
+ {
+ "description": "Two-letter state/territory code",
+ "in": "query",
+ "name": "state",
+ "required": true,
+ "type": "string",
+ "x-example": "il"
+ },
+ {
+ "description": "City name",
+ "in": "query",
+ "name": "city",
+ "required": true,
+ "type": "string",
+ "x-example": "Chicago"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bestbuy.storesResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Best Buy's physical stores in one city",
+ "tags": [
+ "Best Buy"
+ ]
+ }
+ },
+ "/bigcommerce/category": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns one product-listing page from a public BigCommerce storefront category page. url must be the full public category-page URL. page is 1-indexed and defaults to 1.",
+ "operationId": "bigcommerce-category",
+ "parameters": [
+ {
+ "description": "Full public BigCommerce category page URL",
+ "in": "query",
+ "name": "url",
+ "required": true,
+ "type": "string",
+ "x-example": "https://www.bulkapothecary.com/melt-and-pour-soap-bases/"
+ },
+ {
+ "description": "1-indexed category page, defaults to 1",
+ "in": "query",
+ "minimum": 1,
+ "name": "page",
+ "type": "integer",
+ "x-example": 1
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bigcommerce.categoryResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Browse a BigCommerce storefront category",
+ "tags": [
+ "BigCommerce"
+ ]
+ }
+ },
+ "/bigcommerce/product": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns product detail from a public BigCommerce storefront product page. url must be the full public product-page URL for a BigCommerce Stencil storefront.",
+ "operationId": "bigcommerce-product",
+ "parameters": [
+ {
+ "description": "Full public BigCommerce product page URL",
+ "in": "query",
+ "name": "url",
+ "required": true,
+ "type": "string",
+ "x-example": "https://www.bulkapothecary.com/goat-milk-sfic-all-natural-glycerin-melt-and-pour-soap-base/"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bigcommerce.productResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get a BigCommerce storefront product",
+ "tags": [
+ "BigCommerce"
+ ]
+ }
+ },
+ "/bigcommerce/search": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns one product-search page from a public BigCommerce storefront. url must be the public storefront origin; an optional caller path or query is ignored. q is required search text. page is 1-indexed and defaults to 1.",
+ "operationId": "bigcommerce-search",
+ "parameters": [
+ {
+ "description": "Public BigCommerce storefront origin",
+ "in": "query",
+ "name": "url",
+ "required": true,
+ "type": "string",
+ "x-example": "https://www.bulkapothecary.com"
+ },
+ {
+ "description": "Search text",
+ "in": "query",
+ "name": "q",
+ "required": true,
+ "type": "string",
+ "x-example": "lavender"
+ },
+ {
+ "description": "1-indexed search page, defaults to 1",
+ "in": "query",
+ "minimum": 1,
+ "name": "page",
+ "type": "integer",
+ "x-example": 1
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bigcommerce.searchResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Search a BigCommerce storefront",
+ "tags": [
+ "BigCommerce"
+ ]
+ }
+ },
+ "/bilibili/anime-home": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the anonymous anime homepage's featured titles, latest updates, schedule, popular ranking, and new recommendations. Personalized rotating feed items are excluded.",
+ "operationId": "bilibili-anime-home",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bilibili.animeHomeResponseDoc"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Bilibili anime home sections",
+ "tags": [
+ "Bilibili"
+ ]
+ }
+ },
+ "/bilibili/autocomplete": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns Bilibili search-box suggestions for the partial text in `q`, which is required (up to 100 characters). The response has the `query`, a `count` and deduplicated `suggestions` in Bilibili's order. A query with no matches returns an empty `suggestions` array; invalid input returns 400.",
+ "operationId": "bilibili-autocomplete",
+ "parameters": [
+ {
+ "description": "Partial search text",
+ "in": "query",
+ "name": "q",
+ "required": true,
+ "type": "string",
+ "x-example": "原神"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bilibili.autocompleteResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Bilibili search suggestions",
+ "tags": [
+ "Bilibili"
+ ]
+ }
+ },
+ "/bilibili/guochuang-home": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the anonymous Chinese-animation homepage's featured titles, latest updates, schedule, popular ranking, and new recommendations. Personalized rotating feed items are excluded.",
+ "operationId": "bilibili-guochuang-home",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bilibili.guochuangHomeResponseDoc"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Bilibili Chinese-animation home sections",
+ "tags": [
+ "Bilibili"
+ ]
+ }
+ },
+ "/bilibili/must-watch": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns Bilibili's curated must-watch collection, split into `classic_videos` and `latest_videos` with their counts, plus the collection `title`, `subtitle` and `explanation`. Each video has `bvid`, `aid`, `title`, `url`, `cover`, `uploader`, `published`, `stats` and `achievement`. Takes no parameters.",
+ "operationId": "bilibili-must-watch",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bilibili.mustWatchResponseDoc"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Bilibili's curated must-watch videos",
+ "tags": [
+ "Bilibili"
+ ]
+ }
+ },
+ "/bilibili/popular": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns Bilibili's current popular videos in Bilibili's own order. Start with `cursor` 0 (the default; max 10000000) and pass back `next_cursor` for the next batch. Each video has `bvid`, `aid`, `title`, `url`, `cover`, `duration`, `uploader`, `views_and_age` and an optional `reason`. At the end of the feed `no_more` is `true` and `videos` is empty.",
+ "operationId": "bilibili-popular",
+ "parameters": [
+ {
+ "description": "Upstream cursor from the previous response; defaults to 0",
+ "in": "query",
+ "maximum": 10000000,
+ "minimum": 0,
+ "name": "cursor",
+ "type": "integer",
+ "x-example": 0
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bilibili.popularResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get current popular Bilibili videos",
+ "tags": [
+ "Bilibili"
+ ]
+ }
+ },
+ "/bilibili/ranking": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the current Bilibili all-site video ranking in rank order. Each video has its `rank`, `aid`, `title`, `url`, `cover`, `views`, `danmaku`, `replies`, `favorites`, `likes`, `duration_seconds`, `published_at`, `category` and `creator` (name, `mid`, `followers`). Takes no parameters.",
+ "operationId": "bilibili-ranking",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bilibili.rankingResponseDoc"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get the current Bilibili all-site ranking",
+ "tags": [
+ "Bilibili"
+ ]
+ }
+ },
+ "/bilibili/vertical-home": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns stable server-rendered editorial sections for one Bilibili vertical. Allowed category values: documentary, movie, tv, variety. Rotating feeds, pagination, account state, and streaming URLs are excluded.",
+ "operationId": "bilibili-vertical-home",
+ "parameters": [
+ {
+ "description": "Vertical: documentary, movie, tv, variety",
+ "enum": [
+ "documentary",
+ "movie",
+ "tv",
+ "variety"
+ ],
+ "in": "query",
+ "name": "category",
+ "required": true,
+ "type": "string",
+ "x-example": "documentary"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bilibili.verticalHomeResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Bilibili documentary, movie, TV, or variety home sections",
+ "tags": [
+ "Bilibili"
+ ]
+ }
+ },
+ "/bilibili/weekly": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns one issue of Bilibili's weekly selected-video series: `number` (1 to 1000000) picks the issue, and omitting it returns the latest. The issue has `subject`, `label`, `description` and `reminder`, and each video has `bvid`, `title`, `uploader`, `duration_seconds`, `recommendation` and `stats_text`. An unknown issue number returns 404.",
+ "operationId": "bilibili-weekly",
+ "parameters": [
+ {
+ "description": "Positive issue number; omit for the latest issue",
+ "in": "query",
+ "maximum": 1000000,
+ "minimum": 1,
+ "name": "number",
+ "type": "integer",
+ "x-example": 387
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bilibili.weeklyResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get a Bilibili weekly selected-video issue",
+ "tags": [
+ "Bilibili"
+ ]
+ }
+ },
+ "/billboard/article": {
+ "get": {
+ "description": "Returns public Billboard article metadata and body paragraphs from a canonical article URL. Billboard Pro articles are returned in full when the public page serves the full body; a teaser-only page is flagged paywalled.",
+ "operationId": "billboard-article",
+ "parameters": [
+ {
+ "description": "Canonical Billboard article URL",
+ "in": "query",
+ "name": "url",
+ "required": true,
+ "type": "string",
+ "x-example": "https://www.billboard.com/music/latin/stray-kids-like-bts-younger-mexican-president-confirm-visit-1236346530/"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.articleResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Billboard article content",
+ "tags": [
+ "Billboard"
+ ]
+ }
+ },
+ "/billboard/author": {
+ "get": {
+ "description": "Returns a Billboard author's byline metadata, biography, and recent articles (sourced from the author's own public RSS feed) from a canonical author URL.",
+ "operationId": "billboard-author",
+ "parameters": [
+ {
+ "description": "Canonical Billboard author URL",
+ "in": "query",
+ "name": "url",
+ "required": true,
+ "type": "string",
+ "x-example": "https://www.billboard.com/author/gil-kaufman/"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.billboardAuthorResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get a Billboard author profile",
+ "tags": [
+ "Billboard"
+ ]
+ }
+ },
+ "/billboard/headlines": {
+ "get": {
+ "description": "Returns the 10 most recent items from one Billboard section. `section` is required and takes a slug such as `chart-beat`, `country`, `rb-hip-hop`, `streaming` or `touring`. Parent sections such as `music` and `business` overlap with their subsections, so one item can appear under several. Items carry title, URL, summary, author and time.",
+ "operationId": "billboard-headlines",
+ "parameters": [
+ {
+ "description": "Billboard section slug",
+ "enum": [
+ "music",
+ "music-news",
+ "chart-beat",
+ "awards",
+ "concerts",
+ "country",
+ "features",
+ "latin",
+ "lyrics",
+ "pop",
+ "rb-hip-hop",
+ "reviews",
+ "rock",
+ "business",
+ "business-news",
+ "legal",
+ "management",
+ "publishing",
+ "radio",
+ "record-labels",
+ "streaming",
+ "tech",
+ "touring",
+ "culture",
+ "events",
+ "lifestyle",
+ "politics",
+ "pride",
+ "product-recommendations",
+ "tv-film",
+ "media",
+ "lists",
+ "photos-media",
+ "podcasts",
+ "videos",
+ "espanol",
+ "cultura-entretenimiento",
+ "musica",
+ "negocios",
+ "noticias",
+ "pro"
+ ],
+ "in": "query",
+ "name": "section",
+ "required": true,
+ "type": "string",
+ "x-example": "music"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.headlinesResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Billboard section headlines",
+ "tags": [
+ "Billboard"
+ ]
+ }
+ },
+ "/billboard/news": {
+ "get": {
+ "description": "Returns the latest Billboard stories, with no input needed. Each item has a title and canonical URL, plus a publication time, summary and image when Billboard provides them.",
+ "operationId": "billboard-news",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.newsResponseDoc"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Billboard top stories",
+ "tags": [
+ "Billboard"
+ ]
+ }
+ },
+ "/billboard/sections": {
+ "get": {
+ "description": "Returns the public Billboard section inventory: every music, business, culture, media and Spanish-language category plus Billboard Pro, each linking to its public RSS feed.",
+ "operationId": "billboard-sections",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.sectionsResponseDoc"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Billboard sections",
+ "tags": [
+ "Billboard"
+ ]
+ }
+ },
+ "/billing/me": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the authenticated user's current billing plan, period, included credits, used credits, remaining credits, overage status, and any downgrade scheduled for the next renewal.",
+ "operationId": "billing-me",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Current billing state",
+ "schema": {
+ "$ref": "#/definitions/billing.billingStateResponseDoc"
+ }
+ },
+ "401": {
+ "description": "Authentication required",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get current billing state",
+ "tags": [
+ "Billing"
+ ]
+ }
+ },
+ "/billing/me/checkout": {
+ "post": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Creates a Stripe Checkout session for the authenticated user's selected paid billing plan. The created subscription is tagged with the local user id and plan so Stripe webhooks can link the customer and activate the plan after payment.",
+ "operationId": "billing-me-checkout",
+ "parameters": [
+ {
+ "description": "Checkout request",
+ "in": "body",
+ "name": "request",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/billing.stripeCheckoutRequestDoc"
+ }
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Stripe checkout session",
+ "schema": {
+ "$ref": "#/definitions/billing.stripeSessionResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Invalid request or plan",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "401": {
+ "description": "Authentication required",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Create Stripe checkout session",
+ "tags": [
+ "Billing"
+ ]
+ }
+ },
+ "/billing/me/events": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns recent billing audit events for the authenticated user, with optional filters for time range, endpoint, request id, event status, and billable flag. Invalid event_status values and reversed time ranges return invalid params.",
+ "operationId": "billing-me-events",
+ "parameters": [
+ {
+ "description": "Maximum records to return. Defaults to 50 and clamps to 100.",
+ "in": "query",
+ "maximum": 100,
+ "minimum": 1,
+ "name": "limit",
+ "type": "integer"
+ },
+ {
+ "description": "Created-at lower bound in RFC3339 format",
+ "in": "query",
+ "name": "from",
+ "type": "string",
+ "x-example": "2026-04-01T00:00:00Z"
+ },
+ {
+ "description": "Created-at upper bound in RFC3339 format",
+ "in": "query",
+ "name": "to",
+ "type": "string",
+ "x-example": "2026-04-16T00:00:00Z"
+ },
+ {
+ "description": "Normalized endpoint or API path",
+ "in": "query",
+ "name": "endpoint",
+ "type": "string",
+ "x-example": "google/search"
+ },
+ {
+ "description": "Request id to inspect",
+ "in": "query",
+ "name": "request_id",
+ "type": "string",
+ "x-example": "req-1"
+ },
+ {
+ "description": "Billing event status",
+ "enum": [
+ "reserved",
+ "charged",
+ "non_billable",
+ "failed"
+ ],
+ "in": "query",
+ "name": "event_status",
+ "type": "string"
+ },
+ {
+ "description": "Filter billable or non-billable events",
+ "in": "query",
+ "name": "billable",
+ "type": "boolean"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Billing events",
+ "schema": {
+ "$ref": "#/definitions/billing.billingEventsResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Invalid query parameters",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "401": {
+ "description": "Authentication required",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "List current user's billing events",
+ "tags": [
+ "Billing"
+ ]
+ }
+ },
+ "/billing/me/periods": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns recent local billing period ledgers for the authenticated user. Period ledgers are local reconciliation records built from billing events and are not charged credits.",
+ "operationId": "billing-me-periods",
+ "parameters": [
+ {
+ "description": "Maximum periods to return. Defaults to 12 and clamps to 24.",
+ "in": "query",
+ "maximum": 24,
+ "minimum": 1,
+ "name": "limit",
+ "type": "integer"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Billing period ledgers",
+ "schema": {
+ "$ref": "#/definitions/billing.billingPeriodLedgersResponseDoc"
+ }
+ },
+ "401": {
+ "description": "Authentication required",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "List current user's billing period ledgers",
+ "tags": [
+ "Billing"
+ ]
+ }
+ },
+ "/billing/me/periods/{period_key}": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns one billing period ledger for the authenticated user. If the ledger has not been materialized yet, it is rebuilt from billing events and stored locally. The period key must use YYYY-MM format.",
+ "operationId": "billing-me-period",
+ "parameters": [
+ {
+ "description": "Billing period key in YYYY-MM format",
+ "in": "path",
+ "name": "period_key",
+ "required": true,
+ "type": "string",
+ "x-example": "2026-04"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Billing period ledger",
+ "schema": {
+ "$ref": "#/definitions/billing.billingPeriodLedgerResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Invalid period key",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "401": {
+ "description": "Authentication required",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get current user's billing period ledger",
+ "tags": [
+ "Billing"
+ ]
+ }
+ },
+ "/billing/me/periods/{period_key}/statement": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns a customer-safe JSON statement for one billing period, combining the ledger, endpoint breakdown, optional billing events, and Stripe invoice evidence. Closed periods normally return a pre-frozen snapshot created during period close; historical closed periods without a snapshot are lazily frozen on read. Repair errors and raw webhook audit details are not exposed.",
+ "operationId": "billing-me-period-statement",
+ "parameters": [
+ {
+ "description": "Billing period key in YYYY-MM format",
+ "in": "path",
+ "name": "period_key",
+ "required": true,
+ "type": "string",
+ "x-example": "2026-04"
+ },
+ {
+ "description": "Include recent billing events. Defaults to true.",
+ "in": "query",
+ "name": "include_events",
+ "type": "boolean"
+ },
+ {
+ "description": "Maximum billing events to include. Defaults to 100 and clamps to 500.",
+ "in": "query",
+ "maximum": 500,
+ "minimum": 1,
+ "name": "event_limit",
+ "type": "integer"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Billing period statement",
+ "schema": {
+ "$ref": "#/definitions/billing.billingPeriodStatementResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Invalid period key or query parameters",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "401": {
+ "description": "Authentication required",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get current user's billing period statement",
+ "tags": [
+ "Billing"
+ ]
+ }
+ },
+ "/billing/me/periods/{period_key}/statement/download": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the exact customer-safe canonical JSON for a closed billing period statement snapshot. Closed periods are normally frozen during period close; if a historical closed period is missing a snapshot, the snapshot is lazily created before download. The raw response body is JSON, not the standard app envelope.",
+ "operationId": "billing-me-period-statement-download",
+ "parameters": [
+ {
+ "description": "Billing period key in YYYY-MM format",
+ "in": "path",
+ "name": "period_key",
+ "required": true,
+ "type": "string",
+ "x-example": "2026-04"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Raw frozen customer statement JSON",
+ "schema": {
+ "type": "string"
+ }
+ },
+ "400": {
+ "description": "Invalid period key or open billing period",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "401": {
+ "description": "Authentication required",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Download current user's frozen billing period statement",
+ "tags": [
+ "Billing"
+ ]
+ }
+ },
+ "/billing/me/portal": {
+ "post": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Creates a Stripe customer portal session for the authenticated user's linked Stripe customer so they can manage payment method, invoices, and subscription state.",
+ "operationId": "billing-me-portal",
+ "parameters": [
+ {
+ "description": "Portal request",
+ "in": "body",
+ "name": "request",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/billing.stripePortalRequestDoc"
+ }
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Stripe portal session",
+ "schema": {
+ "$ref": "#/definitions/billing.stripeSessionResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Invalid request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "401": {
+ "description": "Authentication required",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Create Stripe billing portal session",
+ "tags": [
+ "Billing"
+ ]
+ }
+ },
+ "/billing/me/rejections": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the authenticated user's own tally of pre-handler billing rejections (HTTP 402 quota / 429 rate-limit), summed over the last two UTC days (today and yesterday — the full retention window). These blocks never reach the request-usage index or the billing-events log, so this is the only way for a caller to see their own throttling.",
+ "operationId": "billing-me-rejections",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Caller's own rejection tally",
+ "schema": {
+ "$ref": "#/definitions/billing.myRejectionsResponseDoc"
+ }
+ },
+ "401": {
+ "description": "Authentication required",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Caller's own blocked-request tally",
+ "tags": [
+ "Billing"
+ ]
+ }
+ },
+ "/billing/me/subscription/change": {
+ "post": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Applies an immediate, prorated upgrade after Stripe payment succeeds, or schedules a downgrade for the next renewal. The unused legacy metered item is removed as part of an immediate upgrade.",
+ "operationId": "billing-me-subscription-change",
+ "parameters": [
+ {
+ "description": "Subscription change request",
+ "in": "body",
+ "name": "request",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/billing.stripeSubscriptionChangeRequestDoc"
+ }
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Subscription change result",
+ "schema": {
+ "$ref": "#/definitions/billing.stripeSubscriptionChangeResultResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Invalid plan, stale preview, or idempotency key",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "401": {
+ "description": "Authentication required",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Apply a subscription plan change",
+ "tags": [
+ "Billing"
+ ]
+ }
+ },
+ "/billing/me/subscription/change/cancel": {
+ "post": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Cancels the signed-in user's scheduled subscription downgrade and keeps the current plan active. There is no immediate charge or refund, and the call changes nothing when no downgrade is scheduled. Takes no body. The response reports `action`, `current_plan`, `target_plan` and `payment_status`.",
+ "operationId": "billing-me-subscription-change-cancel",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Subscription change cancellation result",
+ "schema": {
+ "$ref": "#/definitions/billing.stripeSubscriptionChangeResultResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Invalid subscription state",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "401": {
+ "description": "Authentication required",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Cancel a scheduled subscription downgrade",
+ "tags": [
+ "Billing"
+ ]
+ }
+ },
+ "/billing/me/subscription/preview": {
+ "post": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Previews an authenticated user's immediate upgrade or next-renewal downgrade. Stripe calculates the upgrade proration; downgrades keep the current plan and credits active until the current period ends.",
+ "operationId": "billing-me-subscription-preview",
+ "parameters": [
+ {
+ "description": "Subscription change preview request",
+ "in": "body",
+ "name": "request",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/billing.stripeSubscriptionChangeRequestDoc"
+ }
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Subscription change preview",
+ "schema": {
+ "$ref": "#/definitions/billing.stripeSubscriptionChangePreviewResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Invalid plan or subscription change",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "401": {
+ "description": "Authentication required",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Preview a subscription plan change",
+ "tags": [
+ "Billing"
+ ]
+ }
+ },
+ "/bing/images": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns Bing image search results for a query string. Locale defaults to country=us and lang=en-us. Returns 503 when Bing serves a challenge page or unusable results.",
+ "operationId": "bing-images",
+ "parameters": [
+ {
+ "description": "Search query",
+ "in": "query",
+ "name": "q",
+ "required": true,
+ "type": "string",
+ "x-example": "openai"
+ },
+ {
+ "description": "1-based page number; defaults to 1",
+ "in": "query",
+ "minimum": 1,
+ "name": "page",
+ "type": "integer",
+ "x-example": 1
+ },
+ {
+ "description": "Results per page; defaults to 10, clamped to 1..50",
+ "in": "query",
+ "maximum": 50,
+ "minimum": 1,
+ "name": "count",
+ "type": "integer",
+ "x-example": 10
+ },
+ {
+ "description": "Two-letter country code; defaults to us",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "us"
+ },
+ {
+ "description": "Bing UI language; defaults to en-us",
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en-us"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bing.imagesResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Missing or invalid query parameters",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "No results found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Rate limit exceeded",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Bing upstream request failed",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Search Bing image results",
+ "tags": [
+ "Bing"
+ ]
+ }
+ },
+ "/bing/news": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns Bing news search results for a query string. Locale defaults to country=us and lang=en-us. Returns 503 when Bing serves a challenge page or unusable results.",
+ "operationId": "bing-news",
+ "parameters": [
+ {
+ "description": "Search query",
+ "in": "query",
+ "name": "q",
+ "required": true,
+ "type": "string",
+ "x-example": "openai"
+ },
+ {
+ "description": "1-based page number; defaults to 1",
+ "in": "query",
+ "minimum": 1,
+ "name": "page",
+ "type": "integer",
+ "x-example": 1
+ },
+ {
+ "description": "Results per page; defaults to 10, clamped to 1..50",
+ "in": "query",
+ "maximum": 50,
+ "minimum": 1,
+ "name": "count",
+ "type": "integer",
+ "x-example": 10
+ },
+ {
+ "description": "Two-letter country code; defaults to us",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "us"
+ },
+ {
+ "description": "Bing UI language; defaults to en-us",
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en-us"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bing.newsResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Missing or invalid query parameters",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "No results found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Rate limit exceeded",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Bing upstream request failed",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Search Bing news results",
+ "tags": [
+ "Bing"
+ ]
+ }
+ },
+ "/bing/search": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns Bing web search results for a query string, including organic results, optional context panel data, related queries, people-also-ask questions, news modules, video modules, and page-based pagination. Empty optional blocks are omitted from the JSON response. Locale defaults to country=us and lang=en-us. Returns 503 on a genuine transport failure or challenge page. Bing occasionally serves a well-formed page whose results share no significant term with the query; when every attempt hits this, the response is still returned as 200 with data.low_confidence set to true (and the X-Low-Confidence header) instead of being withheld, so callers get Bing's real answer plus an honest signal to double-check it rather than nothing. Queries that use the site: operator (for example site:gov.hu) are not supported: Bing serves a bot-verification challenge for them, so they are rejected with 400 before any request is made. Use the DuckDuckGo (/api/v1/duckduckgo/search), Brave (/api/v1/brave/search), or Yahoo (/api/v1/yahoo-search/search) search endpoints for domain-restricted searches instead.",
+ "operationId": "bing-search",
+ "parameters": [
+ {
+ "description": "Search query",
+ "in": "query",
+ "name": "q",
+ "required": true,
+ "type": "string",
+ "x-example": "openai"
+ },
+ {
+ "description": "1-based page number; defaults to 1",
+ "in": "query",
+ "minimum": 1,
+ "name": "page",
+ "type": "integer",
+ "x-example": 1
+ },
+ {
+ "description": "Results per page; defaults to 10, clamped to 1..50",
+ "in": "query",
+ "maximum": 50,
+ "minimum": 1,
+ "name": "count",
+ "type": "integer",
+ "x-example": 10
+ },
+ {
+ "description": "Two-letter country code; defaults to us",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "us"
+ },
+ {
+ "description": "Bing UI language; defaults to en-us",
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en-us"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "data.low_confidence is true when Bing's results shared no significant term with the query (see the field's description); the data is still exactly what Bing returned",
+ "schema": {
+ "$ref": "#/definitions/bing.searchResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Missing or invalid query parameters",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "No results found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Rate limit exceeded",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Bing upstream request failed (transport failure, challenge page, or every hedge attempt rejected -- see data.low_confidence for the case where Bing did answer but every attempt looked unrelated to the query)",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Search Bing web results",
+ "tags": [
+ "Bing"
+ ]
+ }
+ },
+ "/bing/suggest": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns Bing autosuggest query completions for a query prefix. Locale defaults to country=us and lang=en-us. Suggestions are fetched from public Bing suggest endpoints and trimmed to the requested count. `rich=true` adds entity cards (name, description, image) where Bing shows them.",
+ "operationId": "bing-suggest",
+ "parameters": [
+ {
+ "description": "Search query prefix",
+ "in": "query",
+ "name": "q",
+ "required": true,
+ "type": "string",
+ "x-example": "openai"
+ },
+ {
+ "description": "Suggestions to return; defaults to 10, clamped to 1..12",
+ "in": "query",
+ "maximum": 12,
+ "minimum": 1,
+ "name": "count",
+ "type": "integer",
+ "x-example": 10
+ },
+ {
+ "description": "Two-letter country code; defaults to us",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "us"
+ },
+ {
+ "description": "Bing UI language; defaults to en-us",
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en-us"
+ },
+ {
+ "description": "Add entity name, description, and image to suggestions Bing resolves to a known entity; defaults to false",
+ "in": "query",
+ "name": "rich",
+ "type": "boolean",
+ "x-example": false
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bing.suggestResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Missing or invalid query parameters",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Rate limit exceeded",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Bing upstream request failed",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Suggest Bing search queries",
+ "tags": [
+ "Bing"
+ ]
+ }
+ },
+ "/bing/videos": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns Bing video search results for a query string. Locale defaults to country=us and lang=en-us. Returns 503 when Bing serves a challenge page or unusable results.",
+ "operationId": "bing-videos",
+ "parameters": [
+ {
+ "description": "Search query",
+ "in": "query",
+ "name": "q",
+ "required": true,
+ "type": "string",
+ "x-example": "openai"
+ },
+ {
+ "description": "1-based page number; defaults to 1",
+ "in": "query",
+ "minimum": 1,
+ "name": "page",
+ "type": "integer",
+ "x-example": 1
+ },
+ {
+ "description": "Results per page; defaults to 10, clamped to 1..50",
+ "in": "query",
+ "maximum": 50,
+ "minimum": 1,
+ "name": "count",
+ "type": "integer",
+ "x-example": 10
+ },
+ {
+ "description": "Two-letter country code; defaults to us",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "us"
+ },
+ {
+ "description": "Bing UI language; defaults to en-us",
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en-us"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bing.videosResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Missing or invalid query parameters",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "No results found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Rate limit exceeded",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Bing upstream request failed",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Search Bing video results",
+ "tags": [
+ "Bing"
+ ]
+ }
+ },
+ "/birminghammail/article": {
+ "get": {
+ "description": "Returns public Birmingham Mail article metadata (including the section) and body paragraphs from a canonical article URL. Photo-gallery URLs are rejected.",
+ "operationId": "birminghammail-article",
+ "parameters": [
+ {
+ "description": "Canonical Birmingham Mail article URL",
+ "in": "query",
+ "name": "url",
+ "required": true,
+ "type": "string",
+ "x-example": "https://www.birminghammail.co.uk/news/midlands-news/birmingham-road-six-cars-towed-34668610"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.articleResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Birmingham Mail article content",
+ "tags": [
+ "Birmingham Mail"
+ ]
+ }
+ },
+ "/birminghammail/author": {
+ "get": {
+ "description": "Returns one Birmingham Mail author's public profile: name, job title, bio, email, X/Twitter handle, and one page of their recent articles.",
+ "operationId": "birminghammail-author",
+ "parameters": [
+ {
+ "description": "Author slug, e.g. stephanie-balloo",
+ "in": "query",
+ "name": "slug",
+ "type": "string",
+ "x-example": "stephanie-balloo"
+ },
+ {
+ "description": "Canonical birminghammail.co.uk/authors// URL; alternative to slug",
+ "in": "query",
+ "name": "url",
+ "type": "string",
+ "x-example": "https://www.birminghammail.co.uk/authors/stephanie-balloo/"
+ },
+ {
+ "default": 1,
+ "description": "1-based page number of the author's article list (1 to 100); overrides any pageNumber in url",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.reachAuthorResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get a Birmingham Mail author profile",
+ "tags": [
+ "Birmingham Mail"
+ ]
+ }
+ },
+ "/birminghammail/headlines": {
+ "get": {
+ "description": "Returns fresh headlines from one public Birmingham Mail section. Photo galleries are omitted because they have no readable article body.",
+ "operationId": "birminghammail-headlines",
+ "parameters": [
+ {
+ "description": "Birmingham Mail section slug",
+ "enum": [
+ "news",
+ "news/midlands-news",
+ "news/uk-news",
+ "news/world-news",
+ "news/showbiz-tv",
+ "news/cost-of-living",
+ "news/money",
+ "news/health",
+ "black-country",
+ "motoring",
+ "motoring/motoring-news",
+ "sport",
+ "sport/football",
+ "sport/football/football-news",
+ "sport/football/transfer-news",
+ "whats-on",
+ "whats-on/whats-on-news",
+ "whats-on/family-kids-news",
+ "whats-on/food-drink-news",
+ "whats-on/music-nightlife-news",
+ "whats-on/shopping",
+ "travel",
+ "special-features"
+ ],
+ "in": "query",
+ "name": "section",
+ "required": true,
+ "type": "string",
+ "x-example": "news"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.headlinesResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Birmingham Mail section headlines",
+ "tags": [
+ "Birmingham Mail"
+ ]
+ }
+ },
+ "/birminghammail/news": {
+ "get": {
+ "description": "Returns fresh Birmingham Mail top stories from the public home RSS feed. Photo galleries are omitted because they have no readable article body.",
+ "operationId": "birminghammail-news",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.newsResponseDoc"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Birmingham Mail top stories",
+ "tags": [
+ "Birmingham Mail"
+ ]
+ }
+ },
+ "/birminghammail/sections": {
+ "get": {
+ "description": "Lists the 23 Birmingham Mail sections that `birminghammail-headlines` accepts, such as `news/midlands-news`, `black-country`, `sport/football/transfer-news` and `whats-on`. Each has a `slug`, a display `name` and the feed `url`. Only sections with a recently updated feed are included (last verified 2026-09-25), and each returns up to about 25 entries.",
+ "operationId": "birminghammail-sections",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.sectionsResponseDoc"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Birmingham Mail sections",
+ "tags": [
+ "Birmingham Mail"
+ ]
+ }
+ },
+ "/bleacherreport/article": {
+ "get": {
+ "description": "Returns public Bleacher Report article metadata and body paragraphs from a canonical article URL. Bleacher Report serves full articles to anonymous readers, so no article is paywalled.",
+ "operationId": "bleacherreport-article",
+ "parameters": [
+ {
+ "description": "Canonical Bleacher Report article URL",
+ "in": "query",
+ "name": "url",
+ "required": true,
+ "type": "string",
+ "x-example": "https://bleacherreport.com/articles/25502441-vladimir-guerrero-jr-drops-viral-quote-2026-slump-after-signing-500m-blue-jays-contract"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.articleResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Bleacher Report article content",
+ "tags": [
+ "Bleacher Report"
+ ]
+ }
+ },
+ "/bleacherreport/author": {
+ "get": {
+ "description": "Returns a Bleacher Report writer's profile, identified by `slug` (such as `scott-polacek`) or a canonical `bleacherreport.com/writers/` `url`; exactly one is required. The response has name, role, biography, photo and about 20 latest stories with title, URL and thumbnail. Publication times are not shown on the profile, so `published_at` is omitted; an unknown slug returns 404.",
+ "operationId": "bleacherreport-author",
+ "parameters": [
+ {
+ "description": "Writer slug, e.g. scott-polacek",
+ "in": "query",
+ "name": "slug",
+ "type": "string",
+ "x-example": "scott-polacek"
+ },
+ {
+ "description": "Canonical bleacherreport.com/writers/ URL; alternative to slug",
+ "in": "query",
+ "name": "url",
+ "type": "string",
+ "x-example": "https://bleacherreport.com/writers/scott-polacek"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.bleacherreportAuthorResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get a Bleacher Report writer profile",
+ "tags": [
+ "Bleacher Report"
+ ]
+ }
+ },
+ "/bleacherreport/headlines": {
+ "get": {
+ "description": "Returns the stories on one Bleacher Report league or sub-hub page, newest first. `section` is required and takes a slug such as `nfl`, `nba-draft`, `formula-1` or `recruiting`. Each has a headline, article URL and publication time, plus thumbnail and blurb when present. Busy leagues return 100 or more stories, quiet ones only a few.",
+ "operationId": "bleacherreport-headlines",
+ "parameters": [
+ {
+ "description": "Bleacher Report section slug",
+ "enum": [
+ "nba",
+ "nfl",
+ "mlb",
+ "nhl",
+ "wnba",
+ "college-football",
+ "college-basketball",
+ "womens-college-basketball",
+ "world-football",
+ "tennis",
+ "golf",
+ "nascar",
+ "formula-1",
+ "mma",
+ "boxing",
+ "wwe",
+ "all-elite-wrestling",
+ "olympics",
+ "nba-rumors",
+ "nba-draft",
+ "nfl-rumors",
+ "nfl-draft",
+ "fantasy-football",
+ "mlb-rumors",
+ "mlb-prospects",
+ "nhl-rumors",
+ "nhl-draft",
+ "recruiting",
+ "college-basketball-recruiting",
+ "bracketology"
+ ],
+ "in": "query",
+ "name": "section",
+ "required": true,
+ "type": "string",
+ "x-example": "nba"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.headlinesResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Bleacher Report section headlines",
+ "tags": [
+ "Bleacher Report"
+ ]
+ }
+ },
+ "/bleacherreport/news": {
+ "get": {
+ "description": "Returns around 180 Bleacher Report sports stories from roughly the last day or two, newest first, with no input needed. Each has a title, canonical article URL and publication time. Live blogs are excluded because they are not article pages.",
+ "operationId": "bleacherreport-news",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.newsResponseDoc"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Bleacher Report top stories",
+ "tags": [
+ "Bleacher Report"
+ ]
+ }
+ },
+ "/bleacherreport/sections": {
+ "get": {
+ "description": "Lists the 30 Bleacher Report sections that `bleacherreport-headlines` accepts: 18 league and sport hubs such as `nfl`, `tennis` and `olympics`, plus 12 sub-hubs such as `nba-draft` and `bracketology`. Each has a `slug`, display `name` and landing-page `url`. Team pages, scores, standings and MotoGP are not included.",
+ "operationId": "bleacherreport-sections",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.sectionsResponseDoc"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Bleacher Report sections",
+ "tags": [
+ "Bleacher Report"
+ ]
+ }
+ },
+ "/bloomberg/article": {
+ "get": {
+ "description": "Returns a public Bloomberg article by `url`: title, description, publication and update times, section, categories, authors, image, `is_premium` and the body `paragraphs` in order. Subscriber-only articles that Bloomberg shows as a truncated preview return `403`, an article with no body returns `503`, and non-article or non-Bloomberg URLs return `400`.",
+ "operationId": "bloomberg-article",
+ "parameters": [
+ {
+ "description": "Canonical Bloomberg article URL",
+ "in": "query",
+ "name": "url",
+ "required": true,
+ "type": "string",
+ "x-example": "https://www.bloomberg.com/news/articles/2026-09-20/example-slug"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bloomberg.articleResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "403": {
+ "description": "Forbidden",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get a Bloomberg article's content",
+ "tags": [
+ "Bloomberg"
+ ]
+ }
+ },
+ "/bloomberg/author": {
+ "get": {
+ "description": "Returns a Bloomberg author's profile from `url`, a canonical `https://www.bloomberg.com/authors//` address, where `` is an opaque token Bloomberg assigns and cannot be guessed. The response has `name`, `title`, `bio` and recent content with title, URL, `type`, `section`, full `byline` and publication and update times.",
+ "operationId": "bloomberg-author",
+ "parameters": [
+ {
+ "description": "Canonical Bloomberg author URL",
+ "in": "query",
+ "name": "url",
+ "required": true,
+ "type": "string",
+ "x-example": "https://www.bloomberg.com/authors/AXSztklFffk/bernard-goyder"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bloomberg.authorResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get a Bloomberg author's profile",
+ "tags": [
+ "Bloomberg"
+ ]
+ }
+ },
+ "/bloomberg/categories": {
+ "get": {
+ "description": "Lists Bloomberg's public editorial navigation categories discovered from its embedded navigation state. Each returned section slug is accepted by /bloomberg/headlines; product, account, newsletter, and sponsored-content links are excluded.",
+ "operationId": "bloomberg-categories",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bloomberg.categoriesResponseDoc"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "List Bloomberg editorial categories",
+ "tags": [
+ "Bloomberg"
+ ]
+ }
+ },
+ "/bloomberg/headlines": {
+ "get": {
+ "description": "Returns current Bloomberg story cards for one editorial section. `section` is required and takes a slug from the Bloomberg categories list, such as `markets`, `economics` or `politics`. Each item has a title and canonical URL, and may also carry a description, image and publication time.",
+ "operationId": "bloomberg-headlines",
+ "parameters": [
+ {
+ "description": "Section slug from /bloomberg/categories",
+ "in": "query",
+ "name": "section",
+ "required": true,
+ "type": "string",
+ "x-example": "markets"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bloomberg.headlinesResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get the latest stories in a Bloomberg section",
+ "tags": [
+ "Bloomberg"
+ ]
+ }
+ },
+ "/bloomberg/news": {
+ "get": {
+ "description": "Returns Bloomberg's current news feed: the newest stories across all sections, each with its title, canonical URL, and publication time.",
+ "operationId": "bloomberg-news",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bloomberg.newsResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get the latest Bloomberg stories",
+ "tags": [
+ "Bloomberg"
+ ]
+ }
+ },
+ "/bloomberg/news-sitemaps": {
+ "get": {
+ "description": "Lists Bloomberg's monthly news sitemaps, each with its `url` and `last_modified` date. Use them to find historical news beyond the rolling latest feed at `/bloomberg/news`. Takes no parameters.",
+ "operationId": "bloomberg-news-sitemaps",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bloomberg.newsSitemapsResponseDoc"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "List Bloomberg monthly news sitemaps",
+ "tags": [
+ "Bloomberg"
+ ]
+ }
+ },
+ "/bluesky/author-feed": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns a page of a Bluesky account's posts, newest first, including text, engagement counts, and any attached images/link card/quoted post.",
+ "operationId": "bluesky-author-feed",
+ "parameters": [
+ {
+ "description": "A handle (e.g. bsky.app) or DID",
+ "in": "query",
+ "name": "actor",
+ "required": true,
+ "type": "string",
+ "x-example": "bsky.app"
+ },
+ {
+ "description": "Page size, 1-100",
+ "in": "query",
+ "name": "limit",
+ "type": "integer",
+ "x-example": 25
+ },
+ {
+ "description": "Pagination cursor from a previous response's cursor field",
+ "in": "query",
+ "name": "cursor",
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bluesky.authorFeedResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "A Bluesky account's posts",
+ "tags": [
+ "Bluesky"
+ ]
+ }
+ },
+ "/bluesky/followers": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns a page of a Bluesky account's followers. `actor` is required and is a handle such as `bsky.app` or a DID. `limit` is 1 to 100 (default 25); pass the returned `cursor` back to continue. Each follower has `did`, `handle`, `display_name`, `description`, `avatar_url` and `created_at`, and `subject` describes the account itself.",
+ "operationId": "bluesky-followers",
+ "parameters": [
+ {
+ "description": "A handle (e.g. bsky.app) or DID",
+ "in": "query",
+ "name": "actor",
+ "required": true,
+ "type": "string",
+ "x-example": "bsky.app"
+ },
+ {
+ "description": "Page size, 1-100",
+ "in": "query",
+ "name": "limit",
+ "type": "integer",
+ "x-example": 25
+ },
+ {
+ "description": "Pagination cursor from a previous response's cursor field",
+ "in": "query",
+ "name": "cursor",
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bluesky.followersResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "A Bluesky account's followers",
+ "tags": [
+ "Bluesky"
+ ]
+ }
+ },
+ "/bluesky/follows": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns a page of the accounts a Bluesky account follows.",
+ "operationId": "bluesky-follows",
+ "parameters": [
+ {
+ "description": "A handle (e.g. bsky.app) or DID",
+ "in": "query",
+ "name": "actor",
+ "required": true,
+ "type": "string",
+ "x-example": "bsky.app"
+ },
+ {
+ "description": "Page size, 1-100",
+ "in": "query",
+ "name": "limit",
+ "type": "integer",
+ "x-example": 25
+ },
+ {
+ "description": "Pagination cursor from a previous response's cursor field",
+ "in": "query",
+ "name": "cursor",
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bluesky.followsResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Accounts a Bluesky account follows",
+ "tags": [
+ "Bluesky"
+ ]
+ }
+ },
+ "/bluesky/post-likes": {
+ "get": {
+ "description": "Lists the accounts that liked a Bluesky post, identified by its `at://` post `uri`, which is required. `limit` defaults to 25 and is capped at 100; pass the returned `cursor` back for the next page. Each actor has `did`, `handle`, `display_name`, `description`, `avatar_url` and `created_at`.",
+ "operationId": "bluesky-post-likes",
+ "parameters": [
+ {
+ "description": "The post's at:// URI",
+ "in": "query",
+ "name": "uri",
+ "required": true,
+ "type": "string",
+ "x-example": "at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.post/3l6oveex3ii2l"
+ },
+ {
+ "default": 25,
+ "description": "Page size, 1-100",
+ "in": "query",
+ "name": "limit",
+ "type": "integer"
+ },
+ {
+ "description": "Pagination cursor",
+ "in": "query",
+ "name": "cursor",
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bluesky.postActorsResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "List actors who liked a Bluesky post",
+ "tags": [
+ "Bluesky"
+ ]
+ }
+ },
+ "/bluesky/post-quotes": {
+ "get": {
+ "description": "Lists the Bluesky posts that quote a given post, identified by its `at://` post `uri`, which is required. `limit` defaults to 25 and is capped at 100; pass the returned `cursor` back for the next page. Each post has its `text`, `author`, `created_at`, `langs`, like, quote, reply and repost counts, `images` and `external` link card.",
+ "operationId": "bluesky-post-quotes",
+ "parameters": [
+ {
+ "description": "The quoted post's at:// URI",
+ "in": "query",
+ "name": "uri",
+ "required": true,
+ "type": "string",
+ "x-example": "at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.post/3l6oveex3ii2l"
+ },
+ {
+ "default": 25,
+ "description": "Page size, 1-100",
+ "in": "query",
+ "name": "limit",
+ "type": "integer"
+ },
+ {
+ "description": "Pagination cursor",
+ "in": "query",
+ "name": "cursor",
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bluesky.postQuotesResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "List quotes of a Bluesky post",
+ "tags": [
+ "Bluesky"
+ ]
+ }
+ },
+ "/bluesky/post-reposted-by": {
+ "get": {
+ "description": "Lists the accounts that reposted a Bluesky post, identified by its `at://` post `uri`, which is required. `limit` defaults to 25 and is capped at 100; pass the returned `cursor` back for the next page. Each actor has `did`, `handle`, `display_name`, `description`, `avatar_url` and `created_at`.",
+ "operationId": "bluesky-post-reposted-by",
+ "parameters": [
+ {
+ "description": "The post's at:// URI",
+ "in": "query",
+ "name": "uri",
+ "required": true,
+ "type": "string",
+ "x-example": "at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.post/3l6oveex3ii2l"
+ },
+ {
+ "default": 25,
+ "description": "Page size, 1-100",
+ "in": "query",
+ "name": "limit",
+ "type": "integer"
+ },
+ {
+ "description": "Pagination cursor",
+ "in": "query",
+ "name": "cursor",
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bluesky.postActorsResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "List actors who reposted a Bluesky post",
+ "tags": [
+ "Bluesky"
+ ]
+ }
+ },
+ "/bluesky/post-thread": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns a Bluesky post along with its nested replies (and, when the post is itself a reply, its parent chain), up to `depth` levels deep.",
+ "operationId": "bluesky-post-thread",
+ "parameters": [
+ {
+ "description": "The post's at:// URI, e.g. from an author-feed or search-actors result's post uri field",
+ "in": "query",
+ "name": "uri",
+ "required": true,
+ "type": "string",
+ "x-example": "at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.post/3l6oveex3ii2l"
+ },
+ {
+ "description": "Reply-tree depth, 1-10",
+ "in": "query",
+ "name": "depth",
+ "type": "integer",
+ "x-example": 6
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bluesky.postThreadResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "A Bluesky post and its reply tree",
+ "tags": [
+ "Bluesky"
+ ]
+ }
+ },
+ "/bluesky/posts": {
+ "get": {
+ "description": "Returns public Bluesky posts for 1-25 at:// post URIs. Missing, deleted, or blocked posts are omitted when the public AppView omits them.",
+ "operationId": "bluesky-posts",
+ "parameters": [
+ {
+ "collectionFormat": "csv",
+ "description": "One or more at:// post URIs (1-25); repeat the parameter for multiple URIs",
+ "in": "query",
+ "items": {
+ "type": "string"
+ },
+ "name": "uris",
+ "required": true,
+ "type": "array",
+ "x-example": "at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.post/3l6oveex3ii2l"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bluesky.postsResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Look up Bluesky posts in a batch",
+ "tags": [
+ "Bluesky"
+ ]
+ }
+ },
+ "/bluesky/profile": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns a Bluesky account's public profile: display name, description, avatar/banner images, and follower/follows/posts counts.",
+ "operationId": "bluesky-profile",
+ "parameters": [
+ {
+ "description": "A handle (e.g. bsky.app) or DID (e.g. did:plc:z72i7hdynmk6r22z27h6tvur)",
+ "in": "query",
+ "name": "actor",
+ "required": true,
+ "type": "string",
+ "x-example": "bsky.app"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bluesky.profileResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "A Bluesky account's full public profile",
+ "tags": [
+ "Bluesky"
+ ]
+ }
+ },
+ "/bluesky/search-actors": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns Bluesky accounts matching a query against display name, handle, and profile description.",
+ "operationId": "bluesky-search-actors",
+ "parameters": [
+ {
+ "description": "Search text",
+ "in": "query",
+ "name": "q",
+ "required": true,
+ "type": "string",
+ "x-example": "news"
+ },
+ {
+ "description": "Page size, 1-100",
+ "in": "query",
+ "name": "limit",
+ "type": "integer",
+ "x-example": 25
+ },
+ {
+ "description": "Pagination cursor from a previous response's cursor field",
+ "in": "query",
+ "name": "cursor",
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bluesky.searchActorsResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Search Bluesky accounts",
+ "tags": [
+ "Bluesky"
+ ]
+ }
+ },
+ "/bluesky/trending-topics": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns Bluesky's current trending topics and suggested feeds, each with a link to its feed. This surface is less stable than the rest of this family -- Bluesky may change its shape without notice.",
+ "operationId": "bluesky-trending-topics",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bluesky.trendingTopicsResponseDoc"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Bluesky's current trending topics",
+ "tags": [
+ "Bluesky"
+ ]
+ }
+ },
+ "/bo3/economy-baseline": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the site-wide CS2 round win rate for every pairing of buy levels (rounds, wins, win rate), the baseline to compare a team's `economy` view of bo3-team-stats with. Levels: -1 full eco, 0 semi-eco, 1 half buy, 2 full buy; the opposing level is null when it is unknown.",
+ "operationId": "bo3-economy-baseline",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/app.Response"
+ },
+ {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/bo3.EconomyBaselineResponse"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "BO3.gg CS2 economy baseline",
+ "tags": [
+ "BO3"
+ ]
+ }
+ },
+ "/bo3/forum": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns BO3.gg forum threads for one game with paging: a `category` id from bo3-forum-categories and `sort` (`activity` with pinned threads first, `newest`, `comments`, `rating`), up to 100 per page. Each thread has slug, title, category, comment count, rating, pinned flag, created and last-activity times and the author's nickname; post bodies, reactions and replies are not returned.",
+ "operationId": "bo3-forum",
+ "parameters": [
+ {
+ "description": "Game; one of cs2, valorant, lol, dota2, r6siege, mlbb; defaults to cs2",
+ "enum": [
+ "cs2",
+ "valorant",
+ "lol",
+ "dota2",
+ "r6siege",
+ "mlbb"
+ ],
+ "in": "query",
+ "name": "game",
+ "type": "string"
+ },
+ {
+ "description": "Forum category id from bo3-forum-categories, for example 4",
+ "in": "query",
+ "minimum": 1,
+ "name": "category",
+ "type": "integer"
+ },
+ {
+ "description": "Order; one of activity, newest, comments, rating; defaults to activity",
+ "enum": [
+ "activity",
+ "newest",
+ "comments",
+ "rating"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Zero-based offset; defaults to 0",
+ "in": "query",
+ "minimum": 0,
+ "name": "offset",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, 1 to 100; defaults to 20",
+ "in": "query",
+ "maximum": 100,
+ "minimum": 1,
+ "name": "limit",
+ "type": "integer"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/app.Response"
+ },
+ {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/bo3.ForumFeedResponse"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "BO3.gg forum threads with category and sort filters",
+ "tags": [
+ "BO3"
+ ]
+ }
+ },
+ "/bo3/forum-categories": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the BO3.gg forum categories of one game (id, slug and title, ordered by id; CS2 has CS2, IDEAS AND BUGS and OFF TOP) that the `category` filter of bo3-forum accepts.",
+ "operationId": "bo3-forum-categories",
+ "parameters": [
+ {
+ "description": "Game; one of cs2, valorant, lol, dota2, r6siege, mlbb; defaults to cs2",
+ "enum": [
+ "cs2",
+ "valorant",
+ "lol",
+ "dota2",
+ "r6siege",
+ "mlbb"
+ ],
+ "in": "query",
+ "name": "game",
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/app.Response"
+ },
+ {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/bo3.ForumCategoriesResponse"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "BO3.gg forum categories",
+ "tags": [
+ "BO3"
+ ]
+ }
+ },
+ "/bo3/match": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns one BO3.gg match by slug: teams with scores and winner, status, best-of, tier, start and end time, tournament, stage and round, the maps played with scores, the site's AI prediction, live and recorded streams and the key-fact insights for each team. The slug comes from bo3-match-history.",
+ "operationId": "bo3-match",
+ "parameters": [
+ {
+ "description": "Match slug from bo3-match-history, for example vitality-vs-natus-vincere-27-10-2026",
+ "in": "query",
+ "name": "slug",
+ "required": true,
+ "type": "string",
+ "x-example": "vitality-vs-natus-vincere-27-10-2026"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/app.Response"
+ },
+ {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/bo3.MatchInfo"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "BO3.gg match detail",
+ "tags": [
+ "BO3"
+ ]
+ }
+ },
+ "/bo3/match-games": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the maps of one BO3.gg match with round-by-round results: for each map the number, map name, state, start, duration in seconds, final score, per-half side results (CT or T score, overtime) and every round with its number, duration, end reason, winning side and running score. A match with no maps yet returns an empty list.",
+ "operationId": "bo3-match-games",
+ "parameters": [
+ {
+ "description": "Numeric BO3 match id (the id of a bo3-match-history row)",
+ "in": "query",
+ "minimum": 1,
+ "name": "match_id",
+ "required": true,
+ "type": "integer",
+ "x-example": 132243
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/app.Response"
+ },
+ {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/bo3.MatchGamesResponse"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "BO3.gg esports match maps with round-by-round results",
+ "tags": [
+ "BO3"
+ ]
+ }
+ },
+ "/bo3/match-history": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns BO3.gg's esports match history for one game, newest first by default, with paging and filters: `status` (`finished`, `defwin`, `upcoming`, `current`, `canceled`, `postponed`; the default is finished and default-win matches together), `tier` (`s` to `d`), an inclusive `from`/`to` day range (UTC), `sort` and `offset`/`limit` (up to 100 per page). Each match has teams, scores, winner, best-of, tournament, maps and the site's AI prediction; `total` and `has_more` page through the full history.",
+ "operationId": "bo3-match-history",
+ "parameters": [
+ {
+ "description": "Game; one of cs2, valorant, lol, dota2, r6siege, mlbb; defaults to cs2",
+ "enum": [
+ "cs2",
+ "valorant",
+ "lol",
+ "dota2",
+ "r6siege",
+ "mlbb"
+ ],
+ "in": "query",
+ "name": "game",
+ "type": "string"
+ },
+ {
+ "description": "Match status; one of finished, defwin, upcoming, current, canceled, postponed; defaults to finished and defwin together",
+ "enum": [
+ "finished",
+ "defwin",
+ "upcoming",
+ "current",
+ "canceled",
+ "postponed"
+ ],
+ "in": "query",
+ "name": "status",
+ "type": "string"
+ },
+ {
+ "description": "Tournament tier; one of s, a, b, c, d",
+ "enum": [
+ "s",
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "in": "query",
+ "name": "tier",
+ "type": "string"
+ },
+ {
+ "description": "First start day, YYYY-MM-DD (UTC, inclusive)",
+ "in": "query",
+ "name": "from",
+ "type": "string",
+ "x-example": "2026-10-01"
+ },
+ {
+ "description": "Last start day, YYYY-MM-DD (UTC, inclusive)",
+ "in": "query",
+ "name": "to",
+ "type": "string",
+ "x-example": "2026-10-27"
+ },
+ {
+ "description": "Order by start time; one of newest, oldest; defaults to newest",
+ "enum": [
+ "newest",
+ "oldest"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Zero-based offset; defaults to 0",
+ "in": "query",
+ "minimum": 0,
+ "name": "offset",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, 1 to 100; defaults to 20",
+ "in": "query",
+ "maximum": 100,
+ "minimum": 1,
+ "name": "limit",
+ "type": "integer"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/app.Response"
+ },
+ {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/bo3.MatchHistoryResponse"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "BO3.gg esports match history",
+ "tags": [
+ "BO3"
+ ]
+ }
+ },
+ "/bo3/match-players": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns every player's statistics for one BO3.gg match, ordered by team then nickname: kills, deaths, assists, headshots, first kills and deaths, trades, KAST, rating, ADR, damage, utility and money figures as a numeric `stats` map, plus the multikill counts (2K to 5K), team and opponent. The match slug comes from bo3-match-history.",
+ "operationId": "bo3-match-players",
+ "parameters": [
+ {
+ "description": "Match slug from bo3-match-history, for example vitality-vs-natus-vincere-27-10-2026",
+ "in": "query",
+ "name": "slug",
+ "required": true,
+ "type": "string",
+ "x-example": "vitality-vs-natus-vincere-27-10-2026"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/app.Response"
+ },
+ {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/bo3.MatchPlayersResponse"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "BO3.gg per-player match statistics",
+ "tags": [
+ "BO3"
+ ]
+ }
+ },
+ "/bo3/news-categories": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the BO3.gg editorial categories (id and title, sorted by title: Analytics, Article, Blog, Events, Gaming, Guides, Highlights, Interviews, News, Predictions, Results, Streams, Tips, Transfers, Wiki) accepted by the `category` filter of bo3-news-feed.",
+ "operationId": "bo3-news-categories",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/app.Response"
+ },
+ {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/bo3.NewsCategoriesResponse"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "BO3.gg news categories",
+ "tags": [
+ "BO3"
+ ]
+ }
+ },
+ "/bo3/news-feed": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns BO3.gg's editorial feed for one game with paging and filters: `section` (`news`, `article`, `wiki`, `predictions`, `reviews`), a `locale` (16 languages, `en` by default), a `category` id from bo3-news-categories and `sort` (`newest`, `oldest`), up to 100 per page. Each item has slug, title, description, category, publish time, author, tags, image and canonical URL; `total` and `has_more` page through the archive (over 100,000 items across games).",
+ "operationId": "bo3-news-feed",
+ "parameters": [
+ {
+ "description": "Game; one of cs2, valorant, lol, dota2, r6siege, mlbb, games (general gaming news); defaults to cs2",
+ "enum": [
+ "cs2",
+ "valorant",
+ "lol",
+ "dota2",
+ "r6siege",
+ "mlbb",
+ "games"
+ ],
+ "in": "query",
+ "name": "game",
+ "type": "string"
+ },
+ {
+ "description": "Editorial section; one of news, article, wiki, predictions, reviews (game reviews, game=games only); defaults to news",
+ "enum": [
+ "news",
+ "article",
+ "wiki",
+ "predictions",
+ "reviews"
+ ],
+ "in": "query",
+ "name": "section",
+ "type": "string"
+ },
+ {
+ "description": "Tag slug such as team-liquid or pgl-masters-bucharest-2026 (team, player, tournament or topic tag); an unknown tag returns an empty list",
+ "in": "query",
+ "name": "tag",
+ "type": "string",
+ "x-example": "team-liquid"
+ },
+ {
+ "description": "Language of the items; one of en, ru, pt, es, de, fr, tr, pl, id, vi, ja, ko, ua, ms, tl, da; defaults to en",
+ "enum": [
+ "en",
+ "ru",
+ "pt",
+ "es",
+ "de",
+ "fr",
+ "tr",
+ "pl",
+ "id",
+ "vi",
+ "ja",
+ "ko",
+ "ua",
+ "ms",
+ "tl",
+ "da"
+ ],
+ "in": "query",
+ "name": "locale",
+ "type": "string"
+ },
+ {
+ "description": "Category id from bo3-news-categories, for example 38 (Predictions)",
+ "in": "query",
+ "minimum": 1,
+ "name": "category",
+ "type": "integer"
+ },
+ {
+ "description": "Order by publish time; one of newest, oldest; defaults to newest",
+ "enum": [
+ "newest",
+ "oldest"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Zero-based offset; defaults to 0",
+ "in": "query",
+ "minimum": 0,
+ "name": "offset",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, 1 to 100; defaults to 20",
+ "in": "query",
+ "maximum": 100,
+ "minimum": 1,
+ "name": "limit",
+ "type": "integer"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/app.Response"
+ },
+ {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/bo3.NewsFeedResponse"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "BO3.gg news, articles, wiki and predictions feed",
+ "tags": [
+ "BO3"
+ ]
+ }
+ },
+ "/bo3/player": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns a BO3.gg player profile by slug: nickname, name, game, birthday, role, coach flag, country, current team and join date, six-month average rating, career prize money, social links, former names and tournament achievements newest first. Use `game` to insist on one game; a player of another game is not found.",
+ "operationId": "bo3-player",
+ "parameters": [
+ {
+ "description": "Player slug, for example donk",
+ "in": "query",
+ "name": "slug",
+ "required": true,
+ "type": "string",
+ "x-example": "donk"
+ },
+ {
+ "description": "Game the player must belong to; one of cs2, valorant, lol, dota2, r6siege, mlbb",
+ "enum": [
+ "cs2",
+ "valorant",
+ "lol",
+ "dota2",
+ "r6siege",
+ "mlbb"
+ ],
+ "in": "query",
+ "name": "game",
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/app.Response"
+ },
+ {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/bo3.PlayerInfo"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "BO3.gg player profile",
+ "tags": [
+ "BO3"
+ ]
+ }
+ },
+ "/bo3/player-leaderboard": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns BO3.gg's CS2 player leaderboard over a day range (default: the last six months): players ranked by `sort` (`rating`, `kd`, `kills`, `damage`, `assists`, `headshots`, `games`, `rounds`) in `order` (`desc`, `asc`), optionally limited to games at one tournament `tier` (`s` to `d`), with paging. Each player has team, games, rounds and every per-game average as a `stats` map; players below the API's minimum-games threshold for the window are excluded (`min_games_count`). CS2 only.",
+ "operationId": "bo3-player-leaderboard",
+ "parameters": [
+ {
+ "description": "First day, YYYY-MM-DD (UTC); defaults to six months before to",
+ "in": "query",
+ "name": "from",
+ "type": "string",
+ "x-example": "2026-04-28"
+ },
+ {
+ "description": "Last day, YYYY-MM-DD (UTC); defaults to today",
+ "in": "query",
+ "name": "to",
+ "type": "string",
+ "x-example": "2026-10-28"
+ },
+ {
+ "description": "Tournament tier of the games counted; one of s, a, b, c, d",
+ "enum": [
+ "s",
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "in": "query",
+ "name": "tier",
+ "type": "string"
+ },
+ {
+ "description": "Stat to rank by; one of rating, kd, kills, damage, assists, headshots, games, rounds; defaults to rating",
+ "enum": [
+ "rating",
+ "kd",
+ "kills",
+ "damage",
+ "assists",
+ "headshots",
+ "games",
+ "rounds"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Direction; one of desc, asc; defaults to desc",
+ "enum": [
+ "desc",
+ "asc"
+ ],
+ "in": "query",
+ "name": "order",
+ "type": "string"
+ },
+ {
+ "description": "Zero-based offset; defaults to 0",
+ "in": "query",
+ "minimum": 0,
+ "name": "offset",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, 1 to 100; defaults to 20",
+ "in": "query",
+ "maximum": 100,
+ "minimum": 1,
+ "name": "limit",
+ "type": "integer"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/app.Response"
+ },
+ {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/bo3.LeaderboardResponse"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "BO3.gg CS2 player leaderboard",
+ "tags": [
+ "BO3"
+ ]
+ }
+ },
+ "/bo3/player-recent-matches": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns a CS2 player's newest matches (up to 30) with the opponent, the tournament, the rounds played, each map in order with whether the player's team won it, and the player's own line for the match (rating, kills, deaths, assists, damage, first kills and deaths, trade kills and deaths, headshots, hits, shots, accuracy, money saved and equipment value). Filter by `opponent` or `tournament`. Date windows are not supported upstream; the list does not page past 30.",
+ "operationId": "bo3-player-recent-matches",
+ "parameters": [
+ {
+ "description": "Player slug, for example donk",
+ "in": "query",
+ "name": "slug",
+ "required": true,
+ "type": "string",
+ "x-example": "donk"
+ },
+ {
+ "description": "Opposing team slug, for example mouz-cs2",
+ "in": "query",
+ "name": "opponent",
+ "type": "string"
+ },
+ {
+ "description": "Tournament slug from bo3-tournaments",
+ "in": "query",
+ "name": "tournament",
+ "type": "string"
+ },
+ {
+ "default": 10,
+ "description": "Newest matches to return, 1 to 30, default 10",
+ "in": "query",
+ "maximum": 30,
+ "minimum": 1,
+ "name": "limit",
+ "type": "integer"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/app.Response"
+ },
+ {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/bo3.RecentMatchesResponse"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "BO3.gg player recent matches",
+ "tags": [
+ "BO3"
+ ]
+ }
+ },
+ "/bo3/player-stats": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns one statistics view of a BO3.gg player over a day range (default: the last six months): `general` (match, game, round, kill, death, assist and damage totals), `maps` (rating, kills and damage per map) or `accuracy` (hits, damage and kills by hit group). General views fill `stats`; the other views fill `rows`.",
+ "operationId": "bo3-player-stats",
+ "parameters": [
+ {
+ "description": "Player slug, for example donk",
+ "in": "query",
+ "name": "slug",
+ "required": true,
+ "type": "string",
+ "x-example": "donk"
+ },
+ {
+ "description": "Statistics view; one of general, maps, accuracy; defaults to general",
+ "enum": [
+ "general",
+ "maps",
+ "accuracy"
+ ],
+ "in": "query",
+ "name": "kind",
+ "type": "string"
+ },
+ {
+ "description": "First day, YYYY-MM-DD; defaults to six months before to",
+ "in": "query",
+ "name": "from",
+ "type": "string",
+ "x-example": "2026-04-28"
+ },
+ {
+ "description": "Last day, YYYY-MM-DD; defaults to today (UTC)",
+ "in": "query",
+ "name": "to",
+ "type": "string",
+ "x-example": "2026-10-28"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/app.Response"
+ },
+ {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/bo3.StatsResponse"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "BO3.gg player statistics",
+ "tags": [
+ "BO3"
+ ]
+ }
+ },
+ "/bo3/records": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns BO3.gg's CS2 records (standout single-game and single-round performances such as best shots accuracy, clutches, multikills, damage, win streaks) with paging. Scope them to one `match`, `tournament`, `team` or `player` slug, filter by `record_type` (for example `game_player_headshots`), restrict the game day range with `from`/`to`, and order `newest` or `oldest`. Unscoped requests cover the last six months; each record has its value, unit, side, map, round, player, team and opponents.",
+ "operationId": "bo3-records",
+ "parameters": [
+ {
+ "description": "First day, YYYY-MM-DD (UTC); unscoped default is six months before to",
+ "in": "query",
+ "name": "from",
+ "type": "string",
+ "x-example": "2026-04-28"
+ },
+ {
+ "description": "Last day, YYYY-MM-DD (UTC); unscoped default is today",
+ "in": "query",
+ "name": "to",
+ "type": "string",
+ "x-example": "2026-10-28"
+ },
+ {
+ "description": "Record type such as game_player_headshots or game_round_player_clutch; the types present are listed in the response",
+ "in": "query",
+ "name": "record_type",
+ "type": "string"
+ },
+ {
+ "description": "Match slug to scope the records to one match",
+ "in": "query",
+ "name": "match",
+ "type": "string",
+ "x-example": "vitality-vs-natus-vincere-27-10-2026"
+ },
+ {
+ "description": "Tournament slug to scope the records to one tournament",
+ "in": "query",
+ "name": "tournament",
+ "type": "string",
+ "x-example": "pgl-masters-bucharest-2026"
+ },
+ {
+ "description": "Team slug to scope the records to one team",
+ "in": "query",
+ "name": "team",
+ "type": "string",
+ "x-example": "vitality"
+ },
+ {
+ "description": "Player slug to scope the records to one player",
+ "in": "query",
+ "name": "player",
+ "type": "string",
+ "x-example": "donk"
+ },
+ {
+ "description": "Order by game time; one of newest, oldest; defaults to newest",
+ "enum": [
+ "newest",
+ "oldest"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Zero-based offset; defaults to 0",
+ "in": "query",
+ "minimum": 0,
+ "name": "offset",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, 1 to 100; defaults to 20",
+ "in": "query",
+ "maximum": 100,
+ "minimum": 1,
+ "name": "limit",
+ "type": "integer"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/app.Response"
+ },
+ {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/bo3.RecordsFeedResponse"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "BO3.gg CS2 records with scope and type filters",
+ "tags": [
+ "BO3"
+ ]
+ }
+ },
+ "/bo3/team": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns a BO3.gg team profile by slug: name, acronym, game, world rank and rank change, country and region, founding date, six-month earnings, logo, social links, former names, the current roster (nickname, name, birthday, six-month rating) and the team's tournament achievements, newest first. Use `game` to insist on one game; a team of another game is not found.",
+ "operationId": "bo3-team",
+ "parameters": [
+ {
+ "description": "Team slug, for example vitality",
+ "in": "query",
+ "name": "slug",
+ "required": true,
+ "type": "string",
+ "x-example": "vitality"
+ },
+ {
+ "description": "Game the team must belong to; one of cs2, valorant, lol, dota2, r6siege, mlbb",
+ "enum": [
+ "cs2",
+ "valorant",
+ "lol",
+ "dota2",
+ "r6siege",
+ "mlbb"
+ ],
+ "in": "query",
+ "name": "game",
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/app.Response"
+ },
+ {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/bo3.TeamInfo"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "BO3.gg team profile",
+ "tags": [
+ "BO3"
+ ]
+ }
+ },
+ "/bo3/team-prize-money": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns BO3.gg's teams ranked by the prize money they won in tournaments that ended inside a day range (default: the last six months), for one game with paging up to 100 per page. Each team has its prize money in USD, tournament wins, country and region and its current roster with each player's career prize money and six-month rating. `total` and `has_more` page through all teams that earned money in the window.",
+ "operationId": "bo3-team-prize-money",
+ "parameters": [
+ {
+ "description": "Game; one of cs2, valorant, lol, dota2, r6siege, mlbb; defaults to cs2",
+ "enum": [
+ "cs2",
+ "valorant",
+ "lol",
+ "dota2",
+ "r6siege",
+ "mlbb"
+ ],
+ "in": "query",
+ "name": "game",
+ "type": "string"
+ },
+ {
+ "description": "First day, YYYY-MM-DD (UTC); defaults to six months before to",
+ "in": "query",
+ "name": "from",
+ "type": "string",
+ "x-example": "2026-04-28"
+ },
+ {
+ "description": "Last day, YYYY-MM-DD (UTC); defaults to today",
+ "in": "query",
+ "name": "to",
+ "type": "string",
+ "x-example": "2026-10-28"
+ },
+ {
+ "description": "Zero-based offset; defaults to 0",
+ "in": "query",
+ "minimum": 0,
+ "name": "offset",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, 1 to 100; defaults to 20",
+ "in": "query",
+ "maximum": 100,
+ "minimum": 1,
+ "name": "limit",
+ "type": "integer"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/app.Response"
+ },
+ {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/bo3.TeamPrizeMoneyResponse"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "BO3.gg team prize money by period",
+ "tags": [
+ "BO3"
+ ]
+ }
+ },
+ "/bo3/team-ranking-dates": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the days for which Valve published an official ranking for a game (newest first) and the region labels BO3.gg accepts for that game's team rankings. Use it to choose `date` and `region` for bo3-team-rankings.",
+ "operationId": "bo3-team-ranking-dates",
+ "parameters": [
+ {
+ "description": "Game; one of cs2, valorant, lol, dota2, r6siege, mlbb; defaults to cs2",
+ "enum": [
+ "cs2",
+ "valorant",
+ "lol",
+ "dota2",
+ "r6siege",
+ "mlbb"
+ ],
+ "in": "query",
+ "name": "game",
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/app.Response"
+ },
+ {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/bo3.TeamRankingDatesResponse"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "BO3.gg official ranking dates and regions",
+ "tags": [
+ "BO3"
+ ]
+ }
+ },
+ "/bo3/team-rankings": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns BO3.gg's team ranking for a game, worldwide or for one region, for the latest day or any past `date`, paged up to 100 per page. A date that Valve published (listed by bo3-team-ranking-dates) returns the official Valve ranking (`source` `valve_official`, `official` true); other dates return BO3.gg's own daily ranking (`internal`). Rows carry rank, rank change, points, region, country and the five-player roster with ratings.",
+ "operationId": "bo3-team-rankings",
+ "parameters": [
+ {
+ "description": "Game; one of cs2, valorant, lol, dota2, r6siege, mlbb; defaults to cs2",
+ "enum": [
+ "cs2",
+ "valorant",
+ "lol",
+ "dota2",
+ "r6siege",
+ "mlbb"
+ ],
+ "in": "query",
+ "name": "game",
+ "type": "string"
+ },
+ {
+ "description": "Region label for the game as listed by bo3-team-ranking-dates, for example Europe; omit for worldwide",
+ "in": "query",
+ "name": "region",
+ "type": "string"
+ },
+ {
+ "description": "Ranking day, YYYY-MM-DD; defaults to the latest",
+ "in": "query",
+ "name": "date",
+ "type": "string",
+ "x-example": "2026-10-05"
+ },
+ {
+ "description": "1-based page; defaults to 1",
+ "in": "query",
+ "minimum": 1,
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, 1 to 100; defaults to 30",
+ "in": "query",
+ "maximum": 100,
+ "minimum": 1,
+ "name": "per_page",
+ "type": "integer"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/app.Response"
+ },
+ {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/bo3.TeamRankingsResponse"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "BO3.gg team rankings, current and historical",
+ "tags": [
+ "BO3"
+ ]
+ }
+ },
+ "/bo3/team-recent-matches": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns a CS2 team's newest matches (up to 30) with, for every match, the opponent, the tournament, the rounds played, each map played in order and every player's line (rating, kills, deaths, assists, damage, first kills and deaths, trade kills and deaths, headshots, hits, shots, accuracy, money saved and equipment value). Filter by `opponent` for head-to-head history or by `tournament` for one event. Date windows are not supported upstream; the newest matches come first and the list does not page past 30.",
+ "operationId": "bo3-team-recent-matches",
+ "parameters": [
+ {
+ "description": "Team slug, for example vitality",
+ "in": "query",
+ "name": "slug",
+ "required": true,
+ "type": "string",
+ "x-example": "vitality"
+ },
+ {
+ "description": "Opposing team slug for head-to-head matches, for example natus-vincere",
+ "in": "query",
+ "name": "opponent",
+ "type": "string"
+ },
+ {
+ "description": "Tournament slug from bo3-tournaments",
+ "in": "query",
+ "name": "tournament",
+ "type": "string"
+ },
+ {
+ "default": 10,
+ "description": "Newest matches to return, 1 to 30, default 10",
+ "in": "query",
+ "maximum": 30,
+ "minimum": 1,
+ "name": "limit",
+ "type": "integer"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/app.Response"
+ },
+ {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/bo3.RecentMatchesResponse"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "BO3.gg team recent matches",
+ "tags": [
+ "BO3"
+ ]
+ }
+ },
+ "/bo3/team-stats": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns one statistics view of a BO3.gg team over a day range (default: the last six months): `general` (match, game, round and kill totals), `advanced` (CT/T, pistol, eco, force and full-buy round records), `accuracy` (hits and damage by hit group), `economy` (win rate by own and enemy economy level) or `map-pool` (maps picked and banned). General views fill `stats`; the other views fill `rows`.",
+ "operationId": "bo3-team-stats",
+ "parameters": [
+ {
+ "description": "Team slug, for example vitality",
+ "in": "query",
+ "name": "slug",
+ "required": true,
+ "type": "string",
+ "x-example": "vitality"
+ },
+ {
+ "description": "Statistics view; one of general, advanced, accuracy, economy, map-pool; defaults to general",
+ "enum": [
+ "general",
+ "advanced",
+ "accuracy",
+ "economy",
+ "map-pool"
+ ],
+ "in": "query",
+ "name": "kind",
+ "type": "string"
+ },
+ {
+ "description": "First day, YYYY-MM-DD; defaults to six months before to",
+ "in": "query",
+ "name": "from",
+ "type": "string",
+ "x-example": "2026-04-28"
+ },
+ {
+ "description": "Last day, YYYY-MM-DD; defaults to today (UTC)",
+ "in": "query",
+ "name": "to",
+ "type": "string",
+ "x-example": "2026-10-28"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/app.Response"
+ },
+ {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/bo3.StatsResponse"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "BO3.gg team statistics",
+ "tags": [
+ "BO3"
+ ]
+ }
+ },
+ "/bo3/tournament": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns one BO3.gg tournament by slug: name, status, tier, event type, prize pool, dates, description, series, host city, country and region, its stages (format, status, dates), the prize distribution by place and the participating teams with their placement and prize money. The slug comes from bo3-tournaments.",
+ "operationId": "bo3-tournament",
+ "parameters": [
+ {
+ "description": "Tournament slug from bo3-tournaments, for example pgl-masters-bucharest-2026",
+ "in": "query",
+ "name": "slug",
+ "required": true,
+ "type": "string",
+ "x-example": "pgl-masters-bucharest-2026"
+ },
+ {
+ "description": "Game; one of cs2, valorant, lol, dota2, r6siege, mlbb; defaults to cs2",
+ "enum": [
+ "cs2",
+ "valorant",
+ "lol",
+ "dota2",
+ "r6siege",
+ "mlbb"
+ ],
+ "in": "query",
+ "name": "game",
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/app.Response"
+ },
+ {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/bo3.TournamentInfo"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "BO3.gg tournament detail",
+ "tags": [
+ "BO3"
+ ]
+ }
+ },
+ "/bo3/tournament-map-pool": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the maps played at a CS2 tournament: games and rounds per map, CT-side and T-side round wins with the CT win percentage, and picked and banned counts. The upstream returns the whole event and ignores stage filters.",
+ "operationId": "bo3-tournament-map-pool",
+ "parameters": [
+ {
+ "description": "CS2 tournament slug from bo3-tournaments, for example pgl-masters-bucharest-2026",
+ "in": "query",
+ "name": "slug",
+ "required": true,
+ "type": "string",
+ "x-example": "pgl-masters-bucharest-2026"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/app.Response"
+ },
+ {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/bo3.TournamentMapPoolResponse"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "BO3.gg CS2 tournament map pool",
+ "tags": [
+ "BO3"
+ ]
+ }
+ },
+ "/bo3/tournament-mvps": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the tournament most-valuable-player awards BO3.gg publishes, newest first, optionally for one game: the award type, tournament, player, team and the BO3 article about it. Every row seen has the type `mvp`.",
+ "operationId": "bo3-tournament-mvps",
+ "parameters": [
+ {
+ "description": "Game; one of cs2, valorant, lol, dota2, r6siege, mlbb; defaults to every game",
+ "enum": [
+ "cs2",
+ "valorant",
+ "lol",
+ "dota2",
+ "r6siege",
+ "mlbb"
+ ],
+ "in": "query",
+ "name": "game",
+ "type": "string"
+ },
+ {
+ "description": "Zero-based offset; defaults to 0",
+ "in": "query",
+ "minimum": 0,
+ "name": "offset",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, 1 to 100; defaults to 20",
+ "in": "query",
+ "maximum": 100,
+ "minimum": 1,
+ "name": "limit",
+ "type": "integer"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/app.Response"
+ },
+ {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/bo3.TournamentMVPsResponse"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "BO3.gg esports tournament MVPs",
+ "tags": [
+ "BO3"
+ ]
+ }
+ },
+ "/bo3/tournament-squads": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns every team's squad at a CS2 tournament as it played there: team, and each player with nickname, name, photo, coach flag and stand-in flag. Use it to see who actually played, including substitutes.",
+ "operationId": "bo3-tournament-squads",
+ "parameters": [
+ {
+ "description": "CS2 tournament slug from bo3-tournaments, for example pgl-masters-bucharest-2026",
+ "in": "query",
+ "name": "slug",
+ "required": true,
+ "type": "string",
+ "x-example": "pgl-masters-bucharest-2026"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/app.Response"
+ },
+ {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/bo3.TournamentSquadsResponse"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "BO3.gg CS2 tournament squads",
+ "tags": [
+ "BO3"
+ ]
+ }
+ },
+ "/bo3/tournament-stages": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the stages of one BO3.gg tournament in order: title, format type (for example `group` or `playoff`), whether it is on hold, promotion team count and dates. An unknown tournament slug returns 404.",
+ "operationId": "bo3-tournament-stages",
+ "parameters": [
+ {
+ "description": "Game; one of cs2, valorant, lol, dota2, r6siege, mlbb; defaults to cs2",
+ "enum": [
+ "cs2",
+ "valorant",
+ "lol",
+ "dota2",
+ "r6siege",
+ "mlbb"
+ ],
+ "in": "query",
+ "name": "game",
+ "type": "string"
+ },
+ {
+ "description": "Tournament slug from bo3-tournaments, for example pgl-masters-bucharest-2026",
+ "in": "query",
+ "name": "slug",
+ "required": true,
+ "type": "string",
+ "x-example": "pgl-masters-bucharest-2026"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/app.Response"
+ },
+ {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/bo3.TournamentStagesResponse"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "BO3.gg esports tournament stages",
+ "tags": [
+ "BO3"
+ ]
+ }
+ },
+ "/bo3/tournaments": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns BO3.gg esports tournaments for one game with paging and filters: `status` (`current`, `upcoming`, `finished`, `canceled`, `postponed`), `tier` (`s` to `d`), `event_type` (`lan`, `online`) and `sort` (`newest`, `oldest`, `prize` for the largest prize pool first), up to 100 per page. Each tournament has its slug, name, status, tier, event type, prize pool in USD, dates and image; `total` and `has_more` page through the full list (over 3,000 CS2 events).",
+ "operationId": "bo3-tournaments",
+ "parameters": [
+ {
+ "description": "Game; one of cs2, valorant, lol, dota2, r6siege, mlbb; defaults to cs2",
+ "enum": [
+ "cs2",
+ "valorant",
+ "lol",
+ "dota2",
+ "r6siege",
+ "mlbb"
+ ],
+ "in": "query",
+ "name": "game",
+ "type": "string"
+ },
+ {
+ "description": "Tournament status; one of current, upcoming, finished, canceled, postponed",
+ "enum": [
+ "current",
+ "upcoming",
+ "finished",
+ "canceled",
+ "postponed"
+ ],
+ "in": "query",
+ "name": "status",
+ "type": "string"
+ },
+ {
+ "description": "Tournament tier; one of s, a, b, c, d",
+ "enum": [
+ "s",
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "in": "query",
+ "name": "tier",
+ "type": "string"
+ },
+ {
+ "description": "Event type; one of lan, online",
+ "enum": [
+ "lan",
+ "online"
+ ],
+ "in": "query",
+ "name": "event_type",
+ "type": "string"
+ },
+ {
+ "description": "Order; one of newest, oldest, prize; defaults to newest",
+ "enum": [
+ "newest",
+ "oldest",
+ "prize"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Zero-based offset; defaults to 0",
+ "in": "query",
+ "minimum": 0,
+ "name": "offset",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, 1 to 100; defaults to 20",
+ "in": "query",
+ "maximum": 100,
+ "minimum": 1,
+ "name": "limit",
+ "type": "integer"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/app.Response"
+ },
+ {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/bo3.TournamentListResponse"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "BO3.gg tournament list with filters",
+ "tags": [
+ "BO3"
+ ]
+ }
+ },
+ "/bo3/transfers": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns BO3.gg's esports player and coach transfer feed, newest first by default, with paging and filters: `team_id` (moves into or out of one team), `player_id`, `action` (`join`, `change`, `leave`) and `role` (`player`, `coach`). The feed cannot be filtered by game upstream, so every row carries its `game` instead; narrow it with a team or player id.",
+ "operationId": "bo3-transfers",
+ "parameters": [
+ {
+ "description": "BO3 team id; transfers into or out of this team",
+ "in": "query",
+ "minimum": 1,
+ "name": "team_id",
+ "type": "integer"
+ },
+ {
+ "description": "BO3 player id; this person's transfers",
+ "in": "query",
+ "minimum": 1,
+ "name": "player_id",
+ "type": "integer"
+ },
+ {
+ "description": "Transfer action; one of join, change, leave",
+ "enum": [
+ "join",
+ "change",
+ "leave"
+ ],
+ "in": "query",
+ "name": "action",
+ "type": "string"
+ },
+ {
+ "description": "Role; one of player, coach",
+ "enum": [
+ "player",
+ "coach"
+ ],
+ "in": "query",
+ "name": "role",
+ "type": "string"
+ },
+ {
+ "description": "Order by date; one of newest, oldest; defaults to newest",
+ "enum": [
+ "newest",
+ "oldest"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Zero-based offset; defaults to 0",
+ "in": "query",
+ "minimum": 0,
+ "name": "offset",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, 1 to 100; defaults to 20",
+ "in": "query",
+ "maximum": 100,
+ "minimum": 1,
+ "name": "limit",
+ "type": "integer"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/app.Response"
+ },
+ {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/bo3.TransfersResponse"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "BO3.gg esports transfer feed",
+ "tags": [
+ "BO3"
+ ]
+ }
+ },
+ "/bo3/valorant-leaderboard": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns BO3.gg's Valorant player leaderboard over a day range (default: the last six months): players ranked by `sort` (`acs`, `kills`, `deaths`, `damage`, `assists`, `first_kills`, `clutches`, `first_duels`, `games`, `rounds`) in `order` (`desc`, `asc`) with paging. Each player has nickname, slug, games, rounds and every per-round average as a `stats` map; players below the API's minimum-games threshold for the window are excluded (`min_games_count`).",
+ "operationId": "bo3-valorant-leaderboard",
+ "parameters": [
+ {
+ "description": "First day, YYYY-MM-DD (UTC); defaults to six months before to",
+ "in": "query",
+ "name": "from",
+ "type": "string",
+ "x-example": "2026-04-28"
+ },
+ {
+ "description": "Last day, YYYY-MM-DD (UTC); defaults to today",
+ "in": "query",
+ "name": "to",
+ "type": "string",
+ "x-example": "2026-10-28"
+ },
+ {
+ "description": "Stat to rank by; one of acs, kills, deaths, damage, assists, first_kills, clutches, first_duels, games, rounds; defaults to acs",
+ "enum": [
+ "acs",
+ "kills",
+ "deaths",
+ "damage",
+ "assists",
+ "first_kills",
+ "clutches",
+ "first_duels",
+ "games",
+ "rounds"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Direction; one of desc, asc; defaults to desc",
+ "enum": [
+ "desc",
+ "asc"
+ ],
+ "in": "query",
+ "name": "order",
+ "type": "string"
+ },
+ {
+ "description": "Zero-based offset; defaults to 0",
+ "in": "query",
+ "minimum": 0,
+ "name": "offset",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, 1 to 100; defaults to 20",
+ "in": "query",
+ "maximum": 100,
+ "minimum": 1,
+ "name": "limit",
+ "type": "integer"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/app.Response"
+ },
+ {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/bo3.ValorantLeaderboardResponse"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "BO3.gg Valorant player leaderboard",
+ "tags": [
+ "BO3"
+ ]
+ }
+ },
+ "/boardgamegeek/cardsets/{id}": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the card sets recorded for a game, including the base or expansion flag, notes, prior card-set family links, and each set's card types with physical width/height, quantity and quantity notes. Useful for card-size or sleeving questions. A game with no card sets returns a valid empty list.",
+ "operationId": "boardgamegeek-cardsets",
+ "parameters": [
+ {
+ "description": "BoardGameGeek game id, positive integer; Catan is 13",
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "type": "string",
+ "x-example": "13"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/app.Response"
+ },
+ {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/boardgamegeek.CardsetsResponse"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "400": {
+ "description": "The game id is not a positive integer",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "No game exists with that id",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "List a BoardGameGeek game's card sets",
+ "tags": [
+ "BoardGameGeek"
+ ]
+ }
+ },
+ "/boardgamegeek/entity/{type}/{id}": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns one non-game entity by canonical object type and numeric id: name, alternate names, description and wiki text, website, images, and the typed link map for that entity (for example a designer's credits, a publisher's games, a family's members, a category's games, or a version's parent game and publishers). Community counters and the item's field schema are merged in. Slug aliases are not accepted because they return item records without description content.",
+ "operationId": "boardgamegeek-entity",
+ "parameters": [
+ {
+ "description": "Entity object type",
+ "enum": [
+ "family",
+ "person",
+ "company",
+ "property",
+ "version"
+ ],
+ "in": "path",
+ "name": "type",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "description": "BoardGameGeek entity id, positive integer; the Catan family is 3",
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "type": "string",
+ "x-example": "3"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/app.Response"
+ },
+ {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/boardgamegeek.EntityResponse"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "400": {
+ "description": "The type is not allowed or the id is not a positive integer",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "No entity of that type exists with that id",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get a BoardGameGeek family, person, company, property or version",
+ "tags": [
+ "BoardGameGeek"
+ ]
+ }
+ },
+ "/boardgamegeek/game/{id}": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns one BoardGameGeek game by its numeric item id: primary and alternate names, player counts, play time, minimum age, description and wiki text, official website, images, and the typed link map (designers, artists, publishers, categories, mechanics, families, expansions, versions, honors). Community ratings, rank lines, poll answers, and ownership/play counters are merged in, and the item's field schema is included. Uses BoardGameGeek's anonymous website JSON API; no token or login is involved.",
+ "operationId": "boardgamegeek-game",
+ "parameters": [
+ {
+ "description": "BoardGameGeek game (thing) id, positive integer; Catan is 13",
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "type": "string",
+ "x-example": "13"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/app.Response"
+ },
+ {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/boardgamegeek.GameResponse"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "400": {
+ "description": "The id is not a positive integer",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "No game exists with that id",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get a BoardGameGeek game's detail, ratings and links",
+ "tags": [
+ "BoardGameGeek"
+ ]
+ }
+ },
+ "/boardgamegeek/geeklist/{id}": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns one community geeklist's metadata and body: title, creator id, post/edit dates, plain-text body, rendered bodyXml, privacy/comment/trade flags, sort direction and domain, and the source's discoverability links (items, comments, thumbs, tips). Use boardgamegeek_geeklist_items to page its entries.",
+ "operationId": "boardgamegeek-geeklist",
+ "parameters": [
+ {
+ "description": "BoardGameGeek geeklist id, positive integer",
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "type": "string",
+ "x-example": "387123"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/app.Response"
+ },
+ {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/boardgamegeek.GeeklistResponse"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "400": {
+ "description": "The geeklist id is not a positive integer",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "No geeklist exists with that id",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get a BoardGameGeek geeklist's detail",
+ "tags": [
+ "BoardGameGeek"
+ ]
+ }
+ },
+ "/boardgamegeek/geeklist/{id}/items": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns one page of a geeklist's entries: each entry's id, linked item summary (id, name, href, descriptors, images), author id, post/edit dates, commentary body, optional custom image, rating snapshot and links. The source pages entries 25 at a time; a page past the end is a valid empty page.",
+ "operationId": "boardgamegeek-geeklist-items",
+ "parameters": [
+ {
+ "description": "BoardGameGeek geeklist id, positive integer",
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "type": "string",
+ "x-example": "387123"
+ },
+ {
+ "description": "Entry page number, 1-1000; the source pages entries 25 at a time",
+ "in": "query",
+ "name": "page",
+ "type": "integer",
+ "x-example": 1
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/app.Response"
+ },
+ {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/boardgamegeek.GeeklistItemsResponse"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "400": {
+ "description": "The geeklist id or page is invalid",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "No geeklist exists with that id",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "List a BoardGameGeek geeklist's entries",
+ "tags": [
+ "BoardGameGeek"
+ ]
+ }
+ },
+ "/boardgamegeek/geeklists": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns one page of the community geeklists that link an object, filtered by category (all, trade, general) and sorted by hot or recent. Each row carries the list title, author, item count, recommendation count and dates. The response includes the category filters the source offers and the list totals. Use boardgamegeek_geeklist and boardgamegeek_geeklist_items to read a list's content.",
+ "operationId": "boardgamegeek-geeklists",
+ "parameters": [
+ {
+ "description": "Object type: thing, family, person, company, property or version. Defaults to thing.",
+ "enum": [
+ "thing",
+ "family",
+ "person",
+ "company",
+ "property",
+ "version"
+ ],
+ "in": "query",
+ "name": "objecttype",
+ "type": "string",
+ "x-example": "thing"
+ },
+ {
+ "description": "Object identifier, positive integer; Catan is 13",
+ "in": "query",
+ "name": "objectid",
+ "required": true,
+ "type": "integer",
+ "x-example": 13
+ },
+ {
+ "description": "Category filter: all, trade or general. Defaults to general.",
+ "enum": [
+ "all",
+ "trade",
+ "general"
+ ],
+ "in": "query",
+ "name": "category",
+ "type": "string",
+ "x-example": "general"
+ },
+ {
+ "description": "Sort: hot or recent. Defaults to hot.",
+ "enum": [
+ "hot",
+ "recent"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string",
+ "x-example": "hot"
+ },
+ {
+ "description": "Page size, 1-50",
+ "in": "query",
+ "name": "showcount",
+ "type": "integer",
+ "x-example": 25
+ },
+ {
+ "description": "Page number, 1-1000",
+ "in": "query",
+ "name": "pageid",
+ "type": "integer",
+ "x-example": 1
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/app.Response"
+ },
+ {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/boardgamegeek.GeeklistsResponse"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "400": {
+ "description": "An enum value or pagination parameter is invalid",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "List geeklists that link a BoardGameGeek object",
+ "tags": [
+ "BoardGameGeek"
+ ]
+ }
+ },
+ "/boardgamegeek/hotness": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the site's ranked hotness list for one object type: games (thing), people or companies, with the object identifier, name, rank position, rank delta since the previous day, year published (games only), short description (games only) and images. The list length is requested with showcount; the source caps it at 50.",
+ "operationId": "boardgamegeek-hotness",
+ "parameters": [
+ {
+ "description": "Object type; one of thing (games), person or company",
+ "enum": [
+ "thing",
+ "person",
+ "company"
+ ],
+ "in": "query",
+ "name": "objecttype",
+ "type": "string",
+ "x-example": "thing"
+ },
+ {
+ "description": "Requested list length, 1-50; the source caps the list at 50",
+ "in": "query",
+ "name": "showcount",
+ "type": "integer",
+ "x-example": 50
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/app.Response"
+ },
+ {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/boardgamegeek.HotnessResponse"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "400": {
+ "description": "An enum value or showcount is out of range",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get BoardGameGeek's current hotness list",
+ "tags": [
+ "BoardGameGeek"
+ ]
+ }
+ },
+ "/boardgamegeek/links": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns one page of a typed link list for an object: for a game, its mechanics, categories, designers, publishers, expansions or versions; for a family, its games; for a person, their credits; for a company, its games; for a property, its games; for a version, its parent game and publishers. Each row carries the linked object's identity, name, post date, subtype and image. The link type must be valid for the requested object type; see boardgamegeek-taxonomy for the complete per-type value space.",
+ "operationId": "boardgamegeek-links",
+ "parameters": [
+ {
+ "description": "Canonical object type that owns the links",
+ "enum": [
+ "thing",
+ "family",
+ "person",
+ "company",
+ "property",
+ "version"
+ ],
+ "in": "query",
+ "name": "objecttype",
+ "required": true,
+ "type": "string",
+ "x-example": "thing"
+ },
+ {
+ "description": "Object identifier, positive integer; Catan is 13",
+ "in": "query",
+ "name": "objectid",
+ "required": true,
+ "type": "integer",
+ "x-example": 13
+ },
+ {
+ "description": "Link type; must be one of the values verified for the object type (see boardgamegeek-taxonomy)",
+ "enum": [
+ "boardgame",
+ "boardgameaccessory",
+ "boardgameaccessoryartist",
+ "boardgameaccessorydesigner",
+ "boardgameartist",
+ "boardgamecategory",
+ "boardgamedesigner",
+ "boardgamedeveloper",
+ "boardgameeditor",
+ "boardgameexpansion",
+ "boardgamefamily",
+ "boardgamegraphicdesigner",
+ "boardgamehonor",
+ "boardgameinsertdesigner",
+ "boardgameintegration",
+ "boardgameissue",
+ "boardgameissueartist",
+ "boardgameissueauthor",
+ "boardgamemechanic",
+ "boardgamepublisher",
+ "boardgamesculptor",
+ "boardgamesolodesigner",
+ "boardgamesubdomain",
+ "boardgameversion",
+ "boardgameversionartist",
+ "boardgamewriter",
+ "cardset",
+ "containedin",
+ "contains",
+ "expandsboardgame",
+ "expandsvideogame",
+ "languages",
+ "reimplementation",
+ "reimplements",
+ "rpgartist",
+ "rpgdesigner",
+ "rpghonor",
+ "rpgissuearticleauthor",
+ "rpgissueartist",
+ "rpgissuedesigner",
+ "rpgissueproducer",
+ "rpgproducer",
+ "videogamebg",
+ "videogamedeveloper",
+ "videogameexpansion",
+ "videogamefranchise",
+ "videogamegenre",
+ "videogamemode",
+ "videogameplatform",
+ "videogamepublisher",
+ "videogameseries",
+ "videogametheme"
+ ],
+ "in": "query",
+ "name": "linktype",
+ "required": true,
+ "type": "string",
+ "x-example": "boardgamemechanic"
+ },
+ {
+ "description": "Page size, 1-50",
+ "in": "query",
+ "name": "showcount",
+ "type": "integer",
+ "x-example": 25
+ },
+ {
+ "description": "Page number, 1-1000",
+ "in": "query",
+ "name": "pageid",
+ "type": "integer",
+ "x-example": 1
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/app.Response"
+ },
+ {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/boardgamegeek.LinksResponse"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "400": {
+ "description": "An enum value, id or page parameter is invalid, or the link type is not valid for the object type",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "The object does not exist",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "List a BoardGameGeek object's typed links",
+ "tags": [
+ "BoardGameGeek"
+ ]
+ }
+ },
+ "/boardgamegeek/media/{id}": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns one page of media for one item: gallery images with captions and vote counts, videos with host, title, duration and thumbnail, or file pages with filename, size and language. Exactly one of images, videos or files is populated. Filters follow the source's own per-kind filter models: images accept sort, interval, gallery, tag and license; videos accept sort, gallery and languageid; files accept sort and languageid. A filter used with the wrong kind is rejected locally with HTTP 400.",
+ "operationId": "boardgamegeek-media",
+ "parameters": [
+ {
+ "description": "BoardGameGeek item (thing) id, positive integer; Catan is 13",
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "type": "string",
+ "x-example": "13"
+ },
+ {
+ "description": "Media kind; defaults to image",
+ "enum": [
+ "image",
+ "video",
+ "file"
+ ],
+ "in": "query",
+ "name": "type",
+ "type": "string",
+ "x-example": "image"
+ },
+ {
+ "description": "Page size, 1-50",
+ "in": "query",
+ "name": "showcount",
+ "type": "integer",
+ "x-example": 25
+ },
+ {
+ "description": "Page number, 1-1000",
+ "in": "query",
+ "name": "pageid",
+ "type": "integer",
+ "x-example": 1
+ },
+ {
+ "description": "Sort order; applies to images, videos and files",
+ "enum": [
+ "hot",
+ "recent"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string",
+ "x-example": "hot"
+ },
+ {
+ "description": "Image date interval; image only",
+ "enum": [
+ "alltime",
+ "today",
+ "twodays",
+ "last7",
+ "last30",
+ "year"
+ ],
+ "in": "query",
+ "name": "interval",
+ "type": "string",
+ "x-example": "alltime"
+ },
+ {
+ "description": "Gallery filter. Images: all, game, person, creative. Videos: all, review, session, instructional, interview, unboxing, humor, other. Not valid for files.",
+ "enum": [
+ "all",
+ "game",
+ "person",
+ "creative",
+ "review",
+ "session",
+ "instructional",
+ "interview",
+ "unboxing",
+ "humor",
+ "other"
+ ],
+ "in": "query",
+ "name": "gallery",
+ "type": "string",
+ "x-example": "all"
+ },
+ {
+ "description": "Image category; image only",
+ "enum": [
+ "BoxFront",
+ "BoxBack",
+ "Components",
+ "Customized",
+ "Play",
+ "Miscellaneous",
+ "uncat"
+ ],
+ "in": "query",
+ "name": "tag",
+ "type": "string"
+ },
+ {
+ "description": "Image license filter; image only",
+ "enum": [
+ "reuse",
+ "commercial",
+ "modify"
+ ],
+ "in": "query",
+ "name": "license",
+ "type": "string",
+ "x-example": "commercial"
+ },
+ {
+ "description": "Media language id from boardgamegeek_taxonomy media_video_languages/media_file_languages; video and file only",
+ "in": "query",
+ "name": "languageid",
+ "type": "string",
+ "x-example": "2184"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/app.Response"
+ },
+ {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/boardgamegeek.MediaResponse"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "400": {
+ "description": "A filter is not valid for the requested media kind, or a parameter is out of range",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "No item exists with that id",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "List a BoardGameGeek item's images, videos or files",
+ "tags": [
+ "BoardGameGeek"
+ ]
+ }
+ },
+ "/boardgamegeek/recommendations/{id}": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns BoardGameGeek's \"fans also like\" recommendations for one game: each suggested item's identity, name and image, plus the source's similarity rating, rank, voter count, year published and fan count. An unknown game id yields a valid empty list with count 0 rather than an error.",
+ "operationId": "boardgamegeek-recommendations",
+ "parameters": [
+ {
+ "description": "BoardGameGeek game id, positive integer; Catan is 13",
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "type": "string",
+ "x-example": "13"
+ },
+ {
+ "description": "Maximum number of recommendations, 1-50",
+ "in": "query",
+ "name": "showcount",
+ "type": "integer",
+ "x-example": 25
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/app.Response"
+ },
+ {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/boardgamegeek.RecommendationsResponse"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get BoardGameGeek recommendations for a game",
+ "tags": [
+ "BoardGameGeek"
+ ]
+ }
+ },
+ "/boardgamegeek/reviews/{type}/{id}": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns an object's hot and recent reviews as the source publishes them: text review threads (thread id, subject, forum, author, dates, post count) and video reviews (video id, host, external id, title, language, thumbnail), with the source's review totals and the paths to the full review lists. An object with no reviews is a valid empty result, not an error.",
+ "operationId": "boardgamegeek-reviews",
+ "parameters": [
+ {
+ "description": "Object type",
+ "enum": [
+ "thing",
+ "family",
+ "person",
+ "company",
+ "property",
+ "version"
+ ],
+ "in": "path",
+ "name": "type",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "description": "Object identifier, positive integer; Catan is 13",
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "type": "string",
+ "x-example": "13"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/app.Response"
+ },
+ {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/boardgamegeek.ReviewsResponse"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "400": {
+ "description": "The type or id is invalid",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "List a BoardGameGeek object's reviews",
+ "tags": [
+ "BoardGameGeek"
+ ]
+ }
+ },
+ "/boardgamegeek/taxonomy": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the complete pinned taxonomy this family accepts: the canonical object types and entity types, the live-verified subtypes for each object type (with separately listed unverified subtypes), the verified link types for each object type, and the hotness, media, media-filter and entity enums. Values were verified with anonymous live requests on the date in verified_at and are constants, not live reads. Use it to validate objecttype/linktype combinations before calling the other BoardGameGeek routes.",
+ "operationId": "boardgamegeek-taxonomy",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/app.Response"
+ },
+ {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/boardgamegeek.TaxonomyResponse"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "List BoardGameGeek's object-type, subtype and link-type enums",
+ "tags": [
+ "BoardGameGeek"
+ ]
+ }
+ },
+ "/boardgamegeek/thread/{id}": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns a forum thread's metadata (subject, forum id, creator, post/page counts, pin/lock flags, breadcrumbs) plus one page of its articles: article id, author id, post and edit dates, plain-text body, rendered bodyXml, first-post flag and links. The source pages articles 25 at a time; a page past the end is a valid empty page. Use boardgamegeek_threads to discover thread ids.",
+ "operationId": "boardgamegeek-thread",
+ "parameters": [
+ {
+ "description": "BoardGameGeek thread id, positive integer",
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "type": "string",
+ "x-example": "3782789"
+ },
+ {
+ "description": "Article page number, 1-1000; the source pages articles 25 at a time",
+ "in": "query",
+ "name": "pageid",
+ "type": "integer",
+ "x-example": 1
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/app.Response"
+ },
+ {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/boardgamegeek.ThreadResponse"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "400": {
+ "description": "The id or page is invalid",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "No thread exists with that id",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get a BoardGameGeek thread and one page of its articles",
+ "tags": [
+ "BoardGameGeek"
+ ]
+ }
+ },
+ "/boardgamegeek/threads": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns one page of forum threads for a BoardGameGeek object (game, family, person, company, property or version), sorted by hot, recent or active. Each row carries the thread id, subject, forum, author, post/last-post dates, post count, pin/lock flags and hrefs, and the response includes the forums that object exposes with their thread/post counts so callers can discover the forumid filter. Use boardgamegeek_thread to read a thread's articles.",
+ "operationId": "boardgamegeek-threads",
+ "parameters": [
+ {
+ "description": "Object type: thing, family, person, company, property or version. Defaults to thing.",
+ "enum": [
+ "thing",
+ "family",
+ "person",
+ "company",
+ "property",
+ "version"
+ ],
+ "in": "query",
+ "name": "objecttype",
+ "type": "string",
+ "x-example": "thing"
+ },
+ {
+ "description": "Object identifier, positive integer; Catan is 13",
+ "in": "query",
+ "name": "objectid",
+ "required": true,
+ "type": "integer",
+ "x-example": 13
+ },
+ {
+ "description": "Forum id from this route's forums list; unknown ids are ignored upstream, so use a listed id",
+ "in": "query",
+ "name": "forumid",
+ "type": "integer",
+ "x-example": 65
+ },
+ {
+ "description": "Thread sort: hot, recent or active. Defaults to recent.",
+ "enum": [
+ "hot",
+ "recent",
+ "active"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string",
+ "x-example": "recent"
+ },
+ {
+ "description": "Page size, 1-100; the source caps it at 100",
+ "in": "query",
+ "name": "showcount",
+ "type": "integer",
+ "x-example": 25
+ },
+ {
+ "description": "Page number, 1-1000",
+ "in": "query",
+ "name": "pageid",
+ "type": "integer",
+ "x-example": 1
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/app.Response"
+ },
+ {
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/boardgamegeek.ThreadsResponse"
+ }
+ },
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "400": {
+ "description": "An enum value or pagination parameter is invalid",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "List a BoardGameGeek object's forum threads",
+ "tags": [
+ "BoardGameGeek"
+ ]
+ }
+ },
+ "/bonhams/auctions/search": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Searches and filters Bonhams' auctions. Default status \"upcoming\" excludes ended auctions, matching bonhams.com's own default; \"past\" browses Bonhams' full historical auction archive instead.",
+ "operationId": "bonhams-auction-search",
+ "parameters": [
+ {
+ "description": "Free-text search across auction title and department names",
+ "in": "query",
+ "name": "q",
+ "type": "string",
+ "x-example": "Home & Interiors"
+ },
+ {
+ "description": "Comma-separated country names (not a fixed enum -- live facet)",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "United Kingdom"
+ },
+ {
+ "description": "Comma-separated categories. Allowed values: 20th & 21st Century Art, Asian Art, Books, History & Science, Classic Art, Decorative Arts & Furniture, Handbags, Jewels & Watches, Motoring, Popular Culture, Wine & Whisky.",
+ "in": "query",
+ "name": "category",
+ "type": "string",
+ "x-example": "Asian Art"
+ },
+ {
+ "description": "Comma-separated month-and-year values, e.g. \\",
+ "in": "query",
+ "name": "month",
+ "type": "string",
+ "x-example": "September 2026"
+ },
+ {
+ "description": "Comma-separated auction types",
+ "enum": [
+ "ONLINE",
+ "PUBLIC",
+ "EXHIBITION",
+ "OTHER"
+ ],
+ "in": "query",
+ "name": "auction_type",
+ "type": "string",
+ "x-example": "ONLINE"
+ },
+ {
+ "description": "Filters by bidding/completion status, default upcoming",
+ "enum": [
+ "upcoming",
+ "past",
+ "all"
+ ],
+ "in": "query",
+ "name": "status",
+ "type": "string",
+ "x-example": "upcoming"
+ },
+ {
+ "description": "1-based page number, default 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Results per page, default 24, max 100",
+ "in": "query",
+ "name": "per_page",
+ "type": "integer"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bonhams.auctionSearchResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Search Bonhams auctions",
+ "tags": [
+ "Bonhams"
+ ]
+ }
+ },
+ "/bonhams/auctions/{id}": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns one Bonhams auction's facts by id: title, category, department, country, currency, sale dates, and lot count. Unlike the search endpoint, this is not restricted to upcoming/live auctions -- a historical/ended auction id resolves too.",
+ "operationId": "bonhams-auction-detail",
+ "parameters": [
+ {
+ "description": "Bonhams auction id",
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "type": "string",
+ "x-example": "32001"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bonhams.auctionDetailResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get a Bonhams auction's normalized facts",
+ "tags": [
+ "Bonhams"
+ ]
+ }
+ },
+ "/bonhams/auctions/{id}/lots": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the lot listing for one Bonhams auction, optionally filtered by department and/or a free-text query.",
+ "operationId": "bonhams-auction-lots",
+ "parameters": [
+ {
+ "description": "Bonhams auction id",
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "type": "string",
+ "x-example": "32001"
+ },
+ {
+ "description": "Free-text search across lot title, catalog description, and footnotes",
+ "in": "query",
+ "name": "q",
+ "type": "string",
+ "x-example": "candelabra"
+ },
+ {
+ "description": "Comma-separated department names (not a fixed enum -- varies per auction)",
+ "in": "query",
+ "name": "department",
+ "type": "string",
+ "x-example": "Silver"
+ },
+ {
+ "description": "1-based page number, default 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Results per page, default 48, max 100",
+ "in": "query",
+ "name": "per_page",
+ "type": "integer"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bonhams.auctionLotsResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "List the lots in a Bonhams auction",
+ "tags": [
+ "Bonhams"
+ ]
+ }
+ },
+ "/bonhams/lots/search": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Searches Bonhams lots across every auction, current and historical -- including sold/prices-realized lots -- optionally filtered by department, country, a GBP-normalized estimate price range, and/or a free-text query, in a caller-selected sort order. Without a query and without an explicit sort, results are ordered by most recently active sale date first.",
+ "operationId": "bonhams-lot-search",
+ "parameters": [
+ {
+ "description": "Free-text search across lot title, catalog description, and footnotes",
+ "in": "query",
+ "name": "q",
+ "type": "string",
+ "x-example": "Rolex Submariner"
+ },
+ {
+ "description": "Comma-separated department names (not a fixed enum -- large, changes over time)",
+ "in": "query",
+ "name": "department",
+ "type": "string",
+ "x-example": "Watches"
+ },
+ {
+ "description": "Comma-separated country names (not a fixed enum -- live facet)",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "United States"
+ },
+ {
+ "description": "Minimum estimate, in GBP (converted from each lot's own sale currency), inclusive. Omit or 0 for no minimum.",
+ "in": "query",
+ "name": "min_price_gbp",
+ "type": "number"
+ },
+ {
+ "description": "Maximum estimate, in GBP (converted from each lot's own sale currency), inclusive. Omit or 0 for no maximum.",
+ "in": "query",
+ "name": "max_price_gbp",
+ "type": "number"
+ },
+ {
+ "description": "Result order. Default: Typesense relevance ranking when q is set, otherwise recency (most recently active sale date first).",
+ "enum": [
+ "relevance",
+ "recency",
+ "price_high",
+ "price_low",
+ "lot_number"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "1-based page number, default 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Results per page, default 48, max 100",
+ "in": "query",
+ "name": "per_page",
+ "type": "integer"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bonhams.lotSearchResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Search Bonhams lots across every auction",
+ "tags": [
+ "Bonhams"
+ ]
+ }
+ },
+ "/bonhams/lots/{auctionId}/{lotNumber}": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns one Bonhams lot's facts: title, estimate range, hammer/realized price (once sold), sale date, category, department, and lot number. Full lot description prose, condition-report text, and additional images are not reproduced -- see the response fields.",
+ "operationId": "bonhams-lot-detail",
+ "parameters": [
+ {
+ "description": "Bonhams auction id",
+ "in": "path",
+ "name": "auctionId",
+ "required": true,
+ "type": "string",
+ "x-example": "32001"
+ },
+ {
+ "description": "Bonhams lot number",
+ "in": "path",
+ "name": "lotNumber",
+ "required": true,
+ "type": "string",
+ "x-example": "2"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bonhams.lotDetailResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get a Bonhams lot's normalized facts",
+ "tags": [
+ "Bonhams"
+ ]
+ }
+ },
+ "/booking-attractions/detail": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the details of one Booking.com attraction by `slug`, taken from `products[].slug` in a `booking-attractions-search` result: `name`, `short_description`, `description`, `duration`, `price` with `currency`, `review_score`, `review_count` and `city`. The returned `id` is the `product_id` for `booking-attractions-reviews`.",
+ "operationId": "booking-attractions-detail",
+ "parameters": [
+ {
+ "description": "Attraction slug, from a prior attraction search result",
+ "in": "query",
+ "name": "slug",
+ "required": true,
+ "type": "string",
+ "x-example": "pre4ksvwxdrd-seine-river-sightseeing-cruise"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/booking.bookingAttractionDetailResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Booking.com attraction detail",
+ "tags": [
+ "Booking"
+ ]
+ }
+ },
+ "/booking-attractions/reviews": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns guest reviews for a Booking.com attraction. `product_id` is required and comes from `products[].id` in a `booking-attractions-search` result. `page` is 1-based (default 1) and `limit` is 1 to 50 (default 10). Each review has `score`, `content`, `reviewer_name`, `reviewer_country`, `language` and `reviewed_date`, and `total` gives the count.",
+ "operationId": "booking-attractions-reviews",
+ "parameters": [
+ {
+ "description": "Attraction product id, from a prior attraction search result",
+ "in": "query",
+ "name": "product_id",
+ "required": true,
+ "type": "string",
+ "x-example": "PRe4kSVWXdrD"
+ },
+ {
+ "description": "1-based result page, default 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer",
+ "x-example": 1
+ },
+ {
+ "description": "Reviews per page, 1-50, default 10",
+ "in": "query",
+ "name": "limit",
+ "type": "integer",
+ "x-example": 10
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/booking.bookingAttractionReviewsResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Booking.com attraction reviews",
+ "tags": [
+ "Booking"
+ ]
+ }
+ },
+ "/booking-attractions/search": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns Booking.com attractions/things-to-do search results for a destination and date range, with an optional category/subcategory filter and a discoverable category taxonomy.",
+ "operationId": "booking-attractions-search",
+ "parameters": [
+ {
+ "description": "Destination name or city",
+ "in": "query",
+ "name": "query",
+ "required": true,
+ "type": "string",
+ "x-example": "Paris"
+ },
+ {
+ "description": "Availability start date, YYYY-MM-DD",
+ "in": "query",
+ "name": "start_date",
+ "required": true,
+ "type": "string",
+ "x-example": "2026-09-15"
+ },
+ {
+ "description": "Availability end date, YYYY-MM-DD, defaults to start_date",
+ "in": "query",
+ "name": "end_date",
+ "type": "string",
+ "x-example": "2026-09-15"
+ },
+ {
+ "description": "1-based result page, default 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer",
+ "x-example": 1
+ },
+ {
+ "description": "Results per page, 1-30, default 15",
+ "in": "query",
+ "name": "limit",
+ "type": "integer",
+ "x-example": 15
+ },
+ {
+ "description": "Optional top-level category tagname filter, from a prior response's categories",
+ "in": "query",
+ "name": "category",
+ "type": "string",
+ "x-example": "PTCMCcodv3rh"
+ },
+ {
+ "description": "Optional subcategory tagname filter, from a prior response's categories",
+ "in": "query",
+ "name": "subcategory",
+ "type": "string",
+ "x-example": "PTCMCfzh93xC"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/booking.bookingAttractionSearchResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Search Booking.com attractions",
+ "tags": [
+ "Booking"
+ ]
+ }
+ },
+ "/booking-flights/autocomplete": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns Booking.com flight-search location suggestions (airports and cities) for `query`, which is required. `type` is `to` (default) or `from`; `origin` and `origin_type` bias results by proximity. Each result has `name`, `code`, `type`, `country`, `country_name` and `region_name`. Combine `code` and `type` as `{code}.{TYPE}` for `booking-flights-search`.",
+ "operationId": "booking-flights-autocomplete",
+ "parameters": [
+ {
+ "description": "City or airport name/code to search",
+ "in": "query",
+ "name": "query",
+ "required": true,
+ "type": "string",
+ "x-example": "Chengdu"
+ },
+ {
+ "description": "Location role, default to",
+ "enum": [
+ "to",
+ "from"
+ ],
+ "in": "query",
+ "name": "type",
+ "type": "string"
+ },
+ {
+ "description": "Optional origin location code, biases results by proximity",
+ "in": "query",
+ "name": "origin",
+ "type": "string",
+ "x-example": "SGN"
+ },
+ {
+ "description": "Origin location type",
+ "in": "query",
+ "name": "origin_type",
+ "type": "string",
+ "x-example": "AIRPORT"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/booking.bookingFlightAutocompleteResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Booking.com flight autocomplete",
+ "tags": [
+ "Booking"
+ ]
+ }
+ },
+ "/booking-flights/search": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns Booking.com flight offers between two locations given as `from` and `to` (such as `SGN.AIRPORT`), for a `depart` date. `type` is `ROUNDTRIP` (default, needs `return`) or `ONEWAY`. Also takes `adults` (1 to 9), `children`, `cabin_class` and `sort`. Offers carry `price`, `currency` and segments with legs; the response adds `total_count` and `min_price`.",
+ "operationId": "booking-flights-search",
+ "parameters": [
+ {
+ "description": "Trip type, default ROUNDTRIP",
+ "enum": [
+ "ROUNDTRIP",
+ "ONEWAY"
+ ],
+ "in": "query",
+ "name": "type",
+ "type": "string"
+ },
+ {
+ "description": "Origin location id, e.g. SGN.AIRPORT, from a prior autocomplete result",
+ "in": "query",
+ "name": "from",
+ "required": true,
+ "type": "string",
+ "x-example": "SGN.AIRPORT"
+ },
+ {
+ "description": "Destination location id, same composite format as from",
+ "in": "query",
+ "name": "to",
+ "required": true,
+ "type": "string",
+ "x-example": "CTU.CITY"
+ },
+ {
+ "description": "Origin country code",
+ "in": "query",
+ "name": "from_country",
+ "type": "string",
+ "x-example": "VN"
+ },
+ {
+ "description": "Destination country code",
+ "in": "query",
+ "name": "to_country",
+ "type": "string",
+ "x-example": "CN"
+ },
+ {
+ "description": "Departure date, YYYY-MM-DD",
+ "in": "query",
+ "name": "depart",
+ "required": true,
+ "type": "string",
+ "x-example": "2026-09-05"
+ },
+ {
+ "description": "Return date, YYYY-MM-DD, required when type is ROUNDTRIP",
+ "in": "query",
+ "name": "return",
+ "type": "string",
+ "x-example": "2026-09-12"
+ },
+ {
+ "description": "Number of adults, 1-9, default 1",
+ "in": "query",
+ "name": "adults",
+ "type": "integer",
+ "x-example": 1
+ },
+ {
+ "description": "Number of children, 0-9",
+ "in": "query",
+ "name": "children",
+ "type": "integer",
+ "x-example": 0
+ },
+ {
+ "description": "Cabin class, default ECONOMY",
+ "in": "query",
+ "name": "cabin_class",
+ "type": "string",
+ "x-example": "ECONOMY"
+ },
+ {
+ "description": "Result sort order, default BEST",
+ "in": "query",
+ "name": "sort",
+ "type": "string",
+ "x-example": "BEST"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/booking.bookingFlightSearchResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Search Booking.com flights",
+ "tags": [
+ "Booking"
+ ]
+ }
+ },
+ "/booking/hotel-detail": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns a Booking.com hotel's core detail page: rating, facilities, highlights, house rules, cover photos, and rooms with their own photos.",
+ "operationId": "booking-hotel-detail",
+ "parameters": [
+ {
+ "description": "Booking.com hotel id, from a prior search's property id",
+ "in": "query",
+ "name": "hotel_id",
+ "required": true,
+ "type": "integer",
+ "x-example": 2845972
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/booking.bookingHotelDetailResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Booking.com hotel detail",
+ "tags": [
+ "Booking"
+ ]
+ }
+ },
+ "/booking/reviews": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns guest reviews for a Booking.com hotel. `hotel_id` and `hotel_country_code` are required, both from a `booking-search` result. `search_text` filters review content, `page` is 1-based and `limit` is 1 to 25 (default 10). Reviews have `score`, `title`, `positive_text`, `negative_text`, `room_type` and stay dates; `rating_scores` and `reviews_count` summarise the hotel.",
+ "operationId": "booking-reviews",
+ "parameters": [
+ {
+ "description": "Booking.com hotel id, from a prior search's property id",
+ "in": "query",
+ "name": "hotel_id",
+ "required": true,
+ "type": "integer",
+ "x-example": 2845972
+ },
+ {
+ "description": "Destination id (ufi), from a prior search response",
+ "in": "query",
+ "name": "destination_id",
+ "type": "integer",
+ "x-example": -1456928
+ },
+ {
+ "description": "Hotel's country code, from a prior search response",
+ "in": "query",
+ "name": "hotel_country_code",
+ "required": true,
+ "type": "string",
+ "x-example": "fr"
+ },
+ {
+ "description": "Hotel's overall review score",
+ "in": "query",
+ "name": "hotel_score",
+ "type": "number",
+ "x-example": 8.2
+ },
+ {
+ "description": "Optional free-text search over review content",
+ "in": "query",
+ "name": "search_text",
+ "type": "string",
+ "x-example": "elevator"
+ },
+ {
+ "description": "1-based result page, default 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer",
+ "x-example": 1
+ },
+ {
+ "description": "Reviews per page, 1-25, default 10",
+ "in": "query",
+ "name": "limit",
+ "type": "integer",
+ "x-example": 10
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/booking.bookingReviewsResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Booking.com hotel reviews",
+ "tags": [
+ "Booking"
+ ]
+ }
+ },
+ "/booking/search": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Searches Booking.com hotels for a destination `query` between `checkin` and `checkout` (`YYYY-MM-DD`, both required). `adults` is 1 to 9 (default 2), `rooms` 1 to 8 (default 1), `children` 0 to 9, and `page` is 1-based. Each property has `name`, `price`, `currency`, `review_score`, `star_rating` and `distance`; `results_count` gives the total.",
+ "operationId": "booking-search",
+ "parameters": [
+ {
+ "description": "Destination name or city",
+ "in": "query",
+ "name": "query",
+ "required": true,
+ "type": "string",
+ "x-example": "Paris"
+ },
+ {
+ "description": "Check-in date, YYYY-MM-DD",
+ "in": "query",
+ "name": "checkin",
+ "required": true,
+ "type": "string",
+ "x-example": "2026-09-15"
+ },
+ {
+ "description": "Check-out date, YYYY-MM-DD",
+ "in": "query",
+ "name": "checkout",
+ "required": true,
+ "type": "string",
+ "x-example": "2026-09-17"
+ },
+ {
+ "description": "Number of adults, 1-9, default 2",
+ "in": "query",
+ "name": "adults",
+ "type": "integer",
+ "x-example": 2
+ },
+ {
+ "description": "Number of rooms, 1-8, default 1",
+ "in": "query",
+ "name": "rooms",
+ "type": "integer",
+ "x-example": 1
+ },
+ {
+ "description": "Number of children, 0-9",
+ "in": "query",
+ "name": "children",
+ "type": "integer",
+ "x-example": 0
+ },
+ {
+ "description": "1-based result page, default 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer",
+ "x-example": 1
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/booking.bookingSearchResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Search Booking.com hotels",
+ "tags": [
+ "Booking"
+ ]
+ }
+ },
+ "/booksy/business": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns one Booksy (booksy.com) business: name, slug, description, the website's own listing path token (`____`, served by the app and usable to join the two surfaces), every category with its web slug, the geographic chain from country down to zip with numeric ids, address and coordinates, cover and logo images, the complete partner-defined service menu with prices and durations, opening hours, amenities, booking policy text, public contact links and aggregate review scores. This is the Android app's JSON detail route (`/core/v2/customer_api/businesses/{id}/`), so one business costs a few tens of kilobytes instead of a rendered page. An unknown id is a 404. Review text, reviewer identities, staff identities, client records and any availability, booking or payment data are never returned.",
+ "operationId": "booksy-business",
+ "parameters": [
+ {
+ "description": "Numeric Booksy business id",
+ "in": "query",
+ "name": "id",
+ "required": true,
+ "type": "integer",
+ "x-example": 481342
+ },
+ {
+ "description": "Market host",
+ "enum": [
+ "ar",
+ "au",
+ "br",
+ "ca",
+ "cl",
+ "co",
+ "de",
+ "es",
+ "fr",
+ "gb",
+ "ie",
+ "it",
+ "mx",
+ "nl",
+ "pl",
+ "pt",
+ "us",
+ "za"
+ ],
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "us"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/booksy.businessResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get one Booksy business's detail record",
+ "tags": [
+ "Booksy"
+ ]
+ }
+ },
+ "/booksy/businesses": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns one page of Booksy's (booksy.com) salon and barber marketplace for a country, filtered by a top-level category, a treatment id or a free-text query, and optionally scoped to a location. This reads the Android customer app's own JSON API (`https://{country}.booksy.com/core/v2/customer_api/businesses/`), which is offset-paginated: page_size is honoured up to 100 (larger values are silently clamped, so they are rejected here) and total is the marketplace's own match count. total saturates at 10000, and total_capped reports when the number is a ceiling rather than an exact count. category and treatment are INTEGER ids — a slug is rejected upstream — taken from booksy-categories and booksy-treatment-hints respectively; they may be combined. The listing filters the app's own client sends are supported as well: sort_order (distance, score, top_rated, by_ids — by_ids requires business_ids and returns the businesses in the order supplied; score is the default ranking and returns the same order as no sort_order), gender (M, F, R — it reorders the page for a stated client gender but does not filter it, so total is unchanged, and an unrecognised value is rejected here because Booksy silently ignores it), open_now and has_special_offers (booleans that restrict the page to businesses open now or running an offer; open_now is sent upstream as 1/0 because Booksy rejects true/false on it), and business_ids (a comma-separated bulk lookup of at most 100 ids, which also satisfies the requirement for one of category, treatment or query). location_id and location_name are alternatives, and an unknown location_name is not an error: the server silently falls back to the whole country, so read the response's location node instead of assuming the name was applied. A page past the end is an honest empty businesses array with total intact; page 0 is rejected. Records carry catalogue metadata, geo, promotion flags and aggregate review scores only — never reviews, reviewer identities, staff or availability.",
+ "operationId": "booksy-businesses",
+ "parameters": [
+ {
+ "description": "Market host",
+ "enum": [
+ "ar",
+ "au",
+ "br",
+ "ca",
+ "cl",
+ "co",
+ "de",
+ "es",
+ "fr",
+ "gb",
+ "ie",
+ "it",
+ "mx",
+ "nl",
+ "pl",
+ "pt",
+ "us",
+ "za"
+ ],
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "us"
+ },
+ {
+ "description": "1-based page number, default 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer",
+ "x-example": 1
+ },
+ {
+ "description": "Records per page, default 20, maximum 100",
+ "in": "query",
+ "name": "page_size",
+ "type": "integer",
+ "x-example": 20
+ },
+ {
+ "description": "Top-level category id from booksy-categories (integer, not a slug)",
+ "in": "query",
+ "name": "category",
+ "type": "integer",
+ "x-example": 6
+ },
+ {
+ "description": "Treatment id from booksy-treatment-hints (integer, not a slug)",
+ "in": "query",
+ "name": "treatment",
+ "type": "integer",
+ "x-example": 363
+ },
+ {
+ "description": "Free-text search term; at least one of category, treatment or query is required",
+ "in": "query",
+ "name": "query",
+ "type": "string",
+ "x-example": "braids"
+ },
+ {
+ "description": "Booksy location id, e.g. 30067 for New York City",
+ "in": "query",
+ "name": "location_id",
+ "type": "integer",
+ "x-example": 30067
+ },
+ {
+ "description": "Location name for the server to resolve, e.g. New York City",
+ "in": "query",
+ "name": "location_name",
+ "type": "string",
+ "x-example": "New York City"
+ },
+ {
+ "description": "Listing order; distance needs a location, score is the default ranking, by_ids requires business_ids",
+ "enum": [
+ "distance",
+ "score",
+ "top_rated",
+ "by_ids"
+ ],
+ "in": "query",
+ "name": "sort_order",
+ "type": "string",
+ "x-example": "distance"
+ },
+ {
+ "description": "Ranking personalisation for a stated client gender; reorders but does not filter",
+ "enum": [
+ "M",
+ "F",
+ "R"
+ ],
+ "in": "query",
+ "name": "gender",
+ "type": "string",
+ "x-example": "F"
+ },
+ {
+ "description": "Only businesses open now",
+ "in": "query",
+ "name": "open_now",
+ "type": "boolean",
+ "x-example": true
+ },
+ {
+ "description": "Only businesses running a special offer",
+ "in": "query",
+ "name": "has_special_offers",
+ "type": "boolean",
+ "x-example": true
+ },
+ {
+ "description": "Comma-separated business ids for a bulk lookup, at most 100; required with sort_order=by_ids",
+ "in": "query",
+ "name": "business_ids",
+ "type": "string",
+ "x-example": "421547,646877"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/booksy.businessesResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "List and filter Booksy businesses in one market",
+ "tags": [
+ "Booksy"
+ ]
+ }
+ },
+ "/booksy/categories": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns Booksy's (booksy.com) complete top-level marketplace category enum for one market, in the upstream's own order, with each category's integer id, name and icon URL. This is the discovery endpoint for the category parameter of booksy-businesses: the 18 values are every top-level search category the marketplace publishes (Hair 1, Nails 3, Massage 4, Wellness and spa 5, Barber 6, Skin care 7, Makeup 9, Pet services 11, Home services 17, Brows and lashes 177, Tattoos 179, Medical aesthetics 183, Dental and orthodontics 184, Hair removal 187, Piercing 190, Braids and locs 657, Health and fitness 658, Professional services 659), verified live for both the US and GB hosts. The list is returned as the host publishes it rather than from a pinned constant, so a taxonomy change is visible. Takes no parameters beyond the market.",
+ "operationId": "booksy-categories",
+ "parameters": [
+ {
+ "description": "Market host",
+ "enum": [
+ "ar",
+ "au",
+ "br",
+ "ca",
+ "cl",
+ "co",
+ "de",
+ "es",
+ "fr",
+ "gb",
+ "ie",
+ "it",
+ "mx",
+ "nl",
+ "pl",
+ "pt",
+ "us",
+ "za"
+ ],
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "us"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/booksy.categoriesResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "List Booksy's complete top-level category enum",
+ "tags": [
+ "Booksy"
+ ]
+ }
+ },
+ "/booksy/treatment-hints": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the treatments and businesses Booksy's (booksy.com) app API suggests for one search text, with each treatment's integer id, name, slug and type, and each suggested business's id, name, slug, web path token and address. This is the discovery step for the treatment parameter of booksy-businesses, and it is the only treatment-id surface the app API exposes. It is query-driven, not a complete value space: the response says query_driven=true because the upstream returns only what the query matches, and no route found returns the full treatment taxonomy, so a treatment id outside these answers can exist. Prefer seeding it with the service name you want (haircut, braids, nails, massage). A query that matches nothing answers an empty suggestions array rather than an error; a blank query is rejected.",
+ "operationId": "booksy-treatment-hints",
+ "parameters": [
+ {
+ "description": "Search text that seeds the hint lookup",
+ "in": "query",
+ "name": "query",
+ "required": true,
+ "type": "string",
+ "x-example": "haircut"
+ },
+ {
+ "description": "Market host",
+ "enum": [
+ "ar",
+ "au",
+ "br",
+ "ca",
+ "cl",
+ "co",
+ "de",
+ "es",
+ "fr",
+ "gb",
+ "ie",
+ "it",
+ "mx",
+ "nl",
+ "pl",
+ "pt",
+ "us",
+ "za"
+ ],
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "us"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/booksy.treatmentHintsResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Discover Booksy treatment ids for a query",
+ "tags": [
+ "Booksy"
+ ]
+ }
+ },
+ "/boots/search": {
+ "get": {
+ "description": "Returns one page of Boots UK's public product catalog, including product cards and live facets. Supply `q`, one or more hierarchical `category` keys, or both. Use repeatable `filter=facet_key:option_key` values from that response's dynamic facets, plus the dedicated price and stock controls. `sort` accepts `relevance`, `price_low_to_high`, `price_high_to_low`, `top_rated`, `best_seller`, or `newest`.",
+ "operationId": "boots-search",
+ "parameters": [
+ {
+ "description": "Free-text product query; required unless category is supplied",
+ "in": "query",
+ "name": "q",
+ "type": "string",
+ "x-example": "vitamin c"
+ },
+ {
+ "collectionFormat": "multi",
+ "description": "Repeat the exact category hierarchy keys from root through the desired leaf; required unless q is supplied",
+ "in": "query",
+ "items": {
+ "type": "string"
+ },
+ "name": "category",
+ "type": "array",
+ "x-example": "health & pharmacy"
+ },
+ {
+ "collectionFormat": "multi",
+ "description": "Repeat a dynamic facet filter as facet_key:option_key, using key/option values returned in facets; category, currentPrice, and inStock use their dedicated parameters",
+ "in": "query",
+ "items": {
+ "type": "string"
+ },
+ "name": "filter",
+ "type": "array",
+ "x-example": "brand:No7"
+ },
+ {
+ "description": "Inclusive minimum GBP price; may be combined with price_max",
+ "in": "query",
+ "name": "price_min",
+ "type": "number",
+ "x-example": 45
+ },
+ {
+ "description": "Inclusive maximum GBP price; may be combined with price_min",
+ "in": "query",
+ "name": "price_max",
+ "type": "number",
+ "x-example": 100
+ },
+ {
+ "description": "true hides out-of-stock items; false leaves stock unfiltered",
+ "in": "query",
+ "name": "in_stock",
+ "type": "boolean",
+ "x-example": true
+ },
+ {
+ "default": 1,
+ "description": "Page from 1 through 1000",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "default": 48,
+ "description": "Results per page from 1 through 48",
+ "in": "query",
+ "name": "page_size",
+ "type": "integer"
+ },
+ {
+ "default": "relevance",
+ "description": "Sort: relevance, price_low_to_high, price_high_to_low, top_rated, best_seller, or newest",
+ "enum": [
+ "relevance",
+ "price_low_to_high",
+ "price_high_to_low",
+ "top_rated",
+ "best_seller",
+ "newest"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/boots.searchResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Search Boots UK products and categories",
+ "tags": [
+ "Boots"
+ ]
+ }
+ },
+ "/boots/suggest": {
+ "get": {
+ "description": "Returns Boots UK's own public typeahead phrases for a partial product query. The suggestions are search terms only; pass one to boots-search's q parameter for product cards and live facets.",
+ "operationId": "boots-suggest",
+ "parameters": [
+ {
+ "description": "Partial product query",
+ "in": "query",
+ "name": "q",
+ "required": true,
+ "type": "string",
+ "x-example": "vitamin c"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/boots.suggestResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Boots UK search-box suggestions",
+ "tags": [
+ "Boots"
+ ]
+ }
+ },
+ "/bostonglobe/news": {
+ "get": {
+ "description": "Returns recent Boston Globe story metadata and summaries. Article bodies, sections, headlines-by-section, and author profiles are not exposed, and some stories require a subscription.",
+ "operationId": "bostonglobe-news",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.newsResponseDoc"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Boston Globe top stories",
+ "tags": [
+ "Boston Globe"
+ ]
+ }
+ },
+ "/boxofficemojo/brand": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns release rows from a Box Office Mojo brand page. Pass exactly one of `id`, `path`, or `url`.",
+ "operationId": "boxofficemojo-brand",
+ "parameters": [
+ {
+ "description": "Box Office Mojo brand id",
+ "in": "query",
+ "name": "id",
+ "type": "string",
+ "x-example": "bn3732077058"
+ },
+ {
+ "description": "Box Office Mojo brand path",
+ "in": "query",
+ "name": "path",
+ "type": "string",
+ "x-example": "/brand/bn3732077058/"
+ },
+ {
+ "description": "Absolute https://www.boxofficemojo.com brand URL",
+ "in": "query",
+ "name": "url",
+ "type": "string",
+ "x-example": "https://www.boxofficemojo.com/brand/bn3732077058/"
+ },
+ {
+ "description": "Sort field",
+ "enum": [
+ "grossToDate",
+ "maxNumTheaters",
+ "openingWeekendGross",
+ "openingNumTheaters",
+ "releaseDate"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Sort direction",
+ "enum": [
+ "asc",
+ "desc"
+ ],
+ "in": "query",
+ "name": "sortDir",
+ "type": "string"
+ },
+ {
+ "description": "Row offset for pagination (page size 100)",
+ "in": "query",
+ "name": "offset",
+ "type": "integer",
+ "x-example": 0
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/boxofficemojo.taxonomyDetailResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Box Office Mojo brand detail",
+ "tags": [
+ "Box Office Mojo"
+ ]
+ }
+ },
+ "/boxofficemojo/brands": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns Box Office Mojo's brand chart, ranked, with each brand's `name`, `id`, `path`, `url`, release count and lifetime gross (an integer in `lifetime_gross`, the displayed text in `lifetime_gross_raw`). Reorder with `sort` (`totalGross`, `numReleases` or `grossToDate`) and `sortDir` (`asc` or `desc`); they are echoed back only when applied.",
+ "operationId": "boxofficemojo-brands",
+ "parameters": [
+ {
+ "description": "Sort field",
+ "enum": [
+ "totalGross",
+ "numReleases",
+ "grossToDate"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Sort direction",
+ "enum": [
+ "asc",
+ "desc"
+ ],
+ "in": "query",
+ "name": "sortDir",
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/boxofficemojo.taxonomyListResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Box Office Mojo brand chart",
+ "tags": [
+ "Box Office Mojo"
+ ]
+ }
+ },
+ "/boxofficemojo/calendar": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns Box Office Mojo's domestic release schedule for one month, grouped by date. `year` (1921 to 2100) and `month` (1 to 12) are both required. Each release has its title, `release_url`, `distributor`, `scale`, `genres`, `cast` and poster image URLs when present.",
+ "operationId": "boxofficemojo-calendar",
+ "parameters": [
+ {
+ "description": "Calendar year, from 1921 through 2100",
+ "in": "query",
+ "name": "year",
+ "required": true,
+ "type": "integer",
+ "x-example": 2026
+ },
+ {
+ "description": "Calendar month, 1 through 12",
+ "in": "query",
+ "name": "month",
+ "required": true,
+ "type": "integer",
+ "x-example": 9
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/boxofficemojo.calendarResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Box Office Mojo domestic release schedule",
+ "tags": [
+ "Box Office Mojo"
+ ]
+ }
+ },
+ "/boxofficemojo/calendar/changes": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns Box Office Mojo's list of changes to the domestic release schedule, grouped by change date. `offset` pages through the list in steps of 30, from 0 to 780. Each change has the release, `distributor`, `scale`, `old_date` and `new_date`, and `range` shows the position in the list.",
+ "operationId": "boxofficemojo-calendar-changes",
+ "parameters": [
+ {
+ "description": "Changes page offset. Allowed values: 0, 30, 60, ... 780",
+ "in": "query",
+ "name": "offset",
+ "type": "integer",
+ "x-example": 0
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/boxofficemojo.calendarChangesResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Box Office Mojo domestic release schedule changes",
+ "tags": [
+ "Box Office Mojo"
+ ]
+ }
+ },
+ "/boxofficemojo/calendar/date": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the releases scheduled on one date in Box Office Mojo's domestic release schedule. `date` is required, in `YYYY-MM-DD` form. Each release has its title, `release_url`, `distributor`, `scale`, `genres`, `cast` and poster image URLs when present. A date with no scheduled releases returns a not-found error.",
+ "operationId": "boxofficemojo-calendar-date",
+ "parameters": [
+ {
+ "description": "Calendar date in YYYY-MM-DD format",
+ "in": "query",
+ "name": "date",
+ "required": true,
+ "type": "string",
+ "x-example": "2026-09-04"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/boxofficemojo.calendarDateResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Box Office Mojo domestic release schedule date",
+ "tags": [
+ "Box Office Mojo"
+ ]
+ }
+ },
+ "/boxofficemojo/date/domestic": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns rows from Box Office Mojo's domestic daily chart. Empty upstream daily pages return a typed not-found error rather than an empty success.",
+ "operationId": "boxofficemojo-date-domestic",
+ "parameters": [
+ {
+ "description": "Domestic box office date in YYYY-MM-DD format",
+ "in": "query",
+ "name": "date",
+ "required": true,
+ "type": "string",
+ "x-example": "2025-12-25"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/boxofficemojo.domesticDateResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Box Office Mojo domestic daily box office",
+ "tags": [
+ "Box Office Mojo"
+ ]
+ }
+ },
+ "/boxofficemojo/franchise": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns release rows from a Box Office Mojo franchise page. Pass exactly one of `id`, `path`, or `url`.",
+ "operationId": "boxofficemojo-franchise",
+ "parameters": [
+ {
+ "description": "Box Office Mojo franchise id",
+ "in": "query",
+ "name": "id",
+ "type": "string",
+ "x-example": "fr541495045"
+ },
+ {
+ "description": "Box Office Mojo franchise path",
+ "in": "query",
+ "name": "path",
+ "type": "string",
+ "x-example": "/franchise/fr541495045/"
+ },
+ {
+ "description": "Absolute https://www.boxofficemojo.com franchise URL",
+ "in": "query",
+ "name": "url",
+ "type": "string",
+ "x-example": "https://www.boxofficemojo.com/franchise/fr541495045/"
+ },
+ {
+ "description": "Sort field",
+ "enum": [
+ "grossToDate",
+ "maxNumTheaters",
+ "openingWeekendGross",
+ "openingNumTheaters",
+ "releaseDate"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Sort direction",
+ "enum": [
+ "asc",
+ "desc"
+ ],
+ "in": "query",
+ "name": "sortDir",
+ "type": "string"
+ },
+ {
+ "description": "Row offset for pagination (page size 100)",
+ "in": "query",
+ "name": "offset",
+ "type": "integer",
+ "x-example": 0
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/boxofficemojo.taxonomyDetailResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Box Office Mojo franchise detail",
+ "tags": [
+ "Box Office Mojo"
+ ]
+ }
+ },
+ "/boxofficemojo/franchises": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns Box Office Mojo's franchise chart, ranked, with each franchise's `name`, `id`, `path`, `url`, release count and lifetime gross (an integer in `lifetime_gross`, the displayed text in `lifetime_gross_raw`). Reorder with `sort` (`totalGross`, `numReleases` or `grossToDate`) and `sortDir` (`asc` or `desc`); they are echoed back only when applied.",
+ "operationId": "boxofficemojo-franchises",
+ "parameters": [
+ {
+ "description": "Sort field",
+ "enum": [
+ "totalGross",
+ "numReleases",
+ "grossToDate"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Sort direction",
+ "enum": [
+ "asc",
+ "desc"
+ ],
+ "in": "query",
+ "name": "sortDir",
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/boxofficemojo.taxonomyListResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Box Office Mojo franchise chart",
+ "tags": [
+ "Box Office Mojo"
+ ]
+ }
+ },
+ "/boxofficemojo/genre": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns release rows from a Box Office Mojo genre page. Pass exactly one of `id`, `path`, or `url`.",
+ "operationId": "boxofficemojo-genre",
+ "parameters": [
+ {
+ "description": "Box Office Mojo genre id",
+ "in": "query",
+ "name": "id",
+ "type": "string",
+ "x-example": "sg3621777665"
+ },
+ {
+ "description": "Box Office Mojo genre path",
+ "in": "query",
+ "name": "path",
+ "type": "string",
+ "x-example": "/genre/sg3621777665/"
+ },
+ {
+ "description": "Absolute https://www.boxofficemojo.com genre URL",
+ "in": "query",
+ "name": "url",
+ "type": "string",
+ "x-example": "https://www.boxofficemojo.com/genre/sg3621777665/"
+ },
+ {
+ "description": "Sort field",
+ "enum": [
+ "grossToDate",
+ "maxNumTheaters",
+ "openingWeekendGross",
+ "openingNumTheaters",
+ "releaseDate"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Sort direction",
+ "enum": [
+ "asc",
+ "desc"
+ ],
+ "in": "query",
+ "name": "sortDir",
+ "type": "string"
+ },
+ {
+ "description": "Row offset for pagination (page size 100)",
+ "in": "query",
+ "name": "offset",
+ "type": "integer",
+ "x-example": 0
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/boxofficemojo.taxonomyDetailResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Box Office Mojo genre detail",
+ "tags": [
+ "Box Office Mojo"
+ ]
+ }
+ },
+ "/boxofficemojo/genres": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns Box Office Mojo's genre chart, ranked, with each genre's `name`, `id`, `path`, `url`, release count and lifetime gross (an integer in `lifetime_gross`, the displayed text in `lifetime_gross_raw`). Reorder with `sort` (`totalGross`, `numTitles` or `grossToDate`) and `sortDir` (`asc` or `desc`); they are echoed back only when applied.",
+ "operationId": "boxofficemojo-genres",
+ "parameters": [
+ {
+ "description": "Sort field",
+ "enum": [
+ "totalGross",
+ "numTitles",
+ "grossToDate"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Sort direction",
+ "enum": [
+ "asc",
+ "desc"
+ ],
+ "in": "query",
+ "name": "sortDir",
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/boxofficemojo.taxonomyListResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Box Office Mojo genre chart",
+ "tags": [
+ "Box Office Mojo"
+ ]
+ }
+ },
+ "/boxofficemojo/lifetime-grosses": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns one page of Box Office Mojo's lifetime gross chart of movies. `area` is `worldwide` (default) or `domestic`, and `offset` pages in steps of 200 from 0 to 800. Each row has `rank`, `title`, `title_id`, `year` and `lifetime_gross` as an integer, with the displayed text in `lifetime_gross_raw`.",
+ "operationId": "boxofficemojo-lifetime-grosses",
+ "parameters": [
+ {
+ "description": "Chart area. Allowed values: worldwide, domestic",
+ "enum": [
+ "worldwide",
+ "domestic"
+ ],
+ "in": "query",
+ "name": "area",
+ "type": "string",
+ "x-example": "worldwide"
+ },
+ {
+ "description": "Chart page offset. Allowed values: 0, 200, 400, 600, 800",
+ "in": "query",
+ "name": "offset",
+ "type": "integer",
+ "x-example": 0
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/boxofficemojo.lifetimeGrossesResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Box Office Mojo lifetime gross chart",
+ "tags": [
+ "Box Office Mojo"
+ ]
+ }
+ },
+ "/boxofficemojo/release": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns Box Office Mojo release summary fields and domestic daily rows from a release page. Pass exactly one of `id`, `path`, or `url`.",
+ "operationId": "boxofficemojo-release",
+ "parameters": [
+ {
+ "description": "Box Office Mojo release id",
+ "in": "query",
+ "name": "id",
+ "type": "string",
+ "x-example": "rl3389031937"
+ },
+ {
+ "description": "Box Office Mojo release path",
+ "in": "query",
+ "name": "path",
+ "type": "string",
+ "x-example": "/release/rl3389031937/"
+ },
+ {
+ "description": "Absolute https://www.boxofficemojo.com release URL",
+ "in": "query",
+ "name": "url",
+ "type": "string",
+ "x-example": "https://www.boxofficemojo.com/release/rl3389031937/"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/boxofficemojo.releaseResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Box Office Mojo release detail",
+ "tags": [
+ "Box Office Mojo"
+ ]
+ }
+ },
+ "/boxofficemojo/release-group": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns market release rows grouped by region from a Box Office Mojo release-group page. Pass exactly one of `id`, `path`, or `url`.",
+ "operationId": "boxofficemojo-release-group",
+ "parameters": [
+ {
+ "description": "Box Office Mojo release-group id",
+ "in": "query",
+ "name": "id",
+ "type": "string",
+ "x-example": "gr3486798341"
+ },
+ {
+ "description": "Box Office Mojo release-group path",
+ "in": "query",
+ "name": "path",
+ "type": "string",
+ "x-example": "/releasegroup/gr3486798341/"
+ },
+ {
+ "description": "Absolute https://www.boxofficemojo.com release-group URL",
+ "in": "query",
+ "name": "url",
+ "type": "string",
+ "x-example": "https://www.boxofficemojo.com/releasegroup/gr3486798341/"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/boxofficemojo.releaseGroupResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Box Office Mojo release group detail",
+ "tags": [
+ "Box Office Mojo"
+ ]
+ }
+ },
+ "/boxofficemojo/showdown": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns release comparison metrics from a Box Office Mojo showdown page. Pass exactly one of `id`, `path`, or `url`.",
+ "operationId": "boxofficemojo-showdown",
+ "parameters": [
+ {
+ "description": "Box Office Mojo showdown id",
+ "in": "query",
+ "name": "id",
+ "type": "string",
+ "x-example": "sd943519236"
+ },
+ {
+ "description": "Box Office Mojo showdown path",
+ "in": "query",
+ "name": "path",
+ "type": "string",
+ "x-example": "/showdown/sd943519236/"
+ },
+ {
+ "description": "Absolute https://www.boxofficemojo.com showdown URL",
+ "in": "query",
+ "name": "url",
+ "type": "string",
+ "x-example": "https://www.boxofficemojo.com/showdown/sd943519236/"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/boxofficemojo.showdownResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Box Office Mojo showdown detail",
+ "tags": [
+ "Box Office Mojo"
+ ]
+ }
+ },
+ "/boxofficemojo/showdowns": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns Box Office Mojo's showdowns, which compare groups of movies. Each row has the showdown `name`, `showdown_id`, `path`, `url`, `num_releases`, `total_gross` and the `top_release` with its gross, when Box Office Mojo shows them. Takes no parameters.",
+ "operationId": "boxofficemojo-showdowns",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/boxofficemojo.showdownsResponseDoc"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Box Office Mojo showdowns",
+ "tags": [
+ "Box Office Mojo"
+ ]
+ }
+ },
+ "/boxofficemojo/title": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns Box Office Mojo title release-group and market-gross tables from a title page. Pass exactly one of `id`, `path`, or `url`.",
+ "operationId": "boxofficemojo-title",
+ "parameters": [
+ {
+ "description": "Box Office Mojo title id",
+ "in": "query",
+ "name": "id",
+ "type": "string",
+ "x-example": "tt0499549"
+ },
+ {
+ "description": "Box Office Mojo title path",
+ "in": "query",
+ "name": "path",
+ "type": "string",
+ "x-example": "/title/tt0499549/"
+ },
+ {
+ "description": "Absolute https://www.boxofficemojo.com title URL",
+ "in": "query",
+ "name": "url",
+ "type": "string",
+ "x-example": "https://www.boxofficemojo.com/title/tt0499549/"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/boxofficemojo.titleResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Box Office Mojo title detail",
+ "tags": [
+ "Box Office Mojo"
+ ]
+ }
+ },
+ "/boxofficemojo/weekend/domestic": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns rows from Box Office Mojo's domestic weekend chart. Empty upstream weekend pages return a typed not-found error rather than an empty success.",
+ "operationId": "boxofficemojo-weekend-domestic",
+ "parameters": [
+ {
+ "description": "Domestic weekend year, from 1982 through 2100",
+ "in": "query",
+ "name": "year",
+ "required": true,
+ "type": "integer",
+ "x-example": 2025
+ },
+ {
+ "description": "Weekend number, 1 through 53",
+ "in": "query",
+ "name": "week",
+ "required": true,
+ "type": "integer",
+ "x-example": 52
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/boxofficemojo.domesticWeekendResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Box Office Mojo domestic weekend box office",
+ "tags": [
+ "Box Office Mojo"
+ ]
+ }
+ },
+ "/boxofficemojo/weekend/domestic/by-distributor": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns distributor rows from Box Office Mojo's domestic weekend by-distributor chart. Empty upstream weekend pages return a typed not-found error rather than an empty success.",
+ "operationId": "boxofficemojo-weekend-domestic-by-distributor",
+ "parameters": [
+ {
+ "description": "Domestic weekend year, from 1982 through 2100",
+ "in": "query",
+ "name": "year",
+ "required": true,
+ "type": "integer",
+ "x-example": 2025
+ },
+ {
+ "description": "Weekend number, 1 through 53",
+ "in": "query",
+ "name": "week",
+ "required": true,
+ "type": "integer",
+ "x-example": 52
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/boxofficemojo.weekendDistributorResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Box Office Mojo domestic weekend by distributor",
+ "tags": [
+ "Box Office Mojo"
+ ]
+ }
+ },
+ "/boxofficemojo/weekend/domestic/estimates": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns estimate-vs-actual rows from Box Office Mojo's domestic weekend estimates chart. Empty upstream weekend pages return a typed not-found error rather than an empty success.",
+ "operationId": "boxofficemojo-weekend-domestic-estimates",
+ "parameters": [
+ {
+ "description": "Domestic weekend year, from 1982 through 2100",
+ "in": "query",
+ "name": "year",
+ "required": true,
+ "type": "integer",
+ "x-example": 2025
+ },
+ {
+ "description": "Weekend number, 1 through 53",
+ "in": "query",
+ "name": "week",
+ "required": true,
+ "type": "integer",
+ "x-example": 52
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/boxofficemojo.weekendEstimatesResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Box Office Mojo domestic weekend estimates",
+ "tags": [
+ "Box Office Mojo"
+ ]
+ }
+ },
+ "/boxofficemojo/year/domestic": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the Box Office Mojo domestic box office chart for one year. `year` is required and runs from 1977 to 2100. Each row has `rank`, `release`, `release_date`, `distributor`, `theaters`, `gross`, `total_gross` and `new_this_year`, each gross also with its displayed text in a `_raw` field.",
+ "operationId": "boxofficemojo-year-domestic",
+ "parameters": [
+ {
+ "description": "Domestic box office year, from 1977 through 2100",
+ "in": "query",
+ "name": "year",
+ "required": true,
+ "type": "integer",
+ "x-example": 2025
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/boxofficemojo.domesticYearResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Box Office Mojo domestic yearly box office",
+ "tags": [
+ "Box Office Mojo"
+ ]
+ }
+ },
+ "/boxofficemojo/year/worldwide": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the Box Office Mojo worldwide box office chart for one year. `year` is required and runs from 1977 to 2100. Each row is a release group with its `rank`, `worldwide`, `domestic` and `foreign` grosses, the domestic and foreign shares, and `title_id`; each gross also has its displayed text in a `_raw` field.",
+ "operationId": "boxofficemojo-year-worldwide",
+ "parameters": [
+ {
+ "description": "Box office year, from 1977 through 2100",
+ "in": "query",
+ "name": "year",
+ "required": true,
+ "type": "integer",
+ "x-example": 2025
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/boxofficemojo.worldwideYearResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Box Office Mojo worldwide yearly box office",
+ "tags": [
+ "Box Office Mojo"
+ ]
+ }
+ },
+ "/brand/retrieve": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns a brand profile for a domain (title, description, brand colors as hex, logos and icons ranked best-first, backdrops, socials, links, and any schema.org organization data). Enrichment-only fields that are not present in the page markup are returned as null.",
+ "operationId": "brand-retrieve",
+ "parameters": [
+ {
+ "description": "Domain to retrieve brand data for, e.g. context.dev",
+ "in": "query",
+ "name": "domain",
+ "required": true,
+ "type": "string",
+ "x-example": "context.dev"
+ },
+ {
+ "description": "Accepted for compatibility; not applied in HTML-only mode",
+ "in": "query",
+ "name": "force_language",
+ "type": "string"
+ },
+ {
+ "description": "Optimize for speed by skipping schema.org and footer-link extraction",
+ "in": "query",
+ "name": "maxSpeed",
+ "type": "boolean"
+ },
+ {
+ "description": "Cache freshness window in milliseconds, clamps to 1 day..1 year",
+ "in": "query",
+ "name": "maxAgeMs",
+ "type": "integer"
+ },
+ {
+ "description": "Upstream fetch timeout in milliseconds, clamps to 1000..300000",
+ "in": "query",
+ "name": "timeoutMS",
+ "type": "integer"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/brand.retrieveResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "408": {
+ "description": "Request Timeout",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Retrieve brand data by domain",
+ "tags": [
+ "Brand"
+ ]
+ }
+ },
+ "/brave/images": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns Brave image search results for a query string. Locale defaults to country=us and lang=en-us. Returns 503 when Brave serves a challenge page or unusable results.",
+ "operationId": "brave-images",
+ "parameters": [
+ {
+ "description": "Search query",
+ "in": "query",
+ "name": "q",
+ "required": true,
+ "type": "string",
+ "x-example": "openai"
+ },
+ {
+ "description": "Zero-based Brave result page; defaults to 0",
+ "in": "query",
+ "minimum": 0,
+ "name": "offset",
+ "type": "integer",
+ "x-example": 0
+ },
+ {
+ "description": "Results to return; defaults to 10, clamped to 1..50",
+ "in": "query",
+ "maximum": 50,
+ "minimum": 1,
+ "name": "count",
+ "type": "integer",
+ "x-example": 10
+ },
+ {
+ "description": "Brave result country; defaults to us",
+ "enum": [
+ "all",
+ "ar",
+ "at",
+ "au",
+ "be",
+ "br",
+ "ca",
+ "ch",
+ "cl",
+ "cn",
+ "de",
+ "dk",
+ "es",
+ "fi",
+ "fr",
+ "gb",
+ "gr",
+ "hk",
+ "id",
+ "in",
+ "it",
+ "jp",
+ "kr",
+ "mx",
+ "my",
+ "nl",
+ "no",
+ "nz",
+ "ph",
+ "pl",
+ "pt",
+ "ru",
+ "sa",
+ "se",
+ "sg",
+ "tr",
+ "tw",
+ "us",
+ "za"
+ ],
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "us"
+ },
+ {
+ "description": "Brave UI language; defaults to en-us",
+ "enum": [
+ "de-de",
+ "en-ca",
+ "en-gb",
+ "en-in",
+ "en-us",
+ "fi-fi",
+ "fr-ca",
+ "fr-fr",
+ "ja-jp",
+ "pt-br",
+ "sq-al",
+ "sw-ke",
+ "zh-tw"
+ ],
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en-us"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/brave.imagesResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Missing or invalid query",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "No results found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Rate limit exceeded",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Brave upstream request failed",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Search Brave image results",
+ "tags": [
+ "Brave"
+ ]
+ }
+ },
+ "/brave/news": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns Brave news search results for a query string. Locale defaults to country=us and lang=en-us. Returns 503 when Brave serves a challenge page or unusable results.",
+ "operationId": "brave-news",
+ "parameters": [
+ {
+ "description": "Search query",
+ "in": "query",
+ "name": "q",
+ "required": true,
+ "type": "string",
+ "x-example": "openai"
+ },
+ {
+ "description": "Zero-based Brave result page; defaults to 0",
+ "in": "query",
+ "minimum": 0,
+ "name": "offset",
+ "type": "integer",
+ "x-example": 0
+ },
+ {
+ "description": "Results to return; defaults to 10, clamped to 1..50",
+ "in": "query",
+ "maximum": 50,
+ "minimum": 1,
+ "name": "count",
+ "type": "integer",
+ "x-example": 10
+ },
+ {
+ "description": "Brave result country; defaults to us",
+ "enum": [
+ "all",
+ "ar",
+ "at",
+ "au",
+ "be",
+ "br",
+ "ca",
+ "ch",
+ "cl",
+ "cn",
+ "de",
+ "dk",
+ "es",
+ "fi",
+ "fr",
+ "gb",
+ "gr",
+ "hk",
+ "id",
+ "in",
+ "it",
+ "jp",
+ "kr",
+ "mx",
+ "my",
+ "nl",
+ "no",
+ "nz",
+ "ph",
+ "pl",
+ "pt",
+ "ru",
+ "sa",
+ "se",
+ "sg",
+ "tr",
+ "tw",
+ "us",
+ "za"
+ ],
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "us"
+ },
+ {
+ "description": "Brave UI language; defaults to en-us",
+ "enum": [
+ "de-de",
+ "en-ca",
+ "en-gb",
+ "en-in",
+ "en-us",
+ "fi-fi",
+ "fr-ca",
+ "fr-fr",
+ "ja-jp",
+ "pt-br",
+ "sq-al",
+ "sw-ke",
+ "zh-tw"
+ ],
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en-us"
+ },
+ {
+ "description": "Preset time filter: any, day, week, month, year, or custom",
+ "enum": [
+ "any",
+ "day",
+ "week",
+ "month",
+ "year",
+ "custom"
+ ],
+ "in": "query",
+ "name": "time_range",
+ "type": "string"
+ },
+ {
+ "description": "Custom start date in YYYY-MM-DD; requires date_to",
+ "in": "query",
+ "name": "date_from",
+ "type": "string",
+ "x-example": "2026-03-01"
+ },
+ {
+ "description": "Custom end date in YYYY-MM-DD; requires date_from",
+ "in": "query",
+ "name": "date_to",
+ "type": "string",
+ "x-example": "2026-03-30"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/brave.newsResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Missing or invalid query",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "No results found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Rate limit exceeded",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Brave upstream request failed",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Search Brave news results",
+ "tags": [
+ "Brave"
+ ]
+ }
+ },
+ "/brave/search": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns web search results from Brave Search for a query string, along with offset-based pagination, related queries, discussions, videos, and the right-side knowledge card when Brave includes one. Use time_range for preset ranges or date_from/date_to for a custom YYYY-MM-DD range. Locale defaults to country=us and lang=en-us.",
+ "operationId": "brave-search",
+ "parameters": [
+ {
+ "description": "Search query",
+ "in": "query",
+ "name": "q",
+ "required": true,
+ "type": "string",
+ "x-example": "openai"
+ },
+ {
+ "description": "Zero-based Brave result page",
+ "in": "query",
+ "minimum": 0,
+ "name": "offset",
+ "type": "integer",
+ "x-example": 1
+ },
+ {
+ "description": "Brave result country; defaults to us",
+ "enum": [
+ "all",
+ "ar",
+ "at",
+ "au",
+ "be",
+ "br",
+ "ca",
+ "ch",
+ "cl",
+ "cn",
+ "de",
+ "dk",
+ "es",
+ "fi",
+ "fr",
+ "gb",
+ "gr",
+ "hk",
+ "id",
+ "in",
+ "it",
+ "jp",
+ "kr",
+ "mx",
+ "my",
+ "nl",
+ "no",
+ "nz",
+ "ph",
+ "pl",
+ "pt",
+ "ru",
+ "sa",
+ "se",
+ "sg",
+ "tr",
+ "tw",
+ "us",
+ "za"
+ ],
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "us"
+ },
+ {
+ "description": "Brave UI language; defaults to en-us",
+ "enum": [
+ "de-de",
+ "en-ca",
+ "en-gb",
+ "en-in",
+ "en-us",
+ "fi-fi",
+ "fr-ca",
+ "fr-fr",
+ "ja-jp",
+ "pt-br",
+ "sq-al",
+ "sw-ke",
+ "zh-tw"
+ ],
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en-us"
+ },
+ {
+ "description": "Preset time filter: any, day, week, month, year, or custom",
+ "enum": [
+ "any",
+ "day",
+ "week",
+ "month",
+ "year",
+ "custom"
+ ],
+ "in": "query",
+ "name": "time_range",
+ "type": "string"
+ },
+ {
+ "description": "Custom start date in YYYY-MM-DD; requires date_to",
+ "in": "query",
+ "name": "date_from",
+ "type": "string",
+ "x-example": "2026-03-01"
+ },
+ {
+ "description": "Custom end date in YYYY-MM-DD; requires date_from",
+ "in": "query",
+ "name": "date_to",
+ "type": "string",
+ "x-example": "2026-03-30"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/brave.searchResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Missing or invalid query",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "No results found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Rate limit exceeded",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Search Brave",
+ "tags": [
+ "Brave"
+ ]
+ }
+ },
+ "/brave/suggest": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns Brave autosuggest query completions for a query prefix. Locale defaults to country=us and lang=en-us. Suggestions are fetched from public Brave Search suggest JSON and trimmed to the requested count. `rich=true` adds entity metadata (name, description, category, image) where Brave resolves a suggestion to a known entity.",
+ "operationId": "brave-suggest",
+ "parameters": [
+ {
+ "description": "Search query prefix",
+ "in": "query",
+ "name": "q",
+ "required": true,
+ "type": "string",
+ "x-example": "openai"
+ },
+ {
+ "description": "Suggestions to return; defaults to 10, clamped to 1..12",
+ "in": "query",
+ "maximum": 12,
+ "minimum": 1,
+ "name": "count",
+ "type": "integer",
+ "x-example": 10
+ },
+ {
+ "description": "Brave result country; defaults to us",
+ "enum": [
+ "all",
+ "ar",
+ "at",
+ "au",
+ "be",
+ "br",
+ "ca",
+ "ch",
+ "cl",
+ "cn",
+ "de",
+ "dk",
+ "es",
+ "fi",
+ "fr",
+ "gb",
+ "gr",
+ "hk",
+ "id",
+ "in",
+ "it",
+ "jp",
+ "kr",
+ "mx",
+ "my",
+ "nl",
+ "no",
+ "nz",
+ "ph",
+ "pl",
+ "pt",
+ "ru",
+ "sa",
+ "se",
+ "sg",
+ "tr",
+ "tw",
+ "us",
+ "za"
+ ],
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "us"
+ },
+ {
+ "description": "Brave UI language; defaults to en-us",
+ "enum": [
+ "de-de",
+ "en-ca",
+ "en-gb",
+ "en-in",
+ "en-us",
+ "fi-fi",
+ "fr-ca",
+ "fr-fr",
+ "ja-jp",
+ "pt-br",
+ "sq-al",
+ "sw-ke",
+ "zh-tw"
+ ],
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en-us"
+ },
+ {
+ "description": "Add entity name, description, category, and image to suggestions Brave resolves to a known entity; defaults to false",
+ "in": "query",
+ "name": "rich",
+ "type": "boolean",
+ "x-example": false
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/brave.suggestResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Missing or invalid query",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Rate limit exceeded",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Brave upstream request failed",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Suggest Brave search queries",
+ "tags": [
+ "Brave"
+ ]
+ }
+ },
+ "/brave/videos": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns the live handbags category directory, sort keys, price presets, and filter values discovered from 1stDibs. Returned category slugs are valid for firstdibs-search.",
- "operationId": "firstdibs-categories",
+ "description": "Returns Brave video search results for a query string. Locale defaults to country=us and lang=en-us. Returns 503 when Brave serves a challenge page or unusable results.",
+ "operationId": "brave-videos",
+ "parameters": [
+ {
+ "description": "Search query",
+ "in": "query",
+ "name": "q",
+ "required": true,
+ "type": "string",
+ "x-example": "openai"
+ },
+ {
+ "description": "Zero-based Brave result page; defaults to 0",
+ "in": "query",
+ "minimum": 0,
+ "name": "offset",
+ "type": "integer",
+ "x-example": 0
+ },
+ {
+ "description": "Results to return; defaults to 10, clamped to 1..50",
+ "in": "query",
+ "maximum": 50,
+ "minimum": 1,
+ "name": "count",
+ "type": "integer",
+ "x-example": 10
+ },
+ {
+ "description": "Brave result country; defaults to us",
+ "enum": [
+ "all",
+ "ar",
+ "at",
+ "au",
+ "be",
+ "br",
+ "ca",
+ "ch",
+ "cl",
+ "cn",
+ "de",
+ "dk",
+ "es",
+ "fi",
+ "fr",
+ "gb",
+ "gr",
+ "hk",
+ "id",
+ "in",
+ "it",
+ "jp",
+ "kr",
+ "mx",
+ "my",
+ "nl",
+ "no",
+ "nz",
+ "ph",
+ "pl",
+ "pt",
+ "ru",
+ "sa",
+ "se",
+ "sg",
+ "tr",
+ "tw",
+ "us",
+ "za"
+ ],
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "us"
+ },
+ {
+ "description": "Brave UI language; defaults to en-us",
+ "enum": [
+ "de-de",
+ "en-ca",
+ "en-gb",
+ "en-in",
+ "en-us",
+ "fi-fi",
+ "fr-ca",
+ "fr-fr",
+ "ja-jp",
+ "pt-br",
+ "sq-al",
+ "sw-ke",
+ "zh-tw"
+ ],
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en-us"
+ },
+ {
+ "description": "Preset time filter: any, day, week, month, year, or custom",
+ "enum": [
+ "any",
+ "day",
+ "week",
+ "month",
+ "year",
+ "custom"
+ ],
+ "in": "query",
+ "name": "time_range",
+ "type": "string"
+ },
+ {
+ "description": "Custom start date in YYYY-MM-DD; requires date_to",
+ "in": "query",
+ "name": "date_from",
+ "type": "string",
+ "x-example": "2026-03-01"
+ },
+ {
+ "description": "Custom end date in YYYY-MM-DD; requires date_from",
+ "in": "query",
+ "name": "date_to",
+ "type": "string",
+ "x-example": "2026-03-30"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/brave.videosResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Missing or invalid query",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "No results found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Rate limit exceeded",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Brave upstream request failed",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Search Brave video results",
+ "tags": [
+ "Brave"
+ ]
+ }
+ },
+ "/breitbart/article": {
+ "get": {
+ "description": "Returns a Breitbart article by `url`, a canonical `https://www.breitbart.com//////` address. The response has the title, description, publication and update times, section, image, `authors` and the body `paragraphs`.",
+ "operationId": "breitbart-article",
+ "parameters": [
+ {
+ "description": "Canonical Breitbart article URL",
+ "in": "query",
+ "name": "url",
+ "required": true,
+ "type": "string",
+ "x-example": "https://www.breitbart.com/politics/2026/09/22/example-story/"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.articleResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Breitbart article content",
+ "tags": [
+ "Breitbart"
+ ]
+ }
+ },
+ "/breitbart/author": {
+ "get": {
+ "description": "Returns one Breitbart author/contributor's public profile: name, a short bio/role line when the page carries one, and their recent articles.",
+ "operationId": "breitbart-author",
+ "parameters": [
+ {
+ "description": "Author slug, e.g. joshua-klein",
+ "in": "query",
+ "name": "slug",
+ "type": "string",
+ "x-example": "joshua-klein"
+ },
+ {
+ "description": "Canonical breitbart.com/author// URL, optionally with a /page// segment; alternative to slug",
+ "in": "query",
+ "name": "url",
+ "type": "string",
+ "x-example": "https://www.breitbart.com/author/joshua-klein/"
+ },
+ {
+ "description": "1-based page of articles to return; defaults to 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer",
+ "x-example": 1
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.breitbartAuthorResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get a Breitbart author profile",
+ "tags": [
+ "Breitbart"
+ ]
+ }
+ },
+ "/breitbart/headlines": {
+ "get": {
+ "description": "Returns current headlines from one Breitbart section hub. `section` is required and takes one of 21 slugs, such as `politics`, `border`, `the-media` or `europe`. The `world-news`, `news` and `on-the-hill-exclusive-video` hubs aggregate stories, so their links point to articles under whichever section owns each story.",
+ "operationId": "breitbart-headlines",
+ "parameters": [
+ {
+ "description": "Breitbart section slug",
+ "enum": [
+ "politics",
+ "economy",
+ "border",
+ "immigration",
+ "national-security",
+ "entertainment",
+ "sports",
+ "tech",
+ "the-media",
+ "radio",
+ "clips",
+ "faith",
+ "world-news",
+ "europe",
+ "middle-east",
+ "africa",
+ "asia",
+ "latin-america",
+ "america250",
+ "on-the-hill-exclusive-video",
+ "news"
+ ],
+ "in": "query",
+ "name": "section",
+ "required": true,
+ "type": "string",
+ "x-example": "politics"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.headlinesResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Breitbart section headlines",
+ "tags": [
+ "Breitbart"
+ ]
+ }
+ },
+ "/breitbart/news": {
+ "get": {
+ "description": "Returns the latest Breitbart top stories from across the site, with no input needed. Each item has a title and canonical URL, and may also carry a summary, publication time, author and image.",
+ "operationId": "breitbart-news",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.newsResponseDoc"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Breitbart top stories",
+ "tags": [
+ "Breitbart"
+ ]
+ }
+ },
+ "/breitbart/sections": {
+ "get": {
+ "description": "Lists the 21 Breitbart sections accepted by `breitbart-headlines`, including `politics`, `economy`, `border`, `national-security`, `the-media`, `world-news` and `america250`. Each has a `slug`, a display `name` and the section's page `url`. The list was verified on 2026-09-23.",
+ "operationId": "breitbart-sections",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.sectionsResponseDoc"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Breitbart sections",
+ "tags": [
+ "Breitbart"
+ ]
+ }
+ },
+ "/bringatrailer/filters": {
+ "get": {
+ "description": "Returns the complete value space of every bringatrailer_results filter: vehicle categories, decades, origins, regions with their countries, sort orders, results, auction types, recency windows, maximum-bid presets and the per_page range.",
+ "operationId": "bringatrailer-filters",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bringatrailer.filtersResponseDoc"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "List Bring a Trailer filter values",
+ "tags": [
+ "Bring a Trailer"
+ ]
+ }
+ },
+ "/bringatrailer/listing": {
+ "get": {
+ "description": "Returns one auction's detail: status, sold or high bid, end time, bid count, comments, views, watchers, seller, location, chassis, listing details, description and lead image. Pass the slug from /listing/{slug}/ or the full listing URL returned by the other endpoints. bid_history=true adds every bid (amount, currency, time, and any soft-close end-time extension) oldest first, without bidder names; it needs no extra request.",
+ "operationId": "bringatrailer-listing",
+ "parameters": [
+ {
+ "description": "Listing slug or bringatrailer.com listing URL",
+ "in": "query",
+ "name": "slug",
+ "required": true,
+ "type": "string",
+ "x-example": "1978-ford-f-150-122"
+ },
+ {
+ "description": "Add the bid-by-bid history, without bidder names",
+ "in": "query",
+ "name": "bid_history",
+ "type": "boolean"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/bringatrailer.listingResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get one Bring a Trailer auction",
+ "tags": [
+ "Bring a Trailer"
+ ]
+ }
+ },
+ "/bringatrailer/live": {
+ "get": {
+ "description": "Returns the auctions currently open on Bring a Trailer (about 1,300) with current bid, end time and attributes. Filter by title text, category, decade, country, ending window, maximum current bid and the premium and no-reserve flags; sort by ending soon, highest bid or lowest bid.",
+ "operationId": "bringatrailer-live",
+ "parameters": [
+ {
+ "description": "Case-insensitive text that must appear in the title",
+ "in": "query",
+ "name": "q",
+ "type": "string",
+ "x-example": "porsche"
+ },
+ {
+ "description": "Comma-separated category ids from bringatrailer_filters",
+ "in": "query",
+ "name": "category",
+ "type": "string"
+ },
+ {
+ "description": "Comma-separated decade ids from bringatrailer_filters",
+ "in": "query",
+ "name": "era",
+ "type": "string"
+ },
+ {
+ "description": "Comma-separated ISO 3166-1 alpha-2 country codes",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "US"
+ },
+ {
+ "description": "Only auctions ending within this many hours",
+ "enum": [
+ 1,
+ 4,
+ 24,
+ 120,
+ 168
+ ],
+ "in": "query",
+ "name": "ending_within",
+ "type": "integer"
+ },
+ {
+ "description": "Only auctions whose current bid is at most this many USD",
+ "in": "query",
+ "minimum": 0,
+ "name": "max_bid",
+ "type": "integer"
+ },
+ {
+ "description": "Only no-reserve auctions",
+ "in": "query",
+ "name": "no_reserve",
+ "type": "boolean"
+ },
+ {
+ "description": "Only premium auctions",
+ "in": "query",
+ "name": "premium",
+ "type": "boolean"
+ },
+ {
+ "default": "ending_soon",
+ "description": "Sort order",
+ "enum": [
+ "ending_soon",
+ "highest_bid",
+ "lowest_bid"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "default": 1,
+ "description": "1-based page",
+ "in": "query",
+ "minimum": 1,
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "default": 36,
+ "description": "Results per page",
+ "in": "query",
+ "maximum": 50,
+ "minimum": 10,
+ "name": "per_page",
+ "type": "integer"
+ }
+ ],
"produces": [
"application/json"
],
@@ -271926,7 +341887,19 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/firstdibs.categoriesDoc"
+ "$ref": "#/definitions/bringatrailer.liveResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
}
},
"503": {
@@ -271941,25 +341914,30 @@
"ApiKeyAuth": []
}
],
- "summary": "List 1stDibs categories and filters",
+ "summary": "List live Bring a Trailer auctions",
"tags": [
- "1stDibs"
+ "Bring a Trailer"
]
}
},
- "/1stdibs/designers": {
+ "/bringatrailer/makes": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Lists the designer filter values found on a 1stDibs category page, with a `count` and, for each designer, its `name`, `slug` and `url`. `category` is optional and comes from `firstdibs-categories`. Each `slug` can be used as the designer filter in `firstdibs-search`.",
- "operationId": "firstdibs-designers",
+ "description": "Returns Bring a Trailer's Makes and Models Directory: every make with its model pages and the numeric model_id that bringatrailer_results accepts. Narrow with q (matches make or model names) or make (exact slug).",
+ "operationId": "bringatrailer-makes",
"parameters": [
{
- "description": "Category slug from firstdibs-categories",
+ "description": "Case-insensitive text matched against make and model names",
"in": "query",
- "name": "category",
- "type": "string"
+ "name": "q",
+ "type": "string",
+ "x-example": "911"
+ },
+ {
+ "description": "Exact make slug",
+ "in": "query",
+ "name": "make",
+ "type": "string",
+ "x-example": "porsche"
}
],
"produces": [
@@ -271969,7 +341947,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/firstdibs.designersDoc"
+ "$ref": "#/definitions/bringatrailer.makesResponseDoc"
}
},
"400": {
@@ -271978,6 +341956,12 @@
"$ref": "#/definitions/app.Response"
}
},
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
"503": {
"description": "Service Unavailable",
"schema": {
@@ -271990,27 +341974,121 @@
"ApiKeyAuth": []
}
],
- "summary": "List 1stDibs designers",
+ "summary": "Bring a Trailer makes and models",
"tags": [
- "1stDibs"
+ "Bring a Trailer"
]
}
},
- "/1stdibs/product": {
+ "/bringatrailer/price-history": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns the details of one 1stDibs product, identified by its product `url`: `name`, `brand`, `category`, `description`, `images`, `price` with `currency`, and the `in_stock` flag. The price is in USD and is present only when 1stDibs shows one.",
- "operationId": "firstdibs-product",
+ "description": "Returns the price chart Bring a Trailer draws for a make or a model: summaries (count, min, median, mean, max) of sold and reserve-not-met final bids, sold prices by closing year, and the most recent auctions as dated points. Exactly one of make and model_id is required; the same filters as bringatrailer_results narrow the chart. Bring a Trailer returns at most the most recent 10,000 auctions, reported as truncated. Large makes can take up to about 50 seconds.",
+ "operationId": "bringatrailer-price-history",
"parameters": [
{
- "description": "1stDibs product URL",
+ "description": "Make name from bringatrailer_makes; exactly one of make and model_id is required",
"in": "query",
- "name": "url",
- "required": true,
+ "name": "make",
"type": "string",
- "x-example": "https://www.1stdibs.com/jewelry/necklaces/chain-necklaces/vintage-gucci-necklace-double-g-gucci-logo-sterling-silver-pendant/id-j_29181182/"
+ "x-example": "Porsche"
+ },
+ {
+ "description": "Numeric model id from bringatrailer_makes; exactly one of make and model_id is required",
+ "in": "query",
+ "name": "model_id",
+ "type": "integer",
+ "x-example": 65064925
+ },
+ {
+ "description": "Keyword that must appear in the listing",
+ "in": "query",
+ "name": "q",
+ "type": "string"
+ },
+ {
+ "description": "Keyword that must not appear in the listing",
+ "in": "query",
+ "name": "exclude",
+ "type": "string"
+ },
+ {
+ "description": "Comma-separated category ids from bringatrailer_filters",
+ "in": "query",
+ "name": "category",
+ "type": "string"
+ },
+ {
+ "description": "Comma-separated decade ids from bringatrailer_filters",
+ "in": "query",
+ "name": "era",
+ "type": "string"
+ },
+ {
+ "description": "Comma-separated origin ids from bringatrailer_filters",
+ "in": "query",
+ "name": "origin",
+ "type": "string"
+ },
+ {
+ "description": "Comma-separated ISO 3166-1 alpha-2 country codes",
+ "in": "query",
+ "name": "country",
+ "type": "string"
+ },
+ {
+ "description": "Auction type",
+ "enum": [
+ "premium",
+ "noreserve"
+ ],
+ "in": "query",
+ "name": "type",
+ "type": "string"
+ },
+ {
+ "description": "Closed within",
+ "enum": [
+ "7D",
+ "30D",
+ "1Y",
+ "2Y",
+ "5Y"
+ ],
+ "in": "query",
+ "name": "recency",
+ "type": "string"
+ },
+ {
+ "description": "Minimum model year",
+ "in": "query",
+ "maximum": 2100,
+ "minimum": 1885,
+ "name": "min_year",
+ "type": "integer"
+ },
+ {
+ "description": "Maximum model year",
+ "in": "query",
+ "maximum": 2100,
+ "minimum": 1885,
+ "name": "max_year",
+ "type": "integer"
+ },
+ {
+ "description": "Maximum final bid in USD",
+ "in": "query",
+ "minimum": 0,
+ "name": "max_bid",
+ "type": "integer"
+ },
+ {
+ "default": 100,
+ "description": "Most recent auctions to list in points; 0 returns only the summaries",
+ "in": "query",
+ "maximum": 1000,
+ "minimum": 0,
+ "name": "points_limit",
+ "type": "integer"
}
],
"produces": [
@@ -272020,7 +342098,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/firstdibs.productDoc"
+ "$ref": "#/definitions/bringatrailer.priceHistoryResponseDoc"
}
},
"400": {
@@ -272029,8 +342107,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -272047,137 +342125,136 @@
"ApiKeyAuth": []
}
],
- "summary": "Get a 1stDibs product",
+ "summary": "Bring a Trailer auction price history",
"tags": [
- "1stDibs"
+ "Bring a Trailer"
]
}
},
- "/1stdibs/search": {
+ "/bringatrailer/results": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Searches or browses 1stDibs handbags and purses with category, designer, price, sale, color, period, location, gender, origin, seller, and sort filters.",
- "operationId": "firstdibs-search",
+ "description": "Pages through Bring a Trailer's archive of completed collector-vehicle auctions with final bids and sold or reserve-not-met results. Filter by make or model (ids from bringatrailer_makes), keyword, category, decade, origin, country, result, premium or no-reserve type, recency, model-year range, maximum bid and sort order. Every filter value is listed by bringatrailer_filters.",
+ "operationId": "bringatrailer-results",
"parameters": [
{
- "description": "Free-text search",
+ "description": "Make name from bringatrailer_makes; mutually exclusive with model_id",
"in": "query",
- "name": "q",
- "type": "string"
+ "name": "make",
+ "type": "string",
+ "x-example": "Porsche"
},
{
- "description": "Category slug from firstdibs-categories",
+ "description": "Numeric model id from bringatrailer_makes; mutually exclusive with make",
"in": "query",
- "name": "category",
- "type": "string"
+ "name": "model_id",
+ "type": "integer",
+ "x-example": 65064925
},
{
- "description": "Designer slug from firstdibs-designers",
+ "description": "Keyword that must appear in the listing",
"in": "query",
- "name": "designer",
- "type": "string"
+ "name": "q",
+ "type": "string",
+ "x-example": "turbo"
},
{
- "description": "Color value",
+ "description": "Keyword that must not appear in the listing",
"in": "query",
- "name": "color",
+ "name": "exclude",
"type": "string"
},
{
- "description": "Period value",
+ "description": "Comma-separated category ids from bringatrailer_filters",
"in": "query",
- "name": "period",
- "type": "string"
+ "name": "category",
+ "type": "string",
+ "x-example": "434"
},
{
- "description": "Item location",
+ "description": "Comma-separated decade ids from bringatrailer_filters",
"in": "query",
- "name": "location",
- "type": "string"
+ "name": "era",
+ "type": "string",
+ "x-example": "1990"
},
{
- "description": "Gender value",
+ "description": "Comma-separated origin ids from bringatrailer_filters",
"in": "query",
- "name": "gender",
- "type": "string"
+ "name": "origin",
+ "type": "string",
+ "x-example": "7"
},
{
- "description": "Place-of-origin value",
+ "description": "Comma-separated ISO 3166-1 alpha-2 country codes",
"in": "query",
- "name": "origin",
- "type": "string"
+ "name": "country",
+ "type": "string",
+ "x-example": "US,CA"
},
{
- "description": "Price preset",
+ "description": "Auction result",
"enum": [
- "all price",
- "[* TO 999]",
- "[* TO 1999]",
- "[* TO 4999]",
- "[5000 TO *]"
+ "sold",
+ "unsold"
],
"in": "query",
- "name": "price",
+ "name": "result",
"type": "string"
},
{
- "description": "Minimum price",
- "in": "query",
- "name": "price_min",
- "type": "number"
- },
- {
- "description": "Maximum price",
- "in": "query",
- "name": "price_max",
- "type": "number"
- },
- {
- "description": "On-sale listings only",
- "in": "query",
- "name": "on_sale",
- "type": "boolean"
- },
- {
- "description": "Listings with measurements",
+ "description": "Auction type",
+ "enum": [
+ "premium",
+ "noreserve"
+ ],
"in": "query",
- "name": "measurements",
- "type": "boolean"
+ "name": "type",
+ "type": "string"
},
{
- "description": "Listings added this week",
+ "description": "Closed within",
+ "enum": [
+ "7D",
+ "30D",
+ "1Y",
+ "2Y",
+ "5Y"
+ ],
"in": "query",
- "name": "this_week",
- "type": "boolean"
+ "name": "recency",
+ "type": "string"
},
{
- "description": "Returnable items only",
+ "description": "Minimum model year",
"in": "query",
- "name": "returnable",
- "type": "boolean"
+ "maximum": 2100,
+ "minimum": 1885,
+ "name": "min_year",
+ "type": "integer"
},
{
- "description": "Recognized seller listings only",
+ "description": "Maximum model year",
"in": "query",
- "name": "recognized_seller",
- "type": "boolean"
+ "maximum": 2100,
+ "minimum": 1885,
+ "name": "max_year",
+ "type": "integer"
},
{
- "description": "Top seller listings only",
+ "description": "Maximum final bid in USD",
"in": "query",
- "name": "top_seller",
- "type": "boolean"
+ "minimum": 0,
+ "name": "max_bid",
+ "type": "integer"
},
{
- "description": "Sort",
+ "default": "recent",
+ "description": "Sort order",
"enum": [
- "recommended",
- "newest",
- "price-high",
- "price-low",
- "popular"
+ "recent",
+ "oldest",
+ "popular",
+ "highest_bid"
],
"in": "query",
"name": "sort",
@@ -272192,13 +342269,11 @@
"type": "integer"
},
{
- "default": 60,
+ "default": 36,
"description": "Results per page",
- "enum": [
- 60,
- 120
- ],
"in": "query",
+ "maximum": 50,
+ "minimum": 10,
"name": "per_page",
"type": "integer"
}
@@ -272210,7 +342285,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/firstdibs.searchDoc"
+ "$ref": "#/definitions/bringatrailer.resultsResponseDoc"
}
},
"400": {
@@ -272219,6 +342294,12 @@
"$ref": "#/definitions/app.Response"
}
},
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
"503": {
"description": "Service Unavailable",
"schema": {
@@ -272231,55 +342312,53 @@
"ApiKeyAuth": []
}
],
- "summary": "Search 1stDibs listings",
+ "summary": "Bring a Trailer completed auctions",
"tags": [
- "1stDibs"
+ "Bring a Trailer"
]
}
},
- "/7now/catalog": {
+ "/bringatrailer/search": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns one 7NOW store's browsable category list, a paginated item listing per catalog section (each with real per-item pricing, active promotions, calories, UPC and image), and a live active/out-of-stock inventory count for that store. store_id comes from GET /7now/stores; lat and lon are accepted but inert (store_id alone selects the store). The catalog is genuinely store-scoped, not a national price list. skip/limit page every item section uniformly (limit is capped at 50, defaults to 20).",
- "operationId": "7now-catalog",
+ "description": "Runs Bring a Trailer's site search and returns the matching live listings, make and model pages, previous auctions (sold, reserve not met and withdrawn, with final prices), past events and editorial stories, each with its own total. section narrows the response to one list and pages through it; every list pages 12 rows at a time except previous auctions at 24, and live listings (up to 100, repeated on every site page) come back only on page 1. A term that is exactly a make, model or category name (Ferrari, BMW 2002, boat) makes the site redirect to that page: the response then carries redirect and empty lists, and phrase=true runs the search instead. Member profiles are never returned.",
+ "operationId": "bringatrailer-search",
"parameters": [
{
- "description": "7NOW store id, from GET /7now/stores.",
+ "description": "Text to search, 2 to 100 characters without double quotes",
"in": "query",
- "name": "store_id",
+ "name": "q",
"required": true,
"type": "string",
- "x-example": "39226"
- },
- {
- "description": "Accepted but inert -- store_id alone selects the store; responses are byte-identical with any value or none. Forwarded upstream for fidelity with 7now.com's own client.",
- "in": "query",
- "name": "lat",
- "type": "number",
- "x-example": 40.747508
+ "x-example": "sunroof delete"
},
{
- "description": "Accepted but inert -- see lat.",
+ "description": "Match q as an exact phrase; needed when q is exactly a make, model or category name",
"in": "query",
- "name": "lon",
- "type": "number",
- "x-example": -73.989099
+ "name": "phrase",
+ "type": "boolean"
},
{
- "description": "Pagination offset, applied uniformly to every catalog section. Defaults to 0.",
+ "description": "List to return: all (default), live_listings, models, previous_auctions, events or stories",
+ "enum": [
+ "all",
+ "live_listings",
+ "models",
+ "previous_auctions",
+ "events",
+ "stories"
+ ],
"in": "query",
- "name": "skip",
- "type": "integer",
- "x-example": 0
+ "name": "section",
+ "type": "string"
},
{
- "description": "Max items returned per catalog section, 1-50. Defaults to 20.",
+ "default": 1,
+ "description": "Page number from 1",
"in": "query",
- "name": "limit",
- "type": "integer",
- "x-example": 20
+ "maximum": 10000,
+ "minimum": 1,
+ "name": "page",
+ "type": "integer"
}
],
"produces": [
@@ -272289,7 +342368,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/sevennow.catalogResponseDoc"
+ "$ref": "#/definitions/bringatrailer.searchResponseDoc"
}
},
"400": {
@@ -272316,41 +342395,24 @@
"ApiKeyAuth": []
}
],
- "summary": "Get one 7NOW store's live product catalog",
+ "summary": "Search Bring a Trailer",
"tags": [
- "7NOW"
+ "Bring a Trailer"
]
}
},
- "/7now/categories": {
+ "/bringatrailer/suggest": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Enumerates every value GET /7now/category accepts for a store, so callers do not have to pull the full catalog to discover them. 7NOW has two disjoint id spaces behind that one parameter: `departments` are the store's 10 permanent browsable departments (Fresh Food, Drinks, Snacks, Candy, Ice Cream, Beer & Seltzer, Tobacco, Grocery, Household, Personal Care), and `shelves` are the merchandising rows the homepage currently features (\"$2 Deals\", \"What's New\", \"Only At 7-Eleven\", seasonal ones). Both work as category_id. Shelves rotate with promotions and seasons, so re-read them rather than caching ids long-term. store_id comes from GET /7now/stores; lat and lon are accepted but inert (store_id alone selects the store).",
- "operationId": "7now-categories",
+ "description": "Returns Bring a Trailer's search-box completions for a term: make pages, model and generation pages, decades and categories. Era rows carry the decade id and category rows the category id that bringatrailer_results accepts as era and category; make rows can be passed by title as make. Use bringatrailer_makes for a model's numeric model_id.",
+ "operationId": "bringatrailer-suggest",
"parameters": [
{
- "description": "7NOW store id, from GET /7now/stores.",
+ "description": "Text to complete",
"in": "query",
- "name": "store_id",
+ "name": "term",
"required": true,
"type": "string",
- "x-example": "39640"
- },
- {
- "description": "Accepted but inert -- store_id alone selects the store; responses are byte-identical with any value or none. Forwarded upstream for fidelity with 7now.com's own client.",
- "in": "query",
- "name": "lat",
- "type": "number",
- "x-example": 40.712775
- },
- {
- "description": "Accepted but inert -- see lat.",
- "in": "query",
- "name": "lon",
- "type": "number",
- "x-example": -74.005973
+ "x-example": "porsche 911"
}
],
"produces": [
@@ -272360,7 +342422,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/sevennow.categoriesResponseDoc"
+ "$ref": "#/definitions/bringatrailer.suggestResponseDoc"
}
},
"400": {
@@ -272387,56 +342449,24 @@
"ApiKeyAuth": []
}
],
- "summary": "List every category id one 7NOW store accepts",
+ "summary": "Bring a Trailer search suggestions",
"tags": [
- "7NOW"
+ "Bring a Trailer"
]
}
},
- "/7now/category": {
+ "/brisbanetimes/article": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns one 7NOW store's top-level category broken into its real subcategory groups (e.g. Fresh Food -> Pizza, Wings & Chicken Bites, Subs & Sandwiches, ...), each with its own paginated, priced item list and live availability, plus a category-wide availability summary. Complements GET /7now/catalog, whose per-category section is a single flat list -- this is the same data organized the way 7now.com's own category page groups it. store_id comes from GET /7now/stores and category_id from GET /7now/categories -- which accepts both the store's permanent departments and the merchandising shelves its homepage features, since 7NOW uses one parameter for two id spaces. An invalid or empty category_id returns a normal 200 with an empty subcategories array, not an error.",
- "operationId": "7now-category",
+ "description": "Returns one Brisbane Times article's metadata and the exact body paragraphs served by one anonymous page request, with the publisher's is_accessible_for_free, paywalled, and is_truncated flags. No paywall is bypassed or hidden content fetched.",
+ "operationId": "brisbanetimes-article",
"parameters": [
{
- "description": "7NOW store id, from GET /7now/stores.",
- "in": "query",
- "name": "store_id",
- "required": true,
- "type": "string",
- "x-example": "39226"
- },
- {
- "description": "Category id, from GET /7now/categories -- either a department or a merchandising shelf.",
+ "description": "Canonical Brisbane Times article URL",
"in": "query",
- "name": "category_id",
+ "name": "url",
"required": true,
"type": "string",
- "x-example": "48423"
- },
- {
- "description": "Restrict to one subcategory group by exact name (from a prior call's subcategories[].name).",
- "in": "query",
- "name": "subcategory",
- "type": "string",
- "x-example": "Pizza"
- },
- {
- "description": "Pagination offset, applied uniformly to every subcategory group. Defaults to 0.",
- "in": "query",
- "name": "skip",
- "type": "integer",
- "x-example": 0
- },
- {
- "description": "Max items returned per subcategory group, 1-50. Defaults to 20.",
- "in": "query",
- "name": "limit",
- "type": "integer",
- "x-example": 20
+ "x-example": "https://www.brisbanetimes.com.au/national/queensland/hospital-denies-gas-leak-forced-evacuation-surgery-delays-20260930-p611l9.html"
}
],
"produces": [
@@ -272446,7 +342476,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/sevennow.categoryResponseDoc"
+ "$ref": "#/definitions/publicnews.brisbanetimesArticleResponseDoc"
}
},
"400": {
@@ -272455,8 +342485,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Too Many Requests",
+ "404": {
+ "description": "Not Found",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -272473,35 +342503,24 @@
"ApiKeyAuth": []
}
],
- "summary": "Browse one 7NOW store's category by subcategory",
+ "summary": "Get Brisbane Times article content",
"tags": [
- "7NOW"
+ "Brisbane Times"
]
}
},
- "/7now/combo": {
+ "/brisbanetimes/author": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Expands one bundle deal into its structure: each pick-from group's name, how many items the shopper picks from it, and every eligible item with live pricing and availability -- e.g. the \"$6.99 Pizza\" bundle returns one group, \"Eligible Whole Pizzas\", holding six priced pizzas. Also returns the bundle's shopper-facing headline and full legal terms. promo_id comes from GET /7now/combos' combos[].promo_id, and store_id from GET /7now/stores. The upstream also accepts a plain item-discount promotion id but answers one with unnamed groups -- for those, GET /7now/promotion's flat item list is the right endpoint. An unknown promo_id returns 404.",
- "operationId": "7now-combo",
+ "description": "Returns a Brisbane Times journalist profile from `url`, a canonical `https://www.brisbanetimes.com.au/by/-` address: name, biography, headshot, email, social links and recent story cards with title, URL, summary and image. Fields appear only when the profile shows them; the sampled profile returned 10 stories.",
+ "operationId": "brisbanetimes-author",
"parameters": [
{
- "description": "Promotion id, from GET /7now/combos' combos[].promo_id.",
- "in": "query",
- "name": "promo_id",
- "required": true,
- "type": "string",
- "x-example": "6a849a8fa1df2409010c719f"
- },
- {
- "description": "7NOW store id, from GET /7now/stores.",
+ "description": "Canonical Brisbane Times journalist URL",
"in": "query",
- "name": "store_id",
+ "name": "url",
"required": true,
"type": "string",
- "x-example": "39640"
+ "x-example": "https://www.brisbanetimes.com.au/by/william-davis-p537k8"
}
],
"produces": [
@@ -272511,7 +342530,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/sevennow.comboResponseDoc"
+ "$ref": "#/definitions/publicnews.brisbanetimesAuthorResponseDoc"
}
},
"400": {
@@ -272526,12 +342545,6 @@
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Too Many Requests",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"503": {
"description": "Service Unavailable",
"schema": {
@@ -272544,41 +342557,130 @@
"ApiKeyAuth": []
}
],
- "summary": "Get one 7NOW bundle deal's pick-from groups",
+ "summary": "Get a Brisbane Times journalist profile",
"tags": [
- "7NOW"
+ "Brisbane Times"
]
}
},
- "/7now/combos": {
+ "/brisbanetimes/headlines": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Lists every bundle deal a store offers -- 7NOW's combo-builder products, where a fixed price buys one item from each of several groups (e.g. \"$6.99 Pizza\", \"Bone In Wing Combo\"). GET /7now/search surfaces a combo only when a query happens to match one, so this is the only way to enumerate a store's bundles. Each entry carries the promotion id behind it: pass it to GET /7now/combo for the actual pick-from groups, or to GET /7now/promotion for a flat list of every eligible item. store_id comes from GET /7now/stores; lat and lon are accepted but inert (store_id alone selects the store).",
- "operationId": "7now-combos",
+ "description": "Returns current story cards from one observed Brisbane Times server-rendered section or populated topic page. `section` must be one of the exact slugs from `/brisbanetimes/sections`; unsupported and unresolved linkless paths are rejected before an upstream request. Off-brand story links on Traveller are omitted.",
+ "operationId": "brisbanetimes-headlines",
"parameters": [
{
- "description": "7NOW store id, from GET /7now/stores.",
+ "description": "Section or topic slug from /brisbanetimes/sections",
+ "enum": [
+ "national/queensland",
+ "politics",
+ "business",
+ "world",
+ "goodfood",
+ "lifestyle",
+ "traveller",
+ "sport",
+ "brisbane-news",
+ "politics/federal",
+ "politics/queensland",
+ "politics/nsw",
+ "politics/victoria",
+ "politics/western-australia",
+ "business/companies",
+ "business/markets",
+ "business/bullsnbears",
+ "business/the-economy",
+ "business/banking-and-finance",
+ "business/small-business",
+ "business/workplace",
+ "world/north-america",
+ "world/europe",
+ "world/asia",
+ "world/middle-east",
+ "world/south-america",
+ "world/africa",
+ "national",
+ "national/nsw",
+ "national/victoria",
+ "national/western-australia",
+ "opinion",
+ "property",
+ "property/news",
+ "property/living",
+ "sport/nrl",
+ "sport/rugby-union",
+ "sport/afl",
+ "sport/cricket",
+ "sport/soccer",
+ "sport/racing",
+ "sport/tennis",
+ "sport/netball",
+ "sport/basketball",
+ "sport/motorsport",
+ "sport/golf",
+ "sport/nfl",
+ "sport/athletics",
+ "sport/swimming",
+ "sport/boxing",
+ "goodfood/recipes",
+ "goodfood/tips-and-advice",
+ "goodfood/brisbane-eating-out",
+ "goodfood/drinks",
+ "culture",
+ "culture/movies",
+ "culture/tv-and-radio",
+ "culture/music",
+ "culture/celebrity",
+ "culture/books",
+ "culture/comedy",
+ "culture/dance",
+ "culture/musicals",
+ "culture/opera",
+ "culture/theatre",
+ "culture/art-and-design",
+ "culture/live-reviews",
+ "lifestyle/health-and-wellness",
+ "lifestyle/fashion",
+ "lifestyle/life-and-relationships",
+ "lifestyle/beauty",
+ "traveller/inspiration/destination-guides",
+ "traveller/inspiration",
+ "traveller/reviews-and-advice",
+ "traveller/travel-news",
+ "good-weekend",
+ "sunday-life",
+ "money",
+ "money/super-and-retirement",
+ "money/investing",
+ "money/banking",
+ "money/borrowing",
+ "money/saving",
+ "money/tax",
+ "money/planning-and-budgeting",
+ "education",
+ "healthcare",
+ "environment",
+ "environment/conservation",
+ "environment/climate-change",
+ "environment/sustainability",
+ "environment/weather",
+ "technology",
+ "technology/video-games",
+ "australia-higher-education",
+ "topic/media-and-marketing-5z7",
+ "topic/auctions-1nq1",
+ "topic/financing-1nq2",
+ "topic/style-luxury-1nij",
+ "topic/horoscopes-5yc",
+ "topic/home-technology-hqq",
+ "topic/phones-5zt",
+ "topic/gadgets-hqp",
+ "topic/explainers-1lz9"
+ ],
"in": "query",
- "name": "store_id",
+ "name": "section",
"required": true,
"type": "string",
- "x-example": "39640"
- },
- {
- "description": "Accepted but inert -- store_id alone selects the store; responses are byte-identical with any value or none. Forwarded upstream for fidelity with 7now.com's own client.",
- "in": "query",
- "name": "lat",
- "type": "number",
- "x-example": 40.712775
- },
- {
- "description": "Accepted but inert -- see lat.",
- "in": "query",
- "name": "lon",
- "type": "number",
- "x-example": -74.005973
+ "x-example": "brisbane-news"
}
],
"produces": [
@@ -272588,7 +342690,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/sevennow.combosResponseDoc"
+ "$ref": "#/definitions/publicnews.headlinesResponseDoc"
}
},
"400": {
@@ -272597,6 +342699,38 @@
"$ref": "#/definitions/app.Response"
}
},
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Brisbane Times section or topic headlines",
+ "tags": [
+ "Brisbane Times"
+ ]
+ }
+ },
+ "/brisbanetimes/news": {
+ "get": {
+ "description": "Returns Brisbane Times's current public Latest News RSS feed: story title, canonical URL, summary, author, publication time, and lead image.",
+ "operationId": "brisbanetimes-news",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.newsResponseDoc"
+ }
+ },
"429": {
"description": "Too Many Requests",
"schema": {
@@ -272615,55 +342749,59 @@
"ApiKeyAuth": []
}
],
- "summary": "List a 7NOW store's bundle deals",
+ "summary": "Get Brisbane Times top stories",
"tags": [
- "7NOW"
+ "Brisbane Times"
]
}
},
- "/7now/deals": {
+ "/brisbanetimes/sections": {
+ "get": {
+ "description": "Lists the 104 accepted Brisbane Times editorial surfaces (95 article-bearing section pages and nine populated topic hubs), each with its exact path slug, menu label, and requested Brisbane Times URL. Three linkless surfaces with no explicit empty-state marker are excluded.",
+ "operationId": "brisbanetimes-sections",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.sectionsResponseDoc"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Brisbane Times editorial sections",
+ "tags": [
+ "Brisbane Times"
+ ]
+ }
+ },
+ "/brooklinen/collections": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns every currently discounted item in a store, paginated, each with the promotion driving the discount -- its id, shopper-facing description (\"2 for $4\", \"On Sale $7\"), promotional price where the offer has a single-unit one, and run dates. A busy store carries several hundred; the response also reports a store-wide availability summary across all of them before paging. This is the store-wide offers listing: the per-category browse endpoints surface promotions only for the items they happen to return, and pulling them all otherwise means walking the entire catalog. Pass a promos[].id to GET /7now/promotion to see every item that same promotion covers. store_id comes from GET /7now/stores; lat and lon are accepted but inert (store_id alone selects the store).",
- "operationId": "7now-deals",
+ "description": "Returns collections from Brooklinen (https://www.brooklinen.com). The storefront URL is fixed server-side. Valid empty result pages return `200` with an empty collections array.",
+ "operationId": "brooklinen-collections",
"parameters": [
{
- "description": "7NOW store id, from GET /7now/stores.",
- "in": "query",
- "name": "store_id",
- "required": true,
- "type": "string",
- "x-example": "39640"
- },
- {
- "description": "Accepted but inert -- store_id alone selects the store; responses are byte-identical with any value or none. Forwarded upstream for fidelity with 7now.com's own client.",
- "in": "query",
- "name": "lat",
- "type": "number",
- "x-example": 40.712775
- },
- {
- "description": "Accepted but inert -- see lat.",
- "in": "query",
- "name": "lon",
- "type": "number",
- "x-example": -74.005973
- },
- {
- "description": "Pagination offset. Defaults to 0.",
+ "description": "1-based page, defaults to 1",
"in": "query",
- "name": "skip",
+ "name": "page",
"type": "integer",
- "x-example": 0
+ "x-example": 1
},
{
- "description": "Max items returned, 1-100. Defaults to 20.",
+ "description": "Maximum collections, defaults to 50 and supports up to 250",
"in": "query",
"name": "limit",
"type": "integer",
- "x-example": 20
+ "x-example": 50
}
],
"produces": [
@@ -272673,7 +342811,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/sevennow.dealsResponseDoc"
+ "$ref": "#/definitions/shopifybrands.collectionsResponseDoc"
}
},
"400": {
@@ -272700,41 +342838,41 @@
"ApiKeyAuth": []
}
],
- "summary": "List every discounted item in one 7NOW store",
+ "summary": "List Brooklinen collections",
"tags": [
- "7NOW"
+ "Brooklinen"
]
}
},
- "/7now/offers": {
+ "/brooklinen/collections/{handle}/products": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns every promotional campaign a store currently advertises -- the headline, body copy, legal terms and artwork behind offers like \"$6.99 Pizza\" or \"2/$5 Gatorade 28oz\". This is campaign-level and complements the item-level views: GET /7now/deals answers \"which items are discounted and why\", while this answers \"what is this store advertising, and on what terms\". The full legal terms are available nowhere else. Each campaign points somewhere: promo_ids[] feed GET /7now/promotion (or GET /7now/combo when the campaign advertises a bundle), while a category campaign instead carries target_id, a category_id GET /7now/category accepts. store_id comes from GET /7now/stores; lat and lon are accepted but inert (store_id alone selects the store).",
- "operationId": "7now-offers",
+ "description": "Returns products from one Brooklinen (https://www.brooklinen.com) collection. The storefront URL is fixed server-side; `handle` is the collection's URL slug.",
+ "operationId": "brooklinen-collection-products",
"parameters": [
{
- "description": "7NOW store id, from GET /7now/stores.",
- "in": "query",
- "name": "store_id",
+ "description": "Collection handle",
+ "in": "path",
+ "name": "handle",
"required": true,
"type": "string",
- "x-example": "39640"
+ "x-example": "collection-handle"
},
{
- "description": "Accepted but inert -- store_id alone selects the store; responses are byte-identical with any value or none. Forwarded upstream for fidelity with 7now.com's own client.",
+ "description": "1-based page, defaults to 1",
"in": "query",
- "name": "lat",
- "type": "number",
- "x-example": 40.712775
+ "name": "page",
+ "type": "integer",
+ "x-example": 1
},
{
- "description": "Accepted but inert -- see lat.",
+ "description": "Maximum products, defaults to 50 and supports up to 250",
"in": "query",
- "name": "lon",
- "type": "number",
- "x-example": -74.005973
+ "name": "limit",
+ "type": "integer",
+ "x-example": 50
}
],
"produces": [
@@ -272744,7 +342882,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/sevennow.offersResponseDoc"
+ "$ref": "#/definitions/shopifybrands.collectionProductsResponseDoc"
}
},
"400": {
@@ -272753,6 +342891,12 @@
"$ref": "#/definitions/app.Response"
}
},
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
"429": {
"description": "Too Many Requests",
"schema": {
@@ -272771,38 +342915,33 @@
"ApiKeyAuth": []
}
],
- "summary": "List a 7NOW store's advertised promotional campaigns",
+ "summary": "List Brooklinen collection products",
"tags": [
- "7NOW"
+ "Brooklinen"
]
}
},
- "/7now/popular": {
+ "/brooklinen/pages": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns the trending search terms 7NOW shows in its own search box. Two axes select the index and both matter. vertical picks the catalogue: `convenience` and `restaurant` return different terms for the same store, and `global` is the genuinely national cross-vertical list. store_id (from GET /7now/stores) then narrows to that store's region within the vertical -- a New York store returns index NY_NE, a Florida store SE, and omitting it returns the vertical-wide list. The restaurant vertical is the exception: it ignores store_id entirely, returning identical terms for every store. The response echoes back both the vertical and the regional index the terms came from.",
- "operationId": "7now-popular",
+ "description": "Lists Brooklinen static pages, `limit` per page (default 50, max 250) and `page` starting at 1. Each page has its handle, title, URL, plain-text content and timestamps. When `transport_mode` is `ssr_embedded`, items carry only `handle`, `url` and `updated_at`; request each handle singly for content.",
+ "operationId": "brooklinen-pages",
"parameters": [
{
- "description": "7NOW store id, from GET /7now/stores. Selects that store's regional index within the chosen vertical; omit for the vertical-wide list. Ignored by the restaurant vertical.",
+ "description": "1-based page, defaults to 1",
"in": "query",
- "name": "store_id",
- "type": "string",
- "x-example": "39226"
+ "name": "page",
+ "type": "integer",
+ "x-example": 1
},
{
- "description": "Which trending index to read. One of: convenience, restaurant, global. Defaults to convenience.",
- "enum": [
- "convenience",
- "restaurant",
- "global"
- ],
+ "description": "Maximum static pages, defaults to 50 and supports up to 250",
"in": "query",
- "name": "vertical",
- "type": "string",
- "x-example": "convenience"
+ "name": "limit",
+ "type": "integer",
+ "x-example": 50
}
],
"produces": [
@@ -272812,7 +342951,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/sevennow.popularResponseDoc"
+ "$ref": "#/definitions/shopifybrands.pagesResponseDoc"
}
},
"400": {
@@ -272839,27 +342978,27 @@
"ApiKeyAuth": []
}
],
- "summary": "Get 7NOW trending search terms",
+ "summary": "List Brooklinen static pages",
"tags": [
- "7NOW"
+ "Brooklinen"
]
}
},
- "/7now/product": {
+ "/brooklinen/pages/{handle}": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns one product's complete reference record: description, the full nutrition panel (serving size, calories, fat, cholesterol, sodium, carbohydrates, protein, vitamins and allergen \"contains\" list), the declared ingredient list, the allergen statement, size and flavor variants, related products, and any attached promotions. product_id comes from GET /7now/search, /7now/catalog or /7now/category. This record is store-independent and deliberately carries no price, availability or stock -- use those three endpoints for per-store pricing and availability. An unknown product_id returns a 404.",
- "operationId": "7now-product",
+ "description": "Returns one Brooklinen static page by its `handle`: id, title, URL, plain-text content, and created, published and updated times. A missing handle returns 404. When `transport_mode` is `ssr_embedded`, the content is plain text from the page's rich-text blocks and `id` is omitted.",
+ "operationId": "brooklinen-page",
"parameters": [
{
- "description": "7NOW product id, from GET /7now/search, /7now/catalog or /7now/category.",
- "in": "query",
- "name": "product_id",
+ "description": "Page handle",
+ "in": "path",
+ "name": "handle",
"required": true,
"type": "string",
- "x-example": "178322-2-6-2"
+ "x-example": "page-handle"
}
],
"produces": [
@@ -272869,7 +343008,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/sevennow.productResponseDoc"
+ "$ref": "#/definitions/shopifybrands.pageResponseDoc"
}
},
"400": {
@@ -272902,49 +343041,33 @@
"ApiKeyAuth": []
}
],
- "summary": "Get one 7NOW product's full reference record",
+ "summary": "Get a Brooklinen static page",
"tags": [
- "7NOW"
+ "Brooklinen"
]
}
},
- "/7now/promotion": {
+ "/brooklinen/products": {
"get": {
"consumes": [
"application/json"
],
- "description": "Expands one promotion into every item it applies to in a store, plus the promotion's own offer type, terms, and run dates. GET /7now/deals reads discount-to-item (here is a discounted product, here is why); this reads it the other way round (here is an offer, here is everything it covers) -- e.g. a \"2 for $4\" tea promotion expands to all five flavours in it. promo_id comes from GET /7now/deals' items[].promos[].id, and store_id from GET /7now/stores. An unknown promo_id returns 404.",
- "operationId": "7now-promotion",
+ "description": "Returns products from Brooklinen's (https://www.brooklinen.com) product catalog. The storefront URL is fixed server-side. Valid empty result pages return `200` with an empty products array.",
+ "operationId": "brooklinen-products",
"parameters": [
{
- "description": "Promotion id, from GET /7now/deals' items[].promos[].id.",
- "in": "query",
- "name": "promo_id",
- "required": true,
- "type": "string",
- "x-example": "6a9746d488cc35e1bbff1584"
- },
- {
- "description": "7NOW store id, from GET /7now/stores.",
- "in": "query",
- "name": "store_id",
- "required": true,
- "type": "string",
- "x-example": "39640"
- },
- {
- "description": "Pagination offset. Defaults to 0.",
+ "description": "1-based page, defaults to 1",
"in": "query",
- "name": "skip",
+ "name": "page",
"type": "integer",
- "x-example": 0
+ "x-example": 1
},
{
- "description": "Max items returned, 1-100. Defaults to 20.",
+ "description": "Maximum products, defaults to 50 and supports up to 250",
"in": "query",
"name": "limit",
"type": "integer",
- "x-example": 20
+ "x-example": 50
}
],
"produces": [
@@ -272954,7 +343077,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/sevennow.promotionResponseDoc"
+ "$ref": "#/definitions/shopifybrands.productsResponseDoc"
}
},
"400": {
@@ -272963,12 +343086,6 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"429": {
"description": "Too Many Requests",
"schema": {
@@ -272987,49 +343104,27 @@
"ApiKeyAuth": []
}
],
- "summary": "List every item one 7NOW promotion covers",
+ "summary": "List Brooklinen products",
"tags": [
- "7NOW"
+ "Brooklinen"
]
}
},
- "/7now/search": {
+ "/brooklinen/products/{handle}": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns one 7NOW store's keyword search results: matching products and combo deals with current pricing (list price, everyday sale price, and any further active promotion), live availability, and a sponsored-brand facet list relevant to the query. store_id comes from GET /7now/stores. A query matching nothing returns a normal 200 with an empty items array, not an error.",
- "operationId": "7now-search",
+ "description": "Returns product detail for one Brooklinen (https://www.brooklinen.com) product handle. The storefront URL is fixed server-side; `handle` is the product's URL slug.",
+ "operationId": "brooklinen-product",
"parameters": [
{
- "description": "7NOW store id, from GET /7now/stores.",
- "in": "query",
- "name": "store_id",
- "required": true,
- "type": "string",
- "x-example": "39226"
- },
- {
- "description": "Keyword search term.",
- "in": "query",
- "name": "q",
+ "description": "Product handle",
+ "in": "path",
+ "name": "handle",
"required": true,
"type": "string",
- "x-example": "pizza"
- },
- {
- "description": "Pagination offset. Defaults to 0.",
- "in": "query",
- "name": "skip",
- "type": "integer",
- "x-example": 0
- },
- {
- "description": "Max results returned, 1-50. Defaults to 20.",
- "in": "query",
- "name": "limit",
- "type": "integer",
- "x-example": 20
+ "x-example": "product-handle"
}
],
"produces": [
@@ -273039,7 +343134,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/sevennow.searchResponseDoc"
+ "$ref": "#/definitions/shopifybrands.productResponseDoc"
}
},
"400": {
@@ -273048,6 +343143,12 @@
"$ref": "#/definitions/app.Response"
}
},
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
"429": {
"description": "Too Many Requests",
"schema": {
@@ -273066,27 +343167,45 @@
"ApiKeyAuth": []
}
],
- "summary": "Search one 7NOW store's products",
+ "summary": "Get a Brooklinen product",
"tags": [
- "7NOW"
+ "Brooklinen"
]
}
},
- "/7now/stores": {
+ "/brooklinen/products/{handle}/recommendations": {
"get": {
"consumes": [
"application/json"
],
- "description": "Resolves a free-text delivery address, street, city and state, or postal code to the nearest 7NOW-enabled 7-Eleven stores, nearest first. Each store carries its store_id, address, coordinates, straight-line distance in miles from the resolved address, the banner it trades under, its Nielsen DMA, and its per-day alcohol sale windows -- upstream's own encoding of the local law, which is why a day can hold more than one window (a New York store's Sunday runs 0000-0200 and 0800-2359). An empty alcohol_sale_hours means upstream publishes no windows for that store, which is not the same as it selling no alcohol. The response also carries the Uber H3 cell for the resolved address. Use store_id with GET /7now/catalog, /7now/categories, /7now/deals, /7now/offers or /7now/combos to browse that store. An address that cannot be geocoded, or one with no nearby 7NOW coverage, returns a 404.",
- "operationId": "7now-stores",
+ "description": "Returns recommended products for one Brooklinen (https://www.brooklinen.com) product handle. The storefront URL is fixed server-side.",
+ "operationId": "brooklinen-product-recommendations",
"parameters": [
{
- "description": "Free-text delivery address, street, city and state, or postal code.",
- "in": "query",
- "name": "address",
+ "description": "Product handle",
+ "in": "path",
+ "name": "handle",
"required": true,
"type": "string",
- "x-example": "350 5th Ave, New York, NY"
+ "x-example": "product-handle"
+ },
+ {
+ "description": "Maximum products, defaults to 10 and supports up to 20",
+ "in": "query",
+ "name": "limit",
+ "type": "integer",
+ "x-example": 10
+ },
+ {
+ "description": "Recommendation intent. Allowed values: related, complementary",
+ "enum": [
+ "related",
+ "complementary"
+ ],
+ "in": "query",
+ "name": "intent",
+ "type": "string",
+ "x-example": "related"
}
],
"produces": [
@@ -273096,7 +343215,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/sevennow.storesResponseDoc"
+ "$ref": "#/definitions/shopifybrands.productRecommendationsResponseDoc"
}
},
"400": {
@@ -273129,39 +343248,41 @@
"ApiKeyAuth": []
}
],
- "summary": "Find 7NOW delivery stores near an address",
+ "summary": "List Brooklinen product recommendations",
"tags": [
- "7NOW"
+ "Brooklinen"
]
}
},
- "/7now/suggest": {
+ "/brooklinen/search/suggest": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns search-term completions for a partial query, e.g. \"chi\" -> \"chips ahoy\", \"chips\", \"chicken\". No store is required. q must be at least 3 characters -- shorter values return a typed invalid-param error, matching upstream's own enforced minimum. vertical selects which search index to complete against, and the indexes are materially different rather than variations on one list: for \"chi\", `convenience` answers \"chips ahoy, chips, chicken wings\" while `restaurant` answers \"chipotle, chinese food, chili\". `global` is a sparse cross-vertical index -- many prefixes legitimately return no suggestions there.",
- "operationId": "7now-suggest",
+ "description": "Returns products, collections, and query suggestions from Brooklinen's (https://www.brooklinen.com) predictive search. The storefront URL is fixed server-side.",
+ "operationId": "brooklinen-search-suggest",
"parameters": [
{
- "description": "Partial search term, at least 3 characters.",
+ "description": "Search query",
"in": "query",
"name": "q",
"required": true,
"type": "string",
- "x-example": "chi"
+ "x-example": "wool"
},
{
- "description": "Which search index to complete against. One of: convenience, restaurant, global. Defaults to convenience.",
- "enum": [
- "convenience",
- "restaurant",
- "global"
- ],
+ "description": "Comma-separated suggestion types. Allowed values: product, collection, query",
"in": "query",
- "name": "vertical",
+ "name": "types",
"type": "string",
- "x-example": "convenience"
+ "x-example": "product,collection,query"
+ },
+ {
+ "description": "Maximum results per type, defaults to 10 and supports up to 20",
+ "in": "query",
+ "name": "limit",
+ "type": "integer",
+ "x-example": 10
}
],
"produces": [
@@ -273171,7 +343292,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/sevennow.suggestResponseDoc"
+ "$ref": "#/definitions/shopifybrands.searchSuggestResponseDoc"
}
},
"400": {
@@ -273198,24 +343319,42 @@
"ApiKeyAuth": []
}
],
- "summary": "Get 7NOW search-term suggestions",
+ "summary": "Get Brooklinen search suggestions",
"tags": [
- "7NOW"
+ "Brooklinen"
]
}
},
- "/abcau/article": {
+ "/brooklinen/sitemap/urls": {
"get": {
- "description": "Returns an ABC News Australia article by `url`, a canonical `abc.net.au` address in the form `/news///`: title, description, publication time, section, authors, image and the body `paragraphs`. Rolling live-blog posts, whose slug ends `-live-blog`, return an error instead of partial content.",
- "operationId": "abcau-article",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Lists URL entries from Brooklinen's sitemaps, filtered by `type` (`all` by default, or `products`, `collections`, `pages`, `blogs`, `agentic_discovery`, `other`) and capped by `limit` (default 50, max 250). Each entry has its `loc`, type, handle, `lastmod`, `changefreq` and, where present, images with caption and title.",
+ "operationId": "brooklinen-sitemap-urls",
"parameters": [
{
- "description": "Canonical ABC News Australia article URL",
+ "description": "Sitemap type. Allowed values: all, products, collections, pages, blogs, agentic_discovery, other",
+ "enum": [
+ "all",
+ "products",
+ "collections",
+ "pages",
+ "blogs",
+ "agentic_discovery",
+ "other"
+ ],
"in": "query",
- "name": "url",
- "required": true,
+ "name": "type",
"type": "string",
- "x-example": "https://www.abc.net.au/news/2026-09-24/example-article-slug/107189792"
+ "x-example": "products"
+ },
+ {
+ "description": "Maximum URL entries, defaults to 50 and supports up to 250",
+ "in": "query",
+ "name": "limit",
+ "type": "integer",
+ "x-example": 50
}
],
"produces": [
@@ -273225,7 +343364,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.articleResponseDoc"
+ "$ref": "#/definitions/shopifybrands.sitemapURLsResponseDoc"
}
},
"400": {
@@ -273234,8 +343373,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -273252,26 +343391,19 @@
"ApiKeyAuth": []
}
],
- "summary": "Get ABC News Australia article content",
+ "summary": "List Brooklinen sitemap URLs",
"tags": [
- "ABC News Australia"
+ "Brooklinen"
]
}
},
- "/abcau/author": {
+ "/brooklinen/sitemaps": {
"get": {
- "description": "Returns an ABC News Australia author profile from `url`, a canonical `https://www.abc.net.au/news//` address: name, `biography`, `image_url` and recent articles. Not every author has a headshot or biography, and wire or staff bylines often have neither.",
- "operationId": "abcau-author",
- "parameters": [
- {
- "description": "Canonical ABC News Australia author URL",
- "in": "query",
- "name": "url",
- "required": true,
- "type": "string",
- "x-example": "https://www.abc.net.au/news/jane-doe/12345"
- }
+ "consumes": [
+ "application/json"
],
+ "description": "Lists the child sitemaps that Brooklinen publishes, with no parameters. Each entry has its `loc` URL and a `type` of `products`, `collections`, `pages`, `blogs`, `agentic_discovery` or `other`, which tells you which sitemap to pass to the sitemap URL endpoint.",
+ "operationId": "brooklinen-sitemaps",
"produces": [
"application/json"
],
@@ -273279,7 +343411,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.abcauAuthorResponseDoc"
+ "$ref": "#/definitions/shopifybrands.sitemapIndexResponseDoc"
}
},
"400": {
@@ -273288,8 +343420,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -273306,43 +343438,19 @@
"ApiKeyAuth": []
}
],
- "summary": "Get an ABC News Australia author profile",
+ "summary": "List Brooklinen sitemaps",
"tags": [
- "ABC News Australia"
+ "Brooklinen"
]
}
},
- "/abcau/headlines": {
+ "/brooklinen/store": {
"get": {
- "description": "Returns current headlines for one ABC News Australia section. `section` is required and takes one of 15 slugs, including `justin`, `politics`, `rural`, `analysis-and-opinion` and `australia`. Each item has a title and URL, and may also carry a summary, author, publication time and image.",
- "operationId": "abcau-headlines",
- "parameters": [
- {
- "description": "ABC News Australia section slug",
- "enum": [
- "justin",
- "world",
- "politics",
- "business",
- "sport",
- "health",
- "entertainment",
- "science",
- "rural",
- "analysis-and-opinion",
- "indigenous",
- "environment",
- "backstory",
- "lifestyle",
- "australia"
- ],
- "in": "query",
- "name": "section",
- "required": true,
- "type": "string",
- "x-example": "justin"
- }
+ "consumes": [
+ "application/json"
],
+ "description": "Returns storefront metadata for Brooklinen (https://www.brooklinen.com). The storefront URL is fixed server-side, so no `url` parameter is accepted.",
+ "operationId": "brooklinen-store",
"produces": [
"application/json"
],
@@ -273350,7 +343458,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.headlinesResponseDoc"
+ "$ref": "#/definitions/shopifybrands.storeResponseDoc"
}
},
"400": {
@@ -273359,6 +343467,12 @@
"$ref": "#/definitions/app.Response"
}
},
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
"503": {
"description": "Service Unavailable",
"schema": {
@@ -273371,16 +343485,28 @@
"ApiKeyAuth": []
}
],
- "summary": "Get ABC News Australia section headlines",
+ "summary": "Get Brooklinen store metadata",
"tags": [
- "ABC News Australia"
+ "Brooklinen"
]
}
},
- "/abcau/news": {
+ "/burberry/categories": {
"get": {
- "description": "Returns the current ABC News Australia top stories, with no input needed. Each item has a title and canonical URL, and may also carry a summary, author, publication time and image.",
- "operationId": "abcau-news",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Lists every department, section, and leaf category from Burberry's own site navigation, flattened with a breadcrumb-style path. Each entry's url is exactly what burberry-category's own category parameter accepts. Filter to one top-level department with department (e.g. Women, Men, Children, Gifts, Trench, Scarves, Bags, Beauty & Fragrances, Sale); omit for every department. See the response's own departments field for the live list.",
+ "operationId": "burberry-categories",
+ "parameters": [
+ {
+ "description": "Top-level department to filter to, e.g. Women, Men, Children -- omit for every department",
+ "in": "query",
+ "name": "department",
+ "type": "string",
+ "x-example": "Women"
+ }
+ ],
"produces": [
"application/json"
],
@@ -273388,7 +343514,13 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.newsResponseDoc"
+ "$ref": "#/definitions/burberry.categoriesResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
}
},
"429": {
@@ -273409,16 +343541,58 @@
"ApiKeyAuth": []
}
],
- "summary": "Get ABC News Australia top stories",
+ "summary": "List Burberry categories",
"tags": [
- "ABC News Australia"
+ "Burberry"
]
}
},
- "/abcau/sections": {
+ "/burberry/category": {
"get": {
- "description": "Lists the 15 ABC News Australia section slugs accepted by `abcau-headlines`, from `justin` and `world` to `backstory` and `australia`. Each entry has a `slug`, a display `name` (for example `Just In`) and the section's page `url`.",
- "operationId": "abcau-sections",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns one page (20 products) of a Burberry category/browse listing. category is the site-relative category path, e.g. /l/womens-clothing/new-arrivals/ -- use burberry-categories to discover every valid value instead of guessing from site URLs. offset paginates in increments of 20 (the upstream's own fixed page size). sort selects the result order. The response includes the upstream's own available filters (facets) with live per-option result counts; feed a selection back in via facets, a comma-separated list of property:value pairs taken from this same response's facets field (e.g. benefit:bags,dotcomreportingcolour:black -- see a live response for the values valid for that category). At most one value per facet property; an unmatched or invalid combination returns a well-formed empty result, not an error.",
+ "operationId": "burberry-category",
+ "parameters": [
+ {
+ "description": "Site-relative category path -- see burberry-categories",
+ "in": "query",
+ "name": "category",
+ "required": true,
+ "type": "string",
+ "x-example": "/l/womens-clothing/new-arrivals/"
+ },
+ {
+ "default": 0,
+ "description": "Zero-based result offset, in increments of 20",
+ "in": "query",
+ "maximum": 100000,
+ "minimum": 0,
+ "name": "offset",
+ "type": "integer"
+ },
+ {
+ "default": "default",
+ "description": "Sort order",
+ "enum": [
+ "default",
+ "price_asc",
+ "price_desc",
+ "newest"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Comma-separated property:value facet filters, taken from this same response's own facets field, e.g. benefit:bags,dotcomreportingcolour:black -- at most one value per property",
+ "in": "query",
+ "name": "facets",
+ "type": "string",
+ "x-example": "benefit:bags"
+ }
+ ],
"produces": [
"application/json"
],
@@ -273426,7 +343600,31 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.sectionsResponseDoc"
+ "$ref": "#/definitions/burberry.categoryResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
}
}
},
@@ -273435,24 +343633,27 @@
"ApiKeyAuth": []
}
],
- "summary": "Get ABC News Australia sections",
+ "summary": "Browse a Burberry category",
"tags": [
- "ABC News Australia"
+ "Burberry"
]
}
},
- "/abcnews/article": {
+ "/burberry/product": {
"get": {
- "description": "Returns public ABC News article metadata and body paragraphs from a canonical article URL. Accepts both the \"story?id=...\" and \"wireStory/...\" canonical URL shapes.",
- "operationId": "abcnews-article",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns product detail for one Burberry product page: name, sku, colour, material, description, price, stock status, every product image, and every other purchasable colourway of the same style. url is the site-relative product path, e.g. /check-cashmere-cardigan-p81336111, as returned by burberry-search's or burberry-category's own products[].url field.",
+ "operationId": "burberry-product",
"parameters": [
{
- "description": "Canonical ABC News article URL",
+ "description": "Site-relative product path, from a search or category result's url field",
"in": "query",
"name": "url",
"required": true,
"type": "string",
- "x-example": "https://abcnews.com/Politics/example-story/story?id=123456789"
+ "x-example": "/check-cashmere-cardigan-p81336111"
}
],
"produces": [
@@ -273462,7 +343663,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.articleResponseDoc"
+ "$ref": "#/definitions/burberry.productResponseDoc"
}
},
"400": {
@@ -273477,6 +343678,12 @@
"$ref": "#/definitions/app.Response"
}
},
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
"503": {
"description": "Service Unavailable",
"schema": {
@@ -273489,24 +343696,27 @@
"ApiKeyAuth": []
}
],
- "summary": "Get ABC News article content",
+ "summary": "Get a Burberry product",
"tags": [
- "ABC News"
+ "Burberry"
]
}
},
- "/abcnews/author": {
+ "/burberry/related": {
"get": {
- "description": "Returns an ABC News author's profile: name, job title/biography when the page carries one, and social links, from a canonical author URL. Does not include a list of the author's recent articles.",
- "operationId": "abcnews-author",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the cross-sell surfaces a real Burberry product page itself loads for that product: similar_products (algorithmically similar items) and shop_the_look (other pieces in the same styled outfit, when the upstream has curated one -- most products have none, returned as a well-formed empty list, not an error). url is the site-relative product path, e.g. /check-cashmere-cardigan-p81336111, as returned by burberry-search's, burberry-category's, or burberry-product's own url field.",
+ "operationId": "burberry-related",
"parameters": [
{
- "description": "Canonical ABC News author URL",
+ "description": "Site-relative product path, from a search, category, or product result's url field",
"in": "query",
"name": "url",
"required": true,
"type": "string",
- "x-example": "https://abcnews.com/author/benjamin_siegel"
+ "x-example": "/check-cashmere-cardigan-p81336111"
}
],
"produces": [
@@ -273516,7 +343726,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.abcNewsAuthorResponseDoc"
+ "$ref": "#/definitions/burberry.relatedResponseDoc"
}
},
"400": {
@@ -273525,8 +343735,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -273543,34 +343753,56 @@
"ApiKeyAuth": []
}
],
- "summary": "Get an ABC News author profile",
+ "summary": "Get related Burberry products",
"tags": [
- "ABC News"
+ "Burberry"
]
}
},
- "/abcnews/headlines": {
+ "/burberry/search": {
"get": {
- "description": "Returns the current headlines for one ABC News section. `section` is required and must be `us`, `world`, `politics`, `business`, `technology`, `entertainment`, `health` or `sports`. Each item has a title and URL, and may also carry a summary, author, publication time and image.",
- "operationId": "abcnews-headlines",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Searches Burberry's product catalog by keyword. Returns product summaries plus the upstream's own available filters (facets) with live per-option result counts. offset paginates in increments of 20 (the upstream's own fixed page size). sort selects the result order. facets applies a facet selection back, a comma-separated list of property:value pairs taken from this same response's facets field (e.g. benefit:bags,dotcomreportingcolour:black). A query with no matches, or a facet combination with no matches, returns a well-formed empty result, not an error. Unlike burberry-category, this response has no true grand-total result count -- only the current page's own count.",
+ "operationId": "burberry-search",
"parameters": [
{
- "description": "ABC News section slug",
+ "description": "Search keyword",
+ "in": "query",
+ "name": "query",
+ "required": true,
+ "type": "string",
+ "x-example": "trench"
+ },
+ {
+ "default": 0,
+ "description": "Zero-based result offset, in increments of 20",
+ "in": "query",
+ "maximum": 100000,
+ "minimum": 0,
+ "name": "offset",
+ "type": "integer"
+ },
+ {
+ "default": "default",
+ "description": "Sort order",
"enum": [
- "us",
- "world",
- "politics",
- "business",
- "technology",
- "entertainment",
- "health",
- "sports"
+ "default",
+ "price_asc",
+ "price_desc",
+ "newest"
],
"in": "query",
- "name": "section",
- "required": true,
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Comma-separated property:value facet filters, taken from this same response's own facets field, e.g. benefit:bags,dotcomreportingcolour:black -- at most one value per property",
+ "in": "query",
+ "name": "facets",
"type": "string",
- "x-example": "us"
+ "x-example": "benefit:bags"
}
],
"produces": [
@@ -273580,7 +343812,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.headlinesResponseDoc"
+ "$ref": "#/definitions/burberry.searchResponseDoc"
}
},
"400": {
@@ -273589,6 +343821,12 @@
"$ref": "#/definitions/app.Response"
}
},
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
"503": {
"description": "Service Unavailable",
"schema": {
@@ -273601,16 +343839,29 @@
"ApiKeyAuth": []
}
],
- "summary": "Get ABC News section headlines",
+ "summary": "Search Burberry products",
"tags": [
- "ABC News"
+ "Burberry"
]
}
},
- "/abcnews/news": {
+ "/burberry/suggest": {
"get": {
- "description": "Returns the current ABC News top stories, with no input needed. Each item has a title and canonical URL, and may also carry a summary, author, publication time and image.",
- "operationId": "abcnews-news",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns Burberry's own search-box suggestions (typeahead) for a partial query: a flat list of suggested search phrases, each with its own live result count on the search index. Not product data.",
+ "operationId": "burberry-suggest",
+ "parameters": [
+ {
+ "description": "Partial search query",
+ "in": "query",
+ "name": "query",
+ "required": true,
+ "type": "string",
+ "x-example": "trench"
+ }
+ ],
"produces": [
"application/json"
],
@@ -273618,7 +343869,13 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.newsResponseDoc"
+ "$ref": "#/definitions/burberry.suggestResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
}
},
"429": {
@@ -273639,16 +343896,43 @@
"ApiKeyAuth": []
}
],
- "summary": "Get ABC News top stories",
+ "summary": "Get Burberry search-box suggestions",
"tags": [
- "ABC News"
+ "Burberry"
]
}
},
- "/abcnews/sections": {
+ "/burgerking/availability": {
"get": {
- "description": "Lists the 8 core ABC News sections that `abcnews-headlines` accepts: `us`, `world`, `politics`, `business`, `technology`, `entertainment`, `health` and `sports`. Each entry has a `slug`, a display `name` and the section's page `url`.",
- "operationId": "abcnews-sections",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns one restaurant's live open/closed status per order channel (curbside, delivery, drive-thru, eat-in, mobile-order drive-thru, takeout), distinct from /burgerking/locations' published weekly schedule. Each channel carries whether it is taking orders right now, its current open window when open, and the following window's start/end -- a channel with no current or next window at all means this restaurant does not offer it, not merely that it is closed. Also returns the restaurant's own local time, timezone and an overall available flag. Setting forecast=true additionally returns a multi-day forward schedule per channel, including two catering-only channels not present in the current-status list.",
+ "operationId": "burgerking-availability",
+ "parameters": [
+ {
+ "description": "Burger King's numeric store id, from /burgerking/locations",
+ "in": "query",
+ "name": "store_id",
+ "required": true,
+ "type": "string",
+ "x-example": "17871"
+ },
+ {
+ "description": "RBI market the store belongs to, one of `US`, `CA` (default `US`)",
+ "in": "query",
+ "name": "market",
+ "type": "string",
+ "x-example": "US"
+ },
+ {
+ "description": "Include a multi-day forward schedule per channel (default false)",
+ "in": "query",
+ "name": "forecast",
+ "type": "boolean",
+ "x-example": false
+ }
+ ],
"produces": [
"application/json"
],
@@ -273656,7 +343940,31 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.sectionsResponseDoc"
+ "$ref": "#/definitions/burgerking.availabilityResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
}
}
},
@@ -273665,19 +343973,72 @@
"ApiKeyAuth": []
}
],
- "summary": "Get ABC News sections",
+ "summary": "Get one Burger King restaurant's real-time fulfillment status",
"tags": [
- "ABC News"
+ "Burger King"
]
}
},
- "/accor/amenities": {
+ "/burgerking/locations": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns the anonymous public Accor amenity catalog with stable amenity codes, labels, categories, and display ordering. It is reference data for interpreting hotel search facets; booking, rates, rooms, reviews, and account data are excluded.",
- "operationId": "accor-amenities",
+ "description": "Returns Burger King restaurants near a latitude/longitude. Each restaurant carries its internal id and numeric store id (the value /burgerking/menu and /burgerking/availability take), full address with coordinates, phone, the operating franchise group, amenity flags (breakfast, delivery, drive-thru, playground, takeout, wifi, halal, dark kitchen) and the full published week of hours for dining room, drive-thru, delivery and curbside separately. A coordinate with no nearby Burger King returns an empty list rather than an error. Setting include_availability=true additionally returns each restaurant's live per-channel open/closed status in one call, the same shape /burgerking/availability returns -- note that path is capped at a fixed page (up to 20 restaurants) rather than honoring max_results beyond that. Setting delivery_only=true instead restricts results to restaurants that Burger King's own delivery service actually considers deliverable to this coordinate -- a genuine delivery-zone match, not the same set as filtering has_delivery=true. include_availability and delivery_only cannot be combined.",
+ "operationId": "burgerking-locations",
+ "parameters": [
+ {
+ "description": "Search center latitude",
+ "in": "query",
+ "name": "latitude",
+ "required": true,
+ "type": "number",
+ "x-example": 40.7128
+ },
+ {
+ "description": "Search center longitude",
+ "in": "query",
+ "name": "longitude",
+ "required": true,
+ "type": "number",
+ "x-example": -74.006
+ },
+ {
+ "description": "Search radius in meters, 1-50000 (default 8000)",
+ "in": "query",
+ "name": "radius",
+ "type": "integer",
+ "x-example": 8000
+ },
+ {
+ "description": "Maximum restaurants to return, 1-50 (default 20)",
+ "in": "query",
+ "name": "max_results",
+ "type": "integer",
+ "x-example": 20
+ },
+ {
+ "description": "RBI market to search, one of `US`, `CA` (default `US`)",
+ "in": "query",
+ "name": "market",
+ "type": "string",
+ "x-example": "US"
+ },
+ {
+ "description": "Include each restaurant's live per-channel open/closed status (default false)",
+ "in": "query",
+ "name": "include_availability",
+ "type": "boolean",
+ "x-example": false
+ },
+ {
+ "description": "Restrict to restaurants that actually deliver to this coordinate, a genuine delivery-zone match distinct from the has_delivery flag (default false)",
+ "in": "query",
+ "name": "delivery_only",
+ "type": "boolean",
+ "x-example": false
+ }
+ ],
"produces": [
"application/json"
],
@@ -273685,17 +344046,23 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/accor.amenitiesResponseDoc"
+ "$ref": "#/definitions/burgerking.locationsResponseDoc"
}
},
- "429": {
- "description": "Too Many Requests",
+ "400": {
+ "description": "Bad Request",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -273712,19 +344079,36 @@
"ApiKeyAuth": []
}
],
- "summary": "Accor amenity reference catalog",
+ "summary": "Find Burger King restaurants near a location",
"tags": [
- "Accor"
+ "Burger King"
]
}
},
- "/accor/brands": {
+ "/burgerking/menu": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns the Accor brand directory published on the public brands page, with each brand's name, slug, and source URL. Booking, rates, rooms, reviews, contacts, and location are excluded.",
- "operationId": "accor-brands",
+ "description": "Returns one restaurant's full menu grouped into categories (e.g. \"Breakfast Sandwiches\", \"Flame Grilled Burgers\"). Every entry is an item, a combo, or a picker (a variant-choice product such as \"choose your drink size\") and carries a delivery and pickup price -- these genuinely differ -- plus calories, detailed nutrition facts and flagged allergens when Burger King publishes them, and an image. Prices and availability reflect this specific restaurant, not a national default.",
+ "operationId": "burgerking-menu",
+ "parameters": [
+ {
+ "description": "Burger King's numeric store id, from /burgerking/locations",
+ "in": "query",
+ "name": "store_id",
+ "required": true,
+ "type": "string",
+ "x-example": "17871"
+ },
+ {
+ "description": "RBI market the store belongs to, one of `US`, `CA` (default `US`)",
+ "in": "query",
+ "name": "market",
+ "type": "string",
+ "x-example": "US"
+ }
+ ],
"produces": [
"application/json"
],
@@ -273732,17 +344116,23 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/accor.brandsResponseDoc"
+ "$ref": "#/definitions/burgerking.menuResponseDoc"
}
},
- "429": {
- "description": "Too Many Requests",
+ "400": {
+ "description": "Bad Request",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -273759,71 +344149,42 @@
"ApiKeyAuth": []
}
],
- "summary": "Accor brand directory",
+ "summary": "Get one Burger King restaurant's full priced menu",
"tags": [
- "Accor"
+ "Burger King"
]
}
},
- "/accor/catalog/hotels": {
+ "/burgerking/product": {
"get": {
"consumes": [
"application/json"
],
- "description": "Searches Accor's anonymous public hotel catalog by text, hotel code, or latitude/longitude radius. Results contain static property identity and broad location metadata plus catalog relevance/distance; contact details, precise hotel coordinates, payment, loyalty, media, rates, rooms, reviews, and booking data are excluded.",
- "operationId": "accor-catalog-hotels",
+ "description": "Returns one menu entry's full detail (name, description, price, image, nutrition, allergens) plus its customization tree, when it has one -- a combo's courses and their swappable entree/side/drink choices, a picker's size/variant choices, or a customizable item's ingredient toggle groups (e.g. \"Bacon\": no/regular/extra) and their price deltas. Options recurses through the full upstream structure, so a combo's entree choice carries its own ingredient toggles too, not just the combo's own top-level courses. A plain, non-customizable item returns an empty options list.",
+ "operationId": "burgerking-product",
"parameters": [
{
- "description": "Destination or hotel text (at least two characters)",
+ "description": "Burger King's numeric store id, from /burgerking/locations",
"in": "query",
- "name": "query",
+ "name": "store_id",
+ "required": true,
"type": "string",
- "x-example": "London"
+ "x-example": "17871"
},
{
- "description": "Four-character Accor hotel code",
+ "description": "The item, combo, or picker id, from /burgerking/menu",
"in": "query",
- "name": "hotel_id",
+ "name": "item_id",
+ "required": true,
"type": "string",
- "x-example": "A7L5"
- },
- {
- "description": "Search-center latitude (-90 to 90)",
- "in": "query",
- "name": "latitude",
- "type": "number",
- "x-example": 51.5072
- },
- {
- "description": "Search-center longitude (-180 to 180)",
- "in": "query",
- "name": "longitude",
- "type": "number",
- "x-example": -0.1276
- },
- {
- "default": 10,
- "description": "Search radius in kilometers (0.1 to 100; defaults to 10 for coordinate searches)",
- "in": "query",
- "name": "radius_km",
- "type": "number",
- "x-example": 10
- },
- {
- "default": 0,
- "description": "Zero-based result offset (0 to 300)",
- "in": "query",
- "name": "offset",
- "type": "integer",
- "x-example": 0
+ "x-example": "item_26"
},
{
- "default": 20,
- "description": "Results per request (1 to 50)",
+ "description": "RBI market the store belongs to, one of `US`, `CA` (default `US`)",
"in": "query",
- "name": "limit",
- "type": "integer",
- "x-example": 20
+ "name": "market",
+ "type": "string",
+ "x-example": "US"
}
],
"produces": [
@@ -273833,7 +344194,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/accor.catalogResponseDoc"
+ "$ref": "#/definitions/burgerking.productResponseDoc"
}
},
"400": {
@@ -273842,14 +344203,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Too Many Requests",
+ "404": {
+ "description": "Not Found",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -273866,67 +344227,149 @@
"ApiKeyAuth": []
}
],
- "summary": "Search the Accor hotel catalog",
+ "summary": "Get one Burger King item, combo, or picker's full detail and customization tree",
"tags": [
- "Accor"
+ "Burger King"
]
}
},
- "/accor/destination/hotels": {
+ "/businessinsider/article": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns the static list of hotels published on one Accor destination directory page (world, continent, country, region, department, city, district, or place), optionally narrowed by a theme facet. Each hotel carries its code, name, source URL, and broad city/country. Booking, rates, rooms, reviews, contacts, and precise location are excluded.",
- "operationId": "accor-destination-hotels",
+ "description": "Returns a Business Insider article by canonical `url`: title, description, publication and update times, section, authors, image and the body `paragraphs`. Subscriber-only or blocked content returns an error instead of partial text.",
+ "operationId": "businessinsider-article",
"parameters": [
{
- "description": "Destination level: world, continent, country, region, department, city, district, or place",
- "enum": [
- "world",
- "continent",
- "country",
- "region",
- "department",
- "city",
- "district",
- "place"
- ],
+ "description": "Canonical Business Insider article URL",
"in": "query",
- "name": "destination_type",
+ "name": "url",
"required": true,
"type": "string",
- "x-example": "world"
+ "x-example": "https://www.businessinsider.com/markets/example-2026-09-21"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.articleResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
},
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
{
- "description": "Destination page slug, e.g. hotels-dusseldorf-v1158. Required for every type except world.",
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Business Insider article content",
+ "tags": [
+ "Business Insider"
+ ]
+ }
+ },
+ "/businessinsider/author": {
+ "get": {
+ "description": "Returns a Business Insider author's profile, identified by `slug` (the last segment of the author's page address) or a canonical `https://www.businessinsider.com/author/` `url`; exactly one is required. The response has name, job title, bio, image, `social_accounts` and one page of recent articles with title, URL and summary. Accounts the author does not list are simply absent.",
+ "operationId": "businessinsider-author",
+ "parameters": [
+ {
+ "description": "Author slug",
"in": "query",
"name": "slug",
- "type": "string"
+ "type": "string",
+ "x-example": "peter-kafka"
},
{
- "description": "Optional theme facet: 4-stars, 5-stars, apart-hotel, breakfast, budget-friendly, business, eco-certified, family-friendly, fitness, luxury, meetings-and-events, parking, pet-friendly, pool, resorts, or spa",
+ "description": "Canonical businessinsider.com/author/ URL; alternative to slug",
+ "in": "query",
+ "name": "url",
+ "type": "string",
+ "x-example": "https://www.businessinsider.com/author/peter-kafka"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.businessInsiderAuthorResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get a Business Insider author profile",
+ "tags": [
+ "Business Insider"
+ ]
+ }
+ },
+ "/businessinsider/headlines": {
+ "get": {
+ "description": "Returns fresh headlines for one Business Insider section. `section` is required and is one of `business`, `markets`, `technology`, `politics`, `strategy`, `finance`, `science`, `lifestyle` or `reviews`. Each item has a title and URL, and may also carry a summary, author, publication time and image.",
+ "operationId": "businessinsider-headlines",
+ "parameters": [
+ {
+ "description": "Business Insider section slug",
"enum": [
- "4-stars",
- "5-stars",
- "apart-hotel",
- "breakfast",
- "budget-friendly",
"business",
- "eco-certified",
- "family-friendly",
- "fitness",
- "luxury",
- "meetings-and-events",
- "parking",
- "pet-friendly",
- "pool",
- "resorts",
- "spa"
+ "markets",
+ "technology",
+ "politics",
+ "strategy",
+ "finance",
+ "science",
+ "lifestyle",
+ "reviews"
],
"in": "query",
- "name": "theme",
- "type": "string"
+ "name": "section",
+ "required": true,
+ "type": "string",
+ "x-example": "business"
}
],
"produces": [
@@ -273936,7 +344379,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/accor.destinationResponseDoc"
+ "$ref": "#/definitions/publicnews.headlinesResponseDoc"
}
},
"400": {
@@ -273945,16 +344388,36 @@
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Too Many Requests",
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
- },
- "500": {
- "description": "Internal Server Error",
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Business Insider section headlines",
+ "tags": [
+ "Business Insider"
+ ]
+ }
+ },
+ "/businessinsider/news": {
+ "get": {
+ "description": "Returns the latest Business Insider top stories, with no input needed. Each item has a title and canonical URL, and may also carry a summary, author, publication time and image.",
+ "operationId": "businessinsider-news",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
"schema": {
- "$ref": "#/definitions/app.Response"
+ "$ref": "#/definitions/publicnews.newsResponseDoc"
}
},
"503": {
@@ -273969,27 +344432,50 @@
"ApiKeyAuth": []
}
],
- "summary": "Accor hotels in a destination",
+ "summary": "Get Business Insider top stories",
"tags": [
- "Accor"
+ "Business Insider"
]
}
},
- "/accor/property": {
+ "/businessinsider/sections": {
"get": {
- "consumes": [
+ "description": "Lists the Business Insider editorial sections accepted by `businessinsider-headlines`, such as `business`, `markets` and `technology`. Each entry has a stable `slug`, a display `name` and the section's page `url`.",
+ "operationId": "businessinsider-sections",
+ "produces": [
"application/json"
],
- "description": "Returns static public metadata for one Accor hotel code, including name, brand, city/country, explicitly listed amenities, and published check-in/check-out times. Booking, rates, rooms, reviews, contacts, and precise location are excluded.",
- "operationId": "accor-property",
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.sectionsResponseDoc"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Business Insider sections",
+ "tags": [
+ "Business Insider"
+ ]
+ }
+ },
+ "/businessstandard/article": {
+ "get": {
+ "description": "Returns public Business Standard article metadata and body paragraphs from a canonical article URL. A story Business Standard marks premium (subscriber-only) returns a permission error instead of a body.",
+ "operationId": "businessstandard-article",
"parameters": [
{
- "description": "Four-character Accor hotel code",
+ "description": "Canonical Business Standard article URL",
"in": "query",
- "name": "hotel_code",
+ "name": "url",
"required": true,
"type": "string",
- "x-example": "A7L5"
+ "x-example": "https://www.business-standard.com/companies/news/example-article-slug-126092401169_1.html"
}
],
"produces": [
@@ -273999,7 +344485,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/accor.propertyResponseDoc"
+ "$ref": "#/definitions/publicnews.articleResponseDoc"
}
},
"400": {
@@ -274008,14 +344494,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Too Many Requests",
+ "403": {
+ "description": "Forbidden",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "404": {
+ "description": "Not Found",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -274032,85 +344518,105 @@
"ApiKeyAuth": []
}
],
- "summary": "Accor hotel metadata",
+ "summary": "Get Business Standard article content",
"tags": [
- "Accor"
+ "Business Standard"
]
}
},
- "/accor/search": {
+ "/businessstandard/author": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Searches the public Accor hotel index by destination or hotel name, with optional country, city, brand, star, page, and page-size filters. Results contain static hotel identity, location labels, ratings, and source URLs; booking, rates, rooms, reviews, loyalty, and payment flows are excluded.",
- "operationId": "accor-search",
+ "description": "Returns a Business Standard author's profile from `url`, a canonical `https://www.business-standard.com/author/` address: name, designation, biography, image, and Twitter, Facebook, LinkedIn and YouTube links where listed, plus about 20 recent stories. Stories carry a title, URL and optionally summary, date and a `premium` flag for subscriber-only text. An unknown author returns `404`.",
+ "operationId": "businessstandard-author",
"parameters": [
{
- "description": "Destination or hotel query (at least two characters)",
+ "description": "Canonical Business Standard author URL",
"in": "query",
- "name": "query",
+ "name": "url",
"required": true,
"type": "string",
- "x-example": "London"
- },
- {
- "description": "Index locale",
- "in": "query",
- "name": "language",
- "type": "string",
- "x-example": "en"
- },
- {
- "default": 0,
- "description": "Zero-based result page",
- "in": "query",
- "name": "page",
- "type": "integer",
- "x-example": 0
- },
- {
- "default": 20,
- "description": "Results per page, 1-100",
- "in": "query",
- "name": "limit",
- "type": "integer",
- "x-example": 20
+ "x-example": "https://www.business-standard.com/author/sharleen-dsouza"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.businessstandardAuthorResponseDoc"
+ }
},
- {
- "description": "Country facet",
- "in": "query",
- "name": "country",
- "type": "string",
- "x-example": "United Kingdom"
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
},
- {
- "description": "City facet",
- "in": "query",
- "name": "city",
- "type": "string",
- "x-example": "London"
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
},
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
{
- "description": "Accor brand code facet",
- "in": "query",
- "name": "brand",
- "type": "string",
- "x-example": "NOVOTEL"
- },
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get a Business Standard author profile",
+ "tags": [
+ "Business Standard"
+ ]
+ }
+ },
+ "/businessstandard/headlines": {
+ "get": {
+ "description": "Returns recent headlines for one Business Standard section: up to 35 stories, or 100 for `latest-news`. `section` is required and takes one of 25 slugs such as `companies`, `markets`, `cricket` or `todays-paper`. Some stories are premium (subscriber-only), and requesting one from the article endpoint returns `403`.",
+ "operationId": "businessstandard-headlines",
+ "parameters": [
{
- "description": "Exact star facet",
+ "description": "Business Standard section slug",
"enum": [
- 1,
- 2,
- 3,
- 4,
- 5
+ "latest-news",
+ "companies",
+ "economy",
+ "finance",
+ "opinion",
+ "markets",
+ "technology",
+ "specials",
+ "budget",
+ "elections",
+ "politics",
+ "education",
+ "health",
+ "sports",
+ "entertainment",
+ "lifestyle",
+ "india-news",
+ "industry",
+ "cricket",
+ "book",
+ "world-news",
+ "external-affairs-defence-security",
+ "immigration",
+ "blueprint-defence-magazine",
+ "todays-paper"
],
"in": "query",
- "name": "stars",
- "type": "integer",
- "x-example": 4
+ "name": "section",
+ "required": true,
+ "type": "string",
+ "x-example": "latest-news"
}
],
"produces": [
@@ -274120,7 +344626,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/accor.searchResponseDoc"
+ "$ref": "#/definitions/publicnews.headlinesResponseDoc"
}
},
"400": {
@@ -274129,14 +344635,40 @@
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Too Many Requests",
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Business Standard section headlines",
+ "tags": [
+ "Business Standard"
+ ]
+ }
+ },
+ "/businessstandard/news": {
+ "get": {
+ "description": "Returns Business Standard top stories from its home page, with no input needed: title, canonical URL and, where present, publication time, summary, author and image. Some listed stories are premium (subscriber-only), and requesting one from the article endpoint returns `403`.",
+ "operationId": "businessstandard-news",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.newsResponseDoc"
+ }
},
- "500": {
- "description": "Internal Server Error",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -274153,46 +344685,53 @@
"ApiKeyAuth": []
}
],
- "summary": "Search Accor hotels",
+ "summary": "Get Business Standard top stories",
"tags": [
- "Accor"
+ "Business Standard"
]
}
},
- "/accor/search/details": {
+ "/businessstandard/sections": {
+ "get": {
+ "description": "Lists the 25 Business Standard section slugs accepted by `businessstandard-headlines`, from `latest-news`, `companies` and `markets` to `cricket`, `immigration` and `todays-paper`. Each entry has a `slug`, a display `name` and the section's page `url`.",
+ "operationId": "businessstandard-sections",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.sectionsResponseDoc"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Business Standard sections",
+ "tags": [
+ "Business Standard"
+ ]
+ }
+ },
+ "/capterra/product": {
"get": {
"consumes": [
"application/json"
],
- "description": "Resolves an anonymous Accor search suggestion identifier to its description, coordinates, viewport, radius, and address components. It uses the same public place-details source as the Accor search box; booking, rates, rooms, reviews, and account data are excluded.",
- "operationId": "accor-search-details",
+ "description": "Returns a Capterra product profile: name, description, category, and aggregate rating.",
+ "operationId": "capterra-product",
"parameters": [
{
- "description": "Suggestion source",
- "enum": [
- "google_places",
- "hod_hotels"
- ],
- "in": "query",
- "name": "source",
- "required": true,
- "type": "string",
- "x-example": "google_places"
- },
- {
- "description": "Identifier returned by Accor search suggestions",
+ "description": "Capterra product id (the numeric id in a /p/{id}/{slug}/ URL)",
"in": "query",
- "name": "id",
+ "name": "product_id",
"required": true,
"type": "string",
- "x-example": "ChIJdd4hrwug2EcRmSrV3Vo6llI"
- },
- {
- "description": "Optional locale",
- "in": "query",
- "name": "language",
- "type": "string",
- "x-example": "en"
+ "x-example": "135003"
}
],
"produces": [
@@ -274202,7 +344741,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/accor.detailsResponseDoc"
+ "$ref": "#/definitions/capterra.productResponseDoc"
}
},
"400": {
@@ -274211,8 +344750,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Too Many Requests",
+ "404": {
+ "description": "Not Found",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -274235,34 +344774,34 @@
"ApiKeyAuth": []
}
],
- "summary": "Accor place coordinates and viewport",
+ "summary": "Get a Capterra product",
"tags": [
- "Accor"
+ "Capterra"
]
}
},
- "/accor/search/suggest": {
+ "/capterra/product/reviews": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns anonymous Accor typeahead suggestions for a partial destination or hotel query, including destination/place and hotel identifiers, types, labels, and match metadata. It uses the public search-box suggestion source only; booking, rates, rooms, reviews, and result-list requests are excluded.",
- "operationId": "accor-search-suggest",
+ "description": "Returns a page of Capterra reviews (author, headline, rating) plus the product's aggregate rating.",
+ "operationId": "capterra-reviews",
"parameters": [
{
- "description": "Partial destination or hotel query (at least two characters)",
+ "description": "Capterra product id (the numeric id in a /p/{id}/{slug}/ URL)",
"in": "query",
- "name": "query",
+ "name": "product_id",
"required": true,
"type": "string",
- "x-example": "London"
+ "x-example": "135003"
},
{
- "description": "Optional locale used by the suggestion source",
+ "description": "Page number (default 1)",
"in": "query",
- "name": "language",
- "type": "string",
- "x-example": "en"
+ "name": "page",
+ "type": "integer",
+ "x-example": 1
}
],
"produces": [
@@ -274272,7 +344811,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/accor.suggestResponseDoc"
+ "$ref": "#/definitions/capterra.reviewsResponseDoc"
}
},
"400": {
@@ -274281,8 +344820,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Too Many Requests",
+ "404": {
+ "description": "Not Found",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -274305,27 +344844,27 @@
"ApiKeyAuth": []
}
],
- "summary": "Accor destination and hotel search suggestions",
+ "summary": "Get Capterra product reviews",
"tags": [
- "Accor"
+ "Capterra"
]
}
},
- "/adidas/product": {
+ "/capterra/search": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns product-detail data for one Adidas SKU: name, brand, category, description, pricing (current/standard/sale), images, and every purchasable size variant. product_id is the Adidas SKU (e.g. JI0397), taken from a search result's products[].id field or the trailing segment of an Adidas product page URL. An unknown product_id returns a not-found error.",
- "operationId": "adidas-product",
+ "description": "Returns Capterra search-result products (id, name, url, description, rating). Note: Capterra renders a fallback product list even for queries with no genuine match, rather than a distinct empty-results page, so callers should treat low-relevance results as an upstream characteristic, not a bug.",
+ "operationId": "capterra-search",
"parameters": [
{
- "description": "Adidas SKU/product id, from a search result's products[].id field",
+ "description": "Search query",
"in": "query",
- "name": "product_id",
+ "name": "q",
"required": true,
"type": "string",
- "x-example": "JI0397"
+ "x-example": "slack"
}
],
"produces": [
@@ -274335,7 +344874,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/adidas.productResponseDoc"
+ "$ref": "#/definitions/capterra.searchResponseDoc"
}
},
"400": {
@@ -274344,14 +344883,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
- "429": {
- "description": "Too Many Requests",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -274368,34 +344901,95 @@
"ApiKeyAuth": []
}
],
- "summary": "Get an Adidas product",
+ "summary": "Search Capterra products",
"tags": [
- "Adidas"
+ "Capterra"
]
}
},
- "/adidas/product/review-topics": {
+ "/cardmarket/catalog": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns the topics an Adidas product model's customer reviews can be filtered by -- the \"filter by topic\" chips the product page shows, commonly satisfaction, comfort, color, purchase, fit, appearance, quality and style. Feed a topics[].topic value back to /adidas/product/reviews as its topic parameter to return only reviews about that aspect. The topic vocabulary is per model, not a fixed list: a shoe exposes fit and comfort topics that an accessory does not, so read it per model rather than hard-coding it. model_number is the Adidas model number (e.g. SAMBAU2312) -- NOT the SKU: take it from an adidas_search result's products[].model_number field. A model with no reviews, including a well-formed but unrecognized model_number, returns an empty topics list rather than an error. Note the label field is a display form of topic, not translated text: Adidas returns the same English values for every locale on this route.",
- "operationId": "adidas-product-review-topics",
+ "description": "Reads the public singles, non-singles, or global accessories export and applies local name/category/expansion filters. Category and expansion IDs and labels are discovered from the complete selected file. Game IDs 26-33 have price guides but no verified catalogue files. The response is a catalogue snapshot, not current seller offers.",
+ "operationId": "cardmarket-catalog",
"parameters": [
{
- "description": "Adidas model number, from an adidas_search result's products[].model_number field",
+ "description": "Catalogue file type; defaults to singles",
+ "enum": [
+ "singles",
+ "nonsingles",
+ "accessories"
+ ],
"in": "query",
- "name": "model_number",
- "required": true,
+ "name": "kind",
"type": "string",
- "x-example": "SAMBAU2312"
+ "x-example": "singles"
},
{
- "description": "Locale accepted for consistency with the reviews endpoint. Allowed values: cs_CZ, da_DK, de_AT, de_CH, de_DE, el_GR, en_AE, en_AU, en_CA, en_GB, en_IE, en_IL, en_IN, en_NZ, en_PH, en_SG, en_US, en_ZA, es_AR, es_CL, es_CO, es_ES, es_MX, es_PE, fr_BE, fr_CA, fr_CH, fr_FR, id_ID, it_CH, it_IT, ja_JP, ko_KR, nl_BE, nl_NL, pl_PL, pt_BR, pt_PT, ru_RU, sk_SK, sv_SE, th_TH, tr_TR, zh_HK, zh_TW. Defaults to en_US. Note Adidas returns the same English topic labels regardless of this value.",
+ "description": "Required for singles/nonsingles; omit for global accessories",
+ "enum": [
+ 1,
+ 2,
+ 3,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11,
+ 12,
+ 13,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25
+ ],
"in": "query",
- "name": "locale",
+ "name": "game_id",
+ "type": "integer",
+ "x-example": 6
+ },
+ {
+ "description": "Optional current category ID; discover the full set with /cardmarket/catalog/categories",
+ "in": "query",
+ "name": "category_id",
+ "type": "integer",
+ "x-example": 51
+ },
+ {
+ "description": "Optional current expansion ID; discover the full set with /cardmarket/catalog/categories",
+ "in": "query",
+ "name": "expansion_id",
+ "type": "integer",
+ "x-example": 1585
+ },
+ {
+ "description": "Optional case-insensitive local product-name substring, up to 200 characters",
+ "in": "query",
+ "name": "q",
"type": "string",
- "x-example": "en_US"
+ "x-example": "pikachu"
+ },
+ {
+ "description": "Rows per page, 1-500; defaults to 100",
+ "in": "query",
+ "name": "limit",
+ "type": "integer",
+ "x-example": 100
+ },
+ {
+ "description": "Zero-based offset; defaults to 0",
+ "in": "query",
+ "name": "offset",
+ "type": "integer",
+ "x-example": 0
}
],
"produces": [
@@ -274405,7 +344999,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/adidas.reviewTopicsResponseDoc"
+ "$ref": "#/definitions/cardmarket.catalogResponseDoc"
}
},
"400": {
@@ -274438,55 +345032,60 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Adidas review topics for a product",
+ "summary": "Search Cardmarket product catalogues",
"tags": [
- "Adidas"
+ "Cardmarket"
]
}
},
- "/adidas/product/reviews": {
+ "/cardmarket/catalog/categories": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns one page of customer reviews for an Adidas product model, plus the model's rating summary: overall rating, star histogram, percentage of reviewers who recommend it, per-attribute averages (Size, Width, Comfort, Quality with their own scale labels), and Adidas's AI-generated review digest when one exists. Each review carries the rating, headline, body, author nickname, purchased colorway, helpful/not-helpful vote counts, badges, customer photos, and submission time. model_number is the Adidas model number (e.g. SAMBAU2312) -- NOT the SKU: take it from an adidas_search result's products[].model_number field, which is a different value from products[].id. Reviews are returned 10 per page. Reviews are scoped to review text written in the requested locale's language, and most of the US catalog's reviews are English, so a non-English locale commonly returns rating statistics and a localized summary with an empty reviews list. A model with no reviews -- including a well-formed but unrecognized model_number -- returns an empty reviews list rather than an error, because Adidas answers 200 with a zero count rather than 404.",
- "operationId": "adidas-product-reviews",
+ "description": "Returns only the category and expansion values from the selected public product catalogue. Use this lightweight discovery route before filtering catalogues by category_id or expansion_id; it does not return product rows.",
+ "operationId": "cardmarket-catalog-categories",
"parameters": [
{
- "description": "Adidas model number, from an adidas_search result's products[].model_number field",
- "in": "query",
- "name": "model_number",
- "required": true,
- "type": "string",
- "x-example": "SAMBAU2312"
- },
- {
- "description": "Locale for the review-summary language, the secondary-rating scale labels, and the language of the reviews returned. Allowed values: cs_CZ, da_DK, de_AT, de_CH, de_DE, el_GR, en_AE, en_AU, en_CA, en_GB, en_IE, en_IL, en_IN, en_NZ, en_PH, en_SG, en_US, en_ZA, es_AR, es_CL, es_CO, es_ES, es_MX, es_PE, fr_BE, fr_CA, fr_CH, fr_FR, id_ID, it_CH, it_IT, ja_JP, ko_KR, nl_BE, nl_NL, pl_PL, pt_BR, pt_PT, ru_RU, sk_SK, sv_SE, th_TH, tr_TR, zh_HK, zh_TW. Defaults to en_US.",
- "in": "query",
- "name": "locale",
- "type": "string",
- "x-example": "en_US"
- },
- {
- "description": "Return only reviews with this star rating. Allowed values: 1, 2, 3, 4, 5. Omitted returns every rating.",
- "in": "query",
- "name": "rating",
- "type": "integer",
- "x-example": 5
- },
- {
- "description": "Return only reviews about one topic. Valid values are per-model -- read them from /adidas/product/review-topics for the same model_number (commonly satisfaction, comfort, color, purchase, fit, appearance, quality, style). An unrecognized topic returns a 400 listing the model's own topics.",
+ "description": "Catalogue file type; defaults to singles",
+ "enum": [
+ "singles",
+ "nonsingles",
+ "accessories"
+ ],
"in": "query",
- "name": "topic",
+ "name": "kind",
"type": "string",
- "x-example": "comfort"
+ "x-example": "singles"
},
{
- "description": "One-based page number, 10 reviews per page, defaults to 1",
+ "description": "Required for singles/nonsingles; omit for global accessories",
+ "enum": [
+ 1,
+ 2,
+ 3,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11,
+ 12,
+ 13,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25
+ ],
"in": "query",
- "name": "page",
+ "name": "game_id",
"type": "integer",
- "x-example": 1
+ "x-example": 6
}
],
"produces": [
@@ -274496,7 +345095,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/adidas.productReviewsResponseDoc"
+ "$ref": "#/definitions/cardmarket.catalogCategoriesResponseDoc"
}
},
"400": {
@@ -274529,47 +345128,121 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Adidas product reviews",
+ "summary": "Discover Cardmarket catalogue categories and expansions",
"tags": [
- "Adidas"
+ "Cardmarket"
]
}
},
- "/adidas/search": {
+ "/cardmarket/games": {
"get": {
- "consumes": [
+ "description": "Returns the exact observed public S3 price-guide IDs and whether singles/non-singles catalogue files are present. Product display names are not inferred from numeric IDs when the download index cannot provide a confirmed mapping.",
+ "operationId": "cardmarket-games",
+ "produces": [
"application/json"
],
- "description": "Searches Adidas.com product listings by keyword, or browses a category listing by taxonomy slug, with real pagination and sort options. Exactly one of query or category is required. Returns product summaries (title, price, rating, images, color variants) plus facet filter groups, sort options, and (for category browse) a breadcrumb trail. Keyword search is best-effort relevance, not a guaranteed match: an obscure keyword returns whatever Adidas's own search index surfaces. A genuinely empty keyword search returns an empty product list, and requesting a page beyond the available result pages (or an unknown category) returns a not-found error. Category values are the path segment after /us/ in an Adidas category URL (e.g. women-athletic_sneakers); they can also be read from the url fields of a search/category response's own filters and breadcrumbs. Facets are applied by composing them into the category slug rather than by a separate parameter: each filters[].values[].slug is a token you splice into the category value (e.g. category=women-black-athletic_sneakers applies the Color=Black facet, and category=women-athletic_sneakers-prime applies Shipping=PRIME). Use filters[].key (the facet's stable name, e.g. searchcolor) rather than filters[].id, which is an opaque per-deployment UUID that cannot be used to build a request. Note the token's position within the slug varies by facet, so compose from a slug you have seen rather than assuming a fixed order.",
- "operationId": "adidas-search",
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/cardmarket.gamesResponseDoc"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Discover Cardmarket download game IDs",
+ "tags": [
+ "Cardmarket"
+ ]
+ }
+ },
+ "/cardmarket/price-guide": {
+ "get": {
+ "description": "Returns a paginated snapshot of Cardmarket's public daily price-guide export. The response discovers category IDs but the source file has no category labels. Cardmarket's posted English terms include a prior-written-agreement clause for external price display in a future-dated revision whose effective status is unconfirmed here; the response marks permission as unconfirmed.",
+ "operationId": "cardmarket-price-guide",
"parameters": [
{
- "description": "Search keyword. Exactly one of query or category is required.",
+ "description": "Price-guide dataset; defaults to game",
+ "enum": [
+ "game",
+ "accessories"
+ ],
"in": "query",
- "name": "query",
+ "name": "kind",
"type": "string",
- "x-example": "running shoes"
+ "x-example": "game"
},
{
- "description": "Category/taxonomy slug, the path segment after /us/ in an Adidas category URL. Exactly one of query or category is required.",
+ "description": "Required when kind=game; omit for global accessories",
+ "enum": [
+ 1,
+ 2,
+ 3,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11,
+ 12,
+ 13,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33
+ ],
"in": "query",
- "name": "category",
- "type": "string",
- "x-example": "women-athletic_sneakers"
+ "name": "game_id",
+ "type": "integer",
+ "x-example": 6
},
{
- "description": "Sort order. Allowed values: price-low-to-high, newest-to-oldest, top-sellers, price-high-to-low. Omitted means relevance.",
+ "description": "Optional category ID; discover the full set with /cardmarket/price-guide/categories",
"in": "query",
- "name": "sort",
- "type": "string",
- "x-example": "price-low-to-high"
+ "name": "category_id",
+ "type": "integer",
+ "x-example": 52
},
{
- "description": "One-based page number, defaults to 1",
+ "description": "Optional exact product ID filter",
"in": "query",
- "name": "page",
+ "name": "product_id",
"type": "integer",
- "x-example": 1
+ "x-example": 271439
+ },
+ {
+ "description": "Rows per page, 1-500; defaults to 100",
+ "in": "query",
+ "name": "limit",
+ "type": "integer",
+ "x-example": 100
+ },
+ {
+ "description": "Zero-based offset; defaults to 0",
+ "in": "query",
+ "name": "offset",
+ "type": "integer",
+ "x-example": 0
}
],
"produces": [
@@ -274579,7 +345252,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/adidas.searchResponseDoc"
+ "$ref": "#/definitions/cardmarket.priceGuideResponseDoc"
}
},
"400": {
@@ -274612,27 +345285,67 @@
"ApiKeyAuth": []
}
],
- "summary": "Search or browse Adidas products",
+ "summary": "Get Cardmarket daily price-guide data",
"tags": [
- "Adidas"
+ "Cardmarket"
]
}
},
- "/adidas/store": {
+ "/cardmarket/price-guide/categories": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns detail for one Adidas retail store: name, status, phone, description, full address, coordinates, opening hours, and in-store services (e.g. Click and Collect, Free Wi-Fi). store_id is the numeric Adidas store id, taken from an adidas-stores response's stores[].id field. An unknown store_id returns a not-found error.",
- "operationId": "adidas-store",
+ "description": "Returns only the numeric category IDs and counts in a game or global accessories price guide. Use this discovery route before filtering price guides by category_id; it does not return price rows.",
+ "operationId": "cardmarket-price-guide-categories",
"parameters": [
{
- "description": "Adidas store id, from a stores response's stores[].id field",
+ "description": "Price-guide dataset; defaults to game",
+ "enum": [
+ "game",
+ "accessories"
+ ],
"in": "query",
- "name": "store_id",
- "required": true,
+ "name": "kind",
"type": "string",
- "x-example": "9990021686"
+ "x-example": "game"
+ },
+ {
+ "description": "Required when kind=game; omit for global accessories",
+ "enum": [
+ 1,
+ 2,
+ 3,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11,
+ 12,
+ 13,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33
+ ],
+ "in": "query",
+ "name": "game_id",
+ "type": "integer",
+ "x-example": 6
}
],
"produces": [
@@ -274642,7 +345355,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/adidas.storeDetailResponseDoc"
+ "$ref": "#/definitions/cardmarket.priceGuideCategoriesResponseDoc"
}
},
"400": {
@@ -274675,42 +345388,89 @@
"ApiKeyAuth": []
}
],
- "summary": "Get an Adidas store",
+ "summary": "Discover Cardmarket price-guide categories",
"tags": [
- "Adidas"
+ "Cardmarket"
]
}
},
- "/adidas/stores": {
+ "/carmax/search": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns Adidas physical retail stores nearest to a coordinate, sourced from Adidas's own store-finder API: name, address, phone, coordinates, distance in miles, opening hours, and in-store feature flags. lat and lng are both required. Adidas's upstream ignores a caller-supplied radius and returns the nearest ~20 stores ordered by distance. A location with no stores returns an empty list rather than an error.",
- "operationId": "adidas-stores",
+ "description": "Searches CarMax for used car listings, returning vehicle summaries (make, model, trim, year, mileage, colors, engine, fuel economy, pricing, store, images), available search facets with live counts, and the total matching count.",
+ "operationId": "carmax-search",
"parameters": [
{
- "description": "Latitude, -90 to 90",
+ "description": "CarMax make, e.g. honda, Toyota, BMW (case-insensitive)",
"in": "query",
- "name": "lat",
- "required": true,
- "type": "number",
- "x-example": 40.75
+ "name": "make",
+ "type": "string",
+ "x-example": "honda"
},
{
- "description": "Longitude, -180 to 180",
+ "description": "CarMax model, e.g. civic (case-insensitive). Does not require make",
"in": "query",
- "name": "lng",
- "required": true,
- "type": "number",
- "x-example": -73.99
+ "name": "model",
+ "type": "string",
+ "x-example": "civic"
},
{
- "description": "Accepted only as 0. Adidas's store finder returns every nearby store (up to 20) in a single page, so any higher value is always empty and is rejected as an invalid parameter.",
+ "description": "5-digit US ZIP code to bias results toward CarMax's nearest store",
+ "in": "query",
+ "name": "zip",
+ "type": "string",
+ "x-example": "90210"
+ },
+ {
+ "description": "Sort order: bestmatch, distance-asc, price-asc, price-desc, mileage-asc, mileage-desc, year-desc, year-asc, newarrival. Defaults to bestmatch",
+ "in": "query",
+ "name": "sort",
+ "type": "string",
+ "x-example": "price-asc"
+ },
+ {
+ "description": "Minimum model year",
+ "in": "query",
+ "name": "min_year",
+ "type": "integer",
+ "x-example": 2020
+ },
+ {
+ "description": "Maximum model year",
+ "in": "query",
+ "name": "max_year",
+ "type": "integer",
+ "x-example": 2024
+ },
+ {
+ "description": "Minimum price in US dollars",
+ "in": "query",
+ "name": "min_price",
+ "type": "integer",
+ "x-example": 15000
+ },
+ {
+ "description": "Maximum price in US dollars",
+ "in": "query",
+ "name": "max_price",
+ "type": "integer",
+ "x-example": 30000
+ },
+ {
+ "description": "Maximum odometer mileage",
+ "in": "query",
+ "name": "max_mileage",
+ "type": "integer",
+ "x-example": 60000
+ },
+ {
+ "description": "1-indexed result page, defaults to 1. CarMax returns 48 results per page",
"in": "query",
"name": "page",
"type": "integer",
- "x-example": 0
+ "x-example": 1
}
],
"produces": [
@@ -274720,7 +345480,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/adidas.storesResponseDoc"
+ "$ref": "#/definitions/carmax.searchResponseDoc"
}
},
"400": {
@@ -274729,8 +345489,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Too Many Requests",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -274747,27 +345507,34 @@
"ApiKeyAuth": []
}
],
- "summary": "Find nearby Adidas stores",
+ "summary": "Search CarMax vehicle listings",
"tags": [
- "Adidas"
+ "CarMax"
]
}
},
- "/adidas/suggest": {
+ "/carmax/search/suggestions": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns the top matching products for a partial query, the same search-as-you-type preview Adidas's own search box shows. Adidas has no separate term-autocomplete index, so each suggestion is a matching product (id, title, url, image, price) rather than a completed search phrase. Best-effort relevance: an obscure query returns whatever Adidas's own search surfaces.",
- "operationId": "adidas-suggest",
+ "description": "Returns autocomplete suggestions for a partial search term (make/model/trim), typo-tolerant by default.",
+ "operationId": "carmax-search-suggestions",
"parameters": [
{
- "description": "Partial search query",
+ "description": "Free-text partial search term to get autocomplete suggestions for",
"in": "query",
- "name": "query",
+ "name": "search",
"required": true,
"type": "string",
- "x-example": "samba"
+ "x-example": "civ"
+ },
+ {
+ "description": "Disable fuzzy/typo-tolerant matching -- require an exact prefix match. Defaults to false",
+ "in": "query",
+ "name": "exact_match",
+ "type": "boolean",
+ "x-example": false
}
],
"produces": [
@@ -274777,7 +345544,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/adidas.suggestResponseDoc"
+ "$ref": "#/definitions/carmax.searchSuggestionsResponseDoc"
}
},
"400": {
@@ -274786,8 +345553,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Too Many Requests",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -274804,42 +345571,19 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Adidas search suggestions",
+ "summary": "Get CarMax search autocomplete suggestions",
"tags": [
- "Adidas"
+ "CarMax"
]
}
},
- "/agoda/activities/search": {
+ "/carmax/shop-by-brand": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns Agoda activities (tours, attractions, experiences) matching a free-text keyword and/or a city. When keyword is omitted, the resolved city's name is used instead to return a general listing of activities in that city. Callers may supply a known Agoda city id or a free-text city name for the city filter; when both are supplied city_id takes precedence.",
- "operationId": "agoda-activities-search",
- "parameters": [
- {
- "description": "Free-text activity search keyword. When omitted, the resolved city's name is used instead.",
- "in": "query",
- "name": "keyword",
- "type": "string",
- "x-example": "cooking class"
- },
- {
- "description": "Numeric Agoda city id to filter results to. Optional if keyword is supplied; city_id takes precedence over city when both are supplied.",
- "in": "query",
- "name": "city_id",
- "type": "integer",
- "x-example": 9395
- },
- {
- "description": "Free-text city name, used directly as the search text when keyword is omitted, and to resolve a city id filter.",
- "in": "query",
- "name": "city",
- "type": "string",
- "x-example": "Bangkok"
- }
- ],
+ "description": "Returns CarMax's full make taxonomy for browsing by brand: every make, a display image, and CarMax's own display order.",
+ "operationId": "carmax-shop-by-brand",
"produces": [
"application/json"
],
@@ -274847,19 +345591,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/agoda.activitiesSearchResponseDoc"
- }
- },
- "400": {
- "description": "Bad Request",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
+ "$ref": "#/definitions/carmax.shopByBrandResponseDoc"
}
},
"500": {
@@ -274880,27 +345612,27 @@
"ApiKeyAuth": []
}
],
- "summary": "Search Agoda activities",
+ "summary": "Get CarMax's \"shop by brand\" make taxonomy",
"tags": [
- "Agoda"
+ "CarMax"
]
}
},
- "/agoda/activities/{activity_id}": {
+ "/carmax/store/{id}": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns full activity detail from Agoda: title, description, stated duration, categories, and content images.",
- "operationId": "agoda-activity-detail",
+ "description": "Returns a CarMax store: name, full address, phone numbers, coordinates, opening hours, and store-type flags (car buying center, microstore).",
+ "operationId": "carmax-store",
"parameters": [
{
- "description": "Numeric Agoda activity id, from a prior activities search call's activity_id field",
+ "description": "CarMax store id, the numeric path segment of a /stores/{id} URL",
"in": "path",
- "name": "activity_id",
+ "name": "id",
"required": true,
"type": "string",
- "x-example": "1633875"
+ "x-example": "7124"
}
],
"produces": [
@@ -274910,7 +345642,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/agoda.ActivityDetailResponse"
+ "$ref": "#/definitions/carmax.StoreResponse"
}
},
"400": {
@@ -274943,28 +345675,40 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Agoda activity detail",
+ "summary": "Get CarMax store (physical location) detail",
"tags": [
- "Agoda"
+ "CarMax"
]
}
},
- "/agoda/flights/itinerary-amenities": {
- "post": {
+ "/carmax/stores": {
+ "get": {
"consumes": [
"application/json"
],
- "description": "Returns real-content amenities (aircraft type, seat layout, meals, entertainment, wifi) for one or more flight segments. Copy the segments straight from a flight search response's own segment fields.",
- "operationId": "agoda-flights-itinerary-amenities",
+ "description": "Searches CarMax's physical store locations by ZIP code or free-text keyword, returning stores with full address, every published phone number, opening hours, and (for a ZIP-based search) live driving distance in miles.",
+ "operationId": "carmax-stores",
"parameters": [
{
- "description": "One or more flight segments to fetch amenities for",
- "in": "body",
- "name": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/agoda.FlightItineraryAmenitiesOption"
- }
+ "description": "5-digit US ZIP code to search near. Triggers a live geo-distance sort. Provide this or keyword; zip takes precedence if both are given",
+ "in": "query",
+ "name": "zip",
+ "type": "string",
+ "x-example": "90210"
+ },
+ {
+ "description": "Free-text match against store name or city",
+ "in": "query",
+ "name": "keyword",
+ "type": "string",
+ "x-example": "Richmond"
+ },
+ {
+ "description": "Maximum number of stores to return, defaults to 10, capped at 300",
+ "in": "query",
+ "name": "take",
+ "type": "integer",
+ "x-example": 10
}
],
"produces": [
@@ -274974,7 +345718,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/agoda.flightItineraryAmenitiesResponseDoc"
+ "$ref": "#/definitions/carmax.storeSearchResponseDoc"
}
},
"400": {
@@ -275001,83 +345745,34 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Agoda flight segment amenities",
+ "summary": "Search CarMax store (physical location) locations",
"tags": [
- "Agoda"
+ "CarMax"
]
}
},
- "/agoda/flights/search": {
+ "/carmax/vehicle/{stock_number}": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns bookable one-way flight itineraries between two IATA airport codes for a departure date, including per-segment flight number, airline, times, layovers, aircraft type, and price. Resolve free-text city/airport names to codes first via the flight destination search endpoint.",
- "operationId": "agoda-flights-search",
+ "description": "Returns a CarMax vehicle listing: full vehicle spec (make, model, trim, mileage, colors, engine, transmission, fuel economy, pricing), equipment features, labeled specifications, warranty coverage, accident/owner history, and CarMax's return guarantee terms.",
+ "operationId": "carmax-vehicle",
"parameters": [
{
- "description": "Origin IATA airport code",
- "in": "query",
- "name": "origin",
- "required": true,
- "type": "string",
- "x-example": "BKK"
- },
- {
- "description": "Destination IATA airport code",
- "in": "query",
- "name": "destination",
+ "description": "CarMax stock number, the numeric path segment of a /car/{stock_number} URL",
+ "in": "path",
+ "name": "stock_number",
"required": true,
"type": "string",
- "x-example": "HKT"
+ "x-example": "28187774"
},
{
- "description": "Departure date, YYYY-MM-DD",
+ "description": "Optional CarMax store id for pricing/transfer-fee display context. Defaults to a fixed CarMax store when omitted",
"in": "query",
- "name": "departure_date",
- "required": true,
+ "name": "store_id",
"type": "string",
- "x-example": "2026-09-15"
- },
- {
- "description": "Adult passengers (age 12+), defaults to 1",
- "in": "query",
- "name": "adults",
- "type": "integer",
- "x-example": 1
- },
- {
- "description": "Child passengers (age 2-11), defaults to 0",
- "in": "query",
- "name": "children",
- "type": "integer",
- "x-example": 0
- },
- {
- "description": "Infant passengers (under age 2), defaults to 0",
- "in": "query",
- "name": "infants",
- "type": "integer",
- "x-example": 0
- },
- {
- "description": "Cabin class, defaults to Economy",
- "enum": [
- "Economy",
- "PremiumEconomy",
- "Business",
- "First"
- ],
- "in": "query",
- "name": "cabin_class",
- "type": "string"
- },
- {
- "description": "1-indexed result page, defaults to 1",
- "in": "query",
- "name": "page",
- "type": "integer",
- "x-example": 1
+ "x-example": "7124"
}
],
"produces": [
@@ -275087,7 +345782,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/agoda.flightSearchResponseDoc"
+ "$ref": "#/definitions/carmax.VehicleResponse"
}
},
"400": {
@@ -275096,6 +345791,12 @@
"$ref": "#/definitions/app.Response"
}
},
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
"500": {
"description": "Internal Server Error",
"schema": {
@@ -275114,27 +345815,35 @@
"ApiKeyAuth": []
}
],
- "summary": "Search Agoda one-way flights",
+ "summary": "Get CarMax vehicle listing detail",
"tags": [
- "Agoda"
+ "CarMax"
]
}
},
- "/agoda/flights/search-locations": {
+ "/carmax/vehicle/{stock_number}/recommendations": {
"get": {
"consumes": [
"application/json"
],
- "description": "Resolves a free-text city or airport name into IATA airport codes for flight search, with each city's direct and nearby airports.",
- "operationId": "agoda-flights-search-locations",
+ "description": "Returns CarMax's own similar-vehicle recommendations for a listing: stock number, description, display mileage/price, store location, and image, for vehicles CarMax considers comparable. An empty list is a normal result, not an error.",
+ "operationId": "carmax-vehicle-recommendations",
"parameters": [
{
- "description": "Free-text city or airport name",
+ "description": "CarMax stock number to find similar vehicles for, the numeric path segment of a /car/{stock_number} URL",
+ "in": "path",
+ "name": "stock_number",
+ "required": true,
+ "type": "string",
+ "x-example": "28187774"
+ },
+ {
+ "description": "CarMax store id used as the recommendation's location context. See any search/vehicle/store response's store id field",
"in": "query",
- "name": "keyword",
+ "name": "store_id",
"required": true,
"type": "string",
- "x-example": "Bangkok"
+ "x-example": "7124"
}
],
"produces": [
@@ -275144,7 +345853,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/agoda.flightLocationSearchResponseDoc"
+ "$ref": "#/definitions/carmax.vehicleRecommendationsResponseDoc"
}
},
"400": {
@@ -275171,47 +345880,53 @@
"ApiKeyAuth": []
}
],
- "summary": "Search Agoda flight destinations/airports",
+ "summary": "Get CarMax \"similar vehicles\" recommendations for a listing",
"tags": [
- "Agoda"
+ "CarMax"
]
}
},
- "/agoda/homes/search": {
+ "/carsdotcom/search": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns Homes & Apartments results for an Agoda city: full listing detail for every matching property whose accommodation type is Apartment. Callers may supply a known Agoda city id or a free-text city name; when both are supplied city_id takes precedence.",
- "operationId": "agoda-homes-search",
+ "description": "Searches Cars.com for new and used car listings, returning vehicle summaries (make, model, trim, year, mileage, exterior color, drivetrain, fuel type, pricing, seller, images) plus the total matching count.",
+ "operationId": "carsdotcom-search",
"parameters": [
{
- "description": "Numeric Agoda city id, e.g. 9395 for Bangkok. Either city_id or city is required; city_id takes precedence when both are supplied.",
+ "description": "5-digit US ZIP code to search around",
"in": "query",
- "name": "city_id",
+ "name": "zip",
+ "type": "string",
+ "x-example": "90210"
+ },
+ {
+ "description": "Search radius in miles around zip",
+ "in": "query",
+ "name": "radius",
"type": "integer",
- "x-example": 9395
+ "x-example": 50
},
{
- "description": "Free-text city name, resolved to a numeric city id via Agoda's own destination search. Ignored when city_id is also supplied.",
+ "description": "Listing condition. Allowed values: new, used, cpo, all",
+ "enum": [
+ "new",
+ "used",
+ "cpo",
+ "all"
+ ],
"in": "query",
- "name": "city",
+ "name": "stock_type",
"type": "string",
- "x-example": "Bangkok"
+ "x-example": "used"
},
{
- "description": "1-indexed result page over the underlying city search, defaults to 1",
+ "description": "1-indexed result page, defaults to 1. Cars.com returns 24 results per page",
"in": "query",
"name": "page",
"type": "integer",
"x-example": 1
- },
- {
- "description": "Candidate listings fetched per page before filtering to homes/apartments, defaults to 10, maximum 50",
- "in": "query",
- "name": "limit",
- "type": "integer",
- "x-example": 10
}
],
"produces": [
@@ -275221,7 +345936,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/agoda.homesSearchResponseDoc"
+ "$ref": "#/definitions/carsdotcom.searchResponseDoc"
}
},
"400": {
@@ -275230,12 +345945,6 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"500": {
"description": "Internal Server Error",
"schema": {
@@ -275254,47 +345963,27 @@
"ApiKeyAuth": []
}
],
- "summary": "Search Agoda Homes & Apartments by city",
+ "summary": "Search Cars.com vehicle listings",
"tags": [
- "Agoda"
+ "Cars.com"
]
}
},
- "/agoda/hotels/search": {
+ "/carsdotcom/vehicle/{listing_id}": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns hotel search results for an Agoda city: the matching property ids for that city plus a direct link to each property's listing page. Callers may supply a known Agoda city id or a free-text city name; when both are supplied city_id takes precedence.",
- "operationId": "agoda-hotels-search",
+ "description": "Returns a Cars.com vehicle listing: full vehicle spec (make, model, trim, mileage, colors, engine, transmission, fuel economy, a key-specs table), Cars.com's own deal-fairness rating and predicted fair price, categorized equipment features, an AutoCheck-derived vehicle history report, Cars.com's own price-change history, the seller's notes, dealer detail (name, rating, address, website, phones, hours) or private-seller detail for a for-sale-by-owner listing, and certified-pre-owned/manufacturer-program detail when applicable.",
+ "operationId": "carsdotcom-vehicle",
"parameters": [
{
- "description": "Numeric Agoda city id, e.g. 9395 for Bangkok. Either city_id or city is required; city_id takes precedence when both are supplied.",
- "in": "query",
- "name": "city_id",
- "type": "integer",
- "x-example": 9395
- },
- {
- "description": "Free-text city name, resolved to a numeric city id via Agoda's own destination search. Ignored when city_id is also supplied.",
- "in": "query",
- "name": "city",
+ "description": "Cars.com listing id (a UUID), the path segment of a /vehicledetail/{listing_id}/ URL",
+ "in": "path",
+ "name": "listing_id",
+ "required": true,
"type": "string",
- "x-example": "Bangkok"
- },
- {
- "description": "1-indexed result page, defaults to 1",
- "in": "query",
- "name": "page",
- "type": "integer",
- "x-example": 1
- },
- {
- "description": "Results per page, defaults to 10, maximum 50",
- "in": "query",
- "name": "limit",
- "type": "integer",
- "x-example": 10
+ "x-example": "a6ea5d6f-0395-4f9d-94d5-724c4d7414de"
}
],
"produces": [
@@ -275304,7 +345993,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/agoda.searchResponseDoc"
+ "$ref": "#/definitions/carsdotcom.VehicleResponse"
}
},
"400": {
@@ -275337,27 +346026,24 @@
"ApiKeyAuth": []
}
],
- "summary": "Search Agoda hotels by city",
+ "summary": "Get Cars.com vehicle listing detail",
"tags": [
- "Agoda"
+ "Cars.com"
]
}
},
- "/agoda/hotels/{property_id}": {
+ "/cbc/article": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns full hotel detail from Agoda: identity (name, any former name), an accommodation type code, address (street address, postal code, city, country), guest rating, a main photo, room count, hotel chain id, a long and short description, and short-form policy statements (minimum age, adult/child definitions, extra-bed and additional-room booking policy).",
- "operationId": "agoda-hotel-detail",
+ "description": "Returns public CBC News or CBC Sports story metadata and body paragraphs from a canonical story URL. Live-updates pages are not supported.",
+ "operationId": "cbc-article",
"parameters": [
{
- "description": "Numeric Agoda property id, from a prior search call's property_id field or the id embedded in an Agoda hotel URL",
- "in": "path",
- "name": "property_id",
+ "description": "Canonical CBC News or CBC Sports story URL",
+ "in": "query",
+ "name": "url",
"required": true,
"type": "string",
- "x-example": "10637"
+ "x-example": "https://www.cbc.ca/news/politics/does-calling-an-early-election-work-9.7355667"
}
],
"produces": [
@@ -275367,7 +346053,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/agoda.DetailResponse"
+ "$ref": "#/definitions/publicnews.articleResponseDoc"
}
},
"400": {
@@ -275382,12 +346068,6 @@
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"503": {
"description": "Service Unavailable",
"schema": {
@@ -275400,27 +346080,30 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Agoda hotel detail",
+ "summary": "Get CBC News article content",
"tags": [
- "Agoda"
+ "CBC News"
]
}
},
- "/airbnb/host/{id}": {
+ "/cbc/author": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns an Airbnb public host profile — display name, Superhost and identity-verification status, location, bio, hosting tenure, total guest-review count, and total listing count.",
- "operationId": "airbnb-host",
+ "description": "Returns a CBC journalist's profile, identified by `slug` (ending in CBC's author id, such as `darren-major-1.4462710`) or a `https://www.cbc.ca/author/` `url`; exactly one is required and an unknown author returns 404. The response has name, title, biography, photo, profile links and usually 10 latest articles, with `has_more_articles` showing whether older ones exist.",
+ "operationId": "cbc-author",
"parameters": [
{
- "description": "Host id (numeric)",
- "in": "path",
- "name": "id",
- "required": true,
+ "description": "Author slug, e.g. darren-major-1.4462710",
+ "in": "query",
+ "name": "slug",
"type": "string",
- "x-example": "65056940"
+ "x-example": "darren-major-1.4462710"
+ },
+ {
+ "description": "Canonical https://www.cbc.ca/author/ URL; alternative to slug",
+ "in": "query",
+ "name": "url",
+ "type": "string",
+ "x-example": "https://www.cbc.ca/author/darren-major-1.4462710"
}
],
"produces": [
@@ -275430,7 +346113,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/airbnb.HostResponse"
+ "$ref": "#/definitions/publicnews.cbcAuthorResponseDoc"
}
},
"400": {
@@ -275445,12 +346128,6 @@
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Too Many Requests",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"503": {
"description": "Service Unavailable",
"schema": {
@@ -275463,33 +346140,61 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Airbnb host profile",
+ "summary": "Get a CBC journalist profile",
"tags": [
- "Airbnb"
+ "CBC News"
]
}
},
- "/airbnb/host/{id}/listings": {
+ "/cbc/headlines": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns the listings an Airbnb host manages, paginated. Page 1 comes from the host profile; deeper pages page through the host's full portfolio.",
- "operationId": "airbnb-host-listings",
+ "description": "Returns fresh CBC News or CBC Sports headlines from one public section RSS feed. Video, radio, and live-updates links are omitted.",
+ "operationId": "cbc-headlines",
"parameters": [
{
- "description": "Host id (numeric)",
- "in": "path",
- "name": "id",
+ "description": "CBC section slug",
+ "enum": [
+ "world",
+ "canada",
+ "politics",
+ "business",
+ "health",
+ "arts",
+ "technology",
+ "indigenous",
+ "british-columbia",
+ "calgary",
+ "edmonton",
+ "hamilton",
+ "kamloops",
+ "kitchener-waterloo",
+ "london",
+ "manitoba",
+ "montreal",
+ "new-brunswick",
+ "newfoundland-labrador",
+ "north",
+ "nova-scotia",
+ "ottawa",
+ "prince-edward-island",
+ "saskatchewan",
+ "saskatoon",
+ "sudbury",
+ "thunder-bay",
+ "toronto",
+ "windsor",
+ "sports",
+ "sports-golf",
+ "sports-nhl",
+ "sports-olympics",
+ "sports-soccer",
+ "sports-tennis"
+ ],
+ "in": "query",
+ "name": "section",
"required": true,
"type": "string",
- "x-example": "65056940"
- },
- {
- "description": "1-based page",
- "in": "query",
- "name": "page",
- "type": "integer"
+ "x-example": "world"
}
],
"produces": [
@@ -275499,7 +346204,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/airbnb.HostListingsResponse"
+ "$ref": "#/definitions/publicnews.headlinesResponseDoc"
}
},
"400": {
@@ -275508,11 +346213,37 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get CBC News section headlines",
+ "tags": [
+ "CBC News"
+ ]
+ }
+ },
+ "/cbc/news": {
+ "get": {
+ "description": "Returns fresh CBC News top stories with no input needed: title, canonical story URL, publication time, byline when given and lead image. Only stories the article endpoint accepts are returned, so video player pages, CBC Radio, Music and Books links and live-updates pages are omitted.",
+ "operationId": "cbc-news",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.newsResponseDoc"
+ }
},
"429": {
"description": "Too Many Requests",
@@ -275532,33 +346263,50 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Airbnb host listings",
+ "summary": "Get CBC News top stories",
"tags": [
- "Airbnb"
+ "CBC News"
]
}
},
- "/airbnb/host/{id}/reviews": {
+ "/cbc/sections": {
"get": {
- "consumes": [
+ "description": "Lists the 35 CBC News sections that `cbc-headlines` accepts: 8 national desks such as `politics` and `world`, 21 regional newsrooms such as `toronto` and `nova-scotia`, and 6 CBC Sports feeds such as `sports-nhl`. Each has a `slug`, a display `name` and the feed `url`. Top stories come from `cbc-news`, not a section.",
+ "operationId": "cbc-sections",
+ "produces": [
"application/json"
],
- "description": "Returns the reviews guests left for an Airbnb host, identified by the numeric host `id`. `page` is 1-based (default 1). Each review has its `id`, `rating`, `comments`, `created_at`, `reviewer` name and `reviewer_location`, and `has_more` says whether another page follows.",
- "operationId": "airbnb-host-reviews",
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.sectionsResponseDoc"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get CBC News sections",
+ "tags": [
+ "CBC News"
+ ]
+ }
+ },
+ "/cbr/article": {
+ "get": {
+ "description": "Returns a CBR article by `url`, a canonical `cbr.com` address of the form `//`: title, description, publication and update times, section, authors, image and the body `paragraphs`. Section, video, author and category pages are rejected as invalid. `paywalled` is `true` only if the page declares the article not free, and then `paragraphs` may be a teaser.",
+ "operationId": "cbr-article",
"parameters": [
{
- "description": "Host id (numeric)",
- "in": "path",
- "name": "id",
+ "description": "Canonical CBR article URL",
+ "in": "query",
+ "name": "url",
"required": true,
"type": "string",
- "x-example": "65056940"
- },
- {
- "description": "1-based page",
- "in": "query",
- "name": "page",
- "type": "integer"
+ "x-example": "https://www.cbr.com/star-trek-2-release-date-confirmed-cover-reveal/"
}
],
"produces": [
@@ -275568,7 +346316,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/airbnb.HostReviewsResponse"
+ "$ref": "#/definitions/publicnews.articleResponseDoc"
}
},
"400": {
@@ -275601,27 +346349,24 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Airbnb host reviews",
+ "summary": "Get CBR article content",
"tags": [
- "Airbnb"
+ "CBR"
]
}
},
- "/airbnb/room/{id}": {
+ "/cbr/author": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns the public details of one Airbnb listing by room id: title, description, property type, location and coordinates, guest capacity, amenities, price and price per night, rating, review count, host, and the Superhost and Guest Favorite flags. Some fields are present only when Airbnb exposes them for the listing.",
- "operationId": "airbnb-room",
+ "description": "Returns a CBR author profile from `url`, a canonical `https://www.cbr.com/author//` address; paginated `/page/N/` URLs are rejected. The response has name, `title`, biography, image, `social_links` and about 20 items from the profile's Latest module, with no older pages available.",
+ "operationId": "cbr-author",
"parameters": [
{
- "description": "Room id",
- "in": "path",
- "name": "id",
+ "description": "Canonical CBR author URL",
+ "in": "query",
+ "name": "url",
"required": true,
"type": "string",
- "x-example": "1384733959726184048"
+ "x-example": "https://www.cbr.com/author/john-dodge/"
}
],
"produces": [
@@ -275631,7 +346376,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/airbnb.RoomResponse"
+ "$ref": "#/definitions/publicnews.cbrAuthorResponseDoc"
}
},
"400": {
@@ -275646,12 +346391,6 @@
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Too Many Requests",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"503": {
"description": "Service Unavailable",
"schema": {
@@ -275664,27 +346403,54 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Airbnb room",
+ "summary": "Get a CBR author profile",
"tags": [
- "Airbnb"
+ "CBR"
]
}
},
- "/airbnb/room/{id}/calendar": {
+ "/cbr/headlines": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns the public availability calendar for one Airbnb room, grouped by month. Each day carries its date, whether it is available and bookable, whether it can be a check-in or check-out day, and the minimum and maximum nights. Months are returned only when Airbnb exposes them for the listing.",
- "operationId": "airbnb-room-calendar",
+ "description": "Returns fresh headlines from one public CBR RSS section. Video pages, if a section ever returns them, have type video and are not readable through the article endpoint.",
+ "operationId": "cbr-headlines",
"parameters": [
{
- "description": "Room id",
- "in": "path",
- "name": "id",
+ "description": "CBR RSS section slug",
+ "enum": [
+ "movies",
+ "movie-features",
+ "news-movies",
+ "reviews-movies",
+ "movie-lists",
+ "tv",
+ "tv-features",
+ "news-tv",
+ "reviews-tv",
+ "tv-lists",
+ "comics",
+ "comics-features",
+ "comics/news",
+ "comics/reviews",
+ "comics-lists",
+ "anime",
+ "anime-features",
+ "anime-news",
+ "anime/reviews-anime",
+ "anime-lists",
+ "games",
+ "game-features",
+ "game-news",
+ "games/reviews-games",
+ "game-guides",
+ "game-lists",
+ "lists",
+ "cbr-exclusives"
+ ],
+ "in": "query",
+ "name": "section",
"required": true,
"type": "string",
- "x-example": "1384733959726184048"
+ "x-example": "movies"
}
],
"produces": [
@@ -275694,7 +346460,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/airbnb.CalendarResponse"
+ "$ref": "#/definitions/publicnews.headlinesResponseDoc"
}
},
"400": {
@@ -275703,11 +346469,43 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get CBR section headlines",
+ "tags": [
+ "CBR"
+ ]
+ }
+ },
+ "/cbr/news": {
+ "get": {
+ "description": "Returns about 10 of the latest CBR stories from the site's main feed, with no input needed. Each has a title, canonical URL, summary, publication time, author names (co-authors joined with a comma) and lead image.",
+ "operationId": "cbr-news",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.newsResponseDoc"
+ }
},
"429": {
"description": "Too Many Requests",
@@ -275727,33 +346525,56 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Airbnb room calendar",
+ "summary": "Get CBR top stories",
"tags": [
- "Airbnb"
+ "CBR"
]
}
},
- "/airbnb/room/{id}/reviews": {
+ "/cbr/sections": {
"get": {
- "consumes": [
+ "description": "Lists the 28 CBR section slugs accepted by `cbr-headlines`, grouped by movies, TV, comics, anime and games with news, reviews, features and lists variants, plus `lists` and `cbr-exclusives`. Each entry has a `slug` (for example `news-movies` or `comics/reviews`), a display `name` and the feed `url`.",
+ "operationId": "cbr-sections",
+ "produces": [
"application/json"
],
- "description": "Returns public guest reviews for one Airbnb room by room id, one page at a time (`page` is 1-based). Each review has the author, date, rating and text. Reviews are returned only when Airbnb exposes them for the listing.",
- "operationId": "airbnb-room-reviews",
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.sectionsResponseDoc"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get CBR RSS sections",
+ "tags": [
+ "CBR"
+ ]
+ }
+ },
+ "/cbsnews/article": {
+ "get": {
+ "description": "Returns a CBS News article by `url`, a canonical HTTPS `cbsnews.com/news/` address. The response has the title, description, publication and update times, authors, section, lead image and the body `paragraphs`.",
+ "operationId": "cbsnews-article",
"parameters": [
{
- "description": "Room id",
- "in": "path",
- "name": "id",
+ "description": "Canonical CBS News article URL",
+ "in": "query",
+ "name": "url",
"required": true,
"type": "string",
- "x-example": "1384733959726184048"
- },
- {
- "description": "1-based page",
- "in": "query",
- "name": "page",
- "type": "integer"
+ "x-example": "https://www.cbsnews.com/news/example-article-slug/"
}
],
"produces": [
@@ -275763,7 +346584,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/airbnb.ReviewsResponse"
+ "$ref": "#/definitions/publicnews.articleResponseDoc"
}
},
"400": {
@@ -275778,12 +346599,6 @@
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Too Many Requests",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"503": {
"description": "Service Unavailable",
"schema": {
@@ -275796,87 +346611,24 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Airbnb room reviews",
+ "summary": "Get CBS News article content",
"tags": [
- "Airbnb"
+ "CBS News"
]
}
},
- "/airbnb/search": {
+ "/cbsnews/author": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Searches public Airbnb stays for a location, with optional check-in and check-out dates, adult count, currency and page. Pass `ne_lat`, `ne_lng`, `sw_lat` and `sw_lng` to bound the search to a map area. Each result has the listing id, title, URL, location and coordinates, price and price per night, rating, review count, host, and the Superhost and Guest Favorite flags.",
- "operationId": "airbnb-search",
+ "description": "Returns one CBS News author's public team-page profile: name, biography, coverage topics, headshot (when the page has one), social links, and their recent articles.",
+ "operationId": "cbsnews-author",
"parameters": [
{
- "description": "Location",
+ "description": "Canonical cbsnews.com/team/ author URL",
"in": "query",
- "name": "location",
+ "name": "url",
"required": true,
"type": "string",
- "x-example": "New York, NY"
- },
- {
- "description": "Check-in date",
- "in": "query",
- "name": "check_in",
- "type": "string"
- },
- {
- "description": "Check-out date",
- "in": "query",
- "name": "check_out",
- "type": "string"
- },
- {
- "description": "Adult guests",
- "in": "query",
- "name": "adults",
- "type": "integer"
- },
- {
- "description": "1-based page",
- "in": "query",
- "name": "page",
- "type": "integer"
- },
- {
- "description": "Currency for bounded map search",
- "in": "query",
- "name": "currency",
- "type": "string"
- },
- {
- "description": "Northeast latitude for bounded map search",
- "in": "query",
- "name": "ne_lat",
- "type": "number"
- },
- {
- "description": "Northeast longitude for bounded map search",
- "in": "query",
- "name": "ne_lng",
- "type": "number"
- },
- {
- "description": "Southwest latitude for bounded map search",
- "in": "query",
- "name": "sw_lat",
- "type": "number"
- },
- {
- "description": "Southwest longitude for bounded map search",
- "in": "query",
- "name": "sw_lng",
- "type": "number"
- },
- {
- "description": "Map zoom for bounded map search",
- "in": "query",
- "name": "zoom",
- "type": "integer"
+ "x-example": "https://www.cbsnews.com/team/margaret-brennan/"
}
],
"produces": [
@@ -275886,7 +346638,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/airbnb.SearchResponse"
+ "$ref": "#/definitions/publicnews.cbsNewsAuthorResponseDoc"
}
},
"400": {
@@ -275895,8 +346647,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Too Many Requests",
+ "404": {
+ "description": "Not Found",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -275913,29 +346665,36 @@
"ApiKeyAuth": []
}
],
- "summary": "Search Airbnb stays",
+ "summary": "Get a CBS News author profile",
"tags": [
- "Airbnb"
+ "CBS News"
]
}
},
- "/alcom/headlines": {
+ "/cbsnews/headlines": {
"get": {
- "description": "Returns current headlines from one of AL.com's section feeds. Summaries are brief publisher teasers, not full article text.",
- "operationId": "alcom-headlines",
+ "description": "Returns fresh headlines for one CBS News section. `section` is required and is one of `main`, `us`, `world`, `politics`, `moneywatch`, `health`, `entertainment`, `science`, `technology` or `space`. Each item has a title and URL, and may also carry a summary, author, publication time and image.",
+ "operationId": "cbsnews-headlines",
"parameters": [
{
- "description": "AL.com editorial section",
+ "description": "CBS News RSS section slug",
"enum": [
- "news",
- "sports",
- "life"
+ "main",
+ "us",
+ "world",
+ "politics",
+ "moneywatch",
+ "health",
+ "entertainment",
+ "science",
+ "technology",
+ "space"
],
"in": "query",
"name": "section",
"required": true,
"type": "string",
- "x-example": "news"
+ "x-example": "main"
}
],
"produces": [
@@ -275966,16 +346725,16 @@
"ApiKeyAuth": []
}
],
- "summary": "Get AL.com section headlines",
+ "summary": "Get CBS News section headlines",
"tags": [
- "AL.com"
+ "CBS News"
]
}
},
- "/alcom/news": {
+ "/cbsnews/news": {
"get": {
- "description": "Returns current AL.com News stories. Summaries are brief publisher teasers, not full article text.",
- "operationId": "alcom-news",
+ "description": "Returns the latest CBS News top stories, with no input needed. Each item has a title and canonical URL, and may also carry a summary, author, publication time and image.",
+ "operationId": "cbsnews-news",
"produces": [
"application/json"
],
@@ -276004,16 +346763,16 @@
"ApiKeyAuth": []
}
],
- "summary": "Get AL.com top stories",
+ "summary": "Get CBS News top stories",
"tags": [
- "AL.com"
+ "CBS News"
]
}
},
- "/alcom/sections": {
+ "/cbsnews/sections": {
"get": {
- "description": "Lists the three top-level editorial sections in AL.com's navigation: `news`, `sports` and `life`. Each has a `slug`, a display `name` and the section's page `url`, and the slugs are the values `alcom-headlines` accepts for `section`.",
- "operationId": "alcom-sections",
+ "description": "Lists the ten CBS News sections accepted by `cbsnews-headlines`: `main`, `us`, `world`, `politics`, `moneywatch`, `health`, `entertainment`, `science`, `technology` and `space`. Each has a `slug`, a display `name` and the feed `url`.",
+ "operationId": "cbsnews-sections",
"produces": [
"application/json"
],
@@ -276023,12 +346782,6 @@
"schema": {
"$ref": "#/definitions/publicnews.sectionsResponseDoc"
}
- },
- "429": {
- "description": "Too Many Requests",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
}
},
"security": [
@@ -276036,26 +346789,24 @@
"ApiKeyAuth": []
}
],
- "summary": "Get AL.com editorial sections",
+ "summary": "Get CBS News sections",
"tags": [
- "AL.com"
+ "CBS News"
]
}
},
- "/aliexpress/categories": {
+ "/cbssports/article": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns AliExpress's category navigation taxonomy. With no parameters it lists the top-level category tabs (about 24), each with its navigation id, name, numeric platform category id and icon. Pass one tab's id as category_tab to expand that tab into its second- and third-level categories; third-level categories carry the search keyword and a ready-to-use search URL, so they can be passed to the search endpoint as q. Category ids are exposed only where AliExpress's payload actually carries them: second-level categories have no numeric platform id, so none is invented for them. This is a taxonomy surface, not a product listing.",
- "operationId": "aliexpress-categories",
+ "description": "Returns a CBS Sports article by `url`, a canonical `https://www.cbssports.com//news//` address, including `nfl/draft/news/` and fantasy football news: title, description, publication and update times, authors, lead image and body `paragraphs`. Video, scores, schedule and player pages are rejected. `paywalled` is omitted because the articles are free.",
+ "operationId": "cbssports-article",
"parameters": [
{
- "description": "Top-level tab id from an unfiltered response, e.g. electronics; omit to list top-level tabs only",
+ "description": "Canonical CBS Sports article URL",
"in": "query",
- "name": "category_tab",
+ "name": "url",
+ "required": true,
"type": "string",
- "x-example": "electronics"
+ "x-example": "https://www.cbssports.com/college-football/news/president-trump-attending-texas-tennessee/"
}
],
"produces": [
@@ -276065,7 +346816,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/aliexpress.categoriesResponseDoc"
+ "$ref": "#/definitions/publicnews.articleResponseDoc"
}
},
"400": {
@@ -276074,6 +346825,12 @@
"$ref": "#/definitions/app.Response"
}
},
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
"429": {
"description": "Too Many Requests",
"schema": {
@@ -276092,40 +346849,30 @@
"ApiKeyAuth": []
}
],
- "summary": "List AliExpress category navigation",
+ "summary": "Get CBS Sports article content",
"tags": [
- "AliExpress"
+ "CBS Sports"
]
}
},
- "/aliexpress/category-ids": {
+ "/cbssports/author": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns the AliExpress web category ids that its own product cards carry on one listing page, with each id's parent, depth and full category path. Pass q to discover the categories of products matching a keyword, or category_id to inspect one category listing. Pass exactly one of them. The ids are the same web category ids used in /category//.html URLs and by the search endpoint's cat_id parameter; they are NOT the platform/taxonomy ids returned by the categories endpoint. A parent category listing contains products from its descendants, so inspecting a category reveals its child ids, and every returned path names that id's ancestors: the value space is discoverable by walking from a keyword or a category id rather than guessing.",
- "operationId": "aliexpress-category-ids",
+ "description": "Returns a CBS Sports writer's profile, identified by `slug` (such as `david-cobb`) or a `cbssports.com/writers//` `url`; exactly one is required and an unknown slug returns not-found. The response has name, title, headshot, bio, X/Twitter link and about 15 recent articles with title, URL and summary. Profile fields the page lacks are omitted.",
+ "operationId": "cbssports-author",
"parameters": [
{
- "description": "Free-text keywords whose result cards' web category ids are returned; pass exactly one of q or category_id",
+ "description": "Writer slug, e.g. david-cobb",
"in": "query",
- "name": "q",
+ "name": "slug",
"type": "string",
- "x-example": "wireless earbuds"
- },
- {
- "description": "AliExpress web category id whose listing is inspected; a parent category reveals its descendants' ids. Pass exactly one of q or category_id",
- "in": "query",
- "name": "category_id",
- "type": "integer",
- "x-example": 44
+ "x-example": "david-cobb"
},
{
- "description": "1-indexed listing page to inspect (1-60), defaults to 1",
+ "description": "Canonical cbssports.com/writers// URL; alternative to slug",
"in": "query",
- "name": "page",
- "type": "integer",
- "x-example": 1
+ "name": "url",
+ "type": "string",
+ "x-example": "https://www.cbssports.com/writers/david-cobb/"
}
],
"produces": [
@@ -276135,7 +346882,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/aliexpress.categoryIDsResponseDoc"
+ "$ref": "#/definitions/publicnews.cbsSportsAuthorResponseDoc"
}
},
"400": {
@@ -276144,6 +346891,12 @@
"$ref": "#/definitions/app.Response"
}
},
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
"429": {
"description": "Too Many Requests",
"schema": {
@@ -276162,41 +346915,47 @@
"ApiKeyAuth": []
}
],
- "summary": "Discover AliExpress web category ids",
+ "summary": "Get a CBS Sports writer profile",
"tags": [
- "AliExpress"
+ "CBS Sports"
]
}
},
- "/aliexpress/category-products": {
+ "/cbssports/headlines": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns one page (up to 60 products) of a public AliExpress category listing with the same product fields as the search endpoint: product id, title, link, image, price, currency, original price, rating, sold text, discount, SKU id, ship-from country and store name when AliExpress lists them. category_id is the AliExpress web category id from a /category//.html URL (for example 5090301 for Cellphones); the slug segment is cosmetic (the listing is selected by id) and defaults to products. The listing uses the anonymous US English/USD locale. Product-detail pages are currently unavailable through the supported HTTP profiles.",
- "operationId": "aliexpress-category-products",
+ "description": "Returns fresh headlines from one CBS Sports per-sport feed. `section` is required and takes one of 21 slugs, such as `nfl`, `college-basketball`, `soccer`, `ufc`, `betting` or `general`. Each item has a title and URL, and may carry a summary, author, publication time and image.",
+ "operationId": "cbssports-headlines",
"parameters": [
{
- "description": "AliExpress web category id: the number in a /category//.html URL (for example 5090301 for Cellphones); taxonomy ids from the categories endpoint are a different namespace and are not interchangeable",
+ "description": "CBS Sports section slug",
+ "enum": [
+ "nfl",
+ "college-football",
+ "nba",
+ "college-basketball",
+ "womens-college-basketball",
+ "wnba",
+ "mlb",
+ "nhl",
+ "soccer",
+ "golf",
+ "tennis",
+ "ufc",
+ "mma",
+ "boxing",
+ "wwe",
+ "nascar",
+ "motor-sports",
+ "olympics",
+ "betting",
+ "prediction",
+ "general"
+ ],
"in": "query",
- "name": "category_id",
+ "name": "section",
"required": true,
- "type": "integer",
- "x-example": 5090301
- },
- {
- "description": "Category path segment used by AliExpress's own URL (lower-case letters, digits, hyphens); cosmetic, defaults to products",
- "in": "query",
- "name": "slug",
"type": "string",
- "x-example": "cellphones"
- },
- {
- "description": "1-indexed result page (1-60), defaults to 1",
- "in": "query",
- "name": "page",
- "type": "integer",
- "x-example": 1
+ "x-example": "nfl"
}
],
"produces": [
@@ -276206,7 +346965,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/aliexpress.categoryProductsResponseDoc"
+ "$ref": "#/definitions/publicnews.headlinesResponseDoc"
}
},
"400": {
@@ -276233,36 +346992,16 @@
"ApiKeyAuth": []
}
],
- "summary": "List products in an AliExpress category",
+ "summary": "Get CBS Sports section headlines",
"tags": [
- "AliExpress"
+ "CBS Sports"
]
}
},
- "/aliexpress/reviews": {
+ "/cbssports/news": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns one page of public reviews and rating statistics for a numeric AliExpress product id. AliExpress currently returns up to 20 review records per page.",
- "operationId": "aliexpress-reviews",
- "parameters": [
- {
- "description": "Numeric AliExpress product id",
- "in": "query",
- "name": "product_id",
- "required": true,
- "type": "string",
- "x-example": "3256812072210872"
- },
- {
- "description": "1-indexed review page (1-50), defaults to 1",
- "in": "query",
- "name": "page",
- "type": "integer",
- "x-example": 1
- }
- ],
+ "description": "Returns the current CBS Sports headlines across every sport, with no input needed: news stories, analysis columns and picks or predictions articles. Only article links are returned; video, scores, schedule and player pages are filtered out. Items have `title` and `url`, plus `summary`, `published_at` and `author` when provided.",
+ "operationId": "cbssports-news",
"produces": [
"application/json"
],
@@ -276270,13 +347009,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/aliexpress.reviewsResponseDoc"
- }
- },
- "400": {
- "description": "Bad Request",
- "schema": {
- "$ref": "#/definitions/app.Response"
+ "$ref": "#/definitions/publicnews.newsResponseDoc"
}
},
"429": {
@@ -276297,87 +347030,66 @@
"ApiKeyAuth": []
}
],
- "summary": "Get AliExpress product reviews",
+ "summary": "Get CBS Sports top stories",
"tags": [
- "AliExpress"
+ "CBS Sports"
]
}
},
- "/aliexpress/search": {
+ "/cbssports/sections": {
+ "get": {
+ "description": "Lists the 21 CBS Sports per-sport sections accepted by `cbssports-headlines`, from `nfl`, `nba` and `soccer` to `betting`, `prediction` and `general`. Each has a `slug`, a display `name` and the feed `url`. A feed can include a story from a neighbouring sport, and off-season ones such as `olympics` can be weeks or months old.",
+ "operationId": "cbssports-sections",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.sectionsResponseDoc"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get CBS Sports sections",
+ "tags": [
+ "CBS Sports"
+ ]
+ }
+ },
+ "/chewy/brands": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns one page (up to 60 products) of public keyword search results with product ids, titles, links, images, prices, ratings, sold text, discount, SKU id, ship-from country, and store name when AliExpress lists them. Results can be sorted and filtered by price, free shipping, the Choice program, and product attributes; list the attribute values for a keyword with the search-filters endpoint. The search uses the anonymous US English/USD locale. Product-detail pages are currently unavailable through the supported HTTP profiles.",
- "operationId": "aliexpress-search",
+ "description": "Returns one page of Chewy's full brand directory -- roughly 7,600 brands -- with each brand's id, name, Chewy's own written description, image, parent-catalog group, and its child brands where a brand umbrellas others (Purina lists 27). This is the whole catalog of brands, unlike chewy_facets, which only reports the brands present in one category's listing. Pass name to look up a single brand by exact name, case-insensitive; it is an exact match upstream, not a search, so \"Purina\" matches while \"purina pro\" does not. To filter products by a brand, pass the brand's NAME to chewy_category or chewy_search as filter=brand_facet: -- facet_id is the join key onto chewy_facets' own option ids and is not accepted by the filter parameter.",
+ "operationId": "chewy-brands",
"parameters": [
{
- "description": "Free-text search keywords",
- "in": "query",
- "name": "q",
- "required": true,
- "type": "string",
- "x-example": "wireless earbuds"
- },
- {
- "description": "1-indexed result page (1-60), defaults to 1",
+ "description": "Page number, 1-based (default 1).",
"in": "query",
"name": "page",
"type": "integer",
"x-example": 1
},
{
- "description": "Sort order. Allowed values: best_match (default), orders, price_asc, price_desc",
- "enum": [
- "best_match",
- "orders",
- "price_asc",
- "price_desc"
- ],
- "in": "query",
- "name": "sort",
- "type": "string",
- "x-example": "price_asc"
- },
- {
- "description": "Minimum price in USD (0-1000000)",
- "in": "query",
- "name": "min_price",
- "type": "number",
- "x-example": 20
- },
- {
- "description": "Maximum price in USD (0-1000000), not below min_price",
- "in": "query",
- "name": "max_price",
- "type": "number",
- "x-example": 30
- },
- {
- "description": "Only free-shipping products",
- "in": "query",
- "name": "free_shipping",
- "type": "boolean"
- },
- {
- "description": "Only products in AliExpress's Choice program",
+ "description": "Brands per page, 1 to 500 (default 100).",
"in": "query",
- "name": "choice",
- "type": "boolean"
+ "name": "limit",
+ "type": "integer",
+ "x-example": 100
},
{
- "description": "Attribute filter -, from the search-filters endpoint for the same q; comma-separate up to 5 values, one per attribute group",
+ "description": "Return only the brand with this exact name, case-insensitive. Exact match, not a search.",
"in": "query",
- "name": "attr",
+ "name": "name",
"type": "string",
- "x-example": "3079-4148335"
- },
- {
- "description": "Search within one AliExpress web category id (the number in a /category//.html URL); taxonomy ids from the categories endpoint are a different namespace and are not interchangeable",
- "in": "query",
- "name": "cat_id",
- "type": "integer",
- "x-example": 5090301
+ "x-example": "ACANA"
}
],
"produces": [
@@ -276387,7 +347099,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/aliexpress.searchResponseDoc"
+ "$ref": "#/definitions/chewy.brandsResponseDoc"
}
},
"400": {
@@ -276414,27 +347126,33 @@
"ApiKeyAuth": []
}
],
- "summary": "Search AliExpress products",
+ "summary": "List Chewy's brand directory",
"tags": [
- "AliExpress"
+ "Chewy"
]
}
},
- "/aliexpress/search-filters": {
+ "/chewy/categories": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns every sort value and boolean filter the search endpoint accepts, plus the product-attribute filters (brand, color, style, and so on) AliExpress offers for the keyword, as ready-to-use attr values. Attribute filters differ per keyword, so call this with the same q as the search.",
- "operationId": "aliexpress-search-filters",
+ "description": "Returns Chewy's category taxonomy tree: how to discover group_id values for chewy_category, not the products within a category. Omitting group_id returns all top-level departments (Dog, Cat, Horse, Bird, Fish, Reptile, Small Pet, Farm and Livestock Supplies, Wild Bird and Wildlife Supplies, Pharmacy, Pet Parents); a group_id expands that specific group's own subtree instead. depth controls how many levels of subcategories are expanded in one call.",
+ "operationId": "chewy-categories",
"parameters": [
{
- "description": "Free-text search keywords",
+ "description": "Chewy category group id to expand, e.g. 332 for Dog Food. Omit for the full top-level department tree.",
"in": "query",
- "name": "q",
- "required": true,
+ "name": "group_id",
"type": "string",
- "x-example": "wireless earbuds"
+ "x-example": "332"
+ },
+ {
+ "description": "How many levels of subcategories to expand, 1 to 3 (default 2)",
+ "in": "query",
+ "name": "depth",
+ "type": "integer",
+ "x-example": 2
}
],
"produces": [
@@ -276444,7 +347162,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/aliexpress.filtersResponseDoc"
+ "$ref": "#/definitions/chewy.categoriesResponseDoc"
}
},
"400": {
@@ -276471,34 +347189,68 @@
"ApiKeyAuth": []
}
],
- "summary": "List AliExpress search filters",
+ "summary": "Browse Chewy's category taxonomy tree",
"tags": [
- "AliExpress"
+ "Chewy"
]
}
},
- "/aliexpress/suggest": {
+ "/chewy/category": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns AliExpress's own search-box keyword completions for a query, with a ready-to-use search URL for each suggestion. This is a suggestion/autocomplete surface, not a product feed: the upstream payload contains keyword strings only, so no product id, title, price or seller is returned. AliExpress usually offers 10-12 suggestions; each suggestion's url is the matching AliExpress search page and can be passed to the search endpoint as q.",
- "operationId": "aliexpress-suggest",
+ "description": "Returns one page (36 products) of a Chewy category/browse listing's product grid (price, autoship price/discount, stock, rating, images), plus embedded facets and breadcrumbs. group_id is Chewy's own numeric category id -- the trailing id segment of a chewy.com/b/- browse URL, e.g. 294 for /b/dry-food-294. Every breadcrumbs[].group_id and facets[].options[].value in a response is a ready-to-use group_id for a follow-up call, so a caller can discover the full category taxonomy starting from a known category. A group_id Chewy does not recognize returns a 404 rather than an unfiltered listing. sort and filter narrow/reorder the listing; every facets[].value paired with one of that facet's options[].value from any prior response is a valid filter key:value pair (e.g. brand, breed size, flavor, price range, customer rating -- whichever facets that category exposes). Set include_content to also return the category's curated editorial content -- Chewy's own FAQ question/answer pairs, the rich category description, and the SEO page title and meta description; it costs no extra upstream call and is omitted entirely when not requested. A keyword search carries none of this content, so it is a category-only addition.",
+ "operationId": "chewy-category",
"parameters": [
{
- "description": "Partial or full search keywords to complete",
+ "description": "Chewy's numeric category id, e.g. \\",
"in": "query",
- "name": "q",
+ "name": "group_id",
"required": true,
"type": "string",
- "x-example": "wireless earbuds"
+ "x-example": "294"
},
{
- "description": "Maximum suggestions to return (1-20), defaults to 10",
+ "description": "Page number, 36 products per page (default 1)",
"in": "query",
- "name": "limit",
+ "name": "page",
"type": "integer",
- "x-example": 10
+ "x-example": 1
+ },
+ {
+ "description": "Sort order. One of byRelevance, byNewest, byPopularity, byLowestPrice, byHighestPrice, byRating, byRatingCount. Defaults to Chewy's own relevance ordering when omitted.",
+ "enum": [
+ "byRelevance",
+ "byNewest",
+ "byPopularity",
+ "byLowestPrice",
+ "byHighestPrice",
+ "byRating",
+ "byRatingCount"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string",
+ "x-example": "byRating"
+ },
+ {
+ "collectionFormat": "csv",
+ "description": "Repeatable, up to 10. Each value is \\",
+ "in": "query",
+ "items": {
+ "type": "string"
+ },
+ "name": "filter",
+ "type": "array",
+ "x-example": "brand_facet:ACANA"
+ },
+ {
+ "description": "Also return the category's curated editorial content -- Chewy's own FAQ question/answer pairs, the rich category description, and the SEO page title/meta description. Costs no extra upstream call. Omitted entirely when false (the default).",
+ "in": "query",
+ "name": "include_content",
+ "type": "boolean",
+ "x-example": true
}
],
"produces": [
@@ -276508,7 +347260,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/aliexpress.suggestResponseDoc"
+ "$ref": "#/definitions/chewy.categoryResponseDoc"
}
},
"400": {
@@ -276517,6 +347269,12 @@
"$ref": "#/definitions/app.Response"
}
},
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
"429": {
"description": "Too Many Requests",
"schema": {
@@ -276535,26 +347293,44 @@
"ApiKeyAuth": []
}
],
- "summary": "Suggest AliExpress search keywords",
+ "summary": "Browse a Chewy category listing",
"tags": [
- "AliExpress"
+ "Chewy"
]
}
},
- "/aliexpress/trending-searches": {
+ "/chewy/facets": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns AliExpress's own discovery/trending keyword feed from its anonymous search box: the hot-search keywords it groups by category, plus its discovery and shading keyword modules. Each item carries the keyword, its display casing when different, the kind (hot, shading, discovery, history), the module's UI label, the hot-list category, and a ready-to-use search URL; keyword thumbnails are included where AliExpress supplies them. This is a keyword-discovery feed, not a product list and not a personalized recommendation: no product id, title, price or seller is returned, and AliExpress does not promise a stable order between calls. The anonymous feed carries roughly 40 hot keywords plus a few discovery/shading keywords per call; search history is empty for anonymous callers.",
- "operationId": "aliexpress-trending-searches",
+ "description": "Returns the full set of refinement options (facets) a Chewy category or keyword search can be narrowed by -- brand, sub-category, lifestage, food form, breed size, special diet, health feature, flavor, ingredient, packaging type, price band, customer rating, and whichever other dimensions that listing exposes -- with each option's product count. No products are returned, so this is a much smaller call than chewy_category/chewy_search when only the option set is wanted. The Brand dimension is effectively Chewy's brand directory for the requested listing: each brand option carries its product count and, where Chewy publishes one, its own chewy.com/brands/- landing-page slug in seo_hvf_slug. Exactly one of group_id or q is required. Every facets[].value paired with one of that facet's options[].value is a ready-to-use filter key:value pair for this endpoint, chewy_category, and chewy_search alike; passing filter here narrows the listing first, so the returned counts describe the already-narrowed result set. A group_id Chewy does not recognize returns a 404 rather than an empty option set.",
+ "operationId": "chewy-facets",
"parameters": [
{
- "description": "Maximum trending keywords to return (1-20), defaults to 10",
+ "description": "Chewy's numeric category id, e.g. \\",
"in": "query",
- "name": "limit",
- "type": "integer",
- "x-example": 10
+ "name": "group_id",
+ "type": "string",
+ "x-example": "294"
+ },
+ {
+ "description": "Free-text search keywords to return refinement options for, e.g. \\",
+ "in": "query",
+ "name": "q",
+ "type": "string",
+ "x-example": "salmon dog food"
+ },
+ {
+ "collectionFormat": "csv",
+ "description": "Repeatable, up to 10. Each value is \\",
+ "in": "query",
+ "items": {
+ "type": "string"
+ },
+ "name": "filter",
+ "type": "array",
+ "x-example": "brand_facet:ACANA"
}
],
"produces": [
@@ -276564,7 +347340,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/aliexpress.trendingSearchesResponseDoc"
+ "$ref": "#/definitions/chewy.facetsResponseDoc"
}
},
"400": {
@@ -276573,6 +347349,12 @@
"$ref": "#/definitions/app.Response"
}
},
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
"429": {
"description": "Too Many Requests",
"schema": {
@@ -276591,24 +347373,27 @@
"ApiKeyAuth": []
}
],
- "summary": "List AliExpress trending searches",
+ "summary": "List a Chewy category or search's refinement options",
"tags": [
- "AliExpress"
+ "Chewy"
]
}
},
- "/aljazeera/article": {
+ "/chewy/gtin-lookup": {
"get": {
- "description": "Returns an Al Jazeera article by `url`, a canonical dated `www.aljazeera.com` address such as `/news/2026/9/20/example-slug`: title, description, publication and update times, section, credited authors, lead image and body `paragraphs`. Live-blog URLs return their opening summary bullets as the body; a video page with no article text returns `503` and a malformed URL `400`.",
- "operationId": "aljazeera-article",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Resolves a batch of up to 20 GTIN/UPC barcodes to their Chewy part numbers in one call. gtins is a comma-separated list of barcodes, e.g. \"192268541316\". A barcode Chewy does not recognize is omitted from part_numbers and listed in not_found rather than causing the whole call to fail. The resolved part_numbers values feed directly into chewy_product/chewy_products.",
+ "operationId": "chewy-gtin-lookup",
"parameters": [
{
- "description": "Canonical www.aljazeera.com article URL",
+ "description": "Comma-separated GTIN/UPC barcodes, up to 20",
"in": "query",
- "name": "url",
+ "name": "gtins",
"required": true,
"type": "string",
- "x-example": "https://www.aljazeera.com/news/2026/9/20/example-slug"
+ "x-example": "192268541316"
}
],
"produces": [
@@ -276618,7 +347403,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/aljazeera.articleResponseDoc"
+ "$ref": "#/definitions/chewy.gtinLookupResponseDoc"
}
},
"400": {
@@ -276627,12 +347412,6 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"429": {
"description": "Too Many Requests",
"schema": {
@@ -276651,37 +347430,27 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Al Jazeera article content",
+ "summary": "Resolve Chewy GTIN/UPC barcodes to part numbers",
"tags": [
- "Al Jazeera"
+ "Chewy"
]
}
},
- "/aljazeera/author": {
+ "/chewy/inventory": {
"get": {
- "description": "Returns one Al Jazeera author's public profile (name, job title, bio when available) and one page of their recent articles, identified by an author slug or a canonical author URL.",
- "operationId": "aljazeera-author",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns Chewy's live warehouse inventory position for up to 20 products in one call, keyed by part number: the availability status, total units on hand, units inbound/in progress, units already reserved against unshipped orders, and the quantity actually available to the storefront. This is the only Chewy surface that carries real quantities -- every other endpoint in this family reports stock as a single boolean, so \"36 units left\" and \"84,386 units left\" are indistinguishable there. Quantities are live and move between calls. Part numbers Chewy does not return inventory for are reported in not_found; if none resolve the response is a 404.",
+ "operationId": "chewy-inventory",
"parameters": [
{
- "description": "Al Jazeera author slug",
- "in": "query",
- "name": "slug",
- "type": "string",
- "x-example": "hakeem-najimdeen"
- },
- {
- "description": "Canonical https://www.aljazeera.com/author/ URL, as an alternative to slug",
+ "description": "Comma-separated Chewy part numbers, up to 20 per request, e.g. \\",
"in": "query",
- "name": "url",
+ "name": "part_numbers",
+ "required": true,
"type": "string",
- "x-example": "https://www.aljazeera.com/author/hakeem-najimdeen"
- },
- {
- "description": "1-based page number of the author's article list; overrides any page embedded in url",
- "in": "query",
- "name": "page",
- "type": "integer",
- "x-example": 1
+ "x-example": "101143,52448"
}
],
"produces": [
@@ -276691,7 +347460,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/aljazeera.authorResponseDoc"
+ "$ref": "#/definitions/chewy.inventoryResponseDoc"
}
},
"400": {
@@ -276724,16 +347493,42 @@
"ApiKeyAuth": []
}
],
- "summary": "Get an Al Jazeera author's profile and recent articles",
+ "summary": "Look up live warehouse inventory for a batch of Chewy products",
"tags": [
- "Al Jazeera"
+ "Chewy"
]
}
},
- "/aljazeera/categories": {
+ "/chewy/item-attributes": {
"get": {
- "description": "Lists Al Jazeera's current section navigation, each entry with a `name`, `slug` and `url`. A slug has one segment (`news`, `middle-east`) or two (`tag/human-rights`), and any returned `slug` can be passed as the `topic` parameter of `aljazeera-topic`.",
- "operationId": "aljazeera-categories",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns Chewy's own specification table for up to 20 products in one call, keyed by part number -- the structured attribute list (lifestage, pet type, product type, material, made-in country, packaging type, flavor, defining size, plus long-form key-benefits and cautions copy), together with the handling and compliance flags that govern how an item ships (pharmaceutical, prescription vet-diet, frozen, refrigerated, single-tablet, gift card), its bundle structure and component SKUs, its autoship eligibility/discount and preset reorder cadence, its merchandising classification path, and the numeric category group ids it belongs to (each usable directly as chewy_category's group_id). This complements rather than repeats chewy_products and chewy_product: price, rating, images, reviews, and descriptions stay on those endpoints, and the attribute table is not available from either. Use the group parameter to return a single attribute group. Part numbers Chewy does not recognize are reported in not_found; if none of them resolve the response is a 404.",
+ "operationId": "chewy-item-attributes",
+ "parameters": [
+ {
+ "description": "Comma-separated Chewy part numbers, up to 20 per request, e.g. \\",
+ "in": "query",
+ "name": "part_numbers",
+ "required": true,
+ "type": "string",
+ "x-example": "52448,101143"
+ },
+ {
+ "description": "Return only attributes in one group. One of DEFINING, STANDARD, EXTENDED, HIDDEN. Omit for every group.",
+ "enum": [
+ "DEFINING",
+ "STANDARD",
+ "EXTENDED",
+ "HIDDEN"
+ ],
+ "in": "query",
+ "name": "group",
+ "type": "string",
+ "x-example": "STANDARD"
+ }
+ ],
"produces": [
"application/json"
],
@@ -276741,46 +347536,20 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/aljazeera.categoriesResponseDoc"
+ "$ref": "#/definitions/chewy.itemAttributesResponseDoc"
}
},
- "429": {
- "description": "Too Many Requests",
+ "400": {
+ "description": "Bad Request",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "404": {
+ "description": "Not Found",
"schema": {
"$ref": "#/definitions/app.Response"
}
- }
- },
- "security": [
- {
- "ApiKeyAuth": []
- }
- ],
- "summary": "Get Al Jazeera section navigation",
- "tags": [
- "Al Jazeera"
- ]
- }
- },
- "/aljazeera/headlines": {
- "get": {
- "description": "Returns recent Al Jazeera text-news headlines from across the site, with no input needed. Each item has a title, canonical URL, summary, publication time and the section when present. Video items are excluded because the article endpoint supports text stories only.",
- "operationId": "aljazeera-headlines",
- "produces": [
- "application/json"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/aljazeera.headlinesResponseDoc"
- }
},
"429": {
"description": "Too Many Requests",
@@ -276800,24 +347569,27 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Al Jazeera site-wide headlines",
+ "summary": "Look up a batch of Chewy products' structured attributes and handling flags",
"tags": [
- "Al Jazeera"
+ "Chewy"
]
}
},
- "/aljazeera/topic": {
+ "/chewy/product": {
"get": {
- "description": "Returns the newest public Al Jazeera stories from one section archive page. topic is a section slug; use aljazeera-categories for the current value space.",
- "operationId": "aljazeera-topic",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns one Chewy product's full detail: name, brand, description, images, price, stock, rating and its star-count breakdown, category breadcrumbs, customer questions and answers, and customer reviews. id is the numeric id from a chewy.com PDP URL, e.g. 185468 from https://www.chewy.com/frisco-lion-mane-dog-cat-costume/dp/185468 -- also the same value a chewy_category response's products[].part_number field carries for that product's own default variant. The response also carries the item's shipping weight and package dimensions as Chewy states them, its per-order purchase limit, and any promotions currently attached to it (each with a type such as \"Spend $X\" or \"BOGO\", plus short and long descriptions).",
+ "operationId": "chewy-product",
"parameters": [
{
- "description": "Al Jazeera section slug",
+ "description": "Numeric id from a chewy.com PDP URL",
"in": "query",
- "name": "topic",
+ "name": "id",
"required": true,
"type": "string",
- "x-example": "news"
+ "x-example": "185468"
}
],
"produces": [
@@ -276827,7 +347599,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/aljazeera.topicResponseDoc"
+ "$ref": "#/definitions/chewy.productResponseDoc"
}
},
"400": {
@@ -276860,33 +347632,48 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Al Jazeera section headlines",
+ "summary": "Get a Chewy product's detail",
"tags": [
- "Al Jazeera"
+ "Chewy"
]
}
},
- "/allbirds/collections": {
+ "/chewy/product-questions": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns collections from Allbirds (https://www.allbirds.com). The storefront URL is fixed server-side. Valid empty result pages return `200` with an empty collections array.",
- "operationId": "allbirds-collections",
+ "description": "Returns one page of a Chewy product's customer questions, each with its answers (text, author, date, staff flag, helpful count). chewy_product embeds only the first 20 questions with no way to page past them; this endpoint reaches the whole set. id is the numeric id from any chewy.com PDP URL, and questions are shared across a product's variants, so any variant's id returns the same set. Each question reports answers_total alongside its answers array, so a caller can tell when answers were truncated by answer_limit. Chewy offers no sort or filter on questions, so this endpoint deliberately exposes paging only.",
+ "operationId": "chewy-product-questions",
"parameters": [
{
- "description": "1-based page, defaults to 1",
+ "description": "The numeric id from a chewy.com PDP URL, e.g. \\",
+ "in": "query",
+ "name": "id",
+ "required": true,
+ "type": "string",
+ "x-example": "767806"
+ },
+ {
+ "description": "Page number, 1-based (default 1).",
"in": "query",
"name": "page",
"type": "integer",
"x-example": 1
},
{
- "description": "Maximum collections, defaults to 50 and supports up to 250",
+ "description": "Questions per page, 1 to 50 (default 20).",
"in": "query",
"name": "limit",
"type": "integer",
- "x-example": 50
+ "x-example": 20
+ },
+ {
+ "description": "Answers to return per question, 1 to 20 (default 10). Each question also reports answers_total.",
+ "in": "query",
+ "name": "answer_limit",
+ "type": "integer",
+ "x-example": 10
}
],
"produces": [
@@ -276896,7 +347683,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/shopifybrands.collectionsResponseDoc"
+ "$ref": "#/definitions/chewy.questionsResponseDoc"
}
},
"400": {
@@ -276905,6 +347692,12 @@
"$ref": "#/definitions/app.Response"
}
},
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
"429": {
"description": "Too Many Requests",
"schema": {
@@ -276923,41 +347716,67 @@
"ApiKeyAuth": []
}
],
- "summary": "List Allbirds collections",
+ "summary": "List a Chewy product's customer questions and answers, paginated",
"tags": [
- "Allbirds"
+ "Chewy"
]
}
},
- "/allbirds/collections/{handle}/products": {
+ "/chewy/product-reviews": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns products from one Allbirds (https://www.allbirds.com) collection. The storefront URL is fixed server-side; `handle` is the collection's URL slug.",
- "operationId": "allbirds-collection-products",
+ "description": "Returns one page of a Chewy product's customer reviews -- rating, title, body, author, submission date, helpful count, incentivized flag, and contributor badge -- with sorting and positive/negative filtering. chewy_product embeds only the first 20 reviews with no way to page past them; this endpoint reaches the whole set (products routinely carry thousands). id is the numeric id from any chewy.com PDP URL, and reviews are shared across a product's variants, so any variant's id returns the same set. total is the count for the current filter, so it drops when filter is applied, while rating_count stays the product's overall rating tally.",
+ "operationId": "chewy-product-reviews",
"parameters": [
{
- "description": "Collection handle",
- "in": "path",
- "name": "handle",
+ "description": "The numeric id from a chewy.com PDP URL, e.g. \\",
+ "in": "query",
+ "name": "id",
"required": true,
"type": "string",
- "x-example": "collection-handle"
+ "x-example": "767806"
},
{
- "description": "1-based page, defaults to 1",
+ "description": "Page number, 1-based (default 1).",
"in": "query",
"name": "page",
"type": "integer",
"x-example": 1
},
{
- "description": "Maximum products, defaults to 50 and supports up to 250",
+ "description": "Reviews per page, 1 to 50 (default 20).",
"in": "query",
"name": "limit",
"type": "integer",
- "x-example": 50
+ "x-example": 20
+ },
+ {
+ "description": "Sort order. One of MOST_RELEVANT, NEWEST, OLDEST, HIGHEST_RATING, LOWEST_RATING, PHOTOS. Defaults to Chewy's own ordering when omitted.",
+ "enum": [
+ "MOST_RELEVANT",
+ "NEWEST",
+ "OLDEST",
+ "HIGHEST_RATING",
+ "LOWEST_RATING",
+ "PHOTOS"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string",
+ "x-example": "NEWEST"
+ },
+ {
+ "description": "Restrict to POSITIVE (4-5 star) or NEGATIVE (1-3 star) reviews. Omit for all.",
+ "enum": [
+ "POSITIVE",
+ "NEGATIVE"
+ ],
+ "in": "query",
+ "name": "filter",
+ "type": "string",
+ "x-example": "POSITIVE"
}
],
"produces": [
@@ -276967,7 +347786,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/shopifybrands.collectionProductsResponseDoc"
+ "$ref": "#/definitions/chewy.reviewsResponseDoc"
}
},
"400": {
@@ -277000,33 +347819,27 @@
"ApiKeyAuth": []
}
],
- "summary": "List Allbirds collection products",
+ "summary": "List a Chewy product's customer reviews, paginated",
"tags": [
- "Allbirds"
+ "Chewy"
]
}
},
- "/allbirds/pages": {
+ "/chewy/products": {
"get": {
"consumes": [
"application/json"
],
- "description": "Lists static pages from the Allbirds store, paged with `page` (default 1) and `limit` (default 50, max 250). Each item has `handle`, `title`, `url`, `id`, publish and update times and plain-text `content`. In some responses items carry only `handle`, `url` and `updated_at`.",
- "operationId": "allbirds-pages",
+ "description": "Returns a batch of up to 20 Chewy products' lightweight summaries (price, rating, stock, images) in one call. part_numbers is a comma-separated list of Chewy part numbers, e.g. \"52448,767758\" -- the same value chewy_product returns as part_number/parent_part_number, and chewy_category/chewy_search return as products[].part_number. A part number Chewy does not recognize is omitted from products and listed in not_found rather than causing the whole call to fail.",
+ "operationId": "chewy-products",
"parameters": [
{
- "description": "1-based page, defaults to 1",
- "in": "query",
- "name": "page",
- "type": "integer",
- "x-example": 1
- },
- {
- "description": "Maximum static pages, defaults to 50 and supports up to 250",
+ "description": "Comma-separated Chewy part numbers, up to 20",
"in": "query",
- "name": "limit",
- "type": "integer",
- "x-example": 50
+ "name": "part_numbers",
+ "required": true,
+ "type": "string",
+ "x-example": "52448,767758"
}
],
"produces": [
@@ -277036,7 +347849,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/shopifybrands.pagesResponseDoc"
+ "$ref": "#/definitions/chewy.productsResponseDoc"
}
},
"400": {
@@ -277063,27 +347876,61 @@
"ApiKeyAuth": []
}
],
- "summary": "List Allbirds static pages",
+ "summary": "Get a batch of Chewy products' lightweight summaries",
"tags": [
- "Allbirds"
+ "Chewy"
]
}
},
- "/allbirds/pages/{handle}": {
+ "/chewy/search": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns one static page from the Allbirds store by its `handle`: title, URL, publish and update times, and `content` as plain text rather than HTML. `id` is omitted on some pages. A handle that does not exist returns 404.",
- "operationId": "allbirds-page",
+ "description": "Returns one page of a Chewy keyword search's product listing (price, autoship price/discount, stock, rating, images), plus embedded facets. q is free-text search keywords, e.g. \"salmon dog food\". A generic query that strongly matches one of Chewy's own categories (e.g. \"dog food\", \"cat litter\", \"leash\") is transparently redirected to that category's listing, the same real results a chewy.com visitor would see -- source_url reflects the actual listing fetched. sort and filter narrow/reorder the listing; every facets[].value paired with one of that facet's options[].value from any prior response is a valid filter key:value pair.",
+ "operationId": "chewy-search",
"parameters": [
{
- "description": "Page handle",
- "in": "path",
- "name": "handle",
+ "description": "Free-text search keywords",
+ "in": "query",
+ "name": "q",
"required": true,
"type": "string",
- "x-example": "page-handle"
+ "x-example": "salmon dog food"
+ },
+ {
+ "description": "Page number, 36 products per page (default 1)",
+ "in": "query",
+ "name": "page",
+ "type": "integer",
+ "x-example": 1
+ },
+ {
+ "description": "Sort order. One of byRelevance, byNewest, byPopularity, byLowestPrice, byHighestPrice, byRating, byRatingCount. Defaults to Chewy's own relevance ordering when omitted.",
+ "enum": [
+ "byRelevance",
+ "byNewest",
+ "byPopularity",
+ "byLowestPrice",
+ "byHighestPrice",
+ "byRating",
+ "byRatingCount"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string",
+ "x-example": "byRating"
+ },
+ {
+ "collectionFormat": "csv",
+ "description": "Repeatable, up to 10. Each value is \\",
+ "in": "query",
+ "items": {
+ "type": "string"
+ },
+ "name": "filter",
+ "type": "array",
+ "x-example": "brand_facet:ACANA"
}
],
"produces": [
@@ -277093,7 +347940,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/shopifybrands.pageResponseDoc"
+ "$ref": "#/definitions/chewy.searchResponseDoc"
}
},
"400": {
@@ -277102,12 +347949,6 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"429": {
"description": "Too Many Requests",
"schema": {
@@ -277126,33 +347967,26 @@
"ApiKeyAuth": []
}
],
- "summary": "Get a Allbirds static page",
+ "summary": "Search Chewy by keyword",
"tags": [
- "Allbirds"
+ "Chewy"
]
}
},
- "/allbirds/products": {
+ "/chewy/suggest": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns products from Allbirds's (https://www.allbirds.com) public product catalog. The storefront URL is fixed server-side. Valid empty result pages return `200` with an empty products array.",
- "operationId": "allbirds-products",
+ "description": "Returns Chewy's own search-box typeahead result for a partial query term: search-term suggestions (some resolving directly to a category/brand browse URL via their own url field) plus a handful of educational-content article suggestions. term is a partial query, e.g. \"salmon dog\" or \"blue buff\". Omit term entirely to get what Chewy shows on an empty search box instead: its current Popular Searches (each resolving to a category or brand listing) and Popular Articles.",
+ "operationId": "chewy-suggest",
"parameters": [
{
- "description": "1-based page, defaults to 1",
- "in": "query",
- "name": "page",
- "type": "integer",
- "x-example": 1
- },
- {
- "description": "Maximum products, defaults to 50 and supports up to 250",
+ "description": "Partial search text, e.g. \\",
"in": "query",
- "name": "limit",
- "type": "integer",
- "x-example": 50
+ "name": "term",
+ "type": "string",
+ "x-example": "salmon dog"
}
],
"produces": [
@@ -277162,7 +347996,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/shopifybrands.productsResponseDoc"
+ "$ref": "#/definitions/chewy.suggestResponseDoc"
}
},
"400": {
@@ -277189,27 +348023,27 @@
"ApiKeyAuth": []
}
],
- "summary": "List Allbirds products",
+ "summary": "Chewy search-box typeahead suggestions",
"tags": [
- "Allbirds"
+ "Chewy"
]
}
},
- "/allbirds/products/{handle}": {
+ "/chewy/variants": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns product detail for one Allbirds (https://www.allbirds.com) product handle. The storefront URL is fixed server-side; `handle` is the product's URL slug.",
- "operationId": "allbirds-product",
+ "description": "Returns the full roster of purchasable variants for the product a given item belongs to -- every size, flavor, or color Chewy sells it in -- with each variant's own part number, price, Autoship price, stock, images, and the defining option that distinguishes it (e.g. Size = Medium). id is the numeric id from any chewy.com PDP URL; passing any one variant's id returns that variant's whole family, and the variant you asked for is flagged with is_requested. This answers a question chewy_product cannot: chewy_product describes only the single variant it was given and names its parent, but never lists the siblings or their prices. Only the defining option is returned, not the full attribute table -- use chewy_item_attributes for that.",
+ "operationId": "chewy-variants",
"parameters": [
{
- "description": "Product handle",
- "in": "path",
- "name": "handle",
+ "description": "The numeric id from a chewy.com PDP URL, e.g. \\",
+ "in": "query",
+ "name": "id",
"required": true,
"type": "string",
- "x-example": "product-handle"
+ "x-example": "185468"
}
],
"produces": [
@@ -277219,7 +348053,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/shopifybrands.productResponseDoc"
+ "$ref": "#/definitions/chewy.variantsResponseDoc"
}
},
"400": {
@@ -277252,45 +348086,24 @@
"ApiKeyAuth": []
}
],
- "summary": "Get a Allbirds product",
+ "summary": "List every size/flavor variant of a Chewy product",
"tags": [
- "Allbirds"
+ "Chewy"
]
}
},
- "/allbirds/products/{handle}/recommendations": {
+ "/chicagotribune/article": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns recommended products for one Allbirds (https://www.allbirds.com) product handle. The storefront URL is fixed server-side.",
- "operationId": "allbirds-product-recommendations",
+ "description": "Returns public Chicago Tribune article metadata and body paragraphs from a canonical article URL. For subscriber-only articles the response carries the free lead-in with paywalled set to true.",
+ "operationId": "chicagotribune-article",
"parameters": [
{
- "description": "Product handle",
- "in": "path",
- "name": "handle",
- "required": true,
- "type": "string",
- "x-example": "product-handle"
- },
- {
- "description": "Maximum products, defaults to 10 and supports up to 20",
- "in": "query",
- "name": "limit",
- "type": "integer",
- "x-example": 10
- },
- {
- "description": "Recommendation intent. Allowed values: related, complementary",
- "enum": [
- "related",
- "complementary"
- ],
+ "description": "Canonical Chicago Tribune article URL",
"in": "query",
- "name": "intent",
+ "name": "url",
+ "required": true,
"type": "string",
- "x-example": "related"
+ "x-example": "https://www.chicagotribune.com/2026/09/24/gov-jb-pritzker-illinois-lawmakers-data-centers/"
}
],
"produces": [
@@ -277300,7 +348113,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/shopifybrands.productRecommendationsResponseDoc"
+ "$ref": "#/definitions/publicnews.articleResponseDoc"
}
},
"400": {
@@ -277315,12 +348128,6 @@
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Too Many Requests",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"503": {
"description": "Service Unavailable",
"schema": {
@@ -277333,41 +348140,30 @@
"ApiKeyAuth": []
}
],
- "summary": "List Allbirds product recommendations",
+ "summary": "Get Chicago Tribune article content",
"tags": [
- "Allbirds"
+ "Chicago Tribune"
]
}
},
- "/allbirds/search/suggest": {
+ "/chicagotribune/author": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns products, collections, and query suggestions from Allbirds's (https://www.allbirds.com) predictive search. The storefront URL is fixed server-side.",
- "operationId": "allbirds-search-suggest",
+ "description": "Returns one Chicago Tribune author's public profile: name, job title when listed, bio, public email and X/Twitter handle, and their recent articles.",
+ "operationId": "chicagotribune-author",
"parameters": [
{
- "description": "Search query",
+ "description": "Author slug, e.g. olivia-olander",
"in": "query",
- "name": "q",
- "required": true,
+ "name": "slug",
"type": "string",
- "x-example": "wool"
+ "x-example": "olivia-olander"
},
{
- "description": "Comma-separated suggestion types. Allowed values: product, collection, query",
+ "description": "Canonical chicagotribune.com/author// URL; alternative to slug",
"in": "query",
- "name": "types",
+ "name": "url",
"type": "string",
- "x-example": "product,collection,query"
- },
- {
- "description": "Maximum results per type, defaults to 10 and supports up to 20",
- "in": "query",
- "name": "limit",
- "type": "integer",
- "x-example": 10
+ "x-example": "https://www.chicagotribune.com/author/olivia-olander/"
}
],
"produces": [
@@ -277377,7 +348173,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/shopifybrands.searchSuggestResponseDoc"
+ "$ref": "#/definitions/publicnews.chicagoTribuneAuthorResponseDoc"
}
},
"400": {
@@ -277386,8 +348182,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Too Many Requests",
+ "404": {
+ "description": "Not Found",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -277404,42 +348200,86 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Allbirds search suggestions",
+ "summary": "Get a Chicago Tribune author profile",
"tags": [
- "Allbirds"
+ "Chicago Tribune"
]
}
},
- "/allbirds/sitemap/urls": {
+ "/chicagotribune/headlines": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Lists URL entries from the Allbirds store sitemaps, filtered by `type` (`all`, `products`, `collections`, `pages`, `blogs`, `agentic_discovery` or `other`; default `all`). `limit` defaults to 50 and is capped at 250. Each entry has `loc`, `type`, `handle`, `lastmod`, `changefreq` and optional `images`.",
- "operationId": "allbirds-sitemap-urls",
+ "description": "Returns headlines from one Chicago Tribune section page. `section` is required and takes one of 60 slugs, such as `local-news`, `crime-public-safety`, `chicago-bears`, `restaurants-food-drink` or `naperville-sun`. Each story has a title, article URL, publication time, byline, excerpt and image where the card shows them. Most sections give about 10 stories.",
+ "operationId": "chicagotribune-headlines",
"parameters": [
{
- "description": "Sitemap type. Allowed values: all, products, collections, pages, blogs, agentic_discovery, other",
+ "description": "Chicago Tribune section slug",
"enum": [
- "all",
- "products",
- "collections",
- "pages",
- "blogs",
- "agentic_discovery",
- "other"
+ "news",
+ "local-news",
+ "crime-public-safety",
+ "politics",
+ "elections",
+ "immigration",
+ "investigations",
+ "education",
+ "environment",
+ "health",
+ "history",
+ "marijuana",
+ "national",
+ "news-obituaries",
+ "science",
+ "weather",
+ "world",
+ "business",
+ "real-estate",
+ "transportation",
+ "technology",
+ "aurora-beacon-news",
+ "daily-southtown",
+ "elgin-courier-news",
+ "lake-county-news-sun",
+ "naperville-sun",
+ "post-tribune",
+ "opinion",
+ "columnists",
+ "commentary",
+ "editorials",
+ "letters-to-the-editor",
+ "sports",
+ "college-sports",
+ "mlb",
+ "chicago-cubs",
+ "chicago-white-sox",
+ "nfl",
+ "chicago-bears",
+ "nba",
+ "chicago-bulls",
+ "nhl",
+ "chicago-blackhawks",
+ "soccer",
+ "wnba",
+ "chicago-sky",
+ "things-to-do",
+ "arts",
+ "books",
+ "entertainment",
+ "home-garden",
+ "movies",
+ "music-concerts",
+ "restaurants-food-drink",
+ "theater",
+ "travel",
+ "tv-streaming",
+ "fitness",
+ "advice",
+ "best-reviews"
],
"in": "query",
- "name": "type",
+ "name": "section",
+ "required": true,
"type": "string",
- "x-example": "products"
- },
- {
- "description": "Maximum URL entries, defaults to 50 and supports up to 250",
- "in": "query",
- "name": "limit",
- "type": "integer",
- "x-example": 50
+ "x-example": "news"
}
],
"produces": [
@@ -277449,7 +348289,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/shopifybrands.sitemapURLsResponseDoc"
+ "$ref": "#/definitions/publicnews.headlinesResponseDoc"
}
},
"400": {
@@ -277458,12 +348298,6 @@
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Too Many Requests",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"503": {
"description": "Service Unavailable",
"schema": {
@@ -277476,19 +348310,16 @@
"ApiKeyAuth": []
}
],
- "summary": "List Allbirds sitemap URLs",
+ "summary": "Get Chicago Tribune section headlines",
"tags": [
- "Allbirds"
+ "Chicago Tribune"
]
}
},
- "/allbirds/sitemaps": {
+ "/chicagotribune/news": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Lists the child sitemaps in the Allbirds store's sitemap index, each with its `loc` and a `type` of `products`, `collections`, `pages`, `blogs`, `agentic_discovery` or `other`. Takes no parameters. The types match the `type` filter of `allbirds-sitemap-urls`.",
- "operationId": "allbirds-sitemaps",
+ "description": "Returns the current Chicago Tribune top stories from its homepage, with no input needed. Each has a title and canonical article URL, plus publication time, byline, excerpt and lead image where the story card shows them.",
+ "operationId": "chicagotribune-news",
"produces": [
"application/json"
],
@@ -277496,19 +348327,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/shopifybrands.sitemapIndexResponseDoc"
- }
- },
- "400": {
- "description": "Bad Request",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
- "429": {
- "description": "Too Many Requests",
- "schema": {
- "$ref": "#/definitions/app.Response"
+ "$ref": "#/definitions/publicnews.newsResponseDoc"
}
},
"503": {
@@ -277523,19 +348342,16 @@
"ApiKeyAuth": []
}
],
- "summary": "List Allbirds sitemaps",
+ "summary": "Get Chicago Tribune top stories",
"tags": [
- "Allbirds"
+ "Chicago Tribune"
]
}
},
- "/allbirds/store": {
+ "/chicagotribune/sections": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns storefront metadata for Allbirds (https://www.allbirds.com). The storefront URL is fixed server-side, so no `url` parameter is accepted.",
- "operationId": "allbirds-store",
+ "description": "Lists the 60 Chicago Tribune sections accepted by `chicagotribune-headlines`, spanning news, suburban papers, opinion, sports teams and arts, such as `crime-public-safety`, `daily-southtown`, `chicago-cubs` and `theater`. Each has a `slug`, display `name` and page `url`. Tag pages and hubs that repeat the homepage are not included.",
+ "operationId": "chicagotribune-sections",
"produces": [
"application/json"
],
@@ -277543,25 +348359,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/shopifybrands.storeResponseDoc"
- }
- },
- "400": {
- "description": "Bad Request",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
- "429": {
- "description": "Too Many Requests",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
- "503": {
- "description": "Service Unavailable",
- "schema": {
- "$ref": "#/definitions/app.Response"
+ "$ref": "#/definitions/publicnews.sectionsResponseDoc"
}
}
},
@@ -277570,27 +348368,62 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Allbirds store metadata",
+ "summary": "Get Chicago Tribune sections",
"tags": [
- "Allbirds"
+ "Chicago Tribune"
]
}
},
- "/alt/asset": {
+ "/chick-fil-a/content": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns one card design's identity, full population report (across every grading company and grade Alt tracks), and a recent raw sales feed -- the \"is this card actually rare, and what does it sell for\" data for a specific card design, independent of any single listing. asset_id comes from a prior alt-search/alt-sold-listings/alt-card-search result's asset_id field. recent_sales has no per-transaction grade breakdown -- Alt does not expose one; see alt-sold-listings for per-grade sold prices on specific listings.",
- "operationId": "alt-asset",
+ "description": "Returns one page of a Chick-fil-A editorial corpus. `type` selects which: `press-room` (289 press releases), `story` (189 blog articles), `page` (147 standalone corporate pages such as hunger relief and community programmes), `legal` (28 terms, policies and promotion rules) or `downloadable-asset` (45 press-kit media entries, which carry a title and link only and never a body). Between them these are every content-bearing corpus Chick-fil-A publishes outside the menu and restaurant catalogs. Article bodies are opt-in via include_body because a single press release runs to roughly 22KB, so a default-on page of 20 would be several hundred KB; without it the endpoint returns titles, links, publish dates and excerpts.",
+ "operationId": "chick-fil-a-content",
"parameters": [
{
- "description": "The card design's asset id, from a Search/SoldListings/CardSearch result's asset_id field",
+ "description": "Which corpus. One of press-room, story, page, legal, downloadable-asset.",
+ "enum": [
+ "press-room",
+ "story",
+ "page",
+ "legal",
+ "downloadable-asset"
+ ],
"in": "query",
- "name": "asset_id",
+ "name": "type",
"required": true,
"type": "string",
- "x-example": "c3156728-e7eb-11ea-a6f0-02d4568f26ba"
+ "x-example": "press-room"
+ },
+ {
+ "description": "Free-text filter. Results are relevance-ranked when present; otherwise newest first.",
+ "in": "query",
+ "name": "search",
+ "type": "string",
+ "x-example": "community"
+ },
+ {
+ "description": "1-based page number (default 1)",
+ "in": "query",
+ "name": "page",
+ "type": "integer",
+ "x-example": 1
+ },
+ {
+ "description": "Entries per page, 1-100 (default 20)",
+ "in": "query",
+ "name": "per_page",
+ "type": "integer",
+ "x-example": 20
+ },
+ {
+ "description": "Include the full article body (default false -- bodies are large)",
+ "in": "query",
+ "name": "include_body",
+ "type": "boolean",
+ "x-example": false
}
],
"produces": [
@@ -277600,7 +348433,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/alt.assetResponseDoc"
+ "$ref": "#/definitions/chickfila.contentResponseDoc"
}
},
"400": {
@@ -277615,8 +348448,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -277633,107 +348466,50 @@
"ApiKeyAuth": []
}
],
- "summary": "Get one card design's population report and recent sales",
+ "summary": "Browse Chick-fil-A press releases, legal documents and press-kit assets",
"tags": [
- "Alt"
+ "Chick-fil-A"
]
}
},
- "/alt/auctions": {
+ "/chick-fil-a/content-taxonomy": {
"get": {
"consumes": [
"application/json"
],
- "description": "Searches Alt's own currently live auctions -- the same pool shown on alt.xyz/browse's \"Auctions\" tab filtered to the Alt source. Unlike alt-search, this never returns another source auction house's listings or Alt's own fixed-price items. See alt-categories for the accepted category/grading_company/sort values.",
- "operationId": "alt-auctions",
+ "description": "Returns one page of a content taxonomy's terms, each with its id, name, slug, parent and the number of entries carrying it. Every id is a ready-to-use `category` or `tag` filter value on GET /chick-fil-a/content, which is what makes the editorial corpora navigable rather than only pageable. `taxonomy` selects the vocabulary: `press_category` (16 terms) and `press_tag` (96) classify press releases, `story_category` (9) and `story_tag` (74) classify blog stories, `legal_category` (8) and `downloadable_asset_category` (7) classify those corpora, and `campaign` (9) is applied across several at once. Terms are ordered by name.",
+ "operationId": "chick-fil-a-content-taxonomy",
"parameters": [
{
- "description": "Free-text search across item name, subject, brand, and variety. Omit or pass * to browse every current Alt auction.",
- "in": "query",
- "name": "q",
- "type": "string",
- "x-example": "michael jordan"
- },
- {
- "description": "Comma-separated card category filter",
- "enum": [
- "BASEBALL_CARDS",
- "POKEMON_CARDS",
- "FOOTBALL_CARDS",
- "BASKETBALL_CARDS",
- "POP-CULTURE_CARDS",
- "HOCKEY_CARDS",
- "SOCCER_CARDS",
- "ONE_PIECE_CARDS",
- "OTHER_CARDS",
- "TCG_CARDS",
- "COMBAT_SPORTS_CARDS",
- "RACING_CARDS",
- "MAGIC_CARDS",
- "YUGIOH_CARDS",
- "GOLF_CARDS",
- "TENNIS_CARDS"
- ],
- "in": "query",
- "name": "category",
- "type": "string"
- },
- {
- "description": "Comma-separated grading company filter",
- "enum": [
- "PSA",
- "CGC",
- "BGS",
- "CSG",
- "SGC",
- "PSA/DNA",
- "BVG",
- "BCCG",
- "Factory Sealed",
- "BAS",
- "AUTHENTIC",
- "TAG",
- "RELABEL",
- "RECASE",
- "JSA/BVG",
- "REVIEW",
- "INTERNAL",
- "NEW/",
- "BULK",
- "OTHERS",
- "UNGRADED"
- ],
- "in": "query",
- "name": "grading_company",
- "type": "string"
- },
- {
- "description": "Result order. Default recommended.",
+ "description": "Which vocabulary. One of press_category, press_tag, story_category, story_tag, legal_category, downloadable_asset_category, campaign.",
"enum": [
- "recommended",
- "alt_value_desc",
- "alt_value_asc",
- "price_desc",
- "price_asc",
- "watched_desc",
- "ending_soonest_asc",
- "timestamp_desc"
+ "press_category",
+ "press_tag",
+ "story_category",
+ "story_tag",
+ "legal_category",
+ "downloadable_asset_category",
+ "campaign"
],
"in": "query",
- "name": "sort",
- "type": "string"
+ "name": "taxonomy",
+ "required": true,
+ "type": "string",
+ "x-example": "press_category"
},
{
- "description": "1-based page number, default 1",
+ "description": "1-based page number (default 1)",
"in": "query",
"name": "page",
- "type": "integer"
+ "type": "integer",
+ "x-example": 1
},
{
- "description": "Results per page, default 24, max 100",
+ "description": "Terms per page, 1-100 (default 20)",
"in": "query",
"name": "per_page",
- "type": "integer"
+ "type": "integer",
+ "x-example": 100
}
],
"produces": [
@@ -277743,7 +348519,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/alt.auctionsResponseDoc"
+ "$ref": "#/definitions/chickfila.contentTaxonomyResponseDoc"
}
},
"400": {
@@ -277752,14 +348528,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Too Many Requests",
+ "404": {
+ "description": "Not Found",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -277776,38 +348552,47 @@
"ApiKeyAuth": []
}
],
- "summary": "Search Alt's own live 24/7 auctions",
+ "summary": "List the category and tag vocabularies Chick-fil-A classifies its content under",
"tags": [
- "Alt"
+ "Chick-fil-A"
]
}
},
- "/alt/card-search": {
+ "/chick-fil-a/faq": {
"get": {
"consumes": [
"application/json"
],
- "description": "Searches Alt's reference card-design catalog -- a canonical catalog of card designs (one entry per year/brand/subject/card-number/variety combination), separate from live listings or sales. Useful for finding a card design's asset_id (to feed into alt-asset for a population report and recent sales) without already having a live listing or sale that references it.",
- "operationId": "alt-card-search",
+ "description": "Returns one page of Chick-fil-A's published customer FAQ corpus (522 entries at time of writing) across 30 categories -- Chick-fil-A One membership, points and rewards, digital ordering and payment, delivery support, sweepstakes terms, and more. Each entry carries the question, the answer as plain text, the answer's original HTML (a fair number of answers use links, lists and tables that plain text loses), and its resolved categories. Every categories[].id is a ready-to-use value for the category filter. search matches over question and answer text and is relevance-ranked; without it entries come back alphabetically so a caller can page through the whole corpus deterministically.",
+ "operationId": "chick-fil-a-faq",
"parameters": [
{
- "description": "Free-text search across card name, subject, brand, and variety",
+ "description": "Free-text filter over question and answer text. Results are relevance-ranked when present.",
"in": "query",
- "name": "q",
+ "name": "search",
"type": "string",
- "x-example": "michael jordan"
+ "x-example": "delivery"
},
{
- "description": "1-based page number, default 1",
+ "description": "Comma-separated faq_category term ids, up to 20, from any prior response's categories[].id",
+ "in": "query",
+ "name": "category",
+ "type": "string",
+ "x-example": "58"
+ },
+ {
+ "description": "1-based page number (default 1)",
"in": "query",
"name": "page",
- "type": "integer"
+ "type": "integer",
+ "x-example": 1
},
{
- "description": "Results per page, default 24, max 100",
+ "description": "Entries per page, 1-100 (default 20)",
"in": "query",
"name": "per_page",
- "type": "integer"
+ "type": "integer",
+ "x-example": 20
}
],
"produces": [
@@ -277817,7 +348602,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/alt.cardSearchResponseDoc"
+ "$ref": "#/definitions/chickfila.faqResponseDoc"
}
},
"400": {
@@ -277826,14 +348611,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Too Many Requests",
+ "404": {
+ "description": "Not Found",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -277850,19 +348635,35 @@
"ApiKeyAuth": []
}
],
- "summary": "Search Alt's reference card-design catalog",
+ "summary": "Browse Chick-fil-A customer FAQs",
"tags": [
- "Alt"
+ "Chick-fil-A"
]
}
},
- "/alt/categories": {
+ "/chick-fil-a/location": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns every accepted value for alt-search/alt-auctions/alt-sold-listings' category, auction_house, grading_company, and listing_type params, plus the sort enum. category/auction_house/grading_company/listing_type are read live from Alt's own current search index on every call, not a fixed taxonomy -- so this endpoint self-corrects if Alt's aggregator adds a new source auction house, grading company, or category.",
- "operationId": "alt-categories",
+ "description": "Returns one Chick-fil-A restaurant's street address, opening hours, cuisine description and photo, selected by either its numeric id or its slug (supply exactly one of the two -- passing both is rejected). opening_hours carries one entry per day; a day Chick-fil-A publishes as closed (notably every Sunday, and every day for a seasonal or food-truck location that is not currently operating) comes back with closed=true and empty opens/closes rather than a placeholder time. This response carries a postal address but no latitude/longitude -- Chick-fil-A does not publish coordinates for its restaurants, and this endpoint does not synthesize them.",
+ "operationId": "chick-fil-a-location",
+ "parameters": [
+ {
+ "description": "Numeric WordPress post id. Supply either id or slug, not both.",
+ "in": "query",
+ "name": "id",
+ "type": "integer",
+ "x-example": 53696
+ },
+ {
+ "description": "Restaurant slug, e.g. from a directory response. Supply either id or slug, not both.",
+ "in": "query",
+ "name": "slug",
+ "type": "string",
+ "x-example": "branson-food-truck"
+ }
+ ],
"produces": [
"application/json"
],
@@ -277870,7 +348671,19 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/alt.categoriesResponseDoc"
+ "$ref": "#/definitions/chickfila.locationResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
}
},
"429": {
@@ -277891,41 +348704,40 @@
"ApiKeyAuth": []
}
],
- "summary": "List Alt search filter values",
+ "summary": "Get one Chick-fil-A restaurant's address and hours",
"tags": [
- "Alt"
+ "Chick-fil-A"
]
}
},
- "/alt/listing": {
+ "/chick-fil-a/locations": {
"get": {
"consumes": [
"application/json"
],
- "description": "One listing's full public detail -- title, description, price/bid state, grading info, and images -- across Alt's own native listings and its aggregated external listings. id and listing_type come from a prior alt-search/alt-auctions result, or from an alt-sold-listings result's listing_id and listing_type for a completed sale on Alt itself. Not every response field applies to every listing_type -- see the field-level notes in this endpoint's markdown doc.",
- "operationId": "alt-listing",
+ "description": "Returns one page of Chick-fil-A's restaurant directory (3,467 restaurants at time of writing): each restaurant's id, slug, name, US state and its page URL. search filters by free text over restaurant names and is relevance-ranked; without it restaurants come back alphabetically so a caller can page through the whole directory deterministically. This index deliberately carries no address or hours -- Chick-fil-A does not expose them on the directory listing. Pass a slug from here to GET /chick-fil-a/location to get street address and opening hours for one restaurant.",
+ "operationId": "chick-fil-a-locations",
"parameters": [
{
- "description": "The listing's id, from a Search/Auctions result's id field, or a sold-listings result's listing_id for a completed sale on Alt itself",
+ "description": "Free-text filter over restaurant names. Results are relevance-ranked when present.",
"in": "query",
- "name": "id",
- "required": true,
+ "name": "search",
"type": "string",
- "x-example": "58e5a6a5-a7ad-417f-8cda-ceffb226928c"
+ "x-example": "branson"
},
{
- "description": "The listing's listing_type from the same Search/Auctions result",
- "enum": [
- "AUCTION",
- "FIXED_PRICE",
- "EXTERNAL_AUCTION",
- "EXTERNAL_FIXED_PRICE"
- ],
+ "description": "1-based page number (default 1)",
"in": "query",
- "name": "listing_type",
- "required": true,
- "type": "string",
- "x-example": "AUCTION"
+ "name": "page",
+ "type": "integer",
+ "x-example": 1
+ },
+ {
+ "description": "Restaurants per page, 1-100 (default 20)",
+ "in": "query",
+ "name": "per_page",
+ "type": "integer",
+ "x-example": 20
}
],
"produces": [
@@ -277935,7 +348747,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/alt.listingResponseDoc"
+ "$ref": "#/definitions/chickfila.locationsResponseDoc"
}
},
"400": {
@@ -277950,8 +348762,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -277968,26 +348780,68 @@
"ApiKeyAuth": []
}
],
- "summary": "Get one Alt listing's full public detail",
+ "summary": "Browse Chick-fil-A restaurant locations",
"tags": [
- "Alt"
+ "Chick-fil-A"
]
}
},
- "/alt/market-trends": {
+ "/chick-fil-a/menu": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns Alt's own category-level price-trend index -- the same data alt.xyz's \"Market Trends\" page shows: a weekly/monthly/90-day change and a current index value per card category, built from Alt's own sold/valuation data.",
- "operationId": "alt-market-trends",
+ "description": "Returns one page of Chick-fil-A's published menu catalog (567 items at time of writing): item name, slug, Chick-fil-A's own item tag, an ordering deep link, and the taxonomy term ids the item belongs to. Every id in a response's menu_taxonomy_ids, menu_item_type_ids, menu_item_group_ids and nutrition_table_menu_ids is a ready-to-use filter value for a follow-up call, and GET /chick-fil-a/menu-taxonomy lists each taxonomy's terms with their names. search filters by free text and is ranked by relevance; without it items come back alphabetically so a caller can page through the whole catalog deterministically. Note this catalog carries no prices or nutrition values -- Chick-fil-A does not publish either through this source.",
+ "operationId": "chick-fil-a-menu",
"parameters": [
{
- "description": "Optional exact category filter -- must match one of the categories present in the live response (a subset of alt-categories' category list; Alt only publishes a trend index for its own tracked sports categories). Omit to get every tracked category.",
+ "description": "Free-text filter over item names. Results are relevance-ranked when present.",
"in": "query",
- "name": "category",
+ "name": "search",
"type": "string",
- "x-example": "BASKETBALL_CARDS"
+ "x-example": "nuggets"
+ },
+ {
+ "description": "Comma-separated menu_taxonomy term ids (menu section, e.g. Breakfast, Beverages), up to 20",
+ "in": "query",
+ "name": "menu_taxonomy",
+ "type": "string",
+ "x-example": "265"
+ },
+ {
+ "description": "Comma-separated menu_item_type term ids (ITEM, ITEM_GROUPING, MODIFIER), up to 20",
+ "in": "query",
+ "name": "menu_item_type",
+ "type": "string",
+ "x-example": "431"
+ },
+ {
+ "description": "Comma-separated menu_item_group term ids (the grouping a variant belongs to), up to 20",
+ "in": "query",
+ "name": "menu_item_group",
+ "type": "string",
+ "x-example": "899"
+ },
+ {
+ "description": "Comma-separated nutrition_table_menu term ids (published nutrition-table grouping), up to 20",
+ "in": "query",
+ "name": "nutrition_table_menu",
+ "type": "string",
+ "x-example": "368"
+ },
+ {
+ "description": "1-based page number (default 1)",
+ "in": "query",
+ "name": "page",
+ "type": "integer",
+ "x-example": 1
+ },
+ {
+ "description": "Items per page, 1-100 (default 20)",
+ "in": "query",
+ "name": "per_page",
+ "type": "integer",
+ "x-example": 20
}
],
"produces": [
@@ -277997,7 +348851,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/alt.marketTrendsResponseDoc"
+ "$ref": "#/definitions/chickfila.menuResponseDoc"
}
},
"400": {
@@ -278006,8 +348860,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -278024,134 +348884,33 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Alt's card-market price-trend index",
+ "summary": "Browse the Chick-fil-A menu",
"tags": [
- "Alt"
+ "Chick-fil-A"
]
}
},
- "/alt/search": {
+ "/chick-fil-a/menu-item": {
"get": {
"consumes": [
"application/json"
],
- "description": "Searches Alt's universal aggregator index -- live auction and fixed-price listings from Alt itself and every other source auction house its search carries (eBay, Fanatics Collect, Pristine Auction, Goldin, CardHobby, Memory Lane) -- by free-text query, category, source auction house, grading company, and listing type, in a caller-selected sort order. Only currently-live listings are returned; see alt-sold-listings for completed sales. See alt-categories for the accepted category/auction_house/grading_company/listing_type/sort values.",
- "operationId": "alt-search",
+ "description": "Returns one Chick-fil-A menu item, selected by either its numeric id or its slug (supply exactly one of the two -- passing both is rejected). Unlike the listing endpoint, this resolves the item's taxonomy term ids to names, so menu_sections, item_types, item_groups and nutrition_tables each come back as {id, name, slug} triples rather than bare ids. Term resolution is best-effort: if the taxonomy lookups fail the item is still returned with ids and empty names rather than failing the whole call. This item detail carries no price and no nutrition values -- Chick-fil-A does not publish either through this source.",
+ "operationId": "chick-fil-a-menu-item",
"parameters": [
{
- "description": "Free-text search across item name, subject, brand, and variety. Omit or pass * to browse everything.",
- "in": "query",
- "name": "q",
- "type": "string",
- "x-example": "michael jordan"
- },
- {
- "description": "Comma-separated card category filter",
- "enum": [
- "BASEBALL_CARDS",
- "POKEMON_CARDS",
- "FOOTBALL_CARDS",
- "BASKETBALL_CARDS",
- "POP-CULTURE_CARDS",
- "HOCKEY_CARDS",
- "SOCCER_CARDS",
- "ONE_PIECE_CARDS",
- "OTHER_CARDS",
- "TCG_CARDS",
- "COMBAT_SPORTS_CARDS",
- "RACING_CARDS",
- "MAGIC_CARDS",
- "YUGIOH_CARDS",
- "GOLF_CARDS",
- "TENNIS_CARDS"
- ],
- "in": "query",
- "name": "category",
- "type": "string"
- },
- {
- "description": "Comma-separated source auction house filter",
- "enum": [
- "eBay",
- "Fanatics Collect",
- "Alt",
- "Pristine Auction",
- "Goldin",
- "CardHobby",
- "Memory Lane"
- ],
- "in": "query",
- "name": "auction_house",
- "type": "string"
- },
- {
- "description": "Comma-separated grading company filter",
- "enum": [
- "PSA",
- "CGC",
- "BGS",
- "CSG",
- "SGC",
- "PSA/DNA",
- "BVG",
- "BCCG",
- "Factory Sealed",
- "BAS",
- "AUTHENTIC",
- "TAG",
- "RELABEL",
- "RECASE",
- "JSA/BVG",
- "REVIEW",
- "INTERNAL",
- "NEW/",
- "BULK",
- "OTHERS",
- "UNGRADED"
- ],
- "in": "query",
- "name": "grading_company",
- "type": "string"
- },
- {
- "description": "Comma-separated listing type filter. Omit to search auctions and fixed-price listings from every source together.",
- "enum": [
- "AUCTION",
- "FIXED_PRICE",
- "EXTERNAL_AUCTION",
- "EXTERNAL_FIXED_PRICE"
- ],
- "in": "query",
- "name": "listing_type",
- "type": "string"
- },
- {
- "description": "Result order. Default recommended.",
- "enum": [
- "recommended",
- "alt_value_desc",
- "alt_value_asc",
- "price_desc",
- "price_asc",
- "watched_desc",
- "ending_soonest_asc",
- "timestamp_desc"
- ],
- "in": "query",
- "name": "sort",
- "type": "string"
- },
- {
- "description": "1-based page number, default 1",
+ "description": "Numeric WordPress post id. Supply either id or slug, not both.",
"in": "query",
- "name": "page",
- "type": "integer"
+ "name": "id",
+ "type": "integer",
+ "x-example": 10613
},
{
- "description": "Results per page, default 24, max 100",
+ "description": "Item slug, e.g. from a listing response. Supply either id or slug, not both.",
"in": "query",
- "name": "per_page",
- "type": "integer"
+ "name": "slug",
+ "type": "string",
+ "x-example": "chick-fil-a-filet"
}
],
"produces": [
@@ -278161,7 +348920,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/alt.searchResponseDoc"
+ "$ref": "#/definitions/chickfila.menuItemResponseDoc"
}
},
"400": {
@@ -278170,14 +348929,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Too Many Requests",
+ "404": {
+ "description": "Not Found",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -278194,106 +348953,47 @@
"ApiKeyAuth": []
}
],
- "summary": "Search Alt's aggregated card marketplace",
+ "summary": "Get one Chick-fil-A menu item",
"tags": [
- "Alt"
+ "Chick-fil-A"
]
}
},
- "/alt/sold-listings": {
+ "/chick-fil-a/menu-taxonomy": {
"get": {
"consumes": [
"application/json"
],
- "description": "Searches Alt's global archive of completed card sales, aggregated across every source auction house its search carries -- the \"market data\" side of Alt's card-investment-marketplace positioning. This is a separate index from alt-search/alt-auctions, scoped to a rolling recent time window, not a filtered view of live listings. Pass auction_house=Alt to see only Alt's own completed sales. Each of Alt's own sales carries listing_id and listing_type -- pass both to alt-listing to get that item's certificate number -- and its url is the alt.xyz item page; a sale aggregated from another auction house carries that source site's own url instead. See alt-categories for the accepted category/auction_house/grading_company values.",
- "operationId": "alt-sold-listings",
+ "description": "Returns one page of terms for a single Chick-fil-A menu taxonomy, with each term's id, name, slug, parent and how many menu items carry it. This is how to discover the filter ids GET /chick-fil-a/menu accepts. taxonomy must be one of `menu_taxonomy` (customer-facing menu section -- Breakfast, Beverages, Catering Entrées, ... 36 terms), `menu_item_type` (`ITEM`, `ITEM_GROUPING`, `MODIFIER` -- 3 terms), `menu_item_group` (the grouping a variant belongs to, e.g. \"Bacon, Egg & Cheese Biscuit\" -- 100+ terms), or `nutrition_table_menu` (the grouping used by Chick-fil-A's published nutrition tables -- 18 terms). Terms come back alphabetically.",
+ "operationId": "chick-fil-a-menu-taxonomy",
"parameters": [
{
- "description": "Free-text search across item name, subject, brand, and variety. Omit or pass * to browse the most recent sales.",
- "in": "query",
- "name": "q",
- "type": "string",
- "x-example": "michael jordan"
- },
- {
- "description": "Comma-separated card category filter",
- "enum": [
- "BASEBALL_CARDS",
- "POKEMON_CARDS",
- "FOOTBALL_CARDS",
- "BASKETBALL_CARDS",
- "POP-CULTURE_CARDS",
- "HOCKEY_CARDS",
- "SOCCER_CARDS",
- "ONE_PIECE_CARDS",
- "OTHER_CARDS",
- "TCG_CARDS",
- "COMBAT_SPORTS_CARDS",
- "RACING_CARDS",
- "MAGIC_CARDS",
- "YUGIOH_CARDS",
- "GOLF_CARDS",
- "TENNIS_CARDS"
- ],
- "in": "query",
- "name": "category",
- "type": "string"
- },
- {
- "description": "Comma-separated source auction house filter. Pass Alt to see only Alt's own completed auctions.",
- "enum": [
- "eBay",
- "Fanatics Collect",
- "Alt",
- "Pristine Auction",
- "Goldin",
- "CardHobby",
- "Memory Lane"
- ],
- "in": "query",
- "name": "auction_house",
- "type": "string"
- },
- {
- "description": "Comma-separated grading company filter",
+ "description": "Which taxonomy to list. One of menu_taxonomy, menu_item_type, menu_item_group, nutrition_table_menu.",
"enum": [
- "PSA",
- "CGC",
- "BGS",
- "CSG",
- "SGC",
- "PSA/DNA",
- "BVG",
- "BCCG",
- "Factory Sealed",
- "BAS",
- "AUTHENTIC",
- "TAG",
- "RELABEL",
- "RECASE",
- "JSA/BVG",
- "REVIEW",
- "INTERNAL",
- "NEW/",
- "BULK",
- "OTHERS",
- "UNGRADED"
+ "menu_taxonomy",
+ "menu_item_type",
+ "menu_item_group",
+ "nutrition_table_menu"
],
"in": "query",
- "name": "grading_company",
- "type": "string"
+ "name": "taxonomy",
+ "required": true,
+ "type": "string",
+ "x-example": "menu_taxonomy"
},
{
- "description": "1-based page number, default 1",
+ "description": "1-based page number (default 1)",
"in": "query",
"name": "page",
- "type": "integer"
+ "type": "integer",
+ "x-example": 1
},
{
- "description": "Results per page, default 24, max 100",
+ "description": "Terms per page, 1-100 (default 20)",
"in": "query",
"name": "per_page",
- "type": "integer"
+ "type": "integer",
+ "x-example": 100
}
],
"produces": [
@@ -278303,7 +349003,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/alt.soldListingsResponseDoc"
+ "$ref": "#/definitions/chickfila.menuTaxonomyResponseDoc"
}
},
"400": {
@@ -278312,14 +349012,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Too Many Requests",
+ "404": {
+ "description": "Not Found",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -278336,39 +349036,41 @@
"ApiKeyAuth": []
}
],
- "summary": "Search Alt's completed sales archive",
+ "summary": "List one Chick-fil-A menu taxonomy's terms",
"tags": [
- "Alt"
+ "Chick-fil-A"
]
}
},
- "/alt/top-movers": {
+ "/chipotle/ingredients": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns Alt's biggest price-index movers -- either a cross-subject leaderboard (optionally scoped to one category) or, when subject is set, that one player/character's own trend broken out per category it appears in. category is not strictly validated against alt-categories' list -- this trend index's own category set is broader (e.g. it includes MULTI-SPORT_CARDS).",
- "operationId": "alt-top-movers",
+ "description": "Returns Chipotle's raw-ingredient content pages -- sourcing story, marketing copy, imagery -- and the per-item recipe breakdown. ingredients[] has one entry per raw ingredient (Avocado, Yellow Onion, ...), each with its facts/sourcing copy and the menu_item_ids it appears in. ingredient_groups[] is the reverse view: one entry per recipe category (proteins, rice and beans, ...) listing each item's exact ingredient_keys, joinable against ingredients[].key for the human-readable name. Nothing else in this family exposes either ingredient content or recipe-level composition.",
+ "operationId": "chipotle-ingredients",
"parameters": [
{
- "description": "Optional category filter for the leaderboard. Ignored when subject is set. Omit to rank movers across every category.",
+ "description": "Ordering surface. One of web, web-mobile. Default web-mobile.",
+ "enum": [
+ "web",
+ "web-mobile"
+ ],
"in": "query",
- "name": "category",
+ "name": "channel",
"type": "string",
- "x-example": "BASKETBALL_CARDS"
+ "x-example": "web-mobile"
},
{
- "description": "Optional exact player/subject name. Returns that subject's own trend per category instead of a leaderboard, and category is ignored.",
+ "description": "Country catalog. One of US, CA. Default US.",
+ "enum": [
+ "US",
+ "CA"
+ ],
"in": "query",
- "name": "subject",
+ "name": "region",
"type": "string",
- "x-example": "Michael Jordan"
- },
- {
- "description": "Max results, default 10, max 50",
- "in": "query",
- "name": "limit",
- "type": "integer"
+ "x-example": "US"
}
],
"produces": [
@@ -278378,7 +349080,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/alt.topMoversResponseDoc"
+ "$ref": "#/definitions/chipotle.ingredientsResponseDoc"
}
},
"400": {
@@ -278387,8 +349089,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -278405,19 +349107,19 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Alt's biggest card-market price movers",
+ "summary": "Get Chipotle's ingredient content catalog",
"tags": [
- "Alt"
+ "Chipotle"
]
}
},
- "/amazon-jobs/categories": {
+ "/chipotle/meals": {
"get": {
"consumes": [
"application/json"
],
- "description": "Lists every value amazon-jobs/search's `category` parameter accepts, each with its current live job count. Live-queries amazon.jobs's own search category facet rather than a static list, so counts and coverage stay current.",
- "operationId": "amazon-jobs-categories",
+ "description": "Returns Chipotle's preset meal definitions -- the named combinations its ordering flow offers (Build-Your-Own Chicken and similar), each with an id, name, type and a description listing what the meal contains. Takes no parameters.",
+ "operationId": "chipotle-meals",
"produces": [
"application/json"
],
@@ -278425,7 +349127,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/amazonjobs.categoriesResponseDoc"
+ "$ref": "#/definitions/chipotle.mealsResponseDoc"
}
},
"429": {
@@ -278446,29 +349148,19 @@
"ApiKeyAuth": []
}
],
- "summary": "Amazon Jobs category discovery",
+ "summary": "Get Chipotle's preset meal definitions",
"tags": [
- "Amazon Jobs"
+ "Chipotle"
]
}
},
- "/amazon-jobs/job": {
+ "/chipotle/menu": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns one Amazon.jobs posting by its numeric job id (the `id` field returned by search).",
- "operationId": "amazon-jobs-job",
- "parameters": [
- {
- "description": "Numeric Amazon job id",
- "in": "query",
- "name": "id",
- "required": true,
- "type": "string",
- "x-example": "10386857"
- }
- ],
+ "description": "Returns Chipotle's restaurant-independent menu catalog -- every item it sells nationally, split into entrees, sides and drinks, with each item's category, type, primary filling and full customization tree. Takes no parameters. Prices are deliberately omitted from this response: Chipotle prices per restaurant, so the upstream returns every price as zero here, and surfacing a field of zeros would read as \"free\" rather than \"unpriced\". Use GET /chipotle/restaurant/menu for real prices.",
+ "operationId": "chipotle-menu",
"produces": [
"application/json"
],
@@ -278476,19 +349168,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/amazonjobs.jobResponseDoc"
- }
- },
- "400": {
- "description": "Bad Request",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
+ "$ref": "#/definitions/chipotle.nationalMenuResponseDoc"
}
},
"429": {
@@ -278509,105 +349189,41 @@
"ApiKeyAuth": []
}
],
- "summary": "Amazon Jobs single posting",
+ "summary": "Get Chipotle's national menu catalog",
"tags": [
- "Amazon Jobs"
+ "Chipotle"
]
}
},
- "/amazon-jobs/search": {
+ "/chipotle/menu/metadata": {
"get": {
"consumes": [
"application/json"
],
- "description": "Searches Amazon's public careers site (amazon.jobs). Each result includes the full description and qualifications inline. `sort` accepts `relevant` (default, relevance ranking) or `recent` (newest posted first). Either `q` or `category` (or both) must be given -- `category` filters by Amazon's own job-category taxonomy and works with no text query at all. See `amazon-jobs-categories` for the full, live-verified list of accepted `category` values.",
- "operationId": "amazon-jobs-search",
+ "description": "Returns Chipotle's menu presentation metadata -- the data no other Chipotle endpoint carries. Categories are the menu nav sections (Burrito, Bowl, Salad, ...) with their own description, imagery and the customization sections each offers. Items carry per-item nutrition (calories and portion) and dietary tag codes. Item sections and item groups describe the customization pick-groups and shared item aliases (e.g. cauliflower rice offered as both an entree side and a taco filling). Dietary tag groups are the full tag taxonomy (Plant Based, Lifestyle, I'm Avoiding, ...) that item dietary tag codes join against for a human-readable name and badge. Join on item_id against /chipotle/menu or /chipotle/restaurant/menu for prices; this endpoint has none.",
+ "operationId": "chipotle-menu-metadata",
"parameters": [
{
- "description": "Search query. Either q or category is required",
- "in": "query",
- "name": "q",
- "type": "string",
- "x-example": "software engineer"
- },
- {
- "description": "Amazon's own job-category taxonomy slug, case-insensitive. Either q or category is required",
+ "description": "Ordering surface. One of web, web-mobile. Default web-mobile.",
"enum": [
- "administrative-support",
- "applied-science",
- "audio-video-photography-production",
- "business-intelligence",
- "business-merchant-development",
- "buying-planning-instock-management",
- "corporate-operations",
- "customer-service",
- "data-science",
- "database-administration",
- "design",
- "economics",
- "editorial-writing-content-management",
- "facilities-maintenance-real-estate",
- "finance-accounting",
- "fulfillment-associate",
- "fulfillment-operations-management",
- "fulfillment-warehouse-associate",
- "hardware-development",
- "human-resources",
- "investigation-loss-prevention",
- "leadership-development-training",
- "legal",
- "machine-learning-science",
- "marketing-pr",
- "medical-health-safety",
- "operations-it-support-engineering",
- "procurement",
- "project-program-product-management-non-tech",
- "project-program-product-management-technical",
- "public-policy",
- "public-relations",
- "research-science",
- "sales-advertising-account-management",
- "software-development",
- "solutions-architect",
- "supply-chain-transportation-management",
- "systems-quality-security-engineering"
+ "web",
+ "web-mobile"
],
"in": "query",
- "name": "category",
- "type": "string",
- "x-example": "software-development"
- },
- {
- "description": "ISO 3166-1 alpha-3 country code filter",
- "in": "query",
- "name": "country",
+ "name": "channel",
"type": "string",
- "x-example": "USA"
- },
- {
- "description": "Page number, 1-based",
- "in": "query",
- "name": "page",
- "type": "integer",
- "x-example": 1
- },
- {
- "description": "Results per page, max 100 (default 20)",
- "in": "query",
- "name": "limit",
- "type": "integer",
- "x-example": 20
+ "x-example": "web-mobile"
},
{
- "description": "Sort order",
+ "description": "Country catalog. One of US, CA. Default US.",
"enum": [
- "relevant",
- "recent"
+ "US",
+ "CA"
],
"in": "query",
- "name": "sort",
+ "name": "region",
"type": "string",
- "x-example": "relevant"
+ "x-example": "US"
}
],
"produces": [
@@ -278617,7 +349233,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/amazonjobs.searchResponseDoc"
+ "$ref": "#/definitions/chipotle.menuMetadataResponseDoc"
}
},
"400": {
@@ -278644,54 +349260,27 @@
"ApiKeyAuth": []
}
],
- "summary": "Amazon Jobs search",
+ "summary": "Get Chipotle's menu presentation metadata",
"tags": [
- "Amazon Jobs"
+ "Chipotle"
]
}
},
- "/amazon/charts": {
+ "/chipotle/restaurant": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns one page of a ranked Amazon chart (Best Sellers, New Releases, or Most Wished For) for a department or department subcategory on `amazon.com`. Discover valid department/node values with amazon-charts-categories.",
- "operationId": "amazon-charts",
+ "description": "Returns one Chipotle restaurant by its numeric restaurant number. Note this single-restaurant route returns a leaner record than GET /chipotle/restaurants: the proximity search accepts an embeds parameter that pulls in hours and capability flags, and no such parameter exists here, so those fields may be absent. If you need the full record for a known restaurant, call /chipotle/restaurants with a tight radius around it instead.",
+ "operationId": "chipotle-restaurant",
"parameters": [
{
- "description": "Chart type",
- "enum": [
- "best_sellers",
- "new_releases",
- "most_wished_for"
- ],
- "in": "query",
- "name": "chart",
- "required": true,
- "type": "string",
- "x-example": "best_sellers"
- },
- {
- "description": "Amazon department slug",
+ "description": "Chipotle's numeric restaurant id",
"in": "query",
- "name": "department",
+ "name": "restaurant_number",
"required": true,
"type": "string",
- "x-example": "electronics"
- },
- {
- "description": "Numeric browse node id",
- "in": "query",
- "name": "node",
- "type": "string",
- "x-example": "172541"
- },
- {
- "description": "1-based page number",
- "in": "query",
- "name": "page",
- "type": "integer",
- "x-example": 1
+ "x-example": "3982"
}
],
"produces": [
@@ -278701,7 +349290,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/amazon.chartsResponseDoc"
+ "$ref": "#/definitions/chipotle.restaurantResponseDoc"
}
},
"400": {
@@ -278722,12 +349311,6 @@
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"503": {
"description": "Service Unavailable",
"schema": {
@@ -278740,46 +349323,39 @@
"ApiKeyAuth": []
}
],
- "summary": "Amazon product charts",
+ "summary": "Get one Chipotle restaurant",
"tags": [
- "Amazon"
+ "Chipotle"
]
}
},
- "/amazon/charts/categories": {
+ "/chipotle/restaurant/meals": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns the department and subcategory values amazon-charts accepts for a given chart. Omit department to list a chart's top-level departments; pass a department (and optionally a node) to get that category's own name plus its immediate child categories.",
- "operationId": "amazon-charts-categories",
+ "description": "Returns the preset meals one Chipotle restaurant sells -- group Build-Your-Own packs, the High Protein line and limited-time Influencer meals -- each with its dine-in and delivery price at that restaurant, calorie label, dietary and macro tags, the components that make it up, merchandising tags and images. Prices are genuinely restaurant-specific: the same Build-Your-Own Chicken pack is priced differently from one location to another, so this is the endpoint to use for real pricing rather than /chipotle/meals, which lists the national meal definitions with no prices at all. Calorie labels are a range for build-your-own meals and a single figure for fixed ones, so they are returned as strings. Restaurant numbers come from GET /chipotle/restaurants.",
+ "operationId": "chipotle-restaurant-meals",
"parameters": [
{
- "description": "Chart type",
- "enum": [
- "best_sellers",
- "new_releases",
- "most_wished_for"
- ],
+ "description": "Chipotle's numeric restaurant id, from /chipotle/restaurants",
"in": "query",
- "name": "chart",
+ "name": "restaurant_number",
"required": true,
"type": "string",
- "x-example": "best_sellers"
- },
- {
- "description": "Amazon department slug",
- "in": "query",
- "name": "department",
- "type": "string",
- "x-example": "electronics"
+ "x-example": "3982"
},
{
- "description": "Numeric browse node id (requires department)",
+ "description": "Filter to one meal family. One of BuildYourOwn, HighProtein, Influencer.",
+ "enum": [
+ "BuildYourOwn",
+ "HighProtein",
+ "Influencer"
+ ],
"in": "query",
- "name": "node",
+ "name": "meal_type",
"type": "string",
- "x-example": "172541"
+ "x-example": "HighProtein"
}
],
"produces": [
@@ -278789,7 +349365,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/amazon.chartCategoriesResponseDoc"
+ "$ref": "#/definitions/chipotle.restaurantMealsResponseDoc"
}
},
"400": {
@@ -278810,12 +349386,6 @@
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"503": {
"description": "Service Unavailable",
"schema": {
@@ -278828,47 +349398,34 @@
"ApiKeyAuth": []
}
],
- "summary": "Amazon chart categories",
+ "summary": "List one Chipotle restaurant's preset meals with prices",
"tags": [
- "Amazon"
+ "Chipotle"
]
}
},
- "/amazon/product/{asin}": {
+ "/chipotle/restaurant/menu": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns product details for an Amazon ASIN on `amazon.com`, including pricing, availability, overview data, inline review samples, and descriptive content.",
- "operationId": "amazon-product",
+ "description": "Returns one restaurant's live online menu split into entrees, sides, drinks and non-food items. This is the only Chipotle endpoint that carries prices: every item has both a dine-in price and a delivery price, which genuinely differ. Each item also carries its full customization tree -- contents (the individual fillings, salsas and sides that make it up, each with their own price pair) and content_groups (how many picks each group allows). Prices are per-restaurant, so two restaurants will legitimately return different numbers for the same item.",
+ "operationId": "chipotle-restaurant-menu",
"parameters": [
{
- "description": "Amazon ASIN",
- "in": "path",
- "name": "asin",
+ "description": "Chipotle's numeric restaurant id",
+ "in": "query",
+ "name": "restaurant_number",
"required": true,
"type": "string",
- "x-example": "B0DGJ736JM"
- },
- {
- "default": "en_US",
- "description": "Amazon language",
- "enum": [
- "en_US"
- ],
- "in": "query",
- "name": "language",
- "type": "string"
+ "x-example": "3982"
},
{
- "default": "USD",
- "description": "Amazon currency",
- "enum": [
- "USD"
- ],
+ "description": "Include items the restaurant currently has unavailable (default false)",
"in": "query",
- "name": "currency",
- "type": "string"
+ "name": "include_unavailable",
+ "type": "boolean",
+ "x-example": true
}
],
"produces": [
@@ -278878,7 +349435,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/amazon.productResponseDoc"
+ "$ref": "#/definitions/chipotle.restaurantMenuResponseDoc"
}
},
"400": {
@@ -278899,12 +349456,6 @@
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"503": {
"description": "Service Unavailable",
"schema": {
@@ -278917,41 +349468,56 @@
"ApiKeyAuth": []
}
],
- "summary": "Retrieve Amazon product details",
+ "summary": "Get one Chipotle restaurant's menu with prices",
"tags": [
- "Amazon"
+ "Chipotle"
]
}
},
- "/amazon/search": {
+ "/chipotle/restaurants": {
"get": {
"consumes": [
"application/json"
],
- "description": "Searches `amazon.com` by keyword, with optional sort order and page. Each result card has the ASIN, title, link, image, price and list price, rating and review count, the bought-in-last-month figure, and flags for sponsored placement and free delivery.",
- "operationId": "amazon-search",
+ "description": "Returns Chipotle restaurants near a latitude/longitude, ordered by distance. Each restaurant carries its number (the id every other Chipotle endpoint takes), name, status, full postal address with coordinates, published open/close hours per day, nearest cross streets, timezone, and capability flags (Chipotlane pickup, online ordering, catering, curbside pickup, dining room open, walk-up window). A coordinate with no Chipotle nearby returns an empty list rather than an error.",
+ "operationId": "chipotle-restaurants",
"parameters": [
{
- "description": "Search keyword",
+ "description": "Search center latitude",
"in": "query",
- "name": "k",
+ "name": "latitude",
"required": true,
- "type": "string",
- "x-example": "apple watch"
+ "type": "number",
+ "x-example": 34.0522
},
{
- "description": "Sort order",
+ "description": "Search center longitude",
"in": "query",
- "name": "s",
- "type": "string",
- "x-example": "review-rank"
+ "name": "longitude",
+ "required": true,
+ "type": "number",
+ "x-example": -118.2437
},
{
- "description": "1-based page number",
+ "description": "Search radius in meters, 1-80000 (default 8000)",
+ "in": "query",
+ "name": "radius",
+ "type": "integer",
+ "x-example": 8000
+ },
+ {
+ "description": "Restaurants per page, 1-50 (default 10)",
+ "in": "query",
+ "name": "page_size",
+ "type": "integer",
+ "x-example": 10
+ },
+ {
+ "description": "0-based page index (default 0)",
"in": "query",
"name": "page",
"type": "integer",
- "x-example": 1
+ "x-example": 0
}
],
"produces": [
@@ -278961,7 +349527,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/amazon.searchResponseDoc"
+ "$ref": "#/definitions/chipotle.restaurantsResponseDoc"
}
},
"400": {
@@ -278982,12 +349548,6 @@
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"503": {
"description": "Service Unavailable",
"schema": {
@@ -279000,29 +349560,19 @@
"ApiKeyAuth": []
}
],
- "summary": "Search Amazon products",
+ "summary": "Find Chipotle restaurants near a location",
"tags": [
- "Amazon"
+ "Chipotle"
]
}
},
- "/amazon/suggest/{keyword}": {
+ "/chromewebstore/categories": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns Amazon's search-box autocomplete suggestions for a keyword prefix on `amazon.com`, as a plain list of suggested search phrases such as `apple watch bands`.",
- "operationId": "amazon-suggest",
- "parameters": [
- {
- "description": "Suggestion prefix",
- "in": "path",
- "name": "keyword",
- "required": true,
- "type": "string",
- "x-example": "apple"
- }
- ],
+ "description": "Returns the reference taxonomy for the list endpoints: extension category groups and their subcategory slugs, the top-chart identifiers, and known curated collection slugs.",
+ "operationId": "chromewebstore-categories",
"produces": [
"application/json"
],
@@ -279030,25 +349580,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/amazon.suggestResponseDoc"
- }
- },
- "400": {
- "description": "Bad Request",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
- "429": {
- "description": "Too Many Requests",
- "schema": {
- "$ref": "#/definitions/app.Response"
+ "$ref": "#/definitions/chromewebstore.categoriesResponseDoc"
}
},
"500": {
@@ -279056,12 +349588,6 @@
"schema": {
"$ref": "#/definitions/app.Response"
}
- },
- "503": {
- "description": "Service Unavailable",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
}
},
"security": [
@@ -279069,24 +349595,48 @@
"ApiKeyAuth": []
}
],
- "summary": "Retrieve Amazon search suggestions",
+ "summary": "List Chrome Web Store categories and collections",
"tags": [
- "Amazon"
+ "ChromeWebStore"
]
}
},
- "/androidauthority/article": {
+ "/chromewebstore/category": {
"get": {
- "description": "Returns an Android Authority article by `url`, a canonical `androidauthority.com` address whose path is one slug ending in the numeric post id: title, description, publication and update times, section, authors, image and body `paragraphs`, with TL;DR and pros/cons bullets as separate entries. Section, tag and author pages are rejected, and an unknown post id returns not-found.",
- "operationId": "androidauthority-article",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the item cards listed under an extensions category slug (e.g. `productivity/tools`, `lifestyle/shopping`, `make_chrome_yours/privacy`). Use /chromewebstore/categories for the reference taxonomy. Defaults: `num=50`, `country=us`, `lang=en`.",
+ "operationId": "chromewebstore-category",
"parameters": [
{
- "description": "Canonical Android Authority article URL",
+ "description": "Category slug under extensions",
"in": "query",
- "name": "url",
+ "name": "category",
"required": true,
"type": "string",
- "x-example": "https://www.androidauthority.com/gemini-live-avatar-3715280/"
+ "x-example": "productivity/tools"
+ },
+ {
+ "description": "Maximum number of items",
+ "in": "query",
+ "name": "num",
+ "type": "integer",
+ "x-example": 50
+ },
+ {
+ "description": "Two-letter storefront country code",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "us"
+ },
+ {
+ "description": "Two-letter language code",
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en"
}
],
"produces": [
@@ -279096,7 +349646,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.articleResponseDoc"
+ "$ref": "#/definitions/chromewebstore.listResponseDoc"
}
},
"400": {
@@ -279105,14 +349655,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -279123,70 +349673,52 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Android Authority article content",
+ "summary": "List items in a Chrome Web Store category",
"tags": [
- "Android Authority"
+ "ChromeWebStore"
]
}
},
- "/androidauthority/headlines": {
+ "/chromewebstore/charts": {
"get": {
- "description": "Returns the newest 10 to 20 stories from one Android Authority section hub. `section` is required and takes a slug such as `reviews`, `how-to`, `smartwatches` or `android-phones`. Each item has a title, URL, author and image; `summary` appears on the lead story of a hub, and `published_at` only on stories more than a day old.",
- "operationId": "androidauthority-headlines",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the item cards in a store top chart. `chart` accepts `trending`, `popular`, or `notable`. Defaults: `chart=popular`, `num=50`, `country=us`, `lang=en`.",
+ "operationId": "chromewebstore-charts",
"parameters": [
{
- "description": "Android Authority section slug",
+ "default": "popular",
+ "description": "Top chart to list",
"enum": [
- "news",
- "reviews",
- "best",
- "how-to",
- "features",
- "deals",
- "authority-insights",
- "audio",
- "computers-pc",
- "gaming",
- "technology",
- "mobile",
- "smart-home",
- "streaming-entertainment",
- "wearables",
- "earbuds-headphones",
- "chromebook",
- "mac",
- "pc-windows",
- "emulation",
- "handhelds",
- "mobile-games",
- "nintendo",
- "playstation",
- "xbox",
- "smart-devices",
- "smart-speakers",
- "virtual-assistants",
- "streaming-hardware",
- "ai",
- "mobility",
- "privacy-security",
- "vr-ar",
- "fitness-trackers",
- "smartwatches",
- "android-apps",
- "android-os",
- "android-phones",
- "android-tablets",
- "carriers-plans",
- "ios-apps",
- "iphone-ipad",
- "accessories",
- "mobile-technology"
+ "trending",
+ "popular",
+ "notable"
],
"in": "query",
- "name": "section",
- "required": true,
+ "name": "chart",
+ "type": "string"
+ },
+ {
+ "description": "Maximum number of items",
+ "in": "query",
+ "name": "num",
+ "type": "integer",
+ "x-example": 50
+ },
+ {
+ "description": "Two-letter storefront country code",
+ "in": "query",
+ "name": "country",
"type": "string",
- "x-example": "news"
+ "x-example": "us"
+ },
+ {
+ "description": "Two-letter language code",
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en"
}
],
"produces": [
@@ -279196,7 +349728,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.headlinesResponseDoc"
+ "$ref": "#/definitions/chromewebstore.listResponseDoc"
}
},
"400": {
@@ -279205,46 +349737,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- }
- },
- "security": [
- {
- "ApiKeyAuth": []
- }
- ],
- "summary": "Get Android Authority section headlines",
- "tags": [
- "Android Authority"
- ]
- }
- },
- "/androidauthority/news": {
- "get": {
- "description": "Returns about 80 of the latest Android Authority stories from across the site, newest first, with no input needed. Each has a title, canonical URL, standfirst `summary`, exact publication time, byline `author` and lead image. The headlines endpoint covers a single section.",
- "operationId": "androidauthority-news",
- "produces": [
- "application/json"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/publicnews.newsResponseDoc"
- }
- },
"429": {
"description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -279255,56 +349755,48 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Android Authority top stories",
+ "summary": "List a Chrome Web Store top chart",
"tags": [
- "Android Authority"
+ "ChromeWebStore"
]
}
},
- "/androidauthority/sections": {
+ "/chromewebstore/collection": {
"get": {
- "description": "Lists the 44 Android Authority sections that `androidauthority-headlines` accepts: the content-type hubs (`news`, `reviews`, `best`, `how-to`, `features`, `deals`, `authority-insights`), the top-level topic hubs and their sub-hubs. Each has a `slug`, display `name` and page `url`. Tag archives are not sections.",
- "operationId": "androidauthority-sections",
- "produces": [
+ "consumes": [
"application/json"
],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/publicnews.sectionsResponseDoc"
- }
- },
- "429": {
- "description": "Too Many Requests",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- }
- },
- "security": [
- {
- "ApiKeyAuth": []
- }
- ],
- "summary": "Get Android Authority sections",
- "tags": [
- "Android Authority"
- ]
- }
- },
- "/androidpolice/article": {
- "get": {
- "description": "Returns an Android Police article by `url`, a canonical address with a flat, single-slug path. The response has the title, authors, section, description, publication and update times, image and the readable body `paragraphs`.",
- "operationId": "androidpolice-article",
+ "description": "Returns the item cards in a curated store collection slug (e.g. `editors_picks_extensions`, `dark_mode`, `ai_productivity`). Use /chromewebstore/categories for known collection slugs. Defaults: `num=50`, `country=us`, `lang=en`.",
+ "operationId": "chromewebstore-collection",
"parameters": [
{
- "description": "Canonical Android Police article URL",
+ "description": "Curated collection slug",
"in": "query",
- "name": "url",
+ "name": "collection",
"required": true,
"type": "string",
- "x-example": "https://www.androidpolice.com/i-thought-my-galaxy-phone-was-slowing-down-until-disabled-this-setting/"
+ "x-example": "editors_picks_extensions"
+ },
+ {
+ "description": "Maximum number of items",
+ "in": "query",
+ "name": "num",
+ "type": "integer",
+ "x-example": 50
+ },
+ {
+ "description": "Two-letter storefront country code",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "us"
+ },
+ {
+ "description": "Two-letter language code",
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en"
}
],
"produces": [
@@ -279314,7 +349806,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.articleResponseDoc"
+ "$ref": "#/definitions/chromewebstore.listResponseDoc"
}
},
"400": {
@@ -279323,14 +349815,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -279341,24 +349833,48 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Android Police article content",
+ "summary": "List items in a curated Chrome Web Store collection",
"tags": [
- "Android Police"
+ "ChromeWebStore"
]
}
},
- "/androidpolice/author": {
+ "/chromewebstore/developer": {
"get": {
- "description": "Returns a public author's byline metadata, biography, social links, and recent articles from a canonical author URL. Only the first page is covered.",
- "operationId": "androidpolice-author",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns a Chrome Web Store publisher (developer) by publisher id, including the disclosed trader details — legal name, email, phone, address, website, and D-U-N-S number — plus the publisher's listed items (\"More from ...\"). Trader fields are only present for publishers that identify as EU traders. Defaults: `num=50`, `country=us`, `lang=en`.",
+ "operationId": "chromewebstore-developer",
"parameters": [
{
- "description": "Canonical Android Police author URL",
+ "description": "Chrome Web Store publisher id (u + 32 hex chars)",
"in": "query",
- "name": "url",
+ "name": "id",
"required": true,
"type": "string",
- "x-example": "https://www.androidpolice.com/author/jade-bryan-jardinico/"
+ "x-example": "u63f06aecfdc45d32c13ccc24f56c3d2d"
+ },
+ {
+ "description": "Maximum number of items",
+ "in": "query",
+ "name": "num",
+ "type": "integer",
+ "x-example": 50
+ },
+ {
+ "description": "Two-letter storefront country code",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "us"
+ },
+ {
+ "description": "Two-letter language code",
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en"
}
],
"produces": [
@@ -279368,7 +349884,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.androidpoliceAuthorResponseDoc"
+ "$ref": "#/definitions/chromewebstore.developerResponseDoc"
}
},
"400": {
@@ -279383,8 +349899,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -279395,44 +349917,41 @@
"ApiKeyAuth": []
}
],
- "summary": "Get an Android Police author profile",
+ "summary": "Retrieve a Chrome Web Store publisher and their items",
"tags": [
- "Android Police"
+ "ChromeWebStore"
]
}
},
- "/androidpolice/headlines": {
+ "/chromewebstore/item": {
"get": {
- "description": "Returns recent Android Police headlines for one of 18 sections. `section` is required and takes a slug such as `news`, `phones`, `smart-home`, `ai-machine-learning` or `deals`. Each item has a title and URL, and may also carry a summary, author, publication time and image.",
- "operationId": "androidpolice-headlines",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns detail for a Chrome Web Store extension or theme, including name, rating, rating count, user count, version, last-updated date, size, supported languages, developer, category, screenshots, and privacy links. Defaults: `country=us`, `lang=en`.",
+ "operationId": "chromewebstore-item",
"parameters": [
{
- "description": "Android Police section slug",
- "enum": [
- "news",
- "phones",
- "tablets",
- "gadgets",
- "accessories",
- "apps",
- "entertainment",
- "productivity",
- "utilities",
- "ai-machine-learning",
- "operating-systems",
- "wearables",
- "smart-home",
- "smart-tv",
- "carriers",
- "deals",
- "videos",
- "awards"
- ],
+ "description": "Chrome Web Store item id (32-character extension/theme id)",
"in": "query",
- "name": "section",
+ "name": "id",
"required": true,
"type": "string",
- "x-example": "news"
+ "x-example": "cjpalhdlnbpafiamejdnhcphjbkeiagm"
+ },
+ {
+ "description": "Two-letter storefront country code",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "us"
+ },
+ {
+ "description": "Two-letter language code",
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en"
}
],
"produces": [
@@ -279442,7 +349961,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.headlinesResponseDoc"
+ "$ref": "#/definitions/chromewebstore.itemResponseDoc"
}
},
"400": {
@@ -279451,14 +349970,20 @@
"$ref": "#/definitions/app.Response"
}
},
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
"429": {
"description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -279469,16 +349994,43 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Android Police section headlines",
+ "summary": "Retrieve Chrome Web Store item details",
"tags": [
- "Android Police"
+ "ChromeWebStore"
]
}
},
- "/androidpolice/news": {
+ "/chromewebstore/permissions": {
"get": {
- "description": "Returns the current Android Police top stories across the site, with no input needed. Each item has a title and URL, and may also carry the author, publication time, summary and image.",
- "operationId": "androidpolice-news",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns the permissions a Chrome Web Store extension declares in its manifest: `permissions`, `optional_permissions`, `host_permissions`, `optional_host_permissions`, plus `manifest_version` and `min_browser_version`. Useful for security and supply-chain review. Defaults: `country=us`, `lang=en`.",
+ "operationId": "chromewebstore-permissions",
+ "parameters": [
+ {
+ "description": "Chrome Web Store item id (32-character extension id)",
+ "in": "query",
+ "name": "id",
+ "required": true,
+ "type": "string",
+ "x-example": "cjpalhdlnbpafiamejdnhcphjbkeiagm"
+ },
+ {
+ "description": "Two-letter storefront country code",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "us"
+ },
+ {
+ "description": "Two-letter language code",
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en"
+ }
+ ],
"produces": [
"application/json"
],
@@ -279486,52 +350038,32 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.newsResponseDoc"
+ "$ref": "#/definitions/chromewebstore.permissionsResponseDoc"
}
},
- "429": {
- "description": "Too Many Requests",
+ "400": {
+ "description": "Bad Request",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "404": {
+ "description": "Not Found",
"schema": {
"$ref": "#/definitions/app.Response"
}
- }
- },
- "security": [
- {
- "ApiKeyAuth": []
- }
- ],
- "summary": "Get Android Police top stories",
- "tags": [
- "Android Police"
- ]
- }
- },
- "/androidpolice/sections": {
- "get": {
- "description": "Lists the 18 feed-backed sections in Android Police's primary navigation, from `news`, `phones` and `tablets` to `deals`, `videos` and `awards`. Each entry has a `slug`, a display `name` and the feed `url`, and the slugs are accepted by `androidpolice-headlines`.",
- "operationId": "androidpolice-sections",
- "produces": [
- "application/json"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/publicnews.sectionsResponseDoc"
- }
},
"429": {
"description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
}
},
"security": [
@@ -279539,31 +350071,41 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Android Police sections",
+ "summary": "Retrieve a Chrome Web Store item's declared permissions",
"tags": [
- "Android Police"
+ "ChromeWebStore"
]
}
},
- "/anime/airing-schedule": {
+ "/chromewebstore/privacy": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns upcoming anime episode broadcasts (episode number, air time, countdown, and the title), soonest first, paginated.",
- "operationId": "anime-airing-schedule",
+ "description": "Returns an extension's privacy disclosures as the store renders them: the developer's data-use statement, whether it collects data, the standard data-handling declarations, and the privacy-policy link. Defaults: `country=us`, `lang=en`.",
+ "operationId": "chromewebstore-privacy",
"parameters": [
{
- "description": "1-based page number, default 1",
+ "description": "Chrome Web Store item id (32-character extension/theme id)",
"in": "query",
- "name": "page",
- "type": "integer"
+ "name": "id",
+ "required": true,
+ "type": "string",
+ "x-example": "cjpalhdlnbpafiamejdnhcphjbkeiagm"
},
{
- "description": "Results per page, default 20, max 50",
+ "description": "Two-letter storefront country code",
"in": "query",
- "name": "per_page",
- "type": "integer"
+ "name": "country",
+ "type": "string",
+ "x-example": "us"
+ },
+ {
+ "description": "Two-letter language code",
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en"
}
],
"produces": [
@@ -279573,7 +350115,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/anime.airingScheduleResponseDoc"
+ "$ref": "#/definitions/chromewebstore.privacyResponseDoc"
}
},
"400": {
@@ -279582,14 +350124,20 @@
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "404": {
+ "description": "Not Found",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -279600,39 +350148,59 @@
"ApiKeyAuth": []
}
],
- "summary": "Upcoming anime airing schedule",
+ "summary": "Retrieve a Chrome Web Store item's privacy disclosures",
"tags": [
- "Anime"
+ "ChromeWebStore"
]
}
},
- "/anime/character/search": {
+ "/chromewebstore/reviews": {
"get": {
"consumes": [
"application/json"
],
- "description": "Searches anime and manga characters by name. Returns character summaries (name, native name, image, favourites), paginated.",
- "operationId": "anime-character-search",
+ "description": "Returns the reviews the store renders on an item's reviews page, each with author, star rating, text, posted/edited dates and reviewed version. Defaults: `num=20`, `country=us`, `lang=en`.",
+ "operationId": "chromewebstore-reviews",
"parameters": [
{
- "description": "Search text",
+ "description": "Chrome Web Store item id (32-character extension/theme id)",
"in": "query",
- "name": "query",
+ "name": "id",
"required": true,
"type": "string",
- "x-example": "Frieren"
+ "x-example": "cjpalhdlnbpafiamejdnhcphjbkeiagm"
},
{
- "description": "1-based page number, default 1",
+ "description": "Maximum number of reviews",
"in": "query",
- "name": "page",
- "type": "integer"
+ "name": "num",
+ "type": "integer",
+ "x-example": 100
},
{
- "description": "Results per page, default 10, max 50",
+ "default": "recent",
+ "description": "Review sort order",
+ "enum": [
+ "recent",
+ "helpful"
+ ],
"in": "query",
- "name": "per_page",
- "type": "integer"
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Two-letter storefront country code",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "us"
+ },
+ {
+ "description": "Two-letter language code",
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en"
}
],
"produces": [
@@ -279642,7 +350210,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/anime.characterSearchResponseDoc"
+ "$ref": "#/definitions/chromewebstore.reviewsResponseDoc"
}
},
"400": {
@@ -279651,14 +350219,20 @@
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "404": {
+ "description": "Not Found",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -279669,27 +350243,48 @@
"ApiKeyAuth": []
}
],
- "summary": "Search anime & manga characters",
+ "summary": "Retrieve Chrome Web Store item reviews",
"tags": [
- "Anime"
+ "ChromeWebStore"
]
}
},
- "/anime/character/{id}": {
+ "/chromewebstore/search": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns a character profile by AniList id: names, image, description, gender, age, blood type, birthday, favourites, and the titles the character appears in with their billed role.",
- "operationId": "anime-character",
+ "description": "Returns Chrome Web Store search result cards for a keyword, each with id, name, rating, user count, publisher and detail URL. Defaults: `num=30`, `country=us`, `lang=en`.",
+ "operationId": "chromewebstore-search",
"parameters": [
{
- "description": "AniList character id",
- "in": "path",
- "name": "id",
+ "description": "Search keyword",
+ "in": "query",
+ "name": "term",
"required": true,
"type": "string",
- "x-example": "176754"
+ "x-example": "vpn"
+ },
+ {
+ "description": "Maximum number of results",
+ "in": "query",
+ "name": "num",
+ "type": "integer",
+ "x-example": 30
+ },
+ {
+ "description": "Two-letter storefront country code",
+ "in": "query",
+ "name": "country",
+ "type": "string",
+ "x-example": "us"
+ },
+ {
+ "description": "Two-letter language code",
+ "in": "query",
+ "name": "lang",
+ "type": "string",
+ "x-example": "en"
}
],
"produces": [
@@ -279699,7 +350294,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/anime.characterResponseDoc"
+ "$ref": "#/definitions/chromewebstore.searchResponseDoc"
}
},
"400": {
@@ -279708,8 +350303,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -279719,12 +350314,6 @@
"schema": {
"$ref": "#/definitions/app.Response"
}
- },
- "503": {
- "description": "Service Unavailable",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
}
},
"security": [
@@ -279732,97 +350321,41 @@
"ApiKeyAuth": []
}
],
- "summary": "Get an anime/manga character",
+ "summary": "Search Chrome Web Store items",
"tags": [
- "Anime"
+ "ChromeWebStore"
]
}
},
- "/anime/rankings": {
+ "/chromewebstore/similar": {
"get": {
"consumes": [
"application/json"
],
- "description": "Ranks anime by `sort` (default `TRENDING_DESC`, or `POPULARITY_DESC`, `SCORE_DESC`, `FAVOURITES_DESC`, `START_DATE_DESC`, `UPDATED_AT_DESC`). Filter by `season`, `season_year` (1940 to 2100), `format`, `genre` and `status`. Paged with `page` and `per_page` (default 20, max 50); results carry titles, scores, popularity, episodes, studios and tags.",
- "operationId": "anime-rankings",
+ "description": "Returns the related-items shelf shown on a Chrome Web Store item's page. `id` is the required 32-character item id; `country` and `lang` default to `us` and `en`. Each card has name, publisher, category, rating, rating count, users, summary, icon and URL. An unknown or removed id returns 404.",
+ "operationId": "chromewebstore-similar",
"parameters": [
{
- "description": "Order: TRENDING_DESC, POPULARITY_DESC, SCORE_DESC, FAVOURITES_DESC, START_DATE_DESC, UPDATED_AT_DESC. Default TRENDING_DESC.",
- "enum": [
- "TRENDING_DESC",
- "POPULARITY_DESC",
- "SCORE_DESC",
- "FAVOURITES_DESC",
- "START_DATE_DESC",
- "UPDATED_AT_DESC"
- ],
- "in": "query",
- "name": "sort",
- "type": "string"
- },
- {
- "description": "Airing season filter: WINTER, SPRING, SUMMER, FALL.",
- "enum": [
- "WINTER",
- "SPRING",
- "SUMMER",
- "FALL"
- ],
- "in": "query",
- "name": "season",
- "type": "string"
- },
- {
- "description": "Airing year filter, 1940-2100.",
- "in": "query",
- "name": "season_year",
- "type": "integer"
- },
- {
- "description": "Format filter: TV, TV_SHORT, MOVIE, SPECIAL, OVA, ONA, MUSIC.",
- "enum": [
- "TV",
- "TV_SHORT",
- "MOVIE",
- "SPECIAL",
- "OVA",
- "ONA",
- "MUSIC"
- ],
- "in": "query",
- "name": "format",
- "type": "string"
- },
- {
- "description": "Genre filter, e.g. Fantasy.",
- "in": "query",
- "name": "genre",
- "type": "string"
- },
- {
- "description": "Status filter: FINISHED, RELEASING, NOT_YET_RELEASED, CANCELLED, HIATUS.",
- "enum": [
- "FINISHED",
- "RELEASING",
- "NOT_YET_RELEASED",
- "CANCELLED",
- "HIATUS"
- ],
+ "description": "Chrome Web Store item id (32-character extension/theme id)",
"in": "query",
- "name": "status",
- "type": "string"
+ "name": "id",
+ "required": true,
+ "type": "string",
+ "x-example": "cjpalhdlnbpafiamejdnhcphjbkeiagm"
},
{
- "description": "1-based page number, default 1",
+ "description": "Two-letter storefront country code",
"in": "query",
- "name": "page",
- "type": "integer"
+ "name": "country",
+ "type": "string",
+ "x-example": "us"
},
{
- "description": "Results per page, default 20, max 50",
+ "description": "Two-letter language code",
"in": "query",
- "name": "per_page",
- "type": "integer"
+ "name": "lang",
+ "type": "string",
+ "x-example": "en"
}
],
"produces": [
@@ -279832,7 +350365,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/anime.rankingsResponseDoc"
+ "$ref": "#/definitions/chromewebstore.similarResponseDoc"
}
},
"400": {
@@ -279841,14 +350374,20 @@
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "404": {
+ "description": "Not Found",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -279859,53 +350398,48 @@
"ApiKeyAuth": []
}
],
- "summary": "Rank anime",
+ "summary": "Retrieve related Chrome Web Store items",
"tags": [
- "Anime"
+ "ChromeWebStore"
]
}
},
- "/anime/search": {
+ "/chromewebstore/suggest": {
"get": {
"consumes": [
"application/json"
],
- "description": "Searches anime by free-text query. Returns entries: titles, scores, popularity, format, status, season, genres, tags, and studios.",
- "operationId": "anime-search",
+ "description": "Returns search-term suggestions for a Chrome Web Store prefix given in `term`, up to `num` (default 8), with `country` and `lang` defaulting to `us` and `en`. Suggestions are the distinct item names of the top store-search results for that prefix, each returned as a `term`.",
+ "operationId": "chromewebstore-suggest",
"parameters": [
{
- "description": "Search text",
+ "description": "Search prefix to autocomplete",
"in": "query",
- "name": "query",
+ "name": "term",
"required": true,
"type": "string",
- "x-example": "Frieren"
+ "x-example": "ad blo"
},
{
- "description": "Ordering: SEARCH_MATCH, POPULARITY_DESC, SCORE_DESC, TRENDING_DESC, FAVOURITES_DESC, START_DATE_DESC. Default SEARCH_MATCH.",
- "enum": [
- "SEARCH_MATCH",
- "POPULARITY_DESC",
- "SCORE_DESC",
- "TRENDING_DESC",
- "FAVOURITES_DESC",
- "START_DATE_DESC"
- ],
+ "description": "Maximum number of suggestions",
"in": "query",
- "name": "sort",
- "type": "string"
+ "name": "num",
+ "type": "integer",
+ "x-example": 8
},
{
- "description": "1-based page number, default 1",
+ "description": "Two-letter storefront country code",
"in": "query",
- "name": "page",
- "type": "integer"
+ "name": "country",
+ "type": "string",
+ "x-example": "us"
},
{
- "description": "Results per page, default 10, max 50",
+ "description": "Two-letter language code",
"in": "query",
- "name": "per_page",
- "type": "integer"
+ "name": "lang",
+ "type": "string",
+ "x-example": "en"
}
],
"produces": [
@@ -279915,7 +350449,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/anime.searchResponseDoc"
+ "$ref": "#/definitions/chromewebstore.suggestResponseDoc"
}
},
"400": {
@@ -279924,14 +350458,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -279942,33 +350476,27 @@
"ApiKeyAuth": []
}
],
- "summary": "Search anime",
+ "summary": "Suggest Chrome Web Store search terms",
"tags": [
- "Anime"
+ "ChromeWebStore"
]
}
},
- "/anime/title/{id}": {
+ "/chrono24/autocomplete": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns an anime by AniList id: titles (romaji/english/native), MyAnimeList id, scores, popularity, favourites, format, status, season, episodes, duration, genres, ranked tags, studios, dates, description, images, and next-airing countdown. Pass mal=true to additionally enrich the response with the MyAnimeList community score (mal block: score on a 0-10 scale, plus scored-by count).",
- "operationId": "anime-title",
+ "description": "Fetches Chrono24's own search-box typeahead suggestions for a partial query: each suggested phrase with its own live result count, plus the Chrono24 search URL it resolves to. Useful for building a search box against chrono24-search without guessing a full query.",
+ "operationId": "chrono24-autocomplete",
"parameters": [
{
- "description": "AniList anime id",
- "in": "path",
- "name": "id",
+ "description": "Partial search text, e.g. \\",
+ "in": "query",
+ "name": "query",
"required": true,
"type": "string",
- "x-example": "154587"
- },
- {
- "description": "Enrich with the MyAnimeList community score (adds one fetch; omitted when the title has no MAL id)",
- "in": "query",
- "name": "mal",
- "type": "boolean"
+ "x-example": "submar"
}
],
"produces": [
@@ -279978,7 +350506,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/anime.mediaResponseDoc"
+ "$ref": "#/definitions/chrono24.autocompleteResponseDoc"
}
},
"400": {
@@ -279987,12 +350515,6 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"500": {
"description": "Internal Server Error",
"schema": {
@@ -280011,41 +350533,19 @@
"ApiKeyAuth": []
}
],
- "summary": "Get an anime",
+ "summary": "Get Chrono24 search-box suggestions",
"tags": [
- "Anime"
+ "Chrono24"
]
}
},
- "/anime/title/{id}/characters": {
+ "/chrono24/brands": {
"get": {
"consumes": [
"application/json"
],
- "description": "Lists the cast of an anime by its AniList anime `id`, sorted by billed role. Each character has `name`, `native_name`, `role` (such as `MAIN` or `SUPPORTING`), `image`, `favourites` and `site_url`. Paged with `page` (default 1) and `per_page` (default 10, max 50), with `total` and `has_next_page`.",
- "operationId": "anime-title-characters",
- "parameters": [
- {
- "description": "AniList anime id",
- "in": "path",
- "name": "id",
- "required": true,
- "type": "string",
- "x-example": "154587"
- },
- {
- "description": "1-based page number, default 1",
- "in": "query",
- "name": "page",
- "type": "integer"
- },
- {
- "description": "Results per page, default 10, max 50",
- "in": "query",
- "name": "per_page",
- "type": "integer"
- }
- ],
+ "description": "Returns Chrono24's full watch-brand index: every brand name and the slug identifying it, usable as the brand parameter on chrono24-models and chrono24-search. This is the discovery endpoint for that parameter, so every accepted value is obtainable from this API rather than by reading the website.",
+ "operationId": "chrono24-brands",
"produces": [
"application/json"
],
@@ -280053,19 +350553,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/anime.charactersResponseDoc"
- }
- },
- "400": {
- "description": "Bad Request",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
+ "$ref": "#/definitions/chrono24.brandsResponseDoc"
}
},
"500": {
@@ -280086,39 +350574,27 @@
"ApiKeyAuth": []
}
],
- "summary": "List an anime's characters",
+ "summary": "List Chrono24 watch brands",
"tags": [
- "Anime"
+ "Chrono24"
]
}
},
- "/anime/title/{id}/recommendations": {
+ "/chrono24/dealer": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns community-recommended titles for an anime, each with a recommendation rating and the full media entry, paginated.",
- "operationId": "anime-title-recommendations",
+ "description": "Fetches one Chrono24 dealer/seller's public storefront page: business description, trust badge, average buyer rating and review count, lifetime watches-sold count, and their current listed inventory in the same shape chrono24-search returns. slug is found in a chrono24-search or chrono24-listing result's seller link; there is no separate dealer-discovery endpoint since dealer slugs are not a closed set Chrono24 publishes an index of.",
+ "operationId": "chrono24-dealer",
"parameters": [
{
- "description": "AniList anime id",
- "in": "path",
- "name": "id",
+ "description": "Dealer slug from a listing's seller link",
+ "in": "query",
+ "name": "slug",
"required": true,
"type": "string",
- "x-example": "154587"
- },
- {
- "description": "1-based page number, default 1",
- "in": "query",
- "name": "page",
- "type": "integer"
- },
- {
- "description": "Results per page, default 10, max 50",
- "in": "query",
- "name": "per_page",
- "type": "integer"
+ "x-example": "thetimelords"
}
],
"produces": [
@@ -280128,7 +350604,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/anime.recommendationsResponseDoc"
+ "$ref": "#/definitions/chrono24.dealerResponseDoc"
}
},
"400": {
@@ -280161,39 +350637,66 @@
"ApiKeyAuth": []
}
],
- "summary": "List an anime's recommendations",
+ "summary": "Get a Chrono24 dealer's storefront",
"tags": [
- "Anime"
+ "Chrono24"
]
}
},
- "/anime/title/{id}/staff": {
+ "/chrono24/dealer/reviews": {
"get": {
"consumes": [
"application/json"
],
- "description": "Lists the people credited on an anime by its AniList anime `id`. Each person has `name`, `native_name`, `role` (their production role), `occupations`, `image` and `site_url`. Paged with `page` (default 1) and `per_page` (default 10, max 50), with `total` and `has_next_page`.",
- "operationId": "anime-title-staff",
+ "description": "Fetches one page of a Chrono24 dealer/seller's buyer reviews: reviewer name and country, review date, star-rating breakdown (shipping/description/communication), whether the buyer recommends the seller, their free-text comment, and the dealer's own reply when present. slug is the same dealer slug chrono24-dealer takes.",
+ "operationId": "chrono24-dealer-reviews",
"parameters": [
{
- "description": "AniList anime id",
- "in": "path",
- "name": "id",
+ "description": "Dealer slug from a listing's seller link",
+ "in": "query",
+ "name": "slug",
"required": true,
"type": "string",
- "x-example": "154587"
+ "x-example": "thetimelords"
},
{
- "description": "1-based page number, default 1",
+ "default": 1,
+ "description": "One-based result page",
"in": "query",
+ "minimum": 1,
"name": "page",
"type": "integer"
},
{
- "description": "Results per page, default 10, max 50",
+ "default": 10,
+ "description": "Reviews per page, 1-50",
"in": "query",
- "name": "per_page",
+ "maximum": 50,
+ "minimum": 1,
+ "name": "page_size",
"type": "integer"
+ },
+ {
+ "default": 0,
+ "description": "Keep only reviews rating the dealer at least this many stars, 0-5. 0 returns every review",
+ "in": "query",
+ "maximum": 5,
+ "minimum": 0,
+ "name": "min_stars",
+ "type": "integer"
+ },
+ {
+ "default": "relevance",
+ "description": "Result order. One of: relevance, newest, with_recommendation, without_recommendation",
+ "enum": [
+ "relevance",
+ "newest",
+ "with_recommendation",
+ "without_recommendation"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
}
],
"produces": [
@@ -280203,7 +350706,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/anime.staffResponseDoc"
+ "$ref": "#/definitions/chrono24.dealerReviewsResponseDoc"
}
},
"400": {
@@ -280236,30 +350739,38 @@
"ApiKeyAuth": []
}
],
- "summary": "List an anime's staff",
+ "summary": "Get a Chrono24 dealer's buyer reviews",
"tags": [
- "Anime"
+ "Chrono24"
]
}
},
- "/apk-teardown/compare-ownership": {
+ "/chrono24/facets": {
"get": {
- "description": "Compares two DIFFERENT completed jobs (not versions of the same app) for signals of common ownership -- shared signing certificate, SDK/analytics identifiers, and more.",
- "operationId": "apkTeardownCompareOwnership",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Fetches every value Chrono24 accepts for one of chrono24-search's advanced-search filter params, each with its own live listing count: the discovery endpoint for condition, used_or_new, case_material, dial_color, bracelet_material, movement_type, gender, watch_type and stock_info.",
+ "operationId": "chrono24-facets",
"parameters": [
{
- "description": "First completed job ID; copy data.job_id returned by POST /apk-teardown/jobs",
- "in": "query",
- "name": "job_id_a",
- "required": true,
- "type": "string"
- },
- {
- "description": "Second completed job ID; copy data.job_id returned by another POST /apk-teardown/jobs",
+ "description": "Filter to list values for",
+ "enum": [
+ "condition",
+ "usedOrNew",
+ "caseMaterial",
+ "dialColor",
+ "braceletMaterial",
+ "movementType",
+ "gender",
+ "watchType",
+ "stockInfo"
+ ],
"in": "query",
- "name": "job_id_b",
+ "name": "group",
"required": true,
- "type": "string"
+ "type": "string",
+ "x-example": "condition"
}
],
"produces": [
@@ -280269,59 +350780,23 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/apkteardown.CompareOwnershipResponseDoc"
+ "$ref": "#/definitions/chrono24.facetsResponseDoc"
}
},
"400": {
- "description": "Missing job ids, or one/both jobs not found or not done",
+ "description": "Bad Request",
"schema": {
"$ref": "#/definitions/app.Response"
}
- }
- },
- "security": [
- {
- "ApiKeyAuth": []
- }
- ],
- "summary": "Compare two apk-teardown jobs for evidence of common ownership",
- "tags": [
- "AppInsights"
- ]
- }
- },
- "/apk-teardown/diff": {
- "get": {
- "description": "Compares two already-completed jobs -- typically two versions of the same app -- and returns what changed (permissions, signing, SDKs, size, and more).",
- "operationId": "apkTeardownDiff",
- "parameters": [
- {
- "description": "First completed job ID; copy data.job_id returned by POST /apk-teardown/jobs",
- "in": "query",
- "name": "job_id_a",
- "required": true,
- "type": "string"
},
- {
- "description": "Second completed job ID; copy data.job_id returned by another POST /apk-teardown/jobs",
- "in": "query",
- "name": "job_id_b",
- "required": true,
- "type": "string"
- }
- ],
- "produces": [
- "application/json"
- ],
- "responses": {
- "200": {
- "description": "OK",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
- "$ref": "#/definitions/apkteardown.DiffResponseDoc"
+ "$ref": "#/definitions/app.Response"
}
},
- "400": {
- "description": "Missing job ids, or one/both jobs not found or not done",
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -280332,43 +350807,27 @@
"ApiKeyAuth": []
}
],
- "summary": "Diff two completed apk-teardown jobs",
+ "summary": "Get a Chrono24 search filter's accepted values",
"tags": [
- "AppInsights"
+ "Chrono24"
]
}
},
- "/apk-teardown/jobs": {
- "post": {
+ "/chrono24/listing": {
+ "get": {
"consumes": [
- "multipart/form-data"
+ "application/json"
],
- "description": "Uploads a single .apk/.xapk file (up to 400MB), or set file_url to have the server fetch it from an https:// URL instead -- exactly one of \"file\" or \"file_url\" must be given, not both. Enqueues a Tier 1 static-analysis job -- manifest, permissions, signing, SDK detection, tech stack, locales, and more. Poll the returned poll_path for the result, or set webhook_url for push delivery. Identical uploads (by sha256) within 48h return the existing job instead of re-running analysis. file_url is validated (https only, must resolve to a public address -- no loopback/private/link-local targets) and every redirect hop is re-validated the same way before being followed.",
- "operationId": "apkTeardownSubmit",
+ "description": "Fetches one Chrono24 listing's full detail page: brand, model, reference number, price with currency and negotiability, condition, year of production, movement, case material and diameter, bracelet material, location, availability, seller type, photos, and the complete raw spec table Chrono24 itself shows (grouped by section: Basic Info, Caliber, Case, Bracelet/strap, Functions). path is the listing URL from a chrono24-search result's url field; Chrono24 has no lookup by numeric id alone.",
+ "operationId": "chrono24-listing",
"parameters": [
{
- "description": "APK or XAPK/APKS/APKM bundle file -- mutually exclusive with file_url",
- "in": "formData",
- "name": "file",
- "type": "file"
- },
- {
- "description": "https:// URL to fetch the APK/bundle from server-side -- mutually exclusive with file",
- "in": "formData",
- "name": "file_url",
- "type": "string"
- },
- {
- "description": "Declared filename for a file_url submission (must end .apk/.xapk/.apks/.apkm). Defaults to the URL path's basename when omitted.",
- "in": "formData",
- "name": "file_name",
- "type": "string"
- },
- {
- "description": "Optional URL to receive a webhook POST when the job reaches a terminal state",
- "in": "formData",
- "name": "webhook_url",
- "type": "string"
+ "description": "Listing URL or path from a chrono24-search result's url field",
+ "in": "query",
+ "name": "path",
+ "required": true,
+ "type": "string",
+ "x-example": "https://www.chrono24.com/rolex/datejust-36--id40700313.htm"
}
],
"produces": [
@@ -280378,29 +350837,29 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/apkteardown.JobSubmitResponseDoc"
+ "$ref": "#/definitions/chrono24.listingResponseDoc"
}
},
"400": {
- "description": "Missing/invalid file or file_url, oversized upload, or not a valid APK/ZIP",
+ "description": "Bad Request",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Too many apk-teardown jobs already in flight for this caller",
+ "404": {
+ "description": "Not Found",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"500": {
- "description": "Internal error submitting the job",
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "502": {
- "description": "file_url could not be fetched",
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -280411,23 +350870,27 @@
"ApiKeyAuth": []
}
],
- "summary": "Submit an APK for static teardown analysis",
+ "summary": "Get a Chrono24 watch listing's detail",
"tags": [
- "AppInsights"
+ "Chrono24"
]
}
},
- "/apk-teardown/jobs/{job_id}": {
- "delete": {
- "description": "Purges a job's metadata/result before its normal retention window expires. The uploaded binary is already gone by the time any job reaches a terminal state, so this only ever deletes job metadata, never a binary.",
- "operationId": "apkTeardownDeleteJob",
+ "/chrono24/models": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns every model/collection Chrono24 lists for one watch brand (e.g. Rolex Submariner, Rolex Datejust), each with the slug identifying it, usable as the model parameter on chrono24-search. This is the discovery endpoint for that parameter, so every accepted value for a brand is obtainable from this API rather than by reading the website.",
+ "operationId": "chrono24-models",
"parameters": [
{
- "description": "Caller-owned job ID from data.job_id returned by POST /apk-teardown/jobs",
- "in": "path",
- "name": "job_id",
+ "description": "Brand slug from chrono24-brands",
+ "in": "query",
+ "name": "brand",
"required": true,
- "type": "string"
+ "type": "string",
+ "x-example": "rolex"
}
],
"produces": [
@@ -280437,17 +350900,23 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/app.Response"
+ "$ref": "#/definitions/chrono24.modelsResponseDoc"
}
},
"400": {
- "description": "job_id is required",
+ "description": "Bad Request",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"500": {
- "description": "Internal error deleting the job",
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -280458,20 +350927,231 @@
"ApiKeyAuth": []
}
],
- "summary": "Delete an apk-teardown job",
+ "summary": "List Chrono24 models for a brand",
"tags": [
- "AppInsights"
+ "Chrono24"
]
- },
+ }
+ },
+ "/chrono24/search": {
"get": {
- "description": "Returns the current status (queued, processing, done, failed, or lost) of a submitted job, and its full result once done.",
- "operationId": "apkTeardownJobStatus",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Searches Chrono24's luxury-watch marketplace by free-text keyword, or browses one brand's (optionally narrowed to one model's) current listings, returning result cards: title, price with currency, seller type, seller country, promotional badge, image, and the listing URL to pass to chrono24-listing. At least one of query or brand is required. Optional advanced-search filters (condition, used_or_new, case_material, dial_color, bracelet_material, movement_type, gender, watch_type, stock_info) narrow results further; each filter's accepted values are discoverable from chrono24-facets and echoed back in the response's filters field.",
+ "operationId": "chrono24-search",
"parameters": [
{
- "description": "Job ID from data.job_id returned by POST /apk-teardown/jobs; the response also supplies poll_path",
- "in": "path",
- "name": "job_id",
- "required": true,
+ "description": "Free-text keyword search, e.g. \\",
+ "in": "query",
+ "name": "query",
+ "type": "string",
+ "x-example": "rolex submariner"
+ },
+ {
+ "description": "Brand slug from chrono24-brands. At least one of query or brand is required",
+ "in": "query",
+ "name": "brand",
+ "type": "string",
+ "x-example": "rolex"
+ },
+ {
+ "description": "Model slug from chrono24-models (requires brand)",
+ "in": "query",
+ "name": "model",
+ "type": "string",
+ "x-example": "submariner--mod1"
+ },
+ {
+ "default": "relevance",
+ "description": "Result order. One of: relevance, price_asc, price_desc, newest, popularity",
+ "enum": [
+ "relevance",
+ "price_asc",
+ "price_desc",
+ "newest",
+ "popularity"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "default": 1,
+ "description": "One-based result page",
+ "in": "query",
+ "minimum": 1,
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Results per page. Chrono24's own UI offers 30, 60 or 120; defaults to Chrono24's own default",
+ "in": "query",
+ "name": "page_size",
+ "type": "integer",
+ "x-example": 60
+ },
+ {
+ "description": "Advanced-search filter, values from chrono24-facets group=condition",
+ "enum": [
+ "new",
+ "like_new_unworn",
+ "very_good",
+ "good",
+ "fair",
+ "incomplete",
+ "no_details"
+ ],
+ "in": "query",
+ "name": "condition",
+ "type": "string"
+ },
+ {
+ "description": "Advanced-search filter, values from chrono24-facets group=usedOrNew",
+ "enum": [
+ "new",
+ "used",
+ "no_details"
+ ],
+ "in": "query",
+ "name": "used_or_new",
+ "type": "string"
+ },
+ {
+ "description": "Advanced-search filter, values from chrono24-facets group=caseMaterial",
+ "enum": [
+ "aluminum",
+ "brass",
+ "bronze",
+ "carbon",
+ "ceramic",
+ "gold_steel",
+ "gold_plated",
+ "palladium",
+ "plastic",
+ "platinum",
+ "rose_gold",
+ "sapphire_crystal",
+ "silver",
+ "steel",
+ "tantalum",
+ "titanium",
+ "tungsten",
+ "white_gold",
+ "yellow_gold",
+ "no_details"
+ ],
+ "in": "query",
+ "name": "case_material",
+ "type": "string"
+ },
+ {
+ "description": "Advanced-search filter, values from chrono24-facets group=dialColor",
+ "enum": [
+ "black",
+ "blue",
+ "bordeaux",
+ "bronze",
+ "brown",
+ "champagne",
+ "gold",
+ "green",
+ "grey",
+ "meteorite",
+ "mother_of_pearl",
+ "orange",
+ "pink",
+ "purple",
+ "red",
+ "silver",
+ "skeletonized",
+ "turquoise",
+ "white",
+ "yellow",
+ "no_details"
+ ],
+ "in": "query",
+ "name": "dial_color",
+ "type": "string"
+ },
+ {
+ "description": "Advanced-search filter, values from chrono24-facets group=braceletMaterial",
+ "enum": [
+ "alligator_skin",
+ "aluminium",
+ "brass",
+ "calf_skin",
+ "ceramic",
+ "crocodile_skin",
+ "gold_steel",
+ "gold_plated",
+ "leather",
+ "lizard_skin",
+ "ostrich_skin",
+ "plastic",
+ "platinum",
+ "red_gold",
+ "rose_gold",
+ "rubber",
+ "satin",
+ "shark_skin",
+ "silicon",
+ "silver",
+ "snake_skin",
+ "steel",
+ "textile",
+ "titanium",
+ "white_gold",
+ "yellow_gold",
+ "no_details"
+ ],
+ "in": "query",
+ "name": "bracelet_material",
+ "type": "string"
+ },
+ {
+ "description": "Advanced-search filter, values from chrono24-facets group=movementType",
+ "enum": [
+ "automatic",
+ "manual_winding",
+ "quartz",
+ "solar",
+ "smartwatch",
+ "no_details"
+ ],
+ "in": "query",
+ "name": "movement_type",
+ "type": "string"
+ },
+ {
+ "description": "Advanced-search filter, values from chrono24-facets group=gender",
+ "enum": [
+ "mens_unisex",
+ "womens"
+ ],
+ "in": "query",
+ "name": "gender",
+ "type": "string"
+ },
+ {
+ "description": "Advanced-search filter, values from chrono24-facets group=watchType",
+ "enum": [
+ "watches",
+ "parts_accessories"
+ ],
+ "in": "query",
+ "name": "watch_type",
+ "type": "string"
+ },
+ {
+ "description": "Advanced-search filter, values from chrono24-facets group=stockInfo",
+ "enum": [
+ "in_stock",
+ "on_order",
+ "on_request"
+ ],
+ "in": "query",
+ "name": "stock_info",
"type": "string"
}
],
@@ -280482,23 +351162,23 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/apkteardown.JobStatusResponseDoc"
+ "$ref": "#/definitions/chrono24.searchResponseDoc"
}
},
"400": {
- "description": "job_id is required",
+ "description": "Bad Request",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Job not found or expired",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal error reading the job",
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -280509,25 +351189,16 @@
"ApiKeyAuth": []
}
],
- "summary": "Poll an apk-teardown job's status/result",
+ "summary": "Search Chrono24 watch listings",
"tags": [
- "AppInsights"
+ "Chrono24"
]
}
},
- "/apk-teardown/timeline": {
+ "/clevelandcom/news": {
"get": {
- "description": "Compares 2+ completed jobs the caller asserts are versions of the same app and returns the consecutive pairwise diff for each version transition, sorted by version code.",
- "operationId": "apkTeardownTimeline",
- "parameters": [
- {
- "description": "Comma-separated list of 2+ completed job IDs copied from data.job_id values returned by POST /apk-teardown/jobs",
- "in": "query",
- "name": "job_ids",
- "required": true,
- "type": "string"
- }
- ],
+ "description": "Returns Cleveland.com's 50-item public top-stories RSS feed. Summaries and encoded content are publisher teasers; this endpoint does not claim to return full article text. Editorial section inventory and article pages could not be reliably verified due to upstream DataDome blocking.",
+ "operationId": "clevelandcom-news",
"produces": [
"application/json"
],
@@ -280535,11 +351206,17 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/apkteardown.TimelineResponseDoc"
+ "$ref": "#/definitions/publicnews.newsResponseDoc"
}
},
- "400": {
- "description": "Fewer than 2 job ids, or a job not found or not done",
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -280550,24 +351227,24 @@
"ApiKeyAuth": []
}
],
- "summary": "Build a version timeline across 2+ apk-teardown jobs",
+ "summary": "Get Cleveland.com top stories",
"tags": [
- "AppInsights"
+ "Cleveland.com"
]
}
},
- "/apnews/article": {
+ "/cna/article": {
"get": {
- "description": "Returns public AP News article metadata and body paragraphs. The service does not bypass authentication or access controls. Billing is 2 credits, or 10 credits when browser rendering is required.",
- "operationId": "apnews-article",
+ "description": "Returns a CNA (Channel NewsAsia) article by `url`, a canonical `channelnewsasia.com` address such as `/singapore/-` or `/commentary/-`: title, description, publication and update times, section, authors, image and the body `paragraphs`. No paywalled or gated content was found during validation.",
+ "operationId": "cna-article",
"parameters": [
{
- "description": "Canonical AP News article URL",
+ "description": "Canonical CNA article URL",
"in": "query",
"name": "url",
"required": true,
"type": "string",
- "x-example": "https://apnews.com/article/example-article-id"
+ "x-example": "https://www.channelnewsasia.com/singapore/national-arts-council-nac-seeks-operator-new-1000-seat-tanglin-theatre-6408051"
}
],
"produces": [
@@ -280604,24 +351281,30 @@
"ApiKeyAuth": []
}
],
- "summary": "Get AP News article content",
+ "summary": "Get CNA article content",
"tags": [
- "AP News"
+ "CNA"
]
}
},
- "/apnews/author": {
+ "/cna/author": {
"get": {
- "description": "Returns an AP News author's byline metadata, biography, and recent articles from a canonical author URL. The service does not bypass authentication or access controls. Billing is 1 credit, or 5 credits when browser rendering is required.",
- "operationId": "apnews-author",
+ "description": "Returns a CNA correspondent's or contributor's profile, identified by `slug` (such as `aqil-haziq-mahmud`) or a `channelnewsasia.com/author/` `url`; exactly one is required. The response has name, job title, bio, email, image and the latest page of bylined articles, each with title, URL and label. External Commentary contributors usually have only a name and articles.",
+ "operationId": "cna-author",
"parameters": [
{
- "description": "Canonical AP News author URL",
+ "description": "Author slug, e.g. aqil-haziq-mahmud",
+ "in": "query",
+ "name": "slug",
+ "type": "string",
+ "x-example": "aqil-haziq-mahmud"
+ },
+ {
+ "description": "Canonical channelnewsasia.com/author/ URL; alternative to slug",
"in": "query",
"name": "url",
- "required": true,
"type": "string",
- "x-example": "https://apnews.com/author/lauran-neergaard"
+ "x-example": "https://www.channelnewsasia.com/author/aqil-haziq-mahmud"
}
],
"produces": [
@@ -280631,7 +351314,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.apNewsAuthorResponseDoc"
+ "$ref": "#/definitions/publicnews.cnaAuthorResponseDoc"
}
},
"400": {
@@ -280658,75 +351341,31 @@
"ApiKeyAuth": []
}
],
- "summary": "Get an AP News author profile",
- "tags": [
- "AP News"
- ]
- }
- },
- "/apnews/fact-check": {
- "get": {
- "description": "Returns current headlines from AP News' public Fact Check page. The service does not bypass authentication or access controls. Billing is 1 credit, or 5 credits when browser rendering is required.",
- "operationId": "apnews-fact-check",
- "produces": [
- "application/json"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/publicnews.headlinesResponseDoc"
- }
- },
- "429": {
- "description": "Too Many Requests",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
- "503": {
- "description": "Service Unavailable",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- }
- },
- "security": [
- {
- "ApiKeyAuth": []
- }
- ],
- "summary": "Get AP News fact checks",
+ "summary": "Get a CNA author profile",
"tags": [
- "AP News"
+ "CNA"
]
}
},
- "/apnews/headlines": {
+ "/cna/headlines": {
"get": {
- "description": "Returns AP News headlines from a public editorial hub. The service does not bypass authentication or access controls. Billing is 1 credit, or 5 credits when browser rendering is required.",
- "operationId": "apnews-headlines",
+ "description": "Returns fresh CNA headlines for one section. `section` is required and is `asia`, `business`, `singapore`, `sport` or `world`. Each item has a title and URL, and may also carry a summary, author, publication time and image.",
+ "operationId": "cna-headlines",
"parameters": [
{
- "description": "AP News section slug",
+ "description": "CNA section slug",
"enum": [
- "ap-top-news",
- "us-news",
- "world-news",
- "politics",
+ "asia",
"business",
- "technology",
- "science",
- "health",
- "sports",
- "entertainment",
- "lifestyle"
+ "singapore",
+ "sport",
+ "world"
],
"in": "query",
"name": "section",
"required": true,
"type": "string",
- "x-example": "ap-top-news"
+ "x-example": "asia"
}
],
"produces": [
@@ -280745,12 +351384,6 @@
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Too Many Requests",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"503": {
"description": "Service Unavailable",
"schema": {
@@ -280763,16 +351396,16 @@
"ApiKeyAuth": []
}
],
- "summary": "Get AP News section headlines",
+ "summary": "Get CNA section headlines",
"tags": [
- "AP News"
+ "CNA"
]
}
},
- "/apnews/news": {
+ "/cna/news": {
"get": {
- "description": "Returns AP News top stories from the public AP News Top News hub. The service does not bypass authentication or access controls. Billing is 1 credit, or 5 credits when browser rendering is required.",
- "operationId": "apnews-news",
+ "description": "Returns the latest CNA (Channel NewsAsia) top stories, with no input needed. Each item has a title and canonical URL, and may also carry a summary, author, publication time and image.",
+ "operationId": "cna-news",
"produces": [
"application/json"
],
@@ -280783,12 +351416,6 @@
"$ref": "#/definitions/publicnews.newsResponseDoc"
}
},
- "429": {
- "description": "Too Many Requests",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"503": {
"description": "Service Unavailable",
"schema": {
@@ -280801,16 +351428,16 @@
"ApiKeyAuth": []
}
],
- "summary": "Get AP News top stories",
+ "summary": "Get CNA top stories",
"tags": [
- "AP News"
+ "CNA"
]
}
},
- "/apnews/sections": {
+ "/cna/sections": {
"get": {
- "description": "Lists the 11 AP News hubs accepted by `apnews-headlines`: `ap-top-news`, `us-news`, `world-news`, `politics`, `business`, `technology`, `science`, `health`, `sports`, `entertainment` and `lifestyle`. Each has a `slug`, display `name` and hub `url`. The Fact Check page is served by `apnews-fact-check` instead.",
- "operationId": "apnews-sections",
+ "description": "Lists the five CNA sections accepted by `cna-headlines`: `asia`, `business`, `singapore`, `sport` and `world`. Each has a `slug`, a display `name` and the feed `url`.",
+ "operationId": "cna-sections",
"produces": [
"application/json"
],
@@ -280827,41 +351454,24 @@
"ApiKeyAuth": []
}
],
- "summary": "Get AP News sections",
+ "summary": "Get CNA sections",
"tags": [
- "AP News"
+ "CNA"
]
}
},
- "/apple-books/audiobook-series/{id}": {
+ "/cnbc/article": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns series metadata and the full ordered list of audiobooks in the series from Apple Books' public catalog page. An audio-book-series is a catalog resource distinct from a book-series, even for the same conceptual series.",
- "operationId": "apple-books-audiobook-series",
+ "description": "Returns public CNBC article metadata and server-rendered body paragraphs. Provide a canonical dated cnbc.com article URL; account-gated content is not bypassed.",
+ "operationId": "cnbc-article",
"parameters": [
{
- "description": "Apple Books numeric audiobook series ID",
- "in": "path",
- "name": "id",
- "required": true,
- "type": "string",
- "x-example": "6442645726"
- },
- {
- "description": "Two-letter storefront country code",
- "in": "query",
- "name": "country",
- "type": "string",
- "x-example": "us"
- },
- {
- "description": "Result language tag",
+ "description": "Canonical cnbc.com article URL",
"in": "query",
- "name": "lang",
+ "name": "url",
+ "required": true,
"type": "string",
- "x-example": "en-us"
+ "x-example": "https://www.cnbc.com/2026/09/21/iran-us-oil-prices-crude-saudi-arabia-.html"
}
],
"produces": [
@@ -280871,29 +351481,35 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/applebooks.audiobookSeriesResponseDoc"
+ "$ref": "#/definitions/cnbc.articleResponseDoc"
}
},
"400": {
- "description": "Missing or invalid parameters",
+ "description": "Bad Request",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"404": {
- "description": "Series not found",
+ "description": "Not Found",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"429": {
- "description": "Rate limit exceeded",
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"500": {
- "description": "Internal server error",
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -280904,55 +351520,30 @@
"ApiKeyAuth": []
}
],
- "summary": "Retrieve an Apple Books audiobook series and its full audiobook list",
+ "summary": "CNBC article content",
"tags": [
- "AppleBooks"
+ "CNBC"
]
}
},
- "/apple-books/audiobook/search": {
+ "/cnbc/author": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Searches Apple Books audiobooks by `term`, which is required. `country` is the two-letter storefront code (default `us`), `lang` a language tag such as `en-us`, `limit` the result count (default 50, max 200) and `page` starts at 1. Results include `narrator`, `duration_seconds`, price, rating, genres and `preview_url`.",
- "operationId": "apple-books-audiobook-search",
+ "description": "Returns one CNBC author's public bio page: name, job title, biography, social links, and their most recent articles. Provide either the author's slug (the last path segment of their cnbc.com bio page) or the full bio page URL.",
+ "operationId": "cnbc-author",
"parameters": [
{
- "description": "Search term",
- "in": "query",
- "name": "term",
- "required": true,
- "type": "string",
- "x-example": "harry potter"
- },
- {
- "description": "Two-letter storefront country code",
+ "description": "CNBC author slug, e.g. jeff-cox",
"in": "query",
- "name": "country",
+ "name": "slug",
"type": "string",
- "x-example": "us"
+ "x-example": "jeff-cox"
},
{
- "description": "Result language tag",
+ "description": "Canonical https://www.cnbc.com// author page URL, as an alternative to slug",
"in": "query",
- "name": "lang",
+ "name": "url",
"type": "string",
- "x-example": "en-us"
- },
- {
- "description": "Number of audiobooks per page",
- "in": "query",
- "name": "limit",
- "type": "integer",
- "x-example": 50
- },
- {
- "description": "Search page number (1-based)",
- "in": "query",
- "name": "page",
- "type": "integer",
- "x-example": 1
+ "x-example": "https://www.cnbc.com/jeff-cox/"
}
],
"produces": [
@@ -280962,23 +351553,35 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/applebooks.audiobookSearchResponseDoc"
+ "$ref": "#/definitions/cnbc.authorResponseDoc"
}
},
"400": {
- "description": "Missing or invalid parameters",
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"429": {
- "description": "Rate limit exceeded",
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"500": {
- "description": "Internal server error",
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -280989,43 +351592,16 @@
"ApiKeyAuth": []
}
],
- "summary": "Search Apple Books audiobooks",
+ "summary": "CNBC author profile",
"tags": [
- "AppleBooks"
+ "CNBC"
]
}
},
- "/apple-books/audiobook/{id}": {
+ "/cnbc/categories": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns audiobook metadata from Apple Books, including narrator, duration, audio preview, and a cross-link to the ebook edition (when one exists).",
- "operationId": "apple-books-audiobook",
- "parameters": [
- {
- "description": "Apple Books numeric audiobook ID",
- "in": "path",
- "name": "id",
- "required": true,
- "type": "string",
- "x-example": "1442174040"
- },
- {
- "description": "Two-letter storefront country code",
- "in": "query",
- "name": "country",
- "type": "string",
- "x-example": "us"
- },
- {
- "description": "Result language tag",
- "in": "query",
- "name": "lang",
- "type": "string",
- "x-example": "en-us"
- }
- ],
+ "description": "Lists the public CNBC editorial sections accepted by /cnbc/headlines, including market, investing, business, technology, and policy subsections, with each section's slug, display name, and landing-page URL.",
+ "operationId": "cnbc-categories",
"produces": [
"application/json"
],
@@ -281033,29 +351609,23 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/applebooks.audiobookResponseDoc"
- }
- },
- "400": {
- "description": "Missing or invalid parameters",
- "schema": {
- "$ref": "#/definitions/app.Response"
+ "$ref": "#/definitions/cnbc.categoriesResponseDoc"
}
},
- "404": {
- "description": "Audiobook not found",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Rate limit exceeded",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal server error",
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -281066,55 +351636,24 @@
"ApiKeyAuth": []
}
],
- "summary": "Retrieve Apple Books audiobook details",
+ "summary": "CNBC editorial sections",
"tags": [
- "AppleBooks"
+ "CNBC"
]
}
},
- "/apple-books/audiobook/{id}/reviews": {
+ "/cnbc/headlines": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns a page of an audiobook's customer reviews. The default first page is served from the audiobook's own catalog page; deeper pages (page>1 or a larger limit) page through Apple's review API directly, up to 20 per page.",
- "operationId": "apple-books-audiobook-reviews",
+ "description": "Returns current server-rendered CNBC headlines for one public editorial section, including title, article URL, and card metadata when available. Use /cnbc/categories to discover the supported section slugs.",
+ "operationId": "cnbc-headlines",
"parameters": [
{
- "description": "Apple Books numeric audiobook ID",
- "in": "path",
- "name": "id",
- "required": true,
- "type": "string",
- "x-example": "1442174040"
- },
- {
- "description": "Two-letter storefront country code",
- "in": "query",
- "name": "country",
- "type": "string",
- "x-example": "us"
- },
- {
- "description": "Result language tag",
+ "description": "Public CNBC editorial section slug from /cnbc/categories",
"in": "query",
- "name": "lang",
+ "name": "section",
+ "required": true,
"type": "string",
- "x-example": "en-us"
- },
- {
- "description": "Review page number, default 1",
- "in": "query",
- "name": "page",
- "type": "integer",
- "x-example": 1
- },
- {
- "description": "Reviews per page, default 10, max 20",
- "in": "query",
- "name": "limit",
- "type": "integer",
- "x-example": 10
+ "x-example": "markets"
}
],
"produces": [
@@ -281124,29 +351663,29 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/applebooks.audiobookReviewsResponseDoc"
+ "$ref": "#/definitions/cnbc.headlinesResponseDoc"
}
},
"400": {
- "description": "Missing or invalid parameters",
+ "description": "Bad Request",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Audiobook not found",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Rate limit exceeded",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal server error",
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -281157,41 +351696,24 @@
"ApiKeyAuth": []
}
],
- "summary": "Retrieve Apple Books audiobook customer reviews",
+ "summary": "CNBC section headlines",
"tags": [
- "AppleBooks"
+ "CNBC"
]
}
},
- "/apple-books/audiobook/{id}/similar": {
+ "/cnet/article": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns the 'Customers Also Bought' audiobooks shown on the Apple Books page of one audiobook, identified by its numeric `id`. `country` (default `us`) and `lang` (such as `en-us`) choose the storefront and language. Each item has name, author, `narrator`, `duration_seconds`, price, rating and `series_name`.",
- "operationId": "apple-books-audiobook-similar",
+ "description": "Returns public CNET article metadata and body paragraphs from a canonical article URL. CNET articles are freely readable; video-only pages and pages without an article body are reported as upstream errors rather than returned empty.",
+ "operationId": "cnet-article",
"parameters": [
{
- "description": "Apple Books numeric audiobook ID",
- "in": "path",
- "name": "id",
- "required": true,
- "type": "string",
- "x-example": "1442174040"
- },
- {
- "description": "Two-letter storefront country code",
- "in": "query",
- "name": "country",
- "type": "string",
- "x-example": "us"
- },
- {
- "description": "Result language tag",
+ "description": "Canonical CNET article URL",
"in": "query",
- "name": "lang",
+ "name": "url",
+ "required": true,
"type": "string",
- "x-example": "en-us"
+ "x-example": "https://www.cnet.com/tech/mobile/meta-connect-new-glasses-muse-ai-hearing-assistance-ray-bans-more/"
}
],
"produces": [
@@ -281201,29 +351723,23 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/applebooks.audiobookSimilarResponseDoc"
+ "$ref": "#/definitions/publicnews.articleResponseDoc"
}
},
"400": {
- "description": "Missing or invalid parameters",
+ "description": "Bad Request",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"404": {
- "description": "Audiobook not found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
- "429": {
- "description": "Rate limit exceeded",
+ "description": "Not Found",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal server error",
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -281234,41 +351750,37 @@
"ApiKeyAuth": []
}
],
- "summary": "Retrieve \"Customers Also Bought\" audiobooks",
+ "summary": "Get CNET article content",
"tags": [
- "AppleBooks"
+ "CNET"
]
}
},
- "/apple-books/author/{id}": {
+ "/cnet/author": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns an Apple Books author by numeric author `id`: name, URL, genres, their ebooks and, where available, audiobooks. Books carry details such as ISBN, page count, publisher, price, rating and series; audiobooks add narrator, duration and preview. `country` is a two-letter storefront code (default `us`) and `lang` a language tag such as `en-us`.",
- "operationId": "apple-books-author",
+ "description": "Returns one CNET author's public profile: name, role, biography, areas of expertise, social links, and one page of their recent articles.",
+ "operationId": "cnet-author",
"parameters": [
{
- "description": "Apple Books numeric author ID",
- "in": "path",
- "name": "id",
- "required": true,
+ "description": "Author slug, e.g. scottstein8",
+ "in": "query",
+ "name": "slug",
"type": "string",
- "x-example": "79595314"
+ "x-example": "scottstein8"
},
{
- "description": "Two-letter storefront country code",
+ "description": "Canonical cnet.com/profiles/ URL, optionally with a /page// segment; alternative to slug",
"in": "query",
- "name": "country",
+ "name": "url",
"type": "string",
- "x-example": "us"
+ "x-example": "https://www.cnet.com/profiles/scottstein8/"
},
{
- "description": "Result language tag",
+ "default": 1,
+ "description": "1-based page number; overrides any page number in url",
"in": "query",
- "name": "lang",
- "type": "string",
- "x-example": "en-us"
+ "name": "page",
+ "type": "integer"
}
],
"produces": [
@@ -281278,29 +351790,23 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/applebooks.authorResponseDoc"
+ "$ref": "#/definitions/publicnews.cnetAuthorResponseDoc"
}
},
"400": {
- "description": "Missing or invalid parameters",
+ "description": "Bad Request",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"404": {
- "description": "Author not found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
- "429": {
- "description": "Rate limit exceeded",
+ "description": "Not Found",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal server error",
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -281311,41 +351817,77 @@
"ApiKeyAuth": []
}
],
- "summary": "Retrieve an Apple Books author's bibliography",
+ "summary": "Get a CNET author profile",
"tags": [
- "AppleBooks"
+ "CNET"
]
}
},
- "/apple-books/book/{id}": {
+ "/cnet/headlines": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns book metadata from Apple Books, including ISBN, page count, publisher, audience, rating histogram, and series linkage.",
- "operationId": "apple-books-book",
+ "description": "Returns fresh CNET headlines for one topic. `section` is required and takes a topic slug such as `ai`, `deals`, `smart-home`, `electric-vehicles` or `tv-and-movies`; an invalid value returns a 400 error. Each item has a title and URL, and may also carry a summary, author, publication time and image.",
+ "operationId": "cnet-headlines",
"parameters": [
{
- "description": "Apple Books numeric book ID",
- "in": "path",
- "name": "id",
- "required": true,
- "type": "string",
- "x-example": "1037193578"
- },
- {
- "description": "Two-letter storefront country code",
- "in": "query",
- "name": "country",
- "type": "string",
- "x-example": "us"
- },
- {
- "description": "Result language tag",
+ "description": "CNET topic slug",
+ "enum": [
+ "ai",
+ "aircraft",
+ "auto-tech",
+ "automobiles",
+ "biology",
+ "car-accessories",
+ "car-apps",
+ "car-industry",
+ "car-news",
+ "climate",
+ "computing",
+ "culture",
+ "deals",
+ "electric-vehicles",
+ "energy-and-utilities",
+ "entertainment",
+ "fashion",
+ "fitness",
+ "gaming",
+ "health",
+ "home",
+ "home-entertainment",
+ "internet",
+ "kitchen-and-household",
+ "live-blog",
+ "medical",
+ "mental",
+ "mobile",
+ "motorcycles",
+ "news",
+ "nutrition",
+ "parenting",
+ "personal-care",
+ "personal-finance",
+ "personal-mobility",
+ "privacy",
+ "rideshare",
+ "roadshow",
+ "science",
+ "security",
+ "services-and-software",
+ "sleep",
+ "smart-home",
+ "social-media",
+ "space",
+ "sports",
+ "tech",
+ "tech-industry",
+ "tv-and-movies",
+ "watercraft",
+ "yard-and-outdoors"
+ ],
"in": "query",
- "name": "lang",
+ "name": "section",
+ "required": true,
"type": "string",
- "x-example": "en-us"
+ "x-example": "ai"
}
],
"produces": [
@@ -281355,29 +351897,17 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/applebooks.bookResponseDoc"
+ "$ref": "#/definitions/publicnews.headlinesResponseDoc"
}
},
"400": {
- "description": "Missing or invalid parameters",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
- "404": {
- "description": "Book not found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
- "429": {
- "description": "Rate limit exceeded",
+ "description": "Bad Request",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal server error",
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -281388,57 +351918,16 @@
"ApiKeyAuth": []
}
],
- "summary": "Retrieve Apple Books book details",
+ "summary": "Get CNET section headlines",
"tags": [
- "AppleBooks"
+ "CNET"
]
}
},
- "/apple-books/book/{id}/reviews": {
+ "/cnet/news": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns a page of a book's customer reviews. The default first page is served from the book's own catalog page; deeper pages (page>1 or a larger limit) page through Apple's review API directly, up to 20 per page.",
- "operationId": "apple-books-book-reviews",
- "parameters": [
- {
- "description": "Apple Books numeric book ID",
- "in": "path",
- "name": "id",
- "required": true,
- "type": "string",
- "x-example": "1037193578"
- },
- {
- "description": "Two-letter storefront country code",
- "in": "query",
- "name": "country",
- "type": "string",
- "x-example": "us"
- },
- {
- "description": "Result language tag",
- "in": "query",
- "name": "lang",
- "type": "string",
- "x-example": "en-us"
- },
- {
- "description": "Review page number, default 1",
- "in": "query",
- "name": "page",
- "type": "integer",
- "x-example": 1
- },
- {
- "description": "Reviews per page, default 10, max 20",
- "in": "query",
- "name": "limit",
- "type": "integer",
- "x-example": 10
- }
- ],
+ "description": "Returns the latest CNET top stories, with no input needed. Each item has a title, canonical URL, summary, publication time and author name when CNET provides them.",
+ "operationId": "cnet-news",
"produces": [
"application/json"
],
@@ -281446,31 +351935,45 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/applebooks.reviewsResponseDoc"
- }
- },
- "400": {
- "description": "Missing or invalid parameters",
- "schema": {
- "$ref": "#/definitions/app.Response"
+ "$ref": "#/definitions/publicnews.newsResponseDoc"
}
},
- "404": {
- "description": "Book not found",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Rate limit exceeded",
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
- },
- "500": {
- "description": "Internal server error",
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get CNET top stories",
+ "tags": [
+ "CNET"
+ ]
+ }
+ },
+ "/cnet/sections": {
+ "get": {
+ "description": "Lists the 51 CNET topics accepted by `cnet-headlines`: top-level and second-level topics with a recently updated feed, plus `ai`, `deals` and `tv-and-movies`. Each has a `slug`, a display `name` and the feed `url`. Deeper sub-topics are not separate sections; `internet` means Home Internet and `security` means Home Security.",
+ "operationId": "cnet-sections",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
"schema": {
- "$ref": "#/definitions/app.Response"
+ "$ref": "#/definitions/publicnews.sectionsResponseDoc"
}
}
},
@@ -281479,41 +351982,27 @@
"ApiKeyAuth": []
}
],
- "summary": "Retrieve Apple Books customer reviews",
+ "summary": "Get CNET sections",
"tags": [
- "AppleBooks"
+ "CNET"
]
}
},
- "/apple-books/book/{id}/similar": {
+ "/cnn/article": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns the 'Customers Also Bought' books shown on the Apple Books page of one book, identified by its numeric `id`. `country` (default `us`) and `lang` (such as `en-us`) choose the storefront and language. Each item has name, author, `publisher`, `isbn`, `page_count`, price, rating and `series_sequence`.",
- "operationId": "apple-books-book-similar",
+ "description": "Returns a CNN article's headline, description, author, publication and update times, section, image, and body paragraphs. Provide a canonical cnn.com article URL.",
+ "operationId": "cnn-article",
"parameters": [
{
- "description": "Apple Books numeric book ID",
- "in": "path",
- "name": "id",
- "required": true,
- "type": "string",
- "x-example": "1037193578"
- },
- {
- "description": "Two-letter storefront country code",
- "in": "query",
- "name": "country",
- "type": "string",
- "x-example": "us"
- },
- {
- "description": "Result language tag",
+ "description": "Canonical cnn.com article URL",
"in": "query",
- "name": "lang",
+ "name": "url",
+ "required": true,
"type": "string",
- "x-example": "en-us"
+ "x-example": "https://www.cnn.com/2026/08/19/africa/kenya-helicopter-crash-latam-intl"
}
],
"produces": [
@@ -281523,29 +352012,35 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/applebooks.similarResponseDoc"
+ "$ref": "#/definitions/cnn.articleResponseDoc"
}
},
"400": {
- "description": "Missing or invalid parameters",
+ "description": "Bad Request",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"404": {
- "description": "Book not found",
+ "description": "Not Found",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"429": {
- "description": "Rate limit exceeded",
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"500": {
- "description": "Internal server error",
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -281556,51 +352051,33 @@
"ApiKeyAuth": []
}
],
- "summary": "Retrieve \"Customers Also Bought\" books",
+ "summary": "CNN article content",
"tags": [
- "AppleBooks"
+ "CNN"
]
}
},
- "/apple-books/charts": {
+ "/cnn/author": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns Apple Books chart rankings for a `collection`, `top-free` (default) or `top-paid`. Narrow with `genre` (an Apple Books genre ID, `0` for all genres), `country` (default `us`) and `limit` (default 50, max 200). Each entry has `name`, author, `genres`, `release_date`, `artwork_url` and `url`.",
- "operationId": "apple-books-charts",
+ "description": "Returns one CNN profile's byline metadata (name and title), bio paragraphs, social accounts, and recent articles/videos. Provide either a profile slug or a canonical cnn.com/profiles/ URL.",
+ "operationId": "cnn-author",
"parameters": [
{
- "description": "Chart collection. Allowed values: top-free, top-paid",
- "enum": [
- "top-free",
- "top-paid"
- ],
+ "description": "CNN profile slug, e.g. jake-tapper-profile (a slug without the -profile suffix is tried with it first, then as-is)",
"in": "query",
- "name": "collection",
+ "name": "slug",
"type": "string",
- "x-example": "top-free"
- },
- {
- "description": "Optional Apple Books genre ID to filter the chart",
- "in": "query",
- "name": "genre",
- "type": "integer",
- "x-example": 9031
+ "x-example": "jake-tapper-profile"
},
{
- "description": "Two-letter storefront country code",
+ "description": "Canonical cnn.com/profiles/ URL, as an alternative to slug",
"in": "query",
- "name": "country",
+ "name": "url",
"type": "string",
- "x-example": "us"
- },
- {
- "description": "Number of chart items to return",
- "in": "query",
- "name": "limit",
- "type": "integer",
- "x-example": 50
+ "x-example": "https://www.cnn.com/profiles/jake-tapper-profile"
}
],
"produces": [
@@ -281610,23 +352087,35 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/applebooks.chartsResponseDoc"
+ "$ref": "#/definitions/cnn.authorResponseDoc"
}
},
"400": {
- "description": "Missing or invalid parameters",
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"429": {
- "description": "Rate limit exceeded",
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"500": {
- "description": "Internal server error",
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -281637,55 +352126,41 @@
"ApiKeyAuth": []
}
],
- "summary": "Retrieve Apple Books chart rankings",
+ "summary": "CNN profile page",
"tags": [
- "AppleBooks"
+ "CNN"
]
}
},
- "/apple-books/search": {
+ "/cnn/headlines": {
"get": {
"consumes": [
"application/json"
],
- "description": "Searches Apple Books ebooks by `term`, which is required. `country` is the two-letter storefront code (default `us`), `lang` a language tag such as `en-us`, `limit` the result count (default 50, max 200) and `page` starts at 1. Results include `isbn`, `publisher`, `page_count`, price, rating, genres and series details.",
- "operationId": "apple-books-search",
+ "description": "Returns the current CNN headline stream for one section, including title, article URL, description, publication time, and image when available.",
+ "operationId": "cnn-headlines",
"parameters": [
{
- "description": "Search term",
- "in": "query",
- "name": "term",
- "required": true,
- "type": "string",
- "x-example": "harry potter"
- },
- {
- "description": "Two-letter storefront country code",
- "in": "query",
- "name": "country",
- "type": "string",
- "x-example": "us"
- },
- {
- "description": "Result language tag",
- "in": "query",
- "name": "lang",
- "type": "string",
- "x-example": "en-us"
- },
- {
- "description": "Number of books per page",
- "in": "query",
- "name": "limit",
- "type": "integer",
- "x-example": 50
- },
- {
- "description": "Search page number (1-based)",
+ "default": "world",
+ "description": "CNN section. Allowed values: world, us, politics, business, health, entertainment, style, travel, sports, science, climate, weather, opinion. Default world.",
+ "enum": [
+ "world",
+ "us",
+ "politics",
+ "business",
+ "health",
+ "entertainment",
+ "style",
+ "travel",
+ "sports",
+ "science",
+ "climate",
+ "weather",
+ "opinion"
+ ],
"in": "query",
- "name": "page",
- "type": "integer",
- "x-example": 1
+ "name": "section",
+ "type": "string"
}
],
"produces": [
@@ -281695,23 +352170,29 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/applebooks.searchResponseDoc"
+ "$ref": "#/definitions/cnn.headlinesResponseDoc"
}
},
"400": {
- "description": "Missing or invalid parameters",
+ "description": "Bad Request",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"429": {
- "description": "Rate limit exceeded",
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"500": {
- "description": "Internal server error",
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -281722,41 +352203,27 @@
"ApiKeyAuth": []
}
],
- "summary": "Search Apple Books titles",
+ "summary": "CNN section headlines",
"tags": [
- "AppleBooks"
+ "CNN"
]
}
},
- "/apple-books/series/{id}": {
+ "/cnn/live-story": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns an Apple Books series by its numeric `id`: the series `name` and `url`, and its books in series order. Each book has `series_sequence`, author, `publisher`, `isbn`, `page_count`, price and rating. `country` (default `us`) and `lang` choose the storefront and language.",
- "operationId": "apple-books-series",
+ "description": "Returns a CNN live story from its canonical cnn.com live-news `url`: title, description, last update time and the posts in chronological order. Each post has an id, title, paragraphs of text, and published and updated times.",
+ "operationId": "cnn-live-story",
"parameters": [
{
- "description": "Apple Books numeric series ID",
- "in": "path",
- "name": "id",
- "required": true,
- "type": "string",
- "x-example": "1044374793"
- },
- {
- "description": "Two-letter storefront country code",
- "in": "query",
- "name": "country",
- "type": "string",
- "x-example": "us"
- },
- {
- "description": "Result language tag",
+ "description": "Canonical cnn.com live-news URL",
"in": "query",
- "name": "lang",
+ "name": "url",
+ "required": true,
"type": "string",
- "x-example": "en-us"
+ "x-example": "https://www.cnn.com/2026/08/26/world/live-news/iran-war-trump"
}
],
"produces": [
@@ -281766,29 +352233,35 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/applebooks.seriesResponseDoc"
+ "$ref": "#/definitions/cnn.liveStoryResponseDoc"
}
},
"400": {
- "description": "Missing or invalid parameters",
+ "description": "Bad Request",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"404": {
- "description": "Series not found",
+ "description": "Not Found",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"429": {
- "description": "Rate limit exceeded",
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"500": {
- "description": "Internal server error",
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -281799,27 +352272,96 @@
"ApiKeyAuth": []
}
],
- "summary": "Retrieve an Apple Books series and its full book list",
+ "summary": "CNN live story updates",
"tags": [
- "AppleBooks"
+ "CNN"
]
}
},
- "/apple-jobs/job": {
+ "/coingecko/categories": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns one Apple Careers posting by its job id (the `id` field returned by search, e.g. `200674676-0836` for a specific requisition or `PIPE-200314122` for an evergreen/pipeline retail role).",
- "operationId": "apple-jobs-job",
+ "description": "Lists CoinGecko coin categories, up to `limit` rows (default and max 100), priced in the `vs_currency` you choose. Each row has its rank, id, slug, name, URL, 1h, 24h and 7d percentage changes, market cap, 24h volume and coin count, where CoinGecko shows them.",
+ "operationId": "coingecko-categories",
"parameters": [
{
- "description": "Apple job id",
+ "description": "Rows to return, default 100, max 100",
"in": "query",
- "name": "id",
- "required": true,
- "type": "string",
- "x-example": "200674676-0836"
+ "name": "limit",
+ "type": "integer"
+ },
+ {
+ "description": "Quote currency",
+ "enum": [
+ "btc",
+ "eth",
+ "ltc",
+ "bch",
+ "bnb",
+ "eos",
+ "xrp",
+ "xlm",
+ "link",
+ "dot",
+ "yfi",
+ "sol",
+ "usd",
+ "aed",
+ "ars",
+ "aud",
+ "bdt",
+ "bhd",
+ "bmd",
+ "brl",
+ "cad",
+ "chf",
+ "clp",
+ "cny",
+ "czk",
+ "dkk",
+ "eur",
+ "gbp",
+ "gel",
+ "hkd",
+ "huf",
+ "idr",
+ "ils",
+ "inr",
+ "jpy",
+ "krw",
+ "kwd",
+ "lkr",
+ "mmk",
+ "mxn",
+ "myr",
+ "ngn",
+ "nok",
+ "nzd",
+ "php",
+ "pkr",
+ "pln",
+ "rub",
+ "sar",
+ "sek",
+ "sgd",
+ "thb",
+ "try",
+ "twd",
+ "uah",
+ "vef",
+ "vnd",
+ "zar",
+ "xdr",
+ "xag",
+ "xau",
+ "bits",
+ "sats"
+ ],
+ "in": "query",
+ "name": "vs_currency",
+ "type": "string"
}
],
"produces": [
@@ -281829,7 +352371,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/applejobs.jobResponseDoc"
+ "$ref": "#/definitions/coingecko.categoriesResponseDoc"
}
},
"400": {
@@ -281838,14 +352380,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
- "429": {
- "description": "Too Many Requests",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -281862,26 +352398,110 @@
"ApiKeyAuth": []
}
],
- "summary": "Apple Jobs single posting",
+ "summary": "CoinGecko categories",
"tags": [
- "Apple Jobs"
+ "CoinGecko"
]
}
},
- "/apple-jobs/locations": {
+ "/coingecko/category/{slug}/coins": {
"get": {
"consumes": [
"application/json"
],
- "description": "Discovery endpoint for apple-jobs-search's `location` parameter, whose accepted values are a closed set Apple itself defines (its own `-` location ids -- free-text location names are rejected). Apple exposes no bulk \"list everything\" option for this; the only lookup is a fuzzy search capped at 10 results per call covering four granularities (country, state/province, metro area, city) with no empty-input listing mode. With no `q`, this returns the full country-level value space (206 values, live-verified) as a static list -- the granularity apple-jobs-search's own examples use and nearly every caller needs. With `q` supplied, this instead looks up Apple's own location filter live so callers can discover state/metro/city-level values for finer filtering; results at those deeper levels may include more than one candidate and are ranked by Apple's own relevance, not alphabetically.",
- "operationId": "apple-jobs-locations",
+ "description": "Lists the coins in one CoinGecko category, identified by the required `slug` such as `stablecoins`. Paged with `page` (default 1) and `limit` (default and max 100), priced in `vs_currency`. Each coin has rank, symbol, price, 1h to 30d changes, 24h volume, market cap and fully diluted valuation.",
+ "operationId": "coingecko-category-coins",
"parameters": [
{
- "description": "Optional free-text location search. Omit to get the full country-level list; supply to live-search state/metro/city-level values too (e.g. a city name).",
- "in": "query",
- "name": "q",
+ "description": "CoinGecko category slug such as stablecoins",
+ "in": "path",
+ "name": "slug",
+ "required": true,
"type": "string",
- "x-example": "singapore"
+ "x-example": "stablecoins"
+ },
+ {
+ "description": "Page number, default 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Rows to return, default 100, max 100",
+ "in": "query",
+ "name": "limit",
+ "type": "integer"
+ },
+ {
+ "description": "Quote currency",
+ "enum": [
+ "btc",
+ "eth",
+ "ltc",
+ "bch",
+ "bnb",
+ "eos",
+ "xrp",
+ "xlm",
+ "link",
+ "dot",
+ "yfi",
+ "sol",
+ "usd",
+ "aed",
+ "ars",
+ "aud",
+ "bdt",
+ "bhd",
+ "bmd",
+ "brl",
+ "cad",
+ "chf",
+ "clp",
+ "cny",
+ "czk",
+ "dkk",
+ "eur",
+ "gbp",
+ "gel",
+ "hkd",
+ "huf",
+ "idr",
+ "ils",
+ "inr",
+ "jpy",
+ "krw",
+ "kwd",
+ "lkr",
+ "mmk",
+ "mxn",
+ "myr",
+ "ngn",
+ "nok",
+ "nzd",
+ "php",
+ "pkr",
+ "pln",
+ "rub",
+ "sar",
+ "sek",
+ "sgd",
+ "thb",
+ "try",
+ "twd",
+ "uah",
+ "vef",
+ "vnd",
+ "zar",
+ "xdr",
+ "xag",
+ "xau",
+ "bits",
+ "sats"
+ ],
+ "in": "query",
+ "name": "vs_currency",
+ "type": "string"
}
],
"produces": [
@@ -281891,7 +352511,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/applejobs.locationsResponseDoc"
+ "$ref": "#/definitions/coingecko.categoryCoinsResponseDoc"
}
},
"400": {
@@ -281900,8 +352520,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Too Many Requests",
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -281918,41 +352544,96 @@
"ApiKeyAuth": []
}
],
- "summary": "Apple Jobs location discovery",
+ "summary": "CoinGecko category coins",
"tags": [
- "Apple Jobs"
+ "CoinGecko"
]
}
},
- "/apple-jobs/search": {
+ "/coingecko/chains": {
"get": {
"consumes": [
"application/json"
],
- "description": "Searches Apple's public careers site (jobs.apple.com) via its server-rendered search page's embedded job data. Page size is fixed by Apple at 20 results. Search results carry identity/location/team metadata only — call the job endpoint for the full description and qualifications.",
- "operationId": "apple-jobs-search",
+ "description": "Lists blockchains from CoinGecko's chains table, up to `limit` rows (default and max 100), in the `vs_currency` you pick. Each chain has its rank, id, name, URL, logo, top gainers, 24h, 7d and 30d changes, 24h volume, TVL, dominance percent and coin count, where shown.",
+ "operationId": "coingecko-chains",
"parameters": [
{
- "description": "Search query",
- "in": "query",
- "name": "q",
- "required": true,
- "type": "string",
- "x-example": "software engineer"
- },
- {
- "description": "Location filter in Apple's own slug format, e.g. united-states-USA or singapore-SGP. Free-text location names are not accepted -- call apple-jobs-locations to discover valid values.",
+ "description": "Rows to return, default 100, max 100",
"in": "query",
- "name": "location",
- "type": "string",
- "x-example": "united-states-USA"
+ "name": "limit",
+ "type": "integer"
},
{
- "description": "Page number, 1-based",
+ "description": "Quote currency",
+ "enum": [
+ "btc",
+ "eth",
+ "ltc",
+ "bch",
+ "bnb",
+ "eos",
+ "xrp",
+ "xlm",
+ "link",
+ "dot",
+ "yfi",
+ "sol",
+ "usd",
+ "aed",
+ "ars",
+ "aud",
+ "bdt",
+ "bhd",
+ "bmd",
+ "brl",
+ "cad",
+ "chf",
+ "clp",
+ "cny",
+ "czk",
+ "dkk",
+ "eur",
+ "gbp",
+ "gel",
+ "hkd",
+ "huf",
+ "idr",
+ "ils",
+ "inr",
+ "jpy",
+ "krw",
+ "kwd",
+ "lkr",
+ "mmk",
+ "mxn",
+ "myr",
+ "ngn",
+ "nok",
+ "nzd",
+ "php",
+ "pkr",
+ "pln",
+ "rub",
+ "sar",
+ "sek",
+ "sgd",
+ "thb",
+ "try",
+ "twd",
+ "uah",
+ "vef",
+ "vnd",
+ "zar",
+ "xdr",
+ "xag",
+ "xau",
+ "bits",
+ "sats"
+ ],
"in": "query",
- "name": "page",
- "type": "integer",
- "x-example": 1
+ "name": "vs_currency",
+ "type": "string"
}
],
"produces": [
@@ -281962,7 +352643,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/applejobs.searchResponseDoc"
+ "$ref": "#/definitions/coingecko.chainsResponseDoc"
}
},
"400": {
@@ -281971,8 +352652,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Too Many Requests",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -281989,64 +352670,104 @@
"ApiKeyAuth": []
}
],
- "summary": "Apple Jobs search",
+ "summary": "CoinGecko chains",
"tags": [
- "Apple Jobs"
+ "CoinGecko"
]
}
},
- "/apple-maps/autocomplete": {
+ "/coingecko/chains/{id}": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns Apple Maps typeahead suggestions for a partial query near a coordinate: query completions, matching businesses (resolved to the same place summary the search endpoint returns, with the place ID the place endpoint takes), and addresses.",
- "operationId": "apple-maps-autocomplete",
+ "description": "Returns sections from a CoinGecko chain detail page. Sections are omitted when not present. This endpoint supports the documented `vs_currency` enum.",
+ "operationId": "coingecko-chain",
"parameters": [
{
- "description": "Partial search text to complete",
- "in": "query",
- "name": "query",
+ "description": "CoinGecko chain id such as ethereum",
+ "in": "path",
+ "name": "id",
"required": true,
"type": "string",
- "x-example": "blue bot"
- },
- {
- "description": "Center latitude the suggestions are biased to",
- "in": "query",
- "name": "latitude",
- "required": true,
- "type": "number",
- "x-example": 37.7749
- },
- {
- "description": "Center longitude the suggestions are biased to",
- "in": "query",
- "name": "longitude",
- "required": true,
- "type": "number",
- "x-example": -122.4194
- },
- {
- "description": "Viewport size in degrees around the center. Defaults to 0.05; minimum 0.001, maximum 5.",
- "in": "query",
- "name": "span",
- "type": "number",
- "x-example": 0.05
+ "x-example": "ethereum"
},
{
- "description": "Display language as a BCP 47 tag. Defaults to en-US.",
+ "description": "Rows per section to return, default 20, max 100",
"in": "query",
- "name": "lang",
- "type": "string",
- "x-example": "en-US"
+ "name": "limit",
+ "type": "integer"
},
{
- "description": "Two-letter ISO 3166-1 country code. Defaults to US.",
+ "description": "Quote currency",
+ "enum": [
+ "btc",
+ "eth",
+ "ltc",
+ "bch",
+ "bnb",
+ "eos",
+ "xrp",
+ "xlm",
+ "link",
+ "dot",
+ "yfi",
+ "sol",
+ "usd",
+ "aed",
+ "ars",
+ "aud",
+ "bdt",
+ "bhd",
+ "bmd",
+ "brl",
+ "cad",
+ "chf",
+ "clp",
+ "cny",
+ "czk",
+ "dkk",
+ "eur",
+ "gbp",
+ "gel",
+ "hkd",
+ "huf",
+ "idr",
+ "ils",
+ "inr",
+ "jpy",
+ "krw",
+ "kwd",
+ "lkr",
+ "mmk",
+ "mxn",
+ "myr",
+ "ngn",
+ "nok",
+ "nzd",
+ "php",
+ "pkr",
+ "pln",
+ "rub",
+ "sar",
+ "sek",
+ "sgd",
+ "thb",
+ "try",
+ "twd",
+ "uah",
+ "vef",
+ "vnd",
+ "zar",
+ "xdr",
+ "xag",
+ "xau",
+ "bits",
+ "sats"
+ ],
"in": "query",
- "name": "country",
- "type": "string",
- "x-example": "US"
+ "name": "vs_currency",
+ "type": "string"
}
],
"produces": [
@@ -282056,7 +352777,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/applemaps.autocompleteResponseDoc"
+ "$ref": "#/definitions/coingecko.chainDetailResponseDoc"
}
},
"400": {
@@ -282065,6 +352786,18 @@
"$ref": "#/definitions/app.Response"
}
},
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
"503": {
"description": "Service Unavailable",
"schema": {
@@ -282077,56 +352810,98 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Apple Maps search suggestions for a partial query",
+ "summary": "CoinGecko chain detail",
"tags": [
- "Apple Maps"
+ "CoinGecko"
]
}
},
- "/apple-maps/categories": {
+ "/coingecko/coin/{id}": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns the \"Find Nearby\" browse categories Apple Maps offers for an area (for example Restaurants, Coffee Shops, Gas Stations, Hotels, Parking, Grocery Stores), each with the key and name the category-search endpoint takes. The set is location-aware.",
- "operationId": "apple-maps-categories",
+ "description": "Returns CoinGecko profile, market stats, links, and categories for one coin id. This endpoint supports the documented `vs_currency` enum and is not intended for real-time trading.",
+ "operationId": "coingecko-coin",
"parameters": [
{
- "description": "Center latitude",
- "in": "query",
- "name": "latitude",
- "required": true,
- "type": "number",
- "x-example": 37.7749
- },
- {
- "description": "Center longitude",
- "in": "query",
- "name": "longitude",
+ "description": "CoinGecko coin id such as bitcoin",
+ "in": "path",
+ "name": "id",
"required": true,
- "type": "number",
- "x-example": -122.4194
- },
- {
- "description": "Viewport size in degrees around the center. Defaults to 0.05; minimum 0.001, maximum 5.",
- "in": "query",
- "name": "span",
- "type": "number",
- "x-example": 0.05
- },
- {
- "description": "Display language as a BCP 47 tag. Defaults to en-US.",
- "in": "query",
- "name": "lang",
"type": "string",
- "x-example": "en-US"
+ "x-example": "bitcoin"
},
{
- "description": "Two-letter ISO 3166-1 country code. Defaults to US.",
+ "description": "Quote currency",
+ "enum": [
+ "btc",
+ "eth",
+ "ltc",
+ "bch",
+ "bnb",
+ "eos",
+ "xrp",
+ "xlm",
+ "link",
+ "dot",
+ "yfi",
+ "sol",
+ "usd",
+ "aed",
+ "ars",
+ "aud",
+ "bdt",
+ "bhd",
+ "bmd",
+ "brl",
+ "cad",
+ "chf",
+ "clp",
+ "cny",
+ "czk",
+ "dkk",
+ "eur",
+ "gbp",
+ "gel",
+ "hkd",
+ "huf",
+ "idr",
+ "ils",
+ "inr",
+ "jpy",
+ "krw",
+ "kwd",
+ "lkr",
+ "mmk",
+ "mxn",
+ "myr",
+ "ngn",
+ "nok",
+ "nzd",
+ "php",
+ "pkr",
+ "pln",
+ "rub",
+ "sar",
+ "sek",
+ "sgd",
+ "thb",
+ "try",
+ "twd",
+ "uah",
+ "vef",
+ "vnd",
+ "zar",
+ "xdr",
+ "xag",
+ "xau",
+ "bits",
+ "sats"
+ ],
"in": "query",
- "name": "country",
- "type": "string",
- "x-example": "US"
+ "name": "vs_currency",
+ "type": "string"
}
],
"produces": [
@@ -282136,7 +352911,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/applemaps.categoriesResponseDoc"
+ "$ref": "#/definitions/coingecko.coinResponseDoc"
}
},
"400": {
@@ -282145,6 +352920,18 @@
"$ref": "#/definitions/app.Response"
}
},
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
"503": {
"description": "Service Unavailable",
"schema": {
@@ -282157,90 +352944,114 @@
"ApiKeyAuth": []
}
],
- "summary": "List Apple Maps browse categories for an area",
+ "summary": "CoinGecko coin profile",
"tags": [
- "Apple Maps"
+ "CoinGecko"
]
}
},
- "/apple-maps/category-search": {
+ "/coingecko/coin/{id}/analysis": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns places in one browse category near a coordinate without a keyword, in the same shape as the search endpoint (place summaries, region, relocation flag, and the refinement filters block). The category is a name from the categories endpoint for the same area (case-insensitive) or its key; an unknown name returns 400 listing the categories available there. Filters and sort work exactly as on the search endpoint.",
- "operationId": "apple-maps-category-search",
+ "description": "Returns derived price-chart metrics from CoinGecko public chart JSON. This endpoint supports the documented `vs_currency` enum and is not investment advice or real-time trading data.",
+ "operationId": "coingecko-coin-analysis",
"parameters": [
{
- "description": "Category name (e.g. Coffee Shops, Restaurants) or key from /apple-maps/categories for the same area",
- "in": "query",
- "name": "category",
- "required": true,
- "type": "string",
- "x-example": "Coffee Shops"
- },
- {
- "description": "Search center latitude",
- "in": "query",
- "name": "latitude",
- "required": true,
- "type": "number",
- "x-example": 37.7749
- },
- {
- "description": "Search center longitude",
- "in": "query",
- "name": "longitude",
+ "description": "CoinGecko coin id such as bitcoin",
+ "in": "path",
+ "name": "id",
"required": true,
- "type": "number",
- "x-example": -122.4194
- },
- {
- "description": "Search viewport size in degrees around the center. Defaults to 0.05; minimum 0.001, maximum 5.",
- "in": "query",
- "name": "span",
- "type": "number",
- "x-example": 0.05
- },
- {
- "description": "Max places returned. Defaults to 25, maximum 100.",
- "in": "query",
- "name": "limit",
- "type": "integer",
- "x-example": 25
- },
- {
- "description": "Display language as a BCP 47 tag. Defaults to en-US.",
- "in": "query",
- "name": "lang",
"type": "string",
- "x-example": "en-US"
+ "x-example": "bitcoin"
},
{
- "description": "Two-letter ISO 3166-1 country code. Defaults to US.",
+ "description": "Quote currency",
+ "enum": [
+ "btc",
+ "eth",
+ "ltc",
+ "bch",
+ "bnb",
+ "eos",
+ "xrp",
+ "xlm",
+ "link",
+ "dot",
+ "yfi",
+ "sol",
+ "usd",
+ "aed",
+ "ars",
+ "aud",
+ "bdt",
+ "bhd",
+ "bmd",
+ "brl",
+ "cad",
+ "chf",
+ "clp",
+ "cny",
+ "czk",
+ "dkk",
+ "eur",
+ "gbp",
+ "gel",
+ "hkd",
+ "huf",
+ "idr",
+ "ils",
+ "inr",
+ "jpy",
+ "krw",
+ "kwd",
+ "lkr",
+ "mmk",
+ "mxn",
+ "myr",
+ "ngn",
+ "nok",
+ "nzd",
+ "php",
+ "pkr",
+ "pln",
+ "rub",
+ "sar",
+ "sek",
+ "sgd",
+ "thb",
+ "try",
+ "twd",
+ "uah",
+ "vef",
+ "vnd",
+ "zar",
+ "xdr",
+ "xag",
+ "xau",
+ "bits",
+ "sats"
+ ],
"in": "query",
- "name": "country",
- "type": "string",
- "x-example": "US"
+ "name": "vs_currency",
+ "type": "string"
},
{
- "description": "Comma-separated filter keys from the filters block of an unfiltered category search for the same category and area. Unknown keys return 400 listing the available keys. Costs a second upstream call.",
+ "description": "Chart range",
+ "enum": [
+ "24h",
+ "max"
+ ],
"in": "query",
- "name": "filters",
- "type": "string",
- "x-example": "OPEN_NOW"
+ "name": "range",
+ "type": "string"
},
{
- "description": "Result order. Costs a second upstream call.",
- "enum": [
- "best_match",
- "distance",
- "ratings"
- ],
+ "description": "Fetch optional CoinGecko chart annotations",
"in": "query",
- "name": "sort",
- "type": "string",
- "x-example": "ratings"
+ "name": "include_annotations",
+ "type": "boolean"
}
],
"produces": [
@@ -282250,7 +353061,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/applemaps.searchResponseDoc"
+ "$ref": "#/definitions/coingecko.analysisResponseDoc"
}
},
"400": {
@@ -282259,6 +353070,18 @@
"$ref": "#/definitions/app.Response"
}
},
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
"503": {
"description": "Service Unavailable",
"schema": {
@@ -282271,124 +353094,104 @@
"ApiKeyAuth": []
}
],
- "summary": "Browse one Apple Maps category near a coordinate",
+ "summary": "CoinGecko coin chart analysis",
"tags": [
- "Apple Maps"
+ "CoinGecko"
]
}
},
- "/apple-maps/directions": {
+ "/coingecko/exchange/{id}": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns Apple Maps routes between an origin and a destination, with optional intermediate stops, for driving, walking, or cycling. Each route carries its name, whether it is Apple's main or an alternate route, distance, live/historic/free-flow durations, toll and highway flags, Apple's route description and traffic note, and per-leg turn-by-turn steps (maneuver, road, shield, instruction text, distance, duration); detail=full adds each leg's path as coordinates. Departure time and avoid-tolls/highways/stairs preferences are supported. Transit routing is not available.",
- "operationId": "apple-maps-directions",
+ "description": "Returns profile stats and market rows from a CoinGecko exchange page. This endpoint supports the documented `vs_currency` enum.",
+ "operationId": "coingecko-exchange",
"parameters": [
{
- "description": "Origin latitude",
- "in": "query",
- "name": "origin_latitude",
- "required": true,
- "type": "number",
- "x-example": 37.7749
- },
- {
- "description": "Origin longitude",
- "in": "query",
- "name": "origin_longitude",
- "required": true,
- "type": "number",
- "x-example": -122.4194
- },
- {
- "description": "Destination latitude",
- "in": "query",
- "name": "destination_latitude",
- "required": true,
- "type": "number",
- "x-example": 37.8199
- },
- {
- "description": "Destination longitude",
- "in": "query",
- "name": "destination_longitude",
+ "description": "CoinGecko exchange id such as binance",
+ "in": "path",
+ "name": "id",
"required": true,
- "type": "number",
- "x-example": -122.4783
- },
- {
- "description": "Intermediate stops as lat,lng pairs separated by |, at most 8",
- "in": "query",
- "name": "via",
- "type": "string",
- "x-example": "37.7955,-122.3937"
- },
- {
- "description": "Travel mode. Defaults to driving.",
- "enum": [
- "driving",
- "walking",
- "cycling"
- ],
- "in": "query",
- "name": "mode",
"type": "string",
- "x-example": "driving"
- },
- {
- "description": "Driving only: prefer routes without tolls",
- "in": "query",
- "name": "avoid_tolls",
- "type": "boolean",
- "x-example": false
- },
- {
- "description": "Driving only: prefer routes without highways",
- "in": "query",
- "name": "avoid_highways",
- "type": "boolean",
- "x-example": false
- },
- {
- "description": "Walking only: prefer routes without stairs",
- "in": "query",
- "name": "avoid_stairs",
- "type": "boolean",
- "x-example": false
+ "x-example": "binance"
},
{
- "description": "Departure time as RFC 3339 for traffic-aware estimates. Defaults to now.",
+ "description": "Rows to return, default 100, max 100",
"in": "query",
- "name": "depart_at",
- "type": "string",
- "x-example": "2026-09-07T08:30:00Z"
+ "name": "limit",
+ "type": "integer"
},
{
- "description": "How much of each route to return. Defaults to steps.",
+ "description": "Quote currency",
"enum": [
- "summary",
- "steps",
- "full"
+ "btc",
+ "eth",
+ "ltc",
+ "bch",
+ "bnb",
+ "eos",
+ "xrp",
+ "xlm",
+ "link",
+ "dot",
+ "yfi",
+ "sol",
+ "usd",
+ "aed",
+ "ars",
+ "aud",
+ "bdt",
+ "bhd",
+ "bmd",
+ "brl",
+ "cad",
+ "chf",
+ "clp",
+ "cny",
+ "czk",
+ "dkk",
+ "eur",
+ "gbp",
+ "gel",
+ "hkd",
+ "huf",
+ "idr",
+ "ils",
+ "inr",
+ "jpy",
+ "krw",
+ "kwd",
+ "lkr",
+ "mmk",
+ "mxn",
+ "myr",
+ "ngn",
+ "nok",
+ "nzd",
+ "php",
+ "pkr",
+ "pln",
+ "rub",
+ "sar",
+ "sek",
+ "sgd",
+ "thb",
+ "try",
+ "twd",
+ "uah",
+ "vef",
+ "vnd",
+ "zar",
+ "xdr",
+ "xag",
+ "xau",
+ "bits",
+ "sats"
],
"in": "query",
- "name": "detail",
- "type": "string",
- "x-example": "steps"
- },
- {
- "description": "Language for road names and instructions as a BCP 47 tag. Defaults to en-US.",
- "in": "query",
- "name": "lang",
- "type": "string",
- "x-example": "en-US"
- },
- {
- "description": "Two-letter ISO 3166-1 country code. Defaults to US.",
- "in": "query",
- "name": "country",
- "type": "string",
- "x-example": "US"
+ "name": "vs_currency",
+ "type": "string"
}
],
"produces": [
@@ -282398,7 +353201,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/applemaps.directionsResponseDoc"
+ "$ref": "#/definitions/coingecko.exchangeDetailResponseDoc"
}
},
"400": {
@@ -282413,6 +353216,12 @@
"$ref": "#/definitions/app.Response"
}
},
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
"503": {
"description": "Service Unavailable",
"schema": {
@@ -282425,69 +353234,114 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Apple Maps driving, walking, or cycling directions",
+ "summary": "CoinGecko exchange detail",
"tags": [
- "Apple Maps"
+ "CoinGecko"
]
}
},
- "/apple-maps/eta": {
+ "/coingecko/exchanges": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns Apple Maps travel-time estimates between an origin and a destination: for each transport type Apple reports (driving always; walking when requested), the live best estimate, the historic and free-flow durations, and the route distance. Cheaper than the directions endpoint when only the time and distance are needed. Apple has no cycling ETA; use the directions endpoint for cycling.",
- "operationId": "apple-maps-eta",
+ "description": "Lists CoinGecko exchanges from one table chosen by `kind`: `spot` (default), `dex`, `derivatives` or `perp_dex`. Paged with `page` and `limit` (default and max 100). Each exchange has rank, id, name, URL, logo, and, where shown, a trust score and 24h volume in `vs_currency`.",
+ "operationId": "coingecko-exchanges",
"parameters": [
{
- "description": "Origin latitude",
- "in": "query",
- "name": "origin_latitude",
- "required": true,
- "type": "number",
- "x-example": 37.7749
- },
- {
- "description": "Origin longitude",
+ "description": "Exchange table kind, default spot",
+ "enum": [
+ "spot",
+ "dex",
+ "derivatives",
+ "perp_dex"
+ ],
"in": "query",
- "name": "origin_longitude",
- "required": true,
- "type": "number",
- "x-example": -122.4194
+ "name": "kind",
+ "type": "string"
},
{
- "description": "Destination latitude",
+ "description": "Page number, default 1",
"in": "query",
- "name": "destination_latitude",
- "required": true,
- "type": "number",
- "x-example": 37.8199
+ "name": "page",
+ "type": "integer"
},
{
- "description": "Destination longitude",
+ "description": "Rows to return, default 100, max 100",
"in": "query",
- "name": "destination_longitude",
- "required": true,
- "type": "number",
- "x-example": -122.4783
+ "name": "limit",
+ "type": "integer"
},
{
- "description": "Travel mode. Defaults to driving.",
+ "description": "Quote currency",
"enum": [
- "driving",
- "walking"
+ "btc",
+ "eth",
+ "ltc",
+ "bch",
+ "bnb",
+ "eos",
+ "xrp",
+ "xlm",
+ "link",
+ "dot",
+ "yfi",
+ "sol",
+ "usd",
+ "aed",
+ "ars",
+ "aud",
+ "bdt",
+ "bhd",
+ "bmd",
+ "brl",
+ "cad",
+ "chf",
+ "clp",
+ "cny",
+ "czk",
+ "dkk",
+ "eur",
+ "gbp",
+ "gel",
+ "hkd",
+ "huf",
+ "idr",
+ "ils",
+ "inr",
+ "jpy",
+ "krw",
+ "kwd",
+ "lkr",
+ "mmk",
+ "mxn",
+ "myr",
+ "ngn",
+ "nok",
+ "nzd",
+ "php",
+ "pkr",
+ "pln",
+ "rub",
+ "sar",
+ "sek",
+ "sgd",
+ "thb",
+ "try",
+ "twd",
+ "uah",
+ "vef",
+ "vnd",
+ "zar",
+ "xdr",
+ "xag",
+ "xau",
+ "bits",
+ "sats"
],
"in": "query",
- "name": "mode",
- "type": "string",
- "x-example": "driving"
- },
- {
- "description": "Two-letter ISO 3166-1 country code. Defaults to US.",
- "in": "query",
- "name": "country",
- "type": "string",
- "x-example": "US"
+ "name": "vs_currency",
+ "type": "string"
}
],
"produces": [
@@ -282497,7 +353351,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/applemaps.etaResponseDoc"
+ "$ref": "#/definitions/coingecko.exchangesResponseDoc"
}
},
"400": {
@@ -282506,8 +353360,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -282524,40 +353378,96 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Apple Maps travel-time estimates between two points",
+ "summary": "CoinGecko exchanges",
"tags": [
- "Apple Maps"
+ "CoinGecko"
]
}
},
- "/apple-maps/guides": {
+ "/coingecko/gainers-losers": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns the Apple Guides home page for the Worldwide scope or one city: the featured guide, the guide carousels (expert recommendations, latest, and similar rows), the city shortcut list, and the browse-by-publisher list. Each guide carries its id (the value the guide endpoint takes), title, description, last-modified time, place count, cover photo, source link, and publisher; each publisher carries its id, name, subtitle, website, and guide count.",
- "operationId": "apple-maps-guides",
+ "description": "Returns CoinGecko's top crypto gainers and top losers as two separate arrays, `gainers` and `losers`, each up to `limit` rows (default 20, max 100). Each coin has its rank, symbol, name, price in `vs_currency`, 24h percentage change and 24h volume.",
+ "operationId": "coingecko-gainers-losers",
"parameters": [
{
- "description": "City id from /apple-maps/guides/cities. Omit for the Worldwide guides home.",
- "in": "query",
- "name": "city_id",
- "type": "string",
- "x-example": "8077516530309122779"
- },
- {
- "description": "Display language as a BCP 47 tag, e.g. en-US, fr-FR. Defaults to en-US.",
+ "description": "Rows per section to return, default 20, max 100",
"in": "query",
- "name": "lang",
- "type": "string",
- "x-example": "en-US"
+ "name": "limit",
+ "type": "integer"
},
{
- "description": "Two-letter ISO 3166-1 country code. Defaults to US.",
+ "description": "Quote currency",
+ "enum": [
+ "btc",
+ "eth",
+ "ltc",
+ "bch",
+ "bnb",
+ "eos",
+ "xrp",
+ "xlm",
+ "link",
+ "dot",
+ "yfi",
+ "sol",
+ "usd",
+ "aed",
+ "ars",
+ "aud",
+ "bdt",
+ "bhd",
+ "bmd",
+ "brl",
+ "cad",
+ "chf",
+ "clp",
+ "cny",
+ "czk",
+ "dkk",
+ "eur",
+ "gbp",
+ "gel",
+ "hkd",
+ "huf",
+ "idr",
+ "ils",
+ "inr",
+ "jpy",
+ "krw",
+ "kwd",
+ "lkr",
+ "mmk",
+ "mxn",
+ "myr",
+ "ngn",
+ "nok",
+ "nzd",
+ "php",
+ "pkr",
+ "pln",
+ "rub",
+ "sar",
+ "sek",
+ "sgd",
+ "thb",
+ "try",
+ "twd",
+ "uah",
+ "vef",
+ "vnd",
+ "zar",
+ "xdr",
+ "xag",
+ "xau",
+ "bits",
+ "sats"
+ ],
"in": "query",
- "name": "country",
- "type": "string",
- "x-example": "US"
+ "name": "vs_currency",
+ "type": "string"
}
],
"produces": [
@@ -282567,7 +353477,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/applemaps.guidesHomeResponseDoc"
+ "$ref": "#/definitions/coingecko.gainersLosersResponseDoc"
}
},
"400": {
@@ -282576,8 +353486,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -282594,35 +353504,19 @@
"ApiKeyAuth": []
}
],
- "summary": "Browse the Apple Guides home page worldwide or for one city",
+ "summary": "CoinGecko crypto gainers and losers",
"tags": [
- "Apple Maps"
+ "CoinGecko"
]
}
},
- "/apple-maps/guides/cities": {
+ "/coingecko/global": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns the Apple Guides city picker: every region (North America, Europe, Australia, and any Apple adds) with the cities it publishes guides for, each with its id, country, coordinates, and cover photo. Pass a city id to the guides home, publishers, or publisher endpoints to scope them to that city; omit it for the Worldwide scope.",
- "operationId": "apple-maps-guides-cities",
- "parameters": [
- {
- "description": "Display language as a BCP 47 tag, e.g. en-US, fr-FR. Region and city names follow it. Defaults to en-US.",
- "in": "query",
- "name": "lang",
- "type": "string",
- "x-example": "en-US"
- },
- {
- "description": "Two-letter ISO 3166-1 country code. Defaults to US.",
- "in": "query",
- "name": "country",
- "type": "string",
- "x-example": "US"
- }
- ],
+ "description": "Returns CoinGecko's global crypto market snapshot: total market cap in USD with its 24-hour and 1-year change, Bitcoin market cap, Bitcoin and Ethereum dominance, stablecoin market cap and share, and the number of coins, exchanges and categories tracked. Takes no parameters.",
+ "operationId": "coingecko-global",
"produces": [
"application/json"
],
@@ -282630,7 +353524,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/applemaps.guidesCitiesResponseDoc"
+ "$ref": "#/definitions/coingecko.globalResponseDoc"
}
},
"400": {
@@ -282639,6 +353533,12 @@
"$ref": "#/definitions/app.Response"
}
},
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
"503": {
"description": "Service Unavailable",
"schema": {
@@ -282651,41 +353551,52 @@
"ApiKeyAuth": []
}
],
- "summary": "List the regions and cities Apple Guides cover",
+ "summary": "CoinGecko global market snapshot",
"tags": [
- "Apple Maps"
+ "CoinGecko"
]
}
},
- "/apple-maps/guides/guide": {
+ "/coingecko/global/charts": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns one Apple Guide (curated collection) by id: title, description, last-modified time, cover photos, source link, publisher, and every place in the guide with the publisher's blurb for it plus the place's Apple place ID, name, category, coordinates, address, phone, website, rating, price level, hours, and photo.",
- "operationId": "apple-maps-guide",
+ "description": "Returns a time series for one global crypto metric from CoinGecko: total market cap (default), Bitcoin dominance, altcoin market cap or DeFi market cap. Choose a `range` from `24h` to `max` (default `90d`) and cap points per series with `limit` (default 120, max 500). Each point has a timestamp, datetime and value.",
+ "operationId": "coingecko-global-charts",
"parameters": [
{
- "description": "Guide id: from the guides home, a publisher page, a place's guide_ids, or the curated= value in a maps.apple.com/guides URL",
+ "description": "Chart kind, default total_market_cap",
+ "enum": [
+ "total_market_cap",
+ "bitcoin_dominance",
+ "altcoin_market_cap",
+ "defi_market_cap"
+ ],
"in": "query",
- "name": "guide_id",
- "required": true,
- "type": "string",
- "x-example": "13100041759208417726"
+ "name": "kind",
+ "type": "string"
},
{
- "description": "Display language as a BCP 47 tag, e.g. en-US, fr-FR. Defaults to en-US.",
+ "description": "Chart range, default 90d",
+ "enum": [
+ "24h",
+ "7d",
+ "14d",
+ "30d",
+ "90d",
+ "1y",
+ "max"
+ ],
"in": "query",
- "name": "lang",
- "type": "string",
- "x-example": "en-US"
+ "name": "range",
+ "type": "string"
},
{
- "description": "Two-letter ISO 3166-1 country code. Defaults to US.",
+ "description": "Rows per series to return, default 120, max 500",
"in": "query",
- "name": "country",
- "type": "string",
- "x-example": "US"
+ "name": "limit",
+ "type": "integer"
}
],
"produces": [
@@ -282695,7 +353606,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/applemaps.guideResponseDoc"
+ "$ref": "#/definitions/coingecko.globalChartsResponseDoc"
}
},
"400": {
@@ -282704,8 +353615,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -282722,41 +353633,41 @@
"ApiKeyAuth": []
}
],
- "summary": "Get one Apple Guide with its places",
+ "summary": "CoinGecko global chart series",
"tags": [
- "Apple Maps"
+ "CoinGecko"
]
}
},
- "/apple-maps/guides/lookup": {
+ "/coingecko/learn/articles": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns guide summaries (id, title, description, last-modified time, place count, cover photo, source link) for up to 20 guide ids in one call, for example the guide_ids a place carries. Ids Apple does not return are listed in not_found. Publisher details are not part of this lookup; use the guide endpoint for a single guide's publisher and places.",
- "operationId": "apple-maps-guides-lookup",
+ "description": "Lists article cards from CoinGecko Learn, optionally narrowed by `category` (`all` by default, `latest`, `guides`, `reviews`, `api` and others), up to `limit` (default 20, max 50). Each card has title, URL, image, category, excerpt, author, published date and, where present, rating score, text and votes.",
+ "operationId": "coingecko-learn-articles",
"parameters": [
{
- "description": "Comma-separated Apple guide ids, 1 to 20",
- "in": "query",
- "name": "guide_ids",
- "required": true,
- "type": "string",
- "x-example": "13100041759208417726,17954826775154719886"
- },
- {
- "description": "Display language as a BCP 47 tag. Defaults to en-US.",
+ "description": "Learn category, default all",
+ "enum": [
+ "all",
+ "latest",
+ "airdrop-guides",
+ "coins-and-tokens",
+ "guides",
+ "wallets-and-bridges",
+ "api",
+ "reviews"
+ ],
"in": "query",
- "name": "lang",
- "type": "string",
- "x-example": "en-US"
+ "name": "category",
+ "type": "string"
},
{
- "description": "Two-letter ISO 3166-1 country code. Defaults to US.",
+ "description": "Rows to return, default 20, max 50",
"in": "query",
- "name": "country",
- "type": "string",
- "x-example": "US"
+ "name": "limit",
+ "type": "integer"
}
],
"produces": [
@@ -282766,7 +353677,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/applemaps.guidesLookupResponseDoc"
+ "$ref": "#/definitions/coingecko.learnArticlesResponseDoc"
}
},
"400": {
@@ -282775,6 +353686,12 @@
"$ref": "#/definitions/app.Response"
}
},
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
"503": {
"description": "Service Unavailable",
"schema": {
@@ -282787,56 +353704,102 @@
"ApiKeyAuth": []
}
],
- "summary": "Resolve up to 20 Apple Guide ids to guide summaries",
+ "summary": "CoinGecko Learn articles",
"tags": [
- "Apple Maps"
+ "CoinGecko"
]
}
},
- "/apple-maps/guides/nearby": {
+ "/coingecko/markets": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns the guides Apple suggests for the area around a coordinate (\"Guides We Love\" for that location) as guide summaries, plus the Apple Guides city the area belongs to (with the city id the guides home endpoint takes). A coordinate outside any guides city returns an empty list.",
- "operationId": "apple-maps-guides-nearby",
+ "description": "Returns cryptocurrency market rows from CoinGecko. This endpoint supports the documented `vs_currency` enum and is not intended for real-time trading.",
+ "operationId": "coingecko-markets",
"parameters": [
{
- "description": "Latitude of the area",
- "in": "query",
- "name": "latitude",
- "required": true,
- "type": "number",
- "x-example": 37.7749
- },
- {
- "description": "Longitude of the area",
- "in": "query",
- "name": "longitude",
- "required": true,
- "type": "number",
- "x-example": -122.4194
- },
- {
- "description": "Viewport size in degrees around the center. Defaults to 0.05; minimum 0.001, maximum 5.",
+ "description": "Page number, default 1",
"in": "query",
- "name": "span",
- "type": "number",
- "x-example": 0.05
+ "name": "page",
+ "type": "integer"
},
{
- "description": "Display language as a BCP 47 tag. Defaults to en-US.",
+ "description": "Rows to return, default 100, max 100",
"in": "query",
- "name": "lang",
- "type": "string",
- "x-example": "en-US"
+ "name": "limit",
+ "type": "integer"
},
{
- "description": "Two-letter ISO 3166-1 country code. Defaults to US.",
+ "description": "Quote currency",
+ "enum": [
+ "btc",
+ "eth",
+ "ltc",
+ "bch",
+ "bnb",
+ "eos",
+ "xrp",
+ "xlm",
+ "link",
+ "dot",
+ "yfi",
+ "sol",
+ "usd",
+ "aed",
+ "ars",
+ "aud",
+ "bdt",
+ "bhd",
+ "bmd",
+ "brl",
+ "cad",
+ "chf",
+ "clp",
+ "cny",
+ "czk",
+ "dkk",
+ "eur",
+ "gbp",
+ "gel",
+ "hkd",
+ "huf",
+ "idr",
+ "ils",
+ "inr",
+ "jpy",
+ "krw",
+ "kwd",
+ "lkr",
+ "mmk",
+ "mxn",
+ "myr",
+ "ngn",
+ "nok",
+ "nzd",
+ "php",
+ "pkr",
+ "pln",
+ "rub",
+ "sar",
+ "sek",
+ "sgd",
+ "thb",
+ "try",
+ "twd",
+ "uah",
+ "vef",
+ "vnd",
+ "zar",
+ "xdr",
+ "xag",
+ "xau",
+ "bits",
+ "sats"
+ ],
"in": "query",
- "name": "country",
- "type": "string",
- "x-example": "US"
+ "name": "vs_currency",
+ "type": "string"
}
],
"produces": [
@@ -282846,7 +353809,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/applemaps.guidesNearbyResponseDoc"
+ "$ref": "#/definitions/coingecko.marketsResponseDoc"
}
},
"400": {
@@ -282855,6 +353818,18 @@
"$ref": "#/definitions/app.Response"
}
},
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
"503": {
"description": "Service Unavailable",
"schema": {
@@ -282867,48 +353842,102 @@
"ApiKeyAuth": []
}
],
- "summary": "Get the Apple Guides curated for the area around a coordinate",
+ "summary": "CoinGecko markets",
"tags": [
- "Apple Maps"
+ "CoinGecko"
]
}
},
- "/apple-maps/guides/publisher": {
+ "/coingecko/new-coins": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns one Apple Guides publisher by id: name, subtitle, website, guide count, the cities the publisher offers as filters, and its guides (each with id, title, description, last-modified time, place count, cover photo, and source link). Pass one of the publisher's own city ids as city_id to return only the guides for that city.",
- "operationId": "apple-maps-guides-publisher",
+ "description": "Lists newly listed cryptocurrencies from CoinGecko, paged with `page` (default 1) and `limit` (default and max 100), priced in `vs_currency`. Each coin has its rank, symbol, name, chain, price, 1h and 24h changes, 24h volume, fully diluted valuation and when it was last added.",
+ "operationId": "coingecko-new-coins",
"parameters": [
{
- "description": "Publisher id: from the guides home or publishers list, a guide's publisher.id, or the publisher= value in a maps.apple.com/guides URL",
- "in": "query",
- "name": "publisher_id",
- "required": true,
- "type": "string",
- "x-example": "1706564968711360917"
- },
- {
- "description": "Restrict to one city: an id from this publisher's own cities list",
+ "description": "Page number, default 1",
"in": "query",
- "name": "city_id",
- "type": "string",
- "x-example": "18366846785603624515"
+ "name": "page",
+ "type": "integer"
},
{
- "description": "Display language as a BCP 47 tag, e.g. en-US, fr-FR. Defaults to en-US.",
+ "description": "Rows to return, default 100, max 100",
"in": "query",
- "name": "lang",
- "type": "string",
- "x-example": "en-US"
+ "name": "limit",
+ "type": "integer"
},
{
- "description": "Two-letter ISO 3166-1 country code. Defaults to US.",
+ "description": "Quote currency",
+ "enum": [
+ "btc",
+ "eth",
+ "ltc",
+ "bch",
+ "bnb",
+ "eos",
+ "xrp",
+ "xlm",
+ "link",
+ "dot",
+ "yfi",
+ "sol",
+ "usd",
+ "aed",
+ "ars",
+ "aud",
+ "bdt",
+ "bhd",
+ "bmd",
+ "brl",
+ "cad",
+ "chf",
+ "clp",
+ "cny",
+ "czk",
+ "dkk",
+ "eur",
+ "gbp",
+ "gel",
+ "hkd",
+ "huf",
+ "idr",
+ "ils",
+ "inr",
+ "jpy",
+ "krw",
+ "kwd",
+ "lkr",
+ "mmk",
+ "mxn",
+ "myr",
+ "ngn",
+ "nok",
+ "nzd",
+ "php",
+ "pkr",
+ "pln",
+ "rub",
+ "sar",
+ "sek",
+ "sgd",
+ "thb",
+ "try",
+ "twd",
+ "uah",
+ "vef",
+ "vnd",
+ "zar",
+ "xdr",
+ "xag",
+ "xau",
+ "bits",
+ "sats"
+ ],
"in": "query",
- "name": "country",
- "type": "string",
- "x-example": "US"
+ "name": "vs_currency",
+ "type": "string"
}
],
"produces": [
@@ -282918,7 +353947,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/applemaps.publisherResponseDoc"
+ "$ref": "#/definitions/coingecko.newCoinsResponseDoc"
}
},
"400": {
@@ -282927,8 +353956,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -282945,40 +353974,25 @@
"ApiKeyAuth": []
}
],
- "summary": "Get one Apple Guides publisher and its guides",
+ "summary": "CoinGecko new cryptocurrencies",
"tags": [
- "Apple Maps"
+ "CoinGecko"
]
}
},
- "/apple-maps/guides/publishers": {
+ "/coingecko/news": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns the Apple Guides \"Browse by Publisher\" list for the Worldwide scope or one city, sorted by name: each publisher's id (the value the publisher endpoint takes), name, subtitle, website, and number of guides. With no city_id this is the complete enumeration of every publisher Apple lists, usable as the id lookup table for the publisher endpoint.",
- "operationId": "apple-maps-guides-publishers",
+ "description": "Returns recent crypto news cards from CoinGecko, up to `limit` articles (default 20, max 50). Each article has its title, URL, image URL, summary, publisher and `published_text`, plus the coins it mentions with their id, name, symbol, URL and `change_percent` when present.",
+ "operationId": "coingecko-news",
"parameters": [
{
- "description": "City id from /apple-maps/guides/cities. Omit for the Worldwide publisher list.",
- "in": "query",
- "name": "city_id",
- "type": "string",
- "x-example": "8077516530309122779"
- },
- {
- "description": "Display language as a BCP 47 tag, e.g. en-US, fr-FR. Defaults to en-US.",
- "in": "query",
- "name": "lang",
- "type": "string",
- "x-example": "en-US"
- },
- {
- "description": "Two-letter ISO 3166-1 country code. Defaults to US.",
+ "description": "Rows to return, default 20, max 50",
"in": "query",
- "name": "country",
- "type": "string",
- "x-example": "US"
+ "name": "limit",
+ "type": "integer"
}
],
"produces": [
@@ -282988,7 +354002,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/applemaps.guidesPublishersResponseDoc"
+ "$ref": "#/definitions/coingecko.newsResponseDoc"
}
},
"400": {
@@ -282997,8 +354011,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -283015,41 +354029,110 @@
"ApiKeyAuth": []
}
],
- "summary": "List Apple Guides publishers worldwide or for one city",
+ "summary": "CoinGecko news cards",
"tags": [
- "Apple Maps"
+ "CoinGecko"
]
}
},
- "/apple-maps/place": {
+ "/coingecko/nft/category/{slug}": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns one Apple Maps place by its place ID: name, type, category taxonomy, coordinates, formatted and structured address, phone numbers, website, rating and review count, price level, weekly opening hours, amenities (payment, accessibility, parking, and similar yes/no attributes), photos, review snippets (text, rating, time, and source link, without reviewer identity), the business-claim link, and the IDs of Apple Guides that include the place. Accepts either the external place ID (starts with I, the place-id= value in a maps.apple.com/place URL) or the numeric ID from a search result.",
- "operationId": "apple-maps-place",
+ "description": "Lists NFT collections in one CoinGecko NFT category, identified by the required `slug` such as `metaverse`. Paged with `page` and `limit` (default and max 100). Each collection has chain, floor price and market cap in native and USD terms, 24h volume, 24h sales, and 24h, 7d and 30d changes.",
+ "operationId": "coingecko-nft-category",
"parameters": [
{
- "description": "Apple place ID: external form (I594FECA0B369D14A) or numeric id from a search result",
- "in": "query",
- "name": "place_id",
+ "description": "CoinGecko NFT category slug such as metaverse",
+ "in": "path",
+ "name": "slug",
"required": true,
"type": "string",
- "x-example": "I594FECA0B369D14A"
+ "x-example": "metaverse"
},
{
- "description": "Display language as a BCP 47 tag, e.g. en-US, ja-JP, de-DE. Defaults to en-US.",
+ "description": "Page number, default 1",
"in": "query",
- "name": "lang",
- "type": "string",
- "x-example": "en-US"
+ "name": "page",
+ "type": "integer"
},
{
- "description": "Two-letter ISO 3166-1 country code selecting Apple's regional catalog. Defaults to US.",
+ "description": "Rows to return, default 100, max 100",
"in": "query",
- "name": "country",
- "type": "string",
- "x-example": "US"
+ "name": "limit",
+ "type": "integer"
+ },
+ {
+ "description": "Quote currency",
+ "enum": [
+ "btc",
+ "eth",
+ "ltc",
+ "bch",
+ "bnb",
+ "eos",
+ "xrp",
+ "xlm",
+ "link",
+ "dot",
+ "yfi",
+ "sol",
+ "usd",
+ "aed",
+ "ars",
+ "aud",
+ "bdt",
+ "bhd",
+ "bmd",
+ "brl",
+ "cad",
+ "chf",
+ "clp",
+ "cny",
+ "czk",
+ "dkk",
+ "eur",
+ "gbp",
+ "gel",
+ "hkd",
+ "huf",
+ "idr",
+ "ils",
+ "inr",
+ "jpy",
+ "krw",
+ "kwd",
+ "lkr",
+ "mmk",
+ "mxn",
+ "myr",
+ "ngn",
+ "nok",
+ "nzd",
+ "php",
+ "pkr",
+ "pln",
+ "rub",
+ "sar",
+ "sek",
+ "sgd",
+ "thb",
+ "try",
+ "twd",
+ "uah",
+ "vef",
+ "vnd",
+ "zar",
+ "xdr",
+ "xag",
+ "xau",
+ "bits",
+ "sats"
+ ],
+ "in": "query",
+ "name": "vs_currency",
+ "type": "string"
}
],
"produces": [
@@ -283059,7 +354142,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/applemaps.placeResponseDoc"
+ "$ref": "#/definitions/coingecko.nftCategoryResponseDoc"
}
},
"400": {
@@ -283074,6 +354157,12 @@
"$ref": "#/definitions/app.Response"
}
},
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
"503": {
"description": "Service Unavailable",
"schema": {
@@ -283086,41 +354175,102 @@
"ApiKeyAuth": []
}
],
- "summary": "Get one Apple Maps place's full detail",
+ "summary": "CoinGecko NFT category",
"tags": [
- "Apple Maps"
+ "CoinGecko"
]
}
},
- "/apple-maps/place/photos": {
+ "/coingecko/nfts": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns all of a place's photos (the place endpoint caps at 20): the business cover photo first when present, then the hero photo, then every categorized photo with its category (Food & Drink, Interior, Exterior, ...), width and height.",
- "operationId": "apple-maps-place-photos",
+ "description": "Lists NFT collections from CoinGecko's main NFT table, paged with `page` (default 1) and `limit` (default and max 100). Each collection has rank, name, chain, floor price, market cap and 24h volume in native and USD terms, 24h sales, and 24h, 7d and 30d percentage changes.",
+ "operationId": "coingecko-nfts",
"parameters": [
{
- "description": "Apple place ID (external I... form or numeric id)",
+ "description": "Page number, default 1",
"in": "query",
- "name": "place_id",
- "required": true,
- "type": "string",
- "x-example": "I594FECA0B369D14A"
+ "name": "page",
+ "type": "integer"
},
{
- "description": "Display language as a BCP 47 tag, e.g. en-US. Defaults to en-US.",
+ "description": "Rows to return, default 100, max 100",
"in": "query",
- "name": "lang",
- "type": "string",
- "x-example": "en-US"
+ "name": "limit",
+ "type": "integer"
},
{
- "description": "Two-letter ISO 3166-1 country code. Defaults to US.",
+ "description": "Quote currency",
+ "enum": [
+ "btc",
+ "eth",
+ "ltc",
+ "bch",
+ "bnb",
+ "eos",
+ "xrp",
+ "xlm",
+ "link",
+ "dot",
+ "yfi",
+ "sol",
+ "usd",
+ "aed",
+ "ars",
+ "aud",
+ "bdt",
+ "bhd",
+ "bmd",
+ "brl",
+ "cad",
+ "chf",
+ "clp",
+ "cny",
+ "czk",
+ "dkk",
+ "eur",
+ "gbp",
+ "gel",
+ "hkd",
+ "huf",
+ "idr",
+ "ils",
+ "inr",
+ "jpy",
+ "krw",
+ "kwd",
+ "lkr",
+ "mmk",
+ "mxn",
+ "myr",
+ "ngn",
+ "nok",
+ "nzd",
+ "php",
+ "pkr",
+ "pln",
+ "rub",
+ "sar",
+ "sek",
+ "sgd",
+ "thb",
+ "try",
+ "twd",
+ "uah",
+ "vef",
+ "vnd",
+ "zar",
+ "xdr",
+ "xag",
+ "xau",
+ "bits",
+ "sats"
+ ],
"in": "query",
- "name": "country",
- "type": "string",
- "x-example": "US"
+ "name": "vs_currency",
+ "type": "string"
}
],
"produces": [
@@ -283130,7 +354280,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/applemaps.placePhotosResponseDoc"
+ "$ref": "#/definitions/coingecko.nftsResponseDoc"
}
},
"400": {
@@ -283139,8 +354289,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -283157,41 +354307,33 @@
"ApiKeyAuth": []
}
],
- "summary": "List every photo Apple Maps carries for a place",
+ "summary": "CoinGecko NFT collections",
"tags": [
- "Apple Maps"
+ "CoinGecko"
]
}
},
- "/apple-maps/places": {
+ "/coingecko/search": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns the same full detail as the place endpoint for up to 20 place IDs in a single upstream call, plus the list of requested IDs Apple did not return. Accepts the external I... form and the numeric id interchangeably.",
- "operationId": "apple-maps-places",
+ "description": "Searches CoinGecko for the required query `q` and returns matches in separate sections: `coins`, `categories`, `markets`, `nft_contracts`, `asset_platforms` and `posts`, each up to `limit` rows (default 10, max 50). Every section is always an array, and a search with no matches returns empty arrays.",
+ "operationId": "coingecko-search",
"parameters": [
{
- "description": "Comma-separated Apple place ids, 1 to 20",
+ "description": "Search query",
"in": "query",
- "name": "place_ids",
+ "name": "q",
"required": true,
"type": "string",
- "x-example": "I594FECA0B369D14A,243355970509228267"
- },
- {
- "description": "Display language as a BCP 47 tag. Defaults to en-US.",
- "in": "query",
- "name": "lang",
- "type": "string",
- "x-example": "en-US"
+ "x-example": "bitcoin"
},
{
- "description": "Two-letter ISO 3166-1 country code. Defaults to US.",
+ "description": "Rows per section to return, default 10, max 50",
"in": "query",
- "name": "country",
- "type": "string",
- "x-example": "US"
+ "name": "limit",
+ "type": "integer"
}
],
"produces": [
@@ -283201,7 +354343,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/applemaps.placesResponseDoc"
+ "$ref": "#/definitions/coingecko.searchResponseDoc"
}
},
"400": {
@@ -283210,6 +354352,12 @@
"$ref": "#/definitions/app.Response"
}
},
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
"503": {
"description": "Service Unavailable",
"schema": {
@@ -283222,49 +354370,25 @@
"ApiKeyAuth": []
}
],
- "summary": "Get full detail for up to 20 Apple Maps places in one call",
+ "summary": "CoinGecko discovery search",
"tags": [
- "Apple Maps"
+ "CoinGecko"
]
}
},
- "/apple-maps/reverse-geocode": {
+ "/coingecko/token-unlocks": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns Apple Maps' address record for a coordinate: the matched place name and type (an address, street, or area of interest such as a neighborhood), the formatted and structured address, the matched center, the IANA timezone, and the display region.",
- "operationId": "apple-maps-reverse-geocode",
+ "description": "Returns CoinGecko's list of upcoming token unlocks, up to 100 rows. Each row has the coin's name, symbol, rank, price, 1-hour, 24-hour and 7-day change and market cap, the share of supply already released, and the next unlock's amount, percentage, USD value and time remaining.",
+ "operationId": "coingecko-token-unlocks",
"parameters": [
{
- "description": "Latitude to reverse-geocode",
- "in": "query",
- "name": "latitude",
- "required": true,
- "type": "number",
- "x-example": 37.7749
- },
- {
- "description": "Longitude to reverse-geocode",
- "in": "query",
- "name": "longitude",
- "required": true,
- "type": "number",
- "x-example": -122.4194
- },
- {
- "description": "Display language as a BCP 47 tag. Defaults to en-US.",
- "in": "query",
- "name": "lang",
- "type": "string",
- "x-example": "en-US"
- },
- {
- "description": "Two-letter ISO 3166-1 country code. Defaults to US.",
+ "description": "Rows to return, default 100, max 100",
"in": "query",
- "name": "country",
- "type": "string",
- "x-example": "US"
+ "name": "limit",
+ "type": "integer"
}
],
"produces": [
@@ -283274,7 +354398,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/applemaps.reverseGeocodeResponseDoc"
+ "$ref": "#/definitions/coingecko.tokenUnlocksResponseDoc"
}
},
"400": {
@@ -283283,8 +354407,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -283301,90 +354425,122 @@
"ApiKeyAuth": []
}
],
- "summary": "Reverse-geocode a coordinate with Apple Maps",
+ "summary": "CoinGecko incoming token unlocks",
"tags": [
- "Apple Maps"
+ "CoinGecko"
]
}
},
- "/apple-maps/search": {
+ "/coingecko/treasuries": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns Apple Maps places matching a keyword, business name, category, or street address near a coordinate. Each place carries its Apple place ID (the value the place endpoint takes), name, category, coordinates, formatted and structured address, phone, website, rating and review count, price level, weekly opening hours, and a hero photo. Apple returns a bounded set per viewport (around 25 places for the default span) with no pagination; widen the span or move the center to cover more area. When nothing matches near the center Apple may relocate the search to a default region, reported by relocated=true and the region bounds. The response's filters block lists the refinement chips Apple offers for this query and area (open now, top rated, in guides, cuisines, price bands, amenities, accolades, sort); pass their keys back as filters and sort to refine the same search.",
- "operationId": "apple-maps-search",
+ "description": "Lists entities that hold crypto treasuries, filtered by `asset` (`all`, `bitcoin`, `ethereum`, `solana`, `bnb`, `xrp`, `tron`) and `holder_type` (`all`, `companies`, `governments`), up to `limit` (default and max 100). Setting both filters to non-`all` values is rejected. Rows show holdings, cost, current value, mNAV and 30-day activity.",
+ "operationId": "coingecko-treasuries",
"parameters": [
{
- "description": "Keyword, business name, category, or street address to search for",
- "in": "query",
- "name": "query",
- "required": true,
- "type": "string",
- "x-example": "coffee"
- },
- {
- "description": "Search center latitude",
- "in": "query",
- "name": "latitude",
- "required": true,
- "type": "number",
- "x-example": 37.7749
- },
- {
- "description": "Search center longitude",
+ "description": "Treasury asset filter, default all",
+ "enum": [
+ "all",
+ "bitcoin",
+ "ethereum",
+ "solana",
+ "bnb",
+ "xrp",
+ "tron"
+ ],
"in": "query",
- "name": "longitude",
- "required": true,
- "type": "number",
- "x-example": -122.4194
+ "name": "asset",
+ "type": "string"
},
{
- "description": "Search viewport size in degrees of latitude/longitude around the center. Defaults to 0.05 (roughly a 5km box); minimum 0.001, maximum 5.",
+ "description": "Treasury holder type filter, default all",
+ "enum": [
+ "all",
+ "companies",
+ "governments"
+ ],
"in": "query",
- "name": "span",
- "type": "number",
- "x-example": 0.05
+ "name": "holder_type",
+ "type": "string"
},
{
- "description": "Max places returned. Defaults to 25, maximum 100.",
+ "description": "Rows to return, default 100, max 100",
"in": "query",
"name": "limit",
- "type": "integer",
- "x-example": 25
- },
- {
- "description": "Display language as a BCP 47 tag, e.g. en-US, ja-JP, de-DE. Defaults to en-US.",
- "in": "query",
- "name": "lang",
- "type": "string",
- "x-example": "en-US"
- },
- {
- "description": "Two-letter ISO 3166-1 country code selecting Apple's regional catalog. Defaults to US.",
- "in": "query",
- "name": "country",
- "type": "string",
- "x-example": "US"
- },
- {
- "description": "Comma-separated filter keys from the filters block of an unfiltered search for the same query and area, e.g. OPEN_NOW, TOP_RATED, FEATURED_IN_GUIDES, PRICE_RANGE_MODERATE, modern_pizza_restaurant, ACCEPTS_CREDIT_CARDS. Unknown keys return 400 listing the available keys. Costs a second upstream search.",
- "in": "query",
- "name": "filters",
- "type": "string",
- "x-example": "OPEN_NOW,modern_pizza_restaurant"
+ "type": "integer"
},
{
- "description": "Result order. Costs a second upstream search.",
+ "description": "Quote currency",
"enum": [
- "best_match",
- "distance",
- "ratings"
+ "btc",
+ "eth",
+ "ltc",
+ "bch",
+ "bnb",
+ "eos",
+ "xrp",
+ "xlm",
+ "link",
+ "dot",
+ "yfi",
+ "sol",
+ "usd",
+ "aed",
+ "ars",
+ "aud",
+ "bdt",
+ "bhd",
+ "bmd",
+ "brl",
+ "cad",
+ "chf",
+ "clp",
+ "cny",
+ "czk",
+ "dkk",
+ "eur",
+ "gbp",
+ "gel",
+ "hkd",
+ "huf",
+ "idr",
+ "ils",
+ "inr",
+ "jpy",
+ "krw",
+ "kwd",
+ "lkr",
+ "mmk",
+ "mxn",
+ "myr",
+ "ngn",
+ "nok",
+ "nzd",
+ "php",
+ "pkr",
+ "pln",
+ "rub",
+ "sar",
+ "sek",
+ "sgd",
+ "thb",
+ "try",
+ "twd",
+ "uah",
+ "vef",
+ "vnd",
+ "zar",
+ "xdr",
+ "xag",
+ "xau",
+ "bits",
+ "sats"
],
"in": "query",
- "name": "sort",
- "type": "string",
- "x-example": "ratings"
+ "name": "vs_currency",
+ "type": "string"
}
],
"produces": [
@@ -283394,7 +354550,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/applemaps.searchResponseDoc"
+ "$ref": "#/definitions/coingecko.treasuriesResponseDoc"
}
},
"400": {
@@ -283403,6 +354559,12 @@
"$ref": "#/definitions/app.Response"
}
},
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
"503": {
"description": "Service Unavailable",
"schema": {
@@ -283415,41 +354577,96 @@
"ApiKeyAuth": []
}
],
- "summary": "Search Apple Maps places near a coordinate",
+ "summary": "CoinGecko crypto treasuries",
"tags": [
- "Apple Maps"
+ "CoinGecko"
]
}
},
- "/apple-maps/transit-departures": {
+ "/coingecko/trending": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns a transit stop or station's systems (e.g. BART, Muni Metro), lines (name, shield, color), and the upcoming departures Apple Maps shows, each with the line, headsign, direction, scheduled and live times, and real-time status. Takes the stop's Apple place ID (find stops with the search endpoint, e.g. a station name). A place that is not a transit stop returns 404.",
- "operationId": "apple-maps-transit-departures",
+ "description": "Returns trending coins and trending categories from CoinGecko's highlights, deduplicated by slug, each section up to `limit` rows (default 20, max 50). Items carry name, URL and, where CoinGecko shows them, price in `vs_currency` and 1h, 24h and 7d percentage changes.",
+ "operationId": "coingecko-trending",
"parameters": [
{
- "description": "Apple place ID of a transit stop or station (external I... form or numeric id)",
- "in": "query",
- "name": "place_id",
- "required": true,
- "type": "string",
- "x-example": "5261664738367631956"
- },
- {
- "description": "Display language as a BCP 47 tag, e.g. en-US. Defaults to en-US.",
+ "description": "Rows per section to return, default 20, max 50",
"in": "query",
- "name": "lang",
- "type": "string",
- "x-example": "en-US"
+ "name": "limit",
+ "type": "integer"
},
{
- "description": "Two-letter ISO 3166-1 country code. Defaults to US.",
+ "description": "Quote currency",
+ "enum": [
+ "btc",
+ "eth",
+ "ltc",
+ "bch",
+ "bnb",
+ "eos",
+ "xrp",
+ "xlm",
+ "link",
+ "dot",
+ "yfi",
+ "sol",
+ "usd",
+ "aed",
+ "ars",
+ "aud",
+ "bdt",
+ "bhd",
+ "bmd",
+ "brl",
+ "cad",
+ "chf",
+ "clp",
+ "cny",
+ "czk",
+ "dkk",
+ "eur",
+ "gbp",
+ "gel",
+ "hkd",
+ "huf",
+ "idr",
+ "ils",
+ "inr",
+ "jpy",
+ "krw",
+ "kwd",
+ "lkr",
+ "mmk",
+ "mxn",
+ "myr",
+ "ngn",
+ "nok",
+ "nzd",
+ "php",
+ "pkr",
+ "pln",
+ "rub",
+ "sar",
+ "sek",
+ "sgd",
+ "thb",
+ "try",
+ "twd",
+ "uah",
+ "vef",
+ "vnd",
+ "zar",
+ "xdr",
+ "xag",
+ "xau",
+ "bits",
+ "sats"
+ ],
"in": "query",
- "name": "country",
- "type": "string",
- "x-example": "US"
+ "name": "vs_currency",
+ "type": "string"
}
],
"produces": [
@@ -283459,7 +354676,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/applemaps.transitDeparturesResponseDoc"
+ "$ref": "#/definitions/coingecko.trendingResponseDoc"
}
},
"400": {
@@ -283468,8 +354685,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -283486,55 +354703,33 @@
"ApiKeyAuth": []
}
],
- "summary": "Get a transit stop's lines and live departures from Apple Maps",
+ "summary": "CoinGecko trending highlights",
"tags": [
- "Apple Maps"
+ "CoinGecko"
]
}
},
- "/apple-maps/venue/browse": {
+ "/colehaan/collections": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns an indoor venue's directory (mall, airport, stadium: categories such as Clothes, Shoes, Food, All Shops with their subcategories and levels) and, when a category is given, the places inside the venue for that category with the same summary shape as search. Find venues with the search endpoint; a place without a directory returns 404, an unknown category returns 400 listing the available ones.",
- "operationId": "apple-maps-venue-browse",
+ "description": "Returns collections from Cole Haan (https://www.colehaan.com). The storefront URL is fixed server-side. Valid empty result pages return `200` with an empty collections array.",
+ "operationId": "colehaan-collections",
"parameters": [
{
- "description": "Apple place ID of the venue (external I... form or numeric id)",
- "in": "query",
- "name": "place_id",
- "required": true,
- "type": "string",
- "x-example": "14643260860569849804"
- },
- {
- "description": "Directory category or subcategory to browse, by name (case-insensitive) or key from the venue's directory. Omit to list the directory only.",
+ "description": "1-based page, defaults to 1",
"in": "query",
- "name": "category",
- "type": "string",
- "x-example": "Clothes"
+ "name": "page",
+ "type": "integer",
+ "x-example": 1
},
{
- "description": "Max places returned. Defaults to 25, maximum 100.",
+ "description": "Maximum collections, defaults to 50 and supports up to 250",
"in": "query",
"name": "limit",
"type": "integer",
- "x-example": 25
- },
- {
- "description": "Display language as a BCP 47 tag, e.g. en-US. Defaults to en-US.",
- "in": "query",
- "name": "lang",
- "type": "string",
- "x-example": "en-US"
- },
- {
- "description": "Two-letter ISO 3166-1 country code. Defaults to US.",
- "in": "query",
- "name": "country",
- "type": "string",
- "x-example": "US"
+ "x-example": 50
}
],
"produces": [
@@ -283544,7 +354739,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/applemaps.venueBrowseResponseDoc"
+ "$ref": "#/definitions/shopifybrands.collectionsResponseDoc"
}
},
"400": {
@@ -283553,8 +354748,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -283571,43 +354766,37 @@
"ApiKeyAuth": []
}
],
- "summary": "Browse the stores and places inside a venue on Apple Maps",
+ "summary": "List Cole Haan collections",
"tags": [
- "Apple Maps"
+ "Cole Haan"
]
}
},
- "/apple-podcasts/charts": {
+ "/colehaan/collections/{handle}/products": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns Apple Podcasts show chart rankings for a `collection`, either `toppodcasts` or `topaudiopodcasts`. Narrow with `category` (a numeric Apple podcast genre ID), `country` and `limit`. Each entry has `name`, `artist_name`, `genre`, `genre_id`, `description`, `release_date`, `artwork_url` and `url`.",
- "operationId": "apple-podcasts-charts",
+ "description": "Returns products from one Cole Haan (https://www.colehaan.com) collection. The storefront URL is fixed server-side; `handle` is the collection's URL slug.",
+ "operationId": "colehaan-collection-products",
"parameters": [
{
- "description": "Chart collection",
- "in": "query",
- "name": "collection",
+ "description": "Collection handle",
+ "in": "path",
+ "name": "handle",
+ "required": true,
"type": "string",
- "x-example": "toppodcasts"
+ "x-example": "collection-handle"
},
{
- "description": "Numeric Apple podcast genre ID",
+ "description": "1-based page, defaults to 1",
"in": "query",
- "name": "category",
+ "name": "page",
"type": "integer",
- "x-example": 1303
- },
- {
- "description": "Two-letter storefront country code",
- "in": "query",
- "name": "country",
- "type": "string",
- "x-example": "us"
+ "x-example": 1
},
{
- "description": "Number of chart items to return",
+ "description": "Maximum products, defaults to 50 and supports up to 250",
"in": "query",
"name": "limit",
"type": "integer",
@@ -283621,23 +354810,29 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/applepodcasts.chartsResponseDoc"
+ "$ref": "#/definitions/shopifybrands.collectionProductsResponseDoc"
}
},
"400": {
- "description": "Missing or invalid parameters",
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"429": {
- "description": "Rate limit exceeded",
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal server error",
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -283648,54 +354843,33 @@
"ApiKeyAuth": []
}
],
- "summary": "Retrieve Apple Podcasts chart rankings",
+ "summary": "List Cole Haan collection products",
"tags": [
- "ApplePodcasts"
+ "Cole Haan"
]
}
},
- "/apple-podcasts/charts/rankings": {
+ "/colehaan/pages": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns Apple Podcasts chart rankings from the modern podcasts.apple.com charts page, covering chart algorithms (`top`, `top-subscriber`, `top-series`) crossed with entity types (`podcasts`, `podcast-episodes`, `podcast-channels`) and an optional genre filter. A richer, differently-sourced capability than the legacy RSS-based `/apple-podcasts/charts` endpoint.",
- "operationId": "apple-podcasts-charts-rankings",
+ "description": "Lists Cole Haan static pages, with `page` (from 1) and `limit` (default 50, max 250). Each page has handle, title, URL, plain-text content and timestamps. If `transport_mode` is `ssr_embedded`, items carry only `handle`, `url` and `updated_at`, so fetch a single page for its content.",
+ "operationId": "colehaan-pages",
"parameters": [
{
- "description": "Chart algorithm. Allowed values: `top`, `top-subscriber`, `top-series`. Default `top`.",
- "in": "query",
- "name": "chart",
- "type": "string",
- "x-example": "top"
- },
- {
- "description": "Entity type. Allowed values: `podcasts`, `podcast-episodes`, `podcast-channels`. Default `podcasts`.",
- "in": "query",
- "name": "type",
- "type": "string",
- "x-example": "podcasts"
- },
- {
- "description": "Optional Apple Podcasts genre ID to filter the chart, e.g. 1303 for Comedy",
+ "description": "1-based page, defaults to 1",
"in": "query",
- "name": "genre",
+ "name": "page",
"type": "integer",
- "x-example": 1303
- },
- {
- "description": "Two-letter storefront country code",
- "in": "query",
- "name": "country",
- "type": "string",
- "x-example": "us"
+ "x-example": 1
},
{
- "description": "Number of chart entries to return, default 24, max 200",
+ "description": "Maximum static pages, defaults to 50 and supports up to 250",
"in": "query",
"name": "limit",
"type": "integer",
- "x-example": 24
+ "x-example": 50
}
],
"produces": [
@@ -283705,23 +354879,23 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/applepodcasts.chartRankingsResponseDoc"
+ "$ref": "#/definitions/shopifybrands.pagesResponseDoc"
}
},
"400": {
- "description": "Missing or invalid parameters",
+ "description": "Bad Request",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"429": {
- "description": "Rate limit exceeded",
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal server error",
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -283732,55 +354906,27 @@
"ApiKeyAuth": []
}
],
- "summary": "Retrieve Apple Podcasts chart rankings by algorithm, type, and genre",
+ "summary": "List Cole Haan static pages",
"tags": [
- "ApplePodcasts"
+ "Cole Haan"
]
}
},
- "/apple-podcasts/episodes/search": {
+ "/colehaan/pages/{handle}": {
"get": {
"consumes": [
"application/json"
],
- "description": "Searches Apple Podcasts episodes by `term`, which is required. `country`, `lang`, `limit` and `page` (1-based) refine the search. Each episode has its `title`, `show_name`, `show_id`, `description`, `duration_millis`, `release_date`, `episode_url`, `preview_url`, `feed_url`, genres and artwork.",
- "operationId": "apple-podcasts-episodes-search",
+ "description": "Returns one Cole Haan static page by its `handle`: id, title, URL, plain-text content, and created, published and updated times. A missing handle returns 404. When `transport_mode` is `ssr_embedded`, `id` is omitted and the content is plain text taken from the page's rich-text blocks.",
+ "operationId": "colehaan-page",
"parameters": [
{
- "description": "Search term",
- "in": "query",
- "name": "term",
+ "description": "Page handle",
+ "in": "path",
+ "name": "handle",
"required": true,
"type": "string",
- "x-example": "hardcore history"
- },
- {
- "description": "Two-letter storefront country code",
- "in": "query",
- "name": "country",
- "type": "string",
- "x-example": "us"
- },
- {
- "description": "Result language tag",
- "in": "query",
- "name": "lang",
- "type": "string",
- "x-example": "en-us"
- },
- {
- "description": "Number of episodes per page",
- "in": "query",
- "name": "limit",
- "type": "integer",
- "x-example": 50
- },
- {
- "description": "Search page number (1-based)",
- "in": "query",
- "name": "page",
- "type": "integer",
- "x-example": 1
+ "x-example": "page-handle"
}
],
"produces": [
@@ -283790,23 +354936,29 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/applepodcasts.episodeSearchResponseDoc"
+ "$ref": "#/definitions/shopifybrands.pageResponseDoc"
}
},
"400": {
- "description": "Missing or invalid parameters",
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"429": {
- "description": "Rate limit exceeded",
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal server error",
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -283817,26 +354969,33 @@
"ApiKeyAuth": []
}
],
- "summary": "Search Apple Podcasts episodes",
+ "summary": "Get a Cole Haan static page",
"tags": [
- "ApplePodcasts"
+ "Cole Haan"
]
}
},
- "/apple-podcasts/new": {
+ "/colehaan/products": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns the curated editorial shelves from podcasts.apple.com/{country}/new (New Shows, New Seasons, New Trailers, Essentials, and other seasonal spotlights). Shelves that merely mirror a Charts Rankings query are omitted here since `/apple-podcasts/charts/rankings` already covers that data.",
- "operationId": "apple-podcasts-new",
+ "description": "Returns products from Cole Haan's (https://www.colehaan.com) product catalog. The storefront URL is fixed server-side. Valid empty result pages return `200` with an empty products array.",
+ "operationId": "colehaan-products",
"parameters": [
{
- "description": "Two-letter storefront country code",
+ "description": "1-based page, defaults to 1",
"in": "query",
- "name": "country",
- "type": "string",
- "x-example": "us"
+ "name": "page",
+ "type": "integer",
+ "x-example": 1
+ },
+ {
+ "description": "Maximum products, defaults to 50 and supports up to 250",
+ "in": "query",
+ "name": "limit",
+ "type": "integer",
+ "x-example": 50
}
],
"produces": [
@@ -283846,17 +355005,23 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/applepodcasts.newShelvesResponseDoc"
+ "$ref": "#/definitions/shopifybrands.productsResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
}
},
"429": {
- "description": "Rate limit exceeded",
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal server error",
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -283867,55 +355032,27 @@
"ApiKeyAuth": []
}
],
- "summary": "Retrieve Apple Podcasts curated \"New\" editorial shelves",
+ "summary": "List Cole Haan products",
"tags": [
- "ApplePodcasts"
+ "Cole Haan"
]
}
},
- "/apple-podcasts/search": {
+ "/colehaan/products/{handle}": {
"get": {
"consumes": [
"application/json"
],
- "description": "Searches Apple Podcasts shows by `term`, which is required. `country`, `lang`, `limit` and `page` (1-based) refine the search. Each show has `collection_name`, `artist_name`, `feed_url`, `primary_genre_name`, `genres`, `track_count`, `release_date`, content advisory rating and several artwork sizes.",
- "operationId": "apple-podcasts-search",
+ "description": "Returns product detail for one Cole Haan (https://www.colehaan.com) product handle. The storefront URL is fixed server-side; `handle` is the product's URL slug.",
+ "operationId": "colehaan-product",
"parameters": [
{
- "description": "Search term",
- "in": "query",
- "name": "term",
+ "description": "Product handle",
+ "in": "path",
+ "name": "handle",
"required": true,
"type": "string",
- "x-example": "hardcore history"
- },
- {
- "description": "Two-letter storefront country code",
- "in": "query",
- "name": "country",
- "type": "string",
- "x-example": "us"
- },
- {
- "description": "Result language tag",
- "in": "query",
- "name": "lang",
- "type": "string",
- "x-example": "en-us"
- },
- {
- "description": "Number of shows per page",
- "in": "query",
- "name": "limit",
- "type": "integer",
- "x-example": 50
- },
- {
- "description": "Search page number (1-based)",
- "in": "query",
- "name": "page",
- "type": "integer",
- "x-example": 1
+ "x-example": "product-handle"
}
],
"produces": [
@@ -283925,23 +355062,29 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/applepodcasts.searchResponseDoc"
+ "$ref": "#/definitions/shopifybrands.productResponseDoc"
}
},
"400": {
- "description": "Missing or invalid parameters",
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"429": {
- "description": "Rate limit exceeded",
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal server error",
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -283952,41 +355095,45 @@
"ApiKeyAuth": []
}
],
- "summary": "Search Apple Podcasts shows",
+ "summary": "Get a Cole Haan product",
"tags": [
- "ApplePodcasts"
+ "Cole Haan"
]
}
},
- "/apple-podcasts/show/{id}": {
+ "/colehaan/products/{handle}/recommendations": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns the details of one Apple Podcasts show by its Apple show `id`: `collection_name`, `artist_name`, `feed_url`, `primary_genre_name`, `genres`, `track_count`, `release_date`, content advisory rating and artwork. `country` and `lang` choose the storefront and language.",
- "operationId": "apple-podcasts-show",
+ "description": "Returns recommended products for one Cole Haan (https://www.colehaan.com) product handle. The storefront URL is fixed server-side.",
+ "operationId": "colehaan-product-recommendations",
"parameters": [
{
- "description": "Apple Podcasts show ID",
+ "description": "Product handle",
"in": "path",
- "name": "id",
+ "name": "handle",
"required": true,
"type": "string",
- "x-example": "173001861"
+ "x-example": "product-handle"
},
{
- "description": "Two-letter storefront country code",
+ "description": "Maximum products, defaults to 10 and supports up to 20",
"in": "query",
- "name": "country",
- "type": "string",
- "x-example": "us"
+ "name": "limit",
+ "type": "integer",
+ "x-example": 10
},
{
- "description": "Result language tag",
+ "description": "Recommendation intent. Allowed values: related, complementary",
+ "enum": [
+ "related",
+ "complementary"
+ ],
"in": "query",
- "name": "lang",
+ "name": "intent",
"type": "string",
- "x-example": "en-us"
+ "x-example": "related"
}
],
"produces": [
@@ -283996,29 +355143,29 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/applepodcasts.showResponseDoc"
+ "$ref": "#/definitions/shopifybrands.productRecommendationsResponseDoc"
}
},
"400": {
- "description": "Missing or invalid parameters",
+ "description": "Bad Request",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"404": {
- "description": "Show not found",
+ "description": "Not Found",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"429": {
- "description": "Rate limit exceeded",
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal server error",
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -284029,48 +355176,41 @@
"ApiKeyAuth": []
}
],
- "summary": "Retrieve Apple Podcasts show details",
+ "summary": "List Cole Haan product recommendations",
"tags": [
- "ApplePodcasts"
+ "Cole Haan"
]
}
},
- "/apple-podcasts/show/{id}/episodes": {
+ "/colehaan/search/suggest": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns one Apple Podcasts show by its Apple show `id`, together with a list of its episodes. `limit` sets how many episodes to return; `country` and `lang` choose the storefront and language. Episodes have `title`, `description`, `duration_millis`, `release_date`, `episode_url` and `episode_guid`.",
- "operationId": "apple-podcasts-show-episodes",
+ "description": "Returns products, collections, and query suggestions from Cole Haan's (https://www.colehaan.com) predictive search. The storefront URL is fixed server-side.",
+ "operationId": "colehaan-search-suggest",
"parameters": [
{
- "description": "Apple Podcasts show ID",
- "in": "path",
- "name": "id",
- "required": true,
- "type": "string",
- "x-example": "173001861"
- },
- {
- "description": "Two-letter storefront country code",
+ "description": "Search query",
"in": "query",
- "name": "country",
+ "name": "q",
+ "required": true,
"type": "string",
- "x-example": "us"
+ "x-example": "wool"
},
{
- "description": "Result language tag",
+ "description": "Comma-separated suggestion types. Allowed values: product, collection, query",
"in": "query",
- "name": "lang",
+ "name": "types",
"type": "string",
- "x-example": "en-us"
+ "x-example": "product,collection,query"
},
{
- "description": "Number of episodes to return",
+ "description": "Maximum results per type, defaults to 10 and supports up to 20",
"in": "query",
"name": "limit",
"type": "integer",
- "x-example": 50
+ "x-example": 10
}
],
"produces": [
@@ -284080,29 +355220,23 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/applepodcasts.showEpisodesResponseDoc"
+ "$ref": "#/definitions/shopifybrands.searchSuggestResponseDoc"
}
},
"400": {
- "description": "Missing or invalid parameters",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
- "404": {
- "description": "Show not found",
+ "description": "Bad Request",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"429": {
- "description": "Rate limit exceeded",
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal server error",
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -284113,41 +355247,42 @@
"ApiKeyAuth": []
}
],
- "summary": "Retrieve Apple Podcasts show episodes",
+ "summary": "Get Cole Haan search suggestions",
"tags": [
- "ApplePodcasts"
+ "Cole Haan"
]
}
},
- "/apple-podcasts/show/{id}/related": {
+ "/colehaan/sitemap/urls": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns the \"You Might Also Like\" rail for a single show, sourced from the modern podcasts.apple.com show page's listener-cohort recommendation data.",
- "operationId": "apple-podcasts-show-related",
+ "description": "Returns capped URL entries from Cole Haan's (https://www.colehaan.com) child sitemaps matching the requested type. The storefront URL is fixed server-side.",
+ "operationId": "colehaan-sitemap-urls",
"parameters": [
{
- "description": "Apple Podcasts show ID",
- "in": "path",
- "name": "id",
- "required": true,
- "type": "string",
- "x-example": "173001861"
- },
- {
- "description": "Two-letter storefront country code",
+ "description": "Sitemap type. Allowed values: all, products, collections, pages, blogs, agentic_discovery, other",
+ "enum": [
+ "all",
+ "products",
+ "collections",
+ "pages",
+ "blogs",
+ "agentic_discovery",
+ "other"
+ ],
"in": "query",
- "name": "country",
+ "name": "type",
"type": "string",
- "x-example": "us"
+ "x-example": "products"
},
{
- "description": "Number of related shows to return, default 20, max 50",
+ "description": "Maximum URL entries, defaults to 50 and supports up to 250",
"in": "query",
"name": "limit",
"type": "integer",
- "x-example": 20
+ "x-example": 50
}
],
"produces": [
@@ -284157,29 +355292,23 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/applepodcasts.relatedShowsResponseDoc"
+ "$ref": "#/definitions/shopifybrands.sitemapURLsResponseDoc"
}
},
"400": {
- "description": "Missing or invalid parameters",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
- "404": {
- "description": "Show not found",
+ "description": "Bad Request",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"429": {
- "description": "Rate limit exceeded",
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal server error",
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -284190,63 +355319,19 @@
"ApiKeyAuth": []
}
],
- "summary": "Retrieve Apple Podcasts \"You Might Also Like\" related shows",
+ "summary": "List Cole Haan sitemap URLs",
"tags": [
- "ApplePodcasts"
+ "Cole Haan"
]
}
},
- "/appstore/app": {
+ "/colehaan/sitemaps": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns app metadata from the App Store. Provide either `id` (numeric track ID) or `app_id` (bundle ID). `id`/`app_id` can identify an iPhone, iPad, or Mac App Store listing.",
- "operationId": "appstore-app",
- "parameters": [
- {
- "description": "App Store numeric track ID (digits only)",
- "in": "query",
- "name": "id",
- "type": "string",
- "x-example": "553834731"
- },
- {
- "description": "App Store bundle ID",
- "in": "query",
- "name": "app_id",
- "type": "string",
- "x-example": "com.midasplayer.apps.candycrushsaga"
- },
- {
- "description": "Two-letter storefront country code",
- "in": "query",
- "name": "country",
- "type": "string",
- "x-example": "us"
- },
- {
- "description": "Result language tag",
- "in": "query",
- "name": "lang",
- "type": "string",
- "x-example": "en-us"
- },
- {
- "default": false,
- "description": "Include ratings histogram",
- "in": "query",
- "name": "ratings",
- "type": "boolean"
- },
- {
- "default": false,
- "description": "Include the full device-platform compatibility list (adds one extra upstream fetch)",
- "in": "query",
- "name": "platforms",
- "type": "boolean"
- }
- ],
+ "description": "Returns child sitemap URLs from Cole Haan's (https://www.colehaan.com) `/sitemap.xml` index with inferred sitemap types. The storefront URL is fixed server-side.",
+ "operationId": "colehaan-sitemaps",
"produces": [
"application/json"
],
@@ -284254,29 +355339,23 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/appstore.appDetailsResponseDoc"
+ "$ref": "#/definitions/shopifybrands.sitemapIndexResponseDoc"
}
},
"400": {
- "description": "Missing or invalid parameters",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
- "404": {
- "description": "App not found",
+ "description": "Bad Request",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"429": {
- "description": "Rate limit exceeded",
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal server error",
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -284287,19 +355366,19 @@
"ApiKeyAuth": []
}
],
- "summary": "Retrieve full App Store app details",
+ "summary": "List Cole Haan sitemaps",
"tags": [
- "AppStore"
+ "Cole Haan"
]
}
},
- "/appstore/categories": {
+ "/colehaan/store": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns every category ID and chart collection accepted by `/appstore/list`, including Games and Magazines & Newspapers subgenres with their parent ID. Collections carry their device platform (`phone`, `pad`, `mac`), chart type (`top_free`, `top_paid`, `top_grossing`, `top`, `new`), and whether the feed currently returns entries.",
- "operationId": "appstore-categories",
+ "description": "Returns storefront metadata for Cole Haan (https://www.colehaan.com). The storefront URL is fixed server-side, so no `url` parameter is accepted.",
+ "operationId": "colehaan-store",
"produces": [
"application/json"
],
@@ -284307,17 +355386,23 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/appstore.categoriesResponseDoc"
+ "$ref": "#/definitions/shopifybrands.storeResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
}
},
"429": {
- "description": "Rate limit exceeded",
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal server error",
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -284328,57 +355413,24 @@
"ApiKeyAuth": []
}
],
- "summary": "Retrieve App Store chart categories and collections",
+ "summary": "Get Cole Haan store metadata",
"tags": [
- "AppStore"
+ "Cole Haan"
]
}
},
- "/appstore/collection": {
+ "/collider/article": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns app items embedded in an Apple room or EDS collection page. Discover IDs with `appstore_collections`. `platform` enum: `iphone`, `ipad`, `mac`, `vision`, `watch`, `tv`. `collection_id` must be a numeric room ID or `eds.UUID` ID returned by the discovery endpoint.",
- "operationId": "appstore-collection",
+ "description": "Returns one Collider article by its `url`, which must be a single-segment `https://collider.com//` address. The response has the title, description, publish and update times, section, authors, lead image and body `paragraphs`. Section hubs and video or author pages are rejected as invalid parameters.",
+ "operationId": "collider-article",
"parameters": [
{
- "description": "Apple device catalog",
- "enum": [
- "iphone",
- "ipad",
- "mac",
- "vision",
- "watch",
- "tv"
- ],
- "in": "query",
- "name": "platform",
- "required": true,
- "type": "string",
- "x-example": "iphone"
- },
- {
- "description": "Room ID or EDS UUID collection ID from appstore_collections",
+ "description": "Canonical Collider article URL",
"in": "query",
- "name": "collection_id",
+ "name": "url",
"required": true,
"type": "string",
- "x-example": "6757461219"
- },
- {
- "description": "Two-letter storefront country code",
- "in": "query",
- "name": "country",
- "type": "string",
- "x-example": "us"
- },
- {
- "description": "Result language tag",
- "in": "query",
- "name": "lang",
- "type": "string",
- "x-example": "en-us"
+ "x-example": "https://collider.com/saw-new-movie-mike-p-nelson-director/"
}
],
"produces": [
@@ -284388,29 +355440,29 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/appstore.collectionResponseDoc"
+ "$ref": "#/definitions/publicnews.articleResponseDoc"
}
},
"400": {
- "description": "Missing or invalid parameters",
+ "description": "Bad Request",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"404": {
- "description": "Collection not found",
+ "description": "Not Found",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"429": {
- "description": "Rate limit exceeded",
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal server error",
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -284421,49 +355473,24 @@
"ApiKeyAuth": []
}
],
- "summary": "Retrieve apps in one App Store collection",
+ "summary": "Get Collider article content",
"tags": [
- "AppStore"
+ "Collider"
]
}
},
- "/appstore/collections": {
+ "/collider/author": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns the room and EDS collection links embedded in Apple's browse page for one device. `platform` enum: `iphone`, `ipad`, `mac`, `vision`, `watch`, `tv`. Pass a returned `id` and the same platform to `appstore_collection` to retrieve the collection's apps.",
- "operationId": "appstore-collections",
+ "description": "Returns a Collider author profile for a `url` of the form `https://collider.com/author//`. The response has the name, title, image, biography, `social_links` (type and URL) and the roughly 20 latest articles on the profile. Paginated author URLs are rejected, so older articles are not available.",
+ "operationId": "collider-author",
"parameters": [
{
- "description": "Apple device catalog",
- "enum": [
- "iphone",
- "ipad",
- "mac",
- "vision",
- "watch",
- "tv"
- ],
+ "description": "Canonical Collider author URL",
"in": "query",
- "name": "platform",
+ "name": "url",
"required": true,
"type": "string",
- "x-example": "iphone"
- },
- {
- "description": "Two-letter storefront country code",
- "in": "query",
- "name": "country",
- "type": "string",
- "x-example": "us"
- },
- {
- "description": "Result language tag",
- "in": "query",
- "name": "lang",
- "type": "string",
- "x-example": "en-us"
+ "x-example": "https://collider.com/author/hannah-hunt/"
}
],
"produces": [
@@ -284473,29 +355500,23 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/appstore.collectionsResponseDoc"
+ "$ref": "#/definitions/publicnews.colliderAuthorResponseDoc"
}
},
"400": {
- "description": "Missing or invalid parameters",
+ "description": "Bad Request",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"404": {
- "description": "Page not found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
- "429": {
- "description": "Rate limit exceeded",
+ "description": "Not Found",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal server error",
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -284506,41 +355527,74 @@
"ApiKeyAuth": []
}
],
- "summary": "Discover App Store editorial collections",
+ "summary": "Get a Collider author profile",
"tags": [
- "AppStore"
+ "Collider"
]
}
},
- "/appstore/developer/{dev_id}": {
+ "/collider/headlines": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Lists the App Store apps published by one developer, by Apple developer (artist) id, for an optional storefront country and language. Each app carries its id, title, description, icon and screenshots, price and currency, genres, version and release notes, rating score and counts, size, supported devices and languages.",
- "operationId": "appstore-developer",
+ "description": "Returns fresh headlines from one public Collider RSS section. Items from video categories have type video and are not readable through the article endpoint.",
+ "operationId": "collider-headlines",
"parameters": [
{
- "description": "Developer artist ID",
- "in": "path",
- "name": "dev_id",
- "required": true,
- "type": "string",
- "x-example": "284882218"
- },
- {
- "description": "Two-letter storefront country code",
- "in": "query",
- "name": "country",
- "type": "string",
- "x-example": "us"
- },
- {
- "description": "Result language tag",
+ "description": "Collider RSS section slug",
+ "enum": [
+ "movie-tv-news",
+ "tv-movie-news",
+ "movies",
+ "movie-news",
+ "movie-features",
+ "movie-reviews",
+ "movie-trailers",
+ "tv",
+ "tv-news",
+ "tv-features",
+ "tv-reviews",
+ "tv-trailers",
+ "all-reviews",
+ "trailers",
+ "features",
+ "exclusives",
+ "interviews",
+ "fyc",
+ "what-to-watch",
+ "streaming-guides",
+ "other-streaming-guides",
+ "netflix",
+ "amazon",
+ "disney",
+ "max",
+ "hulu",
+ "apple-tv-plus",
+ "reality-tv",
+ "music",
+ "horror",
+ "animation",
+ "video-games",
+ "gaming-news",
+ "collectibles",
+ "screening",
+ "collider-signature",
+ "authority",
+ "collider-rewind",
+ "collider-quiz",
+ "podcasts",
+ "cl-originals",
+ "videos",
+ "latest-videos",
+ "video-originals",
+ "video-interviews",
+ "interview-videos",
+ "exclusive-videos",
+ "list-videos"
+ ],
"in": "query",
- "name": "lang",
+ "name": "section",
+ "required": true,
"type": "string",
- "x-example": "en-us"
+ "x-example": "movie-tv-news"
}
],
"produces": [
@@ -284550,29 +355604,23 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/appstore.developerResponseDoc"
+ "$ref": "#/definitions/publicnews.headlinesResponseDoc"
}
},
"400": {
- "description": "Missing or invalid parameters",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
- "404": {
- "description": "Developer not found",
+ "description": "Bad Request",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"429": {
- "description": "Rate limit exceeded",
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal server error",
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -284583,62 +355631,54 @@
"ApiKeyAuth": []
}
],
- "summary": "Retrieve apps by developer ID",
+ "summary": "Get Collider section headlines",
"tags": [
- "AppStore"
+ "Collider"
]
}
},
- "/appstore/editorial": {
+ "/collider/news": {
"get": {
- "consumes": [
+ "description": "Lists the latest Collider stories, about 10 items. Each item has its title, canonical URL, summary, publish time, author names (co-authors are joined with a comma) and lead image. Takes no parameters.",
+ "operationId": "collider-news",
+ "produces": [
"application/json"
],
- "description": "Returns the curated editorial shelves from one of Apple's per-device App Store landing pages (the same content shown by apps.apple.com's device switcher). `device` enum: `iphone`, `ipad`, `mac`, `vision`, `watch`, `tv`. `section` enum: `main` (the device's Today/Discover/Apps & Games landing page), `arcade` (the device's Apple Arcade landing page). Watch has no Arcade page — `device=watch` with `section=arcade` returns `400`.",
- "operationId": "appstore-editorial",
- "parameters": [
- {
- "description": "Apple device catalog",
- "enum": [
- "iphone",
- "ipad",
- "mac",
- "vision",
- "watch",
- "tv"
- ],
- "in": "query",
- "name": "device",
- "required": true,
- "type": "string",
- "x-example": "iphone"
- },
- {
- "default": "main",
- "description": "Editorial section within the device",
- "enum": [
- "main",
- "arcade"
- ],
- "in": "query",
- "name": "section",
- "type": "string"
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.newsResponseDoc"
+ }
},
- {
- "description": "Two-letter storefront country code",
- "in": "query",
- "name": "country",
- "type": "string",
- "x-example": "us"
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
},
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
{
- "description": "Result language tag",
- "in": "query",
- "name": "lang",
- "type": "string",
- "x-example": "en-us"
+ "ApiKeyAuth": []
}
],
+ "summary": "Get Collider top stories",
+ "tags": [
+ "Collider"
+ ]
+ }
+ },
+ "/collider/sections": {
+ "get": {
+ "description": "Lists the Collider section slugs that `collider-headlines` accepts, such as `movie-news`, `tv-reviews`, `trailers`, `interviews`, `horror` and `video-games`. Each entry has the `slug`, display `name` and feed `url`. Takes no parameters.",
+ "operationId": "collider-sections",
"produces": [
"application/json"
],
@@ -284646,29 +355686,52 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/appstore.editorialResponseDoc"
+ "$ref": "#/definitions/publicnews.sectionsResponseDoc"
}
},
- "400": {
- "description": "Missing or invalid parameters",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
- },
- "404": {
- "description": "Page not found",
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Collider RSS sections",
+ "tags": [
+ "Collider"
+ ]
+ }
+ },
+ "/comc/categories": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns COMC's (comc.com) closed, top-level category/sport taxonomy -- the discovery endpoint for the search endpoint's `category` param. Every slug is the exact path segment comc.com's own site uses.",
+ "operationId": "comc-categories",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
"schema": {
- "$ref": "#/definitions/app.Response"
+ "$ref": "#/definitions/comc.categoriesResponseDoc"
}
},
"429": {
- "description": "Rate limit exceeded",
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal server error",
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -284679,57 +355742,27 @@
"ApiKeyAuth": []
}
],
- "summary": "Retrieve an App Store device or Arcade editorial landing page",
+ "summary": "List COMC categories",
"tags": [
- "AppStore"
+ "COMC"
]
}
},
- "/appstore/editorial/category": {
+ "/comc/listing": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns the curated editorial shelves for one device category page (e.g. \"Entertainment Apps for Vision\"). `category_id` is a numeric, device-specific editorial page ID — not a static enum — discovered from an `appstore_editorial` response for the SAME `device`, in its \"Browse by Category\" shelf items' `destination_id` field. `device` enum: `iphone`, `ipad`, `mac`, `vision`, `watch`, `tv`.",
- "operationId": "appstore-editorial-category",
+ "description": "Returns one card+grade combination's full detail from COMC (comc.com): card identity and every seller's individual for-sale copy (owner, item id, price). handle is the value returned by comc_search's CardSummary.handle field (or the equivalent comc.com card URL path).",
+ "operationId": "comc-listing",
"parameters": [
{
- "description": "Apple device catalog",
- "enum": [
- "iphone",
- "ipad",
- "mac",
- "vision",
- "watch",
- "tv"
- ],
- "in": "query",
- "name": "device",
- "required": true,
- "type": "string",
- "x-example": "iphone"
- },
- {
- "description": "Numeric App Store editorial page ID, discovered from appstore_editorial (same device)",
+ "description": "Required. The handle from a comc_search result (or the equivalent comc.com card URL path).",
"in": "query",
- "name": "category_id",
+ "name": "handle",
"required": true,
"type": "string",
- "x-example": "6503709728"
- },
- {
- "description": "Two-letter storefront country code",
- "in": "query",
- "name": "country",
- "type": "string",
- "x-example": "us"
- },
- {
- "description": "Result language tag",
- "in": "query",
- "name": "lang",
- "type": "string",
- "x-example": "en-us"
+ "x-example": "Cards/Football/2021/Panini_Absolute_-_Base_-_Red/36/Josh_Allen/17779360"
}
],
"produces": [
@@ -284739,29 +355772,23 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/appstore.editorialResponseDoc"
+ "$ref": "#/definitions/comc.listingResponseDoc"
}
},
"400": {
- "description": "Missing or invalid parameters",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
- "404": {
- "description": "Category page not found",
+ "description": "Bad Request",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"429": {
- "description": "Rate limit exceeded",
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal server error",
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -284772,61 +355799,106 @@
"ApiKeyAuth": []
}
],
- "summary": "Retrieve an App Store category-scoped editorial page",
+ "summary": "Get COMC card listing detail",
"tags": [
- "AppStore"
+ "COMC"
]
}
},
- "/appstore/list": {
+ "/comc/search": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns ranked App Store apps from an iTunes RSS collection, optionally expanded to full lookup details. `collection` enum: `topfreeapplications`, `toppaidapplications`, `topgrossingapplications`, `topfreeipadapplications`, `toppaidipadapplications`, `topgrossingipadapplications`, `topmacapps`, `topfreemacapps`, `topgrossingmacapps`, `toppaidmacapps`, `newapplications`, `newfreeapplications`, `newpaidapplications`. Of the Mac collections, only `topfreemacapps` currently returns ranked apps — `topmacapps`, `topgrossingmacapps`, and `toppaidmacapps` are accepted but Apple's feed for them is currently empty. There is no separate Games `collection` — combine any collection with `category=6014` (or a Games subgenre ID, e.g. `7012` for Puzzle) to get its Games-only equivalent, e.g. Top Free Games. See the endpoint markdown for the full category ID table.",
- "operationId": "appstore-list",
+ "description": "Searches or browses COMC's (comc.com) live consignment marketplace for graded and ungraded trading cards. Each result row is a distinct card+grade combination (COMC's own category/search grid aggregates every seller's copy under one row); chain a row's handle into the listing endpoint for the per-seller breakdown. At least one of category or query is typically useful, but both are optional -- omitting both searches all categories.",
+ "operationId": "comc-search",
"parameters": [
{
- "description": "Chart collection slug, see description for the full enum",
+ "description": "Optional. One of comc_categories' slug values. Omit to search all categories.",
"in": "query",
- "name": "collection",
+ "name": "category",
"type": "string",
- "x-example": "topfreeapplications"
+ "x-example": "Baseball"
},
{
- "description": "Numeric App Store category ID, see description for the full enum; e.g. 6014 = Games, 7012 = Games/Puzzle",
+ "description": "Optional free-text search query.",
"in": "query",
- "name": "category",
- "type": "integer",
- "x-example": 6014
+ "name": "query",
+ "type": "string",
+ "x-example": "mike trout"
},
{
- "description": "Two-letter storefront country code",
+ "description": "Optional. Allowed values: r (Recently Added, default), c (Card #), o (Oldest), n (Newest), b (Highest SRP), h (Highest Price), l (Lowest Price), d (Biggest Discount), p (Highest Percent Off), q (Print Run), s (Least in Stock), m (Most in Stock), e (Ending Soonest).",
+ "enum": [
+ "r",
+ "c",
+ "o",
+ "n",
+ "b",
+ "h",
+ "l",
+ "d",
+ "p",
+ "q",
+ "s",
+ "m",
+ "e"
+ ],
"in": "query",
- "name": "country",
+ "name": "sort",
"type": "string",
- "x-example": "us"
+ "x-example": "r"
},
{
- "description": "Result language tag",
+ "description": "Optional, comma-separated. Allowed values: AUTO (Autographed), HOF (Hall of Fame), MEM (Memorabilia), PRC (Pre-Rookie Card), RC (Rookie Card), RR (Rookie Related), RY (Rookie Year), SN (Serial Numbered).",
"in": "query",
- "name": "lang",
+ "name": "attributes",
"type": "string",
- "x-example": "en-us"
+ "x-example": "RC,AUTO"
},
{
- "description": "Number of apps to return",
+ "description": "Optional. Allowed values: aUngraded (Ungraded), aGraded (Graded), aAftermarketAuto (Aftermarket Auto), aAfterAutoGraded (Aftermarket Auto Graded).",
+ "enum": [
+ "aUngraded",
+ "aGraded",
+ "aAftermarketAuto",
+ "aAfterAutoGraded"
+ ],
"in": "query",
- "name": "num",
+ "name": "condition",
+ "type": "string",
+ "x-example": "aGraded"
+ },
+ {
+ "description": "1-based page, default 1.",
+ "in": "query",
+ "name": "page",
"type": "integer",
- "x-example": 50
+ "x-example": 1
},
{
- "default": false,
- "description": "Expand each app via lookup API",
+ "description": "Optional. Allowed values: 6, 8, 10, 12, 14, 15, 16, 18, 20, 24, 30, 40, 50, 64, 100. Omit to use COMC's own default.",
+ "enum": [
+ 6,
+ 8,
+ 10,
+ 12,
+ 14,
+ 15,
+ 16,
+ 18,
+ 20,
+ 24,
+ 30,
+ 40,
+ 50,
+ 64,
+ 100
+ ],
"in": "query",
- "name": "full_detail",
- "type": "boolean"
+ "name": "page_size",
+ "type": "integer",
+ "x-example": 20
}
],
"produces": [
@@ -284836,23 +355908,23 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/appstore.listResultsResponseDoc"
+ "$ref": "#/definitions/comc.searchResponseDoc"
}
},
"400": {
- "description": "Missing or invalid parameters",
+ "description": "Bad Request",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"429": {
- "description": "Rate limit exceeded",
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal server error",
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -284863,41 +355935,27 @@
"ApiKeyAuth": []
}
],
- "summary": "Retrieve App Store collection rankings",
+ "summary": "Search COMC card listings",
"tags": [
- "AppStore"
+ "COMC"
]
}
},
- "/appstore/privacy/{id}": {
+ "/congress/report": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns the privacy disclosures shown on an App Store page for one app, identified by its numeric track `id` (digits only; anything else returns 400). The response has `privacy_policy_url`, `manage_privacy_choices_url` and `privacy_types`, each with its data categories and purposes. `country` and `lang` are optional.",
- "operationId": "appstore-privacy",
+ "description": "Returns one US Senate disclosure report from the `filing_url` found by the stock-disclosures search, passed as `url`. Supports annual reports, periodic transaction reports and due date extension notices. Output has filer, filing date, `parts` with their rows, and a `transactions` list. House PDFs and paper filings return a validation error.",
+ "operationId": "congress-report",
"parameters": [
{
- "description": "App Store numeric track ID (digits only)",
- "in": "path",
- "name": "id",
- "required": true,
- "type": "string",
- "x-example": "324684580"
- },
- {
- "description": "Two-letter storefront country code",
- "in": "query",
- "name": "country",
- "type": "string",
- "x-example": "us"
- },
- {
- "description": "Result language tag",
+ "description": "Filing URL, as returned by congress-stock-disclosures' filing_url field. Must be an efdsearch.senate.gov /search/view/annual/..., /search/view/ptr/..., or /search/view/extension-notice/regular/... URL.",
"in": "query",
- "name": "lang",
+ "name": "url",
+ "required": true,
"type": "string",
- "x-example": "en-us"
+ "x-example": "https://efdsearch.senate.gov/search/view/annual/cc198326-0f50-4f47-8b03-a5c6440f400f/"
}
],
"produces": [
@@ -284907,29 +355965,29 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/appstore.privacyResponseDoc"
+ "$ref": "#/definitions/congress.reportResponseDoc"
}
},
"400": {
- "description": "Missing or invalid parameters",
+ "description": "Bad Request",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"404": {
- "description": "App not found",
+ "description": "Not Found",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Rate limit exceeded",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal server error",
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -284940,148 +355998,346 @@
"ApiKeyAuth": []
}
],
- "summary": "Retrieve App Store privacy disclosures",
+ "summary": "Fetch and parse a congressional disclosure report",
"tags": [
- "AppStore"
+ "Congress"
]
}
},
- "/appstore/ratings": {
+ "/congress/stock-disclosures": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns the total `ratings` count and the 1 to 5 star `histogram` for an App Store app. Identify it with either the numeric track `id` or the bundle ID `app_id`; a bundle ID is resolved to the track ID first, and a non-numeric `id` returns 400. `country` and `lang` are optional.",
- "operationId": "appstore-ratings",
+ "description": "Searches congressional stock-disclosure filings for the House (default) or the Senate via `chamber`. House needs `member`; Senate takes `first_name`, `last_name`, `filer_type`, state and `report_type` filters, and `from`/`to` dates. Each result has member, office, filing year, filing type and `filing_url`. Paged by `page` and `limit` (default 50, max 500).",
+ "operationId": "congress-stock-disclosures",
"parameters": [
{
- "description": "App Store numeric track ID (digits only)",
+ "description": "Chamber filter. Allowed values: house, senate.",
+ "enum": [
+ "house",
+ "senate"
+ ],
"in": "query",
- "name": "id",
+ "name": "chamber",
"type": "string",
- "x-example": "553834731"
+ "x-example": "house"
},
{
- "description": "App Store bundle ID",
+ "description": "Member name. Required for House. For Senate, this backward-compatible shorthand maps one word to last_name and maps the first word plus the complete remaining surname to first_name/last_name; it cannot be combined with either exact name field.",
"in": "query",
- "name": "app_id",
+ "name": "member",
+ "type": "string"
+ },
+ {
+ "description": "Senate filer first-name prefix (Senate only; cannot be combined with member).",
+ "in": "query",
+ "name": "first_name",
"type": "string",
- "x-example": "com.midasplayer.apps.candycrushsaga"
+ "x-example": "Elizabeth"
},
{
- "description": "Two-letter storefront country code",
+ "description": "Senate filer last-name prefix (Senate only; cannot be combined with member).",
"in": "query",
- "name": "country",
+ "name": "last_name",
"type": "string",
- "x-example": "us"
+ "x-example": "Warren"
},
{
- "description": "Result language tag",
+ "description": "Deprecated unsupported parameter; any non-empty value returns a validation error and the parameter is planned for removal.",
"in": "query",
- "name": "lang",
+ "name": "ticker",
+ "type": "string"
+ },
+ {
+ "description": "State or territory filter (2-letter code). For Senate this backward-compatible shorthand applies to both Senator and Candidate states and cannot be combined with senator_state or candidate_state.",
+ "enum": [
+ "AK",
+ "AL",
+ "AR",
+ "AS",
+ "AZ",
+ "CA",
+ "CO",
+ "CT",
+ "DC",
+ "DE",
+ "FL",
+ "FM",
+ "GA",
+ "GU",
+ "HI",
+ "IA",
+ "ID",
+ "IL",
+ "IN",
+ "KS",
+ "KY",
+ "LA",
+ "MA",
+ "MD",
+ "ME",
+ "MH",
+ "MI",
+ "MN",
+ "MO",
+ "MP",
+ "MS",
+ "MT",
+ "NC",
+ "ND",
+ "NE",
+ "NH",
+ "NJ",
+ "NM",
+ "NV",
+ "NY",
+ "OH",
+ "OK",
+ "OR",
+ "PA",
+ "PR",
+ "PW",
+ "RI",
+ "SC",
+ "SD",
+ "TN",
+ "TX",
+ "UT",
+ "VA",
+ "VI",
+ "VT",
+ "WA",
+ "WI",
+ "WV",
+ "WY"
+ ],
+ "in": "query",
+ "name": "state",
"type": "string",
- "x-example": "en-us"
- }
- ],
- "produces": [
- "application/json"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/appstore.ratingsResponseDoc"
- }
+ "x-example": "CA"
},
- "400": {
- "description": "Missing or invalid parameters",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
+ {
+ "description": "Senator state filter (Senate only, 2-letter code).",
+ "enum": [
+ "AK",
+ "AL",
+ "AR",
+ "AS",
+ "AZ",
+ "CA",
+ "CO",
+ "CT",
+ "DC",
+ "DE",
+ "FL",
+ "FM",
+ "GA",
+ "GU",
+ "HI",
+ "IA",
+ "ID",
+ "IL",
+ "IN",
+ "KS",
+ "KY",
+ "LA",
+ "MA",
+ "MD",
+ "ME",
+ "MH",
+ "MI",
+ "MN",
+ "MO",
+ "MP",
+ "MS",
+ "MT",
+ "NC",
+ "ND",
+ "NE",
+ "NH",
+ "NJ",
+ "NM",
+ "NV",
+ "NY",
+ "OH",
+ "OK",
+ "OR",
+ "PA",
+ "PR",
+ "PW",
+ "RI",
+ "SC",
+ "SD",
+ "TN",
+ "TX",
+ "UT",
+ "VA",
+ "VI",
+ "VT",
+ "WA",
+ "WI",
+ "WV",
+ "WY"
+ ],
+ "in": "query",
+ "name": "senator_state",
+ "type": "string",
+ "x-example": "MA"
},
- "404": {
- "description": "App not found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
+ {
+ "description": "Candidate state filter (Senate only, 2-letter code).",
+ "enum": [
+ "AK",
+ "AL",
+ "AR",
+ "AS",
+ "AZ",
+ "CA",
+ "CO",
+ "CT",
+ "DC",
+ "DE",
+ "FL",
+ "FM",
+ "GA",
+ "GU",
+ "HI",
+ "IA",
+ "ID",
+ "IL",
+ "IN",
+ "KS",
+ "KY",
+ "LA",
+ "MA",
+ "MD",
+ "ME",
+ "MH",
+ "MI",
+ "MN",
+ "MO",
+ "MP",
+ "MS",
+ "MT",
+ "NC",
+ "ND",
+ "NE",
+ "NH",
+ "NJ",
+ "NM",
+ "NV",
+ "NY",
+ "OH",
+ "OK",
+ "OR",
+ "PA",
+ "PR",
+ "PW",
+ "RI",
+ "SC",
+ "SD",
+ "TN",
+ "TX",
+ "UT",
+ "VA",
+ "VI",
+ "VT",
+ "WA",
+ "WI",
+ "WV",
+ "WY"
+ ],
+ "in": "query",
+ "name": "candidate_state",
+ "type": "string",
+ "x-example": "TX"
},
- "429": {
- "description": "Rate limit exceeded",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
+ {
+ "description": "House district filter (House only).",
+ "in": "query",
+ "name": "district",
+ "type": "string"
},
- "500": {
- "description": "Internal server error",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- }
- },
- "security": [
{
- "ApiKeyAuth": []
- }
- ],
- "summary": "Retrieve App Store ratings histogram",
- "tags": [
- "AppStore"
- ]
- }
- },
- "/appstore/reviews": {
- "get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns one page of customer reviews for an App Store app, identified by `id` (numeric track ID) or `app_id` (bundle ID). `page` runs 1 to 10 and `sort` is `mostRecent` (default) or `mostHelpful`. Reviews carry `score`, `title`, `text`, `version`, `user_name` and `updated`. Returns 503 when reviews cannot be retrieved, and 404 when the app is not in that `country` storefront.",
- "operationId": "appstore-reviews",
- "parameters": [
+ "description": "Filer-type filter, meaning differs by chamber. House: member (default) or candidate. Senate: comma-separated senator, candidate, former_senator, or the standalone all value. Defaults to senator when omitted.",
+ "enum": [
+ "member",
+ "candidate",
+ "all",
+ "senator",
+ "former_senator"
+ ],
+ "in": "query",
+ "name": "filer_type",
+ "type": "string",
+ "x-example": "candidate"
+ },
{
- "description": "App Store numeric track ID (digits only)",
+ "description": "House candidate-search election year filter (requires filer_type=candidate).",
"in": "query",
- "name": "id",
+ "name": "election_year",
"type": "string",
- "x-example": "553834731"
+ "x-example": "2024"
},
{
- "description": "App Store bundle ID",
+ "description": "Comma-separated Senate report-type filter (Senate only). Allowed values: annual, periodic_transaction, due_date_extension, blind_trust, other. Defaults to all types when omitted.",
+ "enum": [
+ "annual",
+ "periodic_transaction",
+ "due_date_extension",
+ "blind_trust",
+ "other"
+ ],
"in": "query",
- "name": "app_id",
+ "name": "report_type",
"type": "string",
- "x-example": "com.midasplayer.apps.candycrushsaga"
+ "x-example": "annual,periodic_transaction"
},
{
- "description": "Two-letter storefront country code",
+ "description": "Minimum filing date. House accepts YYYY. Senate accepts YYYY or MM/DD/YYYY and defaults to 2012 when omitted.",
"in": "query",
- "name": "country",
+ "name": "from",
"type": "string",
- "x-example": "us"
+ "x-example": "01/01/2024"
},
{
- "description": "Review page number (1-10)",
+ "description": "Maximum filing date. House accepts YYYY. Senate accepts YYYY or MM/DD/YYYY.",
"in": "query",
- "name": "page",
- "type": "integer",
- "x-example": 1
+ "name": "to",
+ "type": "string",
+ "x-example": "12/31/2024"
},
{
- "default": "mostRecent",
- "description": "Sort order",
+ "description": "Sort key. Allowed values: name_asc, name_desc, office_asc, office_desc, filing_year_asc, filing_year_desc.",
"enum": [
- "mostRecent",
- "mostHelpful"
+ "name_asc",
+ "name_desc",
+ "office_asc",
+ "office_desc",
+ "filing_year_asc",
+ "filing_year_desc"
],
"in": "query",
"name": "sort",
- "type": "string"
+ "type": "string",
+ "x-example": "filing_year_desc"
},
{
- "description": "Result language tag",
+ "default": 1,
+ "description": "1-based result page (1-1000).",
"in": "query",
- "name": "lang",
- "type": "string",
- "x-example": "en-us"
+ "maximum": 1000,
+ "minimum": 1,
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Max results (1-500).",
+ "in": "query",
+ "name": "limit",
+ "type": "integer",
+ "x-example": 50
}
],
"produces": [
@@ -285091,29 +356347,23 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/appstore.reviewsResponseDoc"
+ "$ref": "#/definitions/congress.stockDisclosuresResponseDoc"
}
},
"400": {
- "description": "Missing or invalid parameters",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
- "404": {
- "description": "App not found, or not published in the requested storefront",
+ "description": "Bad Request",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Rate limit exceeded",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal server error",
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -285124,74 +356374,28 @@
"ApiKeyAuth": []
}
],
- "summary": "Retrieve App Store reviews",
+ "summary": "Search congressional stock-disclosure filings",
"tags": [
- "AppStore"
+ "Congress"
]
}
},
- "/appstore/search": {
- "get": {
+ "/contact": {
+ "post": {
"consumes": [
"application/json"
],
- "description": "Returns App Store search results for a term. Set `ids_only=true` to return only app IDs. `platform` enum: `phone`, `pad`, `mac`.",
- "operationId": "appstore-search",
+ "description": "Crawls a public website URL (homepage plus contact/about/team/imprint pages) and returns its public business contact details: emails — each tagged with a verification `status` (`verified`, `risky`, `unverified`, `invalid`) and a `type` (`generic`, `role`, `personal`) — plus social-media profiles and phone numbers. Intended for authorized public-business data only.",
+ "operationId": "contact",
"parameters": [
{
- "description": "Search term",
- "in": "query",
- "name": "term",
+ "description": "Website URL payload",
+ "in": "body",
+ "name": "option",
"required": true,
- "type": "string",
- "x-example": "panda"
- },
- {
- "description": "Number of apps per page",
- "in": "query",
- "name": "num",
- "type": "integer",
- "x-example": 50
- },
- {
- "description": "Search page number (1-based)",
- "in": "query",
- "name": "page",
- "type": "integer",
- "x-example": 1
- },
- {
- "description": "Two-letter storefront country code",
- "in": "query",
- "name": "country",
- "type": "string",
- "x-example": "us"
- },
- {
- "description": "Result language tag",
- "in": "query",
- "name": "lang",
- "type": "string",
- "x-example": "en-us"
- },
- {
- "default": false,
- "description": "Return only app IDs",
- "in": "query",
- "name": "ids_only",
- "type": "boolean"
- },
- {
- "default": "phone",
- "description": "App Store catalog to search: phone, pad, mac",
- "enum": [
- "phone",
- "pad",
- "mac"
- ],
- "in": "query",
- "name": "platform",
- "type": "string"
+ "schema": {
+ "$ref": "#/definitions/contact.ContactRequest"
+ }
}
],
"produces": [
@@ -285201,11 +356405,11 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/appstore.searchResultsResponseDoc"
+ "$ref": "#/definitions/contact.contactResponseDoc"
}
},
"400": {
- "description": "Missing or invalid parameters",
+ "description": "Invalid input or missing URL",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -285217,7 +356421,7 @@
}
},
"500": {
- "description": "Internal server error",
+ "description": "Internal server error during contact extraction",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -285228,47 +356432,26 @@
"ApiKeyAuth": []
}
],
- "summary": "Search the App Store",
+ "summary": "Contact API — emails, socials and phones for a website",
"tags": [
- "AppStore"
+ "Web"
]
}
},
- "/appstore/similar": {
+ "/costco/categories": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns the related apps shown on the App Store product page. Provide either `id` (numeric track ID) or `app_id` (bundle ID).",
- "operationId": "appstore-similar",
+ "description": "Returns Costco category slugs and product counts relevant to an optional search term, each slug usable directly with GET /costco/search's category filter. Public data sourced from Costco's own search backend.",
+ "operationId": "costco-categories",
"parameters": [
{
- "description": "App Store numeric track ID (digits only)",
- "in": "query",
- "name": "id",
- "type": "string",
- "x-example": "553834731"
- },
- {
- "description": "App Store bundle ID",
- "in": "query",
- "name": "app_id",
- "type": "string",
- "x-example": "com.midasplayer.apps.candycrushsaga"
- },
- {
- "description": "Two-letter storefront country code",
- "in": "query",
- "name": "country",
- "type": "string",
- "x-example": "us"
- },
- {
- "description": "Result language tag",
+ "description": "Search text to scope the returned categories to, e.g. \\",
"in": "query",
- "name": "lang",
+ "name": "query",
"type": "string",
- "x-example": "en-us"
+ "x-example": "refrigerator"
}
],
"produces": [
@@ -285278,29 +356461,17 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/appstore.similarResponseDoc"
- }
- },
- "400": {
- "description": "Missing or invalid parameters",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
- "404": {
- "description": "App not found",
- "schema": {
- "$ref": "#/definitions/app.Response"
+ "$ref": "#/definitions/costco.categoriesResponseDoc"
}
},
- "429": {
- "description": "Rate limit exceeded",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal server error",
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -285311,34 +356482,27 @@
"ApiKeyAuth": []
}
],
- "summary": "Retrieve \"You Might Also Like\" apps",
+ "summary": "Get Costco category facets",
"tags": [
- "AppStore"
+ "Costco"
]
}
},
- "/appstore/suggest/{term}": {
+ "/costco/product/{id}": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns App Store search suggestions for a partial search term given in the path, as a list of suggested `term` values. `country` is an optional two-letter storefront code.",
- "operationId": "appstore-suggest",
+ "description": "Returns a Costco product's detail: title, description, manufacturer, image, price, stock status, and rating. Public data sourced from Costco's own product backend.",
+ "operationId": "costco-product",
"parameters": [
{
- "description": "Partial search term",
+ "description": "Costco product id, e.g. from a search result's id field or a product page URL's \\",
"in": "path",
- "name": "term",
+ "name": "id",
"required": true,
"type": "string",
- "x-example": "panda"
- },
- {
- "description": "Two-letter storefront country code",
- "in": "query",
- "name": "country",
- "type": "string",
- "x-example": "us"
+ "x-example": "4000103922"
}
],
"produces": [
@@ -285348,23 +356512,29 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/appstore.suggestResponseDoc"
+ "$ref": "#/definitions/costco.productResponseDoc"
}
},
"400": {
- "description": "Missing or invalid parameters",
+ "description": "Bad Request",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Rate limit exceeded",
+ "404": {
+ "description": "Not Found",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"500": {
- "description": "Internal server error",
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -285375,41 +356545,43 @@
"ApiKeyAuth": []
}
],
- "summary": "Retrieve App Store search suggestions",
+ "summary": "Get a Costco product's detail",
"tags": [
- "AppStore"
+ "Costco"
]
}
},
- "/appstore/version-history/{id}": {
+ "/costco/product/{id}/availability": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns an App Store app's version history, as shown under \"What's New\", by numeric track id, for an optional storefront country and language. Each entry has the version number, release date and timestamp, and release notes. A non-numeric id returns `400`.",
- "operationId": "appstore-version-history",
+ "description": "Returns a Costco product's stock and estimated-delivery status for a delivery destination. Public data sourced from Costco's own fulfillment backend.",
+ "operationId": "costco-product-availability",
"parameters": [
{
- "description": "App Store numeric track ID (digits only)",
+ "description": "Costco product id",
"in": "path",
"name": "id",
"required": true,
"type": "string",
- "x-example": "553834731"
+ "x-example": "1942114"
},
{
- "description": "Two-letter storefront country code",
+ "description": "US destination ZIP code",
"in": "query",
- "name": "country",
+ "name": "postal_code",
+ "required": true,
"type": "string",
- "x-example": "us"
+ "x-example": "98101"
},
{
- "description": "Result language tag",
+ "description": "US destination two-letter state code",
"in": "query",
- "name": "lang",
+ "name": "state",
+ "required": true,
"type": "string",
- "x-example": "en-us"
+ "x-example": "WA"
}
],
"produces": [
@@ -285419,29 +356591,23 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/appstore.versionHistoryResponseDoc"
+ "$ref": "#/definitions/costco.productAvailabilityResponseDoc"
}
},
"400": {
- "description": "Missing or invalid parameters",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
- "404": {
- "description": "App not found",
+ "description": "Bad Request",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Rate limit exceeded",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal server error",
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -285452,26 +356618,27 @@
"ApiKeyAuth": []
}
],
- "summary": "Retrieve App Store version history",
+ "summary": "Get a Costco product's delivery estimate",
"tags": [
- "AppStore"
+ "Costco"
]
}
},
- "/arbys/categories": {
+ "/costco/product/{id}/reviews": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns Arby's US menu's top-level categories -- Slow Roasted Beef, Crispy Juicy Chicken, Meals, Sides & Snacks, Beverages, Desserts, Kids Menu and others. Each entry's slug is the value GET /arbys/menu takes. store_id (optional, default 0) selects which pricing snapshot categories' item counts are read from; the default 0 is Arby's own reference catalog and carries no prices at all -- pass a store_id you already know (for example one you have seen on arbys.com after picking a location) to price GET /arbys/menu's items against a specific store. There is no location-lookup endpoint in this family.",
- "operationId": "arbys-categories",
+ "description": "Returns a page of a Costco product's reviews: title, text, rating, author, and recommendation for each. Public data sourced from Costco's own review platform.",
+ "operationId": "costco-product-reviews",
"parameters": [
{
- "description": "Optional. Store id to read the catalog from, default 0 (Arby's priceless national reference catalog).",
- "in": "query",
- "name": "store_id",
- "type": "integer",
- "x-example": 0
+ "description": "Costco product id, e.g. from a search result's id field",
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "type": "string",
+ "x-example": "4000354684"
}
],
"produces": [
@@ -285481,7 +356648,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/arbys.categoriesResponseDoc"
+ "$ref": "#/definitions/costco.productReviewsResponseDoc"
}
},
"400": {
@@ -285490,8 +356657,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Too Many Requests",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -285508,33 +356675,33 @@
"ApiKeyAuth": []
}
],
- "summary": "List Arby's menu categories",
+ "summary": "Get a Costco product's reviews",
"tags": [
- "Arbys"
+ "Costco"
]
}
},
- "/arbys/directory": {
+ "/costco/search": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns one level of Arby's US store directory: every state Arby's serves with its store count (no params), one state's cities (state given), or one city's stores (state and city given) -- id, address, and phone only, pair with GET /arbys/location for hours/amenities/status. Unlike GET /arbys/locations, this needs no coordinate; it is a plain browse of the whole ~3,200-store US chain.",
- "operationId": "arbys-directory",
+ "description": "Returns public Costco products matching a text query and/or a category slug: title, brand, model, image, and rating for each result. GDX is primary; if GDX is blocked, query-only searches may return explicitly partial product-sitemap results.",
+ "operationId": "costco-search",
"parameters": [
{
- "description": "Optional. Two-letter US state abbreviation. Omit to list every state.",
+ "description": "Search text",
"in": "query",
- "name": "state",
+ "name": "query",
"type": "string",
- "x-example": "OH"
+ "x-example": "refrigerator"
},
{
- "description": "Optional. City name, requires state. Omit to list every city in the state.",
+ "description": "Costco category slug, e.g. the last path segment of a category page URL",
"in": "query",
- "name": "city",
+ "name": "category",
"type": "string",
- "x-example": "Youngstown"
+ "x-example": "refrigerators"
}
],
"produces": [
@@ -285544,7 +356711,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/arbys.directoryResponseDoc"
+ "$ref": "#/definitions/costco.searchResponseDoc"
}
},
"400": {
@@ -285553,8 +356720,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Too Many Requests",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -285571,27 +356738,35 @@
"ApiKeyAuth": []
}
],
- "summary": "Browse Arby's US store directory by state and city",
+ "summary": "Search Costco products",
"tags": [
- "Arbys"
+ "Costco"
]
}
},
- "/arbys/location": {
+ "/costco/warehouses": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns one Arby's restaurant directly by its store id (e.g. one found via GET /arbys/locations), with the same address, hours, amenities, and capability fields as that endpoint's results, minus distance (there is no search center for a direct lookup).",
- "operationId": "arbys-location",
+ "description": "Returns Costco warehouses near a latitude/longitude, sorted by distance: name, address, and distance for each. Public data sourced from Costco's own warehouse locator backend.",
+ "operationId": "costco-warehouses",
"parameters": [
{
- "description": "A real Arby's store id, e.g. one returned by GET /arbys/locations",
+ "description": "Latitude",
"in": "query",
- "name": "store_id",
+ "name": "latitude",
"required": true,
- "type": "integer",
- "x-example": 8725
+ "type": "number",
+ "x-example": 47.565
+ },
+ {
+ "description": "Longitude",
+ "in": "query",
+ "name": "longitude",
+ "required": true,
+ "type": "number",
+ "x-example": -122.329
}
],
"produces": [
@@ -285601,7 +356776,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/arbys.locationResponseDoc"
+ "$ref": "#/definitions/costco.warehousesResponseDoc"
}
},
"400": {
@@ -285610,14 +356785,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
- "429": {
- "description": "Too Many Requests",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -285634,56 +356803,35 @@
"ApiKeyAuth": []
}
],
- "summary": "Look up one Arby's restaurant by store id",
+ "summary": "Find nearby Costco warehouses",
"tags": [
- "Arbys"
+ "Costco"
]
}
},
- "/arbys/locations": {
+ "/courtlistener/courts": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns Arby's restaurants within a radius of a coordinate, nearest first, with address, phone, coordinates, distance, open/closed status, hours, amenities, and pickup/delivery capability flags. Each result's store_id also prices GET /arbys/menu and GET /arbys/categories. To search from a free-text address instead of coordinates, resolve it first with GET /geocoding/search.",
- "operationId": "arbys-locations",
+ "description": "Lists CourtListener's anonymous public court directory. Provide court_id to retrieve one court. page is used only for directory browsing and is 1-indexed. The endpoint does not retrieve dockets, opinions, judges, or account data.",
+ "operationId": "courtlistener-courts",
"parameters": [
{
- "description": "Search center latitude",
- "in": "query",
- "name": "latitude",
- "required": true,
- "type": "number",
- "x-example": 32.787706
- },
- {
- "description": "Search center longitude",
- "in": "query",
- "name": "longitude",
- "required": true,
- "type": "number",
- "x-example": -96.79985
- },
- {
- "description": "Optional. Search radius in miles, 1-50, default 50. Upstream hard-blocks any radius over 50.",
- "in": "query",
- "name": "radius",
- "type": "integer",
- "x-example": 50
- },
- {
- "description": "Optional. Maximum stores per page, 1-50, default 10.",
+ "description": "CourtListener court identifier",
"in": "query",
- "name": "limit",
- "type": "integer",
- "x-example": 10
+ "name": "court_id",
+ "type": "string",
+ "x-example": "scotus"
},
{
- "description": "Optional. Zero-based page index, default 0.",
+ "default": 1,
+ "description": "Directory page, 1-indexed",
"in": "query",
+ "minimum": 1,
"name": "page",
"type": "integer",
- "x-example": 0
+ "x-example": 1
}
],
"produces": [
@@ -285693,7 +356841,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/arbys.nearbyResponseDoc"
+ "$ref": "#/definitions/courtlistener.courtsResponseDoc"
}
},
"400": {
@@ -285708,6 +356856,12 @@
"$ref": "#/definitions/app.Response"
}
},
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
"503": {
"description": "Service Unavailable",
"schema": {
@@ -285720,34 +356874,34 @@
"ApiKeyAuth": []
}
],
- "summary": "Find Arby's restaurants near a coordinate",
+ "summary": "Browse CourtListener courts",
"tags": [
- "Arbys"
+ "CourtListener"
]
}
},
- "/arbys/menu": {
+ "/courtlistener/people": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns the items in one Arby's menu category, each with its stable product code, name, description, image, tags, availability, a full per-serving nutrition panel (calories, total and saturated fat, trans fat, cholesterol, sodium, carbohydrate, fiber, sugar, protein and serving weight), and a price when store_id resolves to a priced catalog. Category slugs come from GET /arbys/categories. store_id (optional, default 0) is Arby's own priceless national reference catalog; pass a store_id you already know to get that store's pricing instead -- there is no location-lookup endpoint in this family, so store_id is a passthrough value, not something this API can look up for you. A price of exactly 0 on an item is a genuine free add-on, distinct from the default catalog's complete absence of pricing.",
- "operationId": "arbys-menu",
+ "description": "Lists CourtListener's anonymous public judicial-person directory. Provide person_id to retrieve one public person record. The response contains only public directory and position-summary metadata; sensitive biographical fields are excluded.",
+ "operationId": "courtlistener-people",
"parameters": [
{
- "description": "Category slug from /arbys/categories",
+ "description": "CourtListener person identifier",
"in": "query",
- "name": "category",
- "required": true,
- "type": "string",
- "x-example": "slow-roasted-beef"
+ "minimum": 1,
+ "name": "person_id",
+ "type": "integer",
+ "x-example": 123
},
{
- "description": "Optional. Same store id semantics as /arbys/categories.",
+ "description": "Cursor from a prior response's next_cursor field",
"in": "query",
- "name": "store_id",
- "type": "integer",
- "x-example": 0
+ "name": "cursor",
+ "type": "string",
+ "x-example": "cD0yMDI2LTA4LTI3KzAwJTNBMDAlM0EwMC4wMDAwMDAlMkIwMCUzQTAw"
}
],
"produces": [
@@ -285757,7 +356911,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/arbys.menuResponseDoc"
+ "$ref": "#/definitions/courtlistener.peopleResponseDoc"
}
},
"400": {
@@ -285778,6 +356932,12 @@
"$ref": "#/definitions/app.Response"
}
},
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
"503": {
"description": "Service Unavailable",
"schema": {
@@ -285790,24 +356950,34 @@
"ApiKeyAuth": []
}
],
- "summary": "List one Arby's menu category's items with full nutrition and price",
+ "summary": "Browse CourtListener judicial people",
"tags": [
- "Arbys"
+ "CourtListener"
]
}
},
- "/arstechnica/article": {
+ "/courtlistener/search": {
"get": {
- "description": "Returns public Ars Technica article metadata and body paragraphs from a canonical article URL. The service does not bypass authentication or access controls.",
- "operationId": "arstechnica-article",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Searches CourtListener's opinion-search index by text and returns opinion-result metadata with a cursor for the next page. The endpoint does not return opinion detail, dockets, judges, alerts, or account data.",
+ "operationId": "courtlistener-search",
"parameters": [
{
- "description": "Canonical Ars Technica article URL",
+ "description": "Opinion search text",
"in": "query",
- "name": "url",
+ "name": "q",
"required": true,
"type": "string",
- "x-example": "https://arstechnica.com/gadgets/2026/09/example-story/"
+ "x-example": "\"qualified immunity\""
+ },
+ {
+ "description": "Cursor from a prior response's next_cursor field",
+ "in": "query",
+ "name": "cursor",
+ "type": "string",
+ "x-example": "cD0yMDI2LTA4LTI3KzAwJTNBMDAlM0EwMC4wMDAwMDAlMkIwMCUzQTAw"
}
],
"produces": [
@@ -285817,7 +356987,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.articleResponseDoc"
+ "$ref": "#/definitions/courtlistener.searchResponseDoc"
}
},
"400": {
@@ -285826,8 +356996,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -285844,24 +357020,43 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Ars Technica article content",
+ "summary": "Search CourtListener opinions",
"tags": [
- "Ars Technica"
+ "CourtListener"
]
}
},
- "/arstechnica/author": {
+ "/cricbuzz/archives": {
"get": {
- "description": "Returns an Ars Technica contributor's byline metadata (name, job title, headshot, contact email), biography, and recent articles from a canonical author URL. The service does not bypass authentication or access controls.",
- "operationId": "arstechnica-author",
+ "description": "Returns all year links advertised by the Cricket Archives page and the complete series list for the selected year, grouped by the four visible archive categories. Supply year from the returned years array to fetch that year's page. category and q filter the full parsed series list locally.",
+ "operationId": "cricbuzz-archives",
"parameters": [
{
- "description": "Canonical Ars Technica contributor URL",
+ "description": "Archive year from the years array in the response",
"in": "query",
- "name": "url",
- "required": true,
+ "name": "year",
+ "type": "integer",
+ "x-example": 2026
+ },
+ {
+ "description": "Archive series category; omit for all categories",
+ "enum": [
+ "international",
+ "league",
+ "domestic",
+ "women"
+ ],
+ "in": "query",
+ "name": "category",
"type": "string",
- "x-example": "https://arstechnica.com/author/example-writer/"
+ "x-example": "international"
+ },
+ {
+ "description": "Optional local case-insensitive substring search over selected-year series, up to 100 characters",
+ "in": "query",
+ "name": "q",
+ "type": "string",
+ "x-example": "india"
}
],
"produces": [
@@ -285871,7 +357066,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.arstechnicaAuthorResponseDoc"
+ "$ref": "#/definitions/cricbuzz.archivesResponseDoc"
}
},
"400": {
@@ -285880,8 +357075,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -285898,41 +357093,30 @@
"ApiKeyAuth": []
}
],
- "summary": "Get an Ars Technica contributor profile",
+ "summary": "Discover Cricbuzz archive years and series",
"tags": [
- "Ars Technica"
+ "Cricbuzz"
]
}
},
- "/arstechnica/headlines": {
+ "/cricbuzz/auction/info": {
"get": {
- "description": "Returns recent Ars Technica headlines for one section. `section` is required and takes `ai`, `apple`, `cars`, `culture`, `features`, `gadgets`, `gaming`, `health`, `information-technology`, `reviews`, `science`, `security`, `space`, `staff` or `tech-policy`. Each item has a title and URL, and may also carry a summary, author, publication time and image.",
- "operationId": "arstechnica-headlines",
+ "description": "Returns all labelled text and list blocks shown in the selected edition's Auction Guide. The guide's fields vary by competition and season; date, venue, auctioneer, purse/roster rules, FAQs and currency-rate blocks are preserved as source text.",
+ "operationId": "cricbuzz-auction-info",
"parameters": [
{
- "description": "Ars Technica section slug",
- "enum": [
- "ai",
- "apple",
- "cars",
- "culture",
- "features",
- "gadgets",
- "gaming",
- "health",
- "information-technology",
- "reviews",
- "science",
- "security",
- "space",
- "staff",
- "tech-policy"
- ],
+ "description": "Tournament identifier from cricbuzz/auction/seasons: ipl, wpl, sa20, hunm, hunw; defaults to ipl when both tournament/year are omitted",
"in": "query",
- "name": "section",
- "required": true,
+ "name": "tournament",
"type": "string",
- "x-example": "ai"
+ "x-example": "sa20"
+ },
+ {
+ "description": "Edition from cricbuzz/auction/seasons: IPL 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026; WPL 2023, 2024, 2025, 2026, 2027; SA20 2027; HUNM 2026; HUNW 2026; defaults to 2026 when both tournament/year are omitted",
+ "in": "query",
+ "name": "year",
+ "type": "string",
+ "x-example": "2027"
}
],
"produces": [
@@ -285942,7 +357126,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.headlinesResponseDoc"
+ "$ref": "#/definitions/cricbuzz.auctionInfoResponseDoc"
}
},
"400": {
@@ -285951,6 +357135,18 @@
"$ref": "#/definitions/app.Response"
}
},
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
"503": {
"description": "Service Unavailable",
"schema": {
@@ -285963,16 +357159,42 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Ars Technica section headlines",
+ "summary": "Get the Cricbuzz auction guide",
"tags": [
- "Ars Technica"
+ "Cricbuzz"
]
}
},
- "/arstechnica/news": {
+ "/cricbuzz/auction/live": {
"get": {
- "description": "Returns the latest Ars Technica stories, with no input needed. Each item has a title and canonical URL, and may also carry a summary, author, publication time and lead image.",
- "operationId": "arstechnica-news",
+ "description": "Returns current_status, state and featured/editor-pick players from the edition's Live tab. This is not a bid-event feed; a completed edition may return featured players without live bidding.",
+ "operationId": "cricbuzz-auction-live",
+ "parameters": [
+ {
+ "description": "Tournament identifier from cricbuzz/auction/seasons: ipl, wpl, sa20, hunm, hunw",
+ "in": "query",
+ "name": "tournament",
+ "required": true,
+ "type": "string",
+ "x-example": "sa20"
+ },
+ {
+ "description": "Edition from cricbuzz/auction/seasons: IPL 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026; WPL 2023, 2024, 2025, 2026, 2027; SA20 2027; HUNM 2026; HUNW 2026",
+ "in": "query",
+ "name": "year",
+ "required": true,
+ "type": "string",
+ "x-example": "2027"
+ },
+ {
+ "description": "Currency accepted by the selected edition: INR, USD, EUR, GBP, AUD, CAD, NZD, AED, ZAR, PKR, LKR, BDT, NPR",
+ "in": "query",
+ "name": "currency",
+ "required": true,
+ "type": "string",
+ "x-example": "ZAR"
+ }
+ ],
"produces": [
"application/json"
],
@@ -285980,7 +357202,19 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.newsResponseDoc"
+ "$ref": "#/definitions/cricbuzz.auctionLiveResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
}
},
"429": {
@@ -286001,16 +357235,34 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Ars Technica top stories",
+ "summary": "Get the current Cricbuzz auction Live-tab payload",
"tags": [
- "Ars Technica"
+ "Cricbuzz"
]
}
},
- "/arstechnica/sections": {
+ "/cricbuzz/auction/live-blog": {
"get": {
- "description": "Returns the Ars Technica section inventory: the site's own current navigation and RSS-feed-directory sections (AI, Gadgets, Science, Security, Space, and others), each linking to its public RSS feed.",
- "operationId": "arstechnica-sections",
+ "description": "Returns the public NewsArticle JSON-LD content and dynamic tags linked from the selected edition's Auction Live Blog tab. Not all editions expose this tab; Cricbuzz may return not found or a page without a NewsArticle. Discover tournament/year from cricbuzz/auction/seasons.",
+ "operationId": "cricbuzz-auction-live-blog",
+ "parameters": [
+ {
+ "description": "Tournament identifier from cricbuzz/auction/seasons: ipl, wpl, sa20, hunm, hunw",
+ "in": "query",
+ "name": "tournament",
+ "required": true,
+ "type": "string",
+ "x-example": "ipl"
+ },
+ {
+ "description": "Edition from cricbuzz/auction/seasons: IPL 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026; WPL 2023, 2024, 2025, 2026, 2027; SA20 2027; HUNM 2026; HUNW 2026",
+ "in": "query",
+ "name": "year",
+ "required": true,
+ "type": "string",
+ "x-example": "2026"
+ }
+ ],
"produces": [
"application/json"
],
@@ -286018,7 +357270,31 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.sectionsResponseDoc"
+ "$ref": "#/definitions/cricbuzz.auctionLiveBlogResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
}
}
},
@@ -286027,19 +357303,34 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Ars Technica sections",
+ "summary": "Get an edition's auction Live Blog article",
"tags": [
- "Ars Technica"
+ "Cricbuzz"
]
}
},
- "/audible/categories": {
+ "/cricbuzz/auction/news": {
"get": {
- "consumes": [
- "application/json"
+ "description": "Returns only the selected auction edition's Auction News cards, with story IDs, canonical URLs, titles, thumbnail metadata and relative age. Global Latest News and Featured Videos sidebar items are excluded. When Cricbuzz explicitly displays No News Available, items is empty and empty_state is no_results. Discover tournament and year from cricbuzz/auction/seasons. The edition page has no sort, filter or pagination control.",
+ "operationId": "cricbuzz-auction-news",
+ "parameters": [
+ {
+ "description": "Tournament identifier from cricbuzz/auction/seasons: ipl, wpl, sa20, hunm, hunw",
+ "in": "query",
+ "name": "tournament",
+ "required": true,
+ "type": "string",
+ "x-example": "sa20"
+ },
+ {
+ "description": "Edition from cricbuzz/auction/seasons: IPL 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026; WPL 2023, 2024, 2025, 2026, 2027; SA20 2027; HUNM 2026; HUNW 2026",
+ "in": "query",
+ "name": "year",
+ "required": true,
+ "type": "string",
+ "x-example": "2027"
+ }
],
- "description": "Returns Audible's full genre/category tree (root genres with their subgenres), including the category ids accepted by GET /audible/search's category_id filter.",
- "operationId": "audible-categories",
"produces": [
"application/json"
],
@@ -286047,11 +357338,23 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/audible.categoriesResponseDoc"
+ "$ref": "#/definitions/cricbuzz.auctionNewsResponseDoc"
}
},
- "500": {
- "description": "Internal Server Error",
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -286068,27 +357371,30 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Audible's genre/category tree",
+ "summary": "Get an edition's Cricbuzz Auction News cards",
"tags": [
- "Audible"
+ "Cricbuzz"
]
}
},
- "/audible/category/{id}": {
+ "/cricbuzz/auction/options": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns one Audible category node and its immediate children by id — cheaper than fetching the full tree from GET /audible/categories when only one node is needed.",
- "operationId": "audible-category",
+ "description": "Returns all filter dropdown values and sort choices embedded in the selected public completed-auction page. Use auction/seasons to discover current tournament and year values; when omitted, tournament and year default to ipl and 2026. Filter and sort values vary by edition and are returned dynamically.",
+ "operationId": "cricbuzz-auction-options",
"parameters": [
{
- "description": "Audible category id from GET /audible/categories",
- "in": "path",
- "name": "id",
- "required": true,
+ "description": "Tournament identifier from cricbuzz/auction/seasons; current values: ipl, wpl, sa20, hunm, hunw",
+ "in": "query",
+ "name": "tournament",
"type": "string",
- "x-example": "18580606011"
+ "x-example": "ipl"
+ },
+ {
+ "description": "Edition from cricbuzz/auction/seasons: ipl 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026; wpl 2023, 2024, 2025, 2026, 2027; sa20 2027; hunm 2026; hunw 2026",
+ "in": "query",
+ "name": "year",
+ "type": "string",
+ "x-example": "2026"
}
],
"produces": [
@@ -286098,7 +357404,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/audible.categoryResponseDoc"
+ "$ref": "#/definitions/cricbuzz.auctionOptionsResponseDoc"
}
},
"400": {
@@ -286113,8 +357419,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -286131,104 +357437,48 @@
"ApiKeyAuth": []
}
],
- "summary": "Get one Audible category node",
+ "summary": "Discover Cricbuzz auction filters and sort values",
"tags": [
- "Audible"
+ "Cricbuzz"
]
}
},
- "/audible/charts": {
+ "/cricbuzz/auction/player": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns one page of an Audible chart — a ranked list with real chart position, price, and rating. This endpoint is less stable than the rest of this family. Its own filters (category, access level, language, duration, Audible-Originals-only) were individually verified to actually change results. category_id, access_level, and content_type=podcasts are mutually exclusive.",
- "operationId": "audible-charts",
+ "description": "Returns one player's current edition profile and every auction-earnings row in the public payload. Discover player_id through auction/player-search, auction/upcoming, auction/results or auction/team; discover currency through auction/seasons.",
+ "operationId": "cricbuzz-auction-player-detail",
"parameters": [
{
- "description": "Chart type, default most_listened",
- "enum": [
- "most_listened",
- "bestselling"
- ],
- "in": "query",
- "name": "chart",
- "type": "string"
- },
- {
- "description": "Content type, default audiobooks",
- "enum": [
- "audiobooks",
- "podcasts"
- ],
- "in": "query",
- "name": "content_type",
- "type": "string"
- },
- {
- "description": "Restrict to a category id from GET /audible/categories",
- "in": "query",
- "name": "category_id",
- "type": "string"
- },
- {
- "description": "Membership access level, default all",
- "enum": [
- "all",
- "free",
- "plus",
- "premium"
- ],
- "in": "query",
- "name": "access_level",
- "type": "string"
- },
- {
- "description": "Language filter, default all",
- "enum": [
- "all",
- "danish",
- "english",
- "french",
- "german",
- "italian",
- "japanese",
- "polish",
- "portuguese",
- "russian",
- "spanish",
- "swedish"
- ],
+ "description": "Tournament identifier from cricbuzz/auction/seasons: ipl, wpl, sa20, hunm, hunw",
"in": "query",
- "name": "language",
- "type": "string"
+ "name": "tournament",
+ "required": true,
+ "type": "string",
+ "x-example": "sa20"
},
{
- "description": "Runtime-length filter, default all",
- "enum": [
- "all",
- "oneHourLess",
- "oneToThreeHour",
- "threeToSixHour",
- "sixToTenHour",
- "tenToTwentyHour",
- "twentyHourMore"
- ],
+ "description": "Edition from cricbuzz/auction/seasons: IPL 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026; WPL 2023, 2024, 2025, 2026, 2027; SA20 2027; HUNM 2026; HUNW 2026",
"in": "query",
- "name": "duration",
- "type": "string"
+ "name": "year",
+ "required": true,
+ "type": "string",
+ "x-example": "2027"
},
{
- "description": "Restrict to Audible Originals only",
+ "description": "Currency accepted by the selected edition: INR, USD, EUR, GBP, AUD, CAD, NZD, AED, ZAR, PKR, LKR, BDT, NPR",
"in": "query",
- "name": "originals_only",
- "type": "boolean"
+ "name": "currency",
+ "required": true,
+ "type": "string",
+ "x-example": "ZAR"
},
{
- "description": "1-based result page, default 1, 20 results per page",
+ "description": "Positive Cricbuzz player ID from an auction player result or team roster",
"in": "query",
- "name": "page",
- "type": "integer"
+ "name": "player_id",
+ "required": true,
+ "type": "integer",
+ "x-example": 8512
}
],
"produces": [
@@ -286238,7 +357488,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/audible.chartsResponseDoc"
+ "$ref": "#/definitions/cricbuzz.auctionPlayerDetailResponseDoc"
}
},
"400": {
@@ -286247,8 +357497,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -286265,25 +357521,40 @@
"ApiKeyAuth": []
}
],
- "summary": "Get an Audible chart (audible.com/charts)",
+ "summary": "Get a Cricbuzz auction player profile and earnings",
"tags": [
- "Audible"
+ "Cricbuzz"
]
}
},
- "/audible/charts/authors": {
+ "/cricbuzz/auction/player-search": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns one page of Audible's ranked author chart. It exposes only rank, author identity, image metadata when available, and a canonical author URI; author detail is not included.",
- "operationId": "audible-author-charts",
+ "description": "Searches the current edition's public player index. q must contain 3-100 ASCII English letters or spaces, matching the source UI. A valid query with no matching players returns an empty items list.",
+ "operationId": "cricbuzz-auction-player-search",
"parameters": [
{
- "description": "1-based result page, default 1",
+ "description": "Tournament identifier from cricbuzz/auction/seasons: ipl, wpl, sa20, hunm, hunw",
"in": "query",
- "name": "page",
- "type": "integer"
+ "name": "tournament",
+ "required": true,
+ "type": "string",
+ "x-example": "sa20"
+ },
+ {
+ "description": "Edition from cricbuzz/auction/seasons: IPL 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026; WPL 2023, 2024, 2025, 2026, 2027; SA20 2027; HUNM 2026; HUNW 2026",
+ "in": "query",
+ "name": "year",
+ "required": true,
+ "type": "string",
+ "x-example": "2027"
+ },
+ {
+ "description": "3-100 ASCII English letters or spaces",
+ "in": "query",
+ "name": "q",
+ "required": true,
+ "type": "string",
+ "x-example": "Jamie"
}
],
"produces": [
@@ -286293,7 +357564,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/audible.authorChartsResponseDoc"
+ "$ref": "#/definitions/cricbuzz.auctionPlayerSearchResponseDoc"
}
},
"400": {
@@ -286302,6 +357573,18 @@
"$ref": "#/definitions/app.Response"
}
},
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
"503": {
"description": "Service Unavailable",
"schema": {
@@ -286314,32 +357597,89 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Audible's top-author chart",
+ "summary": "Search Cricbuzz auction players",
"tags": [
- "Audible"
+ "Cricbuzz"
]
}
},
- "/audible/list/{list}": {
+ "/cricbuzz/auction/results": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns one of Audible's hand-curated \"Popular Lists\" pages, as its themed shelves (heading + ordered ASINs). Pair an ASIN from any shelf with GET /audible/products (batch) or GET /audible/product/{asin} for full title/author/price/rating detail. \"Best of the Year\" is not covered.",
- "operationId": "audible-editorial-list",
+ "description": "Returns one 1-based page from the selected completed auction. Discover tournament/year/currency with cricbuzz/auction/seasons and the selected edition's Country, Status, Team, Role, Cap and Sort values with cricbuzz/auction/options. country_ids and statuses accept comma-separated values from those menus; the other filters accept one value. Pages return up to 20 rows; the source does not provide a total count or has-more flag.",
+ "operationId": "cricbuzz-auction-results",
"parameters": [
{
- "description": "Editorial list slug",
- "enum": [
- "audiobooks",
- "booktok",
- "podcasts"
- ],
- "in": "path",
- "name": "list",
+ "description": "Tournament identifier from cricbuzz/auction/seasons; current values: ipl, wpl, sa20, hunm, hunw",
+ "in": "query",
+ "name": "tournament",
"required": true,
"type": "string",
- "x-example": "audiobooks"
+ "x-example": "ipl"
+ },
+ {
+ "description": "Edition from cricbuzz/auction/seasons: ipl 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026; wpl 2023, 2024, 2025, 2026, 2027; sa20 2027; hunm 2026; hunw 2026",
+ "in": "query",
+ "name": "year",
+ "required": true,
+ "type": "string",
+ "x-example": "2026"
+ },
+ {
+ "description": "Currency code from the selected edition: INR, USD, EUR, GBP, AUD, CAD, NZD, AED, ZAR, PKR, LKR, BDT, NPR",
+ "in": "query",
+ "name": "currency",
+ "required": true,
+ "type": "string",
+ "x-example": "INR"
+ },
+ {
+ "description": "One-based page number; defaults to 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer",
+ "x-example": 1
+ },
+ {
+ "description": "Comma-separated Country IDs from cricbuzz/auction/options; current IPL 2026 values: 96, 4, 6, 26, 9, 8, 2, 27, 527, 303, 14, 161, 72, 24, 13, 3, 23, 190, 11, 5, 384, 7, 15, 10, 12",
+ "in": "query",
+ "name": "country_ids",
+ "type": "string",
+ "x-example": "2,4"
+ },
+ {
+ "description": "Comma-separated Status values from cricbuzz/auction/options; current IPL 2026 values: Sold, Unsold, Retained, RTM, Drafted, Replacement, Traded, Wild Card",
+ "in": "query",
+ "name": "statuses",
+ "type": "string",
+ "x-example": "Sold,Unsold"
+ },
+ {
+ "description": "One Team ID from cricbuzz/auction/options; current IPL 2026 values: 58, 59, 61, 62, 63, 64, 65, 255, 966, 971",
+ "in": "query",
+ "name": "team_id",
+ "type": "string",
+ "x-example": "59"
+ },
+ {
+ "description": "One Role from cricbuzz/auction/options; current values: Batter, Bowler, Allrounder, WK-Batter",
+ "in": "query",
+ "name": "role",
+ "type": "string",
+ "x-example": "Allrounder"
+ },
+ {
+ "description": "One Cap value from cricbuzz/auction/options; current values: Capped, Uncapped",
+ "in": "query",
+ "name": "cap",
+ "type": "string",
+ "x-example": "Uncapped"
+ },
+ {
+ "description": "Displayed Sort label from cricbuzz/auction/options; current values: Recent, Featured, Base Price: High to Low, Base Price: Low to High, Final Price: High to Low, Final Price: Low to High",
+ "in": "query",
+ "name": "sort",
+ "type": "string",
+ "x-example": "Recent"
}
],
"produces": [
@@ -286349,7 +357689,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/audible.editorialListResponseDoc"
+ "$ref": "#/definitions/cricbuzz.auctionResultsResponseDoc"
}
},
"400": {
@@ -286358,8 +357698,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -286376,29 +357722,16 @@
"ApiKeyAuth": []
}
],
- "summary": "Get an Audible curated editorial list",
+ "summary": "Get filtered and sorted Cricbuzz completed-auction players",
"tags": [
- "Audible"
+ "Cricbuzz"
]
}
},
- "/audible/product/{asin}": {
+ "/cricbuzz/auction/seasons": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns an Audible audiobook: description, authors, narrators, series, category ladders, publisher, release date, runtime, language, sample audio URL, rating (overall/performance/story), and public list price.",
- "operationId": "audible-product",
- "parameters": [
- {
- "description": "Audible ASIN",
- "in": "path",
- "name": "asin",
- "required": true,
- "type": "string",
- "x-example": "B08G9PRS1K"
- }
- ],
+ "description": "Returns every current League & Edition menu value, its canonical season slug and its accepted currencies from Cricbuzz's public season-details JSON.",
+ "operationId": "cricbuzz-auction-seasons",
"produces": [
"application/json"
],
@@ -286406,13 +357739,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/audible.productResponseDoc"
- }
- },
- "400": {
- "description": "Bad Request",
- "schema": {
- "$ref": "#/definitions/app.Response"
+ "$ref": "#/definitions/cricbuzz.auctionSeasonsResponseDoc"
}
},
"404": {
@@ -286421,8 +357748,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -286439,48 +357766,48 @@
"ApiKeyAuth": []
}
],
- "summary": "Get an Audible audiobook",
+ "summary": "Discover Cricbuzz auction leagues, editions and currencies",
"tags": [
- "Audible"
+ "Cricbuzz"
]
}
},
- "/audible/product/{asin}/related": {
+ "/cricbuzz/auction/team": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns Audible titles related to a given ASIN by a required relation type: same series, same narrator, same author, next in series, or raw similarity.",
- "operationId": "audible-product-related",
+ "description": "Returns team purse metadata and role-grouped Batters, Wicket Keepers, All Rounders and Bowlers. Discover team_id through auction/teams/options or auction/teams; discover currency through auction/seasons.",
+ "operationId": "cricbuzz-auction-team-detail",
"parameters": [
{
- "description": "Audible ASIN",
- "in": "path",
- "name": "asin",
+ "description": "Tournament identifier from cricbuzz/auction/seasons: ipl, wpl, sa20, hunm, hunw",
+ "in": "query",
+ "name": "tournament",
"required": true,
"type": "string",
- "x-example": "B08G9PRS1K"
+ "x-example": "sa20"
},
{
- "description": "How to relate titles to the given ASIN",
- "enum": [
- "InTheSameSeries",
- "ByTheSameNarrator",
- "RawSimilarities",
- "ByTheSameAuthor",
- "NextInSameSeries"
- ],
+ "description": "Edition from cricbuzz/auction/seasons: IPL 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026; WPL 2023, 2024, 2025, 2026, 2027; SA20 2027; HUNM 2026; HUNW 2026",
"in": "query",
- "name": "similarity_type",
+ "name": "year",
"required": true,
"type": "string",
- "x-example": "InTheSameSeries"
+ "x-example": "2027"
},
{
- "description": "Max results, default 10, max 50",
+ "description": "Currency accepted by the selected edition: INR, USD, EUR, GBP, AUD, CAD, NZD, AED, ZAR, PKR, LKR, BDT, NPR",
"in": "query",
- "name": "limit",
- "type": "integer"
+ "name": "currency",
+ "required": true,
+ "type": "string",
+ "x-example": "ZAR"
+ },
+ {
+ "description": "Team ID returned by auction/teams/options for the selected edition",
+ "in": "query",
+ "name": "team_id",
+ "required": true,
+ "type": "integer",
+ "x-example": 1242
}
],
"produces": [
@@ -286490,7 +357817,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/audible.relatedResponseDoc"
+ "$ref": "#/definitions/cricbuzz.auctionTeamDetailResponseDoc"
}
},
"400": {
@@ -286499,8 +357826,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -286517,39 +357850,47 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Audible titles related to an audiobook",
+ "summary": "Get a Cricbuzz auction team's roster",
"tags": [
- "Audible"
+ "Cricbuzz"
]
}
},
- "/audible/product/{asin}/reviews": {
+ "/cricbuzz/auction/teams": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns a page of an Audible audiobook's customer reviews (author, title, body, overall/performance/story ratings, helpful votes, submission date).",
- "operationId": "audible-product-reviews",
+ "description": "Returns every team row for one selected edition and currency. Discover exact currency choices through auction/seasons and sort labels through auction/teams/options. Valid sort labels are Alphabetical, Spent: High to Low, Spent: Low to High, Remaining: High to Low, Remaining: Low to High, Players: High to Low and Players: Low to High.",
+ "operationId": "cricbuzz-auction-teams",
"parameters": [
{
- "description": "Audible ASIN",
- "in": "path",
- "name": "asin",
+ "description": "Tournament identifier from cricbuzz/auction/seasons: ipl, wpl, sa20, hunm, hunw",
+ "in": "query",
+ "name": "tournament",
"required": true,
"type": "string",
- "x-example": "B08G9PRS1K"
+ "x-example": "sa20"
},
{
- "description": "Zero-based result page, default 0",
+ "description": "Edition from cricbuzz/auction/seasons: IPL 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026; WPL 2023, 2024, 2025, 2026, 2027; SA20 2027; HUNM 2026; HUNW 2026",
"in": "query",
- "name": "page",
- "type": "integer"
+ "name": "year",
+ "required": true,
+ "type": "string",
+ "x-example": "2027"
},
{
- "description": "Max reviews, default 10, max 50",
+ "description": "Currency accepted by the selected edition: INR, USD, EUR, GBP, AUD, CAD, NZD, AED, ZAR, PKR, LKR, BDT, NPR",
"in": "query",
- "name": "limit",
- "type": "integer"
+ "name": "currency",
+ "required": true,
+ "type": "string",
+ "x-example": "ZAR"
+ },
+ {
+ "description": "Sort label from auction/teams/options: Alphabetical, Spent: High to Low, Spent: Low to High, Remaining: High to Low, Remaining: Low to High, Players: High to Low, Players: Low to High; defaults to the upstream default",
+ "in": "query",
+ "name": "sort",
+ "type": "string",
+ "x-example": "Spent: High to Low"
}
],
"produces": [
@@ -286559,7 +357900,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/audible.reviewsResponseDoc"
+ "$ref": "#/definitions/cricbuzz.auctionTeamsResponseDoc"
}
},
"400": {
@@ -286568,8 +357909,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -286586,27 +357933,30 @@
"ApiKeyAuth": []
}
],
- "summary": "Get an Audible audiobook's customer reviews",
+ "summary": "Get Cricbuzz auction team purse and roster summaries",
"tags": [
- "Audible"
+ "Cricbuzz"
]
}
},
- "/audible/products": {
+ "/cricbuzz/auction/teams/options": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns Audible audiobooks for up to 50 ASINs in a single request — the same fields as GET /audible/product/{asin}. Unrecognized ASINs are silently omitted rather than failing the whole batch.",
- "operationId": "audible-products",
+ "description": "Returns all current team IDs and names plus the seven Teams-tab sorts: Alphabetical, Spent: High to Low, Spent: Low to High, Remaining: High to Low, Remaining: Low to High, Players: High to Low, Players: Low to High. Use the returned team_id values with auction/team and the sort labels with auction/teams.",
+ "operationId": "cricbuzz-auction-teams-options",
"parameters": [
{
- "description": "Comma-separated Audible ASINs, up to 50",
+ "description": "Tournament identifier from cricbuzz/auction/seasons: ipl, wpl, sa20, hunm, hunw; defaults to ipl when both tournament/year are omitted",
"in": "query",
- "name": "asins",
- "required": true,
+ "name": "tournament",
"type": "string",
- "x-example": "B08G9PRS1K,B002V1OF70"
+ "x-example": "sa20"
+ },
+ {
+ "description": "Edition from cricbuzz/auction/seasons: IPL 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026; WPL 2023, 2024, 2025, 2026, 2027; SA20 2027; HUNM 2026; HUNW 2026; defaults to 2026 when both tournament/year are omitted",
+ "in": "query",
+ "name": "year",
+ "type": "string",
+ "x-example": "2027"
}
],
"produces": [
@@ -286616,7 +357966,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/audible.productsResponseDoc"
+ "$ref": "#/definitions/cricbuzz.auctionTeamsOptionsResponseDoc"
}
},
"400": {
@@ -286625,8 +357975,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -286643,61 +357999,75 @@
"ApiKeyAuth": []
}
],
- "summary": "Get multiple Audible audiobooks in one call",
+ "summary": "Discover Cricbuzz auction teams and sort values",
"tags": [
- "Audible"
+ "Cricbuzz"
]
}
},
- "/audible/search": {
+ "/cricbuzz/auction/upcoming": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Searches Audible's audiobook catalog by keyword, title, author, narrator, or category id. At least one filter is required.",
- "operationId": "audible-search",
+ "description": "Returns one 1-based page of unauctioned players. Discover tournament/year/currency via auction/seasons and exact Country/Role/Cap/Sort values via auction/upcoming/options. Country IDs are comma-separated and can be selected together; sort values are Base Price: High to Low and Base Price: Low to High. The source returns up to 20 rows and no total or has-more flag.",
+ "operationId": "cricbuzz-auction-upcoming",
"parameters": [
{
- "description": "Free-text query matched across title, subtitle, and author",
+ "description": "Tournament identifier from cricbuzz/auction/seasons: ipl, wpl, sa20, hunm, hunw",
"in": "query",
- "name": "q",
- "type": "string"
+ "name": "tournament",
+ "required": true,
+ "type": "string",
+ "x-example": "sa20"
},
{
- "description": "Match by title",
+ "description": "Edition from cricbuzz/auction/seasons: IPL 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026; WPL 2023, 2024, 2025, 2026, 2027; SA20 2027; HUNM 2026; HUNW 2026",
"in": "query",
- "name": "title",
- "type": "string"
+ "name": "year",
+ "required": true,
+ "type": "string",
+ "x-example": "2027"
},
{
- "description": "Match by author name",
+ "description": "Currency accepted by the selected edition: INR, USD, EUR, GBP, AUD, CAD, NZD, AED, ZAR, PKR, LKR, BDT, NPR",
"in": "query",
- "name": "author",
- "type": "string"
+ "name": "currency",
+ "required": true,
+ "type": "string",
+ "x-example": "ZAR"
},
{
- "description": "Match by narrator name",
+ "description": "One-based page number; defaults to 1",
"in": "query",
- "name": "narrator",
- "type": "string"
+ "name": "page",
+ "type": "integer",
+ "x-example": 1
},
{
- "description": "Restrict to a category id from GET /audible/categories",
+ "description": "Comma-separated exact Country option values from auction/upcoming/options; SA20 2027 labels: Afghanistan, Australia, Bangladesh, Canada, England, Hong Kong China, India, Ireland, Italy, Jersey, Kenya, Namibia, Nepal, Netherlands, New Zealand, Pakistan, Scotland, Singapore, South Africa, Sri Lanka, Thailand, United Arab Emirates, United States of America, West Indies, Zimbabwe",
"in": "query",
- "name": "category_id",
- "type": "string"
+ "name": "country_ids",
+ "type": "string",
+ "x-example": "9"
},
{
- "description": "Zero-based result page, default 0",
+ "description": "Exact Role option value from auction/upcoming/options; SA20 2027 labels: All, Batter, Bowler, All Rounder, WK Batter",
"in": "query",
- "name": "page",
- "type": "integer"
+ "name": "role",
+ "type": "string",
+ "x-example": "Allrounder"
},
{
- "description": "Max results, default 10, max 50",
+ "description": "Exact Cap option value from auction/upcoming/options; values: Capped, Uncapped",
"in": "query",
- "name": "limit",
- "type": "integer"
+ "name": "cap",
+ "type": "string",
+ "x-example": "Uncapped"
+ },
+ {
+ "description": "Sort label from auction/upcoming/options: Base Price: High to Low, Base Price: Low to High",
+ "in": "query",
+ "name": "sort",
+ "type": "string",
+ "x-example": "Base Price: High to Low"
}
],
"produces": [
@@ -286707,7 +358077,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/audible.searchResponseDoc"
+ "$ref": "#/definitions/cricbuzz.auctionUpcomingResponseDoc"
}
},
"400": {
@@ -286716,8 +358086,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -286734,27 +358110,30 @@
"ApiKeyAuth": []
}
],
- "summary": "Search Audible's catalog",
+ "summary": "Get filtered Cricbuzz unauctioned players",
"tags": [
- "Audible"
+ "Cricbuzz"
]
}
},
- "/audible/series/{asin}": {
+ "/cricbuzz/auction/upcoming/options": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns an Audible series and every book in it, in series order. A series has its own ASIN distinct from any book in it — find one via a book's series[].asin field from GET /audible/product/{asin}.",
- "operationId": "audible-series",
+ "description": "Returns the edition-specific Country, Role, Cap and Sort menus from the public Unauctioned auction page. Omitted tournament/year default to ipl/2026. Current SA20 2027 Country labels are Afghanistan, Australia, Bangladesh, Canada, England, Hong Kong China, India, Ireland, Italy, Jersey, Kenya, Namibia, Nepal, Netherlands, New Zealand, Pakistan, Scotland, Singapore, South Africa, Sri Lanka, Thailand, United Arab Emirates, United States of America, West Indies and Zimbabwe. Role labels are All, Batter, Bowler, All Rounder and WK Batter; Cap values are Capped and Uncapped; Sort values are Base Price: High to Low and Base Price: Low to High. Use each option's exact `value` with auction/upcoming.",
+ "operationId": "cricbuzz-auction-upcoming-options",
"parameters": [
{
- "description": "Audible series ASIN, from a product's series[].asin field",
- "in": "path",
- "name": "asin",
- "required": true,
+ "description": "Tournament identifier from cricbuzz/auction/seasons: ipl, wpl, sa20, hunm, hunw; defaults to ipl when both tournament/year are omitted",
+ "in": "query",
+ "name": "tournament",
"type": "string",
- "x-example": "B006W3V2B0"
+ "x-example": "sa20"
+ },
+ {
+ "description": "Edition from cricbuzz/auction/seasons: IPL 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026; WPL 2023, 2024, 2025, 2026, 2027; SA20 2027; HUNM 2026; HUNW 2026; defaults to 2026 when both tournament/year are omitted",
+ "in": "query",
+ "name": "year",
+ "type": "string",
+ "x-example": "2027"
}
],
"produces": [
@@ -286764,7 +358143,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/audible.seriesResponseDoc"
+ "$ref": "#/definitions/cricbuzz.auctionOptionsResponseDoc"
}
},
"400": {
@@ -286779,8 +358158,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -286797,27 +358176,32 @@
"ApiKeyAuth": []
}
],
- "summary": "Get an Audible series' ordered book list",
+ "summary": "Discover Cricbuzz unauctioned-player filters",
"tags": [
- "Audible"
+ "Cricbuzz"
]
}
},
- "/autotrader/dealer/{id}": {
+ "/cricbuzz/auction/videos": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns an Autotrader dealer profile (name, phone, address, rating, website) plus a first page of the dealer's own current inventory as vehicle summaries and the dealer's total listing count.",
- "operationId": "autotrader-dealer",
+ "description": "Returns only the selected edition's Auction Videos cards with video IDs, page URLs, titles, durations and thumbnail metadata. The global Featured Videos sidebar is excluded. If Cricbuzz displays No Videos Available, items is an explicit empty array with empty_state=no_videos. Discover tournament/year from cricbuzz/auction/seasons.",
+ "operationId": "cricbuzz-auction-videos",
"parameters": [
{
- "description": "Autotrader dealer/owner id, the numeric path segment of a /car-dealers/{id} URL",
- "in": "path",
- "name": "id",
+ "description": "Tournament identifier from cricbuzz/auction/seasons: ipl, wpl, sa20, hunm, hunw",
+ "in": "query",
+ "name": "tournament",
"required": true,
"type": "string",
- "x-example": "64141623"
+ "x-example": "ipl"
+ },
+ {
+ "description": "Edition from cricbuzz/auction/seasons: IPL 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026; WPL 2023, 2024, 2025, 2026, 2027; SA20 2027; HUNM 2026; HUNW 2026",
+ "in": "query",
+ "name": "year",
+ "required": true,
+ "type": "string",
+ "x-example": "2026"
}
],
"produces": [
@@ -286827,7 +358211,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/autotrader.DealerResponse"
+ "$ref": "#/definitions/cricbuzz.auctionVideosResponseDoc"
}
},
"400": {
@@ -286842,8 +358226,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -286860,144 +358244,24 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Autotrader dealer profile",
+ "summary": "Get an edition's Cricbuzz Auction Videos cards",
"tags": [
- "Autotrader"
+ "Cricbuzz"
]
}
},
- "/autotrader/search": {
+ "/cricbuzz/match-facts": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Searches Autotrader for new and used car listings, returning vehicle summaries (make, model, trim, year, mileage, pricing, images) plus the total matching count.",
- "operationId": "autotrader-search",
+ "description": "Returns the public Info-tab match title, toss, venue guide, umpires, third umpire, referee, both team squads, bench players, and support staff. Use the canonical match URL returned by /cricbuzz/matches. Squad member links are preserved where Cricbuzz publishes them.",
+ "operationId": "cricbuzz-match-facts",
"parameters": [
{
- "description": "Free-text keyword search",
- "in": "query",
- "name": "query",
- "type": "string",
- "x-example": "leather seats"
- },
- {
- "description": "5-digit US ZIP code to search around",
- "in": "query",
- "name": "zip",
- "type": "string",
- "x-example": "90210"
- },
- {
- "description": "Search radius in miles around zip",
- "in": "query",
- "name": "radius",
- "type": "integer",
- "x-example": 50
- },
- {
- "description": "Autotrader make code, e.g. TOYOTA, HONDA, BMW",
- "in": "query",
- "name": "make",
- "type": "string",
- "x-example": "TOYOTA"
- },
- {
- "description": "Autotrader model code, e.g. CAMRY. Requires make",
- "in": "query",
- "name": "model",
- "type": "string",
- "x-example": "CAMRY"
- },
- {
- "description": "Autotrader trim code. Requires make and model",
- "in": "query",
- "name": "trim",
- "type": "string",
- "x-example": "LE"
- },
- {
- "description": "Listing condition. Allowed values: new, used, certified, 3p_cert",
- "enum": [
- "new",
- "used",
- "certified",
- "3p_cert"
- ],
- "in": "query",
- "name": "condition",
- "type": "string",
- "x-example": "used"
- },
- {
- "description": "Body style. Allowed values: convertible, coupe, hatchback, sedan, suv, truck, van, wagon",
- "enum": [
- "convertible",
- "coupe",
- "hatchback",
- "sedan",
- "suv",
- "truck",
- "van",
- "wagon"
- ],
- "in": "query",
- "name": "body_style",
- "type": "string",
- "x-example": "suv"
- },
- {
- "description": "Seller type. Allowed values: dealer, private",
- "enum": [
- "dealer",
- "private"
- ],
+ "description": "Canonical Cricbuzz live-cricket-scores URL returned by /cricbuzz/matches",
"in": "query",
- "name": "seller_type",
+ "name": "match_url",
+ "required": true,
"type": "string",
- "x-example": "dealer"
- },
- {
- "description": "Minimum model year",
- "in": "query",
- "name": "min_year",
- "type": "integer",
- "x-example": 2020
- },
- {
- "description": "Maximum model year",
- "in": "query",
- "name": "max_year",
- "type": "integer",
- "x-example": 2026
- },
- {
- "description": "Minimum price in US dollars",
- "in": "query",
- "name": "min_price",
- "type": "integer",
- "x-example": 10000
- },
- {
- "description": "Maximum price in US dollars",
- "in": "query",
- "name": "max_price",
- "type": "integer",
- "x-example": 40000
- },
- {
- "description": "Maximum odometer mileage",
- "in": "query",
- "name": "max_mileage",
- "type": "integer",
- "x-example": 60000
- },
- {
- "description": "1-indexed result page, defaults to 1. Autotrader returns 24 results per page",
- "in": "query",
- "name": "page",
- "type": "integer",
- "x-example": 1
+ "x-example": "https://www.cricbuzz.com/live-cricket-scores/172701/afg-vs-zim-1st-t20i-afghanistan-vs-zimbabwe-in-uae-2026"
}
],
"produces": [
@@ -287007,7 +358271,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/autotrader.searchResponseDoc"
+ "$ref": "#/definitions/cricbuzz.matchFactsResponseDoc"
}
},
"400": {
@@ -287016,8 +358280,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -287034,27 +358304,24 @@
"ApiKeyAuth": []
}
],
- "summary": "Search Autotrader vehicle listings",
+ "summary": "Get Cricbuzz match information and squads",
"tags": [
- "Autotrader"
+ "Cricbuzz"
]
}
},
- "/autotrader/vehicle/{id}": {
+ "/cricbuzz/match-graphs": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns an Autotrader vehicle listing: full vehicle spec (make, model, trim, mileage, colors, transmission, fuel type, engine, images, pricing), the full listing description, and seller detail (dealership or private seller).",
- "operationId": "autotrader-vehicle",
+ "description": "Returns the first-party Graphs page's runs, run-rate, runs-per-over, win-probability, innings, and wicket-over values. Commentary prose and media are omitted. Pass the canonical match URL returned by /cricbuzz/matches.",
+ "operationId": "cricbuzz-match-graphs",
"parameters": [
{
- "description": "Autotrader listing id, the numeric path segment of a /cars-for-sale/vehicle/{id} URL",
- "in": "path",
- "name": "id",
+ "description": "Canonical Cricbuzz live-cricket-scores URL returned by /cricbuzz/matches",
+ "in": "query",
+ "name": "match_url",
"required": true,
"type": "string",
- "x-example": "754822172"
+ "x-example": "https://www.cricbuzz.com/live-cricket-scores/172701/afg-vs-zim-1st-t20i-afghanistan-vs-zimbabwe-in-uae-2026"
}
],
"produces": [
@@ -287064,7 +358331,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/autotrader.VehicleResponse"
+ "$ref": "#/definitions/cricbuzz.graphsResponseDoc"
}
},
"400": {
@@ -287079,8 +358346,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -287097,24 +358364,24 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Autotrader vehicle listing detail",
+ "summary": "Get numeric Cricbuzz match graphs",
"tags": [
- "Autotrader"
+ "Cricbuzz"
]
}
},
- "/axios/article": {
+ "/cricbuzz/match-overs": {
"get": {
- "description": "Returns a public Axios article's metadata and full body paragraphs from a canonical article URL. Subscriber-only stories with no free preview return a 403 permission error instead of an empty body.",
- "operationId": "axios-article",
+ "description": "Returns every over-summary row present in the first-party Over-by-Over page payload and the live innings filter values. Some upstream snapshots include only a recent window; the response sets is_complete=false in that case. Full ball-by-ball commentary text is not included.",
+ "operationId": "cricbuzz-match-overs",
"parameters": [
{
- "description": "Canonical www.axios.com article URL",
+ "description": "Canonical Cricbuzz live-cricket-scores URL returned by /cricbuzz/matches",
"in": "query",
- "name": "url",
+ "name": "match_url",
"required": true,
"type": "string",
- "x-example": "https://www.axios.com/2026/09/19/google-safety-incidents-testing-hacks"
+ "x-example": "https://www.cricbuzz.com/live-cricket-scores/172701/afg-vs-zim-1st-t20i-afghanistan-vs-zimbabwe-in-uae-2026"
}
],
"produces": [
@@ -287124,7 +358391,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/axios.articleResponseDoc"
+ "$ref": "#/definitions/cricbuzz.oversResponseDoc"
}
},
"400": {
@@ -287133,12 +358400,6 @@
"$ref": "#/definitions/app.Response"
}
},
- "403": {
- "description": "Forbidden",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"404": {
"description": "Not Found",
"schema": {
@@ -287163,16 +358424,44 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Axios article content",
+ "summary": "Get Cricbuzz over summaries",
"tags": [
- "Axios"
+ "Cricbuzz"
]
}
},
- "/axios/categories": {
+ "/cricbuzz/matches": {
"get": {
- "description": "Returns Axios's full public topic and subtopic navigation tree. Use a subtopic's topic value directly as the topic parameter on axios-headlines.",
- "operationId": "axios-categories",
+ "description": "Returns Cricbuzz match cards grouped by source category and series, including teams, scores when available, venue, time, status, and the canonical live-score URL for detail endpoints. The homepage-only Live Now and Today controls are not included because their effects were not verified. Category filtering is local over the route-backed match groups.",
+ "operationId": "cricbuzz-matches",
+ "parameters": [
+ {
+ "description": "Match-list status; defaults to live",
+ "enum": [
+ "live",
+ "recent",
+ "upcoming"
+ ],
+ "in": "query",
+ "name": "status",
+ "type": "string",
+ "x-example": "live"
+ },
+ {
+ "description": "Match category; defaults to all",
+ "enum": [
+ "all",
+ "international",
+ "league",
+ "domestic",
+ "women"
+ ],
+ "in": "query",
+ "name": "category",
+ "type": "string",
+ "x-example": "international"
+ }
+ ],
"produces": [
"application/json"
],
@@ -287180,7 +358469,13 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/axios.categoriesResponseDoc"
+ "$ref": "#/definitions/cricbuzz.matchesResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
}
},
"429": {
@@ -287201,26 +358496,16 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Axios topic navigation",
+ "summary": "List Cricbuzz live, recent, or upcoming matches",
"tags": [
- "Axios"
+ "Cricbuzz"
]
}
},
- "/axios/headlines": {
+ "/cricbuzz/navigation": {
"get": {
- "description": "Returns the newest public Axios stories on one topic or subtopic page. topic is a topic slug (e.g. technology) or a topic/subtopic path (e.g. technology/automation-and-ai) -- see axios-categories for the full known value space.",
- "operationId": "axios-headlines",
- "parameters": [
- {
- "description": "Axios topic slug or topic/subtopic path",
- "in": "query",
- "name": "topic",
- "required": true,
- "type": "string",
- "x-example": "technology"
- }
- ],
+ "description": "Returns the current first-party JSON-LD navigation tree from the Live Scores page, including the News, Videos, Rankings, and More dropdown items and utility links. The short featured Team and Series dropdown entries are not complete directories; use the teams and series endpoints for their full dynamic lists.",
+ "operationId": "cricbuzz-navigation",
"produces": [
"application/json"
],
@@ -287228,25 +358513,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/axios.headlinesResponseDoc"
- }
- },
- "400": {
- "description": "Bad Request",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
- "429": {
- "description": "Too Many Requests",
- "schema": {
- "$ref": "#/definitions/app.Response"
+ "$ref": "#/definitions/cricbuzz.navigationResponseDoc"
}
},
"503": {
@@ -287261,36 +358528,24 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Axios topic headlines",
+ "summary": "Discover Cricbuzz top-level menus and dropdown links",
"tags": [
- "Axios"
+ "Cricbuzz"
]
}
},
- "/baidu/search": {
+ "/cricbuzz/news/story": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns Baidu result cards for a query: title, destination URL, snippet, publisher, and date, with page-based pagination. Each result's `type` is `web` (standard pages), `video` (video cards), or `baike` (Baidu Baike encyclopedia entries); answer widgets such as weather, entity panels, and recommendation lists are not returned. Baidu challenges a portion of requests with a security verification page; the service retries and returns 503 if every attempt is challenged, so callers should retry on 503.",
- "operationId": "baidu-search",
+ "description": "Fetches one public canonical Cricbuzz story URL and returns its JSON-LD headline, author, dates, body, inline links and typed series/team/topic tags. Pass a URL returned by cricbuzz_auction_news or another public Cricbuzz news page. Only https://www.cricbuzz.com/cricket-news/{numeric_id}/{slug} is accepted; premium or login-gated content is not unlocked.",
+ "operationId": "cricbuzz-news-story",
"parameters": [
{
- "description": "Search query",
+ "description": "Canonical public Cricbuzz story URL: https://www.cricbuzz.com/cricket-news/{numeric_id}/{slug}",
"in": "query",
- "name": "q",
+ "name": "url",
"required": true,
"type": "string",
- "x-example": "openai"
- },
- {
- "description": "1-based result page; defaults to 1, maximum 10",
- "in": "query",
- "maximum": 10,
- "minimum": 1,
- "name": "page",
- "type": "integer",
- "x-example": 1
+ "x-example": "https://www.cricbuzz.com/cricket-news/136912/live-blog-ipl-2026-player-auction"
}
],
"produces": [
@@ -287300,29 +358555,29 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/baidu.searchResponseDoc"
+ "$ref": "#/definitions/cricbuzz.newsStoryResponseDoc"
}
},
"400": {
- "description": "Missing or invalid parameters",
+ "description": "Bad Request",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Rate limit exceeded",
+ "404": {
+ "description": "Not Found",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal server error",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"503": {
- "description": "Baidu upstream request failed or was challenged with a security verification",
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -287333,36 +358588,23 @@
"ApiKeyAuth": []
}
],
- "summary": "Search Baidu web results",
+ "summary": "Get a public Cricbuzz NewsArticle and its tags",
"tags": [
- "Baidu"
+ "Cricbuzz"
]
}
},
- "/baidu/suggest": {
+ "/cricbuzz/news/topics": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns Baidu search-box autocomplete completions for a query prefix, in Baidu's own ranking order. Baidu never returns more than 10 suggestions per prefix; Chinese prefixes are supported.",
- "operationId": "baidu-suggest",
+ "description": "Returns the current public News navigation sections and all topic cards linked from the Topics page, including IDs, slugs, titles, descriptions, and canonical URLs. Topic coverage is dynamic and is discovered from Cricbuzz at request time. The response contains topic metadata only, not story bodies; the Premium Editorials navigation entry is marked premium.",
+ "operationId": "cricbuzz-news-topics",
"parameters": [
{
- "description": "Search query prefix",
+ "description": "Optional case-insensitive substring search over topic title, description, and slug, up to 100 characters",
"in": "query",
"name": "q",
- "required": true,
"type": "string",
- "x-example": "openai"
- },
- {
- "description": "Suggestions to return; defaults to 10, clamped to 1..10",
- "in": "query",
- "maximum": 10,
- "minimum": 1,
- "name": "count",
- "type": "integer",
- "x-example": 10
+ "x-example": "auction"
}
],
"produces": [
@@ -287372,29 +358614,23 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/baidu.suggestResponseDoc"
+ "$ref": "#/definitions/cricbuzz.newsTopicsResponseDoc"
}
},
"400": {
- "description": "Missing or invalid parameters",
+ "description": "Bad Request",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"429": {
- "description": "Rate limit exceeded",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
- "500": {
- "description": "Internal server error",
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"503": {
- "description": "Baidu upstream request failed",
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -287405,19 +358641,54 @@
"ApiKeyAuth": []
}
],
- "summary": "Suggest Baidu search queries",
+ "summary": "Discover Cricbuzz News sections and topics",
"tags": [
- "Baidu"
+ "Cricbuzz"
]
}
},
- "/balenciaga/categories": {
+ "/cricbuzz/rankings": {
"get": {
- "consumes": [
- "application/json"
+ "description": "Returns Men or Women rankings for Batting, Bowling, All rounder, or Teams. The format list is discovered from the selected category page; Men currently expose Test, ODI, and T20, while Women expose ODI and T20. Ranking rows are parsed from the page's embedded data, and empty ranking tables are reported explicitly.",
+ "operationId": "cricbuzz-rankings",
+ "parameters": [
+ {
+ "description": "Ranking gender; defaults to men",
+ "enum": [
+ "men",
+ "women"
+ ],
+ "in": "query",
+ "name": "gender",
+ "type": "string",
+ "x-example": "men"
+ },
+ {
+ "description": "Ranking table type; defaults to batting",
+ "enum": [
+ "batting",
+ "bowling",
+ "all-rounder",
+ "teams"
+ ],
+ "in": "query",
+ "name": "type",
+ "type": "string",
+ "x-example": "batting"
+ },
+ {
+ "description": "Ranking format; defaults to the page's selected format. The valid set depends on gender.",
+ "enum": [
+ "test",
+ "odi",
+ "t20"
+ ],
+ "in": "query",
+ "name": "format",
+ "type": "string",
+ "x-example": "odi"
+ }
],
- "description": "Lists Balenciaga's storefront categories with `count`, and for each its `id`, `name`, `department`, `path` and `url`. Each `path` is the value `balenciaga-category` accepts. The response reports `country` (`ZW`) and `language` (`en`).",
- "operationId": "balenciaga-categories",
"produces": [
"application/json"
],
@@ -287425,7 +358696,13 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/balenciaga.categoriesResponseDoc"
+ "$ref": "#/definitions/cricbuzz.rankingsResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
}
},
"429": {
@@ -287446,60 +358723,73 @@
"ApiKeyAuth": []
}
],
- "summary": "List Balenciaga categories",
+ "summary": "Get an ICC ranking table from Cricbuzz",
"tags": [
- "Balenciaga"
+ "Cricbuzz"
]
}
},
- "/balenciaga/category": {
+ "/cricbuzz/records": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns one Balenciaga category listing from the site's own Search-ShowAjax fragment. path comes from balenciaga-categories. sort accepts latest, price_ascending, or price_descending. filters is a comma-separated list of exact field:value pairs from the response's live facets; repeat a field to OR multiple values within that facet; omit it for an unfiltered listing.",
- "operationId": "balenciaga-category",
+ "description": "Returns all record-topic/filter values and the selected Cricbuzz record table. The first-party request path was cold-replayed; supplied filters are validated against the page's current discovery values before fetching data.",
+ "operationId": "cricbuzz-records",
"parameters": [
{
- "description": "Category path from balenciaga-categories",
+ "description": "Record topic; defaults to mostRuns",
+ "enum": [
+ "mostRuns",
+ "highestScore",
+ "highestAvg",
+ "highestSr",
+ "mostHundreds",
+ "mostFifties",
+ "mostFours",
+ "mostSixes",
+ "mostNineties",
+ "mostWickets",
+ "lowestAvg",
+ "bestBowlingInnings",
+ "mostFiveWickets",
+ "lowestEcon",
+ "lowestSr"
+ ],
"in": "query",
- "name": "path",
- "required": true,
+ "name": "stat",
"type": "string",
- "x-example": "/en-en/women/bags-for-women/handbags"
+ "x-example": "mostRuns"
},
{
- "description": "Sort order",
+ "description": "Match format label; defaults to the current table format",
"enum": [
- "latest",
- "price_ascending",
- "price_descending"
+ "test",
+ "odi",
+ "t20"
],
"in": "query",
- "name": "sort",
+ "name": "format",
"type": "string",
- "x-example": "latest"
+ "x-example": "test"
},
{
- "description": "One-based page number, defaults to 1",
+ "description": "Year value from the page's dynamically discovered Year options",
"in": "query",
- "name": "page",
- "type": "integer",
- "x-example": 1
+ "name": "year",
+ "type": "string",
+ "x-example": "2026"
},
{
- "description": "Products per page, defaults to 16, maximum 48",
+ "description": "Team ID from the page's dynamically discovered Team options",
"in": "query",
- "name": "limit",
- "type": "integer",
- "x-example": 16
+ "name": "team",
+ "type": "string",
+ "x-example": "2"
},
{
- "description": "Comma-separated exact facet filters; repeat a field for OR values, for example akeneo_macroColor:BLACK,akeneo_macroColor:WHITE",
+ "description": "Opponent ID from the page's dynamically discovered Oppn options",
"in": "query",
- "name": "filters",
+ "name": "opponent",
"type": "string",
- "x-example": "akeneo_macroColor:BLACK"
+ "x-example": "4"
}
],
"produces": [
@@ -287509,19 +358799,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/balenciaga.listingResponseDoc"
- }
- },
- "400": {
- "description": "Bad Request",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
+ "$ref": "#/definitions/cricbuzz.recordsResponseDoc"
}
},
"429": {
@@ -287542,27 +358820,37 @@
"ApiKeyAuth": []
}
],
- "summary": "Browse a Balenciaga category",
+ "summary": "Discover Cricbuzz record topics and filter values",
"tags": [
- "Balenciaga"
+ "Cricbuzz"
]
}
},
- "/balenciaga/product": {
+ "/cricbuzz/schedule": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns structured product detail from Balenciaga's product page, including schema.org name/SKU/price/availability, images, color variants, and visible product details. url must be a product URL returned by balenciaga-category or balenciaga-search.",
- "operationId": "balenciaga-product",
+ "description": "Returns every match in the current date window shown by Cricbuzz's Matches By Day page, grouped by date and series. Category and q filters run locally over that complete page payload. The date window is dynamic and can change with the upstream page.",
+ "operationId": "cricbuzz-schedule",
"parameters": [
{
- "description": "Product URL from a Balenciaga listing",
+ "description": "Schedule category; defaults to all",
+ "enum": [
+ "all",
+ "international",
+ "league",
+ "domestic",
+ "women"
+ ],
"in": "query",
- "name": "url",
- "required": true,
+ "name": "category",
"type": "string",
- "x-example": "/en-en/hourglass-avenue-top-handle-bag-small-black-A007IH2ACT21000.html"
+ "x-example": "all"
+ },
+ {
+ "description": "Optional case-insensitive substring search over series, match descriptions, and team names, up to 100 characters",
+ "in": "query",
+ "name": "q",
+ "type": "string",
+ "x-example": "wellington"
}
],
"produces": [
@@ -287572,7 +358860,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/balenciaga.productResponseDoc"
+ "$ref": "#/definitions/cricbuzz.scheduleResponseDoc"
}
},
"400": {
@@ -287581,12 +358869,6 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"429": {
"description": "Too Many Requests",
"schema": {
@@ -287605,27 +358887,24 @@
"ApiKeyAuth": []
}
],
- "summary": "Get a Balenciaga product",
+ "summary": "List Cricbuzz matches by day",
"tags": [
- "Balenciaga"
+ "Cricbuzz"
]
}
},
- "/balenciaga/product/variants": {
+ "/cricbuzz/scorecard": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns Balenciaga's live color/size variation matrix for a product, including variation ids, selection/sellability flags, care text, availability, and related product ids. url may be a product URL or a Product-Variation URL from balenciaga-product's colors[].url.",
- "operationId": "balenciaga-product-variants",
+ "description": "Returns match header, toss/result, teams/venue, and every innings' batting, bowling, totals, extras, powerplays, wickets, and partnerships. Pass the canonical match URL returned by /cricbuzz/matches. Future matches can return an explicit no_scorecard state. Media assets are not returned.",
+ "operationId": "cricbuzz-scorecard",
"parameters": [
{
- "description": "Balenciaga product URL or Product-Variation URL",
+ "description": "Canonical Cricbuzz live-cricket-scores URL returned by /cricbuzz/matches",
"in": "query",
- "name": "url",
+ "name": "match_url",
"required": true,
"type": "string",
- "x-example": "https://www.balenciaga.com/on/demandware.store/Sites-BAL-R-INTL-Site/en_ZW/Product-Variation?dwvar_A007IH2ACT21000_color=1000&dwvar_A007IH2ACT21000_size=U&pid=A007IH2ACT21000&quantity=1"
+ "x-example": "https://www.cricbuzz.com/live-cricket-scores/172701/afg-vs-zim-1st-t20i-afghanistan-vs-zimbabwe-in-uae-2026"
}
],
"produces": [
@@ -287635,7 +358914,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/balenciaga.productVariantsResponseDoc"
+ "$ref": "#/definitions/cricbuzz.scorecardResponseDoc"
}
},
"400": {
@@ -287668,53 +358947,44 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Balenciaga product variations",
+ "summary": "Get a Cricbuzz match scorecard",
"tags": [
- "Balenciaga"
+ "Cricbuzz"
]
}
},
- "/balenciaga/search": {
+ "/cricbuzz/series": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Searches Balenciaga's storefront by keyword using the site's own product-grid fragment. q is required; sort accepts latest, price_ascending, or price_descending; page is one-based with 12 products per page; and filters accepts comma-separated exact field:value pairs from live facets. Repeat a field to OR multiple values within that facet. A genuine no-result query returns an empty products list.",
- "operationId": "balenciaga-search",
+ "description": "Returns current and future series grouped by month, with series IDs, dates, and canonical URLs. Filter by the live route-backed category, the Live Streaming flag, or a local case-insensitive series-name substring. Live Streaming may validly return an empty result set when Cricbuzz has no matching entries at the time of the request.",
+ "operationId": "cricbuzz-series",
"parameters": [
{
- "description": "Free-text search query",
- "in": "query",
- "name": "q",
- "required": true,
- "type": "string",
- "x-example": "hourglass"
- },
- {
- "description": "Sort order",
+ "description": "Series category; defaults to all",
"enum": [
- "latest",
- "price_ascending",
- "price_descending"
+ "all",
+ "international",
+ "domestic",
+ "league",
+ "women"
],
"in": "query",
- "name": "sort",
+ "name": "category",
"type": "string",
- "x-example": "latest"
+ "x-example": "all"
},
{
- "description": "One-based page number, defaults to 1",
+ "description": "Restrict to Cricbuzz's Live Streaming page filter",
"in": "query",
- "name": "page",
- "type": "integer",
- "x-example": 1
+ "name": "live_stream",
+ "type": "boolean",
+ "x-example": false
},
{
- "description": "Comma-separated exact facet filters; repeat a field for OR values, for example akeneo_macroColor:BLACK,akeneo_macroColor:WHITE",
+ "description": "Optional local substring search over series names, up to 100 characters",
"in": "query",
- "name": "filters",
+ "name": "q",
"type": "string",
- "x-example": "akeneo_macroColor:BLACK"
+ "x-example": "ashes"
}
],
"produces": [
@@ -287724,7 +358994,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/balenciaga.listingResponseDoc"
+ "$ref": "#/definitions/cricbuzz.seriesResponseDoc"
}
},
"400": {
@@ -287733,12 +359003,6 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"429": {
"description": "Too Many Requests",
"schema": {
@@ -287757,19 +359021,57 @@
"ApiKeyAuth": []
}
],
- "summary": "Search Balenciaga products",
+ "summary": "Discover Cricbuzz current and future series",
"tags": [
- "Balenciaga"
+ "Cricbuzz"
]
}
},
- "/balenciaga/store-countries": {
+ "/cricbuzz/series/stats": {
"get": {
- "consumes": [
- "application/json"
+ "description": "Returns all Batting/Bowling statistic topics and format values for a series, its selected filter state, and selected stats table. `stat` and `format` are validated against the page's dynamic option lists and fetched via the first-party series-stats route. Team/Season filter values are not accepted because their complete option sets have not been confirmed.",
+ "operationId": "cricbuzz-series-stats",
+ "parameters": [
+ {
+ "description": "Canonical series URL returned by /cricbuzz/series",
+ "in": "query",
+ "name": "series_url",
+ "required": true,
+ "type": "string",
+ "x-example": "https://www.cricbuzz.com/cricket-series/11595/australia-tour-of-south-africa-2026/matches"
+ },
+ {
+ "description": "Stat topic; defaults to the currently selected topic",
+ "enum": [
+ "mostRuns",
+ "highestScore",
+ "highestAvg",
+ "highestSr",
+ "mostHundreds",
+ "mostFifties",
+ "mostFours",
+ "mostSixes",
+ "mostNineties",
+ "mostWickets",
+ "lowestAvg",
+ "bestBowlingInnings",
+ "mostFiveWickets",
+ "lowestEcon",
+ "lowestSr"
+ ],
+ "in": "query",
+ "name": "stat",
+ "type": "string",
+ "x-example": "mostRuns"
+ },
+ {
+ "description": "Format ID from the response's dynamic formats list; defaults to the current page selection",
+ "in": "query",
+ "name": "format",
+ "type": "string",
+ "x-example": "1"
+ }
],
- "description": "Lists the countries Balenciaga's store locator offers, each with a country `code` and `name`, plus a `count`. Each code is accepted by `balenciaga-stores`. The response also reports the storefront `country` and `language`.",
- "operationId": "balenciaga-store-countries",
"produces": [
"application/json"
],
@@ -287777,7 +359079,19 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/balenciaga.storeCountriesResponseDoc"
+ "$ref": "#/definitions/cricbuzz.seriesStatsResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
}
},
"429": {
@@ -287798,61 +359112,70 @@
"ApiKeyAuth": []
}
],
- "summary": "List Balenciaga store-locator countries",
+ "summary": "Discover Cricbuzz series statistics",
"tags": [
- "Balenciaga"
+ "Cricbuzz"
]
}
},
- "/balenciaga/stores": {
+ "/cricbuzz/team/stats": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns Balenciaga's public physical-store directory for one country, including addresses, coordinates, phone numbers, opening hours, and store-service flags. Use balenciaga-store-countries to discover the complete accepted country enum.",
- "operationId": "balenciaga-stores",
+ "description": "Returns the selected team's Batting or Bowling table. First call /cricbuzz/team/stats/options with the same category and team_id. stat values currently exposed by India are mostRuns, highestScore, highestAvg, highestSr, mostHundreds, mostFifties, mostFours, mostSixes, mostNineties, mostWickets, lowestAvg, bestBowlingInnings, mostFiveWickets, lowestEcon and lowestSr; each team may expose a subset. format_id, year and opponent_id must be exact values from the options response. The source page exposes no sort control; an explicitly empty upstream table returns empty_state=no_results.",
+ "operationId": "cricbuzz-team-stats",
"parameters": [
{
- "description": "Two-letter country code",
+ "description": "Team-directory category from /cricbuzz/teams",
"enum": [
- "AE",
- "AT",
- "AU",
- "BE",
- "BR",
- "CA",
- "CN",
- "CZ",
- "DE",
- "DK",
- "ES",
- "FR",
- "GB",
- "HK",
- "IE",
- "IT",
- "JP",
- "KR",
- "KW",
- "MC",
- "MO",
- "MX",
- "MY",
- "NL",
- "NZ",
- "QA",
- "SA",
- "SG",
- "CH",
- "TH",
- "TW",
- "US"
+ "international",
+ "domestic",
+ "league",
+ "women"
],
"in": "query",
- "name": "country",
+ "name": "category",
"required": true,
"type": "string",
- "x-example": "US"
+ "x-example": "international"
+ },
+ {
+ "description": "Team ID returned by /cricbuzz/teams for the selected category",
+ "in": "query",
+ "name": "team_id",
+ "required": true,
+ "type": "integer",
+ "x-example": 2
+ },
+ {
+ "description": "A value returned for the selected team by /cricbuzz/team/stats/options; current India values are mostRuns, highestScore, highestAvg, highestSr, mostHundreds, mostFifties, mostFours, mostSixes, mostNineties, mostWickets, lowestAvg, bestBowlingInnings, mostFiveWickets, lowestEcon, lowestSr",
+ "in": "query",
+ "name": "stat",
+ "required": true,
+ "type": "string",
+ "x-example": "mostRuns"
+ },
+ {
+ "description": "Format ID returned by /cricbuzz/team/stats/options",
+ "in": "query",
+ "name": "format_id",
+ "required": true,
+ "type": "string",
+ "x-example": "2"
+ },
+ {
+ "description": "Year value returned by /cricbuzz/team/stats/options, including all when offered",
+ "in": "query",
+ "name": "year",
+ "required": true,
+ "type": "string",
+ "x-example": "2025"
+ },
+ {
+ "description": "Opponent ID returned by /cricbuzz/team/stats/options, including all when offered",
+ "in": "query",
+ "name": "opponent_id",
+ "required": true,
+ "type": "string",
+ "x-example": "4"
}
],
"produces": [
@@ -287862,7 +359185,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/balenciaga.storesResponseDoc"
+ "$ref": "#/definitions/cricbuzz.teamStatsResponseDoc"
}
},
"400": {
@@ -287871,6 +359194,12 @@
"$ref": "#/definitions/app.Response"
}
},
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
"429": {
"description": "Too Many Requests",
"schema": {
@@ -287889,24 +359218,38 @@
"ApiKeyAuth": []
}
],
- "summary": "List Balenciaga stores",
+ "summary": "Fetch one team statistics table",
"tags": [
- "Balenciaga"
+ "Cricbuzz"
]
}
},
- "/barrons/article": {
+ "/cricbuzz/team/stats/options": {
"get": {
- "description": "Returns one Barron's article's title, byline, section, publication time, word count, and body paragraphs, recovered from a public web-archive snapshot of the article. Barron's serves only the first paragraphs of an article at the origin, so an article is returned only when a full-text archive snapshot exists; an article without one returns 404.",
- "operationId": "barrons-article",
+ "description": "Returns the selected team's complete Batting and Bowling topic menus, supported format IDs, every year value and every opponent ID from Cricbuzz's team Stats page. Discover team_id and category from /cricbuzz/teams; use the exact dynamic values returned here with /cricbuzz/team/stats. The source page exposes no sort control.",
+ "operationId": "cricbuzz-team-stats-options",
"parameters": [
{
- "description": "Canonical Barron's article URL",
+ "description": "Team-directory category from /cricbuzz/teams",
+ "enum": [
+ "international",
+ "domestic",
+ "league",
+ "women"
+ ],
"in": "query",
- "name": "url",
+ "name": "category",
"required": true,
"type": "string",
- "x-example": "https://www.barrons.com/articles/nvidia-stock-price-meta-ai-chips-rally-11911927"
+ "x-example": "international"
+ },
+ {
+ "description": "Team ID returned by /cricbuzz/teams for the selected category",
+ "in": "query",
+ "name": "team_id",
+ "required": true,
+ "type": "integer",
+ "x-example": 2
}
],
"produces": [
@@ -287916,7 +359259,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/barrons.articleResponseDoc"
+ "$ref": "#/definitions/cricbuzz.teamStatsOptionsResponseDoc"
}
},
"400": {
@@ -287925,12 +359268,6 @@
"$ref": "#/definitions/app.Response"
}
},
- "403": {
- "description": "Forbidden",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"404": {
"description": "Not Found",
"schema": {
@@ -287955,32 +359292,36 @@
"ApiKeyAuth": []
}
],
- "summary": "Get a Barron's article's content",
+ "summary": "Discover team statistics topics and filters",
"tags": [
- "Barrons"
+ "Cricbuzz"
]
}
},
- "/barrons/headlines": {
+ "/cricbuzz/teams": {
"get": {
- "description": "Returns one page of a Barron's topic's headlines: each story's title, canonical URL, summary, publication time, authors, and lead image. Section must be a slug returned by /barrons/topics.",
- "operationId": "barrons-headlines",
+ "description": "Returns the complete team directory for one Cricbuzz category, with group labels, team IDs, short names, country labels, image IDs, and canonical team profile URLs. The optional q value performs a case-insensitive substring match on team names within the returned category.",
+ "operationId": "cricbuzz-teams",
"parameters": [
{
- "description": "Barron's topic slug from /barrons/topics",
+ "description": "Team directory category; defaults to international",
+ "enum": [
+ "international",
+ "domestic",
+ "league",
+ "women"
+ ],
"in": "query",
- "name": "section",
- "required": true,
+ "name": "category",
"type": "string",
- "x-example": "technology"
+ "x-example": "international"
},
{
- "description": "Results page",
+ "description": "Optional local substring search over team names, up to 100 characters",
"in": "query",
- "maximum": 200,
- "minimum": 1,
- "name": "page",
- "type": "integer"
+ "name": "q",
+ "type": "string",
+ "x-example": "india"
}
],
"produces": [
@@ -287990,7 +359331,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/barrons.headlinesResponseDoc"
+ "$ref": "#/definitions/cricbuzz.teamsResponseDoc"
}
},
"400": {
@@ -287999,12 +359340,6 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"429": {
"description": "Too Many Requests",
"schema": {
@@ -288023,16 +359358,16 @@
"ApiKeyAuth": []
}
],
- "summary": "Get the latest stories in a Barron's topic",
+ "summary": "Discover Cricbuzz teams",
"tags": [
- "Barrons"
+ "Cricbuzz"
]
}
},
- "/barrons/news": {
+ "/cricbuzz/videos/categories": {
"get": {
- "description": "Returns Barron's current cross-section news feed: the newest stories across every section, each with its title, canonical URL, and publication time.",
- "operationId": "barrons-news",
+ "description": "Returns the current Videos menu and every category card visible on Cricbuzz's category directory, including its dynamic ID, slug, title, current count, and canonical URL. The response contains navigation and category metadata only; it does not include video media.",
+ "operationId": "cricbuzz-video-categories",
"produces": [
"application/json"
],
@@ -288040,7 +359375,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/barrons.newsResponseDoc"
+ "$ref": "#/definitions/cricbuzz.videoCategoriesResponseDoc"
}
},
"429": {
@@ -288061,16 +359396,16 @@
"ApiKeyAuth": []
}
],
- "summary": "Get the latest Barron's stories",
+ "summary": "Discover Cricbuzz video categories",
"tags": [
- "Barrons"
+ "Cricbuzz"
]
}
},
- "/barrons/topics": {
+ "/cricbuzz/videos/playlists": {
"get": {
- "description": "Lists Barron's editorial topics, each with its `slug`, display `name` and landing-page `url`. The list is long and changes over time. Every `slug` is a valid `section` value for `/barrons/headlines`. Takes no parameters.",
- "operationId": "barrons-topics",
+ "description": "Returns every playlist card currently linked from the public Playlists page, including its dynamic playlist ID, title, count, preview video link, and canonical URL. The endpoint returns playlist metadata only and does not proxy video assets.",
+ "operationId": "cricbuzz-video-playlists",
"produces": [
"application/json"
],
@@ -288078,7 +359413,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/barrons.topicsResponseDoc"
+ "$ref": "#/definitions/cricbuzz.videoPlaylistsResponseDoc"
}
},
"429": {
@@ -288099,26 +359434,16 @@
"ApiKeyAuth": []
}
],
- "summary": "List Barron's topics",
+ "summary": "Discover Cricbuzz video playlists",
"tags": [
- "Barrons"
+ "Cricbuzz"
]
}
},
- "/bbb/article": {
+ "/cricbuzz/wtc": {
"get": {
- "description": "Returns published BBB article metadata, author names, body text, and useful links from a canonical public article URL on www.bbb.org or bbb.org. If BBB merges a story into another BBB article, the response contains the target article's id and source_url plus the original requested_url. Returns a permanent 404 when BBB moves the URL to an evergreen /all/ page or outside bbb.org, when BBB redirects the URL back to itself so it cannot be loaded, or when the URL resolves to a published non-article type such as an event; safe HTTPS destinations are named in the error and are never fetched.",
- "operationId": "bbb-article",
- "parameters": [
- {
- "description": "Canonical BBB article URL on www.bbb.org or bbb.org",
- "in": "query",
- "name": "url",
- "required": true,
- "type": "string",
- "x-example": "https://www.bbb.org/article/news-releases/34935-bbb-scam-alert-dont-be-fooled-by-free-gas-and-grocery-card-postcards"
- }
- ],
+ "description": "Returns the current public WTC points table and every season value in the page's dropdown. The dropdown selection effect has not been verified, so the endpoint exposes options but does not accept a season_id parameter.",
+ "operationId": "cricbuzz-wtc",
"produces": [
"application/json"
],
@@ -288126,29 +359451,11 @@
"200": {
"description": "OK",
"schema": {
- "allOf": [
- {
- "$ref": "#/definitions/app.Response"
- },
- {
- "properties": {
- "data": {
- "$ref": "#/definitions/bbbnews.ArticleResponse"
- }
- },
- "type": "object"
- }
- ]
- }
- },
- "400": {
- "description": "Bad Request",
- "schema": {
- "$ref": "#/definitions/app.Response"
+ "$ref": "#/definitions/cricbuzz.wtcResponseDoc"
}
},
- "404": {
- "description": "Not Found",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -288165,29 +359472,16 @@
"ApiKeyAuth": []
}
],
- "summary": "Get a BBB article",
+ "summary": "Get Cricbuzz World Test Championship standings",
"tags": [
- "BBB"
+ "Cricbuzz"
]
}
},
- "/bbb/business": {
+ "/cricinfo/calendar": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns a bbb.org business profile: BBB rating letter grade and reasons, accreditation status and since-date, years in business, BBB file/incorporation dates, entity type, contact info, business categories, social media, and a short latest-reviews preview.",
- "operationId": "bbb-business",
- "parameters": [
- {
- "description": "BBB business profile URL, from a bbb-search result's url or hq_profile_url",
- "in": "query",
- "name": "url",
- "required": true,
- "type": "string",
- "x-example": "https://www.bbb.org/us/tx/austin/profile/plumber/calixto-plumbing-0825-1000223803"
- }
- ],
+ "description": "Returns the dated international cricket calendar that Cricinfo currently publishes, with no parameters. Each event has its ISO date, the match name such as a fixture and venue, and any series labels for that day. The response also gives the event count.",
+ "operationId": "cricinfo-calendar",
"produces": [
"application/json"
],
@@ -288195,23 +359489,11 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bbb.businessResponseDoc"
- }
- },
- "400": {
- "description": "Bad Request",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
+ "$ref": "#/definitions/cricinfo.calendarResponseDoc"
}
},
- "500": {
- "description": "Internal Server Error",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -288228,36 +359510,31 @@
"ApiKeyAuth": []
}
],
- "summary": "Get a Better Business Bureau business profile",
+ "summary": "Get the Cricinfo international calendar",
"tags": [
- "BBB"
+ "Cricinfo"
]
}
},
- "/bbb/business/complaints": {
+ "/cricinfo/commentary": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns a business's BBB complaint history: total complaint count, complaints closed or filed in the last 12 months, and one page of per-complaint detail (date, type, status, narrative text, and any business response / customer answer thread). Complaints are listed newest first, 10 per page; use page with the returned page, total_pages and has_more to walk the full list. A business with no filed complaints returns total_complaints 0 and an empty complaints list -- this is a normal result, not an error.",
- "operationId": "bbb-business-complaints",
+ "description": "Returns the latest ball-by-ball and editorial commentary embedded in a public Cricinfo match page. `url` may be a canonical full-scorecard or live-score URL.",
+ "operationId": "cricinfo-commentary",
"parameters": [
{
- "description": "BBB business profile URL, from a bbb-search result's url or hq_profile_url. A location URL ending in /addressId/ is accepted and read from the business profile",
+ "description": "Canonical Cricinfo full-scorecard or live-score URL",
"in": "query",
"name": "url",
"required": true,
"type": "string",
- "x-example": "https://www.bbb.org/us/tx/austin/profile/plumber/calixto-plumbing-0825-1000223803"
+ "x-example": "https://www.cricinfo.com/series/ahmad-shah-abdali-4-day-tournament-2026-1551329/maiwand-champions-vs-mah-e-par-stars-1st-match-1551332/live-cricket-score"
},
{
- "default": 1,
- "description": "Complaint list page, 1 or greater (10 complaints per page, newest first). Defaults to 1",
+ "description": "Maximum commentary entries returned, from 1 to 100",
"in": "query",
- "minimum": 1,
- "name": "page",
+ "name": "limit",
"type": "integer",
- "x-example": 1
+ "x-example": 50
}
],
"produces": [
@@ -288267,7 +359544,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bbb.complaintsResponseDoc"
+ "$ref": "#/definitions/cricinfo.commentaryResponseDoc"
}
},
"400": {
@@ -288282,8 +359559,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -288300,27 +359577,23 @@
"ApiKeyAuth": []
}
],
- "summary": "Get a Better Business Bureau business's complaint history",
+ "summary": "Get Cricinfo match commentary",
"tags": [
- "BBB"
+ "Cricinfo"
]
}
},
- "/bbb/business/more-info": {
+ "/cricinfo/grounds": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns a business's full per-factor \"Reasons for Rating\" list and full service-area list. The bbb-business endpoint's own rating_reasons field typically holds only one generic boilerplate bullet regardless of actual rating; this endpoint returns the richer, business-specific list instead. Service area is business-conditional -- some businesses render no service-area section at all, in which case service_areas is empty.",
- "operationId": "bbb-business-more-info",
+ "description": "Returns the featured public ground directory snapshot and the country index used to discover Cricinfo venue pages. Use the existing venue endpoint for detailed ground profiles.",
+ "operationId": "cricinfo-grounds",
"parameters": [
{
- "description": "BBB business profile URL, from a bbb-search result's url or hq_profile_url. A location URL ending in /addressId/ is accepted and read from the business profile",
+ "description": "Maximum featured grounds returned, from 1 to 100",
"in": "query",
- "name": "url",
- "required": true,
- "type": "string",
- "x-example": "https://www.bbb.org/us/tx/austin/profile/plumber/calixto-plumbing-0825-1000223803"
+ "name": "limit",
+ "type": "integer",
+ "x-example": 20
}
],
"produces": [
@@ -288330,7 +359603,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bbb.moreInfoResponseDoc"
+ "$ref": "#/definitions/cricinfo.groundsResponseDoc"
}
},
"400": {
@@ -288339,14 +359612,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
- "500": {
- "description": "Internal Server Error",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -288363,35 +359630,16 @@
"ApiKeyAuth": []
}
],
- "summary": "Get a Better Business Bureau business's full rating reasons and service area",
+ "summary": "List Cricinfo grounds",
"tags": [
- "BBB"
+ "Cricinfo"
]
}
},
- "/bbb/business/reviews": {
+ "/cricinfo/live": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns a business's full customer-review list (author, star rating, date, text, and any business response thread), paginated 10 per page, plus the average star rating and total review count.",
- "operationId": "bbb-business-reviews",
- "parameters": [
- {
- "description": "BBB business profile URL, from a bbb-search result's url or hq_profile_url. A location URL ending in /addressId/ is accepted and read from the business profile",
- "in": "query",
- "name": "url",
- "required": true,
- "type": "string",
- "x-example": "https://www.bbb.org/us/tx/austin/profile/plumber/calixto-plumbing-0825-1000223803"
- },
- {
- "description": "Result page (10 per page), default 1",
- "in": "query",
- "name": "page",
- "type": "integer"
- }
- ],
+ "description": "Returns Cricinfo's current live-score list with no parameters, covering live, upcoming and recently completed matches. Each match has its title, format, state, status text, start date, series, both teams with scores, and a scorecard `url` you can pass to the match endpoint.",
+ "operationId": "cricinfo-live-matches",
"produces": [
"application/json"
],
@@ -288399,17 +359647,11 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bbb.reviewsResponseDoc"
- }
- },
- "400": {
- "description": "Bad Request",
- "schema": {
- "$ref": "#/definitions/app.Response"
+ "$ref": "#/definitions/cricinfo.liveMatchesResponseDoc"
}
},
- "500": {
- "description": "Internal Server Error",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -288426,114 +359668,24 @@
"ApiKeyAuth": []
}
],
- "summary": "Get a Better Business Bureau business's customer reviews",
+ "summary": "Get Cricinfo live matches",
"tags": [
- "BBB"
+ "Cricinfo"
]
}
},
- "/bbb/category": {
+ "/cricinfo/match": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Browses bbb.org businesses by category and location directly, without a free-text search query. Returns the same business-result shape as bbb-search. A verified empty first page returns results: [] and total_results: 0; an unavailable or unrecognized page returns an error. A page beyond the exact last page returns 404, and a page beyond BBB's 15-page accessible limit returns 404 naming that limit. Optional sort and filter parameters use the same values as bbb-search; query-scoped category and state/province values come from bbb-search-filters.",
- "operationId": "bbb-category",
+ "description": "Returns a public Cricinfo match scorecard with match state, team scores, and available innings totals and batter/bowler lines. Upcoming matches return an empty innings list. `url` must be a canonical `https://www.cricinfo.com/series/.../(full-scorecard|live-cricket-score)` URL; live-score URLs are normalized to the paired scorecard.",
+ "operationId": "cricinfo-match",
"parameters": [
{
- "description": "BBB category browse URL, from a bbb-search result's related_categories",
+ "description": "Canonical Cricinfo full-scorecard or live-cricket-score URL",
"in": "query",
"name": "url",
"required": true,
"type": "string",
- "x-example": "https://www.bbb.org/us/tx/austin/category/plumber"
- },
- {
- "description": "Result page, default 1",
- "in": "query",
- "name": "page",
- "type": "integer"
- },
- {
- "description": "Sort order",
- "enum": [
- "Relevance",
- "Distance",
- "Rating",
- "AToZ",
- "ZToA"
- ],
- "in": "query",
- "name": "sort",
- "type": "string"
- },
- {
- "description": "Maximum distance in miles; omit for all distances",
- "enum": [
- "5",
- "10",
- "25",
- "50",
- "100"
- ],
- "in": "query",
- "name": "distance",
- "type": "string"
- },
- {
- "collectionFormat": "multi",
- "description": "One or more BBB rating buckets",
- "in": "query",
- "items": {
- "enum": [
- "A",
- "B",
- "C",
- "D",
- "F"
- ],
- "type": "string"
- },
- "name": "rating",
- "type": "array"
- },
- {
- "collectionFormat": "multi",
- "description": "Query-scoped category ID from bbb-search-filters",
- "in": "query",
- "items": {
- "type": "string"
- },
- "name": "category_id",
- "type": "array"
- },
- {
- "collectionFormat": "multi",
- "description": "Query-scoped state or province code from bbb-search-filters",
- "in": "query",
- "items": {
- "type": "string"
- },
- "name": "state",
- "type": "array"
- },
- {
- "description": "Only BBB-accredited businesses",
- "in": "query",
- "name": "accredited",
- "type": "boolean"
- },
- {
- "description": "Only businesses offering quote requests",
- "in": "query",
- "name": "get_quote",
- "type": "boolean"
- },
- {
- "description": "Only businesses serving the searched area",
- "in": "query",
- "name": "service_area",
- "type": "boolean"
+ "x-example": "https://www.cricinfo.com/series/caribbean-premier-league-2026-1534175/trinbago-knight-riders-vs-barbados-tridents-19th-match-1534197/full-scorecard"
}
],
"produces": [
@@ -288543,7 +359695,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bbb.categoryResponseDoc"
+ "$ref": "#/definitions/cricinfo.matchResponseDoc"
}
},
"400": {
@@ -288558,8 +359710,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -288576,27 +359728,23 @@
"ApiKeyAuth": []
}
],
- "summary": "Browse a Better Business Bureau category",
+ "summary": "Get a Cricinfo match scorecard",
"tags": [
- "BBB"
+ "Cricinfo"
]
}
},
- "/bbb/local-bbb": {
+ "/cricinfo/news": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns public chapter profile details including office locations and hours, service territory, supported languages, and upcoming public events. news_url is the chapter's constructed newsroom route. When BBB publishes a program tile linking to a recognized newsroom path, published_news_url and its descriptive published_news_title are also returned. Use a canonical chapter URL from bbb-local-bbbs or a business record's local_bbb_url.",
- "operationId": "bbb-local-bbb",
+ "description": "Returns a bounded snapshot of Cricinfo's latest public stories, including titles, summaries, authors, genres, publication times, images, and associated match or series identifiers.",
+ "operationId": "cricinfo-news",
"parameters": [
{
- "description": "Canonical BBB chapter URL from bbb-local-bbbs or a business record's local_bbb_url",
+ "description": "Maximum stories returned, from 1 to 100",
"in": "query",
- "name": "url",
- "required": true,
- "type": "string",
- "x-example": "https://www.bbb.org/local-bbb/bbb-serving-the-heart-of-texas"
+ "name": "limit",
+ "type": "integer",
+ "x-example": 20
}
],
"produces": [
@@ -288606,7 +359754,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bbbdirectory.localBBBResponseDoc"
+ "$ref": "#/definitions/cricinfo.newsResponseDoc"
}
},
"400": {
@@ -288615,14 +359763,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
- "500": {
- "description": "Internal Server Error",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -288639,39 +359781,23 @@
"ApiKeyAuth": []
}
],
- "summary": "Get a local BBB chapter profile",
+ "summary": "Get latest Cricinfo news",
"tags": [
- "BBB"
+ "Cricinfo"
]
}
},
- "/bbb/local-bbbs": {
+ "/cricinfo/photos": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Lists every chapter and public office shown on BBB's directory page for a region discovered by bbb-regions. Office addresses can be outside the selected service region.",
- "operationId": "bbb-local-bbbs",
+ "description": "Returns bounded metadata for the latest public Cricinfo photos, including captions, credits, dimensions, dates, and image variants. Media files are not downloaded by the endpoint.",
+ "operationId": "cricinfo-photos",
"parameters": [
{
- "description": "Country code from bbb-regions",
- "enum": [
- "us",
- "ca"
- ],
- "in": "query",
- "name": "country",
- "required": true,
- "type": "string",
- "x-example": "us"
- },
- {
- "description": "Two-letter region code from bbb-regions",
+ "description": "Maximum photos returned, from 1 to 100",
"in": "query",
- "name": "region",
- "required": true,
- "type": "string",
- "x-example": "tx"
+ "name": "limit",
+ "type": "integer",
+ "x-example": 20
}
],
"produces": [
@@ -288681,7 +359807,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bbbdirectory.localBBBsResponseDoc"
+ "$ref": "#/definitions/cricinfo.photosResponseDoc"
}
},
"400": {
@@ -288690,8 +359816,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -288708,24 +359834,24 @@
"ApiKeyAuth": []
}
],
- "summary": "List local BBB chapters serving a region",
+ "summary": "Get latest Cricinfo photos",
"tags": [
- "BBB"
+ "Cricinfo"
]
}
},
- "/bbb/news": {
+ "/cricinfo/rankings": {
"get": {
- "description": "Returns one page of BBB newsroom cards from a canonical BBB newsroom URL. Three scopes are accepted, each with an optional topic: the US or Canada newsroom (/us/news), a state, province or city newsroom (/us/ca/news, /us/ca/san-francisco/news), and one local BBB chapter's own newsroom (/local-bbb//news, the news_url returned by bbb-local-bbbs and bbb-local-bbb). The list is whatever BBB shows on that page: a city or chapter whose local BBB publishes its own stories returns those, and other cities, other chapters and the state pages checked so far return the same list as the country newsroom, so compare total and the first items with the country newsroom before treating a list as local. A chapter URL also returns local_bbb_id and local_bbb_name. Items preserve BBB's type and include Article stories, events, and Near Me related-service cards when present. Near Me URLs are restricted to BBB's /near-me/ paths. Every page carries total_pages and has_more: request page + 1 while has_more is true and stop when it is false; a page past the end returns 404. Event dates and links are preserved when present.",
- "operationId": "bbb-news",
+ "description": "Returns ICC rankings (team or player) from a Cricinfo rankings page, given as the required `url`, which must be a canonical `https://www.cricinfo.com/rankings/...` address. Each entry has its rank, name, country, rating, points, matches and format, plus a team or player id.",
+ "operationId": "cricinfo-rankings",
"parameters": [
{
- "description": "Canonical https://www.bbb.org newsroom URL: /us/news or /ca/news; ///news or ////news with country us or ca, the two-letter region code from bbb-regions and the city slug from a business profile URL; or a chapter's news_url from bbb-local-bbbs. Append a topic segment from bbb-news-topics to narrow it and ?page=N (1 to 1000) to page; no other query key is accepted",
+ "description": "Canonical Cricinfo rankings URL",
"in": "query",
"name": "url",
"required": true,
"type": "string",
- "x-example": "https://www.bbb.org/us/news/scams?page=2"
+ "x-example": "https://www.cricinfo.com/rankings/content/page/211271.html"
}
],
"produces": [
@@ -288735,19 +359861,7 @@
"200": {
"description": "OK",
"schema": {
- "allOf": [
- {
- "$ref": "#/definitions/app.Response"
- },
- {
- "properties": {
- "data": {
- "$ref": "#/definitions/bbbnews.NewsResponse"
- }
- },
- "type": "object"
- }
- ]
+ "$ref": "#/definitions/cricinfo.rankingsResponseDoc"
}
},
"400": {
@@ -288762,6 +359876,12 @@
"$ref": "#/definitions/app.Response"
}
},
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
"503": {
"description": "Service Unavailable",
"schema": {
@@ -288774,24 +359894,70 @@
"ApiKeyAuth": []
}
],
- "summary": "Get BBB newsroom stories",
+ "summary": "Get ICC rankings from Cricinfo",
"tags": [
- "BBB"
+ "Cricinfo"
]
}
},
- "/bbb/news/topics": {
+ "/cricinfo/records": {
"get": {
- "description": "Returns the complete topic navigation shown by a BBB newsroom page, including its active topic. The page can be the US or Canada newsroom, a state, province or city newsroom, or one local BBB chapter's newsroom; the returned topic URLs stay in that scope, and a chapter has its own topic set.",
- "operationId": "bbb-news-topics",
+ "description": "Returns a bounded table from a Cricinfo records page. `record` is a relative Statsguru record path such as `batting/most_runs_career.html`. `class` must be one of `1`, `2`, `3`, `4`, `5`, `6`, `8`, `9`, `10`, `11`, `12`, `20`, `21`, `22`, or `23`.",
+ "operationId": "cricinfo-records",
"parameters": [
{
- "description": "Canonical https://www.bbb.org newsroom URL, optionally with a topic segment: /us/news or /ca/news; ///news or ////news with country us or ca, the two-letter region code from bbb-regions and the city slug from a business profile URL; or a chapter's news_url from bbb-local-bbbs",
+ "description": "Relative Statsguru record path",
"in": "query",
- "name": "url",
+ "name": "record",
"required": true,
"type": "string",
- "x-example": "https://www.bbb.org/us/news"
+ "x-example": "batting/most_runs_career.html"
+ },
+ {
+ "description": "Record match-class. Allowed values: 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 20, 21, 22, 23",
+ "enum": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 8,
+ 9,
+ 10,
+ 11,
+ 12,
+ 20,
+ 21,
+ 22,
+ 23
+ ],
+ "in": "query",
+ "name": "class",
+ "required": true,
+ "type": "integer",
+ "x-example": 1
+ },
+ {
+ "description": "Numeric record subject identifier",
+ "in": "query",
+ "name": "id",
+ "type": "string",
+ "x-example": "6"
+ },
+ {
+ "description": "Record subject type",
+ "in": "query",
+ "name": "type",
+ "type": "string",
+ "x-example": "team"
+ },
+ {
+ "description": "Record currentness selector",
+ "in": "query",
+ "name": "current",
+ "type": "string",
+ "x-example": "2"
}
],
"produces": [
@@ -288801,19 +359967,7 @@
"200": {
"description": "OK",
"schema": {
- "allOf": [
- {
- "$ref": "#/definitions/app.Response"
- },
- {
- "properties": {
- "data": {
- "$ref": "#/definitions/bbbnews.TopicsResponse"
- }
- },
- "type": "object"
- }
- ]
+ "$ref": "#/definitions/cricinfo.recordsResponseDoc"
}
},
"400": {
@@ -288828,6 +359982,12 @@
"$ref": "#/definitions/app.Response"
}
},
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
"503": {
"description": "Service Unavailable",
"schema": {
@@ -288840,26 +360000,16 @@
"ApiKeyAuth": []
}
],
- "summary": "List BBB newsroom topics",
+ "summary": "Get a Cricinfo record table",
"tags": [
- "BBB"
+ "Cricinfo"
]
}
},
- "/bbb/page": {
+ "/cricinfo/records/index": {
"get": {
- "description": "Returns one page from the evergreen library BBB keeps under https://www.bbb.org/all/ (tips, topic hubs such as tax or holiday advice, scam studies): its title, introduction, body text, links, main image and last-modified time. BBB folds older newsroom stories into these pages and redirects the old article URL, so the url can be either the evergreen page itself or an article URL that bbb-article reports as moved; requested_url, final_url and every redirect between them are returned. published_at is always present and is null, because BBB publishes no date for these pages: modified_at is when BBB last edited the page, not when a story it replaced was published, and the page may cover a wider topic than that story did. The original article ID is not on the page; article_id repeats the one in the requested article URL. Returns 404 when the page does not exist, when an article URL has not been moved (read it with bbb-article), and when BBB redirects the URL somewhere outside /all/; the error names the destination and the answer is permanent. Content BBB loads in the browser for the visitor's local BBB is not included.",
- "operationId": "bbb-page",
- "parameters": [
- {
- "description": "Canonical https://www.bbb.org URL of an evergreen page (/all/, no query string) or of an article (/article//-) that BBB has moved to one",
- "in": "query",
- "name": "url",
- "required": true,
- "type": "string",
- "x-example": "https://www.bbb.org/all/consumer/tip/what-to-know-before-purchasing-a-gift-card"
- }
- ],
+ "description": "Returns the public Cricinfo records catalog, including match classes, record categories, selectable teams or entities, and example suggestions. Use the existing records endpoint to retrieve a specific table.",
+ "operationId": "cricinfo-records-index",
"produces": [
"application/json"
],
@@ -288867,29 +360017,11 @@
"200": {
"description": "OK",
"schema": {
- "allOf": [
- {
- "$ref": "#/definitions/app.Response"
- },
- {
- "properties": {
- "data": {
- "$ref": "#/definitions/bbbnews.PageResponse"
- }
- },
- "type": "object"
- }
- ]
- }
- },
- "400": {
- "description": "Bad Request",
- "schema": {
- "$ref": "#/definitions/app.Response"
+ "$ref": "#/definitions/cricinfo.recordsIndexResponseDoc"
}
},
- "404": {
- "description": "Not Found",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -288906,19 +360038,26 @@
"ApiKeyAuth": []
}
],
- "summary": "Get a BBB evergreen page",
+ "summary": "List Cricinfo records catalog",
"tags": [
- "BBB"
+ "Cricinfo"
]
}
},
- "/bbb/regions": {
+ "/cricinfo/rss": {
"get": {
- "consumes": [
- "application/json"
+ "description": "Returns a Cricinfo RSS feed. `url` must be one of Cricinfo's official news, live-score, country-story, or player-story RSS URLs.",
+ "operationId": "cricinfo-rss",
+ "parameters": [
+ {
+ "description": "Official Cricinfo RSS feed URL",
+ "in": "query",
+ "name": "url",
+ "required": true,
+ "type": "string",
+ "x-example": "https://www.cricinfo.com/rss/content/feeds/news/0.xml"
+ }
],
- "description": "Returns the complete current country and region list from BBB's public local directory. Use the returned region code with bbb-local-bbbs.",
- "operationId": "bbb-regions",
"produces": [
"application/json"
],
@@ -288926,11 +360065,17 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bbbdirectory.regionsResponseDoc"
+ "$ref": "#/definitions/cricinfo.rssResponseDoc"
}
},
- "500": {
- "description": "Internal Server Error",
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -288947,121 +360092,16 @@
"ApiKeyAuth": []
}
],
- "summary": "List Better Business Bureau directory regions",
+ "summary": "Read a Cricinfo RSS feed",
"tags": [
- "BBB"
+ "Cricinfo"
]
}
},
- "/bbb/scamtracker/search": {
+ "/cricinfo/scores": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Searches bbb.org Scam Tracker's consumer-reported-scam database by free-text query, scam category, targeted-victim state/province, reported-scammer state/province, report-date range, and/or dollar-loss range, paginated 10 results/page. A verified search with no matches returns results: [] and total_results: 0; an unavailable or unrecognized page returns 503 rather than an empty list. When result cards are present but BBB's total count is unavailable, total_results is omitted. Every page returns has_more and, when BBB's result count is exact, total_pages: request the next page only while has_more is true, because a page past the end returns 404. Omit every filter to browse the most-recent-first feed. This is a separate BBB dataset from the bbb-search/bbb-business/bbb-business-complaints business-rating family -- consumer-reported scam incidents, not business ratings.",
- "operationId": "bbb-scamtracker-search",
- "parameters": [
- {
- "description": "Free-text search (phone number, website, email, business name, scam ID, description). Omit to browse the most-recent feed",
- "in": "query",
- "name": "query",
- "type": "string",
- "x-example": "amazon"
- },
- {
- "description": "Scam category filter",
- "enum": [
- "Advance Fee Loan",
- "Bank/Credit Card Company Imposter",
- "Business Email Compromise",
- "Charity",
- "Counterfeit Product",
- "COVID-19",
- "Credit Cards",
- "Credit Repair/Debt Relief",
- "CryptoCurrency",
- "Debt Collections",
- "Employment",
- "Fake Check/Money Order",
- "Fake Invoice/Supplier Bill",
- "Family/Friend Emergency",
- "Foreign Money Exchange",
- "Government Agency Imposter",
- "Government Grant",
- "Healthcare/Medicaid/Medicare",
- "Home Improvement",
- "Identity Theft",
- "Investment",
- "Moving",
- "Online Purchase",
- "Other",
- "Phishing",
- "Rental",
- "Retail Business",
- "Romance",
- "Scholarship",
- "Sweepstakes/Lottery/Prizes",
- "Tax Collection",
- "Tech Support",
- "Travel/Vacation/Timeshare",
- "Utility",
- "Vanity Award",
- "Worthless Problem-solving Service",
- "Yellow Pages/Directories"
- ],
- "in": "query",
- "name": "scam_type",
- "type": "string"
- },
- {
- "description": "Optional 2-letter targeted-victim state/province code (US state or Canadian province)",
- "in": "query",
- "name": "state",
- "type": "string",
- "x-example": "TX"
- },
- {
- "description": "Optional 2-letter reported-scammer state/province code (US state or Canadian province) -- where the scammer is reported to be, not the victim",
- "in": "query",
- "name": "scammer_state",
- "type": "string",
- "x-example": "NY"
- },
- {
- "description": "Optional report-date range start (YYYY-MM-DD), inclusive. Must be set together with date_to",
- "in": "query",
- "name": "date_from",
- "type": "string",
- "x-example": "2026-01-01"
- },
- {
- "description": "Optional report-date range end (YYYY-MM-DD), inclusive. Must be set together with date_from",
- "in": "query",
- "name": "date_to",
- "type": "string",
- "x-example": "2026-01-31"
- },
- {
- "description": "Optional minimum reported dollar loss. Must be set together with max_dollars_lost",
- "in": "query",
- "name": "min_dollars_lost",
- "type": "integer",
- "x-example": 500000
- },
- {
- "description": "Optional maximum reported dollar loss. Must be set together with min_dollars_lost",
- "in": "query",
- "name": "max_dollars_lost",
- "type": "integer",
- "x-example": 1000000
- },
- {
- "description": "Result page (10 per page), default 1",
- "in": "query",
- "name": "page",
- "type": "integer"
- }
- ],
+ "description": "Returns the current match cards in Cricinfo's public homepage snapshot, including match state, scores, and canonical scorecard URLs. This is a point-in-time feed, not a fixture archive or streaming subscription.",
+ "operationId": "cricinfo-scores",
"produces": [
"application/json"
],
@@ -289069,23 +360109,11 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bbbscamtracker.searchResponseDoc"
- }
- },
- "400": {
- "description": "Bad Request",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
+ "$ref": "#/definitions/cricinfo.scoresResponseDoc"
}
},
- "500": {
- "description": "Internal Server Error",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -289102,31 +360130,24 @@
"ApiKeyAuth": []
}
],
- "summary": "Search Better Business Bureau Scam Tracker reports",
+ "summary": "Get current Cricinfo match scores",
"tags": [
- "BBB"
+ "Cricinfo"
]
}
},
- "/bbb/scamtracker/state-stats": {
+ "/cricinfo/series": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns aggregate scam-report stats per US state and Canadian province for a given time window: report counts, dollar losses, per-capita rates, year-over-year change, and top scam-type breakdown.",
- "operationId": "bbb-scamtracker-state-stats",
+ "description": "Returns a series's match schedule and standings from its dedicated page. `series_id` must be the slug-and-ID portion of a canonical Cricinfo series URL, such as `indian-premier-league-2024-1410320`.",
+ "operationId": "cricinfo-series",
"parameters": [
{
- "description": "Aggregation window, default 90",
- "enum": [
- "30",
- "90",
- "365",
- "all"
- ],
+ "description": "Slug-and-ID portion of a canonical series URL",
"in": "query",
- "name": "period",
- "type": "string"
+ "name": "series_id",
+ "required": true,
+ "type": "string",
+ "x-example": "indian-premier-league-2024-1410320"
}
],
"produces": [
@@ -289136,7 +360157,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bbbscamtracker.stateStatsResponseDoc"
+ "$ref": "#/definitions/cricinfo.seriesResponseDoc"
}
},
"400": {
@@ -289145,8 +360166,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -289163,27 +360190,24 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Better Business Bureau Scam Tracker state/province aggregate stats",
+ "summary": "Get a Cricinfo series schedule and standings",
"tags": [
- "BBB"
+ "Cricinfo"
]
}
},
- "/bbb/scamtracker/{id}": {
+ "/cricinfo/squads": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns one BBB Scam Tracker consumer scam report: description, dollars lost, targeted person's location, scammer location/email/phone/URL (when known), scam type, business name used, and date reported. If BBB no longer shows the report and serves its search page at that address, the endpoint returns a permanent 404; do not retry it.",
- "operationId": "bbb-scamtracker-detail",
+ "description": "Returns recent public squad announcements and player rosters from a Cricinfo team profile, including player roles and withdrawal or overseas markers when published.",
+ "operationId": "cricinfo-squads",
"parameters": [
{
- "description": "BBB Scam Tracker report id, from a bbb-scamtracker-search result's id or url",
- "in": "path",
- "name": "id",
+ "description": "Canonical Cricinfo team profile URL",
+ "in": "query",
+ "name": "url",
"required": true,
"type": "string",
- "x-example": "1397968"
+ "x-example": "https://www.cricinfo.com/team/india-6"
}
],
"produces": [
@@ -289193,7 +360217,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bbbscamtracker.detailResponseDoc"
+ "$ref": "#/definitions/cricinfo.squadsResponseDoc"
}
},
"400": {
@@ -289208,8 +360232,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -289226,133 +360250,153 @@
"ApiKeyAuth": []
}
],
- "summary": "Get a Better Business Bureau Scam Tracker report",
+ "summary": "Get a Cricinfo team squad",
"tags": [
- "BBB"
+ "Cricinfo"
]
}
},
- "/bbb/search": {
+ "/cricinfo/stats": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Searches bbb.org for businesses by name or category near a location. Returns each business's BBB rating letter grade, accreditation status, categories, service areas, contact info, and profile URL. A verified empty first page returns results: [] and total_results: 0; an unavailable or unrecognized page returns an error. A page beyond the exact last page returns 404, and a page beyond BBB's 15-page accessible limit returns 404 naming that limit. Category IDs and state/province codes are query-scoped; call bbb-search-filters to discover values for this query and location.",
- "operationId": "bbb-search",
+ "description": "Returns a bounded Statsguru table. `class` must be one of `1`, `2`, `3`, `4`, `5`, `6`, `8`, `9`, `10`, `11`, `12`, `20`, `21`, `22`, or `23`; `type` must be one of `batting`, `bowling`, `fielding`, `allround`, `fow`, `team`, `official`, or `aggregate`; `view` may be `innings`, `match`, `series`, `ground`, `host`, `opposition`, `year`, or `season`.",
+ "operationId": "cricinfo-stats",
"parameters": [
{
- "description": "Business name or category/service keyword",
+ "description": "Statsguru match-class. Allowed values: 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 20, 21, 22, 23",
+ "enum": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 8,
+ 9,
+ 10,
+ 11,
+ 12,
+ 20,
+ 21,
+ 22,
+ 23
+ ],
"in": "query",
- "name": "query",
+ "name": "class",
"required": true,
- "type": "string",
- "x-example": "plumber"
+ "type": "integer",
+ "x-example": 1
},
{
- "description": "City and state (e.g. 'Austin, TX') or a ZIP code",
+ "description": "Statsguru statistic family",
+ "enum": [
+ "batting",
+ "bowling",
+ "fielding",
+ "allround",
+ "fow",
+ "team",
+ "official",
+ "aggregate"
+ ],
"in": "query",
- "name": "location",
+ "name": "type",
"required": true,
"type": "string",
- "x-example": "Austin, TX"
+ "x-example": "batting"
},
{
- "description": "Result page, default 1",
+ "description": "Numeric Cricinfo player identifier",
"in": "query",
- "name": "page",
- "type": "integer"
+ "name": "player",
+ "type": "string",
+ "x-example": "45789"
},
{
- "default": "USA",
- "description": "BBB country code",
- "enum": [
- "USA",
- "CAN"
- ],
+ "description": "Numeric Cricinfo team identifier",
"in": "query",
- "name": "country",
- "type": "string"
+ "name": "team",
+ "type": "string",
+ "x-example": "6"
},
{
- "description": "Sort order",
- "enum": [
- "Relevance",
- "Distance",
- "Rating",
- "AToZ",
- "ZToA"
- ],
+ "description": "Numeric opposition team identifier",
"in": "query",
- "name": "sort",
- "type": "string"
+ "name": "opposition",
+ "type": "string",
+ "x-example": "2"
},
{
- "description": "Maximum distance in miles; omit for all distances",
- "enum": [
- "5",
- "10",
- "25",
- "50",
- "100"
- ],
+ "description": "Numeric host-country identifier",
"in": "query",
- "name": "distance",
- "type": "string"
+ "name": "host",
+ "type": "string",
+ "x-example": "6"
},
{
- "collectionFormat": "multi",
- "description": "One or more BBB rating buckets",
+ "description": "Numeric ground identifier",
"in": "query",
- "items": {
- "enum": [
- "A",
- "B",
- "C",
- "D",
- "F"
- ],
- "type": "string"
- },
- "name": "rating",
- "type": "array"
+ "name": "ground",
+ "type": "string",
+ "x-example": "713"
},
{
- "collectionFormat": "multi",
- "description": "Query-scoped category ID from bbb-search-filters",
+ "description": "Season formatted as YYYY or YYYY/YY",
"in": "query",
- "items": {
- "type": "string"
- },
- "name": "category_id",
- "type": "array"
+ "name": "season",
+ "type": "string",
+ "x-example": "2025"
},
{
- "collectionFormat": "multi",
- "description": "Query-scoped state or province code from bbb-search-filters",
+ "description": "Statsguru starting date",
"in": "query",
- "items": {
- "type": "string"
- },
- "name": "state",
- "type": "array"
+ "name": "span_min",
+ "type": "string",
+ "x-example": "01 Jan 2020"
},
{
- "description": "Only BBB-accredited businesses",
+ "description": "Statsguru ending date",
"in": "query",
- "name": "accredited",
- "type": "boolean"
+ "name": "span_max",
+ "type": "string",
+ "x-example": "31 Dec 2025"
},
{
- "description": "Only businesses offering quote requests",
+ "description": "Statsguru table view",
+ "enum": [
+ "innings",
+ "match",
+ "series",
+ "ground",
+ "host",
+ "opposition",
+ "year",
+ "season"
+ ],
"in": "query",
- "name": "get_quote",
- "type": "boolean"
+ "name": "view",
+ "type": "string",
+ "x-example": "innings"
},
{
- "description": "Only businesses serving the searched area",
+ "description": "Statsguru sort column",
"in": "query",
- "name": "service_area",
- "type": "boolean"
+ "name": "orderby",
+ "type": "string",
+ "x-example": "runs"
+ },
+ {
+ "description": "Sort descending when true",
+ "in": "query",
+ "name": "orderby_desc",
+ "type": "boolean",
+ "x-example": true
+ },
+ {
+ "description": "Maximum rows returned, from 1 to 100",
+ "in": "query",
+ "name": "limit",
+ "type": "integer",
+ "x-example": 50
}
],
"produces": [
@@ -289362,7 +360406,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bbb.searchResponseDoc"
+ "$ref": "#/definitions/cricinfo.statsResponseDoc"
}
},
"400": {
@@ -289371,14 +360415,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
- "500": {
- "description": "Internal Server Error",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -289395,138 +360433,24 @@
"ApiKeyAuth": []
}
],
- "summary": "Search Better Business Bureau businesses",
+ "summary": "Query Cricinfo Statsguru",
"tags": [
- "BBB"
+ "Cricinfo"
]
}
},
- "/bbb/search/filters": {
+ "/cricinfo/story": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns the live sort, category, and state/province values BBB currently advertises for one context. Supply query and location for text search, or category_url for the exact category-browse context; do not combine these modes. Category IDs and state/province codes are query-scoped; call this endpoint again when the search context changes. Static accepted values are country USA or CAN; sort Relevance, Distance, Rating, AToZ, or ZToA; distance 5, 10, 25, 50, or 100 miles; rating A, B, C, D, or F.",
- "operationId": "bbb-search-filters",
+ "description": "Returns a public Cricinfo news article, match report, preview, or live blog. The response includes stable story metadata, typed content blocks, live-blog entries when present, and related links.",
+ "operationId": "cricinfo-story",
"parameters": [
{
- "description": "Business name or category/service keyword; use with location when category_url is omitted",
- "in": "query",
- "name": "query",
- "type": "string",
- "x-example": "plumber"
- },
- {
- "description": "City and state/province or ZIP code; use with query when category_url is omitted",
- "in": "query",
- "name": "location",
- "type": "string",
- "x-example": "Austin, TX"
- },
- {
- "description": "BBB category browse URL; use instead of query and location",
+ "description": "Canonical Cricinfo story, report, preview, or live-blog URL",
"in": "query",
- "name": "category_url",
+ "name": "url",
+ "required": true,
"type": "string",
- "x-example": "https://www.bbb.org/us/tx/austin/category/plumber"
- },
- {
- "default": "USA",
- "description": "BBB country code",
- "enum": [
- "USA",
- "CAN"
- ],
- "in": "query",
- "name": "country",
- "type": "string"
- },
- {
- "description": "Result page, default 1",
- "in": "query",
- "name": "page",
- "type": "integer"
- },
- {
- "description": "Sort order",
- "enum": [
- "Relevance",
- "Distance",
- "Rating",
- "AToZ",
- "ZToA"
- ],
- "in": "query",
- "name": "sort",
- "type": "string"
- },
- {
- "description": "Maximum distance in miles; omit for all distances",
- "enum": [
- "5",
- "10",
- "25",
- "50",
- "100"
- ],
- "in": "query",
- "name": "distance",
- "type": "string"
- },
- {
- "collectionFormat": "multi",
- "description": "Selected rating values",
- "in": "query",
- "items": {
- "enum": [
- "A",
- "B",
- "C",
- "D",
- "F"
- ],
- "type": "string"
- },
- "name": "rating",
- "type": "array"
- },
- {
- "collectionFormat": "multi",
- "description": "Selected category IDs previously returned for this search context",
- "in": "query",
- "items": {
- "type": "string"
- },
- "name": "category_id",
- "type": "array"
- },
- {
- "collectionFormat": "multi",
- "description": "Selected state/province codes previously returned for this search context",
- "in": "query",
- "items": {
- "type": "string"
- },
- "name": "state",
- "type": "array"
- },
- {
- "description": "Only BBB-accredited businesses",
- "in": "query",
- "name": "accredited",
- "type": "boolean"
- },
- {
- "description": "Only businesses offering quote requests",
- "in": "query",
- "name": "get_quote",
- "type": "boolean"
- },
- {
- "description": "Only businesses serving the searched area",
- "in": "query",
- "name": "service_area",
- "type": "boolean"
+ "x-example": "https://www.cricinfo.com/story/lutho-sipamla-ruled-out-of-namibia-tri-series-with-hamstring-injury-1552225"
}
],
"produces": [
@@ -289536,7 +360460,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bbb.searchFiltersResponseDoc"
+ "$ref": "#/definitions/cricinfo.storyResponseDoc"
}
},
"400": {
@@ -289545,8 +360469,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -289563,24 +360493,24 @@
"ApiKeyAuth": []
}
],
- "summary": "Discover Better Business Bureau search filters",
+ "summary": "Get a Cricinfo story",
"tags": [
- "BBB"
+ "Cricinfo"
]
}
},
- "/bbc/article": {
+ "/cricinfo/team": {
"get": {
- "description": "Returns a BBC News article's public metadata and body paragraphs from a canonical article URL. Live pages are not supported.",
- "operationId": "bbc-article",
+ "description": "Returns public team identity, profile text, recent fixtures and results, and the rolling batting and bowling leaders shown on a Cricinfo team page.",
+ "operationId": "cricinfo-team",
"parameters": [
{
- "description": "Canonical BBC News article URL",
+ "description": "Canonical Cricinfo team profile URL",
"in": "query",
"name": "url",
"required": true,
"type": "string",
- "x-example": "https://www.bbc.co.uk/news/articles/cd68q3wynnqo"
+ "x-example": "https://www.cricinfo.com/team/india-6"
}
],
"produces": [
@@ -289590,7 +360520,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bbc.articleResponseDoc"
+ "$ref": "#/definitions/cricinfo.teamProfileResponseDoc"
}
},
"400": {
@@ -289623,24 +360553,24 @@
"ApiKeyAuth": []
}
],
- "summary": "Get BBC News article content",
+ "summary": "Get a Cricinfo team profile",
"tags": [
- "BBC"
+ "Cricinfo"
]
}
},
- "/bbc/author": {
+ "/cricinfo/team/schedule": {
"get": {
- "description": "Returns a BBC News correspondent's profile from `url`, a canonical `bbc.co.uk/news/correspondents/` address: name, short `bio` and recent articles with title, URL, section and publication date when the page shows one. `published_at` is `YYYY-MM-DD` when the page gives a full date; items labelled only with a relative time, such as `2 days ago`, come back as written.",
- "operationId": "bbc-author",
+ "description": "Returns a cricket team's recent fixtures and results from its Cricinfo team page, given as the required `url`, which must be a canonical `https://www.cricinfo.com/team/...` address. The response has the team's id, name and slug, and matches with series, format, state, status text, team scores and scorecard URL.",
+ "operationId": "cricinfo-team-schedule",
"parameters": [
{
- "description": "Canonical BBC News correspondent URL",
+ "description": "Canonical Cricinfo team URL",
"in": "query",
"name": "url",
"required": true,
"type": "string",
- "x-example": "https://www.bbc.co.uk/news/correspondents/jonnydymond"
+ "x-example": "https://www.cricinfo.com/team/india-6"
}
],
"produces": [
@@ -289650,7 +360580,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bbc.authorResponseDoc"
+ "$ref": "#/definitions/cricinfo.teamScheduleResponseDoc"
}
},
"400": {
@@ -289683,33 +360613,62 @@
"ApiKeyAuth": []
}
],
- "summary": "Get a BBC News correspondent's profile",
+ "summary": "Get a Cricinfo team match schedule",
"tags": [
- "BBC"
+ "Cricinfo"
]
}
},
- "/bbc/headlines": {
+ "/cricinfo/teams": {
"get": {
- "description": "Returns fresh BBC News headlines for one section, `world` by default. `section` can be `all`, `world`, `uk`, `politics`, `business`, `health`, `science_and_environment`, `technology` or `entertainment_and_arts`; `all` can mix stories from several sections. Each item has a title, URL, summary and publication time when available.",
- "operationId": "bbc-headlines",
+ "description": "Returns Cricinfo's team directory with no parameters, organised into titled groups such as popular international teams. Each team has its id, name, slug, abbreviation, country, logo URL and primary colour where Cricinfo gives them, and whether it is a national side.",
+ "operationId": "cricinfo-teams",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/cricinfo.teamsResponseDoc"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "List Cricinfo teams",
+ "tags": [
+ "Cricinfo"
+ ]
+ }
+ },
+ "/cricinfo/venue": {
+ "get": {
+ "description": "Returns structured metadata, associated home teams, and the editorial profile for a public Cricinfo cricket-ground page. `url` must be a canonical `https://www.cricinfo.com/cricket-grounds/...` or legacy `/ci/content/ground/...html` URL.",
+ "operationId": "cricinfo-venue",
"parameters": [
{
- "description": "BBC News RSS section, defaults to world",
- "enum": [
- "all",
- "world",
- "uk",
- "politics",
- "business",
- "health",
- "science_and_environment",
- "technology",
- "entertainment_and_arts"
- ],
+ "description": "Canonical Cricinfo cricket-ground URL",
"in": "query",
- "name": "section",
- "type": "string"
+ "name": "url",
+ "required": true,
+ "type": "string",
+ "x-example": "https://www.cricinfo.com/cricket-grounds/wankhede-stadium-mumbai-58324"
}
],
"produces": [
@@ -289719,7 +360678,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bbc.headlinesResponseDoc"
+ "$ref": "#/definitions/cricinfo.venueResponseDoc"
}
},
"400": {
@@ -289752,24 +360711,24 @@
"ApiKeyAuth": []
}
],
- "summary": "Get BBC News section headlines",
+ "summary": "Get a Cricinfo cricket-ground profile",
"tags": [
- "BBC"
+ "Cricinfo"
]
}
},
- "/bbc/live": {
+ "/cricinfo/venue/matches": {
"get": {
- "description": "Returns the current server-rendered text updates from one canonical BBC News live URL. It does not subscribe to updates or return broadcast, player, or stream data.",
- "operationId": "bbc-live",
+ "description": "Returns upcoming fixtures and recent results listed on a public Cricinfo ground page. `url` must be a canonical `https://www.cricinfo.com/cricket-grounds/...` URL.",
+ "operationId": "cricinfo-venue-matches",
"parameters": [
{
- "description": "Canonical BBC News live URL",
+ "description": "Canonical Cricinfo cricket-ground URL",
"in": "query",
"name": "url",
"required": true,
"type": "string",
- "x-example": "https://www.bbc.co.uk/news/live/c6y8mjmnpxv0t"
+ "x-example": "https://www.cricinfo.com/cricket-grounds/wankhede-stadium-mumbai-58324"
}
],
"produces": [
@@ -289779,7 +360738,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bbc.liveResponseDoc"
+ "$ref": "#/definitions/cricinfo.venueMatchesResponseDoc"
}
},
"400": {
@@ -289812,32 +360771,23 @@
"ApiKeyAuth": []
}
],
- "summary": "Get a BBC News live-page text snapshot",
+ "summary": "Get matches at a Cricinfo venue",
"tags": [
- "BBC"
+ "Cricinfo"
]
}
},
- "/bbc/search": {
+ "/cricinfo/videos": {
"get": {
- "description": "Returns a bounded page of public BBC search-result metadata: title, URL, standfirst summary, display date, and a type of article, video, audio, live, topic, or page. Topic items are BBC topic hub pages rather than articles and carry no published_at. Media entries link only to their BBC landing pages; streams, downloads, and transcripts are not returned.",
- "operationId": "bbc-search",
+ "description": "Returns a bounded snapshot of Cricinfo's public video hub, including curated, trending, and genre-associated video metadata. Media files are not downloaded by the endpoint.",
+ "operationId": "cricinfo-videos",
"parameters": [
{
- "description": "Search query, up to 120 characters",
- "in": "query",
- "name": "q",
- "required": true,
- "type": "string",
- "x-example": "climate"
- },
- {
- "description": "Results page, defaults to 1",
+ "description": "Maximum videos returned, from 1 to 100",
"in": "query",
- "maximum": 10,
- "minimum": 1,
- "name": "page",
- "type": "integer"
+ "name": "limit",
+ "type": "integer",
+ "x-example": 20
}
],
"produces": [
@@ -289847,7 +360797,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bbc.searchResponseDoc"
+ "$ref": "#/definitions/cricinfo.videosResponseDoc"
}
},
"400": {
@@ -289856,12 +360806,6 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"429": {
"description": "Too Many Requests",
"schema": {
@@ -289880,24 +360824,24 @@
"ApiKeyAuth": []
}
],
- "summary": "Search public BBC pages",
+ "summary": "Get Cricinfo videos",
"tags": [
- "BBC"
+ "Cricinfo"
]
}
},
- "/benzinga/article": {
+ "/ctvnews/article": {
"get": {
- "description": "Returns a Benzinga article by `url`, a canonical dated editorial article URL: title, description, publication and update times, section, authors, image and the body `paragraphs`. Paid products, profiles, press releases, SEC pages and partner content are not accepted.",
- "operationId": "benzinga-article",
+ "description": "Returns public CTV News article metadata and body paragraphs from a canonical story URL (https://www.ctvnews.ca//article//). Video, photo-gallery and live-stream pages are not article pages.",
+ "operationId": "ctvnews-article",
"parameters": [
{
- "description": "Canonical dated Benzinga editorial article URL",
+ "description": "Canonical CTV News article URL",
"in": "query",
"name": "url",
"required": true,
"type": "string",
- "x-example": "https://www.benzinga.com/trading-ideas/movers/26/09/62057574/spacex-stock-rises-tuesday"
+ "x-example": "https://www.ctvnews.ca/toronto/article/example-article-slug/"
}
],
"produces": [
@@ -289934,30 +360878,24 @@
"ApiKeyAuth": []
}
],
- "summary": "Get a Benzinga article",
+ "summary": "Get CTV News article content",
"tags": [
- "Benzinga"
+ "CTV News"
]
}
},
- "/benzinga/headlines": {
+ "/ctvnews/author": {
"get": {
- "description": "Returns current Benzinga story cards for one section. `section` is required and is `latest`, `technology-stocks`, `politics` or `health-care`. Each item has a title and URL, and may also carry a summary, author, publication time and image.",
- "operationId": "benzinga-headlines",
+ "description": "Returns a CTV News byline profile from a canonical author URL: name, role, biography, photo, public contact address, and recent stories.",
+ "operationId": "ctvnews-author",
"parameters": [
{
- "description": "Benzinga editorial section slug",
- "enum": [
- "latest",
- "technology-stocks",
- "politics",
- "health-care"
- ],
+ "description": "Canonical CTV News author URL",
"in": "query",
- "name": "section",
+ "name": "url",
"required": true,
"type": "string",
- "x-example": "latest"
+ "x-example": "https://www.ctvnews.ca/about-us/team/the-associated-press/"
}
],
"produces": [
@@ -289967,7 +360905,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.headlinesResponseDoc"
+ "$ref": "#/definitions/publicnews.ctvnewsAuthorResponseDoc"
}
},
"400": {
@@ -289976,6 +360914,12 @@
"$ref": "#/definitions/app.Response"
}
},
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
"503": {
"description": "Service Unavailable",
"schema": {
@@ -289988,16 +360932,55 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Benzinga section headlines",
+ "summary": "Get a CTV News author profile",
"tags": [
- "Benzinga"
+ "CTV News"
]
}
},
- "/benzinga/news": {
+ "/ctvnews/headlines": {
"get": {
- "description": "Returns the current Benzinga stories, with no input needed. Each item has a title, URL and a `summary` that is the publisher's short teaser rather than article text, and may also carry the author, publication time and image.",
- "operationId": "benzinga-news",
+ "description": "Returns the current stories listed on one public CTV News section page, newest first, with headline, summary, byline, publication time and image.",
+ "operationId": "ctvnews-headlines",
+ "parameters": [
+ {
+ "description": "CTV News section slug",
+ "enum": [
+ "canada",
+ "politics",
+ "world",
+ "business",
+ "health",
+ "entertainment",
+ "lifestyle",
+ "climate-and-environment",
+ "sci-tech",
+ "sports",
+ "opinion",
+ "highly-engaged",
+ "atlantic",
+ "barrie",
+ "calgary",
+ "edmonton",
+ "kitchener",
+ "london",
+ "montreal",
+ "northern-ontario",
+ "ottawa",
+ "regina",
+ "saskatoon",
+ "toronto",
+ "vancouver",
+ "windsor",
+ "winnipeg"
+ ],
+ "in": "query",
+ "name": "section",
+ "required": true,
+ "type": "string",
+ "x-example": "canada"
+ }
+ ],
"produces": [
"application/json"
],
@@ -290005,7 +360988,13 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.newsResponseDoc"
+ "$ref": "#/definitions/publicnews.headlinesResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
}
},
"503": {
@@ -290020,26 +361009,16 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Benzinga top stories",
+ "summary": "Get CTV News section headlines",
"tags": [
- "Benzinga"
+ "CTV News"
]
}
},
- "/benzinga/search": {
+ "/ctvnews/news": {
"get": {
- "description": "Returns up to five public news-article suggestions from Benzinga's anonymous search typeahead. Ticker-only suggestions are omitted; this is not a paginated archive search.",
- "operationId": "benzinga-search",
- "parameters": [
- {
- "description": "Search text (2 to 100 characters)",
- "in": "query",
- "name": "q",
- "required": true,
- "type": "string",
- "x-example": "Tesla"
- }
- ],
+ "description": "Returns the newest CTV News stories (about the last 24 hours, newest first) from its public news sitemap, each with headline, publication time and lead image.",
+ "operationId": "ctvnews-news",
"produces": [
"application/json"
],
@@ -290047,11 +361026,11 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.benzingaSearchResponseDoc"
+ "$ref": "#/definitions/publicnews.newsResponseDoc"
}
},
- "400": {
- "description": "Bad Request",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -290068,16 +361047,16 @@
"ApiKeyAuth": []
}
],
- "summary": "Search Benzinga article suggestions",
+ "summary": "Get CTV News top stories",
"tags": [
- "Benzinga"
+ "CTV News"
]
}
},
- "/benzinga/sections": {
+ "/ctvnews/sections": {
"get": {
- "description": "Lists the four Benzinga editorial sections accepted by `benzinga-headlines`: `latest` (named Breaking News), `technology-stocks`, `politics` and `health-care`. Each has a `slug`, a display `name` and the section's page `url`.",
- "operationId": "benzinga-sections",
+ "description": "Lists the 27 CTV News sections accepted by `ctvnews-headlines`: 12 national topic sections such as `canada`, `politics` and `sci-tech`, and 15 local newsrooms such as `toronto`, `calgary` and `atlantic`. Video, photo, weather, podcast, sponsored and shopping hubs are not included.",
+ "operationId": "ctvnews-sections",
"produces": [
"application/json"
],
@@ -290094,19 +361073,29 @@
"ApiKeyAuth": []
}
],
- "summary": "List Benzinga news sections",
+ "summary": "Get CTV News sections",
"tags": [
- "Benzinga"
+ "CTV News"
]
}
},
- "/bestbuy/brands": {
+ "/culvers/calendar": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns Best Buy's full brand directory (name, category id, url), sourced from the site's own \"Name Brands\" page. Each id is directly usable as bestbuy_category's category_id input.",
- "operationId": "bestbuy-brands",
+ "description": "Returns the full published schedule for one Culver's restaurant: the flavor of the day for every upcoming calendar date, plus the soups served on each date. Culver's publishes roughly a two-month forward window, and the schedule is genuinely per-restaurant -- two restaurants on the same date routinely feature different soups. slug comes from GET /culvers/directory. GET /culvers/store returns only today's and tomorrow's flavor; use this endpoint for the whole calendar.",
+ "operationId": "culvers-calendar",
+ "parameters": [
+ {
+ "description": "Restaurant slug from /culvers/directory",
+ "in": "query",
+ "name": "slug",
+ "required": true,
+ "type": "string",
+ "x-example": "waunakee"
+ }
+ ],
"produces": [
"application/json"
],
@@ -290114,7 +361103,19 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bestbuy.brandsResponseDoc"
+ "$ref": "#/definitions/culvers.calendarResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
}
},
"429": {
@@ -290135,19 +361136,19 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Best Buy's full brand directory",
+ "summary": "Get one Culver's restaurant's flavor-of-the-day and daily soup schedule",
"tags": [
- "Best Buy"
+ "Culvers"
]
}
},
- "/bestbuy/categories": {
+ "/culvers/categories": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns Best Buy's current top-level Shop departments (name, category id, url). Each id is directly usable as bestbuy_category's category_id input; this is not the full category tree.",
- "operationId": "bestbuy-categories",
+ "description": "Returns Culver's national menu's category list -- ButterBurgers, Chicken, Fish & Seafood, Combos & Baskets, Sides, Frozen Custard, Beverages and others -- each with its slug (the value GET /culvers/menu takes), a featured flag, and sort order.",
+ "operationId": "culvers-categories",
"produces": [
"application/json"
],
@@ -290155,7 +361156,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bestbuy.categoriesResponseDoc"
+ "$ref": "#/definitions/culvers.categoriesResponseDoc"
}
},
"429": {
@@ -290176,19 +361177,35 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Best Buy's top-level shopping departments",
+ "summary": "List Culver's national menu categories",
"tags": [
- "Best Buy"
+ "Culvers"
]
}
},
- "/bestbuy/categories/trending": {
+ "/culvers/directory": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns Best Buy's fine-grained, often deeply-nested product-type categories (e.g. \"Windows Laptops\", \"55-Inch TVs (55 - 64 in)\", \"PS5 Consoles\") sourced from the homepage's own \"Best Selling\" section -- much more specific than bestbuy_categories' 21 current top-level departments. Each id is directly usable as bestbuy_category's category_id input.",
- "operationId": "bestbuy-categories-trending",
+ "description": "Returns one page of Culver's restaurant index, which covers about 1,121 restaurants. `page` starts at 1 and `page_size` runs 1 to 500 (default 100). Each entry has a `slug`, the value the `/culvers/store` endpoint takes, and the restaurant's URL. The total and page counts are included.",
+ "operationId": "culvers-directory",
+ "parameters": [
+ {
+ "description": "Optional. 1-based page, default 1.",
+ "in": "query",
+ "name": "page",
+ "type": "integer",
+ "x-example": 1
+ },
+ {
+ "description": "Optional. Entries per page, 1-500, default 100.",
+ "in": "query",
+ "name": "page_size",
+ "type": "integer",
+ "x-example": 100
+ }
+ ],
"produces": [
"application/json"
],
@@ -290196,7 +361213,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bestbuy.trendingCategoriesResponseDoc"
+ "$ref": "#/definitions/culvers.directoryResponseDoc"
}
},
"429": {
@@ -290217,34 +361234,27 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Best Buy's fine-grained trending product-type categories",
+ "summary": "Browse Culver's restaurant-URL index",
"tags": [
- "Best Buy"
+ "Culvers"
]
}
},
- "/bestbuy/category": {
+ "/culvers/flavor": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns one page (up to 24) of one Best Buy category's product listing (sku, title, url, image, price, rating, review count). category_id is a Best Buy category id, e.g. pcmcat138500050001, found in a category page URL's trailing .c?id= segment. page is the optional 1-indexed page number (defaults to 1); requesting a page past the last one returns an empty products list, not an error.",
- "operationId": "bestbuy-category",
+ "description": "Returns one Fresh Frozen Custard flavor's full detail, including its declared allergens, a component-by-component ingredient breakdown, and Culver's own flavor-category labels. slug comes from GET /culvers/calendar (flavors[].slug) or GET /culvers/store (flavors_of_the_day[].slug).",
+ "operationId": "culvers-flavor",
"parameters": [
{
- "description": "Best Buy category id",
+ "description": "Flavor slug from /culvers/calendar or /culvers/store",
"in": "query",
- "name": "category_id",
+ "name": "slug",
"required": true,
"type": "string",
- "x-example": "pcmcat138500050001"
- },
- {
- "description": "1-indexed page number, defaults to 1",
- "in": "query",
- "name": "page",
- "type": "integer",
- "x-example": 1
+ "x-example": "chocolate-covered-strawberry"
}
],
"produces": [
@@ -290254,7 +361264,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bestbuy.categoryResponseDoc"
+ "$ref": "#/definitions/culvers.flavorResponseDoc"
}
},
"400": {
@@ -290287,27 +361297,35 @@
"ApiKeyAuth": []
}
],
- "summary": "Get a Best Buy category's product listing",
+ "summary": "Get one Culver's Fresh Frozen Custard flavor's detail",
"tags": [
- "Best Buy"
+ "Culvers"
]
}
},
- "/bestbuy/category/subcategories": {
+ "/culvers/item": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns a Best Buy category's own sibling/child category set (name, category id, url), sourced from that category page's own \"Category\" filter facet. Each id is directly usable as bestbuy_category's category_id input. category_id is a Best Buy category id, e.g. pcmcat138500050001, found in a category page URL's trailing .c?id= segment. A leaf category with no siblings returns an empty list, not an error.",
- "operationId": "bestbuy-category-subcategories",
+ "description": "Returns one Culver's menu item's full detail, including its size/topping modifier tree with each option's own calories and nutrition link. category and item slugs come from GET /culvers/categories and GET /culvers/menu.",
+ "operationId": "culvers-item",
"parameters": [
{
- "description": "Best Buy category id",
+ "description": "Category slug from /culvers/categories",
"in": "query",
- "name": "category_id",
+ "name": "category",
"required": true,
"type": "string",
- "x-example": "pcmcat138500050001"
+ "x-example": "butterburgers"
+ },
+ {
+ "description": "Item slug from /culvers/menu",
+ "in": "query",
+ "name": "item",
+ "required": true,
+ "type": "string",
+ "x-example": "butterburger-cheese"
}
],
"produces": [
@@ -290317,7 +361335,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bestbuy.subcategoriesResponseDoc"
+ "$ref": "#/definitions/culvers.itemResponseDoc"
}
},
"400": {
@@ -290326,6 +361344,12 @@
"$ref": "#/definitions/app.Response"
}
},
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
"429": {
"description": "Too Many Requests",
"schema": {
@@ -290344,27 +361368,27 @@
"ApiKeyAuth": []
}
],
- "summary": "Get a Best Buy category's own sibling/child categories",
+ "summary": "Look up one Culver's menu item's full detail",
"tags": [
- "Best Buy"
+ "Culvers"
]
}
},
- "/bestbuy/product": {
+ "/culvers/menu": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns one Best Buy product's detail (name, brand, model, color, price, availability, rating, images, breadcrumbs). sku is the numeric Best Buy SKU shown on bestbuy.com product pages and URLs.",
- "operationId": "bestbuy-product",
+ "description": "Returns the items in one Culver's menu category, each with name, description, image, and a link to Culver's nutrition guide. Category slugs come from GET /culvers/categories. Prices are not published on the national catalog -- Culver's only prices items once a specific restaurant is selected; see GET /culvers/item for full modifier/topping detail.",
+ "operationId": "culvers-menu",
"parameters": [
{
- "description": "Numeric Best Buy SKU",
+ "description": "Category slug from /culvers/categories",
"in": "query",
- "name": "sku",
+ "name": "category",
"required": true,
"type": "string",
- "x-example": "6673590"
+ "x-example": "butterburgers"
}
],
"produces": [
@@ -290374,7 +361398,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bestbuy.productResponseDoc"
+ "$ref": "#/definitions/culvers.menuResponseDoc"
}
},
"400": {
@@ -290383,6 +361407,12 @@
"$ref": "#/definitions/app.Response"
}
},
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
"429": {
"description": "Too Many Requests",
"schema": {
@@ -290401,27 +361431,27 @@
"ApiKeyAuth": []
}
],
- "summary": "Get a Best Buy product's detail",
+ "summary": "List one Culver's menu category's items",
"tags": [
- "Best Buy"
+ "Culvers"
]
}
},
- "/bestbuy/product/questions": {
+ "/culvers/store": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns the customer questions (with answers, when present) Best Buy embeds directly on a product's page: question text, answer text, who answered, and when. sku is the numeric Best Buy SKU shown on bestbuy.com product pages and URLs. A product with no questions asked yet returns an empty list, not an error.",
- "operationId": "bestbuy-product-questions",
+ "description": "Returns one Culver's restaurant's address, phone, coordinates, open/closed status, fulfillment hours, handoff options, online-order link, and today's flavor(s) of the day. slug comes from GET /culvers/directory.",
+ "operationId": "culvers-store",
"parameters": [
{
- "description": "Numeric Best Buy SKU",
+ "description": "Restaurant slug from /culvers/directory",
"in": "query",
- "name": "sku",
+ "name": "slug",
"required": true,
"type": "string",
- "x-example": "6673590"
+ "x-example": "ann-arbor-mi-lohr-rd"
}
],
"produces": [
@@ -290431,7 +361461,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bestbuy.productQuestionsResponseDoc"
+ "$ref": "#/definitions/culvers.storeResponseDoc"
}
},
"400": {
@@ -290440,6 +361470,12 @@
"$ref": "#/definitions/app.Response"
}
},
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
"429": {
"description": "Too Many Requests",
"schema": {
@@ -290458,29 +361494,19 @@
"ApiKeyAuth": []
}
],
- "summary": "Get a Best Buy product's customer questions and answers",
+ "summary": "Look up one Culver's restaurant by its directory slug",
"tags": [
- "Best Buy"
+ "Culvers"
]
}
},
- "/bestbuy/product/related": {
+ "/cvs/brands": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns the organic (non-sponsored) related products Best Buy embeds in a product page's own comparison table (sku, name, url, image, price). sku is the numeric Best Buy SKU shown on bestbuy.com product pages and URLs. A product page with no comparison table returns an empty list, not an error.",
- "operationId": "bestbuy-product-related",
- "parameters": [
- {
- "description": "Numeric Best Buy SKU",
- "in": "query",
- "name": "sku",
- "required": true,
- "type": "string",
- "x-example": "6673590"
- }
- ],
+ "description": "Returns CVS.com's full brand directory (name and path). Each brand's path is directly usable as GET /cvs/category's path parameter to browse that brand's products.",
+ "operationId": "cvs-brands",
"produces": [
"application/json"
],
@@ -290488,14 +361514,49 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bestbuy.productRelatedResponseDoc"
+ "$ref": "#/definitions/cvs.brandsResponseDoc"
}
},
- "400": {
- "description": "Bad Request",
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "CVS brand directory",
+ "tags": [
+ "CVS"
+ ]
+ }
+ },
+ "/cvs/categories": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns CVS.com's full category/subcategory navigation taxonomy (name and path, nested to whatever depth the upstream carries). Each node's path is directly usable as GET /cvs/category's path parameter.",
+ "operationId": "cvs-categories",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/cvs.categoriesResponseDoc"
+ }
},
"429": {
"description": "Too Many Requests",
@@ -290515,27 +361576,49 @@
"ApiKeyAuth": []
}
],
- "summary": "Get a Best Buy product's related products",
+ "summary": "CVS category taxonomy",
"tags": [
- "Best Buy"
+ "CVS"
]
}
},
- "/bestbuy/product/reviews": {
+ "/cvs/category": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns page 1 (up to 20) of one Best Buy product's customer reviews (rating, title, text, author, posted date, tags such as Verified Purchaser, recommended flag, helpful/unhelpful counts). sku is the numeric Best Buy SKU shown on bestbuy.com product pages and URLs.",
- "operationId": "bestbuy-product-reviews",
+ "description": "Returns one page of a CVS.com OTC (over-the-counter) retail category, subcategory, or brand page's product grid: products with title, brand, image, current/original price, and sponsored/featured/new-product flags; the total result count; and the facets (brand, color, size, price range, and other category-specific attributes, each with its selectable values and result counts) available to filter the page further. Covers the non-prescription retail catalog only. path is the segment of a page URL after \"/shop/\", e.g. \"beauty\" (top-level category), \"health-medicine/allergy-sinus\" (subcategory), or \"brand-shop/s/safe-home\" (brand page); a full https://www.cvs.com/shop/... URL or a \"/shop/...\" path is also accepted. Any of these can also carry an optional facet-filter suffix in the site's own URL shape, e.g. \"beauty/makeup/eyes/q/CoverGirl/Black/brpc\" to filter to brand CoverGirl and color Black -- see the response's facets field for which values/type codes a given category supports; filter values are case-sensitive exactly as the site renders them. page is a 1-indexed page number (default 1). sort is an optional result order matching the site's own Sort By control. CVS.com is only available from US and US-territory locations; a request served from an unsupported region returns an upstream error rather than an empty result.",
+ "operationId": "cvs-category",
"parameters": [
{
- "description": "Numeric Best Buy SKU",
+ "description": "CVS category, subcategory, or brand-page URL path, optionally with a /q/{value}/{typeCode} facet-filter suffix, e.g. \\",
"in": "query",
- "name": "sku",
+ "name": "path",
"required": true,
"type": "string",
- "x-example": "6673590"
+ "x-example": "beauty"
+ },
+ {
+ "description": "1-indexed page number, default 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer",
+ "x-example": 1
+ },
+ {
+ "description": "Result sort order, default the site's own relevance order. One of pa (Price Low to High), pd (Price High to Low), tr (Top Rated), rc (Most Reviewed), az (Name A-Z), za (Name Z-A)",
+ "enum": [
+ "pa",
+ "pd",
+ "tr",
+ "rc",
+ "az",
+ "za"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string",
+ "x-example": "pa"
}
],
"produces": [
@@ -290545,7 +361628,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bestbuy.productReviewsResponseDoc"
+ "$ref": "#/definitions/cvs.categoryResponseDoc"
}
},
"400": {
@@ -290572,34 +361655,27 @@
"ApiKeyAuth": []
}
],
- "summary": "Get a Best Buy product's customer reviews",
+ "summary": "Browse a CVS OTC category page",
"tags": [
- "Best Buy"
+ "CVS"
]
}
},
- "/bestbuy/search": {
+ "/cvs/product-ingredients/{slug}": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns one page (up to 24) of one Best Buy keyword search's product listing (sku, title, url, image, price, rating, review count). q is free-text search keywords, e.g. \"laptop\". page is the optional 1-indexed page number (defaults to 1); requesting a page past the last one returns an empty products list, not an error.",
- "operationId": "bestbuy-search",
+ "description": "Returns one CVS.com OTC (over-the-counter) retail product's ingredient/label statement: active ingredients, inactive ingredients, and the vendor's full free-text ingredient paragraph (which, for OTC drug products, frequently also carries a Drug Facts-style purpose note). This is sourced from the product's own dedicated ingredients page, a separate page from the main product detail endpoint. Covers the non-prescription retail catalog only -- this does not cover prescription items, pharmacy ordering, or any patient-specific data. slug is the segment of a product page URL after \"/shop/\", e.g. \"e-l-f-16hr-camo-concealer-prodid-2370023\"; a full https://www.cvs.com/shop/... URL is also accepted. Some products (particularly non-consumable goods) may return empty ingredient fields -- this reflects upstream having no label data for that product, not an error. CVS.com is only available from US/US-territory egress; a request from an unsupported region returns an upstream error rather than an empty result.",
+ "operationId": "cvs-product-ingredients",
"parameters": [
{
- "description": "Search keywords",
- "in": "query",
- "name": "q",
+ "description": "CVS product page URL slug, e.g. \\",
+ "in": "path",
+ "name": "slug",
"required": true,
"type": "string",
- "x-example": "laptop"
- },
- {
- "description": "1-indexed page number, defaults to 1",
- "in": "query",
- "name": "page",
- "type": "integer",
- "x-example": 1
+ "x-example": "e-l-f-16hr-camo-concealer-prodid-2370023"
}
],
"produces": [
@@ -290609,7 +361685,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bestbuy.searchResponseDoc"
+ "$ref": "#/definitions/cvs.productIngredientsResponseDoc"
}
},
"400": {
@@ -290642,35 +361718,27 @@
"ApiKeyAuth": []
}
],
- "summary": "Search Best Buy's product catalog",
+ "summary": "CVS OTC product ingredients",
"tags": [
- "Best Buy"
+ "CVS"
]
}
},
- "/bestbuy/stores": {
+ "/cvs/product/{slug}": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns Best Buy's physical store locations in one city (name, address, phone, coordinates, rating, hours), sourced from Best Buy's own SEO store directory. state is one of the 50 US state codes plus dc and pr: `al`, `ak`, `az`, `ar`, `ca`, `co`, `ct`, `de`, `dc`, `fl`, `ga`, `hi`, `id`, `il`, `in`, `ia`, `ks`, `ky`, `la`, `me`, `md`, `ma`, `mi`, `mn`, `ms`, `mo`, `mt`, `ne`, `nv`, `nh`, `nj`, `nm`, `ny`, `nc`, `nd`, `oh`, `ok`, `or`, `pa`, `pr`, `ri`, `sc`, `sd`, `tn`, `tx`, `ut`, `vt`, `va`, `wa`, `wv`, `wi`, `wy`. city is free text matched case-insensitively against that state's own directory (e.g. \"Chicago\").",
- "operationId": "bestbuy-stores",
+ "description": "Returns one CVS.com OTC (over-the-counter) retail product's detail: name, description, brand, category, price, currency, online availability, image gallery, and aggregate rating. Covers the non-prescription retail catalog only -- this does not cover prescription items, pharmacy ordering, or any patient-specific data. slug is the segment of a product page URL after \"/shop/\", e.g. \"safe-home-premium-radon-test-kit-prodid-945948\"; a full https://www.cvs.com/shop/... URL is also accepted. CVS.com is only available from US/US-territory egress; a request from an unsupported region returns an upstream error rather than an empty result.",
+ "operationId": "cvs-product",
"parameters": [
{
- "description": "Two-letter state/territory code",
- "in": "query",
- "name": "state",
- "required": true,
- "type": "string",
- "x-example": "il"
- },
- {
- "description": "City name",
- "in": "query",
- "name": "city",
+ "description": "CVS product page URL slug, e.g. \\",
+ "in": "path",
+ "name": "slug",
"required": true,
"type": "string",
- "x-example": "Chicago"
+ "x-example": "safe-home-premium-radon-test-kit-prodid-945948"
}
],
"produces": [
@@ -290680,7 +361748,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bestbuy.storesResponseDoc"
+ "$ref": "#/definitions/cvs.productResponseDoc"
}
},
"400": {
@@ -290713,35 +361781,49 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Best Buy's physical stores in one city",
+ "summary": "CVS OTC product detail",
"tags": [
- "Best Buy"
+ "CVS"
]
}
},
- "/bigcommerce/category": {
+ "/cvs/search": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns one product-listing page from a public BigCommerce storefront category page. url must be the full public category-page URL. page is 1-indexed and defaults to 1.",
- "operationId": "bigcommerce-category",
+ "description": "Performs a keyword search across CVS.com's non-prescription retail/OTC catalog and returns one page of results: products with title, brand, image, current/original price, and sponsored/featured/new-product flags; the total result count; and the facets (brand, color, size, price range, and other attributes, each with its selectable values and result counts) available to filter the results further. Covers the non-prescription retail catalog only. q is the search keyword or phrase, required. page is a 1-indexed page number (default 1). sort is an optional result order matching cvs-category's own Sort By values. CVS.com is only available from US and US-territory locations; a request served from an unsupported region returns an upstream error rather than an empty result.",
+ "operationId": "cvs-search",
"parameters": [
{
- "description": "Full public BigCommerce category page URL",
+ "description": "Search keyword or phrase",
"in": "query",
- "name": "url",
+ "name": "q",
"required": true,
"type": "string",
- "x-example": "https://www.bulkapothecary.com/melt-and-pour-soap-bases/"
+ "x-example": "ibuprofen"
},
{
- "description": "1-indexed category page, defaults to 1",
+ "description": "1-indexed page number, default 1",
"in": "query",
- "minimum": 1,
"name": "page",
"type": "integer",
"x-example": 1
+ },
+ {
+ "description": "Result sort order, default relevance. One of pa (Price Low to High), pd (Price High to Low), tr (Top Rated), rc (Most Reviewed), az (Name A-Z), za (Name Z-A)",
+ "enum": [
+ "pa",
+ "pd",
+ "tr",
+ "rc",
+ "az",
+ "za"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string",
+ "x-example": "pa"
}
],
"produces": [
@@ -290751,7 +361833,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bigcommerce.categoryResponseDoc"
+ "$ref": "#/definitions/cvs.categoryResponseDoc"
}
},
"400": {
@@ -290760,12 +361842,6 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"429": {
"description": "Too Many Requests",
"schema": {
@@ -290784,27 +361860,75 @@
"ApiKeyAuth": []
}
],
- "summary": "Browse a BigCommerce storefront category",
+ "summary": "Search CVS OTC products by keyword",
"tags": [
- "BigCommerce"
+ "CVS"
]
}
},
- "/bigcommerce/product": {
+ "/cvs/store-locator": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns product detail from a public BigCommerce storefront product page. url must be the full public product-page URL for a BigCommerce Stencil storefront.",
- "operationId": "bigcommerce-product",
+ "description": "Returns nearby CVS store locations for a ZIP code, a free-text address/city/state, or a latitude/longitude pair: address, phone, fax, distance, and retail store hours, plus a has_pharmacy existence flag and a list of general service indicators (e.g. photo, ATM, same-day delivery). Covers general store info only -- this does not return pharmacy hours, pharmacy phone, prescription data, or any patient-specific information. zip is a 5-digit US ZIP code; alternatively supply address (a free-text location such as a city, state, or street address) or latitude and longitude together. When more than one is supplied, zip wins, then address, then latitude/longitude. Optionally narrow results to stores carrying one specific service via the service param (the same code vocabulary the response's services field uses); only one service value is accepted per request. CVS.com is only available from US/US-territory egress; a request from an unsupported region returns an upstream error rather than an empty result.",
+ "operationId": "cvs-store-locator",
"parameters": [
{
- "description": "Full public BigCommerce product page URL",
+ "description": "5-digit US ZIP code, e.g. \\",
"in": "query",
- "name": "url",
- "required": true,
+ "name": "zip",
"type": "string",
- "x-example": "https://www.bulkapothecary.com/goat-milk-sfic-all-natural-glycerin-melt-and-pour-soap-base/"
+ "x-example": "90210"
+ },
+ {
+ "description": "Free-text location -- a city, state, or street address, e.g. \\",
+ "in": "query",
+ "name": "address",
+ "type": "string",
+ "x-example": "Beverly Hills, CA"
+ },
+ {
+ "description": "Latitude, used together with longitude when zip and address are not supplied",
+ "in": "query",
+ "name": "latitude",
+ "type": "number",
+ "x-example": 34.0901
+ },
+ {
+ "description": "Longitude, used together with latitude when zip and address are not supplied",
+ "in": "query",
+ "name": "longitude",
+ "type": "number",
+ "x-example": -118.4065
+ },
+ {
+ "description": "Narrow results to stores carrying one specific service",
+ "enum": [
+ "HH_HealthHub_Ind",
+ "MC_MinuteClinic_Ind",
+ "HS_OakStreetHealth_Ind",
+ "IM_Immunization_Ind",
+ "RX_OTCH_Ind",
+ "IM_Covax_Ind",
+ "CL_CovidTest_Ind",
+ "RX_24Hours_Ind",
+ "RX_DriveThru_Ind",
+ "RX_Pharmacy_Ind",
+ "RX_DrugDisposal_Ind",
+ "RS_24Hours_Ind",
+ "PH_Photo_Ind",
+ "RS_AcceptsWic_Ind",
+ "RS_AcceptsSnap_Ind",
+ "GN_UPSAccessPoint_Ind",
+ "RS_BOPIS_Ind",
+ "GN_YMas_Ind",
+ "BT_BeautyIRL_Ind",
+ "GN_SmileDirectClub_Ind"
+ ],
+ "in": "query",
+ "name": "service",
+ "type": "string"
}
],
"produces": [
@@ -290814,7 +361938,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bigcommerce.productResponseDoc"
+ "$ref": "#/definitions/cvs.storesResponseDoc"
}
},
"400": {
@@ -290847,43 +361971,24 @@
"ApiKeyAuth": []
}
],
- "summary": "Get a BigCommerce storefront product",
+ "summary": "CVS store locator",
"tags": [
- "BigCommerce"
+ "CVS"
]
}
},
- "/bigcommerce/search": {
+ "/dailycaller/article": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns one product-search page from a public BigCommerce storefront. url must be the public storefront origin; an optional caller path or query is ignored. q is required search text. page is 1-indexed and defaults to 1.",
- "operationId": "bigcommerce-search",
+ "description": "Returns public The Daily Caller article metadata and body paragraphs from a canonical article URL. Patriots-only (premium) articles expose only a public teaser and are flagged paywalled.",
+ "operationId": "dailycaller-article",
"parameters": [
{
- "description": "Public BigCommerce storefront origin",
+ "description": "Canonical The Daily Caller article URL",
"in": "query",
"name": "url",
"required": true,
"type": "string",
- "x-example": "https://www.bulkapothecary.com"
- },
- {
- "description": "Search text",
- "in": "query",
- "name": "q",
- "required": true,
- "type": "string",
- "x-example": "lavender"
- },
- {
- "description": "1-indexed search page, defaults to 1",
- "in": "query",
- "minimum": 1,
- "name": "page",
- "type": "integer",
- "x-example": 1
+ "x-example": "https://dailycaller.com/2026/09/23/example-article-slug"
}
],
"produces": [
@@ -290893,7 +361998,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bigcommerce.searchResponseDoc"
+ "$ref": "#/definitions/publicnews.articleResponseDoc"
}
},
"400": {
@@ -290908,12 +362013,6 @@
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Too Many Requests",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"503": {
"description": "Service Unavailable",
"schema": {
@@ -290926,19 +362025,26 @@
"ApiKeyAuth": []
}
],
- "summary": "Search a BigCommerce storefront",
+ "summary": "Get The Daily Caller article content",
"tags": [
- "BigCommerce"
+ "The Daily Caller"
]
}
},
- "/bilibili/anime-home": {
+ "/dailycaller/author": {
"get": {
- "consumes": [
- "application/json"
+ "description": "Returns a The Daily Caller author's byline metadata, job title, optional biography, contact links, and newest articles from a canonical author URL.",
+ "operationId": "dailycaller-author",
+ "parameters": [
+ {
+ "description": "Canonical The Daily Caller author URL",
+ "in": "query",
+ "name": "url",
+ "required": true,
+ "type": "string",
+ "x-example": "https://dailycaller.com/author/EmilyKopp/"
+ }
],
- "description": "Returns the anonymous anime homepage's featured titles, latest updates, schedule, popular ranking, and new recommendations. Personalized rotating feed items are excluded.",
- "operationId": "bilibili-anime-home",
"produces": [
"application/json"
],
@@ -290946,17 +362052,17 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bilibili.animeHomeResponseDoc"
+ "$ref": "#/definitions/publicnews.dailycallerAuthorResponseDoc"
}
},
- "429": {
- "description": "Too Many Requests",
+ "400": {
+ "description": "Bad Request",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "404": {
+ "description": "Not Found",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -290973,27 +362079,48 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Bilibili anime home sections",
+ "summary": "Get a The Daily Caller author profile",
"tags": [
- "Bilibili"
+ "The Daily Caller"
]
}
},
- "/bilibili/autocomplete": {
+ "/dailycaller/headlines": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns Bilibili search-box suggestions for the partial text in `q`, which is required (up to 100 characters). The response has the `query`, a `count` and deduplicated `suggestions` in Bilibili's order. A query with no matches returns an empty `suggestions` array; invalid input returns 400.",
- "operationId": "bilibili-autocomplete",
+ "description": "Returns the newest headlines, about 40, from one Daily Caller section page. `section` is required (`politics`, `world`, `energy`, `opinion`, `patriots` and others); any other value returns a 400. Items have a title, URL, lead image and sometimes a `type` such as `opinion`. Section pages carry no publish time or byline.",
+ "operationId": "dailycaller-headlines",
"parameters": [
{
- "description": "Partial search text",
+ "description": "The Daily Caller section slug",
+ "enum": [
+ "politics",
+ "us",
+ "world",
+ "national-security",
+ "elections",
+ "business",
+ "energy",
+ "education",
+ "health",
+ "tech",
+ "media",
+ "entertainment",
+ "sports",
+ "guns-and-gear",
+ "investigative-group",
+ "opinion",
+ "analysis",
+ "two-sides",
+ "big-tent-ideas",
+ "patriots",
+ "satire",
+ "video"
+ ],
"in": "query",
- "name": "q",
+ "name": "section",
"required": true,
"type": "string",
- "x-example": "原神"
+ "x-example": "politics"
}
],
"produces": [
@@ -291003,7 +362130,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bilibili.autocompleteResponseDoc"
+ "$ref": "#/definitions/publicnews.headlinesResponseDoc"
}
},
"400": {
@@ -291012,14 +362139,40 @@
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Too Many Requests",
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get The Daily Caller section headlines",
+ "tags": [
+ "The Daily Caller"
+ ]
+ }
+ },
+ "/dailycaller/news": {
+ "get": {
+ "description": "Returns about 25 of the newest Daily Caller top stories, mixed across sections. Each item has its title, URL, author, publication time (RFC 3339, UTC) and lead image. It takes no parameters; use the headlines endpoint when you want a single section.",
+ "operationId": "dailycaller-news",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.newsResponseDoc"
+ }
},
- "500": {
- "description": "Internal Server Error",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -291036,19 +362189,52 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Bilibili search suggestions",
+ "summary": "Get The Daily Caller top stories",
"tags": [
- "Bilibili"
+ "The Daily Caller"
]
}
},
- "/bilibili/guochuang-home": {
+ "/dailycaller/sections": {
"get": {
- "consumes": [
+ "description": "Lists the 22 Daily Caller section slugs that the headlines endpoint accepts, from `politics` and `world` to `opinion` and `video`, each with its `name` and section page `url`. Sponsored content is not offered. A few sections such as `satire`, `two-sides` and `video` publish rarely, so their newest items can be months old.",
+ "operationId": "dailycaller-sections",
+ "produces": [
"application/json"
],
- "description": "Returns the anonymous Chinese-animation homepage's featured titles, latest updates, schedule, popular ranking, and new recommendations. Personalized rotating feed items are excluded.",
- "operationId": "bilibili-guochuang-home",
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.sectionsResponseDoc"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get The Daily Caller sections",
+ "tags": [
+ "The Daily Caller"
+ ]
+ }
+ },
+ "/dailyexpress/article": {
+ "get": {
+ "description": "Returns one Daily Express article by its canonical article `url`. The response has the title, description, publish and update times, section, authors, lead image, body `paragraphs` and a `paywalled` flag. Subscriber-only or blocked articles return an upstream error instead of partial text.",
+ "operationId": "dailyexpress-article",
+ "parameters": [
+ {
+ "description": "Canonical Daily Express article URL",
+ "in": "query",
+ "name": "url",
+ "required": true,
+ "type": "string",
+ "x-example": "https://www.express.co.uk/news/123456/example"
+ }
+ ],
"produces": [
"application/json"
],
@@ -291056,17 +362242,17 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bilibili.guochuangHomeResponseDoc"
+ "$ref": "#/definitions/publicnews.articleResponseDoc"
}
},
- "429": {
- "description": "Too Many Requests",
+ "400": {
+ "description": "Bad Request",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "404": {
+ "description": "Not Found",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -291083,19 +362269,26 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Bilibili Chinese-animation home sections",
+ "summary": "Get Daily Express article content",
"tags": [
- "Bilibili"
+ "Daily Express"
]
}
},
- "/bilibili/must-watch": {
+ "/dailyexpress/author": {
"get": {
- "consumes": [
- "application/json"
+ "description": "Returns one Daily Express journalist's public profile: name, job title, bio, and their recent articles, from a canonical journalist URL.",
+ "operationId": "dailyexpress-author",
+ "parameters": [
+ {
+ "description": "Canonical Daily Express journalist URL",
+ "in": "query",
+ "name": "url",
+ "required": true,
+ "type": "string",
+ "x-example": "https://www.express.co.uk/journalist/123944/Rebecca-Russell"
+ }
],
- "description": "Returns Bilibili's curated must-watch collection, split into `classic_videos` and `latest_videos` with their counts, plus the collection `title`, `subtitle` and `explanation`. Each video has `bvid`, `aid`, `title`, `url`, `cover`, `uploader`, `published`, `stats` and `achievement`. Takes no parameters.",
- "operationId": "bilibili-must-watch",
"produces": [
"application/json"
],
@@ -291103,17 +362296,17 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bilibili.mustWatchResponseDoc"
+ "$ref": "#/definitions/publicnews.dailyExpressAuthorResponseDoc"
}
},
- "429": {
- "description": "Too Many Requests",
+ "400": {
+ "description": "Bad Request",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "404": {
+ "description": "Not Found",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -291130,28 +362323,55 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Bilibili's curated must-watch videos",
+ "summary": "Get a Daily Express journalist profile",
"tags": [
- "Bilibili"
+ "Daily Express"
]
}
},
- "/bilibili/popular": {
+ "/dailyexpress/headlines": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns Bilibili's current popular videos in Bilibili's own order. Start with `cursor` 0 (the default; max 10000000) and pass back `next_cursor` for the next batch. Each video has `bvid`, `aid`, `title`, `url`, `cover`, `duration`, `uploader`, `views_and_age` and an optional `reason`. At the end of the feed `no_more` is `true` and `videos` is empty.",
- "operationId": "bilibili-popular",
+ "description": "Returns the latest Daily Express headlines for one section. `section` is required and takes a slug such as `news`, `royal`, `showbiz-tv`, `formula-1` or `city-business`. Each item has its title, URL, summary, publication time and image.",
+ "operationId": "dailyexpress-headlines",
"parameters": [
{
- "description": "Upstream cursor from the previous response; defaults to 0",
+ "description": "Daily Express section slug",
+ "enum": [
+ "news",
+ "uk",
+ "world",
+ "politics",
+ "royal",
+ "us",
+ "weather",
+ "science",
+ "history",
+ "weird",
+ "nature",
+ "obituaries",
+ "showbiz-tv",
+ "sport",
+ "football",
+ "tennis",
+ "formula-1",
+ "finance",
+ "city-business",
+ "personal-finance",
+ "retirement",
+ "travel",
+ "entertainment",
+ "gaming",
+ "lifestyle",
+ "health",
+ "property",
+ "cars",
+ "technology"
+ ],
"in": "query",
- "maximum": 10000000,
- "minimum": 0,
- "name": "cursor",
- "type": "integer",
- "x-example": 0
+ "name": "section",
+ "required": true,
+ "type": "string",
+ "x-example": "news"
}
],
"produces": [
@@ -291161,7 +362381,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bilibili.popularResponseDoc"
+ "$ref": "#/definitions/publicnews.headlinesResponseDoc"
}
},
"400": {
@@ -291170,16 +362390,36 @@
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Too Many Requests",
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
- },
- "500": {
- "description": "Internal Server Error",
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Daily Express section headlines",
+ "tags": [
+ "Daily Express"
+ ]
+ }
+ },
+ "/dailyexpress/news": {
+ "get": {
+ "description": "Returns the current Daily Express top stories. Each item has its title, URL, summary, publication time and image. Takes no parameters; use `dailyexpress-headlines` to read a single section instead.",
+ "operationId": "dailyexpress-news",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
"schema": {
- "$ref": "#/definitions/app.Response"
+ "$ref": "#/definitions/publicnews.newsResponseDoc"
}
},
"503": {
@@ -291194,19 +362434,52 @@
"ApiKeyAuth": []
}
],
- "summary": "Get current popular Bilibili videos",
+ "summary": "Get Daily Express top stories",
"tags": [
- "Bilibili"
+ "Daily Express"
]
}
},
- "/bilibili/ranking": {
+ "/dailyexpress/sections": {
"get": {
- "consumes": [
+ "description": "Lists the Daily Express sections that `dailyexpress-headlines` accepts, such as `news`, `uk`, `royal`, `sport` and `personal-finance`. Each entry has a stable `slug`, a display `name` and the section `url`. Takes no parameters.",
+ "operationId": "dailyexpress-sections",
+ "produces": [
"application/json"
],
- "description": "Returns the current Bilibili all-site video ranking in rank order. Each video has its `rank`, `aid`, `title`, `url`, `cover`, `views`, `danmaku`, `replies`, `favorites`, `likes`, `duration_seconds`, `published_at`, `category` and `creator` (name, `mid`, `followers`). Takes no parameters.",
- "operationId": "bilibili-ranking",
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.sectionsResponseDoc"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Daily Express sections",
+ "tags": [
+ "Daily Express"
+ ]
+ }
+ },
+ "/dailykos/article": {
+ "get": {
+ "description": "Returns metadata and text paragraphs from a canonical staff-authored Daily Kos /news/ story. Community stories and photographer-owned images are not included.",
+ "operationId": "dailykos-article",
+ "parameters": [
+ {
+ "description": "Canonical Daily Kos staff /news/ article URL",
+ "in": "query",
+ "name": "url",
+ "required": true,
+ "type": "string",
+ "x-example": "https://www.dailykos.com/stories/2026/9/28/800104871/news/yet-another-fbi-co-babysitter-bids-the-bureau-bye-bye/"
+ }
+ ],
"produces": [
"application/json"
],
@@ -291214,17 +362487,17 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bilibili.rankingResponseDoc"
+ "$ref": "#/definitions/publicnews.articleResponseDoc"
}
},
- "429": {
- "description": "Too Many Requests",
+ "400": {
+ "description": "Bad Request",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "404": {
+ "description": "Not Found",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -291241,33 +362514,50 @@
"ApiKeyAuth": []
}
],
- "summary": "Get the current Bilibili all-site ranking",
+ "summary": "Get a Daily Kos staff article",
"tags": [
- "Bilibili"
+ "Daily Kos"
]
}
},
- "/bilibili/vertical-home": {
+ "/dailykos/headlines": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns stable server-rendered editorial sections for one Bilibili vertical. Allowed category values: documentary, movie, tv, variety. Rotating feeds, pagination, account state, and streaming URLs are excluded.",
- "operationId": "bilibili-vertical-home",
+ "description": "Returns the current stories for one Daily Kos category. `section` is required and takes one of 24 slugs such as `news/elections`, `news/courts`, `cartoon` or `announcements`; any other value returns a 400. Some categories can be empty, which comes back as an empty `items` list.",
+ "operationId": "dailykos-headlines",
"parameters": [
{
- "description": "Vertical: documentary, movie, tv, variety",
+ "description": "Daily Kos category slug",
"enum": [
- "documentary",
- "movie",
- "tv",
- "variety"
+ "announcements",
+ "cartoon",
+ "daily-kos",
+ "partnerhub",
+ "news",
+ "news/business-and-economy",
+ "news/congress",
+ "news/courts",
+ "news/culture",
+ "news/elections",
+ "news/environment",
+ "news/health",
+ "news/immigration",
+ "news/justice",
+ "news/media",
+ "news/media-and-culture",
+ "news/national",
+ "news/science",
+ "news/series",
+ "news/stateandlocal",
+ "news/tech",
+ "news/videos",
+ "news/whitehouse",
+ "news/world"
],
"in": "query",
- "name": "category",
+ "name": "section",
"required": true,
"type": "string",
- "x-example": "documentary"
+ "x-example": "announcements"
}
],
"produces": [
@@ -291277,7 +362567,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bilibili.verticalHomeResponseDoc"
+ "$ref": "#/definitions/publicnews.headlinesResponseDoc"
}
},
"400": {
@@ -291286,16 +362576,36 @@
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Too Many Requests",
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
- },
- "500": {
- "description": "Internal Server Error",
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Daily Kos category headlines",
+ "tags": [
+ "Daily Kos"
+ ]
+ }
+ },
+ "/dailykos/news": {
+ "get": {
+ "description": "Returns the current staff-written Daily Kos stories, about 10 items, each with title, URL, summary, publication time and author. Community stories and image URLs are left out because the site licenses them separately. Takes no parameters.",
+ "operationId": "dailykos-news",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
"schema": {
- "$ref": "#/definitions/app.Response"
+ "$ref": "#/definitions/publicnews.newsResponseDoc"
}
},
"503": {
@@ -291310,28 +362620,50 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Bilibili documentary, movie, TV, or variety home sections",
+ "summary": "Get Daily Kos top stories",
"tags": [
- "Bilibili"
+ "Daily Kos"
]
}
},
- "/bilibili/weekly": {
+ "/dailykos/sections": {
"get": {
- "consumes": [
+ "description": "Lists the 24 Daily Kos categories accepted by `dailykos-headlines`, including nested slugs such as `news/elections` and `news/whitehouse`. Each entry has the `slug`, display `name` and category `url`. Dynamic tag archives are not part of this set.",
+ "operationId": "dailykos-sections",
+ "produces": [
"application/json"
],
- "description": "Returns one issue of Bilibili's weekly selected-video series: `number` (1 to 1000000) picks the issue, and omitting it returns the latest. The issue has `subject`, `label`, `description` and `reminder`, and each video has `bvid`, `title`, `uploader`, `duration_seconds`, `recommendation` and `stats_text`. An unknown issue number returns 404.",
- "operationId": "bilibili-weekly",
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.sectionsResponseDoc"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "List Daily Kos categories",
+ "tags": [
+ "Daily Kos"
+ ]
+ }
+ },
+ "/dailymail/article": {
+ "get": {
+ "description": "Returns one Daily Mail article by its canonical `url`, which must contain an `article-` path segment. The response has the title, description, publish and update times, section, authors, lead image, body `paragraphs` and a `paywalled` flag.",
+ "operationId": "dailymail-article",
"parameters": [
{
- "description": "Positive issue number; omit for the latest issue",
+ "description": "Canonical Daily Mail article URL",
"in": "query",
- "maximum": 1000000,
- "minimum": 1,
- "name": "number",
- "type": "integer",
- "x-example": 387
+ "name": "url",
+ "required": true,
+ "type": "string",
+ "x-example": "https://www.dailymail.co.uk/news/article-1234567/example.html"
}
],
"produces": [
@@ -291341,7 +362673,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bilibili.weeklyResponseDoc"
+ "$ref": "#/definitions/publicnews.articleResponseDoc"
}
},
"400": {
@@ -291356,14 +362688,63 @@
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Too Many Requests",
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Daily Mail article content",
+ "tags": [
+ "Daily Mail"
+ ]
+ }
+ },
+ "/dailymail/author": {
+ "get": {
+ "description": "Returns one Daily Mail author's public profile: name, job title, bio, social accounts, and one page of their recent articles.",
+ "operationId": "dailymail-author",
+ "parameters": [
+ {
+ "description": "Canonical dailymail.com/profile-/.html URL",
+ "in": "query",
+ "name": "url",
+ "required": true,
+ "type": "string",
+ "x-example": "https://www.dailymail.com/profile-1021/charliespiering.html"
},
- "500": {
- "description": "Internal Server Error",
+ {
+ "description": "1-based page of articles to return; defaults to 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer",
+ "x-example": 1
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.dailyMailAuthorResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -291380,24 +362761,38 @@
"ApiKeyAuth": []
}
],
- "summary": "Get a Bilibili weekly selected-video issue",
+ "summary": "Get a Daily Mail author profile",
"tags": [
- "Bilibili"
+ "Daily Mail"
]
}
},
- "/billboard/article": {
+ "/dailymail/headlines": {
"get": {
- "description": "Returns public Billboard article metadata and body paragraphs from a canonical article URL. Billboard Pro articles are returned in full when the public page serves the full body; a teaser-only page is flagged paywalled.",
- "operationId": "billboard-article",
+ "description": "Returns the latest Daily Mail headlines for one section. `section` is required and must be one of `home`, `news`, `sport`, `tvshowbiz`, `health`, `femail`, `travel`, `sciencetech`, `money`, `debate`, `us` or `australia`. Each item has its title, URL, summary, publication time and image.",
+ "operationId": "dailymail-headlines",
"parameters": [
{
- "description": "Canonical Billboard article URL",
+ "description": "Daily Mail RSS section slug",
+ "enum": [
+ "home",
+ "news",
+ "sport",
+ "tvshowbiz",
+ "health",
+ "femail",
+ "travel",
+ "sciencetech",
+ "money",
+ "debate",
+ "us",
+ "australia"
+ ],
"in": "query",
- "name": "url",
+ "name": "section",
"required": true,
"type": "string",
- "x-example": "https://www.billboard.com/music/latin/stray-kids-like-bts-younger-mexican-president-confirm-visit-1236346530/"
+ "x-example": "home"
}
],
"produces": [
@@ -291407,7 +362802,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.articleResponseDoc"
+ "$ref": "#/definitions/publicnews.headlinesResponseDoc"
}
},
"400": {
@@ -291416,8 +362811,40 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Daily Mail section headlines",
+ "tags": [
+ "Daily Mail"
+ ]
+ }
+ },
+ "/dailymail/news": {
+ "get": {
+ "description": "Returns the current Daily Mail top stories. Each item has its title, URL, summary, publication time and image. Takes no parameters; use `dailymail-headlines` for a single section.",
+ "operationId": "dailymail-news",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.newsResponseDoc"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -291434,24 +362861,50 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Billboard article content",
+ "summary": "Get Daily Mail top stories",
"tags": [
- "Billboard"
+ "Daily Mail"
]
}
},
- "/billboard/author": {
+ "/dailymail/sections": {
"get": {
- "description": "Returns a Billboard author's byline metadata, biography, and recent articles (sourced from the author's own public RSS feed) from a canonical author URL.",
- "operationId": "billboard-author",
+ "description": "Lists the 12 Daily Mail sections accepted by `dailymail-headlines`: `home`, `news`, `sport`, `tvshowbiz`, `health`, `femail`, `travel`, `sciencetech`, `money`, `debate`, `us` and `australia`. Each entry has the `slug`, display `name` and feed `url`.",
+ "operationId": "dailymail-sections",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.sectionsResponseDoc"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Daily Mail RSS sections",
+ "tags": [
+ "Daily Mail"
+ ]
+ }
+ },
+ "/dailymaverick/article": {
+ "get": {
+ "description": "Extracts the public article metadata and body paragraphs Daily Maverick serves to an anonymous visitor. The paywalled flag is set only when the page exposes the publisher's access-control marker.",
+ "operationId": "dailymaverick-article",
"parameters": [
{
- "description": "Canonical Billboard author URL",
+ "description": "Canonical Daily Maverick article or opinionista URL",
"in": "query",
"name": "url",
"required": true,
"type": "string",
- "x-example": "https://www.billboard.com/author/gil-kaufman/"
+ "x-example": "https://www.dailymaverick.co.za/article/2026-09-29-nmb-flying-squad-get-two-cars-and-a-promise-of-more/"
}
],
"produces": [
@@ -291461,7 +362914,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.billboardAuthorResponseDoc"
+ "$ref": "#/definitions/publicnews.articleResponseDoc"
}
},
"400": {
@@ -291476,6 +362929,12 @@
"$ref": "#/definitions/app.Response"
}
},
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
"503": {
"description": "Service Unavailable",
"schema": {
@@ -291488,67 +362947,77 @@
"ApiKeyAuth": []
}
],
- "summary": "Get a Billboard author profile",
+ "summary": "Get a Daily Maverick article",
"tags": [
- "Billboard"
+ "Daily Maverick"
]
}
},
- "/billboard/headlines": {
+ "/dailymaverick/headlines": {
"get": {
- "description": "Returns the 10 most recent items from one Billboard section. `section` is required and takes a slug such as `chart-beat`, `country`, `rb-hip-hop`, `streaming` or `touring`. Parent sections such as `music` and `business` overlap with their subsections, so one item can appear under several. Items carry title, URL, summary, author and time.",
- "operationId": "billboard-headlines",
+ "description": "Returns up to 21 current story cards for one Daily Maverick category. `section` is required and takes one of 51 slugs such as `maverick-news`, `business-maverick`, `opinionistas`, `politics` or `sport`. Each item has its title, URL and type, plus summary, publication time, author and image when the outlet provides them.",
+ "operationId": "dailymaverick-headlines",
"parameters": [
{
- "description": "Billboard section slug",
+ "description": "Daily Maverick category slug",
"enum": [
- "music",
- "music-news",
- "chart-beat",
- "awards",
- "concerts",
- "country",
- "features",
- "latin",
- "lyrics",
- "pop",
- "rb-hip-hop",
- "reviews",
- "rock",
- "business",
- "business-news",
- "legal",
- "management",
- "publishing",
- "radio",
- "record-labels",
- "streaming",
- "tech",
- "touring",
+ "2019-elections",
+ "2019-rugby-world-cup",
+ "africa",
+ "analysis",
+ "articles",
+ "blog",
+ "books",
+ "business-maverick",
+ "cartoons",
+ "companies",
+ "covid-19",
+ "crypto",
"culture",
- "events",
- "lifestyle",
- "politics",
- "pride",
- "product-recommendations",
- "tv-film",
+ "declassified-uk",
+ "dm168",
+ "economy",
+ "editorial",
+ "elections",
+ "fifa-world-cup-2026",
+ "international-finance",
+ "johannesburg",
+ "magazine",
+ "maverick-citizen",
+ "maverick-earth",
+ "maverick-insider",
+ "maverick-life",
+ "maverick-news",
"media",
- "lists",
- "photos-media",
+ "mining",
+ "motoring",
+ "multimedia",
+ "nelson-mandela-bay",
+ "op-eds",
+ "open-secrets",
+ "opinionistas",
+ "partner-content",
+ "people-of-the-year",
+ "personal-finance",
"podcasts",
- "videos",
- "espanol",
- "cultura-entretenimiento",
- "musica",
- "negocios",
- "noticias",
- "pro"
+ "politics",
+ "sci-tech",
+ "scorpio",
+ "south-africa",
+ "sponsored-content",
+ "sport",
+ "tgifood",
+ "ukraine-crisis",
+ "webinars",
+ "weekend-wrap",
+ "world",
+ "world-cup-2018"
],
"in": "query",
"name": "section",
"required": true,
"type": "string",
- "x-example": "music"
+ "x-example": "2019-elections"
}
],
"produces": [
@@ -291567,6 +363036,12 @@
"$ref": "#/definitions/app.Response"
}
},
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
"503": {
"description": "Service Unavailable",
"schema": {
@@ -291579,16 +363054,16 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Billboard section headlines",
+ "summary": "Get headlines from one Daily Maverick section",
"tags": [
- "Billboard"
+ "Daily Maverick"
]
}
},
- "/billboard/news": {
+ "/dailymaverick/news": {
"get": {
- "description": "Returns the latest Billboard stories, with no input needed. Each item has a title and canonical URL, plus a publication time, summary and image when Billboard provides them.",
- "operationId": "billboard-news",
+ "description": "Lists recent Daily Maverick articles and opinionista pieces from a rolling set of the newest entries. Each item has its title, URL, `type`, publication time and, when available, summary, author and image. Videos, cartoons and other non-article pages are excluded.",
+ "operationId": "dailymaverick-news",
"produces": [
"application/json"
],
@@ -291617,16 +363092,16 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Billboard top stories",
+ "summary": "Get current Daily Maverick stories",
"tags": [
- "Billboard"
+ "Daily Maverick"
]
}
},
- "/billboard/sections": {
+ "/dailymaverick/sections": {
"get": {
- "description": "Returns the public Billboard section inventory: every music, business, culture, media and Spanish-language category plus Billboard Pro, each linking to its public RSS feed.",
- "operationId": "billboard-sections",
+ "description": "Lists the 51 article-bearing Daily Maverick categories accepted by `dailymaverick-headlines`, such as `africa`, `maverick-citizen`, `op-eds` and `sci-tech`. Each entry has the `slug`, `name` and category `url`. Empty, media-only and other non-story categories are omitted; checked 2026-09-28.",
+ "operationId": "dailymaverick-sections",
"produces": [
"application/json"
],
@@ -291636,6 +363111,18 @@
"schema": {
"$ref": "#/definitions/publicnews.sectionsResponseDoc"
}
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
}
},
"security": [
@@ -291643,37 +363130,50 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Billboard sections",
+ "summary": "List Daily Maverick sections",
"tags": [
- "Billboard"
+ "Daily Maverick"
]
}
},
- "/billing/me": {
+ "/dailyrecord/article": {
"get": {
- "consumes": [
- "application/json"
+ "description": "Returns one Daily Record article by its canonical article `url`. The response has the title, description, publish and update times, section, authors, lead image, body `paragraphs` and a `paywalled` flag. Subscriber-only or blocked articles return an upstream error.",
+ "operationId": "dailyrecord-article",
+ "parameters": [
+ {
+ "description": "Canonical Daily Record article URL",
+ "in": "query",
+ "name": "url",
+ "required": true,
+ "type": "string",
+ "x-example": "https://www.dailyrecord.co.uk/news/scottish-news/example-37685844"
+ }
],
- "description": "Returns the authenticated user's current billing plan, period, included credits, used credits, remaining credits, overage status, and any downgrade scheduled for the next renewal.",
- "operationId": "billing-me",
"produces": [
"application/json"
],
"responses": {
"200": {
- "description": "Current billing state",
+ "description": "OK",
"schema": {
- "$ref": "#/definitions/billing.billingStateResponseDoc"
+ "$ref": "#/definitions/publicnews.articleResponseDoc"
}
},
- "401": {
- "description": "Authentication required",
+ "400": {
+ "description": "Bad Request",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal server error",
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -291684,28 +363184,96 @@
"ApiKeyAuth": []
}
],
- "summary": "Get current billing state",
+ "summary": "Get Daily Record article content",
"tags": [
- "Billing"
+ "Daily Record"
]
}
},
- "/billing/me/checkout": {
- "post": {
- "consumes": [
+ "/dailyrecord/author": {
+ "get": {
+ "description": "Returns a Daily Record author profile, found by `slug` (for example `paul-hutcheon`) or by a canonical `url`; send exactly one of the two. The response has the name, job title, bio, email, X/Twitter link and recent articles with their label. Contact details the page does not list are simply absent.",
+ "operationId": "dailyrecord-author",
+ "parameters": [
+ {
+ "description": "Author slug, e.g. paul-hutcheon",
+ "in": "query",
+ "name": "slug",
+ "type": "string",
+ "x-example": "paul-hutcheon"
+ },
+ {
+ "description": "Canonical dailyrecord.co.uk/authors// URL; alternative to slug",
+ "in": "query",
+ "name": "url",
+ "type": "string",
+ "x-example": "https://www.dailyrecord.co.uk/authors/paul-hutcheon/"
+ }
+ ],
+ "produces": [
"application/json"
],
- "description": "Creates a Stripe Checkout session for the authenticated user's selected paid billing plan. The created subscription is tagged with the local user id and plan so Stripe webhooks can link the customer and activate the plan after payment.",
- "operationId": "billing-me-checkout",
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.dailyRecordAuthorResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get a Daily Record author profile",
+ "tags": [
+ "Daily Record"
+ ]
+ }
+ },
+ "/dailyrecord/headlines": {
+ "get": {
+ "description": "Returns the latest Daily Record headlines for one section. `section` is required and must be one of `news`, `scotland`, `uk-world-news`, `sport`, `football`, `showbiz`, `lifestyle`, `money`, `travel` or `in-your-area`. Every item has its title and URL; the `news` section also carries summary, publication time and image.",
+ "operationId": "dailyrecord-headlines",
"parameters": [
{
- "description": "Checkout request",
- "in": "body",
- "name": "request",
+ "description": "Daily Record section slug",
+ "enum": [
+ "news",
+ "scotland",
+ "uk-world-news",
+ "sport",
+ "football",
+ "showbiz",
+ "lifestyle",
+ "money",
+ "travel",
+ "in-your-area"
+ ],
+ "in": "query",
+ "name": "section",
"required": true,
- "schema": {
- "$ref": "#/definitions/billing.stripeCheckoutRequestDoc"
- }
+ "type": "string",
+ "x-example": "news"
}
],
"produces": [
@@ -291713,25 +363281,51 @@
],
"responses": {
"200": {
- "description": "Stripe checkout session",
+ "description": "OK",
"schema": {
- "$ref": "#/definitions/billing.stripeSessionResponseDoc"
+ "$ref": "#/definitions/publicnews.headlinesResponseDoc"
}
},
"400": {
- "description": "Invalid request or plan",
+ "description": "Bad Request",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "401": {
- "description": "Authentication required",
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Daily Record section headlines",
+ "tags": [
+ "Daily Record"
+ ]
+ }
+ },
+ "/dailyrecord/news": {
+ "get": {
+ "description": "Returns the current Daily Record top stories. Each item has its title, URL, summary, publication time and image. Takes no parameters; use `dailyrecord-headlines` for a single section.",
+ "operationId": "dailyrecord-news",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.newsResponseDoc"
+ }
},
- "500": {
- "description": "Internal server error",
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -291742,73 +363336,123 @@
"ApiKeyAuth": []
}
],
- "summary": "Create Stripe checkout session",
+ "summary": "Get Daily Record top stories",
"tags": [
- "Billing"
+ "Daily Record"
]
}
},
- "/billing/me/events": {
+ "/dailyrecord/sections": {
"get": {
- "consumes": [
+ "description": "Lists the Daily Record sections accepted by `dailyrecord-headlines`, such as `news`, `scotland`, `uk-world-news`, `football` and `in-your-area`. Each entry has a stable `slug`, a display `name` and the section `url`. Takes no parameters.",
+ "operationId": "dailyrecord-sections",
+ "produces": [
"application/json"
],
- "description": "Returns recent billing audit events for the authenticated user, with optional filters for time range, endpoint, request id, event status, and billable flag. Invalid event_status values and reversed time ranges return invalid params.",
- "operationId": "billing-me-events",
- "parameters": [
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.sectionsResponseDoc"
+ }
+ }
+ },
+ "security": [
{
- "description": "Maximum records to return. Defaults to 50 and clamps to 100.",
- "in": "query",
- "maximum": 100,
- "minimum": 1,
- "name": "limit",
- "type": "integer"
- },
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Daily Record sections",
+ "tags": [
+ "Daily Record"
+ ]
+ }
+ },
+ "/dailystaruk/article": {
+ "get": {
+ "description": "Returns public Daily Star (UK) article metadata (including the section) and body paragraphs from a canonical article URL. Photo-gallery and sponsored partner-story URLs are rejected.",
+ "operationId": "dailystaruk-article",
+ "parameters": [
{
- "description": "Created-at lower bound in RFC3339 format",
+ "description": "Canonical Daily Star (UK) article URL",
"in": "query",
- "name": "from",
+ "name": "url",
+ "required": true,
"type": "string",
- "x-example": "2026-04-01T00:00:00Z"
+ "x-example": "https://www.dailystar.co.uk/tv/wayne-rooney-opens-up-weight-37700309"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.articleResponseDoc"
+ }
},
- {
- "description": "Created-at upper bound in RFC3339 format",
- "in": "query",
- "name": "to",
- "type": "string",
- "x-example": "2026-04-16T00:00:00Z"
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
},
- {
- "description": "Normalized endpoint or API path",
- "in": "query",
- "name": "endpoint",
- "type": "string",
- "x-example": "google/search"
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
},
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
{
- "description": "Request id to inspect",
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Daily Star (UK) article content",
+ "tags": [
+ "Daily Star UK"
+ ]
+ }
+ },
+ "/dailystaruk/author": {
+ "get": {
+ "description": "Returns one Daily Star (UK) author's public profile (name and, when published, job title, bio, email and X/Twitter handle) and one page of their recent articles.",
+ "operationId": "dailystaruk-author",
+ "parameters": [
+ {
+ "description": "Author slug, e.g. edward-easton",
"in": "query",
- "name": "request_id",
+ "name": "slug",
"type": "string",
- "x-example": "req-1"
+ "x-example": "edward-easton"
},
{
- "description": "Billing event status",
- "enum": [
- "reserved",
- "charged",
- "non_billable",
- "failed"
- ],
+ "description": "Canonical dailystar.co.uk/authors// URL; alternative to slug",
"in": "query",
- "name": "event_status",
- "type": "string"
+ "name": "url",
+ "type": "string",
+ "x-example": "https://www.dailystar.co.uk/authors/edward-easton/"
},
{
- "description": "Filter billable or non-billable events",
+ "default": 1,
+ "description": "1-based page number of the author's article list (1 to 100); overrides any pageNumber in url",
"in": "query",
- "name": "billable",
- "type": "boolean"
+ "name": "page",
+ "type": "integer"
}
],
"produces": [
@@ -291816,25 +363460,31 @@
],
"responses": {
"200": {
- "description": "Billing events",
+ "description": "OK",
"schema": {
- "$ref": "#/definitions/billing.billingEventsResponseDoc"
+ "$ref": "#/definitions/publicnews.reachAuthorResponseDoc"
}
},
"400": {
- "description": "Invalid query parameters",
+ "description": "Bad Request",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "401": {
- "description": "Authentication required",
+ "404": {
+ "description": "Not Found",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal server error",
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -291845,27 +363495,64 @@
"ApiKeyAuth": []
}
],
- "summary": "List current user's billing events",
+ "summary": "Get a Daily Star (UK) author profile",
"tags": [
- "Billing"
+ "Daily Star UK"
]
}
},
- "/billing/me/periods": {
+ "/dailystaruk/headlines": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns recent local billing period ledgers for the authenticated user. Period ledgers are local reconciliation records built from billing events and are not charged credits.",
- "operationId": "billing-me-periods",
+ "description": "Returns fresh headlines from one public Daily Star (UK) section. Photo galleries are omitted because they have no readable article body.",
+ "operationId": "dailystaruk-headlines",
"parameters": [
{
- "description": "Maximum periods to return. Defaults to 12 and clamps to 24.",
+ "description": "Daily Star (UK) section slug",
+ "enum": [
+ "news",
+ "news/latest-news",
+ "news/uk-news",
+ "news/world-news",
+ "news/us-news",
+ "news/weird-news",
+ "news/exclusive",
+ "news/politics",
+ "showbiz",
+ "showbiz/us-showbiz",
+ "tv",
+ "music",
+ "sport",
+ "sport/football",
+ "sport/transfer-news",
+ "sport/boxing",
+ "sport/ufc",
+ "sport/f1",
+ "sport/darts",
+ "sport/snooker",
+ "sport/other-sports",
+ "sport/us-sport",
+ "sport/motorsport",
+ "tech",
+ "tech/news",
+ "tech/gaming",
+ "tech/reviews",
+ "life-style",
+ "life-style/money",
+ "life-style/competitions",
+ "real-life",
+ "love-sex",
+ "health",
+ "fashion-beauty",
+ "diet-fitness",
+ "travel",
+ "travel/travel-news",
+ "just-jane"
+ ],
"in": "query",
- "maximum": 24,
- "minimum": 1,
- "name": "limit",
- "type": "integer"
+ "name": "section",
+ "required": true,
+ "type": "string",
+ "x-example": "news"
}
],
"produces": [
@@ -291873,19 +363560,25 @@
],
"responses": {
"200": {
- "description": "Billing period ledgers",
+ "description": "OK",
"schema": {
- "$ref": "#/definitions/billing.billingPeriodLedgersResponseDoc"
+ "$ref": "#/definitions/publicnews.headlinesResponseDoc"
}
},
- "401": {
- "description": "Authentication required",
+ "400": {
+ "description": "Bad Request",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal server error",
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -291896,27 +363589,88 @@
"ApiKeyAuth": []
}
],
- "summary": "List current user's billing period ledgers",
+ "summary": "Get Daily Star (UK) section headlines",
"tags": [
- "Billing"
+ "Daily Star UK"
]
}
},
- "/billing/me/periods/{period_key}": {
+ "/dailystaruk/news": {
"get": {
- "consumes": [
+ "description": "Returns fresh Daily Star (UK) top stories from the public home RSS feed. Photo galleries are omitted because they have no readable article body.",
+ "operationId": "dailystaruk-news",
+ "produces": [
"application/json"
],
- "description": "Returns one billing period ledger for the authenticated user. If the ledger has not been materialized yet, it is rebuilt from billing events and stored locally. The period key must use YYYY-MM format.",
- "operationId": "billing-me-period",
- "parameters": [
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.newsResponseDoc"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
{
- "description": "Billing period key in YYYY-MM format",
- "in": "path",
- "name": "period_key",
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Daily Star (UK) top stories",
+ "tags": [
+ "Daily Star UK"
+ ]
+ }
+ },
+ "/dailystaruk/sections": {
+ "get": {
+ "description": "Lists the Daily Star (UK) sections accepted by `dailystaruk-headlines`, including nested slugs such as `sport/football`, `news/weird-news` and `tech/gaming`. Each entry has the `slug`, `name` and feed `url`. Feeds were checked on 2026-09-25 and return up to about 25 entries.",
+ "operationId": "dailystaruk-sections",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.sectionsResponseDoc"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Daily Star (UK) sections",
+ "tags": [
+ "Daily Star UK"
+ ]
+ }
+ },
+ "/dailywire/article": {
+ "get": {
+ "description": "Returns public Daily Wire article metadata and body paragraphs from an article URL under any of the site's content-vertical prefixes.",
+ "operationId": "dailywire-article",
+ "parameters": [
+ {
+ "description": "Daily Wire article URL",
+ "in": "query",
+ "name": "url",
"required": true,
"type": "string",
- "x-example": "2026-04"
+ "x-example": "https://www.dailywire.com/news/example-article-slug"
}
],
"produces": [
@@ -291924,25 +363678,25 @@
],
"responses": {
"200": {
- "description": "Billing period ledger",
+ "description": "OK",
"schema": {
- "$ref": "#/definitions/billing.billingPeriodLedgerResponseDoc"
+ "$ref": "#/definitions/publicnews.articleResponseDoc"
}
},
"400": {
- "description": "Invalid period key",
+ "description": "Bad Request",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "401": {
- "description": "Authentication required",
+ "404": {
+ "description": "Not Found",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal server error",
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -291953,41 +363707,30 @@
"ApiKeyAuth": []
}
],
- "summary": "Get current user's billing period ledger",
+ "summary": "Get Daily Wire article content",
"tags": [
- "Billing"
+ "DailyWire"
]
}
},
- "/billing/me/periods/{period_key}/statement": {
+ "/dailywire/author": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns a customer-safe JSON statement for one billing period, combining the ledger, endpoint breakdown, optional billing events, and Stripe invoice evidence. Closed periods normally return a pre-frozen snapshot created during period close; historical closed periods without a snapshot are lazily frozen on read. Repair errors and raw webhook audit details are not exposed.",
- "operationId": "billing-me-period-statement",
+ "description": "Returns one Daily Wire staff writer or contributor's public profile: name, headshot, social handles when present, biography, and their recent articles.",
+ "operationId": "dailywire-author",
"parameters": [
{
- "description": "Billing period key in YYYY-MM format",
- "in": "path",
- "name": "period_key",
- "required": true,
- "type": "string",
- "x-example": "2026-04"
- },
- {
- "description": "Include recent billing events. Defaults to true.",
+ "description": "Author slug, e.g. brent-scher",
"in": "query",
- "name": "include_events",
- "type": "boolean"
+ "name": "slug",
+ "type": "string",
+ "x-example": "brent-scher"
},
{
- "description": "Maximum billing events to include. Defaults to 100 and clamps to 500.",
+ "description": "Canonical dailywire.com/author/ URL; alternative to slug",
"in": "query",
- "maximum": 500,
- "minimum": 1,
- "name": "event_limit",
- "type": "integer"
+ "name": "url",
+ "type": "string",
+ "x-example": "https://www.dailywire.com/author/brent-scher"
}
],
"produces": [
@@ -291995,25 +363738,25 @@
],
"responses": {
"200": {
- "description": "Billing period statement",
+ "description": "OK",
"schema": {
- "$ref": "#/definitions/billing.billingPeriodStatementResponseDoc"
+ "$ref": "#/definitions/publicnews.dailyWireAuthorResponseDoc"
}
},
"400": {
- "description": "Invalid period key or query parameters",
+ "description": "Bad Request",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "401": {
- "description": "Authentication required",
+ "404": {
+ "description": "Not Found",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal server error",
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -292024,27 +363767,38 @@
"ApiKeyAuth": []
}
],
- "summary": "Get current user's billing period statement",
+ "summary": "Get a Daily Wire author profile",
"tags": [
- "Billing"
+ "DailyWire"
]
}
},
- "/billing/me/periods/{period_key}/statement/download": {
+ "/dailywire/headlines": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns the exact customer-safe canonical JSON for a closed billing period statement snapshot. Closed periods are normally frozen during period close; if a historical closed period is missing a snapshot, the snapshot is lazily created before download. The raw response body is JSON, not the standard app envelope.",
- "operationId": "billing-me-period-statement-download",
+ "description": "Returns current Daily Wire headlines for one content vertical. `section` is required and takes `news`, `opinion`, `dw-opinion`, `analysis`, `news-and-commentary`, `news-and-analysis`, `exclusive`, `entertainment`, `original`, `upstream`, `sports` or `mi-x-dw`. An empty result means the front page does not currently feature that vertical.",
+ "operationId": "dailywire-headlines",
"parameters": [
{
- "description": "Billing period key in YYYY-MM format",
- "in": "path",
- "name": "period_key",
+ "description": "Daily Wire section slug",
+ "enum": [
+ "news",
+ "opinion",
+ "dw-opinion",
+ "analysis",
+ "news-and-commentary",
+ "news-and-analysis",
+ "exclusive",
+ "entertainment",
+ "original",
+ "upstream",
+ "sports",
+ "mi-x-dw"
+ ],
+ "in": "query",
+ "name": "section",
"required": true,
"type": "string",
- "x-example": "2026-04"
+ "x-example": "news"
}
],
"produces": [
@@ -292052,25 +363806,19 @@
],
"responses": {
"200": {
- "description": "Raw frozen customer statement JSON",
+ "description": "OK",
"schema": {
- "type": "string"
+ "$ref": "#/definitions/publicnews.headlinesResponseDoc"
}
},
"400": {
- "description": "Invalid period key or open billing period",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
- "401": {
- "description": "Authentication required",
+ "description": "Bad Request",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal server error",
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -292081,56 +363829,62 @@
"ApiKeyAuth": []
}
],
- "summary": "Download current user's frozen billing period statement",
+ "summary": "Get Daily Wire section headlines",
"tags": [
- "Billing"
+ "DailyWire"
]
}
},
- "/billing/me/portal": {
- "post": {
- "consumes": [
- "application/json"
- ],
- "description": "Creates a Stripe customer portal session for the authenticated user's linked Stripe customer so they can manage payment method, invoices, and subscription state.",
- "operationId": "billing-me-portal",
- "parameters": [
- {
- "description": "Portal request",
- "in": "body",
- "name": "request",
- "required": true,
- "schema": {
- "$ref": "#/definitions/billing.stripePortalRequestDoc"
- }
- }
- ],
+ "/dailywire/news": {
+ "get": {
+ "description": "Returns the current Daily Wire top stories. Each item has its title, URL, summary, publication time, author and image. Takes no parameters; use `dailywire-headlines` to filter by content vertical.",
+ "operationId": "dailywire-news",
"produces": [
"application/json"
],
"responses": {
"200": {
- "description": "Stripe portal session",
+ "description": "OK",
"schema": {
- "$ref": "#/definitions/billing.stripeSessionResponseDoc"
+ "$ref": "#/definitions/publicnews.newsResponseDoc"
}
},
- "400": {
- "description": "Invalid request",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "401": {
- "description": "Authentication required",
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
- },
- "500": {
- "description": "Internal server error",
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Daily Wire top stories",
+ "tags": [
+ "DailyWire"
+ ]
+ }
+ },
+ "/dailywire/sections": {
+ "get": {
+ "description": "Lists the Daily Wire content verticals that `dailywire-headlines` accepts, such as `news`, `opinion`, `analysis`, `entertainment`, `upstream` and `sports`. Each entry has a `slug`, `name` and `url`. Sampled on 2026-09-24, so the list may not be exhaustive.",
+ "operationId": "dailywire-sections",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
"schema": {
- "$ref": "#/definitions/app.Response"
+ "$ref": "#/definitions/publicnews.sectionsResponseDoc"
}
}
},
@@ -292139,37 +363893,37 @@
"ApiKeyAuth": []
}
],
- "summary": "Create Stripe billing portal session",
+ "summary": "Get Daily Wire content-vertical sections",
"tags": [
- "Billing"
+ "DailyWire"
]
}
},
- "/billing/me/rejections": {
+ "/datasets": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns the authenticated user's own tally of pre-handler billing rejections (HTTP 402 quota / 429 rate-limit), summed over the last two UTC days (today and yesterday — the full retention window). These blocks never reach the request-usage index or the billing-events log, so this is the only way for a caller to see their own throttling.",
- "operationId": "billing-me-rejections",
+ "description": "Lists the read-only scraped datasets available, with no parameters. Each item has its `id`, name, description and the capabilities it supports: `search`, `detail`, `facets`, `nearby`, `history`, `trending` or `changes`. It reads stored data and does not start a live scrape.",
+ "operationId": "datasets-list",
"produces": [
"application/json"
],
"responses": {
"200": {
- "description": "Caller's own rejection tally",
+ "description": "OK",
"schema": {
- "$ref": "#/definitions/billing.myRejectionsResponseDoc"
+ "$ref": "#/definitions/datasets.listResponseDoc"
}
},
- "401": {
- "description": "Authentication required",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"500": {
- "description": "Internal server error",
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -292180,28 +363934,102 @@
"ApiKeyAuth": []
}
],
- "summary": "Caller's own blocked-request tally",
+ "summary": "List stored scraped datasets",
"tags": [
- "Billing"
+ "Datasets"
]
}
},
- "/billing/me/subscription/change": {
- "post": {
+ "/datasets/airbnb-hosts/facets": {
+ "get": {
"consumes": [
"application/json"
],
- "description": "Applies an immediate, prorated upgrade after Stripe payment succeeds, or schedules a downgrade for the next renewal. The unused legacy metered item is removed as part of an immediate upgrade.",
- "operationId": "billing-me-subscription-change",
+ "description": "Returns distribution counts over the Airbnb hosts dataset (dataset id enum value `airbnb-hosts`), honoring the same filters as search. Facet enum: `superhost`, `identity_verified`, `listing_count_band`, `hosting_years_band`, `interest`, `verification`, `location`.",
+ "operationId": "datasets-airbnb-hosts-facets",
"parameters": [
{
- "description": "Subscription change request",
- "in": "body",
- "name": "request",
+ "description": "Facet enum: superhost, identity_verified, listing_count_band, hosting_years_band, interest, verification, location",
+ "enum": [
+ "superhost",
+ "identity_verified",
+ "listing_count_band",
+ "hosting_years_band",
+ "interest",
+ "verification",
+ "location"
+ ],
+ "in": "query",
+ "name": "facet",
"required": true,
- "schema": {
- "$ref": "#/definitions/billing.stripeSubscriptionChangeRequestDoc"
- }
+ "type": "string",
+ "x-example": "superhost"
+ },
+ {
+ "description": "Full-text query over host name and bio, max 256 characters",
+ "in": "query",
+ "name": "q",
+ "type": "string"
+ },
+ {
+ "description": "Free-text match over the profile location, max 128 characters",
+ "in": "query",
+ "name": "location",
+ "type": "string"
+ },
+ {
+ "description": "Exact interest as returned by the interest facet, max 128 characters",
+ "in": "query",
+ "name": "interest",
+ "type": "string"
+ },
+ {
+ "description": "Exact verification as returned by the verification facet, max 128 characters",
+ "in": "query",
+ "name": "verification",
+ "type": "string"
+ },
+ {
+ "description": "true keeps only Superhosts, false keeps only hosts without the badge",
+ "in": "query",
+ "name": "is_superhost",
+ "type": "boolean"
+ },
+ {
+ "description": "Filter on the home-host flag",
+ "in": "query",
+ "name": "is_home_host",
+ "type": "boolean"
+ },
+ {
+ "description": "true keeps only hosts whose identity is verified",
+ "in": "query",
+ "name": "identity_verified",
+ "type": "boolean"
+ },
+ {
+ "description": "Minimum number of listings the host manages, 0 or greater",
+ "in": "query",
+ "name": "min_listings",
+ "type": "integer"
+ },
+ {
+ "description": "Maximum number of listings the host manages, 0 or greater",
+ "in": "query",
+ "name": "max_listings",
+ "type": "integer"
+ },
+ {
+ "description": "Minimum total guest reviews received, 0 or greater",
+ "in": "query",
+ "name": "min_reviews",
+ "type": "integer"
+ },
+ {
+ "description": "Minimum years of hosting, 0 or greater",
+ "in": "query",
+ "name": "min_hosting_years",
+ "type": "integer"
}
],
"produces": [
@@ -292209,25 +364037,25 @@
],
"responses": {
"200": {
- "description": "Subscription change result",
+ "description": "OK",
"schema": {
- "$ref": "#/definitions/billing.stripeSubscriptionChangeResultResponseDoc"
+ "$ref": "#/definitions/datasets.airbnbHostsFacetResponseDoc"
}
},
"400": {
- "description": "Invalid plan, stale preview, or idempotency key",
+ "description": "Bad Request",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "401": {
- "description": "Authentication required",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"500": {
- "description": "Internal server error",
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -292238,43 +364066,59 @@
"ApiKeyAuth": []
}
],
- "summary": "Apply a subscription plan change",
+ "summary": "Facet the Airbnb hosts dataset",
"tags": [
- "Billing"
+ "Datasets"
]
}
},
- "/billing/me/subscription/change/cancel": {
- "post": {
+ "/datasets/airbnb-hosts/items/{id}": {
+ "get": {
"consumes": [
"application/json"
],
- "description": "Cancels the signed-in user's scheduled subscription downgrade and keeps the current plan active. There is no immediate charge or refund, and the call changes nothing when no downgrade is scheduled. Takes no body. The response reports `action`, `current_plan`, `target_plan` and `payment_status`.",
- "operationId": "billing-me-subscription-change-cancel",
+ "description": "Returns one host by numeric Airbnb host id from dataset id enum value `airbnb-hosts`, with the full public profile: name, profile link, location, bio, Superhost, home-host and identity-verification flags, verifications, hosting and membership years, total guest reviews, number of listings and interests. Returns 404 when the host is not in the dataset yet.",
+ "operationId": "datasets-airbnb-hosts-item",
+ "parameters": [
+ {
+ "description": "Numeric Airbnb host id, e.g. 65056940",
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "type": "string",
+ "x-example": "65056940"
+ }
+ ],
"produces": [
"application/json"
],
"responses": {
"200": {
- "description": "Subscription change cancellation result",
+ "description": "OK",
"schema": {
- "$ref": "#/definitions/billing.stripeSubscriptionChangeResultResponseDoc"
+ "$ref": "#/definitions/datasets.airbnbHostResponseDoc"
}
},
"400": {
- "description": "Invalid subscription state",
+ "description": "Bad Request",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "401": {
- "description": "Authentication required",
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"500": {
- "description": "Internal server error",
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -292285,28 +364129,109 @@
"ApiKeyAuth": []
}
],
- "summary": "Cancel a scheduled subscription downgrade",
+ "summary": "Get an Airbnb host from the dataset",
"tags": [
- "Billing"
+ "Datasets"
]
}
},
- "/billing/me/subscription/preview": {
- "post": {
+ "/datasets/airbnb-hosts/search": {
+ "get": {
"consumes": [
"application/json"
],
- "description": "Previews an authenticated user's immediate upgrade or next-renewal downgrade. Stripe calculates the upgrade proration; downgrades keep the current plan and credits active until the current period ends.",
- "operationId": "billing-me-subscription-preview",
+ "description": "Searches Airbnb hosts from the dataset id enum value `airbnb-hosts` — public host profiles with display name, location, bio, Superhost and identity-verification status, hosting tenure, total guest reviews, number of listings and interests. Each record is one host, not one listing. Sort enum: `review_count_desc`, `listing_count_desc`, `hosting_years_desc`, `relevance`. Billing: this search costs 1 credit per record returned, with a minimum of 2 (an empty result costs 2, a full page of 100 costs 100).",
+ "operationId": "datasets-airbnb-hosts-search",
"parameters": [
{
- "description": "Subscription change preview request",
- "in": "body",
- "name": "request",
- "required": true,
- "schema": {
- "$ref": "#/definitions/billing.stripeSubscriptionChangeRequestDoc"
- }
+ "description": "Full-text query over host name and bio, max 256 characters",
+ "in": "query",
+ "name": "q",
+ "type": "string"
+ },
+ {
+ "description": "Free-text match over the profile location, e.g. Portugal; every word must match, max 128 characters",
+ "in": "query",
+ "name": "location",
+ "type": "string"
+ },
+ {
+ "description": "Exact interest as returned by the interest facet, e.g. Architecture, max 128 characters",
+ "in": "query",
+ "name": "interest",
+ "type": "string"
+ },
+ {
+ "description": "Exact verification as returned by the verification facet, e.g. Identity, max 128 characters",
+ "in": "query",
+ "name": "verification",
+ "type": "string"
+ },
+ {
+ "description": "true keeps only Superhosts, false keeps only hosts without the badge",
+ "in": "query",
+ "name": "is_superhost",
+ "type": "boolean"
+ },
+ {
+ "description": "Filter on the home-host flag",
+ "in": "query",
+ "name": "is_home_host",
+ "type": "boolean"
+ },
+ {
+ "description": "true keeps only hosts whose identity is verified",
+ "in": "query",
+ "name": "identity_verified",
+ "type": "boolean"
+ },
+ {
+ "description": "Minimum number of listings the host manages, 0 or greater",
+ "in": "query",
+ "name": "min_listings",
+ "type": "integer"
+ },
+ {
+ "description": "Maximum number of listings the host manages, 0 or greater",
+ "in": "query",
+ "name": "max_listings",
+ "type": "integer"
+ },
+ {
+ "description": "Minimum total guest reviews received, 0 or greater",
+ "in": "query",
+ "name": "min_reviews",
+ "type": "integer"
+ },
+ {
+ "description": "Minimum years of hosting, 0 or greater",
+ "in": "query",
+ "name": "min_hosting_years",
+ "type": "integer"
+ },
+ {
+ "description": "Sort enum: review_count_desc, listing_count_desc, hosting_years_desc, relevance",
+ "enum": [
+ "review_count_desc",
+ "listing_count_desc",
+ "hosting_years_desc",
+ "relevance"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Page number, defaults to 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, defaults to 20 and maxes at 100; page * page_size must be <= 10000",
+ "in": "query",
+ "name": "page_size",
+ "type": "integer"
}
],
"produces": [
@@ -292314,25 +364239,25 @@
],
"responses": {
"200": {
- "description": "Subscription change preview",
+ "description": "OK",
"schema": {
- "$ref": "#/definitions/billing.stripeSubscriptionChangePreviewResponseDoc"
+ "$ref": "#/definitions/datasets.airbnbHostsSearchResponseDoc"
}
},
"400": {
- "description": "Invalid plan or subscription change",
+ "description": "Bad Request",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "401": {
- "description": "Authentication required",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"500": {
- "description": "Internal server error",
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -292343,58 +364268,103 @@
"ApiKeyAuth": []
}
],
- "summary": "Preview a subscription plan change",
+ "summary": "Search the Airbnb hosts dataset",
"tags": [
- "Billing"
+ "Datasets"
]
}
},
- "/bing/images": {
+ "/datasets/airbnb-markets/facets": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns Bing image search results for a query string. Locale defaults to country=us and lang=en-us. Returns 503 when Bing serves a challenge page or unusable results.",
- "operationId": "bing-images",
+ "description": "Returns suppressed distribution counts over the Airbnb markets dataset, honoring the same filters as search. Facet enum: `country`, `market`, `currency`, `superhost`, `guest_favorite`, `rating_band`, `review_band`, `admin1` (top subdivision), `locality` (settlement), `room_type` (`entire_place`/`private_room`/`hotel`/`shared_room`), `property_type` (Airbnb's canonical listing type from the detail page), `amenities` (each amenity with the count of listings offering it). Enrichment-derived facets include a `coverage` object with the number and share of filtered listings carrying that dimension; buckets stay empty below the 20% minimum visibility gate. Coverage above the gate may still be partial. group_by enum: `country`, `market`, `admin1`, `locality`, `room_type`, `property_type`.",
+ "operationId": "datasets-airbnb-markets-facets",
"parameters": [
{
- "description": "Search query",
+ "description": "Facet enum: country, market, currency, superhost, guest_favorite, rating_band, review_band, admin1, locality, room_type, property_type, amenities",
+ "enum": [
+ "country",
+ "market",
+ "currency",
+ "superhost",
+ "guest_favorite",
+ "rating_band",
+ "review_band",
+ "admin1",
+ "locality",
+ "room_type",
+ "property_type",
+ "amenities"
+ ],
"in": "query",
- "name": "q",
+ "name": "facet",
"required": true,
"type": "string",
- "x-example": "openai"
+ "x-example": "country"
},
{
- "description": "1-based page number; defaults to 1",
+ "description": "Aggregate cell dimension enum: country, market, admin1, locality, room_type, property_type. Defaults to country",
+ "enum": [
+ "country",
+ "market",
+ "admin1",
+ "locality",
+ "room_type",
+ "property_type"
+ ],
"in": "query",
- "minimum": 1,
- "name": "page",
- "type": "integer",
- "x-example": 1
+ "name": "group_by",
+ "type": "string"
},
{
- "description": "Results per page; defaults to 10, clamped to 1..50",
+ "description": "Exact ISO-3166-1 alpha-2 country filter, e.g. FR",
"in": "query",
- "maximum": 50,
- "minimum": 1,
- "name": "count",
- "type": "integer",
- "x-example": 10
+ "name": "country",
+ "type": "string"
},
{
- "description": "Two-letter country code; defaults to us",
+ "description": "Exact metro-market filter, max 128 characters",
"in": "query",
- "name": "country",
- "type": "string",
- "x-example": "us"
+ "name": "market",
+ "type": "string"
},
{
- "description": "Bing UI language; defaults to en-us",
+ "description": "Count only Superhost listings",
"in": "query",
- "name": "lang",
- "type": "string",
- "x-example": "en-us"
+ "name": "superhost",
+ "type": "boolean"
+ },
+ {
+ "description": "Count only Guest Favorite listings (an observed lower bound; the badge under-counts)",
+ "in": "query",
+ "name": "guest_favorite",
+ "type": "boolean"
+ },
+ {
+ "description": "Minimum listing rating, from 0 through 5",
+ "in": "query",
+ "name": "min_rating",
+ "type": "number"
+ },
+ {
+ "description": "Minimum listing review count, 0 or greater",
+ "in": "query",
+ "name": "min_review_count",
+ "type": "integer"
+ },
+ {
+ "description": "Freshness filter, an ISO-8601 date (YYYY-MM-DD)",
+ "in": "query",
+ "name": "active_since",
+ "type": "string"
+ },
+ {
+ "description": "Minimum listings per bucket; raises the small-cell suppression floor",
+ "in": "query",
+ "name": "min_listings",
+ "type": "integer"
}
],
"produces": [
@@ -292404,35 +364374,23 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bing.imagesResponseDoc"
+ "$ref": "#/definitions/datasets.airbnbMarketsFacetResponseDoc"
}
},
"400": {
- "description": "Missing or invalid query parameters",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
- "404": {
- "description": "No results found",
+ "description": "Bad Request",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"429": {
- "description": "Rate limit exceeded",
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"500": {
- "description": "Internal server error",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
- "503": {
- "description": "Bing upstream request failed",
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -292443,58 +364401,27 @@
"ApiKeyAuth": []
}
],
- "summary": "Search Bing image results",
+ "summary": "Facet the Airbnb markets dataset",
"tags": [
- "Bing"
+ "Datasets"
]
}
},
- "/bing/news": {
+ "/datasets/airbnb-markets/items/{country}": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns Bing news search results for a query string. Locale defaults to country=us and lang=en-us. Returns 503 when Bing serves a challenge page or unusable results.",
- "operationId": "bing-news",
+ "description": "Returns one country's full aggregate Airbnb market profile from dataset id enum value `airbnb-markets` — headline supply, Superhost share, Guest Favorite share (`guest_favorite_pct`, an observed lower bound), `avg_person_capacity` (average guests a listing sleeps over the detail-page-enriched sample), ratings, its top metros, bounding box, per-currency nightly-price percentiles, and a USD-normalized `price_usd` percentile block (converted via an approximate dated FX snapshot) for cross-country comparison. Aggregate-only. Returns 404 for a country below the suppression floor.",
+ "operationId": "datasets-airbnb-markets-item",
"parameters": [
{
- "description": "Search query",
- "in": "query",
- "name": "q",
- "required": true,
- "type": "string",
- "x-example": "openai"
- },
- {
- "description": "1-based page number; defaults to 1",
- "in": "query",
- "minimum": 1,
- "name": "page",
- "type": "integer",
- "x-example": 1
- },
- {
- "description": "Results per page; defaults to 10, clamped to 1..50",
- "in": "query",
- "maximum": 50,
- "minimum": 1,
- "name": "count",
- "type": "integer",
- "x-example": 10
- },
- {
- "description": "Two-letter country code; defaults to us",
- "in": "query",
+ "description": "ISO-3166-1 alpha-2 country code, e.g. FR",
+ "in": "path",
"name": "country",
+ "required": true,
"type": "string",
- "x-example": "us"
- },
- {
- "description": "Bing UI language; defaults to en-us",
- "in": "query",
- "name": "lang",
- "type": "string",
- "x-example": "en-us"
+ "x-example": "FR"
}
],
"produces": [
@@ -292504,35 +364431,29 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bing.newsResponseDoc"
+ "$ref": "#/definitions/datasets.airbnbMarketResponseDoc"
}
},
"400": {
- "description": "Missing or invalid query parameters",
+ "description": "Bad Request",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"404": {
- "description": "No results found",
+ "description": "Not Found",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"429": {
- "description": "Rate limit exceeded",
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"500": {
- "description": "Internal server error",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
- "503": {
- "description": "Bing upstream request failed",
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -292543,58 +364464,79 @@
"ApiKeyAuth": []
}
],
- "summary": "Search Bing news results",
+ "summary": "Get an Airbnb market from the dataset",
"tags": [
- "Bing"
+ "Datasets"
]
}
},
- "/bing/search": {
+ "/datasets/airbnb-markets/nearby": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns Bing web search results for a query string, including organic results, optional context panel data, related queries, people-also-ask questions, news modules, video modules, and page-based pagination. Empty optional blocks are omitted from the JSON response. Locale defaults to country=us and lang=en-us. Returns 503 on a genuine transport failure or challenge page. Bing occasionally serves a well-formed page whose results share no significant term with the query; when every attempt hits this, the response is still returned as 200 with data.low_confidence set to true (and the X-Low-Confidence header) instead of being withheld, so callers get Bing's real answer plus an honest signal to double-check it rather than nothing. Queries that use the site: operator (for example site:gov.hu) are not supported: Bing serves a bot-verification challenge for them, so they are rejected with 400 before any request is made. Use the DuckDuckGo (/api/v1/duckduckgo/search), Brave (/api/v1/brave/search), or Yahoo (/api/v1/yahoo-search/search) search endpoints for domain-restricted searches instead.",
- "operationId": "bing-search",
+ "description": "Returns an aggregate geohash-grid density map of Airbnb listings within a radius of a coordinate, from dataset id enum value `airbnb-markets`. Each cell reports a centroid, listing count and Superhost share; thin cells are suppressed. Aggregate-only.",
+ "operationId": "datasets-airbnb-markets-nearby",
"parameters": [
{
- "description": "Search query",
+ "description": "Center latitude, from -90 through 90",
"in": "query",
- "name": "q",
+ "name": "lat",
"required": true,
- "type": "string",
- "x-example": "openai"
+ "type": "number",
+ "x-example": 40.7484257
},
{
- "description": "1-based page number; defaults to 1",
+ "description": "Center longitude, from -180 through 180",
"in": "query",
- "minimum": 1,
- "name": "page",
- "type": "integer",
- "x-example": 1
+ "name": "lon",
+ "required": true,
+ "type": "number",
+ "x-example": -73.98567
},
{
- "description": "Results per page; defaults to 10, clamped to 1..50",
+ "description": "Search radius in meters, from 1 through 50000",
"in": "query",
- "maximum": 50,
- "minimum": 1,
- "name": "count",
+ "name": "radius_m",
+ "required": true,
"type": "integer",
- "x-example": 10
+ "x-example": 5000
},
{
- "description": "Two-letter country code; defaults to us",
+ "description": "Geohash precision, from 1 through 12; defaults to a value derived from the radius",
+ "in": "query",
+ "name": "precision",
+ "type": "integer"
+ },
+ {
+ "description": "Minimum listings per cell; raises the small-cell suppression floor",
+ "in": "query",
+ "name": "min_listings",
+ "type": "integer"
+ },
+ {
+ "description": "Exact ISO-3166-1 alpha-2 country filter, e.g. US",
"in": "query",
"name": "country",
- "type": "string",
- "x-example": "us"
+ "type": "string"
},
{
- "description": "Bing UI language; defaults to en-us",
+ "description": "Count only Superhost listings",
"in": "query",
- "name": "lang",
- "type": "string",
- "x-example": "en-us"
+ "name": "superhost",
+ "type": "boolean"
+ },
+ {
+ "description": "Minimum listing rating, from 0 through 5",
+ "in": "query",
+ "name": "min_rating",
+ "type": "number"
+ },
+ {
+ "description": "Freshness filter, an ISO-8601 date (YYYY-MM-DD)",
+ "in": "query",
+ "name": "active_since",
+ "type": "string"
}
],
"produces": [
@@ -292602,37 +364544,25 @@
],
"responses": {
"200": {
- "description": "data.low_confidence is true when Bing's results shared no significant term with the query (see the field's description); the data is still exactly what Bing returned",
+ "description": "OK",
"schema": {
- "$ref": "#/definitions/bing.searchResponseDoc"
+ "$ref": "#/definitions/datasets.airbnbMarketsNearbyResponseDoc"
}
},
"400": {
- "description": "Missing or invalid query parameters",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
- "404": {
- "description": "No results found",
+ "description": "Bad Request",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"429": {
- "description": "Rate limit exceeded",
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"500": {
- "description": "Internal server error",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
- "503": {
- "description": "Bing upstream request failed (transport failure, challenge page, or every hedge attempt rejected -- see data.low_confidence for the case where Bing did answer but every attempt looked unrelated to the query)",
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -292643,57 +364573,105 @@
"ApiKeyAuth": []
}
],
- "summary": "Search Bing web results",
+ "summary": "Airbnb market density near a coordinate",
"tags": [
- "Bing"
+ "Datasets"
]
}
},
- "/bing/suggest": {
+ "/datasets/airbnb-markets/search": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns Bing autosuggest query completions for a query prefix. Locale defaults to country=us and lang=en-us. Suggestions are fetched from public Bing suggest endpoints and trimmed to the requested count. `rich=true` adds entity cards (name, description, image) where Bing shows them.",
- "operationId": "bing-suggest",
+ "description": "Returns aggregate Airbnb short-term-rental market rollups from the dataset id enum value `airbnb-markets`. Aggregate-only: each row is a market cell, never an individual listing. Thin cells are suppressed. group_by enum: `country`, `market`, `admin1` (top subdivision), `locality` (settlement), `room_type` (`entire_place`/`private_room`/`hotel`/`shared_room`), `property_type` (Airbnb's canonical listing type from the detail page). Enrichment-derived groupings include a `coverage` object with the number and share of filtered listings carrying that dimension; the 20% minimum gate is not a completeness guarantee, and counts still describe classified rows only. Each cell also carries `median_price_usd`, the median nightly price converted to USD via an approximate dated FX snapshot, for cross-country comparison (combine with `group_by=room_type` for median price by room type); `guest_favorite_pct`, the share of listings carrying the Guest Favorite badge (an observed lower bound, like `superhost_pct`); and `avg_person_capacity`, the average guests a listing sleeps over the detail-page-enriched sample. Sort enum: `listings_desc`, `superhost_pct_desc`, `rating_desc`, `key_asc`. Billing: this search costs 1 credit per record returned, with a minimum of 2 (an empty result costs 2, a full page of 100 costs 100).",
+ "operationId": "datasets-airbnb-markets-search",
"parameters": [
{
- "description": "Search query prefix",
+ "description": "Aggregate cell dimension enum: country, market, admin1, locality, room_type, property_type. Defaults to country",
+ "enum": [
+ "country",
+ "market",
+ "admin1",
+ "locality",
+ "room_type",
+ "property_type"
+ ],
"in": "query",
- "name": "q",
- "required": true,
- "type": "string",
- "x-example": "openai"
+ "name": "group_by",
+ "type": "string"
},
{
- "description": "Suggestions to return; defaults to 10, clamped to 1..12",
+ "description": "Exact ISO-3166-1 alpha-2 country filter, e.g. FR",
"in": "query",
- "maximum": 12,
- "minimum": 1,
- "name": "count",
- "type": "integer",
- "x-example": 10
+ "name": "country",
+ "type": "string"
},
{
- "description": "Two-letter country code; defaults to us",
+ "description": "Exact metro-market filter, e.g. Paris, max 128 characters",
"in": "query",
- "name": "country",
- "type": "string",
- "x-example": "us"
+ "name": "market",
+ "type": "string"
},
{
- "description": "Bing UI language; defaults to en-us",
+ "description": "Count only Superhost listings",
"in": "query",
- "name": "lang",
- "type": "string",
- "x-example": "en-us"
+ "name": "superhost",
+ "type": "boolean"
},
{
- "description": "Add entity name, description, and image to suggestions Bing resolves to a known entity; defaults to false",
+ "description": "Count only Guest Favorite listings (an observed lower bound; the badge under-counts)",
"in": "query",
- "name": "rich",
- "type": "boolean",
- "x-example": false
+ "name": "guest_favorite",
+ "type": "boolean"
+ },
+ {
+ "description": "Minimum listing rating, from 0 through 5",
+ "in": "query",
+ "name": "min_rating",
+ "type": "number"
+ },
+ {
+ "description": "Minimum listing review count, 0 or greater",
+ "in": "query",
+ "name": "min_review_count",
+ "type": "integer"
+ },
+ {
+ "description": "Freshness filter, an ISO-8601 date (YYYY-MM-DD); only listings last seen on or after it are counted",
+ "in": "query",
+ "name": "active_since",
+ "type": "string"
+ },
+ {
+ "description": "Minimum listings per cell; raises the small-cell suppression floor (never lowered below the built-in minimum)",
+ "in": "query",
+ "name": "min_listings",
+ "type": "integer"
+ },
+ {
+ "description": "Sort enum: listings_desc, superhost_pct_desc, rating_desc, key_asc",
+ "enum": [
+ "listings_desc",
+ "superhost_pct_desc",
+ "rating_desc",
+ "key_asc"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Page number, defaults to 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, defaults to 20 and maxes at 100; page * page_size must be <= 10000",
+ "in": "query",
+ "name": "page_size",
+ "type": "integer"
}
],
"produces": [
@@ -292703,29 +364681,23 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bing.suggestResponseDoc"
+ "$ref": "#/definitions/datasets.airbnbMarketsSearchResponseDoc"
}
},
"400": {
- "description": "Missing or invalid query parameters",
+ "description": "Bad Request",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"429": {
- "description": "Rate limit exceeded",
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"500": {
- "description": "Internal server error",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
- "503": {
- "description": "Bing upstream request failed",
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -292736,58 +364708,137 @@
"ApiKeyAuth": []
}
],
- "summary": "Suggest Bing search queries",
+ "summary": "Search the Airbnb markets dataset",
"tags": [
- "Bing"
+ "Datasets"
]
}
},
- "/bing/videos": {
+ "/datasets/apple-books/facets": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns Bing video search results for a query string. Locale defaults to country=us and lang=en-us. Returns 503 when Bing serves a challenge page or unusable results.",
- "operationId": "bing-videos",
+ "description": "Returns term counts over the same filters as search. Facet values: `kind`, `genres`, `artist_name`, `publisher`, `series_name`, `narrator`, `provider`, `currency`, `discovery_country`, `discovery_source`, `free`.",
+ "operationId": "datasets-apple-books-facets",
"parameters": [
{
- "description": "Search query",
+ "description": "Facet: kind, genres, artist_name, publisher, series_name, narrator, provider, currency, discovery_country, discovery_source, free",
+ "enum": [
+ "kind",
+ "genres",
+ "artist_name",
+ "publisher",
+ "series_name",
+ "narrator",
+ "provider",
+ "currency",
+ "discovery_country",
+ "discovery_source",
+ "free"
+ ],
"in": "query",
- "name": "q",
+ "name": "facet",
"required": true,
"type": "string",
- "x-example": "openai"
+ "x-example": "kind"
},
{
- "description": "1-based page number; defaults to 1",
+ "description": "Full-text query over name, artist, series, narrator and description; max 256 characters",
"in": "query",
- "minimum": 1,
- "name": "page",
- "type": "integer",
- "x-example": 1
+ "name": "q",
+ "type": "string"
},
{
- "description": "Results per page; defaults to 10, clamped to 1..50",
+ "description": "Record kind: book, audiobook, author, series, audiobook_series",
+ "enum": [
+ "book",
+ "audiobook",
+ "author",
+ "series",
+ "audiobook_series"
+ ],
"in": "query",
- "maximum": 50,
- "minimum": 1,
- "name": "count",
- "type": "integer",
- "x-example": 10
+ "name": "kind",
+ "type": "string"
},
{
- "description": "Two-letter country code; defaults to us",
+ "description": "Exact Apple Books genre label, max 128 characters",
+ "in": "query",
+ "name": "genre",
+ "type": "string"
+ },
+ {
+ "description": "Exact author or artist name, max 128 characters",
+ "in": "query",
+ "name": "artist",
+ "type": "string"
+ },
+ {
+ "description": "Exact numeric Apple Books artist ID, max 128 characters",
+ "in": "query",
+ "name": "artist_id",
+ "type": "string"
+ },
+ {
+ "description": "Exact ebook publisher, max 128 characters",
+ "in": "query",
+ "name": "publisher",
+ "type": "string"
+ },
+ {
+ "description": "Exact series name, max 128 characters",
+ "in": "query",
+ "name": "series",
+ "type": "string"
+ },
+ {
+ "description": "Exact audiobook narrator, max 128 characters",
+ "in": "query",
+ "name": "narrator",
+ "type": "string"
+ },
+ {
+ "description": "Exact audiobook provider, max 128 characters",
+ "in": "query",
+ "name": "provider",
+ "type": "string"
+ },
+ {
+ "description": "Exact currency code, max 128 characters",
+ "in": "query",
+ "name": "currency",
+ "type": "string"
+ },
+ {
+ "description": "Exact discovery storefront country, max 128 characters",
"in": "query",
"name": "country",
- "type": "string",
- "x-example": "us"
+ "type": "string"
},
{
- "description": "Bing UI language; defaults to en-us",
+ "description": "Exact crawl source, max 128 characters",
"in": "query",
- "name": "lang",
- "type": "string",
- "x-example": "en-us"
+ "name": "discovery_source",
+ "type": "string"
+ },
+ {
+ "description": "Filter for free titles",
+ "in": "query",
+ "name": "free",
+ "type": "boolean"
+ },
+ {
+ "description": "Minimum average rating from 0 through 5",
+ "in": "query",
+ "name": "min_rating",
+ "type": "number"
+ },
+ {
+ "description": "Minimum rating count, 0 or greater",
+ "in": "query",
+ "name": "min_rating_count",
+ "type": "integer"
}
],
"produces": [
@@ -292797,35 +364848,23 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bing.videosResponseDoc"
+ "$ref": "#/definitions/datasets.appleBooksFacetResponseDoc"
}
},
"400": {
- "description": "Missing or invalid query parameters",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
- "404": {
- "description": "No results found",
+ "description": "Bad Request",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"429": {
- "description": "Rate limit exceeded",
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"500": {
- "description": "Internal server error",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
- "503": {
- "description": "Bing upstream request failed",
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -292836,24 +364875,42 @@
"ApiKeyAuth": []
}
],
- "summary": "Search Bing video results",
+ "summary": "Discover Apple Books dataset values",
"tags": [
- "Bing"
+ "Datasets"
]
}
},
- "/birminghammail/article": {
+ "/datasets/apple-books/items/{kind}/{id}": {
"get": {
- "description": "Returns public Birmingham Mail article metadata (including the section) and body paragraphs from a canonical article URL. Photo-gallery URLs are rejected.",
- "operationId": "birminghammail-article",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns one named, publicly usable ebook, audiobook, author, or series record by its resource kind and numeric ID. Kind values: `book`, `audiobook`, `author`, `series`, `audiobook_series`. Internal crawl errors and unavailable placeholders are not returned.",
+ "operationId": "datasets-apple-books-item",
"parameters": [
{
- "description": "Canonical Birmingham Mail article URL",
- "in": "query",
- "name": "url",
+ "description": "Resource kind: book, audiobook, author, series, audiobook_series",
+ "enum": [
+ "book",
+ "audiobook",
+ "author",
+ "series",
+ "audiobook_series"
+ ],
+ "in": "path",
+ "name": "kind",
"required": true,
"type": "string",
- "x-example": "https://www.birminghammail.co.uk/news/midlands-news/birmingham-road-six-cars-towed-34668610"
+ "x-example": "book"
+ },
+ {
+ "description": "Numeric Apple Books resource ID",
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "type": "string",
+ "x-example": "1037193578"
}
],
"produces": [
@@ -292863,7 +364920,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.articleResponseDoc"
+ "$ref": "#/definitions/datasets.appleBooksItemResponseDoc"
}
},
"400": {
@@ -292884,8 +364941,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -292896,37 +364953,142 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Birmingham Mail article content",
+ "summary": "Get an Apple Books record",
"tags": [
- "Birmingham Mail"
+ "Datasets"
]
}
},
- "/birminghammail/author": {
+ "/datasets/apple-books/search": {
"get": {
- "description": "Returns one Birmingham Mail author's public profile: name, job title, bio, email, X/Twitter handle, and one page of their recent articles.",
- "operationId": "birminghammail-author",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Searches named public ebook, audiobook, author, and series records stored from Apple's public catalog. `kind` values: `book`, `audiobook`, `author`, `series`, `audiobook_series`. Unavailable records are excluded. Sort: `relevance` (requires q), `rating_count_desc`, `rating_desc`, `release_date_desc`, `name_asc`, `crawled_at_desc`. Billing: 1 credit per returned record, minimum 2.",
+ "operationId": "datasets-apple-books-search",
"parameters": [
{
- "description": "Author slug, e.g. stephanie-balloo",
+ "description": "Full-text query over name, artist, series, narrator and description; max 256 characters",
"in": "query",
- "name": "slug",
- "type": "string",
- "x-example": "stephanie-balloo"
+ "name": "q",
+ "type": "string"
},
{
- "description": "Canonical birminghammail.co.uk/authors// URL; alternative to slug",
+ "description": "Record kind: book, audiobook, author, series, audiobook_series",
+ "enum": [
+ "book",
+ "audiobook",
+ "author",
+ "series",
+ "audiobook_series"
+ ],
"in": "query",
- "name": "url",
- "type": "string",
- "x-example": "https://www.birminghammail.co.uk/authors/stephanie-balloo/"
+ "name": "kind",
+ "type": "string"
},
{
- "default": 1,
- "description": "1-based page number of the author's article list (1 to 100); overrides any pageNumber in url",
+ "description": "Exact Apple Books genre label; use facet=genres to discover values, max 128 characters",
+ "in": "query",
+ "name": "genre",
+ "type": "string"
+ },
+ {
+ "description": "Exact author or artist name, max 128 characters",
+ "in": "query",
+ "name": "artist",
+ "type": "string"
+ },
+ {
+ "description": "Exact numeric Apple Books artist ID, max 128 characters",
+ "in": "query",
+ "name": "artist_id",
+ "type": "string"
+ },
+ {
+ "description": "Exact ebook publisher, max 128 characters",
+ "in": "query",
+ "name": "publisher",
+ "type": "string"
+ },
+ {
+ "description": "Exact series name, max 128 characters",
+ "in": "query",
+ "name": "series",
+ "type": "string"
+ },
+ {
+ "description": "Exact audiobook narrator, max 128 characters",
+ "in": "query",
+ "name": "narrator",
+ "type": "string"
+ },
+ {
+ "description": "Exact audiobook provider, max 128 characters",
+ "in": "query",
+ "name": "provider",
+ "type": "string"
+ },
+ {
+ "description": "Exact currency code, max 128 characters",
+ "in": "query",
+ "name": "currency",
+ "type": "string"
+ },
+ {
+ "description": "Exact discovery storefront country, max 128 characters",
+ "in": "query",
+ "name": "country",
+ "type": "string"
+ },
+ {
+ "description": "Exact crawl source, max 128 characters",
+ "in": "query",
+ "name": "discovery_source",
+ "type": "string"
+ },
+ {
+ "description": "Filter for free titles",
+ "in": "query",
+ "name": "free",
+ "type": "boolean"
+ },
+ {
+ "description": "Minimum average rating from 0 through 5",
+ "in": "query",
+ "name": "min_rating",
+ "type": "number"
+ },
+ {
+ "description": "Minimum rating count, 0 or greater",
+ "in": "query",
+ "name": "min_rating_count",
+ "type": "integer"
+ },
+ {
+ "description": "Sort: relevance, rating_count_desc, rating_desc, release_date_desc, name_asc, crawled_at_desc",
+ "enum": [
+ "relevance",
+ "rating_count_desc",
+ "rating_desc",
+ "release_date_desc",
+ "name_asc",
+ "crawled_at_desc"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "1-based page, default 1; page * page_size must be <= 10000",
"in": "query",
"name": "page",
"type": "integer"
+ },
+ {
+ "description": "Page size, default 20, max 100",
+ "in": "query",
+ "name": "page_size",
+ "type": "integer"
}
],
"produces": [
@@ -292936,7 +365098,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.reachAuthorResponseDoc"
+ "$ref": "#/definitions/datasets.appleBooksSearchResponseDoc"
}
},
"400": {
@@ -292945,20 +365107,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"429": {
"description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -292969,49 +365125,113 @@
"ApiKeyAuth": []
}
],
- "summary": "Get a Birmingham Mail author profile",
+ "summary": "Search Apple Books records",
"tags": [
- "Birmingham Mail"
+ "Datasets"
]
}
},
- "/birminghammail/headlines": {
+ "/datasets/apple-maps-places/facets": {
"get": {
- "description": "Returns fresh headlines from one public Birmingham Mail section. Photo galleries are omitted because they have no readable article body.",
- "operationId": "birminghammail-headlines",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns terms aggregation counts for the stored Apple Maps place directory. Facet enum: `category`, `country_code`, `state`, `city`, `price_symbol`, `catalog_country`. Accepts the same filter parameters as search to scope the aggregation. Use `facet=category` to discover the exact category names the `category` filter accepts.",
+ "operationId": "datasets-apple-maps-places-facets",
"parameters": [
{
- "description": "Birmingham Mail section slug",
+ "description": "Facet enum: category, country_code, state, city, price_symbol, catalog_country",
"enum": [
- "news",
- "news/midlands-news",
- "news/uk-news",
- "news/world-news",
- "news/showbiz-tv",
- "news/cost-of-living",
- "news/money",
- "news/health",
- "black-country",
- "motoring",
- "motoring/motoring-news",
- "sport",
- "sport/football",
- "sport/football/football-news",
- "sport/football/transfer-news",
- "whats-on",
- "whats-on/whats-on-news",
- "whats-on/family-kids-news",
- "whats-on/food-drink-news",
- "whats-on/music-nightlife-news",
- "whats-on/shopping",
- "travel",
- "special-features"
+ "category",
+ "country_code",
+ "state",
+ "city",
+ "price_symbol",
+ "catalog_country"
],
"in": "query",
- "name": "section",
+ "name": "facet",
"required": true,
"type": "string",
- "x-example": "news"
+ "x-example": "category"
+ },
+ {
+ "description": "Full-text search over place name, category, city and address",
+ "in": "query",
+ "name": "q",
+ "type": "string"
+ },
+ {
+ "description": "Exact Apple category name",
+ "in": "query",
+ "name": "category",
+ "type": "string"
+ },
+ {
+ "description": "Exact city filter",
+ "in": "query",
+ "name": "city",
+ "type": "string"
+ },
+ {
+ "description": "Exact state/region filter",
+ "in": "query",
+ "name": "state",
+ "type": "string"
+ },
+ {
+ "description": "ISO 3166-1 alpha-2 country filter",
+ "in": "query",
+ "name": "country_code",
+ "type": "string"
+ },
+ {
+ "description": "Exact postal code filter",
+ "in": "query",
+ "name": "postal_code",
+ "type": "string"
+ },
+ {
+ "description": "Minimum rating, from 0 through 5",
+ "in": "query",
+ "name": "min_rating",
+ "type": "number"
+ },
+ {
+ "description": "Minimum number of ratings behind the rating",
+ "in": "query",
+ "name": "min_rating_count",
+ "type": "integer"
+ },
+ {
+ "description": "Website presence filter",
+ "in": "query",
+ "name": "has_website",
+ "type": "boolean"
+ },
+ {
+ "description": "Phone presence filter",
+ "in": "query",
+ "name": "has_phone",
+ "type": "boolean"
+ },
+ {
+ "description": "Latitude for radius filtering, requires lon",
+ "in": "query",
+ "name": "lat",
+ "type": "number"
+ },
+ {
+ "description": "Longitude for radius filtering, requires lat",
+ "in": "query",
+ "name": "lon",
+ "type": "number"
+ },
+ {
+ "description": "Radius in meters, 1 through 50000; requires lat and lon",
+ "in": "query",
+ "name": "radius_m",
+ "type": "integer"
}
],
"produces": [
@@ -293021,7 +365241,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.headlinesResponseDoc"
+ "$ref": "#/definitions/datasets.applePlacesFacetResponseDoc"
}
},
"400": {
@@ -293036,8 +365256,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -293048,16 +365268,29 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Birmingham Mail section headlines",
+ "summary": "Facet stored Apple Maps places",
"tags": [
- "Birmingham Mail"
+ "Datasets"
]
}
},
- "/birminghammail/news": {
+ "/datasets/apple-maps-places/items/{place_id}": {
"get": {
- "description": "Returns fresh Birmingham Mail top stories from the public home RSS feed. Photo galleries are omitted because they have no readable article body.",
- "operationId": "birminghammail-news",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns one stored Apple Maps place by Apple place id from dataset id `apple-maps-places`. Accepts either the numeric place id (the `id` field) or the external place id that appears in maps.apple.com URLs (the `place_id` field, starting with `I`). A `rating` of `null` means Apple shows no rating for the place. `catalog_country` is the Apple storefront the place was found under, not its country; `country_code` is the place's own country. `first_seen_at` is when the directory first observed the place and `last_seen_at` the latest observation. Does not trigger live scraping; for a live Apple Maps lookup use the apple-maps-place endpoint.",
+ "operationId": "datasets-apple-maps-places-item",
+ "parameters": [
+ {
+ "description": "Apple place id: the numeric id or the external id starting with I",
+ "in": "path",
+ "name": "place_id",
+ "required": true,
+ "type": "string",
+ "x-example": "6435622567484707146"
+ }
+ ],
"produces": [
"application/json"
],
@@ -293065,7 +365298,19 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.newsResponseDoc"
+ "$ref": "#/definitions/datasets.applePlaceResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
}
},
"429": {
@@ -293074,8 +365319,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -293086,16 +365331,75 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Birmingham Mail top stories",
+ "summary": "Get a stored Apple Maps place",
"tags": [
- "Birmingham Mail"
+ "Datasets"
]
}
},
- "/birminghammail/sections": {
+ "/datasets/apple-maps-places/nearby": {
"get": {
- "description": "Lists the 23 Birmingham Mail sections that `birminghammail-headlines` accepts, such as `news/midlands-news`, `black-country`, `sport/football/transfer-news` and `whats-on`. Each has a `slug`, a display `name` and the feed `url`. Only sections with a recently updated feed are included (last verified 2026-09-25), and each returns up to about 25 entries.",
- "operationId": "birminghammail-sections",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns stored Apple Maps places within a radius of a point, nearest first, from dataset id `apple-maps-places`. lat, lon and radius_m are required. Unlike the live apple-maps-search endpoint (which returns at most 25 places per call), this pages through the stored directory with `distance_m` on every item. Coverage is observed, not complete. Does not trigger live scraping. Billing: this endpoint costs 1 credit per record returned, with a minimum of 2 (an empty result costs 2, a full page of 100 costs 100).",
+ "operationId": "datasets-apple-maps-places-nearby",
+ "parameters": [
+ {
+ "description": "Center latitude, from -90 through 90",
+ "in": "query",
+ "name": "lat",
+ "required": true,
+ "type": "number",
+ "x-example": 37.7749
+ },
+ {
+ "description": "Center longitude, from -180 through 180",
+ "in": "query",
+ "name": "lon",
+ "required": true,
+ "type": "number",
+ "x-example": -122.4194
+ },
+ {
+ "description": "Search radius in meters, 1 through 50000",
+ "in": "query",
+ "name": "radius_m",
+ "required": true,
+ "type": "integer",
+ "x-example": 5000
+ },
+ {
+ "description": "Exact Apple category name",
+ "in": "query",
+ "name": "category",
+ "type": "string"
+ },
+ {
+ "description": "Minimum rating, from 0 through 5",
+ "in": "query",
+ "name": "min_rating",
+ "type": "number"
+ },
+ {
+ "description": "Minimum number of ratings behind the rating",
+ "in": "query",
+ "name": "min_rating_count",
+ "type": "integer"
+ },
+ {
+ "description": "Page number, defaults to 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, defaults to 20 and maxes at 100",
+ "in": "query",
+ "name": "page_size",
+ "type": "integer"
+ }
+ ],
"produces": [
"application/json"
],
@@ -293103,7 +365407,25 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.sectionsResponseDoc"
+ "$ref": "#/definitions/datasets.applePlacesSearchResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
}
}
},
@@ -293112,24 +365434,122 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Birmingham Mail sections",
+ "summary": "Find nearby stored Apple Maps places",
"tags": [
- "Birmingham Mail"
+ "Datasets"
]
}
},
- "/bleacherreport/article": {
+ "/datasets/apple-maps-places/search": {
"get": {
- "description": "Returns public Bleacher Report article metadata and body paragraphs from a canonical article URL. Bleacher Report serves full articles to anonymous readers, so no article is paywalled.",
- "operationId": "bleacherreport-article",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Searches the stored Apple Maps place directory (dataset id `apple-maps-places`), built by tiling populated areas and running category searches over each tile. Each place has its Apple place id, name, category path, address, coordinates, phone, website, opening hours, rating and price level where Apple shows them. Coverage is observed, not complete: Apple answers each search with at most 25 places, so very dense areas can hold places the directory has not reached, and a place missing from the results is not evidence that it does not exist or has closed. A `rating` of `null` means Apple shows no rating for the place (never a zero-star score); ratings and rating counts come from third-party review partners that Apple shows (for example Yelp and Foursquare), so they are not comparable across places and a few places carry a rating with no count. Supports full-text `q`, `category`/`city`/`state`/`country_code`/`postal_code` filters, `min_rating`, `min_rating_count`, `has_website`, `has_phone`, `lat`/`lon`/`radius_m` radius filtering, and `sort` (relevance, rating_desc, review_count_desc, updated_at_desc, distance_asc). Does not trigger live scraping. Billing: this search costs 1 credit per record returned, with a minimum of 2 (an empty result costs 2, a full page of 100 costs 100).",
+ "operationId": "datasets-apple-maps-places-search",
"parameters": [
{
- "description": "Canonical Bleacher Report article URL",
+ "description": "Full-text search over place name, category, city and address; every term must match. Max 256 characters",
"in": "query",
- "name": "url",
- "required": true,
- "type": "string",
- "x-example": "https://bleacherreport.com/articles/25502441-vladimir-guerrero-jr-drops-viral-quote-2026-slump-after-signing-500m-blue-jays-contract"
+ "name": "q",
+ "type": "string"
+ },
+ {
+ "description": "Exact Apple category name, max 128 characters, e.g. Coffee Shop; use facet=category to discover values",
+ "in": "query",
+ "name": "category",
+ "type": "string"
+ },
+ {
+ "description": "Exact city filter, max 128 characters",
+ "in": "query",
+ "name": "city",
+ "type": "string"
+ },
+ {
+ "description": "Exact state/region filter, max 128 characters",
+ "in": "query",
+ "name": "state",
+ "type": "string"
+ },
+ {
+ "description": "ISO 3166-1 alpha-2 country filter, e.g. US, GB, JP",
+ "in": "query",
+ "name": "country_code",
+ "type": "string"
+ },
+ {
+ "description": "Exact postal code filter, max 128 characters",
+ "in": "query",
+ "name": "postal_code",
+ "type": "string"
+ },
+ {
+ "description": "Minimum rating, from 0 through 5; any value above 0 excludes unrated places",
+ "in": "query",
+ "name": "min_rating",
+ "type": "number"
+ },
+ {
+ "description": "Minimum number of ratings behind the rating, 0 or greater",
+ "in": "query",
+ "name": "min_rating_count",
+ "type": "integer"
+ },
+ {
+ "description": "true keeps only places with a website; false keeps only places without one",
+ "in": "query",
+ "name": "has_website",
+ "type": "boolean"
+ },
+ {
+ "description": "true keeps only places with a phone number; false keeps only places without one",
+ "in": "query",
+ "name": "has_phone",
+ "type": "boolean"
+ },
+ {
+ "description": "Latitude for radius filtering or distance sort, requires lon",
+ "in": "query",
+ "name": "lat",
+ "type": "number"
+ },
+ {
+ "description": "Longitude for radius filtering or distance sort, requires lat",
+ "in": "query",
+ "name": "lon",
+ "type": "number"
+ },
+ {
+ "description": "Radius in meters, 1 through 50000; requires lat and lon",
+ "in": "query",
+ "name": "radius_m",
+ "type": "integer"
+ },
+ {
+ "description": "Sort enum: relevance, rating_desc, review_count_desc, updated_at_desc, distance_asc. Defaults to relevance with q, otherwise updated_at_desc",
+ "enum": [
+ "relevance",
+ "rating_desc",
+ "review_count_desc",
+ "updated_at_desc",
+ "distance_asc"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Page number, defaults to 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, defaults to 20 and maxes at 100; page * page_size must be <= 10000",
+ "in": "query",
+ "name": "page_size",
+ "type": "integer"
}
],
"produces": [
@@ -293139,7 +365559,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.articleResponseDoc"
+ "$ref": "#/definitions/datasets.applePlacesSearchResponseDoc"
}
},
"400": {
@@ -293148,14 +365568,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -293166,30 +365586,76 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Bleacher Report article content",
+ "summary": "Search stored Apple Maps places",
"tags": [
- "Bleacher Report"
+ "Datasets"
]
}
},
- "/bleacherreport/author": {
+ "/datasets/apple-podcasts-shows/facets": {
"get": {
- "description": "Returns a Bleacher Report writer's profile, identified by `slug` (such as `scott-polacek`) or a canonical `bleacherreport.com/writers/` `url`; exactly one is required. The response has name, role, biography, photo and about 20 latest stories with title, URL and thumbnail. Publication times are not shown on the profile, so `published_at` is omitted; an unknown slug returns 404.",
- "operationId": "bleacherreport-author",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns value counts for one field of the Apple Podcasts shows dataset, chosen by the required `facet`: `genre`, `genre_id`, `country`, `content_advisory_rating` or `run_id`. The counts honour the search filters (`q`, `genre`, `country`, `min_track_count` and others) and cover the top 50 values.",
+ "operationId": "datasets-apple-podcasts-shows-facets",
"parameters": [
{
- "description": "Writer slug, e.g. scott-polacek",
+ "description": "Facet enum: genre, genre_id, country, content_advisory_rating, run_id",
+ "enum": [
+ "genre",
+ "genre_id",
+ "country",
+ "content_advisory_rating",
+ "run_id"
+ ],
"in": "query",
- "name": "slug",
+ "name": "facet",
+ "required": true,
"type": "string",
- "x-example": "scott-polacek"
+ "x-example": "genre"
},
{
- "description": "Canonical bleacherreport.com/writers/ URL; alternative to slug",
+ "description": "Full-text query over show title and artist name, max 256 characters",
"in": "query",
- "name": "url",
- "type": "string",
- "x-example": "https://bleacherreport.com/writers/scott-polacek"
+ "name": "q",
+ "type": "string"
+ },
+ {
+ "description": "Exact primary-genre filter, max 128 characters",
+ "in": "query",
+ "name": "genre",
+ "type": "string"
+ },
+ {
+ "description": "Exact Apple Podcasts genre id filter, max 128 characters",
+ "in": "query",
+ "name": "genre_id",
+ "type": "string"
+ },
+ {
+ "description": "Exact storefront country filter, max 128 characters",
+ "in": "query",
+ "name": "country",
+ "type": "string"
+ },
+ {
+ "description": "Exact explicitness filter, max 128 characters",
+ "in": "query",
+ "name": "explicitness",
+ "type": "string"
+ },
+ {
+ "description": "Exact crawl run-id filter, max 128 characters",
+ "in": "query",
+ "name": "run_id",
+ "type": "string"
+ },
+ {
+ "description": "Minimum episode count (track_count), 0 or greater",
+ "in": "query",
+ "name": "min_track_count",
+ "type": "integer"
}
],
"produces": [
@@ -293199,7 +365665,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.bleacherreportAuthorResponseDoc"
+ "$ref": "#/definitions/datasets.applePodcastsShowsFacetResponseDoc"
}
},
"400": {
@@ -293208,14 +365674,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -293226,56 +365692,27 @@
"ApiKeyAuth": []
}
],
- "summary": "Get a Bleacher Report writer profile",
+ "summary": "Facet Apple Podcasts shows dataset",
"tags": [
- "Bleacher Report"
+ "Datasets"
]
}
},
- "/bleacherreport/headlines": {
+ "/datasets/apple-podcasts-shows/items/{id}": {
"get": {
- "description": "Returns the stories on one Bleacher Report league or sub-hub page, newest first. `section` is required and takes a slug such as `nfl`, `nba-draft`, `formula-1` or `recruiting`. Each has a headline, article URL and publication time, plus thumbnail and blurb when present. Busy leagues return 100 or more stories, quiet ones only a few.",
- "operationId": "bleacherreport-headlines",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns one Apple Podcasts show from the dataset by its numeric show `id`. The record has show and artist names, genres, country, episode count (`track_count`), release date, feed URL, artwork and Apple URL. An id not in the dataset returns 404.",
+ "operationId": "datasets-apple-podcasts-shows-item",
"parameters": [
{
- "description": "Bleacher Report section slug",
- "enum": [
- "nba",
- "nfl",
- "mlb",
- "nhl",
- "wnba",
- "college-football",
- "college-basketball",
- "womens-college-basketball",
- "world-football",
- "tennis",
- "golf",
- "nascar",
- "formula-1",
- "mma",
- "boxing",
- "wwe",
- "all-elite-wrestling",
- "olympics",
- "nba-rumors",
- "nba-draft",
- "nfl-rumors",
- "nfl-draft",
- "fantasy-football",
- "mlb-rumors",
- "mlb-prospects",
- "nhl-rumors",
- "nhl-draft",
- "recruiting",
- "college-basketball-recruiting",
- "bracketology"
- ],
- "in": "query",
- "name": "section",
+ "description": "Apple Podcasts numeric show id (e.g. 173001861)",
+ "in": "path",
+ "name": "id",
"required": true,
"type": "string",
- "x-example": "nba"
+ "x-example": "173001861"
}
],
"produces": [
@@ -293285,7 +365722,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.headlinesResponseDoc"
+ "$ref": "#/definitions/datasets.applePodcastsShowResponseDoc"
}
},
"400": {
@@ -293294,8 +365731,20 @@
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -293306,16 +365755,88 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Bleacher Report section headlines",
+ "summary": "Get an Apple Podcasts show from dataset",
"tags": [
- "Bleacher Report"
+ "Datasets"
]
}
},
- "/bleacherreport/news": {
+ "/datasets/apple-podcasts-shows/search": {
"get": {
- "description": "Returns around 180 Bleacher Report sports stories from roughly the last day or two, newest first, with no input needed. Each has a title, canonical article URL and publication time. Live blogs are excluded because they are not article pages.",
- "operationId": "bleacherreport-news",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Searches the crawled public Apple Podcasts show catalog stored in a search index. One row per show. Discovered from a country x genre x collection chart grid and a search-term sweep — not a full catalog of every Apple Podcasts show. Sort enum: `relevance`, `popularity`, `track_count_desc`, `release_desc`, `title_asc`. Billing: this search costs 1 credit per record returned, with a minimum of 2 (an empty result costs 2, a full page of 100 costs 100).",
+ "operationId": "datasets-apple-podcasts-shows-search",
+ "parameters": [
+ {
+ "description": "Full-text query over show title and artist name, max 256 characters",
+ "in": "query",
+ "name": "q",
+ "type": "string"
+ },
+ {
+ "description": "Exact primary-genre filter (e.g. Comedy, True Crime), max 128 characters",
+ "in": "query",
+ "name": "genre",
+ "type": "string"
+ },
+ {
+ "description": "Exact Apple Podcasts genre id filter (e.g. 1303 for Comedy), max 128 characters",
+ "in": "query",
+ "name": "genre_id",
+ "type": "string"
+ },
+ {
+ "description": "Exact storefront country filter (the crawl's discovery storefront, e.g. us, gb), max 128 characters",
+ "in": "query",
+ "name": "country",
+ "type": "string"
+ },
+ {
+ "description": "Exact explicitness filter as reported by Apple (e.g. explicit, cleaned), max 128 characters",
+ "in": "query",
+ "name": "explicitness",
+ "type": "string"
+ },
+ {
+ "description": "Exact crawl run-id filter, max 128 characters",
+ "in": "query",
+ "name": "run_id",
+ "type": "string"
+ },
+ {
+ "description": "Minimum episode count (track_count), 0 or greater",
+ "in": "query",
+ "name": "min_track_count",
+ "type": "integer"
+ },
+ {
+ "description": "Sort enum: relevance, popularity, track_count_desc, release_desc, title_asc",
+ "enum": [
+ "relevance",
+ "popularity",
+ "track_count_desc",
+ "release_desc",
+ "title_asc"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Page number, defaults to 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, defaults to 20 and maxes at 100; page * page_size must be <= 10000",
+ "in": "query",
+ "name": "page_size",
+ "type": "integer"
+ }
+ ],
"produces": [
"application/json"
],
@@ -293323,7 +365844,13 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.newsResponseDoc"
+ "$ref": "#/definitions/datasets.applePodcastsShowsSearchResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
}
},
"429": {
@@ -293332,8 +365859,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -293344,16 +365871,138 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Bleacher Report top stories",
+ "summary": "Search Apple Podcasts shows dataset",
"tags": [
- "Bleacher Report"
+ "Datasets"
]
}
},
- "/bleacherreport/sections": {
+ "/datasets/apps-charts/facets": {
"get": {
- "description": "Lists the 30 Bleacher Report sections that `bleacherreport-headlines` accepts: 18 league and sport hubs such as `nfl`, `tennis` and `olympics`, plus 12 sub-hubs such as `nba-draft` and `bracketology`. Each has a `slug`, display `name` and landing-page `url`. Team pages, scores, standings and MotoGP are not included.",
- "operationId": "bleacherreport-sections",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns up to 50 chart-rank facet buckets ordered by count, using the same filters as `datasets_apps_charts_search`. Page and page_size do not change the aggregation. A snapshot_date facet without date spans all history; other facets use the search date scope, including the latest-snapshot default when applicable and full history for a single app or date_desc sort. Facet enum: `store`, `collection`, `chart_type`, `platform`, `category`, `country`, `app_id`, `snapshot_date`, `free`. Store enum: `ios`, `android`. Chart type enum: `top_free`, `top_paid`, `top_grossing`, `new`. Platform enum: `phone`, `pad`, `mac`.",
+ "operationId": "datasets-apps-charts-facets",
+ "parameters": [
+ {
+ "description": "Facet field",
+ "enum": [
+ "store",
+ "collection",
+ "chart_type",
+ "platform",
+ "category",
+ "country",
+ "app_id",
+ "snapshot_date",
+ "free"
+ ],
+ "in": "query",
+ "name": "facet",
+ "required": true,
+ "type": "string",
+ "x-example": "collection"
+ },
+ {
+ "description": "Full-text query",
+ "in": "query",
+ "name": "q",
+ "type": "string"
+ },
+ {
+ "description": "Store enum: ios, android",
+ "enum": [
+ "ios",
+ "android"
+ ],
+ "in": "query",
+ "name": "store",
+ "type": "string"
+ },
+ {
+ "description": "Raw store collection id filter (e.g. topgrossingapplications, GROSSING), max 128 characters",
+ "in": "query",
+ "name": "collection",
+ "type": "string"
+ },
+ {
+ "description": "Chart type enum: top_free, top_paid, top_grossing, new",
+ "enum": [
+ "top_free",
+ "top_paid",
+ "top_grossing",
+ "new"
+ ],
+ "in": "query",
+ "name": "chart_type",
+ "type": "string"
+ },
+ {
+ "description": "Apple device platform enum (iOS charts only): phone, pad, mac",
+ "enum": [
+ "phone",
+ "pad",
+ "mac"
+ ],
+ "in": "query",
+ "name": "platform",
+ "type": "string"
+ },
+ {
+ "description": "Exact store category",
+ "in": "query",
+ "name": "category",
+ "type": "string"
+ },
+ {
+ "description": "Storefront country",
+ "in": "query",
+ "name": "country",
+ "type": "string"
+ },
+ {
+ "description": "Exact store app id",
+ "in": "query",
+ "name": "app_id",
+ "type": "string"
+ },
+ {
+ "description": "Chart snapshot date, yyyy-MM-dd",
+ "in": "query",
+ "name": "date",
+ "type": "string"
+ },
+ {
+ "description": "Filter by free/paid status",
+ "in": "query",
+ "name": "free",
+ "type": "boolean"
+ },
+ {
+ "description": "Validated search sort; bucket order stays count-desc, and time-series date_desc keeps its search history scope",
+ "enum": [
+ "rank",
+ "rank_desc",
+ "date_desc"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Result page, 1-based",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, default 20 and max 100",
+ "in": "query",
+ "name": "page_size",
+ "type": "integer"
+ }
+ ],
"produces": [
"application/json"
],
@@ -293361,7 +366010,13 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.sectionsResponseDoc"
+ "$ref": "#/definitions/datasets.datasetFacetResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
}
},
"429": {
@@ -293370,8 +366025,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -293382,24 +366037,26 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Bleacher Report sections",
+ "summary": "Discover values in the app-charts dataset",
"tags": [
- "Bleacher Report"
+ "Datasets"
]
}
},
- "/bloomberg/article": {
+ "/datasets/apps-charts/items/{chart_uid}": {
"get": {
- "description": "Returns a public Bloomberg article by `url`: title, description, publication and update times, section, categories, authors, image, `is_premium` and the body `paragraphs` in order. Subscriber-only articles that Bloomberg shows as a truncated preview return `403`, an article with no body returns `503`, and non-article or non-Bloomberg URLs return `400`.",
- "operationId": "bloomberg-article",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Retrieves one daily App Store or Google Play chart row by `chart_uid` from `datasets_apps_charts_search`.",
+ "operationId": "datasets-apps-charts-item",
"parameters": [
{
- "description": "Canonical Bloomberg article URL",
- "in": "query",
- "name": "url",
+ "description": "Exact chart_uid from a search result",
+ "in": "path",
+ "name": "chart_uid",
"required": true,
- "type": "string",
- "x-example": "https://www.bloomberg.com/news/articles/2026-09-20/example-slug"
+ "type": "string"
}
],
"produces": [
@@ -293409,7 +366066,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bloomberg.articleResponseDoc"
+ "$ref": "#/definitions/datasets.appChartDatasetItemResponseDoc"
}
},
"400": {
@@ -293418,12 +366075,6 @@
"$ref": "#/definitions/app.Response"
}
},
- "403": {
- "description": "Forbidden",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"404": {
"description": "Not Found",
"schema": {
@@ -293436,8 +366087,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -293448,24 +366099,106 @@
"ApiKeyAuth": []
}
],
- "summary": "Get a Bloomberg article's content",
+ "summary": "Get one stored app-chart ranking",
"tags": [
- "Bloomberg"
+ "Datasets"
]
}
},
- "/bloomberg/author": {
+ "/datasets/apps-charts/search": {
"get": {
- "description": "Returns a Bloomberg author's profile from `url`, a canonical `https://www.bloomberg.com/authors//` address, where `` is an opaque token Bloomberg assigns and cannot be guessed. The response has `name`, `title`, `bio` and recent content with title, URL, `type`, `section`, full `byline` and publication and update times.",
- "operationId": "bloomberg-author",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Searches daily top-chart snapshots from the iOS App Store and Google Play (one document per chart × snapshot × rank). With no `date` the latest snapshot is returned (today's chart); pair `app_id` with `sort=date_desc` for an app's rank over time. Store enum: `ios`, `android`. Chart type enum: `top_free`, `top_paid`, `top_grossing`, `new`. Platform enum (Apple device platforms, ios charts only): `phone`, `pad`, `mac`. Sort enum: `rank`, `rank_desc`, `date_desc`. Billing: this search costs 1 credit per record returned, with a minimum of 2 (an empty result costs 2, a full page of 100 costs 100).",
+ "operationId": "datasets-apps-charts-search",
"parameters": [
{
- "description": "Canonical Bloomberg author URL",
+ "description": "Full-text query over chart-entry title and developer, max 256 characters",
"in": "query",
- "name": "url",
- "required": true,
- "type": "string",
- "x-example": "https://www.bloomberg.com/authors/AXSztklFffk/bernard-goyder"
+ "name": "q",
+ "type": "string"
+ },
+ {
+ "description": "Store enum: ios, android",
+ "enum": [
+ "ios",
+ "android"
+ ],
+ "in": "query",
+ "name": "store",
+ "type": "string"
+ },
+ {
+ "description": "Chart enum: top_free, top_paid, top_grossing, new",
+ "enum": [
+ "top_free",
+ "top_paid",
+ "top_grossing",
+ "new"
+ ],
+ "in": "query",
+ "name": "chart_type",
+ "type": "string"
+ },
+ {
+ "description": "Apple device-platform filter, iOS charts only; see platform enum above",
+ "in": "query",
+ "name": "platform",
+ "type": "string"
+ },
+ {
+ "description": "Raw store collection id filter (e.g. topgrossingapplications, GROSSING), max 128 characters",
+ "in": "query",
+ "name": "collection",
+ "type": "string"
+ },
+ {
+ "description": "Store category/genre filter, max 128 characters; empty for the overall charts",
+ "in": "query",
+ "name": "category",
+ "type": "string"
+ },
+ {
+ "description": "Exact storefront country filter, max 128 characters",
+ "in": "query",
+ "name": "country",
+ "type": "string"
+ },
+ {
+ "description": "Exact app filter — iOS numeric track id or Android package; pair with sort=date_desc for rank history",
+ "in": "query",
+ "name": "app_id",
+ "type": "string"
+ },
+ {
+ "description": "Snapshot date filter yyyy-MM-dd; defaults to the latest snapshot",
+ "in": "query",
+ "name": "date",
+ "type": "string"
+ },
+ {
+ "description": "Sort enum: rank, rank_desc, date_desc",
+ "enum": [
+ "rank",
+ "rank_desc",
+ "date_desc"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Page number, defaults to 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, defaults to 20 and maxes at 100; page * page_size must be <= 10000",
+ "in": "query",
+ "name": "page_size",
+ "type": "integer"
}
],
"produces": [
@@ -293475,7 +366208,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bloomberg.authorResponseDoc"
+ "$ref": "#/definitions/datasets.chartsSearchResponseDoc"
}
},
"400": {
@@ -293484,20 +366217,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"429": {
"description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -293508,16 +366235,93 @@
"ApiKeyAuth": []
}
],
- "summary": "Get a Bloomberg author's profile",
+ "summary": "Search the app-charts dataset",
"tags": [
- "Bloomberg"
+ "Datasets"
]
}
},
- "/bloomberg/categories": {
+ "/datasets/apps-reviews/facets": {
"get": {
- "description": "Lists Bloomberg's public editorial navigation categories discovered from its embedded navigation state. Each returned section slug is accepted by /bloomberg/headlines; product, account, newsletter, and sponsored-content links are excluded.",
- "operationId": "bloomberg-categories",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns up to 50 app-review facet buckets ordered by count, using the same filters as `datasets_apps_reviews_search`. Page and page_size do not change the aggregation. Facet enum: `store`, `app_id`, `country`, `score`.",
+ "operationId": "datasets-apps-reviews-facets",
+ "parameters": [
+ {
+ "description": "Facet field",
+ "enum": [
+ "store",
+ "app_id",
+ "country",
+ "score"
+ ],
+ "in": "query",
+ "name": "facet",
+ "required": true,
+ "type": "string",
+ "x-example": "store"
+ },
+ {
+ "description": "Full-text review query",
+ "in": "query",
+ "name": "q",
+ "type": "string"
+ },
+ {
+ "description": "Store filter: ios or android",
+ "enum": [
+ "ios",
+ "android"
+ ],
+ "in": "query",
+ "name": "store",
+ "type": "string"
+ },
+ {
+ "description": "Exact store app id",
+ "in": "query",
+ "name": "app_id",
+ "type": "string"
+ },
+ {
+ "description": "Storefront country",
+ "in": "query",
+ "name": "country",
+ "type": "string"
+ },
+ {
+ "description": "Minimum star rating, 1 through 5",
+ "in": "query",
+ "name": "min_score",
+ "type": "integer"
+ },
+ {
+ "description": "Validated search sort; bucket order stays count-desc, and time-series date_desc keeps its search history scope",
+ "enum": [
+ "recent",
+ "score_desc",
+ "score_asc",
+ "helpful_desc"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Result page, 1-based",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, default 20 and max 100",
+ "in": "query",
+ "name": "page_size",
+ "type": "integer"
+ }
+ ],
"produces": [
"application/json"
],
@@ -293525,7 +366329,13 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bloomberg.categoriesResponseDoc"
+ "$ref": "#/definitions/datasets.datasetFacetResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
}
},
"429": {
@@ -293534,8 +366344,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -293546,24 +366356,26 @@
"ApiKeyAuth": []
}
],
- "summary": "List Bloomberg editorial categories",
+ "summary": "Discover values in the app-reviews dataset",
"tags": [
- "Bloomberg"
+ "Datasets"
]
}
},
- "/bloomberg/headlines": {
+ "/datasets/apps-reviews/items/{review_uid}": {
"get": {
- "description": "Returns current Bloomberg story cards for one editorial section. `section` is required and takes a slug from the Bloomberg categories list, such as `markets`, `economics` or `politics`. Each item has a title and canonical URL, and may also carry a description, image and publication time.",
- "operationId": "bloomberg-headlines",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Retrieves one public App Store or Google Play review by `review_uid` from `datasets_apps_reviews_search`.",
+ "operationId": "datasets-apps-reviews-item",
"parameters": [
{
- "description": "Section slug from /bloomberg/categories",
- "in": "query",
- "name": "section",
+ "description": "Exact review_uid from a search result",
+ "in": "path",
+ "name": "review_uid",
"required": true,
- "type": "string",
- "x-example": "markets"
+ "type": "string"
}
],
"produces": [
@@ -293573,7 +366385,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bloomberg.headlinesResponseDoc"
+ "$ref": "#/definitions/datasets.appReviewDatasetItemResponseDoc"
}
},
"400": {
@@ -293582,14 +366394,20 @@
"$ref": "#/definitions/app.Response"
}
},
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
"429": {
"description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -293600,16 +366418,79 @@
"ApiKeyAuth": []
}
],
- "summary": "Get the latest stories in a Bloomberg section",
+ "summary": "Get one stored app review",
"tags": [
- "Bloomberg"
+ "Datasets"
]
}
},
- "/bloomberg/news": {
+ "/datasets/apps-reviews/search": {
"get": {
- "description": "Returns Bloomberg's current news feed: the newest stories across all sections, each with its title, canonical URL, and publication time.",
- "operationId": "bloomberg-news",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Searches user reviews from the iOS App Store and Google Play (one document per review). Store enum: `ios`, `android`. Sort enum: `recent`, `score_desc`, `score_asc`, `helpful_desc`. Billing: this search costs 1 credit per record returned, with a minimum of 2 (an empty result costs 2, a full page of 100 costs 100).",
+ "operationId": "datasets-apps-reviews-search",
+ "parameters": [
+ {
+ "description": "Full-text query over review text, title and author, max 256 characters",
+ "in": "query",
+ "name": "q",
+ "type": "string"
+ },
+ {
+ "description": "Store enum: ios, android",
+ "enum": [
+ "ios",
+ "android"
+ ],
+ "in": "query",
+ "name": "store",
+ "type": "string"
+ },
+ {
+ "description": "Exact app filter — iOS numeric track id or Android package, max 128 characters",
+ "in": "query",
+ "name": "app_id",
+ "type": "string"
+ },
+ {
+ "description": "Exact storefront country filter, max 128 characters",
+ "in": "query",
+ "name": "country",
+ "type": "string"
+ },
+ {
+ "description": "Minimum star rating, 1 through 5",
+ "in": "query",
+ "name": "min_score",
+ "type": "integer"
+ },
+ {
+ "description": "Sort enum: recent, score_desc, score_asc, helpful_desc",
+ "enum": [
+ "recent",
+ "score_desc",
+ "score_asc",
+ "helpful_desc"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Page number, defaults to 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, defaults to 20 and maxes at 100; page * page_size must be <= 10000",
+ "in": "query",
+ "name": "page_size",
+ "type": "integer"
+ }
+ ],
"produces": [
"application/json"
],
@@ -293617,7 +366498,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bloomberg.newsResponseDoc"
+ "$ref": "#/definitions/datasets.reviewsSearchResponseDoc"
}
},
"400": {
@@ -293632,8 +366513,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -293644,16 +366525,139 @@
"ApiKeyAuth": []
}
],
- "summary": "Get the latest Bloomberg stories",
+ "summary": "Search the app-reviews dataset",
"tags": [
- "Bloomberg"
+ "Datasets"
]
}
},
- "/bloomberg/news-sitemaps": {
+ "/datasets/apps/facets": {
"get": {
- "description": "Lists Bloomberg's monthly news sitemaps, each with its `url` and `last_modified` date. Use them to find historical news beyond the rolling latest feed at `/bloomberg/news`. Takes no parameters.",
- "operationId": "bloomberg-news-sitemaps",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns up to 50 allowlisted app-facet buckets ordered by count, using the same filters as `datasets_apps_search`. Page and page_size do not change the aggregation. Facet enum: `store`, `platforms`, `category`, `country`, `developer`, `free`. Store enum: `ios`, `android`, `both`. Platform enum: `phone`, `pad`, `tablet`, `mac`, `tv`, `chromebook`, `watch`, `vision`, `xr`, `car`, `windows`.",
+ "operationId": "datasets-apps-facets",
+ "parameters": [
+ {
+ "description": "Facet field",
+ "enum": [
+ "store",
+ "platforms",
+ "category",
+ "country",
+ "developer",
+ "free"
+ ],
+ "in": "query",
+ "name": "facet",
+ "required": true,
+ "type": "string",
+ "x-example": "category"
+ },
+ {
+ "description": "Full-text query over app title, developer and category, max 256 characters",
+ "in": "query",
+ "name": "q",
+ "type": "string"
+ },
+ {
+ "description": "Store filter: ios, android, both",
+ "enum": [
+ "ios",
+ "android",
+ "both"
+ ],
+ "in": "query",
+ "name": "store",
+ "type": "string"
+ },
+ {
+ "collectionFormat": "csv",
+ "description": "Repeatable device-platform filter",
+ "in": "query",
+ "items": {
+ "enum": [
+ "phone",
+ "pad",
+ "tablet",
+ "mac",
+ "tv",
+ "chromebook",
+ "watch",
+ "vision",
+ "xr",
+ "car",
+ "windows"
+ ],
+ "type": "string"
+ },
+ "name": "platforms",
+ "type": "array"
+ },
+ {
+ "description": "Exact app-store category filter, max 128 characters",
+ "in": "query",
+ "name": "category",
+ "type": "string"
+ },
+ {
+ "description": "Exact storefront country filter, max 128 characters",
+ "in": "query",
+ "name": "country",
+ "type": "string"
+ },
+ {
+ "description": "Exact developer/publisher name filter, max 128 characters",
+ "in": "query",
+ "name": "developer",
+ "type": "string"
+ },
+ {
+ "description": "Filter by free/paid status",
+ "in": "query",
+ "name": "free",
+ "type": "boolean"
+ },
+ {
+ "description": "Minimum store rating, 0 through 5",
+ "in": "query",
+ "name": "min_rating",
+ "type": "number"
+ },
+ {
+ "description": "Minimum ratings/review count, 0 or greater",
+ "in": "query",
+ "name": "min_reviews",
+ "type": "integer"
+ },
+ {
+ "description": "Validated search sort; bucket order stays count-desc, and time-series date_desc keeps its search history scope",
+ "enum": [
+ "relevance",
+ "rating_desc",
+ "reviews_desc",
+ "installs_desc",
+ "updated_at_desc",
+ "popularity_desc"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Result page, 1-based",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, default 20 and max 100",
+ "in": "query",
+ "name": "page_size",
+ "type": "integer"
+ }
+ ],
"produces": [
"application/json"
],
@@ -293661,7 +366665,13 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bloomberg.newsSitemapsResponseDoc"
+ "$ref": "#/definitions/datasets.datasetFacetResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
}
},
"429": {
@@ -293670,8 +366680,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -293682,39 +366692,25 @@
"ApiKeyAuth": []
}
],
- "summary": "List Bloomberg monthly news sitemaps",
+ "summary": "Discover values in the apps dataset",
"tags": [
- "Bloomberg"
+ "Datasets"
]
}
},
- "/bluesky/author-feed": {
+ "/datasets/apps/items/{app_uid}": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns a page of a Bluesky account's posts, newest first, including text, engagement counts, and any attached images/link card/quoted post.",
- "operationId": "bluesky-author-feed",
+ "description": "Retrieves one iOS App Store or Google Play app by its exact `app_uid`, as returned by `datasets_apps_search`.",
+ "operationId": "datasets-apps-item",
"parameters": [
{
- "description": "A handle (e.g. bsky.app) or DID",
- "in": "query",
- "name": "actor",
+ "description": "Exact app_uid from a search result, e.g. ios:123456789",
+ "in": "path",
+ "name": "app_uid",
"required": true,
- "type": "string",
- "x-example": "bsky.app"
- },
- {
- "description": "Page size, 1-100",
- "in": "query",
- "name": "limit",
- "type": "integer",
- "x-example": 25
- },
- {
- "description": "Pagination cursor from a previous response's cursor field",
- "in": "query",
- "name": "cursor",
"type": "string"
}
],
@@ -293725,7 +366721,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bluesky.authorFeedResponseDoc"
+ "$ref": "#/definitions/datasets.appsDatasetItemResponseDoc"
}
},
"400": {
@@ -293751,12 +366747,6 @@
"schema": {
"$ref": "#/definitions/app.Response"
}
- },
- "503": {
- "description": "Service Unavailable",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
}
},
"security": [
@@ -293764,40 +366754,121 @@
"ApiKeyAuth": []
}
],
- "summary": "A Bluesky account's posts",
+ "summary": "Get one stored app record",
"tags": [
- "Bluesky"
+ "Datasets"
]
}
},
- "/bluesky/followers": {
+ "/datasets/apps/search": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns a page of a Bluesky account's followers. `actor` is required and is a handle such as `bsky.app` or a DID. `limit` is 1 to 100 (default 25); pass the returned `cursor` back to continue. Each follower has `did`, `handle`, `display_name`, `description`, `avatar_url` and `created_at`, and `subject` describes the account itself.",
- "operationId": "bluesky-followers",
+ "description": "Searches resolved iOS App Store and Google Play apps stored in a search index. Store enum: `ios`, `android`, `both`. Platform enum: `phone`, `pad`, `tablet`, `mac`, `tv`, `chromebook`, `watch`, `vision`, `xr`, `car`, `windows` (iOS device values: phone, pad, mac, tv, watch, vision; Android values: phone, tablet, tv, chromebook, watch, xr, car, windows). Sort enum: `relevance`, `rating_desc`, `reviews_desc`, `installs_desc`, `updated_at_desc`, `popularity_desc`. Billing: this search costs 1 credit per record returned, with a minimum of 2 (an empty result costs 2, a full page of 100 costs 100).",
+ "operationId": "datasets-apps-search",
"parameters": [
{
- "description": "A handle (e.g. bsky.app) or DID",
+ "description": "Full-text query over title, developer and category, max 256 characters",
"in": "query",
- "name": "actor",
- "required": true,
- "type": "string",
- "x-example": "bsky.app"
+ "name": "q",
+ "type": "string"
},
{
- "description": "Page size, 1-100",
+ "description": "Store enum: ios, android, both",
+ "enum": [
+ "ios",
+ "android",
+ "both"
+ ],
"in": "query",
- "name": "limit",
- "type": "integer",
- "x-example": 25
+ "name": "store",
+ "type": "string"
},
{
- "description": "Pagination cursor from a previous response's cursor field",
+ "collectionFormat": "csv",
+ "description": "Repeatable device-platform filter (OR); iOS and Android use the values described above",
"in": "query",
- "name": "cursor",
+ "items": {
+ "enum": [
+ "phone",
+ "pad",
+ "tablet",
+ "mac",
+ "tv",
+ "chromebook",
+ "watch",
+ "vision",
+ "xr",
+ "car",
+ "windows"
+ ],
+ "type": "string"
+ },
+ "name": "platforms",
+ "type": "array"
+ },
+ {
+ "description": "Exact app-store category filter, max 128 characters",
+ "in": "query",
+ "name": "category",
+ "type": "string"
+ },
+ {
+ "description": "Exact storefront country filter, max 128 characters",
+ "in": "query",
+ "name": "country",
"type": "string"
+ },
+ {
+ "description": "Exact developer/publisher name filter, max 128 characters",
+ "in": "query",
+ "name": "developer",
+ "type": "string"
+ },
+ {
+ "description": "Filter by price; true keeps only free apps, false only paid",
+ "in": "query",
+ "name": "free",
+ "type": "boolean"
+ },
+ {
+ "description": "Minimum store rating, 0 through 5",
+ "in": "query",
+ "name": "min_rating",
+ "type": "number"
+ },
+ {
+ "description": "Minimum ratings/review count",
+ "in": "query",
+ "name": "min_reviews",
+ "type": "integer"
+ },
+ {
+ "description": "Sort enum: relevance, rating_desc, reviews_desc, installs_desc, updated_at_desc, popularity_desc",
+ "enum": [
+ "relevance",
+ "rating_desc",
+ "reviews_desc",
+ "installs_desc",
+ "updated_at_desc",
+ "popularity_desc"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Page number, defaults to 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, defaults to 20 and maxes at 100; page * page_size must be <= 10000",
+ "in": "query",
+ "name": "page_size",
+ "type": "integer"
}
],
"produces": [
@@ -293807,7 +366878,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bluesky.followersResponseDoc"
+ "$ref": "#/definitions/datasets.appsSearchResponseDoc"
}
},
"400": {
@@ -293816,12 +366887,6 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"429": {
"description": "Too Many Requests",
"schema": {
@@ -293833,12 +366898,6 @@
"schema": {
"$ref": "#/definitions/app.Response"
}
- },
- "503": {
- "description": "Service Unavailable",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
}
},
"security": [
@@ -293846,39 +366905,158 @@
"ApiKeyAuth": []
}
],
- "summary": "A Bluesky account's followers",
+ "summary": "Search the apps-intelligence dataset",
"tags": [
- "Bluesky"
+ "Datasets"
]
}
},
- "/bluesky/follows": {
+ "/datasets/bbb-businesses/facets": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns a page of the accounts a Bluesky account follows.",
- "operationId": "bluesky-follows",
+ "description": "Returns the values of one field of the BBB businesses index (dataset id enum value `bbb-businesses`) with the number of records for each, honoring the same filters as search. Facet enum: `country`, `address_country`, `category`, `state`, `city`, `rating`, `accredited`, `entity_type`, `run_id`, `alert_title`, `has_alerts`. The `country` facet is parsed from profile URLs; `address_country` is derived from business addresses. Both enums are `us`, `ca`. Values come most frequent first, 50 per page by default; page through all of them with `limit` (up to 1000) and `offset` while `has_more` is true. The response also returns `total` (records matching the filters), `total_values` (distinct values) and `missing` (records with no value for the facet), so the counts can be checked against the total. Values of the `accredited` and `has_alerts` facets are `1` (true) and `0` (false). Use it to split a search that would exceed 10,000 records: `facet=state` lists every state and province, and `facet=city` with a `state` filter lists every city in it.",
+ "operationId": "datasets-bbb-businesses-facets",
"parameters": [
{
- "description": "A handle (e.g. bsky.app) or DID",
+ "description": "Facet enum: country, address_country, category, state, city, rating, accredited, entity_type, run_id, alert_title, has_alerts",
+ "enum": [
+ "country",
+ "address_country",
+ "category",
+ "state",
+ "city",
+ "rating",
+ "accredited",
+ "entity_type",
+ "run_id",
+ "alert_title",
+ "has_alerts"
+ ],
"in": "query",
- "name": "actor",
+ "name": "facet",
"required": true,
"type": "string",
- "x-example": "bsky.app"
+ "x-example": "category"
},
{
- "description": "Page size, 1-100",
+ "description": "Values per page, 1 to 1000, defaults to 50",
"in": "query",
"name": "limit",
- "type": "integer",
- "x-example": 25
+ "type": "integer"
},
{
- "description": "Pagination cursor from a previous response's cursor field",
+ "description": "Values to skip, 0 or greater, defaults to 0; offset + limit must be <= 10000. Request offset + limit next while has_more is true",
"in": "query",
- "name": "cursor",
+ "name": "offset",
+ "type": "integer"
+ },
+ {
+ "description": "Full-text match on the business name/category, max 256 characters",
+ "in": "query",
+ "name": "q",
+ "type": "string"
+ },
+ {
+ "description": "Exact category filter, e.g. Plumber (case-sensitive). Use the values returned by facet=category",
+ "in": "query",
+ "name": "category",
+ "type": "string"
+ },
+ {
+ "description": "Country filter, parsed from the profile URL (case-insensitive). Enum: us, ca",
+ "enum": [
+ "us",
+ "ca"
+ ],
+ "in": "query",
+ "name": "country",
+ "type": "string"
+ },
+ {
+ "description": "Country filter derived from the business address, separate from the profile-URL country (case-insensitive). Enum: us, ca",
+ "enum": [
+ "us",
+ "ca"
+ ],
+ "in": "query",
+ "name": "address_country",
+ "type": "string"
+ },
+ {
+ "description": "Exact 2-letter state or province code as in the profile URL, e.g. tx (case-insensitive). Use the values returned by facet=state",
+ "in": "query",
+ "name": "state",
+ "type": "string"
+ },
+ {
+ "description": "Exact city slug as in the profile URL, e.g. san-diego (case-insensitive). Use the values returned by facet=city with a state filter",
+ "in": "query",
+ "name": "city",
+ "type": "string"
+ },
+ {
+ "description": "Exact letter-grade rating filter. Enum: A+, A, A-, B+, B, B-, C+, C, C-, D+, D, D-, F",
+ "enum": [
+ "A+",
+ "A",
+ "A-",
+ "B+",
+ "B",
+ "B-",
+ "C+",
+ "C",
+ "C-",
+ "D+",
+ "D",
+ "D-",
+ "F"
+ ],
+ "in": "query",
+ "name": "rating",
+ "type": "string"
+ },
+ {
+ "description": "Numeric floor against the denormalized rating rank (A+=12 down to F=0), e.g. 10 for 'A- and above'",
+ "in": "query",
+ "name": "min_rating_rank",
+ "type": "integer"
+ },
+ {
+ "description": "Accreditation filter; true keeps only accredited businesses, false only the others",
+ "in": "query",
+ "name": "accredited",
+ "type": "boolean"
+ },
+ {
+ "description": "BBB-alert filter; true keeps businesses whose profile carries at least one BBB alert, false keeps refreshed records with none",
+ "in": "query",
+ "name": "has_alerts",
+ "type": "boolean"
+ },
+ {
+ "description": "Exact BBB alert title filter, e.g. Pattern of Complaint (case-sensitive). Use the values returned by facet=alert_title",
+ "in": "query",
+ "name": "alert_title",
+ "type": "string"
+ },
+ {
+ "description": "Floor against total_complaints (BBB's three-year complaint count), 0 or greater",
+ "in": "query",
+ "name": "min_complaints",
+ "type": "integer"
+ },
+ {
+ "description": "Exact entity-type filter, e.g. Limited Liability Company (LLC) (case-sensitive). Use the values returned by facet=entity_type",
+ "in": "query",
+ "name": "entity_type",
+ "type": "string"
+ },
+ {
+ "description": "Exact crawl run id filter, e.g. bbb-20260906. Use the values returned by facet=run_id",
+ "in": "query",
+ "name": "run_id",
"type": "string"
}
],
@@ -293889,7 +367067,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bluesky.followsResponseDoc"
+ "$ref": "#/definitions/datasets.bbbBusinessesFacetResponseDoc"
}
},
"400": {
@@ -293898,12 +367076,6 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"429": {
"description": "Too Many Requests",
"schema": {
@@ -293915,12 +367087,6 @@
"schema": {
"$ref": "#/definitions/app.Response"
}
- },
- "503": {
- "description": "Service Unavailable",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
}
},
"security": [
@@ -293928,37 +367094,27 @@
"ApiKeyAuth": []
}
],
- "summary": "Accounts a Bluesky account follows",
+ "summary": "Facet the BBB businesses dataset",
"tags": [
- "Bluesky"
+ "Datasets"
]
}
},
- "/bluesky/post-likes": {
+ "/datasets/bbb-businesses/items/{id}": {
"get": {
- "description": "Lists the accounts that liked a Bluesky post, identified by its `at://` post `uri`, which is required. `limit` defaults to 25 and is capped at 100; pass the returned `cursor` back for the next page. Each actor has `did`, `handle`, `display_name`, `description`, `avatar_url` and `created_at`.",
- "operationId": "bluesky-post-likes",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns one business by id from dataset id enum value `bbb-businesses`. Returns 404 when the business is not in the index.",
+ "operationId": "datasets-bbb-businesses-item",
"parameters": [
{
- "description": "The post's at:// URI",
- "in": "query",
- "name": "uri",
+ "description": "Business id (the - slug from the profile URL), e.g. 0825-1000223803",
+ "in": "path",
+ "name": "id",
"required": true,
"type": "string",
- "x-example": "at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.post/3l6oveex3ii2l"
- },
- {
- "default": 25,
- "description": "Page size, 1-100",
- "in": "query",
- "name": "limit",
- "type": "integer"
- },
- {
- "description": "Pagination cursor",
- "in": "query",
- "name": "cursor",
- "type": "string"
+ "x-example": "0825-1000223803"
}
],
"produces": [
@@ -293968,7 +367124,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bluesky.postActorsResponseDoc"
+ "$ref": "#/definitions/datasets.bbbBusinessResponseDoc"
}
},
"400": {
@@ -293994,12 +367150,6 @@
"schema": {
"$ref": "#/definitions/app.Response"
}
- },
- "503": {
- "description": "Service Unavailable",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
}
},
"security": [
@@ -294007,37 +367157,153 @@
"ApiKeyAuth": []
}
],
- "summary": "List actors who liked a Bluesky post",
+ "summary": "Get a business from the BBB businesses dataset",
"tags": [
- "Bluesky"
+ "Datasets"
]
}
},
- "/bluesky/post-quotes": {
+ "/datasets/bbb-businesses/search": {
"get": {
- "description": "Lists the Bluesky posts that quote a given post, identified by its `at://` post `uri`, which is required. `limit` defaults to 25 and is capped at 100; pass the returned `cursor` back for the next page. Each post has its `text`, `author`, `created_at`, `langs`, like, quote, reply and repost counts, `images` and `external` link card.",
- "operationId": "bluesky-post-quotes",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Searches the BBB (Better Business Bureau) businesses index (dataset id enum value `bbb-businesses`) — business profiles crawled from bbb.org's own search/category-browse pages: computed A+-F letter-grade rating, paid-accreditation status, category, contact info, business details, operating hours, and products/services. Complaints, full reviews, and the full \"reasons for rating\"/service-area detail are NOT embedded here; each record instead carries complaints_url/reviews_url/more_info_url pointing at the live bbb-business-complaints/bbb-business-reviews/bbb-business-more-info endpoints for on-demand lookup. rating enum: `A+`, `A`, `A-`, `B+`, `B`, `B-`, `C+`, `C`, `C-`, `D+`, `D`, `D-`, `F`. Each record also stores BBB's complaint and review counts (total_complaints and related fields) and the BBB alerts on the profile (has_alerts, alert_titles, alerts[] with full text), so businesses with complaints or with a given alert can be listed without calling the live endpoints; these fields are filled as records are re-crawled and are absent on a record not refreshed since they were added. `country` is parsed from the profile URL; `address_country` is derived separately from the business address. Both enums are `us`, `ca`. sort enum: `relevance`, `rating_desc`, `rating_asc`, `accredited_first`, `name_asc`, `years_in_business_desc`, `complaints_desc`. A query returns at most 10,000 records; to read more, split it with the values and counts from the facets endpoint (for example one request per state, then per city) so each part stays under that limit. Billing: this search costs 1 credit per record returned, with a minimum of 2 (an empty result costs 2, a full page of 100 costs 100); the item and facets endpoints cost 1.",
+ "operationId": "datasets-bbb-businesses-search",
"parameters": [
{
- "description": "The quoted post's at:// URI",
+ "description": "Full-text match on the business name/category, max 256 characters",
"in": "query",
- "name": "uri",
- "required": true,
- "type": "string",
- "x-example": "at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.post/3l6oveex3ii2l"
+ "name": "q",
+ "type": "string"
},
{
- "default": 25,
- "description": "Page size, 1-100",
+ "description": "Exact category filter, e.g. Plumber (case-sensitive). Use the values returned by facets?facet=category",
"in": "query",
- "name": "limit",
+ "name": "category",
+ "type": "string"
+ },
+ {
+ "description": "Country filter, parsed from the profile URL (case-insensitive). Enum: us, ca",
+ "enum": [
+ "us",
+ "ca"
+ ],
+ "in": "query",
+ "name": "country",
+ "type": "string"
+ },
+ {
+ "description": "Country filter derived from the business address, separate from the profile-URL country (case-insensitive). Enum: us, ca",
+ "enum": [
+ "us",
+ "ca"
+ ],
+ "in": "query",
+ "name": "address_country",
+ "type": "string"
+ },
+ {
+ "description": "Exact 2-letter state or province code as in the profile URL, e.g. tx (case-insensitive). Use the values returned by facets?facet=state",
+ "in": "query",
+ "name": "state",
+ "type": "string"
+ },
+ {
+ "description": "Exact city slug as in the profile URL, e.g. san-diego (case-insensitive). Use the values returned by facets?facet=city with a state filter; the same slug exists in several states, so send state with it",
+ "in": "query",
+ "name": "city",
+ "type": "string"
+ },
+ {
+ "description": "Exact letter-grade rating filter. Enum: A+, A, A-, B+, B, B-, C+, C, C-, D+, D, D-, F",
+ "enum": [
+ "A+",
+ "A",
+ "A-",
+ "B+",
+ "B",
+ "B-",
+ "C+",
+ "C",
+ "C-",
+ "D+",
+ "D",
+ "D-",
+ "F"
+ ],
+ "in": "query",
+ "name": "rating",
+ "type": "string"
+ },
+ {
+ "description": "Numeric floor against the denormalized rating rank (A+=12 down to F=0), e.g. 10 for 'A- and above'",
+ "in": "query",
+ "name": "min_rating_rank",
"type": "integer"
},
{
- "description": "Pagination cursor",
+ "description": "Accreditation filter; true keeps only accredited businesses, false only the others",
"in": "query",
- "name": "cursor",
+ "name": "accredited",
+ "type": "boolean"
+ },
+ {
+ "description": "BBB-alert filter; true keeps businesses whose profile carries at least one BBB alert, false keeps refreshed records with none",
+ "in": "query",
+ "name": "has_alerts",
+ "type": "boolean"
+ },
+ {
+ "description": "Exact BBB alert title filter, e.g. Pattern of Complaint. Use the values returned by facets?facet=alert_title",
+ "in": "query",
+ "name": "alert_title",
+ "type": "string"
+ },
+ {
+ "description": "Floor against total_complaints (BBB's three-year complaint count), 0 or greater",
+ "in": "query",
+ "name": "min_complaints",
+ "type": "integer"
+ },
+ {
+ "description": "Exact entity-type filter, e.g. Limited Liability Company (LLC) (case-sensitive). Use the values returned by facets?facet=entity_type",
+ "in": "query",
+ "name": "entity_type",
+ "type": "string"
+ },
+ {
+ "description": "Exact crawl run id filter, e.g. bbb-20260906. Use the values returned by facets?facet=run_id",
+ "in": "query",
+ "name": "run_id",
"type": "string"
+ },
+ {
+ "description": "Sort enum: relevance, rating_desc, rating_asc, accredited_first, name_asc, years_in_business_desc, complaints_desc",
+ "enum": [
+ "relevance",
+ "rating_desc",
+ "rating_asc",
+ "accredited_first",
+ "name_asc",
+ "years_in_business_desc",
+ "complaints_desc"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Page number, defaults to 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, defaults to 20 and maxes at 100; page * page_size must be <= 10000",
+ "in": "query",
+ "name": "page_size",
+ "type": "integer"
}
],
"produces": [
@@ -294047,7 +367313,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bluesky.postQuotesResponseDoc"
+ "$ref": "#/definitions/datasets.bbbBusinessesSearchResponseDoc"
}
},
"400": {
@@ -294056,12 +367322,6 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"429": {
"description": "Too Many Requests",
"schema": {
@@ -294073,12 +367333,6 @@
"schema": {
"$ref": "#/definitions/app.Response"
}
- },
- "503": {
- "description": "Service Unavailable",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
}
},
"security": [
@@ -294086,37 +367340,84 @@
"ApiKeyAuth": []
}
],
- "summary": "List quotes of a Bluesky post",
+ "summary": "Search the BBB businesses dataset",
"tags": [
- "Bluesky"
+ "Datasets"
]
}
},
- "/bluesky/post-reposted-by": {
+ "/datasets/bbb-scamtracker-reports/facets": {
"get": {
- "description": "Lists the accounts that reposted a Bluesky post, identified by its `at://` post `uri`, which is required. `limit` defaults to 25 and is capped at 100; pass the returned `cursor` back for the next page. Each actor has `did`, `handle`, `display_name`, `description`, `avatar_url` and `created_at`.",
- "operationId": "bluesky-post-reposted-by",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns distribution counts over the stored BBB Scam Tracker reports (dataset id enum value `bbb-scamtracker-reports`), honoring the same filters as search. Counts are of stored reports. Facet enum: `scam_type`, `state`, `country`. country enum: `USA`, `CAN`.",
+ "operationId": "datasets-bbb-scamtracker-reports-facets",
"parameters": [
{
- "description": "The post's at:// URI",
+ "description": "Facet enum: scam_type, state, country",
+ "enum": [
+ "scam_type",
+ "state",
+ "country"
+ ],
"in": "query",
- "name": "uri",
+ "name": "facet",
"required": true,
"type": "string",
- "x-example": "at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.post/3l6oveex3ii2l"
+ "x-example": "scam_type"
},
{
- "default": 25,
- "description": "Page size, 1-100",
+ "description": "Full-text match on the report narrative and the business name used, max 256 characters",
"in": "query",
- "name": "limit",
- "type": "integer"
+ "name": "q",
+ "type": "string"
},
{
- "description": "Pagination cursor",
+ "description": "Exact scam type filter",
"in": "query",
- "name": "cursor",
+ "name": "scam_type",
+ "type": "string"
+ },
+ {
+ "description": "2-letter state or province code of the targeted person",
+ "in": "query",
+ "name": "state",
+ "type": "string"
+ },
+ {
+ "description": "Country of the targeted person. Enum: USA, CAN",
+ "enum": [
+ "USA",
+ "CAN"
+ ],
+ "in": "query",
+ "name": "country",
+ "type": "string"
+ },
+ {
+ "description": "Inclusive report-date floor, YYYY-MM-DD",
+ "in": "query",
+ "name": "date_from",
+ "type": "string"
+ },
+ {
+ "description": "Inclusive report-date ceiling, YYYY-MM-DD",
+ "in": "query",
+ "name": "date_to",
"type": "string"
+ },
+ {
+ "description": "Floor against the reported dollar loss, 0 or greater",
+ "in": "query",
+ "name": "min_loss",
+ "type": "number"
+ },
+ {
+ "description": "Ceiling against the reported dollar loss, 0 or greater",
+ "in": "query",
+ "name": "max_loss",
+ "type": "number"
}
],
"produces": [
@@ -294126,7 +367427,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bluesky.postActorsResponseDoc"
+ "$ref": "#/definitions/datasets.scamTrackerReportsFacetResponseDoc"
}
},
"400": {
@@ -294135,12 +367436,6 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"429": {
"description": "Too Many Requests",
"schema": {
@@ -294152,12 +367447,6 @@
"schema": {
"$ref": "#/definitions/app.Response"
}
- },
- "503": {
- "description": "Service Unavailable",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
}
},
"security": [
@@ -294165,34 +367454,27 @@
"ApiKeyAuth": []
}
],
- "summary": "List actors who reposted a Bluesky post",
+ "summary": "Facet the BBB Scam Tracker reports dataset",
"tags": [
- "Bluesky"
+ "Datasets"
]
}
},
- "/bluesky/post-thread": {
+ "/datasets/bbb-scamtracker-reports/items/{id}": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns a Bluesky post along with its nested replies (and, when the post is itself a reply, its parent chain), up to `depth` levels deep.",
- "operationId": "bluesky-post-thread",
+ "description": "Returns one stored report by id from dataset id enum value `bbb-scamtracker-reports`. Returns 404 when the report is not in the archive; the live bbb-scamtracker-detail endpoint can still fetch it from BBB.",
+ "operationId": "datasets-bbb-scamtracker-reports-item",
"parameters": [
{
- "description": "The post's at:// URI, e.g. from an author-feed or search-actors result's post uri field",
- "in": "query",
- "name": "uri",
+ "description": "BBB Scam Tracker report id (numeric), e.g. 1397968",
+ "in": "path",
+ "name": "id",
"required": true,
"type": "string",
- "x-example": "at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.post/3l6oveex3ii2l"
- },
- {
- "description": "Reply-tree depth, 1-10",
- "in": "query",
- "name": "depth",
- "type": "integer",
- "x-example": 6
+ "x-example": "1397968"
}
],
"produces": [
@@ -294202,7 +367484,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bluesky.postThreadResponseDoc"
+ "$ref": "#/definitions/datasets.scamTrackerReportResponseDoc"
}
},
"400": {
@@ -294228,12 +367510,6 @@
"schema": {
"$ref": "#/definitions/app.Response"
}
- },
- "503": {
- "description": "Service Unavailable",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
}
},
"security": [
@@ -294241,28 +367517,97 @@
"ApiKeyAuth": []
}
],
- "summary": "A Bluesky post and its reply tree",
+ "summary": "Get a report from the BBB Scam Tracker reports dataset",
"tags": [
- "Bluesky"
+ "Datasets"
]
}
},
- "/bluesky/posts": {
+ "/datasets/bbb-scamtracker-reports/search": {
"get": {
- "description": "Returns public Bluesky posts for 1-25 at:// post URIs. Missing, deleted, or blocked posts are omitted when the public AppView omits them.",
- "operationId": "bluesky-posts",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Searches the stored archive of public consumer scam reports from bbb.org/scamtracker (dataset id enum value `bbb-scamtracker-reports`), one record per report: narrative, scam type, reported dollar loss, targeted and scammer locations, the business name used, and the report date. Unlike the live bbb-scamtracker-search endpoint, results are not cut off at BBB's 10,000-result limit and any date range can be read page by page. Reports are unreviewed consumer allegations; names and contact details in them are as reported, not verified. The archive is still being filled, so `total` is the number of stored reports matching the filters, not BBB's own count. country enum: `USA`, `CAN`. sort enum: `relevance`, `reported_desc`, `reported_asc`, `loss_desc`. Billing: this search costs 1 credit per record returned, with a minimum of 2 (an empty result costs 2, a full page of 100 costs 100); the item and facets endpoints cost 1.",
+ "operationId": "datasets-bbb-scamtracker-reports-search",
"parameters": [
{
- "collectionFormat": "csv",
- "description": "One or more at:// post URIs (1-25); repeat the parameter for multiple URIs",
+ "description": "Full-text match on the report narrative and the business name used, max 256 characters",
"in": "query",
- "items": {
- "type": "string"
- },
- "name": "uris",
- "required": true,
- "type": "array",
- "x-example": "at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.post/3l6oveex3ii2l"
+ "name": "q",
+ "type": "string"
+ },
+ {
+ "description": "Exact scam type filter, e.g. Online Purchase. Use the values returned by facets?facet=scam_type",
+ "in": "query",
+ "name": "scam_type",
+ "type": "string"
+ },
+ {
+ "description": "2-letter state or province code of the targeted person, e.g. TX or QC",
+ "in": "query",
+ "name": "state",
+ "type": "string"
+ },
+ {
+ "description": "Country of the targeted person. Enum: USA, CAN",
+ "enum": [
+ "USA",
+ "CAN"
+ ],
+ "in": "query",
+ "name": "country",
+ "type": "string"
+ },
+ {
+ "description": "Inclusive report-date floor, YYYY-MM-DD",
+ "in": "query",
+ "name": "date_from",
+ "type": "string",
+ "x-example": "2023-01-01"
+ },
+ {
+ "description": "Inclusive report-date ceiling, YYYY-MM-DD",
+ "in": "query",
+ "name": "date_to",
+ "type": "string",
+ "x-example": "2023-01-31"
+ },
+ {
+ "description": "Floor against the reported dollar loss, 0 or greater; reports with an unknown loss are excluded",
+ "in": "query",
+ "name": "min_loss",
+ "type": "number"
+ },
+ {
+ "description": "Ceiling against the reported dollar loss, 0 or greater; reports with an unknown loss are excluded",
+ "in": "query",
+ "name": "max_loss",
+ "type": "number"
+ },
+ {
+ "description": "Sort enum: relevance, reported_desc, reported_asc, loss_desc",
+ "enum": [
+ "relevance",
+ "reported_desc",
+ "reported_asc",
+ "loss_desc"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Page number, defaults to 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, defaults to 20 and maxes at 100; page * page_size must be <= 10000",
+ "in": "query",
+ "name": "page_size",
+ "type": "integer"
}
],
"produces": [
@@ -294272,7 +367617,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bluesky.postsResponseDoc"
+ "$ref": "#/definitions/datasets.scamTrackerReportsSearchResponseDoc"
}
},
"400": {
@@ -294292,12 +367637,6 @@
"schema": {
"$ref": "#/definitions/app.Response"
}
- },
- "503": {
- "description": "Service Unavailable",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
}
},
"security": [
@@ -294305,27 +367644,134 @@
"ApiKeyAuth": []
}
],
- "summary": "Look up Bluesky posts in a batch",
+ "summary": "Search the BBB Scam Tracker reports dataset",
"tags": [
- "Bluesky"
+ "Datasets"
]
}
},
- "/bluesky/profile": {
+ "/datasets/boxofficemojo/facets": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns a Bluesky account's public profile: display name, description, avatar/banner images, and follower/follows/posts counts.",
- "operationId": "bluesky-profile",
+ "description": "Returns terms-aggregation counts for one facet of the Box Office Mojo dataset, scoped to the same filters as search. Facet enum: `gross_band`, `years_active`, `lifetime_year`, `franchise_names`, `brand_names`, `genre_names`, `hydrated`, `is_billion_dollar`, `in_lifetime_top_1000_ww`. gross_band enum: `under_50m`, `50_100m`, `100_250m`, `250_500m`, `500m_1b`, `over_1b`.",
+ "operationId": "datasets-boxofficemojo-facets",
"parameters": [
{
- "description": "A handle (e.g. bsky.app) or DID (e.g. did:plc:z72i7hdynmk6r22z27h6tvur)",
+ "description": "Facet enum: gross_band, years_active, lifetime_year, franchise_names, brand_names, genre_names, hydrated, is_billion_dollar, in_lifetime_top_1000_ww",
+ "enum": [
+ "gross_band",
+ "years_active",
+ "lifetime_year",
+ "franchise_names",
+ "brand_names",
+ "genre_names",
+ "hydrated",
+ "is_billion_dollar",
+ "in_lifetime_top_1000_ww"
+ ],
"in": "query",
- "name": "actor",
+ "name": "facet",
"required": true,
"type": "string",
- "x-example": "bsky.app"
+ "x-example": "gross_band"
+ },
+ {
+ "description": "Full-text query, max 256 characters",
+ "in": "query",
+ "name": "q",
+ "type": "string"
+ },
+ {
+ "description": "Exact title id (IMDb tt… id used by Box Office Mojo), max 32 characters",
+ "in": "query",
+ "name": "title_id",
+ "type": "string"
+ },
+ {
+ "description": "Year in years_active",
+ "in": "query",
+ "name": "year",
+ "type": "integer"
+ },
+ {
+ "description": "Primary lifetime chart year",
+ "in": "query",
+ "name": "lifetime_year",
+ "type": "integer"
+ },
+ {
+ "description": "Gross band filter",
+ "in": "query",
+ "name": "gross_band",
+ "type": "string"
+ },
+ {
+ "description": "Franchise name filter, max 128 characters",
+ "in": "query",
+ "name": "franchise",
+ "type": "string"
+ },
+ {
+ "description": "Brand name filter, max 128 characters",
+ "in": "query",
+ "name": "brand",
+ "type": "string"
+ },
+ {
+ "description": "Genre name filter, max 128 characters",
+ "in": "query",
+ "name": "genre",
+ "type": "string"
+ },
+ {
+ "description": "Only titles in the lifetime worldwide top 1000 chart",
+ "in": "query",
+ "name": "in_lifetime_top_1000",
+ "type": "boolean"
+ },
+ {
+ "description": "Minimum lifetime worldwide gross",
+ "in": "query",
+ "name": "min_worldwide",
+ "type": "integer"
+ },
+ {
+ "description": "Maximum lifetime worldwide gross",
+ "in": "query",
+ "name": "max_worldwide",
+ "type": "integer"
+ },
+ {
+ "description": "Minimum lifetime domestic gross",
+ "in": "query",
+ "name": "min_domestic",
+ "type": "integer"
+ },
+ {
+ "description": "Minimum foreign share of worldwide gross, 0 through 1",
+ "in": "query",
+ "name": "min_foreign_share",
+ "type": "number"
+ },
+ {
+ "description": "Maximum domestic share of worldwide gross, 0 through 1",
+ "in": "query",
+ "name": "max_domestic_share",
+ "type": "number"
+ },
+ {
+ "description": "Hydrated filter",
+ "in": "query",
+ "name": "hydrated",
+ "type": "boolean"
+ },
+ {
+ "description": "Only titles with worldwide gross of at least $1B",
+ "in": "query",
+ "name": "is_billion_dollar",
+ "type": "boolean"
}
],
"produces": [
@@ -294335,7 +367781,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bluesky.profileResponseDoc"
+ "$ref": "#/definitions/datasets.boxOfficeMojoFacetResponseDoc"
}
},
"400": {
@@ -294344,12 +367790,6 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"429": {
"description": "Too Many Requests",
"schema": {
@@ -294361,12 +367801,6 @@
"schema": {
"$ref": "#/definitions/app.Response"
}
- },
- "503": {
- "description": "Service Unavailable",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
}
},
"security": [
@@ -294374,40 +367808,27 @@
"ApiKeyAuth": []
}
],
- "summary": "A Bluesky account's full public profile",
+ "summary": "Facet the Box Office Mojo dataset",
"tags": [
- "Bluesky"
+ "Datasets"
]
}
},
- "/bluesky/search-actors": {
+ "/datasets/boxofficemojo/items/{title_id}": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns Bluesky accounts matching a query against display name, handle, and profile description.",
- "operationId": "bluesky-search-actors",
+ "description": "Returns one Box Office Mojo dataset record by title id (IMDb `tt…` id used on Box Office Mojo title pages), including lifetime grosses, year history, release groups and market grosses when hydrated.",
+ "operationId": "datasets-boxofficemojo-item",
"parameters": [
{
- "description": "Search text",
- "in": "query",
- "name": "q",
+ "description": "Title id (IMDb tt… id), e.g. tt0499549",
+ "in": "path",
+ "name": "title_id",
"required": true,
"type": "string",
- "x-example": "news"
- },
- {
- "description": "Page size, 1-100",
- "in": "query",
- "name": "limit",
- "type": "integer",
- "x-example": 25
- },
- {
- "description": "Pagination cursor from a previous response's cursor field",
- "in": "query",
- "name": "cursor",
- "type": "string"
+ "x-example": "tt0499549"
}
],
"produces": [
@@ -294417,7 +367838,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bluesky.searchActorsResponseDoc"
+ "$ref": "#/definitions/datasets.boxOfficeMojoItemResponseDoc"
}
},
"400": {
@@ -294426,20 +367847,20 @@
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Too Many Requests",
+ "404": {
+ "description": "Not Found",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -294450,19 +367871,152 @@
"ApiKeyAuth": []
}
],
- "summary": "Search Bluesky accounts",
+ "summary": "Get a Box Office Mojo title from the dataset",
"tags": [
- "Bluesky"
+ "Datasets"
]
}
},
- "/bluesky/trending-topics": {
+ "/datasets/boxofficemojo/search": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns Bluesky's current trending topics and suggested feeds, each with a link to its feed. This surface is less stable than the rest of this family -- Bluesky may change its shape without notice.",
- "operationId": "bluesky-trending-topics",
+ "description": "Searches theatrical box-office records from Box Office Mojo charts and title pages. Filter by title id, year, franchise/brand/genre, gross band, lifetime top-1000 membership, hydration status, and worldwide/domestic gross ranges. Sort enum: `relevance`, `worldwide_desc`, `domestic_desc`, `peak_worldwide_desc`, `lifetime_rank_asc`, `year_desc`, `year_asc`. gross_band enum: `under_50m`, `50_100m`, `100_250m`, `250_500m`, `500m_1b`, `over_1b`. Billing: this search costs 1 credit per record returned, with a minimum of 2 (an empty result costs 2, a full page of 100 costs 100).",
+ "operationId": "datasets-boxofficemojo-search",
+ "parameters": [
+ {
+ "description": "Full-text query over title and taxonomy names, max 256 characters",
+ "in": "query",
+ "name": "q",
+ "type": "string"
+ },
+ {
+ "description": "Exact title id (IMDb tt… id used by Box Office Mojo), max 32 characters",
+ "in": "query",
+ "name": "title_id",
+ "type": "string"
+ },
+ {
+ "description": "Year that must appear in years_active",
+ "in": "query",
+ "name": "year",
+ "type": "integer"
+ },
+ {
+ "description": "Primary lifetime chart year",
+ "in": "query",
+ "name": "lifetime_year",
+ "type": "integer"
+ },
+ {
+ "description": "Gross band enum: under_50m, 50_100m, 100_250m, 250_500m, 500m_1b, over_1b",
+ "enum": [
+ "under_50m",
+ "50_100m",
+ "100_250m",
+ "250_500m",
+ "500m_1b",
+ "over_1b"
+ ],
+ "in": "query",
+ "name": "gross_band",
+ "type": "string"
+ },
+ {
+ "description": "Franchise name filter, max 128 characters",
+ "in": "query",
+ "name": "franchise",
+ "type": "string"
+ },
+ {
+ "description": "Brand name filter, max 128 characters",
+ "in": "query",
+ "name": "brand",
+ "type": "string"
+ },
+ {
+ "description": "Genre name filter, max 128 characters",
+ "in": "query",
+ "name": "genre",
+ "type": "string"
+ },
+ {
+ "description": "Only titles in the lifetime worldwide top 1000 chart",
+ "in": "query",
+ "name": "in_lifetime_top_1000",
+ "type": "boolean"
+ },
+ {
+ "description": "Only titles with hydrated release groups and market grosses",
+ "in": "query",
+ "name": "hydrated",
+ "type": "boolean"
+ },
+ {
+ "description": "Only titles with worldwide gross of at least $1B",
+ "in": "query",
+ "name": "is_billion_dollar",
+ "type": "boolean"
+ },
+ {
+ "description": "Minimum lifetime worldwide gross in whole USD dollars",
+ "in": "query",
+ "name": "min_worldwide",
+ "type": "integer"
+ },
+ {
+ "description": "Maximum lifetime worldwide gross in whole USD dollars",
+ "in": "query",
+ "name": "max_worldwide",
+ "type": "integer"
+ },
+ {
+ "description": "Minimum lifetime domestic gross in whole USD dollars",
+ "in": "query",
+ "name": "min_domestic",
+ "type": "integer"
+ },
+ {
+ "description": "Minimum foreign share of worldwide gross, 0 through 1",
+ "in": "query",
+ "name": "min_foreign_share",
+ "type": "number"
+ },
+ {
+ "description": "Maximum domestic share of worldwide gross, 0 through 1",
+ "in": "query",
+ "name": "max_domestic_share",
+ "type": "number"
+ },
+ {
+ "description": "Sort enum: relevance, worldwide_desc, domestic_desc, peak_worldwide_desc, lifetime_rank_asc, year_desc, year_asc",
+ "enum": [
+ "relevance",
+ "worldwide_desc",
+ "domestic_desc",
+ "peak_worldwide_desc",
+ "lifetime_rank_asc",
+ "year_desc",
+ "year_asc"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Page number, defaults to 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, defaults to 20 and maxes at 100; page * page_size must be <= 10000",
+ "in": "query",
+ "name": "page_size",
+ "type": "integer"
+ }
+ ],
"produces": [
"application/json"
],
@@ -294470,23 +368024,23 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bluesky.trendingTopicsResponseDoc"
+ "$ref": "#/definitions/datasets.boxOfficeMojoSearchResponseDoc"
}
},
- "429": {
- "description": "Too Many Requests",
+ "400": {
+ "description": "Bad Request",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -294497,19 +368051,40 @@
"ApiKeyAuth": []
}
],
- "summary": "Bluesky's current trending topics",
+ "summary": "Search the Box Office Mojo dataset",
"tags": [
- "Bluesky"
+ "Datasets"
]
}
},
- "/bo3/economy-baseline": {
+ "/datasets/chrome-extensions/changes": {
"get": {
- "consumes": [
- "application/json"
+ "description": "Lists recent change observations across Chrome Web Store items in the dataset, optionally for one `change_type`: `users`, `rating`, `rating_count`, `version`, `developer`, `permissions`, `privacy` or `status`. Returns up to `limit` (default 100, max 500), each with the item's name, category, developer, observed time and the figures that changed.",
+ "operationId": "datasets-chrome-extensions-changes",
+ "parameters": [
+ {
+ "description": "Change type enum: users, rating, rating_count, version, developer, permissions, privacy, status",
+ "enum": [
+ "users",
+ "rating",
+ "rating_count",
+ "version",
+ "developer",
+ "permissions",
+ "privacy",
+ "status"
+ ],
+ "in": "query",
+ "name": "change_type",
+ "type": "string"
+ },
+ {
+ "description": "Maximum observations, default 100, max 500",
+ "in": "query",
+ "name": "limit",
+ "type": "integer"
+ }
],
- "description": "Returns the site-wide CS2 round win rate for every pairing of buy levels (rounds, wins, win rate), the baseline to compare a team's `economy` view of bo3-team-stats with. Levels: -1 full eco, 0 semi-eco, 1 half buy, 2 full buy; the opposing level is null when it is unknown.",
- "operationId": "bo3-economy-baseline",
"produces": [
"application/json"
],
@@ -294517,19 +368092,7 @@
"200": {
"description": "OK",
"schema": {
- "allOf": [
- {
- "$ref": "#/definitions/app.Response"
- },
- {
- "properties": {
- "data": {
- "$ref": "#/definitions/bo3.EconomyBaselineResponse"
- }
- },
- "type": "object"
- }
- ]
+ "$ref": "#/definitions/datasets.chromeExtensionChangesResponseDoc"
}
},
"400": {
@@ -294538,20 +368101,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"429": {
"description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -294562,67 +368119,141 @@
"ApiKeyAuth": []
}
],
- "summary": "BO3.gg CS2 economy baseline",
+ "summary": "Get recent Chrome Web Store item changes",
"tags": [
- "BO3"
+ "Datasets"
]
}
},
- "/bo3/forum": {
+ "/datasets/chrome-extensions/facets": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns BO3.gg forum threads for one game with paging: a `category` id from bo3-forum-categories and `sort` (`activity` with pinned threads first, `newest`, `comments`, `rating`), up to 100 per page. Each thread has slug, title, category, comment count, rating, pinned flag, created and last-activity times and the author's nickname; post bodies, reactions and replies are not returned.",
- "operationId": "bo3-forum",
+ "description": "Returns aggregation buckets. Facet enum: `item_type`, `category`, `developer`, `developer_email`, `manifest_version`, `permission`, `status`, `collects_data`, `has_broad_host_access`. Item type enum: `extension`, `theme`, `app`, `unknown`. Search sort, status and manifest-version enums match the search endpoint.",
+ "operationId": "datasets-chrome-extensions-facets",
"parameters": [
{
- "description": "Game; one of cs2, valorant, lol, dota2, r6siege, mlbb; defaults to cs2",
+ "description": "Facet enum: item_type, category, developer, developer_email, manifest_version, permission, status, collects_data, has_broad_host_access",
"enum": [
- "cs2",
- "valorant",
- "lol",
- "dota2",
- "r6siege",
- "mlbb"
+ "item_type",
+ "category",
+ "developer",
+ "developer_email",
+ "manifest_version",
+ "permission",
+ "status",
+ "collects_data",
+ "has_broad_host_access"
],
"in": "query",
- "name": "game",
+ "name": "facet",
+ "required": true,
+ "type": "string",
+ "x-example": "item_type"
+ },
+ {
+ "description": "Full-text query",
+ "in": "query",
+ "name": "q",
"type": "string"
},
{
- "description": "Forum category id from bo3-forum-categories, for example 4",
+ "description": "Item type enum: extension, theme, app, unknown",
+ "enum": [
+ "extension",
+ "theme",
+ "app",
+ "unknown"
+ ],
+ "in": "query",
+ "name": "item_type",
+ "type": "string"
+ },
+ {
+ "description": "Exact category",
"in": "query",
- "minimum": 1,
"name": "category",
- "type": "integer"
+ "type": "string"
},
{
- "description": "Order; one of activity, newest, comments, rating; defaults to activity",
+ "description": "Exact developer",
+ "in": "query",
+ "name": "developer",
+ "type": "string"
+ },
+ {
+ "description": "Exact developer email",
+ "in": "query",
+ "name": "developer_email",
+ "type": "string"
+ },
+ {
+ "description": "Exact permission",
+ "in": "query",
+ "name": "permission",
+ "type": "string"
+ },
+ {
+ "description": "Status enum: active, removed",
"enum": [
- "activity",
- "newest",
- "comments",
- "rating"
+ "active",
+ "removed"
],
"in": "query",
- "name": "sort",
+ "name": "status",
"type": "string"
},
{
- "description": "Zero-based offset; defaults to 0",
+ "description": "Manifest version enum: 2, 3",
+ "enum": [
+ 2,
+ 3
+ ],
"in": "query",
- "minimum": 0,
- "name": "offset",
+ "name": "manifest_version",
"type": "integer"
},
{
- "description": "Page size, 1 to 100; defaults to 20",
+ "description": "Data-collection filter",
"in": "query",
- "maximum": 100,
- "minimum": 1,
- "name": "limit",
+ "name": "collects_data",
+ "type": "boolean"
+ },
+ {
+ "description": "Broad-host-access filter",
+ "in": "query",
+ "name": "has_broad_host_access",
+ "type": "boolean"
+ },
+ {
+ "description": "Minimum users",
+ "in": "query",
+ "name": "min_users",
+ "type": "integer"
+ },
+ {
+ "description": "Minimum rating",
+ "in": "query",
+ "name": "min_rating",
+ "type": "number"
+ },
+ {
+ "description": "Minimum rating count",
+ "in": "query",
+ "name": "min_rating_count",
"type": "integer"
+ },
+ {
+ "description": "Sort enum: relevance, users_desc, rating_desc, reviews_desc, updated_desc, trending_desc",
+ "enum": [
+ "relevance",
+ "users_desc",
+ "rating_desc",
+ "reviews_desc",
+ "updated_desc",
+ "trending_desc"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
}
],
"produces": [
@@ -294632,19 +368263,7 @@
"200": {
"description": "OK",
"schema": {
- "allOf": [
- {
- "$ref": "#/definitions/app.Response"
- },
- {
- "properties": {
- "data": {
- "$ref": "#/definitions/bo3.ForumFeedResponse"
- }
- },
- "type": "object"
- }
- ]
+ "$ref": "#/definitions/datasets.chromeExtensionFacetResponseDoc"
}
},
"400": {
@@ -294659,8 +368278,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -294671,33 +368290,42 @@
"ApiKeyAuth": []
}
],
- "summary": "BO3.gg forum threads with category and sort filters",
+ "summary": "Facet the Chrome Web Store dataset",
"tags": [
- "BO3"
+ "Datasets"
]
}
},
- "/bo3/forum-categories": {
+ "/datasets/chrome-extensions/history/{id}": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns the BO3.gg forum categories of one game (id, slug and title, ordered by id; CS2 has CS2, IDEAS AND BUGS and OFF TOP) that the `category` filter of bo3-forum accepts.",
- "operationId": "bo3-forum-categories",
+ "description": "Returns the change history of one Chrome Web Store item by `id`. A point is recorded only when a tracked field changed, with users, rating, version, permissions and the list of `change_types`. Narrow with `from` and `to` (YYYY-MM-DD); `limit` defaults to 365, max 1000.",
+ "operationId": "datasets-chrome-extensions-history",
"parameters": [
{
- "description": "Game; one of cs2, valorant, lol, dota2, r6siege, mlbb; defaults to cs2",
- "enum": [
- "cs2",
- "valorant",
- "lol",
- "dota2",
- "r6siege",
- "mlbb"
- ],
+ "description": "Chrome Web Store item id",
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "type": "string",
+ "x-example": "cjpalhdlnbpafiamejdnhcphjbkeiagm"
+ },
+ {
+ "description": "Inclusive start date, YYYY-MM-DD",
"in": "query",
- "name": "game",
+ "name": "from",
+ "type": "string"
+ },
+ {
+ "description": "Inclusive end date, YYYY-MM-DD",
+ "in": "query",
+ "name": "to",
"type": "string"
+ },
+ {
+ "description": "Maximum points, default 365, max 1000",
+ "in": "query",
+ "name": "limit",
+ "type": "integer"
}
],
"produces": [
@@ -294707,19 +368335,7 @@
"200": {
"description": "OK",
"schema": {
- "allOf": [
- {
- "$ref": "#/definitions/app.Response"
- },
- {
- "properties": {
- "data": {
- "$ref": "#/definitions/bo3.ForumCategoriesResponse"
- }
- },
- "type": "object"
- }
- ]
+ "$ref": "#/definitions/datasets.chromeExtensionHistoryResponseDoc"
}
},
"400": {
@@ -294734,8 +368350,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -294746,27 +368362,24 @@
"ApiKeyAuth": []
}
],
- "summary": "BO3.gg forum categories",
+ "summary": "Get Chrome Web Store item history",
"tags": [
- "BO3"
+ "Datasets"
]
}
},
- "/bo3/match": {
+ "/datasets/chrome-extensions/items/{id}": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns one BO3.gg match by slug: teams with scores and winner, status, best-of, tier, start and end time, tournament, stage and round, the maps played with scores, the site's AI prediction, live and recorded streams and the key-fact insights for each team. The slug comes from bo3-match-history.",
- "operationId": "bo3-match",
+ "description": "Returns the stored record of one Chrome Web Store extension, theme or app by its 32-character `id`. It has name, `item_type`, category, users, rating, version, developer and disclosed email, declared permissions, host access flags, privacy disclosures and screenshots, taken from the latest observation.",
+ "operationId": "datasets-chrome-extensions-item",
"parameters": [
{
- "description": "Match slug from bo3-match-history, for example vitality-vs-natus-vincere-27-10-2026",
- "in": "query",
- "name": "slug",
+ "description": "Chrome Web Store item id",
+ "in": "path",
+ "name": "id",
"required": true,
"type": "string",
- "x-example": "vitality-vs-natus-vincere-27-10-2026"
+ "x-example": "cjpalhdlnbpafiamejdnhcphjbkeiagm"
}
],
"produces": [
@@ -294776,19 +368389,7 @@
"200": {
"description": "OK",
"schema": {
- "allOf": [
- {
- "$ref": "#/definitions/app.Response"
- },
- {
- "properties": {
- "data": {
- "$ref": "#/definitions/bo3.MatchInfo"
- }
- },
- "type": "object"
- }
- ]
+ "$ref": "#/definitions/datasets.chromeExtensionItemResponseDoc"
}
},
"400": {
@@ -294809,8 +368410,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -294821,28 +368422,33 @@
"ApiKeyAuth": []
}
],
- "summary": "BO3.gg match detail",
+ "summary": "Get a Chrome Web Store dataset item",
"tags": [
- "BO3"
+ "Datasets"
]
}
},
- "/bo3/match-games": {
+ "/datasets/chrome-extensions/metrics": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns the maps of one BO3.gg match with round-by-round results: for each map the number, map name, state, start, duration in seconds, final score, per-half side results (CT or T score, overtime) and every round with its number, duration, end reason, winning side and running score. A match with no maps yet returns an empty list.",
- "operationId": "bo3-match-games",
+ "description": "Returns chart-ready coverage, adoption, rating, permission, privacy and recent-change aggregates for the stored Chrome Web Store dataset. Days enum: `7`, `30`, `90`.",
+ "operationId": "datasets-chrome-extensions-metrics",
"parameters": [
{
- "description": "Numeric BO3 match id (the id of a bo3-match-history row)",
+ "description": "Recent-change window enum: 7, 30, 90; default 30",
+ "enum": [
+ 7,
+ 30,
+ 90
+ ],
"in": "query",
- "minimum": 1,
- "name": "match_id",
- "required": true,
- "type": "integer",
- "x-example": 132243
+ "name": "days",
+ "type": "integer"
+ },
+ {
+ "description": "Top category and permission buckets, default 10, min 5, max 25",
+ "in": "query",
+ "name": "limit",
+ "type": "integer"
}
],
"produces": [
@@ -294852,19 +368458,7 @@
"200": {
"description": "OK",
"schema": {
- "allOf": [
- {
- "$ref": "#/definitions/app.Response"
- },
- {
- "properties": {
- "data": {
- "$ref": "#/definitions/bo3.MatchGamesResponse"
- }
- },
- "type": "object"
- }
- ]
+ "$ref": "#/definitions/datasets.chromeExtensionMetricsResponseDoc"
}
},
"400": {
@@ -294873,20 +368467,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"429": {
"description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -294897,96 +368485,133 @@
"ApiKeyAuth": []
}
],
- "summary": "BO3.gg esports match maps with round-by-round results",
+ "summary": "Get Chrome Web Store dataset metrics",
"tags": [
- "BO3"
+ "Datasets"
]
}
},
- "/bo3/match-history": {
+ "/datasets/chrome-extensions/search": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns BO3.gg's esports match history for one game, newest first by default, with paging and filters: `status` (`finished`, `defwin`, `upcoming`, `current`; the default is finished and default-win matches together), `tier` (`s` to `d`), an inclusive `from`/`to` day range (UTC), `sort` and `offset`/`limit` (up to 100 per page). Each match has teams, scores, winner, best-of, tournament, maps and the site's AI prediction; `total` and `has_more` page through the full history.",
- "operationId": "bo3-match-history",
+ "description": "Searches stored Chrome Web Store item snapshots. Item type enum: `extension`, `theme`, `app`, `unknown`. Sort enum: `relevance`, `users_desc`, `rating_desc`, `reviews_desc`, `updated_desc`, `trending_desc`. Status enum: `active`, `removed`. Manifest version enum: `2`, `3`. Billing: this search costs 1 credit per record returned, with a minimum of 2 (an empty result costs 2, a full page of 100 costs 100).",
+ "operationId": "datasets-chrome-extensions-search",
"parameters": [
{
- "description": "Game; one of cs2, valorant, lol, dota2, r6siege, mlbb; defaults to cs2",
+ "description": "Full-text query, max 256 characters",
+ "in": "query",
+ "name": "q",
+ "type": "string"
+ },
+ {
+ "description": "Item type enum: extension, theme, app, unknown",
"enum": [
- "cs2",
- "valorant",
- "lol",
- "dota2",
- "r6siege",
- "mlbb"
+ "extension",
+ "theme",
+ "app",
+ "unknown"
],
"in": "query",
- "name": "game",
+ "name": "item_type",
+ "type": "string"
+ },
+ {
+ "description": "Exact Chrome Web Store category",
+ "in": "query",
+ "name": "category",
+ "type": "string"
+ },
+ {
+ "description": "Exact displayed developer name",
+ "in": "query",
+ "name": "developer",
+ "type": "string"
+ },
+ {
+ "description": "Exact disclosed developer email",
+ "in": "query",
+ "name": "developer_email",
+ "type": "string"
+ },
+ {
+ "description": "Exact declared permission",
+ "in": "query",
+ "name": "permission",
"type": "string"
},
{
- "description": "Match status; one of finished, defwin, upcoming, current; defaults to finished and defwin together",
+ "description": "Status enum: active, removed",
"enum": [
- "finished",
- "defwin",
- "upcoming",
- "current"
+ "active",
+ "removed"
],
"in": "query",
"name": "status",
"type": "string"
},
{
- "description": "Tournament tier; one of s, a, b, c, d",
+ "description": "Manifest version enum: 2, 3",
"enum": [
- "s",
- "a",
- "b",
- "c",
- "d"
+ 2,
+ 3
],
"in": "query",
- "name": "tier",
- "type": "string"
+ "name": "manifest_version",
+ "type": "integer"
},
{
- "description": "First start day, YYYY-MM-DD (UTC, inclusive)",
+ "description": "Filter by public data-collection disclosure",
"in": "query",
- "name": "from",
- "type": "string",
- "x-example": "2026-10-01"
+ "name": "collects_data",
+ "type": "boolean"
},
{
- "description": "Last start day, YYYY-MM-DD (UTC, inclusive)",
+ "description": "Filter by broad host access",
"in": "query",
- "name": "to",
- "type": "string",
- "x-example": "2026-10-27"
+ "name": "has_broad_host_access",
+ "type": "boolean"
},
{
- "description": "Order by start time; one of newest, oldest; defaults to newest",
+ "description": "Minimum displayed user count",
+ "in": "query",
+ "name": "min_users",
+ "type": "integer"
+ },
+ {
+ "description": "Minimum rating, 0 through 5",
+ "in": "query",
+ "name": "min_rating",
+ "type": "number"
+ },
+ {
+ "description": "Minimum rating count",
+ "in": "query",
+ "name": "min_rating_count",
+ "type": "integer"
+ },
+ {
+ "description": "Sort enum: relevance, users_desc, rating_desc, reviews_desc, updated_desc, trending_desc",
"enum": [
- "newest",
- "oldest"
+ "relevance",
+ "users_desc",
+ "rating_desc",
+ "reviews_desc",
+ "updated_desc",
+ "trending_desc"
],
"in": "query",
"name": "sort",
"type": "string"
},
{
- "description": "Zero-based offset; defaults to 0",
+ "description": "Page number, default 1",
"in": "query",
- "minimum": 0,
- "name": "offset",
+ "name": "page",
"type": "integer"
},
{
- "description": "Page size, 1 to 100; defaults to 20",
+ "description": "Page size, default 20, max 100",
"in": "query",
- "maximum": 100,
- "minimum": 1,
- "name": "limit",
+ "name": "page_size",
"type": "integer"
}
],
@@ -294997,19 +368622,7 @@
"200": {
"description": "OK",
"schema": {
- "allOf": [
- {
- "$ref": "#/definitions/app.Response"
- },
- {
- "properties": {
- "data": {
- "$ref": "#/definitions/bo3.MatchHistoryResponse"
- }
- },
- "type": "object"
- }
- ]
+ "$ref": "#/definitions/datasets.chromeExtensionsSearchResponseDoc"
}
},
"400": {
@@ -295018,20 +368631,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"429": {
"description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -295042,94 +368649,122 @@
"ApiKeyAuth": []
}
],
- "summary": "BO3.gg esports match history",
+ "summary": "Search the Chrome Web Store dataset",
"tags": [
- "BO3"
+ "Datasets"
]
}
},
- "/bo3/match-players": {
+ "/datasets/chrome-extensions/trending": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns every player's statistics for one BO3.gg match, ordered by team then nickname: kills, deaths, assists, headshots, first kills and deaths, trades, KAST, rating, ADR, damage, utility and money figures as a numeric `stats` map, plus the multikill counts (2K to 5K), team and opponent. The match slug comes from bo3-match-history.",
- "operationId": "bo3-match-players",
+ "description": "Returns stored Chrome Web Store items ranked by the latest observed user and rating-count movement. Filters match the search endpoint; sort is fixed to `trending_desc`. Billing: this endpoint costs 1 credit per record returned, with a minimum of 2 (an empty result costs 2, a full page of 100 costs 100).",
+ "operationId": "datasets-chrome-extensions-trending",
"parameters": [
{
- "description": "Match slug from bo3-match-history, for example vitality-vs-natus-vincere-27-10-2026",
+ "description": "Full-text query",
"in": "query",
- "name": "slug",
- "required": true,
- "type": "string",
- "x-example": "vitality-vs-natus-vincere-27-10-2026"
- }
- ],
- "produces": [
- "application/json"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "allOf": [
- {
- "$ref": "#/definitions/app.Response"
- },
- {
- "properties": {
- "data": {
- "$ref": "#/definitions/bo3.MatchPlayersResponse"
- }
- },
- "type": "object"
- }
- ]
- }
+ "name": "q",
+ "type": "string"
},
- "400": {
- "description": "Bad Request",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
+ {
+ "description": "Item type enum: extension, theme, app, unknown",
+ "enum": [
+ "extension",
+ "theme",
+ "app",
+ "unknown"
+ ],
+ "in": "query",
+ "name": "item_type",
+ "type": "string"
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
+ {
+ "description": "Exact category",
+ "in": "query",
+ "name": "category",
+ "type": "string"
},
- "429": {
- "description": "Too Many Requests",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
+ {
+ "description": "Exact developer",
+ "in": "query",
+ "name": "developer",
+ "type": "string"
},
- "503": {
- "description": "Service Unavailable",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- }
- },
- "security": [
{
- "ApiKeyAuth": []
+ "description": "Exact developer email",
+ "in": "query",
+ "name": "developer_email",
+ "type": "string"
+ },
+ {
+ "description": "Exact permission",
+ "in": "query",
+ "name": "permission",
+ "type": "string"
+ },
+ {
+ "description": "Status enum: active, removed",
+ "enum": [
+ "active",
+ "removed"
+ ],
+ "in": "query",
+ "name": "status",
+ "type": "string"
+ },
+ {
+ "description": "Manifest version enum: 2, 3",
+ "enum": [
+ 2,
+ 3
+ ],
+ "in": "query",
+ "name": "manifest_version",
+ "type": "integer"
+ },
+ {
+ "description": "Data-collection filter",
+ "in": "query",
+ "name": "collects_data",
+ "type": "boolean"
+ },
+ {
+ "description": "Broad-host-access filter",
+ "in": "query",
+ "name": "has_broad_host_access",
+ "type": "boolean"
+ },
+ {
+ "description": "Minimum users",
+ "in": "query",
+ "name": "min_users",
+ "type": "integer"
+ },
+ {
+ "description": "Minimum rating",
+ "in": "query",
+ "name": "min_rating",
+ "type": "number"
+ },
+ {
+ "description": "Minimum rating count",
+ "in": "query",
+ "name": "min_rating_count",
+ "type": "integer"
+ },
+ {
+ "description": "Page number",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, max 100",
+ "in": "query",
+ "name": "page_size",
+ "type": "integer"
}
],
- "summary": "BO3.gg per-player match statistics",
- "tags": [
- "BO3"
- ]
- }
- },
- "/bo3/news-categories": {
- "get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns the BO3.gg editorial categories (id and title, sorted by title: Analytics, Article, Blog, Events, Gaming, Guides, Highlights, Interviews, News, Predictions, Results, Streams, Tips, Transfers, Wiki) accepted by the `category` filter of bo3-news-feed.",
- "operationId": "bo3-news-categories",
"produces": [
"application/json"
],
@@ -295137,19 +368772,7 @@
"200": {
"description": "OK",
"schema": {
- "allOf": [
- {
- "$ref": "#/definitions/app.Response"
- },
- {
- "properties": {
- "data": {
- "$ref": "#/definitions/bo3.NewsCategoriesResponse"
- }
- },
- "type": "object"
- }
- ]
+ "$ref": "#/definitions/datasets.chromeExtensionsSearchResponseDoc"
}
},
"400": {
@@ -295164,8 +368787,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -295176,76 +368799,104 @@
"ApiKeyAuth": []
}
],
- "summary": "BO3.gg news categories",
+ "summary": "Get trending Chrome Web Store items",
"tags": [
- "BO3"
+ "Datasets"
]
}
},
- "/bo3/news-feed": {
+ "/datasets/creators/facets": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns BO3.gg's editorial feed for one game with paging and filters: `section` (`news`, `article`, `wiki`, `predictions`), a `category` id from bo3-news-categories and `sort` (`newest`, `oldest`), up to 100 per page. Each item has slug, title, description, category, publish time, author, tags, image and canonical URL; `total` and `has_more` page through the archive (over 100,000 items across games).",
- "operationId": "bo3-news-feed",
+ "description": "Returns up to 50 creator-facet buckets ordered by count, using the same filters as `datasets_creators_search`. Page and page_size do not change the aggregation. Deleted/private accounts remain excluded unless include_inactive=true. Contact-email values are never returned. Facet enum: `niche`, `country`, `verified`.",
+ "operationId": "datasets-creators-facets",
"parameters": [
{
- "description": "Game; one of cs2, valorant, lol, dota2, r6siege, mlbb; defaults to cs2",
- "enum": [
- "cs2",
- "valorant",
- "lol",
- "dota2",
- "r6siege",
- "mlbb"
- ],
+ "description": "Facet field",
+ "enum": [
+ "niche",
+ "country",
+ "verified"
+ ],
+ "in": "query",
+ "name": "facet",
+ "required": true,
+ "type": "string",
+ "x-example": "niche"
+ },
+ {
+ "description": "Full-text query over handle, nickname and bio",
+ "in": "query",
+ "name": "q",
+ "type": "string"
+ },
+ {
+ "description": "Exact creator handle",
"in": "query",
- "name": "game",
+ "name": "handle",
"type": "string"
},
{
- "description": "Editorial section; one of news, article, wiki, predictions; defaults to news",
- "enum": [
- "news",
- "article",
- "wiki",
- "predictions"
- ],
+ "description": "Exact content niche",
"in": "query",
- "name": "section",
+ "name": "niche",
"type": "string"
},
{
- "description": "Category id from bo3-news-categories, for example 38 (Predictions)",
+ "description": "Exact creator country/region",
"in": "query",
- "minimum": 1,
- "name": "category",
+ "name": "country",
+ "type": "string"
+ },
+ {
+ "description": "Verified badge filter",
+ "in": "query",
+ "name": "verified",
+ "type": "boolean"
+ },
+ {
+ "description": "Minimum follower count",
+ "in": "query",
+ "name": "min_followers",
"type": "integer"
},
{
- "description": "Order by publish time; one of newest, oldest; defaults to newest",
+ "description": "Contact-email presence filter",
+ "in": "query",
+ "name": "has_email",
+ "type": "boolean"
+ },
+ {
+ "description": "Include deleted/private accounts",
+ "in": "query",
+ "name": "include_inactive",
+ "type": "boolean"
+ },
+ {
+ "description": "Validated search sort; bucket order stays count-desc, and time-series date_desc keeps its search history scope",
"enum": [
- "newest",
- "oldest"
+ "followers_desc",
+ "engagement_desc",
+ "engagement_qualified_desc",
+ "likes_desc",
+ "relevance"
],
"in": "query",
"name": "sort",
"type": "string"
},
{
- "description": "Zero-based offset; defaults to 0",
+ "description": "Result page, 1-based",
"in": "query",
- "minimum": 0,
- "name": "offset",
+ "name": "page",
"type": "integer"
},
{
- "description": "Page size, 1 to 100; defaults to 20",
+ "description": "Page size, default 20 and max 100",
"in": "query",
- "maximum": 100,
- "minimum": 1,
- "name": "limit",
+ "name": "page_size",
"type": "integer"
}
],
@@ -295256,19 +368907,7 @@
"200": {
"description": "OK",
"schema": {
- "allOf": [
- {
- "$ref": "#/definitions/app.Response"
- },
- {
- "properties": {
- "data": {
- "$ref": "#/definitions/bo3.NewsFeedResponse"
- }
- },
- "type": "object"
- }
- ]
+ "$ref": "#/definitions/datasets.datasetFacetResponseDoc"
}
},
"400": {
@@ -295283,8 +368922,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -295295,41 +368934,38 @@
"ApiKeyAuth": []
}
],
- "summary": "BO3.gg news, articles, wiki and predictions feed",
+ "summary": "Discover values in the creators dataset",
"tags": [
- "BO3"
+ "Datasets"
]
}
},
- "/bo3/player": {
+ "/datasets/creators/items/{creator_uid}": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns a BO3.gg player profile by slug: nickname, name, game, birthday, role, coach flag, country, current team and join date, six-month average rating, career prize money, social links, former names and tournament achievements newest first. Use `game` to insist on one game; a player of another game is not found.",
- "operationId": "bo3-player",
+ "description": "Retrieves one public TikTok creator profile by `creator_uid`. Deleted/private accounts remain hidden unless `include_inactive=true`. Contact email stays redacted by default and `include_email=true` is honored only for entitled non-Free API keys.",
+ "operationId": "datasets-creators-item",
"parameters": [
{
- "description": "Player slug, for example donk",
- "in": "query",
- "name": "slug",
+ "description": "Exact creator_uid from a search result, e.g. tiktok:@handle",
+ "in": "path",
+ "name": "creator_uid",
"required": true,
- "type": "string",
- "x-example": "donk"
+ "type": "string"
},
{
- "description": "Game the player must belong to; one of cs2, valorant, lol, dota2, r6siege, mlbb",
- "enum": [
- "cs2",
- "valorant",
- "lol",
- "dota2",
- "r6siege",
- "mlbb"
- ],
+ "description": "Include deleted/private accounts for historical lookup",
"in": "query",
- "name": "game",
- "type": "string"
+ "name": "include_inactive",
+ "type": "boolean"
+ },
+ {
+ "description": "Return stored contact email only for entitled non-Free API keys",
+ "in": "query",
+ "name": "include_email",
+ "type": "boolean"
}
],
"produces": [
@@ -295339,19 +368975,7 @@
"200": {
"description": "OK",
"schema": {
- "allOf": [
- {
- "$ref": "#/definitions/app.Response"
- },
- {
- "properties": {
- "data": {
- "$ref": "#/definitions/bo3.PlayerInfo"
- }
- },
- "type": "object"
- }
- ]
+ "$ref": "#/definitions/datasets.creatorDatasetItemResponseDoc"
}
},
"400": {
@@ -295372,8 +368996,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -295384,86 +369008,97 @@
"ApiKeyAuth": []
}
],
- "summary": "BO3.gg player profile",
+ "summary": "Get one stored TikTok creator",
"tags": [
- "BO3"
+ "Datasets"
]
}
},
- "/bo3/player-leaderboard": {
+ "/datasets/creators/search": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns BO3.gg's CS2 player leaderboard over a day range (default: the last six months): players ranked by `sort` (`rating`, `kd`, `kills`, `damage`, `assists`, `headshots`, `games`, `rounds`) in `order` (`desc`, `asc`), optionally limited to games at one tournament `tier` (`s` to `d`), with paging. Each player has team, games, rounds and every per-game average as a `stats` map; players below the API's minimum-games threshold for the window are excluded (`min_games_count`). CS2 only.",
- "operationId": "bo3-player-leaderboard",
+ "description": "Searches TikTok creators stored in a search index (one document per creator), with follower counts, verified status, niche, and engagement. Deleted and private accounts are excluded by default; set `include_inactive=true` to include them for historical lookups. Sort enum: `followers_desc`, `engagement_desc`, `engagement_qualified_desc`, `likes_desc`, `relevance`. Coverage note: `followers_desc`, `likes_desc`, and `relevance` are backed by profile fields present across the full dataset; the post-level engagement metrics (`engagement_rate`, `avg_views`, and the nested `post_stats` object) and the `engagement_desc`/`engagement_qualified_desc` sorts are currently populated for a growing subset of creators, prioritizing the highest-reach accounts. Creators without these metrics are still returned but sort last under `engagement_desc` and omit those fields; `engagement_qualified_desc` excludes them outright (they cannot clear its floors). `engagement_desc` ranks by raw `engagement_rate` with no eligibility floor — it surfaces a real stale-record + ratio-by-design trap: an account whose last real post was years ago can still carry an unrealistic rate computed from a handful of old posts. `engagement_qualified_desc` is the same metric restricted to creators with a recent post (`last_post_at` within 90 days), a minimum reach (`avg_views >= 10000`) and sample size (`post_stats.sampled_posts >= 10`), and a sanity ceiling (`engagement_rate <= 50%`) — use this, not the raw sort, for a \"best engagement\" leaderboard. Sound fields: `post_stats.top_sounds` holds only a creator's FIVE most-used sounds from the sampled posts, ranked by use count with ties broken by lowest `music_id`, so it is a top-5 view and not the creator's full sound list; `post_stats.distinct_sounds` gives the true number of different sounds the sample used. Use each sound's `original` boolean to tell TikTok-generated original audio from catalogue tracks - do NOT infer it from the title, because TikTok localizes the original-audio label (`sonido original`, `som original`, `оригинальный звук`, and at least fifteen more), so a title match silently reclassifies original audio as named tracks. Billing: this search costs 1 credit per record returned, with a minimum of 2 (an empty result costs 2, a full page of 100 costs 100).",
+ "operationId": "datasets-creators-search",
"parameters": [
{
- "description": "First day, YYYY-MM-DD (UTC); defaults to six months before to",
+ "description": "Full-text query over handle, nickname and bio, max 256 characters",
"in": "query",
- "name": "from",
- "type": "string",
- "x-example": "2026-04-28"
+ "name": "q",
+ "type": "string"
},
{
- "description": "Last day, YYYY-MM-DD (UTC); defaults to today",
+ "description": "Exact handle lookup (case-insensitive), e.g. khaby.lame; returns the single creator with that exact @handle",
"in": "query",
- "name": "to",
- "type": "string",
- "x-example": "2026-10-28"
+ "name": "handle",
+ "type": "string"
},
{
- "description": "Tournament tier of the games counted; one of s, a, b, c, d",
- "enum": [
- "s",
- "a",
- "b",
- "c",
- "d"
- ],
+ "description": "Exact content-niche filter, max 128 characters",
"in": "query",
- "name": "tier",
+ "name": "niche",
"type": "string"
},
{
- "description": "Stat to rank by; one of rating, kd, kills, damage, assists, headshots, games, rounds; defaults to rating",
- "enum": [
- "rating",
- "kd",
- "kills",
- "damage",
- "assists",
- "headshots",
- "games",
- "rounds"
- ],
+ "description": "Exact creator country/region filter, max 128 characters",
"in": "query",
- "name": "sort",
+ "name": "country",
"type": "string"
},
{
- "description": "Direction; one of desc, asc; defaults to desc",
+ "description": "Filter by verified badge; true keeps only verified creators",
+ "in": "query",
+ "name": "verified",
+ "type": "boolean"
+ },
+ {
+ "description": "Minimum follower count",
+ "in": "query",
+ "name": "min_followers",
+ "type": "integer"
+ },
+ {
+ "description": "Filter by contact-email presence; true keeps only creators with an email",
+ "in": "query",
+ "name": "has_email",
+ "type": "boolean"
+ },
+ {
+ "description": "Return the stored contact email instead of a blanked value. Off by default for everyone, and honoured only for entitled (non-Free) API keys",
+ "in": "query",
+ "name": "include_email",
+ "type": "boolean"
+ },
+ {
+ "description": "Include deleted/private accounts; defaults to false (only live accounts returned)",
+ "in": "query",
+ "name": "include_inactive",
+ "type": "boolean"
+ },
+ {
+ "description": "Sort enum: followers_desc, engagement_desc, engagement_qualified_desc, likes_desc, relevance. engagement_desc ranks by raw post-level engagement rate, currently populated for a subset of creators (highest-reach first); creators without it sort last. engagement_qualified_desc is the same metric restricted to creators with a recent post (<=90d), a minimum reach (avg_views>=10000) and sample size (>=10 posts), and a sanity ceiling (<=50%) -- use this, not the raw sort, for a 'best engagement' leaderboard",
"enum": [
- "desc",
- "asc"
+ "followers_desc",
+ "engagement_desc",
+ "engagement_qualified_desc",
+ "likes_desc",
+ "relevance"
],
"in": "query",
- "name": "order",
+ "name": "sort",
"type": "string"
},
{
- "description": "Zero-based offset; defaults to 0",
+ "description": "Page number, defaults to 1",
"in": "query",
- "minimum": 0,
- "name": "offset",
+ "name": "page",
"type": "integer"
},
{
- "description": "Page size, 1 to 100; defaults to 20",
+ "description": "Page size, defaults to 20 and maxes at 100; page * page_size must be <= 10000",
"in": "query",
- "maximum": 100,
- "minimum": 1,
- "name": "limit",
+ "name": "page_size",
"type": "integer"
}
],
@@ -295474,19 +369109,7 @@
"200": {
"description": "OK",
"schema": {
- "allOf": [
- {
- "$ref": "#/definitions/app.Response"
- },
- {
- "properties": {
- "data": {
- "$ref": "#/definitions/bo3.LeaderboardResponse"
- }
- },
- "type": "object"
- }
- ]
+ "$ref": "#/definitions/datasets.creatorsSearchResponseDoc"
}
},
"400": {
@@ -295501,8 +369124,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -295513,48 +369136,72 @@
"ApiKeyAuth": []
}
],
- "summary": "BO3.gg CS2 player leaderboard",
+ "summary": "Search the TikTok creators dataset",
"tags": [
- "BO3"
+ "Datasets"
]
}
},
- "/bo3/player-recent-matches": {
+ "/datasets/doordash-stores/facets": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns a CS2 player's newest matches (up to 30) with the opponent, the tournament, the rounds played, each map in order with whether the player's team won it, and the player's own line for the match (rating, kills, deaths, assists, damage, first kills and deaths, trade kills and deaths, headshots, hits, shots, accuracy, money saved and equipment value). Filter by `opponent` or `tournament`. Date windows are not supported upstream; the list does not page past 30.",
- "operationId": "bo3-player-recent-matches",
+ "description": "Returns terms aggregation counts for the DoorDash store directory. Facet enum: `country`, `state`, `city`, `tags`, `display_status`, `price_range`, `dash_pass_eligible`. Accepts the same filter parameters as search to scope the aggregation. Use `facet=tags` to discover the marketplace tag values accepted by the `tag` filter.",
+ "operationId": "datasets-doordash-stores-facets",
"parameters": [
{
- "description": "Player slug, for example donk",
+ "description": "Facet enum: country, state, city, tags, display_status, price_range, dash_pass_eligible",
+ "enum": [
+ "country",
+ "state",
+ "city",
+ "tags",
+ "display_status",
+ "price_range",
+ "dash_pass_eligible"
+ ],
"in": "query",
- "name": "slug",
+ "name": "facet",
"required": true,
"type": "string",
- "x-example": "donk"
+ "x-example": "country"
},
{
- "description": "Opposing team slug, for example mouz-cs2",
+ "description": "Full-text search over store name, address, city, and marketplace tags",
"in": "query",
- "name": "opponent",
+ "name": "q",
"type": "string"
},
{
- "description": "Tournament slug from bo3-tournaments",
+ "description": "ISO-3166-1 alpha-2 country filter",
"in": "query",
- "name": "tournament",
+ "name": "country",
"type": "string"
},
{
- "default": 10,
- "description": "Newest matches to return, 1 to 30, default 10",
+ "description": "State/region code filter",
"in": "query",
- "maximum": 30,
- "minimum": 1,
- "name": "limit",
- "type": "integer"
+ "name": "state",
+ "type": "string"
+ },
+ {
+ "description": "Exact city filter",
+ "in": "query",
+ "name": "city",
+ "type": "string"
+ },
+ {
+ "description": "Single marketplace tag filter",
+ "in": "query",
+ "name": "tag",
+ "type": "string"
+ },
+ {
+ "description": "Keep only DashPass-eligible stores",
+ "in": "query",
+ "name": "dash_pass_only",
+ "type": "boolean"
}
],
"produces": [
@@ -295564,19 +369211,7 @@
"200": {
"description": "OK",
"schema": {
- "allOf": [
- {
- "$ref": "#/definitions/app.Response"
- },
- {
- "properties": {
- "data": {
- "$ref": "#/definitions/bo3.RecentMatchesResponse"
- }
- },
- "type": "object"
- }
- ]
+ "$ref": "#/definitions/datasets.doorDashStoresFacetResponseDoc"
}
},
"400": {
@@ -295585,20 +369220,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"429": {
"description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -295609,52 +369238,27 @@
"ApiKeyAuth": []
}
],
- "summary": "BO3.gg player recent matches",
+ "summary": "Facet stored DoorDash stores",
"tags": [
- "BO3"
+ "Datasets"
]
}
},
- "/bo3/player-stats": {
+ "/datasets/doordash-stores/items/{store_id}": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns one statistics view of a BO3.gg player over a day range (default: the last six months): `general` (match, game, round, kill, death, assist and damage totals), `maps` (rating, kills and damage per map) or `accuracy` (hits, damage and kills by hit group). General views fill `stats`; the other views fill `rows`.",
- "operationId": "bo3-player-stats",
+ "description": "Returns one stored DoorDash store by its DoorDash store id (digits only, e.g. `297068`) from dataset id `doordash-stores`. A store discovered but not yet hydrated may have an empty `address`/`phone` and no `location`. `display_status`, `asap_available`, and `pickup_available` are a point-in-time pickup observation at crawl time, not a durable capability.",
+ "operationId": "datasets-doordash-stores-item",
"parameters": [
{
- "description": "Player slug, for example donk",
- "in": "query",
- "name": "slug",
+ "description": "DoorDash store id (digits only), e.g. 297068",
+ "in": "path",
+ "name": "store_id",
"required": true,
"type": "string",
- "x-example": "donk"
- },
- {
- "description": "Statistics view; one of general, maps, accuracy; defaults to general",
- "enum": [
- "general",
- "maps",
- "accuracy"
- ],
- "in": "query",
- "name": "kind",
- "type": "string"
- },
- {
- "description": "First day, YYYY-MM-DD; defaults to six months before to",
- "in": "query",
- "name": "from",
- "type": "string",
- "x-example": "2026-04-28"
- },
- {
- "description": "Last day, YYYY-MM-DD; defaults to today (UTC)",
- "in": "query",
- "name": "to",
- "type": "string",
- "x-example": "2026-10-28"
+ "x-example": "297068"
}
],
"produces": [
@@ -295664,19 +369268,7 @@
"200": {
"description": "OK",
"schema": {
- "allOf": [
- {
- "$ref": "#/definitions/app.Response"
- },
- {
- "properties": {
- "data": {
- "$ref": "#/definitions/bo3.StatsResponse"
- }
- },
- "type": "object"
- }
- ]
+ "$ref": "#/definitions/datasets.doorDashStoreResponseDoc"
}
},
"400": {
@@ -295697,8 +369289,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -295709,91 +369301,88 @@
"ApiKeyAuth": []
}
],
- "summary": "BO3.gg player statistics",
+ "summary": "Get a stored DoorDash store",
"tags": [
- "BO3"
+ "Datasets"
]
}
},
- "/bo3/records": {
+ "/datasets/doordash-stores/nearby": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns BO3.gg's CS2 records (standout single-game and single-round performances such as best shots accuracy, clutches, multikills, damage, win streaks) with paging. Scope them to one `match`, `tournament`, `team` or `player` slug, filter by `record_type` (for example `game_player_headshots`), restrict the game day range with `from`/`to`, and order `newest` or `oldest`. Unscoped requests cover the last six months; each record has its value, unit, side, map, round, player, team and opponents.",
- "operationId": "bo3-records",
+ "description": "Returns stored DoorDash stores within a radius of a point, nearest first, from dataset id `doordash-stores`. lat, lon, and radius_m are required. Unlike the live /doordash/search endpoint (which is a proximity search capped at roughly five stores), this queries the stored directory, so it can return every discovered store in the radius. Coverage is best-effort rather than provably exhaustive: a store DoorDash never surfaced, or one not yet hydrated with coordinates, will not appear. Billing: this endpoint costs 1 credit per record returned, with a minimum of 2 (an empty result costs 2, a full page of 100 costs 100).",
+ "operationId": "datasets-doordash-stores-nearby",
"parameters": [
{
- "description": "First day, YYYY-MM-DD (UTC); unscoped default is six months before to",
+ "description": "Center latitude, from -90 through 90",
"in": "query",
- "name": "from",
- "type": "string",
- "x-example": "2026-04-28"
+ "name": "lat",
+ "required": true,
+ "type": "number",
+ "x-example": 40.7484257
},
{
- "description": "Last day, YYYY-MM-DD (UTC); unscoped default is today",
+ "description": "Center longitude, from -180 through 180",
"in": "query",
- "name": "to",
- "type": "string",
- "x-example": "2026-10-28"
+ "name": "lon",
+ "required": true,
+ "type": "number",
+ "x-example": -73.98567
},
{
- "description": "Record type such as game_player_headshots or game_round_player_clutch; the types present are listed in the response",
+ "description": "Search radius in meters, 1 through 50000",
"in": "query",
- "name": "record_type",
- "type": "string"
+ "name": "radius_m",
+ "required": true,
+ "type": "integer",
+ "x-example": 5000
},
{
- "description": "Match slug to scope the records to one match",
+ "description": "ISO-3166-1 alpha-2 country filter",
"in": "query",
- "name": "match",
- "type": "string",
- "x-example": "vitality-vs-natus-vincere-27-10-2026"
+ "name": "country",
+ "type": "string"
},
{
- "description": "Tournament slug to scope the records to one tournament",
+ "description": "Single marketplace tag filter",
"in": "query",
- "name": "tournament",
- "type": "string",
- "x-example": "pgl-masters-bucharest-2026"
+ "name": "tag",
+ "type": "string"
},
{
- "description": "Team slug to scope the records to one team",
+ "description": "Keep only DashPass-eligible stores",
"in": "query",
- "name": "team",
- "type": "string",
- "x-example": "vitality"
+ "name": "dash_pass_only",
+ "type": "boolean"
},
{
- "description": "Player slug to scope the records to one player",
+ "description": "Pagination mode: offset or cursor. Cursor mode supports full enumeration beyond the offset result window.",
+ "enum": [
+ "offset",
+ "cursor"
+ ],
"in": "query",
- "name": "player",
- "type": "string",
- "x-example": "donk"
+ "name": "pagination",
+ "type": "string"
},
{
- "description": "Order by game time; one of newest, oldest; defaults to newest",
- "enum": [
- "newest",
- "oldest"
- ],
+ "description": "Opaque continuation token returned in next_cursor; use with pagination=cursor and the same location and filters",
"in": "query",
- "name": "sort",
+ "name": "cursor",
"type": "string"
},
{
- "description": "Zero-based offset; defaults to 0",
+ "description": "Offset page number, defaults to 1; ignored by cursor pagination except page=1 to start",
"in": "query",
- "minimum": 0,
- "name": "offset",
+ "name": "page",
"type": "integer"
},
{
- "description": "Page size, 1 to 100; defaults to 20",
+ "description": "Page size, defaults to 20 and maxes at 100; the 10,000-result cap applies only to offset pagination",
"in": "query",
- "maximum": 100,
- "minimum": 1,
- "name": "limit",
+ "name": "page_size",
"type": "integer"
}
],
@@ -295804,19 +369393,7 @@
"200": {
"description": "OK",
"schema": {
- "allOf": [
- {
- "$ref": "#/definitions/app.Response"
- },
- {
- "properties": {
- "data": {
- "$ref": "#/definitions/bo3.RecordsFeedResponse"
- }
- },
- "type": "object"
- }
- ]
+ "$ref": "#/definitions/datasets.doorDashStoresSearchResponseDoc"
}
},
"400": {
@@ -295831,8 +369408,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -295843,41 +369420,131 @@
"ApiKeyAuth": []
}
],
- "summary": "BO3.gg CS2 records with scope and type filters",
+ "summary": "Find nearby stored DoorDash stores",
"tags": [
- "BO3"
+ "Datasets"
]
}
},
- "/bo3/team": {
+ "/datasets/doordash-stores/search": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns a BO3.gg team profile by slug: name, acronym, game, world rank and rank change, country and region, founding date, six-month earnings, logo, social links, former names, the current roster (nickname, name, birthday, six-month rating) and the team's tournament achievements, newest first. Use `game` to insist on one game; a team of another game is not found.",
- "operationId": "bo3-team",
+ "description": "Searches the DoorDash merchant-location directory (dataset id `doordash-stores`). Identity and marketplace fields (name, marketplace tags, price range, ratings, DashPass eligibility) are available for each store; contact, address, and coordinates can be missing for a store that has not been fully processed yet. `display_status`, `display_asap_time`, `asap_available`, and `pickup_available` are a point-in-time observation of the PICKUP surface at crawl time, not a durable capability. Geographic coverage is best-effort. Supports full-text `q`, `country`/`state`/`city`/`tag` filters, `dash_pass_only`, `min_price`/`max_price`/`min_rating`, `lat`/`lon`/`radius_m` radius filtering, and `sort` (relevance, rating, distance, distance_asc). `sort=relevance` ranks by text-match score when `q` is supplied; without `q` it sorts by store name. Use `pagination=cursor` and the returned `next_cursor` to enumerate beyond the 10,000-result offset window against a point-in-time snapshot. Billing: this search costs 1 credit per record returned, with a minimum of 2 (an empty result costs 2, a full page of 100 costs 100).",
+ "operationId": "datasets-doordash-stores-search",
"parameters": [
{
- "description": "Team slug, for example vitality",
+ "description": "Full-text search over store name, address, city, and marketplace tags, max 256 characters",
"in": "query",
- "name": "slug",
- "required": true,
- "type": "string",
- "x-example": "vitality"
+ "name": "q",
+ "type": "string"
},
{
- "description": "Game the team must belong to; one of cs2, valorant, lol, dota2, r6siege, mlbb",
+ "description": "ISO-3166-1 alpha-2 country filter, e.g. US, CA",
+ "in": "query",
+ "name": "country",
+ "type": "string"
+ },
+ {
+ "description": "State/region code filter, e.g. CA",
+ "in": "query",
+ "name": "state",
+ "type": "string"
+ },
+ {
+ "description": "Exact city filter",
+ "in": "query",
+ "name": "city",
+ "type": "string"
+ },
+ {
+ "description": "Single marketplace tag filter, e.g. Pizza",
+ "in": "query",
+ "name": "tag",
+ "type": "string"
+ },
+ {
+ "description": "Keep only DashPass-eligible stores",
+ "in": "query",
+ "name": "dash_pass_only",
+ "type": "boolean"
+ },
+ {
+ "description": "Minimum price range tier, inclusive",
+ "in": "query",
+ "name": "min_price",
+ "type": "integer"
+ },
+ {
+ "description": "Maximum price range tier, inclusive",
+ "in": "query",
+ "name": "max_price",
+ "type": "integer"
+ },
+ {
+ "description": "Minimum aggregate rating, 0 through 5; excludes unrated stores",
+ "in": "query",
+ "name": "min_rating",
+ "type": "number"
+ },
+ {
+ "description": "Latitude for radius filtering or distance sort, requires lon",
+ "in": "query",
+ "name": "lat",
+ "type": "number"
+ },
+ {
+ "description": "Longitude for radius filtering or distance sort, requires lat",
+ "in": "query",
+ "name": "lon",
+ "type": "number"
+ },
+ {
+ "description": "Radius in meters, 1 through 50000; requires lat and lon",
+ "in": "query",
+ "name": "radius_m",
+ "type": "integer"
+ },
+ {
+ "description": "Sort enum: relevance, rating, distance, distance_asc",
"enum": [
- "cs2",
- "valorant",
- "lol",
- "dota2",
- "r6siege",
- "mlbb"
+ "relevance",
+ "rating",
+ "distance",
+ "distance_asc"
],
"in": "query",
- "name": "game",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Pagination mode: offset or cursor. Cursor mode supports full enumeration beyond the offset result window.",
+ "enum": [
+ "offset",
+ "cursor"
+ ],
+ "in": "query",
+ "name": "pagination",
+ "type": "string"
+ },
+ {
+ "description": "Opaque continuation token returned in next_cursor; use with pagination=cursor and the same filters and sort",
+ "in": "query",
+ "name": "cursor",
"type": "string"
+ },
+ {
+ "description": "Offset page number, defaults to 1; ignored by cursor pagination except page=1 to start",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, defaults to 20 and maxes at 100; the 10,000-result cap applies only to offset pagination",
+ "in": "query",
+ "name": "page_size",
+ "type": "integer"
}
],
"produces": [
@@ -295887,19 +369554,7 @@
"200": {
"description": "OK",
"schema": {
- "allOf": [
- {
- "$ref": "#/definitions/app.Response"
- },
- {
- "properties": {
- "data": {
- "$ref": "#/definitions/bo3.TeamInfo"
- }
- },
- "type": "object"
- }
- ]
+ "$ref": "#/definitions/datasets.doorDashStoresSearchResponseDoc"
}
},
"400": {
@@ -295908,20 +369563,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"429": {
"description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -295932,62 +369581,144 @@
"ApiKeyAuth": []
}
],
- "summary": "BO3.gg team profile",
+ "summary": "Search the DoorDash store directory",
"tags": [
- "BO3"
+ "Datasets"
]
}
},
- "/bo3/team-prize-money": {
+ "/datasets/facebook-pages/facets": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns BO3.gg's teams ranked by the prize money they won in tournaments that ended inside a day range (default: the last six months), for one game with paging up to 100 per page. Each team has its prize money in USD, tournament wins, country and region and its current roster with each player's career prize money and six-month rating. `total` and `has_more` page through all teams that earned money in the window.",
- "operationId": "bo3-team-prize-money",
+ "description": "Returns value counts for the Facebook Pages dataset, by the required `facet`: `category` or `discovery_source`. Search filters such as `q`, `min_likes` and `has_email` narrow the counts. Default order is most common first; `order=value_asc` pages alphabetically using `after` and `next_after`, with `limit` up to 200.",
+ "operationId": "datasets-facebook-pages-facets",
"parameters": [
{
- "description": "Game; one of cs2, valorant, lol, dota2, r6siege, mlbb; defaults to cs2",
+ "description": "Facet values per response, default 50, maximum 200",
+ "in": "query",
+ "name": "limit",
+ "type": "integer"
+ },
+ {
+ "description": "count_desc returns most common values; value_asc pages through all values",
"enum": [
- "cs2",
- "valorant",
- "lol",
- "dota2",
- "r6siege",
- "mlbb"
+ "count_desc",
+ "value_asc"
],
"in": "query",
- "name": "game",
+ "name": "order",
"type": "string"
},
{
- "description": "First day, YYYY-MM-DD (UTC); defaults to six months before to",
+ "description": "Continuation from next_after; requires order=value_asc and unchanged filters",
"in": "query",
- "name": "from",
- "type": "string",
- "x-example": "2026-04-28"
+ "name": "after",
+ "type": "string"
},
{
- "description": "Last day, YYYY-MM-DD (UTC); defaults to today",
+ "description": "Facet enum: category, discovery_source",
+ "enum": [
+ "category",
+ "discovery_source"
+ ],
"in": "query",
- "name": "to",
+ "name": "facet",
+ "required": true,
"type": "string",
- "x-example": "2026-10-28"
+ "x-example": "category"
},
{
- "description": "Zero-based offset; defaults to 0",
+ "description": "Full-text query over title and address, max 256 characters",
"in": "query",
- "minimum": 0,
- "name": "offset",
+ "name": "q",
+ "type": "string"
+ },
+ {
+ "description": "Exact Facebook Page id filter, max 128 characters",
+ "in": "query",
+ "name": "page_id",
+ "type": "string"
+ },
+ {
+ "description": "Exact Page username/identifier filter (case-insensitive), max 128 characters",
+ "in": "query",
+ "name": "identifier",
+ "type": "string"
+ },
+ {
+ "description": "Exact Page category filter (case-insensitive), max 128 characters",
+ "in": "query",
+ "name": "category",
+ "type": "string"
+ },
+ {
+ "description": "Exact filter for how the Page was discovered (e.g. business_search, warc_domain_scan, wikidata), max 128 characters",
+ "in": "query",
+ "name": "discovery_source",
+ "type": "string"
+ },
+ {
+ "description": "Filter by a linked website",
+ "in": "query",
+ "name": "has_website",
+ "type": "boolean"
+ },
+ {
+ "description": "Filter by a public contact email",
+ "in": "query",
+ "name": "has_email",
+ "type": "boolean"
+ },
+ {
+ "description": "Filter by at least one public phone number",
+ "in": "query",
+ "name": "has_phone",
+ "type": "boolean"
+ },
+ {
+ "description": "Filter by a public WhatsApp contact",
+ "in": "query",
+ "name": "has_whatsapp",
+ "type": "boolean"
+ },
+ {
+ "description": "Minimum Page like count",
+ "in": "query",
+ "name": "min_likes",
"type": "integer"
},
{
- "description": "Page size, 1 to 100; defaults to 20",
+ "description": "Maximum Page like count",
"in": "query",
- "maximum": 100,
- "minimum": 1,
- "name": "limit",
+ "name": "max_likes",
"type": "integer"
+ },
+ {
+ "description": "Records last refreshed on or after this date (RFC3339 or YYYY-MM-DD)",
+ "in": "query",
+ "name": "hydrated_after",
+ "type": "string"
+ },
+ {
+ "description": "Records last refreshed on or before this date (RFC3339 or YYYY-MM-DD)",
+ "in": "query",
+ "name": "hydrated_before",
+ "type": "string"
+ },
+ {
+ "description": "Sort enum: relevance, likes_desc, likes_asc, hydrated_at_desc, hydrated_at_asc",
+ "enum": [
+ "relevance",
+ "likes_desc",
+ "likes_asc",
+ "hydrated_at_desc",
+ "hydrated_at_asc"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
}
],
"produces": [
@@ -295997,19 +369728,7 @@
"200": {
"description": "OK",
"schema": {
- "allOf": [
- {
- "$ref": "#/definitions/app.Response"
- },
- {
- "properties": {
- "data": {
- "$ref": "#/definitions/bo3.TeamPrizeMoneyResponse"
- }
- },
- "type": "object"
- }
- ]
+ "$ref": "#/definitions/datasets.facebookPagesFacetResponseDoc"
}
},
"400": {
@@ -296024,8 +369743,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -296036,33 +369755,27 @@
"ApiKeyAuth": []
}
],
- "summary": "BO3.gg team prize money by period",
+ "summary": "Facet the Facebook Pages dataset",
"tags": [
- "BO3"
+ "Datasets"
]
}
},
- "/bo3/team-ranking-dates": {
+ "/datasets/facebook-pages/items/{page_id}": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns the days for which Valve published an official ranking for a game (newest first) and the region labels BO3.gg accepts for that game's team rankings. Use it to choose `date` and `region` for bo3-team-rankings.",
- "operationId": "bo3-team-ranking-dates",
+ "description": "Returns one public Facebook Page contact record from the dataset by `page_id`: title, username, category, address, website, email, phones, WhatsApp, like count and source URL. `contact_observed_at` marks when contact fields were last seen complete. A Page not in the dataset returns 404.",
+ "operationId": "datasets-facebook-pages-item",
"parameters": [
{
- "description": "Game; one of cs2, valorant, lol, dota2, r6siege, mlbb; defaults to cs2",
- "enum": [
- "cs2",
- "valorant",
- "lol",
- "dota2",
- "r6siege",
- "mlbb"
- ],
- "in": "query",
- "name": "game",
- "type": "string"
+ "description": "Facebook Page id, max 128 characters",
+ "in": "path",
+ "name": "page_id",
+ "required": true,
+ "type": "string",
+ "x-example": "100067013529598"
}
],
"produces": [
@@ -296072,19 +369785,7 @@
"200": {
"description": "OK",
"schema": {
- "allOf": [
- {
- "$ref": "#/definitions/app.Response"
- },
- {
- "properties": {
- "data": {
- "$ref": "#/definitions/bo3.TeamRankingDatesResponse"
- }
- },
- "type": "object"
- }
- ]
+ "$ref": "#/definitions/datasets.facebookPageResponseDoc"
}
},
"400": {
@@ -296105,8 +369806,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -296117,156 +369818,121 @@
"ApiKeyAuth": []
}
],
- "summary": "BO3.gg official ranking dates and regions",
+ "summary": "Get a Facebook Page from the dataset",
"tags": [
- "BO3"
+ "Datasets"
]
}
},
- "/bo3/team-rankings": {
+ "/datasets/facebook-pages/search": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns BO3.gg's team ranking for a game, worldwide or for one region, for the latest day or any past `date`, paged up to 100 per page. A date that Valve published (listed by bo3-team-ranking-dates) returns the official Valve ranking (`source` `valve_official`, `official` true); other dates return BO3.gg's own daily ranking (`internal`). Rows carry rank, rank change, points, region, country and the five-player roster with ratings.",
- "operationId": "bo3-team-rankings",
+ "description": "Searches public Facebook Page contact records stored in a search index — website, email, phone, WhatsApp, category and like count, discovered through business-search enumeration, domain-scoped scans, and Wikidata seeding, then hydrated from each Page's public About tab. Sort enum: `relevance`, `likes_desc`, `likes_asc`, `hydrated_at_desc`, `hydrated_at_asc`. Billing: this search costs 1 credit per record returned, with a minimum of 2 (an empty result costs 2, a full page of 100 costs 100).",
+ "operationId": "datasets-facebook-pages-search",
"parameters": [
{
- "description": "Game; one of cs2, valorant, lol, dota2, r6siege, mlbb; defaults to cs2",
- "enum": [
- "cs2",
- "valorant",
- "lol",
- "dota2",
- "r6siege",
- "mlbb"
- ],
+ "description": "Full-text query over title and address, max 256 characters",
"in": "query",
- "name": "game",
+ "name": "q",
"type": "string"
},
{
- "description": "Region label for the game as listed by bo3-team-ranking-dates, for example Europe; omit for worldwide",
+ "description": "Exact Facebook Page id filter, max 128 characters",
"in": "query",
- "name": "region",
+ "name": "page_id",
"type": "string"
},
{
- "description": "Ranking day, YYYY-MM-DD; defaults to the latest",
+ "description": "Exact Page username/identifier filter (case-insensitive), max 128 characters",
"in": "query",
- "name": "date",
- "type": "string",
- "x-example": "2026-10-05"
+ "name": "identifier",
+ "type": "string"
},
{
- "description": "1-based page; defaults to 1",
+ "description": "Exact Page category filter (case-insensitive), max 128 characters",
"in": "query",
- "minimum": 1,
- "name": "page",
- "type": "integer"
+ "name": "category",
+ "type": "string"
},
{
- "description": "Page size, 1 to 100; defaults to 30",
+ "description": "Exact filter for how the Page was discovered (e.g. business_search, warc_domain_scan, wikidata), max 128 characters",
"in": "query",
- "maximum": 100,
- "minimum": 1,
- "name": "per_page",
- "type": "integer"
- }
- ],
- "produces": [
- "application/json"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "allOf": [
- {
- "$ref": "#/definitions/app.Response"
- },
- {
- "properties": {
- "data": {
- "$ref": "#/definitions/bo3.TeamRankingsResponse"
- }
- },
- "type": "object"
- }
- ]
- }
+ "name": "discovery_source",
+ "type": "string"
},
- "400": {
- "description": "Bad Request",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
+ {
+ "description": "Filter by a linked website",
+ "in": "query",
+ "name": "has_website",
+ "type": "boolean"
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
+ {
+ "description": "Filter by a public contact email",
+ "in": "query",
+ "name": "has_email",
+ "type": "boolean"
},
- "429": {
- "description": "Too Many Requests",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
+ {
+ "description": "Filter by at least one public phone number",
+ "in": "query",
+ "name": "has_phone",
+ "type": "boolean"
},
- "503": {
- "description": "Service Unavailable",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- }
- },
- "security": [
{
- "ApiKeyAuth": []
- }
- ],
- "summary": "BO3.gg team rankings, current and historical",
- "tags": [
- "BO3"
- ]
- }
- },
- "/bo3/team-recent-matches": {
- "get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns a CS2 team's newest matches (up to 30) with, for every match, the opponent, the tournament, the rounds played, each map played in order and every player's line (rating, kills, deaths, assists, damage, first kills and deaths, trade kills and deaths, headshots, hits, shots, accuracy, money saved and equipment value). Filter by `opponent` for head-to-head history or by `tournament` for one event. Date windows are not supported upstream; the newest matches come first and the list does not page past 30.",
- "operationId": "bo3-team-recent-matches",
- "parameters": [
+ "description": "Filter by a public WhatsApp contact",
+ "in": "query",
+ "name": "has_whatsapp",
+ "type": "boolean"
+ },
{
- "description": "Team slug, for example vitality",
+ "description": "Minimum Page like count",
"in": "query",
- "name": "slug",
- "required": true,
- "type": "string",
- "x-example": "vitality"
+ "name": "min_likes",
+ "type": "integer"
},
{
- "description": "Opposing team slug for head-to-head matches, for example natus-vincere",
+ "description": "Maximum Page like count",
"in": "query",
- "name": "opponent",
+ "name": "max_likes",
+ "type": "integer"
+ },
+ {
+ "description": "Records last refreshed on or after this date (RFC3339 or YYYY-MM-DD)",
+ "in": "query",
+ "name": "hydrated_after",
"type": "string"
},
{
- "description": "Tournament slug from bo3-tournaments",
+ "description": "Records last refreshed on or before this date (RFC3339 or YYYY-MM-DD)",
"in": "query",
- "name": "tournament",
+ "name": "hydrated_before",
"type": "string"
},
{
- "default": 10,
- "description": "Newest matches to return, 1 to 30, default 10",
+ "description": "Sort enum: relevance, likes_desc, likes_asc, hydrated_at_desc, hydrated_at_asc",
+ "enum": [
+ "relevance",
+ "likes_desc",
+ "likes_asc",
+ "hydrated_at_desc",
+ "hydrated_at_asc"
+ ],
"in": "query",
- "maximum": 30,
- "minimum": 1,
- "name": "limit",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Page number, defaults to 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, defaults to 20 and maxes at 100; page * page_size must be <= 10000",
+ "in": "query",
+ "name": "page_size",
"type": "integer"
}
],
@@ -296277,19 +369943,7 @@
"200": {
"description": "OK",
"schema": {
- "allOf": [
- {
- "$ref": "#/definitions/app.Response"
- },
- {
- "properties": {
- "data": {
- "$ref": "#/definitions/bo3.RecentMatchesResponse"
- }
- },
- "type": "object"
- }
- ]
+ "$ref": "#/definitions/datasets.facebookPagesSearchResponseDoc"
}
},
"400": {
@@ -296298,20 +369952,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"429": {
"description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -296322,54 +369970,229 @@
"ApiKeyAuth": []
}
],
- "summary": "BO3.gg team recent matches",
+ "summary": "Search the Facebook Pages dataset",
"tags": [
- "BO3"
+ "Datasets"
]
}
},
- "/bo3/team-stats": {
+ "/datasets/github-users/facets": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns one statistics view of a BO3.gg team over a day range (default: the last six months): `general` (match, game, round and kill totals), `advanced` (CT/T, pistol, eco, force and full-buy round records), `accuracy` (hits and damage by hit group), `economy` (win rate by own and enemy economy level) or `map-pool` (maps picked and banned). General views fill `stats`; the other views fill `rows`.",
- "operationId": "bo3-team-stats",
+ "description": "Returns terms aggregation counts for the GitHub users dataset. Facet enum: `influence_tier`, `type`, `country`, `country_code`, `state`, `city`, `domains`, `company`, `reachable`, `has_email`, `has_twitter`, `has_blog`, `active_90d`, `hireable`, `is_org`, `is_bot`, `is_suspected_automation`. influence_tier enum: `nano`, `micro`, `mid`, `macro`, `mega`. Suspected-automation records are excluded by default unless is_suspected_automation is set.",
+ "operationId": "datasets-github-users-facets",
"parameters": [
{
- "description": "Team slug, for example vitality",
+ "description": "Facet enum: influence_tier, type, country, country_code, state, city, domains, company, reachable, has_email, has_twitter, has_blog, active_90d, hireable, is_org, is_bot, is_suspected_automation",
+ "enum": [
+ "influence_tier",
+ "type",
+ "country",
+ "country_code",
+ "state",
+ "city",
+ "domains",
+ "company",
+ "reachable",
+ "has_email",
+ "has_twitter",
+ "has_blog",
+ "active_90d",
+ "hireable",
+ "is_org",
+ "is_bot",
+ "is_suspected_automation"
+ ],
"in": "query",
- "name": "slug",
+ "name": "facet",
"required": true,
"type": "string",
- "x-example": "vitality"
+ "x-example": "influence_tier"
},
{
- "description": "Statistics view; one of general, advanced, accuracy, economy, map-pool; defaults to general",
+ "description": "Full-text query over login, name, company, bio and location, max 256 characters",
+ "in": "query",
+ "name": "q",
+ "type": "string"
+ },
+ {
+ "description": "Exact login filter, max 128 characters",
+ "in": "query",
+ "name": "login",
+ "type": "string"
+ },
+ {
+ "description": "Exact normalized-company filter, max 128 characters",
+ "in": "query",
+ "name": "company",
+ "type": "string"
+ },
+ {
+ "description": "Follower-tier enum: nano, micro, mid, macro, mega",
"enum": [
- "general",
- "advanced",
- "accuracy",
- "economy",
- "map-pool"
+ "nano",
+ "micro",
+ "mid",
+ "macro",
+ "mega"
],
"in": "query",
- "name": "kind",
+ "name": "influence_tier",
"type": "string"
},
{
- "description": "First day, YYYY-MM-DD; defaults to six months before to",
+ "description": "Exact geocoded country filter, max 128 characters",
"in": "query",
- "name": "from",
- "type": "string",
- "x-example": "2026-04-28"
+ "name": "country",
+ "type": "string"
},
{
- "description": "Last day, YYYY-MM-DD; defaults to today (UTC)",
+ "description": "Exact ISO country-code filter, max 128 characters",
"in": "query",
- "name": "to",
- "type": "string",
- "x-example": "2026-10-28"
+ "name": "country_code",
+ "type": "string"
+ },
+ {
+ "description": "Exact geocoded state filter, max 128 characters",
+ "in": "query",
+ "name": "state",
+ "type": "string"
+ },
+ {
+ "description": "Exact geocoded city filter, max 128 characters",
+ "in": "query",
+ "name": "city",
+ "type": "string"
+ },
+ {
+ "description": "Interest-domain tag filter, max 128 characters",
+ "in": "query",
+ "name": "domain",
+ "type": "string"
+ },
+ {
+ "description": "Filter by public email presence",
+ "in": "query",
+ "name": "has_email",
+ "type": "boolean"
+ },
+ {
+ "description": "Filter by public Twitter/X handle presence",
+ "in": "query",
+ "name": "has_twitter",
+ "type": "boolean"
+ },
+ {
+ "description": "Filter by public blog/website presence",
+ "in": "query",
+ "name": "has_blog",
+ "type": "boolean"
+ },
+ {
+ "description": "Filter by any public contact channel",
+ "in": "query",
+ "name": "reachable",
+ "type": "boolean"
+ },
+ {
+ "description": "Filter by activity within the last 90 days",
+ "in": "query",
+ "name": "active_90d",
+ "type": "boolean"
+ },
+ {
+ "description": "Filter by the GitHub available-for-hire flag",
+ "in": "query",
+ "name": "hireable",
+ "type": "boolean"
+ },
+ {
+ "description": "Organization filter",
+ "in": "query",
+ "name": "is_org",
+ "type": "boolean"
+ },
+ {
+ "description": "Bot filter",
+ "in": "query",
+ "name": "is_bot",
+ "type": "boolean"
+ },
+ {
+ "description": "Suspected automation filter; omitted these are hidden by default",
+ "in": "query",
+ "name": "is_suspected_automation",
+ "type": "boolean"
+ },
+ {
+ "description": "Minimum follower count",
+ "in": "query",
+ "name": "min_followers",
+ "type": "integer"
+ },
+ {
+ "description": "Maximum follower count",
+ "in": "query",
+ "name": "max_followers",
+ "type": "integer"
+ },
+ {
+ "description": "Minimum public repository count",
+ "in": "query",
+ "name": "min_repos",
+ "type": "integer"
+ },
+ {
+ "description": "Minimum composite rank score",
+ "in": "query",
+ "name": "min_rank_score",
+ "type": "integer"
+ },
+ {
+ "description": "Minimum account age in years",
+ "in": "query",
+ "name": "min_account_age_years",
+ "type": "number"
+ },
+ {
+ "description": "Maximum account age in years",
+ "in": "query",
+ "name": "max_account_age_years",
+ "type": "number"
+ },
+ {
+ "description": "Latitude for radius filtering",
+ "in": "query",
+ "name": "lat",
+ "type": "number"
+ },
+ {
+ "description": "Longitude for radius filtering",
+ "in": "query",
+ "name": "lon",
+ "type": "number"
+ },
+ {
+ "description": "Radius in meters, 1 through 50000; requires lat and lon when supplied",
+ "in": "query",
+ "name": "radius_m",
+ "type": "integer"
+ },
+ {
+ "description": "Sort enum: relevance, rank_score_desc, followers_desc, account_age_desc, account_age_asc, distance_asc",
+ "enum": [
+ "relevance",
+ "rank_score_desc",
+ "followers_desc",
+ "account_age_desc",
+ "account_age_asc",
+ "distance_asc"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
}
],
"produces": [
@@ -296379,19 +370202,7 @@
"200": {
"description": "OK",
"schema": {
- "allOf": [
- {
- "$ref": "#/definitions/app.Response"
- },
- {
- "properties": {
- "data": {
- "$ref": "#/definitions/bo3.StatsResponse"
- }
- },
- "type": "object"
- }
- ]
+ "$ref": "#/definitions/datasets.githubUsersFacetResponseDoc"
}
},
"400": {
@@ -296400,20 +370211,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"429": {
"description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -296424,41 +370229,27 @@
"ApiKeyAuth": []
}
],
- "summary": "BO3.gg team statistics",
+ "summary": "Facet the GitHub users dataset",
"tags": [
- "BO3"
+ "Datasets"
]
}
},
- "/bo3/tournament": {
+ "/datasets/github-users/items/{login}": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns one BO3.gg tournament by slug: name, status, tier, event type, prize pool, dates, description, series, host city, country and region, its stages (format, status, dates), the prize distribution by place and the participating teams with their placement and prize money. The slug comes from bo3-tournaments.",
- "operationId": "bo3-tournament",
+ "description": "Returns one GitHub user from the dataset by `login`, with profile fields (name, bio, company, blog, location, email), follower, repo and 30-day activity counts, `influence_tier`, `rank_score`, geo, linked social accounts and bot or organisation flags. An unknown login returns 404.",
+ "operationId": "datasets-github-users-item",
"parameters": [
{
- "description": "Tournament slug from bo3-tournaments, for example pgl-masters-bucharest-2026",
- "in": "query",
- "name": "slug",
+ "description": "GitHub login, max 128 characters",
+ "in": "path",
+ "name": "login",
"required": true,
"type": "string",
- "x-example": "pgl-masters-bucharest-2026"
- },
- {
- "description": "Game; one of cs2, valorant, lol, dota2, r6siege, mlbb; defaults to cs2",
- "enum": [
- "cs2",
- "valorant",
- "lol",
- "dota2",
- "r6siege",
- "mlbb"
- ],
- "in": "query",
- "name": "game",
- "type": "string"
+ "x-example": "claude"
}
],
"produces": [
@@ -296468,19 +370259,7 @@
"200": {
"description": "OK",
"schema": {
- "allOf": [
- {
- "$ref": "#/definitions/app.Response"
- },
- {
- "properties": {
- "data": {
- "$ref": "#/definitions/bo3.TournamentInfo"
- }
- },
- "type": "object"
- }
- ]
+ "$ref": "#/definitions/datasets.githubUserResponseDoc"
}
},
"400": {
@@ -296501,8 +370280,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -296513,27 +370292,80 @@
"ApiKeyAuth": []
}
],
- "summary": "BO3.gg tournament detail",
+ "summary": "Get a GitHub user from the dataset",
"tags": [
- "BO3"
+ "Datasets"
]
}
},
- "/bo3/tournament-map-pool": {
+ "/datasets/github-users/nearby": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns the maps played at a CS2 tournament: games and rounds per map, CT-side and T-side round wins with the CT win percentage, and picked and banned counts. The upstream returns the whole event and ignores stage filters.",
- "operationId": "bo3-tournament-map-pool",
+ "description": "Searches enriched GitHub users near a coordinate, sorted by distance, in dataset id enum value `github-users`. influence_tier enum: `nano`, `micro`, `mid`, `macro`, `mega`. Billing: this endpoint costs 1 credit per record returned, with a minimum of 2 (an empty result costs 2, a full page of 100 costs 100).",
+ "operationId": "datasets-github-users-nearby",
"parameters": [
{
- "description": "CS2 tournament slug from bo3-tournaments, for example pgl-masters-bucharest-2026",
+ "description": "Latitude",
"in": "query",
- "name": "slug",
+ "name": "lat",
"required": true,
- "type": "string",
- "x-example": "pgl-masters-bucharest-2026"
+ "type": "number",
+ "x-example": 40.7484257
+ },
+ {
+ "description": "Longitude",
+ "in": "query",
+ "name": "lon",
+ "required": true,
+ "type": "number",
+ "x-example": -73.98567
+ },
+ {
+ "description": "Radius in meters, max 50000",
+ "in": "query",
+ "name": "radius_m",
+ "required": true,
+ "type": "integer",
+ "x-example": 5000
+ },
+ {
+ "description": "Follower-tier enum: nano, micro, mid, macro, mega",
+ "enum": [
+ "nano",
+ "micro",
+ "mid",
+ "macro",
+ "mega"
+ ],
+ "in": "query",
+ "name": "influence_tier",
+ "type": "string"
+ },
+ {
+ "description": "Filter by any public contact channel",
+ "in": "query",
+ "name": "reachable",
+ "type": "boolean"
+ },
+ {
+ "description": "Minimum follower count",
+ "in": "query",
+ "name": "min_followers",
+ "type": "integer"
+ },
+ {
+ "description": "Page number, defaults to 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, defaults to 20 and maxes at 100; page * page_size must be <= 10000",
+ "in": "query",
+ "name": "page_size",
+ "type": "integer"
}
],
"produces": [
@@ -296543,19 +370375,7 @@
"200": {
"description": "OK",
"schema": {
- "allOf": [
- {
- "$ref": "#/definitions/app.Response"
- },
- {
- "properties": {
- "data": {
- "$ref": "#/definitions/bo3.TournamentMapPoolResponse"
- }
- },
- "type": "object"
- }
- ]
+ "$ref": "#/definitions/datasets.githubUsersSearchResponseDoc"
}
},
"400": {
@@ -296564,20 +370384,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"429": {
"description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -296588,47 +370402,213 @@
"ApiKeyAuth": []
}
],
- "summary": "BO3.gg CS2 tournament map pool",
+ "summary": "Search nearby GitHub users",
"tags": [
- "BO3"
+ "Datasets"
]
}
},
- "/bo3/tournament-mvps": {
+ "/datasets/github-users/search": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns the tournament most-valuable-player awards BO3.gg publishes, newest first, optionally for one game: the award type, tournament, player, team and the BO3 article about it. Every row seen has the type `mvp`.",
- "operationId": "bo3-tournament-mvps",
+ "description": "Searches enriched public GitHub user profiles stored in a search index. influence_tier enum: `nano`, `micro`, `mid`, `macro`, `mega`. Sort enum: `relevance`, `rank_score_desc`, `followers_desc`, `account_age_desc`, `account_age_asc`, `distance_asc`. Billing: this search costs 1 credit per record returned, with a minimum of 2 (an empty result costs 2, a full page of 100 costs 100).",
+ "operationId": "datasets-github-users-search",
"parameters": [
{
- "description": "Game; one of cs2, valorant, lol, dota2, r6siege, mlbb; defaults to every game",
+ "description": "Full-text query over login, name, company, bio and location, max 256 characters",
+ "in": "query",
+ "name": "q",
+ "type": "string"
+ },
+ {
+ "description": "Exact login filter, max 128 characters",
+ "in": "query",
+ "name": "login",
+ "type": "string"
+ },
+ {
+ "description": "Exact normalized-company filter, max 128 characters",
+ "in": "query",
+ "name": "company",
+ "type": "string"
+ },
+ {
+ "description": "Follower-tier enum: nano, micro, mid, macro, mega",
"enum": [
- "cs2",
- "valorant",
- "lol",
- "dota2",
- "r6siege",
- "mlbb"
+ "nano",
+ "micro",
+ "mid",
+ "macro",
+ "mega"
],
"in": "query",
- "name": "game",
+ "name": "influence_tier",
"type": "string"
},
{
- "description": "Zero-based offset; defaults to 0",
+ "description": "Exact geocoded country filter, max 128 characters",
"in": "query",
- "minimum": 0,
- "name": "offset",
+ "name": "country",
+ "type": "string"
+ },
+ {
+ "description": "Exact ISO country-code filter, max 128 characters",
+ "in": "query",
+ "name": "country_code",
+ "type": "string"
+ },
+ {
+ "description": "Exact geocoded state filter, max 128 characters",
+ "in": "query",
+ "name": "state",
+ "type": "string"
+ },
+ {
+ "description": "Exact geocoded city filter, max 128 characters",
+ "in": "query",
+ "name": "city",
+ "type": "string"
+ },
+ {
+ "description": "Interest-domain tag filter (e.g. ml-ai, web, devops), max 128 characters",
+ "in": "query",
+ "name": "domain",
+ "type": "string"
+ },
+ {
+ "description": "Filter by public email presence",
+ "in": "query",
+ "name": "has_email",
+ "type": "boolean"
+ },
+ {
+ "description": "Filter by public Twitter/X handle presence",
+ "in": "query",
+ "name": "has_twitter",
+ "type": "boolean"
+ },
+ {
+ "description": "Filter by public blog/website presence",
+ "in": "query",
+ "name": "has_blog",
+ "type": "boolean"
+ },
+ {
+ "description": "Filter by any public contact channel",
+ "in": "query",
+ "name": "reachable",
+ "type": "boolean"
+ },
+ {
+ "description": "Filter by activity within the last 90 days",
+ "in": "query",
+ "name": "active_90d",
+ "type": "boolean"
+ },
+ {
+ "description": "Filter by the GitHub available-for-hire flag",
+ "in": "query",
+ "name": "hireable",
+ "type": "boolean"
+ },
+ {
+ "description": "Organization filter (normally false; the crawl indexes individuals)",
+ "in": "query",
+ "name": "is_org",
+ "type": "boolean"
+ },
+ {
+ "description": "Bot filter (normally false; the crawl skips bots)",
+ "in": "query",
+ "name": "is_bot",
+ "type": "boolean"
+ },
+ {
+ "description": "Suspected automation (commit-farm/mass-repo bots); omitted these are hidden by default, pass true to isolate them",
+ "in": "query",
+ "name": "is_suspected_automation",
+ "type": "boolean"
+ },
+ {
+ "description": "Minimum follower count",
+ "in": "query",
+ "name": "min_followers",
"type": "integer"
},
{
- "description": "Page size, 1 to 100; defaults to 20",
+ "description": "Maximum follower count",
"in": "query",
- "maximum": 100,
- "minimum": 1,
- "name": "limit",
+ "name": "max_followers",
+ "type": "integer"
+ },
+ {
+ "description": "Minimum public repository count",
+ "in": "query",
+ "name": "min_repos",
+ "type": "integer"
+ },
+ {
+ "description": "Minimum composite rank score",
+ "in": "query",
+ "name": "min_rank_score",
+ "type": "integer"
+ },
+ {
+ "description": "Minimum account age in years",
+ "in": "query",
+ "name": "min_account_age_years",
+ "type": "number"
+ },
+ {
+ "description": "Maximum account age in years",
+ "in": "query",
+ "name": "max_account_age_years",
+ "type": "number"
+ },
+ {
+ "description": "Latitude for radius filtering or distance sort",
+ "in": "query",
+ "name": "lat",
+ "type": "number"
+ },
+ {
+ "description": "Longitude for radius filtering or distance sort",
+ "in": "query",
+ "name": "lon",
+ "type": "number"
+ },
+ {
+ "description": "Radius in meters, 1 through 50000; requires lat and lon when supplied",
+ "in": "query",
+ "name": "radius_m",
+ "type": "integer"
+ },
+ {
+ "description": "Sort enum: relevance, rank_score_desc, followers_desc, account_age_desc, account_age_asc, distance_asc",
+ "enum": [
+ "relevance",
+ "rank_score_desc",
+ "followers_desc",
+ "account_age_desc",
+ "account_age_asc",
+ "distance_asc"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Page number, defaults to 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, defaults to 20 and maxes at 100; page * page_size must be <= 10000",
+ "in": "query",
+ "name": "page_size",
"type": "integer"
}
],
@@ -296639,19 +370619,7 @@
"200": {
"description": "OK",
"schema": {
- "allOf": [
- {
- "$ref": "#/definitions/app.Response"
- },
- {
- "properties": {
- "data": {
- "$ref": "#/definitions/bo3.TournamentMVPsResponse"
- }
- },
- "type": "object"
- }
- ]
+ "$ref": "#/definitions/datasets.githubUsersSearchResponseDoc"
}
},
"400": {
@@ -296660,20 +370628,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"429": {
"description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -296684,27 +370646,67 @@
"ApiKeyAuth": []
}
],
- "summary": "BO3.gg esports tournament MVPs",
+ "summary": "Search the GitHub users dataset",
"tags": [
- "BO3"
+ "Datasets"
]
}
},
- "/bo3/tournament-squads": {
+ "/datasets/goodreads-authors/facets": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns every team's squad at a CS2 tournament as it played there: team, and each player with nickname, name, photo, coach flag and stand-in flag. Use it to see who actually played, including substitutes.",
- "operationId": "bo3-tournament-squads",
+ "description": "Returns value counts over the Goodreads authors dataset for the required `facet`, either `genres` or `run_id`. Filters `q`, `name`, `genre`, `run_id`, `min_rating` (0 to 5) and `min_ratings_count` narrow the result, which lists the top 50 values with their counts.",
+ "operationId": "datasets-goodreads-authors-facets",
"parameters": [
{
- "description": "CS2 tournament slug from bo3-tournaments, for example pgl-masters-bucharest-2026",
+ "description": "Facet enum: genres, run_id",
+ "enum": [
+ "genres",
+ "run_id"
+ ],
"in": "query",
- "name": "slug",
+ "name": "facet",
"required": true,
"type": "string",
- "x-example": "pgl-masters-bucharest-2026"
+ "x-example": "genres"
+ },
+ {
+ "description": "Full-text query over name, about and genres, max 256 characters",
+ "in": "query",
+ "name": "q",
+ "type": "string"
+ },
+ {
+ "description": "Exact author name filter, max 128 characters",
+ "in": "query",
+ "name": "name",
+ "type": "string"
+ },
+ {
+ "description": "Exact genre filter, max 128 characters",
+ "in": "query",
+ "name": "genre",
+ "type": "string"
+ },
+ {
+ "description": "Exact crawl run-id filter, max 128 characters",
+ "in": "query",
+ "name": "run_id",
+ "type": "string"
+ },
+ {
+ "description": "Minimum average rating, 0 through 5",
+ "in": "query",
+ "name": "min_rating",
+ "type": "number"
+ },
+ {
+ "description": "Minimum number of ratings",
+ "in": "query",
+ "name": "min_ratings_count",
+ "type": "integer"
}
],
"produces": [
@@ -296714,19 +370716,7 @@
"200": {
"description": "OK",
"schema": {
- "allOf": [
- {
- "$ref": "#/definitions/app.Response"
- },
- {
- "properties": {
- "data": {
- "$ref": "#/definitions/bo3.TournamentSquadsResponse"
- }
- },
- "type": "object"
- }
- ]
+ "$ref": "#/definitions/datasets.goodreadsAuthorsFacetResponseDoc"
}
},
"400": {
@@ -296735,20 +370725,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"429": {
"description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -296759,41 +370743,27 @@
"ApiKeyAuth": []
}
],
- "summary": "BO3.gg CS2 tournament squads",
+ "summary": "Facet Goodreads authors dataset",
"tags": [
- "BO3"
+ "Datasets"
]
}
},
- "/bo3/tournament-stages": {
+ "/datasets/goodreads-authors/items/{id}": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns the stages of one BO3.gg tournament in order: title, format type (for example `group` or `playoff`), whether it is on hold, promotion team count and dates. An unknown tournament slug returns 404.",
- "operationId": "bo3-tournament-stages",
+ "description": "Returns one Goodreads author from the dataset by numeric author `id`. The record has name, about text, genres, birth and death dates, website, average rating, ratings and reviews counts, image and Goodreads URL. An id not in the dataset returns 404.",
+ "operationId": "datasets-goodreads-authors-item",
"parameters": [
{
- "description": "Game; one of cs2, valorant, lol, dota2, r6siege, mlbb; defaults to cs2",
- "enum": [
- "cs2",
- "valorant",
- "lol",
- "dota2",
- "r6siege",
- "mlbb"
- ],
- "in": "query",
- "name": "game",
- "type": "string"
- },
- {
- "description": "Tournament slug from bo3-tournaments, for example pgl-masters-bucharest-2026",
- "in": "query",
- "name": "slug",
+ "description": "Goodreads author id, e.g. 153394",
+ "in": "path",
+ "name": "id",
"required": true,
"type": "string",
- "x-example": "pgl-masters-bucharest-2026"
+ "x-example": "153394"
}
],
"produces": [
@@ -296803,19 +370773,7 @@
"200": {
"description": "OK",
"schema": {
- "allOf": [
- {
- "$ref": "#/definitions/app.Response"
- },
- {
- "properties": {
- "data": {
- "$ref": "#/definitions/bo3.TournamentStagesResponse"
- }
- },
- "type": "object"
- }
- ]
+ "$ref": "#/definitions/datasets.goodreadsAuthorResponseDoc"
}
},
"400": {
@@ -296836,8 +370794,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -296848,92 +370806,78 @@
"ApiKeyAuth": []
}
],
- "summary": "BO3.gg esports tournament stages",
+ "summary": "Get a Goodreads author from dataset",
"tags": [
- "BO3"
+ "Datasets"
]
}
},
- "/bo3/tournaments": {
+ "/datasets/goodreads-authors/search": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns BO3.gg esports tournaments for one game with paging and filters: `status` (`current`, `upcoming`, `finished`), `tier` (`s` to `d`), `event_type` (`lan`, `online`) and `sort` (`newest`, `oldest`, `prize` for the largest prize pool first), up to 100 per page. Each tournament has its slug, name, status, tier, event type, prize pool in USD, dates and image; `total` and `has_more` page through the full list (over 3,000 CS2 events).",
- "operationId": "bo3-tournaments",
+ "description": "Searches the crawled public Goodreads author profile index. Authors are discovered as a byproduct of the books crawl (every credited book contributor, plus the genre/search/list seed sources) — not a full catalog. Sort enum: `relevance`, `rating_desc`, `reviews_desc`, `name_asc`. Billing: this search costs 1 credit per record returned, with a minimum of 2 (an empty result costs 2, a full page of 100 costs 100).",
+ "operationId": "datasets-goodreads-authors-search",
"parameters": [
{
- "description": "Game; one of cs2, valorant, lol, dota2, r6siege, mlbb; defaults to cs2",
- "enum": [
- "cs2",
- "valorant",
- "lol",
- "dota2",
- "r6siege",
- "mlbb"
- ],
+ "description": "Full-text query over name, about and genres, max 256 characters",
"in": "query",
- "name": "game",
+ "name": "q",
"type": "string"
},
{
- "description": "Tournament status; one of current, upcoming, finished",
- "enum": [
- "current",
- "upcoming",
- "finished"
- ],
+ "description": "Exact author name filter, max 128 characters",
"in": "query",
- "name": "status",
+ "name": "name",
"type": "string"
},
{
- "description": "Tournament tier; one of s, a, b, c, d",
- "enum": [
- "s",
- "a",
- "b",
- "c",
- "d"
- ],
+ "description": "Exact genre filter (e.g. Fantasy, Romance, Nonfiction), max 128 characters",
"in": "query",
- "name": "tier",
+ "name": "genre",
"type": "string"
},
{
- "description": "Event type; one of lan, online",
- "enum": [
- "lan",
- "online"
- ],
+ "description": "Exact crawl run-id filter, max 128 characters",
"in": "query",
- "name": "event_type",
+ "name": "run_id",
"type": "string"
},
{
- "description": "Order; one of newest, oldest, prize; defaults to newest",
+ "description": "Minimum average rating, 0 through 5",
+ "in": "query",
+ "name": "min_rating",
+ "type": "number"
+ },
+ {
+ "description": "Minimum number of ratings",
+ "in": "query",
+ "name": "min_ratings_count",
+ "type": "integer"
+ },
+ {
+ "description": "Sort enum: relevance, rating_desc, reviews_desc, name_asc",
"enum": [
- "newest",
- "oldest",
- "prize"
+ "relevance",
+ "rating_desc",
+ "reviews_desc",
+ "name_asc"
],
"in": "query",
"name": "sort",
"type": "string"
},
{
- "description": "Zero-based offset; defaults to 0",
+ "description": "Page number, defaults to 1",
"in": "query",
- "minimum": 0,
- "name": "offset",
+ "name": "page",
"type": "integer"
},
{
- "description": "Page size, 1 to 100; defaults to 20",
+ "description": "Page size, defaults to 20 and maxes at 100; page * page_size must be <= 10000",
"in": "query",
- "maximum": 100,
- "minimum": 1,
- "name": "limit",
+ "name": "page_size",
"type": "integer"
}
],
@@ -296944,19 +370888,7 @@
"200": {
"description": "OK",
"schema": {
- "allOf": [
- {
- "$ref": "#/definitions/app.Response"
- },
- {
- "properties": {
- "data": {
- "$ref": "#/definitions/bo3.TournamentListResponse"
- }
- },
- "type": "object"
- }
- ]
+ "$ref": "#/definitions/datasets.goodreadsAuthorsSearchResponseDoc"
}
},
"400": {
@@ -296971,8 +370903,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -296983,79 +370915,197 @@
"ApiKeyAuth": []
}
],
- "summary": "BO3.gg tournament list with filters",
+ "summary": "Search Goodreads authors dataset",
"tags": [
- "BO3"
+ "Datasets"
]
}
},
- "/bo3/transfers": {
+ "/datasets/goodreads-books/facets": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns BO3.gg's esports player and coach transfer feed, newest first by default, with paging and filters: `team_id` (moves into or out of one team), `player_id`, `action` (`join`, `change`, `leave`) and `role` (`player`, `coach`). The feed cannot be filtered by game upstream, so every row carries its `game` instead; narrow it with a team or player id.",
- "operationId": "bo3-transfers",
+ "description": "Returns terms aggregation counts for the Goodreads books dataset. Facet enum: `genres`, `format`, `language`, `publisher`, `primary_author`, `primary_author_id`, `series_name`, `publication_year`, `run_id`.",
+ "operationId": "datasets-goodreads-books-facets",
"parameters": [
{
- "description": "BO3 team id; transfers into or out of this team",
+ "description": "Facet enum: genres, format, language, publisher, primary_author, primary_author_id, series_name, publication_year, run_id",
+ "enum": [
+ "genres",
+ "format",
+ "language",
+ "publisher",
+ "primary_author",
+ "primary_author_id",
+ "series_name",
+ "publication_year",
+ "run_id"
+ ],
"in": "query",
- "minimum": 1,
- "name": "team_id",
- "type": "integer"
+ "name": "facet",
+ "required": true,
+ "type": "string",
+ "x-example": "genres"
},
{
- "description": "BO3 player id; this person's transfers",
+ "description": "Full-text query over title, author and description, max 256 characters",
"in": "query",
- "minimum": 1,
- "name": "player_id",
- "type": "integer"
+ "name": "q",
+ "type": "string"
},
{
- "description": "Transfer action; one of join, change, leave",
- "enum": [
- "join",
- "change",
- "leave"
- ],
+ "description": "Exact genre filter, max 128 characters",
"in": "query",
- "name": "action",
+ "name": "genre",
"type": "string"
},
{
- "description": "Role; one of player, coach",
- "enum": [
- "player",
- "coach"
- ],
+ "description": "Exact format filter, max 128 characters",
"in": "query",
- "name": "role",
+ "name": "format",
"type": "string"
},
{
- "description": "Order by date; one of newest, oldest; defaults to newest",
- "enum": [
- "newest",
- "oldest"
- ],
+ "description": "Exact language filter, max 128 characters",
"in": "query",
- "name": "sort",
+ "name": "language",
+ "type": "string"
+ },
+ {
+ "description": "Exact publisher filter, max 128 characters",
+ "in": "query",
+ "name": "publisher",
+ "type": "string"
+ },
+ {
+ "description": "Exact author name filter, max 128 characters",
+ "in": "query",
+ "name": "author",
+ "type": "string"
+ },
+ {
+ "description": "Exact Goodreads author id filter, max 128 characters",
+ "in": "query",
+ "name": "author_id",
+ "type": "string"
+ },
+ {
+ "description": "Exact series name filter, max 128 characters",
+ "in": "query",
+ "name": "series",
+ "type": "string"
+ },
+ {
+ "description": "Exact ISBN-10 filter, max 128 characters",
+ "in": "query",
+ "name": "isbn",
+ "type": "string"
+ },
+ {
+ "description": "Exact ISBN-13 filter, max 128 characters",
+ "in": "query",
+ "name": "isbn13",
"type": "string"
},
- {
- "description": "Zero-based offset; defaults to 0",
- "in": "query",
- "minimum": 0,
- "name": "offset",
- "type": "integer"
+ {
+ "description": "Exact crawl run-id filter, max 128 characters",
+ "in": "query",
+ "name": "run_id",
+ "type": "string"
+ },
+ {
+ "description": "Minimum average rating, 0 through 5",
+ "in": "query",
+ "name": "min_rating",
+ "type": "number"
+ },
+ {
+ "description": "Minimum number of ratings",
+ "in": "query",
+ "name": "min_ratings_count",
+ "type": "integer"
+ },
+ {
+ "description": "Minimum page count",
+ "in": "query",
+ "name": "min_pages",
+ "type": "integer"
+ },
+ {
+ "description": "Maximum page count",
+ "in": "query",
+ "name": "max_pages",
+ "type": "integer"
+ },
+ {
+ "description": "Minimum publication year",
+ "in": "query",
+ "name": "min_publication_year",
+ "type": "integer"
+ },
+ {
+ "description": "Maximum publication year",
+ "in": "query",
+ "name": "max_publication_year",
+ "type": "integer"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/datasets.goodreadsBooksFacetResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
},
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
{
- "description": "Page size, 1 to 100; defaults to 20",
- "in": "query",
- "maximum": 100,
- "minimum": 1,
- "name": "limit",
- "type": "integer"
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Facet Goodreads books dataset",
+ "tags": [
+ "Datasets"
+ ]
+ }
+ },
+ "/datasets/goodreads-books/items/{id}": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns one Goodreads book from the dataset by `id`. The record has title, authors, series, genres, format, page count, publisher, publication date, ISBN and ISBN-13, language, description, average rating with a one-to-five-star breakdown, and review counts. An unknown id returns 404.",
+ "operationId": "datasets-goodreads-books-item",
+ "parameters": [
+ {
+ "description": "Goodreads book id, e.g. 2767052",
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "type": "string",
+ "x-example": "2767052"
}
],
"produces": [
@@ -297065,19 +371115,7 @@
"200": {
"description": "OK",
"schema": {
- "allOf": [
- {
- "$ref": "#/definitions/app.Response"
- },
- {
- "properties": {
- "data": {
- "$ref": "#/definitions/bo3.TransfersResponse"
- }
- },
- "type": "object"
- }
- ]
+ "$ref": "#/definitions/datasets.goodreadsBookResponseDoc"
}
},
"400": {
@@ -297098,8 +371136,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -297110,75 +371148,148 @@
"ApiKeyAuth": []
}
],
- "summary": "BO3.gg esports transfer feed",
+ "summary": "Get a Goodreads book from dataset",
"tags": [
- "BO3"
+ "Datasets"
]
}
},
- "/bo3/valorant-leaderboard": {
+ "/datasets/goodreads-books/search": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns BO3.gg's Valorant player leaderboard over a day range (default: the last six months): players ranked by `sort` (`acs`, `kills`, `deaths`, `damage`, `assists`, `first_kills`, `clutches`, `first_duels`, `games`, `rounds`) in `order` (`desc`, `asc`) with paging. Each player has nickname, slug, games, rounds and every per-round average as a `stats` map; players below the API's minimum-games threshold for the window are excluded (`min_games_count`).",
- "operationId": "bo3-valorant-leaderboard",
+ "description": "Searches the crawled public Goodreads book catalog stored in a search index. Discovered from curated Listopia \"best of\" lists, a search-term sweep, and author bibliography expansion — not a full catalog. Sort enum: `relevance`, `rating_desc`, `reviews_desc`, `publication_desc`, `publication_asc`, `pages_desc`, `pages_asc`, `title_asc`. Billing: this search costs 1 credit per record returned, with a minimum of 2 (an empty result costs 2, a full page of 100 costs 100).",
+ "operationId": "datasets-goodreads-books-search",
"parameters": [
{
- "description": "First day, YYYY-MM-DD (UTC); defaults to six months before to",
+ "description": "Full-text query over title, author and description, max 256 characters",
"in": "query",
- "name": "from",
- "type": "string",
- "x-example": "2026-04-28"
+ "name": "q",
+ "type": "string"
},
{
- "description": "Last day, YYYY-MM-DD (UTC); defaults to today",
+ "description": "Exact genre filter (e.g. Fantasy, Romance, Nonfiction), max 128 characters",
"in": "query",
- "name": "to",
- "type": "string",
- "x-example": "2026-10-28"
+ "name": "genre",
+ "type": "string"
},
{
- "description": "Stat to rank by; one of acs, kills, deaths, damage, assists, first_kills, clutches, first_duels, games, rounds; defaults to acs",
- "enum": [
- "acs",
- "kills",
- "deaths",
- "damage",
- "assists",
- "first_kills",
- "clutches",
- "first_duels",
- "games",
- "rounds"
- ],
+ "description": "Exact format filter (e.g. Hardcover, Paperback, Kindle Edition), max 128 characters",
"in": "query",
- "name": "sort",
+ "name": "format",
"type": "string"
},
{
- "description": "Direction; one of desc, asc; defaults to desc",
+ "description": "Exact language filter (e.g. English, Spanish), max 128 characters",
+ "in": "query",
+ "name": "language",
+ "type": "string"
+ },
+ {
+ "description": "Exact publisher filter, max 128 characters",
+ "in": "query",
+ "name": "publisher",
+ "type": "string"
+ },
+ {
+ "description": "Exact author name filter (matches any credited contributor), max 128 characters",
+ "in": "query",
+ "name": "author",
+ "type": "string"
+ },
+ {
+ "description": "Exact Goodreads author id filter, max 128 characters",
+ "in": "query",
+ "name": "author_id",
+ "type": "string"
+ },
+ {
+ "description": "Exact series name filter, max 128 characters",
+ "in": "query",
+ "name": "series",
+ "type": "string"
+ },
+ {
+ "description": "Exact ISBN-10 filter, max 128 characters",
+ "in": "query",
+ "name": "isbn",
+ "type": "string"
+ },
+ {
+ "description": "Exact ISBN-13 filter, max 128 characters",
+ "in": "query",
+ "name": "isbn13",
+ "type": "string"
+ },
+ {
+ "description": "Exact crawl run-id filter, max 128 characters",
+ "in": "query",
+ "name": "run_id",
+ "type": "string"
+ },
+ {
+ "description": "Minimum average rating, 0 through 5",
+ "in": "query",
+ "name": "min_rating",
+ "type": "number"
+ },
+ {
+ "description": "Minimum number of ratings",
+ "in": "query",
+ "name": "min_ratings_count",
+ "type": "integer"
+ },
+ {
+ "description": "Minimum page count",
+ "in": "query",
+ "name": "min_pages",
+ "type": "integer"
+ },
+ {
+ "description": "Maximum page count",
+ "in": "query",
+ "name": "max_pages",
+ "type": "integer"
+ },
+ {
+ "description": "Minimum publication year",
+ "in": "query",
+ "name": "min_publication_year",
+ "type": "integer"
+ },
+ {
+ "description": "Maximum publication year",
+ "in": "query",
+ "name": "max_publication_year",
+ "type": "integer"
+ },
+ {
+ "description": "Sort enum: relevance, rating_desc, reviews_desc, publication_desc, publication_asc, pages_desc, pages_asc, title_asc",
"enum": [
- "desc",
- "asc"
+ "relevance",
+ "rating_desc",
+ "reviews_desc",
+ "publication_desc",
+ "publication_asc",
+ "pages_desc",
+ "pages_asc",
+ "title_asc"
],
"in": "query",
- "name": "order",
+ "name": "sort",
"type": "string"
},
{
- "description": "Zero-based offset; defaults to 0",
+ "description": "Page number, defaults to 1",
"in": "query",
- "minimum": 0,
- "name": "offset",
+ "name": "page",
"type": "integer"
},
{
- "description": "Page size, 1 to 100; defaults to 20",
+ "description": "Page size, defaults to 20 and maxes at 100; page * page_size must be <= 10000",
"in": "query",
- "maximum": 100,
- "minimum": 1,
- "name": "limit",
+ "name": "page_size",
"type": "integer"
}
],
@@ -297189,19 +371300,7 @@
"200": {
"description": "OK",
"schema": {
- "allOf": [
- {
- "$ref": "#/definitions/app.Response"
- },
- {
- "properties": {
- "data": {
- "$ref": "#/definitions/bo3.ValorantLeaderboardResponse"
- }
- },
- "type": "object"
- }
- ]
+ "$ref": "#/definitions/datasets.goodreadsBooksSearchResponseDoc"
}
},
"400": {
@@ -297216,8 +371315,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -297228,84 +371327,159 @@
"ApiKeyAuth": []
}
],
- "summary": "BO3.gg Valorant player leaderboard",
+ "summary": "Search Goodreads books dataset",
"tags": [
- "BO3"
+ "Datasets"
]
}
},
- "/bonhams/auctions/search": {
+ "/datasets/google-map-businesses/facets": {
"get": {
"consumes": [
"application/json"
],
- "description": "Searches and filters Bonhams' auctions. Default status \"upcoming\" excludes ended auctions, matching bonhams.com's own default; \"past\" browses Bonhams' full historical auction archive instead.",
- "operationId": "bonhams-auction-search",
+ "description": "Returns terms aggregation counts for Google Maps businesses. Facet enum: `category`, `country`, `state`, `state_code`, `county`, `county_code`, `city`, `town`, `website_status`. Category facet values are exact locale-specific Google Maps labels and can be localized, non-ASCII, or contain punctuation; pass a returned value unchanged to the category filter. `state` and `county` keep each country's own administrative vocabulary (e.g. `Provincia de Madrid`, `Département du Nord`); `state_code` and `county_code` are ISO 3166-2 codes populated today only for Canadian provinces and territories (e.g. `CA-ON`) and Irish counties (e.g. `IE-D`); every other record, including all US rows, carries no code and is absent from the code facets.",
+ "operationId": "datasets-google-map-businesses-facets",
"parameters": [
{
- "description": "Free-text search across auction title and department names",
+ "description": "Facet enum: category, country, state, state_code, county, county_code, city, town, website_status",
+ "enum": [
+ "category",
+ "country",
+ "state",
+ "state_code",
+ "county",
+ "county_code",
+ "city",
+ "town",
+ "website_status"
+ ],
"in": "query",
- "name": "q",
+ "name": "facet",
+ "required": true,
"type": "string",
- "x-example": "Home & Interiors"
+ "x-example": "category"
},
{
- "description": "Comma-separated country names (not a fixed enum -- live facet)",
+ "description": "Full-text business search query, max 256 characters; every term must match the name, address, headline or category (filler words such as in, near and the are ignored)",
"in": "query",
- "name": "country",
- "type": "string",
- "x-example": "United Kingdom"
+ "name": "q",
+ "type": "string"
},
{
- "description": "Comma-separated categories. Allowed values: 20th & 21st Century Art, Asian Art, Books, History & Science, Classic Art, Decorative Arts & Furniture, Handbags, Jewels & Watches, Motoring, Popular Culture, Wine & Whisky.",
+ "description": "Exact locale-specific Google Maps category label; use the category facet to discover values, max 128 characters",
"in": "query",
"name": "category",
- "type": "string",
- "x-example": "Asian Art"
+ "type": "string"
},
{
- "description": "Comma-separated month-and-year values, e.g. \\",
+ "description": "Country filter. Accepts the full English name (\\",
"in": "query",
- "name": "month",
- "type": "string",
- "x-example": "September 2026"
+ "name": "country",
+ "type": "string"
},
{
- "description": "Comma-separated auction types",
- "enum": [
- "ONLINE",
- "PUBLIC",
- "EXHIBITION",
- "OTHER"
- ],
+ "description": "Exact state filter, max 128 characters",
"in": "query",
- "name": "auction_type",
- "type": "string",
- "x-example": "ONLINE"
+ "name": "state",
+ "type": "string"
},
{
- "description": "Filters by bidding/completion status, default upcoming",
- "enum": [
- "upcoming",
- "past",
- "all"
- ],
+ "description": "Exact county filter, max 128 characters",
"in": "query",
- "name": "status",
- "type": "string",
- "x-example": "upcoming"
+ "name": "county",
+ "type": "string"
},
{
- "description": "1-based page number, default 1",
+ "description": "Exact ISO 3166-2 state/region code filter, e.g. CA-ON, max 128 characters. Only Canadian provinces and territories carry a code today, so US codes such as US-NV return no rows; filter other countries by state, county or city. Use facet=state_code to list values",
"in": "query",
- "name": "page",
+ "name": "state_code",
+ "type": "string"
+ },
+ {
+ "description": "Exact ISO 3166-2 county/district code filter, e.g. IE-D, max 128 characters. Only Irish counties carry a code today; filter other countries by county or city. Use facet=county_code to list values",
+ "in": "query",
+ "name": "county_code",
+ "type": "string"
+ },
+ {
+ "description": "Exact city filter, max 128 characters",
+ "in": "query",
+ "name": "city",
+ "type": "string"
+ },
+ {
+ "description": "Exact town filter, max 128 characters",
+ "in": "query",
+ "name": "town",
+ "type": "string"
+ },
+ {
+ "description": "Minimum rating, 0 through 5. Businesses with no aggregate Google rating are returned with rating null, so any min_rating above 0 excludes them.",
+ "in": "query",
+ "name": "min_rating",
+ "type": "number"
+ },
+ {
+ "description": "Minimum review count",
+ "in": "query",
+ "name": "min_review_count",
"type": "integer"
},
{
- "description": "Results per page, default 24, max 100",
+ "description": "Filter by website presence",
"in": "query",
- "name": "per_page",
+ "name": "has_website",
+ "type": "boolean"
+ },
+ {
+ "description": "Filter by phone presence",
+ "in": "query",
+ "name": "has_phone",
+ "type": "boolean"
+ },
+ {
+ "description": "Filter by location presence: true keeps only mappable businesses with coordinates; false isolates locationless service-area businesses that have no map location",
+ "in": "query",
+ "name": "has_geo",
+ "type": "boolean"
+ },
+ {
+ "description": "Closure filter. true keeps only businesses Google marks Permanently closed; false excludes them, keeping every business not known to be closed. Most rows have never been status-checked and are returned with permanently_closed null, which means unknown, not open.",
+ "in": "query",
+ "name": "permanently_closed",
+ "type": "boolean"
+ },
+ {
+ "description": "Latitude for radius filtering",
+ "in": "query",
+ "name": "lat",
+ "type": "number"
+ },
+ {
+ "description": "Longitude for radius filtering",
+ "in": "query",
+ "name": "lon",
+ "type": "number"
+ },
+ {
+ "description": "Radius in meters, 1 through 50000; requires lat and lon when supplied",
+ "in": "query",
+ "name": "radius_m",
"type": "integer"
+ },
+ {
+ "description": "Sort enum: relevance, updated_at_desc, rating_desc, review_count_desc, distance_asc",
+ "enum": [
+ "relevance",
+ "updated_at_desc",
+ "rating_desc",
+ "review_count_desc",
+ "distance_asc"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
}
],
"produces": [
@@ -297315,7 +371489,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bonhams.auctionSearchResponseDoc"
+ "$ref": "#/definitions/datasets.googleMapBusinessesFacetResponseDoc"
}
},
"400": {
@@ -297324,14 +371498,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -297342,27 +371516,27 @@
"ApiKeyAuth": []
}
],
- "summary": "Search Bonhams auctions",
+ "summary": "Facet stored Google Maps businesses",
"tags": [
- "Bonhams"
+ "Datasets"
]
}
},
- "/bonhams/auctions/{id}": {
+ "/datasets/google-map-businesses/items/{place_id}": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns one Bonhams auction's facts by id: title, category, department, country, currency, sale dates, and lot count. Unlike the search endpoint, this is not restricted to upcoming/live auctions -- a historical/ended auction id resolves too.",
- "operationId": "bonhams-auction-detail",
+ "description": "Returns one stored Google Maps business by Google place_id from dataset id enum value `google-map-businesses`. The `category` field contains the exact Google Maps category label returned for the business locale and can be localized, non-ASCII, or contain punctuation. A `rating` of `null` means no aggregate rating is available. A `review_count` of `null` means Google did not return a count; numeric `0` means Google confirmed zero reviews. Locationless service-area businesses (online/mobile/home-based) have a `null` `geo`. A `permanently_closed` of `true` means Google marks the business permanently closed; `false` means a crawl confirmed it does not; `null` means the business has not been status-checked since capture shipped on 2026-08-31 and is UNKNOWN, not open — so any total computed from this dataset includes an unknown number of closed businesses.",
+ "operationId": "datasets-google-map-businesses-item",
"parameters": [
{
- "description": "Bonhams auction id",
+ "description": "Google Place ID, max 256 characters",
"in": "path",
- "name": "id",
+ "name": "place_id",
"required": true,
"type": "string",
- "x-example": "32001"
+ "x-example": "ChIJ99URUeOAhYAR0J5ZUxTesDQ"
}
],
"produces": [
@@ -297372,7 +371546,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bonhams.auctionDetailResponseDoc"
+ "$ref": "#/definitions/datasets.googleMapBusinessResponseDoc"
}
},
"400": {
@@ -297387,14 +371561,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -297405,52 +371579,72 @@
"ApiKeyAuth": []
}
],
- "summary": "Get a Bonhams auction's normalized facts",
+ "summary": "Get a stored Google Maps business",
"tags": [
- "Bonhams"
+ "Datasets"
]
}
},
- "/bonhams/auctions/{id}/lots": {
+ "/datasets/google-map-businesses/nearby": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns the lot listing for one Bonhams auction, optionally filtered by department and/or a free-text query.",
- "operationId": "bonhams-auction-lots",
+ "description": "Searches stored Google Maps businesses near a coordinate in dataset id enum value `google-map-businesses`. `category` is the exact Google Maps category label returned for the business locale; it can be localized, non-ASCII, or contain punctuation, so use the category facet to discover exact filter values. A `rating` of `null` means no aggregate rating is available. A `review_count` of `null` means Google did not return a count; numeric `0` means Google confirmed zero reviews. `min_rating` above 0 excludes unrated businesses. Billing: this endpoint costs 1 credit per record returned, with a minimum of 2 (an empty result costs 2, a full page of 100 costs 100).",
+ "operationId": "datasets-google-map-businesses-nearby",
"parameters": [
{
- "description": "Bonhams auction id",
- "in": "path",
- "name": "id",
+ "description": "Latitude",
+ "in": "query",
+ "name": "lat",
"required": true,
- "type": "string",
- "x-example": "32001"
+ "type": "number",
+ "x-example": 40.7484257
},
{
- "description": "Free-text search across lot title, catalog description, and footnotes",
+ "description": "Longitude",
"in": "query",
- "name": "q",
- "type": "string",
- "x-example": "candelabra"
+ "name": "lon",
+ "required": true,
+ "type": "number",
+ "x-example": -73.98567
},
{
- "description": "Comma-separated department names (not a fixed enum -- varies per auction)",
+ "description": "Radius in meters, max 50000",
"in": "query",
- "name": "department",
- "type": "string",
- "x-example": "Silver"
+ "name": "radius_m",
+ "required": true,
+ "type": "integer",
+ "x-example": 5000
},
{
- "description": "1-based page number, default 1",
+ "description": "Exact locale-specific Google Maps category label; use the category facet to discover values, max 128 characters",
+ "in": "query",
+ "name": "category",
+ "type": "string"
+ },
+ {
+ "description": "Minimum rating, 0 through 5. Businesses with no aggregate Google rating are returned with rating null, so any min_rating above 0 excludes them.",
+ "in": "query",
+ "name": "min_rating",
+ "type": "number"
+ },
+ {
+ "description": "Minimum review count",
+ "in": "query",
+ "name": "min_review_count",
+ "type": "integer"
+ },
+ {
+ "description": "Page number, defaults to 1",
"in": "query",
"name": "page",
"type": "integer"
},
{
- "description": "Results per page, default 48, max 100",
+ "description": "Page size, defaults to 20 and maxes at 100; page * page_size must be <= 10000",
"in": "query",
- "name": "per_page",
+ "name": "page_size",
"type": "integer"
}
],
@@ -297461,7 +371655,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bonhams.auctionLotsResponseDoc"
+ "$ref": "#/definitions/datasets.googleMapBusinessesSearchResponseDoc"
}
},
"400": {
@@ -297470,14 +371664,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -297488,76 +371682,151 @@
"ApiKeyAuth": []
}
],
- "summary": "List the lots in a Bonhams auction",
+ "summary": "Search nearby stored Google Maps businesses",
"tags": [
- "Bonhams"
+ "Datasets"
]
}
},
- "/bonhams/lots/search": {
+ "/datasets/google-map-businesses/search": {
"get": {
"consumes": [
"application/json"
],
- "description": "Searches Bonhams lots across every auction, current and historical -- including sold/prices-realized lots -- optionally filtered by department, country, a GBP-normalized estimate price range, and/or a free-text query, in a caller-selected sort order. Without a query and without an explicit sort, results are ordered by most recently active sale date first.",
- "operationId": "bonhams-lot-search",
+ "description": "Searches Google Maps business records stored in a search index. Sort enum: `relevance`, `updated_at_desc`, `rating_desc`, `review_count_desc`, `distance_asc`. `category` is the exact Google Maps category label returned for the business locale; it can be localized, non-ASCII, or contain punctuation, so use the category facet to discover exact filter values. A `rating` of `null` means no aggregate rating is available. A `review_count` of `null` means Google did not return a count; numeric `0` means Google confirmed zero reviews. `rating_desc` sorts unrated businesses last, and `min_rating` above 0 excludes them. Use `has_geo=false` to isolate locationless service-area businesses (which have a `null` `geo`). A `permanently_closed` of `true` means Google marks the business permanently closed; `false` means a crawl confirmed it does not; `null` means the business has not been status-checked since capture shipped on 2026-08-31 and is UNKNOWN, not open — so any total computed from this dataset includes an unknown number of closed businesses. Use `permanently_closed=false` to exclude the confirmed-closed ones. Billing: this search costs 1 credit per record returned, with a minimum of 2 (an empty result costs 2, a full page of 100 costs 100).",
+ "operationId": "datasets-google-map-businesses-search",
"parameters": [
{
- "description": "Free-text search across lot title, catalog description, and footnotes",
+ "description": "Full-text business search query, max 256 characters; every term must match the name, address, headline or category (filler words such as in, near and the are ignored)",
"in": "query",
"name": "q",
- "type": "string",
- "x-example": "Rolex Submariner"
+ "type": "string"
},
{
- "description": "Comma-separated department names (not a fixed enum -- large, changes over time)",
+ "description": "Exact locale-specific Google Maps category label; use the category facet to discover values, max 128 characters",
"in": "query",
- "name": "department",
- "type": "string",
- "x-example": "Watches"
+ "name": "category",
+ "type": "string"
},
{
- "description": "Comma-separated country names (not a fixed enum -- live facet)",
+ "description": "Country filter. Accepts the full English name (\\",
"in": "query",
"name": "country",
- "type": "string",
- "x-example": "United States"
+ "type": "string"
},
{
- "description": "Minimum estimate, in GBP (converted from each lot's own sale currency), inclusive. Omit or 0 for no minimum.",
+ "description": "Exact state filter, max 128 characters",
"in": "query",
- "name": "min_price_gbp",
+ "name": "state",
+ "type": "string"
+ },
+ {
+ "description": "Exact county filter, max 128 characters",
+ "in": "query",
+ "name": "county",
+ "type": "string"
+ },
+ {
+ "description": "Exact ISO 3166-2 state/region code filter, e.g. CA-ON, max 128 characters. Only Canadian provinces and territories carry a code today, so US codes such as US-NV return no rows; filter other countries by state, county or city. Use facet=state_code to list values",
+ "in": "query",
+ "name": "state_code",
+ "type": "string"
+ },
+ {
+ "description": "Exact ISO 3166-2 county/district code filter, e.g. IE-D, max 128 characters. Only Irish counties carry a code today; filter other countries by county or city. Use facet=county_code to list values",
+ "in": "query",
+ "name": "county_code",
+ "type": "string"
+ },
+ {
+ "description": "Exact city filter, max 128 characters",
+ "in": "query",
+ "name": "city",
+ "type": "string"
+ },
+ {
+ "description": "Exact town filter, max 128 characters",
+ "in": "query",
+ "name": "town",
+ "type": "string"
+ },
+ {
+ "description": "Minimum rating, 0 through 5. Businesses with no aggregate Google rating are returned with rating null, so any min_rating above 0 excludes them.",
+ "in": "query",
+ "name": "min_rating",
"type": "number"
},
{
- "description": "Maximum estimate, in GBP (converted from each lot's own sale currency), inclusive. Omit or 0 for no maximum.",
+ "description": "Minimum review count",
"in": "query",
- "name": "max_price_gbp",
+ "name": "min_review_count",
+ "type": "integer"
+ },
+ {
+ "description": "Filter by website presence",
+ "in": "query",
+ "name": "has_website",
+ "type": "boolean"
+ },
+ {
+ "description": "Filter by phone presence",
+ "in": "query",
+ "name": "has_phone",
+ "type": "boolean"
+ },
+ {
+ "description": "Filter by location presence: true keeps only mappable businesses with coordinates; false isolates locationless service-area businesses that have no map location",
+ "in": "query",
+ "name": "has_geo",
+ "type": "boolean"
+ },
+ {
+ "description": "Closure filter. true keeps only businesses Google marks Permanently closed; false excludes them, keeping every business not known to be closed. Most rows have never been status-checked and are returned with permanently_closed null, which means unknown, not open.",
+ "in": "query",
+ "name": "permanently_closed",
+ "type": "boolean"
+ },
+ {
+ "description": "Latitude for radius filtering or distance sort",
+ "in": "query",
+ "name": "lat",
"type": "number"
},
{
- "description": "Result order. Default: Typesense relevance ranking when q is set, otherwise recency (most recently active sale date first).",
+ "description": "Longitude for radius filtering or distance sort",
+ "in": "query",
+ "name": "lon",
+ "type": "number"
+ },
+ {
+ "description": "Radius in meters, 1 through 50000; requires lat and lon when supplied",
+ "in": "query",
+ "name": "radius_m",
+ "type": "integer"
+ },
+ {
+ "description": "Sort enum: relevance, updated_at_desc, rating_desc, review_count_desc, distance_asc",
"enum": [
"relevance",
- "recency",
- "price_high",
- "price_low",
- "lot_number"
+ "updated_at_desc",
+ "rating_desc",
+ "review_count_desc",
+ "distance_asc"
],
"in": "query",
"name": "sort",
"type": "string"
},
{
- "description": "1-based page number, default 1",
+ "description": "Page number, defaults to 1",
"in": "query",
"name": "page",
"type": "integer"
},
{
- "description": "Results per page, default 48, max 100",
+ "description": "Page size, defaults to 20 and maxes at 100; page * page_size must be <= 10000",
"in": "query",
- "name": "per_page",
+ "name": "page_size",
"type": "integer"
}
],
@@ -297568,7 +371837,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/bonhams.lotSearchResponseDoc"
+ "$ref": "#/definitions/datasets.googleMapBusinessesSearchResponseDoc"
}
},
"400": {
@@ -297577,14 +371846,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -297595,98 +371864,170 @@
"ApiKeyAuth": []
}
],
- "summary": "Search Bonhams lots across every auction",
+ "summary": "Search stored Google Maps businesses",
"tags": [
- "Bonhams"
+ "Datasets"
]
}
},
- "/bonhams/lots/{auctionId}/{lotNumber}": {
+ "/datasets/housing-markets/facets": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns one Bonhams lot's facts: title, estimate range, hammer/realized price (once sold), sale date, category, department, and lot number. Full lot description prose, condition-report text, and additional images are not reproduced -- see the response fields.",
- "operationId": "bonhams-lot-detail",
+ "description": "Returns terms aggregation counts for the housing markets dataset. Facet enum: `region_type`, `state_code`, `property_type`, `parent_metro`, `parent_metro_code`, `income_vintage`, `is_latest`, `period_begin`. region_type enum: `national`, `metro`, `county`, `city`, `zip`. property_type enum: `All Residential`, `Single Family Residential`, `Condo/Co-op`, `Townhouse`, `Multi-Family (2-4 Unit)`, `Single Units Only`.",
+ "operationId": "datasets-housing-markets-facets",
"parameters": [
{
- "description": "Bonhams auction id",
- "in": "path",
- "name": "auctionId",
+ "description": "Facet enum: region_type, state_code, property_type, parent_metro, parent_metro_code, income_vintage, is_latest, period_begin",
+ "enum": [
+ "region_type",
+ "state_code",
+ "property_type",
+ "parent_metro",
+ "parent_metro_code",
+ "income_vintage",
+ "is_latest",
+ "period_begin"
+ ],
+ "in": "query",
+ "name": "facet",
"required": true,
"type": "string",
- "x-example": "32001"
+ "x-example": "region_type"
},
{
- "description": "Bonhams lot number",
- "in": "path",
- "name": "lotNumber",
- "required": true,
- "type": "string",
- "x-example": "2"
- }
- ],
- "produces": [
- "application/json"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/bonhams.lotDetailResponseDoc"
- }
+ "description": "Full-text query over region name and city, max 256 characters",
+ "in": "query",
+ "name": "q",
+ "type": "string"
},
- "400": {
- "description": "Bad Request",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
+ {
+ "description": "Region level enum: national, metro, county, city, zip",
+ "enum": [
+ "national",
+ "metro",
+ "county",
+ "city",
+ "zip"
+ ],
+ "in": "query",
+ "name": "region_type",
+ "type": "string"
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
+ {
+ "description": "Exact two-letter state code filter, e.g. CA",
+ "in": "query",
+ "name": "state_code",
+ "type": "string"
},
- "500": {
- "description": "Internal Server Error",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
+ {
+ "description": "Property type enum: All Residential, Single Family Residential, Condo/Co-op, Townhouse, Multi-Family (2-4 Unit), Single Units Only",
+ "in": "query",
+ "name": "property_type",
+ "type": "string"
},
- "503": {
- "description": "Service Unavailable",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- }
- },
- "security": [
{
- "ApiKeyAuth": []
- }
- ],
- "summary": "Get a Bonhams lot's normalized facts",
- "tags": [
- "Bonhams"
- ]
- }
- },
- "/booking-attractions/detail": {
- "get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns the details of one Booking.com attraction by `slug`, taken from `products[].slug` in a `booking-attractions-search` result: `name`, `short_description`, `description`, `duration`, `price` with `currency`, `review_score`, `review_count` and `city`. The returned `id` is the `product_id` for `booking-attractions-reviews`.",
- "operationId": "booking-attractions-detail",
- "parameters": [
+ "description": "Exact parent metro (CBSA) code filter, e.g. 16980",
+ "in": "query",
+ "name": "parent_metro_code",
+ "type": "string"
+ },
{
- "description": "Attraction slug, from a prior attraction search result",
+ "description": "Exact zip code filter (zip-level rows only), e.g. 60616",
"in": "query",
- "name": "slug",
- "required": true,
- "type": "string",
- "x-example": "pre4ksvwxdrd-seine-river-sightseeing-cruise"
+ "name": "zip_code",
+ "type": "string"
+ },
+ {
+ "description": "Exact period start date filter, YYYY-MM-DD",
+ "in": "query",
+ "name": "period",
+ "type": "string"
+ },
+ {
+ "description": "Filter for the most recent period per region and property type",
+ "in": "query",
+ "name": "latest",
+ "type": "boolean"
+ },
+ {
+ "description": "Minimum median sale price in USD",
+ "in": "query",
+ "name": "min_median_sale_price",
+ "type": "number"
+ },
+ {
+ "description": "Maximum median sale price in USD",
+ "in": "query",
+ "name": "max_median_sale_price",
+ "type": "number"
+ },
+ {
+ "description": "Minimum median list price in USD",
+ "in": "query",
+ "name": "min_median_list_price",
+ "type": "number"
+ },
+ {
+ "description": "Maximum median list price in USD",
+ "in": "query",
+ "name": "max_median_list_price",
+ "type": "number"
+ },
+ {
+ "description": "Minimum price-to-income ratio",
+ "in": "query",
+ "name": "min_price_to_income",
+ "type": "number"
+ },
+ {
+ "description": "Maximum price-to-income ratio",
+ "in": "query",
+ "name": "max_price_to_income",
+ "type": "number"
+ },
+ {
+ "description": "Minimum salary needed to buy in USD per year",
+ "in": "query",
+ "name": "min_salary_to_buy",
+ "type": "integer"
+ },
+ {
+ "description": "Maximum salary needed to buy in USD per year",
+ "in": "query",
+ "name": "max_salary_to_buy",
+ "type": "integer"
+ },
+ {
+ "description": "Minimum median days on market",
+ "in": "query",
+ "name": "min_median_dom",
+ "type": "number"
+ },
+ {
+ "description": "Maximum median days on market",
+ "in": "query",
+ "name": "max_median_dom",
+ "type": "number"
+ },
+ {
+ "description": "Minimum active inventory",
+ "in": "query",
+ "name": "min_inventory",
+ "type": "integer"
+ },
+ {
+ "description": "Maximum active inventory",
+ "in": "query",
+ "name": "max_inventory",
+ "type": "integer"
+ },
+ {
+ "description": "Minimum homes sold in the period",
+ "in": "query",
+ "name": "min_homes_sold",
+ "type": "integer"
}
],
"produces": [
@@ -297696,7 +372037,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/booking.bookingAttractionDetailResponseDoc"
+ "$ref": "#/definitions/datasets.housingMarketsFacetResponseDoc"
}
},
"400": {
@@ -297705,20 +372046,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"429": {
"description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -297729,41 +372064,60 @@
"ApiKeyAuth": []
}
],
- "summary": "Booking.com attraction detail",
+ "summary": "Facet the US housing markets dataset",
"tags": [
- "Booking"
+ "Datasets"
]
}
},
- "/booking-attractions/reviews": {
+ "/datasets/housing-markets/items/{region_type}/{table_id}": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns guest reviews for a Booking.com attraction. `product_id` is required and comes from `products[].id` in a `booking-attractions-search` result. `page` is 1-based (default 1) and `limit` is 1 to 50 (default 10). Each review has `score`, `content`, `reviewer_name`, `reviewer_country`, `language` and `reviewed_date`, and `total` gives the count.",
- "operationId": "booking-attractions-reviews",
+ "description": "Returns one housing-market record by region_type and Redfin table_id from dataset id enum value `housing-markets`. region_type enum: `national`, `metro`, `county`, `city`, `zip`. property_type enum: `All Residential`, `Single Family Residential`, `Condo/Co-op`, `Townhouse`, `Multi-Family (2-4 Unit)`, `Single Units Only` (defaults to `All Residential`). `period` defaults to the most recent period on record. Pass `history=true` to get the full monthly series (a `{dataset, region_type, table_id, property_type, items}` envelope, sorted by period ascending) instead of a single record.",
+ "operationId": "datasets-housing-markets-item",
"parameters": [
{
- "description": "Attraction product id, from a prior attraction search result",
- "in": "query",
- "name": "product_id",
+ "description": "Region level enum: national, metro, county, city, zip",
+ "enum": [
+ "national",
+ "metro",
+ "county",
+ "city",
+ "zip"
+ ],
+ "in": "path",
+ "name": "region_type",
"required": true,
"type": "string",
- "x-example": "PRe4kSVWXdrD"
+ "x-example": "national"
},
{
- "description": "1-based result page, default 1",
- "in": "query",
- "name": "page",
+ "description": "Redfin table id (the region's stable numeric id)",
+ "in": "path",
+ "name": "table_id",
+ "required": true,
"type": "integer",
- "x-example": 1
+ "x-example": 26097
},
{
- "description": "Reviews per page, 1-50, default 10",
+ "description": "Exact period start date, YYYY-MM-DD; defaults to the latest period",
"in": "query",
- "name": "limit",
- "type": "integer",
- "x-example": 10
+ "name": "period",
+ "type": "string"
+ },
+ {
+ "description": "Property type enum: All Residential, Single Family Residential, Condo/Co-op, Townhouse, Multi-Family (2-4 Unit), Single Units Only; defaults to All Residential",
+ "in": "query",
+ "name": "property_type",
+ "type": "string"
+ },
+ {
+ "description": "Return the full monthly series instead of a single period",
+ "in": "query",
+ "name": "history",
+ "type": "boolean"
}
],
"produces": [
@@ -297773,7 +372127,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/booking.bookingAttractionReviewsResponseDoc"
+ "$ref": "#/definitions/datasets.housingMarketItemResponseDoc"
}
},
"400": {
@@ -297794,8 +372148,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -297806,157 +372160,186 @@
"ApiKeyAuth": []
}
],
- "summary": "Booking.com attraction reviews",
+ "summary": "Get a US housing market record from the dataset",
"tags": [
- "Booking"
+ "Datasets"
]
}
},
- "/booking-attractions/search": {
+ "/datasets/housing-markets/search": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns Booking.com attractions/things-to-do search results for a destination and date range, with an optional category/subcategory filter and a discoverable category taxonomy.",
- "operationId": "booking-attractions-search",
+ "description": "Searches monthly Redfin housing-market statistics per region and property type since 2012, joined to Census ACS income for affordability metrics. region_type enum: `national`, `metro`, `county`, `city`, `zip`. property_type enum: `All Residential`, `Single Family Residential`, `Condo/Co-op`, `Townhouse`, `Multi-Family (2-4 Unit)`, `Single Units Only`. Sort enum: `relevance`, `price_desc`, `price_asc`, `list_price_desc`, `list_price_asc`, `price_to_income_desc`, `price_to_income_asc`, `salary_to_buy_desc`, `salary_to_buy_asc`, `dom_asc`, `dom_desc`, `inventory_desc`, `homes_sold_desc`, `period_desc`. Use `latest=true` for the most recent period per region series. Billing: this search costs 1 credit per record returned, with a minimum of 2 (an empty result costs 2, a full page of 100 costs 100).",
+ "operationId": "datasets-housing-markets-search",
"parameters": [
{
- "description": "Destination name or city",
+ "description": "Full-text query over region name and city, max 256 characters",
"in": "query",
- "name": "query",
- "required": true,
- "type": "string",
- "x-example": "Paris"
+ "name": "q",
+ "type": "string"
},
{
- "description": "Availability start date, YYYY-MM-DD",
+ "description": "Region level enum: national, metro, county, city, zip",
+ "enum": [
+ "national",
+ "metro",
+ "county",
+ "city",
+ "zip"
+ ],
"in": "query",
- "name": "start_date",
- "required": true,
- "type": "string",
- "x-example": "2026-09-15"
+ "name": "region_type",
+ "type": "string"
},
{
- "description": "Availability end date, YYYY-MM-DD, defaults to start_date",
+ "description": "Exact two-letter state code filter, e.g. CA",
"in": "query",
- "name": "end_date",
- "type": "string",
- "x-example": "2026-09-15"
+ "name": "state_code",
+ "type": "string"
},
{
- "description": "1-based result page, default 1",
+ "description": "Property type enum: All Residential, Single Family Residential, Condo/Co-op, Townhouse, Multi-Family (2-4 Unit), Single Units Only",
"in": "query",
- "name": "page",
- "type": "integer",
- "x-example": 1
+ "name": "property_type",
+ "type": "string"
},
{
- "description": "Results per page, 1-30, default 15",
+ "description": "Exact parent metro (CBSA) code filter, e.g. 16980",
"in": "query",
- "name": "limit",
- "type": "integer",
- "x-example": 15
+ "name": "parent_metro_code",
+ "type": "string"
},
{
- "description": "Optional top-level category tagname filter, from a prior response's categories",
+ "description": "Exact zip code filter (zip-level rows only), e.g. 60616",
"in": "query",
- "name": "category",
- "type": "string",
- "x-example": "PTCMCcodv3rh"
+ "name": "zip_code",
+ "type": "string"
},
{
- "description": "Optional subcategory tagname filter, from a prior response's categories",
+ "description": "Exact period start date filter, YYYY-MM-DD",
"in": "query",
- "name": "subcategory",
- "type": "string",
- "x-example": "PTCMCfzh93xC"
- }
- ],
- "produces": [
- "application/json"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/booking.bookingAttractionSearchResponseDoc"
- }
+ "name": "period",
+ "type": "string"
},
- "400": {
- "description": "Bad Request",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
+ {
+ "description": "Filter for the most recent period per region and property type",
+ "in": "query",
+ "name": "latest",
+ "type": "boolean"
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
+ {
+ "description": "Minimum median sale price in USD",
+ "in": "query",
+ "name": "min_median_sale_price",
+ "type": "number"
},
- "429": {
- "description": "Too Many Requests",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
+ {
+ "description": "Maximum median sale price in USD",
+ "in": "query",
+ "name": "max_median_sale_price",
+ "type": "number"
},
- "503": {
- "description": "Service Unavailable",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- }
- },
- "security": [
{
- "ApiKeyAuth": []
- }
- ],
- "summary": "Search Booking.com attractions",
- "tags": [
- "Booking"
- ]
- }
- },
- "/booking-flights/autocomplete": {
- "get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns Booking.com flight-search location suggestions (airports and cities) for `query`, which is required. `type` is `to` (default) or `from`; `origin` and `origin_type` bias results by proximity. Each result has `name`, `code`, `type`, `country`, `country_name` and `region_name`. Combine `code` and `type` as `{code}.{TYPE}` for `booking-flights-search`.",
- "operationId": "booking-flights-autocomplete",
- "parameters": [
+ "description": "Minimum median list price in USD",
+ "in": "query",
+ "name": "min_median_list_price",
+ "type": "number"
+ },
{
- "description": "City or airport name/code to search",
+ "description": "Maximum median list price in USD",
"in": "query",
- "name": "query",
- "required": true,
- "type": "string",
- "x-example": "Chengdu"
+ "name": "max_median_list_price",
+ "type": "number"
},
{
- "description": "Location role, default to",
+ "description": "Minimum price-to-income ratio",
+ "in": "query",
+ "name": "min_price_to_income",
+ "type": "number"
+ },
+ {
+ "description": "Maximum price-to-income ratio",
+ "in": "query",
+ "name": "max_price_to_income",
+ "type": "number"
+ },
+ {
+ "description": "Minimum salary needed to buy in USD per year",
+ "in": "query",
+ "name": "min_salary_to_buy",
+ "type": "integer"
+ },
+ {
+ "description": "Maximum salary needed to buy in USD per year",
+ "in": "query",
+ "name": "max_salary_to_buy",
+ "type": "integer"
+ },
+ {
+ "description": "Minimum median days on market",
+ "in": "query",
+ "name": "min_median_dom",
+ "type": "number"
+ },
+ {
+ "description": "Maximum median days on market",
+ "in": "query",
+ "name": "max_median_dom",
+ "type": "number"
+ },
+ {
+ "description": "Minimum active inventory",
+ "in": "query",
+ "name": "min_inventory",
+ "type": "integer"
+ },
+ {
+ "description": "Maximum active inventory",
+ "in": "query",
+ "name": "max_inventory",
+ "type": "integer"
+ },
+ {
+ "description": "Minimum homes sold in the period",
+ "in": "query",
+ "name": "min_homes_sold",
+ "type": "integer"
+ },
+ {
+ "description": "Sort enum: relevance, price_desc, price_asc, list_price_desc, list_price_asc, price_to_income_desc, price_to_income_asc, salary_to_buy_desc, salary_to_buy_asc, dom_asc, dom_desc, inventory_desc, homes_sold_desc, period_desc",
"enum": [
- "to",
- "from"
+ "relevance",
+ "price_desc",
+ "price_asc",
+ "list_price_desc",
+ "list_price_asc",
+ "price_to_income_desc",
+ "price_to_income_asc",
+ "salary_to_buy_desc",
+ "salary_to_buy_asc",
+ "dom_asc",
+ "dom_desc",
+ "inventory_desc",
+ "homes_sold_desc",
+ "period_desc"
],
"in": "query",
- "name": "type",
+ "name": "sort",
"type": "string"
},
{
- "description": "Optional origin location code, biases results by proximity",
+ "description": "Page number, defaults to 1",
"in": "query",
- "name": "origin",
- "type": "string",
- "x-example": "SGN"
+ "name": "page",
+ "type": "integer"
},
{
- "description": "Origin location type",
+ "description": "Page size, defaults to 20 and maxes at 100; page * page_size must be <= 10000",
"in": "query",
- "name": "origin_type",
- "type": "string",
- "x-example": "AIRPORT"
+ "name": "page_size",
+ "type": "integer"
}
],
"produces": [
@@ -297966,7 +372349,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/booking.bookingFlightAutocompleteResponseDoc"
+ "$ref": "#/definitions/datasets.housingMarketsSearchResponseDoc"
}
},
"400": {
@@ -297975,20 +372358,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"429": {
"description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -297999,102 +372376,158 @@
"ApiKeyAuth": []
}
],
- "summary": "Booking.com flight autocomplete",
+ "summary": "Search the US housing markets dataset",
"tags": [
- "Booking"
+ "Datasets"
]
}
},
- "/booking-flights/search": {
+ "/datasets/instagram-users/facets": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns Booking.com flight offers between two locations given as `from` and `to` (such as `SGN.AIRPORT`), for a `depart` date. `type` is `ROUNDTRIP` (default, needs `return`) or `ONEWAY`. Also takes `adults` (1 to 9), `children`, `cabin_class` and `sort`. Offers carry `price`, `currency` and segments with legs; the response adds `total_count` and `min_price`.",
- "operationId": "booking-flights-search",
+ "description": "Returns value counts for the Instagram users dataset by the required `facet`: `is_verified`, `is_business_account`, `has_bio`, `has_external_url`, `category_name` or `source_tier`. The counts follow the search filters, including follower ranges and creation dates, and cover up to 50 values.",
+ "operationId": "datasets-instagram-users-facets",
"parameters": [
{
- "description": "Trip type, default ROUNDTRIP",
+ "description": "Facet enum: is_verified, is_business_account, has_bio, has_external_url, category_name, source_tier",
"enum": [
- "ROUNDTRIP",
- "ONEWAY"
+ "is_verified",
+ "is_business_account",
+ "has_bio",
+ "has_external_url",
+ "category_name",
+ "source_tier"
],
"in": "query",
- "name": "type",
+ "name": "facet",
+ "required": true,
+ "type": "string",
+ "x-example": "is_verified"
+ },
+ {
+ "description": "Full-text query over username, full_name and biography, max 256 characters",
+ "in": "query",
+ "name": "q",
"type": "string"
},
{
- "description": "Origin location id, e.g. SGN.AIRPORT, from a prior autocomplete result",
+ "description": "Exact username filter (case-insensitive), max 128 characters",
"in": "query",
- "name": "from",
- "required": true,
- "type": "string",
- "x-example": "SGN.AIRPORT"
+ "name": "username",
+ "type": "string"
},
{
- "description": "Destination location id, same composite format as from",
+ "description": "Exact category filter (case-insensitive, e.g. Digital Creator), max 128 characters",
"in": "query",
- "name": "to",
- "required": true,
- "type": "string",
- "x-example": "CTU.CITY"
+ "name": "category_name",
+ "type": "string"
},
{
- "description": "Origin country code",
+ "description": "Exact filter for seed tier (e.g. crossref, vertical-hashtags, mention-graph, head-directory)",
"in": "query",
- "name": "from_country",
- "type": "string",
- "x-example": "VN"
+ "name": "source_tier",
+ "type": "string"
},
{
- "description": "Destination country code",
+ "description": "Filter by the Instagram verification checkmark",
"in": "query",
- "name": "to_country",
- "type": "string",
- "x-example": "CN"
+ "name": "is_verified",
+ "type": "boolean"
},
{
- "description": "Departure date, YYYY-MM-DD",
+ "description": "Filter by business or creator accounts",
"in": "query",
- "name": "depart",
- "required": true,
- "type": "string",
- "x-example": "2026-09-05"
+ "name": "is_business_account",
+ "type": "boolean"
},
{
- "description": "Return date, YYYY-MM-DD, required when type is ROUNDTRIP",
+ "description": "Filter by a non-empty profile biography",
"in": "query",
- "name": "return",
- "type": "string",
- "x-example": "2026-09-12"
+ "name": "has_bio",
+ "type": "boolean"
},
{
- "description": "Number of adults, 1-9, default 1",
+ "description": "Filter by a linked external URL",
"in": "query",
- "name": "adults",
- "type": "integer",
- "x-example": 1
+ "name": "has_external_url",
+ "type": "boolean"
},
{
- "description": "Number of children, 0-9",
+ "description": "Minimum follower count",
"in": "query",
- "name": "children",
- "type": "integer",
- "x-example": 0
+ "name": "min_followers",
+ "type": "integer"
},
{
- "description": "Cabin class, default ECONOMY",
+ "description": "Maximum follower count",
"in": "query",
- "name": "cabin_class",
- "type": "string",
- "x-example": "ECONOMY"
+ "name": "max_followers",
+ "type": "integer"
},
{
- "description": "Result sort order, default BEST",
+ "description": "Minimum follower-to-following ratio",
+ "in": "query",
+ "name": "min_ratio",
+ "type": "number"
+ },
+ {
+ "description": "Maximum follower-to-following ratio",
+ "in": "query",
+ "name": "max_ratio",
+ "type": "number"
+ },
+ {
+ "description": "Accounts created on or after this date (RFC3339 or YYYY-MM-DD)",
+ "in": "query",
+ "name": "created_after",
+ "type": "string"
+ },
+ {
+ "description": "Accounts created on or before this date (RFC3339 or YYYY-MM-DD)",
+ "in": "query",
+ "name": "created_before",
+ "type": "string"
+ },
+ {
+ "description": "Records last refreshed on or after this date (RFC3339 or YYYY-MM-DD)",
+ "in": "query",
+ "name": "crawled_after",
+ "type": "string"
+ },
+ {
+ "description": "Records last refreshed on or before this date (RFC3339 or YYYY-MM-DD)",
+ "in": "query",
+ "name": "crawled_before",
+ "type": "string"
+ },
+ {
+ "description": "Sort enum: relevance, followers_desc, followers_asc, crawled_at_desc, crawled_at_asc, created_at_desc, created_at_asc",
+ "enum": [
+ "relevance",
+ "followers_desc",
+ "followers_asc",
+ "crawled_at_desc",
+ "crawled_at_asc",
+ "created_at_desc",
+ "created_at_asc"
+ ],
"in": "query",
"name": "sort",
- "type": "string",
- "x-example": "BEST"
+ "type": "string"
+ },
+ {
+ "description": "Page number, defaults to 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, defaults to 20 and maxes at 100; page * page_size must be <= 10000",
+ "in": "query",
+ "name": "page_size",
+ "type": "integer"
}
],
"produces": [
@@ -298104,7 +372537,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/booking.bookingFlightSearchResponseDoc"
+ "$ref": "#/definitions/datasets.instagramUsersFacetResponseDoc"
}
},
"400": {
@@ -298113,20 +372546,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"429": {
"description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -298137,27 +372564,27 @@
"ApiKeyAuth": []
}
],
- "summary": "Search Booking.com flights",
+ "summary": "Facet the Instagram users dataset",
"tags": [
- "Booking"
+ "Datasets"
]
}
},
- "/booking/hotel-detail": {
+ "/datasets/instagram-users/items/{username}": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns a Booking.com hotel's core detail page: rating, facilities, highlights, house rules, cover photos, and rooms with their own photos.",
- "operationId": "booking-hotel-detail",
+ "description": "Returns one Instagram user from the dataset by `username`, with or without a leading @, matched case-insensitively. The record has full name, biography, external URL, avatar, verified and business flags, category, followers, following, posts and follower-to-following ratio. An unknown user returns 404.",
+ "operationId": "datasets-instagram-users-item",
"parameters": [
{
- "description": "Booking.com hotel id, from a prior search's property id",
- "in": "query",
- "name": "hotel_id",
+ "description": "Instagram username, with or without a leading @, max 128 characters",
+ "in": "path",
+ "name": "username",
"required": true,
- "type": "integer",
- "x-example": 2845972
+ "type": "string",
+ "x-example": "instagram"
}
],
"produces": [
@@ -298167,7 +372594,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/booking.bookingHotelDetailResponseDoc"
+ "$ref": "#/definitions/datasets.instagramUserResponseDoc"
}
},
"400": {
@@ -298188,8 +372615,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -298200,70 +372627,142 @@
"ApiKeyAuth": []
}
],
- "summary": "Booking.com hotel detail",
+ "summary": "Get an Instagram user from the dataset",
"tags": [
- "Booking"
+ "Datasets"
]
}
},
- "/booking/reviews": {
+ "/datasets/instagram-users/search": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns guest reviews for a Booking.com hotel. `hotel_id` and `hotel_country_code` are required, both from a `booking-search` result. `search_text` filters review content, `page` is 1-based and `limit` is 1 to 25 (default 10). Reviews have `score`, `title`, `positive_text`, `negative_text`, `room_type` and stay dates; `rating_scores` and `reviews_count` summarise the hotel.",
- "operationId": "booking-reviews",
+ "description": "Searches public Instagram user profiles stored in a search index. Sort enum: `relevance`, `followers_desc`, `followers_asc`, `crawled_at_desc`, `crawled_at_asc`, `created_at_desc`, `created_at_asc`. Billing: this search costs 1 credit per record returned, with a minimum of 2 (an empty result costs 2, a full page of 100 costs 100).",
+ "operationId": "datasets-instagram-users-search",
"parameters": [
{
- "description": "Booking.com hotel id, from a prior search's property id",
+ "description": "Full-text query over username, full_name and biography, max 256 characters",
"in": "query",
- "name": "hotel_id",
- "required": true,
- "type": "integer",
- "x-example": 2845972
+ "name": "q",
+ "type": "string"
},
{
- "description": "Destination id (ufi), from a prior search response",
+ "description": "Exact username filter (case-insensitive), max 128 characters",
"in": "query",
- "name": "destination_id",
- "type": "integer",
- "x-example": -1456928
+ "name": "username",
+ "type": "string"
},
{
- "description": "Hotel's country code, from a prior search response",
+ "description": "Exact category filter (case-insensitive, e.g. Digital Creator), max 128 characters",
"in": "query",
- "name": "hotel_country_code",
- "required": true,
- "type": "string",
- "x-example": "fr"
+ "name": "category_name",
+ "type": "string"
},
{
- "description": "Hotel's overall review score",
+ "description": "Exact filter for seed tier (e.g. crossref, vertical-hashtags, mention-graph, head-directory), max 128 characters",
"in": "query",
- "name": "hotel_score",
- "type": "number",
- "x-example": 8.2
+ "name": "source_tier",
+ "type": "string"
},
{
- "description": "Optional free-text search over review content",
+ "description": "Filter by the Instagram verification checkmark",
"in": "query",
- "name": "search_text",
- "type": "string",
- "x-example": "elevator"
+ "name": "is_verified",
+ "type": "boolean"
},
{
- "description": "1-based result page, default 1",
+ "description": "Filter by business or creator accounts",
+ "in": "query",
+ "name": "is_business_account",
+ "type": "boolean"
+ },
+ {
+ "description": "Filter by a non-empty profile biography",
+ "in": "query",
+ "name": "has_bio",
+ "type": "boolean"
+ },
+ {
+ "description": "Filter by a linked external URL",
+ "in": "query",
+ "name": "has_external_url",
+ "type": "boolean"
+ },
+ {
+ "description": "Minimum follower count",
+ "in": "query",
+ "name": "min_followers",
+ "type": "integer"
+ },
+ {
+ "description": "Maximum follower count",
+ "in": "query",
+ "name": "max_followers",
+ "type": "integer"
+ },
+ {
+ "description": "Minimum follower-to-following ratio",
+ "in": "query",
+ "name": "min_ratio",
+ "type": "number"
+ },
+ {
+ "description": "Maximum follower-to-following ratio",
+ "in": "query",
+ "name": "max_ratio",
+ "type": "number"
+ },
+ {
+ "description": "Accounts created on or after this date (RFC3339 or YYYY-MM-DD)",
+ "in": "query",
+ "name": "created_after",
+ "type": "string"
+ },
+ {
+ "description": "Accounts created on or before this date (RFC3339 or YYYY-MM-DD)",
+ "in": "query",
+ "name": "created_before",
+ "type": "string"
+ },
+ {
+ "description": "Records last refreshed on or after this date (RFC3339 or YYYY-MM-DD)",
+ "in": "query",
+ "name": "crawled_after",
+ "type": "string"
+ },
+ {
+ "description": "Records last refreshed on or before this date (RFC3339 or YYYY-MM-DD)",
+ "in": "query",
+ "name": "crawled_before",
+ "type": "string"
+ },
+ {
+ "description": "Sort enum: relevance, followers_desc, followers_asc, crawled_at_desc, crawled_at_asc, created_at_desc, created_at_asc",
+ "enum": [
+ "relevance",
+ "followers_desc",
+ "followers_asc",
+ "crawled_at_desc",
+ "crawled_at_asc",
+ "created_at_desc",
+ "created_at_asc"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Page number, defaults to 1",
"in": "query",
"name": "page",
- "type": "integer",
- "x-example": 1
+ "type": "integer"
},
{
- "description": "Reviews per page, 1-25, default 10",
+ "description": "Page size, defaults to 20 and maxes at 100; page * page_size must be <= 10000",
"in": "query",
- "name": "limit",
- "type": "integer",
- "x-example": 10
+ "name": "page_size",
+ "type": "integer"
}
],
"produces": [
@@ -298273,7 +372772,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/booking.bookingReviewsResponseDoc"
+ "$ref": "#/definitions/datasets.instagramUsersSearchResponseDoc"
}
},
"400": {
@@ -298282,20 +372781,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"429": {
"description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -298306,71 +372799,103 @@
"ApiKeyAuth": []
}
],
- "summary": "Booking.com hotel reviews",
+ "summary": "Search the Instagram users dataset",
"tags": [
- "Booking"
+ "Datasets"
]
}
},
- "/booking/search": {
+ "/datasets/jobs/companies": {
"get": {
"consumes": [
"application/json"
],
- "description": "Searches Booking.com hotels for a destination `query` between `checkin` and `checkout` (`YYYY-MM-DD`, both required). `adults` is 1 to 9 (default 2), `rooms` 1 to 8 (default 1), `children` 0 to 9, and `page` is 1-based. Each property has `name`, `price`, `currency`, `review_score`, `star_rating` and `distance`; `results_count` gives the total.",
- "operationId": "booking-search",
+ "description": "Searches the discovered company board registry — which companies are hiring, on which ATS (or, for the 5 single-company big-tech providers, which platform), with how many open roles. Set sponsors_visa=true to keep companies with certified employer filings in recent public U.S. Department of Labor LCA disclosure data. This is company-level historical evidence, not a guarantee for a specific role or candidate. provider enum: `greenhouse`, `lever`, `ashby`, `workday`, `smartrecruiters`, `workable`, `recruitee`, `rippling`, `personio`, `teamtailor`, `oracle`, `ukg`, `icims`, `eightfold`, `gem`, `pinpoint`, `amazon-jobs`, `apple-jobs`, `google-jobs`, `meta-jobs`, `tesla-jobs`. status enum: `active`, `empty`, `gone`, `blocked`, `pending`, `invalid`. sort enum: `open_desc`, `company_asc`, `crawled_desc`. Billing: this endpoint costs 1 credit per 10 records returned, rounded up, with a minimum of 1 (up to 10 records cost 1, a full page of 100 costs 10).",
+ "operationId": "datasets-jobs-companies",
"parameters": [
{
- "description": "Destination name or city",
+ "description": "Match on company name / domain",
"in": "query",
- "name": "query",
- "required": true,
- "type": "string",
- "x-example": "Paris"
+ "name": "q",
+ "type": "string"
},
{
- "description": "Check-in date, YYYY-MM-DD",
+ "description": "Provider filter",
+ "enum": [
+ "greenhouse",
+ "lever",
+ "ashby",
+ "workday",
+ "smartrecruiters",
+ "workable",
+ "recruitee",
+ "rippling",
+ "personio",
+ "teamtailor",
+ "oracle",
+ "ukg",
+ "icims",
+ "eightfold",
+ "gem",
+ "pinpoint",
+ "amazon-jobs",
+ "apple-jobs",
+ "google-jobs",
+ "meta-jobs",
+ "tesla-jobs"
+ ],
"in": "query",
- "name": "checkin",
- "required": true,
- "type": "string",
- "x-example": "2026-09-15"
+ "name": "provider",
+ "type": "string"
},
{
- "description": "Check-out date, YYYY-MM-DD",
+ "description": "Board status. Enum: active, empty, gone, blocked, pending, invalid",
+ "enum": [
+ "active",
+ "empty",
+ "gone",
+ "blocked",
+ "pending",
+ "invalid"
+ ],
"in": "query",
- "name": "checkout",
- "required": true,
- "type": "string",
- "x-example": "2026-09-17"
+ "name": "status",
+ "type": "string"
},
{
- "description": "Number of adults, 1-9, default 2",
+ "description": "Minimum open roles",
"in": "query",
- "name": "adults",
- "type": "integer",
- "x-example": 2
+ "name": "min_open_roles",
+ "type": "integer"
},
{
- "description": "Number of rooms, 1-8, default 1",
+ "description": "Keep companies with recent certified DOL LCA filings (default false)",
"in": "query",
- "name": "rooms",
- "type": "integer",
- "x-example": 1
+ "name": "sponsors_visa",
+ "type": "boolean"
},
{
- "description": "Number of children, 0-9",
+ "description": "Sort enum: open_desc, company_asc, crawled_desc",
+ "enum": [
+ "open_desc",
+ "company_asc",
+ "crawled_desc"
+ ],
"in": "query",
- "name": "children",
- "type": "integer",
- "x-example": 0
+ "name": "sort",
+ "type": "string"
},
{
- "description": "1-based result page, default 1",
+ "description": "Page number, default 1",
"in": "query",
"name": "page",
- "type": "integer",
- "x-example": 1
+ "type": "integer"
+ },
+ {
+ "description": "Page size, default 20, max 100",
+ "in": "query",
+ "name": "page_size",
+ "type": "integer"
}
],
"produces": [
@@ -298380,7 +372905,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/booking.bookingSearchResponseDoc"
+ "$ref": "#/definitions/datasets.jobsCompaniesResponseDoc"
}
},
"400": {
@@ -298389,20 +372914,65 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Find which companies are hiring",
+ "tags": [
+ "Datasets"
+ ]
+ }
+ },
+ "/datasets/jobs/companies/{id}": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns one discovered company board by its dataset board id. When the company name matches recent public U.S. Department of Labor LCA disclosure data, the response includes `lca_sponsorship` with filing counts and observed fiscal-quarter range; this is company-level historical evidence, not a guarantee for a specific role or candidate. When the board carries a known domain, the response also includes a `tech_stack` firmographic hint. Returns 404 when the board id is not in the registry.",
+ "operationId": "datasets-jobs-company-item",
+ "parameters": [
+ {
+ "description": "Dataset board id",
+ "in": "path",
+ "name": "id",
+ "required": true,
+ "type": "string",
+ "x-example": "icims:062ad50e489784f8d225"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/datasets.jobsItemResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Too Many Requests",
+ "404": {
+ "description": "Not Found",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -298413,95 +372983,25 @@
"ApiKeyAuth": []
}
],
- "summary": "Search Booking.com hotels",
+ "summary": "Get a single company by board id",
"tags": [
- "Booking"
+ "Datasets"
]
}
},
- "/boots/search": {
+ "/datasets/jobs/facets": {
"get": {
- "description": "Returns one page of Boots UK's public product catalog, including product cards and live facets. Supply `q`, one or more hierarchical `category` keys, or both. Use repeatable `filter=facet_key:option_key` values from that response's dynamic facets, plus the dedicated price and stock controls. `sort` accepts `relevance`, `price_low_to_high`, `price_high_to_low`, `top_rated`, `best_seller`, or `newest`.",
- "operationId": "boots-search",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Aggregations over all open postings: top companies hiring, breakdown by provider (every provider filterable via /datasets/jobs/search's `provider` param), department, location, employment type, skill, benefit, education, security clearance, seniority, and ESCO/ISCO job family, plus the remote share — a live hiring-market snapshot. Seniority uses one mutually exclusive value: `entry`, `mid`, or `senior`; ambiguous occupations are omitted from job-family buckets.",
+ "operationId": "datasets-jobs-facets",
"parameters": [
{
- "description": "Free-text product query; required unless category is supplied",
- "in": "query",
- "name": "q",
- "type": "string",
- "x-example": "vitamin c"
- },
- {
- "collectionFormat": "multi",
- "description": "Repeat the exact category hierarchy keys from root through the desired leaf; required unless q is supplied",
- "in": "query",
- "items": {
- "type": "string"
- },
- "name": "category",
- "type": "array",
- "x-example": "health & pharmacy"
- },
- {
- "collectionFormat": "multi",
- "description": "Repeat a dynamic facet filter as facet_key:option_key, using key/option values returned in facets; category, currentPrice, and inStock use their dedicated parameters",
- "in": "query",
- "items": {
- "type": "string"
- },
- "name": "filter",
- "type": "array",
- "x-example": "brand:No7"
- },
- {
- "description": "Inclusive minimum GBP price; may be combined with price_max",
- "in": "query",
- "name": "price_min",
- "type": "number",
- "x-example": 45
- },
- {
- "description": "Inclusive maximum GBP price; may be combined with price_min",
- "in": "query",
- "name": "price_max",
- "type": "number",
- "x-example": 100
- },
- {
- "description": "true hides out-of-stock items; false leaves stock unfiltered",
- "in": "query",
- "name": "in_stock",
- "type": "boolean",
- "x-example": true
- },
- {
- "default": 1,
- "description": "Page from 1 through 1000",
- "in": "query",
- "name": "page",
- "type": "integer"
- },
- {
- "default": 48,
- "description": "Results per page from 1 through 48",
+ "description": "Buckets per facet, default 20, max 100",
"in": "query",
- "name": "page_size",
+ "name": "size",
"type": "integer"
- },
- {
- "default": "relevance",
- "description": "Sort: relevance, price_low_to_high, price_high_to_low, top_rated, best_seller, or newest",
- "enum": [
- "relevance",
- "price_low_to_high",
- "price_high_to_low",
- "top_rated",
- "best_seller",
- "newest"
- ],
- "in": "query",
- "name": "sort",
- "type": "string"
}
],
"produces": [
@@ -298511,7 +373011,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/boots.searchResponseDoc"
+ "$ref": "#/definitions/datasets.jobsFacetResponseDoc"
}
},
"400": {
@@ -298520,14 +373020,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Too Many Requests",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -298538,24 +373032,27 @@
"ApiKeyAuth": []
}
],
- "summary": "Search Boots UK products and categories",
+ "summary": "Facet the jobs dataset (hiring market aggregates)",
"tags": [
- "Boots"
+ "Datasets"
]
}
},
- "/boots/suggest": {
+ "/datasets/jobs/items/{id}": {
"get": {
- "description": "Returns Boots UK's own public typeahead phrases for a partial product query. The suggestions are search terms only; pass one to boots-search's q parameter for product cards and live facets.",
- "operationId": "boots-suggest",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns one crawled job posting by its dataset posting id, the `posting_id` of a search result. Alongside the posting itself, `seniority_level` is `entry`, `mid` or `senior`, and occupation fields appear only when title and skills support a reliable match. An id not in the index returns 404.",
+ "operationId": "datasets-jobs-item",
"parameters": [
{
- "description": "Partial product query",
- "in": "query",
- "name": "q",
+ "description": "Dataset posting id",
+ "in": "path",
+ "name": "id",
"required": true,
"type": "string",
- "x-example": "vitamin c"
+ "x-example": "personio:8e850ee0967201fc1bf3:364429bb4364f43b"
}
],
"produces": [
@@ -298565,7 +373062,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/boots.suggestResponseDoc"
+ "$ref": "#/definitions/datasets.jobsItemResponseDoc"
}
},
"400": {
@@ -298574,14 +373071,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Too Many Requests",
+ "404": {
+ "description": "Not Found",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -298592,16 +373089,90 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Boots UK search-box suggestions",
+ "summary": "Get a single posting from the jobs dataset",
"tags": [
- "Boots"
+ "Datasets"
]
}
},
- "/bostonglobe/news": {
+ "/datasets/jobs/nearby": {
"get": {
- "description": "Returns recent Boston Globe story metadata and summaries. Article bodies, sections, headlines-by-section, and author profiles are not exposed, and some stories require a subscription.",
- "operationId": "bostonglobe-news",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Finds crawled job postings within `radius_km` of a `lat`/`lon`, nearest first. Only geocoded postings participate (the geo-enrich worker back-fills coordinates from each posting's location). Open roles only by default. provider enum: `greenhouse`, `lever`, `ashby`, `workday`, `smartrecruiters`, `workable`, `recruitee`, `rippling`, `personio`, `teamtailor`, `oracle`, `ukg`, `icims`, `eightfold`, `gem`, `pinpoint`, `amazon-jobs`, `apple-jobs`, `google-jobs`, `meta-jobs`, `tesla-jobs`. Billing: this endpoint costs 1 credit per 10 records returned, rounded up, with a minimum of 1 (up to 10 records cost 1, a full page of 100 costs 10).",
+ "operationId": "datasets-jobs-nearby",
+ "parameters": [
+ {
+ "description": "Latitude, -90..90",
+ "in": "query",
+ "name": "lat",
+ "required": true,
+ "type": "number",
+ "x-example": 40.7484257
+ },
+ {
+ "description": "Longitude, -180..180",
+ "in": "query",
+ "name": "lon",
+ "required": true,
+ "type": "number",
+ "x-example": -73.98567
+ },
+ {
+ "description": "Search radius in km, default 50, max 500",
+ "in": "query",
+ "name": "radius_km",
+ "type": "number"
+ },
+ {
+ "description": "Provider filter",
+ "enum": [
+ "greenhouse",
+ "lever",
+ "ashby",
+ "workday",
+ "smartrecruiters",
+ "workable",
+ "recruitee",
+ "rippling",
+ "personio",
+ "teamtailor",
+ "oracle",
+ "ukg",
+ "icims",
+ "eightfold",
+ "gem",
+ "pinpoint",
+ "amazon-jobs",
+ "apple-jobs",
+ "google-jobs",
+ "meta-jobs",
+ "tesla-jobs"
+ ],
+ "in": "query",
+ "name": "provider",
+ "type": "string"
+ },
+ {
+ "description": "Include closed/filled roles (default false)",
+ "in": "query",
+ "name": "include_closed",
+ "type": "boolean"
+ },
+ {
+ "description": "Page number, default 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, default 20, max 100",
+ "in": "query",
+ "name": "page_size",
+ "type": "integer"
+ }
+ ],
"produces": [
"application/json"
],
@@ -298609,17 +373180,17 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.newsResponseDoc"
+ "$ref": "#/definitions/datasets.jobsSearchResponseDoc"
}
},
- "429": {
- "description": "Too Many Requests",
+ "400": {
+ "description": "Bad Request",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -298630,70 +373201,166 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Boston Globe top stories",
+ "summary": "Find postings near a coordinate",
"tags": [
- "Boston Globe"
+ "Datasets"
]
}
},
- "/boxofficemojo/brand": {
+ "/datasets/jobs/search": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns release rows from a Box Office Mojo brand page. Pass exactly one of `id`, `path`, or `url`.",
- "operationId": "boxofficemojo-brand",
+ "description": "Full-text + faceted search over every job posting crawled from every discovered company ATS board (Greenhouse, Lever, Ashby, Workday, SmartRecruiters, Workable, Recruitee, Rippling, Personio, Teamtailor, Oracle, UKG, iCIMS, Eightfold, Gem, Pinpoint) plus 5 single-company big-tech careers platforms (Amazon, Apple, Google, Meta, Tesla). Open roles only by default (set include_closed=true for historical/filled roles). Salary is parsed from a structured field when the provider has one, or from an explicit pay figure stated in the description otherwise, so coverage varies by posting rather than by provider; min_salary/max_salary filter on it and require salary_currency, since comparing raw compensation numbers across currencies is meaningless. Location is also exposed as structured city/state/country fields alongside the free-text location string, so city/state/country filter on an exact match of those parsed components rather than substring-matching the display string. job_family is an exact level-2 ISCO family label assigned from ESCO occupation evidence; ambiguous postings remain unclassified and do not match that filter. employment_type is never populated for google-jobs/meta-jobs, and posted_at (so sort=posted_desc) is never populated for meta-jobs/tesla-jobs -- their upstream APIs expose no such field. provider enum: `greenhouse`, `lever`, `ashby`, `workday`, `smartrecruiters`, `workable`, `recruitee`, `rippling`, `personio`, `teamtailor`, `oracle`, `ukg`, `icims`, `eightfold`, `gem`, `pinpoint`, `amazon-jobs`, `apple-jobs`, `google-jobs`, `meta-jobs`, `tesla-jobs`. workplace_type enum: `onsite`, `hybrid`, `remote`. sort enum: `relevance`, `posted_desc`, `company_asc`. Billing: this search costs 1 credit per 10 records returned, rounded up, with a minimum of 1 (up to 10 records cost 1, a full page of 100 costs 10).",
+ "operationId": "datasets-jobs-search",
"parameters": [
{
- "description": "Box Office Mojo brand id",
+ "description": "Full-text over title, company, description",
"in": "query",
- "name": "id",
- "type": "string",
- "x-example": "bn3732077058"
+ "name": "q",
+ "type": "string"
},
{
- "description": "Box Office Mojo brand path",
+ "description": "Company name match",
"in": "query",
- "name": "path",
- "type": "string",
- "x-example": "/brand/bn3732077058/"
+ "name": "company",
+ "type": "string"
},
{
- "description": "Absolute https://www.boxofficemojo.com brand URL",
+ "description": "Provider filter",
+ "enum": [
+ "greenhouse",
+ "lever",
+ "ashby",
+ "workday",
+ "smartrecruiters",
+ "workable",
+ "recruitee",
+ "rippling",
+ "personio",
+ "teamtailor",
+ "oracle",
+ "ukg",
+ "icims",
+ "eightfold",
+ "gem",
+ "pinpoint",
+ "amazon-jobs",
+ "apple-jobs",
+ "google-jobs",
+ "meta-jobs",
+ "tesla-jobs"
+ ],
"in": "query",
- "name": "url",
- "type": "string",
- "x-example": "https://www.boxofficemojo.com/brand/bn3732077058/"
+ "name": "provider",
+ "type": "string"
},
{
- "description": "Sort field",
+ "description": "Exact department filter",
+ "in": "query",
+ "name": "department",
+ "type": "string"
+ },
+ {
+ "description": "Location match",
+ "in": "query",
+ "name": "location",
+ "type": "string"
+ },
+ {
+ "description": "Exact city filter (parsed location component)",
+ "in": "query",
+ "name": "city",
+ "type": "string"
+ },
+ {
+ "description": "Exact state/region filter (parsed location component)",
+ "in": "query",
+ "name": "state",
+ "type": "string"
+ },
+ {
+ "description": "Exact country filter (parsed location component); ISO country code or name, matched case-insensitively",
+ "in": "query",
+ "name": "country",
+ "type": "string"
+ },
+ {
+ "description": "Exact employment-type filter",
+ "in": "query",
+ "name": "employment_type",
+ "type": "string"
+ },
+ {
+ "description": "Exact ESCO/ISCO job-family label filter",
+ "in": "query",
+ "name": "job_family",
+ "type": "string"
+ },
+ {
+ "description": "Filter by remote (true or false)",
+ "in": "query",
+ "name": "remote",
+ "type": "boolean"
+ },
+ {
+ "description": "Workplace type filter",
"enum": [
- "grossToDate",
- "maxNumTheaters",
- "openingWeekendGross",
- "openingNumTheaters",
- "releaseDate"
+ "onsite",
+ "hybrid",
+ "remote"
],
"in": "query",
- "name": "sort",
+ "name": "workplace_type",
+ "type": "string"
+ },
+ {
+ "description": "Include closed/filled roles (default false = open only)",
+ "in": "query",
+ "name": "include_closed",
+ "type": "boolean"
+ },
+ {
+ "description": "Minimum salary (matches postings whose range reaches at least this); requires salary_currency",
+ "in": "query",
+ "name": "min_salary",
+ "type": "number"
+ },
+ {
+ "description": "Maximum salary (matches postings whose range starts at or below this); requires salary_currency",
+ "in": "query",
+ "name": "max_salary",
+ "type": "number"
+ },
+ {
+ "description": "3-letter ISO currency code (e.g. USD) the min_salary/max_salary bounds are in; required when either bound is set",
+ "in": "query",
+ "name": "salary_currency",
"type": "string"
},
{
- "description": "Sort direction",
+ "description": "Sort enum: relevance, posted_desc, company_asc",
"enum": [
- "asc",
- "desc"
+ "relevance",
+ "posted_desc",
+ "company_asc"
],
"in": "query",
- "name": "sortDir",
+ "name": "sort",
"type": "string"
},
{
- "description": "Row offset for pagination (page size 100)",
+ "description": "Page number, default 1",
"in": "query",
- "name": "offset",
- "type": "integer",
- "x-example": 0
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, default 20, max 100; page*page_size must be <= 10000",
+ "in": "query",
+ "name": "page_size",
+ "type": "integer"
}
],
"produces": [
@@ -298703,7 +373370,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/boxofficemojo.taxonomyDetailResponseDoc"
+ "$ref": "#/definitions/datasets.jobsSearchResponseDoc"
}
},
"400": {
@@ -298712,29 +373379,11 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
- "429": {
- "description": "Too Many Requests",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
- },
- "503": {
- "description": "Service Unavailable",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
}
},
"security": [
@@ -298742,40 +373391,159 @@
"ApiKeyAuth": []
}
],
- "summary": "Box Office Mojo brand detail",
+ "summary": "Search the jobs dataset (all companies' live postings)",
"tags": [
- "Box Office Mojo"
+ "Datasets"
]
}
},
- "/boxofficemojo/brands": {
+ "/datasets/journalists/facets": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns Box Office Mojo's brand chart, ranked, with each brand's `name`, `id`, `path`, `url`, release count and lifetime gross (an integer in `lifetime_gross`, the displayed text in `lifetime_gross_raw`). Reorder with `sort` (`totalGross`, `numReleases` or `grossToDate`) and `sortDir` (`asc` or `desc`); they are echoed back only when applied.",
- "operationId": "boxofficemojo-brands",
+ "description": "Returns distribution counts over the journalists index (dataset id enum value `journalists`), honoring the same filters as search. Facet enum: `outlet`, `vertical`, `topic`, `contact_type`, `record_type`, `role_type`, `email_kind`, `outreach_readiness_band`. `facet=outlet` returns every outlet (up to 1000) in one response; other facets return their top 50 values. Facets are not paginated: `page` and `page_size` are ignored.",
+ "operationId": "datasets-journalists-facets",
"parameters": [
{
- "description": "Sort field",
+ "description": "Facet enum: outlet, vertical, topic, contact_type, record_type, role_type, email_kind, outreach_readiness_band",
"enum": [
- "totalGross",
- "numReleases",
- "grossToDate"
+ "outlet",
+ "vertical",
+ "topic",
+ "contact_type",
+ "record_type",
+ "role_type",
+ "email_kind",
+ "outreach_readiness_band"
],
"in": "query",
- "name": "sort",
+ "name": "facet",
+ "required": true,
+ "type": "string",
+ "x-example": "outlet"
+ },
+ {
+ "description": "Full-text match on the journalist's name, title, and bio, max 256 characters",
+ "in": "query",
+ "name": "q",
"type": "string"
},
{
- "description": "Sort direction",
+ "description": "Exact outlet id filter",
+ "in": "query",
+ "name": "outlet",
+ "type": "string"
+ },
+ {
+ "description": "Exact beat-vertical filter. Enum: tech, crypto, marketing, consumer_tech, consumer_policy, cybersecurity, health, gaming, climate, business, entertainment, sports, legal, science, politics, real_estate, automotive, travel, food, education, design, film_tv, fashion, music, personal_finance, tech_independent, culture_independent, local_news, construction, banking, retail, aerospace_defense, energy, agriculture, local_business, general_news",
"enum": [
- "asc",
- "desc"
+ "tech",
+ "crypto",
+ "marketing",
+ "consumer_tech",
+ "consumer_policy",
+ "cybersecurity",
+ "health",
+ "gaming",
+ "climate",
+ "business",
+ "entertainment",
+ "sports",
+ "legal",
+ "science",
+ "politics",
+ "real_estate",
+ "automotive",
+ "travel",
+ "food",
+ "education",
+ "design",
+ "film_tv",
+ "fashion",
+ "music",
+ "personal_finance",
+ "tech_independent",
+ "culture_independent",
+ "local_news",
+ "construction",
+ "banking",
+ "retail",
+ "aerospace_defense",
+ "energy",
+ "agriculture",
+ "local_business",
+ "general_news"
],
"in": "query",
- "name": "sortDir",
+ "name": "vertical",
+ "type": "string"
+ },
+ {
+ "description": "Exact topic filter",
+ "in": "query",
+ "name": "topic",
+ "type": "string"
+ },
+ {
+ "description": "Contact-availability filter. Enum: email, social, none",
+ "enum": [
+ "email",
+ "social",
+ "none"
+ ],
+ "in": "query",
+ "name": "contact_type",
+ "type": "string"
+ },
+ {
+ "description": "Record classification filter. Enum: person, desk, organization, syndicated_byline, unknown",
+ "enum": [
+ "person",
+ "desk",
+ "organization",
+ "syndicated_byline",
+ "unknown"
+ ],
+ "in": "query",
+ "name": "record_type",
+ "type": "string"
+ },
+ {
+ "description": "Role classification filter. Enum: staff, editor, reporter, contributor, freelancer, columnist, non_editorial, unknown",
+ "enum": [
+ "staff",
+ "editor",
+ "reporter",
+ "contributor",
+ "freelancer",
+ "columnist",
+ "non_editorial",
+ "unknown"
+ ],
+ "in": "query",
+ "name": "role_type",
+ "type": "string"
+ },
+ {
+ "description": "Email semantics filter. Enum: individual_work, individual_personal_public, shared_desk, tips_or_submissions, outlet_generic, unknown",
+ "enum": [
+ "individual_work",
+ "individual_personal_public",
+ "shared_desk",
+ "tips_or_submissions",
+ "outlet_generic",
+ "unknown"
+ ],
+ "in": "query",
+ "name": "email_kind",
"type": "string"
+ },
+ {
+ "description": "Minimum outreach-readiness score, from 0 to 100",
+ "in": "query",
+ "name": "min_outreach_readiness",
+ "type": "integer"
}
],
"produces": [
@@ -298785,7 +373553,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/boxofficemojo.taxonomyListResponseDoc"
+ "$ref": "#/definitions/datasets.journalistsFacetResponseDoc"
}
},
"400": {
@@ -298805,12 +373573,6 @@
"schema": {
"$ref": "#/definitions/app.Response"
}
- },
- "503": {
- "description": "Service Unavailable",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
}
},
"security": [
@@ -298818,35 +373580,35 @@
"ApiKeyAuth": []
}
],
- "summary": "Box Office Mojo brand chart",
+ "summary": "Facet the journalists dataset",
"tags": [
- "Box Office Mojo"
+ "Datasets"
]
}
},
- "/boxofficemojo/calendar": {
+ "/datasets/journalists/items/{outlet}/{slug}": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns Box Office Mojo's domestic release schedule for one month, grouped by date. `year` (1921 to 2100) and `month` (1 to 12) are both required. Each release has its title, `release_url`, `distributor`, `scale`, `genres`, `cast` and poster image URLs when present.",
- "operationId": "boxofficemojo-calendar",
+ "description": "Returns one journalist by outlet id and slug from dataset id enum value `journalists`. Returns 404 when the outlet is not supported or the journalist is not in the index.",
+ "operationId": "datasets-journalists-item",
"parameters": [
{
- "description": "Calendar year, from 1921 through 2100",
- "in": "query",
- "name": "year",
+ "description": "Outlet id, e.g. techcrunch. Use the ids returned by facets?facet=outlet",
+ "in": "path",
+ "name": "outlet",
"required": true,
- "type": "integer",
- "x-example": 2026
+ "type": "string",
+ "x-example": "techcrunch"
},
{
- "description": "Calendar month, 1 through 12",
- "in": "query",
- "name": "month",
+ "description": "Journalist slug within the outlet, e.g. zack-whittaker",
+ "in": "path",
+ "name": "slug",
"required": true,
- "type": "integer",
- "x-example": 9
+ "type": "string",
+ "x-example": "zack-whittaker"
}
],
"produces": [
@@ -298856,7 +373618,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/boxofficemojo.calendarResponseDoc"
+ "$ref": "#/definitions/datasets.journalistsItemResponseDoc"
}
},
"400": {
@@ -298865,20 +373627,20 @@
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Too Many Requests",
+ "404": {
+ "description": "Not Found",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -298889,26 +373651,166 @@
"ApiKeyAuth": []
}
],
- "summary": "Box Office Mojo domestic release schedule",
+ "summary": "Get a journalist from the journalists dataset",
"tags": [
- "Box Office Mojo"
+ "Datasets"
]
}
},
- "/boxofficemojo/calendar/changes": {
+ "/datasets/journalists/search": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns Box Office Mojo's list of changes to the domestic release schedule, grouped by change date. `offset` pages through the list in steps of 30, from 0 to 780. Each change has the release, `distributor`, `scale`, `old_date` and `new_date`, and `range` shows the position in the list.",
- "operationId": "boxofficemojo-calendar-changes",
+ "description": "Searches the journalists index (dataset id enum value `journalists`) — public journalist and reporter records crawled from news outlets' own staff/author pages, for PR outreach. Each record carries the outlet, title, best-effort beat topics, and any public contact info found on that outlet's own page, plus deterministic record_type, role_type, email_kind, and outreach-readiness quality signals. There is no cross-outlet upstream search; this dataset is built by crawling a curated roster of outlets ourselves. vertical enum: `tech`, `crypto`, `marketing`, `consumer_tech`, `consumer_policy`, `cybersecurity`, `health`, `gaming`, `climate`, `business`, `entertainment`, `sports`, `legal`, `science`, `politics`, `real_estate`, `automotive`, `travel`, `food`, `education`, `design`, `film_tv`, `fashion`, `music`, `personal_finance`, `tech_independent`, `culture_independent`, `local_news`, `construction`, `banking`, `retail`, `aerospace_defense`, `energy`, `agriculture`, `local_business`. contact_type enum: `email`, `social`, `none`. record_type enum: `person`, `desk`, `organization`, `syndicated_byline`, `unknown`. role_type enum: `staff`, `editor`, `reporter`, `contributor`, `freelancer`, `columnist`, `non_editorial`, `unknown`. email_kind enum: `individual_work`, `individual_personal_public`, `shared_desk`, `tips_or_submissions`, `outlet_generic`, `unknown`. sort enum: `relevance`, `name_asc`, `outlet_asc`, `crawled_desc`, `readiness_desc`. Billing: this search costs 1 credit per record returned, with a minimum of 2 (an empty result costs 2, a full page of 100 costs 100).",
+ "operationId": "datasets-journalists-search",
"parameters": [
{
- "description": "Changes page offset. Allowed values: 0, 30, 60, ... 780",
+ "description": "Full-text match on the journalist's name, title, and bio, max 256 characters",
"in": "query",
- "name": "offset",
- "type": "integer",
- "x-example": 0
+ "name": "q",
+ "type": "string"
+ },
+ {
+ "description": "Exact outlet id filter, e.g. techcrunch, coindesk. Use the ids returned by facets?facet=outlet",
+ "in": "query",
+ "name": "outlet",
+ "type": "string"
+ },
+ {
+ "description": "Exact beat-vertical filter. Enum: tech, crypto, marketing, consumer_tech, consumer_policy, cybersecurity, health, gaming, climate, business, entertainment, sports, legal, science, politics, real_estate, automotive, travel, food, education, design, film_tv, fashion, music, personal_finance, tech_independent, culture_independent, local_news, construction, banking, retail, aerospace_defense, energy, agriculture, local_business, general_news",
+ "enum": [
+ "tech",
+ "crypto",
+ "marketing",
+ "consumer_tech",
+ "consumer_policy",
+ "cybersecurity",
+ "health",
+ "gaming",
+ "climate",
+ "business",
+ "entertainment",
+ "sports",
+ "legal",
+ "science",
+ "politics",
+ "real_estate",
+ "automotive",
+ "travel",
+ "food",
+ "education",
+ "design",
+ "film_tv",
+ "fashion",
+ "music",
+ "personal_finance",
+ "tech_independent",
+ "culture_independent",
+ "local_news",
+ "construction",
+ "banking",
+ "retail",
+ "aerospace_defense",
+ "energy",
+ "agriculture",
+ "local_business",
+ "general_news"
+ ],
+ "in": "query",
+ "name": "vertical",
+ "type": "string"
+ },
+ {
+ "description": "Exact topic filter, e.g. security, stablecoins. Use the values returned by facets?facet=topic",
+ "in": "query",
+ "name": "topic",
+ "type": "string"
+ },
+ {
+ "description": "Contact-availability filter. Enum: email, social, none",
+ "enum": [
+ "email",
+ "social",
+ "none"
+ ],
+ "in": "query",
+ "name": "contact_type",
+ "type": "string"
+ },
+ {
+ "description": "Record classification filter. Enum: person, desk, organization, syndicated_byline, unknown",
+ "enum": [
+ "person",
+ "desk",
+ "organization",
+ "syndicated_byline",
+ "unknown"
+ ],
+ "in": "query",
+ "name": "record_type",
+ "type": "string"
+ },
+ {
+ "description": "Role classification filter. Enum: staff, editor, reporter, contributor, freelancer, columnist, non_editorial, unknown",
+ "enum": [
+ "staff",
+ "editor",
+ "reporter",
+ "contributor",
+ "freelancer",
+ "columnist",
+ "non_editorial",
+ "unknown"
+ ],
+ "in": "query",
+ "name": "role_type",
+ "type": "string"
+ },
+ {
+ "description": "Email semantics filter. Enum: individual_work, individual_personal_public, shared_desk, tips_or_submissions, outlet_generic, unknown",
+ "enum": [
+ "individual_work",
+ "individual_personal_public",
+ "shared_desk",
+ "tips_or_submissions",
+ "outlet_generic",
+ "unknown"
+ ],
+ "in": "query",
+ "name": "email_kind",
+ "type": "string"
+ },
+ {
+ "description": "Minimum outreach-readiness score, from 0 to 100",
+ "in": "query",
+ "name": "min_outreach_readiness",
+ "type": "integer"
+ },
+ {
+ "description": "Sort enum: relevance, name_asc, outlet_asc, crawled_desc, readiness_desc",
+ "enum": [
+ "relevance",
+ "name_asc",
+ "outlet_asc",
+ "crawled_desc",
+ "readiness_desc"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Page number, defaults to 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, defaults to 20 and maxes at 100; page * page_size must be <= 10000",
+ "in": "query",
+ "name": "page_size",
+ "type": "integer"
}
],
"produces": [
@@ -298918,7 +373820,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/boxofficemojo.calendarChangesResponseDoc"
+ "$ref": "#/definitions/datasets.journalistsSearchResponseDoc"
}
},
"400": {
@@ -298938,12 +373840,6 @@
"schema": {
"$ref": "#/definitions/app.Response"
}
- },
- "503": {
- "description": "Service Unavailable",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
}
},
"security": [
@@ -298951,27 +373847,312 @@
"ApiKeyAuth": []
}
],
- "summary": "Box Office Mojo domestic release schedule changes",
+ "summary": "Search the journalists dataset",
"tags": [
- "Box Office Mojo"
+ "Datasets"
]
}
},
- "/boxofficemojo/calendar/date": {
+ "/datasets/llms/facets": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns the releases scheduled on one date in Box Office Mojo's domestic release schedule. `date` is required, in `YYYY-MM-DD` form. Each release has its title, `release_url`, `distributor`, `scale`, `genres`, `cast` and poster image URLs when present. A date with no scheduled releases returns a not-found error.",
- "operationId": "boxofficemojo-calendar-date",
+ "description": "Returns distribution counts over the AI-readiness census (dataset id enum value `llms`), honoring the same filters as search — adoption by producer, generator, TLD or category, and which AI crawlers robots.txt blocks. Facet enum: `state`, `source_kind`, `generator`, `bot`, `policy`, `tld`, `category`, `robots_state`, `robots_default`, `blocked_crawler`, `partial_crawler`, `content_signal_train`, `full_state`, `home_status`. The filter enums are the same as search. Counts include `blocked` and `error` probes, which are unknown rather than absent; filter `state=present` or `state=absent` to count only sites that were established either way.",
+ "operationId": "datasets-llms-facets",
"parameters": [
{
- "description": "Calendar date in YYYY-MM-DD format",
+ "description": "Facet enum: state, source_kind, generator, bot, policy, tld, category, robots_state, robots_default, blocked_crawler, partial_crawler, content_signal_train, full_state, home_status",
+ "enum": [
+ "state",
+ "source_kind",
+ "generator",
+ "bot",
+ "policy",
+ "tld",
+ "category",
+ "robots_state",
+ "robots_default",
+ "blocked_crawler",
+ "partial_crawler",
+ "content_signal_train",
+ "full_state",
+ "home_status"
+ ],
"in": "query",
- "name": "date",
+ "name": "facet",
"required": true,
"type": "string",
- "x-example": "2026-09-04"
+ "x-example": "source_kind"
+ },
+ {
+ "description": "Substring match on the site domain, max 256 characters",
+ "in": "query",
+ "name": "q",
+ "type": "string"
+ },
+ {
+ "description": "Full-text match on the /llms.txt title and summary, max 256 characters",
+ "in": "query",
+ "name": "text",
+ "type": "string"
+ },
+ {
+ "description": "/llms.txt state. Enum: present, absent, blocked, error, skipped. blocked and error mean unknown, not absent",
+ "enum": [
+ "present",
+ "absent",
+ "blocked",
+ "error",
+ "skipped"
+ ],
+ "in": "query",
+ "name": "state",
+ "type": "string"
+ },
+ {
+ "description": "true keeps only sites serving a valid /llms.txt, false keeps the rest",
+ "in": "query",
+ "name": "valid",
+ "type": "boolean"
+ },
+ {
+ "description": "Producer of a valid /llms.txt. Enum: shopify_agent_template, seo_plugin, platform_default, parked, custom",
+ "enum": [
+ "shopify_agent_template",
+ "seo_plugin",
+ "platform_default",
+ "parked",
+ "custom"
+ ],
+ "in": "query",
+ "name": "source_kind",
+ "type": "string"
+ },
+ {
+ "description": "Generator detected in a valid /llms.txt. Enum: yoast, aioseo, rankmath, wix, shopify, parked",
+ "enum": [
+ "yoast",
+ "aioseo",
+ "rankmath",
+ "wix",
+ "shopify",
+ "parked"
+ ],
+ "in": "query",
+ "name": "generator",
+ "type": "string"
+ },
+ {
+ "description": "AI crawler named inside a valid /llms.txt, e.g. GPTBot (see facet=bot for the values)",
+ "in": "query",
+ "name": "bot",
+ "type": "string"
+ },
+ {
+ "description": "Minimum number of links in a valid /llms.txt, 0 or greater",
+ "in": "query",
+ "name": "min_links",
+ "type": "integer"
+ },
+ {
+ "description": "true keeps only valid /llms.txt files that mention the Model Context Protocol",
+ "in": "query",
+ "name": "mentions_mcp",
+ "type": "boolean"
+ },
+ {
+ "description": "true keeps only valid /llms.txt files that mention OpenAPI or Swagger",
+ "in": "query",
+ "name": "mentions_openapi",
+ "type": "boolean"
+ },
+ {
+ "description": "true keeps only valid /llms.txt files that still hold template placeholder text",
+ "in": "query",
+ "name": "placeholder",
+ "type": "boolean"
+ },
+ {
+ "description": "true keeps only valid /llms.txt files containing instruction-override text aimed at AI readers",
+ "in": "query",
+ "name": "injection",
+ "type": "boolean"
+ },
+ {
+ "description": "true keeps only sites serving a valid /llms-full.txt",
+ "in": "query",
+ "name": "full_valid",
+ "type": "boolean"
+ },
+ {
+ "description": "/robots.txt state. Enum: present, absent, blocked, error, skipped",
+ "enum": [
+ "present",
+ "absent",
+ "blocked",
+ "error",
+ "skipped"
+ ],
+ "in": "query",
+ "name": "robots_state",
+ "type": "string"
+ },
+ {
+ "description": "Default stance of robots.txt toward AI crawlers. Enum: allowed, partial, blocked",
+ "enum": [
+ "allowed",
+ "partial",
+ "blocked"
+ ],
+ "in": "query",
+ "name": "robots_default",
+ "type": "string"
+ },
+ {
+ "collectionFormat": "csv",
+ "description": "Repeatable AI crawler that robots.txt must block (AND). Enum: GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, Claude-SearchBot, Claude-User, anthropic-ai, Google-Extended, PerplexityBot, Perplexity-User, CCBot, Bytespider, Applebot-Extended, Amazonbot, meta-externalagent, cohere-ai, Diffbot",
+ "in": "query",
+ "items": {
+ "enum": [
+ "GPTBot",
+ "OAI-SearchBot",
+ "ChatGPT-User",
+ "ClaudeBot",
+ "Claude-SearchBot",
+ "Claude-User",
+ "anthropic-ai",
+ "Google-Extended",
+ "PerplexityBot",
+ "Perplexity-User",
+ "CCBot",
+ "Bytespider",
+ "Applebot-Extended",
+ "Amazonbot",
+ "meta-externalagent",
+ "cohere-ai",
+ "Diffbot"
+ ],
+ "type": "string"
+ },
+ "name": "blocks_all",
+ "type": "array"
+ },
+ {
+ "collectionFormat": "csv",
+ "description": "Repeatable AI crawler; robots.txt must block at least one (OR). Enum: GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, Claude-SearchBot, Claude-User, anthropic-ai, Google-Extended, PerplexityBot, Perplexity-User, CCBot, Bytespider, Applebot-Extended, Amazonbot, meta-externalagent, cohere-ai, Diffbot",
+ "in": "query",
+ "items": {
+ "enum": [
+ "GPTBot",
+ "OAI-SearchBot",
+ "ChatGPT-User",
+ "ClaudeBot",
+ "Claude-SearchBot",
+ "Claude-User",
+ "anthropic-ai",
+ "Google-Extended",
+ "PerplexityBot",
+ "Perplexity-User",
+ "CCBot",
+ "Bytespider",
+ "Applebot-Extended",
+ "Amazonbot",
+ "meta-externalagent",
+ "cohere-ai",
+ "Diffbot"
+ ],
+ "type": "string"
+ },
+ "name": "blocks_any",
+ "type": "array"
+ },
+ {
+ "collectionFormat": "csv",
+ "description": "Repeatable AI crawler that robots.txt must NOT block. Enum: GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, Claude-SearchBot, Claude-User, anthropic-ai, Google-Extended, PerplexityBot, Perplexity-User, CCBot, Bytespider, Applebot-Extended, Amazonbot, meta-externalagent, cohere-ai, Diffbot",
+ "in": "query",
+ "items": {
+ "enum": [
+ "GPTBot",
+ "OAI-SearchBot",
+ "ChatGPT-User",
+ "ClaudeBot",
+ "Claude-SearchBot",
+ "Claude-User",
+ "anthropic-ai",
+ "Google-Extended",
+ "PerplexityBot",
+ "Perplexity-User",
+ "CCBot",
+ "Bytespider",
+ "Applebot-Extended",
+ "Amazonbot",
+ "meta-externalagent",
+ "cohere-ai",
+ "Diffbot"
+ ],
+ "type": "string"
+ },
+ "name": "not_blocked",
+ "type": "array"
+ },
+ {
+ "description": "true keeps only sites whose robots.txt blocks all 17 tracked AI crawlers",
+ "in": "query",
+ "name": "all_ai_blocked",
+ "type": "boolean"
+ },
+ {
+ "description": "Minimum number of AI training crawlers (of 11 tracked) that robots.txt blocks, 0 or greater",
+ "in": "query",
+ "name": "min_train_blocked",
+ "type": "integer"
+ },
+ {
+ "description": "Content-Signal ai-train value declared in robots.txt. Enum: yes, no",
+ "enum": [
+ "yes",
+ "no"
+ ],
+ "in": "query",
+ "name": "content_signal_train",
+ "type": "string"
+ },
+ {
+ "description": "Exact top-level-domain filter, e.g. com, org, io",
+ "in": "query",
+ "name": "tld",
+ "type": "string"
+ },
+ {
+ "description": "Exact category label carried by the source list; the top-1M run has none, so this is empty for it",
+ "in": "query",
+ "name": "category",
+ "type": "string"
+ },
+ {
+ "description": "true keeps only sites whose homepage control request answered, false only sites that did not",
+ "in": "query",
+ "name": "reachable",
+ "type": "boolean"
+ },
+ {
+ "description": "true keeps only sites whose homepage was walled off from the scan (a block or challenge)",
+ "in": "query",
+ "name": "home_blocked",
+ "type": "boolean"
+ },
+ {
+ "description": "false (the common case) excludes backend CDN/DNS/cloud-vendor hostnames that rank highly but serve no public homepage; true keeps only those",
+ "in": "query",
+ "name": "is_infrastructure",
+ "type": "boolean"
+ },
+ {
+ "description": "Scan run id; defaults to the latest run",
+ "in": "query",
+ "name": "run_id",
+ "type": "string"
}
],
"produces": [
@@ -298981,7 +374162,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/boxofficemojo.calendarDateResponseDoc"
+ "$ref": "#/definitions/datasets.llmsFacetResponseDoc"
}
},
"400": {
@@ -298990,12 +374171,6 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"429": {
"description": "Too Many Requests",
"schema": {
@@ -299007,12 +374182,6 @@
"schema": {
"$ref": "#/definitions/app.Response"
}
- },
- "503": {
- "description": "Service Unavailable",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
}
},
"security": [
@@ -299020,27 +374189,27 @@
"ApiKeyAuth": []
}
],
- "summary": "Box Office Mojo domestic release schedule date",
+ "summary": "Facet the AI-readiness (llms.txt) dataset",
"tags": [
- "Box Office Mojo"
+ "Datasets"
]
}
},
- "/boxofficemojo/date/domestic": {
+ "/datasets/llms/items/{domain}": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns rows from Box Office Mojo's domestic daily chart. Empty upstream daily pages return a typed not-found error rather than an empty success.",
- "operationId": "boxofficemojo-date-domestic",
+ "description": "Returns one site by its domain from dataset id enum value `llms`, including the stored `/llms.txt` and `/llms-full.txt` bodies (`llms.body`, `full.body`; `body_truncated` marks a cut file, and a file flagged as an instruction override has its title, summary, and body withheld with `body_withheld` set to `injection`), their structure and classification, and the `/robots.txt` stance toward each tracked AI crawler. Returns 404 when the domain is not in the dataset or its owner asked for removal (privacy@crawlora.net).",
+ "operationId": "datasets-llms-item",
"parameters": [
{
- "description": "Domestic box office date in YYYY-MM-DD format",
- "in": "query",
- "name": "date",
+ "description": "Site domain, e.g. shopify.com (a scheme and www. are stripped)",
+ "in": "path",
+ "name": "domain",
"required": true,
"type": "string",
- "x-example": "2025-12-25"
+ "x-example": "shopify.com"
}
],
"produces": [
@@ -299050,7 +374219,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/boxofficemojo.domesticDateResponseDoc"
+ "$ref": "#/definitions/datasets.llmsItemResponseDoc"
}
},
"400": {
@@ -299076,12 +374245,6 @@
"schema": {
"$ref": "#/definitions/app.Response"
}
- },
- "503": {
- "description": "Service Unavailable",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
}
},
"security": [
@@ -299089,258 +374252,314 @@
"ApiKeyAuth": []
}
],
- "summary": "Box Office Mojo domestic daily box office",
+ "summary": "Get a site from the AI-readiness (llms.txt) dataset",
"tags": [
- "Box Office Mojo"
+ "Datasets"
]
}
},
- "/boxofficemojo/franchise": {
+ "/datasets/llms/search": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns release rows from a Box Office Mojo franchise page. Pass exactly one of `id`, `path`, or `url`.",
- "operationId": "boxofficemojo-franchise",
+ "description": "Searches the AI-readiness census of the top 1M sites (dataset id enum value `llms`) — one record per site describing whether it serves a real `/llms.txt` or `/llms-full.txt` (who produced it, what it links to and mentions) and what its `/robots.txt` says to 17 AI crawlers, next to a homepage control request. Search results omit the file bodies; read one site with the item endpoint. `blocked` and `error` states mean unknown, never absent. Sort enum: `relevance`, `rank_asc`, `links_desc`, `bytes_desc`, `domain_asc`, `crawled_desc`. state and robots_state enum: `present`, `absent`, `blocked`, `error`, `skipped`. source_kind enum: `shopify_agent_template`, `seo_plugin`, `platform_default`, `parked`, `custom`. generator enum: `yoast`, `aioseo`, `rankmath`, `wix`, `shopify`, `parked`. robots_default enum: `allowed`, `partial`, `blocked`. content_signal_train enum: `yes`, `no`. Crawler enum for blocks_all, blocks_any and not_blocked: `GPTBot`, `OAI-SearchBot`, `ChatGPT-User`, `ClaudeBot`, `Claude-SearchBot`, `Claude-User`, `anthropic-ai`, `Google-Extended`, `PerplexityBot`, `Perplexity-User`, `CCBot`, `Bytespider`, `Applebot-Extended`, `Amazonbot`, `meta-externalagent`, `cohere-ai`, `Diffbot`. Site owners can ask for removal at privacy@crawlora.net. Billing: this search costs 1 credit per record returned, with a minimum of 2 (an empty result costs 2, a full page of 100 costs 100).",
+ "operationId": "datasets-llms-search",
"parameters": [
{
- "description": "Box Office Mojo franchise id",
+ "description": "Substring match on the site domain, max 256 characters",
"in": "query",
- "name": "id",
- "type": "string",
- "x-example": "fr541495045"
+ "name": "q",
+ "type": "string"
},
{
- "description": "Box Office Mojo franchise path",
+ "description": "Full-text match on the /llms.txt title and summary, max 256 characters",
"in": "query",
- "name": "path",
- "type": "string",
- "x-example": "/franchise/fr541495045/"
+ "name": "text",
+ "type": "string"
},
{
- "description": "Absolute https://www.boxofficemojo.com franchise URL",
+ "description": "/llms.txt state. Enum: present, absent, blocked, error, skipped. blocked and error mean unknown, not absent",
+ "enum": [
+ "present",
+ "absent",
+ "blocked",
+ "error",
+ "skipped"
+ ],
"in": "query",
- "name": "url",
- "type": "string",
- "x-example": "https://www.boxofficemojo.com/franchise/fr541495045/"
+ "name": "state",
+ "type": "string"
},
{
- "description": "Sort field",
+ "description": "true keeps only sites serving a valid /llms.txt, false keeps the rest",
+ "in": "query",
+ "name": "valid",
+ "type": "boolean"
+ },
+ {
+ "description": "Producer of a valid /llms.txt. Enum: shopify_agent_template, seo_plugin, platform_default, parked, custom",
"enum": [
- "grossToDate",
- "maxNumTheaters",
- "openingWeekendGross",
- "openingNumTheaters",
- "releaseDate"
+ "shopify_agent_template",
+ "seo_plugin",
+ "platform_default",
+ "parked",
+ "custom"
],
"in": "query",
- "name": "sort",
+ "name": "source_kind",
"type": "string"
},
{
- "description": "Sort direction",
+ "description": "Generator detected in a valid /llms.txt. Enum: yoast, aioseo, rankmath, wix, shopify, parked",
"enum": [
- "asc",
- "desc"
+ "yoast",
+ "aioseo",
+ "rankmath",
+ "wix",
+ "shopify",
+ "parked"
],
"in": "query",
- "name": "sortDir",
+ "name": "generator",
"type": "string"
},
{
- "description": "Row offset for pagination (page size 100)",
+ "description": "AI crawler named inside a valid /llms.txt, e.g. GPTBot (see facet=bot for the values)",
"in": "query",
- "name": "offset",
- "type": "integer",
- "x-example": 0
- }
- ],
- "produces": [
- "application/json"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/boxofficemojo.taxonomyDetailResponseDoc"
- }
+ "name": "bot",
+ "type": "string"
},
- "400": {
- "description": "Bad Request",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
+ {
+ "description": "Minimum number of links in a valid /llms.txt, 0 or greater",
+ "in": "query",
+ "name": "min_links",
+ "type": "integer"
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
+ {
+ "description": "true keeps only valid /llms.txt files that mention the Model Context Protocol",
+ "in": "query",
+ "name": "mentions_mcp",
+ "type": "boolean"
},
- "429": {
- "description": "Too Many Requests",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
+ {
+ "description": "true keeps only valid /llms.txt files that mention OpenAPI or Swagger",
+ "in": "query",
+ "name": "mentions_openapi",
+ "type": "boolean"
},
- "500": {
- "description": "Internal Server Error",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
+ {
+ "description": "true keeps only valid /llms.txt files that still hold template placeholder text",
+ "in": "query",
+ "name": "placeholder",
+ "type": "boolean"
},
- "503": {
- "description": "Service Unavailable",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- }
- },
- "security": [
{
- "ApiKeyAuth": []
- }
- ],
- "summary": "Box Office Mojo franchise detail",
- "tags": [
- "Box Office Mojo"
- ]
- }
- },
- "/boxofficemojo/franchises": {
- "get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns Box Office Mojo's franchise chart, ranked, with each franchise's `name`, `id`, `path`, `url`, release count and lifetime gross (an integer in `lifetime_gross`, the displayed text in `lifetime_gross_raw`). Reorder with `sort` (`totalGross`, `numReleases` or `grossToDate`) and `sortDir` (`asc` or `desc`); they are echoed back only when applied.",
- "operationId": "boxofficemojo-franchises",
- "parameters": [
+ "description": "true keeps only valid /llms.txt files containing instruction-override text aimed at AI readers",
+ "in": "query",
+ "name": "injection",
+ "type": "boolean"
+ },
{
- "description": "Sort field",
+ "description": "true keeps only sites serving a valid /llms-full.txt",
+ "in": "query",
+ "name": "full_valid",
+ "type": "boolean"
+ },
+ {
+ "description": "/robots.txt state. Enum: present, absent, blocked, error, skipped",
"enum": [
- "totalGross",
- "numReleases",
- "grossToDate"
+ "present",
+ "absent",
+ "blocked",
+ "error",
+ "skipped"
],
"in": "query",
- "name": "sort",
+ "name": "robots_state",
"type": "string"
},
{
- "description": "Sort direction",
+ "description": "Default stance of robots.txt toward AI crawlers. Enum: allowed, partial, blocked",
"enum": [
- "asc",
- "desc"
+ "allowed",
+ "partial",
+ "blocked"
],
"in": "query",
- "name": "sortDir",
+ "name": "robots_default",
"type": "string"
- }
- ],
- "produces": [
- "application/json"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/boxofficemojo.taxonomyListResponseDoc"
- }
- },
- "400": {
- "description": "Bad Request",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
- "429": {
- "description": "Too Many Requests",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
},
- "500": {
- "description": "Internal Server Error",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
+ {
+ "collectionFormat": "csv",
+ "description": "Repeatable AI crawler that robots.txt must block (AND). Enum: GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, Claude-SearchBot, Claude-User, anthropic-ai, Google-Extended, PerplexityBot, Perplexity-User, CCBot, Bytespider, Applebot-Extended, Amazonbot, meta-externalagent, cohere-ai, Diffbot",
+ "in": "query",
+ "items": {
+ "enum": [
+ "GPTBot",
+ "OAI-SearchBot",
+ "ChatGPT-User",
+ "ClaudeBot",
+ "Claude-SearchBot",
+ "Claude-User",
+ "anthropic-ai",
+ "Google-Extended",
+ "PerplexityBot",
+ "Perplexity-User",
+ "CCBot",
+ "Bytespider",
+ "Applebot-Extended",
+ "Amazonbot",
+ "meta-externalagent",
+ "cohere-ai",
+ "Diffbot"
+ ],
+ "type": "string"
+ },
+ "name": "blocks_all",
+ "type": "array"
},
- "503": {
- "description": "Service Unavailable",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- }
- },
- "security": [
{
- "ApiKeyAuth": []
- }
- ],
- "summary": "Box Office Mojo franchise chart",
- "tags": [
- "Box Office Mojo"
- ]
- }
- },
- "/boxofficemojo/genre": {
- "get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns release rows from a Box Office Mojo genre page. Pass exactly one of `id`, `path`, or `url`.",
- "operationId": "boxofficemojo-genre",
- "parameters": [
+ "collectionFormat": "csv",
+ "description": "Repeatable AI crawler; robots.txt must block at least one (OR). Enum: GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, Claude-SearchBot, Claude-User, anthropic-ai, Google-Extended, PerplexityBot, Perplexity-User, CCBot, Bytespider, Applebot-Extended, Amazonbot, meta-externalagent, cohere-ai, Diffbot",
+ "in": "query",
+ "items": {
+ "enum": [
+ "GPTBot",
+ "OAI-SearchBot",
+ "ChatGPT-User",
+ "ClaudeBot",
+ "Claude-SearchBot",
+ "Claude-User",
+ "anthropic-ai",
+ "Google-Extended",
+ "PerplexityBot",
+ "Perplexity-User",
+ "CCBot",
+ "Bytespider",
+ "Applebot-Extended",
+ "Amazonbot",
+ "meta-externalagent",
+ "cohere-ai",
+ "Diffbot"
+ ],
+ "type": "string"
+ },
+ "name": "blocks_any",
+ "type": "array"
+ },
{
- "description": "Box Office Mojo genre id",
+ "collectionFormat": "csv",
+ "description": "Repeatable AI crawler that robots.txt must NOT block. Enum: GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, Claude-SearchBot, Claude-User, anthropic-ai, Google-Extended, PerplexityBot, Perplexity-User, CCBot, Bytespider, Applebot-Extended, Amazonbot, meta-externalagent, cohere-ai, Diffbot",
"in": "query",
- "name": "id",
- "type": "string",
- "x-example": "sg3621777665"
+ "items": {
+ "enum": [
+ "GPTBot",
+ "OAI-SearchBot",
+ "ChatGPT-User",
+ "ClaudeBot",
+ "Claude-SearchBot",
+ "Claude-User",
+ "anthropic-ai",
+ "Google-Extended",
+ "PerplexityBot",
+ "Perplexity-User",
+ "CCBot",
+ "Bytespider",
+ "Applebot-Extended",
+ "Amazonbot",
+ "meta-externalagent",
+ "cohere-ai",
+ "Diffbot"
+ ],
+ "type": "string"
+ },
+ "name": "not_blocked",
+ "type": "array"
},
{
- "description": "Box Office Mojo genre path",
+ "description": "true keeps only sites whose robots.txt blocks all 17 tracked AI crawlers",
"in": "query",
- "name": "path",
- "type": "string",
- "x-example": "/genre/sg3621777665/"
+ "name": "all_ai_blocked",
+ "type": "boolean"
},
{
- "description": "Absolute https://www.boxofficemojo.com genre URL",
+ "description": "Minimum number of AI training crawlers (of 11 tracked) that robots.txt blocks, 0 or greater",
"in": "query",
- "name": "url",
- "type": "string",
- "x-example": "https://www.boxofficemojo.com/genre/sg3621777665/"
+ "name": "min_train_blocked",
+ "type": "integer"
},
{
- "description": "Sort field",
+ "description": "Content-Signal ai-train value declared in robots.txt. Enum: yes, no",
"enum": [
- "grossToDate",
- "maxNumTheaters",
- "openingWeekendGross",
- "openingNumTheaters",
- "releaseDate"
+ "yes",
+ "no"
],
"in": "query",
- "name": "sort",
+ "name": "content_signal_train",
"type": "string"
},
{
- "description": "Sort direction",
+ "description": "Exact top-level-domain filter, e.g. com, org, io",
+ "in": "query",
+ "name": "tld",
+ "type": "string"
+ },
+ {
+ "description": "Exact category label carried by the source list; the top-1M run has none, so this is empty for it",
+ "in": "query",
+ "name": "category",
+ "type": "string"
+ },
+ {
+ "description": "true keeps only sites whose homepage control request answered, false only sites that did not",
+ "in": "query",
+ "name": "reachable",
+ "type": "boolean"
+ },
+ {
+ "description": "true keeps only sites whose homepage was walled off from the scan (a block or challenge)",
+ "in": "query",
+ "name": "home_blocked",
+ "type": "boolean"
+ },
+ {
+ "description": "false (the common case) excludes backend CDN/DNS/cloud-vendor hostnames that rank highly but serve no public homepage; true keeps only those",
+ "in": "query",
+ "name": "is_infrastructure",
+ "type": "boolean"
+ },
+ {
+ "description": "Scan run id; defaults to the latest run",
+ "in": "query",
+ "name": "run_id",
+ "type": "string"
+ },
+ {
+ "description": "Sort enum: relevance, rank_asc, links_desc, bytes_desc, domain_asc, crawled_desc",
"enum": [
- "asc",
- "desc"
+ "relevance",
+ "rank_asc",
+ "links_desc",
+ "bytes_desc",
+ "domain_asc",
+ "crawled_desc"
],
"in": "query",
- "name": "sortDir",
+ "name": "sort",
"type": "string"
},
{
- "description": "Row offset for pagination (page size 100)",
+ "description": "Page number, defaults to 1",
"in": "query",
- "name": "offset",
- "type": "integer",
- "x-example": 0
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, defaults to 20 and maxes at 100; page * page_size must be <= 10000",
+ "in": "query",
+ "name": "page_size",
+ "type": "integer"
}
],
"produces": [
@@ -299350,7 +374569,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/boxofficemojo.taxonomyDetailResponseDoc"
+ "$ref": "#/definitions/datasets.llmsSearchResponseDoc"
}
},
"400": {
@@ -299359,12 +374578,6 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"429": {
"description": "Too Many Requests",
"schema": {
@@ -299376,12 +374589,6 @@
"schema": {
"$ref": "#/definitions/app.Response"
}
- },
- "503": {
- "description": "Service Unavailable",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
}
},
"security": [
@@ -299389,40 +374596,96 @@
"ApiKeyAuth": []
}
],
- "summary": "Box Office Mojo genre detail",
+ "summary": "Search the AI-readiness (llms.txt) dataset",
"tags": [
- "Box Office Mojo"
+ "Datasets"
]
}
},
- "/boxofficemojo/genres": {
+ "/datasets/numbeo-cities/facets": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns Box Office Mojo's genre chart, ranked, with each genre's `name`, `id`, `path`, `url`, release count and lifetime gross (an integer in `lifetime_gross`, the displayed text in `lifetime_gross_raw`). Reorder with `sort` (`totalGross`, `numTitles` or `grossToDate`) and `sortDir` (`asc` or `desc`); they are echoed back only when applied.",
- "operationId": "boxofficemojo-genres",
+ "description": "Returns city counts per country for the Numbeo cities dataset; `facet` is required and accepts only `country`. Narrow the counts with `q`, `country` and index thresholds such as `min_cost_of_living_index`, `min_safety_index` or `max_pollution_index`. Items are value and count pairs.",
+ "operationId": "datasets-numbeo-cities-facets",
"parameters": [
{
- "description": "Sort field",
+ "description": "Facet enum: country",
"enum": [
- "totalGross",
- "numTitles",
- "grossToDate"
+ "country"
],
"in": "query",
- "name": "sort",
+ "name": "facet",
+ "required": true,
+ "type": "string",
+ "x-example": "country"
+ },
+ {
+ "description": "Full-text query over the city name, max 256 characters",
+ "in": "query",
+ "name": "q",
"type": "string"
},
{
- "description": "Sort direction",
- "enum": [
- "asc",
- "desc"
- ],
+ "description": "Exact country filter, max 128 characters",
"in": "query",
- "name": "sortDir",
+ "name": "country",
"type": "string"
+ },
+ {
+ "description": "Minimum Cost of Living Index (New York = 100)",
+ "in": "query",
+ "name": "min_cost_of_living_index",
+ "type": "number"
+ },
+ {
+ "description": "Maximum Cost of Living Index (New York = 100)",
+ "in": "query",
+ "name": "max_cost_of_living_index",
+ "type": "number"
+ },
+ {
+ "description": "Minimum Quality of Life Index",
+ "in": "query",
+ "name": "min_quality_of_life_index",
+ "type": "number"
+ },
+ {
+ "description": "Minimum Crime Index",
+ "in": "query",
+ "name": "min_crime_index",
+ "type": "number"
+ },
+ {
+ "description": "Maximum Crime Index",
+ "in": "query",
+ "name": "max_crime_index",
+ "type": "number"
+ },
+ {
+ "description": "Minimum Safety Index",
+ "in": "query",
+ "name": "min_safety_index",
+ "type": "number"
+ },
+ {
+ "description": "Minimum Health Care Index",
+ "in": "query",
+ "name": "min_health_care_index",
+ "type": "number"
+ },
+ {
+ "description": "Maximum Pollution Index",
+ "in": "query",
+ "name": "max_pollution_index",
+ "type": "number"
+ },
+ {
+ "description": "Maximum Traffic Index",
+ "in": "query",
+ "name": "max_traffic_index",
+ "type": "number"
}
],
"produces": [
@@ -299432,7 +374695,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/boxofficemojo.taxonomyListResponseDoc"
+ "$ref": "#/definitions/datasets.numbeoCitiesFacetResponseDoc"
}
},
"400": {
@@ -299452,12 +374715,6 @@
"schema": {
"$ref": "#/definitions/app.Response"
}
- },
- "503": {
- "description": "Service Unavailable",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
}
},
"security": [
@@ -299465,37 +374722,27 @@
"ApiKeyAuth": []
}
],
- "summary": "Box Office Mojo genre chart",
+ "summary": "Facet the Numbeo cities dataset",
"tags": [
- "Box Office Mojo"
+ "Datasets"
]
}
},
- "/boxofficemojo/lifetime-grosses": {
+ "/datasets/numbeo-cities/items/{slug}": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns one page of Box Office Mojo's lifetime gross chart of movies. `area` is `worldwide` (default) or `domestic`, and `offset` pages in steps of 200 from 0 to 800. Each row has `rank`, `title`, `title_id`, `year` and `lifetime_gross` as an integer, with the displayed text in `lifetime_gross_raw`.",
- "operationId": "boxofficemojo-lifetime-grosses",
+ "description": "Returns one Numbeo city from the dataset by `slug` such as `Los-Angeles`. The record has the city, country, `coverage` list and the cost of living, rent, quality of life, crime, safety, health care, pollution, traffic and property indices. Indices appear only where the city was ranked.",
+ "operationId": "datasets-numbeo-cities-item",
"parameters": [
{
- "description": "Chart area. Allowed values: worldwide, domestic",
- "enum": [
- "worldwide",
- "domestic"
- ],
- "in": "query",
- "name": "area",
+ "description": "Numbeo city slug",
+ "in": "path",
+ "name": "slug",
+ "required": true,
"type": "string",
- "x-example": "worldwide"
- },
- {
- "description": "Chart page offset. Allowed values: 0, 200, 400, 600, 800",
- "in": "query",
- "name": "offset",
- "type": "integer",
- "x-example": 0
+ "x-example": "Los-Angeles"
}
],
"produces": [
@@ -299505,7 +374752,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/boxofficemojo.lifetimeGrossesResponseDoc"
+ "$ref": "#/definitions/datasets.numbeoCityResponseDoc"
}
},
"400": {
@@ -299514,20 +374761,20 @@
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Too Many Requests",
+ "404": {
+ "description": "Not Found",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -299538,40 +374785,114 @@
"ApiKeyAuth": []
}
],
- "summary": "Box Office Mojo lifetime gross chart",
+ "summary": "Get a Numbeo city from the dataset",
"tags": [
- "Box Office Mojo"
+ "Datasets"
]
}
},
- "/boxofficemojo/release": {
+ "/datasets/numbeo-cities/search": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns Box Office Mojo release summary fields and domestic daily rows from a release page. Pass exactly one of `id`, `path`, or `url`.",
- "operationId": "boxofficemojo-release",
+ "description": "Searches the composite Numbeo cities dataset, merged from the current global rankings of all seven index families (cost of living, quality of life, crime, health care, pollution, traffic, property investment). A city appears once it is ranked by at least one family; coverage varies per city. Sort enum: `name_asc`, `cost_of_living_asc`, `cost_of_living_desc`, `quality_of_life_desc`, `safety_desc`, `crime_asc`, `health_care_desc`, `pollution_asc`, `traffic_asc`. Billing: this search costs 1 credit per record returned, with a minimum of 2 (an empty result costs 2, a full page of 100 costs 100).",
+ "operationId": "datasets-numbeo-cities-search",
"parameters": [
{
- "description": "Box Office Mojo release id",
+ "description": "Full-text query over the city name, max 256 characters",
"in": "query",
- "name": "id",
- "type": "string",
- "x-example": "rl3389031937"
+ "name": "q",
+ "type": "string"
},
{
- "description": "Box Office Mojo release path",
+ "description": "Exact country filter, max 128 characters",
"in": "query",
- "name": "path",
- "type": "string",
- "x-example": "/release/rl3389031937/"
+ "name": "country",
+ "type": "string"
},
{
- "description": "Absolute https://www.boxofficemojo.com release URL",
+ "description": "Minimum Cost of Living Index (New York = 100)",
"in": "query",
- "name": "url",
- "type": "string",
- "x-example": "https://www.boxofficemojo.com/release/rl3389031937/"
+ "name": "min_cost_of_living_index",
+ "type": "number"
+ },
+ {
+ "description": "Maximum Cost of Living Index (New York = 100)",
+ "in": "query",
+ "name": "max_cost_of_living_index",
+ "type": "number"
+ },
+ {
+ "description": "Minimum Quality of Life Index",
+ "in": "query",
+ "name": "min_quality_of_life_index",
+ "type": "number"
+ },
+ {
+ "description": "Minimum Crime Index",
+ "in": "query",
+ "name": "min_crime_index",
+ "type": "number"
+ },
+ {
+ "description": "Maximum Crime Index",
+ "in": "query",
+ "name": "max_crime_index",
+ "type": "number"
+ },
+ {
+ "description": "Minimum Safety Index",
+ "in": "query",
+ "name": "min_safety_index",
+ "type": "number"
+ },
+ {
+ "description": "Minimum Health Care Index",
+ "in": "query",
+ "name": "min_health_care_index",
+ "type": "number"
+ },
+ {
+ "description": "Maximum Pollution Index",
+ "in": "query",
+ "name": "max_pollution_index",
+ "type": "number"
+ },
+ {
+ "description": "Maximum Traffic Index",
+ "in": "query",
+ "name": "max_traffic_index",
+ "type": "number"
+ },
+ {
+ "description": "Sort enum: name_asc, cost_of_living_asc, cost_of_living_desc, quality_of_life_desc, safety_desc, crime_asc, health_care_desc, pollution_asc, traffic_asc",
+ "enum": [
+ "name_asc",
+ "cost_of_living_asc",
+ "cost_of_living_desc",
+ "quality_of_life_desc",
+ "safety_desc",
+ "crime_asc",
+ "health_care_desc",
+ "pollution_asc",
+ "traffic_asc"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Page number, defaults to 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, defaults to 20 and maxes at 100; page * page_size must be <= 10000",
+ "in": "query",
+ "name": "page_size",
+ "type": "integer"
}
],
"produces": [
@@ -299581,7 +374902,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/boxofficemojo.releaseResponseDoc"
+ "$ref": "#/definitions/datasets.numbeoCitiesSearchResponseDoc"
}
},
"400": {
@@ -299590,12 +374911,6 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"429": {
"description": "Too Many Requests",
"schema": {
@@ -299607,12 +374922,6 @@
"schema": {
"$ref": "#/definitions/app.Response"
}
- },
- "503": {
- "description": "Service Unavailable",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
}
},
"security": [
@@ -299620,40 +374929,27 @@
"ApiKeyAuth": []
}
],
- "summary": "Box Office Mojo release detail",
+ "summary": "Search the Numbeo cities dataset",
"tags": [
- "Box Office Mojo"
+ "Datasets"
]
}
},
- "/boxofficemojo/release-group": {
+ "/datasets/numbeo-countries/items/{country}": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns market release rows grouped by region from a Box Office Mojo release-group page. Pass exactly one of `id`, `path`, or `url`.",
- "operationId": "boxofficemojo-release-group",
+ "description": "Returns one Numbeo country from the dataset by `country`, spelled as Numbeo does, such as `Vietnam`. The record has a `coverage` list and country-level indices for cost of living, rent, quality of life, crime, safety, health care, pollution, traffic and property, present only where ranked.",
+ "operationId": "datasets-numbeo-countries-item",
"parameters": [
{
- "description": "Box Office Mojo release-group id",
- "in": "query",
- "name": "id",
- "type": "string",
- "x-example": "gr3486798341"
- },
- {
- "description": "Box Office Mojo release-group path",
- "in": "query",
- "name": "path",
- "type": "string",
- "x-example": "/releasegroup/gr3486798341/"
- },
- {
- "description": "Absolute https://www.boxofficemojo.com release-group URL",
- "in": "query",
- "name": "url",
+ "description": "Country name as Numbeo spells it",
+ "in": "path",
+ "name": "country",
+ "required": true,
"type": "string",
- "x-example": "https://www.boxofficemojo.com/releasegroup/gr3486798341/"
+ "x-example": "Vietnam"
}
],
"produces": [
@@ -299663,7 +374959,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/boxofficemojo.releaseGroupResponseDoc"
+ "$ref": "#/definitions/datasets.numbeoCountryResponseDoc"
}
},
"400": {
@@ -299689,12 +374985,6 @@
"schema": {
"$ref": "#/definitions/app.Response"
}
- },
- "503": {
- "description": "Service Unavailable",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
}
},
"security": [
@@ -299702,40 +374992,108 @@
"ApiKeyAuth": []
}
],
- "summary": "Box Office Mojo release group detail",
+ "summary": "Get a Numbeo country from the dataset",
"tags": [
- "Box Office Mojo"
+ "Datasets"
]
}
},
- "/boxofficemojo/showdown": {
+ "/datasets/numbeo-countries/search": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns release comparison metrics from a Box Office Mojo showdown page. Pass exactly one of `id`, `path`, or `url`.",
- "operationId": "boxofficemojo-showdown",
+ "description": "Searches the composite Numbeo countries dataset, merged from the current global by-country rankings of all seven index families. Sort enum: `name_asc`, `cost_of_living_asc`, `cost_of_living_desc`, `quality_of_life_desc`, `safety_desc`, `crime_asc`, `health_care_desc`, `pollution_asc`, `traffic_asc`. Billing: this search costs 1 credit per record returned, with a minimum of 2 (an empty result costs 2, a full page of 100 costs 100).",
+ "operationId": "datasets-numbeo-countries-search",
"parameters": [
{
- "description": "Box Office Mojo showdown id",
+ "description": "Full-text query over the country name, max 256 characters",
"in": "query",
- "name": "id",
- "type": "string",
- "x-example": "sd943519236"
+ "name": "q",
+ "type": "string"
},
{
- "description": "Box Office Mojo showdown path",
+ "description": "Minimum Cost of Living Index (New York = 100)",
"in": "query",
- "name": "path",
- "type": "string",
- "x-example": "/showdown/sd943519236/"
+ "name": "min_cost_of_living_index",
+ "type": "number"
},
{
- "description": "Absolute https://www.boxofficemojo.com showdown URL",
+ "description": "Maximum Cost of Living Index (New York = 100)",
"in": "query",
- "name": "url",
- "type": "string",
- "x-example": "https://www.boxofficemojo.com/showdown/sd943519236/"
+ "name": "max_cost_of_living_index",
+ "type": "number"
+ },
+ {
+ "description": "Minimum Quality of Life Index",
+ "in": "query",
+ "name": "min_quality_of_life_index",
+ "type": "number"
+ },
+ {
+ "description": "Minimum Crime Index",
+ "in": "query",
+ "name": "min_crime_index",
+ "type": "number"
+ },
+ {
+ "description": "Maximum Crime Index",
+ "in": "query",
+ "name": "max_crime_index",
+ "type": "number"
+ },
+ {
+ "description": "Minimum Safety Index",
+ "in": "query",
+ "name": "min_safety_index",
+ "type": "number"
+ },
+ {
+ "description": "Minimum Health Care Index",
+ "in": "query",
+ "name": "min_health_care_index",
+ "type": "number"
+ },
+ {
+ "description": "Maximum Pollution Index",
+ "in": "query",
+ "name": "max_pollution_index",
+ "type": "number"
+ },
+ {
+ "description": "Maximum Traffic Index",
+ "in": "query",
+ "name": "max_traffic_index",
+ "type": "number"
+ },
+ {
+ "description": "Sort enum: name_asc, cost_of_living_asc, cost_of_living_desc, quality_of_life_desc, safety_desc, crime_asc, health_care_desc, pollution_asc, traffic_asc",
+ "enum": [
+ "name_asc",
+ "cost_of_living_asc",
+ "cost_of_living_desc",
+ "quality_of_life_desc",
+ "safety_desc",
+ "crime_asc",
+ "health_care_desc",
+ "pollution_asc",
+ "traffic_asc"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Page number, defaults to 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, defaults to 20 and maxes at 100; page * page_size must be <= 10000",
+ "in": "query",
+ "name": "page_size",
+ "type": "integer"
}
],
"produces": [
@@ -299745,7 +375103,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/boxofficemojo.showdownResponseDoc"
+ "$ref": "#/definitions/datasets.numbeoCountriesSearchResponseDoc"
}
},
"400": {
@@ -299754,12 +375112,6 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"429": {
"description": "Too Many Requests",
"schema": {
@@ -299771,12 +375123,6 @@
"schema": {
"$ref": "#/definitions/app.Response"
}
- },
- "503": {
- "description": "Service Unavailable",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
}
},
"security": [
@@ -299784,19 +375130,77 @@
"ApiKeyAuth": []
}
],
- "summary": "Box Office Mojo showdown detail",
+ "summary": "Search the Numbeo countries dataset",
"tags": [
- "Box Office Mojo"
+ "Datasets"
]
}
},
- "/boxofficemojo/showdowns": {
+ "/datasets/pitchbook-advisors/facets": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns Box Office Mojo's showdowns, which compare groups of movies. Each row has the showdown `name`, `showdown_id`, `path`, `url`, `num_releases`, `total_gross` and the `top_release` with its gross, when Box Office Mojo shows them. Takes no parameters.",
- "operationId": "boxofficemojo-showdowns",
+ "description": "Returns value counts for the PitchBook advisors dataset by the required `facet`: `service_type`, `hq_country`, `hq_state` or `run_id`. The counts honour the search filters, including `q`, `min_year_founded` and `max_year_founded`, and list the top 50 values.",
+ "operationId": "datasets-pitchbook-advisors-facets",
+ "parameters": [
+ {
+ "description": "Facet enum: service_type, hq_country, hq_state, run_id",
+ "enum": [
+ "service_type",
+ "hq_country",
+ "hq_state",
+ "run_id"
+ ],
+ "in": "query",
+ "name": "facet",
+ "required": true,
+ "type": "string",
+ "x-example": "service_type"
+ },
+ {
+ "description": "Full-text query over name and description, max 256 characters",
+ "in": "query",
+ "name": "q",
+ "type": "string"
+ },
+ {
+ "description": "Exact service provider type filter, max 128 characters",
+ "in": "query",
+ "name": "service_type",
+ "type": "string"
+ },
+ {
+ "description": "Exact headquarters country filter, max 128 characters",
+ "in": "query",
+ "name": "hq_country",
+ "type": "string"
+ },
+ {
+ "description": "Exact headquarters state/region filter, max 128 characters",
+ "in": "query",
+ "name": "hq_state",
+ "type": "string"
+ },
+ {
+ "description": "Exact crawl run-id filter, max 128 characters",
+ "in": "query",
+ "name": "run_id",
+ "type": "string"
+ },
+ {
+ "description": "Minimum founding year",
+ "in": "query",
+ "name": "min_year_founded",
+ "type": "integer"
+ },
+ {
+ "description": "Maximum founding year",
+ "in": "query",
+ "name": "max_year_founded",
+ "type": "integer"
+ }
+ ],
"produces": [
"application/json"
],
@@ -299804,23 +375208,23 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/boxofficemojo.showdownsResponseDoc"
+ "$ref": "#/definitions/datasets.pitchbookAdvisorsFacetResponseDoc"
}
},
- "429": {
- "description": "Too Many Requests",
+ "400": {
+ "description": "Bad Request",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -299831,40 +375235,27 @@
"ApiKeyAuth": []
}
],
- "summary": "Box Office Mojo showdowns",
+ "summary": "Facet PitchBook advisors dataset",
"tags": [
- "Box Office Mojo"
+ "Datasets"
]
}
},
- "/boxofficemojo/title": {
+ "/datasets/pitchbook-advisors/items/{id}": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns Box Office Mojo title release-group and market-gross tables from a title page. Pass exactly one of `id`, `path`, or `url`.",
- "operationId": "boxofficemojo-title",
+ "description": "Returns one PitchBook advisor from the dataset by `id`, such as `676215-64`. The record has name, description, service type, headquarters, founding year, website, contact, overview fields, serviced companies and deals, FAQs and data tables. An id not in the dataset returns 404.",
+ "operationId": "datasets-pitchbook-advisors-item",
"parameters": [
{
- "description": "Box Office Mojo title id",
- "in": "query",
+ "description": "PitchBook advisor id, e.g. 676215-64",
+ "in": "path",
"name": "id",
+ "required": true,
"type": "string",
- "x-example": "tt0499549"
- },
- {
- "description": "Box Office Mojo title path",
- "in": "query",
- "name": "path",
- "type": "string",
- "x-example": "/title/tt0499549/"
- },
- {
- "description": "Absolute https://www.boxofficemojo.com title URL",
- "in": "query",
- "name": "url",
- "type": "string",
- "x-example": "https://www.boxofficemojo.com/title/tt0499549/"
+ "x-example": "676215-64"
}
],
"produces": [
@@ -299874,7 +375265,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/boxofficemojo.titleResponseDoc"
+ "$ref": "#/definitions/datasets.pitchbookAdvisorResponseDoc"
}
},
"400": {
@@ -299900,12 +375291,6 @@
"schema": {
"$ref": "#/definitions/app.Response"
}
- },
- "503": {
- "description": "Service Unavailable",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
}
},
"security": [
@@ -299913,35 +375298,85 @@
"ApiKeyAuth": []
}
],
- "summary": "Box Office Mojo title detail",
+ "summary": "Get a PitchBook advisor from dataset",
"tags": [
- "Box Office Mojo"
+ "Datasets"
]
}
},
- "/boxofficemojo/weekend/domestic": {
+ "/datasets/pitchbook-advisors/search": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns rows from Box Office Mojo's domestic weekend chart. Empty upstream weekend pages return a typed not-found error rather than an empty success.",
- "operationId": "boxofficemojo-weekend-domestic",
+ "description": "Searches the crawled public PitchBook advisor (service provider — e.g. investment bank, lender, financing advisory firm) profile catalog stored in a search index. Discovered from PitchBook's public sitemap. Sort enum: `relevance`, `name_asc`, `year_founded_desc`, `recently_crawled_desc`. Billing: this search costs 1 credit per record returned, with a minimum of 2 (an empty result costs 2, a full page of 100 costs 100).",
+ "operationId": "datasets-pitchbook-advisors-search",
"parameters": [
{
- "description": "Domestic weekend year, from 1982 through 2100",
+ "description": "Full-text query over name and description, max 256 characters",
"in": "query",
- "name": "year",
- "required": true,
- "type": "integer",
- "x-example": 2025
+ "name": "q",
+ "type": "string"
},
{
- "description": "Weekend number, 1 through 53",
+ "description": "Exact service provider type filter (e.g. Commercial Bank, Investment Bank, Financing Advisory), max 128 characters",
"in": "query",
- "name": "week",
- "required": true,
- "type": "integer",
- "x-example": 52
+ "name": "service_type",
+ "type": "string"
+ },
+ {
+ "description": "Exact headquarters country filter, max 128 characters",
+ "in": "query",
+ "name": "hq_country",
+ "type": "string"
+ },
+ {
+ "description": "Exact headquarters state/region filter, max 128 characters",
+ "in": "query",
+ "name": "hq_state",
+ "type": "string"
+ },
+ {
+ "description": "Exact crawl run-id filter, max 128 characters",
+ "in": "query",
+ "name": "run_id",
+ "type": "string"
+ },
+ {
+ "description": "Minimum founding year",
+ "in": "query",
+ "name": "min_year_founded",
+ "type": "integer"
+ },
+ {
+ "description": "Maximum founding year",
+ "in": "query",
+ "name": "max_year_founded",
+ "type": "integer"
+ },
+ {
+ "description": "Sort enum: relevance, name_asc, year_founded_desc, recently_crawled_desc",
+ "enum": [
+ "relevance",
+ "name_asc",
+ "year_founded_desc",
+ "recently_crawled_desc"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Page number, defaults to 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, defaults to 20 and maxes at 100; page * page_size must be <= 10000",
+ "in": "query",
+ "name": "page_size",
+ "type": "integer"
}
],
"produces": [
@@ -299951,7 +375386,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/boxofficemojo.domesticWeekendResponseDoc"
+ "$ref": "#/definitions/datasets.pitchbookAdvisorsSearchResponseDoc"
}
},
"400": {
@@ -299960,12 +375395,6 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"429": {
"description": "Too Many Requests",
"schema": {
@@ -299977,12 +375406,6 @@
"schema": {
"$ref": "#/definitions/app.Response"
}
- },
- "503": {
- "description": "Service Unavailable",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
}
},
"security": [
@@ -299990,35 +375413,102 @@
"ApiKeyAuth": []
}
],
- "summary": "Box Office Mojo domestic weekend box office",
+ "summary": "Search PitchBook advisors dataset",
"tags": [
- "Box Office Mojo"
+ "Datasets"
]
}
},
- "/boxofficemojo/weekend/domestic/by-distributor": {
+ "/datasets/pitchbook-companies/facets": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns distributor rows from Box Office Mojo's domestic weekend by-distributor chart. Empty upstream weekend pages return a typed not-found error rather than an empty success.",
- "operationId": "boxofficemojo-weekend-domestic-by-distributor",
+ "description": "Returns value counts for the PitchBook companies dataset by the required `facet`: `status`, `primary_industry`, `financing_status`, `ownership_status`, `hq_country`, `hq_state` or `run_id`. Filters such as `q`, `min_year_founded` and `min_investor_count` apply, and the top 50 values come back.",
+ "operationId": "datasets-pitchbook-companies-facets",
"parameters": [
{
- "description": "Domestic weekend year, from 1982 through 2100",
+ "description": "Facet enum: status, primary_industry, financing_status, ownership_status, hq_country, hq_state, run_id",
+ "enum": [
+ "status",
+ "primary_industry",
+ "financing_status",
+ "ownership_status",
+ "hq_country",
+ "hq_state",
+ "run_id"
+ ],
"in": "query",
- "name": "year",
+ "name": "facet",
"required": true,
- "type": "integer",
- "x-example": 2025
+ "type": "string",
+ "x-example": "status"
},
{
- "description": "Weekend number, 1 through 53",
+ "description": "Full-text query over name and description, max 256 characters",
"in": "query",
- "name": "week",
- "required": true,
- "type": "integer",
- "x-example": 52
+ "name": "q",
+ "type": "string"
+ },
+ {
+ "description": "Exact status filter, max 128 characters",
+ "in": "query",
+ "name": "status",
+ "type": "string"
+ },
+ {
+ "description": "Exact primary industry filter, max 128 characters",
+ "in": "query",
+ "name": "primary_industry",
+ "type": "string"
+ },
+ {
+ "description": "Exact financing status filter, max 128 characters",
+ "in": "query",
+ "name": "financing_status",
+ "type": "string"
+ },
+ {
+ "description": "Exact ownership status filter, max 128 characters",
+ "in": "query",
+ "name": "ownership_status",
+ "type": "string"
+ },
+ {
+ "description": "Exact headquarters country filter, max 128 characters",
+ "in": "query",
+ "name": "hq_country",
+ "type": "string"
+ },
+ {
+ "description": "Exact headquarters state/region filter, max 128 characters",
+ "in": "query",
+ "name": "hq_state",
+ "type": "string"
+ },
+ {
+ "description": "Exact crawl run-id filter, max 128 characters",
+ "in": "query",
+ "name": "run_id",
+ "type": "string"
+ },
+ {
+ "description": "Minimum founding year",
+ "in": "query",
+ "name": "min_year_founded",
+ "type": "integer"
+ },
+ {
+ "description": "Maximum founding year",
+ "in": "query",
+ "name": "max_year_founded",
+ "type": "integer"
+ },
+ {
+ "description": "Minimum number of investors",
+ "in": "query",
+ "name": "min_investor_count",
+ "type": "integer"
}
],
"produces": [
@@ -300028,7 +375518,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/boxofficemojo.weekendDistributorResponseDoc"
+ "$ref": "#/definitions/datasets.pitchbookCompaniesFacetResponseDoc"
}
},
"400": {
@@ -300037,12 +375527,6 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"429": {
"description": "Too Many Requests",
"schema": {
@@ -300054,12 +375538,6 @@
"schema": {
"$ref": "#/definitions/app.Response"
}
- },
- "503": {
- "description": "Service Unavailable",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
}
},
"security": [
@@ -300067,35 +375545,27 @@
"ApiKeyAuth": []
}
],
- "summary": "Box Office Mojo domestic weekend by distributor",
+ "summary": "Facet PitchBook companies dataset",
"tags": [
- "Box Office Mojo"
+ "Datasets"
]
}
},
- "/boxofficemojo/weekend/domestic/estimates": {
+ "/datasets/pitchbook-companies/items/{id}": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns estimate-vs-actual rows from Box Office Mojo's domestic weekend estimates chart. Empty upstream weekend pages return a typed not-found error rather than an empty success.",
- "operationId": "boxofficemojo-weekend-domestic-estimates",
+ "description": "Returns one PitchBook company from the dataset by `id`, such as `752821-12`. The record has name, description, status, primary industry, financing and ownership status, headquarters, founding year, employees, investor count, latest deal type, website, FAQs and data tables. An unknown id returns 404.",
+ "operationId": "datasets-pitchbook-companies-item",
"parameters": [
{
- "description": "Domestic weekend year, from 1982 through 2100",
- "in": "query",
- "name": "year",
- "required": true,
- "type": "integer",
- "x-example": 2025
- },
- {
- "description": "Weekend number, 1 through 53",
- "in": "query",
- "name": "week",
+ "description": "PitchBook company id, e.g. 752821-12",
+ "in": "path",
+ "name": "id",
"required": true,
- "type": "integer",
- "x-example": 52
+ "type": "string",
+ "x-example": "752821-12"
}
],
"produces": [
@@ -300105,7 +375575,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/boxofficemojo.weekendEstimatesResponseDoc"
+ "$ref": "#/definitions/datasets.pitchbookCompanyResponseDoc"
}
},
"400": {
@@ -300131,12 +375601,6 @@
"schema": {
"$ref": "#/definitions/app.Response"
}
- },
- "503": {
- "description": "Service Unavailable",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
}
},
"security": [
@@ -300144,27 +375608,110 @@
"ApiKeyAuth": []
}
],
- "summary": "Box Office Mojo domestic weekend estimates",
+ "summary": "Get a PitchBook company from dataset",
"tags": [
- "Box Office Mojo"
+ "Datasets"
]
}
},
- "/boxofficemojo/year/domestic": {
+ "/datasets/pitchbook-companies/search": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns the Box Office Mojo domestic box office chart for one year. `year` is required and runs from 1977 to 2100. Each row has `rank`, `release`, `release_date`, `distributor`, `theaters`, `gross`, `total_gross` and `new_this_year`, each gross also with its displayed text in a `_raw` field.",
- "operationId": "boxofficemojo-year-domestic",
+ "description": "Searches the crawled public PitchBook company profile catalog stored in a search index. Discovered from PitchBook's public sitemap. Sort enum: `relevance`, `name_asc`, `year_founded_desc`, `investor_count_desc`, `recently_crawled_desc`. Billing: this search costs 1 credit per record returned, with a minimum of 2 (an empty result costs 2, a full page of 100 costs 100).",
+ "operationId": "datasets-pitchbook-companies-search",
"parameters": [
{
- "description": "Domestic box office year, from 1977 through 2100",
+ "description": "Full-text query over name and description, max 256 characters",
+ "in": "query",
+ "name": "q",
+ "type": "string"
+ },
+ {
+ "description": "Exact status filter (e.g. Private, Public, Acquired, Out of Business), max 128 characters",
+ "in": "query",
+ "name": "status",
+ "type": "string"
+ },
+ {
+ "description": "Exact primary industry filter, max 128 characters",
+ "in": "query",
+ "name": "primary_industry",
+ "type": "string"
+ },
+ {
+ "description": "Exact financing status filter, max 128 characters",
+ "in": "query",
+ "name": "financing_status",
+ "type": "string"
+ },
+ {
+ "description": "Exact ownership status filter, max 128 characters",
+ "in": "query",
+ "name": "ownership_status",
+ "type": "string"
+ },
+ {
+ "description": "Exact headquarters country filter, max 128 characters",
+ "in": "query",
+ "name": "hq_country",
+ "type": "string"
+ },
+ {
+ "description": "Exact headquarters state/region filter, max 128 characters",
+ "in": "query",
+ "name": "hq_state",
+ "type": "string"
+ },
+ {
+ "description": "Exact crawl run-id filter, max 128 characters",
+ "in": "query",
+ "name": "run_id",
+ "type": "string"
+ },
+ {
+ "description": "Minimum founding year",
+ "in": "query",
+ "name": "min_year_founded",
+ "type": "integer"
+ },
+ {
+ "description": "Maximum founding year",
+ "in": "query",
+ "name": "max_year_founded",
+ "type": "integer"
+ },
+ {
+ "description": "Minimum number of investors",
+ "in": "query",
+ "name": "min_investor_count",
+ "type": "integer"
+ },
+ {
+ "description": "Sort enum: relevance, name_asc, year_founded_desc, investor_count_desc, recently_crawled_desc",
+ "enum": [
+ "relevance",
+ "name_asc",
+ "year_founded_desc",
+ "investor_count_desc",
+ "recently_crawled_desc"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Page number, defaults to 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, defaults to 20 and maxes at 100; page * page_size must be <= 10000",
"in": "query",
- "name": "year",
- "required": true,
- "type": "integer",
- "x-example": 2025
+ "name": "page_size",
+ "type": "integer"
}
],
"produces": [
@@ -300174,7 +375721,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/boxofficemojo.domesticYearResponseDoc"
+ "$ref": "#/definitions/datasets.pitchbookCompaniesSearchResponseDoc"
}
},
"400": {
@@ -300194,12 +375741,6 @@
"schema": {
"$ref": "#/definitions/app.Response"
}
- },
- "503": {
- "description": "Service Unavailable",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
}
},
"security": [
@@ -300207,27 +375748,68 @@
"ApiKeyAuth": []
}
],
- "summary": "Box Office Mojo domestic yearly box office",
+ "summary": "Search PitchBook companies dataset",
"tags": [
- "Box Office Mojo"
+ "Datasets"
]
}
},
- "/boxofficemojo/year/worldwide": {
+ "/datasets/pitchbook-funds/facets": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns the Box Office Mojo worldwide box office chart for one year. `year` is required and runs from 1977 to 2100. Each row is a release group with its `rank`, `worldwide`, `domestic` and `foreign` grosses, the domestic and foreign shares, and `title_id`; each gross also has its displayed text in a `_raw` field.",
- "operationId": "boxofficemojo-year-worldwide",
+ "description": "Returns value counts for the PitchBook funds dataset by the required `facet`: `fund_strategy`, `fund_status` or `run_id`. The search filters `q`, `fund_strategy`, `fund_status`, `min_vintage_year` and `max_vintage_year` apply to the counts, which list the top 50 values.",
+ "operationId": "datasets-pitchbook-funds-facets",
"parameters": [
{
- "description": "Box office year, from 1977 through 2100",
+ "description": "Facet enum: fund_strategy, fund_status, run_id",
+ "enum": [
+ "fund_strategy",
+ "fund_status",
+ "run_id"
+ ],
"in": "query",
- "name": "year",
+ "name": "facet",
"required": true,
- "type": "integer",
- "x-example": 2025
+ "type": "string",
+ "x-example": "fund_strategy"
+ },
+ {
+ "description": "Full-text query over name and description, max 256 characters",
+ "in": "query",
+ "name": "q",
+ "type": "string"
+ },
+ {
+ "description": "Exact fund strategy filter, max 128 characters",
+ "in": "query",
+ "name": "fund_strategy",
+ "type": "string"
+ },
+ {
+ "description": "Exact fund status filter, max 128 characters",
+ "in": "query",
+ "name": "fund_status",
+ "type": "string"
+ },
+ {
+ "description": "Exact crawl run-id filter, max 128 characters",
+ "in": "query",
+ "name": "run_id",
+ "type": "string"
+ },
+ {
+ "description": "Minimum vintage year",
+ "in": "query",
+ "name": "min_vintage_year",
+ "type": "integer"
+ },
+ {
+ "description": "Maximum vintage year",
+ "in": "query",
+ "name": "max_vintage_year",
+ "type": "integer"
}
],
"produces": [
@@ -300237,7 +375819,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/boxofficemojo.worldwideYearResponseDoc"
+ "$ref": "#/definitions/datasets.pitchbookFundsFacetResponseDoc"
}
},
"400": {
@@ -300257,12 +375839,6 @@
"schema": {
"$ref": "#/definitions/app.Response"
}
- },
- "503": {
- "description": "Service Unavailable",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
}
},
"security": [
@@ -300270,51 +375846,27 @@
"ApiKeyAuth": []
}
],
- "summary": "Box Office Mojo worldwide yearly box office",
+ "summary": "Facet PitchBook funds dataset",
"tags": [
- "Box Office Mojo"
+ "Datasets"
]
}
},
- "/brand/retrieve": {
+ "/datasets/pitchbook-funds/items/{id}": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns a brand profile for a domain (title, description, brand colors as hex, logos and icons ranked best-first, backdrops, socials, links, and any schema.org organization data). Enrichment-only fields that are not present in the page markup are returned as null.",
- "operationId": "brand-retrieve",
+ "description": "Returns one PitchBook fund from the dataset by `id`, such as `19719-91F`. The record has name, strategy, status, fund size, vintage year, managing firm, contact details and data tables such as limited partners and benchmarks. An id not in the dataset returns 404.",
+ "operationId": "datasets-pitchbook-funds-item",
"parameters": [
{
- "description": "Domain to retrieve brand data for, e.g. context.dev",
- "in": "query",
- "name": "domain",
+ "description": "PitchBook fund id, e.g. 19719-91F",
+ "in": "path",
+ "name": "id",
"required": true,
"type": "string",
- "x-example": "context.dev"
- },
- {
- "description": "Accepted for compatibility; not applied in HTML-only mode",
- "in": "query",
- "name": "force_language",
- "type": "string"
- },
- {
- "description": "Optimize for speed by skipping schema.org and footer-link extraction",
- "in": "query",
- "name": "maxSpeed",
- "type": "boolean"
- },
- {
- "description": "Cache freshness window in milliseconds, clamps to 1 day..1 year",
- "in": "query",
- "name": "maxAgeMs",
- "type": "integer"
- },
- {
- "description": "Upstream fetch timeout in milliseconds, clamps to 1000..300000",
- "in": "query",
- "name": "timeoutMS",
- "type": "integer"
+ "x-example": "19719-91F"
}
],
"produces": [
@@ -300324,7 +375876,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/brand.retrieveResponseDoc"
+ "$ref": "#/definitions/datasets.pitchbookFundResponseDoc"
}
},
"400": {
@@ -300339,20 +375891,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "408": {
- "description": "Request Timeout",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"429": {
"description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -300363,114 +375909,79 @@
"ApiKeyAuth": []
}
],
- "summary": "Retrieve brand data by domain",
+ "summary": "Get a PitchBook fund from dataset",
"tags": [
- "Brand"
+ "Datasets"
]
}
},
- "/brave/images": {
+ "/datasets/pitchbook-funds/search": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns Brave image search results for a query string. Locale defaults to country=us and lang=en-us. Returns 503 when Brave serves a challenge page or unusable results.",
- "operationId": "brave-images",
+ "description": "Searches the crawled public PitchBook fund profile catalog stored in a search index. Discovered from PitchBook's public sitemap. Sort enum: `relevance`, `name_asc`, `vintage_desc`, `recently_crawled_desc`. Billing: this search costs 1 credit per record returned, with a minimum of 2 (an empty result costs 2, a full page of 100 costs 100).",
+ "operationId": "datasets-pitchbook-funds-search",
"parameters": [
{
- "description": "Search query",
+ "description": "Full-text query over name and description, max 256 characters",
"in": "query",
"name": "q",
- "required": true,
- "type": "string",
- "x-example": "openai"
+ "type": "string"
},
{
- "description": "Zero-based Brave result page; defaults to 0",
+ "description": "Exact fund strategy filter (e.g. Early Stage VC, Buyout), max 128 characters",
"in": "query",
- "minimum": 0,
- "name": "offset",
- "type": "integer",
- "x-example": 0
+ "name": "fund_strategy",
+ "type": "string"
},
{
- "description": "Results to return; defaults to 10, clamped to 1..50",
+ "description": "Exact fund status filter (e.g. Closed, Raising), max 128 characters",
"in": "query",
- "maximum": 50,
- "minimum": 1,
- "name": "count",
- "type": "integer",
- "x-example": 10
+ "name": "fund_status",
+ "type": "string"
},
{
- "description": "Brave result country; defaults to us",
- "enum": [
- "all",
- "ar",
- "at",
- "au",
- "be",
- "br",
- "ca",
- "ch",
- "cl",
- "cn",
- "de",
- "dk",
- "es",
- "fi",
- "fr",
- "gb",
- "gr",
- "hk",
- "id",
- "in",
- "it",
- "jp",
- "kr",
- "mx",
- "my",
- "nl",
- "no",
- "nz",
- "ph",
- "pl",
- "pt",
- "ru",
- "sa",
- "se",
- "sg",
- "tr",
- "tw",
- "us",
- "za"
- ],
+ "description": "Exact crawl run-id filter, max 128 characters",
"in": "query",
- "name": "country",
- "type": "string",
- "x-example": "us"
+ "name": "run_id",
+ "type": "string"
},
{
- "description": "Brave UI language; defaults to en-us",
+ "description": "Minimum vintage year",
+ "in": "query",
+ "name": "min_vintage_year",
+ "type": "integer"
+ },
+ {
+ "description": "Maximum vintage year",
+ "in": "query",
+ "name": "max_vintage_year",
+ "type": "integer"
+ },
+ {
+ "description": "Sort enum: relevance, name_asc, vintage_desc, recently_crawled_desc",
"enum": [
- "de-de",
- "en-ca",
- "en-gb",
- "en-in",
- "en-us",
- "fi-fi",
- "fr-ca",
- "fr-fr",
- "ja-jp",
- "pt-br",
- "sq-al",
- "sw-ke",
- "zh-tw"
+ "relevance",
+ "name_asc",
+ "vintage_desc",
+ "recently_crawled_desc"
],
"in": "query",
- "name": "lang",
- "type": "string",
- "x-example": "en-us"
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Page number, defaults to 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, defaults to 20 and maxes at 100; page * page_size must be <= 10000",
+ "in": "query",
+ "name": "page_size",
+ "type": "integer"
}
],
"produces": [
@@ -300480,35 +375991,23 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/brave.imagesResponseDoc"
+ "$ref": "#/definitions/datasets.pitchbookFundsSearchResponseDoc"
}
},
"400": {
- "description": "Missing or invalid query",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
- "404": {
- "description": "No results found",
+ "description": "Bad Request",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"429": {
- "description": "Rate limit exceeded",
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"500": {
- "description": "Internal server error",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
- "503": {
- "description": "Brave upstream request failed",
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -300519,142 +376018,82 @@
"ApiKeyAuth": []
}
],
- "summary": "Search Brave image results",
+ "summary": "Search PitchBook funds dataset",
"tags": [
- "Brave"
+ "Datasets"
]
}
},
- "/brave/news": {
+ "/datasets/pitchbook-investors/facets": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns Brave news search results for a query string. Locale defaults to country=us and lang=en-us. Returns 503 when Brave serves a challenge page or unusable results.",
- "operationId": "brave-news",
+ "description": "Returns value counts for the PitchBook investors dataset by the required `facet`: `status`, `investor_type`, `hq_country`, `hq_state` or `run_id`. The counts follow search filters including `q`, `min_portfolio_count` and `min_exits_count`, and show the top 50 values.",
+ "operationId": "datasets-pitchbook-investors-facets",
"parameters": [
{
- "description": "Search query",
+ "description": "Facet enum: status, investor_type, hq_country, hq_state, run_id",
+ "enum": [
+ "status",
+ "investor_type",
+ "hq_country",
+ "hq_state",
+ "run_id"
+ ],
"in": "query",
- "name": "q",
+ "name": "facet",
"required": true,
"type": "string",
- "x-example": "openai"
+ "x-example": "status"
},
{
- "description": "Zero-based Brave result page; defaults to 0",
+ "description": "Full-text query over name and description, max 256 characters",
"in": "query",
- "minimum": 0,
- "name": "offset",
- "type": "integer",
- "x-example": 0
+ "name": "q",
+ "type": "string"
},
{
- "description": "Results to return; defaults to 10, clamped to 1..50",
+ "description": "Exact status filter, max 128 characters",
"in": "query",
- "maximum": 50,
- "minimum": 1,
- "name": "count",
- "type": "integer",
- "x-example": 10
+ "name": "status",
+ "type": "string"
},
{
- "description": "Brave result country; defaults to us",
- "enum": [
- "all",
- "ar",
- "at",
- "au",
- "be",
- "br",
- "ca",
- "ch",
- "cl",
- "cn",
- "de",
- "dk",
- "es",
- "fi",
- "fr",
- "gb",
- "gr",
- "hk",
- "id",
- "in",
- "it",
- "jp",
- "kr",
- "mx",
- "my",
- "nl",
- "no",
- "nz",
- "ph",
- "pl",
- "pt",
- "ru",
- "sa",
- "se",
- "sg",
- "tr",
- "tw",
- "us",
- "za"
- ],
+ "description": "Exact investor type filter, max 128 characters",
"in": "query",
- "name": "country",
- "type": "string",
- "x-example": "us"
+ "name": "investor_type",
+ "type": "string"
},
{
- "description": "Brave UI language; defaults to en-us",
- "enum": [
- "de-de",
- "en-ca",
- "en-gb",
- "en-in",
- "en-us",
- "fi-fi",
- "fr-ca",
- "fr-fr",
- "ja-jp",
- "pt-br",
- "sq-al",
- "sw-ke",
- "zh-tw"
- ],
+ "description": "Exact headquarters country filter, max 128 characters",
"in": "query",
- "name": "lang",
- "type": "string",
- "x-example": "en-us"
+ "name": "hq_country",
+ "type": "string"
},
{
- "description": "Preset time filter: any, day, week, month, year, or custom",
- "enum": [
- "any",
- "day",
- "week",
- "month",
- "year",
- "custom"
- ],
+ "description": "Exact headquarters state/region filter, max 128 characters",
"in": "query",
- "name": "time_range",
+ "name": "hq_state",
"type": "string"
},
{
- "description": "Custom start date in YYYY-MM-DD; requires date_to",
+ "description": "Exact crawl run-id filter, max 128 characters",
"in": "query",
- "name": "date_from",
- "type": "string",
- "x-example": "2026-03-01"
+ "name": "run_id",
+ "type": "string"
},
{
- "description": "Custom end date in YYYY-MM-DD; requires date_from",
+ "description": "Minimum current portfolio size",
"in": "query",
- "name": "date_to",
- "type": "string",
- "x-example": "2026-03-30"
+ "name": "min_portfolio_count",
+ "type": "integer"
+ },
+ {
+ "description": "Minimum number of exits",
+ "in": "query",
+ "name": "min_exits_count",
+ "type": "integer"
}
],
"produces": [
@@ -300664,35 +376103,23 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/brave.newsResponseDoc"
+ "$ref": "#/definitions/datasets.pitchbookInvestorsFacetResponseDoc"
}
},
"400": {
- "description": "Missing or invalid query",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
- "404": {
- "description": "No results found",
+ "description": "Bad Request",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"429": {
- "description": "Rate limit exceeded",
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"500": {
- "description": "Internal server error",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
- "503": {
- "description": "Brave upstream request failed",
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -300703,133 +376130,27 @@
"ApiKeyAuth": []
}
],
- "summary": "Search Brave news results",
+ "summary": "Facet PitchBook investors dataset",
"tags": [
- "Brave"
+ "Datasets"
]
}
},
- "/brave/search": {
+ "/datasets/pitchbook-investors/items/{id}": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns web search results from Brave Search for a query string, along with offset-based pagination, related queries, discussions, videos, and the right-side knowledge card when Brave includes one. Use time_range for preset ranges or date_from/date_to for a custom YYYY-MM-DD range. Locale defaults to country=us and lang=en-us.",
- "operationId": "brave-search",
+ "description": "Returns one PitchBook investor from the dataset by `id`, such as `294471-37`. The record has name, description, investor type, status, headquarters, investment, portfolio and exit counts, contact and website, FAQs and data tables. An unknown id returns 404.",
+ "operationId": "datasets-pitchbook-investors-item",
"parameters": [
{
- "description": "Search query",
- "in": "query",
- "name": "q",
+ "description": "PitchBook investor id, e.g. 294471-37",
+ "in": "path",
+ "name": "id",
"required": true,
"type": "string",
- "x-example": "openai"
- },
- {
- "description": "Zero-based Brave result page",
- "in": "query",
- "minimum": 0,
- "name": "offset",
- "type": "integer",
- "x-example": 1
- },
- {
- "description": "Brave result country; defaults to us",
- "enum": [
- "all",
- "ar",
- "at",
- "au",
- "be",
- "br",
- "ca",
- "ch",
- "cl",
- "cn",
- "de",
- "dk",
- "es",
- "fi",
- "fr",
- "gb",
- "gr",
- "hk",
- "id",
- "in",
- "it",
- "jp",
- "kr",
- "mx",
- "my",
- "nl",
- "no",
- "nz",
- "ph",
- "pl",
- "pt",
- "ru",
- "sa",
- "se",
- "sg",
- "tr",
- "tw",
- "us",
- "za"
- ],
- "in": "query",
- "name": "country",
- "type": "string",
- "x-example": "us"
- },
- {
- "description": "Brave UI language; defaults to en-us",
- "enum": [
- "de-de",
- "en-ca",
- "en-gb",
- "en-in",
- "en-us",
- "fi-fi",
- "fr-ca",
- "fr-fr",
- "ja-jp",
- "pt-br",
- "sq-al",
- "sw-ke",
- "zh-tw"
- ],
- "in": "query",
- "name": "lang",
- "type": "string",
- "x-example": "en-us"
- },
- {
- "description": "Preset time filter: any, day, week, month, year, or custom",
- "enum": [
- "any",
- "day",
- "week",
- "month",
- "year",
- "custom"
- ],
- "in": "query",
- "name": "time_range",
- "type": "string"
- },
- {
- "description": "Custom start date in YYYY-MM-DD; requires date_to",
- "in": "query",
- "name": "date_from",
- "type": "string",
- "x-example": "2026-03-01"
- },
- {
- "description": "Custom end date in YYYY-MM-DD; requires date_from",
- "in": "query",
- "name": "date_to",
- "type": "string",
- "x-example": "2026-03-30"
+ "x-example": "294471-37"
}
],
"produces": [
@@ -300839,29 +376160,29 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/brave.searchResponseDoc"
+ "$ref": "#/definitions/datasets.pitchbookInvestorResponseDoc"
}
},
"400": {
- "description": "Missing or invalid query",
+ "description": "Bad Request",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"404": {
- "description": "No results found",
+ "description": "Not Found",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"429": {
- "description": "Rate limit exceeded",
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"500": {
- "description": "Internal server error",
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -300872,113 +376193,91 @@
"ApiKeyAuth": []
}
],
- "summary": "Search Brave",
+ "summary": "Get a PitchBook investor from dataset",
"tags": [
- "Brave"
+ "Datasets"
]
}
},
- "/brave/suggest": {
+ "/datasets/pitchbook-investors/search": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns Brave autosuggest query completions for a query prefix. Locale defaults to country=us and lang=en-us. Suggestions are fetched from public Brave Search suggest JSON and trimmed to the requested count. `rich=true` adds entity metadata (name, description, category, image) where Brave resolves a suggestion to a known entity.",
- "operationId": "brave-suggest",
+ "description": "Searches the crawled public PitchBook investor (fund manager/firm) profile catalog stored in a search index. Discovered from PitchBook's public sitemap. Sort enum: `relevance`, `name_asc`, `portfolio_count_desc`, `recently_crawled_desc`. Billing: this search costs 1 credit per record returned, with a minimum of 2 (an empty result costs 2, a full page of 100 costs 100).",
+ "operationId": "datasets-pitchbook-investors-search",
"parameters": [
{
- "description": "Search query prefix",
+ "description": "Full-text query over name and description, max 256 characters",
"in": "query",
"name": "q",
- "required": true,
- "type": "string",
- "x-example": "openai"
+ "type": "string"
},
{
- "description": "Suggestions to return; defaults to 10, clamped to 1..12",
+ "description": "Exact status filter (e.g. Active, Inactive), max 128 characters",
"in": "query",
- "maximum": 12,
- "minimum": 1,
- "name": "count",
- "type": "integer",
- "x-example": 10
+ "name": "status",
+ "type": "string"
},
{
- "description": "Brave result country; defaults to us",
- "enum": [
- "all",
- "ar",
- "at",
- "au",
- "be",
- "br",
- "ca",
- "ch",
- "cl",
- "cn",
- "de",
- "dk",
- "es",
- "fi",
- "fr",
- "gb",
- "gr",
- "hk",
- "id",
- "in",
- "it",
- "jp",
- "kr",
- "mx",
- "my",
- "nl",
- "no",
- "nz",
- "ph",
- "pl",
- "pt",
- "ru",
- "sa",
- "se",
- "sg",
- "tr",
- "tw",
- "us",
- "za"
- ],
+ "description": "Exact investor type filter (e.g. Venture Capital, Private Equity, Angel), max 128 characters",
"in": "query",
- "name": "country",
- "type": "string",
- "x-example": "us"
+ "name": "investor_type",
+ "type": "string"
},
{
- "description": "Brave UI language; defaults to en-us",
+ "description": "Exact headquarters country filter, max 128 characters",
+ "in": "query",
+ "name": "hq_country",
+ "type": "string"
+ },
+ {
+ "description": "Exact headquarters state/region filter, max 128 characters",
+ "in": "query",
+ "name": "hq_state",
+ "type": "string"
+ },
+ {
+ "description": "Exact crawl run-id filter, max 128 characters",
+ "in": "query",
+ "name": "run_id",
+ "type": "string"
+ },
+ {
+ "description": "Minimum current portfolio size",
+ "in": "query",
+ "name": "min_portfolio_count",
+ "type": "integer"
+ },
+ {
+ "description": "Minimum number of exits",
+ "in": "query",
+ "name": "min_exits_count",
+ "type": "integer"
+ },
+ {
+ "description": "Sort enum: relevance, name_asc, portfolio_count_desc, recently_crawled_desc",
"enum": [
- "de-de",
- "en-ca",
- "en-gb",
- "en-in",
- "en-us",
- "fi-fi",
- "fr-ca",
- "fr-fr",
- "ja-jp",
- "pt-br",
- "sq-al",
- "sw-ke",
- "zh-tw"
+ "relevance",
+ "name_asc",
+ "portfolio_count_desc",
+ "recently_crawled_desc"
],
"in": "query",
- "name": "lang",
- "type": "string",
- "x-example": "en-us"
+ "name": "sort",
+ "type": "string"
},
{
- "description": "Add entity name, description, category, and image to suggestions Brave resolves to a known entity; defaults to false",
+ "description": "Page number, defaults to 1",
"in": "query",
- "name": "rich",
- "type": "boolean",
- "x-example": false
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, defaults to 20 and maxes at 100; page * page_size must be <= 10000",
+ "in": "query",
+ "name": "page_size",
+ "type": "integer"
}
],
"produces": [
@@ -300988,29 +376287,23 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/brave.suggestResponseDoc"
+ "$ref": "#/definitions/datasets.pitchbookInvestorsSearchResponseDoc"
}
},
"400": {
- "description": "Missing or invalid query",
+ "description": "Bad Request",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"429": {
- "description": "Rate limit exceeded",
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"500": {
- "description": "Internal server error",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
- "503": {
- "description": "Brave upstream request failed",
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -301021,142 +376314,75 @@
"ApiKeyAuth": []
}
],
- "summary": "Suggest Brave search queries",
+ "summary": "Search PitchBook investors dataset",
"tags": [
- "Brave"
+ "Datasets"
]
}
},
- "/brave/videos": {
+ "/datasets/pitchbook-limited-partners/facets": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns Brave video search results for a query string. Locale defaults to country=us and lang=en-us. Returns 503 when Brave serves a challenge page or unusable results.",
- "operationId": "brave-videos",
+ "description": "Returns value counts for the PitchBook limited partners dataset by the required `facet`: `institution_type`, `hq_country`, `hq_state` or `run_id`. Filters `q`, `min_year_founded` and `max_year_founded` also apply, and the top 50 values are returned.",
+ "operationId": "datasets-pitchbook-limited-partners-facets",
"parameters": [
{
- "description": "Search query",
+ "description": "Facet enum: institution_type, hq_country, hq_state, run_id",
+ "enum": [
+ "institution_type",
+ "hq_country",
+ "hq_state",
+ "run_id"
+ ],
"in": "query",
- "name": "q",
+ "name": "facet",
"required": true,
"type": "string",
- "x-example": "openai"
+ "x-example": "institution_type"
},
{
- "description": "Zero-based Brave result page; defaults to 0",
+ "description": "Full-text query over name and description, max 256 characters",
"in": "query",
- "minimum": 0,
- "name": "offset",
- "type": "integer",
- "x-example": 0
+ "name": "q",
+ "type": "string"
},
{
- "description": "Results to return; defaults to 10, clamped to 1..50",
+ "description": "Exact institution type filter, max 128 characters",
"in": "query",
- "maximum": 50,
- "minimum": 1,
- "name": "count",
- "type": "integer",
- "x-example": 10
+ "name": "institution_type",
+ "type": "string"
},
{
- "description": "Brave result country; defaults to us",
- "enum": [
- "all",
- "ar",
- "at",
- "au",
- "be",
- "br",
- "ca",
- "ch",
- "cl",
- "cn",
- "de",
- "dk",
- "es",
- "fi",
- "fr",
- "gb",
- "gr",
- "hk",
- "id",
- "in",
- "it",
- "jp",
- "kr",
- "mx",
- "my",
- "nl",
- "no",
- "nz",
- "ph",
- "pl",
- "pt",
- "ru",
- "sa",
- "se",
- "sg",
- "tr",
- "tw",
- "us",
- "za"
- ],
+ "description": "Exact headquarters country filter, max 128 characters",
"in": "query",
- "name": "country",
- "type": "string",
- "x-example": "us"
+ "name": "hq_country",
+ "type": "string"
},
{
- "description": "Brave UI language; defaults to en-us",
- "enum": [
- "de-de",
- "en-ca",
- "en-gb",
- "en-in",
- "en-us",
- "fi-fi",
- "fr-ca",
- "fr-fr",
- "ja-jp",
- "pt-br",
- "sq-al",
- "sw-ke",
- "zh-tw"
- ],
+ "description": "Exact headquarters state/region filter, max 128 characters",
"in": "query",
- "name": "lang",
- "type": "string",
- "x-example": "en-us"
+ "name": "hq_state",
+ "type": "string"
},
{
- "description": "Preset time filter: any, day, week, month, year, or custom",
- "enum": [
- "any",
- "day",
- "week",
- "month",
- "year",
- "custom"
- ],
+ "description": "Exact crawl run-id filter, max 128 characters",
"in": "query",
- "name": "time_range",
+ "name": "run_id",
"type": "string"
},
{
- "description": "Custom start date in YYYY-MM-DD; requires date_to",
+ "description": "Minimum founding year",
"in": "query",
- "name": "date_from",
- "type": "string",
- "x-example": "2026-03-01"
+ "name": "min_year_founded",
+ "type": "integer"
},
{
- "description": "Custom end date in YYYY-MM-DD; requires date_from",
+ "description": "Maximum founding year",
"in": "query",
- "name": "date_to",
- "type": "string",
- "x-example": "2026-03-30"
+ "name": "max_year_founded",
+ "type": "integer"
}
],
"produces": [
@@ -301166,35 +376392,23 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/brave.videosResponseDoc"
+ "$ref": "#/definitions/datasets.pitchbookLimitedPartnersFacetResponseDoc"
}
},
"400": {
- "description": "Missing or invalid query",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
- "404": {
- "description": "No results found",
+ "description": "Bad Request",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"429": {
- "description": "Rate limit exceeded",
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"500": {
- "description": "Internal server error",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
- "503": {
- "description": "Brave upstream request failed",
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -301205,24 +376419,27 @@
"ApiKeyAuth": []
}
],
- "summary": "Search Brave video results",
+ "summary": "Facet PitchBook limited partners dataset",
"tags": [
- "Brave"
+ "Datasets"
]
}
},
- "/breitbart/article": {
+ "/datasets/pitchbook-limited-partners/items/{id}": {
"get": {
- "description": "Returns a Breitbart article by `url`, a canonical `https://www.breitbart.com//////` address. The response has the title, description, publication and update times, section, image, `authors` and the body `paragraphs`.",
- "operationId": "breitbart-article",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns one PitchBook limited partner from the dataset by `id`, such as `864326-44`. The record has name, description, institution type, headquarters, founding year, commitments, contact and data tables. `faqs` can be empty, since PitchBook writes FAQs only for richer profiles. An unknown id returns 404.",
+ "operationId": "datasets-pitchbook-limited-partners-item",
"parameters": [
{
- "description": "Canonical Breitbart article URL",
- "in": "query",
- "name": "url",
+ "description": "PitchBook limited partner id, e.g. 864326-44",
+ "in": "path",
+ "name": "id",
"required": true,
"type": "string",
- "x-example": "https://www.breitbart.com/politics/2026/09/22/example-story/"
+ "x-example": "864326-44"
}
],
"produces": [
@@ -301232,7 +376449,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.articleResponseDoc"
+ "$ref": "#/definitions/datasets.pitchbookLimitedPartnerResponseDoc"
}
},
"400": {
@@ -301247,8 +376464,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -301259,37 +376482,85 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Breitbart article content",
+ "summary": "Get a PitchBook limited partner from dataset",
"tags": [
- "Breitbart"
+ "Datasets"
]
}
},
- "/breitbart/author": {
+ "/datasets/pitchbook-limited-partners/search": {
"get": {
- "description": "Returns one Breitbart author/contributor's public profile: name, a short bio/role line when the page carries one, and their recent articles.",
- "operationId": "breitbart-author",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Searches the crawled public PitchBook limited partner (institutional investor — e.g. pension fund, endowment, insurance company) profile catalog stored in a search index. Discovered from PitchBook's public sitemap. Some limited partner profiles have no FAQ section -- this is normal, not a sign of missing data. Sort enum: `relevance`, `name_asc`, `year_founded_desc`, `recently_crawled_desc`. Billing: this search costs 1 credit per record returned, with a minimum of 2 (an empty result costs 2, a full page of 100 costs 100).",
+ "operationId": "datasets-pitchbook-limited-partners-search",
"parameters": [
{
- "description": "Author slug, e.g. joshua-klein",
+ "description": "Full-text query over name and description, max 256 characters",
"in": "query",
- "name": "slug",
- "type": "string",
- "x-example": "joshua-klein"
+ "name": "q",
+ "type": "string"
},
{
- "description": "Canonical breitbart.com/author// URL, optionally with a /page// segment; alternative to slug",
+ "description": "Exact institution type filter (e.g. Corporate Pension, Private Investment Fund, Endowment), max 128 characters",
"in": "query",
- "name": "url",
- "type": "string",
- "x-example": "https://www.breitbart.com/author/joshua-klein/"
+ "name": "institution_type",
+ "type": "string"
},
{
- "description": "1-based page of articles to return; defaults to 1",
+ "description": "Exact headquarters country filter, max 128 characters",
+ "in": "query",
+ "name": "hq_country",
+ "type": "string"
+ },
+ {
+ "description": "Exact headquarters state/region filter, max 128 characters",
+ "in": "query",
+ "name": "hq_state",
+ "type": "string"
+ },
+ {
+ "description": "Exact crawl run-id filter, max 128 characters",
+ "in": "query",
+ "name": "run_id",
+ "type": "string"
+ },
+ {
+ "description": "Minimum founding year",
+ "in": "query",
+ "name": "min_year_founded",
+ "type": "integer"
+ },
+ {
+ "description": "Maximum founding year",
+ "in": "query",
+ "name": "max_year_founded",
+ "type": "integer"
+ },
+ {
+ "description": "Sort enum: relevance, name_asc, year_founded_desc, recently_crawled_desc",
+ "enum": [
+ "relevance",
+ "name_asc",
+ "year_founded_desc",
+ "recently_crawled_desc"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Page number, defaults to 1",
"in": "query",
"name": "page",
- "type": "integer",
- "x-example": 1
+ "type": "integer"
+ },
+ {
+ "description": "Page size, defaults to 20 and maxes at 100; page * page_size must be <= 10000",
+ "in": "query",
+ "name": "page_size",
+ "type": "integer"
}
],
"produces": [
@@ -301299,7 +376570,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.breitbartAuthorResponseDoc"
+ "$ref": "#/definitions/datasets.pitchbookLimitedPartnersSearchResponseDoc"
}
},
"400": {
@@ -301308,14 +376579,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -301326,47 +376597,203 @@
"ApiKeyAuth": []
}
],
- "summary": "Get a Breitbart author profile",
+ "summary": "Search PitchBook limited partners dataset",
"tags": [
- "Breitbart"
+ "Datasets"
]
}
},
- "/breitbart/headlines": {
+ "/datasets/playstation-games/facets": {
"get": {
- "description": "Returns current headlines from one Breitbart section hub. `section` is required and takes one of 21 slugs, such as `politics`, `border`, `the-media` or `europe`. The `world-news`, `news` and `on-the-hill-exclusive-video` hubs aggregate stories, so their links point to articles under whichever section owns each story.",
- "operationId": "breitbart-headlines",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns terms aggregation counts for the PlayStation games dataset. Facet enum: `publisher`, `classification`, `genres`, `platforms`, `content_rating_authority`, `content_descriptors`, `price_tier`, `service_branding`, `region`, `release_year`, `run_id`, `is_free`, `is_addon`, `is_tied_to_subscription`, `coming_soon`. price_tier enum: `free`, `under_5`, `5_to_10`, `10_to_20`, `20_to_40`, `40_to_60`, `60_plus`.",
+ "operationId": "datasets-playstation-games-facets",
"parameters": [
{
- "description": "Breitbart section slug",
+ "description": "Facet enum: publisher, classification, genres, platforms, content_rating_authority, content_descriptors, price_tier, service_branding, region, release_year, run_id, is_free, is_addon, is_tied_to_subscription, coming_soon",
"enum": [
- "politics",
- "economy",
- "border",
- "immigration",
- "national-security",
- "entertainment",
- "sports",
- "tech",
- "the-media",
- "radio",
- "clips",
- "faith",
- "world-news",
- "europe",
- "middle-east",
- "africa",
- "asia",
- "latin-america",
- "america250",
- "on-the-hill-exclusive-video",
- "news"
+ "publisher",
+ "classification",
+ "genres",
+ "platforms",
+ "content_rating_authority",
+ "content_descriptors",
+ "price_tier",
+ "service_branding",
+ "region",
+ "release_year",
+ "run_id",
+ "is_free",
+ "is_addon",
+ "is_tied_to_subscription",
+ "coming_soon"
],
"in": "query",
- "name": "section",
+ "name": "facet",
"required": true,
"type": "string",
- "x-example": "politics"
+ "x-example": "publisher"
+ },
+ {
+ "description": "Full-text query over name and publisher, max 256 characters",
+ "in": "query",
+ "name": "q",
+ "type": "string"
+ },
+ {
+ "description": "Exact publisher filter, max 128 characters",
+ "in": "query",
+ "name": "publisher",
+ "type": "string"
+ },
+ {
+ "description": "Exact classification filter, max 128 characters",
+ "in": "query",
+ "name": "classification",
+ "type": "string"
+ },
+ {
+ "description": "Exact genre filter, max 128 characters",
+ "in": "query",
+ "name": "genre",
+ "type": "string"
+ },
+ {
+ "description": "Exact platform filter: PS4 or PS5",
+ "in": "query",
+ "name": "platform",
+ "type": "string"
+ },
+ {
+ "description": "Exact content-rating authority filter, max 128 characters",
+ "in": "query",
+ "name": "content_rating",
+ "type": "string"
+ },
+ {
+ "description": "Exact content-descriptor filter, max 128 characters",
+ "in": "query",
+ "name": "content_descriptor",
+ "type": "string"
+ },
+ {
+ "description": "Price-tier enum: free, under_5, 5_to_10, 10_to_20, 20_to_40, 40_to_60, 60_plus",
+ "enum": [
+ "free",
+ "under_5",
+ "5_to_10",
+ "10_to_20",
+ "20_to_40",
+ "40_to_60",
+ "60_plus"
+ ],
+ "in": "query",
+ "name": "price_tier",
+ "type": "string"
+ },
+ {
+ "description": "Exact subscription/service-branding filter, max 128 characters",
+ "in": "query",
+ "name": "branding",
+ "type": "string"
+ },
+ {
+ "description": "Exact store region (country code) filter, max 128 characters",
+ "in": "query",
+ "name": "region",
+ "type": "string"
+ },
+ {
+ "description": "Exact concept id filter, max 128 characters",
+ "in": "query",
+ "name": "concept_id",
+ "type": "string"
+ },
+ {
+ "description": "Exact np_title_id filter, max 128 characters",
+ "in": "query",
+ "name": "np_title_id",
+ "type": "string"
+ },
+ {
+ "description": "Exact crawl run-id filter, max 128 characters",
+ "in": "query",
+ "name": "run_id",
+ "type": "string"
+ },
+ {
+ "description": "Filter by free flag",
+ "in": "query",
+ "name": "is_free",
+ "type": "boolean"
+ },
+ {
+ "description": "Filter add-ons vs games",
+ "in": "query",
+ "name": "is_addon",
+ "type": "boolean"
+ },
+ {
+ "description": "Filter subscription-included titles",
+ "in": "query",
+ "name": "is_tied_to_subscription",
+ "type": "boolean"
+ },
+ {
+ "description": "Filter for pre-release titles",
+ "in": "query",
+ "name": "coming_soon",
+ "type": "boolean"
+ },
+ {
+ "description": "Filter by titles currently discounted (discount_pct > 0)",
+ "in": "query",
+ "name": "on_sale",
+ "type": "boolean"
+ },
+ {
+ "description": "Minimum current price in minor units",
+ "in": "query",
+ "name": "min_price_value",
+ "type": "integer"
+ },
+ {
+ "description": "Maximum current price in minor units",
+ "in": "query",
+ "name": "max_price_value",
+ "type": "integer"
+ },
+ {
+ "description": "Minimum average star rating, 0 through 5",
+ "in": "query",
+ "name": "min_star_rating",
+ "type": "number"
+ },
+ {
+ "description": "Minimum number of star ratings",
+ "in": "query",
+ "name": "min_star_count",
+ "type": "integer"
+ },
+ {
+ "description": "Minimum discount percent, 0 through 100",
+ "in": "query",
+ "name": "min_discount_pct",
+ "type": "integer"
+ },
+ {
+ "description": "Minimum release year",
+ "in": "query",
+ "name": "min_release_year",
+ "type": "integer"
+ },
+ {
+ "description": "Maximum release year",
+ "in": "query",
+ "name": "max_release_year",
+ "type": "integer"
}
],
"produces": [
@@ -301376,7 +376803,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.headlinesResponseDoc"
+ "$ref": "#/definitions/datasets.playstationGamesFacetResponseDoc"
}
},
"400": {
@@ -301385,46 +376812,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- }
- },
- "security": [
- {
- "ApiKeyAuth": []
- }
- ],
- "summary": "Get Breitbart section headlines",
- "tags": [
- "Breitbart"
- ]
- }
- },
- "/breitbart/news": {
- "get": {
- "description": "Returns the latest Breitbart top stories from across the site, with no input needed. Each item has a title and canonical URL, and may also carry a summary, publication time, author and image.",
- "operationId": "breitbart-news",
- "produces": [
- "application/json"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/publicnews.newsResponseDoc"
- }
- },
"429": {
"description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -301435,50 +376830,27 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Breitbart top stories",
+ "summary": "Facet PlayStation games dataset",
"tags": [
- "Breitbart"
+ "Datasets"
]
}
},
- "/breitbart/sections": {
+ "/datasets/playstation-games/items/{product_id}": {
"get": {
- "description": "Lists the 21 Breitbart sections accepted by `breitbart-headlines`, including `politics`, `economy`, `border`, `national-security`, `the-media`, `world-news` and `america250`. Each has a `slug`, a display `name` and the section's page `url`. The list was verified on 2026-09-23.",
- "operationId": "breitbart-sections",
- "produces": [
+ "consumes": [
"application/json"
],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/publicnews.sectionsResponseDoc"
- }
- }
- },
- "security": [
- {
- "ApiKeyAuth": []
- }
- ],
- "summary": "Get Breitbart sections",
- "tags": [
- "Breitbart"
- ]
- }
- },
- "/brisbanetimes/article": {
- "get": {
- "description": "Returns one Brisbane Times article's metadata and the exact body paragraphs served by one anonymous page request, with the publisher's is_accessible_for_free, paywalled, and is_truncated flags. No paywall is bypassed or hidden content fetched.",
- "operationId": "brisbanetimes-article",
+ "description": "Returns one PlayStation Store game from the `playstation-games` dataset by product id such as `UP0001-PPSA01491_00-GAME000000000000`: name, publisher, genres, platforms, region, release date, base and discounted price with currency and discount end time, star rating and rating count, content rating, and edition and add-on counts. An id that is not in the dataset returns `404`.",
+ "operationId": "datasets-playstation-games-item",
"parameters": [
{
- "description": "Canonical Brisbane Times article URL",
- "in": "query",
- "name": "url",
+ "description": "PlayStation product id (e.g. UP0001-PPSA01491_00-GAME000000000000)",
+ "in": "path",
+ "name": "product_id",
"required": true,
"type": "string",
- "x-example": "https://www.brisbanetimes.com.au/national/queensland/hospital-denies-gas-leak-forced-evacuation-surgery-delays-20260930-p611l9.html"
+ "x-example": "UP0001-PPSA01491_00-GAME000000000000"
}
],
"produces": [
@@ -301488,7 +376860,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.brisbanetimesArticleResponseDoc"
+ "$ref": "#/definitions/datasets.playstationGameResponseDoc"
}
},
"400": {
@@ -301503,8 +376875,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -301515,24 +376893,206 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Brisbane Times article content",
+ "summary": "Get a PlayStation game from dataset",
"tags": [
- "Brisbane Times"
+ "Datasets"
]
}
},
- "/brisbanetimes/author": {
+ "/datasets/playstation-games/search": {
"get": {
- "description": "Returns a Brisbane Times journalist profile from `url`, a canonical `https://www.brisbanetimes.com.au/by/-` address: name, biography, headshot, email, social links and recent story cards with title, URL, summary and image. Fields appear only when the profile shows them; the sampled profile returned 10 stories.",
- "operationId": "brisbanetimes-author",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Searches the crawled public PlayStation Store catalog stored in a search index. One row per product SKU (game, edition or add-on); concept_id / np_title_id group a title's SKUs. price_tier enum: `free`, `under_5`, `5_to_10`, `10_to_20`, `20_to_40`, `40_to_60`, `60_plus`. Sort enum: `relevance`, `rating_desc`, `reviews_desc`, `price_asc`, `price_desc`, `discount_desc`, `release_desc`, `release_asc`. Billing: this search costs 1 credit per record returned, with a minimum of 2 (an empty result costs 2, a full page of 100 costs 100).",
+ "operationId": "datasets-playstation-games-search",
"parameters": [
{
- "description": "Canonical Brisbane Times journalist URL",
+ "description": "Full-text query over name and publisher, max 256 characters",
"in": "query",
- "name": "url",
- "required": true,
- "type": "string",
- "x-example": "https://www.brisbanetimes.com.au/by/william-davis-p537k8"
+ "name": "q",
+ "type": "string"
+ },
+ {
+ "description": "Exact publisher filter, max 128 characters",
+ "in": "query",
+ "name": "publisher",
+ "type": "string"
+ },
+ {
+ "description": "Exact classification filter: FULL_GAME, PREMIUM_EDITION, GAME_BUNDLE, ADD_ON_PACK, VIRTUAL_CURRENCY, LEVEL, OTHER",
+ "in": "query",
+ "name": "classification",
+ "type": "string"
+ },
+ {
+ "description": "Exact genre filter (e.g. Action, Role Playing Games), max 128 characters",
+ "in": "query",
+ "name": "genre",
+ "type": "string"
+ },
+ {
+ "description": "Exact platform filter: PS4 or PS5",
+ "in": "query",
+ "name": "platform",
+ "type": "string"
+ },
+ {
+ "description": "Exact content-rating authority filter (e.g. ESRB, PEGI), max 128 characters",
+ "in": "query",
+ "name": "content_rating",
+ "type": "string"
+ },
+ {
+ "description": "Exact content-descriptor filter (e.g. Blood, Violence, In-Game Purchases, Users Interact), max 128 characters",
+ "in": "query",
+ "name": "content_descriptor",
+ "type": "string"
+ },
+ {
+ "description": "Price-tier enum: free, under_5, 5_to_10, 10_to_20, 20_to_40, 40_to_60, 60_plus",
+ "enum": [
+ "free",
+ "under_5",
+ "5_to_10",
+ "10_to_20",
+ "20_to_40",
+ "40_to_60",
+ "60_plus"
+ ],
+ "in": "query",
+ "name": "price_tier",
+ "type": "string"
+ },
+ {
+ "description": "Exact subscription/service-branding filter (e.g. PS_PLUS, EA_PLAY, UBISOFT_PLUS), max 128 characters",
+ "in": "query",
+ "name": "branding",
+ "type": "string"
+ },
+ {
+ "description": "Exact store region (country code) filter, max 128 characters",
+ "in": "query",
+ "name": "region",
+ "type": "string"
+ },
+ {
+ "description": "Exact concept id filter (groups all SKUs of a title), max 128 characters",
+ "in": "query",
+ "name": "concept_id",
+ "type": "string"
+ },
+ {
+ "description": "Exact np_title_id filter, max 128 characters",
+ "in": "query",
+ "name": "np_title_id",
+ "type": "string"
+ },
+ {
+ "description": "Exact crawl run-id filter, max 128 characters",
+ "in": "query",
+ "name": "run_id",
+ "type": "string"
+ },
+ {
+ "description": "Filter by free flag",
+ "in": "query",
+ "name": "is_free",
+ "type": "boolean"
+ },
+ {
+ "description": "Filter: true returns add-ons/DLC/currency, false returns games and editions",
+ "in": "query",
+ "name": "is_addon",
+ "type": "boolean"
+ },
+ {
+ "description": "Filter for titles included with a subscription (e.g. free with PS Plus)",
+ "in": "query",
+ "name": "is_tied_to_subscription",
+ "type": "boolean"
+ },
+ {
+ "description": "Filter for pre-release / not-yet-purchasable titles",
+ "in": "query",
+ "name": "coming_soon",
+ "type": "boolean"
+ },
+ {
+ "description": "Filter by titles currently discounted (discount_pct > 0)",
+ "in": "query",
+ "name": "on_sale",
+ "type": "boolean"
+ },
+ {
+ "description": "Minimum current price in minor units (e.g. cents)",
+ "in": "query",
+ "name": "min_price_value",
+ "type": "integer"
+ },
+ {
+ "description": "Maximum current price in minor units (e.g. cents)",
+ "in": "query",
+ "name": "max_price_value",
+ "type": "integer"
+ },
+ {
+ "description": "Minimum average star rating, 0 through 5",
+ "in": "query",
+ "name": "min_star_rating",
+ "type": "number"
+ },
+ {
+ "description": "Minimum number of star ratings",
+ "in": "query",
+ "name": "min_star_count",
+ "type": "integer"
+ },
+ {
+ "description": "Minimum discount percent, 0 through 100",
+ "in": "query",
+ "name": "min_discount_pct",
+ "type": "integer"
+ },
+ {
+ "description": "Minimum release year",
+ "in": "query",
+ "name": "min_release_year",
+ "type": "integer"
+ },
+ {
+ "description": "Maximum release year",
+ "in": "query",
+ "name": "max_release_year",
+ "type": "integer"
+ },
+ {
+ "description": "Sort enum: relevance, rating_desc, reviews_desc, price_asc, price_desc, discount_desc, release_desc, release_asc",
+ "enum": [
+ "relevance",
+ "rating_desc",
+ "reviews_desc",
+ "price_asc",
+ "price_desc",
+ "discount_desc",
+ "release_desc",
+ "release_asc"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Page number, defaults to 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, defaults to 20 and maxes at 100; page * page_size must be <= 10000",
+ "in": "query",
+ "name": "page_size",
+ "type": "integer"
}
],
"produces": [
@@ -301542,7 +377102,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.brisbanetimesAuthorResponseDoc"
+ "$ref": "#/definitions/datasets.playstationGamesSearchResponseDoc"
}
},
"400": {
@@ -301551,14 +377111,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -301569,130 +377129,55 @@
"ApiKeyAuth": []
}
],
- "summary": "Get a Brisbane Times journalist profile",
+ "summary": "Search PlayStation games dataset",
"tags": [
- "Brisbane Times"
+ "Datasets"
]
}
},
- "/brisbanetimes/headlines": {
+ "/datasets/producthunt-makers/facets": {
"get": {
- "description": "Returns current story cards from one observed Brisbane Times server-rendered section or populated topic page. `section` must be one of the exact slugs from `/brisbanetimes/sections`; unsupported and unresolved linkless paths are rejected before an upstream request. Off-brand story links on Traveller are omitted.",
- "operationId": "brisbanetimes-headlines",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns distribution counts over the Product Hunt makers dataset (dataset id enum value `producthunt-makers`), honoring the same filters as search. Facet enum: `topic`, `product_count_band`.",
+ "operationId": "datasets-producthunt-makers-facets",
"parameters": [
{
- "description": "Section or topic slug from /brisbanetimes/sections",
+ "description": "Facet enum: topic, product_count_band",
"enum": [
- "national/queensland",
- "politics",
- "business",
- "world",
- "goodfood",
- "lifestyle",
- "traveller",
- "sport",
- "brisbane-news",
- "politics/federal",
- "politics/queensland",
- "politics/nsw",
- "politics/victoria",
- "politics/western-australia",
- "business/companies",
- "business/markets",
- "business/bullsnbears",
- "business/the-economy",
- "business/banking-and-finance",
- "business/small-business",
- "business/workplace",
- "world/north-america",
- "world/europe",
- "world/asia",
- "world/middle-east",
- "world/south-america",
- "world/africa",
- "national",
- "national/nsw",
- "national/victoria",
- "national/western-australia",
- "opinion",
- "property",
- "property/news",
- "property/living",
- "sport/nrl",
- "sport/rugby-union",
- "sport/afl",
- "sport/cricket",
- "sport/soccer",
- "sport/racing",
- "sport/tennis",
- "sport/netball",
- "sport/basketball",
- "sport/motorsport",
- "sport/golf",
- "sport/nfl",
- "sport/athletics",
- "sport/swimming",
- "sport/boxing",
- "goodfood/recipes",
- "goodfood/tips-and-advice",
- "goodfood/brisbane-eating-out",
- "goodfood/drinks",
- "culture",
- "culture/movies",
- "culture/tv-and-radio",
- "culture/music",
- "culture/celebrity",
- "culture/books",
- "culture/comedy",
- "culture/dance",
- "culture/musicals",
- "culture/opera",
- "culture/theatre",
- "culture/art-and-design",
- "culture/live-reviews",
- "lifestyle/health-and-wellness",
- "lifestyle/fashion",
- "lifestyle/life-and-relationships",
- "lifestyle/beauty",
- "traveller/inspiration/destination-guides",
- "traveller/inspiration",
- "traveller/reviews-and-advice",
- "traveller/travel-news",
- "good-weekend",
- "sunday-life",
- "money",
- "money/super-and-retirement",
- "money/investing",
- "money/banking",
- "money/borrowing",
- "money/saving",
- "money/tax",
- "money/planning-and-budgeting",
- "education",
- "healthcare",
- "environment",
- "environment/conservation",
- "environment/climate-change",
- "environment/sustainability",
- "environment/weather",
- "technology",
- "technology/video-games",
- "australia-higher-education",
- "topic/media-and-marketing-5z7",
- "topic/auctions-1nq1",
- "topic/financing-1nq2",
- "topic/style-luxury-1nij",
- "topic/horoscopes-5yc",
- "topic/home-technology-hqq",
- "topic/phones-5zt",
- "topic/gadgets-hqp",
- "topic/explainers-1lz9"
+ "topic",
+ "product_count_band"
],
"in": "query",
- "name": "section",
+ "name": "facet",
"required": true,
"type": "string",
- "x-example": "brisbane-news"
+ "x-example": "topic"
+ },
+ {
+ "description": "Full-text query over maker name and headline, max 256 characters",
+ "in": "query",
+ "name": "q",
+ "type": "string"
+ },
+ {
+ "description": "Exact topic-slug the maker builds in, max 128 characters",
+ "in": "query",
+ "name": "topic",
+ "type": "string"
+ },
+ {
+ "description": "Minimum number of products made, 0 or greater",
+ "in": "query",
+ "name": "min_products",
+ "type": "integer"
+ },
+ {
+ "description": "Minimum total upvotes across the maker's products, 0 or greater",
+ "in": "query",
+ "name": "min_total_votes",
+ "type": "integer"
}
],
"produces": [
@@ -301702,7 +377187,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.headlinesResponseDoc"
+ "$ref": "#/definitions/datasets.producthuntMakersFacetResponseDoc"
}
},
"400": {
@@ -301711,46 +377196,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- }
- },
- "security": [
- {
- "ApiKeyAuth": []
- }
- ],
- "summary": "Get Brisbane Times section or topic headlines",
- "tags": [
- "Brisbane Times"
- ]
- }
- },
- "/brisbanetimes/news": {
- "get": {
- "description": "Returns Brisbane Times's current public Latest News RSS feed: story title, canonical URL, summary, author, publication time, and lead image.",
- "operationId": "brisbanetimes-news",
- "produces": [
- "application/json"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/publicnews.newsResponseDoc"
- }
- },
"429": {
"description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -301761,59 +377214,27 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Brisbane Times top stories",
- "tags": [
- "Brisbane Times"
- ]
- }
- },
- "/brisbanetimes/sections": {
- "get": {
- "description": "Lists the 104 accepted Brisbane Times editorial surfaces (95 article-bearing section pages and nine populated topic hubs), each with its exact path slug, menu label, and requested Brisbane Times URL. Three linkless surfaces with no explicit empty-state marker are excluded.",
- "operationId": "brisbanetimes-sections",
- "produces": [
- "application/json"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/publicnews.sectionsResponseDoc"
- }
- }
- },
- "security": [
- {
- "ApiKeyAuth": []
- }
- ],
- "summary": "Get Brisbane Times editorial sections",
+ "summary": "Facet the Product Hunt makers dataset",
"tags": [
- "Brisbane Times"
+ "Datasets"
]
}
},
- "/brooklinen/collections": {
+ "/datasets/producthunt-makers/items/{username}": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns collections from Brooklinen (https://www.brooklinen.com). The storefront URL is fixed server-side. Valid empty result pages return `200` with an empty collections array.",
- "operationId": "brooklinen-collections",
+ "description": "Returns one maker by Product Hunt username from dataset id enum value `producthunt-makers`, including the products they made and their aggregate footprint. Returns 404 when the username is not in the dataset.",
+ "operationId": "datasets-producthunt-makers-item",
"parameters": [
{
- "description": "1-based page, defaults to 1",
- "in": "query",
- "name": "page",
- "type": "integer",
- "x-example": 1
- },
- {
- "description": "Maximum collections, defaults to 50 and supports up to 250",
- "in": "query",
- "name": "limit",
- "type": "integer",
- "x-example": 50
+ "description": "Product Hunt maker username, e.g. rrhoover",
+ "in": "path",
+ "name": "username",
+ "required": true,
+ "type": "string",
+ "x-example": "rrhoover"
}
],
"produces": [
@@ -301823,7 +377244,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/shopifybrands.collectionsResponseDoc"
+ "$ref": "#/definitions/datasets.producthuntMakerResponseDoc"
}
},
"400": {
@@ -301832,14 +377253,20 @@
"$ref": "#/definitions/app.Response"
}
},
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
"429": {
"description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -301850,41 +377277,67 @@
"ApiKeyAuth": []
}
],
- "summary": "List Brooklinen collections",
+ "summary": "Get a Product Hunt maker from the dataset",
"tags": [
- "Brooklinen"
+ "Datasets"
]
}
},
- "/brooklinen/collections/{handle}/products": {
+ "/datasets/producthunt-makers/search": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns products from one Brooklinen (https://www.brooklinen.com) collection. The storefront URL is fixed server-side; `handle` is the collection's URL slug.",
- "operationId": "brooklinen-collection-products",
+ "description": "Searches Product Hunt makers from the dataset id enum value `producthunt-makers` — public-profile records of the people who made products, with their footprint (products made, total upvotes, topics) for maker leaderboards. Public fields only. Sort enum: `total_votes_desc`, `product_count_desc`, `followers_desc`, `relevance`. Billing: this search costs 1 credit per record returned, with a minimum of 2 (an empty result costs 2, a full page of 100 costs 100).",
+ "operationId": "datasets-producthunt-makers-search",
"parameters": [
{
- "description": "Collection handle",
- "in": "path",
- "name": "handle",
- "required": true,
- "type": "string",
- "x-example": "collection-handle"
+ "description": "Full-text query over maker name and headline, max 256 characters",
+ "in": "query",
+ "name": "q",
+ "type": "string"
},
{
- "description": "1-based page, defaults to 1",
+ "description": "Exact topic-slug the maker builds in, e.g. artificial-intelligence, max 128 characters",
+ "in": "query",
+ "name": "topic",
+ "type": "string"
+ },
+ {
+ "description": "Minimum number of products made, 0 or greater",
+ "in": "query",
+ "name": "min_products",
+ "type": "integer"
+ },
+ {
+ "description": "Minimum total upvotes across the maker's products, 0 or greater",
+ "in": "query",
+ "name": "min_total_votes",
+ "type": "integer"
+ },
+ {
+ "description": "Sort enum: total_votes_desc, product_count_desc, followers_desc, relevance",
+ "enum": [
+ "total_votes_desc",
+ "product_count_desc",
+ "followers_desc",
+ "relevance"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Page number, defaults to 1",
"in": "query",
"name": "page",
- "type": "integer",
- "x-example": 1
+ "type": "integer"
},
{
- "description": "Maximum products, defaults to 50 and supports up to 250",
+ "description": "Page size, defaults to 20 and maxes at 100; page * page_size must be <= 10000",
"in": "query",
- "name": "limit",
- "type": "integer",
- "x-example": 50
+ "name": "page_size",
+ "type": "integer"
}
],
"produces": [
@@ -301894,7 +377347,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/shopifybrands.collectionProductsResponseDoc"
+ "$ref": "#/definitions/datasets.producthuntMakersSearchResponseDoc"
}
},
"400": {
@@ -301903,20 +377356,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"429": {
"description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -301927,33 +377374,93 @@
"ApiKeyAuth": []
}
],
- "summary": "List Brooklinen collection products",
+ "summary": "Search the Product Hunt makers dataset",
"tags": [
- "Brooklinen"
+ "Datasets"
]
}
},
- "/brooklinen/pages": {
+ "/datasets/producthunt-products/facets": {
"get": {
"consumes": [
"application/json"
],
- "description": "Lists Brooklinen static pages, `limit` per page (default 50, max 250) and `page` starting at 1. Each page has its handle, title, URL, plain-text content and timestamps. When `transport_mode` is `ssr_embedded`, items carry only `handle`, `url` and `updated_at`; request each handle singly for content.",
- "operationId": "brooklinen-pages",
+ "description": "Returns distribution counts over the Product Hunt products dataset (dataset id enum value `producthunt-products`), honoring the same filters as search. Facet enum: `topic`, `launch_year`, `pricing_type`, `product_state`.",
+ "operationId": "datasets-producthunt-products-facets",
"parameters": [
{
- "description": "1-based page, defaults to 1",
+ "description": "Facet enum: topic, launch_year, pricing_type, product_state",
+ "enum": [
+ "topic",
+ "launch_year",
+ "pricing_type",
+ "product_state"
+ ],
"in": "query",
- "name": "page",
- "type": "integer",
- "x-example": 1
+ "name": "facet",
+ "required": true,
+ "type": "string",
+ "x-example": "topic"
},
{
- "description": "Maximum static pages, defaults to 50 and supports up to 250",
+ "description": "Full-text query over product name and tagline, max 256 characters",
"in": "query",
- "name": "limit",
- "type": "integer",
- "x-example": 50
+ "name": "q",
+ "type": "string"
+ },
+ {
+ "description": "Exact topic-slug filter, e.g. artificial-intelligence, max 128 characters",
+ "in": "query",
+ "name": "topic",
+ "type": "string"
+ },
+ {
+ "description": "Exact maker-username filter (populated by hydration), max 128 characters",
+ "in": "query",
+ "name": "maker",
+ "type": "string"
+ },
+ {
+ "description": "Lower bound on first-launch date, an ISO-8601 date (YYYY-MM-DD)",
+ "in": "query",
+ "name": "launched_after",
+ "type": "string"
+ },
+ {
+ "description": "Upper bound on first-launch date, an ISO-8601 date (YYYY-MM-DD)",
+ "in": "query",
+ "name": "launched_before",
+ "type": "string"
+ },
+ {
+ "description": "Minimum upvotes, 0 or greater",
+ "in": "query",
+ "name": "min_votes",
+ "type": "integer"
+ },
+ {
+ "description": "Minimum review rating, from 0 through 5",
+ "in": "query",
+ "name": "min_rating",
+ "type": "number"
+ },
+ {
+ "description": "Exact pricing-type filter, e.g. free, paid, freemium",
+ "in": "query",
+ "name": "pricing_type",
+ "type": "string"
+ },
+ {
+ "description": "Website presence filter",
+ "in": "query",
+ "name": "has_website",
+ "type": "boolean"
+ },
+ {
+ "description": "true keeps only products still online, false only retired products",
+ "in": "query",
+ "name": "is_online",
+ "type": "boolean"
}
],
"produces": [
@@ -301963,7 +377470,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/shopifybrands.pagesResponseDoc"
+ "$ref": "#/definitions/datasets.producthuntProductsFacetResponseDoc"
}
},
"400": {
@@ -301978,8 +377485,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -301990,27 +377497,27 @@
"ApiKeyAuth": []
}
],
- "summary": "List Brooklinen static pages",
+ "summary": "Facet the Product Hunt products dataset",
"tags": [
- "Brooklinen"
+ "Datasets"
]
}
},
- "/brooklinen/pages/{handle}": {
+ "/datasets/producthunt-products/items/{slug}": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns one Brooklinen static page by its `handle`: id, title, URL, plain-text content, and created, published and updated times. A missing handle returns 404. When `transport_mode` is `ssr_embedded`, the content is plain text from the page's rich-text blocks and `id` is omitted.",
- "operationId": "brooklinen-page",
+ "description": "Returns one product by its Product Hunt slug from dataset id enum value `producthunt-products`, including its full launch history and (once hydrated) description, website, twitter_url, pricing and makers. Returns 404 when the slug is not in the archive.",
+ "operationId": "datasets-producthunt-products-item",
"parameters": [
{
- "description": "Page handle",
+ "description": "Product Hunt product slug, e.g. chatgpt",
"in": "path",
- "name": "handle",
+ "name": "slug",
"required": true,
"type": "string",
- "x-example": "page-handle"
+ "x-example": "chatgpt"
}
],
"produces": [
@@ -302020,7 +377527,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/shopifybrands.pageResponseDoc"
+ "$ref": "#/definitions/datasets.producthuntProductResponseDoc"
}
},
"400": {
@@ -302041,8 +377548,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -302053,33 +377560,105 @@
"ApiKeyAuth": []
}
],
- "summary": "Get a Brooklinen static page",
+ "summary": "Get a Product Hunt product from the dataset",
"tags": [
- "Brooklinen"
+ "Datasets"
]
}
},
- "/brooklinen/products": {
+ "/datasets/producthunt-products/search": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns products from Brooklinen's (https://www.brooklinen.com) product catalog. The storefront URL is fixed server-side. Valid empty result pages return `200` with an empty products array.",
- "operationId": "brooklinen-products",
+ "description": "Searches individual Product Hunt launches from the dataset id enum value `producthunt-products` — the searchable launch archive. Each result is one product with its topics, upvotes, ranks and launch history; description/website/twitter_url/pricing/makers are filled in over time. Sort enum: `relevance`, `votes_desc`, `launched_desc`, `launched_asc`, `rating_desc`, `best_rank_asc`. Billing: this search costs 1 credit per record returned, with a minimum of 2 (an empty result costs 2, a full page of 100 costs 100).",
+ "operationId": "datasets-producthunt-products-search",
"parameters": [
{
- "description": "1-based page, defaults to 1",
+ "description": "Full-text query over product name and tagline, max 256 characters",
+ "in": "query",
+ "name": "q",
+ "type": "string"
+ },
+ {
+ "description": "Exact topic-slug filter, e.g. artificial-intelligence, max 128 characters",
+ "in": "query",
+ "name": "topic",
+ "type": "string"
+ },
+ {
+ "description": "Exact maker-username filter (populated by hydration), max 128 characters",
+ "in": "query",
+ "name": "maker",
+ "type": "string"
+ },
+ {
+ "description": "Lower bound on first-launch date, an ISO-8601 date (YYYY-MM-DD)",
+ "in": "query",
+ "name": "launched_after",
+ "type": "string"
+ },
+ {
+ "description": "Upper bound on first-launch date, an ISO-8601 date (YYYY-MM-DD)",
+ "in": "query",
+ "name": "launched_before",
+ "type": "string"
+ },
+ {
+ "description": "Minimum upvotes, 0 or greater",
+ "in": "query",
+ "name": "min_votes",
+ "type": "integer"
+ },
+ {
+ "description": "Minimum review rating, from 0 through 5 (populated by hydration)",
+ "in": "query",
+ "name": "min_rating",
+ "type": "number"
+ },
+ {
+ "description": "Exact pricing-type filter (populated by hydration), e.g. free, paid, freemium",
+ "in": "query",
+ "name": "pricing_type",
+ "type": "string"
+ },
+ {
+ "description": "Website presence filter (populated by hydration)",
+ "in": "query",
+ "name": "has_website",
+ "type": "boolean"
+ },
+ {
+ "description": "true keeps only products still online, false only retired products",
+ "in": "query",
+ "name": "is_online",
+ "type": "boolean"
+ },
+ {
+ "description": "Sort enum: relevance, votes_desc, launched_desc, launched_asc, rating_desc, best_rank_asc",
+ "enum": [
+ "relevance",
+ "votes_desc",
+ "launched_desc",
+ "launched_asc",
+ "rating_desc",
+ "best_rank_asc"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Page number, defaults to 1",
"in": "query",
"name": "page",
- "type": "integer",
- "x-example": 1
+ "type": "integer"
},
{
- "description": "Maximum products, defaults to 50 and supports up to 250",
+ "description": "Page size, defaults to 20 and maxes at 100; page * page_size must be <= 10000",
"in": "query",
- "name": "limit",
- "type": "integer",
- "x-example": 50
+ "name": "page_size",
+ "type": "integer"
}
],
"produces": [
@@ -302089,7 +377668,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/shopifybrands.productsResponseDoc"
+ "$ref": "#/definitions/datasets.producthuntProductsSearchResponseDoc"
}
},
"400": {
@@ -302104,8 +377683,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -302116,27 +377695,72 @@
"ApiKeyAuth": []
}
],
- "summary": "List Brooklinen products",
+ "summary": "Search the Product Hunt products dataset",
"tags": [
- "Brooklinen"
+ "Datasets"
]
}
},
- "/brooklinen/products/{handle}": {
+ "/datasets/producthunt-trends/facets": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns product detail for one Brooklinen (https://www.brooklinen.com) product handle. The storefront URL is fixed server-side; `handle` is the product's URL slug.",
- "operationId": "brooklinen-product",
+ "description": "Returns suppressed distribution counts over the Product Hunt trends dataset (dataset id enum value `producthunt-trends`), honoring the same filters as search. Facet enum: `topic`, `launch_year`.",
+ "operationId": "datasets-producthunt-trends-facets",
"parameters": [
{
- "description": "Product handle",
- "in": "path",
- "name": "handle",
+ "description": "Facet enum: topic, launch_year",
+ "enum": [
+ "topic",
+ "launch_year"
+ ],
+ "in": "query",
+ "name": "facet",
"required": true,
"type": "string",
- "x-example": "product-handle"
+ "x-example": "topic"
+ },
+ {
+ "description": "Aggregate cell dimension enum: topic_month, topic_year, topic. Defaults to topic_month",
+ "enum": [
+ "topic_month",
+ "topic_year",
+ "topic"
+ ],
+ "in": "query",
+ "name": "group_by",
+ "type": "string"
+ },
+ {
+ "description": "Exact topic-slug filter, e.g. artificial-intelligence, max 128 characters",
+ "in": "query",
+ "name": "topic",
+ "type": "string"
+ },
+ {
+ "description": "Lower bound on first-launch date, an ISO-8601 date (YYYY-MM-DD)",
+ "in": "query",
+ "name": "launched_after",
+ "type": "string"
+ },
+ {
+ "description": "Upper bound on first-launch date, an ISO-8601 date (YYYY-MM-DD)",
+ "in": "query",
+ "name": "launched_before",
+ "type": "string"
+ },
+ {
+ "description": "Minimum product upvotes, 0 or greater",
+ "in": "query",
+ "name": "min_votes",
+ "type": "integer"
+ },
+ {
+ "description": "Minimum launches per bucket; raises the small-cell suppression floor",
+ "in": "query",
+ "name": "min_launches",
+ "type": "integer"
}
],
"produces": [
@@ -302146,7 +377770,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/shopifybrands.productResponseDoc"
+ "$ref": "#/definitions/datasets.producthuntTrendsFacetResponseDoc"
}
},
"400": {
@@ -302155,20 +377779,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"429": {
"description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -302179,45 +377797,84 @@
"ApiKeyAuth": []
}
],
- "summary": "Get a Brooklinen product",
+ "summary": "Facet the Product Hunt trends dataset",
"tags": [
- "Brooklinen"
+ "Datasets"
]
}
},
- "/brooklinen/products/{handle}/recommendations": {
+ "/datasets/producthunt-trends/search": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns recommended products for one Brooklinen (https://www.brooklinen.com) product handle. The storefront URL is fixed server-side.",
- "operationId": "brooklinen-product-recommendations",
+ "description": "Returns aggregate Product Hunt launch trends from the dataset id enum value `producthunt-trends`. Aggregate-only: each row is a category-over-time cell (a topic, optionally within a calendar period), reporting launch count, total and average upvotes, average rating and the top product — never an individual product record. Thin cells are suppressed. group_by enum: `topic_month`, `topic_year`, `topic`. Sort enum: `period_desc`, `period_asc`, `launch_count_desc`, `sum_votes_desc`. Billing: this search costs 1 credit per record returned, with a minimum of 2 (an empty result costs 2, a full page of 100 costs 100).",
+ "operationId": "datasets-producthunt-trends-search",
"parameters": [
{
- "description": "Product handle",
- "in": "path",
- "name": "handle",
- "required": true,
- "type": "string",
- "x-example": "product-handle"
+ "description": "Aggregate cell dimension enum: topic_month, topic_year, topic. Defaults to topic_month",
+ "enum": [
+ "topic_month",
+ "topic_year",
+ "topic"
+ ],
+ "in": "query",
+ "name": "group_by",
+ "type": "string"
},
{
- "description": "Maximum products, defaults to 10 and supports up to 20",
+ "description": "Exact topic-slug filter, e.g. artificial-intelligence, max 128 characters",
"in": "query",
- "name": "limit",
- "type": "integer",
- "x-example": 10
+ "name": "topic",
+ "type": "string"
},
{
- "description": "Recommendation intent. Allowed values: related, complementary",
+ "description": "Lower bound on first-launch date, an ISO-8601 date (YYYY-MM-DD)",
+ "in": "query",
+ "name": "launched_after",
+ "type": "string"
+ },
+ {
+ "description": "Upper bound on first-launch date, an ISO-8601 date (YYYY-MM-DD)",
+ "in": "query",
+ "name": "launched_before",
+ "type": "string"
+ },
+ {
+ "description": "Minimum product upvotes, 0 or greater",
+ "in": "query",
+ "name": "min_votes",
+ "type": "integer"
+ },
+ {
+ "description": "Minimum launches per cell; raises the small-cell suppression floor (never lowered below the built-in minimum)",
+ "in": "query",
+ "name": "min_launches",
+ "type": "integer"
+ },
+ {
+ "description": "Sort enum: period_desc, period_asc, launch_count_desc, sum_votes_desc",
"enum": [
- "related",
- "complementary"
+ "period_desc",
+ "period_asc",
+ "launch_count_desc",
+ "sum_votes_desc"
],
"in": "query",
- "name": "intent",
- "type": "string",
- "x-example": "related"
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Page number, defaults to 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, defaults to 20 and maxes at 100; page * page_size must be <= 10000",
+ "in": "query",
+ "name": "page_size",
+ "type": "integer"
}
],
"produces": [
@@ -302227,7 +377884,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/shopifybrands.productRecommendationsResponseDoc"
+ "$ref": "#/definitions/datasets.producthuntTrendsSearchResponseDoc"
}
},
"400": {
@@ -302236,20 +377893,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"429": {
"description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -302260,41 +377911,72 @@
"ApiKeyAuth": []
}
],
- "summary": "List Brooklinen product recommendations",
+ "summary": "Search the Product Hunt trends dataset",
"tags": [
- "Brooklinen"
+ "Datasets"
]
}
},
- "/brooklinen/search/suggest": {
+ "/datasets/reddit-trending/facets": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns products, collections, and query suggestions from Brooklinen's (https://www.brooklinen.com) predictive search. The storefront URL is fixed server-side.",
- "operationId": "brooklinen-search-suggest",
+ "description": "Returns up to 50 Reddit trending-facet buckets ordered by count, using the same filters as `datasets_reddit_trending_search`. Page and page_size do not change the aggregation. A snapshot_date facet without date spans all history; other facets use the search date scope, including the latest-snapshot default and full history for date_desc sort.",
+ "operationId": "datasets-reddit-trending-facets",
"parameters": [
{
- "description": "Search query",
+ "description": "Facet field",
+ "enum": [
+ "subreddit",
+ "domain",
+ "snapshot_date"
+ ],
"in": "query",
- "name": "q",
+ "name": "facet",
"required": true,
"type": "string",
- "x-example": "wool"
+ "x-example": "subreddit"
},
{
- "description": "Comma-separated suggestion types. Allowed values: product, collection, query",
+ "description": "Full-text post-title query",
"in": "query",
- "name": "types",
- "type": "string",
- "x-example": "product,collection,query"
+ "name": "q",
+ "type": "string"
},
{
- "description": "Maximum results per type, defaults to 10 and supports up to 20",
+ "description": "Exact subreddit name",
"in": "query",
- "name": "limit",
- "type": "integer",
- "x-example": 10
+ "name": "subreddit",
+ "type": "string"
+ },
+ {
+ "description": "Snapshot date, yyyy-MM-dd",
+ "in": "query",
+ "name": "date",
+ "type": "string"
+ },
+ {
+ "description": "Validated search sort; bucket order stays count-desc, and time-series date_desc keeps its search history scope",
+ "enum": [
+ "rank",
+ "date_desc"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Result page, 1-based",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, default 20 and max 100",
+ "in": "query",
+ "name": "page_size",
+ "type": "integer"
}
],
"produces": [
@@ -302304,7 +377986,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/shopifybrands.searchSuggestResponseDoc"
+ "$ref": "#/definitions/datasets.datasetFacetResponseDoc"
}
},
"400": {
@@ -302319,8 +378001,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -302331,42 +378013,26 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Brooklinen search suggestions",
+ "summary": "Discover values in the Reddit trending dataset",
"tags": [
- "Brooklinen"
+ "Datasets"
]
}
},
- "/brooklinen/sitemap/urls": {
+ "/datasets/reddit-trending/items/{post_uid}": {
"get": {
"consumes": [
"application/json"
],
- "description": "Lists URL entries from Brooklinen's sitemaps, filtered by `type` (`all` by default, or `products`, `collections`, `pages`, `blogs`, `agentic_discovery`, `other`) and capped by `limit` (default 50, max 250). Each entry has its `loc`, type, handle, `lastmod`, `changefreq` and, where present, images with caption and title.",
- "operationId": "brooklinen-sitemap-urls",
+ "description": "Retrieves one stored subreddit-post ranking row by `post_uid`, the `subreddit:date:rank` key returned by `datasets_reddit_trending_search`.",
+ "operationId": "datasets-reddit-trending-item",
"parameters": [
{
- "description": "Sitemap type. Allowed values: all, products, collections, pages, blogs, agentic_discovery, other",
- "enum": [
- "all",
- "products",
- "collections",
- "pages",
- "blogs",
- "agentic_discovery",
- "other"
- ],
- "in": "query",
- "name": "type",
- "type": "string",
- "x-example": "products"
- },
- {
- "description": "Maximum URL entries, defaults to 50 and supports up to 250",
- "in": "query",
- "name": "limit",
- "type": "integer",
- "x-example": 50
+ "description": "Exact post_uid from a search result",
+ "in": "path",
+ "name": "post_uid",
+ "required": true,
+ "type": "string"
}
],
"produces": [
@@ -302376,7 +378042,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/shopifybrands.sitemapURLsResponseDoc"
+ "$ref": "#/definitions/datasets.redditTrendingDatasetItemResponseDoc"
}
},
"400": {
@@ -302385,14 +378051,20 @@
"$ref": "#/definitions/app.Response"
}
},
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
"429": {
"description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -302403,66 +378075,61 @@
"ApiKeyAuth": []
}
],
- "summary": "List Brooklinen sitemap URLs",
+ "summary": "Get one Reddit trending-post record",
"tags": [
- "Brooklinen"
+ "Datasets"
]
}
},
- "/brooklinen/sitemaps": {
+ "/datasets/reddit-trending/search": {
"get": {
"consumes": [
"application/json"
],
- "description": "Lists the child sitemaps that Brooklinen publishes, with no parameters. Each entry has its `loc` URL and a `type` of `products`, `collections`, `pages`, `blogs`, `agentic_discovery` or `other`, which tells you which sitemap to pass to the sitemap URL endpoint.",
- "operationId": "brooklinen-sitemaps",
- "produces": [
- "application/json"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/shopifybrands.sitemapIndexResponseDoc"
- }
+ "description": "Searches daily snapshots of each tracked subreddit's hot-feed post order (one document per subreddit × snapshot × rank) so history accumulates. With no `date` the latest snapshot is returned (today's trending); pair `subreddit` with `sort=date_desc` for a subreddit's trending history over time. There is no score or comment-count field, so `rank` reflects Reddit's own hot-feed order rather than a locally computed score. Billing: this search costs 1 credit per record returned, with a minimum of 2 (an empty result costs 2, a full page of 100 costs 100).",
+ "operationId": "datasets-reddit-trending-search",
+ "parameters": [
+ {
+ "description": "Full-text query over the post title, max 256 characters",
+ "in": "query",
+ "name": "q",
+ "type": "string"
},
- "400": {
- "description": "Bad Request",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
+ {
+ "description": "Exact subreddit-name filter, max 128 characters",
+ "in": "query",
+ "name": "subreddit",
+ "type": "string"
},
- "429": {
- "description": "Too Many Requests",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
+ {
+ "description": "Snapshot date filter yyyy-MM-dd; defaults to the latest snapshot",
+ "in": "query",
+ "name": "date",
+ "type": "string"
},
- "503": {
- "description": "Service Unavailable",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- }
- },
- "security": [
{
- "ApiKeyAuth": []
+ "description": "Sort enum: rank, date_desc",
+ "enum": [
+ "rank",
+ "date_desc"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Page number, defaults to 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, defaults to 20 and maxes at 100; page * page_size must be <= 10000",
+ "in": "query",
+ "name": "page_size",
+ "type": "integer"
}
],
- "summary": "List Brooklinen sitemaps",
- "tags": [
- "Brooklinen"
- ]
- }
- },
- "/brooklinen/store": {
- "get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns storefront metadata for Brooklinen (https://www.brooklinen.com). The storefront URL is fixed server-side, so no `url` parameter is accepted.",
- "operationId": "brooklinen-store",
"produces": [
"application/json"
],
@@ -302470,7 +378137,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/shopifybrands.storeResponseDoc"
+ "$ref": "#/definitions/datasets.redditTrendingSearchResponseDoc"
}
},
"400": {
@@ -302485,8 +378152,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -302497,26 +378164,97 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Brooklinen store metadata",
+ "summary": "Search the reddit-trending dataset",
"tags": [
- "Brooklinen"
+ "Datasets"
]
}
},
- "/burberry/categories": {
+ "/datasets/sec-companies/facets": {
"get": {
"consumes": [
"application/json"
],
- "description": "Lists every department, section, and leaf category from Burberry's own site navigation, flattened with a breadcrumb-style path. Each entry's url is exactly what burberry-category's own category parameter accepts. Filter to one top-level department with department (e.g. Women, Men, Children, Gifts, Trench, Scarves, Bags, Beauty & Fragrances, Sale); omit for every department. See the response's own departments field for the live list.",
- "operationId": "burberry-categories",
+ "description": "Returns terms-aggregation counts for one facet of the SEC companies dataset, scoped to the same filters as search. Facet enum: `sic`, `sic_description`, `exchange`, `state_of_incorporation`, `entity_type`, `reporting_currency`, `revenue_band`, `forms_filed`. `revenue_band` buckets latest-annual revenue into: `unknown`, `under_1m`, `1m_10m`, `10m_100m`, `100m_1b`, `1b_10b`, `over_10b`.",
+ "operationId": "datasets-sec-companies-facets",
"parameters": [
{
- "description": "Top-level department to filter to, e.g. Women, Men, Children -- omit for every department",
+ "description": "Facet enum: sic, sic_description, exchange, state_of_incorporation, entity_type, reporting_currency, revenue_band, forms_filed",
+ "enum": [
+ "sic",
+ "sic_description",
+ "exchange",
+ "state_of_incorporation",
+ "entity_type",
+ "reporting_currency",
+ "revenue_band",
+ "forms_filed"
+ ],
"in": "query",
- "name": "department",
+ "name": "facet",
+ "required": true,
"type": "string",
- "x-example": "Women"
+ "x-example": "sic"
+ },
+ {
+ "description": "Full-text query over the company name, or an exact ticker match, max 256 characters",
+ "in": "query",
+ "name": "q",
+ "type": "string"
+ },
+ {
+ "description": "Exact ticker filter (case-insensitive), max 32 characters",
+ "in": "query",
+ "name": "ticker",
+ "type": "string"
+ },
+ {
+ "description": "Exact SIC industry-code filter, max 32 characters",
+ "in": "query",
+ "name": "sic",
+ "type": "string"
+ },
+ {
+ "description": "Exact exchange filter as reported by EDGAR, max 64 characters",
+ "in": "query",
+ "name": "exchange",
+ "type": "string"
+ },
+ {
+ "description": "Exact state/country-of-incorporation filter, max 32 characters",
+ "in": "query",
+ "name": "state_of_incorporation",
+ "type": "string"
+ },
+ {
+ "description": "Exact entity-type filter, max 64 characters",
+ "in": "query",
+ "name": "entity_type",
+ "type": "string"
+ },
+ {
+ "description": "Exact reporting-currency filter, ISO-4217 code, e.g. USD, JPY, EUR",
+ "in": "query",
+ "name": "reporting_currency",
+ "type": "string"
+ },
+ {
+ "description": "When true, keep only companies that have XBRL financial statements",
+ "in": "query",
+ "name": "has_financials",
+ "type": "boolean"
+ },
+ {
+ "description": "Minimum latest-annual revenue in USD (normalized at reference rates), 0 or greater",
+ "in": "query",
+ "name": "min_revenue",
+ "type": "number"
+ },
+ {
+ "description": "Exact form-type filter, e.g. 10-K, 8-K",
+ "in": "query",
+ "name": "form_filed",
+ "type": "string"
}
],
"produces": [
@@ -302526,7 +378264,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/burberry.categoriesResponseDoc"
+ "$ref": "#/definitions/datasets.secCompaniesFacetResponseDoc"
}
},
"400": {
@@ -302541,8 +378279,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -302553,56 +378291,66 @@
"ApiKeyAuth": []
}
],
- "summary": "List Burberry categories",
+ "summary": "Facet the SEC companies dataset",
"tags": [
- "Burberry"
+ "Datasets"
]
}
},
- "/burberry/category": {
+ "/datasets/sec-companies/financials/{cik}": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns one page (20 products) of a Burberry category/browse listing. category is the site-relative category path, e.g. /l/womens-clothing/new-arrivals/ -- use burberry-categories to discover every valid value instead of guessing from site URLs. offset paginates in increments of 20 (the upstream's own fixed page size). sort selects the result order. The response includes the upstream's own available filters (facets) with live per-option result counts; feed a selection back in via facets, a comma-separated list of property:value pairs taken from this same response's facets field (e.g. benefit:bags,dotcomreportingcolour:black -- see a live response for the values valid for that category). At most one value per facet property; an unmatched or invalid combination returns a well-formed empty result, not an error.",
- "operationId": "burberry-category",
+ "description": "Returns a company's financial-statement history (income statement, balance sheet, cash flow) from the SEC companies dataset, newest fiscal year first. An unknown CIK or a company with no XBRL data returns an empty series rather than a 404 — most filers without a current ticker have no financial-statement history at all. `lines` keys are the same concept names the live `/sec/financials` endpoint uses (e.g. `revenue`, `net_income`, `total_assets`); `ratios` keys include `gross_margin`, `operating_margin`, `net_margin`, `revenue_growth_yoy`, `current_ratio`, `debt_to_equity`, `free_cash_flow` where derivable. statement enum: `income`, `balance`, `cash_flow`. period enum: `annual`, `quarterly`.",
+ "operationId": "datasets-sec-companies-financials",
"parameters": [
{
- "description": "Site-relative category path -- see burberry-categories",
- "in": "query",
- "name": "category",
+ "description": "SEC CIK, numeric or zero-padded",
+ "in": "path",
+ "name": "cik",
"required": true,
"type": "string",
- "x-example": "/l/womens-clothing/new-arrivals/"
+ "x-example": "320193"
},
{
- "default": 0,
- "description": "Zero-based result offset, in increments of 20",
+ "description": "Statement enum: income, balance, cash_flow. Omit to return all three.",
+ "enum": [
+ "income",
+ "balance",
+ "cash_flow"
+ ],
"in": "query",
- "maximum": 100000,
- "minimum": 0,
- "name": "offset",
- "type": "integer"
+ "name": "statement",
+ "type": "string"
},
{
- "default": "default",
- "description": "Sort order",
+ "description": "Period-type enum: annual, quarterly. Omit to return both.",
"enum": [
- "default",
- "price_asc",
- "price_desc",
- "newest"
+ "annual",
+ "quarterly"
],
"in": "query",
- "name": "sort",
+ "name": "period",
"type": "string"
},
{
- "description": "Comma-separated property:value facet filters, taken from this same response's own facets field, e.g. benefit:bags,dotcomreportingcolour:black -- at most one value per property",
+ "description": "Inclusive lower bound on fiscal_year",
"in": "query",
- "name": "facets",
- "type": "string",
- "x-example": "benefit:bags"
+ "name": "from",
+ "type": "integer"
+ },
+ {
+ "description": "Inclusive upper bound on fiscal_year",
+ "in": "query",
+ "name": "to",
+ "type": "integer"
+ },
+ {
+ "description": "Maximum points returned (most recent fiscal years first), default 100, max 400",
+ "in": "query",
+ "name": "limit",
+ "type": "integer"
}
],
"produces": [
@@ -302612,7 +378360,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/burberry.categoryResponseDoc"
+ "$ref": "#/definitions/datasets.secCompaniesFinancialsResponseDoc"
}
},
"400": {
@@ -302621,20 +378369,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"429": {
"description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -302645,27 +378387,51 @@
"ApiKeyAuth": []
}
],
- "summary": "Browse a Burberry category",
+ "summary": "Get a SEC company's financial-statement history",
"tags": [
- "Burberry"
+ "Datasets"
]
}
},
- "/burberry/product": {
+ "/datasets/sec-companies/insider/{cik}": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns product detail for one Burberry product page: name, sku, colour, material, description, price, stock status, every product image, and every other purchasable colourway of the same style. url is the site-relative product path, e.g. /check-cashmere-cardigan-p81336111, as returned by burberry-search's or burberry-category's own products[].url field.",
- "operationId": "burberry-product",
+ "description": "Returns a company's insider (Form 3/4/5) transaction history from the SEC companies dataset, most recent transaction first. An unknown CIK or a company with no reported transactions returns an empty series rather than a 404.",
+ "operationId": "datasets-sec-companies-insider",
"parameters": [
{
- "description": "Site-relative product path, from a search or category result's url field",
- "in": "query",
- "name": "url",
+ "description": "SEC CIK, numeric or zero-padded",
+ "in": "path",
+ "name": "cik",
"required": true,
"type": "string",
- "x-example": "/check-cashmere-cardigan-p81336111"
+ "x-example": "320193"
+ },
+ {
+ "description": "Inclusive start date (YYYY-MM-DD, UTC) filtering transaction date",
+ "in": "query",
+ "name": "from",
+ "type": "string"
+ },
+ {
+ "description": "Inclusive end date (YYYY-MM-DD, UTC) filtering transaction date",
+ "in": "query",
+ "name": "to",
+ "type": "string"
+ },
+ {
+ "description": "Exact transaction code filter, e.g. P (open-market purchase), S (sale)",
+ "in": "query",
+ "name": "code",
+ "type": "string"
+ },
+ {
+ "description": "Maximum transactions returned (most recent first), default 50, max 200",
+ "in": "query",
+ "name": "limit",
+ "type": "integer"
}
],
"produces": [
@@ -302675,7 +378441,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/burberry.productResponseDoc"
+ "$ref": "#/definitions/datasets.secCompaniesInsiderResponseDoc"
}
},
"400": {
@@ -302684,20 +378450,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"429": {
"description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -302708,27 +378468,27 @@
"ApiKeyAuth": []
}
],
- "summary": "Get a Burberry product",
+ "summary": "Get a SEC company's insider-transaction history",
"tags": [
- "Burberry"
+ "Datasets"
]
}
},
- "/burberry/related": {
+ "/datasets/sec-companies/items/{cik}": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns the cross-sell surfaces a real Burberry product page itself loads for that product: similar_products (algorithmically similar items) and shop_the_look (other pieces in the same styled outfit, when the upstream has curated one -- most products have none, returned as a well-formed empty list, not an error). url is the site-relative product path, e.g. /check-cashmere-cardigan-p81336111, as returned by burberry-search's, burberry-category's, or burberry-product's own url field.",
- "operationId": "burberry-related",
+ "description": "Returns one SEC-reporting company by CIK from dataset id `sec-companies`, including its filing-history summary, financial-statement rollups, and trailing-90-day insider-activity summary. Returns 404 when the CIK is not in the dataset.",
+ "operationId": "datasets-sec-companies-item",
"parameters": [
{
- "description": "Site-relative product path, from a search, category, or product result's url field",
- "in": "query",
- "name": "url",
+ "description": "SEC CIK, numeric or zero-padded, e.g. 320193 or 0000320193",
+ "in": "path",
+ "name": "cik",
"required": true,
"type": "string",
- "x-example": "/check-cashmere-cardigan-p81336111"
+ "x-example": "320193"
}
],
"produces": [
@@ -302738,7 +378498,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/burberry.relatedResponseDoc"
+ "$ref": "#/definitions/datasets.secCompaniesItemResponseDoc"
}
},
"400": {
@@ -302747,14 +378507,20 @@
"$ref": "#/definitions/app.Response"
}
},
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
"429": {
"description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -302765,56 +378531,141 @@
"ApiKeyAuth": []
}
],
- "summary": "Get related Burberry products",
+ "summary": "Get a company from the SEC companies dataset",
"tags": [
- "Burberry"
+ "Datasets"
]
}
},
- "/burberry/search": {
+ "/datasets/sec-companies/search": {
"get": {
"consumes": [
"application/json"
],
- "description": "Searches Burberry's product catalog by keyword. Returns product summaries plus the upstream's own available filters (facets) with live per-option result counts. offset paginates in increments of 20 (the upstream's own fixed page size). sort selects the result order. facets applies a facet selection back, a comma-separated list of property:value pairs taken from this same response's facets field (e.g. benefit:bags,dotcomreportingcolour:black). A query with no matches, or a facet combination with no matches, returns a well-formed empty result, not an error. Unlike burberry-category, this response has no true grand-total result count -- only the current page's own count.",
- "operationId": "burberry-search",
+ "description": "Searches SEC-reporting companies — filing history, financial-statement rollups (latest annual/quarterly revenue, net income, total assets) and trailing-90-day insider (Form 3/4/5) activity. Sort enum: `relevance`, `name_asc`, `revenue_desc`, `net_income_desc`, `filing_recent_desc`, `insider_activity_desc`. `entity_type`, `sic`, `sic_description`, `exchange`, and `state_of_incorporation` are open filters over the exact values EDGAR reports for each filer (not a fixed enum) — discover real values via the matching facet. Billing: this search costs 1 credit per record returned, with a minimum of 2 (an empty result costs 2, a full page of 100 costs 100).",
+ "operationId": "datasets-sec-companies-search",
"parameters": [
{
- "description": "Search keyword",
+ "description": "Full-text query over the company name, or an exact ticker match, max 256 characters",
"in": "query",
- "name": "query",
- "required": true,
- "type": "string",
- "x-example": "trench"
+ "name": "q",
+ "type": "string"
},
{
- "default": 0,
- "description": "Zero-based result offset, in increments of 20",
+ "description": "Exact ticker filter (case-insensitive), e.g. AAPL, max 32 characters",
"in": "query",
- "maximum": 100000,
- "minimum": 0,
- "name": "offset",
+ "name": "ticker",
+ "type": "string"
+ },
+ {
+ "description": "Exact CIK filter, numeric or zero-padded, e.g. 320193 or 0000320193",
+ "in": "query",
+ "name": "cik",
+ "type": "string"
+ },
+ {
+ "description": "Exact SIC industry-code filter, e.g. 3571, max 32 characters",
+ "in": "query",
+ "name": "sic",
+ "type": "string"
+ },
+ {
+ "description": "Exact SIC description filter, e.g. Electronic Computers, max 128 characters",
+ "in": "query",
+ "name": "sic_description",
+ "type": "string"
+ },
+ {
+ "description": "Exact exchange filter as reported by EDGAR, e.g. Nasdaq, NYSE, max 64 characters",
+ "in": "query",
+ "name": "exchange",
+ "type": "string"
+ },
+ {
+ "description": "Exact state/country-of-incorporation filter as reported by EDGAR, e.g. DE, CA, max 32 characters",
+ "in": "query",
+ "name": "state_of_incorporation",
+ "type": "string"
+ },
+ {
+ "description": "Exact entity-type filter as reported by EDGAR (e.g. operating), max 64 characters",
+ "in": "query",
+ "name": "entity_type",
+ "type": "string"
+ },
+ {
+ "description": "Exact reporting-currency filter, ISO-4217 code, e.g. USD, JPY, EUR",
+ "in": "query",
+ "name": "reporting_currency",
+ "type": "string"
+ },
+ {
+ "description": "When true, keep only companies that have XBRL financial statements",
+ "in": "query",
+ "name": "has_financials",
+ "type": "boolean"
+ },
+ {
+ "description": "Minimum latest-annual revenue in USD (normalized from the filer's reporting currency at reference rates), 0 or greater",
+ "in": "query",
+ "name": "min_revenue",
+ "type": "number"
+ },
+ {
+ "description": "Maximum latest-annual revenue in USD (normalized), 0 or greater",
+ "in": "query",
+ "name": "max_revenue",
+ "type": "number"
+ },
+ {
+ "description": "Minimum latest-annual net income in USD (normalized; negative allowed)",
+ "in": "query",
+ "name": "min_net_income",
+ "type": "number"
+ },
+ {
+ "description": "Minimum latest-annual total assets in USD (normalized), 0 or greater",
+ "in": "query",
+ "name": "min_total_assets",
+ "type": "number"
+ },
+ {
+ "description": "Exact form-type filter; keeps only companies that have ever filed this form, e.g. 10-K, 8-K",
+ "in": "query",
+ "name": "form_filed",
+ "type": "string"
+ },
+ {
+ "description": "Minimum insider (Form 3/4/5) transaction count in the trailing 90 days, 0 or greater",
+ "in": "query",
+ "name": "min_insider_txn_count_90d",
"type": "integer"
},
{
- "default": "default",
- "description": "Sort order",
+ "description": "Sort enum: relevance, name_asc, revenue_desc, net_income_desc, filing_recent_desc, insider_activity_desc",
"enum": [
- "default",
- "price_asc",
- "price_desc",
- "newest"
+ "relevance",
+ "name_asc",
+ "revenue_desc",
+ "net_income_desc",
+ "filing_recent_desc",
+ "insider_activity_desc"
],
"in": "query",
"name": "sort",
"type": "string"
},
{
- "description": "Comma-separated property:value facet filters, taken from this same response's own facets field, e.g. benefit:bags,dotcomreportingcolour:black -- at most one value per property",
+ "description": "Page number, defaults to 1",
"in": "query",
- "name": "facets",
- "type": "string",
- "x-example": "benefit:bags"
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, defaults to 20 and maxes at 100; page * page_size must be <= 10000",
+ "in": "query",
+ "name": "page_size",
+ "type": "integer"
}
],
"produces": [
@@ -302824,7 +378675,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/burberry.searchResponseDoc"
+ "$ref": "#/definitions/datasets.secCompaniesSearchResponseDoc"
}
},
"400": {
@@ -302839,8 +378690,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -302851,27 +378702,49 @@
"ApiKeyAuth": []
}
],
- "summary": "Search Burberry products",
+ "summary": "Search the SEC companies dataset",
"tags": [
- "Burberry"
+ "Datasets"
]
}
},
- "/burberry/suggest": {
+ "/datasets/sec-institutional-positions/facets": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns Burberry's own search-box suggestions (typeahead) for a partial query: a flat list of suggested search phrases, each with its own live result count on the search index. Not product data.",
- "operationId": "burberry-suggest",
+ "description": "Returns terms-aggregation counts for one facet of the SEC institutional positions dataset, scoped to the same filters as search. Facet enum: `manager`, `issuer`.",
+ "operationId": "datasets-sec-institutional-positions-facets",
"parameters": [
{
- "description": "Partial search query",
+ "description": "Facet enum: manager, issuer",
+ "enum": [
+ "manager",
+ "issuer"
+ ],
"in": "query",
- "name": "query",
+ "name": "facet",
"required": true,
"type": "string",
- "x-example": "trench"
+ "x-example": "manager"
+ },
+ {
+ "description": "Exact institutional-manager CIK filter, numeric or zero-padded",
+ "in": "query",
+ "name": "manager_cik",
+ "type": "string"
+ },
+ {
+ "description": "Issuer-name text filter (best-effort match), max 256 characters",
+ "in": "query",
+ "name": "issuer_name",
+ "type": "string"
+ },
+ {
+ "description": "Exact CUSIP filter, max 16 characters",
+ "in": "query",
+ "name": "cusip",
+ "type": "string"
}
],
"produces": [
@@ -302881,7 +378754,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/burberry.suggestResponseDoc"
+ "$ref": "#/definitions/datasets.secInstitutionalPositionsFacetResponseDoc"
}
},
"400": {
@@ -302896,8 +378769,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -302908,41 +378781,60 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Burberry search-box suggestions",
+ "summary": "Facet the SEC institutional positions dataset",
"tags": [
- "Burberry"
+ "Datasets"
]
}
},
- "/burgerking/availability": {
+ "/datasets/sec-institutional-positions/search": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns one restaurant's live open/closed status per order channel (curbside, delivery, drive-thru, eat-in, mobile-order drive-thru, takeout), distinct from /burgerking/locations' published weekly schedule. Each channel carries whether it is taking orders right now, its current open window when open, and the following window's start/end -- a channel with no current or next window at all means this restaurant does not offer it, not merely that it is closed. Also returns the restaurant's own local time, timezone and an overall available flag. Setting forecast=true additionally returns a multi-day forward schedule per channel, including two catering-only channels not present in the current-status list.",
- "operationId": "burgerking-availability",
+ "description": "Searches institutional investment managers' quarterly 13F portfolio holdings stored in a search index. Filter by manager_cik for a manager's full reported portfolio (an exact, reliable filter), or by issuer_name/cusip for a best-effort view of which managers reported a position in an issuer — SEC publishes no authoritative CUSIP-to-CIK mapping, so the issuer side is never a guaranteed-resolved join. Sort enum: `value_desc`, `value_asc`, `shares_desc`. Billing: this search costs 1 credit per record returned, with a minimum of 2 (an empty result costs 2, a full page of 100 costs 100).",
+ "operationId": "datasets-sec-institutional-positions-search",
"parameters": [
{
- "description": "Burger King's numeric store id, from /burgerking/locations",
+ "description": "Exact institutional-manager CIK filter, numeric or zero-padded",
"in": "query",
- "name": "store_id",
- "required": true,
- "type": "string",
- "x-example": "17871"
+ "name": "manager_cik",
+ "type": "string"
},
{
- "description": "RBI market the store belongs to, one of `US`, `CA` (default `US`)",
+ "description": "Issuer-name text filter (best-effort match, not a resolved CIK join), max 256 characters",
"in": "query",
- "name": "market",
- "type": "string",
- "x-example": "US"
+ "name": "issuer_name",
+ "type": "string"
},
{
- "description": "Include a multi-day forward schedule per channel (default false)",
+ "description": "Exact CUSIP filter, max 16 characters",
"in": "query",
- "name": "forecast",
- "type": "boolean",
- "x-example": false
+ "name": "cusip",
+ "type": "string"
+ },
+ {
+ "description": "Sort enum: value_desc, value_asc, shares_desc",
+ "enum": [
+ "value_desc",
+ "value_asc",
+ "shares_desc"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Page number, defaults to 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, defaults to 20 and maxes at 100; page * page_size must be <= 10000",
+ "in": "query",
+ "name": "page_size",
+ "type": "integer"
}
],
"produces": [
@@ -302952,7 +378844,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/burgerking.availabilityResponseDoc"
+ "$ref": "#/definitions/datasets.secInstitutionalPositionsSearchResponseDoc"
}
},
"400": {
@@ -302961,20 +378853,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"429": {
"description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -302985,70 +378871,74 @@
"ApiKeyAuth": []
}
],
- "summary": "Get one Burger King restaurant's real-time fulfillment status",
+ "summary": "Search the SEC institutional positions dataset",
"tags": [
- "Burger King"
+ "Datasets"
]
}
},
- "/burgerking/locations": {
+ "/datasets/starbucks-stores/facets": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns Burger King restaurants near a latitude/longitude. Each restaurant carries its internal id and numeric store id (the value /burgerking/menu and /burgerking/availability take), full address with coordinates, phone, the operating franchise group, amenity flags (breakfast, delivery, drive-thru, playground, takeout, wifi, halal, dark kitchen) and the full published week of hours for dining room, drive-thru, delivery and curbside separately. A coordinate with no nearby Burger King returns an empty list rather than an error. Setting include_availability=true additionally returns each restaurant's live per-channel open/closed status in one call, the same shape /burgerking/availability returns -- note that path is capped at a fixed page (up to 20 restaurants) rather than honoring max_results beyond that. Setting delivery_only=true instead restricts results to restaurants that Burger King's own delivery service actually considers deliverable to this coordinate -- a genuine delivery-zone match, not the same set as filtering has_delivery=true. include_availability and delivery_only cannot be combined.",
- "operationId": "burgerking-locations",
+ "description": "Returns terms aggregation counts for the Starbucks store directory. Facet enum: `country`, `state`, `market`, `amenities`, `ownership_type_code`. Accepts the same filter parameters as search to scope the aggregation.",
+ "operationId": "datasets-starbucks-stores-facets",
"parameters": [
{
- "description": "Search center latitude",
+ "description": "Facet enum: country, state, market, amenities, ownership_type_code",
+ "enum": [
+ "country",
+ "state",
+ "market",
+ "amenities",
+ "ownership_type_code"
+ ],
"in": "query",
- "name": "latitude",
+ "name": "facet",
"required": true,
- "type": "number",
- "x-example": 40.7128
+ "type": "string",
+ "x-example": "country"
},
{
- "description": "Search center longitude",
+ "description": "Full-text search over store name, city, and address",
"in": "query",
- "name": "longitude",
- "required": true,
- "type": "number",
- "x-example": -74.006
+ "name": "q",
+ "type": "string"
},
{
- "description": "Search radius in meters, 1-50000 (default 8000)",
+ "description": "ISO-3166-1 alpha-2 country filter",
"in": "query",
- "name": "radius",
- "type": "integer",
- "x-example": 8000
+ "name": "country",
+ "type": "string"
},
{
- "description": "Maximum restaurants to return, 1-50 (default 20)",
+ "description": "State/region code filter",
"in": "query",
- "name": "max_results",
- "type": "integer",
- "x-example": 20
+ "name": "state",
+ "type": "string"
},
{
- "description": "RBI market to search, one of `US`, `CA` (default `US`)",
+ "description": "Exact city filter",
"in": "query",
- "name": "market",
- "type": "string",
- "x-example": "US"
+ "name": "city",
+ "type": "string"
},
{
- "description": "Include each restaurant's live per-channel open/closed status (default false)",
+ "description": "Crawl-provenance market filter. One of: us, ca",
+ "enum": [
+ "us",
+ "ca"
+ ],
"in": "query",
- "name": "include_availability",
- "type": "boolean",
- "x-example": false
+ "name": "market",
+ "type": "string"
},
{
- "description": "Restrict to restaurants that actually deliver to this coordinate, a genuine delivery-zone match distinct from the has_delivery flag (default false)",
+ "description": "Amenity code filter, e.g. DT",
"in": "query",
- "name": "delivery_only",
- "type": "boolean",
- "x-example": false
+ "name": "amenity",
+ "type": "string"
}
],
"produces": [
@@ -303058,7 +378948,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/burgerking.locationsResponseDoc"
+ "$ref": "#/definitions/datasets.starbucksStoresFacetResponseDoc"
}
},
"400": {
@@ -303067,20 +378957,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"429": {
"description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -303091,34 +378975,27 @@
"ApiKeyAuth": []
}
],
- "summary": "Find Burger King restaurants near a location",
+ "summary": "Facet stored Starbucks stores",
"tags": [
- "Burger King"
+ "Datasets"
]
}
},
- "/burgerking/menu": {
+ "/datasets/starbucks-stores/items/{store_number}": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns one restaurant's full menu grouped into categories (e.g. \"Breakfast Sandwiches\", \"Flame Grilled Burgers\"). Every entry is an item, a combo, or a picker (a variant-choice product such as \"choose your drink size\") and carries a delivery and pickup price -- these genuinely differ -- plus calories, detailed nutrition facts and flagged allergens when Burger King publishes them, and an image. Prices and availability reflect this specific restaurant, not a national default.",
- "operationId": "burgerking-menu",
+ "description": "Returns one stored Starbucks store by its store number (e.g. `101-54`) from dataset id `starbucks-stores`. `country` is the store's true country while `market` is crawl provenance. Hours (`schedule`) and `amenities` may be empty for stores outside the US, Canada, Europe, and the Gulf; an empty schedule means \"not published for this market\", not \"closed\".",
+ "operationId": "datasets-starbucks-stores-item",
"parameters": [
{
- "description": "Burger King's numeric store id, from /burgerking/locations",
- "in": "query",
- "name": "store_id",
+ "description": "Starbucks store number, e.g. 101-54",
+ "in": "path",
+ "name": "store_number",
"required": true,
"type": "string",
- "x-example": "17871"
- },
- {
- "description": "RBI market the store belongs to, one of `US`, `CA` (default `US`)",
- "in": "query",
- "name": "market",
- "type": "string",
- "x-example": "US"
+ "x-example": "101-54"
}
],
"produces": [
@@ -303128,7 +379005,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/burgerking.menuResponseDoc"
+ "$ref": "#/definitions/datasets.starbucksStoreResponseDoc"
}
},
"400": {
@@ -303149,8 +379026,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -303161,42 +379038,67 @@
"ApiKeyAuth": []
}
],
- "summary": "Get one Burger King restaurant's full priced menu",
+ "summary": "Get a stored Starbucks store",
"tags": [
- "Burger King"
+ "Datasets"
]
}
},
- "/burgerking/product": {
+ "/datasets/starbucks-stores/nearby": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns one menu entry's full detail (name, description, price, image, nutrition, allergens) plus its customization tree, when it has one -- a combo's courses and their swappable entree/side/drink choices, a picker's size/variant choices, or a customizable item's ingredient toggle groups (e.g. \"Bacon\": no/regular/extra) and their price deltas. Options recurses through the full upstream structure, so a combo's entree choice carries its own ingredient toggles too, not just the combo's own top-level courses. A plain, non-customizable item returns an empty options list.",
- "operationId": "burgerking-product",
+ "description": "Returns stored Starbucks stores within a radius of a point, nearest first, from dataset id `starbucks-stores`. lat, lon, and radius_m are required. Unlike the live /starbucks/stores endpoint (which caps at 50 near a point), this queries the full grid-tiled directory, so it can return every store in the radius. Billing: this endpoint costs 1 credit per record returned, with a minimum of 2 (an empty result costs 2, a full page of 100 costs 100).",
+ "operationId": "datasets-starbucks-stores-nearby",
"parameters": [
{
- "description": "Burger King's numeric store id, from /burgerking/locations",
+ "description": "Center latitude, from -90 through 90",
"in": "query",
- "name": "store_id",
+ "name": "lat",
"required": true,
- "type": "string",
- "x-example": "17871"
+ "type": "number",
+ "x-example": 40.7484257
},
{
- "description": "The item, combo, or picker id, from /burgerking/menu",
+ "description": "Center longitude, from -180 through 180",
"in": "query",
- "name": "item_id",
+ "name": "lon",
"required": true,
- "type": "string",
- "x-example": "item_26"
+ "type": "number",
+ "x-example": -73.98567
},
{
- "description": "RBI market the store belongs to, one of `US`, `CA` (default `US`)",
+ "description": "Search radius in meters, 1 through 50000",
"in": "query",
- "name": "market",
- "type": "string",
- "x-example": "US"
+ "name": "radius_m",
+ "required": true,
+ "type": "integer",
+ "x-example": 5000
+ },
+ {
+ "description": "ISO-3166-1 alpha-2 country filter",
+ "in": "query",
+ "name": "country",
+ "type": "string"
+ },
+ {
+ "description": "Amenity code filter, e.g. DT",
+ "in": "query",
+ "name": "amenity",
+ "type": "string"
+ },
+ {
+ "description": "Page number, defaults to 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, defaults to 20 and maxes at 100",
+ "in": "query",
+ "name": "page_size",
+ "type": "integer"
}
],
"produces": [
@@ -303206,7 +379108,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/burgerking.productResponseDoc"
+ "$ref": "#/definitions/datasets.starbucksStoresSearchResponseDoc"
}
},
"400": {
@@ -303215,20 +379117,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"429": {
"description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -303239,24 +379135,99 @@
"ApiKeyAuth": []
}
],
- "summary": "Get one Burger King item, combo, or picker's full detail and customization tree",
+ "summary": "Find nearby stored Starbucks stores",
"tags": [
- "Burger King"
+ "Datasets"
]
}
},
- "/businessinsider/article": {
+ "/datasets/starbucks-stores/search": {
"get": {
- "description": "Returns a Business Insider article by canonical `url`: title, description, publication and update times, section, authors, image and the body `paragraphs`. Subscriber-only or blocked content returns an error instead of partial text.",
- "operationId": "businessinsider-article",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Searches the worldwide Starbucks store directory (dataset id `starbucks-stores`), built by grid-tiling the store locator around its 50-result cap. Each store has its store number, name, phone, full address, coordinates, weekly hours, amenity codes, and pick-up options. Store discovery is global, but hours, amenities, and phone numbers are populated per market and are largely absent outside the US, Canada, Europe, and the Gulf; an empty schedule means \"not published for this market\", not \"closed\". `country` is the store's true country while `market` is crawl provenance (the US host geocodes worldwide). Supports full-text `q`, `country`/`state`/`city`/`market`/`amenity` filters, `lat`/`lon`/`radius_m` radius filtering, and `sort` (relevance, distance_asc). Billing: this search costs 1 credit per record returned, with a minimum of 2 (an empty result costs 2, a full page of 100 costs 100).",
+ "operationId": "datasets-starbucks-stores-search",
"parameters": [
{
- "description": "Canonical Business Insider article URL",
+ "description": "Full-text search over store name, city, and address, max 256 characters",
"in": "query",
- "name": "url",
- "required": true,
- "type": "string",
- "x-example": "https://www.businessinsider.com/markets/example-2026-09-21"
+ "name": "q",
+ "type": "string"
+ },
+ {
+ "description": "ISO-3166-1 alpha-2 country filter, e.g. US, GB, JP",
+ "in": "query",
+ "name": "country",
+ "type": "string"
+ },
+ {
+ "description": "State/region code filter, e.g. WA",
+ "in": "query",
+ "name": "state",
+ "type": "string"
+ },
+ {
+ "description": "Exact city filter",
+ "in": "query",
+ "name": "city",
+ "type": "string"
+ },
+ {
+ "description": "Crawl-provenance market filter. One of: us, ca",
+ "enum": [
+ "us",
+ "ca"
+ ],
+ "in": "query",
+ "name": "market",
+ "type": "string"
+ },
+ {
+ "description": "Amenity code filter, e.g. DT (Drive-Thru), XO (Mobile Order and Pay)",
+ "in": "query",
+ "name": "amenity",
+ "type": "string"
+ },
+ {
+ "description": "Latitude for radius filtering or distance sort, requires lon",
+ "in": "query",
+ "name": "lat",
+ "type": "number"
+ },
+ {
+ "description": "Longitude for radius filtering or distance sort, requires lat",
+ "in": "query",
+ "name": "lon",
+ "type": "number"
+ },
+ {
+ "description": "Radius in meters, 1 through 50000; requires lat and lon",
+ "in": "query",
+ "name": "radius_m",
+ "type": "integer"
+ },
+ {
+ "description": "Sort enum: relevance, distance_asc",
+ "enum": [
+ "relevance",
+ "distance_asc"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Page number, defaults to 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, defaults to 20 and maxes at 100; page * page_size must be <= 10000",
+ "in": "query",
+ "name": "page_size",
+ "type": "integer"
}
],
"produces": [
@@ -303266,7 +379237,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.articleResponseDoc"
+ "$ref": "#/definitions/datasets.starbucksStoresSearchResponseDoc"
}
},
"400": {
@@ -303275,14 +379246,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -303293,30 +379264,59 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Business Insider article content",
+ "summary": "Search the Starbucks store directory",
"tags": [
- "Business Insider"
+ "Datasets"
]
}
},
- "/businessinsider/author": {
+ "/datasets/steam-achievements/facets": {
"get": {
- "description": "Returns a Business Insider author's profile, identified by `slug` (the last segment of the author's page address) or a canonical `https://www.businessinsider.com/author/` `url`; exactly one is required. The response has name, job title, bio, image, `social_accounts` and one page of recent articles with title, URL and summary. Accounts the author does not list are simply absent.",
- "operationId": "businessinsider-author",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns up to 50 Steam achievement app-id buckets ordered by count, using the same app_id filter as `datasets_steam_achievements_search`. Page and page_size do not change the aggregation.",
+ "operationId": "datasets-steam-achievements-facets",
"parameters": [
{
- "description": "Author slug",
+ "description": "Facet field",
+ "enum": [
+ "app_id"
+ ],
"in": "query",
- "name": "slug",
+ "name": "facet",
+ "required": true,
"type": "string",
- "x-example": "peter-kafka"
+ "x-example": "app_id"
},
{
- "description": "Canonical businessinsider.com/author/ URL; alternative to slug",
+ "description": "Exact Steam app id",
"in": "query",
- "name": "url",
- "type": "string",
- "x-example": "https://www.businessinsider.com/author/peter-kafka"
+ "name": "app_id",
+ "type": "string"
+ },
+ {
+ "description": "Validated search sort; bucket order stays count-desc, and time-series date_desc keeps its search history scope",
+ "enum": [
+ "percent_desc",
+ "percent_asc",
+ "rank_asc"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Result page, 1-based",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, default 20 and max 100",
+ "in": "query",
+ "name": "page_size",
+ "type": "integer"
}
],
"produces": [
@@ -303326,7 +379326,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.businessInsiderAuthorResponseDoc"
+ "$ref": "#/definitions/datasets.datasetFacetResponseDoc"
}
},
"400": {
@@ -303335,14 +379335,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -303353,35 +379353,33 @@
"ApiKeyAuth": []
}
],
- "summary": "Get a Business Insider author profile",
+ "summary": "Discover Steam achievement app ids",
"tags": [
- "Business Insider"
+ "Datasets"
]
}
},
- "/businessinsider/headlines": {
+ "/datasets/steam-achievements/items/{app_id}/{name}": {
"get": {
- "description": "Returns fresh headlines for one Business Insider section. `section` is required and is one of `business`, `markets`, `technology`, `politics`, `strategy`, `finance`, `science`, `lifestyle` or `reviews`. Each item has a title and URL, and may also carry a summary, author, publication time and image.",
- "operationId": "businessinsider-headlines",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Retrieves one global achievement record by `appid` and `name` from `datasets_steam_achievements_search`.",
+ "operationId": "datasets-steam-achievements-item",
"parameters": [
{
- "description": "Business Insider section slug",
- "enum": [
- "business",
- "markets",
- "technology",
- "politics",
- "strategy",
- "finance",
- "science",
- "lifestyle",
- "reviews"
- ],
- "in": "query",
- "name": "section",
+ "description": "Steam app id",
+ "in": "path",
+ "name": "app_id",
"required": true,
- "type": "string",
- "x-example": "business"
+ "type": "string"
+ },
+ {
+ "description": "Achievement API name",
+ "in": "path",
+ "name": "name",
+ "required": true,
+ "type": "string"
}
],
"produces": [
@@ -303391,7 +379389,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.headlinesResponseDoc"
+ "$ref": "#/definitions/datasets.steamAchievementDatasetItemResponseDoc"
}
},
"400": {
@@ -303400,40 +379398,20 @@
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "404": {
+ "description": "Not Found",
"schema": {
"$ref": "#/definitions/app.Response"
}
- }
- },
- "security": [
- {
- "ApiKeyAuth": []
- }
- ],
- "summary": "Get Business Insider section headlines",
- "tags": [
- "Business Insider"
- ]
- }
- },
- "/businessinsider/news": {
- "get": {
- "description": "Returns the latest Business Insider top stories, with no input needed. Each item has a title and canonical URL, and may also carry a summary, author, publication time and image.",
- "operationId": "businessinsider-news",
- "produces": [
- "application/json"
- ],
- "responses": {
- "200": {
- "description": "OK",
+ },
+ "429": {
+ "description": "Too Many Requests",
"schema": {
- "$ref": "#/definitions/publicnews.newsResponseDoc"
+ "$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -303444,50 +379422,48 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Business Insider top stories",
+ "summary": "Get one stored Steam achievement",
"tags": [
- "Business Insider"
+ "Datasets"
]
}
},
- "/businessinsider/sections": {
+ "/datasets/steam-achievements/search": {
"get": {
- "description": "Lists the Business Insider editorial sections accepted by `businessinsider-headlines`, such as `business`, `markets` and `technology`. Each entry has a stable `slug`, a display `name` and the section's page `url`.",
- "operationId": "businessinsider-sections",
- "produces": [
+ "consumes": [
"application/json"
],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/publicnews.sectionsResponseDoc"
- }
- }
- },
- "security": [
- {
- "ApiKeyAuth": []
- }
- ],
- "summary": "Get Business Insider sections",
- "tags": [
- "Business Insider"
- ]
- }
- },
- "/businessstandard/article": {
- "get": {
- "description": "Returns public Business Standard article metadata and body paragraphs from a canonical article URL. A story Business Standard marks premium (subscriber-only) returns a permission error instead of a body.",
- "operationId": "businessstandard-article",
+ "description": "Searches per-game global achievement unlock percentages (one document per appid × achievement). Pass `app_id` to list a game's achievements. Sort enum: `percent_desc` (most-unlocked first, default), `percent_asc` (rarest first), `rank_asc`. Billing: this search costs 1 credit per record returned, with a minimum of 2 (an empty result costs 2, a full page of 100 costs 100).",
+ "operationId": "datasets-steam-achievements-search",
"parameters": [
{
- "description": "Canonical Business Standard article URL",
+ "description": "Exact Steam app id filter",
"in": "query",
- "name": "url",
- "required": true,
- "type": "string",
- "x-example": "https://www.business-standard.com/companies/news/example-article-slug-126092401169_1.html"
+ "name": "app_id",
+ "type": "string"
+ },
+ {
+ "description": "Sort enum: percent_desc, percent_asc, rank_asc",
+ "enum": [
+ "percent_desc",
+ "percent_asc",
+ "rank_asc"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Page number, defaults to 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, defaults to 20 and maxes at 100; page * page_size must be <= 10000",
+ "in": "query",
+ "name": "page_size",
+ "type": "integer"
}
],
"produces": [
@@ -303497,7 +379473,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.articleResponseDoc"
+ "$ref": "#/definitions/datasets.steamAchievementsSearchResponseDoc"
}
},
"400": {
@@ -303506,20 +379482,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "403": {
- "description": "Forbidden",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
- "404": {
- "description": "Not Found",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -303530,24 +379500,91 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Business Standard article content",
+ "summary": "Search steam-achievements dataset",
"tags": [
- "Business Standard"
+ "Datasets"
]
}
},
- "/businessstandard/author": {
+ "/datasets/steam-charts/facets": {
"get": {
- "description": "Returns a Business Standard author's profile from `url`, a canonical `https://www.business-standard.com/author/` address: name, designation, biography, image, and Twitter, Facebook, LinkedIn and YouTube links where listed, plus about 20 recent stories. Stories carry a title, URL and optionally summary, date and a `premium` flag for subscriber-only text. An unknown author returns `404`.",
- "operationId": "businessstandard-author",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns up to 50 Steam chart-facet buckets ordered by count, using the same filters as `datasets_steam_charts_search`. Page and page_size do not change the aggregation. A snapshot_date facet without date spans all history; other facets use the search date scope, including the latest-snapshot default when applicable and full history for app_id or date_desc sort.",
+ "operationId": "datasets-steam-charts-facets",
"parameters": [
{
- "description": "Canonical Business Standard author URL",
+ "description": "Facet field",
+ "enum": [
+ "chart",
+ "country",
+ "app_id",
+ "snapshot_date"
+ ],
"in": "query",
- "name": "url",
+ "name": "facet",
"required": true,
"type": "string",
- "x-example": "https://www.business-standard.com/author/sharleen-dsouza"
+ "x-example": "chart"
+ },
+ {
+ "description": "Full-text app name query",
+ "in": "query",
+ "name": "q",
+ "type": "string"
+ },
+ {
+ "description": "Chart enum: most_played, concurrent, top_sellers",
+ "enum": [
+ "most_played",
+ "concurrent",
+ "top_sellers"
+ ],
+ "in": "query",
+ "name": "chart",
+ "type": "string"
+ },
+ {
+ "description": "Storefront country for top sellers",
+ "in": "query",
+ "name": "country",
+ "type": "string"
+ },
+ {
+ "description": "Exact Steam app id",
+ "in": "query",
+ "name": "app_id",
+ "type": "string"
+ },
+ {
+ "description": "Snapshot date, yyyy-MM-dd",
+ "in": "query",
+ "name": "date",
+ "type": "string"
+ },
+ {
+ "description": "Validated search sort; bucket order stays count-desc, and time-series date_desc keeps its search history scope",
+ "enum": [
+ "rank",
+ "rank_desc",
+ "date_desc"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Result page, 1-based",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, default 20 and max 100",
+ "in": "query",
+ "name": "page_size",
+ "type": "integer"
}
],
"produces": [
@@ -303557,7 +379594,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.businessstandardAuthorResponseDoc"
+ "$ref": "#/definitions/datasets.datasetFacetResponseDoc"
}
},
"400": {
@@ -303566,14 +379603,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -303584,51 +379621,26 @@
"ApiKeyAuth": []
}
],
- "summary": "Get a Business Standard author profile",
+ "summary": "Discover values in the Steam charts dataset",
"tags": [
- "Business Standard"
+ "Datasets"
]
}
},
- "/businessstandard/headlines": {
+ "/datasets/steam-charts/items/{chart_uid}": {
"get": {
- "description": "Returns recent headlines for one Business Standard section: up to 35 stories, or 100 for `latest-news`. `section` is required and takes one of 25 slugs such as `companies`, `markets`, `cricket` or `todays-paper`. Some stories are premium (subscriber-only), and requesting one from the article endpoint returns `403`.",
- "operationId": "businessstandard-headlines",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Retrieves one Steam chart snapshot row by `chart_uid` from `datasets_steam_charts_search`.",
+ "operationId": "datasets-steam-charts-item",
"parameters": [
{
- "description": "Business Standard section slug",
- "enum": [
- "latest-news",
- "companies",
- "economy",
- "finance",
- "opinion",
- "markets",
- "technology",
- "specials",
- "budget",
- "elections",
- "politics",
- "education",
- "health",
- "sports",
- "entertainment",
- "lifestyle",
- "india-news",
- "industry",
- "cricket",
- "book",
- "world-news",
- "external-affairs-defence-security",
- "immigration",
- "blueprint-defence-magazine",
- "todays-paper"
- ],
- "in": "query",
- "name": "section",
+ "description": "Exact chart_uid from a search result",
+ "in": "path",
+ "name": "chart_uid",
"required": true,
- "type": "string",
- "x-example": "latest-news"
+ "type": "string"
}
],
"produces": [
@@ -303638,7 +379650,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.headlinesResponseDoc"
+ "$ref": "#/definitions/datasets.steamChartDatasetItemResponseDoc"
}
},
"400": {
@@ -303647,37 +379659,11 @@
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "404": {
+ "description": "Not Found",
"schema": {
"$ref": "#/definitions/app.Response"
}
- }
- },
- "security": [
- {
- "ApiKeyAuth": []
- }
- ],
- "summary": "Get Business Standard section headlines",
- "tags": [
- "Business Standard"
- ]
- }
- },
- "/businessstandard/news": {
- "get": {
- "description": "Returns Business Standard top stories from its home page, with no input needed: title, canonical URL and, where present, publication time, summary, author and image. Some listed stories are premium (subscriber-only), and requesting one from the article endpoint returns `403`.",
- "operationId": "businessstandard-news",
- "produces": [
- "application/json"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/publicnews.newsResponseDoc"
- }
},
"429": {
"description": "Too Many Requests",
@@ -303685,8 +379671,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -303697,53 +379683,77 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Business Standard top stories",
- "tags": [
- "Business Standard"
- ]
- }
- },
- "/businessstandard/sections": {
- "get": {
- "description": "Lists the 25 Business Standard section slugs accepted by `businessstandard-headlines`, from `latest-news`, `companies` and `markets` to `cricket`, `immigration` and `todays-paper`. Each entry has a `slug`, a display `name` and the section's page `url`.",
- "operationId": "businessstandard-sections",
- "produces": [
- "application/json"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/publicnews.sectionsResponseDoc"
- }
- }
- },
- "security": [
- {
- "ApiKeyAuth": []
- }
- ],
- "summary": "Get Business Standard sections",
+ "summary": "Get one stored Steam chart row",
"tags": [
- "Business Standard"
+ "Datasets"
]
}
},
- "/capterra/product": {
+ "/datasets/steam-charts/search": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns a Capterra product profile: name, description, category, and aggregate rating.",
- "operationId": "capterra-product",
+ "description": "Searches daily snapshots of Steam's player-count and sales charts, stored in a search index (one document per chart × country × snapshot × rank) so history accumulates. Charts: `most_played` (weekly peak concurrent), `concurrent` (live concurrent players), `top_sellers` (weekly sales; country-specific). With no `date` the latest snapshot is returned (today's chart); pair `app_id` with `sort=date_desc` for an app's rank/players over time. Country is `global` for the player-count charts or an ISO code (e.g. `us`) for `top_sellers`. Sort enum: `rank`, `rank_desc`, `date_desc`. Billing: this search costs 1 credit per record returned, with a minimum of 2 (an empty result costs 2, a full page of 100 costs 100).",
+ "operationId": "datasets-steam-charts-search",
"parameters": [
{
- "description": "Capterra product id (the numeric id in a /p/{id}/{slug}/ URL)",
+ "description": "Full-text query over the game name, max 256 characters",
"in": "query",
- "name": "product_id",
- "required": true,
- "type": "string",
- "x-example": "135003"
+ "name": "q",
+ "type": "string"
+ },
+ {
+ "description": "Chart enum: most_played, concurrent, top_sellers",
+ "enum": [
+ "most_played",
+ "concurrent",
+ "top_sellers"
+ ],
+ "in": "query",
+ "name": "chart",
+ "type": "string"
+ },
+ {
+ "description": "Market filter: global (player-count charts) or an ISO country code (top_sellers), max 128 characters",
+ "in": "query",
+ "name": "country",
+ "type": "string"
+ },
+ {
+ "description": "Exact Steam app id filter; pair with sort=date_desc for rank/players history",
+ "in": "query",
+ "name": "app_id",
+ "type": "string"
+ },
+ {
+ "description": "Snapshot date filter yyyy-MM-dd; defaults to the latest snapshot",
+ "in": "query",
+ "name": "date",
+ "type": "string"
+ },
+ {
+ "description": "Sort enum: rank, rank_desc, date_desc",
+ "enum": [
+ "rank",
+ "rank_desc",
+ "date_desc"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Page number, defaults to 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, defaults to 20 and maxes at 100; page * page_size must be <= 10000",
+ "in": "query",
+ "name": "page_size",
+ "type": "integer"
}
],
"produces": [
@@ -303753,7 +379763,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/capterra.productResponseDoc"
+ "$ref": "#/definitions/datasets.steamChartsSearchResponseDoc"
}
},
"400": {
@@ -303762,8 +379772,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -303773,12 +379783,6 @@
"schema": {
"$ref": "#/definitions/app.Response"
}
- },
- "503": {
- "description": "Service Unavailable",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
}
},
"security": [
@@ -303786,34 +379790,222 @@
"ApiKeyAuth": []
}
],
- "summary": "Get a Capterra product",
+ "summary": "Search the steam-charts dataset",
"tags": [
- "Capterra"
+ "Datasets"
]
}
},
- "/capterra/product/reviews": {
+ "/datasets/steam-games/facets": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns a page of Capterra reviews (author, headline, rating) plus the product's aggregate rating.",
- "operationId": "capterra-reviews",
+ "description": "Returns terms aggregation counts for the Steam games dataset. Facet enum: `type`, `developer`, `publisher`, `genres`, `categories`, `tags`, `primary_tag`, `price_tier`, `review_tier`, `owners_bucket`, `release_year`, `run_id`, `is_free`, `coming_soon`, `platform_windows`, `platform_mac`, `platform_linux`. price_tier enum: `free`, `under5`, `5to15`, `15to30`, `30to60`, `over60`. review_tier enum: `overwhelmingly_positive`, `very_positive`, `positive`, `mostly_positive`, `mixed`, `mostly_negative`, `negative`, `very_negative`, `overwhelmingly_negative`, `insufficient`.",
+ "operationId": "datasets-steam-games-facets",
"parameters": [
{
- "description": "Capterra product id (the numeric id in a /p/{id}/{slug}/ URL)",
+ "description": "Facet enum: type, developer, publisher, genres, categories, tags, primary_tag, price_tier, review_tier, owners_bucket, release_year, run_id, is_free, coming_soon, platform_windows, platform_mac, platform_linux",
+ "enum": [
+ "type",
+ "developer",
+ "publisher",
+ "genres",
+ "categories",
+ "tags",
+ "primary_tag",
+ "price_tier",
+ "review_tier",
+ "owners_bucket",
+ "release_year",
+ "run_id",
+ "is_free",
+ "coming_soon",
+ "platform_windows",
+ "platform_mac",
+ "platform_linux"
+ ],
"in": "query",
- "name": "product_id",
+ "name": "facet",
"required": true,
"type": "string",
- "x-example": "135003"
+ "x-example": "type"
},
{
- "description": "Page number (default 1)",
+ "description": "Full-text query over name, developer and publisher, max 256 characters",
"in": "query",
- "name": "page",
- "type": "integer",
- "x-example": 1
+ "name": "q",
+ "type": "string"
+ },
+ {
+ "description": "Exact storefront type filter, max 128 characters",
+ "in": "query",
+ "name": "type",
+ "type": "string"
+ },
+ {
+ "description": "Exact developer filter, max 128 characters",
+ "in": "query",
+ "name": "developer",
+ "type": "string"
+ },
+ {
+ "description": "Exact publisher filter, max 128 characters",
+ "in": "query",
+ "name": "publisher",
+ "type": "string"
+ },
+ {
+ "description": "Exact genre filter, max 128 characters",
+ "in": "query",
+ "name": "genre",
+ "type": "string"
+ },
+ {
+ "description": "Exact store category filter, max 128 characters",
+ "in": "query",
+ "name": "category",
+ "type": "string"
+ },
+ {
+ "description": "Exact community-tag filter (e.g. Roguelike, Cozy), max 128 characters",
+ "in": "query",
+ "name": "tag",
+ "type": "string"
+ },
+ {
+ "description": "Price-tier enum: free, under5, 5to15, 15to30, 30to60, over60",
+ "enum": [
+ "free",
+ "under5",
+ "5to15",
+ "15to30",
+ "30to60",
+ "over60"
+ ],
+ "in": "query",
+ "name": "price_tier",
+ "type": "string"
+ },
+ {
+ "description": "Review-tier enum: overwhelmingly_positive, very_positive, positive, mostly_positive, mixed, mostly_negative, negative, very_negative, overwhelmingly_negative, insufficient",
+ "enum": [
+ "overwhelmingly_positive",
+ "very_positive",
+ "positive",
+ "mostly_positive",
+ "mixed",
+ "mostly_negative",
+ "negative",
+ "very_negative",
+ "overwhelmingly_negative",
+ "insufficient"
+ ],
+ "in": "query",
+ "name": "review_tier",
+ "type": "string"
+ },
+ {
+ "description": "Exact SteamSpy owners-range bucket filter, max 128 characters",
+ "in": "query",
+ "name": "owners_bucket",
+ "type": "string"
+ },
+ {
+ "description": "Exact crawl run-id filter, max 128 characters",
+ "in": "query",
+ "name": "run_id",
+ "type": "string"
+ },
+ {
+ "description": "Filter by free-to-play flag",
+ "in": "query",
+ "name": "is_free",
+ "type": "boolean"
+ },
+ {
+ "description": "Filter by Windows support",
+ "in": "query",
+ "name": "windows",
+ "type": "boolean"
+ },
+ {
+ "description": "Filter by macOS support",
+ "in": "query",
+ "name": "mac",
+ "type": "boolean"
+ },
+ {
+ "description": "Filter by Linux support",
+ "in": "query",
+ "name": "linux",
+ "type": "boolean"
+ },
+ {
+ "description": "Filter by titles currently discounted (discount_pct > 0)",
+ "in": "query",
+ "name": "on_sale",
+ "type": "boolean"
+ },
+ {
+ "description": "Minimum current price in cents",
+ "in": "query",
+ "name": "min_price_cents",
+ "type": "integer"
+ },
+ {
+ "description": "Maximum current price in cents",
+ "in": "query",
+ "name": "max_price_cents",
+ "type": "integer"
+ },
+ {
+ "description": "Minimum estimated owners (SteamSpy owners midpoint)",
+ "in": "query",
+ "name": "min_owners",
+ "type": "integer"
+ },
+ {
+ "description": "Minimum positive review count",
+ "in": "query",
+ "name": "min_positive",
+ "type": "integer"
+ },
+ {
+ "description": "Minimum total review count",
+ "in": "query",
+ "name": "min_total_reviews",
+ "type": "integer"
+ },
+ {
+ "description": "Minimum positive-review ratio, 0 through 1",
+ "in": "query",
+ "name": "min_review_score",
+ "type": "number"
+ },
+ {
+ "description": "Minimum Metacritic score, 0 through 100",
+ "in": "query",
+ "name": "min_metacritic",
+ "type": "integer"
+ },
+ {
+ "description": "Minimum peak concurrent users yesterday",
+ "in": "query",
+ "name": "min_ccu",
+ "type": "integer"
+ },
+ {
+ "description": "Minimum release year",
+ "in": "query",
+ "name": "min_release_year",
+ "type": "integer"
+ },
+ {
+ "description": "Maximum release year",
+ "in": "query",
+ "name": "max_release_year",
+ "type": "integer"
}
],
"produces": [
@@ -303823,7 +380015,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/capterra.reviewsResponseDoc"
+ "$ref": "#/definitions/datasets.steamGamesFacetResponseDoc"
}
},
"400": {
@@ -303832,8 +380024,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -303843,12 +380035,6 @@
"schema": {
"$ref": "#/definitions/app.Response"
}
- },
- "503": {
- "description": "Service Unavailable",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
}
},
"security": [
@@ -303856,27 +380042,27 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Capterra product reviews",
+ "summary": "Facet the Steam games dataset",
"tags": [
- "Capterra"
+ "Datasets"
]
}
},
- "/capterra/search": {
+ "/datasets/steam-games/items/{appid}": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns Capterra search-result products (id, name, url, description, rating). Note: Capterra renders a fallback product list even for queries with no genuine match, rather than a distinct empty-results page, so callers should treat low-relevance results as an upstream characteristic, not a bug.",
- "operationId": "capterra-search",
+ "description": "Returns one Steam game from the `steam-games` dataset by numeric appid: name, developers and publishers, genres and categories, price and discount, supported platforms, positive and negative review counts, owner estimates, average and median playtime, concurrent players, Metacritic score and language count. It reads the stored dataset and does not trigger a live scrape; an appid that is not in the dataset returns `404`.",
+ "operationId": "datasets-steam-games-item",
"parameters": [
{
- "description": "Search query",
- "in": "query",
- "name": "q",
+ "description": "Steam app id",
+ "in": "path",
+ "name": "appid",
"required": true,
- "type": "string",
- "x-example": "slack"
+ "type": "integer",
+ "x-example": 620
}
],
"produces": [
@@ -303886,7 +380072,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/capterra.searchResponseDoc"
+ "$ref": "#/definitions/datasets.steamGameResponseDoc"
}
},
"400": {
@@ -303895,14 +380081,20 @@
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "404": {
+ "description": "Not Found",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -303913,89 +380105,225 @@
"ApiKeyAuth": []
}
],
- "summary": "Search Capterra products",
+ "summary": "Get a Steam game from the dataset",
"tags": [
- "Capterra"
+ "Datasets"
]
}
},
- "/carmax/search": {
+ "/datasets/steam-games/search": {
"get": {
"consumes": [
"application/json"
],
- "description": "Searches CarMax for used car listings, returning vehicle summaries (make, model, trim, year, mileage, colors, engine, fuel economy, pricing, store, images), available search facets with live counts, and the total matching count.",
- "operationId": "carmax-search",
+ "description": "Searches enriched public Steam catalog records stored in a search index. price_tier enum: `free`, `under5`, `5to15`, `15to30`, `30to60`, `over60`. review_tier enum: `overwhelmingly_positive`, `very_positive`, `positive`, `mostly_positive`, `mixed`, `mostly_negative`, `negative`, `very_negative`, `overwhelmingly_negative`, `insufficient`. Sort enum: `relevance`, `owners_desc`, `reviews_desc`, `review_score_desc`, `ccu_desc`, `metacritic_desc`, `price_asc`, `price_desc`, `release_desc`, `release_asc`. Billing: this search costs 1 credit per record returned, with a minimum of 2 (an empty result costs 2, a full page of 100 costs 100).",
+ "operationId": "datasets-steam-games-search",
"parameters": [
{
- "description": "CarMax make, e.g. honda, Toyota, BMW (case-insensitive)",
+ "description": "Full-text query over name, developer and publisher, max 256 characters",
"in": "query",
- "name": "make",
- "type": "string",
- "x-example": "honda"
+ "name": "q",
+ "type": "string"
+ },
+ {
+ "description": "Exact storefront type filter (e.g. game, dlc, demo), max 128 characters",
+ "in": "query",
+ "name": "type",
+ "type": "string"
+ },
+ {
+ "description": "Exact developer filter, max 128 characters",
+ "in": "query",
+ "name": "developer",
+ "type": "string"
+ },
+ {
+ "description": "Exact publisher filter, max 128 characters",
+ "in": "query",
+ "name": "publisher",
+ "type": "string"
+ },
+ {
+ "description": "Exact genre filter (e.g. Action, Indie), max 128 characters",
+ "in": "query",
+ "name": "genre",
+ "type": "string"
+ },
+ {
+ "description": "Exact store category filter (e.g. Single-player), max 128 characters",
+ "in": "query",
+ "name": "category",
+ "type": "string"
+ },
+ {
+ "description": "Exact community-tag filter (e.g. Roguelike, Metroidvania, Cozy), max 128 characters",
+ "in": "query",
+ "name": "tag",
+ "type": "string"
+ },
+ {
+ "description": "Price-tier enum: free, under5, 5to15, 15to30, 30to60, over60",
+ "enum": [
+ "free",
+ "under5",
+ "5to15",
+ "15to30",
+ "30to60",
+ "over60"
+ ],
+ "in": "query",
+ "name": "price_tier",
+ "type": "string"
+ },
+ {
+ "description": "Review-tier enum: overwhelmingly_positive, very_positive, positive, mostly_positive, mixed, mostly_negative, negative, very_negative, overwhelmingly_negative, insufficient",
+ "enum": [
+ "overwhelmingly_positive",
+ "very_positive",
+ "positive",
+ "mostly_positive",
+ "mixed",
+ "mostly_negative",
+ "negative",
+ "very_negative",
+ "overwhelmingly_negative",
+ "insufficient"
+ ],
+ "in": "query",
+ "name": "review_tier",
+ "type": "string"
+ },
+ {
+ "description": "Exact SteamSpy owners-range bucket filter, max 128 characters",
+ "in": "query",
+ "name": "owners_bucket",
+ "type": "string"
+ },
+ {
+ "description": "Exact crawl run-id filter, max 128 characters",
+ "in": "query",
+ "name": "run_id",
+ "type": "string"
+ },
+ {
+ "description": "Filter by free-to-play flag",
+ "in": "query",
+ "name": "is_free",
+ "type": "boolean"
+ },
+ {
+ "description": "Filter by Windows support",
+ "in": "query",
+ "name": "windows",
+ "type": "boolean"
+ },
+ {
+ "description": "Filter by macOS support",
+ "in": "query",
+ "name": "mac",
+ "type": "boolean"
+ },
+ {
+ "description": "Filter by Linux support",
+ "in": "query",
+ "name": "linux",
+ "type": "boolean"
+ },
+ {
+ "description": "Filter by titles currently discounted (discount_pct > 0)",
+ "in": "query",
+ "name": "on_sale",
+ "type": "boolean"
+ },
+ {
+ "description": "Minimum current price in cents",
+ "in": "query",
+ "name": "min_price_cents",
+ "type": "integer"
+ },
+ {
+ "description": "Maximum current price in cents",
+ "in": "query",
+ "name": "max_price_cents",
+ "type": "integer"
+ },
+ {
+ "description": "Minimum estimated owners (SteamSpy owners midpoint)",
+ "in": "query",
+ "name": "min_owners",
+ "type": "integer"
},
{
- "description": "CarMax model, e.g. civic (case-insensitive). Does not require make",
+ "description": "Minimum positive review count",
"in": "query",
- "name": "model",
- "type": "string",
- "x-example": "civic"
+ "name": "min_positive",
+ "type": "integer"
},
{
- "description": "5-digit US ZIP code to bias results toward CarMax's nearest store",
+ "description": "Minimum total review count",
"in": "query",
- "name": "zip",
- "type": "string",
- "x-example": "90210"
+ "name": "min_total_reviews",
+ "type": "integer"
},
{
- "description": "Sort order: bestmatch, distance-asc, price-asc, price-desc, mileage-asc, mileage-desc, year-desc, year-asc, newarrival. Defaults to bestmatch",
+ "description": "Minimum positive-review ratio, 0 through 1",
"in": "query",
- "name": "sort",
- "type": "string",
- "x-example": "price-asc"
+ "name": "min_review_score",
+ "type": "number"
},
{
- "description": "Minimum model year",
+ "description": "Minimum Metacritic score, 0 through 100",
"in": "query",
- "name": "min_year",
- "type": "integer",
- "x-example": 2020
+ "name": "min_metacritic",
+ "type": "integer"
},
{
- "description": "Maximum model year",
+ "description": "Minimum peak concurrent users yesterday",
"in": "query",
- "name": "max_year",
- "type": "integer",
- "x-example": 2024
+ "name": "min_ccu",
+ "type": "integer"
},
{
- "description": "Minimum price in US dollars",
+ "description": "Minimum release year",
"in": "query",
- "name": "min_price",
- "type": "integer",
- "x-example": 15000
+ "name": "min_release_year",
+ "type": "integer"
},
{
- "description": "Maximum price in US dollars",
+ "description": "Maximum release year",
"in": "query",
- "name": "max_price",
- "type": "integer",
- "x-example": 30000
+ "name": "max_release_year",
+ "type": "integer"
},
{
- "description": "Maximum odometer mileage",
+ "description": "Sort enum: relevance, owners_desc, reviews_desc, review_score_desc, ccu_desc, metacritic_desc, price_asc, price_desc, release_desc, release_asc",
+ "enum": [
+ "relevance",
+ "owners_desc",
+ "reviews_desc",
+ "review_score_desc",
+ "ccu_desc",
+ "metacritic_desc",
+ "price_asc",
+ "price_desc",
+ "release_desc",
+ "release_asc"
+ ],
"in": "query",
- "name": "max_mileage",
- "type": "integer",
- "x-example": 60000
+ "name": "sort",
+ "type": "string"
},
{
- "description": "1-indexed result page, defaults to 1. CarMax returns 48 results per page",
+ "description": "Page number, defaults to 1",
"in": "query",
"name": "page",
- "type": "integer",
- "x-example": 1
+ "type": "integer"
+ },
+ {
+ "description": "Page size, defaults to 20 and maxes at 100; page * page_size must be <= 10000",
+ "in": "query",
+ "name": "page_size",
+ "type": "integer"
}
],
"produces": [
@@ -304005,7 +380333,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/carmax.searchResponseDoc"
+ "$ref": "#/definitions/datasets.steamGamesSearchResponseDoc"
}
},
"400": {
@@ -304014,14 +380342,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -304032,34 +380360,64 @@
"ApiKeyAuth": []
}
],
- "summary": "Search CarMax vehicle listings",
+ "summary": "Search the Steam games dataset",
"tags": [
- "CarMax"
+ "Datasets"
]
}
},
- "/carmax/search/suggestions": {
+ "/datasets/steam-news/facets": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns autocomplete suggestions for a partial search term (make/model/trim), typo-tolerant by default.",
- "operationId": "carmax-search-suggestions",
+ "description": "Returns up to 50 Steam news app-id buckets ordered by count, using the same full-text query and app_id filter as `datasets_steam_news_search`. Page and page_size do not change the aggregation.",
+ "operationId": "datasets-steam-news-facets",
"parameters": [
{
- "description": "Free-text partial search term to get autocomplete suggestions for",
+ "description": "Facet field",
+ "enum": [
+ "app_id"
+ ],
"in": "query",
- "name": "search",
+ "name": "facet",
"required": true,
"type": "string",
- "x-example": "civ"
+ "x-example": "app_id"
},
{
- "description": "Disable fuzzy/typo-tolerant matching -- require an exact prefix match. Defaults to false",
+ "description": "Full-text news-title/body query",
"in": "query",
- "name": "exact_match",
- "type": "boolean",
- "x-example": false
+ "name": "q",
+ "type": "string"
+ },
+ {
+ "description": "Exact Steam app id",
+ "in": "query",
+ "name": "app_id",
+ "type": "string"
+ },
+ {
+ "description": "Validated search sort; bucket order stays count-desc, and time-series date_desc keeps its search history scope",
+ "enum": [
+ "date_desc",
+ "date_asc"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Result page, 1-based",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, default 20 and max 100",
+ "in": "query",
+ "name": "page_size",
+ "type": "integer"
}
],
"produces": [
@@ -304069,7 +380427,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/carmax.searchSuggestionsResponseDoc"
+ "$ref": "#/definitions/datasets.datasetFacetResponseDoc"
}
},
"400": {
@@ -304078,58 +380436,17 @@
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
- "503": {
- "description": "Service Unavailable",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
- }
- },
- "security": [
- {
- "ApiKeyAuth": []
- }
- ],
- "summary": "Get CarMax search autocomplete suggestions",
- "tags": [
- "CarMax"
- ]
- }
- },
- "/carmax/shop-by-brand": {
- "get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns CarMax's full make taxonomy for browsing by brand: every make, a display image, and CarMax's own display order.",
- "operationId": "carmax-shop-by-brand",
- "produces": [
- "application/json"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/carmax.shopByBrandResponseDoc"
- }
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
- },
- "503": {
- "description": "Service Unavailable",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
}
},
"security": [
@@ -304137,27 +380454,33 @@
"ApiKeyAuth": []
}
],
- "summary": "Get CarMax's \"shop by brand\" make taxonomy",
+ "summary": "Discover Steam news app ids",
"tags": [
- "CarMax"
+ "Datasets"
]
}
},
- "/carmax/store/{id}": {
+ "/datasets/steam-news/items/{app_id}/{gid}": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns a CarMax store: name, full address, phone numbers, coordinates, opening hours, and store-type flags (car buying center, microstore).",
- "operationId": "carmax-store",
+ "description": "Retrieves one Steam announcement by the `appid` and `gid` fields returned by `datasets_steam_news_search`.",
+ "operationId": "datasets-steam-news-item",
"parameters": [
{
- "description": "CarMax store id, the numeric path segment of a /stores/{id} URL",
+ "description": "Steam app id",
"in": "path",
- "name": "id",
+ "name": "app_id",
"required": true,
- "type": "string",
- "x-example": "7124"
+ "type": "string"
+ },
+ {
+ "description": "Steam news gid",
+ "in": "path",
+ "name": "gid",
+ "required": true,
+ "type": "string"
}
],
"produces": [
@@ -304167,7 +380490,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/carmax.StoreResponse"
+ "$ref": "#/definitions/datasets.steamNewsDatasetItemResponseDoc"
}
},
"400": {
@@ -304182,14 +380505,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -304200,40 +380523,53 @@
"ApiKeyAuth": []
}
],
- "summary": "Get CarMax store (physical location) detail",
+ "summary": "Get one stored Steam news item",
"tags": [
- "CarMax"
+ "Datasets"
]
}
},
- "/carmax/stores": {
+ "/datasets/steam-news/search": {
"get": {
"consumes": [
"application/json"
],
- "description": "Searches CarMax's physical store locations by ZIP code or free-text keyword, returning stores with full address, every published phone number, opening hours, and (for a ZIP-based search) live driving distance in miles.",
- "operationId": "carmax-stores",
+ "description": "Searches Steam news + announcements for tracked apps (one document per appid × gid; the latest items per app are kept). Filter by `app_id` for a single game's news, or full-text `q` over the title + contents. Sort enum: `date_desc` (newest first, default), `date_asc`. Billing: this search costs 1 credit per record returned, with a minimum of 2 (an empty result costs 2, a full page of 100 costs 100).",
+ "operationId": "datasets-steam-news-search",
"parameters": [
{
- "description": "5-digit US ZIP code to search near. Triggers a live geo-distance sort. Provide this or keyword; zip takes precedence if both are given",
+ "description": "Full-text query over the news title + contents, max 256 characters",
"in": "query",
- "name": "zip",
- "type": "string",
- "x-example": "90210"
+ "name": "q",
+ "type": "string"
},
{
- "description": "Free-text match against store name or city",
+ "description": "Exact Steam app id filter",
"in": "query",
- "name": "keyword",
- "type": "string",
- "x-example": "Richmond"
+ "name": "app_id",
+ "type": "string"
},
{
- "description": "Maximum number of stores to return, defaults to 10, capped at 300",
+ "description": "Sort enum: date_desc, date_asc",
+ "enum": [
+ "date_desc",
+ "date_asc"
+ ],
"in": "query",
- "name": "take",
- "type": "integer",
- "x-example": 10
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Page number, defaults to 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, defaults to 20 and maxes at 100; page * page_size must be <= 10000",
+ "in": "query",
+ "name": "page_size",
+ "type": "integer"
}
],
"produces": [
@@ -304243,7 +380579,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/carmax.storeSearchResponseDoc"
+ "$ref": "#/definitions/datasets.steamNewsSearchResponseDoc"
}
},
"400": {
@@ -304252,14 +380588,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -304270,34 +380606,66 @@
"ApiKeyAuth": []
}
],
- "summary": "Search CarMax store (physical location) locations",
+ "summary": "Search the steam-news dataset",
"tags": [
- "CarMax"
+ "Datasets"
]
}
},
- "/carmax/vehicle/{stock_number}": {
+ "/datasets/steam-playercounts/facets": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns a CarMax vehicle listing: full vehicle spec (make, model, trim, mileage, colors, engine, transmission, fuel economy, pricing), equipment features, labeled specifications, warranty coverage, accident/owner history, and CarMax's return guarantee terms.",
- "operationId": "carmax-vehicle",
+ "description": "Returns up to 50 Steam player-count facet buckets ordered by count, using the same filters as `datasets_steam_playercounts_search`. The search and snapshot_date facet cover stored history by default; supplying date scopes counts to that day. Page and page_size do not change the aggregation.",
+ "operationId": "datasets-steam-playercounts-facets",
"parameters": [
{
- "description": "CarMax stock number, the numeric path segment of a /car/{stock_number} URL",
- "in": "path",
- "name": "stock_number",
+ "description": "Facet field",
+ "enum": [
+ "app_id",
+ "snapshot_date"
+ ],
+ "in": "query",
+ "name": "facet",
"required": true,
"type": "string",
- "x-example": "28187774"
+ "x-example": "snapshot_date"
},
{
- "description": "Optional CarMax store id for pricing/transfer-fee display context. Defaults to a fixed CarMax store when omitted",
+ "description": "Exact Steam app id",
"in": "query",
- "name": "store_id",
- "type": "string",
- "x-example": "7124"
+ "name": "app_id",
+ "type": "string"
+ },
+ {
+ "description": "Snapshot date, yyyy-MM-dd",
+ "in": "query",
+ "name": "date",
+ "type": "string"
+ },
+ {
+ "description": "Validated search sort; bucket order stays count-desc, and time-series date_desc keeps its search history scope",
+ "enum": [
+ "date_desc",
+ "date_asc",
+ "players_desc"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Result page, 1-based",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, default 20 and max 100",
+ "in": "query",
+ "name": "page_size",
+ "type": "integer"
}
],
"produces": [
@@ -304307,7 +380675,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/carmax.VehicleResponse"
+ "$ref": "#/definitions/datasets.datasetFacetResponseDoc"
}
},
"400": {
@@ -304316,8 +380684,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -304327,12 +380695,6 @@
"schema": {
"$ref": "#/definitions/app.Response"
}
- },
- "503": {
- "description": "Service Unavailable",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
}
},
"security": [
@@ -304340,35 +380702,33 @@
"ApiKeyAuth": []
}
],
- "summary": "Get CarMax vehicle listing detail",
+ "summary": "Discover Steam player-count app and date values",
"tags": [
- "CarMax"
+ "Datasets"
]
}
},
- "/carmax/vehicle/{stock_number}/recommendations": {
+ "/datasets/steam-playercounts/items/{app_id}/{snapshot_date}": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns CarMax's own similar-vehicle recommendations for a listing: stock number, description, display mileage/price, store location, and image, for vehicles CarMax considers comparable. An empty list is a normal result, not an error.",
- "operationId": "carmax-vehicle-recommendations",
+ "description": "Retrieves one daily concurrent-player record using `appid` and `snapshot_date` from `datasets_steam_playercounts_search`.",
+ "operationId": "datasets-steam-playercounts-item",
"parameters": [
{
- "description": "CarMax stock number to find similar vehicles for, the numeric path segment of a /car/{stock_number} URL",
+ "description": "Steam app id",
"in": "path",
- "name": "stock_number",
+ "name": "app_id",
"required": true,
- "type": "string",
- "x-example": "28187774"
+ "type": "string"
},
{
- "description": "CarMax store id used as the recommendation's location context. See any search/vehicle/store response's store id field",
- "in": "query",
- "name": "store_id",
+ "description": "Snapshot date, yyyy-MM-dd",
+ "in": "path",
+ "name": "snapshot_date",
"required": true,
- "type": "string",
- "x-example": "7124"
+ "type": "string"
}
],
"produces": [
@@ -304378,7 +380738,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/carmax.vehicleRecommendationsResponseDoc"
+ "$ref": "#/definitions/datasets.steamPlayerCountDatasetItemResponseDoc"
}
},
"400": {
@@ -304387,14 +380747,20 @@
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "404": {
+ "description": "Not Found",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -304405,53 +380771,54 @@
"ApiKeyAuth": []
}
],
- "summary": "Get CarMax \"similar vehicles\" recommendations for a listing",
+ "summary": "Get one stored Steam player-count point",
"tags": [
- "CarMax"
+ "Datasets"
]
}
},
- "/carsdotcom/search": {
+ "/datasets/steam-playercounts/search": {
"get": {
"consumes": [
"application/json"
],
- "description": "Searches Cars.com for new and used car listings, returning vehicle summaries (make, model, trim, year, mileage, exterior color, drivetrain, fuel type, pricing, seller, images) plus the total matching count.",
- "operationId": "carsdotcom-search",
+ "description": "Searches the daily concurrent-player time series for tracked games (one document per appid × day). Pair `app_id` with `sort=date_desc` for a game's player-count history, or pass `date` for one day's snapshot. Sort enum: `date_desc` (default), `date_asc`, `players_desc`. Billing: this search costs 1 credit per record returned, with a minimum of 2 (an empty result costs 2, a full page of 100 costs 100).",
+ "operationId": "datasets-steam-playercounts-search",
"parameters": [
{
- "description": "5-digit US ZIP code to search around",
+ "description": "Exact Steam app id filter",
"in": "query",
- "name": "zip",
- "type": "string",
- "x-example": "90210"
+ "name": "app_id",
+ "type": "string"
},
{
- "description": "Search radius in miles around zip",
+ "description": "Snapshot date filter yyyy-MM-dd",
"in": "query",
- "name": "radius",
- "type": "integer",
- "x-example": 50
+ "name": "date",
+ "type": "string"
},
{
- "description": "Listing condition. Allowed values: new, used, cpo, all",
+ "description": "Sort enum: date_desc, date_asc, players_desc",
"enum": [
- "new",
- "used",
- "cpo",
- "all"
+ "date_desc",
+ "date_asc",
+ "players_desc"
],
"in": "query",
- "name": "stock_type",
- "type": "string",
- "x-example": "used"
+ "name": "sort",
+ "type": "string"
},
{
- "description": "1-indexed result page, defaults to 1. Cars.com returns 24 results per page",
+ "description": "Page number, defaults to 1",
"in": "query",
"name": "page",
- "type": "integer",
- "x-example": 1
+ "type": "integer"
+ },
+ {
+ "description": "Page size, defaults to 20 and maxes at 100; page * page_size must be <= 10000",
+ "in": "query",
+ "name": "page_size",
+ "type": "integer"
}
],
"produces": [
@@ -304461,7 +380828,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/carsdotcom.searchResponseDoc"
+ "$ref": "#/definitions/datasets.steamPlayerCountsSearchResponseDoc"
}
},
"400": {
@@ -304470,14 +380837,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -304488,27 +380855,68 @@
"ApiKeyAuth": []
}
],
- "summary": "Search Cars.com vehicle listings",
+ "summary": "Search steam-playercounts dataset",
"tags": [
- "Cars.com"
+ "Datasets"
]
}
},
- "/carsdotcom/vehicle/{listing_id}": {
+ "/datasets/steam-prices/facets": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns a Cars.com vehicle listing: full vehicle spec (make, model, trim, mileage, colors, engine, transmission, fuel economy, a key-specs table), Cars.com's own deal-fairness rating and predicted fair price, categorized equipment features, an AutoCheck-derived vehicle history report, Cars.com's own price-change history, the seller's notes, dealer detail (name, rating, address, website, phones, hours) or private-seller detail for a for-sale-by-owner listing, and certified-pre-owned/manufacturer-program detail when applicable.",
- "operationId": "carsdotcom-vehicle",
+ "description": "Returns up to 50 Steam price-history facet buckets ordered by count, using the same filters as `datasets_steam_prices_search`. The search and snapshot_date facet cover stored history by default; supplying date scopes counts to that day. Page and page_size do not change the aggregation.",
+ "operationId": "datasets-steam-prices-facets",
"parameters": [
{
- "description": "Cars.com listing id (a UUID), the path segment of a /vehicledetail/{listing_id}/ URL",
- "in": "path",
- "name": "listing_id",
+ "description": "Facet field",
+ "enum": [
+ "app_id",
+ "snapshot_date"
+ ],
+ "in": "query",
+ "name": "facet",
"required": true,
"type": "string",
- "x-example": "a6ea5d6f-0395-4f9d-94d5-724c4d7414de"
+ "x-example": "snapshot_date"
+ },
+ {
+ "description": "Exact Steam app id",
+ "in": "query",
+ "name": "app_id",
+ "type": "string"
+ },
+ {
+ "description": "Snapshot date, yyyy-MM-dd",
+ "in": "query",
+ "name": "date",
+ "type": "string"
+ },
+ {
+ "description": "Validated search sort; bucket order stays count-desc, and time-series date_desc keeps its search history scope",
+ "enum": [
+ "date_desc",
+ "date_asc",
+ "price_asc",
+ "price_desc",
+ "discount_desc"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Result page, 1-based",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, default 20 and max 100",
+ "in": "query",
+ "name": "page_size",
+ "type": "integer"
}
],
"produces": [
@@ -304518,7 +380926,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/carsdotcom.VehicleResponse"
+ "$ref": "#/definitions/datasets.datasetFacetResponseDoc"
}
},
"400": {
@@ -304527,8 +380935,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -304538,12 +380946,6 @@
"schema": {
"$ref": "#/definitions/app.Response"
}
- },
- "503": {
- "description": "Service Unavailable",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
}
},
"security": [
@@ -304551,24 +380953,33 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Cars.com vehicle listing detail",
+ "summary": "Discover Steam price snapshot values",
"tags": [
- "Cars.com"
+ "Datasets"
]
}
},
- "/cbc/article": {
+ "/datasets/steam-prices/items/{app_id}/{snapshot_date}": {
"get": {
- "description": "Returns public CBC News or CBC Sports story metadata and body paragraphs from a canonical story URL. Live-updates pages are not supported.",
- "operationId": "cbc-article",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Retrieves one daily price row using `appid` and `snapshot_date` from `datasets_steam_prices_search`.",
+ "operationId": "datasets-steam-prices-item",
"parameters": [
{
- "description": "Canonical CBC News or CBC Sports story URL",
- "in": "query",
- "name": "url",
+ "description": "Steam app id",
+ "in": "path",
+ "name": "app_id",
"required": true,
- "type": "string",
- "x-example": "https://www.cbc.ca/news/politics/does-calling-an-early-election-work-9.7355667"
+ "type": "string"
+ },
+ {
+ "description": "Snapshot date, yyyy-MM-dd",
+ "in": "path",
+ "name": "snapshot_date",
+ "required": true,
+ "type": "string"
}
],
"produces": [
@@ -304578,7 +380989,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.articleResponseDoc"
+ "$ref": "#/definitions/datasets.steamPriceDatasetItemResponseDoc"
}
},
"400": {
@@ -304593,8 +381004,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -304605,30 +381022,56 @@
"ApiKeyAuth": []
}
],
- "summary": "Get CBC News article content",
+ "summary": "Get one stored Steam price record",
"tags": [
- "CBC News"
+ "Datasets"
]
}
},
- "/cbc/author": {
+ "/datasets/steam-prices/search": {
"get": {
- "description": "Returns a CBC journalist's profile, identified by `slug` (ending in CBC's author id, such as `darren-major-1.4462710`) or a `https://www.cbc.ca/author/` `url`; exactly one is required and an unknown author returns 404. The response has name, title, biography, photo, profile links and usually 10 latest articles, with `has_more_articles` showing whether older ones exist.",
- "operationId": "cbc-author",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Searches the daily price time series for priced games (one document per appid × day; integer cents). Pair `app_id` with `sort=date_desc` for a game's price history, or pass `date` for one day's snapshot. Sort enum: `date_desc` (default), `date_asc`, `price_asc`, `price_desc`, `discount_desc`. Billing: this search costs 1 credit per record returned, with a minimum of 2 (an empty result costs 2, a full page of 100 costs 100).",
+ "operationId": "datasets-steam-prices-search",
"parameters": [
{
- "description": "Author slug, e.g. darren-major-1.4462710",
+ "description": "Exact Steam app id filter",
"in": "query",
- "name": "slug",
- "type": "string",
- "x-example": "darren-major-1.4462710"
+ "name": "app_id",
+ "type": "string"
},
{
- "description": "Canonical https://www.cbc.ca/author/ URL; alternative to slug",
+ "description": "Snapshot date filter yyyy-MM-dd",
"in": "query",
- "name": "url",
- "type": "string",
- "x-example": "https://www.cbc.ca/author/darren-major-1.4462710"
+ "name": "date",
+ "type": "string"
+ },
+ {
+ "description": "Sort enum: date_desc, date_asc, price_asc, price_desc, discount_desc",
+ "enum": [
+ "date_desc",
+ "date_asc",
+ "price_asc",
+ "price_desc",
+ "discount_desc"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Page number, defaults to 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, defaults to 20 and maxes at 100; page * page_size must be <= 10000",
+ "in": "query",
+ "name": "page_size",
+ "type": "integer"
}
],
"produces": [
@@ -304638,7 +381081,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.cbcAuthorResponseDoc"
+ "$ref": "#/definitions/datasets.steamPricesSearchResponseDoc"
}
},
"400": {
@@ -304647,14 +381090,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -304665,61 +381108,79 @@
"ApiKeyAuth": []
}
],
- "summary": "Get a CBC journalist profile",
+ "summary": "Search the steam-prices dataset",
"tags": [
- "CBC News"
+ "Datasets"
]
}
},
- "/cbc/headlines": {
+ "/datasets/steam-reviews/facets": {
"get": {
- "description": "Returns fresh CBC News or CBC Sports headlines from one public section RSS feed. Video, radio, and live-updates links are omitted.",
- "operationId": "cbc-headlines",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns up to 50 Steam review facet buckets ordered by count, using the same filters as `datasets_steam_reviews_search`. Page and page_size do not change the aggregation.",
+ "operationId": "datasets-steam-reviews-facets",
"parameters": [
{
- "description": "CBC section slug",
+ "description": "Facet field",
"enum": [
- "world",
- "canada",
- "politics",
- "business",
- "health",
- "arts",
- "technology",
- "indigenous",
- "british-columbia",
- "calgary",
- "edmonton",
- "hamilton",
- "kamloops",
- "kitchener-waterloo",
- "london",
- "manitoba",
- "montreal",
- "new-brunswick",
- "newfoundland-labrador",
- "north",
- "nova-scotia",
- "ottawa",
- "prince-edward-island",
- "saskatchewan",
- "saskatoon",
- "sudbury",
- "thunder-bay",
- "toronto",
- "windsor",
- "sports",
- "sports-golf",
- "sports-nhl",
- "sports-olympics",
- "sports-soccer",
- "sports-tennis"
+ "app_id",
+ "language",
+ "voted_up"
],
"in": "query",
- "name": "section",
+ "name": "facet",
"required": true,
"type": "string",
- "x-example": "world"
+ "x-example": "language"
+ },
+ {
+ "description": "Full-text review query",
+ "in": "query",
+ "name": "q",
+ "type": "string"
+ },
+ {
+ "description": "Exact Steam app id",
+ "in": "query",
+ "name": "app_id",
+ "type": "string"
+ },
+ {
+ "description": "Review language",
+ "in": "query",
+ "name": "language",
+ "type": "string"
+ },
+ {
+ "description": "Recommendation filter",
+ "in": "query",
+ "name": "voted_up",
+ "type": "boolean"
+ },
+ {
+ "description": "Validated search sort; bucket order stays count-desc, and time-series date_desc keeps its search history scope",
+ "enum": [
+ "votes_desc",
+ "weighted_desc",
+ "date_desc"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Result page, 1-based",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, default 20 and max 100",
+ "in": "query",
+ "name": "page_size",
+ "type": "integer"
}
],
"produces": [
@@ -304729,7 +381190,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.headlinesResponseDoc"
+ "$ref": "#/definitions/datasets.datasetFacetResponseDoc"
}
},
"400": {
@@ -304738,46 +381199,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- }
- },
- "security": [
- {
- "ApiKeyAuth": []
- }
- ],
- "summary": "Get CBC News section headlines",
- "tags": [
- "CBC News"
- ]
- }
- },
- "/cbc/news": {
- "get": {
- "description": "Returns fresh CBC News top stories with no input needed: title, canonical story URL, publication time, byline when given and lead image. Only stories the article endpoint accepts are returned, so video player pages, CBC Radio, Music and Books links and live-updates pages are omitted.",
- "operationId": "cbc-news",
- "produces": [
- "application/json"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/publicnews.newsResponseDoc"
- }
- },
"429": {
"description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -304788,50 +381217,33 @@
"ApiKeyAuth": []
}
],
- "summary": "Get CBC News top stories",
+ "summary": "Discover Steam review values",
"tags": [
- "CBC News"
+ "Datasets"
]
}
},
- "/cbc/sections": {
+ "/datasets/steam-reviews/items/{app_id}/{recommendation_id}": {
"get": {
- "description": "Lists the 35 CBC News sections that `cbc-headlines` accepts: 8 national desks such as `politics` and `world`, 21 regional newsrooms such as `toronto` and `nova-scotia`, and 6 CBC Sports feeds such as `sports-nhl`. Each has a `slug`, a display `name` and the feed `url`. Top stories come from `cbc-news`, not a section.",
- "operationId": "cbc-sections",
- "produces": [
+ "consumes": [
"application/json"
],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/publicnews.sectionsResponseDoc"
- }
- }
- },
- "security": [
- {
- "ApiKeyAuth": []
- }
- ],
- "summary": "Get CBC News sections",
- "tags": [
- "CBC News"
- ]
- }
- },
- "/cbr/article": {
- "get": {
- "description": "Returns a CBR article by `url`, a canonical `cbr.com` address of the form `//`: title, description, publication and update times, section, authors, image and the body `paragraphs`. Section, video, author and category pages are rejected as invalid. `paywalled` is `true` only if the page declares the article not free, and then `paragraphs` may be a teaser.",
- "operationId": "cbr-article",
+ "description": "Retrieves one stored recommendation review using `appid` and `recommendation_id` from `datasets_steam_reviews_search`.",
+ "operationId": "datasets-steam-reviews-item",
"parameters": [
{
- "description": "Canonical CBR article URL",
- "in": "query",
- "name": "url",
+ "description": "Steam app id",
+ "in": "path",
+ "name": "app_id",
"required": true,
- "type": "string",
- "x-example": "https://www.cbr.com/star-trek-2-release-date-confirmed-cover-reveal/"
+ "type": "string"
+ },
+ {
+ "description": "Steam recommendation id",
+ "in": "path",
+ "name": "recommendation_id",
+ "required": true,
+ "type": "string"
}
],
"produces": [
@@ -304841,7 +381253,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.articleResponseDoc"
+ "$ref": "#/definitions/datasets.steamReviewDatasetItemResponseDoc"
}
},
"400": {
@@ -304862,8 +381274,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -304874,24 +381286,66 @@
"ApiKeyAuth": []
}
],
- "summary": "Get CBR article content",
+ "summary": "Get one stored Steam review",
"tags": [
- "CBR"
+ "Datasets"
]
}
},
- "/cbr/author": {
+ "/datasets/steam-reviews/search": {
"get": {
- "description": "Returns a CBR author profile from `url`, a canonical `https://www.cbr.com/author//` address; paginated `/page/N/` URLs are rejected. The response has name, `title`, biography, image, `social_links` and about 20 items from the profile's Latest module, with no older pages available.",
- "operationId": "cbr-author",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Searches the stored Steam review corpus (the most-helpful reviews per game; one document per appid × recommendation). Full-text `q` over the review body, filter by `app_id`, `language`, or `voted_up` (positive/negative). Sort enum: `votes_desc` (most-helpful first, default), `weighted_desc`, `date_desc`. Billing: this search costs 1 credit per record returned, with a minimum of 2 (an empty result costs 2, a full page of 100 costs 100).",
+ "operationId": "datasets-steam-reviews-search",
"parameters": [
{
- "description": "Canonical CBR author URL",
+ "description": "Full-text query over the review body, max 256 characters",
"in": "query",
- "name": "url",
- "required": true,
- "type": "string",
- "x-example": "https://www.cbr.com/author/john-dodge/"
+ "name": "q",
+ "type": "string"
+ },
+ {
+ "description": "Exact Steam app id filter",
+ "in": "query",
+ "name": "app_id",
+ "type": "string"
+ },
+ {
+ "description": "Review language filter (e.g. english, schinese)",
+ "in": "query",
+ "name": "language",
+ "type": "string"
+ },
+ {
+ "description": "Recommendation filter: true (positive) or false (negative)",
+ "in": "query",
+ "name": "voted_up",
+ "type": "string"
+ },
+ {
+ "description": "Sort enum: votes_desc, weighted_desc, date_desc",
+ "enum": [
+ "votes_desc",
+ "weighted_desc",
+ "date_desc"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Page number, defaults to 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, defaults to 20 and maxes at 100; page * page_size must be <= 10000",
+ "in": "query",
+ "name": "page_size",
+ "type": "integer"
}
],
"produces": [
@@ -304901,7 +381355,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.cbrAuthorResponseDoc"
+ "$ref": "#/definitions/datasets.steamReviewsSearchResponseDoc"
}
},
"400": {
@@ -304910,14 +381364,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -304928,54 +381382,83 @@
"ApiKeyAuth": []
}
],
- "summary": "Get a CBR author profile",
+ "summary": "Search the steam-reviews dataset",
"tags": [
- "CBR"
+ "Datasets"
]
}
},
- "/cbr/headlines": {
+ "/datasets/substack/facets": {
"get": {
- "description": "Returns fresh headlines from one public CBR RSS section. Video pages, if a section ever returns them, have type video and are not readable through the article endpoint.",
- "operationId": "cbr-headlines",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns up to 50 count-sorted buckets for a stored-field facet over the Substack dataset, honoring the same filters as `datasets_substack_search`. Facets cover the indexed discovery corpus, which is not a complete directory.",
+ "operationId": "datasets-substack-facets",
"parameters": [
{
- "description": "CBR RSS section slug",
+ "description": "Facet field",
"enum": [
- "movies",
- "movie-features",
- "news-movies",
- "reviews-movies",
- "movie-lists",
- "tv",
- "tv-features",
- "news-tv",
- "reviews-tv",
- "tv-lists",
- "comics",
- "comics-features",
- "comics/news",
- "comics/reviews",
- "comics-lists",
- "anime",
- "anime-features",
- "anime-news",
- "anime/reviews-anime",
- "anime-lists",
- "games",
- "game-features",
- "game-news",
- "games/reviews-games",
- "game-guides",
- "game-lists",
- "lists",
- "cbr-exclusives"
+ "kind",
+ "language"
],
"in": "query",
- "name": "section",
+ "name": "facet",
"required": true,
"type": "string",
- "x-example": "movies"
+ "x-example": "kind"
+ },
+ {
+ "description": "Full-text query over profile/publication fields, max 256 characters",
+ "in": "query",
+ "name": "q",
+ "type": "string"
+ },
+ {
+ "description": "Record kind",
+ "enum": [
+ "user",
+ "publication"
+ ],
+ "in": "query",
+ "name": "kind",
+ "type": "string"
+ },
+ {
+ "description": "Exact public profile handle or publication host, max 253 characters",
+ "in": "query",
+ "name": "identifier",
+ "type": "string"
+ },
+ {
+ "description": "Exact publication language",
+ "in": "query",
+ "name": "language",
+ "type": "string"
+ },
+ {
+ "description": "Accepted for parity with search: relevance, name_asc, hydrated_at_desc, hydrated_at_asc",
+ "enum": [
+ "relevance",
+ "name_asc",
+ "hydrated_at_desc",
+ "hydrated_at_asc"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Accepted for contract parity; facets aggregate all matching records",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Accepted for contract parity; facets aggregate all matching records",
+ "in": "query",
+ "name": "page_size",
+ "type": "integer"
}
],
"produces": [
@@ -304985,7 +381468,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.headlinesResponseDoc"
+ "$ref": "#/definitions/datasets.substackDatasetFacetResponseDoc"
}
},
"400": {
@@ -305000,46 +381483,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- }
- },
- "security": [
- {
- "ApiKeyAuth": []
- }
- ],
- "summary": "Get CBR section headlines",
- "tags": [
- "CBR"
- ]
- }
- },
- "/cbr/news": {
- "get": {
- "description": "Returns about 10 of the latest CBR stories from the site's main feed, with no input needed. Each has a title, canonical URL, summary, publication time, author names (co-authors joined with a comma) and lead image.",
- "operationId": "cbr-news",
- "produces": [
- "application/json"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/publicnews.newsResponseDoc"
- }
- },
- "429": {
- "description": "Too Many Requests",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -305050,56 +381495,27 @@
"ApiKeyAuth": []
}
],
- "summary": "Get CBR top stories",
+ "summary": "Discover Substack dataset values",
"tags": [
- "CBR"
+ "Datasets"
]
}
},
- "/cbr/sections": {
+ "/datasets/substack/items/{uid}": {
"get": {
- "description": "Lists the 28 CBR section slugs accepted by `cbr-headlines`, grouped by movies, TV, comics, anime and games with news, reviews, features and lists variants, plus `lists` and `cbr-exclusives`. Each entry has a `slug` (for example `news-movies` or `comics/reviews`), a display `name` and the feed `url`.",
- "operationId": "cbr-sections",
- "produces": [
+ "consumes": [
"application/json"
],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/publicnews.sectionsResponseDoc"
- }
- },
- "429": {
- "description": "Too Many Requests",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- }
- },
- "security": [
- {
- "ApiKeyAuth": []
- }
- ],
- "summary": "Get CBR RSS sections",
- "tags": [
- "CBR"
- ]
- }
- },
- "/cbsnews/article": {
- "get": {
- "description": "Returns a CBS News article by `url`, a canonical HTTPS `cbsnews.com/news/` address. The response has the title, description, publication and update times, authors, section, lead image and the body `paragraphs`.",
- "operationId": "cbsnews-article",
+ "description": "Retrieves one profile or publication snapshot that passed public identity validation when hydrated. Use the exact `uid` returned by `datasets_substack_search`. Missing, partial, and unvalidated rows return 404. Snapshots can become stale; inspect `hydrated_at`.",
+ "operationId": "datasets-substack-item",
"parameters": [
{
- "description": "Canonical CBS News article URL",
- "in": "query",
- "name": "url",
+ "description": "Dataset row UID: user: or publication:, max 320 characters",
+ "in": "path",
+ "name": "uid",
"required": true,
"type": "string",
- "x-example": "https://www.cbsnews.com/news/example-article-slug/"
+ "x-example": "publication:example.substack.com"
}
],
"produces": [
@@ -305109,7 +381525,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.articleResponseDoc"
+ "$ref": "#/definitions/datasets.substackDatasetItemResponseDoc"
}
},
"400": {
@@ -305124,8 +381540,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -305136,24 +381558,71 @@
"ApiKeyAuth": []
}
],
- "summary": "Get CBS News article content",
+ "summary": "Get one stored Substack profile or publication",
"tags": [
- "CBS News"
+ "Datasets"
]
}
},
- "/cbsnews/author": {
+ "/datasets/substack/search": {
"get": {
- "description": "Returns one CBS News author's public team-page profile: name, biography, coverage topics, headshot (when the page has one), social links, and their recent articles.",
- "operationId": "cbsnews-author",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Searches Substack writer profiles and publications that passed public identity validation when captured. Coverage is a growing discovery corpus, not a complete directory; snapshots are not periodically revalidated and do not trigger live lookups. Inspect hydrated_at for the last successful capture.",
+ "operationId": "datasets-substack-search",
"parameters": [
{
- "description": "Canonical cbsnews.com/team/ author URL",
+ "description": "Full-text query over profile/publication name, handle, bio, host, or hero text, max 256 characters",
"in": "query",
- "name": "url",
- "required": true,
- "type": "string",
- "x-example": "https://www.cbsnews.com/team/margaret-brennan/"
+ "name": "q",
+ "type": "string"
+ },
+ {
+ "description": "Record kind",
+ "enum": [
+ "user",
+ "publication"
+ ],
+ "in": "query",
+ "name": "kind",
+ "type": "string"
+ },
+ {
+ "description": "Exact public profile handle or publication host, max 253 characters",
+ "in": "query",
+ "name": "identifier",
+ "type": "string"
+ },
+ {
+ "description": "Exact publication language; discover values with facet=language",
+ "in": "query",
+ "name": "language",
+ "type": "string"
+ },
+ {
+ "description": "Sort order: relevance, name_asc, hydrated_at_desc, hydrated_at_asc",
+ "enum": [
+ "relevance",
+ "name_asc",
+ "hydrated_at_desc",
+ "hydrated_at_asc"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Result page, 1-based",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, default 20 and max 100",
+ "in": "query",
+ "name": "page_size",
+ "type": "integer"
}
],
"produces": [
@@ -305163,7 +381632,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.cbsNewsAuthorResponseDoc"
+ "$ref": "#/definitions/datasets.substackDatasetSearchResponseDoc"
}
},
"400": {
@@ -305172,14 +381641,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -305190,36 +381659,164 @@
"ApiKeyAuth": []
}
],
- "summary": "Get a CBS News author profile",
+ "summary": "Search the stored Substack dataset",
"tags": [
- "CBS News"
+ "Datasets"
]
}
},
- "/cbsnews/headlines": {
+ "/datasets/techstack/facets": {
"get": {
- "description": "Returns fresh headlines for one CBS News section. `section` is required and is one of `main`, `us`, `world`, `politics`, `moneywatch`, `health`, `entertainment`, `science`, `technology` or `space`. Each item has a title and URL, and may also carry a summary, author, publication time and image.",
- "operationId": "cbsnews-headlines",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns distribution counts over the website tech-stack index (dataset id enum value `techstack`), honoring the same filters as search — the technology / category market-share view. Facet enum: `technology`, `category`, `cms`, `ecommerce`, `cdn`, `web_server`, `server_language`, `analytics`, `tld`, `render_tier`, `seed_source`.",
+ "operationId": "datasets-techstack-facets",
"parameters": [
{
- "description": "CBS News RSS section slug",
+ "description": "Facet enum: technology, category, cms, ecommerce, cdn, web_server, server_language, analytics, tld, render_tier, seed_source",
"enum": [
- "main",
- "us",
- "world",
- "politics",
- "moneywatch",
- "health",
- "entertainment",
- "science",
"technology",
- "space"
+ "category",
+ "cms",
+ "ecommerce",
+ "cdn",
+ "web_server",
+ "server_language",
+ "analytics",
+ "tld",
+ "render_tier",
+ "seed_source"
],
"in": "query",
- "name": "section",
+ "name": "facet",
"required": true,
"type": "string",
- "x-example": "main"
+ "x-example": "technology"
+ },
+ {
+ "description": "Substring match on the site domain, max 256 characters",
+ "in": "query",
+ "name": "q",
+ "type": "string"
+ },
+ {
+ "collectionFormat": "csv",
+ "description": "Repeatable exact technology name the site MUST use (AND)",
+ "in": "query",
+ "items": {
+ "type": "string"
+ },
+ "name": "technology",
+ "type": "array"
+ },
+ {
+ "collectionFormat": "csv",
+ "description": "Repeatable exact technology name; the site must use at least one (OR)",
+ "in": "query",
+ "items": {
+ "type": "string"
+ },
+ "name": "any_of",
+ "type": "array"
+ },
+ {
+ "collectionFormat": "csv",
+ "description": "Repeatable exact technology name the site must NOT use (excludes)",
+ "in": "query",
+ "items": {
+ "type": "string"
+ },
+ "name": "not",
+ "type": "array"
+ },
+ {
+ "description": "Exact category filter, e.g. Ecommerce, CMS, Analytics",
+ "in": "query",
+ "name": "category",
+ "type": "string"
+ },
+ {
+ "description": "Exact CMS filter, e.g. WordPress, Shopify, Webflow",
+ "in": "query",
+ "name": "cms",
+ "type": "string"
+ },
+ {
+ "description": "Exact e-commerce platform filter, e.g. Shopify, WooCommerce, Magento",
+ "in": "query",
+ "name": "ecommerce",
+ "type": "string"
+ },
+ {
+ "description": "Exact CDN / hosting filter, e.g. Cloudflare, Fastly, Vercel",
+ "in": "query",
+ "name": "cdn",
+ "type": "string"
+ },
+ {
+ "description": "Exact web-server filter, e.g. nginx, Apache, IIS",
+ "in": "query",
+ "name": "web_server",
+ "type": "string"
+ },
+ {
+ "description": "Exact server language / framework filter, e.g. PHP, ASP.NET, Ruby on Rails",
+ "in": "query",
+ "name": "server_language",
+ "type": "string"
+ },
+ {
+ "description": "Exact top-level-domain filter, e.g. com, org, io",
+ "in": "query",
+ "name": "tld",
+ "type": "string"
+ },
+ {
+ "description": "Fetch-tier filter. Enum: http, browser",
+ "enum": [
+ "http",
+ "browser"
+ ],
+ "in": "query",
+ "name": "render_tier",
+ "type": "string"
+ },
+ {
+ "description": "Source filter for where the domain was discovered, e.g. tranco",
+ "in": "query",
+ "name": "seed_source",
+ "type": "string"
+ },
+ {
+ "description": "true keeps only sites with a detected CAPTCHA",
+ "in": "query",
+ "name": "has_captcha",
+ "type": "boolean"
+ },
+ {
+ "description": "false (the common case) excludes backend CDN/DNS/cloud-vendor hostnames that rank highly but were never meant to serve a public homepage, keeping only real, human-navigable sites; true keeps only those backend hostnames",
+ "in": "query",
+ "name": "is_infrastructure",
+ "type": "boolean"
+ },
+ {
+ "description": "true keeps only sites whose homepage was fetched",
+ "in": "query",
+ "name": "reachable",
+ "type": "boolean"
+ },
+ {
+ "description": "Minimum number of detected technologies, 0 or greater",
+ "in": "query",
+ "name": "min_tech_count",
+ "type": "integer"
+ },
+ {
+ "description": "Scan run id; defaults to the latest run",
+ "in": "query",
+ "name": "run_id",
+ "type": "string"
}
],
"produces": [
@@ -305229,7 +381826,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.headlinesResponseDoc"
+ "$ref": "#/definitions/datasets.techstackFacetResponseDoc"
}
},
"400": {
@@ -305238,46 +381835,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- }
- },
- "security": [
- {
- "ApiKeyAuth": []
- }
- ],
- "summary": "Get CBS News section headlines",
- "tags": [
- "CBS News"
- ]
- }
- },
- "/cbsnews/news": {
- "get": {
- "description": "Returns the latest CBS News top stories, with no input needed. Each item has a title and canonical URL, and may also carry a summary, author, publication time and image.",
- "operationId": "cbsnews-news",
- "produces": [
- "application/json"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/publicnews.newsResponseDoc"
- }
- },
"429": {
"description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -305288,50 +381853,27 @@
"ApiKeyAuth": []
}
],
- "summary": "Get CBS News top stories",
+ "summary": "Facet the website tech-stack dataset",
"tags": [
- "CBS News"
+ "Datasets"
]
}
},
- "/cbsnews/sections": {
+ "/datasets/techstack/items/{domain}": {
"get": {
- "description": "Lists the ten CBS News sections accepted by `cbsnews-headlines`: `main`, `us`, `world`, `politics`, `moneywatch`, `health`, `entertainment`, `science`, `technology` and `space`. Each has a `slug`, a display `name` and the feed `url`.",
- "operationId": "cbsnews-sections",
- "produces": [
+ "consumes": [
"application/json"
],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/publicnews.sectionsResponseDoc"
- }
- }
- },
- "security": [
- {
- "ApiKeyAuth": []
- }
- ],
- "summary": "Get CBS News sections",
- "tags": [
- "CBS News"
- ]
- }
- },
- "/cbssports/article": {
- "get": {
- "description": "Returns a CBS Sports article by `url`, a canonical `https://www.cbssports.com//news//` address, including `nfl/draft/news/` and fantasy football news: title, description, publication and update times, authors, lead image and body `paragraphs`. Video, scores, schedule and player pages are rejected. `paywalled` is omitted because the articles are free.",
- "operationId": "cbssports-article",
+ "description": "Returns one site by its domain from dataset id enum value `techstack`, including every detected technology (name, categories, confidence, version, evidence) plus the CMS / e-commerce / CDN / web-server / server-language rollups. Also flags whether the domain looks like backend CDN/DNS/cloud-vendor infrastructure rather than a real, human-navigable site (see `is_infrastructure`). Returns 404 when the domain is not in the index.",
+ "operationId": "datasets-techstack-item",
"parameters": [
{
- "description": "Canonical CBS Sports article URL",
- "in": "query",
- "name": "url",
+ "description": "Site domain, e.g. shopify.com (a scheme and www. are stripped)",
+ "in": "path",
+ "name": "domain",
"required": true,
"type": "string",
- "x-example": "https://www.cbssports.com/college-football/news/president-trump-attending-texas-tennessee/"
+ "x-example": "shopify.com"
}
],
"produces": [
@@ -305341,7 +381883,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.articleResponseDoc"
+ "$ref": "#/definitions/datasets.techstackItemResponseDoc"
}
},
"400": {
@@ -305362,8 +381904,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -305374,30 +381916,168 @@
"ApiKeyAuth": []
}
],
- "summary": "Get CBS Sports article content",
+ "summary": "Get a site from the website tech-stack dataset",
"tags": [
- "CBS Sports"
+ "Datasets"
]
}
},
- "/cbssports/author": {
+ "/datasets/techstack/search": {
"get": {
- "description": "Returns a CBS Sports writer's profile, identified by `slug` (such as `david-cobb`) or a `cbssports.com/writers//` `url`; exactly one is required and an unknown slug returns not-found. The response has name, title, headshot, bio, X/Twitter link and about 15 recent articles with title, URL and summary. Profile fields the page lacks are omitted.",
- "operationId": "cbssports-author",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Searches the website tech-stack index (dataset id enum value `techstack`) — one record per site listing the web technologies it is built with (frameworks, CMS, e-commerce, analytics, CDNs, servers, and more), BuiltWith / Wappalyzer-style. The reverse-index filters are the point: repeat `technology` to require several at once (AND), `any_of` to match at least one (OR), and `not` to exclude — e.g. sites on `Shopify` and `Klaviyo` but not `Recharge`. Sort enum: `relevance`, `rank_asc`, `tech_count_desc`, `domain_asc`, `crawled_desc`. render_tier enum: `http`, `browser`. Billing: this search costs 1 credit per record returned, with a minimum of 2 (an empty result costs 2, a full page of 100 costs 100).",
+ "operationId": "datasets-techstack-search",
"parameters": [
{
- "description": "Writer slug, e.g. david-cobb",
+ "description": "Substring match on the site domain, max 256 characters",
"in": "query",
- "name": "slug",
- "type": "string",
- "x-example": "david-cobb"
+ "name": "q",
+ "type": "string"
},
{
- "description": "Canonical cbssports.com/writers// URL; alternative to slug",
+ "collectionFormat": "csv",
+ "description": "Repeatable exact technology name the site MUST use (AND), e.g. technology=Shopify&technology=Klaviyo",
"in": "query",
- "name": "url",
- "type": "string",
- "x-example": "https://www.cbssports.com/writers/david-cobb/"
+ "items": {
+ "type": "string"
+ },
+ "name": "technology",
+ "type": "array"
+ },
+ {
+ "collectionFormat": "csv",
+ "description": "Repeatable exact technology name; the site must use at least one (OR)",
+ "in": "query",
+ "items": {
+ "type": "string"
+ },
+ "name": "any_of",
+ "type": "array"
+ },
+ {
+ "collectionFormat": "csv",
+ "description": "Repeatable exact technology name the site must NOT use (excludes)",
+ "in": "query",
+ "items": {
+ "type": "string"
+ },
+ "name": "not",
+ "type": "array"
+ },
+ {
+ "description": "Exact category filter, e.g. Ecommerce, CMS, Analytics, Payment, CDN",
+ "in": "query",
+ "name": "category",
+ "type": "string"
+ },
+ {
+ "description": "Exact CMS filter, e.g. WordPress, Shopify, Webflow",
+ "in": "query",
+ "name": "cms",
+ "type": "string"
+ },
+ {
+ "description": "Exact e-commerce platform filter, e.g. Shopify, WooCommerce, Magento",
+ "in": "query",
+ "name": "ecommerce",
+ "type": "string"
+ },
+ {
+ "description": "Exact CDN / hosting filter, e.g. Cloudflare, Fastly, Vercel",
+ "in": "query",
+ "name": "cdn",
+ "type": "string"
+ },
+ {
+ "description": "Exact web-server filter, e.g. nginx, Apache, IIS",
+ "in": "query",
+ "name": "web_server",
+ "type": "string"
+ },
+ {
+ "description": "Exact server language / framework filter, e.g. PHP, ASP.NET, Ruby on Rails",
+ "in": "query",
+ "name": "server_language",
+ "type": "string"
+ },
+ {
+ "description": "Exact top-level-domain filter, e.g. com, org, io",
+ "in": "query",
+ "name": "tld",
+ "type": "string"
+ },
+ {
+ "description": "Fetch-tier filter. Enum: http, browser",
+ "enum": [
+ "http",
+ "browser"
+ ],
+ "in": "query",
+ "name": "render_tier",
+ "type": "string"
+ },
+ {
+ "description": "Source filter for where the domain was discovered, e.g. tranco",
+ "in": "query",
+ "name": "seed_source",
+ "type": "string"
+ },
+ {
+ "description": "true keeps only sites with a detected CAPTCHA",
+ "in": "query",
+ "name": "has_captcha",
+ "type": "boolean"
+ },
+ {
+ "description": "false (the common case) excludes backend CDN/DNS/cloud-vendor hostnames that rank highly but were never meant to serve a public homepage, keeping only real, human-navigable sites; true keeps only those backend hostnames",
+ "in": "query",
+ "name": "is_infrastructure",
+ "type": "boolean"
+ },
+ {
+ "description": "true keeps only sites whose homepage was fetched, false only sites that could not be fetched",
+ "in": "query",
+ "name": "reachable",
+ "type": "boolean"
+ },
+ {
+ "description": "Minimum number of detected technologies, 0 or greater",
+ "in": "query",
+ "name": "min_tech_count",
+ "type": "integer"
+ },
+ {
+ "description": "Scan run id; defaults to the latest run",
+ "in": "query",
+ "name": "run_id",
+ "type": "string"
+ },
+ {
+ "description": "Sort enum: relevance, rank_asc, tech_count_desc, domain_asc, crawled_desc",
+ "enum": [
+ "relevance",
+ "rank_asc",
+ "tech_count_desc",
+ "domain_asc",
+ "crawled_desc"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Page number, defaults to 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, defaults to 20 and maxes at 100; page * page_size must be <= 10000",
+ "in": "query",
+ "name": "page_size",
+ "type": "integer"
}
],
"produces": [
@@ -305407,7 +382087,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.cbsSportsAuthorResponseDoc"
+ "$ref": "#/definitions/datasets.techstackSearchResponseDoc"
}
},
"400": {
@@ -305416,20 +382096,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"429": {
"description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -305440,47 +382114,77 @@
"ApiKeyAuth": []
}
],
- "summary": "Get a CBS Sports writer profile",
+ "summary": "Search the website tech-stack dataset",
"tags": [
- "CBS Sports"
+ "Datasets"
]
}
},
- "/cbssports/headlines": {
+ "/datasets/trustmrr/facets": {
"get": {
- "description": "Returns fresh headlines from one CBS Sports per-sport feed. `section` is required and takes one of 21 slugs, such as `nfl`, `college-basketball`, `soccer`, `ufc`, `betting` or `general`. Each item has a title and URL, and may carry a summary, author, publication time and image.",
- "operationId": "cbssports-headlines",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns terms-aggregation counts for one facet of the TrustMRR dataset, scoped to the same filters as search. Facet enum: `category`, `country`, `payment_provider`, `target_audience`, `business_type`, `tech`, `channels`, `listing_tier`, `status`, `on_sale`, `is_sponsored`, `tags`.",
+ "operationId": "datasets-trustmrr-facets",
"parameters": [
{
- "description": "CBS Sports section slug",
+ "description": "Facet enum: category, country, payment_provider, target_audience, business_type, tech, channels, listing_tier, status, on_sale, is_sponsored, tags",
"enum": [
- "nfl",
- "college-football",
- "nba",
- "college-basketball",
- "womens-college-basketball",
- "wnba",
- "mlb",
- "nhl",
- "soccer",
- "golf",
- "tennis",
- "ufc",
- "mma",
- "boxing",
- "wwe",
- "nascar",
- "motor-sports",
- "olympics",
- "betting",
- "prediction",
- "general"
+ "category",
+ "country",
+ "payment_provider",
+ "target_audience",
+ "business_type",
+ "tech",
+ "channels",
+ "listing_tier",
+ "status",
+ "on_sale",
+ "is_sponsored",
+ "tags"
],
"in": "query",
- "name": "section",
+ "name": "facet",
"required": true,
"type": "string",
- "x-example": "nfl"
+ "x-example": "category"
+ },
+ {
+ "description": "Full-text query, max 256 characters",
+ "in": "query",
+ "name": "q",
+ "type": "string"
+ },
+ {
+ "description": "Exact category filter, max 128 characters",
+ "in": "query",
+ "name": "category",
+ "type": "string"
+ },
+ {
+ "description": "Exact ISO country-code filter, max 128 characters",
+ "in": "query",
+ "name": "country",
+ "type": "string"
+ },
+ {
+ "description": "Payment-provider filter, max 128 characters",
+ "in": "query",
+ "name": "payment_provider",
+ "type": "string"
+ },
+ {
+ "description": "Filter for startups currently listed for sale",
+ "in": "query",
+ "name": "on_sale",
+ "type": "boolean"
+ },
+ {
+ "description": "Minimum verified MRR in USD",
+ "in": "query",
+ "name": "min_mrr",
+ "type": "number"
}
],
"produces": [
@@ -305490,7 +382194,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.headlinesResponseDoc"
+ "$ref": "#/definitions/datasets.trustmrrFacetResponseDoc"
}
},
"400": {
@@ -305505,8 +382209,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -305517,16 +382221,47 @@
"ApiKeyAuth": []
}
],
- "summary": "Get CBS Sports section headlines",
+ "summary": "Facet the TrustMRR dataset",
"tags": [
- "CBS Sports"
+ "Datasets"
]
}
},
- "/cbssports/news": {
+ "/datasets/trustmrr/history/{slug}": {
"get": {
- "description": "Returns the current CBS Sports headlines across every sport, with no input needed: news stories, analysis columns and picks or predictions articles. Only article links are returned; video, scores, schedule and player pages are filtered out. Items have `title` and `url`, plus `summary`, `published_at` and `author` when provided.",
- "operationId": "cbssports-news",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns a startup's daily time-series of payment-provider-verified metrics — MRR, all-time revenue, last-30-days revenue, 30-day and 12-month traffic, 30-day growth, for-sale flag, asking price, valuation multiple, deal score and offer count — one point per day in chronological order (oldest first). The series accrues one point per calendar day, so a recently discovered startup returns a short or empty series rather than a 404.",
+ "operationId": "datasets-trustmrr-history",
+ "parameters": [
+ {
+ "description": "Startup slug, max 128 characters",
+ "in": "path",
+ "name": "slug",
+ "required": true,
+ "type": "string",
+ "x-example": "gumroad"
+ },
+ {
+ "description": "Inclusive start date, YYYY-MM-DD (UTC)",
+ "in": "query",
+ "name": "from",
+ "type": "string"
+ },
+ {
+ "description": "Inclusive end date, YYYY-MM-DD (UTC)",
+ "in": "query",
+ "name": "to",
+ "type": "string"
+ },
+ {
+ "description": "Maximum points returned (the most recent within the range), default 365, max 1000",
+ "in": "query",
+ "name": "limit",
+ "type": "integer"
+ }
+ ],
"produces": [
"application/json"
],
@@ -305534,45 +382269,25 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.newsResponseDoc"
+ "$ref": "#/definitions/datasets.trustmrrHistoryResponseDoc"
}
},
- "429": {
- "description": "Too Many Requests",
+ "400": {
+ "description": "Bad Request",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
- }
- },
- "security": [
- {
- "ApiKeyAuth": []
- }
- ],
- "summary": "Get CBS Sports top stories",
- "tags": [
- "CBS Sports"
- ]
- }
- },
- "/cbssports/sections": {
- "get": {
- "description": "Lists the 21 CBS Sports per-sport sections accepted by `cbssports-headlines`, from `nfl`, `nba` and `soccer` to `betting`, `prediction` and `general`. Each has a `slug`, a display `name` and the feed `url`. A feed can include a story from a neighbouring sport, and off-season ones such as `olympics` can be weeks or months old.",
- "operationId": "cbssports-sections",
- "produces": [
- "application/json"
- ],
- "responses": {
- "200": {
- "description": "OK",
+ },
+ "500": {
+ "description": "Internal Server Error",
"schema": {
- "$ref": "#/definitions/publicnews.sectionsResponseDoc"
+ "$ref": "#/definitions/app.Response"
}
}
},
@@ -305581,40 +382296,27 @@
"ApiKeyAuth": []
}
],
- "summary": "Get CBS Sports sections",
+ "summary": "Get a TrustMRR startup's daily history",
"tags": [
- "CBS Sports"
+ "Datasets"
]
}
},
- "/chewy/brands": {
+ "/datasets/trustmrr/items/{slug}": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns one page of Chewy's full brand directory -- roughly 7,600 brands -- with each brand's id, name, Chewy's own written description, image, parent-catalog group, and its child brands where a brand umbrellas others (Purina lists 27). This is the whole catalog of brands, unlike chewy_facets, which only reports the brands present in one category's listing. Pass name to look up a single brand by exact name, case-insensitive; it is an exact match upstream, not a search, so \"Purina\" matches while \"purina pro\" does not. To filter products by a brand, pass the brand's NAME to chewy_category or chewy_search as filter=brand_facet: -- facet_id is the join key onto chewy_facets' own option ids and is not accepted by the filter parameter.",
- "operationId": "chewy-brands",
+ "description": "Returns one startup record by slug from the TrustMRR dataset (dataset id `trustmrr`), including verified revenue/MRR, traffic, growth, category, tech stack, marketing channels and acquisition-marketplace fields.",
+ "operationId": "datasets-trustmrr-item",
"parameters": [
{
- "description": "Page number, 1-based (default 1).",
- "in": "query",
- "name": "page",
- "type": "integer",
- "x-example": 1
- },
- {
- "description": "Brands per page, 1 to 500 (default 100).",
- "in": "query",
- "name": "limit",
- "type": "integer",
- "x-example": 100
- },
- {
- "description": "Return only the brand with this exact name, case-insensitive. Exact match, not a search.",
- "in": "query",
- "name": "name",
+ "description": "Startup slug, max 128 characters",
+ "in": "path",
+ "name": "slug",
+ "required": true,
"type": "string",
- "x-example": "ACANA"
+ "x-example": "gumroad"
}
],
"produces": [
@@ -305624,7 +382326,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/chewy.brandsResponseDoc"
+ "$ref": "#/definitions/datasets.trustmrrItemResponseDoc"
}
},
"400": {
@@ -305633,14 +382335,20 @@
"$ref": "#/definitions/app.Response"
}
},
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
"429": {
"description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -305651,33 +382359,192 @@
"ApiKeyAuth": []
}
],
- "summary": "List Chewy's brand directory",
+ "summary": "Get a TrustMRR startup from the dataset",
"tags": [
- "Chewy"
+ "Datasets"
]
}
},
- "/chewy/categories": {
+ "/datasets/trustmrr/search": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns Chewy's category taxonomy tree: how to discover group_id values for chewy_category, not the products within a category. Omitting group_id returns all top-level departments (Dog, Cat, Horse, Bird, Fish, Reptile, Small Pet, Farm and Livestock Supplies, Wild Bird and Wildlife Supplies, Pharmacy, Pet Parents); a group_id expands that specific group's own subtree instead. depth controls how many levels of subcategories are expanded in one call.",
- "operationId": "chewy-categories",
+ "description": "Searches public startups with payment-provider-verified revenue and MRR, stored in a search index. Filter by category, country, payment provider, target audience, tech, marketing channel, listing tier and for-sale status, and by revenue/MRR/traffic/growth/multiple/asking-price ranges. Sort enum: `relevance`, `mrr_desc`, `revenue_desc`, `revenue_30d_desc`, `traffic_desc`, `growth_desc`, `deal_score_desc`, `price_asc`, `price_desc`, `multiple_asc`, `founded_desc`. status enum: `active`, `removed`. Billing: this search costs 1 credit per record returned, with a minimum of 2 (an empty result costs 2, a full page of 100 costs 100).",
+ "operationId": "datasets-trustmrr-search",
"parameters": [
{
- "description": "Chewy category group id to expand, e.g. 332 for Dog Food. Omit for the full top-level department tree.",
+ "description": "Full-text query over name, description, seller message and business summary, max 256 characters",
"in": "query",
- "name": "group_id",
- "type": "string",
- "x-example": "332"
+ "name": "q",
+ "type": "string"
},
{
- "description": "How many levels of subcategories to expand, 1 to 3 (default 2)",
+ "description": "Exact startup slug filter, max 128 characters",
"in": "query",
- "name": "depth",
- "type": "integer",
- "x-example": 2
+ "name": "slug",
+ "type": "string"
+ },
+ {
+ "description": "Exact category filter (e.g. SaaS, Artificial Intelligence, Mobile Apps), max 128 characters",
+ "in": "query",
+ "name": "category",
+ "type": "string"
+ },
+ {
+ "description": "Exact ISO country-code filter (e.g. US), max 128 characters",
+ "in": "query",
+ "name": "country",
+ "type": "string"
+ },
+ {
+ "description": "Payment-provider filter (e.g. stripe, revenuecat, superwall, creem), max 128 characters",
+ "in": "query",
+ "name": "payment_provider",
+ "type": "string"
+ },
+ {
+ "description": "Target-audience filter (e.g. B2B, B2C), max 128 characters",
+ "in": "query",
+ "name": "target_audience",
+ "type": "string"
+ },
+ {
+ "description": "Business-type filter (e.g. B2B, B2C), max 128 characters",
+ "in": "query",
+ "name": "business_type",
+ "type": "string"
+ },
+ {
+ "description": "Detected tech-stack slug filter (e.g. nextjs, reactnative), max 128 characters",
+ "in": "query",
+ "name": "tech",
+ "type": "string"
+ },
+ {
+ "description": "Detected marketing-channel slug filter (e.g. meta-ads, seo), max 128 characters",
+ "in": "query",
+ "name": "channel",
+ "type": "string"
+ },
+ {
+ "description": "For-sale listing-tier filter (e.g. pro), max 128 characters",
+ "in": "query",
+ "name": "listing_tier",
+ "type": "string"
+ },
+ {
+ "description": "Lifecycle enum: active, removed",
+ "enum": [
+ "active",
+ "removed"
+ ],
+ "in": "query",
+ "name": "status",
+ "type": "string"
+ },
+ {
+ "description": "Filter for startups currently listed for sale",
+ "in": "query",
+ "name": "on_sale",
+ "type": "boolean"
+ },
+ {
+ "description": "Filter for sponsored (paid-placement) listings",
+ "in": "query",
+ "name": "is_sponsored",
+ "type": "boolean"
+ },
+ {
+ "description": "Minimum verified MRR in USD",
+ "in": "query",
+ "name": "min_mrr",
+ "type": "number"
+ },
+ {
+ "description": "Maximum verified MRR in USD",
+ "in": "query",
+ "name": "max_mrr",
+ "type": "number"
+ },
+ {
+ "description": "Minimum verified all-time revenue in USD",
+ "in": "query",
+ "name": "min_revenue",
+ "type": "number"
+ },
+ {
+ "description": "Minimum verified last-30-days revenue in USD",
+ "in": "query",
+ "name": "min_revenue_30d",
+ "type": "number"
+ },
+ {
+ "description": "Minimum last-30-days traffic (visits)",
+ "in": "query",
+ "name": "min_traffic",
+ "type": "number"
+ },
+ {
+ "description": "Minimum 30-day revenue growth percentage",
+ "in": "query",
+ "name": "min_growth",
+ "type": "number"
+ },
+ {
+ "description": "Maximum asking-price-to-revenue multiple",
+ "in": "query",
+ "name": "max_multiple",
+ "type": "number"
+ },
+ {
+ "description": "Minimum asking price in USD",
+ "in": "query",
+ "name": "min_asking_price",
+ "type": "number"
+ },
+ {
+ "description": "Maximum asking price in USD",
+ "in": "query",
+ "name": "max_asking_price",
+ "type": "number"
+ },
+ {
+ "description": "Minimum Ahrefs Domain Rating",
+ "in": "query",
+ "name": "min_ahrefs_dr",
+ "type": "integer"
+ },
+ {
+ "description": "Sort enum: relevance, mrr_desc, revenue_desc, revenue_30d_desc, traffic_desc, growth_desc, deal_score_desc, price_asc, price_desc, multiple_asc, founded_desc",
+ "enum": [
+ "relevance",
+ "mrr_desc",
+ "revenue_desc",
+ "revenue_30d_desc",
+ "traffic_desc",
+ "growth_desc",
+ "deal_score_desc",
+ "price_asc",
+ "price_desc",
+ "multiple_asc",
+ "founded_desc"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Page number, defaults to 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, defaults to 20 and maxes at 100; page * page_size must be <= 10000",
+ "in": "query",
+ "name": "page_size",
+ "type": "integer"
}
],
"produces": [
@@ -305687,7 +382554,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/chewy.categoriesResponseDoc"
+ "$ref": "#/definitions/datasets.trustmrrSearchResponseDoc"
}
},
"400": {
@@ -305702,8 +382569,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -305714,68 +382581,164 @@
"ApiKeyAuth": []
}
],
- "summary": "Browse Chewy's category taxonomy tree",
+ "summary": "Search the TrustMRR dataset",
"tags": [
- "Chewy"
+ "Datasets"
]
}
},
- "/chewy/category": {
+ "/datasets/vehicle-listings/facets": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns one page (36 products) of a Chewy category/browse listing's product grid (price, autoship price/discount, stock, rating, images), plus embedded facets and breadcrumbs. group_id is Chewy's own numeric category id -- the trailing id segment of a chewy.com/b/- browse URL, e.g. 294 for /b/dry-food-294. Every breadcrumbs[].group_id and facets[].options[].value in a response is a ready-to-use group_id for a follow-up call, so a caller can discover the full category taxonomy starting from a known category. A group_id Chewy does not recognize returns a 404 rather than an unfiltered listing. sort and filter narrow/reorder the listing; every facets[].value paired with one of that facet's options[].value from any prior response is a valid filter key:value pair (e.g. brand, breed size, flavor, price range, customer rating -- whichever facets that category exposes). Set include_content to also return the category's curated editorial content -- Chewy's own FAQ question/answer pairs, the rich category description, and the SEO page title and meta description; it costs no extra upstream call and is omitted entirely when not requested. A keyword search carries none of this content, so it is a category-only addition.",
- "operationId": "chewy-category",
+ "description": "Returns terms aggregation counts for the vehicle listings dataset. Facet enum: `source`, `make`, `model`, `trim`, `body_style`, `transmission`, `drive_type`, `fuel_type`, `seller_type`, `state`, `run_id`.",
+ "operationId": "datasets-vehicle-listings-facets",
"parameters": [
{
- "description": "Chewy's numeric category id, e.g. \\",
+ "description": "Facet enum: source, make, model, trim, body_style, transmission, drive_type, fuel_type, seller_type, state, run_id",
+ "enum": [
+ "source",
+ "make",
+ "model",
+ "trim",
+ "body_style",
+ "transmission",
+ "drive_type",
+ "fuel_type",
+ "seller_type",
+ "state",
+ "run_id"
+ ],
"in": "query",
- "name": "group_id",
+ "name": "facet",
"required": true,
"type": "string",
- "x-example": "294"
+ "x-example": "source"
},
{
- "description": "Page number, 36 products per page (default 1)",
+ "description": "Full-text query over make, model and trim, max 256 characters",
"in": "query",
- "name": "page",
- "type": "integer",
- "x-example": 1
+ "name": "q",
+ "type": "string"
},
{
- "description": "Sort order. One of byRelevance, byNewest, byPopularity, byLowestPrice, byHighestPrice, byRating, byRatingCount. Defaults to Chewy's own relevance ordering when omitted.",
+ "description": "Exact source marketplace filter: carmax, autotrader, carsdotcom",
"enum": [
- "byRelevance",
- "byNewest",
- "byPopularity",
- "byLowestPrice",
- "byHighestPrice",
- "byRating",
- "byRatingCount"
+ "carmax",
+ "autotrader",
+ "carsdotcom"
],
"in": "query",
- "name": "sort",
- "type": "string",
- "x-example": "byRating"
+ "name": "source",
+ "type": "string"
},
{
- "collectionFormat": "csv",
- "description": "Repeatable, up to 10. Each value is \\",
+ "description": "Exact make filter, max 128 characters",
"in": "query",
- "items": {
- "type": "string"
- },
- "name": "filter",
- "type": "array",
- "x-example": "brand_facet:ACANA"
+ "name": "make",
+ "type": "string"
+ },
+ {
+ "description": "Exact model filter, max 128 characters",
+ "in": "query",
+ "name": "model",
+ "type": "string"
+ },
+ {
+ "description": "Exact trim filter, max 128 characters",
+ "in": "query",
+ "name": "trim",
+ "type": "string"
+ },
+ {
+ "description": "Exact body style filter, max 128 characters",
+ "in": "query",
+ "name": "body_style",
+ "type": "string"
+ },
+ {
+ "description": "Exact transmission filter, max 128 characters",
+ "in": "query",
+ "name": "transmission",
+ "type": "string"
+ },
+ {
+ "description": "Exact drivetrain filter, max 128 characters",
+ "in": "query",
+ "name": "drive_type",
+ "type": "string"
+ },
+ {
+ "description": "Exact fuel type filter, max 128 characters",
+ "in": "query",
+ "name": "fuel_type",
+ "type": "string"
+ },
+ {
+ "description": "Exact seller type filter: retailer, dealer, private",
+ "enum": [
+ "retailer",
+ "dealer",
+ "private"
+ ],
+ "in": "query",
+ "name": "seller_type",
+ "type": "string"
+ },
+ {
+ "description": "Exact US state abbreviation filter, max 8 characters",
+ "in": "query",
+ "name": "state",
+ "type": "string"
+ },
+ {
+ "description": "Exact VIN filter",
+ "in": "query",
+ "name": "vin",
+ "type": "string"
+ },
+ {
+ "description": "Exact crawl run-id filter, max 128 characters",
+ "in": "query",
+ "name": "run_id",
+ "type": "string"
+ },
+ {
+ "description": "Filter for listings currently marked down from a previous price",
+ "in": "query",
+ "name": "is_price_reduced",
+ "type": "boolean"
+ },
+ {
+ "description": "Minimum model year",
+ "in": "query",
+ "name": "min_year",
+ "type": "integer"
+ },
+ {
+ "description": "Maximum model year",
+ "in": "query",
+ "name": "max_year",
+ "type": "integer"
+ },
+ {
+ "description": "Minimum price in US dollars",
+ "in": "query",
+ "name": "min_price",
+ "type": "number"
+ },
+ {
+ "description": "Maximum price in US dollars",
+ "in": "query",
+ "name": "max_price",
+ "type": "number"
},
{
- "description": "Also return the category's curated editorial content -- Chewy's own FAQ question/answer pairs, the rich category description, and the SEO page title/meta description. Costs no extra upstream call. Omitted entirely when false (the default).",
+ "description": "Maximum odometer mileage",
"in": "query",
- "name": "include_content",
- "type": "boolean",
- "x-example": true
+ "name": "max_mileage",
+ "type": "integer"
}
],
"produces": [
@@ -305785,7 +382748,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/chewy.categoryResponseDoc"
+ "$ref": "#/definitions/datasets.vehicleListingsFacetResponseDoc"
}
},
"400": {
@@ -305794,20 +382757,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"429": {
"description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -305818,44 +382775,27 @@
"ApiKeyAuth": []
}
],
- "summary": "Browse a Chewy category listing",
+ "summary": "Facet vehicle listings dataset",
"tags": [
- "Chewy"
+ "Datasets"
]
}
},
- "/chewy/facets": {
+ "/datasets/vehicle-listings/items/{id}": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns the full set of refinement options (facets) a Chewy category or keyword search can be narrowed by -- brand, sub-category, lifestage, food form, breed size, special diet, health feature, flavor, ingredient, packaging type, price band, customer rating, and whichever other dimensions that listing exposes -- with each option's product count. No products are returned, so this is a much smaller call than chewy_category/chewy_search when only the option set is wanted. The Brand dimension is effectively Chewy's brand directory for the requested listing: each brand option carries its product count and, where Chewy publishes one, its own chewy.com/brands/- landing-page slug in seo_hvf_slug. Exactly one of group_id or q is required. Every facets[].value paired with one of that facet's options[].value is a ready-to-use filter key:value pair for this endpoint, chewy_category, and chewy_search alike; passing filter here narrows the listing first, so the returned counts describe the already-narrowed result set. A group_id Chewy does not recognize returns a 404 rather than an empty option set.",
- "operationId": "chewy-facets",
+ "description": "Returns one vehicle listing from the dataset by `id`, formatted `:`, such as `carmax:28187774`. The record has VIN, year, make, model, trim, mileage, price and previous price, colours, drivetrain, seller, location and first and last seen times. An unknown id returns 404.",
+ "operationId": "datasets-vehicle-listings-item",
"parameters": [
{
- "description": "Chewy's numeric category id, e.g. \\",
- "in": "query",
- "name": "group_id",
- "type": "string",
- "x-example": "294"
- },
- {
- "description": "Free-text search keywords to return refinement options for, e.g. \\",
- "in": "query",
- "name": "q",
+ "description": "Vehicle listing id, formatted : (e.g. carmax:28187774)",
+ "in": "path",
+ "name": "id",
+ "required": true,
"type": "string",
- "x-example": "salmon dog food"
- },
- {
- "collectionFormat": "csv",
- "description": "Repeatable, up to 10. Each value is \\",
- "in": "query",
- "items": {
- "type": "string"
- },
- "name": "filter",
- "type": "array",
- "x-example": "brand_facet:ACANA"
+ "x-example": "carmax:28187774"
}
],
"produces": [
@@ -305865,7 +382805,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/chewy.facetsResponseDoc"
+ "$ref": "#/definitions/datasets.vehicleListingResponseDoc"
}
},
"400": {
@@ -305886,8 +382826,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -305898,27 +382838,27 @@
"ApiKeyAuth": []
}
],
- "summary": "List a Chewy category or search's refinement options",
+ "summary": "Get a vehicle listing from dataset",
"tags": [
- "Chewy"
+ "Datasets"
]
}
},
- "/chewy/gtin-lookup": {
+ "/datasets/vehicle-listings/price-history/{id}": {
"get": {
"consumes": [
"application/json"
],
- "description": "Resolves a batch of up to 20 GTIN/UPC barcodes to their Chewy part numbers in one call. gtins is a comma-separated list of barcodes, e.g. \"192268541316\". A barcode Chewy does not recognize is omitted from part_numbers and listed in not_found rather than causing the whole call to fail. The resolved part_numbers values feed directly into chewy_product/chewy_products.",
- "operationId": "chewy-gtin-lookup",
+ "description": "Returns the recorded price-change events for one listing, oldest first. An event is recorded only when a crawl first observes the listing or observes a changed price -- not one entry per crawl pass -- so a listing whose price has never changed since it was first crawled returns a single entry.",
+ "operationId": "datasets-vehicle-listings-price-history",
"parameters": [
{
- "description": "Comma-separated GTIN/UPC barcodes, up to 20",
- "in": "query",
- "name": "gtins",
+ "description": "Vehicle listing id, formatted : (e.g. carmax:28187774)",
+ "in": "path",
+ "name": "id",
"required": true,
"type": "string",
- "x-example": "192268541316"
+ "x-example": "carmax:28187774"
}
],
"produces": [
@@ -305928,7 +382868,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/chewy.gtinLookupResponseDoc"
+ "$ref": "#/definitions/datasets.vehicleListingPriceHistoryResponseDoc"
}
},
"400": {
@@ -305943,8 +382883,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -305955,27 +382895,172 @@
"ApiKeyAuth": []
}
],
- "summary": "Resolve Chewy GTIN/UPC barcodes to part numbers",
+ "summary": "Get a vehicle listing's price history",
"tags": [
- "Chewy"
+ "Datasets"
]
}
},
- "/chewy/inventory": {
+ "/datasets/vehicle-listings/search": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns Chewy's live warehouse inventory position for up to 20 products in one call, keyed by part number: the availability status, total units on hand, units inbound/in progress, units already reserved against unshipped orders, and the quantity actually available to the storefront. This is the only Chewy surface that carries real quantities -- every other endpoint in this family reports stock as a single boolean, so \"36 units left\" and \"84,386 units left\" are indistinguishable there. Quantities are live and move between calls. Part numbers Chewy does not return inventory for are reported in not_found; if none resolve the response is a 404.",
- "operationId": "chewy-inventory",
+ "description": "Searches the crawled used-vehicle listings index. source enum: `carmax`, `autotrader`, `carsdotcom`. CarMax's own national inventory is fully enumerable (re-crawled on a standing schedule); Autotrader/Cars.com coverage is a best-effort zip-code sweep, not exhaustive, and their rows approximate city/state from the searched area rather than the seller's exact location. seller_type enum: `retailer`, `dealer`, `private` (not populated for every row -- see the dataset markdown). Sort enum: `relevance`, `recently_updated`, `newly_listed`, `price_asc`, `price_desc`, `mileage_asc`, `mileage_desc`, `year_desc`, `year_asc`. Billing: this search costs 1 credit per record returned, with a minimum of 2 (an empty result costs 2, a full page of 100 costs 100).",
+ "operationId": "datasets-vehicle-listings-search",
"parameters": [
{
- "description": "Comma-separated Chewy part numbers, up to 20 per request, e.g. \\",
+ "description": "Full-text query over make, model and trim, max 256 characters",
"in": "query",
- "name": "part_numbers",
- "required": true,
- "type": "string",
- "x-example": "101143,52448"
+ "name": "q",
+ "type": "string"
+ },
+ {
+ "description": "Exact source marketplace filter: carmax, autotrader, carsdotcom",
+ "enum": [
+ "carmax",
+ "autotrader",
+ "carsdotcom"
+ ],
+ "in": "query",
+ "name": "source",
+ "type": "string"
+ },
+ {
+ "description": "Exact make filter (e.g. Honda, Toyota), max 128 characters",
+ "in": "query",
+ "name": "make",
+ "type": "string"
+ },
+ {
+ "description": "Exact model filter (e.g. Civic), max 128 characters",
+ "in": "query",
+ "name": "model",
+ "type": "string"
+ },
+ {
+ "description": "Exact trim filter, max 128 characters",
+ "in": "query",
+ "name": "trim",
+ "type": "string"
+ },
+ {
+ "description": "Exact body style filter (e.g. Sedan, SUV), max 128 characters",
+ "in": "query",
+ "name": "body_style",
+ "type": "string"
+ },
+ {
+ "description": "Exact transmission filter, max 128 characters",
+ "in": "query",
+ "name": "transmission",
+ "type": "string"
+ },
+ {
+ "description": "Exact drivetrain filter, max 128 characters",
+ "in": "query",
+ "name": "drive_type",
+ "type": "string"
+ },
+ {
+ "description": "Exact fuel type filter (e.g. Gas, Hybrid, Electric), max 128 characters",
+ "in": "query",
+ "name": "fuel_type",
+ "type": "string"
+ },
+ {
+ "description": "Exact seller type filter: retailer, dealer, private",
+ "enum": [
+ "retailer",
+ "dealer",
+ "private"
+ ],
+ "in": "query",
+ "name": "seller_type",
+ "type": "string"
+ },
+ {
+ "description": "Exact US state abbreviation filter (e.g. CA), max 8 characters",
+ "in": "query",
+ "name": "state",
+ "type": "string"
+ },
+ {
+ "description": "Exact VIN filter. Best-effort: not guaranteed on every listing",
+ "in": "query",
+ "name": "vin",
+ "type": "string"
+ },
+ {
+ "description": "Exact crawl run-id filter, max 128 characters",
+ "in": "query",
+ "name": "run_id",
+ "type": "string"
+ },
+ {
+ "description": "Filter for listings currently marked down from a previous price",
+ "in": "query",
+ "name": "is_price_reduced",
+ "type": "boolean"
+ },
+ {
+ "description": "Minimum model year",
+ "in": "query",
+ "name": "min_year",
+ "type": "integer"
+ },
+ {
+ "description": "Maximum model year",
+ "in": "query",
+ "name": "max_year",
+ "type": "integer"
+ },
+ {
+ "description": "Minimum price in US dollars",
+ "in": "query",
+ "name": "min_price",
+ "type": "number"
+ },
+ {
+ "description": "Maximum price in US dollars",
+ "in": "query",
+ "name": "max_price",
+ "type": "number"
+ },
+ {
+ "description": "Maximum odometer mileage",
+ "in": "query",
+ "name": "max_mileage",
+ "type": "integer"
+ },
+ {
+ "description": "Sort enum: relevance, recently_updated, newly_listed, price_asc, price_desc, mileage_asc, mileage_desc, year_desc, year_asc",
+ "enum": [
+ "relevance",
+ "recently_updated",
+ "newly_listed",
+ "price_asc",
+ "price_desc",
+ "mileage_asc",
+ "mileage_desc",
+ "year_desc",
+ "year_asc"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Page number, defaults to 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, defaults to 20 and maxes at 100; page * page_size must be <= 10000",
+ "in": "query",
+ "name": "page_size",
+ "type": "integer"
}
],
"produces": [
@@ -305985,7 +383070,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/chewy.inventoryResponseDoc"
+ "$ref": "#/definitions/datasets.vehicleListingsSearchResponseDoc"
}
},
"400": {
@@ -305994,20 +383079,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"429": {
"description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -306018,40 +383097,132 @@
"ApiKeyAuth": []
}
],
- "summary": "Look up live warehouse inventory for a batch of Chewy products",
+ "summary": "Search vehicle listings dataset",
"tags": [
- "Chewy"
+ "Datasets"
]
}
},
- "/chewy/item-attributes": {
+ "/datasets/x-users/facets": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns Chewy's own specification table for up to 20 products in one call, keyed by part number -- the structured attribute list (lifestage, pet type, product type, material, made-in country, packaging type, flavor, defining size, plus long-form key-benefits and cautions copy), together with the handling and compliance flags that govern how an item ships (pharmaceutical, prescription vet-diet, frozen, refrigerated, single-tablet, gift card), its bundle structure and component SKUs, its autoship eligibility/discount and preset reorder cadence, its merchandising classification path, and the numeric category group ids it belongs to (each usable directly as chewy_category's group_id). This complements rather than repeats chewy_products and chewy_product: price, rating, images, reviews, and descriptions stay on those endpoints, and the attribute table is not available from either. Use the group parameter to return a single attribute group. Part numbers Chewy does not recognize are reported in not_found; if none of them resolve the response is a 404.",
- "operationId": "chewy-item-attributes",
+ "description": "Returns value counts for the X users dataset by the required `facet`: `is_blue_verified`, `has_bio`, `has_external_url` or `source_tier`. The counts follow the search filters, including `q`, follower and ratio ranges, and creation or crawl dates. At most 50 values come back, largest count first.",
+ "operationId": "datasets-x-users-facets",
"parameters": [
{
- "description": "Comma-separated Chewy part numbers, up to 20 per request, e.g. \\",
+ "description": "Facet enum: is_blue_verified, has_bio, has_external_url, source_tier",
+ "enum": [
+ "is_blue_verified",
+ "has_bio",
+ "has_external_url",
+ "source_tier"
+ ],
"in": "query",
- "name": "part_numbers",
+ "name": "facet",
"required": true,
"type": "string",
- "x-example": "52448,101143"
+ "x-example": "is_blue_verified"
},
{
- "description": "Return only attributes in one group. One of DEFINING, STANDARD, EXTENDED, HIDDEN. Omit for every group.",
+ "description": "Full-text query over username, name, bio and location, max 256 characters",
+ "in": "query",
+ "name": "q",
+ "type": "string"
+ },
+ {
+ "description": "Exact username filter (case-insensitive), max 128 characters",
+ "in": "query",
+ "name": "username",
+ "type": "string"
+ },
+ {
+ "description": "Exact filter for which seed tier discovered this account",
+ "in": "query",
+ "name": "source_tier",
+ "type": "string"
+ },
+ {
+ "description": "Filter by the X blue-check verification flag",
+ "in": "query",
+ "name": "is_blue_verified",
+ "type": "boolean"
+ },
+ {
+ "description": "Filter by a non-empty profile bio",
+ "in": "query",
+ "name": "has_bio",
+ "type": "boolean"
+ },
+ {
+ "description": "Filter by a linked external URL",
+ "in": "query",
+ "name": "has_external_url",
+ "type": "boolean"
+ },
+ {
+ "description": "Minimum follower count",
+ "in": "query",
+ "name": "min_followers",
+ "type": "integer"
+ },
+ {
+ "description": "Maximum follower count",
+ "in": "query",
+ "name": "max_followers",
+ "type": "integer"
+ },
+ {
+ "description": "Minimum follower-to-following ratio",
+ "in": "query",
+ "name": "min_ratio",
+ "type": "number"
+ },
+ {
+ "description": "Maximum follower-to-following ratio",
+ "in": "query",
+ "name": "max_ratio",
+ "type": "number"
+ },
+ {
+ "description": "Accounts created on or after this date (RFC3339 or YYYY-MM-DD)",
+ "in": "query",
+ "name": "created_after",
+ "type": "string"
+ },
+ {
+ "description": "Accounts created on or before this date (RFC3339 or YYYY-MM-DD)",
+ "in": "query",
+ "name": "created_before",
+ "type": "string"
+ },
+ {
+ "description": "Records last refreshed on or after this date (RFC3339 or YYYY-MM-DD)",
+ "in": "query",
+ "name": "crawled_after",
+ "type": "string"
+ },
+ {
+ "description": "Records last refreshed on or before this date (RFC3339 or YYYY-MM-DD)",
+ "in": "query",
+ "name": "crawled_before",
+ "type": "string"
+ },
+ {
+ "description": "Sort enum: relevance, followers_desc, followers_asc, crawled_at_desc, crawled_at_asc, created_at_desc, created_at_asc",
"enum": [
- "DEFINING",
- "STANDARD",
- "EXTENDED",
- "HIDDEN"
+ "relevance",
+ "followers_desc",
+ "followers_asc",
+ "crawled_at_desc",
+ "crawled_at_asc",
+ "created_at_desc",
+ "created_at_asc"
],
"in": "query",
- "name": "group",
- "type": "string",
- "x-example": "STANDARD"
+ "name": "sort",
+ "type": "string"
}
],
"produces": [
@@ -306061,7 +383232,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/chewy.itemAttributesResponseDoc"
+ "$ref": "#/definitions/datasets.xUsersFacetResponseDoc"
}
},
"400": {
@@ -306070,20 +383241,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"429": {
"description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -306094,27 +383259,27 @@
"ApiKeyAuth": []
}
],
- "summary": "Look up a batch of Chewy products' structured attributes and handling flags",
+ "summary": "Facet the X users dataset",
"tags": [
- "Chewy"
+ "Datasets"
]
}
},
- "/chewy/product": {
+ "/datasets/x-users/items/{username}": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns one Chewy product's full detail: name, brand, description, images, price, stock, rating and its star-count breakdown, category breadcrumbs, customer questions and answers, and customer reviews. id is the numeric id from a chewy.com PDP URL, e.g. 185468 from https://www.chewy.com/frisco-lion-mane-dog-cat-costume/dp/185468 -- also the same value a chewy_category response's products[].part_number field carries for that product's own default variant. The response also carries the item's shipping weight and package dimensions as Chewy states them, its per-order purchase limit, and any promotions currently attached to it (each with a type such as \"Spend $X\" or \"BOGO\", plus short and long descriptions).",
- "operationId": "chewy-product",
+ "description": "Returns one X user from the dataset by `username`, with or without a leading @. The record has name, bio, location, external URL, avatar and banner, followers, following, posts, likes, listed count, blue-verified flag and verified type. An unknown username returns 404; no live scrape runs.",
+ "operationId": "datasets-x-users-item",
"parameters": [
{
- "description": "Numeric id from a chewy.com PDP URL",
- "in": "query",
- "name": "id",
+ "description": "X username, with or without a leading @, max 128 characters",
+ "in": "path",
+ "name": "username",
"required": true,
"type": "string",
- "x-example": "185468"
+ "x-example": "elonmusk"
}
],
"produces": [
@@ -306124,7 +383289,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/chewy.productResponseDoc"
+ "$ref": "#/definitions/datasets.xUserResponseDoc"
}
},
"400": {
@@ -306145,8 +383310,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -306157,48 +383322,130 @@
"ApiKeyAuth": []
}
],
- "summary": "Get a Chewy product's detail",
+ "summary": "Get an X user from the dataset",
"tags": [
- "Chewy"
+ "Datasets"
]
}
},
- "/chewy/product-questions": {
+ "/datasets/x-users/search": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns one page of a Chewy product's customer questions, each with its answers (text, author, date, staff flag, helpful count). chewy_product embeds only the first 20 questions with no way to page past them; this endpoint reaches the whole set. id is the numeric id from any chewy.com PDP URL, and questions are shared across a product's variants, so any variant's id returns the same set. Each question reports answers_total alongside its answers array, so a caller can tell when answers were truncated by answer_limit. Chewy offers no sort or filter on questions, so this endpoint deliberately exposes paging only.",
- "operationId": "chewy-product-questions",
+ "description": "Searches public X (Twitter) user profiles stored in a search index. Sort enum: `relevance`, `followers_desc`, `followers_asc`, `crawled_at_desc`, `crawled_at_asc`, `created_at_desc`, `created_at_asc`. Billing: this search costs 1 credit per record returned, with a minimum of 2 (an empty result costs 2, a full page of 100 costs 100).",
+ "operationId": "datasets-x-users-search",
"parameters": [
{
- "description": "The numeric id from a chewy.com PDP URL, e.g. \\",
+ "description": "Full-text query over username, name, bio and location, max 256 characters",
"in": "query",
- "name": "id",
- "required": true,
- "type": "string",
- "x-example": "767806"
+ "name": "q",
+ "type": "string"
},
{
- "description": "Page number, 1-based (default 1).",
+ "description": "Exact username filter (case-insensitive), max 128 characters",
"in": "query",
- "name": "page",
- "type": "integer",
- "x-example": 1
+ "name": "username",
+ "type": "string"
},
{
- "description": "Questions per page, 1 to 50 (default 20).",
+ "description": "Exact filter for which seed tier discovered this account, e.g. github-users, wikidata, tiktok-creators, journalists",
"in": "query",
- "name": "limit",
- "type": "integer",
- "x-example": 20
+ "name": "source_tier",
+ "type": "string"
},
{
- "description": "Answers to return per question, 1 to 20 (default 10). Each question also reports answers_total.",
+ "description": "Filter by the X blue-check verification flag",
"in": "query",
- "name": "answer_limit",
- "type": "integer",
- "x-example": 10
+ "name": "is_blue_verified",
+ "type": "boolean"
+ },
+ {
+ "description": "Filter by a non-empty profile bio",
+ "in": "query",
+ "name": "has_bio",
+ "type": "boolean"
+ },
+ {
+ "description": "Filter by a linked external URL",
+ "in": "query",
+ "name": "has_external_url",
+ "type": "boolean"
+ },
+ {
+ "description": "Minimum follower count",
+ "in": "query",
+ "name": "min_followers",
+ "type": "integer"
+ },
+ {
+ "description": "Maximum follower count",
+ "in": "query",
+ "name": "max_followers",
+ "type": "integer"
+ },
+ {
+ "description": "Minimum follower-to-following ratio (low values surface follow-spam / bot-like accounts)",
+ "in": "query",
+ "name": "min_ratio",
+ "type": "number"
+ },
+ {
+ "description": "Maximum follower-to-following ratio",
+ "in": "query",
+ "name": "max_ratio",
+ "type": "number"
+ },
+ {
+ "description": "Accounts created on or after this date (RFC3339 or YYYY-MM-DD)",
+ "in": "query",
+ "name": "created_after",
+ "type": "string"
+ },
+ {
+ "description": "Accounts created on or before this date (RFC3339 or YYYY-MM-DD)",
+ "in": "query",
+ "name": "created_before",
+ "type": "string"
+ },
+ {
+ "description": "Records last refreshed on or after this date (RFC3339 or YYYY-MM-DD)",
+ "in": "query",
+ "name": "crawled_after",
+ "type": "string"
+ },
+ {
+ "description": "Records last refreshed on or before this date (RFC3339 or YYYY-MM-DD)",
+ "in": "query",
+ "name": "crawled_before",
+ "type": "string"
+ },
+ {
+ "description": "Sort enum: relevance, followers_desc, followers_asc, crawled_at_desc, crawled_at_asc, created_at_desc, created_at_asc",
+ "enum": [
+ "relevance",
+ "followers_desc",
+ "followers_asc",
+ "crawled_at_desc",
+ "crawled_at_asc",
+ "created_at_desc",
+ "created_at_asc"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string"
+ },
+ {
+ "description": "Page number, defaults to 1",
+ "in": "query",
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, defaults to 20 and maxes at 100; page * page_size must be <= 10000",
+ "in": "query",
+ "name": "page_size",
+ "type": "integer"
}
],
"produces": [
@@ -306208,7 +383455,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/chewy.questionsResponseDoc"
+ "$ref": "#/definitions/datasets.xUsersSearchResponseDoc"
}
},
"400": {
@@ -306217,20 +383464,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"429": {
"description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -306241,67 +383482,160 @@
"ApiKeyAuth": []
}
],
- "summary": "List a Chewy product's customer questions and answers, paginated",
+ "summary": "Search the X users dataset",
"tags": [
- "Chewy"
+ "Datasets"
]
}
},
- "/chewy/product-reviews": {
+ "/datasets/youtube-creators/facets": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns one page of a Chewy product's customer reviews -- rating, title, body, author, submission date, helpful count, incentivized flag, and contributor badge -- with sorting and positive/negative filtering. chewy_product embeds only the first 20 reviews with no way to page past them; this endpoint reaches the whole set (products routinely carry thousands). id is the numeric id from any chewy.com PDP URL, and reviews are shared across a product's variants, so any variant's id returns the same set. total is the count for the current filter, so it drops when filter is applied, while rating_count stays the product's overall rating tally.",
- "operationId": "chewy-product-reviews",
+ "description": "Returns value counts for the YouTube creators dataset by the required `facet`: `region` or `discovery_source`. The counts honour the search filters, such as subscriber, video and view ranges and join or refresh dates, and cover the top 50 values.",
+ "operationId": "datasets-youtube-creators-facets",
"parameters": [
{
- "description": "The numeric id from a chewy.com PDP URL, e.g. \\",
+ "description": "Facet enum: region, discovery_source",
+ "enum": [
+ "region",
+ "discovery_source"
+ ],
"in": "query",
- "name": "id",
+ "name": "facet",
"required": true,
"type": "string",
- "x-example": "767806"
+ "x-example": "region"
},
{
- "description": "Page number, 1-based (default 1).",
+ "description": "Full-text query over channel_name and bio, max 256 characters",
"in": "query",
- "name": "page",
- "type": "integer",
- "x-example": 1
+ "name": "q",
+ "type": "string"
},
{
- "description": "Reviews per page, 1 to 50 (default 20).",
+ "description": "Exact channel id filter, max 128 characters",
"in": "query",
- "name": "limit",
- "type": "integer",
- "x-example": 20
+ "name": "channel_id",
+ "type": "string"
},
{
- "description": "Sort order. One of MOST_RELEVANT, NEWEST, OLDEST, HIGHEST_RATING, LOWEST_RATING, PHOTOS. Defaults to Chewy's own ordering when omitted.",
- "enum": [
- "MOST_RELEVANT",
- "NEWEST",
- "OLDEST",
- "HIGHEST_RATING",
- "LOWEST_RATING",
- "PHOTOS"
- ],
+ "description": "Exact channel region/country filter (case-insensitive), max 128 characters",
"in": "query",
- "name": "sort",
- "type": "string",
- "x-example": "NEWEST"
+ "name": "region",
+ "type": "string"
},
{
- "description": "Restrict to POSITIVE (4-5 star) or NEGATIVE (1-3 star) reviews. Omit for all.",
+ "description": "Exact filter for how the channel was discovered, max 128 characters",
+ "in": "query",
+ "name": "discovery_source",
+ "type": "string"
+ },
+ {
+ "description": "Filter by a non-empty About bio",
+ "in": "query",
+ "name": "has_bio",
+ "type": "boolean"
+ },
+ {
+ "description": "Filter by at least one linked external URL",
+ "in": "query",
+ "name": "has_links",
+ "type": "boolean"
+ },
+ {
+ "description": "Filter by whether the channel exposes a public subscriber count",
+ "in": "query",
+ "name": "followers_count_available",
+ "type": "boolean"
+ },
+ {
+ "description": "Filter by whether the channel has a known uploaded-video count",
+ "in": "query",
+ "name": "videos_count_available",
+ "type": "boolean"
+ },
+ {
+ "description": "Filter by whether the channel has a known total view count",
+ "in": "query",
+ "name": "views_count_available",
+ "type": "boolean"
+ },
+ {
+ "description": "Minimum subscriber count",
+ "in": "query",
+ "name": "min_followers",
+ "type": "integer"
+ },
+ {
+ "description": "Maximum subscriber count",
+ "in": "query",
+ "name": "max_followers",
+ "type": "integer"
+ },
+ {
+ "description": "Minimum uploaded-video count",
+ "in": "query",
+ "name": "min_videos",
+ "type": "integer"
+ },
+ {
+ "description": "Maximum uploaded-video count",
+ "in": "query",
+ "name": "max_videos",
+ "type": "integer"
+ },
+ {
+ "description": "Minimum total view count",
+ "in": "query",
+ "name": "min_views",
+ "type": "integer"
+ },
+ {
+ "description": "Maximum total view count",
+ "in": "query",
+ "name": "max_views",
+ "type": "integer"
+ },
+ {
+ "description": "Channels created on or after this date (RFC3339 or YYYY-MM-DD)",
+ "in": "query",
+ "name": "joined_after",
+ "type": "string"
+ },
+ {
+ "description": "Channels created on or before this date (RFC3339 or YYYY-MM-DD)",
+ "in": "query",
+ "name": "joined_before",
+ "type": "string"
+ },
+ {
+ "description": "Records last refreshed on or after this date (RFC3339 or YYYY-MM-DD)",
+ "in": "query",
+ "name": "hydrated_after",
+ "type": "string"
+ },
+ {
+ "description": "Records last refreshed on or before this date (RFC3339 or YYYY-MM-DD)",
+ "in": "query",
+ "name": "hydrated_before",
+ "type": "string"
+ },
+ {
+ "description": "Sort enum: relevance, followers_desc, followers_asc, views_desc, videos_desc, hydrated_at_desc, hydrated_at_asc",
"enum": [
- "POSITIVE",
- "NEGATIVE"
+ "relevance",
+ "followers_desc",
+ "followers_asc",
+ "views_desc",
+ "videos_desc",
+ "hydrated_at_desc",
+ "hydrated_at_asc"
],
"in": "query",
- "name": "filter",
- "type": "string",
- "x-example": "POSITIVE"
+ "name": "sort",
+ "type": "string"
}
],
"produces": [
@@ -306311,7 +383645,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/chewy.reviewsResponseDoc"
+ "$ref": "#/definitions/datasets.youtubeCreatorsFacetResponseDoc"
}
},
"400": {
@@ -306320,20 +383654,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"429": {
"description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -306344,27 +383672,27 @@
"ApiKeyAuth": []
}
],
- "summary": "List a Chewy product's customer reviews, paginated",
+ "summary": "Facet the YouTube creators dataset",
"tags": [
- "Chewy"
+ "Datasets"
]
}
},
- "/chewy/products": {
+ "/datasets/youtube-creators/items/{channel_id}": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns a batch of up to 20 Chewy products' lightweight summaries (price, rating, stock, images) in one call. part_numbers is a comma-separated list of Chewy part numbers, e.g. \"52448,767758\" -- the same value chewy_product returns as part_number/parent_part_number, and chewy_category/chewy_search return as products[].part_number. A part number Chewy does not recognize is omitted from products and listed in not_found rather than causing the whole call to fail.",
- "operationId": "chewy-products",
+ "description": "Returns one YouTube channel from the dataset by `channel_id`. The record has channel name and URL, bio, region, join date, links, profile picture, and subscriber, video and view counts, each with an availability flag. A channel not in the dataset returns 404.",
+ "operationId": "datasets-youtube-creators-item",
"parameters": [
{
- "description": "Comma-separated Chewy part numbers, up to 20",
- "in": "query",
- "name": "part_numbers",
+ "description": "YouTube channel id, e.g. UCxxxxxxxxxxxxxxxxxxxxxxxx",
+ "in": "path",
+ "name": "channel_id",
"required": true,
"type": "string",
- "x-example": "52448,767758"
+ "x-example": "UCX6OQ3DkcsbYNE6H8uQQuVA"
}
],
"produces": [
@@ -306374,7 +383702,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/chewy.productsResponseDoc"
+ "$ref": "#/definitions/datasets.youtubeCreatorResponseDoc"
}
},
"400": {
@@ -306383,14 +383711,20 @@
"$ref": "#/definitions/app.Response"
}
},
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
"429": {
"description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -306401,61 +383735,160 @@
"ApiKeyAuth": []
}
],
- "summary": "Get a batch of Chewy products' lightweight summaries",
+ "summary": "Get a YouTube creator from the dataset",
"tags": [
- "Chewy"
+ "Datasets"
]
}
},
- "/chewy/search": {
+ "/datasets/youtube-creators/search": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns one page of a Chewy keyword search's product listing (price, autoship price/discount, stock, rating, images), plus embedded facets. q is free-text search keywords, e.g. \"salmon dog food\". A generic query that strongly matches one of Chewy's own categories (e.g. \"dog food\", \"cat litter\", \"leash\") is transparently redirected to that category's listing, the same real results a chewy.com visitor would see -- source_url reflects the actual listing fetched. sort and filter narrow/reorder the listing; every facets[].value paired with one of that facet's options[].value from any prior response is a valid filter key:value pair.",
- "operationId": "chewy-search",
+ "description": "Searches public YouTube channel profiles stored in a search index — subscriber, video and view counts, region, bio and links, discovered via Common Crawl and Wikidata and hydrated from each channel's public About page. Sort enum: `relevance`, `followers_desc`, `followers_asc`, `views_desc`, `videos_desc`, `hydrated_at_desc`, `hydrated_at_asc`. Some channels hide their subscriber, video, or view count; the `_available` flags on each item distinguish a hidden count (stored as `0`, `*_available: false`) from a genuine `0`. Billing: this search costs 1 credit per record returned, with a minimum of 2 (an empty result costs 2, a full page of 100 costs 100).",
+ "operationId": "datasets-youtube-creators-search",
"parameters": [
{
- "description": "Free-text search keywords",
+ "description": "Full-text query over channel_name and bio, max 256 characters",
"in": "query",
"name": "q",
- "required": true,
- "type": "string",
- "x-example": "salmon dog food"
+ "type": "string"
},
{
- "description": "Page number, 36 products per page (default 1)",
+ "description": "Exact channel id filter (e.g. UCxxxxxxxxxxxxxxxxxxxxxxxx), max 128 characters",
"in": "query",
- "name": "page",
- "type": "integer",
- "x-example": 1
+ "name": "channel_id",
+ "type": "string"
},
{
- "description": "Sort order. One of byRelevance, byNewest, byPopularity, byLowestPrice, byHighestPrice, byRating, byRatingCount. Defaults to Chewy's own relevance ordering when omitted.",
+ "description": "Exact channel region/country filter (case-insensitive), max 128 characters",
+ "in": "query",
+ "name": "region",
+ "type": "string"
+ },
+ {
+ "description": "Exact filter for how the channel was discovered (e.g. commoncrawl, wikidata), max 128 characters",
+ "in": "query",
+ "name": "discovery_source",
+ "type": "string"
+ },
+ {
+ "description": "Filter by a non-empty About bio",
+ "in": "query",
+ "name": "has_bio",
+ "type": "boolean"
+ },
+ {
+ "description": "Filter by at least one linked external URL",
+ "in": "query",
+ "name": "has_links",
+ "type": "boolean"
+ },
+ {
+ "description": "Filter by whether the channel exposes a public subscriber count",
+ "in": "query",
+ "name": "followers_count_available",
+ "type": "boolean"
+ },
+ {
+ "description": "Filter by whether the channel has a known uploaded-video count",
+ "in": "query",
+ "name": "videos_count_available",
+ "type": "boolean"
+ },
+ {
+ "description": "Filter by whether the channel has a known total view count",
+ "in": "query",
+ "name": "views_count_available",
+ "type": "boolean"
+ },
+ {
+ "description": "Minimum subscriber count",
+ "in": "query",
+ "name": "min_followers",
+ "type": "integer"
+ },
+ {
+ "description": "Maximum subscriber count",
+ "in": "query",
+ "name": "max_followers",
+ "type": "integer"
+ },
+ {
+ "description": "Minimum uploaded-video count",
+ "in": "query",
+ "name": "min_videos",
+ "type": "integer"
+ },
+ {
+ "description": "Maximum uploaded-video count",
+ "in": "query",
+ "name": "max_videos",
+ "type": "integer"
+ },
+ {
+ "description": "Minimum total view count",
+ "in": "query",
+ "name": "min_views",
+ "type": "integer"
+ },
+ {
+ "description": "Maximum total view count",
+ "in": "query",
+ "name": "max_views",
+ "type": "integer"
+ },
+ {
+ "description": "Channels created on or after this date (RFC3339 or YYYY-MM-DD)",
+ "in": "query",
+ "name": "joined_after",
+ "type": "string"
+ },
+ {
+ "description": "Channels created on or before this date (RFC3339 or YYYY-MM-DD)",
+ "in": "query",
+ "name": "joined_before",
+ "type": "string"
+ },
+ {
+ "description": "Records last refreshed on or after this date (RFC3339 or YYYY-MM-DD)",
+ "in": "query",
+ "name": "hydrated_after",
+ "type": "string"
+ },
+ {
+ "description": "Records last refreshed on or before this date (RFC3339 or YYYY-MM-DD)",
+ "in": "query",
+ "name": "hydrated_before",
+ "type": "string"
+ },
+ {
+ "description": "Sort enum: relevance, followers_desc, followers_asc, views_desc, videos_desc, hydrated_at_desc, hydrated_at_asc",
"enum": [
- "byRelevance",
- "byNewest",
- "byPopularity",
- "byLowestPrice",
- "byHighestPrice",
- "byRating",
- "byRatingCount"
+ "relevance",
+ "followers_desc",
+ "followers_asc",
+ "views_desc",
+ "videos_desc",
+ "hydrated_at_desc",
+ "hydrated_at_asc"
],
"in": "query",
"name": "sort",
- "type": "string",
- "x-example": "byRating"
+ "type": "string"
},
{
- "collectionFormat": "csv",
- "description": "Repeatable, up to 10. Each value is \\",
+ "description": "Page number, defaults to 1",
"in": "query",
- "items": {
- "type": "string"
- },
- "name": "filter",
- "type": "array",
- "x-example": "brand_facet:ACANA"
+ "name": "page",
+ "type": "integer"
+ },
+ {
+ "description": "Page size, defaults to 20 and maxes at 100; page * page_size must be <= 10000",
+ "in": "query",
+ "name": "page_size",
+ "type": "integer"
}
],
"produces": [
@@ -306465,7 +383898,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/chewy.searchResponseDoc"
+ "$ref": "#/definitions/datasets.youtubeCreatorsSearchResponseDoc"
}
},
"400": {
@@ -306480,8 +383913,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -306492,26 +383925,24 @@
"ApiKeyAuth": []
}
],
- "summary": "Search Chewy by keyword",
+ "summary": "Search the YouTube creators dataset",
"tags": [
- "Chewy"
+ "Datasets"
]
}
},
- "/chewy/suggest": {
+ "/dawn/article": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns Chewy's own search-box typeahead result for a partial query term: search-term suggestions (some resolving directly to a category/brand browse URL via their own url field) plus a handful of educational-content article suggestions. term is a partial query, e.g. \"salmon dog\" or \"blue buff\". Omit term entirely to get what Chewy shows on an empty search box instead: its current Popular Searches (each resolving to a category or brand listing) and Popular Articles.",
- "operationId": "chewy-suggest",
+ "description": "Returns one Dawn article by its canonical `url` in the form `https://www.dawn.com/news//`. The response has the title, description, publish and update times, section, authors, lead image and body `paragraphs`. Blocked or malformed pages return an upstream error.",
+ "operationId": "dawn-article",
"parameters": [
{
- "description": "Partial search text, e.g. \\",
+ "description": "Canonical Dawn article URL",
"in": "query",
- "name": "term",
+ "name": "url",
+ "required": true,
"type": "string",
- "x-example": "salmon dog"
+ "x-example": "https://www.dawn.com/news/2032361/pm-shehbaz-stresses-islamabad-mou-implementation-in-meeting-with-pezeshkian"
}
],
"produces": [
@@ -306521,7 +383952,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/chewy.suggestResponseDoc"
+ "$ref": "#/definitions/publicnews.articleResponseDoc"
}
},
"400": {
@@ -306530,8 +383961,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Too Many Requests",
+ "404": {
+ "description": "Not Found",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -306548,27 +383979,24 @@
"ApiKeyAuth": []
}
],
- "summary": "Chewy search-box typeahead suggestions",
+ "summary": "Get Dawn article content",
"tags": [
- "Chewy"
+ "Dawn"
]
}
},
- "/chewy/variants": {
+ "/dawn/author": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns the full roster of purchasable variants for the product a given item belongs to -- every size, flavor, or color Chewy sells it in -- with each variant's own part number, price, Autoship price, stock, images, and the defining option that distinguishes it (e.g. Size = Medium). id is the numeric id from any chewy.com PDP URL; passing any one variant's id returns that variant's whole family, and the variant you asked for is flagged with is_requested. This answers a question chewy_product cannot: chewy_product describes only the single variant it was given and names its parent, but never lists the siblings or their prices. Only the defining option is returned, not the full attribute table -- use chewy_item_attributes for that.",
- "operationId": "chewy-variants",
+ "description": "Returns one Dawn byline's public profile (name and biography, when Dawn publishes one) and their recent articles from a canonical author URL.",
+ "operationId": "dawn-author",
"parameters": [
{
- "description": "The numeric id from a chewy.com PDP URL, e.g. \\",
+ "description": "Canonical www.dawn.com/authors// URL",
"in": "query",
- "name": "id",
+ "name": "url",
"required": true,
"type": "string",
- "x-example": "185468"
+ "x-example": "https://www.dawn.com/authors/675/khurram-husain"
}
],
"produces": [
@@ -306578,7 +384006,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/chewy.variantsResponseDoc"
+ "$ref": "#/definitions/publicnews.dawnAuthorResponseDoc"
}
},
"400": {
@@ -306593,8 +384021,69 @@
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Too Many Requests",
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get a Dawn author profile",
+ "tags": [
+ "Dawn"
+ ]
+ }
+ },
+ "/dawn/headlines": {
+ "get": {
+ "description": "Returns the latest Dawn headlines for one section. `section` is required and takes a slug such as `pakistan`, `pakistan-sindh`, `world-south-asia`, `business-finance`, `sport-cricket`, `opinion` or `prism`. Each item has its title, URL, summary, publication time and, when the outlet provides one, image.",
+ "operationId": "dawn-headlines",
+ "parameters": [
+ {
+ "description": "Dawn section slug",
+ "enum": [
+ "pakistan",
+ "pakistan-balochistan",
+ "pakistan-ict",
+ "pakistan-kp-fata",
+ "pakistan-punjab",
+ "pakistan-sindh",
+ "world",
+ "world-south-asia",
+ "business",
+ "business-finance",
+ "sport",
+ "sport-cricket",
+ "opinion",
+ "tech",
+ "newspaper",
+ "magazines",
+ "prism"
+ ],
+ "in": "query",
+ "name": "section",
+ "required": true,
+ "type": "string",
+ "x-example": "pakistan"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.headlinesResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -306611,24 +384100,82 @@
"ApiKeyAuth": []
}
],
- "summary": "List every size/flavor variant of a Chewy product",
+ "summary": "Get Dawn section headlines",
"tags": [
- "Chewy"
+ "Dawn"
]
}
},
- "/chicagotribune/article": {
+ "/dawn/news": {
"get": {
- "description": "Returns public Chicago Tribune article metadata and body paragraphs from a canonical article URL. For subscriber-only articles the response carries the free lead-in with paywalled set to true.",
- "operationId": "chicagotribune-article",
+ "description": "Returns the current top stories from Dawn, the Pakistani newspaper. Each item has its title, URL, summary, publication time and, when the outlet provides one, image. Takes no parameters; use `dawn-headlines` for a single section.",
+ "operationId": "dawn-news",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.newsResponseDoc"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Dawn top stories",
+ "tags": [
+ "Dawn"
+ ]
+ }
+ },
+ "/dawn/sections": {
+ "get": {
+ "description": "Returns the complete public Dawn section inventory (Pakistan provinces, World, Business, Sport, Opinion, Technology, Newspaper, Magazines, and Prism) accepted by /dawn/headlines.",
+ "operationId": "dawn-sections",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.sectionsResponseDoc"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Dawn sections",
+ "tags": [
+ "Dawn"
+ ]
+ }
+ },
+ "/deadline/article": {
+ "get": {
+ "description": "Returns public Deadline article metadata (title, author(s), published/updated dates, section, lead image) and body paragraphs from a canonical article URL.",
+ "operationId": "deadline-article",
"parameters": [
{
- "description": "Canonical Chicago Tribune article URL",
+ "description": "Canonical Deadline article URL",
"in": "query",
"name": "url",
"required": true,
"type": "string",
- "x-example": "https://www.chicagotribune.com/2026/09/24/gov-jb-pritzker-illinois-lawmakers-data-centers/"
+ "x-example": "https://deadline.com/2026/09/example-story-1237111140/"
}
],
"produces": [
@@ -306665,30 +384212,31 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Chicago Tribune article content",
+ "summary": "Get Deadline article content",
"tags": [
- "Chicago Tribune"
+ "Deadline"
]
}
},
- "/chicagotribune/author": {
+ "/deadline/author": {
"get": {
- "description": "Returns one Chicago Tribune author's public profile: name, job title when listed, bio, public email and X/Twitter handle, and their recent articles.",
- "operationId": "chicagotribune-author",
+ "description": "Returns one Deadline staff writer or contributor's public profile: name, job title, headshot, biography, social/contact links, and one page of their recent articles.",
+ "operationId": "deadline-author",
"parameters": [
{
- "description": "Author slug, e.g. olivia-olander",
+ "description": "Canonical deadline.com/author/ URL",
"in": "query",
- "name": "slug",
+ "name": "url",
+ "required": true,
"type": "string",
- "x-example": "olivia-olander"
+ "x-example": "https://deadline.com/author/andreas-wiseman/"
},
{
- "description": "Canonical chicagotribune.com/author// URL; alternative to slug",
+ "description": "1-based page of recent articles to return; defaults to 1",
"in": "query",
- "name": "url",
- "type": "string",
- "x-example": "https://www.chicagotribune.com/author/olivia-olander/"
+ "name": "page",
+ "type": "integer",
+ "x-example": 1
}
],
"produces": [
@@ -306698,7 +384246,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.chicagoTribuneAuthorResponseDoc"
+ "$ref": "#/definitions/publicnews.deadlineAuthorResponseDoc"
}
},
"400": {
@@ -306725,86 +384273,74 @@
"ApiKeyAuth": []
}
],
- "summary": "Get a Chicago Tribune author profile",
+ "summary": "Get a Deadline author profile",
"tags": [
- "Chicago Tribune"
+ "Deadline"
]
}
},
- "/chicagotribune/headlines": {
+ "/deadline/headlines": {
"get": {
- "description": "Returns headlines from one Chicago Tribune section page. `section` is required and takes one of 60 slugs, such as `local-news`, `crime-public-safety`, `chicago-bears`, `restaurants-food-drink` or `naperville-sun`. Each story has a title, article URL, publication time, byline, excerpt and image where the card shows them. Most sections give about 10 stories.",
- "operationId": "chicagotribune-headlines",
+ "description": "Returns the latest Deadline headlines for one section or vertical. `section` is required and takes one of 48 slugs, for example `film`, `tv`, `box-office`, `awards`, `casting`, `reviews` or `obituaries`. Each item has its title, URL, summary, publication time, author and image.",
+ "operationId": "deadline-headlines",
"parameters": [
{
- "description": "Chicago Tribune section slug",
+ "description": "Deadline section slug",
"enum": [
+ "acquisitions",
+ "agencies",
+ "album",
+ "below-the-line",
+ "books",
+ "cancellations-renewals",
+ "casting",
+ "commentary",
+ "culture",
+ "documentary",
+ "executives",
+ "festivals",
+ "late-night-tv",
+ "legal",
"news",
- "local-news",
- "crime-public-safety",
+ "obituaries",
+ "podcast",
"politics",
- "elections",
- "immigration",
- "investigations",
- "education",
- "environment",
- "health",
- "history",
- "marijuana",
- "national",
- "news-obituaries",
- "science",
- "weather",
- "world",
- "business",
- "real-estate",
- "transportation",
- "technology",
- "aurora-beacon-news",
- "daily-southtown",
- "elgin-courier-news",
- "lake-county-news-sun",
- "naperville-sun",
- "post-tribune",
- "opinion",
- "columnists",
- "commentary",
- "editorials",
- "letters-to-the-editor",
+ "predictions",
+ "primetime-pilot-panic",
+ "ratings",
+ "recaps",
+ "red-carpet-premieres",
+ "reviews",
"sports",
- "college-sports",
- "mlb",
- "chicago-cubs",
- "chicago-white-sox",
- "nfl",
- "chicago-bears",
- "nba",
- "chicago-bulls",
- "nhl",
- "chicago-blackhawks",
- "soccer",
- "wnba",
- "chicago-sky",
- "things-to-do",
- "arts",
- "books",
- "entertainment",
- "home-garden",
- "movies",
- "music-concerts",
- "restaurants-food-drink",
+ "touring",
+ "trailers",
+ "video-games",
+ "awards",
+ "awards-news",
+ "box-office",
+ "business",
+ "cover-stories",
+ "crew-call",
+ "dialogue",
+ "feature",
+ "film",
+ "flash-mob",
+ "hammond",
+ "hero-nation",
+ "international",
+ "look-back-look-ahead",
+ "music",
+ "resident-advisor",
+ "rough-cuts",
"theater",
- "travel",
- "tv-streaming",
- "fitness",
- "advice",
- "best-reviews"
+ "tv",
+ "video"
],
"in": "query",
"name": "section",
"required": true,
"type": "string",
- "x-example": "news"
+ "x-example": "acquisitions"
}
],
"produces": [
@@ -306835,16 +384371,16 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Chicago Tribune section headlines",
+ "summary": "Get Deadline section headlines",
"tags": [
- "Chicago Tribune"
+ "Deadline"
]
}
},
- "/chicagotribune/news": {
+ "/deadline/news": {
"get": {
- "description": "Returns the current Chicago Tribune top stories from its homepage, with no input needed. Each has a title and canonical article URL, plus publication time, byline, excerpt and lead image where the story card shows them.",
- "operationId": "chicagotribune-news",
+ "description": "Returns the current Deadline Hollywood top stories from its main feed. Each item has its title, URL, summary, publication time, author and image. Takes no parameters; use `deadline-headlines` for a single section or vertical.",
+ "operationId": "deadline-news",
"produces": [
"application/json"
],
@@ -306855,6 +384391,12 @@
"$ref": "#/definitions/publicnews.newsResponseDoc"
}
},
+ "429": {
+ "description": "Too Many Requests",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
"503": {
"description": "Service Unavailable",
"schema": {
@@ -306867,16 +384409,16 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Chicago Tribune top stories",
+ "summary": "Get Deadline top stories",
"tags": [
- "Chicago Tribune"
+ "Deadline"
]
}
},
- "/chicagotribune/sections": {
+ "/deadline/sections": {
"get": {
- "description": "Lists the 60 Chicago Tribune sections accepted by `chicagotribune-headlines`, spanning news, suburban papers, opinion, sports teams and arts, such as `crime-public-safety`, `daily-southtown`, `chicago-cubs` and `theater`. Each has a `slug`, display `name` and page `url`. Tag pages and hubs that repeat the homepage are not included.",
- "operationId": "chicagotribune-sections",
+ "description": "Lists the 48 Deadline sections accepted by `deadline-headlines`: 28 editorial categories such as `news`, `reviews` and `festivals`, and 20 verticals such as `film`, `tv`, `business` and `awards`. Each entry has the `slug`, `name` and feed `url`.",
+ "operationId": "deadline-sections",
"produces": [
"application/json"
],
@@ -306893,62 +384435,118 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Chicago Tribune sections",
+ "summary": "Get Deadline sections",
"tags": [
- "Chicago Tribune"
+ "Deadline"
]
}
},
- "/chick-fil-a/content": {
+ "/deliveroo/fulfillment-times": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns one page of a Chick-fil-A editorial corpus. `type` selects which: `press-room` (289 press releases), `story` (189 blog articles), `page` (147 standalone corporate pages such as hunger relief and community programmes), `legal` (28 terms, policies and promotion rules) or `downloadable-asset` (45 press-kit media entries, which carry a title and link only and never a body). Between them these are every content-bearing corpus Chick-fil-A publishes outside the menu and restaurant catalogs. Article bodies are opt-in via include_body because a single press release runs to roughly 22KB, so a default-on page of 20 would be several hundred KB; without it the endpoint returns titles, links, publish dates and excerpts.",
- "operationId": "chick-fil-a-content",
+ "description": "Returns the exact same \"Choose a day\" / \"Choose a time\" scheduled-ordering data the real site's own order-ahead picker shows for a location, for both delivery and pickup: an ASAP option plus every day currently open for a scheduled order, each with its real time slots and UNIX timestamps.",
+ "operationId": "deliveroo-fulfillment-times",
"parameters": [
{
- "description": "Which corpus. One of press-room, story, page, legal, downloadable-asset.",
- "enum": [
- "press-room",
- "story",
- "page",
- "legal",
- "downloadable-asset"
- ],
+ "description": "Search center latitude",
"in": "query",
- "name": "type",
+ "name": "latitude",
"required": true,
- "type": "string",
- "x-example": "press-room"
+ "type": "number",
+ "x-example": 51.4975
},
{
- "description": "Free-text filter. Results are relevance-ranked when present; otherwise newest first.",
+ "description": "Search center longitude",
"in": "query",
- "name": "search",
- "type": "string",
- "x-example": "community"
+ "name": "longitude",
+ "required": true,
+ "type": "number",
+ "x-example": -0.1357
},
{
- "description": "1-based page number (default 1)",
+ "description": "Deliveroo national market to search (default uk)",
+ "enum": [
+ "uk",
+ "ie",
+ "fr",
+ "it",
+ "be",
+ "ae",
+ "kw"
+ ],
"in": "query",
- "name": "page",
- "type": "integer",
- "x-example": 1
+ "name": "market",
+ "type": "string",
+ "x-example": "uk"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/deliveroo.fulfillmentTimesResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
},
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
{
- "description": "Entries per page, 1-100 (default 20)",
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Deliveroo's live delivery and pickup scheduling windows for a location",
+ "tags": [
+ "Deliveroo"
+ ]
+ }
+ },
+ "/deliveroo/restaurant": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns one Deliveroo partner's detail by uname -- restaurant, grocery, or shopping store alike, distinguished by branch_type: name, address, currency, branch/fulfillment type, rating, review count, a hero image, and whether it currently accepts orders.",
+ "operationId": "deliveroo-restaurant",
+ "parameters": [
+ {
+ "description": "Restaurant slug, from a search response's uname field",
"in": "query",
- "name": "per_page",
- "type": "integer",
- "x-example": 20
+ "name": "uname",
+ "required": true,
+ "type": "string",
+ "x-example": "nandos-wilton-road"
},
{
- "description": "Include the full article body (default false -- bodies are large)",
+ "description": "Deliveroo national market the uname was found in (default uk)",
+ "enum": [
+ "uk",
+ "ie",
+ "fr",
+ "it",
+ "be",
+ "ae",
+ "kw"
+ ],
"in": "query",
- "name": "include_body",
- "type": "boolean",
- "x-example": false
+ "name": "market",
+ "type": "string",
+ "x-example": "uk"
}
],
"produces": [
@@ -306958,7 +384556,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/chickfila.contentResponseDoc"
+ "$ref": "#/definitions/deliveroo.restaurantResponseDoc"
}
},
"400": {
@@ -306973,12 +384571,6 @@
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Too Many Requests",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"503": {
"description": "Service Unavailable",
"schema": {
@@ -306991,50 +384583,43 @@
"ApiKeyAuth": []
}
],
- "summary": "Browse Chick-fil-A press releases, legal documents and press-kit assets",
+ "summary": "Get one Deliveroo restaurant, grocery, or shopping partner's detail",
"tags": [
- "Chick-fil-A"
+ "Deliveroo"
]
}
},
- "/chick-fil-a/content-taxonomy": {
+ "/deliveroo/restaurant/menu": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns one page of a content taxonomy's terms, each with its id, name, slug, parent and the number of entries carrying it. Every id is a ready-to-use `category` or `tag` filter value on GET /chick-fil-a/content, which is what makes the editorial corpora navigable rather than only pageable. `taxonomy` selects the vocabulary: `press_category` (16 terms) and `press_tag` (96) classify press releases, `story_category` (9) and `story_tag` (74) classify blog stories, `legal_category` (8) and `downloadable_asset_category` (7) classify those corpora, and `campaign` (9) is applied across several at once. Terms are ordered by name.",
- "operationId": "chick-fil-a-content-taxonomy",
+ "description": "Returns one partner's full menu or catalog grouped into categories -- restaurant menus, grocery aisles, and shopping-store catalogs all use this same endpoint (see /deliveroo/search's collection parameter). Every item carries a name, description, product-meta text when the upstream provides it (calorie counts on restaurant items, per-unit pricing like \"380g · £15.79/kg\" on grocery/shopping items), price, availability, and its resolved customization options (e.g. \"Choose your meal\", \"Add ingredients?\") with each option's own price and required/multi-select bounds.",
+ "operationId": "deliveroo-restaurant-menu",
"parameters": [
{
- "description": "Which vocabulary. One of press_category, press_tag, story_category, story_tag, legal_category, downloadable_asset_category, campaign.",
- "enum": [
- "press_category",
- "press_tag",
- "story_category",
- "story_tag",
- "legal_category",
- "downloadable_asset_category",
- "campaign"
- ],
+ "description": "Restaurant slug, from a search response's uname field",
"in": "query",
- "name": "taxonomy",
+ "name": "uname",
"required": true,
"type": "string",
- "x-example": "press_category"
- },
- {
- "description": "1-based page number (default 1)",
- "in": "query",
- "name": "page",
- "type": "integer",
- "x-example": 1
+ "x-example": "nandos-wilton-road"
},
{
- "description": "Terms per page, 1-100 (default 20)",
+ "description": "Deliveroo national market the uname was found in (default uk)",
+ "enum": [
+ "uk",
+ "ie",
+ "fr",
+ "it",
+ "be",
+ "ae",
+ "kw"
+ ],
"in": "query",
- "name": "per_page",
- "type": "integer",
- "x-example": 100
+ "name": "market",
+ "type": "string",
+ "x-example": "uk"
}
],
"produces": [
@@ -307044,7 +384629,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/chickfila.contentTaxonomyResponseDoc"
+ "$ref": "#/definitions/deliveroo.menuResponseDoc"
}
},
"400": {
@@ -307059,12 +384644,6 @@
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Too Many Requests",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"503": {
"description": "Service Unavailable",
"schema": {
@@ -307077,47 +384656,168 @@
"ApiKeyAuth": []
}
],
- "summary": "List the category and tag vocabularies Chick-fil-A classifies its content under",
+ "summary": "Get one Deliveroo restaurant, grocery, or shopping partner's priced catalog",
"tags": [
- "Chick-fil-A"
+ "Deliveroo"
]
}
},
- "/chick-fil-a/faq": {
+ "/deliveroo/search": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns one page of Chick-fil-A's published customer FAQ corpus (522 entries at time of writing) across 30 categories -- Chick-fil-A One membership, points and rewards, digital ordering and payment, delivery support, sweepstakes terms, and more. Each entry carries the question, the answer as plain text, the answer's original HTML (a fair number of answers use links, lists and tables that plain text loses), and its resolved categories. Every categories[].id is a ready-to-use value for the category filter. search matches over question and answer text and is relevance-ranked; without it entries come back alphabetically so a caller can page through the whole corpus deterministically.",
- "operationId": "chick-fil-a-faq",
+ "description": "Returns the restaurants (or, with collection set, grocery/shopping stores) Deliveroo's own catalog serves for a latitude/longitude in the given market -- the location's entire feed, not a curated subset (confirmed live: up to 2,700+ results for a single coordinate). Each result carries its uname (the value the restaurant and menu endpoints take), name, image, branch_type, and, when available, rating, delivery time, and distance. Optional collection, cuisine, dietary, dish, min_rating, max_delivery_minutes, max_delivery_fee_pounds, has_offer, deliveroos_choice, and sort parameters narrow and order the same feed -- call /deliveroo/search/filters for the current, complete, location-scoped list of every valid cuisine/dietary/dish value with live result counts. A location with no coverage returns an empty list rather than an error.",
+ "operationId": "deliveroo-search",
"parameters": [
{
- "description": "Free-text filter over question and answer text. Results are relevance-ranked when present.",
+ "description": "Search center latitude",
"in": "query",
- "name": "search",
+ "name": "latitude",
+ "required": true,
+ "type": "number",
+ "x-example": 51.4975
+ },
+ {
+ "description": "Search center longitude",
+ "in": "query",
+ "name": "longitude",
+ "required": true,
+ "type": "number",
+ "x-example": -0.1357
+ },
+ {
+ "description": "Deliveroo national market to search (default uk)",
+ "enum": [
+ "uk",
+ "ie",
+ "fr",
+ "it",
+ "be",
+ "ae",
+ "kw"
+ ],
+ "in": "query",
+ "name": "market",
"type": "string",
- "x-example": "delivery"
+ "x-example": "uk"
},
{
- "description": "Comma-separated faq_category term ids, up to 20, from any prior response's categories[].id",
+ "description": "Restaurants to return, clamped to 100 (default 20)",
"in": "query",
- "name": "category",
+ "name": "limit",
+ "type": "integer",
+ "x-example": 20
+ },
+ {
+ "description": "Optional, passed straight through to the upstream. Selects the Deliveroo partner vertical: omit for restaurants/takeaways (default), grocery for supermarkets and convenience stores, shopping for non-food retail -- both confirmed live; other values may exist and are not rejected. Every result uses the same uname contract for /deliveroo/restaurant and /deliveroo/restaurant/menu.",
+ "in": "query",
+ "name": "collection",
"type": "string",
- "x-example": "58"
+ "x-example": "grocery"
},
{
- "description": "1-based page number (default 1)",
+ "collectionFormat": "multi",
+ "description": "Optional, repeatable Deliveroo cuisine filter, e.g. cuisine=american&cuisine=asian. Passed straight through to the upstream; call /deliveroo/search/filters for the current, complete, location-scoped list of valid values. An unrecognized value is silently ignored by the upstream, not rejected.",
"in": "query",
- "name": "page",
+ "items": {
+ "type": "string"
+ },
+ "name": "cuisine",
+ "type": "array",
+ "x-example": "american"
+ },
+ {
+ "collectionFormat": "multi",
+ "description": "Optional, repeatable Deliveroo dietary filter passed straight through to the upstream, e.g. dietary=vegan. Call /deliveroo/search/filters for the current, complete list of valid values. An unrecognized value is silently ignored by the upstream, not rejected.",
+ "in": "query",
+ "items": {
+ "type": "string"
+ },
+ "name": "dietary",
+ "type": "array",
+ "x-example": "vegan"
+ },
+ {
+ "collectionFormat": "multi",
+ "description": "Optional, repeatable Deliveroo dish-level filter passed straight through to the upstream, e.g. dish=pizza&dish=sushi. Call /deliveroo/search/filters for the current, complete, location-scoped list of valid values. An unrecognized value is silently ignored by the upstream, not rejected.",
+ "in": "query",
+ "items": {
+ "type": "string"
+ },
+ "name": "dish",
+ "type": "array",
+ "x-example": "pizza"
+ },
+ {
+ "description": "When true, only returns results Deliveroo itself marks top-rated (its own 4.5+ threshold). Equivalent to min_rating=4.5; ignored if min_rating is also set.",
+ "in": "query",
+ "name": "top_rated",
+ "type": "boolean",
+ "x-example": true
+ },
+ {
+ "description": "Minimum star rating filter",
+ "enum": [
+ 3.5,
+ 4,
+ 4.5
+ ],
+ "in": "query",
+ "name": "min_rating",
+ "type": "number",
+ "x-example": 4
+ },
+ {
+ "description": "Maximum estimated delivery time in minutes",
+ "enum": [
+ 20,
+ 30,
+ 45
+ ],
+ "in": "query",
+ "name": "max_delivery_minutes",
"type": "integer",
- "x-example": 1
+ "x-example": 30
},
{
- "description": "Entries per page, 1-100 (default 20)",
+ "description": "Maximum delivery fee in GBP",
+ "enum": [
+ 1,
+ 2,
+ 3
+ ],
"in": "query",
- "name": "per_page",
+ "name": "max_delivery_fee_pounds",
"type": "integer",
- "x-example": 20
+ "x-example": 2
+ },
+ {
+ "description": "When true, only returns results currently running an offer/promotion",
+ "in": "query",
+ "name": "has_offer",
+ "type": "boolean",
+ "x-example": true
+ },
+ {
+ "description": "Result ordering",
+ "enum": [
+ "recommended",
+ "distance",
+ "time",
+ "rating"
+ ],
+ "in": "query",
+ "name": "sort",
+ "type": "string",
+ "x-example": "distance"
+ },
+ {
+ "description": "When true, only returns results in Deliveroo's own Deliveroo's Choice curated collection. Combines with collection (e.g. collection=grocery&deliveroos_choice=true narrows to Deliveroo's Choice within the grocery vertical) rather than conflicting with it.",
+ "in": "query",
+ "name": "deliveroos_choice",
+ "type": "boolean",
+ "x-example": true
}
],
"produces": [
@@ -307127,7 +384827,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/chickfila.faqResponseDoc"
+ "$ref": "#/definitions/deliveroo.searchResponseDoc"
}
},
"400": {
@@ -307136,18 +384836,6 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
- "429": {
- "description": "Too Many Requests",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"503": {
"description": "Service Unavailable",
"schema": {
@@ -307160,33 +384848,51 @@
"ApiKeyAuth": []
}
],
- "summary": "Browse Chick-fil-A customer FAQs",
+ "summary": "Search Deliveroo restaurants, groceries, or shopping stores near a location",
"tags": [
- "Chick-fil-A"
+ "Deliveroo"
]
}
},
- "/chick-fil-a/location": {
+ "/deliveroo/search/filters": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns one Chick-fil-A restaurant's street address, opening hours, cuisine description and photo, selected by either its numeric id or its slug (supply exactly one of the two -- passing both is rejected). opening_hours carries one entry per day; a day Chick-fil-A publishes as closed (notably every Sunday, and every day for a seasonal or food-truck location that is not currently operating) comes back with closed=true and empty opens/closes rather than a placeholder time. This response carries a postal address but no latitude/longitude -- Chick-fil-A does not publish coordinates for its restaurants, and this endpoint does not synthesize them.",
- "operationId": "chick-fil-a-location",
+ "description": "Returns the exact same sort and filter catalog -- every cuisine, dietary tag, dish, delivery-time tier, delivery-fee tier, star-rating tier, and offer flag, each with a live result count for this location -- that the real search page's own filter dropdowns are populated from. Every option's query_param/query_value pair is the literal query string /deliveroo/search accepts for that filter.",
+ "operationId": "deliveroo-search-filters",
"parameters": [
{
- "description": "Numeric WordPress post id. Supply either id or slug, not both.",
+ "description": "Search center latitude",
"in": "query",
- "name": "id",
- "type": "integer",
- "x-example": 53696
+ "name": "latitude",
+ "required": true,
+ "type": "number",
+ "x-example": 51.4975
},
{
- "description": "Restaurant slug, e.g. from a directory response. Supply either id or slug, not both.",
+ "description": "Search center longitude",
"in": "query",
- "name": "slug",
+ "name": "longitude",
+ "required": true,
+ "type": "number",
+ "x-example": -0.1357
+ },
+ {
+ "description": "Deliveroo national market to search (default uk)",
+ "enum": [
+ "uk",
+ "ie",
+ "fr",
+ "it",
+ "be",
+ "ae",
+ "kw"
+ ],
+ "in": "query",
+ "name": "market",
"type": "string",
- "x-example": "branson-food-truck"
+ "x-example": "uk"
}
],
"produces": [
@@ -307196,7 +384902,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/chickfila.locationResponseDoc"
+ "$ref": "#/definitions/deliveroo.filtersResponseDoc"
}
},
"400": {
@@ -307205,14 +384911,56 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Deliveroo's live search filter and sort catalog for a location",
+ "tags": [
+ "Deliveroo"
+ ]
+ }
+ },
+ "/denverpost/article": {
+ "get": {
+ "description": "Returns article metadata and paragraphs present on the public page. Subscriber-only pages may expose only an anonymous preview; this service does not bypass access controls.",
+ "operationId": "denverpost-article",
+ "parameters": [
+ {
+ "description": "Canonical Denver Post article URL",
+ "in": "query",
+ "name": "url",
+ "required": true,
+ "type": "string",
+ "x-example": "https://www.denverpost.com/2026/09/29/colorado-oportunity-zones-investment/"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.articleResponseDoc"
+ }
},
- "429": {
- "description": "Too Many Requests",
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -307229,40 +384977,30 @@
"ApiKeyAuth": []
}
],
- "summary": "Get one Chick-fil-A restaurant's address and hours",
+ "summary": "Get a Denver Post article",
"tags": [
- "Chick-fil-A"
+ "The Denver Post"
]
}
},
- "/chick-fil-a/locations": {
+ "/denverpost/author": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns one page of Chick-fil-A's restaurant directory (3,467 restaurants at time of writing): each restaurant's id, slug, name, US state and its page URL. search filters by free text over restaurant names and is relevance-ranked; without it restaurants come back alphabetically so a caller can page through the whole directory deterministically. This index deliberately carries no address or hours -- Chick-fil-A does not expose them on the directory listing. Pass a slug from here to GET /chick-fil-a/location to get street address and opening hours for one restaurant.",
- "operationId": "chick-fil-a-locations",
+ "description": "Returns a Denver Post author's profile and the articles on the first page of their archive. Give exactly one of `slug` (for example `aldo-svaldi`) or `url` (a denverpost.com/author// link). The profile has name, job title, bio, email and Twitter handle where the page shows them; each article has a title, URL, summary and publication time.",
+ "operationId": "denverpost-author",
"parameters": [
{
- "description": "Free-text filter over restaurant names. Results are relevance-ranked when present.",
+ "description": "Author slug, e.g. aldo-svaldi",
"in": "query",
- "name": "search",
+ "name": "slug",
"type": "string",
- "x-example": "branson"
- },
- {
- "description": "1-based page number (default 1)",
- "in": "query",
- "name": "page",
- "type": "integer",
- "x-example": 1
+ "x-example": "aldo-svaldi"
},
{
- "description": "Restaurants per page, 1-100 (default 20)",
+ "description": "Canonical denverpost.com/author// URL; alternative to slug",
"in": "query",
- "name": "per_page",
- "type": "integer",
- "x-example": 20
+ "name": "url",
+ "type": "string",
+ "x-example": "https://www.denverpost.com/author/aldo-svaldi/"
}
],
"produces": [
@@ -307272,7 +385010,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/chickfila.locationsResponseDoc"
+ "$ref": "#/definitions/publicnews.denverPostAuthorResponseDoc"
}
},
"400": {
@@ -307287,12 +385025,6 @@
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Too Many Requests",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
"503": {
"description": "Service Unavailable",
"schema": {
@@ -307305,68 +385037,101 @@
"ApiKeyAuth": []
}
],
- "summary": "Browse Chick-fil-A restaurant locations",
+ "summary": "Get a Denver Post author archive",
"tags": [
- "Chick-fil-A"
+ "The Denver Post"
]
}
},
- "/chick-fil-a/menu": {
+ "/denverpost/headlines": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns one page of Chick-fil-A's published menu catalog (567 items at time of writing): item name, slug, Chick-fil-A's own item tag, an ordering deep link, and the taxonomy term ids the item belongs to. Every id in a response's menu_taxonomy_ids, menu_item_type_ids, menu_item_group_ids and nutrition_table_menu_ids is a ready-to-use filter value for a follow-up call, and GET /chick-fil-a/menu-taxonomy lists each taxonomy's terms with their names. search filters by free text and is ranked by relevance; without it items come back alphabetically so a caller can page through the whole catalog deterministically. Note this catalog carries no prices or nutrition values -- Chick-fil-A does not publish either through this source.",
- "operationId": "chick-fil-a-menu",
+ "description": "Returns current headlines for one Denver Post section or topic archive. `section` is required and must be a slug from the sections endpoint, such as `business`, `denver-broncos`, `colorado` or `weather`; an invalid value returns an invalid-params error. Items carry title and URL, plus summary, author, publication time and image when the card shows them. Cards without a dated Denver Post article URL are skipped.",
+ "operationId": "denverpost-headlines",
"parameters": [
{
- "description": "Free-text filter over item names. Results are relevance-ranked when present.",
- "in": "query",
- "name": "search",
- "type": "string",
- "x-example": "nuggets"
- },
- {
- "description": "Comma-separated menu_taxonomy term ids (menu section, e.g. Breakfast, Beverages), up to 20",
- "in": "query",
- "name": "menu_taxonomy",
- "type": "string",
- "x-example": "265"
- },
- {
- "description": "Comma-separated menu_item_type term ids (ITEM, ITEM_GROUPING, MODIFIER), up to 20",
- "in": "query",
- "name": "menu_item_type",
- "type": "string",
- "x-example": "431"
- },
- {
- "description": "Comma-separated menu_item_group term ids (the grouping a variant belongs to), up to 20",
- "in": "query",
- "name": "menu_item_group",
- "type": "string",
- "x-example": "899"
- },
- {
- "description": "Comma-separated nutrition_table_menu term ids (published nutrition-table grouping), up to 20",
+ "description": "Section or topic slug returned by denverpost-sections",
+ "enum": [
+ "news",
+ "latest-headlines",
+ "colorado",
+ "politics",
+ "crime-public-safety",
+ "courts",
+ "national",
+ "world",
+ "education",
+ "health",
+ "environment",
+ "transportation",
+ "housing",
+ "news-obituaries",
+ "photos-and-videos",
+ "weather",
+ "sports",
+ "sports-columnists",
+ "denver-broncos",
+ "colorado-rockies",
+ "denver-nuggets",
+ "colorado-avalanche",
+ "colorado-rapids",
+ "denver-summit-fc",
+ "college",
+ "colorado-preps",
+ "betting",
+ "golf",
+ "boxing-mma",
+ "sports-podcasts",
+ "business",
+ "colorado-real-estate",
+ "airlines",
+ "economy",
+ "energy",
+ "retail",
+ "colorado-technology",
+ "best-reviews",
+ "theknow",
+ "restaurants-food-drink",
+ "arts",
+ "culture",
+ "movies",
+ "television",
+ "music",
+ "theater",
+ "travel",
+ "parenting-family",
+ "bars",
+ "beer",
+ "outdoors",
+ "hiking",
+ "fall-colors",
+ "cycling",
+ "fitness",
+ "running",
+ "camping",
+ "fishing",
+ "hunting",
+ "water-sports",
+ "skiing",
+ "snowboarding",
+ "winter-sports",
+ "opinion",
+ "editorials",
+ "opinion-columnists",
+ "letters",
+ "endorsements",
+ "things-to-do",
+ "horoscopes",
+ "advice",
+ "home-garden",
+ "free-and-cheap",
+ "cannabis",
+ "recipes"
+ ],
"in": "query",
- "name": "nutrition_table_menu",
+ "name": "section",
+ "required": true,
"type": "string",
- "x-example": "368"
- },
- {
- "description": "1-based page number (default 1)",
- "in": "query",
- "name": "page",
- "type": "integer",
- "x-example": 1
- },
- {
- "description": "Items per page, 1-100 (default 20)",
- "in": "query",
- "name": "per_page",
- "type": "integer",
- "x-example": 20
+ "x-example": "news"
}
],
"produces": [
@@ -307376,7 +385141,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/chickfila.menuResponseDoc"
+ "$ref": "#/definitions/publicnews.headlinesResponseDoc"
}
},
"400": {
@@ -307385,14 +385150,101 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Denver Post section headlines",
+ "tags": [
+ "The Denver Post"
+ ]
+ }
+ },
+ "/denverpost/news": {
+ "get": {
+ "description": "Returns the article cards on the Denver Post homepage, about 91 when last checked, though the count varies as the site updates. Each item has a title and URL and can carry a summary, author, publication time, image and `type`. It takes no parameters.",
+ "operationId": "denverpost-news",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.newsResponseDoc"
+ }
},
- "429": {
- "description": "Too Many Requests",
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Denver Post top stories",
+ "tags": [
+ "The Denver Post"
+ ]
+ }
+ },
+ "/denverpost/sections": {
+ "get": {
+ "description": "Lists the Denver Post slugs that the headlines endpoint accepts: 56 editorial sections and 19 topic archives, checked on 2026-09-30. Examples are `colorado`, `denver-broncos`, `economy` and `hiking`. Each entry has a `slug`, `name` and `url`. Branded content and cartoons are left out.",
+ "operationId": "denverpost-sections",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/publicnews.sectionsResponseDoc"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Denver Post section and topic inventory",
+ "tags": [
+ "The Denver Post"
+ ]
+ }
+ },
+ "/depop/brands": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns Depop's full brand directory (id, name, slug), not just brands with active listings for a given search -- resolves the search endpoint's otherwise-opaque brand_ids filter to human-readable names. Public data sourced from Depop's own brand-directory API.",
+ "operationId": "depop-brands",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/depop.brandsResponseDoc"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -307409,33 +385261,62 @@
"ApiKeyAuth": []
}
],
- "summary": "Browse the Chick-fil-A menu",
+ "summary": "Depop's full brand directory",
+ "tags": [
+ "Depop"
+ ]
+ }
+ },
+ "/depop/categories": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Returns Depop's full department, category, and subcategory taxonomy -- every value usable with /depop/search's and /depop/shop/{username}'s category/subcategory filters. Tries a live refresh from Depop's own category-filter API first and falls back to a static snapshot on any failure, so this never errors.",
+ "operationId": "depop-categories",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/depop.categoriesResponseDoc"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ }
+ },
+ "security": [
+ {
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "Get Depop's category taxonomy",
"tags": [
- "Chick-fil-A"
+ "Depop"
]
}
},
- "/chick-fil-a/menu-item": {
+ "/depop/item/{slug}": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns one Chick-fil-A menu item, selected by either its numeric id or its slug (supply exactly one of the two -- passing both is rejected). Unlike the listing endpoint, this resolves the item's taxonomy term ids to names, so menu_sections, item_types, item_groups and nutrition_tables each come back as {id, name, slug} triples rather than bare ids. Term resolution is best-effort: if the taxonomy lookups fail the item is still returned with ids and empty names rather than failing the whole call. This item detail carries no price and no nutrition values -- Chick-fil-A does not publish either through this source.",
- "operationId": "chick-fil-a-menu-item",
+ "description": "Returns a Depop item-detail page: description, all photos, price, condition, brand, size, seller info, and a \"similar items\" carousel when the page has one.",
+ "operationId": "depop-item",
"parameters": [
{
- "description": "Numeric WordPress post id. Supply either id or slug, not both.",
- "in": "query",
- "name": "id",
- "type": "integer",
- "x-example": 10613
- },
- {
- "description": "Item slug, e.g. from a listing response. Supply either id or slug, not both.",
- "in": "query",
+ "description": "Depop item URL slug, e.g. from a search result's id field",
+ "in": "path",
"name": "slug",
+ "required": true,
"type": "string",
- "x-example": "chick-fil-a-filet"
+ "x-example": "ag_boutique-vintage-mid-rise-bootcut-levi-2476"
}
],
"produces": [
@@ -307445,7 +385326,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/chickfila.menuItemResponseDoc"
+ "$ref": "#/definitions/depop.ItemDetailResponse"
}
},
"400": {
@@ -307460,8 +385341,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Too Many Requests",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -307478,47 +385359,40 @@
"ApiKeyAuth": []
}
],
- "summary": "Get one Chick-fil-A menu item",
+ "summary": "Get Depop item detail",
"tags": [
- "Chick-fil-A"
+ "Depop"
]
}
},
- "/chick-fil-a/menu-taxonomy": {
+ "/depop/item/{slug}/similar": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns one page of terms for a single Chick-fil-A menu taxonomy, with each term's id, name, slug, parent and how many menu items carry it. This is how to discover the filter ids GET /chick-fil-a/menu accepts. taxonomy must be one of `menu_taxonomy` (customer-facing menu section -- Breakfast, Beverages, Catering Entrées, ... 36 terms), `menu_item_type` (`ITEM`, `ITEM_GROUPING`, `MODIFIER` -- 3 terms), `menu_item_group` (the grouping a variant belongs to, e.g. \"Bacon, Egg & Cheese Biscuit\" -- 100+ terms), or `nutrition_table_menu` (the grouping used by Chick-fil-A's published nutrition tables -- 18 terms). Terms come back alphabetically.",
- "operationId": "chick-fil-a-menu-taxonomy",
+ "description": "Returns items similar to a given Depop listing, via Depop's dedicated similar-items API -- richer and paginated (up to 150 per page) compared to the small, non-paginated \"similar items\" carousel already included in item detail. Public data sourced from Depop's own similar-items API.",
+ "operationId": "depop-item-similar",
"parameters": [
{
- "description": "Which taxonomy to list. One of menu_taxonomy, menu_item_type, menu_item_group, nutrition_table_menu.",
- "enum": [
- "menu_taxonomy",
- "menu_item_type",
- "menu_item_group",
- "nutrition_table_menu"
- ],
- "in": "query",
- "name": "taxonomy",
+ "description": "Depop item URL slug, e.g. from a search result's id field",
+ "in": "path",
+ "name": "slug",
"required": true,
"type": "string",
- "x-example": "menu_taxonomy"
+ "x-example": "ag_boutique-vintage-mid-rise-bootcut-levi-2476"
},
{
- "description": "1-based page number (default 1)",
+ "description": "Max results per page, 1-150",
"in": "query",
- "name": "page",
+ "name": "limit",
"type": "integer",
- "x-example": 1
+ "x-example": 24
},
{
- "description": "Terms per page, 1-100 (default 20)",
+ "description": "Opaque pagination cursor from a previous response's next_cursor field. Omit for the first page.",
"in": "query",
- "name": "per_page",
- "type": "integer",
- "x-example": 100
+ "name": "after",
+ "type": "string"
}
],
"produces": [
@@ -307528,7 +385402,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/chickfila.menuTaxonomyResponseDoc"
+ "$ref": "#/definitions/depop.similarItemsResponseDoc"
}
},
"400": {
@@ -307543,8 +385417,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Too Many Requests",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -307561,41 +385435,115 @@
"ApiKeyAuth": []
}
],
- "summary": "List one Chick-fil-A menu taxonomy's terms",
+ "summary": "Get Depop items similar to a listing",
"tags": [
- "Chick-fil-A"
+ "Depop"
]
}
},
- "/chipotle/ingredients": {
+ "/depop/search": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns Chipotle's raw-ingredient content pages -- sourcing story, marketing copy, imagery -- and the per-item recipe breakdown. ingredients[] has one entry per raw ingredient (Avocado, Yellow Onion, ...), each with its facts/sourcing copy and the menu_item_ids it appears in. ingredient_groups[] is the reverse view: one entry per recipe category (proteins, rice and beans, ...) listing each item's exact ingredient_keys, joinable against ingredients[].key for the human-readable name. Nothing else in this family exposes either ingredient content or recipe-level composition.",
- "operationId": "chipotle-ingredients",
+ "description": "Searches Depop's resale-fashion marketplace by free-text keyword, with optional price, condition, colour, category, subcategory, gender, kids-department, brand, discount, and sort filters, returning listing summaries (title, price, brand, condition, like count, photos, sizes), a pagination cursor, and the total matching count.",
+ "operationId": "depop-search",
"parameters": [
{
- "description": "Ordering surface. One of web, web-mobile. Default web-mobile.",
- "enum": [
- "web",
- "web-mobile"
- ],
+ "description": "Free-text keyword search",
"in": "query",
- "name": "channel",
+ "name": "query",
+ "required": true,
"type": "string",
- "x-example": "web-mobile"
+ "x-example": "nike jacket"
},
{
- "description": "Country catalog. One of US, CA. Default US.",
- "enum": [
- "US",
- "CA"
- ],
+ "description": "Minimum listing price in USD",
"in": "query",
- "name": "region",
+ "name": "price_min",
+ "type": "number",
+ "x-example": 15
+ },
+ {
+ "description": "Maximum listing price in USD",
+ "in": "query",
+ "name": "price_max",
+ "type": "number",
+ "x-example": 50
+ },
+ {
+ "description": "Comma-separated condition filter: brand_new, used_like_new, used_excellent, used_good, used_fair",
+ "in": "query",
+ "name": "condition",
"type": "string",
- "x-example": "US"
+ "x-example": "used_excellent,used_good"
+ },
+ {
+ "description": "Comma-separated colour filter: black, grey, white, brown, tan, cream, yellow, red, burgundy, orange, pink, purple, blue, navy, green, khaki, multi",
+ "in": "query",
+ "name": "colours",
+ "type": "string",
+ "x-example": "black,white"
+ },
+ {
+ "description": "Restrict results to discounted listings",
+ "in": "query",
+ "name": "on_sale",
+ "type": "boolean"
+ },
+ {
+ "description": "Sort order: relevance, price_low_to_high, price_high_to_low",
+ "in": "query",
+ "name": "sort",
+ "type": "string",
+ "x-example": "price_low_to_high"
+ },
+ {
+ "description": "Depop category slug: tops, bottoms, dresses, coats-jackets, jumpsuit-and-playsuit, suits, footwear, accessories, nightwear, underwear, swim-beach-wear, fancy-dress, sleepsuits-and-bodysuits, bundles, beauty, face-masks, home, tech-accessories, film, art, books-and-magazine, music, party-supplies, sports-equipment-accesories, toys, umbrella. See GET /depop/categories for a machine-readable enumeration with names and subcategories.",
+ "in": "query",
+ "name": "category",
+ "type": "string",
+ "x-example": "tops"
+ },
+ {
+ "description": "Comma-separated Depop subcategory slug(s), scoped within category. See GET /depop/categories for the full list per category.",
+ "in": "query",
+ "name": "subcategory",
+ "type": "string",
+ "x-example": "tshirts,hoodies"
+ },
+ {
+ "description": "Department filter: female, male",
+ "in": "query",
+ "name": "gender",
+ "type": "string",
+ "x-example": "female"
+ },
+ {
+ "description": "Kids-department filter: true restricts results to kids items only, false excludes them, omitted returns both.",
+ "in": "query",
+ "name": "is_kids",
+ "type": "boolean"
+ },
+ {
+ "description": "Comma-separated Depop internal numeric brand ids. Not documented by Depop -- find a brand's id by browsing its depop.com/brands// page.",
+ "in": "query",
+ "name": "brand_ids",
+ "type": "string",
+ "x-example": "219"
+ },
+ {
+ "description": "Comma-separated Depop size composite ids (format {size_set_id}.{id}, e.g. \\",
+ "in": "query",
+ "name": "sizes",
+ "type": "string",
+ "x-example": "4.17"
+ },
+ {
+ "description": "Opaque pagination cursor from a previous response's next_cursor field. Omit for the first page.",
+ "in": "query",
+ "name": "after",
+ "type": "string"
}
],
"produces": [
@@ -307605,7 +385553,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/chipotle.ingredientsResponseDoc"
+ "$ref": "#/definitions/depop.searchResponseDoc"
}
},
"400": {
@@ -307614,8 +385562,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Too Many Requests",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -307632,19 +385580,29 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Chipotle's ingredient content catalog",
+ "summary": "Search Depop listings",
"tags": [
- "Chipotle"
+ "Depop"
]
}
},
- "/chipotle/meals": {
+ "/depop/search-sellers": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns Chipotle's preset meal definitions -- the named combinations its ordering flow offers (Build-Your-Own Chicken and similar), each with an id, name, type and a description listing what the meal contains. Takes no parameters.",
- "operationId": "chipotle-meals",
+ "description": "Finds Depop users/sellers by name or username. A matched result's username can be passed directly to GET /depop/shop/{username} for that seller's full shop. Public data sourced from Depop's own user-search API.",
+ "operationId": "depop-search-sellers",
+ "parameters": [
+ {
+ "description": "Seller name or username to search for",
+ "in": "query",
+ "name": "query",
+ "required": true,
+ "type": "string",
+ "x-example": "vintage nike"
+ }
+ ],
"produces": [
"application/json"
],
@@ -307652,52 +385610,17 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/chipotle.mealsResponseDoc"
- }
- },
- "429": {
- "description": "Too Many Requests",
- "schema": {
- "$ref": "#/definitions/app.Response"
+ "$ref": "#/definitions/depop.searchSellersResponseDoc"
}
},
- "503": {
- "description": "Service Unavailable",
+ "400": {
+ "description": "Bad Request",
"schema": {
"$ref": "#/definitions/app.Response"
}
- }
- },
- "security": [
- {
- "ApiKeyAuth": []
- }
- ],
- "summary": "Get Chipotle's preset meal definitions",
- "tags": [
- "Chipotle"
- ]
- }
- },
- "/chipotle/menu": {
- "get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns Chipotle's restaurant-independent menu catalog -- every item it sells nationally, split into entrees, sides and drinks, with each item's category, type, primary filling and full customization tree. Takes no parameters. Prices are deliberately omitted from this response: Chipotle prices per restaurant, so the upstream returns every price as zero here, and surfacing a field of zeros would read as \"free\" rather than \"unpriced\". Use GET /chipotle/restaurant/menu for real prices.",
- "operationId": "chipotle-menu",
- "produces": [
- "application/json"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/chipotle.nationalMenuResponseDoc"
- }
},
- "429": {
- "description": "Too Many Requests",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -307714,41 +385637,27 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Chipotle's national menu catalog",
+ "summary": "Search Depop sellers by name",
"tags": [
- "Chipotle"
+ "Depop"
]
}
},
- "/chipotle/menu/metadata": {
+ "/depop/search/facets": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns Chipotle's menu presentation metadata -- the data no other Chipotle endpoint carries. Categories are the menu nav sections (Burrito, Bowl, Salad, ...) with their own description, imagery and the customization sections each offers. Items carry per-item nutrition (calories and portion) and dietary tag codes. Item sections and item groups describe the customization pick-groups and shared item aliases (e.g. cauliflower rice offered as both an entree side and a taco filling). Dietary tag groups are the full tag taxonomy (Plant Based, Lifestyle, I'm Avoiding, ...) that item dietary tag codes join against for a human-readable name and badge. Join on item_id against /chipotle/menu or /chipotle/restaurant/menu for prices; this endpoint has none.",
- "operationId": "chipotle-menu-metadata",
+ "description": "Returns result-count breakdowns per department/category/subcategory for a search query, via Depop's dedicated aggregates API -- a distinct upstream call from search itself, not embedded in its response. Public data sourced from Depop's own search-aggregates API.",
+ "operationId": "depop-search-facets",
"parameters": [
{
- "description": "Ordering surface. One of web, web-mobile. Default web-mobile.",
- "enum": [
- "web",
- "web-mobile"
- ],
- "in": "query",
- "name": "channel",
- "type": "string",
- "x-example": "web-mobile"
- },
- {
- "description": "Country catalog. One of US, CA. Default US.",
- "enum": [
- "US",
- "CA"
- ],
+ "description": "Free-text keyword search",
"in": "query",
- "name": "region",
+ "name": "query",
+ "required": true,
"type": "string",
- "x-example": "US"
+ "x-example": "bandage dress"
}
],
"produces": [
@@ -307758,7 +385667,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/chipotle.menuMetadataResponseDoc"
+ "$ref": "#/definitions/depop.searchFacetsResponseDoc"
}
},
"400": {
@@ -307767,8 +385676,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Too Many Requests",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -307785,27 +385694,96 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Chipotle's menu presentation metadata",
+ "summary": "Depop search result-count breakdowns",
"tags": [
- "Chipotle"
+ "Depop"
]
}
},
- "/chipotle/restaurant": {
+ "/depop/shop/{username}": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns one Chipotle restaurant by its numeric restaurant number. Note this single-restaurant route returns a leaner record than GET /chipotle/restaurants: the proximity search accepts an embeds parameter that pulls in hours and capability flags, and no such parameter exists here, so those fields may be absent. If you need the full record for a known restaurant, call /chipotle/restaurants with a tight radius around it instead.",
- "operationId": "chipotle-restaurant",
+ "description": "Returns a Depop seller's public shop: profile (rating, sold count, followers, bio) plus current listings, with optional price, condition, colour, category, subcategory, gender, discount, and sort filters. Public data sourced from Depop's own shop pages.",
+ "operationId": "depop-shop",
"parameters": [
{
- "description": "Chipotle's numeric restaurant id",
- "in": "query",
- "name": "restaurant_number",
+ "description": "Depop seller username, e.g. from a shop page URL segment",
+ "in": "path",
+ "name": "username",
"required": true,
"type": "string",
- "x-example": "3982"
+ "x-example": "villafanashop"
+ },
+ {
+ "description": "Minimum listing price in USD",
+ "in": "query",
+ "name": "price_min",
+ "type": "number",
+ "x-example": 15
+ },
+ {
+ "description": "Maximum listing price in USD",
+ "in": "query",
+ "name": "price_max",
+ "type": "number",
+ "x-example": 50
+ },
+ {
+ "description": "Comma-separated condition filter: brand_new, used_like_new, used_excellent, used_good, used_fair",
+ "in": "query",
+ "name": "condition",
+ "type": "string",
+ "x-example": "used_excellent,used_good"
+ },
+ {
+ "description": "Comma-separated colour filter: black, grey, white, brown, tan, cream, yellow, red, burgundy, orange, pink, purple, blue, navy, green, khaki, multi",
+ "in": "query",
+ "name": "colours",
+ "type": "string",
+ "x-example": "black,white"
+ },
+ {
+ "description": "Restrict results to discounted listings",
+ "in": "query",
+ "name": "on_sale",
+ "type": "boolean"
+ },
+ {
+ "description": "Sort order: relevance, price_low_to_high, price_high_to_low, recently_listed",
+ "in": "query",
+ "name": "sort",
+ "type": "string",
+ "x-example": "price_low_to_high"
+ },
+ {
+ "description": "Depop category slug: tops, bottoms, dresses, coats-jackets, jumpsuit-and-playsuit, suits, footwear, accessories, nightwear, underwear, swim-beach-wear, fancy-dress, sleepsuits-and-bodysuits, bundles, beauty, face-masks, home, tech-accessories, film, art, books-and-magazine, music, party-supplies, sports-equipment-accesories, toys, umbrella. See GET /depop/categories for a machine-readable enumeration with names and subcategories.",
+ "in": "query",
+ "name": "category",
+ "type": "string",
+ "x-example": "tops"
+ },
+ {
+ "description": "Comma-separated Depop subcategory slug(s), scoped within category. See GET /depop/categories for the full list per category.",
+ "in": "query",
+ "name": "subcategory",
+ "type": "string",
+ "x-example": "tshirts"
+ },
+ {
+ "description": "Department filter: female, male",
+ "in": "query",
+ "name": "gender",
+ "type": "string",
+ "x-example": "male"
+ },
+ {
+ "description": "Comma-separated Depop size composite ids (format {size_set_id}.{id}, e.g. \\",
+ "in": "query",
+ "name": "sizes",
+ "type": "string",
+ "x-example": "54.4"
}
],
"produces": [
@@ -307815,7 +385793,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/chipotle.restaurantResponseDoc"
+ "$ref": "#/definitions/depop.shopResponseDoc"
}
},
"400": {
@@ -307830,8 +385808,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Too Many Requests",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -307848,41 +385826,19 @@
"ApiKeyAuth": []
}
],
- "summary": "Get one Chipotle restaurant",
+ "summary": "Get a Depop seller's shop",
"tags": [
- "Chipotle"
+ "Depop"
]
}
},
- "/chipotle/restaurant/meals": {
+ "/depop/sizes": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns the preset meals one Chipotle restaurant sells -- group Build-Your-Own packs, the High Protein line and limited-time Influencer meals -- each with its dine-in and delivery price at that restaurant, calorie label, dietary and macro tags, the components that make it up, merchandising tags and images. Prices are genuinely restaurant-specific: the same Build-Your-Own Chicken pack is priced differently from one location to another, so this is the endpoint to use for real pricing rather than /chipotle/meals, which lists the national meal definitions with no prices at all. Calorie labels are a range for build-your-own meals and a single figure for fixed ones, so they are returned as strings. Restaurant numbers come from GET /chipotle/restaurants.",
- "operationId": "chipotle-restaurant-meals",
- "parameters": [
- {
- "description": "Chipotle's numeric restaurant id, from /chipotle/restaurants",
- "in": "query",
- "name": "restaurant_number",
- "required": true,
- "type": "string",
- "x-example": "3982"
- },
- {
- "description": "Filter to one meal family. One of BuildYourOwn, HighProtein, Influencer.",
- "enum": [
- "BuildYourOwn",
- "HighProtein",
- "Influencer"
- ],
- "in": "query",
- "name": "meal_type",
- "type": "string",
- "x-example": "HighProtein"
- }
- ],
+ "description": "Returns Depop's full, multi-region size taxonomy -- every composite id usable with /depop/search's and /depop/shop/{username}'s sizes filter. Public data sourced from Depop's own size-filter API.",
+ "operationId": "depop-sizes",
"produces": [
"application/json"
],
@@ -307890,23 +385846,11 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/chipotle.restaurantMealsResponseDoc"
- }
- },
- "400": {
- "description": "Bad Request",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
+ "$ref": "#/definitions/depop.sizesResponseDoc"
}
},
- "429": {
- "description": "Too Many Requests",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -307923,34 +385867,27 @@
"ApiKeyAuth": []
}
],
- "summary": "List one Chipotle restaurant's preset meals with prices",
+ "summary": "Get Depop's size taxonomy",
"tags": [
- "Chipotle"
+ "Depop"
]
}
},
- "/chipotle/restaurant/menu": {
+ "/depop/suggest": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns one restaurant's live online menu split into entrees, sides, drinks and non-food items. This is the only Chipotle endpoint that carries prices: every item has both a dine-in price and a delivery price, which genuinely differ. Each item also carries its full customization tree -- contents (the individual fillings, salsas and sides that make it up, each with their own price pair) and content_groups (how many picks each group allows). Prices are per-restaurant, so two restaurants will legitimately return different numbers for the same item.",
- "operationId": "chipotle-restaurant-menu",
+ "description": "Returns Depop's own search-box autocomplete suggestions for a partial query, including the category a suggestion maps to when relevant. Public data sourced from Depop's own search-suggestions API.",
+ "operationId": "depop-suggest",
"parameters": [
{
- "description": "Chipotle's numeric restaurant id",
+ "description": "Partial search query to autocomplete",
"in": "query",
- "name": "restaurant_number",
+ "name": "query",
"required": true,
"type": "string",
- "x-example": "3982"
- },
- {
- "description": "Include items the restaurant currently has unavailable (default false)",
- "in": "query",
- "name": "include_unavailable",
- "type": "boolean",
- "x-example": true
+ "x-example": "red corte"
}
],
"produces": [
@@ -307960,7 +385897,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/chipotle.restaurantMenuResponseDoc"
+ "$ref": "#/definitions/depop.suggestResponseDoc"
}
},
"400": {
@@ -307969,14 +385906,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
- "429": {
- "description": "Too Many Requests",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -307993,56 +385924,28 @@
"ApiKeyAuth": []
}
],
- "summary": "Get one Chipotle restaurant's menu with prices",
+ "summary": "Depop search-box autocomplete",
"tags": [
- "Chipotle"
+ "Depop"
]
}
},
- "/chipotle/restaurants": {
- "get": {
+ "/developer/search": {
+ "post": {
"consumes": [
"application/json"
],
- "description": "Returns Chipotle restaurants near a latitude/longitude, ordered by distance. Each restaurant carries its number (the id every other Chipotle endpoint takes), name, status, full postal address with coordinates, published open/close hours per day, nearest cross streets, timezone, and capability flags (Chipotlane pickup, online ordering, catering, curbside pickup, dining room open, walk-up window). A coordinate with no Chipotle nearby returns an empty list rather than an error.",
- "operationId": "chipotle-restaurants",
+ "description": "Searches indexed sources only; this operation never starts ingestion or contacts upstream sources. The current ready source is `go:docs` and it covers only the 18 selected verified pages documented by `developer-sources`. Search matches Unicode-aware lexical terms and punctuation-bearing identifiers such as `context.Context`; passages retain byte/line locators into the indexed document. `types` accepts `doc`, `readme`, `issue`, and `pull_request`, but the current source supports only `doc`; unsupported values return 400. The `version` filter is not supported by the current unversioned source and returns 400. Continuation bodies contain only `cursor` and optional `limit`; their pages come from the frozen snapshot and do not repeat the search.",
+ "operationId": "developer-search",
"parameters": [
{
- "description": "Search center latitude",
- "in": "query",
- "name": "latitude",
- "required": true,
- "type": "number",
- "x-example": 34.0522
- },
- {
- "description": "Search center longitude",
- "in": "query",
- "name": "longitude",
+ "description": "Search query or cursor-only continuation",
+ "in": "body",
+ "name": "request",
"required": true,
- "type": "number",
- "x-example": -118.2437
- },
- {
- "description": "Search radius in meters, 1-80000 (default 8000)",
- "in": "query",
- "name": "radius",
- "type": "integer",
- "x-example": 8000
- },
- {
- "description": "Restaurants per page, 1-50 (default 10)",
- "in": "query",
- "name": "page_size",
- "type": "integer",
- "x-example": 10
- },
- {
- "description": "0-based page index (default 0)",
- "in": "query",
- "name": "page",
- "type": "integer",
- "x-example": 0
+ "schema": {
+ "$ref": "#/definitions/developerretrieval.DeveloperSearchRequest"
+ }
}
],
"produces": [
@@ -308050,66 +385953,37 @@
],
"responses": {
"200": {
- "description": "OK",
+ "description": "Ranked developer results and source coverage",
"schema": {
- "$ref": "#/definitions/chipotle.restaurantsResponseDoc"
+ "$ref": "#/definitions/developerretrieval.developerSearchResponseDoc"
}
},
"400": {
- "description": "Bad Request",
+ "description": "Invalid query, unsupported source/filter, or cursor",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
+ "401": {
+ "description": "Authentication required",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Too Many Requests",
+ "410": {
+ "description": "Frozen result cursor expired",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "503": {
- "description": "Service Unavailable",
+ "500": {
+ "description": "Snapshot or response configuration error",
"schema": {
"$ref": "#/definitions/app.Response"
}
- }
- },
- "security": [
- {
- "ApiKeyAuth": []
- }
- ],
- "summary": "Find Chipotle restaurants near a location",
- "tags": [
- "Chipotle"
- ]
- }
- },
- "/chromewebstore/categories": {
- "get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns the reference taxonomy for the list endpoints: extension category groups and their subcategory slugs, the top-chart identifiers, and known curated collection slugs.",
- "operationId": "chromewebstore-categories",
- "produces": [
- "application/json"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/chromewebstore.categoriesResponseDoc"
- }
},
- "500": {
- "description": "Internal Server Error",
+ "503": {
+ "description": "Source registry or search index unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -308120,48 +385994,25 @@
"ApiKeyAuth": []
}
],
- "summary": "List Chrome Web Store categories and collections",
+ "summary": "Search indexed developer documentation",
"tags": [
- "ChromeWebStore"
+ "Retrieval"
]
}
},
- "/chromewebstore/category": {
+ "/developer/sources": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns the item cards listed under an extensions category slug (e.g. `productivity/tools`, `lifestyle/shopping`, `make_chrome_yours/privacy`). Use /chromewebstore/categories for the reference taxonomy. Defaults: `num=50`, `country=us`, `lang=en`.",
- "operationId": "chromewebstore-category",
+ "description": "Returns the registered developer source catalog and each source's exact supported operations, filters, artifact types, and index state. The current catalog contains only `go:docs`, a selected set of 18 parser-verified Go documentation/specification pages. A source is `not_indexed` until a complete generation is promoted. The catalog does not accept a cursor; `limit` may be 1–100.",
+ "operationId": "developer-sources",
"parameters": [
{
- "description": "Category slug under extensions",
- "in": "query",
- "name": "category",
- "required": true,
- "type": "string",
- "x-example": "productivity/tools"
- },
- {
- "description": "Maximum number of items",
- "in": "query",
- "name": "num",
- "type": "integer",
- "x-example": 50
- },
- {
- "description": "Two-letter storefront country code",
- "in": "query",
- "name": "country",
- "type": "string",
- "x-example": "us"
- },
- {
- "description": "Two-letter language code",
+ "description": "Maximum sources to return (1–100; defaults to 100)",
"in": "query",
- "name": "lang",
- "type": "string",
- "x-example": "en"
+ "name": "limit",
+ "type": "integer"
}
],
"produces": [
@@ -308169,25 +386020,25 @@
],
"responses": {
"200": {
- "description": "OK",
+ "description": "Developer source catalog",
"schema": {
- "$ref": "#/definitions/chromewebstore.listResponseDoc"
+ "$ref": "#/definitions/developerretrieval.developerSourcesResponseDoc"
}
},
"400": {
- "description": "Bad Request",
+ "description": "Invalid catalog query",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Too Many Requests",
+ "401": {
+ "description": "Authentication required",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "503": {
+ "description": "Source catalog or index unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -308198,52 +386049,28 @@
"ApiKeyAuth": []
}
],
- "summary": "List items in a Chrome Web Store category",
+ "summary": "Discover indexed developer sources",
"tags": [
- "ChromeWebStore"
+ "Retrieval"
]
}
},
- "/chromewebstore/charts": {
- "get": {
+ "/diagnostics/antibot-check": {
+ "post": {
"consumes": [
"application/json"
],
- "description": "Returns the item cards in a store top chart. `chart` accepts `trending`, `popular`, or `notable`. Defaults: `chart=popular`, `num=50`, `country=us`, `lang=en`.",
- "operationId": "chromewebstore-charts",
+ "description": "Probes a URL across escalating transports (direct HTTP → browser-impersonation → headless/stealth browsers) and returns an empirical scraping-difficulty assessment for that exact URL: a 0–10 `difficulty_score` and `difficulty_band` (`easy`, `medium`, `hard`, `very_hard`, `blocked`, `unknown`), whether it is `scrapeable`, the detected anti-bot `protections` (Cloudflare, DataDome, Akamai, PerimeterX, Kasada, Imperva, AWS WAF and more — each with a `kind` and `confidence`), the lightest transport that worked, and a `recommended_profile`. Difficulty is per-URL, not per-site — a homepage may be open while deep pages are bot-managed. Intended for authorized public-data scraping planning.",
+ "operationId": "antibot-check",
"parameters": [
{
- "default": "popular",
- "description": "Top chart to list",
- "enum": [
- "trending",
- "popular",
- "notable"
- ],
- "in": "query",
- "name": "chart",
- "type": "string"
- },
- {
- "description": "Maximum number of items",
- "in": "query",
- "name": "num",
- "type": "integer",
- "x-example": 50
- },
- {
- "description": "Two-letter storefront country code",
- "in": "query",
- "name": "country",
- "type": "string",
- "x-example": "us"
- },
- {
- "description": "Two-letter language code",
- "in": "query",
- "name": "lang",
- "type": "string",
- "x-example": "en"
+ "description": "Target URL (and optional fast flag)",
+ "in": "body",
+ "name": "request",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/diagnostics.AntibotCheckRequest"
+ }
}
],
"produces": [
@@ -308253,23 +386080,23 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/chromewebstore.listResponseDoc"
+ "$ref": "#/definitions/diagnostics.antibotCheckResponseDoc"
}
},
"400": {
- "description": "Bad Request",
+ "description": "Invalid or missing URL",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"429": {
- "description": "Too Many Requests",
+ "description": "Rate limit exceeded",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "503": {
+ "description": "Probe failed (transport/browser error or blocked target)",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -308280,48 +386107,27 @@
"ApiKeyAuth": []
}
],
- "summary": "List a Chrome Web Store top chart",
+ "summary": "Anti-bot check — website scraping difficulty",
"tags": [
- "ChromeWebStore"
+ "Web"
]
}
},
- "/chromewebstore/collection": {
+ "/discogs/artist/{id}": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns the item cards in a curated store collection slug (e.g. `editors_picks_extensions`, `dark_mode`, `ai_productivity`). Use /chromewebstore/categories for known collection slugs. Defaults: `num=50`, `country=us`, `lang=en`.",
- "operationId": "chromewebstore-collection",
+ "description": "Returns a Discogs artist profile: real name, bio, links, name variations, aliases, and group memberships.",
+ "operationId": "discogs-artist",
"parameters": [
{
- "description": "Curated collection slug",
- "in": "query",
- "name": "collection",
+ "description": "Discogs artist id",
+ "in": "path",
+ "name": "id",
"required": true,
"type": "string",
- "x-example": "editors_picks_extensions"
- },
- {
- "description": "Maximum number of items",
- "in": "query",
- "name": "num",
- "type": "integer",
- "x-example": 50
- },
- {
- "description": "Two-letter storefront country code",
- "in": "query",
- "name": "country",
- "type": "string",
- "x-example": "us"
- },
- {
- "description": "Two-letter language code",
- "in": "query",
- "name": "lang",
- "type": "string",
- "x-example": "en"
+ "x-example": "1289"
}
],
"produces": [
@@ -308331,7 +386137,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/chromewebstore.listResponseDoc"
+ "$ref": "#/definitions/discogs.artistResponseDoc"
}
},
"400": {
@@ -308340,8 +386146,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Too Many Requests",
+ "404": {
+ "description": "Not Found",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -308351,6 +386157,12 @@
"schema": {
"$ref": "#/definitions/app.Response"
}
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
}
},
"security": [
@@ -308358,48 +386170,39 @@
"ApiKeyAuth": []
}
],
- "summary": "List items in a curated Chrome Web Store collection",
+ "summary": "Get a Discogs artist profile",
"tags": [
- "ChromeWebStore"
+ "Discogs"
]
}
},
- "/chromewebstore/developer": {
+ "/discogs/artist/{id}/releases": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns a Chrome Web Store publisher (developer) by publisher id, including the disclosed trader details — legal name, email, phone, address, website, and D-U-N-S number — plus the publisher's listed items (\"More from ...\"). Trader fields are only present for publishers that identify as EU traders. Defaults: `num=50`, `country=us`, `lang=en`.",
- "operationId": "chromewebstore-developer",
+ "description": "Returns the releases and masters credited to a Discogs artist, identified by the required `id`. Paged with `page` (default 1) and `per_page` (default 50, max 100). Each entry has its `id`, `type` (`release` or `master`), title, artist, role, format, label, year, thumbnail, and want and collection counts, alongside the total item count and page count.",
+ "operationId": "discogs-artist-releases",
"parameters": [
{
- "description": "Chrome Web Store publisher id (u + 32 hex chars)",
- "in": "query",
+ "description": "Discogs artist id",
+ "in": "path",
"name": "id",
"required": true,
"type": "string",
- "x-example": "u63f06aecfdc45d32c13ccc24f56c3d2d"
- },
- {
- "description": "Maximum number of items",
- "in": "query",
- "name": "num",
- "type": "integer",
- "x-example": 50
+ "x-example": "1289"
},
{
- "description": "Two-letter storefront country code",
+ "description": "1-based page number, default 1",
"in": "query",
- "name": "country",
- "type": "string",
- "x-example": "us"
+ "name": "page",
+ "type": "integer"
},
{
- "description": "Two-letter language code",
+ "description": "Results per page, default 50, max 100",
"in": "query",
- "name": "lang",
- "type": "string",
- "x-example": "en"
+ "name": "per_page",
+ "type": "integer"
}
],
"produces": [
@@ -308409,7 +386212,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/chromewebstore.developerResponseDoc"
+ "$ref": "#/definitions/discogs.artistReleasesResponseDoc"
}
},
"400": {
@@ -308424,14 +386227,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Too Many Requests",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -308442,41 +386245,27 @@
"ApiKeyAuth": []
}
],
- "summary": "Retrieve a Chrome Web Store publisher and their items",
+ "summary": "List a Discogs artist's releases",
"tags": [
- "ChromeWebStore"
+ "Discogs"
]
}
},
- "/chromewebstore/item": {
+ "/discogs/label/{id}": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns detail for a Chrome Web Store extension or theme, including name, rating, rating count, user count, version, last-updated date, size, supported languages, developer, category, screenshots, and privacy links. Defaults: `country=us`, `lang=en`.",
- "operationId": "chromewebstore-item",
+ "description": "Returns the profile of a Discogs label by its required label `id`: name, profile text, contact info, website URLs, images, data quality rating, and Discogs page URI. The parent label and the list of sub-labels are included, and the parent label appears only when the label has one.",
+ "operationId": "discogs-label",
"parameters": [
{
- "description": "Chrome Web Store item id (32-character extension/theme id)",
- "in": "query",
+ "description": "Discogs label id",
+ "in": "path",
"name": "id",
"required": true,
"type": "string",
- "x-example": "cjpalhdlnbpafiamejdnhcphjbkeiagm"
- },
- {
- "description": "Two-letter storefront country code",
- "in": "query",
- "name": "country",
- "type": "string",
- "x-example": "us"
- },
- {
- "description": "Two-letter language code",
- "in": "query",
- "name": "lang",
- "type": "string",
- "x-example": "en"
+ "x-example": "895"
}
],
"produces": [
@@ -308486,7 +386275,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/chromewebstore.itemResponseDoc"
+ "$ref": "#/definitions/discogs.labelResponseDoc"
}
},
"400": {
@@ -308501,14 +386290,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Too Many Requests",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -308519,41 +386308,39 @@
"ApiKeyAuth": []
}
],
- "summary": "Retrieve Chrome Web Store item details",
+ "summary": "Get a Discogs label profile",
"tags": [
- "ChromeWebStore"
+ "Discogs"
]
}
},
- "/chromewebstore/permissions": {
+ "/discogs/label/{id}/releases": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns the permissions a Chrome Web Store extension declares in its manifest: `permissions`, `optional_permissions`, `host_permissions`, `optional_host_permissions`, plus `manifest_version` and `min_browser_version`. Useful for security and supply-chain review. Defaults: `country=us`, `lang=en`.",
- "operationId": "chromewebstore-permissions",
+ "description": "Lists the releases on a Discogs label, identified by the required label `id`. Paged with `page` (default 1) and `per_page` (default 50, max 100). Each entry has its release `id`, title, artist, format, catalogue number (`catno`), status, year and thumbnail, and the response reports the total item count across all pages.",
+ "operationId": "discogs-label-releases",
"parameters": [
{
- "description": "Chrome Web Store item id (32-character extension id)",
- "in": "query",
+ "description": "Discogs label id",
+ "in": "path",
"name": "id",
"required": true,
"type": "string",
- "x-example": "cjpalhdlnbpafiamejdnhcphjbkeiagm"
+ "x-example": "895"
},
{
- "description": "Two-letter storefront country code",
+ "description": "1-based page number, default 1",
"in": "query",
- "name": "country",
- "type": "string",
- "x-example": "us"
+ "name": "page",
+ "type": "integer"
},
{
- "description": "Two-letter language code",
+ "description": "Results per page, default 50, max 100",
"in": "query",
- "name": "lang",
- "type": "string",
- "x-example": "en"
+ "name": "per_page",
+ "type": "integer"
}
],
"produces": [
@@ -308563,7 +386350,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/chromewebstore.permissionsResponseDoc"
+ "$ref": "#/definitions/discogs.labelReleasesResponseDoc"
}
},
"400": {
@@ -308578,14 +386365,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Too Many Requests",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -308596,41 +386383,27 @@
"ApiKeyAuth": []
}
],
- "summary": "Retrieve a Chrome Web Store item's declared permissions",
+ "summary": "List a Discogs label's releases",
"tags": [
- "ChromeWebStore"
+ "Discogs"
]
}
},
- "/chromewebstore/privacy": {
+ "/discogs/master/{id}": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns an extension's privacy disclosures as the store renders them: the developer's data-use statement, whether it collects data, the standard data-handling declarations, and the privacy-policy link. Defaults: `country=us`, `lang=en`.",
- "operationId": "chromewebstore-privacy",
+ "description": "Returns a Discogs master release: the version-agnostic grouping of a release across pressings/reissues (artists, tracklist, genres/styles, videos, images, marketplace stats).",
+ "operationId": "discogs-master",
"parameters": [
{
- "description": "Chrome Web Store item id (32-character extension/theme id)",
- "in": "query",
+ "description": "Discogs master release id",
+ "in": "path",
"name": "id",
"required": true,
"type": "string",
- "x-example": "cjpalhdlnbpafiamejdnhcphjbkeiagm"
- },
- {
- "description": "Two-letter storefront country code",
- "in": "query",
- "name": "country",
- "type": "string",
- "x-example": "us"
- },
- {
- "description": "Two-letter language code",
- "in": "query",
- "name": "lang",
- "type": "string",
- "x-example": "en"
+ "x-example": "26647"
}
],
"produces": [
@@ -308640,7 +386413,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/chromewebstore.privacyResponseDoc"
+ "$ref": "#/definitions/discogs.masterResponseDoc"
}
},
"400": {
@@ -308655,14 +386428,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Too Many Requests",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -308673,59 +386446,27 @@
"ApiKeyAuth": []
}
],
- "summary": "Retrieve a Chrome Web Store item's privacy disclosures",
+ "summary": "Get a Discogs master release",
"tags": [
- "ChromeWebStore"
+ "Discogs"
]
}
},
- "/chromewebstore/reviews": {
+ "/discogs/release/{id}": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns the reviews the store renders on an item's reviews page, each with author, star rating, text, posted/edited dates and reviewed version. Defaults: `num=20`, `country=us`, `lang=en`.",
- "operationId": "chromewebstore-reviews",
+ "description": "Returns a Discogs release: artists, labels, formats, tracklist, credits, identifiers, videos, images, and community want/have/rating.",
+ "operationId": "discogs-release",
"parameters": [
{
- "description": "Chrome Web Store item id (32-character extension/theme id)",
- "in": "query",
+ "description": "Discogs release id",
+ "in": "path",
"name": "id",
"required": true,
"type": "string",
- "x-example": "cjpalhdlnbpafiamejdnhcphjbkeiagm"
- },
- {
- "description": "Maximum number of reviews",
- "in": "query",
- "name": "num",
- "type": "integer",
- "x-example": 100
- },
- {
- "default": "recent",
- "description": "Review sort order",
- "enum": [
- "recent",
- "helpful"
- ],
- "in": "query",
- "name": "sort",
- "type": "string"
- },
- {
- "description": "Two-letter storefront country code",
- "in": "query",
- "name": "country",
- "type": "string",
- "x-example": "us"
- },
- {
- "description": "Two-letter language code",
- "in": "query",
- "name": "lang",
- "type": "string",
- "x-example": "en"
+ "x-example": "249504"
}
],
"produces": [
@@ -308735,7 +386476,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/chromewebstore.reviewsResponseDoc"
+ "$ref": "#/definitions/discogs.releaseResponseDoc"
}
},
"400": {
@@ -308750,14 +386491,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Too Many Requests",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -308768,48 +386509,51 @@
"ApiKeyAuth": []
}
],
- "summary": "Retrieve Chrome Web Store item reviews",
+ "summary": "Get a Discogs release",
"tags": [
- "ChromeWebStore"
+ "Discogs"
]
}
},
- "/chromewebstore/search": {
+ "/discogs/search": {
"get": {
"consumes": [
"application/json"
],
- "description": "Returns Chrome Web Store search result cards for a keyword, each with id, name, rating, user count, publisher and detail URL. Defaults: `num=30`, `country=us`, `lang=en`.",
- "operationId": "chromewebstore-search",
+ "description": "Searches the Discogs database for releases, masters, artists and labels, optionally filtered to one `type`, with `page` and `per_page` (max 100). Release and master results carry country, year, formats, labels, genres, styles, catalog number and barcodes; artist and label results carry id, title and thumbnail.",
+ "operationId": "discogs-search",
"parameters": [
{
- "description": "Search keyword",
+ "description": "Search query",
"in": "query",
- "name": "term",
+ "name": "q",
"required": true,
"type": "string",
- "x-example": "vpn"
+ "x-example": "Daft Punk Discovery"
},
{
- "description": "Maximum number of results",
+ "description": "Result type filter",
+ "enum": [
+ "release",
+ "master",
+ "artist",
+ "label"
+ ],
"in": "query",
- "name": "num",
- "type": "integer",
- "x-example": 30
+ "name": "type",
+ "type": "string"
},
{
- "description": "Two-letter storefront country code",
+ "description": "1-based page number, default 1",
"in": "query",
- "name": "country",
- "type": "string",
- "x-example": "us"
+ "name": "page",
+ "type": "integer"
},
{
- "description": "Two-letter language code",
+ "description": "Results per page, default 50, max 100",
"in": "query",
- "name": "lang",
- "type": "string",
- "x-example": "en"
+ "name": "per_page",
+ "type": "integer"
}
],
"produces": [
@@ -308819,7 +386563,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/chromewebstore.searchResponseDoc"
+ "$ref": "#/definitions/discogs.searchResponseDoc"
}
},
"400": {
@@ -308828,14 +386572,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "429": {
- "description": "Too Many Requests",
+ "500": {
+ "description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -308846,41 +386590,32 @@
"ApiKeyAuth": []
}
],
- "summary": "Search Chrome Web Store items",
+ "summary": "Search the Discogs database",
"tags": [
- "ChromeWebStore"
+ "Discogs"
]
}
},
- "/chromewebstore/similar": {
+ "/dollartree/blog/article": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns the related-items shelf shown on a Chrome Web Store item's page. `id` is the required 32-character item id; `country` and `lang` default to `us` and `en`. Each card has name, publisher, category, rating, rating count, users, summary, icon and URL. An unknown or removed id returns 404.",
- "operationId": "chromewebstore-similar",
+ "description": "Returns the public DTBlogPost record for one article URL, including the HTML body and parent category metadata.",
+ "operationId": "dollartree-blog-article",
"parameters": [
{
- "description": "Chrome Web Store item id (32-character extension/theme id)",
+ "description": "Article slug from the public Value Seekers Blog URL",
"in": "query",
- "name": "id",
+ "name": "slug",
"required": true,
"type": "string",
- "x-example": "cjpalhdlnbpafiamejdnhcphjbkeiagm"
- },
- {
- "description": "Two-letter storefront country code",
- "in": "query",
- "name": "country",
- "type": "string",
- "x-example": "us"
+ "x-example": "diy-farmhouse-salt-pepper-shaker-decor"
},
{
- "description": "Two-letter language code",
+ "description": "Article id from the public Value Seekers Blog URL",
"in": "query",
- "name": "lang",
+ "name": "article_id",
+ "required": true,
"type": "string",
- "x-example": "en"
+ "x-example": "idea-20240201-4"
}
],
"produces": [
@@ -308890,7 +386625,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/chromewebstore.similarResponseDoc"
+ "$ref": "#/definitions/dollartree.blogArticleResponseDoc"
}
},
"400": {
@@ -308911,8 +386646,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -308923,50 +386658,16 @@
"ApiKeyAuth": []
}
],
- "summary": "Retrieve related Chrome Web Store items",
+ "summary": "Get a Dollar Tree Value Seekers Blog article",
"tags": [
- "ChromeWebStore"
+ "Dollar Tree"
]
}
},
- "/chromewebstore/suggest": {
+ "/dollartree/categories": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns search-term suggestions for a Chrome Web Store prefix given in `term`, up to `num` (default 8), with `country` and `lang` defaulting to `us` and `en`. Suggestions are the distinct item names of the top store-search results for that prefix, each returned as a `term`.",
- "operationId": "chromewebstore-suggest",
- "parameters": [
- {
- "description": "Search prefix to autocomplete",
- "in": "query",
- "name": "term",
- "required": true,
- "type": "string",
- "x-example": "ad blo"
- },
- {
- "description": "Maximum number of suggestions",
- "in": "query",
- "name": "num",
- "type": "integer",
- "x-example": 8
- },
- {
- "description": "Two-letter storefront country code",
- "in": "query",
- "name": "country",
- "type": "string",
- "x-example": "us"
- },
- {
- "description": "Two-letter language code",
- "in": "query",
- "name": "lang",
- "type": "string",
- "x-example": "en"
- }
- ],
+ "description": "Returns Dollar Tree's complete public storefront taxonomy, including product departments, nested product categories, and Value Seekers Blog topics. Each node preserves its repository id and search dimension id.",
+ "operationId": "dollartree-categories",
"produces": [
"application/json"
],
@@ -308974,13 +386675,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/chromewebstore.suggestResponseDoc"
- }
- },
- "400": {
- "description": "Bad Request",
- "schema": {
- "$ref": "#/definitions/app.Response"
+ "$ref": "#/definitions/dollartree.categoriesResponseDoc"
}
},
"429": {
@@ -308989,8 +386684,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "503": {
+ "description": "Service Unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -309001,27 +386696,24 @@
"ApiKeyAuth": []
}
],
- "summary": "Suggest Chrome Web Store search terms",
+ "summary": "List Dollar Tree product and blog categories",
"tags": [
- "ChromeWebStore"
+ "Dollar Tree"
]
}
},
- "/chrono24/autocomplete": {
+ "/dollartree/price": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Fetches Chrono24's own search-box typeahead suggestions for a partial query: each suggested phrase with its own live result count, plus the Chrono24 search URL it resolves to. Useful for building a search box against chrono24-search without guessing a full query.",
- "operationId": "chrono24-autocomplete",
+ "description": "Returns the current list price and per-SKU prices from Dollar Tree's public pricing resource for one product repository id, including the upstream price-range flag.",
+ "operationId": "dollartree-price",
"parameters": [
{
- "description": "Partial search text, e.g. \\",
+ "description": "Dollar Tree product id",
"in": "query",
- "name": "query",
+ "name": "product_id",
"required": true,
"type": "string",
- "x-example": "submar"
+ "x-example": "331518"
}
],
"produces": [
@@ -309031,7 +386723,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/chrono24.autocompleteResponseDoc"
+ "$ref": "#/definitions/dollartree.priceResponseDoc"
}
},
"400": {
@@ -309040,8 +386732,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -309058,19 +386756,26 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Chrono24 search-box suggestions",
+ "summary": "Get Dollar Tree product prices",
"tags": [
- "Chrono24"
+ "Dollar Tree"
]
}
},
- "/chrono24/brands": {
+ "/dollartree/product": {
"get": {
- "consumes": [
- "application/json"
+ "description": "Returns the complete public product record for one Dollar Tree repository id, including the fields and SKU information supplied by the storefront.",
+ "operationId": "dollartree-product",
+ "parameters": [
+ {
+ "description": "Dollar Tree product id",
+ "in": "query",
+ "name": "product_id",
+ "required": true,
+ "type": "string",
+ "x-example": "331518"
+ }
],
- "description": "Returns Chrono24's full watch-brand index: every brand name and the slug identifying it, usable as the brand parameter on chrono24-models and chrono24-search. This is the discovery endpoint for that parameter, so every accepted value is obtainable from this API rather than by reading the website.",
- "operationId": "chrono24-brands",
"produces": [
"application/json"
],
@@ -309078,11 +386783,23 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/chrono24.brandsResponseDoc"
+ "$ref": "#/definitions/dollartree.productResponseDoc"
}
},
- "500": {
- "description": "Internal Server Error",
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -309099,27 +386816,23 @@
"ApiKeyAuth": []
}
],
- "summary": "List Chrono24 watch brands",
+ "summary": "Get one Dollar Tree product record",
"tags": [
- "Chrono24"
+ "Dollar Tree"
]
}
},
- "/chrono24/dealer": {
+ "/dollartree/products": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Fetches one Chrono24 dealer/seller's public storefront page: business description, trust badge, average buyer rating and review count, lifetime watches-sold count, and their current listed inventory in the same shape chrono24-search returns. slug is found in a chrono24-search or chrono24-listing result's seller link; there is no separate dealer-discovery endpoint since dealer slugs are not a closed set Chrono24 publishes an index of.",
- "operationId": "chrono24-dealer",
+ "description": "Returns the complete public product records for a comma-separated list of Dollar Tree repository ids, matching the storefront's list-valued productIds resource.",
+ "operationId": "dollartree-products",
"parameters": [
{
- "description": "Dealer slug from a listing's seller link",
+ "description": "Comma-separated Dollar Tree product ids",
"in": "query",
- "name": "slug",
+ "name": "product_ids",
"required": true,
- "type": "string",
- "x-example": "thetimelords"
+ "type": "string"
}
],
"produces": [
@@ -309129,7 +386842,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/chrono24.dealerResponseDoc"
+ "$ref": "#/definitions/dollartree.productsResponseDoc"
}
},
"400": {
@@ -309144,8 +386857,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -309162,62 +386875,68 @@
"ApiKeyAuth": []
}
],
- "summary": "Get a Chrono24 dealer's storefront",
+ "summary": "Get multiple Dollar Tree product records",
"tags": [
- "Chrono24"
+ "Dollar Tree"
]
}
},
- "/chrono24/dealer/reviews": {
+ "/dollartree/search": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Fetches one page of a Chrono24 dealer/seller's buyer reviews: reviewer name and country, review date, star-rating breakdown (shipping/description/communication), whether the buyer recommends the seller, their free-text comment, and the dealer's own reply when present. slug is the same dealer slug chrono24-dealer takes.",
- "operationId": "chrono24-dealer-reviews",
+ "description": "Searches the public Dollar Tree catalog or browses a category using its search dimension id. Returns products, pagination metadata, every context-specific filter group and option, and each option's upstream navigation state for follow-up filter requests. Sort values are the exact values used by Dollar Tree's storefront.",
+ "operationId": "dollartree-search",
"parameters": [
{
- "description": "Dealer slug from a listing's seller link",
+ "description": "Product search query; omit to browse the selected category or navigation state",
"in": "query",
- "name": "slug",
- "required": true,
+ "name": "q",
"type": "string",
- "x-example": "thetimelords"
+ "x-example": "popcorn"
},
{
- "default": 1,
- "description": "One-based result page",
+ "description": "Search navigation id from dollartree_categories or a filter option",
"in": "query",
- "minimum": 1,
- "name": "page",
- "type": "integer"
+ "name": "navigation_id",
+ "type": "string",
+ "x-example": "204341833"
},
{
- "default": 10,
- "description": "Reviews per page, 1-50",
+ "description": "Exact navigation_state returned by a filter option; mutually exclusive with navigation_id",
"in": "query",
- "maximum": 50,
- "minimum": 1,
- "name": "page_size",
- "type": "integer"
+ "name": "navigation_state",
+ "type": "string"
},
{
"default": 0,
- "description": "Keep only reviews rating the dealer at least this many stars, 0-5. 0 returns every review",
+ "description": "Zero-based upstream result offset",
"in": "query",
- "maximum": 5,
"minimum": 0,
- "name": "min_stars",
+ "name": "offset",
"type": "integer"
},
{
- "default": "relevance",
- "description": "Result order. One of: relevance, newest, with_recommendation, without_recommendation",
+ "default": 48,
+ "description": "Results per page",
"enum": [
- "relevance",
- "newest",
- "with_recommendation",
- "without_recommendation"
+ 48,
+ 72,
+ 96
+ ],
+ "in": "query",
+ "name": "page_size",
+ "type": "integer"
+ },
+ {
+ "description": "Exact storefront sort value (omit for relevance)",
+ "enum": [
+ "product.x_unitPriceNumeric|0",
+ "product.x_unitPriceNumeric|1",
+ "DollarProductType.new|1",
+ "DollarProductType.averageRating|1",
+ "product.displayName|0",
+ "product.displayName|1",
+ "product.casePrice|1",
+ "DollarProductType.numberOfReviews|1"
],
"in": "query",
"name": "sort",
@@ -309231,7 +386950,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/chrono24.dealerReviewsResponseDoc"
+ "$ref": "#/definitions/dollartree.searchResponseDoc"
}
},
"400": {
@@ -309240,14 +386959,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
- "500": {
- "description": "Internal Server Error",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -309264,38 +386977,32 @@
"ApiKeyAuth": []
}
],
- "summary": "Get a Chrono24 dealer's buyer reviews",
+ "summary": "Search Dollar Tree products and facets",
"tags": [
- "Chrono24"
+ "Dollar Tree"
]
}
},
- "/chrono24/facets": {
+ "/dollartree/stock-status": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Fetches every value Chrono24 accepts for one of chrono24-search's advanced-search filter params, each with its own live listing count: the discovery endpoint for condition, used_or_new, case_material, dial_color, bracelet_material, movement_type, gender, watch_type and stock_info.",
- "operationId": "chrono24-facets",
+ "description": "Returns the current stock status and orderable, in-stock, backorderable, and preorderable quantities for one product SKU. Use the product id and child SKU repository id returned by the Dollar Tree product endpoints.",
+ "operationId": "dollartree-stock-status",
"parameters": [
{
- "description": "Filter to list values for",
- "enum": [
- "condition",
- "usedOrNew",
- "caseMaterial",
- "dialColor",
- "braceletMaterial",
- "movementType",
- "gender",
- "watchType",
- "stockInfo"
- ],
+ "description": "Dollar Tree product id",
"in": "query",
- "name": "group",
+ "name": "product_id",
"required": true,
"type": "string",
- "x-example": "condition"
+ "x-example": "331518"
+ },
+ {
+ "description": "SKU repository id from the product's childSKUs",
+ "in": "query",
+ "name": "sku_id",
+ "required": true,
+ "type": "string",
+ "x-example": "331518"
}
],
"produces": [
@@ -309305,7 +387012,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/chrono24.facetsResponseDoc"
+ "$ref": "#/definitions/dollartree.stockStatusResponseDoc"
}
},
"400": {
@@ -309314,8 +387021,14 @@
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "404": {
+ "description": "Not Found",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -309332,27 +387045,37 @@
"ApiKeyAuth": []
}
],
- "summary": "Get a Chrono24 search filter's accepted values",
+ "summary": "Get Dollar Tree stock status for one SKU",
"tags": [
- "Chrono24"
+ "Dollar Tree"
]
}
},
- "/chrono24/listing": {
+ "/dollartree/typeahead/keywords": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Fetches one Chrono24 listing's full detail page: brand, model, reference number, price with currency and negotiability, condition, year of production, movement, case material and diameter, bracelet material, location, availability, seller type, photos, and the complete raw spec table Chrono24 itself shows (grouped by section: Basic Info, Caliber, Case, Bracelet/strap, Functions). path is the listing URL from a chrono24-search result's url field; Chrono24 has no lookup by numeric id alone.",
- "operationId": "chrono24-listing",
+ "description": "Returns the keyword-suggestion results from Dollar Tree's search box for a prefix. An empty suggestion list is a valid upstream response.",
+ "operationId": "dollartree-keyword-typeahead",
"parameters": [
{
- "description": "Listing URL or path from a chrono24-search result's url field",
+ "description": "Search prefix of at least two characters",
"in": "query",
- "name": "path",
+ "name": "q",
"required": true,
"type": "string",
- "x-example": "https://www.chrono24.com/rolex/datejust-36--id40700313.htm"
+ "x-example": "popc"
+ },
+ {
+ "default": "lg",
+ "description": "Storefront viewport context",
+ "enum": [
+ "xs",
+ "sm",
+ "md",
+ "lg"
+ ],
+ "in": "query",
+ "name": "viewport",
+ "type": "string"
}
],
"produces": [
@@ -309362,7 +387085,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/chrono24.listingResponseDoc"
+ "$ref": "#/definitions/dollartree.keywordTypeaheadResponseDoc"
}
},
"400": {
@@ -309371,14 +387094,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "404": {
- "description": "Not Found",
- "schema": {
- "$ref": "#/definitions/app.Response"
- }
- },
- "500": {
- "description": "Internal Server Error",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -309395,27 +387112,37 @@
"ApiKeyAuth": []
}
],
- "summary": "Get a Chrono24 watch listing's detail",
+ "summary": "Get Dollar Tree keyword suggestions",
"tags": [
- "Chrono24"
+ "Dollar Tree"
]
}
},
- "/chrono24/models": {
+ "/dollartree/typeahead/products": {
"get": {
- "consumes": [
- "application/json"
- ],
- "description": "Returns every model/collection Chrono24 lists for one watch brand (e.g. Rolex Submariner, Rolex Datejust), each with the slug identifying it, usable as the model parameter on chrono24-search. This is the discovery endpoint for that parameter, so every accepted value for a brand is obtainable from this API rather than by reading the website.",
- "operationId": "chrono24-models",
+ "description": "Returns up to six product suggestions from Dollar Tree's search box for a prefix, with product identifiers, routes, images, prices, and source attributes.",
+ "operationId": "dollartree-product-typeahead",
"parameters": [
{
- "description": "Brand slug from chrono24-brands",
+ "description": "Search prefix of at least two characters",
"in": "query",
- "name": "brand",
+ "name": "q",
"required": true,
"type": "string",
- "x-example": "rolex"
+ "x-example": "popc"
+ },
+ {
+ "default": "lg",
+ "description": "Storefront viewport context",
+ "enum": [
+ "xs",
+ "sm",
+ "md",
+ "lg"
+ ],
+ "in": "query",
+ "name": "viewport",
+ "type": "string"
}
],
"produces": [
@@ -309425,7 +387152,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/chrono24.modelsResponseDoc"
+ "$ref": "#/definitions/dollartree.productTypeaheadResponseDoc"
}
},
"400": {
@@ -309434,8 +387161,8 @@
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "429": {
+ "description": "Too Many Requests",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -309452,231 +387179,74 @@
"ApiKeyAuth": []
}
],
- "summary": "List Chrono24 models for a brand",
+ "summary": "Get Dollar Tree product suggestions",
"tags": [
- "Chrono24"
+ "Dollar Tree"
]
}
},
- "/chrono24/search": {
+ "/domain/dns/record-types": {
"get": {
"consumes": [
"application/json"
],
- "description": "Searches Chrono24's luxury-watch marketplace by free-text keyword, or browses one brand's (optionally narrowed to one model's) current listings, returning result cards: title, price with currency, seller type, seller country, promotional badge, image, and the listing URL to pass to chrono24-listing. At least one of query or brand is required. Optional advanced-search filters (condition, used_or_new, case_material, dial_color, bracelet_material, movement_type, gender, watch_type, stock_info) narrow results further; each filter's accepted values are discoverable from chrono24-facets and echoed back in the response's filters field.",
- "operationId": "chrono24-search",
- "parameters": [
- {
- "description": "Free-text keyword search, e.g. \\",
- "in": "query",
- "name": "query",
- "type": "string",
- "x-example": "rolex submariner"
- },
+ "description": "Returns the complete record-type vocabulary accepted by domain_dns_resolve.",
+ "operationId": "domain-dns-record-types",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/domainintel.dnsRecordTypesResponseDoc"
+ }
+ }
+ },
+ "security": [
{
- "description": "Brand slug from chrono24-brands. At least one of query or brand is required",
- "in": "query",
- "name": "brand",
- "type": "string",
- "x-example": "rolex"
- },
+ "ApiKeyAuth": []
+ }
+ ],
+ "summary": "List supported DNS record types",
+ "tags": [
+ "Domain"
+ ]
+ }
+ },
+ "/domain/dns/resolve": {
+ "get": {
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Performs one Google Public DNS JSON query. Use domain_dns_record_types to discover supported types.",
+ "operationId": "domain-dns-resolve",
+ "parameters": [
{
- "description": "Model slug from chrono24-models (requires brand)",
+ "description": "Bare public DNS name, including service labels such as _dmarc",
"in": "query",
- "name": "model",
+ "name": "name",
+ "required": true,
"type": "string",
- "x-example": "submariner--mod1"
- },
- {
- "default": "relevance",
- "description": "Result order. One of: relevance, price_asc, price_desc, newest, popularity",
- "enum": [
- "relevance",
- "price_asc",
- "price_desc",
- "newest",
- "popularity"
- ],
- "in": "query",
- "name": "sort",
- "type": "string"
- },
- {
- "default": 1,
- "description": "One-based result page",
- "in": "query",
- "minimum": 1,
- "name": "page",
- "type": "integer"
- },
- {
- "description": "Results per page. Chrono24's own UI offers 30, 60 or 120; defaults to Chrono24's own default",
- "in": "query",
- "name": "page_size",
- "type": "integer",
- "x-example": 60
- },
- {
- "description": "Advanced-search filter, values from chrono24-facets group=condition",
- "enum": [
- "new",
- "like_new_unworn",
- "very_good",
- "good",
- "fair",
- "incomplete",
- "no_details"
- ],
- "in": "query",
- "name": "condition",
- "type": "string"
- },
- {
- "description": "Advanced-search filter, values from chrono24-facets group=usedOrNew",
- "enum": [
- "new",
- "used",
- "no_details"
- ],
- "in": "query",
- "name": "used_or_new",
- "type": "string"
- },
- {
- "description": "Advanced-search filter, values from chrono24-facets group=caseMaterial",
- "enum": [
- "aluminum",
- "brass",
- "bronze",
- "carbon",
- "ceramic",
- "gold_steel",
- "gold_plated",
- "palladium",
- "plastic",
- "platinum",
- "rose_gold",
- "sapphire_crystal",
- "silver",
- "steel",
- "tantalum",
- "titanium",
- "tungsten",
- "white_gold",
- "yellow_gold",
- "no_details"
- ],
- "in": "query",
- "name": "case_material",
- "type": "string"
- },
- {
- "description": "Advanced-search filter, values from chrono24-facets group=dialColor",
- "enum": [
- "black",
- "blue",
- "bordeaux",
- "bronze",
- "brown",
- "champagne",
- "gold",
- "green",
- "grey",
- "meteorite",
- "mother_of_pearl",
- "orange",
- "pink",
- "purple",
- "red",
- "silver",
- "skeletonized",
- "turquoise",
- "white",
- "yellow",
- "no_details"
- ],
- "in": "query",
- "name": "dial_color",
- "type": "string"
- },
- {
- "description": "Advanced-search filter, values from chrono24-facets group=braceletMaterial",
- "enum": [
- "alligator_skin",
- "aluminium",
- "brass",
- "calf_skin",
- "ceramic",
- "crocodile_skin",
- "gold_steel",
- "gold_plated",
- "leather",
- "lizard_skin",
- "ostrich_skin",
- "plastic",
- "platinum",
- "red_gold",
- "rose_gold",
- "rubber",
- "satin",
- "shark_skin",
- "silicon",
- "silver",
- "snake_skin",
- "steel",
- "textile",
- "titanium",
- "white_gold",
- "yellow_gold",
- "no_details"
- ],
- "in": "query",
- "name": "bracelet_material",
- "type": "string"
- },
- {
- "description": "Advanced-search filter, values from chrono24-facets group=movementType",
- "enum": [
- "automatic",
- "manual_winding",
- "quartz",
- "solar",
- "smartwatch",
- "no_details"
- ],
- "in": "query",
- "name": "movement_type",
- "type": "string"
- },
- {
- "description": "Advanced-search filter, values from chrono24-facets group=gender",
- "enum": [
- "mens_unisex",
- "womens"
- ],
- "in": "query",
- "name": "gender",
- "type": "string"
- },
- {
- "description": "Advanced-search filter, values from chrono24-facets group=watchType",
- "enum": [
- "watches",
- "parts_accessories"
- ],
- "in": "query",
- "name": "watch_type",
- "type": "string"
+ "x-example": "_dmarc.github.com"
},
{
- "description": "Advanced-search filter, values from chrono24-facets group=stockInfo",
+ "description": "DNS record type",
"enum": [
- "in_stock",
- "on_order",
- "on_request"
+ "A",
+ "AAAA",
+ "CAA",
+ "CNAME",
+ "DS",
+ "HTTPS",
+ "MX",
+ "NS",
+ "SOA",
+ "TXT"
],
"in": "query",
- "name": "stock_info",
+ "name": "type",
+ "required": true,
"type": "string"
}
],
@@ -309687,23 +387257,23 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/chrono24.searchResponseDoc"
+ "$ref": "#/definitions/domainintel.dnsLookupResponseDoc"
}
},
"400": {
- "description": "Bad Request",
+ "description": "Invalid DNS name or record type",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
- "500": {
- "description": "Internal Server Error",
+ "429": {
+ "description": "Rate limit exceeded",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"503": {
- "description": "Service Unavailable",
+ "description": "Public DNS resolver unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -309714,16 +387284,29 @@
"ApiKeyAuth": []
}
],
- "summary": "Search Chrono24 watch listings",
+ "summary": "Resolve one public DNS record query",
"tags": [
- "Chrono24"
+ "Domain"
]
}
},
- "/clevelandcom/news": {
+ "/domain/rdap/domain/{domain}": {
"get": {
- "description": "Returns Cleveland.com's 50-item public top-stories RSS feed. Summaries and encoded content are publisher teasers; this endpoint does not claim to return full article text. Editorial section inventory and article pages could not be reliably verified due to upstream DataDome blocking.",
- "operationId": "clevelandcom-news",
+ "consumes": [
+ "application/json"
+ ],
+ "description": "Uses the IANA RDAP DNS bootstrap and the selected registry's domain lookup.",
+ "operationId": "domain-rdap-domain",
+ "parameters": [
+ {
+ "description": "Bare DNS hostname",
+ "in": "path",
+ "name": "domain",
+ "required": true,
+ "type": "string",
+ "x-example": "github.com"
+ }
+ ],
"produces": [
"application/json"
],
@@ -309731,17 +387314,23 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/publicnews.newsResponseDoc"
+ "$ref": "#/definitions/domainintel.rdapDomainResponseDoc"
+ }
+ },
+ "400": {
+ "description": "Invalid domain",
+ "schema": {
+ "$ref": "#/definitions/app.Response"
}
},
"429": {
- "description": "Too Many Requests",
+ "description": "Rate limit exceeded",
"schema": {
"$ref": "#/definitions/app.Response"
}
},
"503": {
- "description": "Service Unavailable",
+ "description": "RDAP service unavailable",
"schema": {
"$ref": "#/definitions/app.Response"
}
@@ -309752,24 +387341,27 @@
"ApiKeyAuth": []
}
],
- "summary": "Get Cleveland.com top stories",
+ "summary": "Get domain registration data",
"tags": [
- "Cleveland.com"
+ "Domain"
]
}
},
- "/cna/article": {
+ "/domain/rdap/ip": {
"get": {
- "description": "Returns a CNA (Channel NewsAsia) article by `url`, a canonical `channelnewsasia.com` address such as `/singapore/-` or `/commentary/-